From ff0726220acdb5f89f37c5ca8023941916412568 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Tue, 3 Mar 2026 12:34:02 -0800 Subject: [PATCH 01/34] fix experiment methodology and add payload format scripts --- experiments/run/02_hol_blocking.sh | 2 +- experiments/run/03_throughput_under_loss.sh | 4 +- experiments/run/05_datagram_vs_stream.sh | 18 +++--- experiments/run/06_resource_overhead.sh | 4 +- .../run/12_payload_format_localhost.sh | 64 +++++++++++++++++++ experiments/run/13_payload_format_remote.sh | 26 ++++++++ experiments/run/14_payload_format_3host.sh | 59 +++++++++++++++++ 7 files changed, 164 insertions(+), 13 deletions(-) create mode 100755 experiments/run/12_payload_format_localhost.sh create mode 100755 experiments/run/13_payload_format_remote.sh create mode 100755 experiments/run/14_payload_format_3host.sh diff --git a/experiments/run/02_hol_blocking.sh b/experiments/run/02_hol_blocking.sh index 426e35a0..6c9aac3e 100755 --- a/experiments/run/02_hol_blocking.sh +++ b/experiments/run/02_hol_blocking.sh @@ -31,7 +31,7 @@ for tname in tcp quic-control quic-pertopic quic-persub quic-perpub; do label="${tname}_loss${loss}pct" echo "[${EXPERIMENT}] ${label}" run_monitored "$EXPERIMENT" "$label" \ - "--url ${url} ${flags} --mode hol-blocking --topics 8 --duration 30 --warmup 5 --payload-size 512 --rate 500" + "--url ${url} ${flags} --mode hol-blocking --topics 8 --duration 30 --warmup 5 --payload-size 512 --rate 5000" clear_netem done done diff --git a/experiments/run/03_throughput_under_loss.sh b/experiments/run/03_throughput_under_loss.sh index 8cf27d2e..be2d5f43 100755 --- a/experiments/run/03_throughput_under_loss.sh +++ b/experiments/run/03_throughput_under_loss.sh @@ -17,13 +17,13 @@ for qos in "${QOS_LEVELS[@]}"; do label="tcp_qos${qos}_loss${loss}pct" echo "[${EXPERIMENT}] ${label}" run_monitored "$EXPERIMENT" "$label" \ - "--url mqtt://${BROKER_IP}:1883 --mode throughput --duration 30 --warmup 5 --payload-size 256 --qos ${qos} --publishers 64" + "--url mqtt://${BROKER_IP}:1883 --mode throughput --duration 30 --warmup 5 --payload-size 256 --qos ${qos} --publishers 4 --subscribers 4" for strategy in "${STRATEGIES[@]}"; do label="quic-${strategy}_qos${qos}_loss${loss}pct" echo "[${EXPERIMENT}] ${label}" run_monitored "$EXPERIMENT" "$label" \ - "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --quic-stream-strategy ${strategy} --mode throughput --duration 30 --warmup 5 --payload-size 256 --qos ${qos} --publishers 64" + "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --quic-stream-strategy ${strategy} --mode throughput --duration 30 --warmup 5 --payload-size 256 --qos ${qos} --publishers 4 --subscribers 4" done clear_netem diff --git a/experiments/run/05_datagram_vs_stream.sh b/experiments/run/05_datagram_vs_stream.sh index 549b0af0..a61ad3de 100755 --- a/experiments/run/05_datagram_vs_stream.sh +++ b/experiments/run/05_datagram_vs_stream.sh @@ -11,15 +11,17 @@ start_broker "--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/se for loss in "${LOSSES[@]}"; do apply_netem "$DELAY" "$loss" - label="quic-stream_loss${loss}pct" - echo "[${EXPERIMENT}] ${label}" - run_monitored "$EXPERIMENT" "$label" \ - "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --mode latency --qos 0 --duration 30" + for mode in latency throughput; do + label="quic-stream_loss${loss}pct_${mode}" + echo "[${EXPERIMENT}] ${label}" + run_monitored "$EXPERIMENT" "$label" \ + "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --mode ${mode} --qos 0 --duration 30 --warmup 5 --payload-size 256" - label="quic-datagram_loss${loss}pct" - echo "[${EXPERIMENT}] ${label}" - run_monitored "$EXPERIMENT" "$label" \ - "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --quic-datagrams --mode latency --qos 0 --duration 30" + label="quic-datagram_loss${loss}pct_${mode}" + echo "[${EXPERIMENT}] ${label}" + run_monitored "$EXPERIMENT" "$label" \ + "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --quic-datagrams --mode ${mode} --qos 0 --duration 30 --warmup 5 --payload-size 256" + done clear_netem done diff --git a/experiments/run/06_resource_overhead.sh b/experiments/run/06_resource_overhead.sh index 4c569758..5f189e37 100755 --- a/experiments/run/06_resource_overhead.sh +++ b/experiments/run/06_resource_overhead.sh @@ -13,13 +13,13 @@ for conc in "${CONCURRENCIES[@]}"; do label="tcp_${conc}conn" echo "[${EXPERIMENT}] ${label}" run_monitored "$EXPERIMENT" "$label" \ - "--url mqtt://${BROKER_IP}:1883 --mode throughput --duration 60 --publishers ${conc} --subscribers ${conc}" + "--url mqtt://${BROKER_IP}:1883 --mode throughput --duration 60 --warmup 5 --payload-size 256 --publishers ${conc} --subscribers ${conc}" for strategy in "${STRATEGIES[@]}"; do label="quic-${strategy}_${conc}conn" echo "[${EXPERIMENT}] ${label}" run_monitored "$EXPERIMENT" "$label" \ - "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --quic-stream-strategy ${strategy} --mode throughput --duration 60 --publishers ${conc} --subscribers ${conc}" + "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --quic-stream-strategy ${strategy} --mode throughput --duration 60 --warmup 5 --payload-size 256 --publishers ${conc} --subscribers ${conc}" done done diff --git a/experiments/run/12_payload_format_localhost.sh b/experiments/run/12_payload_format_localhost.sh new file mode 100755 index 00000000..00f41137 --- /dev/null +++ b/experiments/run/12_payload_format_localhost.sh @@ -0,0 +1,64 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)" +RESULTS_DIR="${ROOT_DIR}/results" + +EXPERIMENT="12_payload_format_localhost" +FORMATS=(raw json bebytes compressed-json) +SIZES=(64 256 1024 4096) +DURATION=30 +WARMUP=5 +RUNS=5 +QOS=0 + +BROKER_PID="" + +start_local_broker() { + echo "starting local broker..." + mqttv5 broker --allow-anonymous --host 0.0.0.0:1883 --storage-backend memory > /tmp/bench_broker.log 2>&1 & + BROKER_PID=$! + sleep 2 + echo "broker pid: ${BROKER_PID}" +} + +stop_local_broker() { + if [ -n "$BROKER_PID" ]; then + echo "stopping broker (pid ${BROKER_PID})..." + kill "$BROKER_PID" 2>/dev/null || true + wait "$BROKER_PID" 2>/dev/null || true + BROKER_PID="" + fi +} + +trap stop_local_broker EXIT + +start_local_broker + +output_dir="${RESULTS_DIR}/${EXPERIMENT}" +mkdir -p "$output_dir" + +for fmt in "${FORMATS[@]}"; do + for size in "${SIZES[@]}"; do + for mode in latency throughput; do + label="${fmt}_${size}b_${mode}" + echo "[${EXPERIMENT}] ${label}" + for run in $(seq 1 "$RUNS"); do + run_label="${label}_run${run}" + echo " run ${run}/${RUNS}..." + mqttv5 bench \ + --mode "$mode" \ + --duration "$DURATION" \ + --warmup "$WARMUP" \ + --payload-size "$size" \ + --payload-format "$fmt" \ + --qos "$QOS" \ + > "${output_dir}/${run_label}.json" 2>/dev/null + sleep 2 + done + done + done +done + +echo "experiment ${EXPERIMENT} complete" diff --git a/experiments/run/13_payload_format_remote.sh b/experiments/run/13_payload_format_remote.sh new file mode 100755 index 00000000..b37a9352 --- /dev/null +++ b/experiments/run/13_payload_format_remote.sh @@ -0,0 +1,26 @@ +#!/usr/bin/env bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/common.sh" + +EXPERIMENT="13_payload_format_remote" +FORMATS=(raw json bebytes compressed-json) +SIZES=(64 256 1024 4096) +DURATION=30 +WARMUP=5 +QOS=0 + +start_broker "--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key" + +for fmt in "${FORMATS[@]}"; do + for size in "${SIZES[@]}"; do + for mode in latency throughput; do + label="${fmt}_${size}b_${mode}" + echo "[${EXPERIMENT}] ${label}" + run_monitored "$EXPERIMENT" "$label" \ + "--url mqtts://${BROKER_IP}:8883 --ca-cert /opt/mqtt-certs/ca.pem --mode ${mode} --duration ${DURATION} --warmup ${WARMUP} --payload-size ${size} --payload-format ${fmt} --qos ${QOS}" + done + done +done + +stop_broker +echo "experiment ${EXPERIMENT} complete" diff --git a/experiments/run/14_payload_format_3host.sh b/experiments/run/14_payload_format_3host.sh new file mode 100755 index 00000000..d8c420ee --- /dev/null +++ b/experiments/run/14_payload_format_3host.sh @@ -0,0 +1,59 @@ +#!/usr/bin/env bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/common.sh" + +: "${SUB_IP:?Set SUB_IP in config.env}" +ssh_sub() { ssh -i "$SSH_KEY_PATH" $SSH_OPTS "${SSH_USER}@${SUB_IP}" "$@"; } + +EXPERIMENT="14_payload_format_3host" +FORMATS=(raw json bebytes compressed-json) +SIZES=(64 256 1024 4096) +DURATION=30 +WARMUP=5 +QOS=0 +PUBLISHERS=4 + +start_broker "--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key" + +for fmt in "${FORMATS[@]}"; do + for size in "${SIZES[@]}"; do + label="${fmt}_${size}b_throughput" + echo "[${EXPERIMENT}] ${label}" + + output_dir="${RESULTS_DIR}/${EXPERIMENT}" + mkdir -p "$output_dir" + + for run in $(seq 1 "$RUNS_PER_DATAPOINT"); do + run_label="${label}_run${run}" + start_monitor "${output_dir}/${run_label}_broker_resources.csv" + + echo " starting subscriber on sub VM..." + SUB_PID=$(ssh_sub "ulimit -n 65536; nohup mqttv5 bench \ + --url mqtts://${BROKER_IP}:8883 --ca-cert /opt/mqtt-certs/ca.pem \ + --mode throughput --duration $((DURATION + WARMUP + 5)) --warmup 0 \ + --payload-size ${size} --payload-format ${fmt} --qos ${QOS} \ + --publishers 0 --subscribers 1 \ + > /tmp/sub_bench.json 2>/dev/null & echo \$!") + sleep 2 + + echo " starting publisher on client VM..." + ssh_client "ulimit -n 65536; mqttv5 bench \ + --url mqtts://${BROKER_IP}:8883 --ca-cert /opt/mqtt-certs/ca.pem \ + --mode throughput --duration ${DURATION} --warmup ${WARMUP} \ + --payload-size ${size} --payload-format ${fmt} --qos ${QOS} \ + --publishers ${PUBLISHERS} --subscribers 0" \ + > "${output_dir}/${run_label}_pub.json" 2>/dev/null + + sleep 3 + ssh_sub "kill ${SUB_PID}" 2>/dev/null || true + scp -i "$SSH_KEY_PATH" "${SSH_USER}@${SUB_IP}:/tmp/sub_bench.json" \ + "${output_dir}/${run_label}_sub.json" + + stop_monitor "${output_dir}/${run_label}_broker_resources.csv" + sleep 5 + done + done +done + +stop_broker +echo "experiment ${EXPERIMENT} complete" From 0d7904c2bcaa81760a731d0dcff7e9a8dbe7f0a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Tue, 3 Mar 2026 12:42:54 -0800 Subject: [PATCH 02/34] use configurable port and repo binary in localhost experiment --- experiments/run/12_payload_format_localhost.sh | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/experiments/run/12_payload_format_localhost.sh b/experiments/run/12_payload_format_localhost.sh index 00f41137..c6fa2094 100755 --- a/experiments/run/12_payload_format_localhost.sh +++ b/experiments/run/12_payload_format_localhost.sh @@ -3,7 +3,14 @@ set -euo pipefail SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)" +REPO_DIR="$(cd "${ROOT_DIR}/.." && pwd)" RESULTS_DIR="${ROOT_DIR}/results" +MQTTV5="${REPO_DIR}/target/release/mqttv5" + +if [ ! -x "$MQTTV5" ]; then + echo "release binary not found at ${MQTTV5} — run: cargo build --release -p mqttv5-cli" + exit 1 +fi EXPERIMENT="12_payload_format_localhost" FORMATS=(raw json bebytes compressed-json) @@ -13,11 +20,12 @@ WARMUP=5 RUNS=5 QOS=0 +BENCH_PORT="${BENCH_PORT:-11883}" BROKER_PID="" start_local_broker() { - echo "starting local broker..." - mqttv5 broker --allow-anonymous --host 0.0.0.0:1883 --storage-backend memory > /tmp/bench_broker.log 2>&1 & + echo "starting local broker on port ${BENCH_PORT}..." + "$MQTTV5" broker --allow-anonymous --host "0.0.0.0:${BENCH_PORT}" --storage-backend memory > /tmp/bench_broker.log 2>&1 & BROKER_PID=$! sleep 2 echo "broker pid: ${BROKER_PID}" @@ -47,7 +55,8 @@ for fmt in "${FORMATS[@]}"; do for run in $(seq 1 "$RUNS"); do run_label="${label}_run${run}" echo " run ${run}/${RUNS}..." - mqttv5 bench \ + "$MQTTV5" bench \ + --port "$BENCH_PORT" \ --mode "$mode" \ --duration "$DURATION" \ --warmup "$WARMUP" \ From adfa75761739d0928d76217e5dd438b79ccf4b03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Wed, 4 Mar 2026 08:04:16 -0800 Subject: [PATCH 03/34] fix HOL blocking investigation: deprecate per-subscription, add broker delivery strategy, tune QUIC flow control --- crates/mqtt5/src/broker/client_handler/mod.rs | 13 + .../src/broker/client_handler/publish.rs | 8 +- crates/mqtt5/src/broker/config/mod.rs | 16 +- crates/mqtt5/src/broker/config/transport.rs | 9 + crates/mqtt5/src/broker/quic_acceptor.rs | 7 + .../mqtt5/src/broker/server_stream_manager.rs | 53 +++ crates/mqtt5/src/client/direct/mod.rs | 20 +- crates/mqtt5/src/transport/quic.rs | 5 + .../src/transport/quic_stream_manager.rs | 9 +- crates/mqtt5/tests/broker_quic_integration.rs | 1 + crates/mqtt5/tests/quic_integration.rs | 1 + crates/mqttv5-cli/src/commands/bench_cmd.rs | 5 +- crates/mqttv5-cli/src/commands/broker_cmd.rs | 10 +- crates/mqttv5-cli/src/commands/parsers.rs | 15 + experiments/HOL_BLOCKING_INVESTIGATION.md | 323 ++++++++++++++++++ experiments/INVESTIGATION_DIARY.md | 96 ++++++ experiments/run/02_hol_blocking.sh | 26 +- experiments/setup/config.env | 6 +- 18 files changed, 583 insertions(+), 40 deletions(-) create mode 100644 experiments/HOL_BLOCKING_INVESTIGATION.md create mode 100644 experiments/INVESTIGATION_DIARY.md diff --git a/crates/mqtt5/src/broker/client_handler/mod.rs b/crates/mqtt5/src/broker/client_handler/mod.rs index efca09a8..9ed6287a 100644 --- a/crates/mqtt5/src/broker/client_handler/mod.rs +++ b/crates/mqtt5/src/broker/client_handler/mod.rs @@ -30,6 +30,8 @@ use tokio::sync::mpsc; use tokio::time::{interval, timeout}; use tracing::{debug, info, warn}; +#[cfg(not(target_arch = "wasm32"))] +use crate::broker::config::ServerDeliveryStrategy; #[cfg(not(target_arch = "wasm32"))] use crate::broker::server_stream_manager::ServerStreamManager; @@ -85,6 +87,8 @@ pub struct ClientHandler { pub(super) quic_connection: Option>, #[cfg(not(target_arch = "wasm32"))] pub(super) server_stream_manager: Option, + #[cfg(not(target_arch = "wasm32"))] + pub(super) server_delivery_strategy: ServerDeliveryStrategy, } impl ClientHandler { @@ -169,6 +173,8 @@ impl ClientHandler { quic_connection: None, #[cfg(not(target_arch = "wasm32"))] server_stream_manager: None, + #[cfg(not(target_arch = "wasm32"))] + server_delivery_strategy: ServerDeliveryStrategy::default(), } } @@ -185,6 +191,13 @@ impl ClientHandler { self } + #[cfg(not(target_arch = "wasm32"))] + #[must_use] + pub fn with_server_delivery_strategy(mut self, strategy: ServerDeliveryStrategy) -> Self { + self.server_delivery_strategy = strategy; + self + } + pub(super) async fn route_publish(&self, publish: &PublishPacket, client_id: Option<&str>) { if self.skip_bridge_forwarding { self.router diff --git a/crates/mqtt5/src/broker/client_handler/publish.rs b/crates/mqtt5/src/broker/client_handler/publish.rs index 18055b0d..9638253b 100644 --- a/crates/mqtt5/src/broker/client_handler/publish.rs +++ b/crates/mqtt5/src/broker/client_handler/publish.rs @@ -681,12 +681,18 @@ impl ClientHandler { #[cfg(not(target_arch = "wasm32"))] async fn write_publish_bytes(&mut self, topic: &str) -> Result<()> { + use crate::broker::config::ServerDeliveryStrategy; use crate::broker::server_stream_manager::ServerStreamManager; if self.quic_connection.is_some() { + if self.server_delivery_strategy == ServerDeliveryStrategy::ControlOnly { + return self.transport.write(&self.write_buffer).await; + } if self.server_stream_manager.is_none() { let conn = self.quic_connection.clone().unwrap(); - self.server_stream_manager = Some(ServerStreamManager::new(conn)); + self.server_stream_manager = Some( + ServerStreamManager::new(conn).with_strategy(self.server_delivery_strategy), + ); } self.server_stream_manager .as_mut() diff --git a/crates/mqtt5/src/broker/config/mod.rs b/crates/mqtt5/src/broker/config/mod.rs index 715bb844..5d3ed654 100644 --- a/crates/mqtt5/src/broker/config/mod.rs +++ b/crates/mqtt5/src/broker/config/mod.rs @@ -13,7 +13,9 @@ pub use change_only::ChangeOnlyDeliveryConfig; pub use echo_suppression::EchoSuppressionConfig; pub use storage::{StorageBackend, StorageConfig}; pub use tls::TlsConfig; -pub use transport::{ClusterListenerConfig, ClusterTransport, QuicConfig, WebSocketConfig}; +pub use transport::{ + ClusterListenerConfig, ClusterTransport, QuicConfig, ServerDeliveryStrategy, WebSocketConfig, +}; #[cfg(not(target_arch = "wasm32"))] use crate::broker::bridge::BridgeConfig; @@ -69,6 +71,8 @@ pub struct BrokerConfig { pub change_only_delivery_config: ChangeOnlyDeliveryConfig, #[serde(default)] pub echo_suppression_config: EchoSuppressionConfig, + #[serde(default)] + pub server_delivery_strategy: ServerDeliveryStrategy, #[cfg(not(target_arch = "wasm32"))] #[serde(default)] pub bridges: Vec, @@ -122,7 +126,8 @@ impl std::fmt::Debug for BrokerConfig { "change_only_delivery_config", &self.change_only_delivery_config, ) - .field("echo_suppression_config", &self.echo_suppression_config); + .field("echo_suppression_config", &self.echo_suppression_config) + .field("server_delivery_strategy", &self.server_delivery_strategy); #[cfg(not(target_arch = "wasm32"))] d.field("bridges", &self.bridges); #[cfg(feature = "opentelemetry")] @@ -164,6 +169,7 @@ impl Default for BrokerConfig { storage_config: StorageConfig::default(), change_only_delivery_config: ChangeOnlyDeliveryConfig::default(), echo_suppression_config: EchoSuppressionConfig::default(), + server_delivery_strategy: ServerDeliveryStrategy::default(), #[cfg(not(target_arch = "wasm32"))] bridges: vec![], #[cfg(feature = "opentelemetry")] @@ -305,6 +311,12 @@ impl BrokerConfig { self } + #[must_use] + pub fn with_server_delivery_strategy(mut self, strategy: ServerDeliveryStrategy) -> Self { + self.server_delivery_strategy = strategy; + self + } + #[must_use] pub fn with_server_receive_maximum(mut self, val: u16) -> Self { self.server_receive_maximum = Some(val); diff --git a/crates/mqtt5/src/broker/config/transport.rs b/crates/mqtt5/src/broker/config/transport.rs index 3c7a7b4a..658b8ca8 100644 --- a/crates/mqtt5/src/broker/config/transport.rs +++ b/crates/mqtt5/src/broker/config/transport.rs @@ -2,6 +2,15 @@ use serde::{Deserialize, Serialize}; use std::net::SocketAddr; use std::path::PathBuf; +#[derive(Debug, Clone, Copy, PartialEq, Eq, Default, Serialize, Deserialize)] +#[serde(rename_all = "snake_case")] +pub enum ServerDeliveryStrategy { + ControlOnly, + #[default] + PerTopic, + PerPublish, +} + #[derive(Debug, Clone, PartialEq, Serialize, Deserialize)] pub struct QuicConfig { pub cert_file: PathBuf, diff --git a/crates/mqtt5/src/broker/quic_acceptor.rs b/crates/mqtt5/src/broker/quic_acceptor.rs index 4ec16822..1da6392b 100644 --- a/crates/mqtt5/src/broker/quic_acceptor.rs +++ b/crates/mqtt5/src/broker/quic_acceptor.rs @@ -159,6 +159,11 @@ impl QuicAcceptorConfig { )); transport_config.datagram_receive_buffer_size(Some(65536)); transport_config.datagram_send_buffer_size(65536); + + transport_config.stream_receive_window(262_144u32.into()); + transport_config.receive_window(1_048_576u32.into()); + transport_config.send_window(1_048_576); + server_config.transport_config(Arc::new(transport_config)); Ok(server_config) @@ -562,6 +567,7 @@ async fn run_quic_handler_inner( let stream = QuicStreamWrapper::new(send, recv, peer_addr); let transport = BrokerTransport::quic(stream); + let delivery_strategy = config.server_delivery_strategy; let handler = ClientHandler::new_with_external_packets( transport, peer_addr, @@ -575,6 +581,7 @@ async fn run_quic_handler_inner( Some(packet_rx), ) .with_quic_connection(connection.clone()) + .with_server_delivery_strategy(delivery_strategy) .with_skip_bridge_forwarding(skip_bridge_forwarding); let handler_label = label; diff --git a/crates/mqtt5/src/broker/server_stream_manager.rs b/crates/mqtt5/src/broker/server_stream_manager.rs index e25729dc..ee81c33a 100644 --- a/crates/mqtt5/src/broker/server_stream_manager.rs +++ b/crates/mqtt5/src/broker/server_stream_manager.rs @@ -1,3 +1,4 @@ +use crate::broker::config::ServerDeliveryStrategy; use crate::error::{MqttError, Result}; use crate::transport::flow::{DataFlowHeader, FlowFlags, FlowId, FlowIdGenerator}; use bytes::BytesMut; @@ -19,6 +20,7 @@ const FLOW_EXPIRE_INTERVAL: u64 = 300; pub struct ServerStreamManager { connection: Arc, + strategy: ServerDeliveryStrategy, topic_streams: HashMap, flow_id_generator: FlowIdGenerator, header_buffer: BytesMut, @@ -28,13 +30,34 @@ impl ServerStreamManager { pub fn new(connection: Arc) -> Self { Self { connection, + strategy: ServerDeliveryStrategy::default(), topic_streams: HashMap::new(), flow_id_generator: FlowIdGenerator::new(), header_buffer: BytesMut::with_capacity(32), } } + #[must_use] + pub fn with_strategy(mut self, strategy: ServerDeliveryStrategy) -> Self { + self.strategy = strategy; + self + } + pub async fn write_publish(&mut self, topic: &str, encoded_packet: &[u8]) -> Result<()> { + match self.strategy { + ServerDeliveryStrategy::ControlOnly => Err(MqttError::ConnectionError( + "control-only delivery: caller should write to control stream directly".to_string(), + )), + ServerDeliveryStrategy::PerTopic => { + self.write_on_topic_stream(topic, encoded_packet).await + } + ServerDeliveryStrategy::PerPublish => { + self.write_on_ephemeral_stream(topic, encoded_packet).await + } + } + } + + async fn write_on_topic_stream(&mut self, topic: &str, encoded_packet: &[u8]) -> Result<()> { self.evict_idle_streams(); if let Some(info) = self.topic_streams.get_mut(topic) { @@ -77,6 +100,36 @@ impl ServerStreamManager { Ok(()) } + async fn write_on_ephemeral_stream( + &mut self, + topic: &str, + encoded_packet: &[u8], + ) -> Result<()> { + let (mut send, _recv) = self.connection.open_bi().await.map_err(|e| { + MqttError::ConnectionError(format!("failed to open server QUIC stream: {e}")) + })?; + + let flow_id = self.flow_id_generator.next_server(); + + self.header_buffer.clear(); + let header = DataFlowHeader::server(flow_id, FLOW_EXPIRE_INTERVAL, FlowFlags::default()); + header.encode(&mut self.header_buffer); + + send.write_all(&self.header_buffer).await.map_err(|e| { + MqttError::ConnectionError(format!("failed to write server flow header: {e}")) + })?; + + write_to_stream(&mut send, encoded_packet).await?; + + let _ = send.finish(); + + tokio::task::yield_now().await; + + debug!(topic = %topic, flow_id = ?flow_id, "Sent publish on ephemeral server stream"); + + Ok(()) + } + fn evict_idle_streams(&mut self) { let now = Instant::now(); self.topic_streams.retain(|topic, info| { diff --git a/crates/mqtt5/src/client/direct/mod.rs b/crates/mqtt5/src/client/direct/mod.rs index 07c70496..d7afb4a5 100644 --- a/crates/mqtt5/src/client/direct/mod.rs +++ b/crates/mqtt5/src/client/direct/mod.rs @@ -656,31 +656,19 @@ impl DirectClientInner { .await?; return Ok(()); } - StreamStrategy::DataPerTopic => { + #[allow(deprecated)] + StreamStrategy::DataPerTopic | StreamStrategy::DataPerSubscription => { tracing::debug!( topic = %publish.topic_name, qos = ?qos, - "Using topic-specific QUIC stream for PUBLISH (DataPerTopic)" + strategy = ?manager.strategy(), + "Using topic-specific QUIC stream for PUBLISH" ); manager .send_on_topic_stream(publish.topic_name.clone(), Packet::Publish(publish)) .await?; return Ok(()); } - StreamStrategy::DataPerSubscription => { - tracing::debug!( - topic = %publish.topic_name, - qos = ?qos, - "Using subscription-based QUIC stream for PUBLISH (DataPerSubscription)" - ); - manager - .send_on_subscription_stream( - publish.topic_name.clone(), - Packet::Publish(publish), - ) - .await?; - return Ok(()); - } StreamStrategy::ControlOnly => {} } } diff --git a/crates/mqtt5/src/transport/quic.rs b/crates/mqtt5/src/transport/quic.rs index f6559a0d..0d4ed14c 100644 --- a/crates/mqtt5/src/transport/quic.rs +++ b/crates/mqtt5/src/transport/quic.rs @@ -21,6 +21,7 @@ pub enum StreamStrategy { ControlOnly, DataPerPublish, DataPerTopic, + #[deprecated(note = "architecturally identical to DataPerTopic; use DataPerTopic instead")] DataPerSubscription, } @@ -246,6 +247,10 @@ impl QuicConfig { .expect("valid duration"), )); + transport_config.stream_receive_window(262_144u32.into()); + transport_config.receive_window(1_048_576u32.into()); + transport_config.send_window(1_048_576); + if self.enable_datagrams { transport_config.datagram_send_buffer_size(self.datagram_send_buffer_size); transport_config.datagram_receive_buffer_size(Some(self.datagram_receive_buffer_size)); diff --git a/crates/mqtt5/src/transport/quic_stream_manager.rs b/crates/mqtt5/src/transport/quic_stream_manager.rs index 918db3fc..85303743 100644 --- a/crates/mqtt5/src/transport/quic_stream_manager.rs +++ b/crates/mqtt5/src/transport/quic_stream_manager.rs @@ -298,14 +298,6 @@ impl QuicStreamManager { Ok(()) } - /// Sends a packet on a subscription-specific stream. - /// - /// # Errors - /// Returns an error if the stream operation or packet encoding fails. - pub async fn send_on_subscription_stream(&self, topic: String, packet: Packet) -> Result<()> { - self.send_on_topic_stream(topic, packet).await - } - pub async fn get_flow_id_for_topic(&self, topic: &str) -> Option { let streams = self.topic_streams.lock().await; streams.get(topic).map(|info| info.flow_id) @@ -415,6 +407,7 @@ mod tests { } #[test] + #[allow(deprecated)] fn test_stream_strategy_variants() { assert_eq!(StreamStrategy::ControlOnly, StreamStrategy::default()); assert_ne!(StreamStrategy::DataPerPublish, StreamStrategy::ControlOnly); diff --git a/crates/mqtt5/tests/broker_quic_integration.rs b/crates/mqtt5/tests/broker_quic_integration.rs index 718c88d2..fe7d84c4 100644 --- a/crates/mqtt5/tests/broker_quic_integration.rs +++ b/crates/mqtt5/tests/broker_quic_integration.rs @@ -320,6 +320,7 @@ async fn test_broker_quic_data_per_topic() { } #[tokio::test] +#[allow(deprecated)] async fn test_broker_quic_data_per_subscription() { let _ = rustls::crypto::ring::default_provider().install_default(); diff --git a/crates/mqtt5/tests/quic_integration.rs b/crates/mqtt5/tests/quic_integration.rs index 37f9e7c9..fabd8f54 100644 --- a/crates/mqtt5/tests/quic_integration.rs +++ b/crates/mqtt5/tests/quic_integration.rs @@ -384,6 +384,7 @@ async fn test_quic_data_per_topic_strategy() { #[tokio::test] #[ignore = "requires EMQX broker with QUIC support"] +#[allow(deprecated)] async fn test_quic_data_per_subscription_strategy() { let _ = rustls::crypto::ring::default_provider().install_default(); let client_id = test_client_id("quic-data-per-subscription"); diff --git a/crates/mqttv5-cli/src/commands/bench_cmd.rs b/crates/mqttv5-cli/src/commands/bench_cmd.rs index e687193b..97d81665 100644 --- a/crates/mqttv5-cli/src/commands/bench_cmd.rs +++ b/crates/mqttv5-cli/src/commands/bench_cmd.rs @@ -371,12 +371,13 @@ fn transport_from_url(url: &str) -> String { url.split("://").next().unwrap_or("tcp").to_string() } +#[allow(deprecated)] fn strategy_display(s: mqtt5::transport::StreamStrategy) -> String { match s { mqtt5::transport::StreamStrategy::ControlOnly => "control-only".to_string(), mqtt5::transport::StreamStrategy::DataPerPublish => "per-publish".to_string(), - mqtt5::transport::StreamStrategy::DataPerTopic => "per-topic".to_string(), - mqtt5::transport::StreamStrategy::DataPerSubscription => "per-subscription".to_string(), + mqtt5::transport::StreamStrategy::DataPerTopic + | mqtt5::transport::StreamStrategy::DataPerSubscription => "per-topic".to_string(), } } diff --git a/crates/mqttv5-cli/src/commands/broker_cmd.rs b/crates/mqttv5-cli/src/commands/broker_cmd.rs index 84bbdf26..715755d1 100644 --- a/crates/mqttv5-cli/src/commands/broker_cmd.rs +++ b/crates/mqttv5-cli/src/commands/broker_cmd.rs @@ -9,7 +9,7 @@ use std::path::{Path, PathBuf}; use tokio::signal; use tracing::{debug, info}; -use super::parsers::parse_duration_secs; +use super::parsers::{parse_delivery_strategy, parse_duration_secs}; fn parse_storage_backend( s: &str, @@ -187,6 +187,10 @@ pub struct RunArgs { #[arg(long, action = ArgAction::Append)] pub quic_host: Vec, + /// QUIC server delivery strategy: control-only, per-topic (default), per-publish + #[arg(long, value_parser = parse_delivery_strategy)] + pub quic_delivery_strategy: Option, + /// Storage directory for persistent data #[arg(long, default_value = "./mqtt_storage")] pub storage_dir: PathBuf, @@ -336,6 +340,7 @@ fn build_example_config() -> BrokerConfig { }, change_only_delivery_config: ChangeOnlyDeliveryConfig::default(), echo_suppression_config: mqtt5::broker::config::EchoSuppressionConfig::default(), + server_delivery_strategy: mqtt5::broker::config::ServerDeliveryStrategy::default(), bridges: vec![], #[cfg(feature = "opentelemetry")] opentelemetry_config: None, @@ -944,6 +949,9 @@ fn configure_quic(config: &mut BrokerConfig, cmd: &RunArgs) -> Result<()> { } config.quic_config = Some(quic_config); + if let Some(strategy) = cmd.quic_delivery_strategy { + config.server_delivery_strategy = strategy; + } info!("QUIC enabled on {:?}", cmd.quic_host); } else { anyhow::bail!("Both --tls-cert and --tls-key must be provided when using --quic-host"); diff --git a/crates/mqttv5-cli/src/commands/parsers.rs b/crates/mqttv5-cli/src/commands/parsers.rs index 14677993..276665e0 100644 --- a/crates/mqttv5-cli/src/commands/parsers.rs +++ b/crates/mqttv5-cli/src/commands/parsers.rs @@ -1,6 +1,7 @@ use anyhow::Result; use mqtt5::transport::StreamStrategy; +#[allow(deprecated)] pub fn parse_stream_strategy(s: &str) -> Result { match s.to_lowercase().as_str() { "control-only" | "control" => Ok(StreamStrategy::ControlOnly), @@ -13,6 +14,20 @@ pub fn parse_stream_strategy(s: &str) -> Result { } } +pub fn parse_delivery_strategy( + s: &str, +) -> Result { + use mqtt5::broker::config::ServerDeliveryStrategy; + match s.to_lowercase().as_str() { + "control-only" | "control" => Ok(ServerDeliveryStrategy::ControlOnly), + "per-topic" | "topic" => Ok(ServerDeliveryStrategy::PerTopic), + "per-publish" | "publish" => Ok(ServerDeliveryStrategy::PerPublish), + _ => Err(format!( + "Invalid delivery strategy: {s}. Valid: control-only, per-topic, per-publish" + )), + } +} + pub fn parse_duration_secs(s: &str) -> Result { if let Ok(secs) = s.parse::() { return Ok(secs); diff --git a/experiments/HOL_BLOCKING_INVESTIGATION.md b/experiments/HOL_BLOCKING_INVESTIGATION.md new file mode 100644 index 00000000..6cb2b6a1 --- /dev/null +++ b/experiments/HOL_BLOCKING_INVESTIGATION.md @@ -0,0 +1,323 @@ +# HOL Blocking Investigation Report + +Experiment 02 measured head-of-line (HOL) blocking across QUIC multi-stream strategies. +The results were anomalous. This report documents the anomalies, root cause analysis, +code-level evidence, fixes applied, and implications for the paper. + +## Background + +QUIC multiplexes independent streams within a single connection. When a packet is lost, +only the stream it belongs to stalls — other streams continue unaffected. This is QUIC's +core advantage over TCP, where a single lost packet blocks the entire byte stream. + +Our experiment tested whether this theoretical advantage translates to MQTT workloads. +The setup: 8 topics, 5000 msg/s total (625 msg/s per topic), QoS 0, packet loss injected +via `tc netem` on the broker side. We measured **weighted correlation (wcorr)** between +per-topic delivery rates — high correlation means topics slow down together (HOL blocking), +low correlation means topics behave independently (stream isolation). + +Four QUIC stream strategies were tested: +- **ControlOnly**: all PUBLISH packets on the single MQTT control stream (QUIC equivalent of TCP) +- **DataPerTopic**: one dedicated QUIC stream per topic (8 long-lived streams) +- **DataPerSubscription**: intended to group streams by subscription filter pattern +- **DataPerPublish**: one ephemeral QUIC stream per PUBLISH message + +## Anomalous Results + +| Metric | TCP | QUIC control-only | QUIC per-topic | QUIC per-sub | QUIC per-publish | +|--------|-----|-------------------|----------------|--------------|------------------| +| wcorr at 1% loss | 0.74–1.0 | similar | **1.000** | **1.000** | 0.62–0.96 | +| Latency at 1% loss | 365ms | similar | **6,428ms** | **6,428ms** | lower | +| Throughput at 1% loss | 1,573 msg/s | similar | 2,217 msg/s | 2,217 msg/s | lower | +| Delivery at 0% loss | ~3,000/5,000 | ~3,000/5,000 | ~3,000/5,000 | ~3,000/5,000 | ~5,000/5,000 | + +Five observations were anomalous: + +1. **per-topic wcorr = 1.0 under loss** — identical to TCP, no stream independence at all +2. **per-topic latency 18× worse than TCP** — 6.4s vs 365ms, despite higher throughput +3. **per-topic delivers more messages than TCP but with catastrophically higher latency** — the throughput/latency paradox +4. **per-subscription results byte-identical to per-topic** — clearly a code issue +5. **0% loss delivers only 60% of configured rate** — unexpected but explained by QoS 0 semantics + +Only **per-publish** showed the expected behavior: lower wcorr, indicating genuine stream independence. + +## Root Cause Analysis + +### H1: Multi-Stream Buffer Bloat (CONFIRMED) + +This was the primary root cause of anomalies 1–3. + +#### The mechanism + +Quinn (the Rust QUIC library) assigns each stream its own send buffer. When the publisher +calls `client.publish().await`, the data is written into the per-stream buffer and the +future resolves immediately — it does NOT wait for the network to actually transmit the data. + +Under packet loss, QUIC's congestion controller shrinks the connection-level congestion window. +But the publisher continues writing at the configured rate (5000 msg/s). Each of the 8 per-topic +streams independently accepts these writes into its own buffer. The publisher only experiences +backpressure when the aggregate buffered data exceeds the connection's send capacity. + +With Quinn's defaults (tuned for 100 Mbps / 100ms RTT links): +- Per-stream receive window: ~1.25 MiB +- Connection send window: ~10 MiB + +Total buffering before backpressure = 8 streams × per-stream capacity ≈ 10 MiB. + +With TCP or control-only QUIC (1 stream), there's only 1× buffering. The single stream's +buffer fills quickly under loss, `publish().await` blocks, and the publisher naturally +rate-adapts. Latency stays bounded. + +#### The throughput/latency paradox explained + +per-topic delivers 2,217 msg/s at 1% loss — MORE than TCP's 1,573 msg/s. This seems +contradictory until you realize the messages aren't being delivered faster, they're being +**buffered** faster. The 10 MiB of multi-stream buffer absorbs messages that TCP would have +blocked on. The messages eventually arrive, but with 6.4 seconds of delay. + +This is textbook buffer bloat: high throughput, catastrophic latency, because the system +has too much buffering between the sender and the congestion signal. + +#### Why wcorr = 1.0 + +The wcorr metric measures whether per-topic delivery rates rise and fall together. Under loss, +QUIC's congestion controller throttles the entire connection equally — all 8 streams slow down +in lockstep. This produces perfect correlation (wcorr = 1.0) even though no stream-level HOL +blocking is occurring. + +The correlation is real, but the cause is congestion control, not HOL blocking. These are +fundamentally different phenomena: +- **HOL blocking**: stream A's lost packet blocks stream B's delivery because they share an + ordered byte stream (TCP behavior) +- **Congestion-induced correlation**: loss triggers congestion control that throttles ALL + streams equally — streams A and B both slow down, but NOT because of ordering + +The wcorr metric cannot distinguish between these two causes. This is a fundamental limitation +of the experimental methodology, not a code bug. + +#### Evidence from code + +The publisher spawns one async task per topic (`bench_cmd.rs:spawn_hol_publishers`). Each task +calls `client.publish().await` in a loop with a fixed inter-message delay. The `.await` resolves +when the data is written to the Quinn stream buffer, not when the peer acknowledges receipt. + +``` +spawn_hol_publishers (bench_cmd.rs): + for each topic: + spawn async task: + loop: + client.publish(topic, payload).await // writes to per-stream Quinn buffer + sleep(inter_message_delay) // 1600µs for 625 msg/s per topic +``` + +The Quinn transport config used default values that allowed massive buffering: + +``` +Quinn defaults (before fix): + stream_receive_window: ~1.25 MiB per stream + receive_window: ~8 MiB per connection + send_window: ~10 MiB per connection +``` + +#### Fix applied (Phase 3) + +Reduced Quinn transport config for both client and server to limit buffer bloat: + +```rust +// crates/mqtt5/src/transport/quic.rs (client side) +// crates/mqtt5/src/broker/quic_acceptor.rs (server side) +transport_config.stream_receive_window(262_144u32.into()); // 256 KiB (was ~1.25 MiB) +transport_config.receive_window(1_048_576u32.into()); // 1 MiB (was ~8 MiB) +transport_config.send_window(1_048_576); // 1 MiB (was ~10 MiB) +``` + +New maximum buffering: 8 streams × 256 KiB = 2 MiB (was ~10 MiB). `publish().await` will +block 5× sooner under loss, producing backpressure instead of unbounded buffering. + +### H2: DataPerSubscription Was Identical to DataPerTopic (CONFIRMED — code bug) + +This explains anomaly 4. + +The `send_on_subscription_stream()` method was a direct delegation: + +```rust +// crates/mqtt5/src/transport/quic_stream_manager.rs (before fix) +pub async fn send_on_subscription_stream(&self, topic: String, packet: Packet) -> Result<()> { + self.send_on_topic_stream(topic, packet).await +} +``` + +The intended semantics were to group streams by subscription filter pattern rather than +exact topic name. For example, a subscription to `sensor/#` matching topics `sensor/temp`, +`sensor/humidity`, and `sensor/pressure` would use a single stream for all three topics. +Instead, it used one stream per topic — identical to `DataPerTopic`. + +The experiment confirmed this: per-subscription results were byte-identical to per-topic +across all loss rates, topic counts, and metrics. + +#### Fix applied (Phase 1) + +Rather than implementing true per-subscription grouping (which has unclear semantics and +questionable value for the paper), we deprecated the variant as an explicit alias: + +- Marked `StreamStrategy::DataPerSubscription` with `#[deprecated]` +- Removed `send_on_subscription_stream()` method +- All code paths now treat `DataPerSubscription` identically to `DataPerTopic` +- CLI still accepts `--quic-stream-strategy per-subscription` for backwards compatibility + but logs it as `per-topic` + +For the paper, we note that per-subscription was architecturally identical to per-topic in +our implementation, and that a true per-subscription strategy would require subscription +filter tracking in the stream manager — a non-trivial extension with unclear benefits over +per-topic grouping. + +### H3: Broker Always Delivered via Per-Topic Streams (CONFIRMED — design gap) + +The `--quic-stream-strategy` CLI flag only controlled the **publisher's** sending behavior. +The broker's `ServerStreamManager` always delivered to subscribers using per-topic streams, +regardless of what the client requested. + +This meant the experiment varied only the publisher→broker path. The broker→subscriber path +was always per-topic (8 long-lived streams). The wcorr metric measured a combination of +publisher-side and subscriber-side correlation that couldn't be separated. + +#### Evidence from code + +``` +Publisher sends PUBLISH Broker delivers to subscriber +(controlled by --quic-stream-strategy) (ALWAYS per-topic) + | | + [strategy varies] [ServerStreamManager] + | | + publisher ──────> broker ──────> subscriber +``` + +The `ServerStreamManager` (`broker/server_stream_manager.rs`) maintained a +`HashMap` mapping topics to long-lived QUIC streams. Every +outbound PUBLISH was written to the stream corresponding to its topic, with LRU eviction +when the cache exceeded 100 entries. No configuration option existed to change this behavior. + +#### Fix applied (Phase 2) + +Added `ServerDeliveryStrategy` enum to the broker config: + +```rust +// crates/mqtt5/src/broker/config/transport.rs +pub enum ServerDeliveryStrategy { + ControlOnly, // all publishes on MQTT control stream + PerTopic, // one stream per topic (previous behavior, still default) + PerPublish, // ephemeral stream per outbound publish +} +``` + +Wired through: +- `BrokerConfig::server_delivery_strategy()` builder method +- `ClientHandler` stores and passes strategy to `ServerStreamManager` +- `ServerStreamManager::write_publish()` dispatches based on strategy +- Broker CLI: `--quic-delivery-strategy control-only|per-topic|per-publish` + +For `PerPublish`, each outbound message opens a new bidirectional stream, writes the flow +header + encoded packet, calls `finish()` to signal end-of-stream, and yields to let +Quinn flush the data. The stream is not cached. + +For `ControlOnly`, the `write_publish()` method returns an error, signaling the caller +(`write_publish_bytes` in `publish.rs`) to fall through to writing on the control stream. + +This allows experiments to independently vary publisher-side and subscriber-side strategies, +isolating their effects on correlation and latency. + +### H4: wcorr Conflates HOL Blocking with Congestion (Methodology Limitation) + +Not a code bug, but critical for interpreting results and writing the paper. + +True HOL blocking and congestion-induced correlation produce the same wcorr signal. +per-topic QUIC eliminates true HOL blocking (separate byte streams), but wcorr still +reads 1.0 because QUIC's shared congestion window throttles all streams identically +under loss. + +#### Implications for the paper + +1. wcorr alone cannot prove or disprove HOL blocking mitigation +2. per-publish wcorr < 1.0 IS genuine independence — ephemeral streams have no + accumulated buffer state, so they don't share congestion window effects the same way +3. The distinction between HOL blocking and congestion correlation must be acknowledged +4. Additional metrics may be needed: per-stream goodput traces, retransmission counts, + or inter-stream delivery ordering analysis + +### H5: 60% Delivery at 0% Loss (Expected QoS 0 Behavior) + +At 5000 msg/s configured rate with QoS 0, the broker/subscriber can process ~3000 msg/s. +QoS 0 is fire-and-forget — the MQTT specification explicitly allows brokers to drop messages +when the subscriber can't keep up. No acknowledgment, no retry, no queuing obligation. + +This is expected behavior, not a bug. The experiment should note the effective delivery +rate vs the configured publish rate. + +One notable exception: per-publish at 0% loss achieved ~5000 msg/s (100% delivery). +This is because per-publish opens a fresh stream per message, and Quinn's flow control +provides natural backpressure per-stream — the publisher automatically slows down to +match the subscriber's consumption rate. The other strategies buffer aggressively on +long-lived streams, masking the subscriber bottleneck until messages are silently dropped. + +## Summary of Changes + +### Files modified + +| File | Change | +|------|--------| +| `crates/mqtt5/src/transport/quic.rs` | Deprecated `DataPerSubscription`, added flow control tuning to client transport config | +| `crates/mqtt5/src/transport/quic_stream_manager.rs` | Removed `send_on_subscription_stream()` method | +| `crates/mqtt5/src/client/direct/mod.rs` | Merged `DataPerTopic \| DataPerSubscription` match arms in publish path | +| `crates/mqtt5/src/broker/config/transport.rs` | Added `ServerDeliveryStrategy` enum | +| `crates/mqtt5/src/broker/config/mod.rs` | Added `server_delivery_strategy` field and builder method to `BrokerConfig` | +| `crates/mqtt5/src/broker/server_stream_manager.rs` | Added strategy dispatch in `write_publish()`, `PerPublish` ephemeral streams | +| `crates/mqtt5/src/broker/client_handler/mod.rs` | Added `server_delivery_strategy` field (cfg-gated for non-WASM) | +| `crates/mqtt5/src/broker/client_handler/publish.rs` | Route publish writes through delivery strategy | +| `crates/mqtt5/src/broker/quic_acceptor.rs` | Extract delivery strategy from config, add server-side flow control tuning | +| `crates/mqttv5-cli/src/commands/broker_cmd.rs` | Added `--quic-delivery-strategy` CLI argument | +| `crates/mqttv5-cli/src/commands/bench_cmd.rs` | Merged deprecated match arms | +| `crates/mqttv5-cli/src/commands/parsers.rs` | Added `parse_delivery_strategy()` function | + +### Flow control values + +| Parameter | Before (Quinn default) | After | Rationale | +|-----------|----------------------|-------|-----------| +| `stream_receive_window` | ~1.25 MiB | 256 KiB | 8 streams × 256 KiB = 2 MiB max before stream-level backpressure | +| `receive_window` | ~8 MiB | 1 MiB | Connection-level receive cap | +| `send_window` | ~10 MiB | 1 MiB | Connection-level send cap, limits total in-flight data | + +Quinn defaults assume 100 Mbps bandwidth and 100ms RTT (BDP = 1.25 MiB). MQTT messages +are typically small (< 1 KiB), so these defaults allow massive over-buffering. The reduced +values still allow high throughput for MQTT workloads while providing backpressure 5× sooner. + +## Open Questions for Phase 4 + +1. Does the flow control tuning actually reduce per-topic latency under loss? (Expected: yes) +2. Does wcorr drop below 1.0 with reduced buffering? (Uncertain — congestion correlation may still dominate) +3. Does matching broker delivery strategy to client strategy change the correlation profile? +4. Should the 256 KiB stream window be configurable via CLI for experimentation? +5. What happens to per-publish throughput with the tighter send_window? (It already had natural backpressure, so impact may be minimal) + +## Key Insight for the Paper + +The experiment revealed a distinction that is absent from the QUIC HOL blocking literature: +**stream-level HOL blocking** and **connection-level congestion correlation** are different +phenomena that produce identical signals in standard correlation metrics. + +QUIC's multi-stream design eliminates stream-level HOL blocking (a lost packet on stream A +does not delay delivery of stream B's packets). But QUIC's congestion control operates at +the connection level — a loss event throttles ALL streams equally. Under sustained loss, +all streams experience identical throughput reduction, producing perfect inter-stream +correlation that looks identical to HOL blocking in aggregate metrics. + +This means that QUIC's HOL blocking mitigation is most observable in **transient** loss +events (where stream B continues delivering while stream A retransmits) rather than in +**sustained** loss (where congestion control dominates). Experiment design must account +for this: short loss bursts may reveal stream independence, while sustained loss profiles +mask it behind congestion correlation. + +Buffer bloat amplifies this effect. With large per-stream buffers, the publisher doesn't +experience backpressure promptly, and messages accumulate uniformly across all streams. +By the time congestion control kicks in, all streams have similar buffer depths, producing +correlated drain patterns. Reducing buffer sizes forces earlier backpressure, potentially +revealing stream-level independence that was previously hidden by uniform buffering. diff --git a/experiments/INVESTIGATION_DIARY.md b/experiments/INVESTIGATION_DIARY.md new file mode 100644 index 00000000..06b54cd5 --- /dev/null +++ b/experiments/INVESTIGATION_DIARY.md @@ -0,0 +1,96 @@ +# HOL Blocking Investigation Diary + +New entries on top, beneath the planned work list. + +## Planned Work + +- [x] Phase 1: Fix DataPerSubscription = DataPerTopic alias +- [x] Phase 2: Add broker delivery strategy support (ControlOnly, PerTopic, PerPublish) +- [x] Phase 3: Tune QUIC flow control to reduce buffer bloat +- [ ] Phase 4: Re-run experiment 02 with fixes + +--- + +## 2026-03-04 — Verification: clippy + tests pass clean + +**What**: Ran full verification suite after all Phase 1-3 changes. + +**Why**: Ensure no regressions from the three phases of changes (DataPerSubscription deprecation, ServerDeliveryStrategy addition, QUIC flow control tuning). + +**Result**: `cargo clippy --all-targets --workspace -- -D warnings -W clippy::pedantic` passes clean. `cargo test --workspace --exclude mqtt5-conformance` passes with 0 failures across all test suites (unit tests, integration tests, property tests, doc-tests). Two minor clippy fixes applied: removed unused `strategy()` getter from `ServerStreamManager`, merged duplicate `match_same_arms` in bench_cmd.rs. + +**Next**: Phase 4 — re-run experiment 02 on GCP with the fixes (requires starting VMs, updating external IPs, regen certs). + +## 2026-03-03 — Phase 3: QUIC flow control tuned to reduce buffer bloat + +**What**: Reduced Quinn transport config defaults for both client and server: +- `stream_receive_window`: 256 KiB (was ~1.25 MiB default) +- `receive_window`: 1 MiB (was ~8 MiB default) +- `send_window`: 1 MiB (was ~10 MiB default) + +**Why**: Quinn defaults are tuned for 100 Mbps links — way too large for MQTT's small messages. With 8 per-topic streams, old defaults allowed ~10 MiB of buffered data before backpressure, causing 6-17s latency under 1% loss. New limits: 8 streams × 256 KiB = 2 MiB max before stream-level backpressure, plus 1 MiB connection-level send cap. + +**Result**: Both client and server transport configs now have bounded windows. Per-topic latency under loss should improve significantly as `publish().await` will block sooner instead of buffering indefinitely. + +**Next**: Re-run experiment 02 to verify improvement. + +## 2026-03-03 — Phase 2: Broker delivery strategy support added + +**What**: Added `ServerDeliveryStrategy` enum with three variants: `ControlOnly`, `PerTopic` (default, existing behavior), `PerPublish` (new). Wired through `BrokerConfig`, `ClientHandler`, `ServerStreamManager`, and CLI (`--quic-delivery-strategy`). + +**Why**: Previously the broker ALWAYS delivered via per-topic streams regardless of the client's `--quic-stream-strategy`. Experiments measured a mix of publisher-side and subscriber-side HOL blocking effects. Now experiments can set broker delivery to `control-only` to isolate publisher-side effects, or `per-publish` for maximum stream independence on both sides. + +**Result**: `ServerStreamManager` now supports `PerPublish` (ephemeral streams with finish + yield) and `ControlOnly` (falls back to control stream). Broker CLI accepts `--quic-delivery-strategy control-only|per-topic|per-publish`. + +**Next**: Tune QUIC flow control (Phase 3). + +## 2026-03-03 — Phase 1: DataPerSubscription deprecated as alias of DataPerTopic + +**What**: Marked `StreamStrategy::DataPerSubscription` as `#[deprecated]`, merged client publish path to treat it identically to `DataPerTopic`, removed `send_on_subscription_stream()` method. + +**Why**: `send_on_subscription_stream()` delegated directly to `send_on_topic_stream()` — they were identical code paths producing identical experiment results. Rather than implementing true per-subscription grouping (which has unclear semantics for the paper), deprecated the variant to make the alias explicit. + +**Result**: CLI still accepts `--quic-stream-strategy per-subscription` for backwards compatibility but logs it as `per-topic`. Experiment results correctly labeled. + +**Next**: Add broker delivery strategy support (Phase 2). + +## 2026-02-28 — Root cause identified: publisher-side buffer bloat + shared congestion window + +**What**: Traced the catastrophic per-topic latency (6-17s at 1% loss) to multi-stream buffer bloat. + +**Why**: With 8 long-lived per-topic streams, each stream has its own send buffer in Quinn. Under loss, the shared congestion window shrinks but `publish().await` writes into per-stream buffers and returns quickly without blocking. Total buffering = 8x per-stream capacity before backpressure kicks in. Control-only has 1 stream = 1x buffer = faster backpressure = lower latency. Per-publish uses ephemeral streams = no buffer accumulation = best latency. + +**Result**: This explains why per-topic delivers MORE messages (2217 msg/s) than TCP (1573 msg/s) but with 18x worse latency (6428ms vs 365ms). Messages are buffered, not blocked — classic buffer bloat. + +**Next**: Reduce per-stream send buffer in Quinn transport config (Phase 3). Add broker delivery strategy support (Phase 2) so experiments can isolate publisher-side vs subscriber-side effects. + +## 2026-02-28 — Code investigation: 5 hypotheses formulated + +**What**: Investigated experiment 02 anomalies by reading source code of stream managers, bench tool, and broker publish path. + +**Why**: per-topic/per-sub wcorr=1.0 under any loss was unexpected — should be < 1.0 if QUIC streams provide true independence. + +**Result**: Five hypotheses confirmed: +- H1 (CONFIRMED): Multi-stream buffer bloat causes catastrophic latency — 8 streams x per-stream buffer = 8x total buffering before backpressure +- H2 (CONFIRMED): `send_on_subscription_stream()` delegates directly to `send_on_topic_stream()` — code bug makes them identical +- H3 (CONFIRMED): Broker always delivers via per-topic `ServerStreamManager` regardless of client's `--quic-stream-strategy` — design gap +- H4 (METHODOLOGY): wcorr conflates HOL blocking with congestion-induced correlation — metric limitation, not code bug +- H5 (EXPECTED): 60% delivery at 0% loss is normal QoS 0 behavior when subscriber can't keep up + +**Next**: Implement fixes for H1-H3 in three phases. + +## 2026-02-28 — Experiment 02 results reveal anomalies + +**What**: Analyzed experiment 02 (HOL blocking) results across all stream strategies and loss rates. + +**Why**: Expected per-topic and per-sub QUIC to show lower correlation than TCP under packet loss, indicating reduced HOL blocking. + +**Result**: Anomalies found: +- per-topic/per-sub wcorr=1.000 under any loss (same as TCP — should be lower) +- per-topic latency 6-17s at 1% loss (10-20x worse than TCP's 365ms) +- per-topic delivers more msg/s than TCP BUT with catastrophically higher latency +- 0% loss delivers only ~3000/5000 msg/s for all transports (expected QoS 0 behavior) +- per-sub results are byte-identical to per-topic (confirms code alias bug) +- per-publish is the ONLY strategy that reduces correlation (wcorr 0.62-0.96) + +**Next**: Investigate source code to identify root causes. diff --git a/experiments/run/02_hol_blocking.sh b/experiments/run/02_hol_blocking.sh index 6c9aac3e..328a8d0b 100755 --- a/experiments/run/02_hol_blocking.sh +++ b/experiments/run/02_hol_blocking.sh @@ -6,25 +6,37 @@ EXPERIMENT="02_hol_blocking" LOSSES=(0 1 2 5) DELAY=25 +BROKER_TLS="--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key" +BROKER_QUIC="--quic-host 0.0.0.0:14567" +CA="--ca-cert /opt/mqtt-certs/ca.pem" + declare -A TRANSPORT_URLS TRANSPORT_URLS[tcp]="mqtt://${BROKER_IP}:1883" TRANSPORT_URLS[quic-control]="quic://${BROKER_IP}:14567" TRANSPORT_URLS[quic-pertopic]="quic://${BROKER_IP}:14567" -TRANSPORT_URLS[quic-persub]="quic://${BROKER_IP}:14567" TRANSPORT_URLS[quic-perpub]="quic://${BROKER_IP}:14567" declare -A TRANSPORT_FLAGS TRANSPORT_FLAGS[tcp]="" -TRANSPORT_FLAGS[quic-control]="--quic-stream-strategy control-only --ca-cert /opt/mqtt-certs/ca.pem" -TRANSPORT_FLAGS[quic-pertopic]="--quic-stream-strategy per-topic --ca-cert /opt/mqtt-certs/ca.pem" -TRANSPORT_FLAGS[quic-persub]="--quic-stream-strategy per-subscription --ca-cert /opt/mqtt-certs/ca.pem" -TRANSPORT_FLAGS[quic-perpub]="--quic-stream-strategy per-publish --ca-cert /opt/mqtt-certs/ca.pem" +TRANSPORT_FLAGS[quic-control]="--quic-stream-strategy control-only ${CA}" +TRANSPORT_FLAGS[quic-pertopic]="--quic-stream-strategy per-topic ${CA}" +TRANSPORT_FLAGS[quic-perpub]="--quic-stream-strategy per-publish ${CA}" + +declare -A BROKER_DELIVERY +BROKER_DELIVERY[tcp]="" +BROKER_DELIVERY[quic-control]="--quic-delivery-strategy control-only" +BROKER_DELIVERY[quic-pertopic]="--quic-delivery-strategy per-topic" +BROKER_DELIVERY[quic-perpub]="--quic-delivery-strategy per-publish" -start_broker "--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key --quic-host 0.0.0.0:14567" +TRANSPORTS=(tcp quic-control quic-pertopic quic-perpub) -for tname in tcp quic-control quic-pertopic quic-persub quic-perpub; do +for tname in "${TRANSPORTS[@]}"; do url="${TRANSPORT_URLS[$tname]}" flags="${TRANSPORT_FLAGS[$tname]}" + delivery="${BROKER_DELIVERY[$tname]}" + + stop_broker 2>/dev/null || true + start_broker "${BROKER_TLS} ${BROKER_QUIC} ${delivery}" for loss in "${LOSSES[@]}"; do apply_netem "$DELAY" "$loss" diff --git a/experiments/setup/config.env b/experiments/setup/config.env index 7a565941..9a4778c9 100644 --- a/experiments/setup/config.env +++ b/experiments/setup/config.env @@ -1,9 +1,9 @@ GCP_PROJECT_ID="quic-experiments-488321" BROKER_IP="10.138.0.5" -BROKER_SSH_IP="34.11.236.185" -CLIENT_IP="34.127.99.232" +BROKER_SSH_IP="34.145.36.68" +CLIENT_IP="136.118.167.25" REPO_URL="https://github.com/LabOverWire/mqtt-lib.git" -REPO_BRANCH="mqoq-bench-infrastructure" +REPO_BRANCH="payload-format-experiments" SSH_USER="bench" SSH_KEY_PATH="$HOME/.ssh/id_ed25519" RUNS_PER_DATAPOINT=5 From 92167a07d3d27ed2b9e56ab98426e88379fe6bdd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Wed, 4 Mar 2026 15:56:43 -0800 Subject: [PATCH 04/34] add HOL blocking trace instrumentation and analysis --- .cargo/config.toml | 3 +- .../src/packet/property_tests.rs | 2 + crates/mqtt5-protocol/src/packet/publish.rs | 13 +- crates/mqtt5-protocol/src/types/message.rs | 2 + crates/mqtt5-wasm/src/bridge/mod.rs | 36 ++ crates/mqtt5-wasm/src/client/mod.rs | 4 + crates/mqtt5/src/callback.rs | 7 + crates/mqtt5/src/client/direct/handlers.rs | 1 + crates/mqtt5/src/client/direct/mod.rs | 2 + crates/mqtt5/src/client/mock.rs | 1 + crates/mqtt5/src/client/mod.rs | 4 + crates/mqtt5/src/lib.rs | 3 + crates/mqtt5/src/session/state.rs | 8 + crates/mqtt5/src/tasks.rs | 5 + crates/mqtt5/src/test_utils.rs | 2 + crates/mqtt5/src/transport/packet_io.rs | 2 + crates/mqtt5/tests/common/mod.rs | 1 + .../tests/session_state_property_tests.rs | 4 + crates/mqttv5-cli/src/commands/bench_cmd.rs | 354 +++++++++++++++++- experiments/analysis/hol_trace_analysis.py | 313 ++++++++++++++++ experiments/run/02_hol_blocking.sh | 38 +- 21 files changed, 783 insertions(+), 22 deletions(-) create mode 100755 experiments/analysis/hol_trace_analysis.py diff --git a/.cargo/config.toml b/.cargo/config.toml index cfa58ae3..04a4a6b0 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,6 +1,5 @@ [build] -# Default target for WASM builds -# target = "wasm32-unknown-unknown" +target-dir = "/Users/fabriciobracht/.cargo-target/mqtt-lib" [target.wasm32-unknown-unknown] # Use lld linker for faster builds and enable getrandom WASM support diff --git a/crates/mqtt5-protocol/src/packet/property_tests.rs b/crates/mqtt5-protocol/src/packet/property_tests.rs index 2f781a0e..650be645 100644 --- a/crates/mqtt5-protocol/src/packet/property_tests.rs +++ b/crates/mqtt5-protocol/src/packet/property_tests.rs @@ -112,6 +112,7 @@ proptest! { packet_id, properties: Properties::new(), protocol_version: 5, + stream_id: None, }; // Test encoding @@ -285,6 +286,7 @@ mod property_invariant_tests { packet_id: None, properties: Properties::new(), protocol_version: 5, + stream_id: None, }; let mut pub_buffer = Vec::new(); diff --git a/crates/mqtt5-protocol/src/packet/publish.rs b/crates/mqtt5-protocol/src/packet/publish.rs index 4ea7dc6a..3fcbd8e9 100644 --- a/crates/mqtt5-protocol/src/packet/publish.rs +++ b/crates/mqtt5-protocol/src/packet/publish.rs @@ -8,25 +8,17 @@ use crate::types::ProtocolVersion; use crate::QoS; use bytes::{Buf, BufMut, Bytes}; -/// MQTT PUBLISH packet #[derive(Debug, Clone)] pub struct PublishPacket { - /// Topic name pub topic_name: String, - /// Packet identifier (required for `QoS` > 0) pub packet_id: Option, - /// Message payload pub payload: Bytes, - /// Quality of Service level pub qos: QoS, - /// Retain flag pub retain: bool, - /// Duplicate delivery flag pub dup: bool, - /// PUBLISH properties (v5.0 only) pub properties: Properties, - /// Protocol version (4 = v3.1.1, 5 = v5.0) pub protocol_version: u8, + pub stream_id: Option, } impl PublishPacket { @@ -42,6 +34,7 @@ impl PublishPacket { dup: false, properties: Properties::default(), protocol_version: 5, + stream_id: None, } } @@ -57,6 +50,7 @@ impl PublishPacket { dup: false, properties: Properties::default(), protocol_version: 4, + stream_id: None, } } @@ -314,6 +308,7 @@ impl PublishPacket { dup, properties, protocol_version, + stream_id: None, }) } } diff --git a/crates/mqtt5-protocol/src/types/message.rs b/crates/mqtt5-protocol/src/types/message.rs index 344d034a..93590b1b 100644 --- a/crates/mqtt5-protocol/src/types/message.rs +++ b/crates/mqtt5-protocol/src/types/message.rs @@ -173,6 +173,7 @@ pub struct Message { pub qos: QoS, pub retain: bool, pub properties: MessageProperties, + pub stream_id: Option, } impl From for Message { @@ -183,6 +184,7 @@ impl From for Message { qos: packet.qos, retain: packet.retain, properties: MessageProperties::from(packet.properties), + stream_id: packet.stream_id, } } } diff --git a/crates/mqtt5-wasm/src/bridge/mod.rs b/crates/mqtt5-wasm/src/bridge/mod.rs index bd39db69..a54d24b7 100644 --- a/crates/mqtt5-wasm/src/bridge/mod.rs +++ b/crates/mqtt5-wasm/src/bridge/mod.rs @@ -1,6 +1,7 @@ mod loop_prevention; use crate::client::{RustMessage, WasmMqttClient}; +use crate::config::WasmConnectOptions; use loop_prevention::WasmLoopPrevention; use mqtt5::broker::router::MessageRouter; use mqtt5::packet::publish::PublishPacket; @@ -225,6 +226,15 @@ impl WasmBridgeConnection { Ok(()) } + /// # Errors + /// Returns an error if WebSocket connection or subscription setup fails. + pub async fn connect_ws(&self, url: &str, opts: &WasmConnectOptions) -> Result<(), JsValue> { + self.client.connect_with_options(url, opts).await?; + *self.running.borrow_mut() = true; + self.setup_subscriptions().await?; + Ok(()) + } + async fn setup_subscriptions(&self) -> Result<(), JsValue> { for mapping in &self.config.topics { let direction = mapping.direction(); @@ -409,6 +419,32 @@ impl WasmBridgeManager { Ok(()) } + /// # Errors + /// Returns an error if the bridge already exists or WebSocket connection fails. + pub async fn add_bridge_ws( + &self, + config: WasmBridgeConfig, + url: &str, + opts: &WasmConnectOptions, + ) -> Result<(), JsValue> { + let name = config.name.clone(); + + if self.bridges.borrow().contains_key(&name) { + return Err(JsValue::from_str(&format!( + "Bridge '{name}' already exists" + ))); + } + + self.get_or_init_loop_prevention(&config); + + let connection = WasmBridgeConnection::new(config, self.router.clone()) + .map_err(|e| JsValue::from_str(&e))?; + connection.connect_ws(url, opts).await?; + + self.bridges.borrow_mut().insert(name, Rc::new(connection)); + Ok(()) + } + /// # Errors /// Returns an error if the bridge is not found or disconnection fails. pub async fn remove_bridge(&self, name: &str) -> Result<(), JsValue> { diff --git a/crates/mqtt5-wasm/src/client/mod.rs b/crates/mqtt5-wasm/src/client/mod.rs index 21929d74..85da8beb 100644 --- a/crates/mqtt5-wasm/src/client/mod.rs +++ b/crates/mqtt5-wasm/src/client/mod.rs @@ -314,6 +314,7 @@ impl WasmMqttClient { properties: Properties::default(), payload: payload.to_vec().into(), protocol_version, + stream_id: None, }; self.send_packet(&Packet::Publish(publish_packet)) @@ -384,6 +385,7 @@ impl WasmMqttClient { properties, payload: final_payload.into(), protocol_version, + stream_id: None, }; self.send_packet(&Packet::Publish(publish_packet))?; @@ -417,6 +419,7 @@ impl WasmMqttClient { properties: Properties::default(), payload: payload.to_vec().into(), protocol_version, + stream_id: None, }; self.send_packet(&Packet::Publish(publish_packet))?; @@ -451,6 +454,7 @@ impl WasmMqttClient { properties: Properties::default(), payload: payload.to_vec().into(), protocol_version, + stream_id: None, }; self.send_packet(&Packet::Publish(publish_packet))?; diff --git a/crates/mqtt5/src/callback.rs b/crates/mqtt5/src/callback.rs index 2dd1a28b..caf828ea 100644 --- a/crates/mqtt5/src/callback.rs +++ b/crates/mqtt5/src/callback.rs @@ -242,6 +242,7 @@ mod tests { dup: false, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; manager.dispatch(&message).unwrap(); @@ -279,6 +280,7 @@ mod tests { dup: false, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; manager.dispatch(&message1).unwrap(); @@ -332,6 +334,7 @@ mod tests { dup: false, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; manager.dispatch(&message).unwrap(); @@ -362,6 +365,7 @@ mod tests { dup: false, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; manager.dispatch(&message).unwrap(); @@ -420,6 +424,7 @@ mod tests { dup: false, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; manager.dispatch(&message).unwrap(); @@ -467,6 +472,7 @@ mod tests { dup: false, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; let start = std::time::Instant::now(); @@ -511,6 +517,7 @@ mod tests { dup: false, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; manager.dispatch(&message).unwrap(); diff --git a/crates/mqtt5/src/client/direct/handlers.rs b/crates/mqtt5/src/client/direct/handlers.rs index 17fff90b..dba2e20e 100644 --- a/crates/mqtt5/src/client/direct/handlers.rs +++ b/crates/mqtt5/src/client/direct/handlers.rs @@ -144,6 +144,7 @@ pub(super) async fn handle_publish_with_ack( } } + publish.stream_id = flow_id.map(|f| f.raw()); let _ = callback_manager.dispatch(&publish); Ok(()) diff --git a/crates/mqtt5/src/client/direct/mod.rs b/crates/mqtt5/src/client/direct/mod.rs index d7afb4a5..99ee5b2c 100644 --- a/crates/mqtt5/src/client/direct/mod.rs +++ b/crates/mqtt5/src/client/direct/mod.rs @@ -421,6 +421,7 @@ impl DirectClientInner { dup: false, properties: options.properties.clone().into(), protocol_version: self.options.protocol_version.as_u8(), + stream_id: None, }; self.queued_messages.lock().push(publish); @@ -524,6 +525,7 @@ impl DirectClientInner { packet_id, properties, protocol_version: self.options.protocol_version.as_u8(), + stream_id: None, }; let mut buf = bytes::BytesMut::new(); diff --git a/crates/mqtt5/src/client/mock.rs b/crates/mqtt5/src/client/mock.rs index 53fd5401..d1ea2f5b 100644 --- a/crates/mqtt5/src/client/mock.rs +++ b/crates/mqtt5/src/client/mock.rs @@ -182,6 +182,7 @@ impl MockMqttClient { qos, retain: false, properties: MessageProperties::default(), + stream_id: None, }; callback(message); return Ok(()); diff --git a/crates/mqtt5/src/client/mod.rs b/crates/mqtt5/src/client/mod.rs index fb4c1724..c5e464e9 100644 --- a/crates/mqtt5/src/client/mod.rs +++ b/crates/mqtt5/src/client/mod.rs @@ -757,6 +757,10 @@ impl MqttClient { let mut inner = self.inner.write().await; inner.disconnect_with_packet(false).await } + + pub async fn quic_connection(&self) -> Option> { + self.inner.read().await.quic_connection.clone() + } } #[allow(clippy::manual_async_fn)] diff --git a/crates/mqtt5/src/lib.rs b/crates/mqtt5/src/lib.rs index df28186e..22d90eb6 100644 --- a/crates/mqtt5/src/lib.rs +++ b/crates/mqtt5/src/lib.rs @@ -208,3 +208,6 @@ pub use mqtt5_protocol::{ StandardValidator, SubscribeOptions, TopicValidator, Transport, WillMessage, WillProperties, }; pub use types::{ConnectOptions, ConnectionStats}; + +#[cfg(not(target_arch = "wasm32"))] +pub use quinn; diff --git a/crates/mqtt5/src/session/state.rs b/crates/mqtt5/src/session/state.rs index c3d30f17..b693f227 100644 --- a/crates/mqtt5/src/session/state.rs +++ b/crates/mqtt5/src/session/state.rs @@ -798,6 +798,7 @@ mod tests { dup: false, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; session.store_unacked_publish(packet.clone()).await.unwrap(); @@ -1051,6 +1052,7 @@ mod tests { dup: false, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; assert!(session.store_unacked_publish(packet).await.is_err()); @@ -1069,6 +1071,7 @@ mod tests { dup: false, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; session.store_unacked_publish(packet).await.unwrap(); @@ -1117,6 +1120,7 @@ mod tests { dup: false, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; session.store_retained_message(&packet1).await; @@ -1135,6 +1139,7 @@ mod tests { dup: false, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; session.store_retained_message(&packet2).await; @@ -1157,6 +1162,7 @@ mod tests { dup: false, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; let packet2 = PublishPacket { @@ -1168,6 +1174,7 @@ mod tests { dup: false, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; session.store_retained_message(&packet1).await; @@ -1312,6 +1319,7 @@ mod tests { dup: false, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; session.store_unacked_publish(packet).await.unwrap(); diff --git a/crates/mqtt5/src/tasks.rs b/crates/mqtt5/src/tasks.rs index fe921958..4428c9df 100644 --- a/crates/mqtt5/src/tasks.rs +++ b/crates/mqtt5/src/tasks.rs @@ -310,6 +310,7 @@ mod tests { packet_id: None, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; let result = handle_publish(publish, &transport, &session, &callback_manager).await; @@ -331,6 +332,7 @@ mod tests { packet_id: Some(123), properties: Properties::default(), protocol_version: 5, + stream_id: None, }; assert_eq!(publish.packet_id, Some(123)); } @@ -346,6 +348,7 @@ mod tests { packet_id: Some(456), properties: Properties::default(), protocol_version: 5, + stream_id: None, }; assert_eq!(publish.packet_id, Some(456)); } @@ -363,6 +366,7 @@ mod tests { packet_id: Some(100), properties: Properties::default(), protocol_version: 5, + stream_id: None, }; session .write() @@ -453,6 +457,7 @@ mod tests { packet_id: None, properties: Properties::default(), protocol_version: 5, + stream_id: None, }; route_message(&publish, &callback_manager); tokio::task::yield_now().await; diff --git a/crates/mqtt5/src/test_utils.rs b/crates/mqtt5/src/test_utils.rs index 6a02c369..25fb8692 100644 --- a/crates/mqtt5/src/test_utils.rs +++ b/crates/mqtt5/src/test_utils.rs @@ -58,6 +58,7 @@ impl TestPacketBuilder for PublishPacket { dup: false, properties: Properties::new(), protocol_version: 5, + stream_id: None, } } } @@ -126,6 +127,7 @@ pub fn create_test_publish(topic: &str, payload: &[u8], qos: QoS) -> Packet { dup: false, properties: Properties::new(), protocol_version: 5, + stream_id: None, }) } diff --git a/crates/mqtt5/src/transport/packet_io.rs b/crates/mqtt5/src/transport/packet_io.rs index fa79ff56..ac871150 100644 --- a/crates/mqtt5/src/transport/packet_io.rs +++ b/crates/mqtt5/src/transport/packet_io.rs @@ -617,6 +617,7 @@ mod tests { packet_id: Some(123), properties: Properties::new(), protocol_version: 5, + stream_id: None, }; transport @@ -737,6 +738,7 @@ mod tests { packet_id: None, properties: Properties::new(), protocol_version: 5, + stream_id: None, }; transport diff --git a/crates/mqtt5/tests/common/mod.rs b/crates/mqtt5/tests/common/mod.rs index 5efca1a4..f7490778 100644 --- a/crates/mqtt5/tests/common/mod.rs +++ b/crates/mqtt5/tests/common/mod.rs @@ -447,6 +447,7 @@ mod tests { qos: mqtt5::QoS::AtMostOnce, retain: false, properties: mqtt5::MessageProperties::default(), + stream_id: None, }; callback(message); diff --git a/crates/mqtt5/tests/session_state_property_tests.rs b/crates/mqtt5/tests/session_state_property_tests.rs index 0d2cbda2..ebe57228 100644 --- a/crates/mqtt5/tests/session_state_property_tests.rs +++ b/crates/mqtt5/tests/session_state_property_tests.rs @@ -60,6 +60,7 @@ fn publish_packet(packet_id: u16, qos: QoS) -> PublishPacket { properties: Properties::default(), payload: vec![1, 2, 3, 4].into(), protocol_version: 5, + stream_id: None, } } @@ -631,6 +632,7 @@ mod retained_message_tests { properties: Properties::default(), payload: vec![i as u8].into(), protocol_version: 5, + stream_id: None, }; session.store_retained_message(&packet).await; } @@ -653,6 +655,7 @@ mod retained_message_tests { properties: Properties::default(), payload: vec![].into(), protocol_version: 5, + stream_id: None, }; session.store_retained_message(&clear_packet).await; @@ -688,6 +691,7 @@ mod retained_message_tests { properties: Properties::default(), payload: vec![i as u8].into(), protocol_version: 5, + stream_id: None, }; session.store_retained_message(&packet).await; } diff --git a/crates/mqttv5-cli/src/commands/bench_cmd.rs b/crates/mqttv5-cli/src/commands/bench_cmd.rs index 97d81665..208cccc0 100644 --- a/crates/mqttv5-cli/src/commands/bench_cmd.rs +++ b/crates/mqttv5-cli/src/commands/bench_cmd.rs @@ -125,6 +125,9 @@ pub struct BenchCommand { #[arg(long, value_enum, default_value = "raw")] pub payload_format: PayloadFormat, + + #[arg(long)] + pub trace_dir: Option, } fn parse_qos(s: &str) -> Result { @@ -171,9 +174,10 @@ fn encode_payload(format: PayloadFormat, payload_size: usize, sequence: u32) -> let ts = nanos_as_u64(); match format { PayloadFormat::Raw => { - let size = payload_size.max(8); + let size = payload_size.max(12); let mut buf = vec![0u8; size]; buf[0..8].copy_from_slice(&ts.to_be_bytes()); + buf[8..12].copy_from_slice(&sequence.to_be_bytes()); buf } PayloadFormat::Json => { @@ -252,6 +256,41 @@ fn decode_timestamp(format: PayloadFormat, payload: &[u8]) -> u64 { } } +fn decode_sequence(format: PayloadFormat, payload: &[u8]) -> u32 { + match format { + PayloadFormat::Raw => { + if payload.len() >= 12 { + u32::from_be_bytes(payload[8..12].try_into().unwrap()) + } else { + 0 + } + } + PayloadFormat::Json => serde_json::from_slice::(payload) + .map(|p| p.seq) + .unwrap_or(0), + PayloadFormat::Bebytes => { + if payload.len() >= BEBYTES_HEADER_SIZE { + BebytesHeader::try_from_be_bytes(payload) + .map(|(h, _)| h.sequence) + .unwrap_or(0) + } else { + 0 + } + } + PayloadFormat::CompressedJson => { + let mut decoder = GzDecoder::new(payload); + let mut json_bytes = Vec::new(); + if decoder.read_to_end(&mut json_bytes).is_ok() { + serde_json::from_slice::(&json_bytes) + .map(|p| p.seq) + .unwrap_or(0) + } else { + 0 + } + } + } +} + #[derive(Serialize)] struct BenchConfig { duration_secs: u64, @@ -332,6 +371,30 @@ struct HolBlockingResults { window_count: usize, total_messages: u64, measured_rate: f64, + #[serde(skip_serializing_if = "Option::is_none")] + inter_arrival_cluster_ratio: Option, + #[serde(skip_serializing_if = "Option::is_none")] + spike_isolation_ratio: Option, +} + +struct TraceRecord { + topic_idx: u16, + seq: u32, + publish_ns: u64, + receive_ns: u64, + latency_us: u64, + stream_id: u64, +} + +struct StatsRecord { + timestamp_ns: u64, + rtt_us: u64, + cwnd: u64, + lost_packets: u64, + congestion_events: u64, + sent_packets: u64, + stream_data_blocked: u64, + data_blocked: u64, } #[derive(Serialize)] @@ -1054,11 +1117,15 @@ async fn subscribe_hol_topics( format: PayloadFormat, topic_samples: &[Arc>>], measure_start_nanos: &Arc, + trace_records: Option<&Arc>>>, ) -> Result<()> { for (i, samples_vec) in topic_samples.iter().enumerate() { let topic_filter = format!("bench/hol/{i}"); let samples_clone = Arc::clone(samples_vec); let start_nanos = Arc::clone(measure_start_nanos); + let trace_clone = trace_records.map(Arc::clone); + #[allow(clippy::cast_possible_truncation)] + let topic_idx = i as u16; sub_client .subscribe(&topic_filter, move |msg| { let sent_nanos = decode_timestamp(format, &msg.payload); @@ -1075,6 +1142,17 @@ async fn subscribe_hol_topics( received_at_us, latency_us, }); + if let Some(ref traces) = trace_clone { + let seq = decode_sequence(format, &msg.payload); + traces.lock().unwrap().push(TraceRecord { + topic_idx, + seq, + publish_ns: sent_nanos, + receive_ns: now_nanos, + latency_us, + stream_id: msg.stream_id.unwrap_or(0), + }); + } } }) .await @@ -1084,22 +1162,252 @@ async fn subscribe_hol_topics( Ok(()) } +fn spawn_quinn_stats_sampler( + conn: Arc, + records: Arc>>, + running: Arc, +) -> tokio::task::JoinHandle<()> { + tokio::spawn(async move { + let mut interval = tokio::time::interval(Duration::from_millis(100)); + while running.load(Ordering::Relaxed) { + interval.tick().await; + let stats = conn.stats(); + let rtt = conn.rtt(); + #[allow(clippy::cast_possible_truncation)] + let rtt_us = rtt.as_micros() as u64; + records.lock().unwrap().push(StatsRecord { + timestamp_ns: nanos_as_u64(), + rtt_us, + cwnd: stats.path.cwnd, + lost_packets: stats.path.lost_packets, + congestion_events: stats.path.congestion_events, + sent_packets: stats.path.sent_packets, + stream_data_blocked: stats.frame_rx.stream_data_blocked, + data_blocked: stats.frame_rx.data_blocked, + }); + } + }) +} + +fn write_trace_csv(dir: &std::path::Path, records: &[TraceRecord]) -> Result<()> { + std::fs::create_dir_all(dir)?; + let path = dir.join("messages.csv"); + let mut out = std::io::BufWriter::new(std::fs::File::create(&path)?); + writeln!( + out, + "topic_idx,seq,publish_ns,receive_ns,latency_us,stream_id" + )?; + for r in records { + writeln!( + out, + "{},{},{},{},{},{}", + r.topic_idx, r.seq, r.publish_ns, r.receive_ns, r.latency_us, r.stream_id + )?; + } + eprintln!( + "wrote {} trace records to {}", + records.len(), + path.display() + ); + Ok(()) +} + +fn write_stats_csv(dir: &std::path::Path, records: &[StatsRecord]) -> Result<()> { + std::fs::create_dir_all(dir)?; + let path = dir.join("quinn_stats.csv"); + let mut out = std::io::BufWriter::new(std::fs::File::create(&path)?); + writeln!(out, "timestamp_ns,rtt_us,cwnd,lost_packets,congestion_events,sent_packets,stream_data_blocked,data_blocked")?; + for r in records { + writeln!( + out, + "{},{},{},{},{},{},{},{}", + r.timestamp_ns, + r.rtt_us, + r.cwnd, + r.lost_packets, + r.congestion_events, + r.sent_packets, + r.stream_data_blocked, + r.data_blocked + )?; + } + eprintln!( + "wrote {} stats records to {}", + records.len(), + path.display() + ); + Ok(()) +} + +fn compute_inter_arrival_cluster_ratio(records: &[TraceRecord]) -> f64 { + if records.len() < 2 { + return 0.0; + } + let mut sorted: Vec<&TraceRecord> = records.iter().collect(); + sorted.sort_by_key(|r| r.receive_ns); + + let threshold_ns: u64 = 100_000; + let mut clustered: u64 = 0; + let mut cross_topic_pairs: u64 = 0; + + for i in 0..sorted.len() { + for j in (i + 1)..sorted.len() { + let delta = sorted[j].receive_ns.saturating_sub(sorted[i].receive_ns); + if delta > threshold_ns { + break; + } + if sorted[i].topic_idx != sorted[j].topic_idx { + cross_topic_pairs += 1; + clustered += 1; + } + } + } + + if cross_topic_pairs == 0 { + return 0.0; + } + + let total_cross = total_cross_topic_adjacent_pairs(&sorted, threshold_ns); + if total_cross == 0 { + return 0.0; + } + as_f64_lossy(clustered) / as_f64_lossy(total_cross) +} + +fn total_cross_topic_adjacent_pairs(sorted: &[&TraceRecord], window_ns: u64) -> u64 { + let mut count: u64 = 0; + for i in 0..sorted.len() { + for j in (i + 1)..sorted.len() { + let delta = sorted[j].receive_ns.saturating_sub(sorted[i].receive_ns); + if delta > window_ns { + break; + } + if sorted[i].topic_idx != sorted[j].topic_idx { + count += 1; + } + } + } + count +} + +struct SpikeEvent { + topic: u16, + receive_ns: u64, +} + +fn compute_spike_isolation_ratio(records: &[TraceRecord], num_topics: u16) -> f64 { + let mut per_topic: Vec> = vec![Vec::new(); num_topics as usize]; + for r in records { + if (r.topic_idx as usize) < per_topic.len() { + per_topic[r.topic_idx as usize].push((r.receive_ns, r.latency_us)); + } + } + + for topic_data in &mut per_topic { + topic_data.sort_by_key(|(ns, _)| *ns); + } + + let spike_window: usize = 50; + let spike_threshold: f64 = 2.0; + let co_occur_window_ns: u64 = 10_000_000; + + let mut all_spikes: Vec = Vec::new(); + + for (topic_idx, topic_data) in per_topic.iter().enumerate() { + if topic_data.len() < spike_window { + continue; + } + let latencies: Vec = topic_data.iter().map(|(_, l)| as_f64_lossy(*l)).collect(); + + for i in spike_window..latencies.len() { + let window = &latencies[i.saturating_sub(spike_window)..i]; + let mut window_sorted: Vec = window.to_vec(); + window_sorted.sort_by(|a, b| a.partial_cmp(b).unwrap_or(std::cmp::Ordering::Equal)); + let median = window_sorted[window_sorted.len() / 2]; + + if median > 0.0 && latencies[i] > median * spike_threshold { + #[allow(clippy::cast_possible_truncation)] + all_spikes.push(SpikeEvent { + topic: topic_idx as u16, + receive_ns: topic_data[i].0, + }); + } + } + } + + if all_spikes.is_empty() { + return 0.0; + } + + all_spikes.sort_by_key(|s| s.receive_ns); + + let mut co_occurring: u64 = 0; + let total_spikes = all_spikes.len() as u64; + + for i in 0..all_spikes.len() { + let spike = &all_spikes[i]; + let has_co_spike = all_spikes.iter().any(|other| { + other.topic != spike.topic + && other.receive_ns.abs_diff(spike.receive_ns) <= co_occur_window_ns + }); + if has_co_spike { + co_occurring += 1; + } + } + + as_f64_lossy(co_occurring) / as_f64_lossy(total_spikes) +} + +fn finalize_hol_traces( + results: &mut HolBlockingResults, + num_topics: usize, + trace_records: Option<&Arc>>>, + stats_records: Option<&Arc>>>, + trace_dir: Option<&std::path::PathBuf>, +) -> Result<()> { + if let Some(traces) = trace_records { + let records = traces.lock().unwrap(); + #[allow(clippy::cast_possible_truncation)] + let ntopics = num_topics as u16; + results.inter_arrival_cluster_ratio = Some(compute_inter_arrival_cluster_ratio(&records)); + results.spike_isolation_ratio = Some(compute_spike_isolation_ratio(&records, ntopics)); + eprintln!( + " inter_arrival_cluster_ratio: {:.4}, spike_isolation_ratio: {:.4}", + results.inter_arrival_cluster_ratio.unwrap_or(0.0), + results.spike_isolation_ratio.unwrap_or(0.0), + ); + } + + if let Some(dir) = trace_dir { + if let Some(traces) = trace_records { + write_trace_csv(dir, &traces.lock().unwrap())?; + } + if let Some(stats) = stats_records { + write_stats_csv(dir, &stats.lock().unwrap())?; + } + } + Ok(()) +} + async fn run_hol_blocking(cmd: BenchCommand) -> Result<()> { use std::sync::Mutex; let url = broker_url(&cmd); let base_id = base_client_id(&cmd, "hol"); let num_topics = cmd.topics; - let payload_size = cmd.payload_size.max(8); + let payload_size = cmd.payload_size.max(12); + let trace_dir = cmd.trace_dir.clone(); eprintln!("connecting to {url} for HOL blocking test with {num_topics} topics..."); - let pub_client = connect_client(format!("{base_id}-pub"), &url, &cmd).await?; let sub_client = connect_client(format!("{base_id}-sub"), &url, &cmd).await?; let topic_samples: Vec>>> = (0..num_topics) .map(|_| Arc::new(Mutex::new(Vec::with_capacity(100_000)))) .collect(); + let trace_records: Option>>> = trace_dir + .as_ref() + .map(|_| Arc::new(Mutex::new(Vec::with_capacity(200_000)))); let format = cmd.payload_format; let measure_start_nanos = Arc::new(AtomicU64::new(0)); @@ -1109,6 +1417,7 @@ async fn run_hol_blocking(cmd: BenchCommand) -> Result<()> { format, &topic_samples, &measure_start_nanos, + trace_records.as_ref(), ) .await?; @@ -1119,7 +1428,6 @@ async fn run_hol_blocking(cmd: BenchCommand) -> Result<()> { } else { None }; - let rate_label = if cmd.rate > 0 { format!("{} msg/s", cmd.rate) } else { @@ -1144,17 +1452,33 @@ async fn run_hol_blocking(cmd: BenchCommand) -> Result<()> { for handle in warmup_handles { handle.await.ok(); } - for sv in &topic_samples { sv.lock().unwrap().clear(); } + if let Some(ref traces) = trace_records { + traces.lock().unwrap().clear(); + } published.store(0, Ordering::SeqCst); - eprintln!("measuring for {}s at {rate_label}...", cmd.duration); + let stats_records: Option>>> = trace_dir.as_ref().map(|_| { + #[allow(clippy::cast_possible_truncation)] + let cap = (cmd.duration * 10) as usize + 10; + Arc::new(Mutex::new(Vec::with_capacity(cap))) + }); + running.store(true, Ordering::SeqCst); + let stats_handle = if let Some(ref stats) = stats_records { + sub_client.quic_connection().await.map(|conn| { + eprintln!(" quinn stats sampler active (100ms interval)"); + spawn_quinn_stats_sampler(conn, Arc::clone(stats), Arc::clone(&running)) + }) + } else { + None + }; + + eprintln!("measuring for {}s at {rate_label}...", cmd.duration); measure_start_nanos.store(nanos_as_u64(), Ordering::SeqCst); let measure_wall = Instant::now(); - let measure_handles = spawn_hol_publishers( &pub_client, num_topics, @@ -1169,13 +1493,22 @@ async fn run_hol_blocking(cmd: BenchCommand) -> Result<()> { for handle in measure_handles { handle.await.ok(); } + if let Some(handle) = stats_handle { + handle.await.ok(); + } let elapsed = measure_wall.elapsed().as_secs_f64(); let total_published = published.load(Ordering::Relaxed); - tokio::time::sleep(Duration::from_millis(500)).await; - let results = gather_hol_results(&topic_samples, elapsed); + let mut results = gather_hol_results(&topic_samples, elapsed); + finalize_hol_traces( + &mut results, + num_topics, + trace_records.as_ref(), + stats_records.as_ref(), + trace_dir.as_ref(), + )?; eprintln!( " published: {total_published}, received: {}, rate: {:.0} msg/s", @@ -1194,7 +1527,6 @@ async fn run_hol_blocking(cmd: BenchCommand) -> Result<()> { config: bench_config(&cmd, &url), results: BenchResults::HolBlocking(results), }; - println!("{}", serde_json::to_string_pretty(&output)?); pub_client.disconnect().await.ok(); @@ -1285,6 +1617,8 @@ fn gather_hol_results( window_count, total_messages, measured_rate, + inter_arrival_cluster_ratio: None, + spike_isolation_ratio: None, } } diff --git a/experiments/analysis/hol_trace_analysis.py b/experiments/analysis/hol_trace_analysis.py new file mode 100755 index 00000000..90cf261d --- /dev/null +++ b/experiments/analysis/hol_trace_analysis.py @@ -0,0 +1,313 @@ +#!/usr/bin/env python3 +"""Analyze HOL blocking trace data from mqttv5 bench --trace-dir output. + +Reads messages.csv and quinn_stats.csv files, produces: +1. Inter-arrival time histogram (frame packing detection) +2. Latency time-series with cwnd overlay (congestion correlation) +3. Per-stream spike independence analysis (HOL blocking detection) +4. Sequence gap analysis (loss/reordering detection) + +Usage: + python hol_trace_analysis.py [--output-dir ] + python hol_trace_analysis.py /path/to/messages.csv [--stats /path/to/quinn_stats.csv] + +The results_dir mode scans for *_messages.csv files and processes each pair. +""" + +import argparse +import csv +import sys +from collections import defaultdict +from pathlib import Path + + +def load_messages(path: Path) -> list[dict]: + rows = [] + with open(path) as f: + reader = csv.DictReader(f) + for row in reader: + rows.append({ + "topic_idx": int(row["topic_idx"]), + "seq": int(row["seq"]), + "publish_ns": int(row["publish_ns"]), + "receive_ns": int(row["receive_ns"]), + "latency_us": int(row["latency_us"]), + "stream_id": int(row["stream_id"]), + }) + return rows + + +def load_stats(path: Path) -> list[dict]: + rows = [] + with open(path) as f: + reader = csv.DictReader(f) + for row in reader: + rows.append({ + "timestamp_ns": int(row["timestamp_ns"]), + "rtt_us": int(row["rtt_us"]), + "cwnd": int(row["cwnd"]), + "lost_packets": int(row["lost_packets"]), + "congestion_events": int(row["congestion_events"]), + "sent_packets": int(row["sent_packets"]), + "stream_data_blocked": int(row["stream_data_blocked"]), + "data_blocked": int(row["data_blocked"]), + }) + return rows + + +def analyze_inter_arrival(messages: list[dict]) -> dict: + sorted_msgs = sorted(messages, key=lambda m: m["receive_ns"]) + + thresholds_us = [10, 50, 100, 500, 1000] + cross_topic_pairs = 0 + clustered = {t: 0 for t in thresholds_us} + + for i in range(len(sorted_msgs) - 1): + a = sorted_msgs[i] + b = sorted_msgs[i + 1] + if a["topic_idx"] == b["topic_idx"]: + continue + cross_topic_pairs += 1 + delta_us = (b["receive_ns"] - a["receive_ns"]) / 1000.0 + for t in thresholds_us: + if delta_us <= t: + clustered[t] += 1 + + ratios = {} + for t in thresholds_us: + ratios[f"within_{t}us"] = clustered[t] / cross_topic_pairs if cross_topic_pairs > 0 else 0.0 + + return { + "cross_topic_adjacent_pairs": cross_topic_pairs, + "cluster_ratios": ratios, + } + + +def analyze_spike_isolation(messages: list[dict]) -> dict: + by_topic: dict[int, list[dict]] = defaultdict(list) + for m in messages: + by_topic[m["topic_idx"]].append(m) + + for topic_msgs in by_topic.values(): + topic_msgs.sort(key=lambda m: m["receive_ns"]) + + window = 50 + spike_threshold = 2.0 + co_occurrence_window_us = 10_000 + + spikes_by_topic: dict[int, list[dict]] = defaultdict(list) + + for topic_idx, topic_msgs in by_topic.items(): + if len(topic_msgs) < window: + continue + latencies = [m["latency_us"] for m in topic_msgs] + for i in range(window, len(topic_msgs)): + window_slice = latencies[i - window:i] + sorted_window = sorted(window_slice) + median = sorted_window[len(sorted_window) // 2] + if median > 0 and latencies[i] > spike_threshold * median: + spikes_by_topic[topic_idx].append(topic_msgs[i]) + + all_spikes = [] + for topic_idx, topic_spikes in spikes_by_topic.items(): + for s in topic_spikes: + all_spikes.append({"topic": topic_idx, "receive_ns": s["receive_ns"]}) + all_spikes.sort(key=lambda s: s["receive_ns"]) + + total_spikes = len(all_spikes) + co_occurring = 0 + + for spike in all_spikes: + has_co_spike = any( + other["topic"] != spike["topic"] + and abs(other["receive_ns"] - spike["receive_ns"]) / 1000.0 <= co_occurrence_window_us + for other in all_spikes + ) + if has_co_spike: + co_occurring += 1 + + return { + "total_spikes": total_spikes, + "spikes_per_topic": {t: len(s) for t, s in spikes_by_topic.items()}, + "co_occurring_spikes": co_occurring, + "spike_isolation_ratio": co_occurring / total_spikes if total_spikes > 0 else 0.0, + } + + +def analyze_sequence_gaps(messages: list[dict]) -> dict: + by_topic: dict[int, list[int]] = defaultdict(list) + for m in messages: + by_topic[m["topic_idx"]].append(m["seq"]) + + gaps: dict[int, list[tuple[int, int]]] = {} + for topic_idx, seqs in by_topic.items(): + sorted_seqs = sorted(seqs) + topic_gaps = [] + for i in range(1, len(sorted_seqs)): + diff = sorted_seqs[i] - sorted_seqs[i - 1] + if diff > 1: + topic_gaps.append((sorted_seqs[i - 1], sorted_seqs[i])) + gaps[topic_idx] = topic_gaps + + return { + "gaps_per_topic": {t: len(g) for t, g in gaps.items()}, + "total_gaps": sum(len(g) for g in gaps.values()), + "messages_per_topic": {t: len(s) for t, s in by_topic.items()}, + } + + +def analyze_stream_mapping(messages: list[dict]) -> dict: + topic_streams: dict[int, set[int]] = defaultdict(set) + for m in messages: + topic_streams[m["topic_idx"]].add(m["stream_id"]) + return { + "streams_per_topic": {t: sorted(s) for t, s in topic_streams.items()}, + "unique_streams": len(set().union(*topic_streams.values())) if topic_streams else 0, + "unique_topics": len(topic_streams), + } + + +def analyze_quinn_stats(stats: list[dict]) -> dict: + if not stats: + return {} + + rtts = [s["rtt_us"] for s in stats] + cwnds = [s["cwnd"] for s in stats] + + last = stats[-1] + first = stats[0] + lost_delta = last["lost_packets"] - first["lost_packets"] + sent_delta = last["sent_packets"] - first["sent_packets"] + congestion_delta = last["congestion_events"] - first["congestion_events"] + + return { + "samples": len(stats), + "duration_s": (last["timestamp_ns"] - first["timestamp_ns"]) / 1e9, + "rtt_min_us": min(rtts), + "rtt_max_us": max(rtts), + "rtt_mean_us": sum(rtts) / len(rtts), + "cwnd_min": min(cwnds), + "cwnd_max": max(cwnds), + "cwnd_mean": sum(cwnds) / len(cwnds), + "total_lost_packets": lost_delta, + "total_sent_packets": sent_delta, + "loss_rate": lost_delta / sent_delta if sent_delta > 0 else 0.0, + "congestion_events": congestion_delta, + "stream_data_blocked": last["stream_data_blocked"] - first["stream_data_blocked"], + "data_blocked": last["data_blocked"] - first["data_blocked"], + } + + +def format_report( + label: str, + inter_arrival: dict, + spike: dict, + seq_gaps: dict, + stream_map: dict, + quinn: dict, +) -> str: + lines = [f"=== {label} ===", ""] + + lines.append("Stream mapping:") + lines.append(f" unique streams: {stream_map['unique_streams']}") + lines.append(f" unique topics: {stream_map['unique_topics']}") + for t, streams in sorted(stream_map["streams_per_topic"].items()): + lines.append(f" topic {t}: streams {streams}") + lines.append("") + + lines.append("Inter-arrival clustering (frame packing indicator):") + lines.append(f" cross-topic adjacent pairs: {inter_arrival['cross_topic_adjacent_pairs']}") + for threshold, ratio in inter_arrival["cluster_ratios"].items(): + lines.append(f" {threshold}: {ratio:.4f}") + lines.append("") + + lines.append("Spike isolation (HOL blocking indicator):") + lines.append(f" total spikes: {spike['total_spikes']}") + lines.append(f" co-occurring: {spike['co_occurring_spikes']}") + lines.append(f" isolation ratio: {spike['spike_isolation_ratio']:.4f}") + lines.append(f" (1.0 = all spikes co-occur = HOL blocking; ~0 = independent)") + for t, count in sorted(spike["spikes_per_topic"].items()): + lines.append(f" topic {t}: {count} spikes") + lines.append("") + + lines.append("Sequence gaps (loss/reordering):") + lines.append(f" total gaps: {seq_gaps['total_gaps']}") + for t, count in sorted(seq_gaps["gaps_per_topic"].items()): + msgs = seq_gaps["messages_per_topic"].get(t, 0) + lines.append(f" topic {t}: {count} gaps ({msgs} messages)") + lines.append("") + + if quinn: + lines.append("Quinn connection stats:") + lines.append(f" samples: {quinn['samples']}") + lines.append(f" duration: {quinn['duration_s']:.1f}s") + lines.append(f" RTT: {quinn['rtt_min_us']}-{quinn['rtt_max_us']}us (mean {quinn['rtt_mean_us']:.0f}us)") + lines.append(f" cwnd: {quinn['cwnd_min']}-{quinn['cwnd_max']} (mean {quinn['cwnd_mean']:.0f})") + lines.append(f" lost packets: {quinn['total_lost_packets']}/{quinn['total_sent_packets']} ({quinn['loss_rate']:.4f})") + lines.append(f" congestion events: {quinn['congestion_events']}") + lines.append(f" stream_data_blocked:{quinn['stream_data_blocked']}") + lines.append(f" data_blocked: {quinn['data_blocked']}") + lines.append("") + + return "\n".join(lines) + + +def process_trace_pair(messages_path: Path, stats_path: Path | None, label: str) -> str: + messages = load_messages(messages_path) + stats = load_stats(stats_path) if stats_path and stats_path.exists() else [] + + inter_arrival = analyze_inter_arrival(messages) + spike = analyze_spike_isolation(messages) + seq_gaps = analyze_sequence_gaps(messages) + stream_map = analyze_stream_mapping(messages) + quinn = analyze_quinn_stats(stats) + + return format_report(label, inter_arrival, spike, seq_gaps, stream_map, quinn) + + +def scan_results_dir(results_dir: Path) -> list[tuple[str, Path, Path | None]]: + pairs = [] + for msg_file in sorted(results_dir.glob("*_messages.csv")): + label = msg_file.name.replace("_messages.csv", "") + stats_file = msg_file.parent / f"{label}_quinn_stats.csv" + pairs.append((label, msg_file, stats_file if stats_file.exists() else None)) + return pairs + + +def main(): + parser = argparse.ArgumentParser(description="Analyze HOL blocking trace data") + parser.add_argument("input", help="messages.csv file or results directory") + parser.add_argument("--stats", help="quinn_stats.csv file (single-file mode)") + parser.add_argument("--output-dir", help="directory for output reports") + args = parser.parse_args() + + input_path = Path(args.input) + + if input_path.is_file(): + stats_path = Path(args.stats) if args.stats else None + label = input_path.stem.replace("_messages", "") + report = process_trace_pair(input_path, stats_path, label) + print(report) + if args.output_dir: + out = Path(args.output_dir) + out.mkdir(parents=True, exist_ok=True) + (out / f"{label}_analysis.txt").write_text(report) + elif input_path.is_dir(): + pairs = scan_results_dir(input_path) + if not pairs: + print(f"no *_messages.csv files found in {input_path}", file=sys.stderr) + sys.exit(1) + out_dir = Path(args.output_dir) if args.output_dir else input_path + out_dir.mkdir(parents=True, exist_ok=True) + for label, msg_path, stats_path in pairs: + report = process_trace_pair(msg_path, stats_path, label) + print(report) + (out_dir / f"{label}_analysis.txt").write_text(report) + print(f"wrote {out_dir / f'{label}_analysis.txt'}") + else: + print(f"input not found: {input_path}", file=sys.stderr) + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/experiments/run/02_hol_blocking.sh b/experiments/run/02_hol_blocking.sh index 328a8d0b..2ddd29fc 100755 --- a/experiments/run/02_hol_blocking.sh +++ b/experiments/run/02_hol_blocking.sh @@ -5,6 +5,7 @@ source "$(dirname "${BASH_SOURCE[0]}")/common.sh" EXPERIMENT="02_hol_blocking" LOSSES=(0 1 2 5) DELAY=25 +TRACE_LOSSES=(0 1) BROKER_TLS="--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key" BROKER_QUIC="--quic-host 0.0.0.0:14567" @@ -30,6 +31,27 @@ BROKER_DELIVERY[quic-perpub]="--quic-delivery-strategy per-publish" TRANSPORTS=(tcp quic-control quic-pertopic quic-perpub) +should_trace() { + local loss="$1" + for tl in "${TRACE_LOSSES[@]}"; do + [[ "$loss" == "$tl" ]] && return 0 + done + return 1 +} + +collect_traces() { + local experiment="$1" + local run_label="$2" + local remote_dir="$3" + local output_dir="${RESULTS_DIR}/${experiment}" + + for csv in messages.csv quinn_stats.csv; do + scp -i "$SSH_KEY_PATH" "${SSH_USER}@${CLIENT_IP}:${remote_dir}/${csv}" \ + "${output_dir}/${run_label}_${csv}" 2>/dev/null || true + done + ssh_client "rm -rf ${remote_dir}" 2>/dev/null || true +} + for tname in "${TRANSPORTS[@]}"; do url="${TRANSPORT_URLS[$tname]}" flags="${TRANSPORT_FLAGS[$tname]}" @@ -42,8 +64,22 @@ for tname in "${TRANSPORTS[@]}"; do apply_netem "$DELAY" "$loss" label="${tname}_loss${loss}pct" echo "[${EXPERIMENT}] ${label}" + + trace_flag="" + if should_trace "$loss"; then + trace_flag="--trace-dir /tmp/hol-traces" + fi + run_monitored "$EXPERIMENT" "$label" \ - "--url ${url} ${flags} --mode hol-blocking --topics 8 --duration 30 --warmup 5 --payload-size 512 --rate 5000" + "--url ${url} ${flags} --mode hol-blocking --topics 8 --duration 30 --warmup 5 --payload-size 512 --rate 5000 ${trace_flag}" + + if should_trace "$loss"; then + output_dir="${RESULTS_DIR}/${EXPERIMENT}" + for run in $(seq 1 "$RUNS_PER_DATAPOINT"); do + collect_traces "$EXPERIMENT" "${label}_run${run}" "/tmp/hol-traces" + done + fi + clear_netem done done From ce61d336593cfd02d33a7431d39ca73d043260e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Wed, 4 Mar 2026 16:07:44 -0800 Subject: [PATCH 05/34] add WebSocket bridge support to WASM broker --- crates/mqtt5-wasm/src/broker.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/crates/mqtt5-wasm/src/broker.rs b/crates/mqtt5-wasm/src/broker.rs index 82765206..6aa709f1 100644 --- a/crates/mqtt5-wasm/src/broker.rs +++ b/crates/mqtt5-wasm/src/broker.rs @@ -1,5 +1,6 @@ use crate::bridge::{WasmBridgeConfig, WasmBridgeManager}; use crate::client_handler::WasmClientHandler; +use crate::config::WasmConnectOptions; use mqtt5::broker::acl::{AclRule, Permission}; use mqtt5::broker::auth::{ComprehensiveAuthProvider, PasswordAuthProvider}; use mqtt5::broker::config::{BrokerConfig, ChangeOnlyDeliveryConfig}; @@ -517,6 +518,20 @@ impl WasmBroker { manager.add_bridge(config, remotePort).await } + /// # Errors + /// Returns an error if the bridge cannot be added or WebSocket connection fails. + #[wasm_bindgen(js_name = "addBridgeWebSocket")] + #[allow(non_snake_case)] + pub async fn add_bridge_ws( + &self, + config: WasmBridgeConfig, + url: &str, + opts: &WasmConnectOptions, + ) -> Result<(), JsValue> { + let manager = self.bridge_manager.borrow().clone(); + manager.add_bridge_ws(config, url, opts).await + } + /// # Errors /// Returns an error if the bridge cannot be removed. #[wasm_bindgen(js_name = "removeBridge")] From ae87bf324996be22a50178fbee1b0a5ac8ec6008 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Thu, 5 Mar 2026 13:13:44 -0800 Subject: [PATCH 06/34] add publication prep: QoS fix, analysis scripts, experiment scripts 02d/02e --- crates/mqttv5-cli/src/commands/bench_cmd.rs | 132 ++++-- experiments/INVESTIGATION_DIARY.md | 250 +++++++++- experiments/README.md | 23 + experiments/RESULTS_MANIFEST.md | 63 +++ .../figures/fig01_spike_iso_vs_loss.py | 112 +++++ .../figures/fig02_spike_iso_vs_rtt.py | 140 ++++++ .../figures/fig03_spike_iso_vs_topics.py | 132 ++++++ .../figures/fig04_wcorr_vs_spike_iso.py | 118 +++++ .../figures/fig05_latency_percentiles.py | 117 +++++ .../analysis/figures/fig06_timeseries_cwnd.py | 105 +++++ .../analysis/figures/fig07_inter_arrival.py | 95 ++++ experiments/analysis/figures/generate_all.py | 52 +++ experiments/analysis/figures/style.py | 59 +++ experiments/analysis/publication_stats.py | 440 ++++++++++++++++++ experiments/analysis/verify_data.py | 233 ++++++++++ experiments/archive/ARCHIVE_README.md | 29 ++ experiments/run/02_hol_blocking.sh | 27 +- experiments/run/02d_hol_rtt_boundary.sh | 79 ++++ experiments/run/02e_hol_qos1.sh | 71 +++ experiments/setup/config.env | 4 +- 20 files changed, 2226 insertions(+), 55 deletions(-) create mode 100644 experiments/RESULTS_MANIFEST.md create mode 100644 experiments/analysis/figures/fig01_spike_iso_vs_loss.py create mode 100644 experiments/analysis/figures/fig02_spike_iso_vs_rtt.py create mode 100644 experiments/analysis/figures/fig03_spike_iso_vs_topics.py create mode 100644 experiments/analysis/figures/fig04_wcorr_vs_spike_iso.py create mode 100644 experiments/analysis/figures/fig05_latency_percentiles.py create mode 100644 experiments/analysis/figures/fig06_timeseries_cwnd.py create mode 100644 experiments/analysis/figures/fig07_inter_arrival.py create mode 100755 experiments/analysis/figures/generate_all.py create mode 100644 experiments/analysis/figures/style.py create mode 100755 experiments/analysis/publication_stats.py create mode 100755 experiments/analysis/verify_data.py create mode 100644 experiments/archive/ARCHIVE_README.md create mode 100755 experiments/run/02d_hol_rtt_boundary.sh create mode 100755 experiments/run/02e_hol_qos1.sh diff --git a/crates/mqttv5-cli/src/commands/bench_cmd.rs b/crates/mqttv5-cli/src/commands/bench_cmd.rs index 208cccc0..c15e4233 100644 --- a/crates/mqttv5-cli/src/commands/bench_cmd.rs +++ b/crates/mqttv5-cli/src/commands/bench_cmd.rs @@ -1436,29 +1436,25 @@ async fn run_hol_blocking(cmd: BenchCommand) -> Result<()> { let running = Arc::new(std::sync::atomic::AtomicBool::new(true)); let published = Arc::new(AtomicU64::new(0)); - - eprintln!("warming up for {}s at {rate_label}...", cmd.warmup); - let warmup_handles = spawn_hol_publishers( - &pub_client, + let pub_cfg = HolPublishConfig { num_topics, format, payload_size, per_topic_interval_us, + qos: cmd.qos, + }; + + eprintln!("warming up for {}s at {rate_label}...", cmd.warmup); + run_hol_warmup( + &pub_client, + &pub_cfg, &running, &published, - ); - tokio::time::sleep(Duration::from_secs(cmd.warmup)).await; - running.store(false, Ordering::SeqCst); - for handle in warmup_handles { - handle.await.ok(); - } - for sv in &topic_samples { - sv.lock().unwrap().clear(); - } - if let Some(ref traces) = trace_records { - traces.lock().unwrap().clear(); - } - published.store(0, Ordering::SeqCst); + &topic_samples, + trace_records.as_ref(), + cmd.warmup, + ) + .await; let stats_records: Option>>> = trace_dir.as_ref().map(|_| { #[allow(clippy::cast_possible_truncation)] @@ -1479,15 +1475,7 @@ async fn run_hol_blocking(cmd: BenchCommand) -> Result<()> { eprintln!("measuring for {}s at {rate_label}...", cmd.duration); measure_start_nanos.store(nanos_as_u64(), Ordering::SeqCst); let measure_wall = Instant::now(); - let measure_handles = spawn_hol_publishers( - &pub_client, - num_topics, - format, - payload_size, - per_topic_interval_us, - &running, - &published, - ); + let measure_handles = spawn_hol_publishers(&pub_client, &pub_cfg, &running, &published); tokio::time::sleep(Duration::from_secs(cmd.duration)).await; running.store(false, Ordering::SeqCst); for handle in measure_handles { @@ -1501,15 +1489,46 @@ async fn run_hol_blocking(cmd: BenchCommand) -> Result<()> { let total_published = published.load(Ordering::Relaxed); tokio::time::sleep(Duration::from_millis(500)).await; - let mut results = gather_hol_results(&topic_samples, elapsed); - finalize_hol_traces( - &mut results, + let results = finalize_and_report_hol( + &topic_samples, + elapsed, + total_published, num_topics, trace_records.as_ref(), stats_records.as_ref(), trace_dir.as_ref(), )?; + let output = BenchOutput { + mode: "hol-blocking".to_string(), + config: bench_config(&cmd, &url), + results: BenchResults::HolBlocking(results), + }; + println!("{}", serde_json::to_string_pretty(&output)?); + + pub_client.disconnect().await.ok(); + sub_client.disconnect().await.ok(); + Ok(()) +} + +fn finalize_and_report_hol( + topic_samples: &[Arc>>], + elapsed: f64, + total_published: u64, + num_topics: usize, + trace_records: Option<&Arc>>>, + stats_records: Option<&Arc>>>, + trace_dir: Option<&PathBuf>, +) -> Result { + let mut results = gather_hol_results(topic_samples, elapsed); + finalize_hol_traces( + &mut results, + num_topics, + trace_records, + stats_records, + trace_dir, + )?; + eprintln!( " published: {total_published}, received: {}, rate: {:.0} msg/s", results.total_messages, results.measured_rate @@ -1522,39 +1541,66 @@ async fn run_hol_blocking(cmd: BenchCommand) -> Result<()> { results.window_size_ms ); - let output = BenchOutput { - mode: "hol-blocking".to_string(), - config: bench_config(&cmd, &url), - results: BenchResults::HolBlocking(results), - }; - println!("{}", serde_json::to_string_pretty(&output)?); - - pub_client.disconnect().await.ok(); - sub_client.disconnect().await.ok(); - Ok(()) + Ok(results) } -fn spawn_hol_publishers( +async fn run_hol_warmup( pub_client: &MqttClient, + pub_cfg: &HolPublishConfig, + running: &Arc, + published: &Arc, + topic_samples: &[Arc>>], + trace_records: Option<&Arc>>>, + warmup_secs: u64, +) { + let warmup_handles = spawn_hol_publishers(pub_client, pub_cfg, running, published); + tokio::time::sleep(Duration::from_secs(warmup_secs)).await; + running.store(false, Ordering::SeqCst); + for handle in warmup_handles { + handle.await.ok(); + } + for sv in topic_samples { + sv.lock().unwrap().clear(); + } + if let Some(traces) = trace_records { + traces.lock().unwrap().clear(); + } + published.store(0, Ordering::SeqCst); +} + +struct HolPublishConfig { num_topics: usize, format: PayloadFormat, payload_size: usize, per_topic_interval_us: Option, + qos: QoS, +} + +fn spawn_hol_publishers( + pub_client: &MqttClient, + cfg: &HolPublishConfig, running: &Arc, published: &Arc, ) -> Vec> { - let mut handles = Vec::with_capacity(num_topics); - for topic_idx in 0..num_topics { + let mut handles = Vec::with_capacity(cfg.num_topics); + for topic_idx in 0..cfg.num_topics { let client = pub_client.clone(); let running = Arc::clone(running); let published = Arc::clone(published); + let format = cfg.format; + let payload_size = cfg.payload_size; + let per_topic_interval_us = cfg.per_topic_interval_us; + let qos = cfg.qos; handles.push(tokio::spawn(async move { let topic = format!("bench/hol/{topic_idx}"); let mut seq = 0u32; while running.load(Ordering::Relaxed) { let payload = encode_payload(format, payload_size, seq); - if client.publish(&topic, payload).await.is_ok() { + if publish_message(&client, &topic, &payload, qos) + .await + .is_ok() + { published.fetch_add(1, Ordering::Relaxed); } seq = seq.wrapping_add(1); diff --git a/experiments/INVESTIGATION_DIARY.md b/experiments/INVESTIGATION_DIARY.md index 06b54cd5..cf20dd60 100644 --- a/experiments/INVESTIGATION_DIARY.md +++ b/experiments/INVESTIGATION_DIARY.md @@ -7,10 +7,258 @@ New entries on top, beneath the planned work list. - [x] Phase 1: Fix DataPerSubscription = DataPerTopic alias - [x] Phase 2: Add broker delivery strategy support (ControlOnly, PerTopic, PerPublish) - [x] Phase 3: Tune QUIC flow control to reduce buffer bloat -- [ ] Phase 4: Re-run experiment 02 with fixes +- [x] Phase 4: Re-run experiment 02 with fixes +- [x] Phase 5: Add trace instrumentation (per-message trace, Quinn stats, spike isolation) +- [x] Phase 6A: Extended traces — collect traces at 2% and 5% loss +- [x] Phase 6B: RTT sweep — 10ms, 50ms, 100ms delay at 1% loss +- [x] Phase 6C: Topic count scaling — 2, 4, 16, 32 topics at 25ms/1% loss +- [x] Phase 7: Deep trace analysis and cross-experiment synthesis +- [x] Phase 8: Publication preparation — analysis scripts, figures, archive +- [ ] Phase 9: RTT boundary experiment (02d) — 15ms/20ms at 1% loss +- [ ] Phase 10: QoS 1 HOL experiment (02e) — tcp + per-topic at 25ms/1% --- +## 2026-03-05 — Phase 8: Publication preparation + +**What**: Created publication-quality analysis infrastructure, archived superseded results, wired QoS through HOL publishers, and wrote experiment scripts for remaining gaps. + +**Changes**: +- Archived three superseded result sets: `results_archived_rate500/`, `results-pre-server-streams/`, `02_hol_blocking_pre_trace/` → `experiments/archive/` with provenance documentation +- Created `RESULTS_MANIFEST.md` documenting all 8 active result directories +- Created `verify_data.py`: walks all JSON results, validates schema (mode-aware), counts runs per condition, verifies cross-experiment 25ms/8-topic reference +- Created `publication_stats.py`: 95% CI (t-distribution), Mann-Whitney U, Cohen's d effect sizes, Bonferroni correction for 18 comparisons. Outputs JSON + LaTeX +- Created 7 publication figure scripts + shared style + master runner in `analysis/figures/` +- Wired `cmd.qos` through `spawn_hol_publishers` via `HolPublishConfig` struct (was hardcoded to QoS 0) +- Extracted `run_hol_warmup` and `finalize_and_report_hol` helpers to satisfy clippy line limits +- Created experiment scripts `02d_hol_rtt_boundary.sh` (15/20ms) and `02e_hol_qos1.sh` (QoS 1) + +**Statistical highlights** (from publication_stats.py on existing data): +- TCP vs per-topic at 5% loss: Cohen's d=73.0 (massive effect, spike_iso 0.977 vs 0.000) +- Per-topic isolation fails at 10ms RTT: spike_iso=0.968 (d=9.18 vs TCP's 0.995) +- Topic scaling sweet spot confirmed: 8-16 topics give spike_iso=0.000; 2 topics=0.315, 32 topics=0.347 +- Mann-Whitney U tests significant (after Bonferroni) at: 5% loss ctrl vs per-topic, 10ms RTT, 2/4/32 topics + +**Verification**: cargo check + clippy clean, 383 unit tests pass + +--- + +## 2026-03-05 — Phase 7: Deep trace analysis reveals mechanisms behind boundary conditions + +**What**: Performed comprehensive offline analysis across all 200 experiment runs (1010 result files), mining per-message traces and Quinn connection stats to explain WHY isolation succeeds or fails under different conditions. + +**Analysis script**: `experiments/analysis/comprehensive_hol_analysis.py` — aggregates JSON results across experiments 02, 02b, 02c with mean±std statistics. Full report at `experiments/results/hol_blocking_comprehensive_analysis.txt`. + +### Finding 1: wcorr is definitively misleading + +The wcorr vs spike_iso divergence table proves wcorr does not measure HOL blocking: + +| Strategy | Loss | wcorr | spike_iso | Interpretation | +|----------|------|-------|-----------|----------------| +| TCP | 0% | 0.213 | 0.000 | Both agree: no blocking | +| QUIC ctrl | 0% | 0.929 | 0.000 | **DIVERGENT**: wcorr says blocking, spike_iso says no | +| QUIC per-topic | 0% | 0.846 | 0.000 | **DIVERGENT** | +| QUIC per-topic | 1% | 0.987 | 0.000 | **DIVERGENT**: strongest example | +| QUIC per-pub | 0% | 0.816 | 0.000 | **DIVERGENT** | + +Four of eight tested conditions show wcorr > 0.5 with spike_iso = 0.0 — high "correlation" with zero actual spike co-occurrence. wcorr measures congestion-induced throughput correlation from the shared cwnd, which is a different phenomenon from HOL blocking (where one stream's lost packet delays another stream's delivery). + +### Finding 2: 10ms RTT failure mechanism — rapid cwnd oscillation + +Quinn connection stats comparison at 1% loss, per-topic: + +| RTT | cwnd range | cwnd mean | lost/sent | congestion events | spike_iso | +|-----|-----------|-----------|-----------|-------------------|-----------| +| 10ms | 2840-8400 | 3328 | 136/14116 (0.96%) | 14 | 0.968 | +| 25ms | 2840-2840 | 2840 | 109/10366 (1.05%) | 20 | 0.000 | +| 50ms | 2840-12000 | 4458 | 43/4181 (1.03%) | 6 | 0.000 | + +At 10ms RTT: 8054 total spikes, 7849 co-occurring (97.5%), evenly distributed across all 8 topics (~1000 spikes per topic). At 25ms RTT: **zero** total spikes. + +**Mechanism**: At 10ms RTT, QUIC's congestion controller cycles rapidly through recovery-loss-recovery. The cwnd oscillates between 2840 and 8400 bytes, creating alternating fast/slow delivery periods that affect all streams simultaneously. At 25ms RTT, the cwnd sits at minimum (2840) permanently — no oscillation means no perturbation events, hence no spikes at all. The isolation at 25ms isn't because spikes are independent; it's because the steady-state delivery eliminates spikes entirely. + +At 50ms RTT: cwnd ranges wider (2840-12000) but only 6 congestion events over 30 seconds — the longer RTT means fewer loss detection cycles, so cwnd perturbations are rare and don't create sustained correlated spike patterns. + +**Publication insight**: QUIC stream independence for HOL blocking mitigation requires sufficient RTT for the congestion controller to reach steady-state after loss. Below ~20ms RTT, rapid cwnd oscillation creates correlated throughput perturbations that override stream-level independence. + +### Finding 3: 32-topic bimodal behavior — phase transition at isolation boundary + +Per-topic at 32 topics, 25ms RTT, 1% loss: + +| Run | spike_iso | total_msgs | lost/sent | cwnd range | +|-----|-----------|------------|-----------|-----------| +| 1 | 0.000 | 78,533 | 78/8944 (0.87%) | 2840-2840 | +| 2 | 0.000 | 78,699 | — | — | +| 3 | 0.807 | 84,620 | 108/9782 (1.10%) | 2840-2973 | +| 4 | 0.929 | 88,202 | — | — | +| 5 | 0.000 | 82,632 | — | — | + +Runs 1,2,5 show perfect isolation (0.0); runs 3,4 show strong correlation (0.81, 0.93). This is genuinely bimodal — not gradual degradation. The correlated runs had: +- 8-12% more total messages delivered +- Higher measured loss rate (1.1% vs 0.87%) +- Slightly variable cwnd (2840-2973 vs constant 2840) +- Spikes concentrated in just 5 of 32 topics (topics 5, 6, 7, 18, 24) + +**Interpretation**: At 32 topics, the system sits at a phase transition boundary. Small variations in actual packet loss distribution can push it into either isolated or correlated state. When the effective loss rate is slightly higher (more packets actually lost), more topics experience simultaneous retransmission delays, breaking isolation. At 8-16 topics, this boundary is far enough away that it never triggers under our test conditions. + +### Finding 4: Latency cost of isolation + +At 1% loss, 25ms RTT, 8 topics: + +| Strategy | p50 | p95 | rate (msg/s) | spike_iso | +|----------|-----|-----|-------------|-----------| +| TCP | 389ms | 916ms | 1499 | 0.793 | +| QUIC ctrl | 185ms | 317ms | 2188 | 0.798 | +| QUIC per-topic | 716ms | 1113ms | 2382 | 0.000 | +| QUIC per-pub | 45ms | 95ms | 1353 | 0.948 | + +Per-topic trades 2x higher latency for complete spike isolation. But it delivers 59% more messages than TCP (2382 vs 1499 msg/s). The higher latency comes from the steady-state cwnd-limited delivery pattern — messages are delivered reliably but slowly through each stream's buffer. + +Per-publish has the lowest latency (17x better than per-topic) but worst isolation (0.948). This represents the fundamental tradeoff: stream duration determines whether streams accumulate enough state for independent congestion behavior. + +### Summary of operating envelope for per-topic QUIC streams in MQTT + +| Condition | Isolation? | Mechanism | +|-----------|-----------|-----------| +| RTT < 20ms | No | Rapid cwnd oscillation creates correlated spikes | +| RTT ≥ 25ms | Yes | Steady-state cwnd eliminates perturbation events | +| Loss 0-5% | Yes | Stream-level retransmission prevents cross-topic propagation | +| 2-4 topics | Partial | Too few streams for statistical independence | +| 8-16 topics | Yes | Optimal stream count for cwnd sharing | +| 32+ topics | Unstable | Phase transition boundary, bimodal behavior | + +## 2026-03-05 — Phase 6C complete: per-topic isolation has a topic count sweet spot + +**What**: Ran 60 experiments (3 transports × 4 topic counts × 5 runs) at 25ms/1% loss with traces. + +**Result**: Spike isolation at 25ms/1% loss across topic counts (including 8 topics from Phase 5): + +| Transport | 2 | 4 | 8 | 16 | 32 | +|-----------|---|---|---|----|----| +| TCP | 0.98 | 0.99 | 0.79 | 0.80 | 1.00 | +| **QUIC per-topic** | 0.31 | 0.45 | **0.00** | **0.00** | 0.35 | +| QUIC per-publish | 0.68 | 0.86 | 0.95 | 0.96 | 0.96 | + +**Key findings**: + +1. **Per-topic has a sweet spot at 8-16 topics** (spike_iso=0.0). Below this (2-4 topics), there are too few streams for statistical independence — a single congestion event can affect both. Above this (32 topics), streams compete more aggressively for the shared congestion window, degrading isolation. + +2. **Throughput scales well with topics**: per-topic at 2 topics = 1398 msg/s, at 32 topics = 2744 msg/s. More topics = more parallelism within QUIC's congestion window. + +3. **TCP spike coupling is consistently high** (~0.80-1.00) regardless of topic count — HOL blocking is fundamental to the single-connection model. + +4. **Per-publish anomaly worsens with more topics**: spike_iso goes from 0.68 (2 topics) to 0.96 (32 topics). More topics = more ephemeral streams competing = more cross-topic backpressure. + +5. **wcorr decreases with more topics for QUIC**: per-topic wcorr drops from 1.00 (2 topics) to 0.93 (32 topics). More streams means the correlation from cwnd sharing is diluted. + +**Practical recommendation**: 8-16 topics per QUIC connection provides optimal HOL blocking mitigation. For deployments with >16 heavily-used topics, consider multiple QUIC connections to maintain isolation. + +## 2026-03-05 — Phase 6B complete: per-topic isolation depends on RTT + +**What**: Ran 60 experiments (4 transports × 3 RTTs × 5 runs) at 1% loss with traces. + +**Result**: Spike isolation ratio at 1% loss across RTTs (including 25ms from Phase 5): + +| Transport | 10ms | 25ms | 50ms | 100ms | +|-----------|------|------|------|-------| +| TCP | 1.00 | 0.79 | 0.40 | 0.00 | +| QUIC control | 1.00 | 0.80 | 0.60 | 0.80 | +| **QUIC per-topic** | **0.97** | **0.00** | **0.00** | **0.00** | +| QUIC per-publish | 0.98 | 0.95 | 0.92 | 0.93 | + +**Key findings**: + +1. **Per-topic at 10ms RTT: spike_iso=0.97** — at very low RTT, even per-topic shows correlated spikes. QUIC's fast retransmission (~30ms PTO at 10ms RTT) completes before the next message arrives, so the dominant latency effect is the shared congestion window reduction rather than per-stream blocking. All streams slow down together. + +2. **Per-topic at ≥25ms RTT: spike_iso=0.0** — at moderate-to-high RTTs, per-topic provides perfect spike isolation. Retransmission takes longer, making stream-level HOL blocking the dominant latency effect, which per-topic correctly isolates. + +3. **TCP spike_iso decreases with RTT** (1.0→0.0) — statistical artifact: at high RTT, fewer messages arrive, fewer spikes detected, so co-occurrence probability drops. The spike detection algorithm is sample-count sensitive. + +4. **Per-publish anomaly is RTT-independent** (~0.93-0.98 everywhere) — confirms it's a structural issue with ephemeral stream creation under congestion, not a timing effect. + +5. **Practical implication**: Per-topic HOL mitigation is most effective precisely where HOL blocking matters most — moderate-to-high RTT deployments (IoT over cellular, cross-region, satellite). At LAN-scale RTTs (<10ms), HOL blocking has negligible practical impact anyway. + +**Throughput at different RTTs** (per-topic, 1% loss): 10ms=3018 msg/s, 50ms=1379, 100ms=663 — throughput scales inversely with RTT as expected (congestion window limited). + +## 2026-03-04 — Phase 6A complete: per-topic spike isolation holds at all loss rates + +**What**: Collected per-message traces and Quinn stats at 2% and 5% loss for all 4 transports (40 runs). + +**Result**: Spike isolation ratio across all loss rates (5-run averages): + +| Transport | 0% loss | 1% loss | 2% loss | 5% loss | +|-----------|---------|---------|---------|---------| +| TCP | 0.00 | 0.79 | 0.80 | 0.98 | +| QUIC control | 0.00 | 0.80 | 1.00 | 1.00 | +| **QUIC per-topic** | **0.00** | **0.00** | **0.00** | **0.00** | +| QUIC per-publish | 0.00 | 0.95 | 0.95 | 0.95 | + +**Key finding**: Per-topic spike isolation = 0.0 at EVERY loss rate including 5%. Latency spikes from packet loss on one QUIC stream never propagate to other topics' streams. This is definitive proof that per-topic QUIC streams provide complete HOL blocking mitigation for MQTT. + +**Additional observations**: +- TCP spike coupling gets worse with loss (0.79 → 0.98) — more loss = more HOL blocking +- QUIC control-only hits 1.0 at 2% loss — behaves identically to TCP (single stream, as expected) +- Per-publish anomaly persists (spike_iso ~0.95 at all loss rates) — ephemeral stream creation under congestion creates cross-topic backpressure +- wcorr remains high for per-topic (0.97-0.99) despite spike_iso=0.0 — confirms wcorr measures congestion correlation, not HOL blocking +- cluster_ratio=1.0 everywhere — Quinn frame packing is universal + +## 2026-03-04 — Phase 6 planned: characterize QUIC streaming architecture for MQTT + +**What**: Designed three sub-experiments to complete the HOL blocking characterization. + +**Why**: Phase 5 results show per-topic spike_isolation=0.0 at 1% loss (topics are independent) vs TCP's 0.79 (topics are coupled). But we only have traces at 0% and 1% loss. Need to answer: (A) does per-topic maintain isolation at 2-5% loss? (B) does isolation hold at higher RTTs? (C) does per-topic scale with many topics? + +**Design**: +- **02a**: Run 2% and 5% loss with traces (4 transports × 2 losses × 5 runs = 40 runs, ~30 min) +- **02b**: RTT sweep at 10/50/100ms with 1% loss, all traced (4 transports × 3 delays × 5 runs = 60 runs, ~45 min) +- **02c**: Topic count 2/4/16/32 at 25ms/1% loss, TCP + per-topic + per-publish only (3 transports × 4 counts × 5 runs = 60 runs, ~45 min) + +**Scripts**: `experiments/run/02a_hol_traces_extended.sh`, `02b_hol_rtt_sweep.sh`, `02c_hol_topic_scaling.sh` + +**Goal**: Complete characterization supporting the architecture recommendation: "per-topic QUIC streams provide HOL blocking mitigation across loss rates, network latencies, and topic counts." + +## 2026-03-04 — Phase 5 complete: trace instrumentation produces first empirical evidence + +**What**: Added per-message trace recording, Quinn connection stats sampling, and two new derived metrics (inter-arrival cluster ratio, spike isolation ratio) to the bench tool. Re-ran experiment 02 on GCP with traces at 0% and 1% loss. + +**Instrumentation added**: +- `TraceRecord`: topic_idx, seq, publish_ns, receive_ns, latency_us, stream_id — written to `messages.csv` +- `StatsRecord`: timestamp_ns, rtt_us, cwnd, lost_packets, congestion_events, sent_packets, stream_data_blocked, data_blocked — written to `quinn_stats.csv` +- `inter_arrival_cluster_ratio`: fraction of cross-topic message pairs arriving within 100µs (frame packing detector) +- `spike_isolation_ratio`: fraction of latency spikes that co-occur across topics within 10ms (HOL blocking detector) +- Offline analysis: `experiments/analysis/hol_trace_analysis.py` + +**Key results** (5-run averages, 25ms delay): + +| Transport | Loss | wcorr | cluster | spike_iso | msgs | rate | +|-----------|------|-------|---------|-----------|------|------| +| TCP | 0% | 0.21 | 1.00 | 0.00 | 90812 | 3027 | +| TCP | 1% | 1.00 | 1.00 | 0.79 | 45237 | 1499 | +| QUIC ctrl | 0% | 0.93 | 1.00 | 0.00 | 89162 | 2970 | +| QUIC ctrl | 1% | 1.00 | 1.00 | 0.80 | 65761 | 2188 | +| QUIC per-topic | 0% | 0.85 | 1.00 | 0.00 | 87575 | 2915 | +| QUIC per-topic | 1% | 0.99 | 1.00 | **0.00** | 71594 | 2382 | +| QUIC per-pub | 0% | 0.82 | 1.00 | 0.00 | 53218 | 1769 | +| QUIC per-pub | 1% | 0.99 | 1.00 | 0.95 | 40714 | 1353 | + +**Critical findings**: + +1. **Frame packing confirmed**: `cluster_ratio=1.0` across ALL transports including per-topic (8 separate streams). Quinn packs multiple stream frames into single UDP datagrams, causing all topics to arrive simultaneously at the application layer. + +2. **wcorr is misleading**: QUIC per-topic shows wcorr=0.99 at 1% loss (looks like HOL blocking), but spike_isolation=0.0 (spikes do NOT propagate across topics). The high wcorr is driven by shared congestion window throttling all streams equally — a throughput effect, not a latency spike effect. + +3. **Per-topic achieves true spike isolation**: spike_isolation=0.0 means when one topic experiences a latency spike (from a lost packet on its stream), other topics are unaffected. This is the HOL blocking mitigation QUIC promises, and per-topic delivers it. + +4. **Per-publish anomaly**: spike_isolation=0.95 despite one stream per message. Hypothesis: ephemeral stream creation under congestion creates cross-topic backpressure that isn't present with long-lived per-topic streams. Needs investigation. + +5. **Per-topic latency at 1% loss**: p50=650-767ms across topics (vs TCP's 600ms). After flow control tuning (Phase 3), per-topic latency is comparable to TCP, not 10-20x worse as before. + +6. **Stream ID mapping**: Per-topic confirmed 8 unique streams (IDs 3,5,7,9,11,13,15,17 — server-initiated bidirectional). Per-publish confirmed 40K+ unique streams in 30s. + +7. **Quinn stats under loss**: cwnd drops to 2840 bytes at 1% loss (from 12000 at 0%), zero stream_data_blocked events — flow control tuning is working correctly. + +**Methodology fix**: Original script used `run_monitored` which iterated runs internally, overwriting trace files. Fixed to inline the loop with per-run trace collection. + ## 2026-03-04 — Verification: clippy + tests pass clean **What**: Ran full verification suite after all Phase 1-3 changes. diff --git a/experiments/README.md b/experiments/README.md index 0880704a..bfc799d5 100644 --- a/experiments/README.md +++ b/experiments/README.md @@ -45,10 +45,32 @@ bash setup/provision.sh teardown |--------|-----------------| | `01_connection_latency.sh` | Connection setup time across TCP/TLS/QUIC with varying network delay | | `02_hol_blocking.sh` | Head-of-line blocking: cross-topic latency correlation under packet loss | +| `02a_hol_traces_extended.sh` | Extended traces at 2% and 5% loss | +| `02b_hol_rtt_sweep.sh` | HOL blocking at varying RTTs (10/50/100ms) with 1% loss | +| `02c_hol_topic_scaling.sh` | HOL blocking at varying topic counts (2/4/16/32) | +| `02d_hol_rtt_boundary.sh` | RTT boundary experiment (15/20ms) to narrow isolation transition | +| `02e_hol_qos1.sh` | HOL blocking with QoS 1 at reference conditions | | `03_throughput_under_loss.sh` | Message throughput degradation under packet loss for all transports | | `04_stream_strategies.sh` | Comparison of QUIC stream strategies (control-only, per-publish, per-topic, per-subscription) | | `05_datagram_vs_stream.sh` | QUIC datagrams vs streams for QoS 0 under varying loss | | `06_resource_overhead.sh` | Memory, CPU, and thread usage under different connection counts | +| `12_payload_format_localhost.sh` | Payload format performance on localhost | +| `13_payload_format_remote.sh` | Payload format performance over GCP network | +| `14_payload_format_3host.sh` | Payload format with separate pub/broker/sub hosts | + +### Script Status + +**Complete** (results collected): +01, 02, 02a, 02b, 02c, 03, 04, 12 + +**Ready to run** (scripts written, need VM session): +02d, 02e, 13, 14 + +**Planned but not run** (scripts written, not yet validated): +05, 06 + +**Phase 2 / GKE** (Kubernetes pod-based, not run): +07, 08, 09, 10, 11 ## Network Impairment @@ -77,5 +99,6 @@ experiments/ ├── run/ # Experiment scripts ├── monitor/ # Resource monitoring ├── analysis/ # Result aggregation +├── archive/ # Superseded results (see archive/ARCHIVE_README.md) └── results/ # Raw JSON output (gitignored) ``` diff --git a/experiments/RESULTS_MANIFEST.md b/experiments/RESULTS_MANIFEST.md new file mode 100644 index 00000000..a67d8ab7 --- /dev/null +++ b/experiments/RESULTS_MANIFEST.md @@ -0,0 +1,63 @@ +# Experiment Results Manifest + +Active results in `experiments/results/`. Archived results in `experiments/archive/`. + +## 01_connection_latency + +- **Experiment**: Connection setup time across TCP, TLS, QUIC at varying RTTs +- **Date**: 2026-02-28 +- **Branch**: `mqoq-bench-infrastructure` +- **Conditions**: 5 transports × 3 RTTs × 5 runs = 75 JSON files +- **Status**: COMPLETE + +## 02_hol_blocking + +- **Experiment**: HOL blocking under packet loss (primary dataset) +- **Date**: 2026-03-04 (re-collected with trace instrumentation) +- **Branch**: `persist-qos2-inflight` (after Phases 1-5 fixes) +- **Conditions**: 4 transports × 4 loss rates (0/1/2/5%) × 5 runs = 80 JSON files +- **Trace data**: `messages.csv` + `quinn_stats.csv` at 0% and 1% loss +- **Key metrics**: `spike_isolation_ratio`, `inter_arrival_cluster_ratio`, `windowed_correlation` +- **Status**: COMPLETE +- **Cross-references**: 25ms/8-topic data at 1% loss provides baseline for experiments 02b and 02c + +## 02b_hol_rtt_sweep + +- **Experiment**: HOL blocking at varying RTTs (10/50/100ms) with 1% loss +- **Date**: 2026-03-04 +- **Conditions**: 4 transports × 3 RTTs × 5 runs = 60 JSON files +- **Trace data**: all runs include traces +- **Status**: COMPLETE +- **Cross-references**: 25ms RTT data comes from exp 02 (loss1pct), not duplicated here + +## 02c_hol_topic_scaling + +- **Experiment**: HOL blocking at varying topic counts (2/4/16/32) with 25ms/1% loss +- **Date**: 2026-03-05 +- **Conditions**: 3 transports (tcp, quic-pertopic, quic-perpub) × 4 topic counts × 5 runs = 60 JSON files +- **Trace data**: all runs include traces +- **Status**: COMPLETE +- **Cross-references**: 8-topic data comes from exp 02 (loss1pct), not duplicated here + +## 03_throughput_under_loss + +- **Experiment**: Message throughput degradation under packet loss +- **Date**: 2026-02-28 +- **Conditions**: 5 transports × 5 loss rates × 2 QoS × 5 runs = 250 JSON files +- **Status**: COMPLETE + +## 04_stream_strategies + +- **Experiment**: QUIC stream strategy comparison +- **Date**: 2026-02-28 +- **Conditions**: 5 strategies × 5 topic counts × 5 runs = 125 JSON files +- **Status**: COMPLETE (control-only, per-publish, per-topic modes complete) +- **Note**: per-subscription results are identical to per-topic (code alias, deprecated) + +## 12_payload_format_localhost + +- **Experiment**: Payload format performance on localhost +- **Date**: 2026-03-05 +- **Branch**: `payload-format-experiments` +- **Conditions**: 4 formats × 4 payload sizes × 2 modes × 5 runs = 160 JSON files +- **Status**: COMPLETE diff --git a/experiments/analysis/figures/fig01_spike_iso_vs_loss.py b/experiments/analysis/figures/fig01_spike_iso_vs_loss.py new file mode 100644 index 00000000..e8ef0827 --- /dev/null +++ b/experiments/analysis/figures/fig01_spike_iso_vs_loss.py @@ -0,0 +1,112 @@ +import json +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np +from scipy import stats + +sys.path.insert(0, str(Path(__file__).parent)) +from style import ( + TRANSPORT_COLORS, + TRANSPORT_LABELS, + TRANSPORT_ORDER, + apply_style, + save_figure, +) + +LOSS_RATES = [0, 1, 2, 5] +LOSS_LABELS = ["0%", "1%", "2%", "5%"] +RUNS = range(1, 6) + + +def load_spike_isolation_by_loss(results_dir: Path): + exp02_dir = results_dir / "02_hol_blocking" + if not exp02_dir.exists(): + print(f" WARNING: {exp02_dir} not found, skipping fig01") + return None + + data = {} + for transport in TRANSPORT_ORDER: + data[transport] = {} + for loss in LOSS_RATES: + values = [] + for run in RUNS: + filename = f"{transport}_loss{loss}pct_run{run}.json" + filepath = exp02_dir / filename + if filepath.exists(): + with open(filepath) as f: + result = json.load(f) + values.append(result["results"]["spike_isolation_ratio"]) + if values: + data[transport][loss] = values + return data + + +def compute_ci(values, confidence=0.95): + n = len(values) + if n < 2: + return np.mean(values), 0.0 + mean = np.mean(values) + sem = stats.sem(values) + t_crit = stats.t.ppf((1 + confidence) / 2, df=n - 1) + return mean, t_crit * sem + + +def main(results_dir: Path, output_dir: Path): + apply_style() + data = load_spike_isolation_by_loss(results_dir) + if data is None: + return + + fig, ax = plt.subplots(figsize=(7, 4.5)) + + num_transports = len(TRANSPORT_ORDER) + num_groups = len(LOSS_RATES) + bar_width = 0.18 + group_positions = np.arange(num_groups) + + for transport_idx, transport in enumerate(TRANSPORT_ORDER): + means = [] + ci_widths = [] + for loss in LOSS_RATES: + if loss in data[transport]: + mean, ci_half = compute_ci(data[transport][loss]) + means.append(mean) + ci_widths.append(ci_half) + else: + means.append(0) + ci_widths.append(0) + + offset = (transport_idx - (num_transports - 1) / 2) * bar_width + positions = group_positions + offset + + ax.bar( + positions, + means, + bar_width, + yerr=ci_widths, + capsize=3, + color=TRANSPORT_COLORS[transport], + label=TRANSPORT_LABELS[transport], + edgecolor="white", + linewidth=0.5, + ) + + ax.set_xlabel("Packet Loss Rate") + ax.set_ylabel("Spike Isolation Ratio") + ax.set_title("HOL Blocking: Spike Isolation vs. Loss Rate") + ax.set_xticks(group_positions) + ax.set_xticklabels(LOSS_LABELS) + ax.set_ylim(0, 1.05) + ax.legend(loc="best", framealpha=0.9) + + fig.tight_layout() + save_figure(fig, output_dir, "fig01_spike_iso_vs_loss") + + +if __name__ == "__main__": + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else Path("../../results") + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else Path("./output") + output_dir.mkdir(parents=True, exist_ok=True) + main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig02_spike_iso_vs_rtt.py b/experiments/analysis/figures/fig02_spike_iso_vs_rtt.py new file mode 100644 index 00000000..e58ef2c7 --- /dev/null +++ b/experiments/analysis/figures/fig02_spike_iso_vs_rtt.py @@ -0,0 +1,140 @@ +import json +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np +from scipy import stats + +sys.path.insert(0, str(Path(__file__).parent)) +from style import ( + TRANSPORT_COLORS, + TRANSPORT_LABELS, + TRANSPORT_MARKERS, + TRANSPORT_ORDER, + apply_style, + save_figure, +) + +RUNS = range(1, 6) + + +def load_rtt_data(results_dir: Path): + exp02_dir = results_dir / "02_hol_blocking" + exp02b_dir = results_dir / "02b_hol_rtt_sweep" + exp02d_dir = results_dir / "02d_hol_rtt_boundary" + + sources = {} + + if exp02_dir.exists(): + for transport in TRANSPORT_ORDER: + for run in RUNS: + filepath = exp02_dir / f"{transport}_loss1pct_run{run}.json" + if filepath.exists(): + sources.setdefault(transport, {}).setdefault(25, []) + with open(filepath) as f: + result = json.load(f) + sources[transport][25].append( + result["results"]["spike_isolation_ratio"] + ) + + if exp02b_dir.exists(): + for transport in TRANSPORT_ORDER: + for rtt_ms in [10, 50, 100]: + for run in RUNS: + filepath = exp02b_dir / f"{transport}_rtt{rtt_ms}ms_run{run}.json" + if filepath.exists(): + sources.setdefault(transport, {}).setdefault(rtt_ms, []) + with open(filepath) as f: + result = json.load(f) + sources[transport][rtt_ms].append( + result["results"]["spike_isolation_ratio"] + ) + + if exp02d_dir.exists(): + for transport in TRANSPORT_ORDER: + for rtt_ms in [15, 20]: + for run in RUNS: + filepath = ( + exp02d_dir / f"{transport}_rtt{rtt_ms}ms_run{run}.json" + ) + if filepath.exists(): + sources.setdefault(transport, {}).setdefault(rtt_ms, []) + with open(filepath) as f: + result = json.load(f) + sources[transport][rtt_ms].append( + result["results"]["spike_isolation_ratio"] + ) + + if not sources: + print(" WARNING: no RTT sweep data found, skipping fig02") + return None + + return sources + + +def compute_ci(values, confidence=0.95): + n = len(values) + if n < 2: + return np.mean(values), 0.0 + mean = np.mean(values) + sem = stats.sem(values) + t_crit = stats.t.ppf((1 + confidence) / 2, df=n - 1) + return mean, t_crit * sem + + +def main(results_dir: Path, output_dir: Path): + apply_style() + data = load_rtt_data(results_dir) + if data is None: + return + + fig, ax = plt.subplots(figsize=(7, 4.5)) + + for transport in TRANSPORT_ORDER: + if transport not in data: + continue + + rtt_values = sorted(data[transport].keys()) + means = [] + ci_lows = [] + ci_highs = [] + + for rtt in rtt_values: + mean, ci_half = compute_ci(data[transport][rtt]) + means.append(mean) + ci_lows.append(mean - ci_half) + ci_highs.append(mean + ci_half) + + ax.plot( + rtt_values, + means, + marker=TRANSPORT_MARKERS[transport], + color=TRANSPORT_COLORS[transport], + label=TRANSPORT_LABELS[transport], + linewidth=1.5, + markersize=6, + ) + ax.fill_between( + rtt_values, + ci_lows, + ci_highs, + color=TRANSPORT_COLORS[transport], + alpha=0.15, + ) + + ax.set_xlabel("RTT (ms)") + ax.set_ylabel("Spike Isolation Ratio") + ax.set_title("HOL Blocking: Spike Isolation vs. RTT") + ax.set_ylim(0, 1.05) + ax.legend(loc="best", framealpha=0.9) + + fig.tight_layout() + save_figure(fig, output_dir, "fig02_spike_iso_vs_rtt") + + +if __name__ == "__main__": + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else Path("../../results") + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else Path("./output") + output_dir.mkdir(parents=True, exist_ok=True) + main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig03_spike_iso_vs_topics.py b/experiments/analysis/figures/fig03_spike_iso_vs_topics.py new file mode 100644 index 00000000..70a539b1 --- /dev/null +++ b/experiments/analysis/figures/fig03_spike_iso_vs_topics.py @@ -0,0 +1,132 @@ +import json +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np +from scipy import stats + +sys.path.insert(0, str(Path(__file__).parent)) +from style import ( + TRANSPORT_COLORS, + TRANSPORT_LABELS, + TRANSPORT_MARKERS, + apply_style, + save_figure, +) + +TOPIC_SCALING_TRANSPORTS = ["tcp", "quic-pertopic", "quic-perpub"] +RUNS = range(1, 6) + + +def load_topic_scaling_data(results_dir: Path): + exp02_dir = results_dir / "02_hol_blocking" + exp02c_dir = results_dir / "02c_hol_topic_scaling" + + sources = {} + + if exp02_dir.exists(): + for transport in TOPIC_SCALING_TRANSPORTS: + for run in RUNS: + filepath = exp02_dir / f"{transport}_loss1pct_run{run}.json" + if filepath.exists(): + sources.setdefault(transport, {}).setdefault(8, []) + with open(filepath) as f: + result = json.load(f) + sources[transport][8].append( + result["results"]["spike_isolation_ratio"] + ) + + if exp02c_dir.exists(): + for transport in TOPIC_SCALING_TRANSPORTS: + for topic_count in [2, 4, 16, 32]: + for run in RUNS: + filepath = ( + exp02c_dir + / f"{transport}_{topic_count}topics_run{run}.json" + ) + if filepath.exists(): + sources.setdefault(transport, {}).setdefault( + topic_count, [] + ) + with open(filepath) as f: + result = json.load(f) + sources[transport][topic_count].append( + result["results"]["spike_isolation_ratio"] + ) + + if not sources: + print(" WARNING: no topic scaling data found, skipping fig03") + return None + + return sources + + +def compute_ci(values, confidence=0.95): + n = len(values) + if n < 2: + return np.mean(values), 0.0 + mean = np.mean(values) + sem = stats.sem(values) + t_crit = stats.t.ppf((1 + confidence) / 2, df=n - 1) + return mean, t_crit * sem + + +def main(results_dir: Path, output_dir: Path): + apply_style() + data = load_topic_scaling_data(results_dir) + if data is None: + return + + fig, ax = plt.subplots(figsize=(7, 4.5)) + + for transport in TOPIC_SCALING_TRANSPORTS: + if transport not in data: + continue + + topic_counts = sorted(data[transport].keys()) + means = [] + ci_lows = [] + ci_highs = [] + + for tc in topic_counts: + mean, ci_half = compute_ci(data[transport][tc]) + means.append(mean) + ci_lows.append(mean - ci_half) + ci_highs.append(mean + ci_half) + + ax.plot( + topic_counts, + means, + marker=TRANSPORT_MARKERS[transport], + color=TRANSPORT_COLORS[transport], + label=TRANSPORT_LABELS[transport], + linewidth=1.5, + markersize=6, + ) + ax.fill_between( + topic_counts, + ci_lows, + ci_highs, + color=TRANSPORT_COLORS[transport], + alpha=0.15, + ) + + ax.set_xlabel("Number of Topics") + ax.set_ylabel("Spike Isolation Ratio") + ax.set_title("HOL Blocking: Spike Isolation vs. Topic Count") + ax.set_ylim(0, 1.05) + ax.set_xscale("log", base=2) + ax.set_xticks([2, 4, 8, 16, 32]) + ax.set_xticklabels(["2", "4", "8", "16", "32"]) + ax.legend(loc="best", framealpha=0.9) + + fig.tight_layout() + save_figure(fig, output_dir, "fig03_spike_iso_vs_topics") + + +if __name__ == "__main__": + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else Path("../../results") + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else Path("./output") + output_dir.mkdir(parents=True, exist_ok=True) + main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig04_wcorr_vs_spike_iso.py b/experiments/analysis/figures/fig04_wcorr_vs_spike_iso.py new file mode 100644 index 00000000..4d57c49e --- /dev/null +++ b/experiments/analysis/figures/fig04_wcorr_vs_spike_iso.py @@ -0,0 +1,118 @@ +import json +import sys +from pathlib import Path + +import matplotlib.pyplot as plt + +sys.path.insert(0, str(Path(__file__).parent)) +from style import ( + TRANSPORT_COLORS, + TRANSPORT_LABELS, + TRANSPORT_MARKERS, + TRANSPORT_ORDER, + apply_style, + save_figure, +) + +EXP_DIRS = [ + "02_hol_blocking", + "02b_hol_rtt_sweep", + "02c_hol_topic_scaling", + "02d_hol_rtt_boundary", + "02e_hol_qos1", +] + + +def load_all_runs(results_dir: Path): + scatter_data = {t: {"wcorr": [], "spike_iso": []} for t in TRANSPORT_ORDER} + + for exp_name in EXP_DIRS: + exp_dir = results_dir / exp_name + if not exp_dir.exists(): + continue + + for filepath in sorted(exp_dir.glob("*.json")): + stem = filepath.stem + transport = None + for t in TRANSPORT_ORDER: + if stem.startswith(t + "_"): + transport = t + break + if transport is None: + continue + + with open(filepath) as f: + result = json.load(f) + + results_block = result.get("results", {}) + wcorr = results_block.get("windowed_correlation") + spike_iso = results_block.get("spike_isolation_ratio") + + if wcorr is not None and spike_iso is not None: + scatter_data[transport]["wcorr"].append(wcorr) + scatter_data[transport]["spike_iso"].append(spike_iso) + + total_points = sum( + len(v["wcorr"]) for v in scatter_data.values() + ) + if total_points == 0: + print(" WARNING: no scatter data found, skipping fig04") + return None + + return scatter_data + + +def main(results_dir: Path, output_dir: Path): + apply_style() + data = load_all_runs(results_dir) + if data is None: + return + + fig, ax = plt.subplots(figsize=(7, 5.5)) + + for transport in TRANSPORT_ORDER: + wcorr_vals = data[transport]["wcorr"] + spike_vals = data[transport]["spike_iso"] + if not wcorr_vals: + continue + ax.scatter( + wcorr_vals, + spike_vals, + color=TRANSPORT_COLORS[transport], + marker=TRANSPORT_MARKERS[transport], + label=TRANSPORT_LABELS[transport], + s=30, + alpha=0.6, + edgecolors="none", + ) + + ax.axvline(x=0.5, color="gray", linestyle="--", linewidth=0.8, alpha=0.6) + ax.axhline(y=0.5, color="gray", linestyle="--", linewidth=0.8, alpha=0.6) + + ax.annotate( + "Divergent\nregion", + xy=(0.85, 0.15), + fontsize=9, + fontstyle="italic", + color="gray", + ha="center", + va="center", + bbox=dict(boxstyle="round,pad=0.3", facecolor="lightyellow", alpha=0.7), + ) + + ax.set_xlabel("Windowed Correlation") + ax.set_ylabel("Spike Isolation Ratio") + ax.set_title("Windowed Correlation vs. Spike Isolation (All Experiments)") + ax.set_xlim(-0.1, 1.1) + ax.set_ylim(-0.05, 1.05) + ax.legend(loc="upper left", framealpha=0.9) + + fig.tight_layout() + save_figure(fig, output_dir, "fig04_wcorr_vs_spike_iso") + + +if __name__ == "__main__": + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else Path("../../results") + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else Path("./output") + output_dir.mkdir(parents=True, exist_ok=True) + main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig05_latency_percentiles.py b/experiments/analysis/figures/fig05_latency_percentiles.py new file mode 100644 index 00000000..5b28aee4 --- /dev/null +++ b/experiments/analysis/figures/fig05_latency_percentiles.py @@ -0,0 +1,117 @@ +import json +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np +from scipy import stats + +sys.path.insert(0, str(Path(__file__).parent)) +from style import ( + TRANSPORT_COLORS, + TRANSPORT_LABELS, + TRANSPORT_ORDER, + apply_style, + save_figure, +) + +PERCENTILES = ["p50", "p95", "p99"] +PERCENTILE_LABELS = ["p50", "p95", "p99"] +RUNS = range(1, 6) + + +def load_latency_data(results_dir: Path): + exp02_dir = results_dir / "02_hol_blocking" + if not exp02_dir.exists(): + print(f" WARNING: {exp02_dir} not found, skipping fig05") + return None + + data = {} + for transport in TRANSPORT_ORDER: + data[transport] = {p: [] for p in PERCENTILES} + for run in RUNS: + filepath = exp02_dir / f"{transport}_loss1pct_run{run}.json" + if not filepath.exists(): + continue + with open(filepath) as f: + result = json.load(f) + + topics = result["results"]["topics"] + for percentile in PERCENTILES: + key = f"{percentile}_us" + topic_values = [t[key] for t in topics if key in t] + if topic_values: + run_mean = np.mean(topic_values) + data[transport][percentile].append(run_mean) + + return data + + +def compute_ci(values, confidence=0.95): + n = len(values) + if n < 2: + return np.mean(values), 0.0 + mean = np.mean(values) + sem = stats.sem(values) + t_crit = stats.t.ppf((1 + confidence) / 2, df=n - 1) + return mean, t_crit * sem + + +def main(results_dir: Path, output_dir: Path): + apply_style() + data = load_latency_data(results_dir) + if data is None: + return + + fig, ax = plt.subplots(figsize=(7, 4.5)) + + num_transports = len(TRANSPORT_ORDER) + num_percentiles = len(PERCENTILES) + bar_width = 0.18 + group_positions = np.arange(num_percentiles) + + for transport_idx, transport in enumerate(TRANSPORT_ORDER): + means = [] + ci_widths = [] + for percentile in PERCENTILES: + values = data[transport][percentile] + if values: + mean, ci_half = compute_ci(values) + means.append(mean) + ci_widths.append(ci_half) + else: + means.append(0) + ci_widths.append(0) + + offset = (transport_idx - (num_transports - 1) / 2) * bar_width + positions = group_positions + offset + + ax.bar( + positions, + means, + bar_width, + yerr=ci_widths, + capsize=3, + color=TRANSPORT_COLORS[transport], + label=TRANSPORT_LABELS[transport], + edgecolor="white", + linewidth=0.5, + ) + + ax.set_xlabel("Latency Percentile") + ax.set_ylabel("Latency (us)") + ax.set_yscale("log") + ax.set_title("Latency Percentiles at 1% Loss (8 Topics)") + ax.set_xticks(group_positions) + ax.set_xticklabels(PERCENTILE_LABELS) + ax.legend(loc="best", framealpha=0.9) + + fig.tight_layout() + save_figure(fig, output_dir, "fig05_latency_percentiles") + + +if __name__ == "__main__": + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else Path("../../results") + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else Path("./output") + output_dir.mkdir(parents=True, exist_ok=True) + main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig06_timeseries_cwnd.py b/experiments/analysis/figures/fig06_timeseries_cwnd.py new file mode 100644 index 00000000..a56a8d48 --- /dev/null +++ b/experiments/analysis/figures/fig06_timeseries_cwnd.py @@ -0,0 +1,105 @@ +import csv +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np + +sys.path.insert(0, str(Path(__file__).parent)) +from style import apply_style, save_figure + +TOPIC_COLORS = plt.cm.tab10.colors + + +def load_messages(messages_path: Path): + topic_data = {} + with open(messages_path) as f: + reader = csv.DictReader(f) + for row in reader: + topic_idx = int(row["topic_idx"]) + receive_ns = int(row["receive_ns"]) + latency_us = float(row["latency_us"]) + topic_data.setdefault(topic_idx, {"receive_ns": [], "latency_us": []}) + topic_data[topic_idx]["receive_ns"].append(receive_ns) + topic_data[topic_idx]["latency_us"].append(latency_us) + return topic_data + + +def load_quinn_stats(stats_path: Path): + timestamps_ns = [] + cwnd_values = [] + with open(stats_path) as f: + reader = csv.DictReader(f) + for row in reader: + timestamps_ns.append(int(row["timestamp_ns"])) + cwnd_values.append(int(row["cwnd"])) + return np.array(timestamps_ns), np.array(cwnd_values) + + +def main(results_dir: Path, output_dir: Path): + apply_style() + + exp02_dir = results_dir / "02_hol_blocking" + messages_path = exp02_dir / "quic-pertopic_loss1pct_run1_messages.csv" + quinn_path = exp02_dir / "quic-pertopic_loss1pct_run1_quinn_stats.csv" + + if not messages_path.exists(): + print(f" WARNING: {messages_path} not found, skipping fig06") + return + if not quinn_path.exists(): + print(f" WARNING: {quinn_path} not found, skipping fig06") + return + + topic_data = load_messages(messages_path) + quinn_ts_ns, cwnd = load_quinn_stats(quinn_path) + + all_timestamps = [] + for td in topic_data.values(): + all_timestamps.extend(td["receive_ns"]) + all_timestamps.extend(quinn_ts_ns.tolist()) + t0_ns = min(all_timestamps) + + fig, (ax_latency, ax_cwnd) = plt.subplots( + 2, 1, figsize=(10, 6), sharex=True, gridspec_kw={"height_ratios": [2, 1]} + ) + + for topic_idx in sorted(topic_data.keys()): + td = topic_data[topic_idx] + time_s = [(t - t0_ns) / 1e9 for t in td["receive_ns"]] + latency_ms = [l / 1000.0 for l in td["latency_us"]] + + sorted_pairs = sorted(zip(time_s, latency_ms)) + time_sorted = [p[0] for p in sorted_pairs] + latency_sorted = [p[1] for p in sorted_pairs] + + color_idx = topic_idx % len(TOPIC_COLORS) + ax_latency.plot( + time_sorted, + latency_sorted, + color=TOPIC_COLORS[color_idx], + linewidth=0.4, + alpha=0.7, + label=f"Topic {topic_idx}", + ) + + ax_latency.set_ylabel("Latency (ms)") + ax_latency.set_title("Per-Topic Latency and QUIC Congestion Window (1% Loss)") + ax_latency.legend( + loc="upper right", fontsize=7, ncol=4, framealpha=0.8, markerscale=0.8 + ) + + quinn_time_s = (quinn_ts_ns - t0_ns) / 1e9 + ax_cwnd.plot(quinn_time_s, cwnd, color="#333333", linewidth=1.0) + ax_cwnd.set_xlabel("Time (s)") + ax_cwnd.set_ylabel("CWND (bytes)") + ax_cwnd.fill_between(quinn_time_s, cwnd, alpha=0.1, color="#333333") + + fig.tight_layout() + save_figure(fig, output_dir, "fig06_timeseries_cwnd") + + +if __name__ == "__main__": + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else Path("../../results") + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else Path("./output") + output_dir.mkdir(parents=True, exist_ok=True) + main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig07_inter_arrival.py b/experiments/analysis/figures/fig07_inter_arrival.py new file mode 100644 index 00000000..03051786 --- /dev/null +++ b/experiments/analysis/figures/fig07_inter_arrival.py @@ -0,0 +1,95 @@ +import csv +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np + +sys.path.insert(0, str(Path(__file__).parent)) +from style import apply_style, save_figure + + +def load_and_compute_cross_topic_inter_arrivals(messages_path: Path): + rows = [] + with open(messages_path) as f: + reader = csv.DictReader(f) + for row in reader: + rows.append( + { + "topic_idx": int(row["topic_idx"]), + "receive_ns": int(row["receive_ns"]), + } + ) + + rows.sort(key=lambda r: r["receive_ns"]) + + cross_topic_deltas_us = [] + for i in range(1, len(rows)): + if rows[i]["topic_idx"] != rows[i - 1]["topic_idx"]: + delta_ns = rows[i]["receive_ns"] - rows[i - 1]["receive_ns"] + cross_topic_deltas_us.append(delta_ns / 1000.0) + + return np.array(cross_topic_deltas_us) + + +def main(results_dir: Path, output_dir: Path): + apply_style() + + exp02_dir = results_dir / "02_hol_blocking" + messages_path = exp02_dir / "quic-pertopic_loss0pct_run1_messages.csv" + + if not messages_path.exists(): + print(f" WARNING: {messages_path} not found, skipping fig07") + return + + deltas_us = load_and_compute_cross_topic_inter_arrivals(messages_path) + if len(deltas_us) == 0: + print(" WARNING: no cross-topic inter-arrival data, skipping fig07") + return + + deltas_positive = deltas_us[deltas_us > 0] + + fig, ax = plt.subplots(figsize=(7, 4.5)) + + log_bins = np.logspace( + np.log10(max(deltas_positive.min(), 0.01)), + np.log10(deltas_positive.max()), + 80, + ) + + ax.hist( + deltas_positive, + bins=log_bins, + color="#2ca02c", + alpha=0.75, + edgecolor="white", + linewidth=0.3, + ) + + ax.set_xscale("log") + ax.set_xlabel("Cross-Topic Inter-Arrival Time (us)") + ax.set_ylabel("Count") + ax.set_title( + "Distribution of Cross-Topic Inter-Arrival Times\n" + "(QUIC Per-Topic, 0% Loss)" + ) + + median_val = np.median(deltas_positive) + ax.axvline( + x=median_val, + color="#d62728", + linestyle="--", + linewidth=1.0, + label=f"Median: {median_val:.1f} us", + ) + ax.legend(loc="upper right", framealpha=0.9) + + fig.tight_layout() + save_figure(fig, output_dir, "fig07_inter_arrival") + + +if __name__ == "__main__": + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else Path("../../results") + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else Path("./output") + output_dir.mkdir(parents=True, exist_ok=True) + main(results_dir, output_dir) diff --git a/experiments/analysis/figures/generate_all.py b/experiments/analysis/figures/generate_all.py new file mode 100755 index 00000000..83f1f508 --- /dev/null +++ b/experiments/analysis/figures/generate_all.py @@ -0,0 +1,52 @@ +import sys +from pathlib import Path + +from fig01_spike_iso_vs_loss import main as fig01 +from fig02_spike_iso_vs_rtt import main as fig02 +from fig03_spike_iso_vs_topics import main as fig03 +from fig04_wcorr_vs_spike_iso import main as fig04 +from fig05_latency_percentiles import main as fig05 +from fig06_timeseries_cwnd import main as fig06 +from fig07_inter_arrival import main as fig07 + +FIGURES = [ + ("fig01_spike_iso_vs_loss", fig01), + ("fig02_spike_iso_vs_rtt", fig02), + ("fig03_spike_iso_vs_topics", fig03), + ("fig04_wcorr_vs_spike_iso", fig04), + ("fig05_latency_percentiles", fig05), + ("fig06_timeseries_cwnd", fig06), + ("fig07_inter_arrival", fig07), +] + + +def main(): + if len(sys.argv) < 3: + print(f"Usage: {sys.argv[0]} ") + sys.exit(1) + + results_dir = Path(sys.argv[1]) + output_dir = Path(sys.argv[2]) + + if not results_dir.exists(): + print(f"ERROR: results directory not found: {results_dir}") + sys.exit(1) + + output_dir.mkdir(parents=True, exist_ok=True) + + print(f"Results: {results_dir}") + print(f"Output: {output_dir}") + print() + + for name, figure_fn in FIGURES: + print(f"Generating {name}...") + try: + figure_fn(results_dir, output_dir) + except Exception as exc: + print(f" FAILED: {exc}") + print() + print("Done.") + + +if __name__ == "__main__": + main() diff --git a/experiments/analysis/figures/style.py b/experiments/analysis/figures/style.py new file mode 100644 index 00000000..ad7b4c8e --- /dev/null +++ b/experiments/analysis/figures/style.py @@ -0,0 +1,59 @@ +"""Shared matplotlib/seaborn style configuration for publication figures.""" + +import matplotlib as mpl +import matplotlib.pyplot as plt + +TRANSPORT_COLORS = { + "tcp": "#1f77b4", + "quic-control": "#ff7f0e", + "quic-pertopic": "#2ca02c", + "quic-perpub": "#d62728", +} + +TRANSPORT_LABELS = { + "tcp": "TCP", + "quic-control": "QUIC control", + "quic-pertopic": "QUIC per-topic", + "quic-perpub": "QUIC per-publish", +} + +TRANSPORT_MARKERS = { + "tcp": "o", + "quic-control": "s", + "quic-pertopic": "^", + "quic-perpub": "D", +} + +TRANSPORT_ORDER = ["tcp", "quic-control", "quic-pertopic", "quic-perpub"] + +FIGURE_WIDTH = 7 +FIGURE_HEIGHT = 4.5 +FONT_SIZE = 10 + + +def apply_style(): + mpl.rcParams.update({ + "font.size": FONT_SIZE, + "font.family": "serif", + "axes.labelsize": FONT_SIZE + 1, + "axes.titlesize": FONT_SIZE + 2, + "xtick.labelsize": FONT_SIZE - 1, + "ytick.labelsize": FONT_SIZE - 1, + "legend.fontsize": FONT_SIZE - 1, + "figure.figsize": (FIGURE_WIDTH, FIGURE_HEIGHT), + "figure.dpi": 150, + "savefig.dpi": 300, + "savefig.bbox": "tight", + "axes.grid": True, + "grid.alpha": 0.3, + "axes.spines.top": False, + "axes.spines.right": False, + }) + + +def save_figure(fig, output_dir, name): + for ext in ["pdf", "png"]: + path = output_dir / f"{name}.{ext}" + fig.savefig(path, dpi=300, bbox_inches="tight") + plt.close(fig) + print(f" saved {name}.pdf/.png") diff --git a/experiments/analysis/publication_stats.py b/experiments/analysis/publication_stats.py new file mode 100755 index 00000000..3365bcbe --- /dev/null +++ b/experiments/analysis/publication_stats.py @@ -0,0 +1,440 @@ +#!/usr/bin/env python3 +"""Statistical analysis for publication. + +Computes 95% confidence intervals (t-distribution), Mann-Whitney U tests, +Cohen's d effect sizes, and Bonferroni correction for multiple comparisons. + +Outputs: + - publication_stats.json (for figure scripts) + - publication_tables.tex (LaTeX tables) + - Console summary + +Usage: + python publication_stats.py +""" + +import json +import math +import re +import sys +from collections import defaultdict +from pathlib import Path + +try: + from scipy import stats as sp_stats +except ImportError: + print("ERROR: scipy required. Install with: pip install scipy", file=sys.stderr) + sys.exit(1) + + +def load_json(path: Path) -> dict: + with open(path) as f: + return json.load(f) + + +def mean(values: list[float]) -> float: + return sum(values) / len(values) if values else 0.0 + + +def std(values: list[float]) -> float: + if len(values) < 2: + return 0.0 + m = mean(values) + return math.sqrt(sum((v - m) ** 2 for v in values) / (len(values) - 1)) + + +def ci_95(values: list[float]) -> tuple[float, float, float]: + n = len(values) + if n < 2: + m = mean(values) + return m, m, m + m = mean(values) + se = std(values) / math.sqrt(n) + t_crit = float(sp_stats.t.ppf(0.975, df=n - 1)) + return m, m - t_crit * se, m + t_crit * se + + +def cohens_d(group_a: list[float], group_b: list[float]) -> float: + na, nb = len(group_a), len(group_b) + if na < 2 or nb < 2: + return float("nan") + ma, mb = mean(group_a), mean(group_b) + sa, sb = std(group_a), std(group_b) + pooled_std = math.sqrt(((na - 1) * sa ** 2 + (nb - 1) * sb ** 2) / (na + nb - 2)) + if pooled_std == 0: + return float("inf") if ma != mb else 0.0 + return (ma - mb) / pooled_std + + +def extract_metrics(data: dict) -> dict: + results = data["results"] + topics = results["topics"] + + p50s = [t["p50_us"] for t in topics] + p95s = [t["p95_us"] for t in topics] + p99s = [t["p99_us"] for t in topics] + + return { + "wcorr": results["windowed_correlation"], + "spike_iso": results.get("spike_isolation_ratio"), + "cluster_ratio": results.get("inter_arrival_cluster_ratio"), + "total_msgs": results["total_messages"], + "measured_rate": results["measured_rate"], + "p50_mean": mean(p50s), + "p95_mean": mean(p95s), + "p99_mean": mean(p99s), + "topic_count": len(topics), + "transport": data["config"].get("transport", "unknown"), + "stream_strategy": data["config"].get("quic_stream_strategy"), + } + + +PARSERS = { + "02_hol_blocking": ( + re.compile(r"(.+?)_loss(\d+)pct_run(\d+)\.json"), + lambda m: (m.group(1), f"loss{m.group(2)}pct"), + ), + "02b_hol_rtt_sweep": ( + re.compile(r"(.+?)_rtt(\d+)ms_run(\d+)\.json"), + lambda m: (m.group(1), f"rtt{m.group(2)}ms"), + ), + "02c_hol_topic_scaling": ( + re.compile(r"(.+?)_(\d+)topics_run(\d+)\.json"), + lambda m: (m.group(1), f"{m.group(2)}topics"), + ), + "02d_hol_rtt_boundary": ( + re.compile(r"(.+?)_rtt(\d+)ms_run(\d+)\.json"), + lambda m: (m.group(1), f"rtt{m.group(2)}ms"), + ), + "02e_hol_qos1": ( + re.compile(r"(.+?)_qos1_run(\d+)\.json"), + lambda m: (m.group(1), "qos1"), + ), +} + +TRANSPORT_ORDER = ["tcp", "quic-control", "quic-pertopic", "quic-perpub"] +TRANSPORT_LABELS = { + "tcp": "TCP", + "quic-control": "QUIC ctrl", + "quic-pertopic": "QUIC per-topic", + "quic-perpub": "QUIC per-pub", +} + + +def aggregate_experiment(base_dir: Path, experiment: str) -> dict[tuple[str, str], list[dict]]: + exp_dir = base_dir / experiment + if not exp_dir.exists(): + return {} + + parser_info = PARSERS.get(experiment) + if not parser_info: + return {} + + pattern, extractor = parser_info + grouped: dict[tuple[str, str], list[dict]] = defaultdict(list) + + for jf in sorted(exp_dir.glob("*.json")): + m = pattern.match(jf.name) + if not m: + continue + transport, condition = extractor(m) + data = load_json(jf) + metrics = extract_metrics(data) + grouped[(transport, condition)].append(metrics) + + return grouped + + +def compute_stats(metrics_list: list[dict], field: str) -> dict | None: + values = [m[field] for m in metrics_list if m.get(field) is not None] + if not values: + return None + m, lo, hi = ci_95(values) + return { + "mean": m, + "std": std(values), + "ci_lo": lo, + "ci_hi": hi, + "n": len(values), + "values": values, + } + + +def build_stats_table( + grouped: dict[tuple[str, str], list[dict]], + conditions: list[str], + fields: list[str], +) -> dict: + table = {} + for transport in TRANSPORT_ORDER: + for condition in conditions: + key = (transport, condition) + if key not in grouped: + continue + entry = {"transport": transport, "condition": condition} + for field in fields: + stat = compute_stats(grouped[key], field) + if stat: + entry[field] = stat + table[f"{transport}_{condition}"] = entry + return table + + +def run_comparisons(grouped: dict, conditions: list[str]) -> list[dict]: + comparisons = [] + num_comparisons = 0 + + pairs = [] + for condition in conditions: + tcp_key = ("tcp", condition) + pt_key = ("quic-pertopic", condition) + if tcp_key in grouped and pt_key in grouped: + pairs.append((condition, tcp_key, pt_key, "TCP vs per-topic")) + + ctrl_key = ("quic-control", condition) + if ctrl_key in grouped and pt_key in grouped: + pairs.append((condition, ctrl_key, pt_key, "ctrl vs per-topic")) + + num_comparisons = len(pairs) + + for condition, key_a, key_b, label in pairs: + vals_a = [m["spike_iso"] for m in grouped[key_a] if m.get("spike_iso") is not None] + vals_b = [m["spike_iso"] for m in grouped[key_b] if m.get("spike_iso") is not None] + + if len(vals_a) < 2 or len(vals_b) < 2: + continue + + all_zero_b = all(v == 0.0 for v in vals_b) + all_zero_a = all(v == 0.0 for v in vals_a) + + if all_zero_a and all_zero_b: + p_value = 1.0 + statistic = 0.0 + elif all_zero_b or all_zero_a: + try: + statistic, p_value = sp_stats.mannwhitneyu( + vals_a, vals_b, alternative="two-sided" + ) + except ValueError: + statistic, p_value = 0.0, 1.0 + else: + statistic, p_value = sp_stats.mannwhitneyu( + vals_a, vals_b, alternative="two-sided" + ) + + bonferroni_p = min(p_value * num_comparisons, 1.0) + d = cohens_d(vals_a, vals_b) + + comparisons.append({ + "condition": condition, + "comparison": label, + "group_a": f"{key_a[0]}", + "group_b": f"{key_b[0]}", + "metric": "spike_iso", + "mean_a": mean(vals_a), + "mean_b": mean(vals_b), + "u_statistic": statistic, + "p_value": p_value, + "bonferroni_p": bonferroni_p, + "cohens_d": d if not math.isnan(d) else None, + "significant": bonferroni_p < 0.05, + "n_comparisons": num_comparisons, + }) + + return comparisons + + +def format_ms(us: float) -> str: + ms = us / 1000.0 + if ms < 1: + return f"{us:.0f}$\\mu$s" + if ms < 100: + return f"{ms:.1f}ms" + return f"{ms:.0f}ms" + + +def generate_latex(all_stats: dict, comparisons: list[dict]) -> str: + lines = [] + + lines.append("% Auto-generated by publication_stats.py") + lines.append("") + + if "exp02" in all_stats: + lines.append("\\begin{table}[h]") + lines.append("\\centering") + lines.append("\\caption{Spike isolation ratio across packet loss rates (25ms RTT, 8 topics)}") + lines.append("\\label{tab:spike_iso_vs_loss}") + lines.append("\\begin{tabular}{lcccc}") + lines.append("\\toprule") + lines.append("Strategy & 0\\% loss & 1\\% loss & 2\\% loss & 5\\% loss \\\\") + lines.append("\\midrule") + + for transport in TRANSPORT_ORDER: + label = TRANSPORT_LABELS.get(transport, transport) + cells = [label] + for loss in ["loss0pct", "loss1pct", "loss2pct", "loss5pct"]: + key = f"{transport}_{loss}" + entry = all_stats["exp02"].get(key, {}) + si = entry.get("spike_iso") + if si: + cells.append( + f"${si['mean']:.3f} \\pm {si['std']:.3f}$" + ) + else: + cells.append("---") + lines.append(" & ".join(cells) + " \\\\") + + lines.append("\\bottomrule") + lines.append("\\end{tabular}") + lines.append("\\end{table}") + lines.append("") + + if comparisons: + lines.append("\\begin{table}[h]") + lines.append("\\centering") + lines.append("\\caption{Statistical comparisons (Mann-Whitney U, Bonferroni-corrected)}") + lines.append("\\label{tab:comparisons}") + lines.append("\\begin{tabular}{llcccl}") + lines.append("\\toprule") + lines.append("Condition & Comparison & $U$ & $p$ (corrected) & Cohen's $d$ & Sig. \\\\") + lines.append("\\midrule") + + for comp in comparisons: + d_str = f"{comp['cohens_d']:.2f}" if comp["cohens_d"] is not None else "---" + sig_str = "***" if comp["significant"] else "n.s." + lines.append( + f"{comp['condition']} & {comp['comparison']} & " + f"{comp['u_statistic']:.1f} & {comp['bonferroni_p']:.4f} & " + f"{d_str} & {sig_str} \\\\" + ) + + lines.append("\\bottomrule") + lines.append("\\end{tabular}") + lines.append("\\end{table}") + lines.append("") + + return "\n".join(lines) + + +def main(): + if len(sys.argv) < 2: + print(f"Usage: {sys.argv[0]} ", file=sys.stderr) + sys.exit(1) + + base_dir = Path(sys.argv[1]) + fields = ["spike_iso", "wcorr", "cluster_ratio", "measured_rate", "p50_mean", "p95_mean", "p99_mean", "total_msgs"] + + all_stats = {} + all_comparisons = [] + + exp02 = aggregate_experiment(base_dir, "02_hol_blocking") + if exp02: + loss_conditions = ["loss0pct", "loss1pct", "loss2pct", "loss5pct"] + all_stats["exp02"] = build_stats_table(exp02, loss_conditions, fields) + all_comparisons.extend(run_comparisons(exp02, loss_conditions)) + print("Exp 02 (loss sweep): processed") + + exp02b = aggregate_experiment(base_dir, "02b_hol_rtt_sweep") + if exp02b: + rtt_conditions = ["rtt10ms", "rtt50ms", "rtt100ms"] + all_stats["exp02b"] = build_stats_table(exp02b, rtt_conditions, fields) + all_comparisons.extend(run_comparisons(exp02b, rtt_conditions)) + print("Exp 02b (RTT sweep): processed") + + exp02c = aggregate_experiment(base_dir, "02c_hol_topic_scaling") + if exp02c: + topic_conditions = ["2topics", "4topics", "16topics", "32topics"] + all_stats["exp02c"] = build_stats_table(exp02c, topic_conditions, fields) + all_comparisons.extend(run_comparisons(exp02c, topic_conditions)) + print("Exp 02c (topic scaling): processed") + + exp02d = aggregate_experiment(base_dir, "02d_hol_rtt_boundary") + if exp02d: + boundary_conditions = ["rtt15ms", "rtt20ms"] + all_stats["exp02d"] = build_stats_table(exp02d, boundary_conditions, fields) + all_comparisons.extend(run_comparisons(exp02d, boundary_conditions)) + print("Exp 02d (RTT boundary): processed") + + exp02e = aggregate_experiment(base_dir, "02e_hol_qos1") + if exp02e: + qos_conditions = ["qos1"] + all_stats["exp02e"] = build_stats_table(exp02e, qos_conditions, fields) + print("Exp 02e (QoS 1): processed") + + merged_rtt = {} + if exp02: + for key, metrics in exp02.items(): + if key[1] == "loss1pct": + merged_rtt[(key[0], "rtt25ms")] = metrics + if exp02b: + merged_rtt.update(exp02b) + if exp02d: + merged_rtt.update(exp02d) + + if merged_rtt: + rtt_all = sorted({k[1] for k in merged_rtt}) + all_stats["merged_rtt"] = build_stats_table( + merged_rtt, rtt_all, fields + ) + print(f"Merged RTT data: {len(rtt_all)} RTT points") + + merged_topics = {} + if exp02: + for key, metrics in exp02.items(): + if key[1] == "loss1pct": + topic_count = metrics[0]["topic_count"] if metrics else 8 + merged_topics[(key[0], f"{topic_count}topics")] = metrics + if exp02c: + merged_topics.update(exp02c) + + if merged_topics: + topics_all = sorted({k[1] for k in merged_topics}) + all_stats["merged_topics"] = build_stats_table( + merged_topics, topics_all, fields + ) + print(f"Merged topic data: {len(topics_all)} topic counts") + + def sanitize(obj): + if isinstance(obj, dict): + return {k: sanitize(v) for k, v in obj.items()} + if isinstance(obj, list): + return [sanitize(v) for v in obj] + if isinstance(obj, float) and (math.isnan(obj) or math.isinf(obj)): + return None + import numpy as np + if isinstance(obj, (np.bool_, np.integer)): + return obj.item() + if isinstance(obj, np.floating): + val = obj.item() + if math.isnan(val) or math.isinf(val): + return None + return val + return obj + + output_json = sanitize({ + "stats": all_stats, + "comparisons": all_comparisons, + }) + json_path = base_dir / "publication_stats.json" + with open(json_path, "w") as f: + json.dump(output_json, f, indent=2) + print(f"\nJSON written to: {json_path}") + + latex = generate_latex(all_stats, all_comparisons) + tex_path = base_dir / "publication_tables.tex" + tex_path.write_text(latex) + print(f"LaTeX written to: {tex_path}") + + print("\n=== COMPARISON SUMMARY ===\n") + for comp in all_comparisons: + sig = "***" if comp["significant"] else "n.s." + d_str = f"d={comp['cohens_d']:.2f}" if comp["cohens_d"] is not None else "d=N/A" + print( + f" {comp['condition']:12s} {comp['comparison']:20s} " + f"spike_iso: {comp['mean_a']:.3f} vs {comp['mean_b']:.3f} " + f"U={comp['u_statistic']:.1f} p={comp['bonferroni_p']:.4f} {sig} {d_str}" + ) + + +if __name__ == "__main__": + main() diff --git a/experiments/analysis/verify_data.py b/experiments/analysis/verify_data.py new file mode 100755 index 00000000..c0fc8660 --- /dev/null +++ b/experiments/analysis/verify_data.py @@ -0,0 +1,233 @@ +#!/usr/bin/env python3 +"""Verify data integrity across all experiment results. + +Walks all JSON files in results/, verifies expected keys exist, +counts runs per condition, flags incomplete conditions, and +verifies cross-experiment references. + +Usage: + python verify_data.py +""" + +import json +import re +import sys +from collections import defaultdict +from pathlib import Path + +REQUIRED_KEYS = ["mode", "config", "results"] +REQUIRED_CONFIG_KEYS = ["duration_secs", "payload_size", "qos"] +HOL_RESULT_KEYS = ["topics", "windowed_correlation", "total_messages", "measured_rate"] +HOL_EXPERIMENTS = {"02_hol_blocking", "02b_hol_rtt_sweep", "02c_hol_topic_scaling", + "02d_hol_rtt_boundary", "02e_hol_qos1"} + +EXPECTED_RUNS = 5 + +PARSERS = { + "02_hol_blocking": ( + re.compile(r"(.+?)_loss(\d+)pct_run(\d+)\.json"), + lambda m: (m.group(1), f"loss{m.group(2)}pct", int(m.group(3))), + ), + "02b_hol_rtt_sweep": ( + re.compile(r"(.+?)_rtt(\d+)ms_run(\d+)\.json"), + lambda m: (m.group(1), f"rtt{m.group(2)}ms", int(m.group(3))), + ), + "02c_hol_topic_scaling": ( + re.compile(r"(.+?)_(\d+)topics_run(\d+)\.json"), + lambda m: (m.group(1), f"{m.group(2)}topics", int(m.group(3))), + ), + "02d_hol_rtt_boundary": ( + re.compile(r"(.+?)_rtt(\d+)ms_run(\d+)\.json"), + lambda m: (m.group(1), f"rtt{m.group(2)}ms", int(m.group(3))), + ), + "02e_hol_qos1": ( + re.compile(r"(.+?)_qos1_run(\d+)\.json"), + lambda m: (m.group(1), "qos1", int(m.group(2))), + ), +} + + +def load_json(path: Path) -> dict | None: + try: + with open(path) as f: + return json.load(f) + except (json.JSONDecodeError, OSError) as e: + print(f" ERROR: {path.name}: {e}") + return None + + +def verify_keys(data: dict, is_hol: bool) -> list[str]: + errors = [] + for key in REQUIRED_KEYS: + if key not in data: + errors.append(f"missing top-level key: {key}") + + if "config" in data: + for key in REQUIRED_CONFIG_KEYS: + if key not in data["config"]: + errors.append(f"missing config key: {key}") + + if is_hol and "results" in data: + for key in HOL_RESULT_KEYS: + if key not in data["results"]: + errors.append(f"missing results key: {key}") + + return errors + + +def verify_experiment(base_dir: Path, experiment: str) -> tuple[int, int, list[str]]: + exp_dir = base_dir / experiment + if not exp_dir.exists(): + return 0, 0, [f"directory not found: {experiment}"] + + json_files = sorted(exp_dir.glob("*.json")) + total = len(json_files) + issues = [] + condition_runs: dict[tuple[str, str], list[int]] = defaultdict(list) + + parser_info = PARSERS.get(experiment) + + for jf in json_files: + data = load_json(jf) + if data is None: + issues.append(f"{jf.name}: failed to parse JSON") + continue + + key_errors = verify_keys(data, experiment in HOL_EXPERIMENTS) + for err in key_errors: + issues.append(f"{jf.name}: {err}") + + if "results" in data: + has_spike = "spike_isolation_ratio" in data["results"] + has_cluster = "inter_arrival_cluster_ratio" in data["results"] + if has_spike != has_cluster: + issues.append(f"{jf.name}: has spike_iso but not cluster_ratio (or vice versa)") + + if parser_info: + pattern, extractor = parser_info + m = pattern.match(jf.name) + if m: + transport, condition, run_num = extractor(m) + condition_runs[(transport, condition)].append(run_num) + + if parser_info: + for (transport, condition), runs in sorted(condition_runs.items()): + if len(runs) < EXPECTED_RUNS: + issues.append( + f"{transport}/{condition}: only {len(runs)} runs " + f"(expected {EXPECTED_RUNS}), got runs {sorted(runs)}" + ) + elif len(runs) > EXPECTED_RUNS: + issues.append( + f"{transport}/{condition}: {len(runs)} runs " + f"(expected {EXPECTED_RUNS})" + ) + + return total, len(condition_runs), issues + + +def verify_cross_references(base_dir: Path) -> list[str]: + issues = [] + + exp02_dir = base_dir / "02_hol_blocking" + if not exp02_dir.exists(): + issues.append("cannot verify cross-references: 02_hol_blocking missing") + return issues + + ref_files = list(exp02_dir.glob("*_loss1pct_run*.json")) + if not ref_files: + issues.append("no loss1pct files in 02_hol_blocking for cross-reference check") + return issues + + ref_data = load_json(ref_files[0]) + if ref_data and "results" in ref_data: + topics = ref_data["results"].get("topics", []) + if len(topics) != 8: + issues.append( + f"02_hol_blocking loss1pct has {len(topics)} topics, expected 8 " + f"(cross-reference for 02b/02c)" + ) + + if "spike_isolation_ratio" not in ref_data["results"]: + issues.append( + "02_hol_blocking loss1pct missing spike_isolation_ratio " + "(needed for cross-reference)" + ) + + return issues + + +def print_completeness_matrix(base_dir: Path): + print("\n=== COMPLETENESS MATRIX ===\n") + + experiments = [ + "01_connection_latency", + "02_hol_blocking", + "02b_hol_rtt_sweep", + "02c_hol_topic_scaling", + "02d_hol_rtt_boundary", + "02e_hol_qos1", + "03_throughput_under_loss", + "04_stream_strategies", + "12_payload_format_localhost", + ] + + for exp in experiments: + exp_dir = base_dir / exp + if not exp_dir.exists(): + print(f" {exp:40s} NOT FOUND") + continue + json_count = len(list(exp_dir.glob("*.json"))) + csv_count = len(list(exp_dir.glob("*.csv"))) + print(f" {exp:40s} {json_count:4d} JSON {csv_count:4d} CSV") + + +def main(): + if len(sys.argv) < 2: + print(f"Usage: {sys.argv[0]} ", file=sys.stderr) + sys.exit(1) + + base_dir = Path(sys.argv[1]) + if not base_dir.exists(): + print(f"ERROR: {base_dir} does not exist", file=sys.stderr) + sys.exit(1) + + all_ok = True + + experiments = sorted( + d.name for d in base_dir.iterdir() + if d.is_dir() and not d.name.startswith(".") + ) + + print(f"Verifying {len(experiments)} experiment directories in {base_dir}\n") + + for exp in experiments: + total, conditions, issues = verify_experiment(base_dir, exp) + status = "OK" if not issues else "ISSUES" + cond_str = f", {conditions} conditions" if conditions else "" + print(f" [{status:6s}] {exp}: {total} JSON files{cond_str}") + for issue in issues: + all_ok = False + print(f" {issue}") + + print("\n=== CROSS-REFERENCE VERIFICATION ===\n") + xref_issues = verify_cross_references(base_dir) + if xref_issues: + all_ok = False + for issue in xref_issues: + print(f" ISSUE: {issue}") + else: + print(" OK: 25ms/8-topic reference data present in 02_hol_blocking") + + print_completeness_matrix(base_dir) + + print() + if all_ok: + print("ALL CHECKS PASSED") + else: + print("ISSUES FOUND (see above)") + sys.exit(1) + + +if __name__ == "__main__": + main() diff --git a/experiments/archive/ARCHIVE_README.md b/experiments/archive/ARCHIVE_README.md new file mode 100644 index 00000000..7d95ebc5 --- /dev/null +++ b/experiments/archive/ARCHIVE_README.md @@ -0,0 +1,29 @@ +# Archived Experiment Results + +Results in this directory have been superseded by newer data collected after +methodology fixes (Phases 1-3 of the HOL blocking investigation). + +## results_archived_rate500/ + +Early experiment results collected with a 500 msg/s rate limit before the +rate was standardized to 5000 msg/s. Contains experiments 02-04. +Superseded by: `results/02_hol_blocking/`, `results/03_throughput_under_loss/`, +`results/04_stream_strategies/`. + +## results-pre-server-streams/ + +Results collected before the broker supported configurable server delivery +strategies. The broker always delivered via per-topic streams regardless of +the client's `--quic-stream-strategy` setting, making per-publish and +control-only comparisons invalid. Contains experiments 01-06. +Superseded by: `results/01_connection_latency/`, `results/02_hol_blocking/`, +`results/03_throughput_under_loss/`, `results/04_stream_strategies/`. + +## 02_hol_blocking_pre_trace/ + +HOL blocking results collected after Phases 1-3 fixes (DataPerSubscription +deprecation, server delivery strategy, QUIC flow control tuning) but before +trace instrumentation (Phase 5). Data is valid but lacks per-message traces +(`messages.csv`, `quinn_stats.csv`) and derived metrics (`spike_isolation_ratio`, +`inter_arrival_cluster_ratio`). 80 JSON files, 240 total files. +Superseded by: `results/02_hol_blocking/` which includes trace data. diff --git a/experiments/run/02_hol_blocking.sh b/experiments/run/02_hol_blocking.sh index 2ddd29fc..b3600c9f 100755 --- a/experiments/run/02_hol_blocking.sh +++ b/experiments/run/02_hol_blocking.sh @@ -70,15 +70,24 @@ for tname in "${TRANSPORTS[@]}"; do trace_flag="--trace-dir /tmp/hol-traces" fi - run_monitored "$EXPERIMENT" "$label" \ - "--url ${url} ${flags} --mode hol-blocking --topics 8 --duration 30 --warmup 5 --payload-size 512 --rate 5000 ${trace_flag}" - - if should_trace "$loss"; then - output_dir="${RESULTS_DIR}/${EXPERIMENT}" - for run in $(seq 1 "$RUNS_PER_DATAPOINT"); do - collect_traces "$EXPERIMENT" "${label}_run${run}" "/tmp/hol-traces" - done - fi + bench_args="--url ${url} ${flags} --mode hol-blocking --topics 8 --duration 30 --warmup 5 --payload-size 512 --rate 5000 ${trace_flag}" + output_dir="${RESULTS_DIR}/${EXPERIMENT}" + mkdir -p "$output_dir" + + for run in $(seq 1 "$RUNS_PER_DATAPOINT"); do + run_label="${label}_run${run}" + start_monitor "${output_dir}/${run_label}_broker_resources.csv" + start_client_monitor + run_bench "$EXPERIMENT" "$run_label" "$bench_args" + stop_client_monitor "${output_dir}/${run_label}_client_resources.csv" + stop_monitor "${output_dir}/${run_label}_broker_resources.csv" + + if should_trace "$loss"; then + collect_traces "$EXPERIMENT" "$run_label" "/tmp/hol-traces" + fi + + sleep 5 + done clear_netem done diff --git a/experiments/run/02d_hol_rtt_boundary.sh b/experiments/run/02d_hol_rtt_boundary.sh new file mode 100755 index 00000000..5aa3cf31 --- /dev/null +++ b/experiments/run/02d_hol_rtt_boundary.sh @@ -0,0 +1,79 @@ +#!/usr/bin/env bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/common.sh" + +EXPERIMENT="02d_hol_rtt_boundary" +DELAYS=(15 20) +LOSS=1 + +BROKER_TLS="--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key" +BROKER_QUIC="--quic-host 0.0.0.0:14567" +CA="--ca-cert /opt/mqtt-certs/ca.pem" + +declare -A TRANSPORT_URLS +TRANSPORT_URLS[tcp]="mqtt://${BROKER_IP}:1883" +TRANSPORT_URLS[quic-control]="quic://${BROKER_IP}:14567" +TRANSPORT_URLS[quic-pertopic]="quic://${BROKER_IP}:14567" +TRANSPORT_URLS[quic-perpub]="quic://${BROKER_IP}:14567" + +declare -A TRANSPORT_FLAGS +TRANSPORT_FLAGS[tcp]="" +TRANSPORT_FLAGS[quic-control]="--quic-stream-strategy control-only ${CA}" +TRANSPORT_FLAGS[quic-pertopic]="--quic-stream-strategy per-topic ${CA}" +TRANSPORT_FLAGS[quic-perpub]="--quic-stream-strategy per-publish ${CA}" + +declare -A BROKER_DELIVERY +BROKER_DELIVERY[tcp]="" +BROKER_DELIVERY[quic-control]="--quic-delivery-strategy control-only" +BROKER_DELIVERY[quic-pertopic]="--quic-delivery-strategy per-topic" +BROKER_DELIVERY[quic-perpub]="--quic-delivery-strategy per-publish" + +TRANSPORTS=(tcp quic-control quic-pertopic quic-perpub) + +collect_traces() { + local experiment="$1" + local run_label="$2" + local remote_dir="$3" + local output_dir="${RESULTS_DIR}/${experiment}" + + for csv in messages.csv quinn_stats.csv; do + scp -i "$SSH_KEY_PATH" "${SSH_USER}@${CLIENT_IP}:${remote_dir}/${csv}" \ + "${output_dir}/${run_label}_${csv}" 2>/dev/null || true + done + ssh_client "rm -rf ${remote_dir}" 2>/dev/null || true +} + +for tname in "${TRANSPORTS[@]}"; do + url="${TRANSPORT_URLS[$tname]}" + flags="${TRANSPORT_FLAGS[$tname]}" + delivery="${BROKER_DELIVERY[$tname]}" + + stop_broker 2>/dev/null || true + start_broker "${BROKER_TLS} ${BROKER_QUIC} ${delivery}" + + for delay in "${DELAYS[@]}"; do + apply_netem "$delay" "$LOSS" + label="${tname}_rtt${delay}ms" + echo "[${EXPERIMENT}] ${label}" + + bench_args="--url ${url} ${flags} --mode hol-blocking --topics 8 --duration 30 --warmup 5 --payload-size 512 --rate 5000 --trace-dir /tmp/hol-traces" + output_dir="${RESULTS_DIR}/${EXPERIMENT}" + mkdir -p "$output_dir" + + for run in $(seq 1 "$RUNS_PER_DATAPOINT"); do + run_label="${label}_run${run}" + start_monitor "${output_dir}/${run_label}_broker_resources.csv" + start_client_monitor + run_bench "$EXPERIMENT" "$run_label" "$bench_args" + stop_client_monitor "${output_dir}/${run_label}_client_resources.csv" + stop_monitor "${output_dir}/${run_label}_broker_resources.csv" + collect_traces "$EXPERIMENT" "$run_label" "/tmp/hol-traces" + sleep 5 + done + + clear_netem + done +done + +stop_broker +echo "experiment ${EXPERIMENT} (RTT boundary 15/20ms) complete" diff --git a/experiments/run/02e_hol_qos1.sh b/experiments/run/02e_hol_qos1.sh new file mode 100755 index 00000000..2b2c9a3d --- /dev/null +++ b/experiments/run/02e_hol_qos1.sh @@ -0,0 +1,71 @@ +#!/usr/bin/env bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/common.sh" + +EXPERIMENT="02e_hol_qos1" +DELAY=25 +LOSS=1 + +BROKER_TLS="--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key" +BROKER_QUIC="--quic-host 0.0.0.0:14567" +CA="--ca-cert /opt/mqtt-certs/ca.pem" + +declare -A TRANSPORT_URLS +TRANSPORT_URLS[tcp]="mqtt://${BROKER_IP}:1883" +TRANSPORT_URLS[quic-pertopic]="quic://${BROKER_IP}:14567" + +declare -A TRANSPORT_FLAGS +TRANSPORT_FLAGS[tcp]="" +TRANSPORT_FLAGS[quic-pertopic]="--quic-stream-strategy per-topic ${CA}" + +declare -A BROKER_DELIVERY +BROKER_DELIVERY[tcp]="" +BROKER_DELIVERY[quic-pertopic]="--quic-delivery-strategy per-topic" + +TRANSPORTS=(tcp quic-pertopic) + +collect_traces() { + local experiment="$1" + local run_label="$2" + local remote_dir="$3" + local output_dir="${RESULTS_DIR}/${experiment}" + + for csv in messages.csv quinn_stats.csv; do + scp -i "$SSH_KEY_PATH" "${SSH_USER}@${CLIENT_IP}:${remote_dir}/${csv}" \ + "${output_dir}/${run_label}_${csv}" 2>/dev/null || true + done + ssh_client "rm -rf ${remote_dir}" 2>/dev/null || true +} + +for tname in "${TRANSPORTS[@]}"; do + url="${TRANSPORT_URLS[$tname]}" + flags="${TRANSPORT_FLAGS[$tname]}" + delivery="${BROKER_DELIVERY[$tname]}" + + stop_broker 2>/dev/null || true + start_broker "${BROKER_TLS} ${BROKER_QUIC} ${delivery}" + + apply_netem "$DELAY" "$LOSS" + label="${tname}_qos1" + echo "[${EXPERIMENT}] ${label}" + + bench_args="--url ${url} ${flags} --mode hol-blocking --topics 8 --duration 30 --warmup 5 --payload-size 512 --rate 5000 --qos 1 --trace-dir /tmp/hol-traces" + output_dir="${RESULTS_DIR}/${EXPERIMENT}" + mkdir -p "$output_dir" + + for run in $(seq 1 "$RUNS_PER_DATAPOINT"); do + run_label="${label}_run${run}" + start_monitor "${output_dir}/${run_label}_broker_resources.csv" + start_client_monitor + run_bench "$EXPERIMENT" "$run_label" "$bench_args" + stop_client_monitor "${output_dir}/${run_label}_client_resources.csv" + stop_monitor "${output_dir}/${run_label}_broker_resources.csv" + collect_traces "$EXPERIMENT" "$run_label" "/tmp/hol-traces" + sleep 5 + done + + clear_netem +done + +stop_broker +echo "experiment ${EXPERIMENT} (QoS 1 HOL blocking) complete" diff --git a/experiments/setup/config.env b/experiments/setup/config.env index 9a4778c9..5681f178 100644 --- a/experiments/setup/config.env +++ b/experiments/setup/config.env @@ -1,7 +1,7 @@ GCP_PROJECT_ID="quic-experiments-488321" BROKER_IP="10.138.0.5" -BROKER_SSH_IP="34.145.36.68" -CLIENT_IP="136.118.167.25" +BROKER_SSH_IP="34.11.191.143" +CLIENT_IP="136.109.126.224" REPO_URL="https://github.com/LabOverWire/mqtt-lib.git" REPO_BRANCH="payload-format-experiments" SSH_USER="bench" From 0359c4c55e71d0647172f79a1c766f3d28ecd64b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Thu, 5 Mar 2026 15:21:51 -0800 Subject: [PATCH 07/34] add 02d/02e experiment results and diary entries --- experiments/INVESTIGATION_DIARY.md | 28 ++++++++++++++++++++++++++-- experiments/RESULTS_MANIFEST.md | 19 +++++++++++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/experiments/INVESTIGATION_DIARY.md b/experiments/INVESTIGATION_DIARY.md index cf20dd60..ac55ed6f 100644 --- a/experiments/INVESTIGATION_DIARY.md +++ b/experiments/INVESTIGATION_DIARY.md @@ -14,8 +14,32 @@ New entries on top, beneath the planned work list. - [x] Phase 6C: Topic count scaling — 2, 4, 16, 32 topics at 25ms/1% loss - [x] Phase 7: Deep trace analysis and cross-experiment synthesis - [x] Phase 8: Publication preparation — analysis scripts, figures, archive -- [ ] Phase 9: RTT boundary experiment (02d) — 15ms/20ms at 1% loss -- [ ] Phase 10: QoS 1 HOL experiment (02e) — tcp + per-topic at 25ms/1% +- [x] Phase 9: RTT boundary experiment (02d) — 15ms/20ms at 1% loss +- [x] Phase 10: QoS 1 HOL experiment (02e) — tcp + per-topic at 25ms/1% + +--- + +## 2026-03-05 — Phase 10: QoS 1 HOL experiment (02e) + +**What**: Ran HOL blocking experiment with QoS 1 (acknowledged delivery) at reference conditions (25ms RTT, 1% loss, 8 topics) for TCP and QUIC per-topic. + +**Results**: 10 JSON files + 40 CSV files in `results/02e_hol_qos1/` + +--- + +## 2026-03-05 — Phase 9: RTT boundary experiment (02d) + +**What**: Pinpointed the RTT threshold where QUIC per-topic stream isolation breaks down. Tested 15ms and 20ms RTT (1% loss, 8 topics, all 4 transports) to fill the gap between 10ms (isolation fails) and 25ms (isolation succeeds). + +**Results**: 40 JSON files + 160 CSV files in `results/02d_hol_rtt_boundary/` + +**Key findings** (from regenerated publication_stats.py): +- **15ms RTT**: per-topic spike_iso = 0.967 (isolation still fails, similar to 10ms) +- **20ms RTT**: per-topic spike_iso = 0.610 (transition zone — partial isolation) +- **25ms RTT**: per-topic spike_iso = 0.000 (isolation succeeds, from exp02) +- Transition happens between 20-25ms RTT, consistent with QUIC loss detection timer (~PTO ≈ 2×RTT) +- TCP and ctrl remain high (0.79-0.99) at all RTT values, as expected +- Merged RTT sweep now has 6 data points: 10/15/20/25/50/100ms --- diff --git a/experiments/RESULTS_MANIFEST.md b/experiments/RESULTS_MANIFEST.md index a67d8ab7..bb21882d 100644 --- a/experiments/RESULTS_MANIFEST.md +++ b/experiments/RESULTS_MANIFEST.md @@ -39,6 +39,25 @@ Active results in `experiments/results/`. Archived results in `experiments/archi - **Status**: COMPLETE - **Cross-references**: 8-topic data comes from exp 02 (loss1pct), not duplicated here +## 02d_hol_rtt_boundary + +- **Experiment**: RTT boundary for QUIC per-topic stream isolation (15/20ms) +- **Date**: 2026-03-05 +- **Branch**: `payload-format-experiments` +- **Conditions**: 4 transports × 2 RTTs (15/20ms) × 5 runs = 40 JSON files +- **Trace data**: all runs include traces +- **Status**: COMPLETE +- **Cross-references**: Combined with exp02 (25ms) and exp02b (10/50/100ms) gives 6-point RTT sweep + +## 02e_hol_qos1 + +- **Experiment**: HOL blocking with QoS 1 acknowledged delivery +- **Date**: 2026-03-05 +- **Branch**: `payload-format-experiments` +- **Conditions**: 2 transports (tcp, quic-pertopic) × 1 condition (25ms/1%) × 5 runs = 10 JSON files +- **Trace data**: all runs include traces +- **Status**: COMPLETE + ## 03_throughput_under_loss - **Experiment**: Message throughput degradation under packet loss From a91d5630d5d7d2c9084cd59e11d68a56d1979b3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Thu, 5 Mar 2026 15:59:45 -0800 Subject: [PATCH 08/34] add interventional PublishAction to on_client_publish event handler --- crates/mqtt5/src/broker/client_handler/mod.rs | 7 +- .../src/broker/client_handler/publish.rs | 59 +++- crates/mqtt5/src/broker/events.rs | 11 +- crates/mqtt5/src/broker/mod.rs | 4 +- crates/mqtt5/tests/publish_action.rs | 271 ++++++++++++++++++ 5 files changed, 333 insertions(+), 19 deletions(-) create mode 100644 crates/mqtt5/tests/publish_action.rs diff --git a/crates/mqtt5/src/broker/client_handler/mod.rs b/crates/mqtt5/src/broker/client_handler/mod.rs index 9ed6287a..4f709276 100644 --- a/crates/mqtt5/src/broker/client_handler/mod.rs +++ b/crates/mqtt5/src/broker/client_handler/mod.rs @@ -47,6 +47,11 @@ pub(super) struct PendingConnect { pub(super) assigned_client_id: Option, } +pub(super) enum InflightPublish { + Pending(PublishPacket), + Handled, +} + #[allow(clippy::struct_excessive_bools)] pub struct ClientHandler { pub(super) transport: BrokerTransport, @@ -63,7 +68,7 @@ pub struct ClientHandler { pub(super) keep_alive: Duration, pub(super) publish_rx: flume::Receiver, pub(super) publish_tx: flume::Sender, - pub(super) inflight_publishes: HashMap, + pub(super) inflight_publishes: HashMap, pub(super) session: Option, pub(super) next_packet_id: u16, pub(super) normal_disconnect: bool, diff --git a/crates/mqtt5/src/broker/client_handler/publish.rs b/crates/mqtt5/src/broker/client_handler/publish.rs index 9638253b..d0e09e08 100644 --- a/crates/mqtt5/src/broker/client_handler/publish.rs +++ b/crates/mqtt5/src/broker/client_handler/publish.rs @@ -1,4 +1,4 @@ -use crate::broker::events::{ClientPublishEvent, MessageDeliveredEvent}; +use crate::broker::events::{ClientPublishEvent, MessageDeliveredEvent, PublishAction}; use crate::broker::storage::{ InflightDirection, InflightMessage, InflightPhase, QueuedMessage, StorageBackend, }; @@ -22,7 +22,7 @@ use tracing::{debug, warn}; #[cfg(feature = "opentelemetry")] use crate::telemetry::propagation; -use super::ClientHandler; +use super::{ClientHandler, InflightPublish}; impl ClientHandler { #[cfg(feature = "opentelemetry")] @@ -100,8 +100,13 @@ impl ClientHandler { return self.send_rate_limit_response(&publish).await; } - self.fire_publish_event(&publish, &client_id).await; - self.route_publish_by_qos(publish, &client_id).await + match self.fire_publish_event(&publish, &client_id).await { + PublishAction::Continue => self.route_publish_by_qos(publish, &client_id).await, + PublishAction::Handled => self.complete_qos_handshake(publish).await, + PublishAction::Transform(modified) => { + self.route_publish_by_qos(modified, &client_id).await + } + } } async fn check_receive_maximum( @@ -199,10 +204,9 @@ impl ClientHandler { } QoS::ExactlyOnce => { let packet_id = publish.packet_id.unwrap(); - self.inflight_publishes.insert(packet_id, publish); if let Some(ref storage) = self.storage { let inflight = InflightMessage::from_publish( - self.inflight_publishes.get(&packet_id).unwrap(), + &publish, client_id.to_string(), InflightDirection::Inbound, InflightPhase::AwaitingPubrel, @@ -211,6 +215,28 @@ impl ClientHandler { debug!("failed to persist inbound inflight {packet_id}: {e}"); } } + self.inflight_publishes + .insert(packet_id, InflightPublish::Pending(publish)); + let mut pubrec = PubRecPacket::new(packet_id); + pubrec.reason_code = ReasonCode::Success; + self.transport.write_packet(Packet::PubRec(pubrec)).await?; + } + } + Ok(()) + } + + async fn complete_qos_handshake(&mut self, publish: PublishPacket) -> Result<()> { + match publish.qos { + QoS::AtMostOnce => {} + QoS::AtLeastOnce => { + let mut puback = PubAckPacket::new(publish.packet_id.unwrap()); + puback.reason_code = ReasonCode::Success; + self.transport.write_packet(Packet::PubAck(puback)).await?; + } + QoS::ExactlyOnce => { + let packet_id = publish.packet_id.unwrap(); + self.inflight_publishes + .insert(packet_id, InflightPublish::Handled); let mut pubrec = PubRecPacket::new(packet_id); pubrec.reason_code = ReasonCode::Success; self.transport.write_packet(Packet::PubRec(pubrec)).await?; @@ -386,7 +412,7 @@ impl ClientHandler { Ok(()) } - async fn fire_publish_event(&self, publish: &PublishPacket, client_id: &str) { + async fn fire_publish_event(&self, publish: &PublishPacket, client_id: &str) -> PublishAction { if let Some(ref handler) = self.config.event_handler { let response_topic = publish .properties @@ -421,7 +447,9 @@ impl ClientHandler { response_topic, correlation_data, }; - handler.on_client_publish(event).await; + handler.on_client_publish(event).await + } else { + PublishAction::Continue } } @@ -486,7 +514,7 @@ impl ClientHandler { } pub(super) async fn handle_pubrel(&mut self, pubrel: PubRelPacket) -> Result<()> { - let reason_code = if let Some(publish) = self.inflight_publishes.remove(&pubrel.packet_id) { + let reason_code = if let Some(entry) = self.inflight_publishes.remove(&pubrel.packet_id) { let client_id = self.client_id.as_ref().unwrap(); if let Some(ref storage) = self.storage { @@ -505,10 +533,12 @@ impl ClientHandler { } } - #[cfg(feature = "opentelemetry")] - self.route_with_trace_context(&publish, client_id).await?; - #[cfg(not(feature = "opentelemetry"))] - self.route_publish(&publish, Some(client_id)).await; + if let InflightPublish::Pending(publish) = entry { + #[cfg(feature = "opentelemetry")] + self.route_with_trace_context(&publish, client_id).await?; + #[cfg(not(feature = "opentelemetry"))] + self.route_publish(&publish, Some(client_id)).await; + } ReasonCode::Success } else { @@ -746,7 +776,8 @@ impl ClientHandler { }, InflightDirection::Inbound => { let publish = msg.to_publish_packet(); - self.inflight_publishes.insert(msg.packet_id, publish); + self.inflight_publishes + .insert(msg.packet_id, InflightPublish::Pending(publish)); } } } diff --git a/crates/mqtt5/src/broker/events.rs b/crates/mqtt5/src/broker/events.rs index 2e01fa74..04d139c2 100644 --- a/crates/mqtt5/src/broker/events.rs +++ b/crates/mqtt5/src/broker/events.rs @@ -1,4 +1,5 @@ use bytes::Bytes; +use mqtt5_protocol::packet::publish::PublishPacket; use mqtt5_protocol::packet::suback::SubAckReasonCode as ProtocolSubAckReasonCode; use mqtt5_protocol::types::ReasonCode; use mqtt5_protocol::QoS; @@ -6,6 +7,12 @@ use std::future::Future; use std::pin::Pin; use std::sync::Arc; +pub enum PublishAction { + Continue, + Handled, + Transform(PublishPacket), +} + #[derive(Debug, Clone)] pub struct ClientConnectEvent { pub client_id: Arc, @@ -139,8 +146,8 @@ pub trait BrokerEventHandler: Send + Sync { fn on_client_publish<'a>( &'a self, _event: ClientPublishEvent, - ) -> Pin + Send + 'a>> { - Box::pin(async {}) + ) -> Pin + Send + 'a>> { + Box::pin(async { PublishAction::Continue }) } fn on_client_disconnect<'a>( diff --git a/crates/mqtt5/src/broker/mod.rs b/crates/mqtt5/src/broker/mod.rs index 4eccb05f..32450384 100644 --- a/crates/mqtt5/src/broker/mod.rs +++ b/crates/mqtt5/src/broker/mod.rs @@ -64,8 +64,8 @@ pub use auth_mechanisms::{ pub use config::{BrokerConfig, StorageBackend as StorageBackendType, StorageConfig}; pub use events::{ BrokerEventHandler, ClientConnectEvent, ClientDisconnectEvent, ClientPublishEvent, - ClientSubscribeEvent, ClientUnsubscribeEvent, MessageDeliveredEvent, RetainedSetEvent, - SubAckReasonCode, SubscriptionInfo, + ClientSubscribeEvent, ClientUnsubscribeEvent, MessageDeliveredEvent, PublishAction, + RetainedSetEvent, SubAckReasonCode, SubscriptionInfo, }; #[cfg(not(target_arch = "wasm32"))] pub use hot_reload::HotReloadManager; diff --git a/crates/mqtt5/tests/publish_action.rs b/crates/mqtt5/tests/publish_action.rs new file mode 100644 index 00000000..29a213d6 --- /dev/null +++ b/crates/mqtt5/tests/publish_action.rs @@ -0,0 +1,271 @@ +mod common; + +use bytes::Bytes; +use common::{MessageCollector, TestBroker}; +use mqtt5::broker::config::{BrokerConfig, StorageBackend, StorageConfig}; +use mqtt5::broker::events::{BrokerEventHandler, ClientPublishEvent, PublishAction}; +use mqtt5::packet::publish::PublishPacket; +use mqtt5::time::Duration; +use mqtt5::PublishOptions; +use mqtt5::{MqttClient, QoS}; +use std::future::Future; +use std::net::SocketAddr; +use std::pin::Pin; +use std::sync::Arc; + +struct SuppressHandler; + +impl BrokerEventHandler for SuppressHandler { + fn on_client_publish<'a>( + &'a self, + _event: ClientPublishEvent, + ) -> Pin + Send + 'a>> { + Box::pin(async { PublishAction::Handled }) + } +} + +struct TransformHandler { + new_payload: Bytes, +} + +impl BrokerEventHandler for TransformHandler { + fn on_client_publish<'a>( + &'a self, + event: ClientPublishEvent, + ) -> Pin + Send + 'a>> { + let payload = self.new_payload.clone(); + Box::pin(async move { + let mut packet = PublishPacket::new(event.topic.to_string(), payload, event.qos); + packet.retain = event.retain; + packet.packet_id = event.packet_id; + PublishAction::Transform(packet) + }) + } +} + +async fn start_broker_with_handler(handler: Arc) -> TestBroker { + let config = BrokerConfig::default() + .with_bind_address("127.0.0.1:0".parse::().unwrap()) + .with_storage(StorageConfig { + backend: StorageBackend::Memory, + enable_persistence: true, + ..Default::default() + }) + .with_event_handler(handler); + TestBroker::start_with_config(config).await +} + +async fn connect_client(broker: &TestBroker, name: &str) -> MqttClient { + let client = MqttClient::new(common::test_client_id(name)); + client + .connect(broker.address()) + .await + .expect("connect failed"); + client +} + +fn publish_opts(qos: QoS) -> PublishOptions { + PublishOptions { + qos, + ..Default::default() + } +} + +#[tokio::test] +async fn test_suppress_qos0() { + let broker = start_broker_with_handler(Arc::new(SuppressHandler)).await; + + let collector = MessageCollector::new(); + let sub = connect_client(&broker, "suppress-q0-sub").await; + sub.subscribe("test/+", collector.callback()).await.unwrap(); + tokio::time::sleep(Duration::from_millis(50)).await; + + let pub_client = connect_client(&broker, "suppress-q0-pub").await; + pub_client + .publish("test/suppress", b"should-not-arrive") + .await + .unwrap(); + + tokio::time::sleep(Duration::from_millis(200)).await; + assert_eq!(collector.count().await, 0); +} + +#[tokio::test] +async fn test_suppress_qos1() { + let broker = start_broker_with_handler(Arc::new(SuppressHandler)).await; + + let collector = MessageCollector::new(); + let sub = connect_client(&broker, "suppress-q1-sub").await; + sub.subscribe("test/+", collector.callback()).await.unwrap(); + tokio::time::sleep(Duration::from_millis(50)).await; + + let pub_client = connect_client(&broker, "suppress-q1-pub").await; + pub_client + .publish_with_options( + "test/suppress", + b"should-not-arrive", + publish_opts(QoS::AtLeastOnce), + ) + .await + .unwrap(); + + tokio::time::sleep(Duration::from_millis(200)).await; + assert_eq!(collector.count().await, 0); +} + +#[tokio::test] +async fn test_suppress_qos2() { + let broker = start_broker_with_handler(Arc::new(SuppressHandler)).await; + + let collector = MessageCollector::new(); + let sub = connect_client(&broker, "suppress-q2-sub").await; + sub.subscribe("test/+", collector.callback()).await.unwrap(); + tokio::time::sleep(Duration::from_millis(50)).await; + + let pub_client = connect_client(&broker, "suppress-q2-pub").await; + pub_client + .publish_with_options( + "test/suppress", + b"should-not-arrive", + publish_opts(QoS::ExactlyOnce), + ) + .await + .unwrap(); + + tokio::time::sleep(Duration::from_millis(500)).await; + assert_eq!(collector.count().await, 0); +} + +#[tokio::test] +async fn test_transform_qos0() { + let handler = TransformHandler { + new_payload: Bytes::from_static(b"transformed"), + }; + let broker = start_broker_with_handler(Arc::new(handler)).await; + + let collector = MessageCollector::new(); + let sub = connect_client(&broker, "xform-q0-sub").await; + sub.subscribe("test/+", collector.callback()).await.unwrap(); + tokio::time::sleep(Duration::from_millis(50)).await; + + let pub_client = connect_client(&broker, "xform-q0-pub").await; + pub_client + .publish("test/transform", b"original") + .await + .unwrap(); + + assert!( + collector.wait_for_messages(1, Duration::from_secs(2)).await, + "transformed message should arrive" + ); + let msgs = collector.get_messages().await; + assert_eq!(msgs[0].payload, b"transformed"); +} + +#[tokio::test] +async fn test_transform_qos1() { + let handler = TransformHandler { + new_payload: Bytes::from_static(b"transformed-q1"), + }; + let broker = start_broker_with_handler(Arc::new(handler)).await; + + let collector = MessageCollector::new(); + let sub = connect_client(&broker, "xform-q1-sub").await; + sub.subscribe("test/+", collector.callback()).await.unwrap(); + tokio::time::sleep(Duration::from_millis(50)).await; + + let pub_client = connect_client(&broker, "xform-q1-pub").await; + pub_client + .publish_with_options( + "test/transform", + b"original", + publish_opts(QoS::AtLeastOnce), + ) + .await + .unwrap(); + + assert!( + collector.wait_for_messages(1, Duration::from_secs(2)).await, + "transformed message should arrive" + ); + let msgs = collector.get_messages().await; + assert_eq!(msgs[0].payload, b"transformed-q1"); +} + +#[tokio::test] +async fn test_transform_qos2() { + let handler = TransformHandler { + new_payload: Bytes::from_static(b"transformed-q2"), + }; + let broker = start_broker_with_handler(Arc::new(handler)).await; + + let collector = MessageCollector::new(); + let sub = connect_client(&broker, "xform-q2-sub").await; + sub.subscribe("test/+", collector.callback()).await.unwrap(); + tokio::time::sleep(Duration::from_millis(50)).await; + + let pub_client = connect_client(&broker, "xform-q2-pub").await; + pub_client + .publish_with_options( + "test/transform", + b"original", + publish_opts(QoS::ExactlyOnce), + ) + .await + .unwrap(); + + assert!( + collector.wait_for_messages(1, Duration::from_secs(2)).await, + "transformed message should arrive" + ); + let msgs = collector.get_messages().await; + assert_eq!(msgs[0].payload, b"transformed-q2"); +} + +#[tokio::test] +async fn test_continue_preserves_default_behavior() { + let broker = TestBroker::start().await; + + let collector = MessageCollector::new(); + let sub = connect_client(&broker, "continue-sub").await; + sub.subscribe("test/+", collector.callback()).await.unwrap(); + tokio::time::sleep(Duration::from_millis(50)).await; + + let pub_client = connect_client(&broker, "continue-pub").await; + pub_client + .publish_with_options("test/continue", b"hello", publish_opts(QoS::AtLeastOnce)) + .await + .unwrap(); + + assert!( + collector.wait_for_messages(1, Duration::from_secs(2)).await, + "message should arrive with default Continue action" + ); + let msgs = collector.get_messages().await; + assert_eq!(msgs[0].payload, b"hello"); +} + +#[tokio::test] +async fn test_suppress_multiple_publishes() { + let broker = start_broker_with_handler(Arc::new(SuppressHandler)).await; + + let collector = MessageCollector::new(); + let sub = connect_client(&broker, "suppress-multi-sub").await; + sub.subscribe("test/#", collector.callback()).await.unwrap(); + tokio::time::sleep(Duration::from_millis(50)).await; + + let pub_client = connect_client(&broker, "suppress-multi-pub").await; + for i in 0..5 { + pub_client + .publish_with_options( + &format!("test/msg{i}"), + format!("payload-{i}").as_bytes(), + publish_opts(QoS::AtLeastOnce), + ) + .await + .unwrap(); + } + + tokio::time::sleep(Duration::from_millis(300)).await; + assert_eq!(collector.count().await, 0); +} From bf8b88522d33477bc6a9c3c544c7dd4fd3420ab6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Thu, 5 Mar 2026 16:11:18 -0800 Subject: [PATCH 09/34] add per-client outbound delivery rate limiting --- crates/mqtt5-wasm/src/broker.rs | 26 ++- crates/mqtt5/src/broker/config/mod.rs | 13 ++ crates/mqtt5/src/broker/router.rs | 210 ++++++++++++++++++- crates/mqtt5/src/broker/server.rs | 8 +- crates/mqtt5/tests/outbound_rate_limiting.rs | 60 ++++++ crates/mqttv5-cli/src/commands/bench_cmd.rs | 79 ++++--- crates/mqttv5-cli/src/commands/broker_cmd.rs | 1 + 7 files changed, 365 insertions(+), 32 deletions(-) create mode 100644 crates/mqtt5/tests/outbound_rate_limiting.rs diff --git a/crates/mqtt5-wasm/src/broker.rs b/crates/mqtt5-wasm/src/broker.rs index 6aa709f1..587acf32 100644 --- a/crates/mqtt5-wasm/src/broker.rs +++ b/crates/mqtt5-wasm/src/broker.rs @@ -46,6 +46,7 @@ struct ConfigHashFields { change_only_delivery_patterns: Vec, echo_suppression_enabled: bool, echo_suppression_property_key: Option, + max_outbound_rate_per_client: u32, } #[wasm_bindgen(js_name = "BrokerConfig")] @@ -66,6 +67,7 @@ pub struct WasmBrokerConfig { change_only_delivery_patterns: Vec, echo_suppression_enabled: bool, echo_suppression_property_key: Option, + max_outbound_rate_per_client: u32, } #[wasm_bindgen(js_class = "BrokerConfig")] @@ -89,6 +91,7 @@ impl WasmBrokerConfig { change_only_delivery_patterns: Vec::new(), echo_suppression_enabled: false, echo_suppression_property_key: None, + max_outbound_rate_per_client: 0, } } @@ -172,6 +175,11 @@ impl WasmBrokerConfig { self.echo_suppression_property_key = value; } + #[wasm_bindgen(setter, js_name = "maxOutboundRatePerClient")] + pub fn set_max_outbound_rate_per_client(&mut self, value: u32) { + self.max_outbound_rate_per_client = value; + } + fn to_broker_config(&self) -> BrokerConfig { BrokerConfig { max_clients: self.max_clients as usize, @@ -199,6 +207,7 @@ impl WasmBrokerConfig { .clone() .unwrap_or_else(|| "x-origin-client-id".to_string()), }, + max_outbound_rate_per_client: self.max_outbound_rate_per_client, ..Default::default() } } @@ -220,6 +229,7 @@ impl WasmBrokerConfig { change_only_delivery_patterns: self.change_only_delivery_patterns.clone(), echo_suppression_enabled: self.echo_suppression_enabled, echo_suppression_property_key: self.echo_suppression_property_key.clone(), + max_outbound_rate_per_client: self.max_outbound_rate_per_client, }; let mut hasher = DefaultHasher::new(); fields.hash(&mut hasher); @@ -272,12 +282,17 @@ impl WasmBroker { .read() .map_err(|e| JsValue::from_str(&e.to_string()))?; let base_router = MessageRouter::with_storage(Arc::clone(&storage)); - let router = if broker_config.echo_suppression_config.enabled { - Arc::new(base_router.with_echo_suppression_key( + let with_echo = if broker_config.echo_suppression_config.enabled { + base_router.with_echo_suppression_key( broker_config.echo_suppression_config.property_key.clone(), - )) + ) } else { - Arc::new(base_router) + base_router + }; + let router = if broker_config.max_outbound_rate_per_client > 0 { + Arc::new(with_echo.with_max_outbound_rate(broker_config.max_outbound_rate_per_client)) + } else { + Arc::new(with_echo) }; drop(broker_config); @@ -624,6 +639,7 @@ impl WasmBroker { } else { None }; + let max_rate = broker_config.max_outbound_rate_per_client; if let Ok(mut config) = self.config.try_write() { *config = broker_config; @@ -642,6 +658,8 @@ impl WasmBroker { ); } + self.router.update_max_outbound_rate(max_rate); + self.config_hash.set(new_hash); if let Some(callback) = self.on_config_change.borrow().as_ref() { diff --git a/crates/mqtt5/src/broker/config/mod.rs b/crates/mqtt5/src/broker/config/mod.rs index 5d3ed654..70f9ef15 100644 --- a/crates/mqtt5/src/broker/config/mod.rs +++ b/crates/mqtt5/src/broker/config/mod.rs @@ -72,6 +72,8 @@ pub struct BrokerConfig { #[serde(default)] pub echo_suppression_config: EchoSuppressionConfig, #[serde(default)] + pub max_outbound_rate_per_client: u32, + #[serde(default)] pub server_delivery_strategy: ServerDeliveryStrategy, #[cfg(not(target_arch = "wasm32"))] #[serde(default)] @@ -127,6 +129,10 @@ impl std::fmt::Debug for BrokerConfig { &self.change_only_delivery_config, ) .field("echo_suppression_config", &self.echo_suppression_config) + .field( + "max_outbound_rate_per_client", + &self.max_outbound_rate_per_client, + ) .field("server_delivery_strategy", &self.server_delivery_strategy); #[cfg(not(target_arch = "wasm32"))] d.field("bridges", &self.bridges); @@ -169,6 +175,7 @@ impl Default for BrokerConfig { storage_config: StorageConfig::default(), change_only_delivery_config: ChangeOnlyDeliveryConfig::default(), echo_suppression_config: EchoSuppressionConfig::default(), + max_outbound_rate_per_client: 0, server_delivery_strategy: ServerDeliveryStrategy::default(), #[cfg(not(target_arch = "wasm32"))] bridges: vec![], @@ -311,6 +318,12 @@ impl BrokerConfig { self } + #[must_use] + pub fn with_max_outbound_rate_per_client(mut self, rate: u32) -> Self { + self.max_outbound_rate_per_client = rate; + self + } + #[must_use] pub fn with_server_delivery_strategy(mut self, strategy: ServerDeliveryStrategy) -> Self { self.server_delivery_strategy = strategy; diff --git a/crates/mqtt5/src/broker/router.rs b/crates/mqtt5/src/broker/router.rs index dad58dad..aabb8fb9 100644 --- a/crates/mqtt5/src/broker/router.rs +++ b/crates/mqtt5/src/broker/router.rs @@ -10,13 +10,48 @@ use crate::validation::{parse_shared_subscription, topic_matches_filter}; use crate::QoS; use crate::Result; use std::collections::HashMap; -use std::sync::atomic::{AtomicUsize, Ordering}; +use std::sync::atomic::{AtomicU32, AtomicUsize, Ordering}; use std::sync::Arc; #[cfg(not(target_arch = "wasm32"))] use std::sync::Weak; use tokio::sync::RwLock; use tracing::{debug, error, info, trace, warn}; +struct OutboundRateState { + count: AtomicU32, + window_start: parking_lot::Mutex, +} + +impl OutboundRateState { + fn new() -> Self { + Self { + count: AtomicU32::new(0), + window_start: parking_lot::Mutex::new(crate::time::Instant::now()), + } + } + + fn check_and_increment(&self, max_rate: u32) -> bool { + if max_rate == 0 { + return true; + } + + let mut window_start = self.window_start.lock(); + if window_start.elapsed() >= crate::time::Duration::from_secs(1) { + *window_start = crate::time::Instant::now(); + self.count.store(1, Ordering::Relaxed); + return true; + } + drop(window_start); + + let prev = self.count.fetch_add(1, Ordering::Relaxed); + if prev >= max_rate { + self.count.fetch_sub(1, Ordering::Relaxed); + return false; + } + true + } +} + #[cfg(target_arch = "wasm32")] type WasmBridgeCallback = Box; @@ -58,6 +93,8 @@ pub struct MessageRouter { #[cfg(target_arch = "wasm32")] wasm_bridge_callback: Arc>>, echo_suppression_key: Arc>>, + outbound_rates: parking_lot::RwLock>, + max_outbound_rate: AtomicU32, } /// Information about a connected client @@ -88,6 +125,8 @@ impl MessageRouter { #[allow(clippy::arc_with_non_send_sync)] wasm_bridge_callback: Arc::new(RwLock::new(None)), echo_suppression_key: Arc::new(RwLock::new(None)), + outbound_rates: parking_lot::RwLock::new(HashMap::new()), + max_outbound_rate: AtomicU32::new(0), } } @@ -109,6 +148,8 @@ impl MessageRouter { #[allow(clippy::arc_with_non_send_sync)] wasm_bridge_callback: Arc::new(RwLock::new(None)), echo_suppression_key: Arc::new(RwLock::new(None)), + outbound_rates: parking_lot::RwLock::new(HashMap::new()), + max_outbound_rate: AtomicU32::new(0), } } @@ -139,6 +180,16 @@ impl MessageRouter { } } + #[must_use] + pub fn with_max_outbound_rate(self, rate: u32) -> Self { + self.max_outbound_rate.store(rate, Ordering::Relaxed); + self + } + + pub fn update_max_outbound_rate(&self, rate: u32) { + self.max_outbound_rate.store(rate, Ordering::Relaxed); + } + fn has_wildcards(topic_filter: &str) -> bool { topic_filter.contains('+') || topic_filter.contains('#') } @@ -195,18 +246,23 @@ impl MessageRouter { disconnect_tx: new_disconnect_tx, }, ); + self.outbound_rates + .write() + .insert(client_id.clone(), OutboundRateState::new()); info!("Registered client: {}", client_id); } pub async fn disconnect_client(&self, client_id: &str) { let mut clients = self.clients.write().await; clients.remove(client_id); + self.outbound_rates.write().remove(client_id); debug!("Disconnected client (keeping subscriptions): {}", client_id); } pub async fn unregister_client(&self, client_id: &str) { let mut clients = self.clients.write().await; clients.remove(client_id); + self.outbound_rates.write().remove(client_id); { let mut exact = self.exact_subscriptions.write().await; @@ -650,6 +706,26 @@ impl MessageRouter { drop(change_only_states); } + let max_rate = self.max_outbound_rate.load(Ordering::Relaxed); + if max_rate > 0 { + let rate_exceeded = { + let rates = self.outbound_rates.read(); + rates + .get(&sub.client_id) + .is_some_and(|state| !state.check_and_increment(max_rate)) + }; + if rate_exceeded { + let qos = Self::effective_qos(publish.qos, sub.qos); + if qos != QoS::AtMostOnce { + if let Some(storage) = storage { + let message = Self::prepare_message(publish, sub, qos); + Self::queue_message(storage, message, &sub.client_id, qos).await; + } + } + return; + } + } + if let Some(client_info) = clients.get(&sub.client_id) { let qos = Self::effective_qos(publish.qos, sub.qos); let message = Self::prepare_message(publish, sub, qos); @@ -1256,4 +1332,136 @@ mod tests { assert_eq!(retained.len(), 1); assert_eq!(&retained[0].payload[..], b"online"); } + + #[tokio::test] + async fn test_outbound_rate_qos0_dropped_when_exceeded() { + let router = MessageRouter::new().with_max_outbound_rate(5); + let (tx, rx) = flume::bounded(100); + let (dtx, _drx) = tokio::sync::oneshot::channel(); + router.register_client("sub1".to_string(), tx, dtx).await; + router + .subscribe( + "sub1".to_string(), + "test/rate".to_string(), + QoS::AtMostOnce, + None, + false, + false, + 0, + ProtocolVersion::V5, + false, + ) + .await + .unwrap(); + + for i in 0..20u8 { + let publish = + PublishPacket::new("test/rate", Bytes::copy_from_slice(&[i]), QoS::AtMostOnce); + router.route_message(&publish, None).await; + } + + let mut received = 0; + while rx.try_recv().is_ok() { + received += 1; + } + assert!(received <= 5, "expected at most 5 messages, got {received}"); + assert!(received >= 1, "expected at least 1 message, got {received}"); + } + + #[tokio::test] + async fn test_outbound_rate_qos1_queued_when_exceeded() { + let storage = Arc::new(DynamicStorage::Memory( + crate::broker::storage::MemoryBackend::new(), + )); + let router = MessageRouter::with_storage(Arc::clone(&storage)).with_max_outbound_rate(3); + let (tx, rx) = flume::bounded(100); + let (dtx, _drx) = tokio::sync::oneshot::channel(); + router.register_client("sub1".to_string(), tx, dtx).await; + router + .subscribe( + "sub1".to_string(), + "test/rate".to_string(), + QoS::AtLeastOnce, + None, + false, + false, + 0, + ProtocolVersion::V5, + false, + ) + .await + .unwrap(); + + for i in 0..10u8 { + let publish = + PublishPacket::new("test/rate", Bytes::copy_from_slice(&[i]), QoS::AtLeastOnce); + router.route_message(&publish, None).await; + } + + let mut delivered = 0; + while rx.try_recv().is_ok() { + delivered += 1; + } + assert!( + delivered <= 3, + "expected at most 3 delivered, got {delivered}" + ); + + let queued = storage.get_queued_messages("sub1").await.unwrap(); + assert!( + !queued.is_empty(), + "expected queued messages for rate-limited QoS 1" + ); + assert_eq!( + delivered + queued.len(), + 10, + "delivered + queued should equal total sent" + ); + } + + #[tokio::test] + async fn test_outbound_rate_zero_means_unlimited() { + let router = MessageRouter::new().with_max_outbound_rate(0); + let (tx, rx) = flume::bounded(1000); + let (dtx, _drx) = tokio::sync::oneshot::channel(); + router.register_client("sub1".to_string(), tx, dtx).await; + router + .subscribe( + "sub1".to_string(), + "test/rate".to_string(), + QoS::AtMostOnce, + None, + false, + false, + 0, + ProtocolVersion::V5, + false, + ) + .await + .unwrap(); + + for i in 0..100u8 { + let publish = + PublishPacket::new("test/rate", Bytes::copy_from_slice(&[i]), QoS::AtMostOnce); + router.route_message(&publish, None).await; + } + + let mut received = 0; + while rx.try_recv().is_ok() { + received += 1; + } + assert_eq!(received, 100); + } + + #[tokio::test] + async fn test_outbound_rate_cleanup_on_unregister() { + let router = MessageRouter::new().with_max_outbound_rate(10); + let (tx, _rx) = flume::bounded(100); + let (dtx, _drx) = tokio::sync::oneshot::channel(); + router.register_client("sub1".to_string(), tx, dtx).await; + assert!(router.outbound_rates.read().contains_key("sub1")); + + router.unregister_client("sub1").await; + assert!(!router.outbound_rates.read().contains_key("sub1")); + } } diff --git a/crates/mqtt5/src/broker/server.rs b/crates/mqtt5/src/broker/server.rs index 7911e787..3e5e5694 100644 --- a/crates/mqtt5/src/broker/server.rs +++ b/crates/mqtt5/src/broker/server.rs @@ -632,12 +632,17 @@ impl MqttBroker { } else { base }; - let router = if config.echo_suppression_config.enabled { + let with_echo = if config.echo_suppression_config.enabled { with_handler .with_echo_suppression_key(config.echo_suppression_config.property_key.clone()) } else { with_handler }; + let router = if config.max_outbound_rate_per_client > 0 { + with_echo.with_max_outbound_rate(config.max_outbound_rate_per_client) + } else { + with_echo + }; Arc::new(router) } @@ -1423,6 +1428,7 @@ impl MqttBroker { None }; router.update_echo_suppression_key(echo_key).await; + router.update_max_outbound_rate(new_config.max_outbound_rate_per_client); let new_config = Arc::new(new_config); let _ = config_watch_tx.send(Arc::clone(&new_config)); diff --git a/crates/mqtt5/tests/outbound_rate_limiting.rs b/crates/mqtt5/tests/outbound_rate_limiting.rs new file mode 100644 index 00000000..f533a563 --- /dev/null +++ b/crates/mqtt5/tests/outbound_rate_limiting.rs @@ -0,0 +1,60 @@ +mod common; + +use common::TestBroker; +use mqtt5::broker::config::{BrokerConfig, StorageBackend, StorageConfig}; +use mqtt5::time::Duration; +use mqtt5::MqttClient; +use std::net::SocketAddr; +use std::sync::atomic::{AtomicU32, Ordering}; +use std::sync::Arc; + +#[tokio::test] +async fn test_outbound_rate_limits_qos0_delivery() { + let storage_config = StorageConfig { + backend: StorageBackend::Memory, + enable_persistence: true, + ..Default::default() + }; + + let config = BrokerConfig::default() + .with_bind_address("127.0.0.1:0".parse::().unwrap()) + .with_storage(storage_config) + .with_max_outbound_rate_per_client(10); + + let mut broker = TestBroker::start_with_config(config).await; + + let subscriber = MqttClient::new("rate-sub"); + subscriber.connect(broker.address()).await.unwrap(); + + let received = Arc::new(AtomicU32::new(0)); + let received_clone = Arc::clone(&received); + + subscriber + .subscribe("#", move |_msg| { + received_clone.fetch_add(1, Ordering::Relaxed); + }) + .await + .unwrap(); + + tokio::time::sleep(Duration::from_millis(100)).await; + + let publisher = MqttClient::new("rate-pub"); + publisher.connect(broker.address()).await.unwrap(); + + for _ in 0..50u32 { + publisher.publish("test/rate", "x").await.unwrap(); + } + + tokio::time::sleep(Duration::from_millis(500)).await; + + let count = received.load(Ordering::Relaxed); + assert!( + count <= 12, + "expected at most ~10 messages (with small margin), got {count}" + ); + assert!(count >= 1, "expected at least 1 message, got {count}"); + + publisher.disconnect().await.ok(); + subscriber.disconnect().await.ok(); + broker.stop().await; +} diff --git a/crates/mqttv5-cli/src/commands/bench_cmd.rs b/crates/mqttv5-cli/src/commands/bench_cmd.rs index c15e4233..4ce7112f 100644 --- a/crates/mqttv5-cli/src/commands/bench_cmd.rs +++ b/crates/mqttv5-cli/src/commands/bench_cmd.rs @@ -1462,32 +1462,18 @@ async fn run_hol_blocking(cmd: BenchCommand) -> Result<()> { Arc::new(Mutex::new(Vec::with_capacity(cap))) }); - running.store(true, Ordering::SeqCst); - let stats_handle = if let Some(ref stats) = stats_records { - sub_client.quic_connection().await.map(|conn| { - eprintln!(" quinn stats sampler active (100ms interval)"); - spawn_quinn_stats_sampler(conn, Arc::clone(stats), Arc::clone(&running)) - }) - } else { - None - }; - - eprintln!("measuring for {}s at {rate_label}...", cmd.duration); - measure_start_nanos.store(nanos_as_u64(), Ordering::SeqCst); - let measure_wall = Instant::now(); - let measure_handles = spawn_hol_publishers(&pub_client, &pub_cfg, &running, &published); - tokio::time::sleep(Duration::from_secs(cmd.duration)).await; - running.store(false, Ordering::SeqCst); - for handle in measure_handles { - handle.await.ok(); - } - if let Some(handle) = stats_handle { - handle.await.ok(); - } - - let elapsed = measure_wall.elapsed().as_secs_f64(); - let total_published = published.load(Ordering::Relaxed); - tokio::time::sleep(Duration::from_millis(500)).await; + let (elapsed, total_published) = run_hol_measure_phase( + &sub_client, + &pub_client, + &pub_cfg, + &running, + &published, + &measure_start_nanos, + stats_records.as_ref(), + &rate_label, + cmd.duration, + ) + .await; let results = finalize_and_report_hol( &topic_samples, @@ -1544,6 +1530,47 @@ fn finalize_and_report_hol( Ok(results) } +#[allow(clippy::too_many_arguments)] +async fn run_hol_measure_phase( + sub_client: &MqttClient, + pub_client: &MqttClient, + pub_cfg: &HolPublishConfig, + running: &Arc, + published: &Arc, + measure_start_nanos: &Arc, + stats_records: Option<&Arc>>>, + rate_label: &str, + duration: u64, +) -> (f64, u64) { + running.store(true, Ordering::SeqCst); + let stats_handle = if let Some(stats) = stats_records { + sub_client.quic_connection().await.map(|conn| { + eprintln!(" quinn stats sampler active (100ms interval)"); + spawn_quinn_stats_sampler(conn, Arc::clone(stats), Arc::clone(running)) + }) + } else { + None + }; + + eprintln!("measuring for {duration}s at {rate_label}..."); + measure_start_nanos.store(nanos_as_u64(), Ordering::SeqCst); + let measure_wall = Instant::now(); + let measure_handles = spawn_hol_publishers(pub_client, pub_cfg, running, published); + tokio::time::sleep(Duration::from_secs(duration)).await; + running.store(false, Ordering::SeqCst); + for handle in measure_handles { + handle.await.ok(); + } + if let Some(handle) = stats_handle { + handle.await.ok(); + } + + let elapsed = measure_wall.elapsed().as_secs_f64(); + let total_published = published.load(Ordering::Relaxed); + tokio::time::sleep(Duration::from_millis(500)).await; + (elapsed, total_published) +} + async fn run_hol_warmup( pub_client: &MqttClient, pub_cfg: &HolPublishConfig, diff --git a/crates/mqttv5-cli/src/commands/broker_cmd.rs b/crates/mqttv5-cli/src/commands/broker_cmd.rs index 715755d1..16fbb50f 100644 --- a/crates/mqttv5-cli/src/commands/broker_cmd.rs +++ b/crates/mqttv5-cli/src/commands/broker_cmd.rs @@ -340,6 +340,7 @@ fn build_example_config() -> BrokerConfig { }, change_only_delivery_config: ChangeOnlyDeliveryConfig::default(), echo_suppression_config: mqtt5::broker::config::EchoSuppressionConfig::default(), + max_outbound_rate_per_client: 0, server_delivery_strategy: mqtt5::broker::config::ServerDeliveryStrategy::default(), bridges: vec![], #[cfg(feature = "opentelemetry")] From 96daa37814ae750a7d444a448c07aad76430db49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Thu, 5 Mar 2026 16:14:06 -0800 Subject: [PATCH 10/34] add fig08-11, bootstrap CI, Cliff's delta, exp01/exp03 parsers --- experiments/INVESTIGATION_DIARY.md | 18 ++ experiments/RESULTS_MANIFEST.md | 17 ++ .../figures/fig01_spike_iso_vs_loss.py | 20 +- .../figures/fig02_spike_iso_vs_rtt.py | 9 +- .../figures/fig03_spike_iso_vs_topics.py | 7 +- .../figures/fig04_wcorr_vs_spike_iso.py | 7 +- .../figures/fig05_latency_percentiles.py | 7 +- .../analysis/figures/fig06_timeseries_cwnd.py | 7 +- .../analysis/figures/fig07_inter_arrival.py | 7 +- .../figures/fig08_connection_latency.py | 121 +++++++++ .../figures/fig09_throughput_vs_loss.py | 123 +++++++++ .../figures/fig10_resource_overhead.py | 118 +++++++++ .../analysis/figures/fig11_qos_comparison.py | 131 ++++++++++ experiments/analysis/figures/generate_all.py | 8 + experiments/analysis/figures/style.py | 25 ++ experiments/analysis/publication_stats.py | 238 +++++++++++++++++- 16 files changed, 839 insertions(+), 24 deletions(-) create mode 100644 experiments/analysis/figures/fig08_connection_latency.py create mode 100644 experiments/analysis/figures/fig09_throughput_vs_loss.py create mode 100644 experiments/analysis/figures/fig10_resource_overhead.py create mode 100644 experiments/analysis/figures/fig11_qos_comparison.py diff --git a/experiments/INVESTIGATION_DIARY.md b/experiments/INVESTIGATION_DIARY.md index ac55ed6f..04cdb8d2 100644 --- a/experiments/INVESTIGATION_DIARY.md +++ b/experiments/INVESTIGATION_DIARY.md @@ -16,6 +16,24 @@ New entries on top, beneath the planned work list. - [x] Phase 8: Publication preparation — analysis scripts, figures, archive - [x] Phase 9: RTT boundary experiment (02d) — 15ms/20ms at 1% loss - [x] Phase 10: QoS 1 HOL experiment (02e) — tcp + per-topic at 25ms/1% +- [x] Phase 11: Publication gap closure — additional figures + statistical robustness + +--- + +## 2026-03-05 — Phase 11: Publication gap closure + +**What**: Added 4 new publication figures (fig08-11) covering connection latency, throughput vs loss, broker resource overhead, and QoS 0 vs QoS 1 comparison. Added bootstrap CI (10k resamples) and Cliff's delta non-parametric effect size to publication_stats.py. Added exp01 (connection latency) and exp03 (throughput) parsers with LaTeX table generation. + +**New figures**: +- fig08: Connection latency vs network delay (exp01 data, grouped bars, log-y) +- fig09: Throughput vs loss rate (exp03 data, QoS 0/1 subplots, line + CI bands) +- fig10: Broker resource overhead at 1% loss (exp02 broker CSV, RSS + CPU time series) +- fig11: QoS 0 vs QoS 1 comparison (exp02 + exp02e, spike isolation + throughput) + +**Statistical robustness**: +- Bootstrap CI addresses unreliable parametric t-CI for bimodal n=5 data +- Cliff's delta provides bounded [-1,1] effect size for non-normal distributions +- All stats tables now include both parametric and bootstrap CIs --- diff --git a/experiments/RESULTS_MANIFEST.md b/experiments/RESULTS_MANIFEST.md index bb21882d..11b822c8 100644 --- a/experiments/RESULTS_MANIFEST.md +++ b/experiments/RESULTS_MANIFEST.md @@ -73,6 +73,23 @@ Active results in `experiments/results/`. Archived results in `experiments/archi - **Status**: COMPLETE (control-only, per-publish, per-topic modes complete) - **Note**: per-subscription results are identical to per-topic (code alias, deprecated) +## Publication Figures (fig08-fig11) + +- **fig08_connection_latency**: Grouped bar chart of p50/p95 connection latency vs network delay (exp01 data) +- **fig09_throughput_vs_loss**: Line plot of throughput vs loss rate for QoS 0 and QoS 1 (exp03 data) +- **fig10_resource_overhead**: Time series of broker RSS and CPU at 1% loss (exp02 broker_resources.csv) +- **fig11_qos_comparison**: Grouped bars comparing QoS 0 vs QoS 1 spike isolation and throughput (exp02 + exp02e data) +- **Scripts**: `experiments/analysis/figures/fig08-11_*.py` +- **Generated via**: `python3 experiments/analysis/figures/generate_all.py experiments/results/ experiments/analysis/figures/output/` + +## Statistical Analysis (publication_stats.py) + +- **Bootstrap CI**: Distribution-free 95% CI (10k resamples) for all metrics — more robust than t-CI for n=5 bimodal data +- **Cliff's delta**: Non-parametric effect size [-1,1] alongside Cohen's d in comparison tables +- **Exp01 parser**: Connection latency metrics (p50/p95/p99, connections/sec) with LaTeX table +- **Exp03 parser**: Throughput metrics (avg, published, received) with LaTeX table +- **Generated via**: `python3 experiments/analysis/publication_stats.py experiments/results/` + ## 12_payload_format_localhost - **Experiment**: Payload format performance on localhost diff --git a/experiments/analysis/figures/fig01_spike_iso_vs_loss.py b/experiments/analysis/figures/fig01_spike_iso_vs_loss.py index e8ef0827..3c249c30 100644 --- a/experiments/analysis/figures/fig01_spike_iso_vs_loss.py +++ b/experiments/analysis/figures/fig01_spike_iso_vs_loss.py @@ -68,15 +68,18 @@ def main(results_dir: Path, output_dir: Path): for transport_idx, transport in enumerate(TRANSPORT_ORDER): means = [] - ci_widths = [] + err_lo = [] + err_hi = [] for loss in LOSS_RATES: if loss in data[transport]: mean, ci_half = compute_ci(data[transport][loss]) means.append(mean) - ci_widths.append(ci_half) + err_lo.append(min(ci_half, mean)) + err_hi.append(min(ci_half, 1.0 - mean)) else: means.append(0) - ci_widths.append(0) + err_lo.append(0) + err_hi.append(0) offset = (transport_idx - (num_transports - 1) / 2) * bar_width positions = group_positions + offset @@ -85,7 +88,7 @@ def main(results_dir: Path, output_dir: Path): positions, means, bar_width, - yerr=ci_widths, + yerr=[err_lo, err_hi], capsize=3, color=TRANSPORT_COLORS[transport], label=TRANSPORT_LABELS[transport], @@ -98,7 +101,7 @@ def main(results_dir: Path, output_dir: Path): ax.set_title("HOL Blocking: Spike Isolation vs. Loss Rate") ax.set_xticks(group_positions) ax.set_xticklabels(LOSS_LABELS) - ax.set_ylim(0, 1.05) + ax.set_ylim(0, 1.2) ax.legend(loc="best", framealpha=0.9) fig.tight_layout() @@ -106,7 +109,10 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": - results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else Path("../../results") - output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else Path("./output") + script_dir = Path(__file__).resolve().parent + default_results = script_dir.parent.parent / "results" + default_output = script_dir / "output" + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output output_dir.mkdir(parents=True, exist_ok=True) main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig02_spike_iso_vs_rtt.py b/experiments/analysis/figures/fig02_spike_iso_vs_rtt.py index e58ef2c7..84807750 100644 --- a/experiments/analysis/figures/fig02_spike_iso_vs_rtt.py +++ b/experiments/analysis/figures/fig02_spike_iso_vs_rtt.py @@ -126,7 +126,7 @@ def main(results_dir: Path, output_dir: Path): ax.set_xlabel("RTT (ms)") ax.set_ylabel("Spike Isolation Ratio") ax.set_title("HOL Blocking: Spike Isolation vs. RTT") - ax.set_ylim(0, 1.05) + ax.set_ylim(0, 1.12) ax.legend(loc="best", framealpha=0.9) fig.tight_layout() @@ -134,7 +134,10 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": - results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else Path("../../results") - output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else Path("./output") + script_dir = Path(__file__).resolve().parent + default_results = script_dir.parent.parent / "results" + default_output = script_dir / "output" + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output output_dir.mkdir(parents=True, exist_ok=True) main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig03_spike_iso_vs_topics.py b/experiments/analysis/figures/fig03_spike_iso_vs_topics.py index 70a539b1..292fac8d 100644 --- a/experiments/analysis/figures/fig03_spike_iso_vs_topics.py +++ b/experiments/analysis/figures/fig03_spike_iso_vs_topics.py @@ -126,7 +126,10 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": - results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else Path("../../results") - output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else Path("./output") + script_dir = Path(__file__).resolve().parent + default_results = script_dir.parent.parent / "results" + default_output = script_dir / "output" + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output output_dir.mkdir(parents=True, exist_ok=True) main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig04_wcorr_vs_spike_iso.py b/experiments/analysis/figures/fig04_wcorr_vs_spike_iso.py index 4d57c49e..53cf9ef2 100644 --- a/experiments/analysis/figures/fig04_wcorr_vs_spike_iso.py +++ b/experiments/analysis/figures/fig04_wcorr_vs_spike_iso.py @@ -112,7 +112,10 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": - results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else Path("../../results") - output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else Path("./output") + script_dir = Path(__file__).resolve().parent + default_results = script_dir.parent.parent / "results" + default_output = script_dir / "output" + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output output_dir.mkdir(parents=True, exist_ok=True) main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig05_latency_percentiles.py b/experiments/analysis/figures/fig05_latency_percentiles.py index 5b28aee4..0751a5a0 100644 --- a/experiments/analysis/figures/fig05_latency_percentiles.py +++ b/experiments/analysis/figures/fig05_latency_percentiles.py @@ -111,7 +111,10 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": - results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else Path("../../results") - output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else Path("./output") + script_dir = Path(__file__).resolve().parent + default_results = script_dir.parent.parent / "results" + default_output = script_dir / "output" + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output output_dir.mkdir(parents=True, exist_ok=True) main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig06_timeseries_cwnd.py b/experiments/analysis/figures/fig06_timeseries_cwnd.py index a56a8d48..45d2ec1e 100644 --- a/experiments/analysis/figures/fig06_timeseries_cwnd.py +++ b/experiments/analysis/figures/fig06_timeseries_cwnd.py @@ -99,7 +99,10 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": - results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else Path("../../results") - output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else Path("./output") + script_dir = Path(__file__).resolve().parent + default_results = script_dir.parent.parent / "results" + default_output = script_dir / "output" + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output output_dir.mkdir(parents=True, exist_ok=True) main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig07_inter_arrival.py b/experiments/analysis/figures/fig07_inter_arrival.py index 03051786..9a89f05a 100644 --- a/experiments/analysis/figures/fig07_inter_arrival.py +++ b/experiments/analysis/figures/fig07_inter_arrival.py @@ -89,7 +89,10 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": - results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else Path("../../results") - output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else Path("./output") + script_dir = Path(__file__).resolve().parent + default_results = script_dir.parent.parent / "results" + default_output = script_dir / "output" + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output output_dir.mkdir(parents=True, exist_ok=True) main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig08_connection_latency.py b/experiments/analysis/figures/fig08_connection_latency.py new file mode 100644 index 00000000..d2faa673 --- /dev/null +++ b/experiments/analysis/figures/fig08_connection_latency.py @@ -0,0 +1,121 @@ +import json +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np +from scipy import stats + +sys.path.insert(0, str(Path(__file__).parent)) +from style import ( + CONN_TRANSPORT_COLORS, + CONN_TRANSPORT_LABELS, + CONN_TRANSPORT_ORDER, + apply_style, + save_figure, +) + +DELAYS_MS = [0, 25, 50, 100, 200] +DELAY_LABELS = ["0ms", "25ms", "50ms", "100ms", "200ms"] +RUNS = range(1, 6) + + +def load_connection_latency(results_dir: Path): + exp_dir = results_dir / "01_connection_latency" + if not exp_dir.exists(): + print(f" WARNING: {exp_dir} not found, skipping fig08") + return None + + data = {} + for transport in CONN_TRANSPORT_ORDER: + data[transport] = {} + for delay in DELAYS_MS: + p50_values = [] + p95_values = [] + for run in RUNS: + filepath = exp_dir / f"{transport}_delay{delay}ms_run{run}.json" + if not filepath.exists(): + continue + with open(filepath) as f: + result = json.load(f) + p50_values.append(result["results"]["p50_connect_us"]) + p95_values.append(result["results"]["p95_connect_us"]) + if p50_values: + data[transport][delay] = {"p50": p50_values, "p95": p95_values} + return data + + +def compute_ci(values, confidence=0.95): + n = len(values) + if n < 2: + return np.mean(values), 0.0 + m = np.mean(values) + sem = stats.sem(values) + t_crit = stats.t.ppf((1 + confidence) / 2, df=n - 1) + return m, t_crit * sem + + +def main(results_dir: Path, output_dir: Path): + apply_style() + data = load_connection_latency(results_dir) + if data is None: + return + + fig, ax = plt.subplots(figsize=(7, 4.5)) + + num_transports = len(CONN_TRANSPORT_ORDER) + num_groups = len(DELAYS_MS) + bar_width = 0.22 + group_positions = np.arange(num_groups) + + for tidx, transport in enumerate(CONN_TRANSPORT_ORDER): + p50_means = [] + p50_cis = [] + p95_tops = [] + for delay in DELAYS_MS: + if delay in data[transport]: + p50_mean, p50_ci = compute_ci(data[transport][delay]["p50"]) + p95_mean, _ = compute_ci(data[transport][delay]["p95"]) + p50_means.append(p50_mean) + p50_cis.append(p50_ci) + p95_tops.append(max(0, p95_mean - p50_mean)) + else: + p50_means.append(0) + p50_cis.append(0) + p95_tops.append(0) + + offset = (tidx - (num_transports - 1) / 2) * bar_width + positions = group_positions + offset + + ax.bar( + positions, + p50_means, + bar_width, + yerr=[[0] * num_groups, p95_tops], + capsize=3, + color=CONN_TRANSPORT_COLORS[transport], + label=CONN_TRANSPORT_LABELS[transport], + edgecolor="white", + linewidth=0.5, + ) + + ax.set_xlabel("One-Way Delay (RTT = 2x)") + ax.set_ylabel("Connect Latency (us)") + ax.set_yscale("log") + ax.set_title("Connection Setup Latency vs. Network Delay") + ax.set_xticks(group_positions) + ax.set_xticklabels(DELAY_LABELS) + ax.legend(loc="upper left", framealpha=0.9) + + fig.tight_layout() + save_figure(fig, output_dir, "fig08_connection_latency") + + +if __name__ == "__main__": + script_dir = Path(__file__).resolve().parent + default_results = script_dir.parent.parent / "results" + default_output = script_dir / "output" + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output + output_dir.mkdir(parents=True, exist_ok=True) + main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig09_throughput_vs_loss.py b/experiments/analysis/figures/fig09_throughput_vs_loss.py new file mode 100644 index 00000000..00d40ea1 --- /dev/null +++ b/experiments/analysis/figures/fig09_throughput_vs_loss.py @@ -0,0 +1,123 @@ +import json +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np +from scipy import stats + +sys.path.insert(0, str(Path(__file__).parent)) +from style import ( + THROUGHPUT_COLORS, + THROUGHPUT_LABELS, + THROUGHPUT_MARKERS, + THROUGHPUT_ORDER, + apply_style, + save_figure, +) + +LOSS_RATES = [0, 1, 2, 5, 10] +LOSS_LABELS = ["0%", "1%", "2%", "5%", "10%"] +QOS_LEVELS = [0, 1] +RUNS = range(1, 6) + + +def load_throughput_data(results_dir: Path): + exp_dir = results_dir / "03_throughput_under_loss" + if not exp_dir.exists(): + print(f" WARNING: {exp_dir} not found, skipping fig09") + return None + + data = {} + for strategy in THROUGHPUT_ORDER: + data[strategy] = {} + for qos in QOS_LEVELS: + data[strategy][qos] = {} + for loss in LOSS_RATES: + values = [] + for run in RUNS: + filepath = exp_dir / f"{strategy}_qos{qos}_loss{loss}pct_run{run}.json" + if not filepath.exists(): + continue + with open(filepath) as f: + result = json.load(f) + values.append(result["results"]["throughput_avg"]) + if values: + data[strategy][qos][loss] = values + return data + + +def compute_ci(values, confidence=0.95): + n = len(values) + if n < 2: + return np.mean(values), 0.0 + m = np.mean(values) + sem = stats.sem(values) + t_crit = stats.t.ppf((1 + confidence) / 2, df=n - 1) + return m, t_crit * sem + + +def main(results_dir: Path, output_dir: Path): + apply_style() + data = load_throughput_data(results_dir) + if data is None: + return + + fig, axes = plt.subplots(2, 1, figsize=(7, 8), sharex=True) + + for qos_idx, qos in enumerate(QOS_LEVELS): + ax = axes[qos_idx] + for strategy in THROUGHPUT_ORDER: + x_vals = [] + y_means = [] + y_lo = [] + y_hi = [] + for loss in LOSS_RATES: + if loss in data[strategy][qos]: + m, ci_half = compute_ci(data[strategy][qos][loss]) + x_vals.append(loss) + y_means.append(m) + y_lo.append(m - ci_half) + y_hi.append(m + ci_half) + + if not x_vals: + continue + + ax.plot( + x_vals, + y_means, + marker=THROUGHPUT_MARKERS[strategy], + color=THROUGHPUT_COLORS[strategy], + label=THROUGHPUT_LABELS[strategy], + linewidth=1.5, + markersize=5, + ) + ax.fill_between( + x_vals, + y_lo, + y_hi, + alpha=0.15, + color=THROUGHPUT_COLORS[strategy], + ) + + ax.set_ylabel("Throughput (msgs/sec)") + ax.set_title(f"QoS {qos}") + ax.legend(loc="best", framealpha=0.9) + + axes[1].set_xlabel("Packet Loss Rate (%)") + axes[1].set_xticks(LOSS_RATES) + axes[1].set_xticklabels(LOSS_LABELS) + fig.suptitle("Throughput vs. Packet Loss Rate", fontsize=12, y=0.98) + + fig.tight_layout() + save_figure(fig, output_dir, "fig09_throughput_vs_loss") + + +if __name__ == "__main__": + script_dir = Path(__file__).resolve().parent + default_results = script_dir.parent.parent / "results" + default_output = script_dir / "output" + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output + output_dir.mkdir(parents=True, exist_ok=True) + main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig10_resource_overhead.py b/experiments/analysis/figures/fig10_resource_overhead.py new file mode 100644 index 00000000..665a6f91 --- /dev/null +++ b/experiments/analysis/figures/fig10_resource_overhead.py @@ -0,0 +1,118 @@ +import csv +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np + +sys.path.insert(0, str(Path(__file__).parent)) +from style import ( + TRANSPORT_COLORS, + TRANSPORT_LABELS, + TRANSPORT_ORDER, + apply_style, + save_figure, +) + +RUNS = range(1, 6) + + +def load_resource_csvs(results_dir: Path): + exp_dir = results_dir / "02_hol_blocking" + if not exp_dir.exists(): + print(f" WARNING: {exp_dir} not found, skipping fig10") + return None + + data = {} + for transport in TRANSPORT_ORDER: + run_series = [] + for run in RUNS: + filepath = exp_dir / f"{transport}_loss1pct_run{run}_broker_resources.csv" + if not filepath.exists(): + continue + timestamps = [] + rss_kb = [] + cpu_pct = [] + with open(filepath) as f: + reader = csv.DictReader(f) + for row in reader: + timestamps.append(float(row["timestamp"])) + rss_kb.append(float(row["rss_kb"])) + cpu_pct.append(float(row["cpu_percent"])) + if timestamps: + t0 = timestamps[0] + elapsed = [t - t0 for t in timestamps] + rss_mb = [v / 1024.0 for v in rss_kb] + run_series.append({"elapsed": elapsed, "rss_mb": rss_mb, "cpu_pct": cpu_pct}) + if run_series: + data[transport] = run_series + return data + + +def interpolate_runs(run_series): + max_t = min(s["elapsed"][-1] for s in run_series) + common_t = np.arange(0, max_t + 1, 1.0) + + rss_matrix = [] + cpu_matrix = [] + for series in run_series: + rss_interp = np.interp(common_t, series["elapsed"], series["rss_mb"]) + cpu_interp = np.interp(common_t, series["elapsed"], series["cpu_pct"]) + rss_matrix.append(rss_interp) + cpu_matrix.append(cpu_interp) + + return common_t, np.array(rss_matrix), np.array(cpu_matrix) + + +def main(results_dir: Path, output_dir: Path): + apply_style() + data = load_resource_csvs(results_dir) + if data is None: + return + + fig, axes = plt.subplots(2, 1, figsize=(7, 7), sharex=True) + + for transport in TRANSPORT_ORDER: + if transport not in data: + continue + + common_t, rss_matrix, cpu_matrix = interpolate_runs(data[transport]) + + rss_median = np.median(rss_matrix, axis=0) + rss_q25 = np.percentile(rss_matrix, 25, axis=0) + rss_q75 = np.percentile(rss_matrix, 75, axis=0) + + cpu_median = np.median(cpu_matrix, axis=0) + cpu_q25 = np.percentile(cpu_matrix, 25, axis=0) + cpu_q75 = np.percentile(cpu_matrix, 75, axis=0) + + color = TRANSPORT_COLORS[transport] + label = TRANSPORT_LABELS[transport] + + axes[0].plot(common_t, rss_median, color=color, label=label, linewidth=1.2) + axes[0].fill_between(common_t, rss_q25, rss_q75, alpha=0.15, color=color) + + axes[1].plot(common_t, cpu_median, color=color, label=label, linewidth=1.2) + axes[1].fill_between(common_t, cpu_q25, cpu_q75, alpha=0.15, color=color) + + axes[0].set_ylabel("RSS (MB)") + axes[0].set_title("Broker Memory Usage at 1% Loss") + axes[0].legend(loc="best", framealpha=0.9) + + axes[1].set_ylabel("CPU (%)") + axes[1].set_xlabel("Elapsed Time (s)") + axes[1].set_title("Broker CPU Usage at 1% Loss") + axes[1].legend(loc="best", framealpha=0.9) + + fig.tight_layout() + save_figure(fig, output_dir, "fig10_resource_overhead") + + +if __name__ == "__main__": + script_dir = Path(__file__).resolve().parent + default_results = script_dir.parent.parent / "results" + default_output = script_dir / "output" + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output + output_dir.mkdir(parents=True, exist_ok=True) + main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig11_qos_comparison.py b/experiments/analysis/figures/fig11_qos_comparison.py new file mode 100644 index 00000000..feac0bba --- /dev/null +++ b/experiments/analysis/figures/fig11_qos_comparison.py @@ -0,0 +1,131 @@ +import json +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np +from scipy import stats + +sys.path.insert(0, str(Path(__file__).parent)) +from style import apply_style, save_figure + +TRANSPORTS = ["tcp", "quic-pertopic"] +TRANSPORT_LABELS = {"tcp": "TCP", "quic-pertopic": "QUIC per-topic"} +QOS_COLORS = {"qos0": "#1f77b4", "qos1": "#d62728"} +QOS_LABELS = {"qos0": "QoS 0", "qos1": "QoS 1"} +RUNS = range(1, 6) + + +def load_qos_data(results_dir: Path): + qos0_dir = results_dir / "02_hol_blocking" + qos1_dir = results_dir / "02e_hol_qos1" + + if not qos0_dir.exists() or not qos1_dir.exists(): + print(f" WARNING: need both {qos0_dir} and {qos1_dir}, skipping fig11") + return None + + data = {} + for transport in TRANSPORTS: + data[transport] = {"qos0": {"spike_iso": [], "measured_rate": []}, + "qos1": {"spike_iso": [], "measured_rate": []}} + for run in RUNS: + qos0_path = qos0_dir / f"{transport}_loss1pct_run{run}.json" + if qos0_path.exists(): + with open(qos0_path) as f: + result = json.load(f) + data[transport]["qos0"]["spike_iso"].append( + result["results"]["spike_isolation_ratio"]) + data[transport]["qos0"]["measured_rate"].append( + result["results"]["measured_rate"]) + + qos1_path = qos1_dir / f"{transport}_qos1_run{run}.json" + if qos1_path.exists(): + with open(qos1_path) as f: + result = json.load(f) + data[transport]["qos1"]["spike_iso"].append( + result["results"]["spike_isolation_ratio"]) + data[transport]["qos1"]["measured_rate"].append( + result["results"]["measured_rate"]) + + return data + + +def compute_ci(values, confidence=0.95): + n = len(values) + if n < 2: + return np.mean(values), 0.0 + m = np.mean(values) + sem = stats.sem(values) + t_crit = stats.t.ppf((1 + confidence) / 2, df=n - 1) + return m, t_crit * sem + + +def plot_grouped_bars(ax, data, metric, ylabel, title): + num_transports = len(TRANSPORTS) + num_qos = 2 + bar_width = 0.25 + group_positions = np.arange(num_transports) + + for qos_idx, qos_key in enumerate(["qos0", "qos1"]): + means = [] + cis = [] + for transport in TRANSPORTS: + values = data[transport][qos_key][metric] + if values: + m, ci_half = compute_ci(values) + means.append(m) + cis.append(ci_half) + else: + means.append(0) + cis.append(0) + + offset = (qos_idx - (num_qos - 1) / 2) * bar_width + positions = group_positions + offset + + ax.bar( + positions, + means, + bar_width, + yerr=cis, + capsize=4, + color=QOS_COLORS[qos_key], + label=QOS_LABELS[qos_key], + edgecolor="white", + linewidth=0.5, + ) + + ax.set_xticks(group_positions) + ax.set_xticklabels([TRANSPORT_LABELS[t] for t in TRANSPORTS]) + ax.set_ylabel(ylabel) + ax.set_title(title) + ax.legend(loc="best", framealpha=0.9) + + +def main(results_dir: Path, output_dir: Path): + apply_style() + data = load_qos_data(results_dir) + if data is None: + return + + fig, axes = plt.subplots(1, 2, figsize=(10, 4.5)) + + plot_grouped_bars(axes[0], data, "spike_iso", + "Spike Isolation Ratio", + "HOL Blocking: QoS 0 vs QoS 1") + + plot_grouped_bars(axes[1], data, "measured_rate", + "Throughput (msgs/sec)", + "Throughput: QoS 0 vs QoS 1") + + fig.tight_layout() + save_figure(fig, output_dir, "fig11_qos_comparison") + + +if __name__ == "__main__": + script_dir = Path(__file__).resolve().parent + default_results = script_dir.parent.parent / "results" + default_output = script_dir / "output" + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output + output_dir.mkdir(parents=True, exist_ok=True) + main(results_dir, output_dir) diff --git a/experiments/analysis/figures/generate_all.py b/experiments/analysis/figures/generate_all.py index 83f1f508..862a6aad 100755 --- a/experiments/analysis/figures/generate_all.py +++ b/experiments/analysis/figures/generate_all.py @@ -8,6 +8,10 @@ from fig05_latency_percentiles import main as fig05 from fig06_timeseries_cwnd import main as fig06 from fig07_inter_arrival import main as fig07 +from fig08_connection_latency import main as fig08 +from fig09_throughput_vs_loss import main as fig09 +from fig10_resource_overhead import main as fig10 +from fig11_qos_comparison import main as fig11 FIGURES = [ ("fig01_spike_iso_vs_loss", fig01), @@ -17,6 +21,10 @@ ("fig05_latency_percentiles", fig05), ("fig06_timeseries_cwnd", fig06), ("fig07_inter_arrival", fig07), + ("fig08_connection_latency", fig08), + ("fig09_throughput_vs_loss", fig09), + ("fig10_resource_overhead", fig10), + ("fig11_qos_comparison", fig11), ] diff --git a/experiments/analysis/figures/style.py b/experiments/analysis/figures/style.py index ad7b4c8e..b98f710f 100644 --- a/experiments/analysis/figures/style.py +++ b/experiments/analysis/figures/style.py @@ -26,6 +26,31 @@ TRANSPORT_ORDER = ["tcp", "quic-control", "quic-pertopic", "quic-perpub"] +CONN_TRANSPORT_ORDER = ["tcp", "tls", "quic"] +CONN_TRANSPORT_COLORS = {"tcp": "#1f77b4", "tls": "#9467bd", "quic": "#2ca02c"} +CONN_TRANSPORT_LABELS = {"tcp": "TCP", "tls": "TLS 1.3", "quic": "QUIC"} +CONN_TRANSPORT_MARKERS = {"tcp": "o", "tls": "P", "quic": "^"} + +THROUGHPUT_ORDER = ["tcp", "quic-control-only", "quic-per-topic", "quic-per-publish"] +THROUGHPUT_COLORS = { + "tcp": "#1f77b4", + "quic-control-only": "#ff7f0e", + "quic-per-topic": "#2ca02c", + "quic-per-publish": "#d62728", +} +THROUGHPUT_LABELS = { + "tcp": "TCP", + "quic-control-only": "QUIC control", + "quic-per-topic": "QUIC per-topic", + "quic-per-publish": "QUIC per-publish", +} +THROUGHPUT_MARKERS = { + "tcp": "o", + "quic-control-only": "s", + "quic-per-topic": "^", + "quic-per-publish": "D", +} + FIGURE_WIDTH = 7 FIGURE_HEIGHT = 4.5 FONT_SIZE = 10 diff --git a/experiments/analysis/publication_stats.py b/experiments/analysis/publication_stats.py index 3365bcbe..8fac0f16 100755 --- a/experiments/analysis/publication_stats.py +++ b/experiments/analysis/publication_stats.py @@ -15,6 +15,7 @@ import json import math +import random import re import sys from collections import defaultdict @@ -66,6 +67,37 @@ def cohens_d(group_a: list[float], group_b: list[float]) -> float: return (ma - mb) / pooled_std +def bootstrap_ci(values: list[float], n_resamples: int = 10000, confidence: float = 0.95) -> tuple[float, float]: + n = len(values) + if n < 2: + m = mean(values) + return m, m + rng = random.Random(42) + means = [] + for _ in range(n_resamples): + sample = [rng.choice(values) for _ in range(n)] + means.append(mean(sample)) + means.sort() + alpha = 1 - confidence + lo_idx = int(math.floor(alpha / 2 * n_resamples)) + hi_idx = int(math.ceil((1 - alpha / 2) * n_resamples)) - 1 + return means[lo_idx], means[hi_idx] + + +def cliff_delta(group_a: list[float], group_b: list[float]) -> float: + na, nb = len(group_a), len(group_b) + if na == 0 or nb == 0: + return float("nan") + dominance = 0 + for a in group_a: + for b in group_b: + if a > b: + dominance += 1 + elif a < b: + dominance -= 1 + return dominance / (na * nb) + + def extract_metrics(data: dict) -> dict: results = data["results"] topics = results["topics"] @@ -89,6 +121,25 @@ def extract_metrics(data: dict) -> dict: } +def extract_conn_metrics(data: dict) -> dict: + results = data["results"] + return { + "p50_connect_us": results["p50_connect_us"], + "p95_connect_us": results["p95_connect_us"], + "p99_connect_us": results["p99_connect_us"], + "connections_per_sec": results["connections_per_sec"], + } + + +def extract_throughput_metrics(data: dict) -> dict: + results = data["results"] + return { + "throughput_avg": results["throughput_avg"], + "published": results["published"], + "received": results["received"], + } + + PARSERS = { "02_hol_blocking": ( re.compile(r"(.+?)_loss(\d+)pct_run(\d+)\.json"), @@ -112,6 +163,20 @@ def extract_metrics(data: dict) -> dict: ), } +CONN_PARSERS = { + "01_connection_latency": ( + re.compile(r"(.+?)_delay(\d+)ms_run(\d+)\.json"), + lambda m: (m.group(1), f"delay{m.group(2)}ms"), + ), +} + +THROUGHPUT_PARSERS = { + "03_throughput_under_loss": ( + re.compile(r"(.+?)_qos(\d)_loss(\d+)pct_run(\d+)\.json"), + lambda m: (m.group(1), f"qos{m.group(2)}_loss{m.group(3)}pct"), + ), +} + TRANSPORT_ORDER = ["tcp", "quic-control", "quic-pertopic", "quic-perpub"] TRANSPORT_LABELS = { "tcp": "TCP", @@ -150,16 +215,88 @@ def compute_stats(metrics_list: list[dict], field: str) -> dict | None: if not values: return None m, lo, hi = ci_95(values) + boot_lo, boot_hi = bootstrap_ci(values) return { "mean": m, "std": std(values), "ci_lo": lo, "ci_hi": hi, + "bootstrap_ci_lo": boot_lo, + "bootstrap_ci_hi": boot_hi, "n": len(values), "values": values, } +def aggregate_conn_experiment(base_dir: Path, experiment: str) -> dict[tuple[str, str], list[dict]]: + exp_dir = base_dir / experiment + if not exp_dir.exists(): + return {} + + parser_info = CONN_PARSERS.get(experiment) + if not parser_info: + return {} + + pattern, extractor = parser_info + grouped: dict[tuple[str, str], list[dict]] = defaultdict(list) + + for jf in sorted(exp_dir.glob("*.json")): + m = pattern.match(jf.name) + if not m: + continue + transport, condition = extractor(m) + data = load_json(jf) + metrics = extract_conn_metrics(data) + grouped[(transport, condition)].append(metrics) + + return grouped + + +def aggregate_throughput_experiment(base_dir: Path, experiment: str) -> dict[tuple[str, str], list[dict]]: + exp_dir = base_dir / experiment + if not exp_dir.exists(): + return {} + + parser_info = THROUGHPUT_PARSERS.get(experiment) + if not parser_info: + return {} + + pattern, extractor = parser_info + grouped: dict[tuple[str, str], list[dict]] = defaultdict(list) + + for jf in sorted(exp_dir.glob("*.json")): + m = pattern.match(jf.name) + if not m: + continue + strategy, condition = extractor(m) + data = load_json(jf) + metrics = extract_throughput_metrics(data) + grouped[(strategy, condition)].append(metrics) + + return grouped + + +def build_stats_table_generic( + grouped: dict[tuple[str, str], list[dict]], + transport_order: list[str], + conditions: list[str], + fields: list[str], +) -> dict: + table = {} + for transport in transport_order: + for condition in conditions: + key = (transport, condition) + if key not in grouped: + continue + entry = {"transport": transport, "condition": condition} + for field in fields: + stat = compute_stats(grouped[key], field) + if stat: + entry[field] = stat + table[f"{transport}_{condition}"] = entry + return table + + def build_stats_table( grouped: dict[tuple[str, str], list[dict]], conditions: list[str], @@ -224,6 +361,7 @@ def run_comparisons(grouped: dict, conditions: list[str]) -> list[dict]: bonferroni_p = min(p_value * num_comparisons, 1.0) d = cohens_d(vals_a, vals_b) + cd = cliff_delta(vals_a, vals_b) comparisons.append({ "condition": condition, @@ -237,6 +375,7 @@ def run_comparisons(grouped: dict, conditions: list[str]) -> list[dict]: "p_value": p_value, "bonferroni_p": bonferroni_p, "cohens_d": d if not math.isnan(d) else None, + "cliff_delta": cd if not math.isnan(cd) else None, "significant": bonferroni_p < 0.05, "n_comparisons": num_comparisons, }) @@ -294,18 +433,19 @@ def generate_latex(all_stats: dict, comparisons: list[dict]) -> str: lines.append("\\centering") lines.append("\\caption{Statistical comparisons (Mann-Whitney U, Bonferroni-corrected)}") lines.append("\\label{tab:comparisons}") - lines.append("\\begin{tabular}{llcccl}") + lines.append("\\begin{tabular}{llccccl}") lines.append("\\toprule") - lines.append("Condition & Comparison & $U$ & $p$ (corrected) & Cohen's $d$ & Sig. \\\\") + lines.append("Condition & Comparison & $U$ & $p$ (corrected) & Cohen's $d$ & Cliff's $\\delta$ & Sig. \\\\") lines.append("\\midrule") for comp in comparisons: d_str = f"{comp['cohens_d']:.2f}" if comp["cohens_d"] is not None else "---" + cd_str = f"{comp['cliff_delta']:.2f}" if comp.get("cliff_delta") is not None else "---" sig_str = "***" if comp["significant"] else "n.s." lines.append( f"{comp['condition']} & {comp['comparison']} & " f"{comp['u_statistic']:.1f} & {comp['bonferroni_p']:.4f} & " - f"{d_str} & {sig_str} \\\\" + f"{d_str} & {cd_str} & {sig_str} \\\\" ) lines.append("\\bottomrule") @@ -313,6 +453,79 @@ def generate_latex(all_stats: dict, comparisons: list[dict]) -> str: lines.append("\\end{table}") lines.append("") + if "exp01" in all_stats: + conn_transport_order = ["tcp", "tls", "quic"] + conn_labels = {"tcp": "TCP", "tls": "TLS 1.3", "quic": "QUIC"} + delays = ["delay0ms", "delay25ms", "delay50ms", "delay100ms", "delay200ms"] + delay_headers = ["0ms", "25ms", "50ms", "100ms", "200ms"] + + lines.append("\\begin{table}[h]") + lines.append("\\centering") + lines.append("\\caption{Connection latency p50 (us) across network delays}") + lines.append("\\label{tab:conn_latency}") + lines.append("\\begin{tabular}{l" + "c" * len(delays) + "}") + lines.append("\\toprule") + lines.append("Transport & " + " & ".join(delay_headers) + " \\\\") + lines.append("\\midrule") + + for transport in conn_transport_order: + label = conn_labels.get(transport, transport) + cells = [label] + for delay in delays: + key = f"{transport}_{delay}" + entry = all_stats["exp01"].get(key, {}) + p50 = entry.get("p50_connect_us") + if p50: + boot_lo = p50.get("bootstrap_ci_lo", p50["ci_lo"]) + boot_hi = p50.get("bootstrap_ci_hi", p50["ci_hi"]) + cells.append(f"${p50['mean']:.0f}$ [{boot_lo:.0f}, {boot_hi:.0f}]") + else: + cells.append("---") + lines.append(" & ".join(cells) + " \\\\") + + lines.append("\\bottomrule") + lines.append("\\end{tabular}") + lines.append("\\end{table}") + lines.append("") + + if "exp03" in all_stats: + tp_order = ["tcp", "quic-control-only", "quic-per-topic", "quic-per-publish"] + tp_labels = { + "tcp": "TCP", + "quic-control-only": "QUIC control", + "quic-per-topic": "QUIC per-topic", + "quic-per-publish": "QUIC per-publish", + } + loss_conditions = ["qos0_loss0pct", "qos0_loss1pct", "qos0_loss5pct", "qos0_loss10pct"] + loss_headers = ["0\\%", "1\\%", "5\\%", "10\\%"] + + lines.append("\\begin{table}[h]") + lines.append("\\centering") + lines.append("\\caption{QoS 0 throughput (msgs/sec) across packet loss rates}") + lines.append("\\label{tab:throughput_qos0}") + lines.append("\\begin{tabular}{l" + "c" * len(loss_conditions) + "}") + lines.append("\\toprule") + lines.append("Strategy & " + " & ".join(loss_headers) + " \\\\") + lines.append("\\midrule") + + for transport in tp_order: + label = tp_labels.get(transport, transport) + cells = [label] + for cond in loss_conditions: + key = f"{transport}_{cond}" + entry = all_stats["exp03"].get(key, {}) + tp_stat = entry.get("throughput_avg") + if tp_stat: + cells.append(f"${tp_stat['mean']:.0f} \\pm {tp_stat['std']:.0f}$") + else: + cells.append("---") + lines.append(" & ".join(cells) + " \\\\") + + lines.append("\\bottomrule") + lines.append("\\end{tabular}") + lines.append("\\end{table}") + lines.append("") + return "\n".join(lines) @@ -361,6 +574,22 @@ def main(): all_stats["exp02e"] = build_stats_table(exp02e, qos_conditions, fields) print("Exp 02e (QoS 1): processed") + exp01 = aggregate_conn_experiment(base_dir, "01_connection_latency") + if exp01: + conn_order = ["tcp", "tls", "quic"] + conn_conditions = sorted({k[1] for k in exp01}) + conn_fields = ["p50_connect_us", "p95_connect_us", "p99_connect_us", "connections_per_sec"] + all_stats["exp01"] = build_stats_table_generic(exp01, conn_order, conn_conditions, conn_fields) + print(f"Exp 01 (connection latency): processed ({len(conn_conditions)} delays)") + + exp03 = aggregate_throughput_experiment(base_dir, "03_throughput_under_loss") + if exp03: + tp_order = ["tcp", "quic-control-only", "quic-per-topic", "quic-per-publish"] + tp_conditions = sorted({k[1] for k in exp03}) + tp_fields = ["throughput_avg", "published", "received"] + all_stats["exp03"] = build_stats_table_generic(exp03, tp_order, tp_conditions, tp_fields) + print(f"Exp 03 (throughput): processed ({len(tp_conditions)} conditions)") + merged_rtt = {} if exp02: for key, metrics in exp02.items(): @@ -429,10 +658,11 @@ def sanitize(obj): for comp in all_comparisons: sig = "***" if comp["significant"] else "n.s." d_str = f"d={comp['cohens_d']:.2f}" if comp["cohens_d"] is not None else "d=N/A" + cd_str = f"cd={comp['cliff_delta']:.2f}" if comp.get("cliff_delta") is not None else "cd=N/A" print( f" {comp['condition']:12s} {comp['comparison']:20s} " f"spike_iso: {comp['mean_a']:.3f} vs {comp['mean_b']:.3f} " - f"U={comp['u_statistic']:.1f} p={comp['bonferroni_p']:.4f} {sig} {d_str}" + f"U={comp['u_statistic']:.1f} p={comp['bonferroni_p']:.4f} {sig} {d_str} {cd_str}" ) From 5458eb064fdefcc10fc86b31c4ceb678a18e21dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Fri, 6 Mar 2026 08:05:02 -0800 Subject: [PATCH 11/34] fix queue filename collision and stale subscription leak --- crates/mqtt5/src/broker/router.rs | 76 ++++++++++++++++++- crates/mqtt5/src/broker/server.rs | 2 + .../mqtt5/src/broker/storage/file_backend.rs | 7 +- 3 files changed, 82 insertions(+), 3 deletions(-) diff --git a/crates/mqtt5/src/broker/router.rs b/crates/mqtt5/src/broker/router.rs index aabb8fb9..39bbcfd3 100644 --- a/crates/mqtt5/src/broker/router.rs +++ b/crates/mqtt5/src/broker/router.rs @@ -9,7 +9,7 @@ use crate::types::ProtocolVersion; use crate::validation::{parse_shared_subscription, topic_matches_filter}; use crate::QoS; use crate::Result; -use std::collections::HashMap; +use std::collections::{HashMap, HashSet}; use std::sync::atomic::{AtomicU32, AtomicUsize, Ordering}; use std::sync::Arc; #[cfg(not(target_arch = "wasm32"))] @@ -283,6 +283,80 @@ impl MessageRouter { debug!("Unregistered client: {}", client_id); } + pub async fn cleanup_stale_subscriptions(&self) { + let clients = self.clients.read().await; + + let subscribed_ids: HashSet = { + let exact = self.exact_subscriptions.read().await; + let wildcard = self.wildcard_subscriptions.read().await; + exact + .values() + .flatten() + .chain(wildcard.values().flatten()) + .map(|sub| sub.client_id.clone()) + .collect() + }; + + let mut stale: Vec = Vec::new(); + let storage = self.storage.as_ref(); + + for client_id in &subscribed_ids { + if clients.contains_key(client_id) { + continue; + } + let has_session = if let Some(storage) = storage { + matches!(storage.get_session(client_id).await, Ok(Some(s)) if !s.is_expired()) + } else { + false + }; + if !has_session { + stale.push(client_id.clone()); + } + } + + drop(clients); + + if stale.is_empty() { + return; + } + + { + let mut exact = self.exact_subscriptions.write().await; + for subs in exact.values_mut() { + subs.retain(|sub| !stale.contains(&sub.client_id)); + } + exact.retain(|_, subs| !subs.is_empty()); + } + + { + let mut wildcard = self.wildcard_subscriptions.write().await; + for subs in wildcard.values_mut() { + subs.retain(|sub| !stale.contains(&sub.client_id)); + } + wildcard.retain(|_, subs| !subs.is_empty()); + } + + { + let mut change_only = self.change_only_states.write().await; + for client_id in &stale { + change_only.remove(client_id); + } + } + + if let Some(storage) = storage { + for client_id in &stale { + if let Err(e) = storage.remove_queued_messages(client_id).await { + debug!("failed to remove queued messages for stale client {client_id}: {e}"); + } + } + } + + info!( + "Cleaned up stale subscriptions for {} disconnected client(s)", + stale.len() + ); + } + /// Adds a subscription for a client. /// /// # Errors diff --git a/crates/mqtt5/src/broker/server.rs b/crates/mqtt5/src/broker/server.rs index 3e5e5694..f2c64042 100644 --- a/crates/mqtt5/src/broker/server.rs +++ b/crates/mqtt5/src/broker/server.rs @@ -711,6 +711,7 @@ impl MqttBroker { storage.cleanup_expired().await?; let storage_clone = Arc::clone(storage); + let router_clone = Arc::clone(&self.router); let cleanup_interval = self.config.storage_config.cleanup_interval; let mut shutdown_rx = shutdown_tx.subscribe(); @@ -722,6 +723,7 @@ impl MqttBroker { if let Err(e) = storage_clone.cleanup_expired().await { error!("Storage cleanup error: {e}"); } + router_clone.cleanup_stale_subscriptions().await; } _ = shutdown_rx.recv() => { debug!("Storage cleanup task shutting down"); diff --git a/crates/mqtt5/src/broker/storage/file_backend.rs b/crates/mqtt5/src/broker/storage/file_backend.rs index a70f5a74..10d73363 100644 --- a/crates/mqtt5/src/broker/storage/file_backend.rs +++ b/crates/mqtt5/src/broker/storage/file_backend.rs @@ -11,7 +11,7 @@ use crate::validation::topic_matches_filter; use serde_json; use std::collections::{HashMap, HashSet}; use std::path::{Path, PathBuf}; -use std::sync::atomic::{AtomicBool, Ordering}; +use std::sync::atomic::{AtomicBool, AtomicU64, Ordering}; use std::sync::Arc; use tokio::fs::{self, File}; use tokio::io::AsyncWriteExt; @@ -39,6 +39,7 @@ pub struct FileBackend { sessions_cache: Arc>>, dirty_sessions: Arc>>, shutdown: Arc, + queue_seq: AtomicU64, } impl FileBackend { @@ -76,6 +77,7 @@ impl FileBackend { sessions_cache: Arc::new(RwLock::new(HashMap::new())), dirty_sessions: Arc::new(RwLock::new(HashSet::new())), shutdown: Arc::new(AtomicBool::new(false)), + queue_seq: AtomicU64::new(0), }) } @@ -498,7 +500,8 @@ impl StorageBackend for FileBackend { })?; let timestamp = message.queued_at_secs * 1000; - let filename = format!("{timestamp}_{}.json", timestamp % 1_000_000); + let seq = self.queue_seq.fetch_add(1, Ordering::Relaxed); + let filename = format!("{timestamp}_{seq}.json"); let path = client_dir.join(filename); debug!("Queuing message for client: {}", message.client_id); From 8779611b1a013f187900fe5534293b319b0f10c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Fri, 6 Mar 2026 10:32:41 -0800 Subject: [PATCH 12/34] add exp 05/06 results, RTT sweep for datagram vs stream --- .gitignore | 5 +++- experiments/INVESTIGATION_DIARY.md | 34 ++++++++++++++++++++++++ experiments/run/05_datagram_vs_stream.sh | 30 +++++++++++---------- experiments/setup/config.env | 4 +-- 4 files changed, 56 insertions(+), 17 deletions(-) diff --git a/.gitignore b/.gitignore index d41f3978..806d9020 100644 --- a/.gitignore +++ b/.gitignore @@ -209,4 +209,7 @@ experiments/results/**/*.csv !experiments/README.md public/ -articles/ \ No newline at end of file +articles/ + +# Analysis artifacts (generated figures, stats output) +artifacts/ \ No newline at end of file diff --git a/experiments/INVESTIGATION_DIARY.md b/experiments/INVESTIGATION_DIARY.md index 04cdb8d2..7c70c9cf 100644 --- a/experiments/INVESTIGATION_DIARY.md +++ b/experiments/INVESTIGATION_DIARY.md @@ -17,6 +17,40 @@ New entries on top, beneath the planned work list. - [x] Phase 9: RTT boundary experiment (02d) — 15ms/20ms at 1% loss - [x] Phase 10: QoS 1 HOL experiment (02e) — tcp + per-topic at 25ms/1% - [x] Phase 11: Publication gap closure — additional figures + statistical robustness +- [x] Phase 12: Experiment 05 — datagram vs stream (QoS 0, RTT sweep) +- [x] Phase 13: Experiment 06 — resource overhead at scale + +--- + +## 2026-03-05 — Phase 13: Experiment 06 — resource overhead at scale + +**What**: Measured throughput and resource overhead (RSS, CPU, network) across TCP and 3 QUIC strategies at 10, 50, and 100 concurrent pub/sub pairs. 60s duration, 3 runs per datapoint. + +**Results**: 36 JSON + 72 CSV files in `results/06_resource_overhead/` + +**Key findings**: +- TCP throughput scales well: 161K → 174K msg/s from 10→100 connections +- QUIC control-only outperforms TCP at low concurrency (192K at 10 conn) but drops to 130K at 100 +- QUIC per-topic: 143K → 107K msg/s (stream-per-topic overhead grows with connections) +- QUIC per-publish: 94K → 85K msg/s (most overhead — new stream per publish) +- Per-publish throughput at 100 conn is 49% of TCP's throughput + +--- + +## 2026-03-05 — Phase 12: Experiment 05 — datagram vs stream + +**What**: Compared QUIC datagrams (RFC 9221, unreliable) vs QUIC streams (reliable) for QoS 0 delivery across 3 RTTs (0ms, 10ms, 50ms) × 4 loss rates (0%, 1%, 5%, 10%) × 2 modes (latency, throughput). 5 runs per datapoint. + +**Results**: 240 JSON files in `results/05_datagram_vs_stream/` + +**Key findings**: +- At 0ms delay: stream throughput (56K msg/s) > datagram (42K msg/s) — QUIC flow control provides effective pacing +- At 50ms/10% loss: datagram latency p50 (108ms) < stream (128ms) — 16% advantage from skipping retransmissions +- Datagram throughput drops less gracefully: at 50ms/10%, both collapse to ~650 msg/s +- Stream consistently beats datagram for throughput at all conditions due to flow control backpressure +- Datagrams only win on latency under loss — the tail latency advantage is the key differentiator +- CV% mostly under 10%, indicating good reproducibility; 50ms/10% datagram latency has 20.8% CV (expected) +- Bench tool exits with code 1 at high loss (50ms/10%) due to connection drop after measurement; data is still valid --- diff --git a/experiments/run/05_datagram_vs_stream.sh b/experiments/run/05_datagram_vs_stream.sh index a61ad3de..b0552888 100755 --- a/experiments/run/05_datagram_vs_stream.sh +++ b/experiments/run/05_datagram_vs_stream.sh @@ -4,26 +4,28 @@ source "$(dirname "${BASH_SOURCE[0]}")/common.sh" EXPERIMENT="05_datagram_vs_stream" LOSSES=(0 1 5 10) -DELAY=10 +DELAYS=(0 10 50) start_broker "--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key --quic-host 0.0.0.0:14567" -for loss in "${LOSSES[@]}"; do - apply_netem "$DELAY" "$loss" +for delay in "${DELAYS[@]}"; do + for loss in "${LOSSES[@]}"; do + apply_netem "$delay" "$loss" - for mode in latency throughput; do - label="quic-stream_loss${loss}pct_${mode}" - echo "[${EXPERIMENT}] ${label}" - run_monitored "$EXPERIMENT" "$label" \ - "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --mode ${mode} --qos 0 --duration 30 --warmup 5 --payload-size 256" + for mode in latency throughput; do + label="quic-stream_delay${delay}ms_loss${loss}pct_${mode}" + echo "[${EXPERIMENT}] ${label}" + run_monitored "$EXPERIMENT" "$label" \ + "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --mode ${mode} --qos 0 --duration 30 --warmup 5 --payload-size 256" - label="quic-datagram_loss${loss}pct_${mode}" - echo "[${EXPERIMENT}] ${label}" - run_monitored "$EXPERIMENT" "$label" \ - "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --quic-datagrams --mode ${mode} --qos 0 --duration 30 --warmup 5 --payload-size 256" - done + label="quic-datagram_delay${delay}ms_loss${loss}pct_${mode}" + echo "[${EXPERIMENT}] ${label}" + run_monitored "$EXPERIMENT" "$label" \ + "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --quic-datagrams --mode ${mode} --qos 0 --duration 30 --warmup 5 --payload-size 256" + done - clear_netem + clear_netem + done done stop_broker diff --git a/experiments/setup/config.env b/experiments/setup/config.env index 5681f178..f614a9ce 100644 --- a/experiments/setup/config.env +++ b/experiments/setup/config.env @@ -1,7 +1,7 @@ GCP_PROJECT_ID="quic-experiments-488321" BROKER_IP="10.138.0.5" -BROKER_SSH_IP="34.11.191.143" -CLIENT_IP="136.109.126.224" +BROKER_SSH_IP="136.118.216.110" +CLIENT_IP="136.117.241.61" REPO_URL="https://github.com/LabOverWire/mqtt-lib.git" REPO_BRANCH="payload-format-experiments" SSH_USER="bench" From f9d143333188bddabcbe9bb166bac5b95e6cde14 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Fri, 6 Mar 2026 10:33:21 -0800 Subject: [PATCH 13/34] ignore generated figure output and result analysis files --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 806d9020..4654d2b4 100644 --- a/.gitignore +++ b/.gitignore @@ -212,4 +212,7 @@ public/ articles/ # Analysis artifacts (generated figures, stats output) -artifacts/ \ No newline at end of file +artifacts/ +experiments/analysis/figures/output/ +experiments/results/**/*.txt +experiments/results/**/*.tex \ No newline at end of file From f4790853bded0a9adce4622db684450b1a1aa61c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Fri, 6 Mar 2026 10:34:11 -0800 Subject: [PATCH 14/34] add experiment scripts, HOL analysis, ACL README, QUIC spec --- .../examples/acl-permissions/README.md | 44 ++ experiments/MQTT-over-QUIC-spec.pdf | Bin 0 -> 317513 bytes .../analysis/comprehensive_hol_analysis.py | 551 ++++++++++++++++++ experiments/run/02a_hol_traces_extended.sh | 93 +++ experiments/run/02b_hol_rtt_sweep.sh | 79 +++ experiments/run/02c_hol_topic_scaling.sh | 77 +++ 6 files changed, 844 insertions(+) create mode 100644 crates/mqtt5-wasm/examples/acl-permissions/README.md create mode 100644 experiments/MQTT-over-QUIC-spec.pdf create mode 100644 experiments/analysis/comprehensive_hol_analysis.py create mode 100755 experiments/run/02a_hol_traces_extended.sh create mode 100755 experiments/run/02b_hol_rtt_sweep.sh create mode 100755 experiments/run/02c_hol_topic_scaling.sh diff --git a/crates/mqtt5-wasm/examples/acl-permissions/README.md b/crates/mqtt5-wasm/examples/acl-permissions/README.md new file mode 100644 index 00000000..79f164a4 --- /dev/null +++ b/crates/mqtt5-wasm/examples/acl-permissions/README.md @@ -0,0 +1,44 @@ +# ACL Permission Demo + +This example demonstrates **Access Control Lists (ACL)** with role-based access control (RBAC). Users are assigned roles that define read/write permissions on topic patterns, and the broker enforces these rules on every PUBLISH and SUBSCRIBE. + +## Running the Example + +1. Build the WASM package: + ```bash + cd crates/mqtt5-wasm + wasm-bindgen ../target/wasm32-unknown-unknown/release/mqtt5_wasm.wasm --out-dir examples/acl-permissions/pkg --target web + ``` + +2. Serve the example: + ```bash + cd examples/acl-permissions + python3 -m http.server 8080 + ``` + +3. Open http://localhost:8080 in your browser + +## How the Demo Works + +- Four users are pre-configured with distinct roles and permissions +- Select a user to connect as that identity +- Test subscribe and publish operations against various topics +- Operations are checked against the ACL rules and shown as ALLOWED or DENIED +- A permission matrix shows all topic/operation combinations for the selected user + +## Users and Roles + +| User | Role | Topic Pattern | Permission | +|------|------|---------------|------------| +| Alice | admin | `#` | read/write | +| Bob | publisher | `data/#` | write | +| Carol | subscriber | `data/#` | read | +| Dave | guest | `public/#` | read | + +## Try It + +1. Start as Alice (admin) — all operations succeed on any topic +2. Switch to Bob (publisher) — can publish to `data/sensors` but cannot subscribe +3. Switch to Carol (subscriber) — can subscribe to `data/sensors` but cannot publish +4. Switch to Dave (guest) — limited to reading `public/#` topics only +5. Try operations on topics outside each user's allowed patterns to see denials diff --git a/experiments/MQTT-over-QUIC-spec.pdf b/experiments/MQTT-over-QUIC-spec.pdf new file mode 100644 index 0000000000000000000000000000000000000000..7f4f2e472aff9a2954e0b35e96ca443bafec04a9 GIT binary patch literal 317513 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 TvI5Z+IaxX2C@91gCE)%)er2A0 literal 0 HcmV?d00001 diff --git a/experiments/analysis/comprehensive_hol_analysis.py b/experiments/analysis/comprehensive_hol_analysis.py new file mode 100644 index 00000000..943c5ba6 --- /dev/null +++ b/experiments/analysis/comprehensive_hol_analysis.py @@ -0,0 +1,551 @@ +#!/usr/bin/env python3 +"""Comprehensive cross-experiment HOL blocking analysis. + +Aggregates JSON results across experiments 02, 02b, 02c, +computes summary statistics (mean ± std), and produces +publication-quality tables and insights. + +Usage: + python comprehensive_hol_analysis.py +""" + +import json +import math +import re +import sys +from collections import defaultdict +from pathlib import Path + + +def load_json(path: Path) -> dict: + with open(path) as f: + return json.load(f) + + +def mean(values: list[float]) -> float: + return sum(values) / len(values) if values else 0.0 + + +def std(values: list[float]) -> float: + if len(values) < 2: + return 0.0 + m = mean(values) + return math.sqrt(sum((v - m) ** 2 for v in values) / (len(values) - 1)) + + +def median(values: list[float]) -> float: + if not values: + return 0.0 + s = sorted(values) + n = len(s) + if n % 2 == 1: + return s[n // 2] + return (s[n // 2 - 1] + s[n // 2]) / 2 + + +def extract_metrics(data: dict) -> dict: + results = data["results"] + topics = results["topics"] + + p50s = [t["p50_us"] for t in topics] + p95s = [t["p95_us"] for t in topics] + p99s = [t["p99_us"] for t in topics] + msg_counts = [t["messages"] for t in topics] + + return { + "wcorr": results["windowed_correlation"], + "raw_corr": results["raw_correlation"], + "spike_iso": results.get("spike_isolation_ratio", None), + "cluster_ratio": results.get("inter_arrival_cluster_ratio", None), + "total_msgs": results["total_messages"], + "measured_rate": results["measured_rate"], + "p50_mean": mean(p50s), + "p50_min": min(p50s), + "p50_max": max(p50s), + "p95_mean": mean(p95s), + "p99_mean": mean(p99s), + "msg_balance": min(msg_counts) / max(msg_counts) if max(msg_counts) > 0 else 0, + "topic_count": len(topics), + "transport": data["config"].get("transport", "unknown"), + "stream_strategy": data["config"].get("quic_stream_strategy", None), + } + + +def parse_filename_02(name: str) -> tuple[str, str, int] | None: + m = re.match(r"(.+?)_loss(\d+)pct_run(\d+)\.json", name) + if m: + return m.group(1), f"loss{m.group(2)}pct", int(m.group(3)) + return None + + +def parse_filename_02b(name: str) -> tuple[str, str, int] | None: + m = re.match(r"(.+?)_rtt(\d+)ms_run(\d+)\.json", name) + if m: + return m.group(1), f"rtt{m.group(2)}ms", int(m.group(3)) + return None + + +def parse_filename_02c(name: str) -> tuple[str, str, int] | None: + m = re.match(r"(.+?)_(\d+)topics_run(\d+)\.json", name) + if m: + return m.group(1), f"{m.group(2)}topics", int(m.group(3)) + return None + + +TRANSPORT_ORDER = ["tcp", "quic-control", "quic-pertopic", "quic-perpub"] +TRANSPORT_LABELS = { + "tcp": "TCP", + "quic-control": "QUIC ctrl", + "quic-pertopic": "QUIC per-topic", + "quic-perpub": "QUIC per-pub", +} + + +def format_val(v: float, decimals: int = 2) -> str: + if abs(v) < 0.01 and v != 0: + return f"{v:.4f}" + return f"{v:.{decimals}f}" + + +def format_ms(us: float) -> str: + ms = us / 1000.0 + if ms < 1: + return f"{us:.0f}us" + if ms < 100: + return f"{ms:.1f}ms" + return f"{ms:.0f}ms" + + +def print_table(headers: list[str], rows: list[list[str]], title: str = "") -> str: + if title: + lines = [f"\n{'=' * 80}", title, "=" * 80] + else: + lines = [] + + widths = [len(h) for h in headers] + for row in rows: + for i, cell in enumerate(row): + widths[i] = max(widths[i], len(cell)) + + header_line = " | ".join(h.ljust(widths[i]) for i, h in enumerate(headers)) + sep_line = "-+-".join("-" * w for w in widths) + lines.append(header_line) + lines.append(sep_line) + + for row in rows: + line = " | ".join(cell.ljust(widths[i]) for i, cell in enumerate(row)) + lines.append(line) + + return "\n".join(lines) + + +def aggregate_by_condition( + results_dir: Path, + parser, +) -> dict[tuple[str, str], list[dict]]: + grouped: dict[tuple[str, str], list[dict]] = defaultdict(list) + + for json_file in sorted(results_dir.glob("*.json")): + parsed = parser(json_file.name) + if not parsed: + continue + transport, condition, _ = parsed + data = load_json(json_file) + metrics = extract_metrics(data) + grouped[(transport, condition)].append(metrics) + + return grouped + + +def summarize_group(metrics_list: list[dict]) -> dict[str, int | float | None]: + n = len(metrics_list) + fields = [ + "wcorr", "raw_corr", "spike_iso", "cluster_ratio", + "total_msgs", "measured_rate", + "p50_mean", "p95_mean", "p99_mean", + ] + + summary: dict[str, int | float | None] = {"n": n} + for field in fields: + values = [m[field] for m in metrics_list if m[field] is not None] + if values: + summary[f"{field}_mean"] = mean(values) + summary[f"{field}_std"] = std(values) + summary[f"{field}_median"] = median(values) + else: + summary[f"{field}_mean"] = None + summary[f"{field}_std"] = None + summary[f"{field}_median"] = None + + return summary + + +def analyze_exp02(base_dir: Path) -> str: + results_dir = base_dir / "02_hol_blocking" + if not results_dir.exists(): + return "Experiment 02 directory not found\n" + + grouped = aggregate_by_condition(results_dir, parse_filename_02) + + loss_levels = ["loss0pct", "loss1pct", "loss2pct", "loss5pct"] + loss_labels = {"loss0pct": "0%", "loss1pct": "1%", "loss2pct": "2%", "loss5pct": "5%"} + + output_parts = [] + + headers = ["Transport", "Loss", "wcorr", "spike_iso", "cluster", "p50", "p95", "rate", "msgs", "n"] + rows = [] + + for loss in loss_levels: + for transport in TRANSPORT_ORDER: + key = (transport, loss) + if key not in grouped: + continue + s = summarize_group(grouped[key]) + rows.append([ + TRANSPORT_LABELS.get(transport, transport), + loss_labels[loss], + f"{s['wcorr_mean']:.3f}±{s['wcorr_std']:.3f}" if s["wcorr_mean"] is not None else "N/A", + f"{s['spike_iso_mean']:.3f}±{s['spike_iso_std']:.3f}" if s["spike_iso_mean"] is not None else "N/A", + f"{s['cluster_ratio_mean']:.2f}" if s["cluster_ratio_mean"] is not None else "N/A", + format_ms(s["p50_mean_mean"]) if s["p50_mean_mean"] is not None else "N/A", + format_ms(s["p95_mean_mean"]) if s["p95_mean_mean"] is not None else "N/A", + f"{s['measured_rate_mean']:.0f}" if s["measured_rate_mean"] is not None else "N/A", + f"{s['total_msgs_mean']:.0f}" if s["total_msgs_mean"] is not None else "N/A", + str(s["n"]), + ]) + rows.append(["---"] * len(headers)) + + output_parts.append(print_table( + headers, rows[:-1], + "EXPERIMENT 02: HOL Blocking vs Packet Loss Rate (8 topics, 25ms RTT)" + )) + + key_findings = [ + "", + "KEY FINDINGS (Exp 02):", + ] + + for loss in loss_levels: + tcp_key = ("tcp", loss) + pt_key = ("quic-pertopic", loss) + if tcp_key in grouped and pt_key in grouped: + tcp_s = summarize_group(grouped[tcp_key]) + pt_s = summarize_group(grouped[pt_key]) + tcp_spike = tcp_s.get("spike_iso_mean") + pt_spike = pt_s.get("spike_iso_mean") + if tcp_spike is not None and pt_spike is not None: + key_findings.append( + f" {loss_labels[loss]} loss: TCP spike_iso={tcp_spike:.3f}, " + f"per-topic spike_iso={pt_spike:.3f} " + f"({'ISOLATED' if pt_spike < 0.1 else 'CORRELATED'})" + ) + + output_parts.append("\n".join(key_findings)) + return "\n".join(output_parts) + + +def analyze_exp02b(base_dir: Path) -> str: + results_dir = base_dir / "02b_hol_rtt_sweep" + if not results_dir.exists(): + return "Experiment 02b directory not found\n" + + grouped = aggregate_by_condition(results_dir, parse_filename_02b) + + rtt_levels = ["rtt10ms", "rtt25ms", "rtt50ms", "rtt100ms"] + rtt_labels = {"rtt10ms": "10ms", "rtt25ms": "25ms", "rtt50ms": "50ms", "rtt100ms": "100ms"} + + available_rtts = [r for r in rtt_levels if any((t, r) in grouped for t in TRANSPORT_ORDER)] + + headers = ["Transport", "RTT", "wcorr", "spike_iso", "cluster", "p50", "p95", "rate", "n"] + rows = [] + + for rtt in available_rtts: + for transport in TRANSPORT_ORDER: + key = (transport, rtt) + if key not in grouped: + continue + s = summarize_group(grouped[key]) + rows.append([ + TRANSPORT_LABELS.get(transport, transport), + rtt_labels.get(rtt, rtt), + f"{s['wcorr_mean']:.3f}±{s['wcorr_std']:.3f}" if s["wcorr_mean"] is not None else "N/A", + f"{s['spike_iso_mean']:.3f}±{s['spike_iso_std']:.3f}" if s["spike_iso_mean"] is not None else "N/A", + f"{s['cluster_ratio_mean']:.2f}" if s["cluster_ratio_mean"] is not None else "N/A", + format_ms(s["p50_mean_mean"]) if s["p50_mean_mean"] is not None else "N/A", + format_ms(s["p95_mean_mean"]) if s["p95_mean_mean"] is not None else "N/A", + f"{s['measured_rate_mean']:.0f}" if s["measured_rate_mean"] is not None else "N/A", + str(s["n"]), + ]) + rows.append(["---"] * len(headers)) + + output_parts = [print_table( + headers, rows[:-1], + "EXPERIMENT 02B: HOL Blocking vs RTT (8 topics, 1% loss)" + )] + + key_findings = ["", "KEY FINDINGS (Exp 02b):"] + for rtt in available_rtts: + pt_key = ("quic-pertopic", rtt) + if pt_key in grouped: + s = summarize_group(grouped[pt_key]) + spike = s.get("spike_iso_mean") + if spike is not None: + key_findings.append( + f" {rtt_labels.get(rtt, rtt)} RTT: per-topic spike_iso={spike:.3f} " + f"({'ISOLATED' if spike < 0.1 else 'CORRELATED'})" + ) + + output_parts.append("\n".join(key_findings)) + return "\n".join(output_parts) + + +def analyze_exp02c(base_dir: Path) -> str: + results_dir = base_dir / "02c_hol_topic_scaling" + if not results_dir.exists(): + return "Experiment 02c directory not found\n" + + grouped = aggregate_by_condition(results_dir, parse_filename_02c) + + topic_levels = ["2topics", "4topics", "8topics", "16topics", "32topics"] + available_topics = [t for t in topic_levels if any((tr, t) in grouped for tr in TRANSPORT_ORDER)] + + headers = ["Transport", "Topics", "wcorr", "spike_iso", "cluster", "p50", "p95", "rate", "msgs", "n"] + rows = [] + + for topics in available_topics: + for transport in TRANSPORT_ORDER: + key = (transport, topics) + if key not in grouped: + continue + s = summarize_group(grouped[key]) + rows.append([ + TRANSPORT_LABELS.get(transport, transport), + topics, + f"{s['wcorr_mean']:.3f}±{s['wcorr_std']:.3f}" if s["wcorr_mean"] is not None else "N/A", + f"{s['spike_iso_mean']:.3f}±{s['spike_iso_std']:.3f}" if s["spike_iso_mean"] is not None else "N/A", + f"{s['cluster_ratio_mean']:.2f}" if s["cluster_ratio_mean"] is not None else "N/A", + format_ms(s["p50_mean_mean"]) if s["p50_mean_mean"] is not None else "N/A", + format_ms(s["p95_mean_mean"]) if s["p95_mean_mean"] is not None else "N/A", + f"{s['measured_rate_mean']:.0f}" if s["measured_rate_mean"] is not None else "N/A", + f"{s['total_msgs_mean']:.0f}" if s["total_msgs_mean"] is not None else "N/A", + str(s["n"]), + ]) + rows.append(["---"] * len(headers)) + + output_parts = [print_table( + headers, rows[:-1], + "EXPERIMENT 02C: HOL Blocking vs Topic Count (25ms RTT, 1% loss)" + )] + + key_findings = ["", "KEY FINDINGS (Exp 02c):"] + for topics in available_topics: + pt_key = ("quic-pertopic", topics) + tcp_key = ("tcp", topics) + if pt_key in grouped: + s = summarize_group(grouped[pt_key]) + spike = s.get("spike_iso_mean") + tcp_s = summarize_group(grouped[tcp_key]) if tcp_key in grouped else None + tcp_spike = tcp_s.get("spike_iso_mean") if tcp_s else None + if spike is not None: + tcp_part = f", TCP={tcp_spike:.3f}" if tcp_spike is not None else "" + key_findings.append( + f" {topics}: per-topic spike_iso={spike:.3f}{tcp_part} " + f"({'ISOLATED' if spike < 0.1 else 'CORRELATED'})" + ) + + output_parts.append("\n".join(key_findings)) + return "\n".join(output_parts) + + +def cross_experiment_synthesis(base_dir: Path) -> str: + lines = [ + "", + "=" * 80, + "CROSS-EXPERIMENT SYNTHESIS", + "=" * 80, + "", + ] + + exp02 = aggregate_by_condition(base_dir / "02_hol_blocking", parse_filename_02) + exp02b = aggregate_by_condition(base_dir / "02b_hol_rtt_sweep", parse_filename_02b) + exp02c = aggregate_by_condition(base_dir / "02c_hol_topic_scaling", parse_filename_02c) + + lines.append("1. STREAM STRATEGY COMPARISON (spike_iso as primary metric)") + lines.append("") + + headers = ["Strategy", "Condition", "spike_iso", "Verdict"] + rows = [] + + strategy_conditions = [ + ("tcp", "loss1pct", "1% loss, 25ms RTT, 8 topics"), + ("quic-control", "loss1pct", "1% loss, 25ms RTT, 8 topics"), + ("quic-pertopic", "loss1pct", "1% loss, 25ms RTT, 8 topics"), + ("quic-perpub", "loss1pct", "1% loss, 25ms RTT, 8 topics"), + ] + + for transport, condition, desc in strategy_conditions: + key = (transport, condition) + if key in exp02: + s = summarize_group(exp02[key]) + spike = s.get("spike_iso_mean") + if spike is not None: + verdict = "FULL HOL BLOCKING" if spike > 0.8 else "PARTIAL" if spike > 0.3 else "ISOLATED" + rows.append([ + TRANSPORT_LABELS.get(transport, transport), + desc, + f"{spike:.3f}±{s['spike_iso_std']:.3f}", + verdict, + ]) + + lines.append(print_table(headers, rows)) + + lines.append("") + lines.append("2. PER-TOPIC ISOLATION BOUNDARY CONDITIONS") + lines.append("") + + boundary_headers = ["Variable", "Value", "per-topic spike_iso", "Status"] + boundary_rows = [] + + for rtt in ["rtt10ms", "rtt25ms", "rtt50ms", "rtt100ms"]: + key = ("quic-pertopic", rtt) + if key in exp02b: + s = summarize_group(exp02b[key]) + spike = s.get("spike_iso_mean") + if spike is not None: + label = rtt.replace("rtt", "").replace("ms", " ms") + boundary_rows.append([ + "RTT", label, + f"{spike:.3f}", + "ISOLATED" if spike < 0.1 else "CORRELATED", + ]) + + for loss in ["loss0pct", "loss1pct", "loss2pct", "loss5pct"]: + key = ("quic-pertopic", loss) + if key in exp02: + s = summarize_group(exp02[key]) + spike = s.get("spike_iso_mean") + if spike is not None: + label = loss.replace("loss", "").replace("pct", "%") + boundary_rows.append([ + "Loss", label, + f"{spike:.3f}", + "ISOLATED" if spike < 0.1 else "CORRELATED", + ]) + + for topics in ["2topics", "4topics", "8topics", "16topics", "32topics"]: + key = ("quic-pertopic", topics) + if key in exp02c: + s = summarize_group(exp02c[key]) + spike = s.get("spike_iso_mean") + if spike is not None: + label = topics.replace("topics", " topics") + boundary_rows.append([ + "Topics", label, + f"{spike:.3f}", + "ISOLATED" if spike < 0.1 else "CORRELATED", + ]) + + lines.append(print_table(boundary_headers, boundary_rows)) + + lines.append("") + lines.append("3. WCORR vs SPIKE_ISO DIVERGENCE (proves wcorr is misleading)") + lines.append("") + + div_headers = ["Strategy", "Condition", "wcorr", "spike_iso", "Divergent?"] + div_rows = [] + + for transport in TRANSPORT_ORDER: + for loss in ["loss0pct", "loss1pct"]: + key = (transport, loss) + if key in exp02: + s = summarize_group(exp02[key]) + wcorr = s.get("wcorr_mean") + spike = s.get("spike_iso_mean") + if wcorr is not None and spike is not None: + divergent = (wcorr > 0.5 and spike < 0.1) or (wcorr < 0.5 and spike > 0.8) + loss_label = loss.replace("loss", "").replace("pct", "%") + div_rows.append([ + TRANSPORT_LABELS.get(transport, transport), + loss_label, + f"{wcorr:.3f}", + f"{spike:.3f}", + "YES - wcorr misleading" if divergent else "No", + ]) + + lines.append(print_table(div_headers, div_rows)) + + lines.append("") + lines.append("4. LATENCY COST OF ISOLATION") + lines.append("") + + cost_headers = ["Strategy", "Condition", "p50", "p95", "rate (msg/s)", "spike_iso"] + cost_rows = [] + + for transport in TRANSPORT_ORDER: + key = (transport, "loss1pct") + if key in exp02: + s = summarize_group(exp02[key]) + cost_rows.append([ + TRANSPORT_LABELS.get(transport, transport), + "1% loss, 25ms RTT", + format_ms(s["p50_mean_mean"]) if s["p50_mean_mean"] is not None else "N/A", + format_ms(s["p95_mean_mean"]) if s["p95_mean_mean"] is not None else "N/A", + f"{s['measured_rate_mean']:.0f}" if s["measured_rate_mean"] is not None else "N/A", + f"{s['spike_iso_mean']:.3f}" if s["spike_iso_mean"] is not None else "N/A", + ]) + + lines.append(print_table(cost_headers, cost_rows)) + + lines.append("") + lines.append("5. CONCLUSIONS") + lines.append("") + lines.append("a) Per-topic QUIC streams provide complete HOL blocking mitigation") + lines.append(" (spike_iso ≈ 0.0) across ALL tested loss rates (0-5%) when RTT ≥ 25ms.") + lines.append("") + lines.append("b) The widely-used windowed correlation metric (wcorr) is MISLEADING for") + lines.append(" HOL blocking measurement. High wcorr reflects shared congestion window") + lines.append(" effects, not stream-level blocking. Per-topic at 1% loss shows") + lines.append(" wcorr ≈ 0.9 but spike_iso ≈ 0.0 — fundamentally different conclusions.") + lines.append("") + lines.append("c) HOL isolation requires sufficient RTT (≥25ms). At 10ms RTT, the shared") + lines.append(" cwnd dominates and all strategies show correlated latency spikes.") + lines.append("") + lines.append("d) Per-topic isolation is optimal at 8-16 topics. At 2-4 topics, spike") + lines.append(" isolation degrades; at 32 topics, overhead from many streams reduces") + lines.append(" isolation effectiveness.") + lines.append("") + lines.append("e) Per-publish streams have the LOWEST latency (minimal buffering) but") + lines.append(" WORST spike isolation (short-lived streams can't build independent") + lines.append(" congestion state).") + lines.append("") + lines.append("f) Frame packing (cluster_ratio = 1.0) is universal across all QUIC") + lines.append(" strategies. Multiple stream frames are packed into single UDP datagrams.") + lines.append(" This is a Quinn implementation characteristic, not a protocol limitation.") + lines.append("") + + return "\n".join(lines) + + +def main(): + if len(sys.argv) < 2: + print(f"Usage: {sys.argv[0]} ", file=sys.stderr) + sys.exit(1) + + base_dir = Path(sys.argv[1]) + + report_parts = [] + report_parts.append(analyze_exp02(base_dir)) + report_parts.append(analyze_exp02b(base_dir)) + report_parts.append(analyze_exp02c(base_dir)) + report_parts.append(cross_experiment_synthesis(base_dir)) + + full_report = "\n\n".join(report_parts) + print(full_report) + + output_file = base_dir / "hol_blocking_comprehensive_analysis.txt" + output_file.write_text(full_report) + print(f"\nReport written to: {output_file}", file=sys.stderr) + + +if __name__ == "__main__": + main() diff --git a/experiments/run/02a_hol_traces_extended.sh b/experiments/run/02a_hol_traces_extended.sh new file mode 100755 index 00000000..df33e509 --- /dev/null +++ b/experiments/run/02a_hol_traces_extended.sh @@ -0,0 +1,93 @@ +#!/usr/bin/env bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/common.sh" + +EXPERIMENT="02_hol_blocking" +LOSSES=(2 5) +DELAY=25 + +BROKER_TLS="--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key" +BROKER_QUIC="--quic-host 0.0.0.0:14567" +CA="--ca-cert /opt/mqtt-certs/ca.pem" + +declare -A TRANSPORT_URLS +TRANSPORT_URLS[tcp]="mqtt://${BROKER_IP}:1883" +TRANSPORT_URLS[quic-control]="quic://${BROKER_IP}:14567" +TRANSPORT_URLS[quic-pertopic]="quic://${BROKER_IP}:14567" +TRANSPORT_URLS[quic-perpub]="quic://${BROKER_IP}:14567" + +declare -A TRANSPORT_FLAGS +TRANSPORT_FLAGS[tcp]="" +TRANSPORT_FLAGS[quic-control]="--quic-stream-strategy control-only ${CA}" +TRANSPORT_FLAGS[quic-pertopic]="--quic-stream-strategy per-topic ${CA}" +TRANSPORT_FLAGS[quic-perpub]="--quic-stream-strategy per-publish ${CA}" + +declare -A BROKER_DELIVERY +BROKER_DELIVERY[tcp]="" +BROKER_DELIVERY[quic-control]="--quic-delivery-strategy control-only" +BROKER_DELIVERY[quic-pertopic]="--quic-delivery-strategy per-topic" +BROKER_DELIVERY[quic-perpub]="--quic-delivery-strategy per-publish" + +TRANSPORTS=(tcp quic-control quic-pertopic quic-perpub) + +collect_traces() { + local experiment="$1" + local run_label="$2" + local remote_dir="$3" + local output_dir="${RESULTS_DIR}/${experiment}" + + for csv in messages.csv quinn_stats.csv; do + scp -i "$SSH_KEY_PATH" "${SSH_USER}@${CLIENT_IP}:${remote_dir}/${csv}" \ + "${output_dir}/${run_label}_${csv}" 2>/dev/null || true + done + ssh_client "rm -rf ${remote_dir}" 2>/dev/null || true +} + +for tname in "${TRANSPORTS[@]}"; do + url="${TRANSPORT_URLS[$tname]}" + flags="${TRANSPORT_FLAGS[$tname]}" + delivery="${BROKER_DELIVERY[$tname]}" + + stop_broker 2>/dev/null || true + start_broker "${BROKER_TLS} ${BROKER_QUIC} ${delivery}" + + for loss in "${LOSSES[@]}"; do + apply_netem "$DELAY" "$loss" + label="${tname}_loss${loss}pct" + + existing="${RESULTS_DIR}/${EXPERIMENT}/${label}_run1_messages.csv" + if [[ -f "$existing" ]]; then + echo "[${EXPERIMENT}] SKIP ${label} — traces already exist" + clear_netem + continue + fi + + echo "[${EXPERIMENT}] ${label} (trace collection)" + + bench_args="--url ${url} ${flags} --mode hol-blocking --topics 8 --duration 30 --warmup 5 --payload-size 512 --rate 5000 --trace-dir /tmp/hol-traces" + output_dir="${RESULTS_DIR}/${EXPERIMENT}" + mkdir -p "$output_dir" + + for run in $(seq 1 "$RUNS_PER_DATAPOINT"); do + run_label="${label}_run${run}" + + json_file="${output_dir}/${run_label}.json" + if [[ -f "$json_file" ]]; then + echo " skip json (exists): ${run_label}.json" + fi + + start_monitor "${output_dir}/${run_label}_broker_resources.csv" + start_client_monitor + run_bench "$EXPERIMENT" "$run_label" "$bench_args" + stop_client_monitor "${output_dir}/${run_label}_client_resources.csv" + stop_monitor "${output_dir}/${run_label}_broker_resources.csv" + collect_traces "$EXPERIMENT" "$run_label" "/tmp/hol-traces" + sleep 5 + done + + clear_netem + done +done + +stop_broker +echo "phase A (extended traces) complete" diff --git a/experiments/run/02b_hol_rtt_sweep.sh b/experiments/run/02b_hol_rtt_sweep.sh new file mode 100755 index 00000000..67462902 --- /dev/null +++ b/experiments/run/02b_hol_rtt_sweep.sh @@ -0,0 +1,79 @@ +#!/usr/bin/env bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/common.sh" + +EXPERIMENT="02b_hol_rtt_sweep" +DELAYS=(10 50 100) +LOSS=1 + +BROKER_TLS="--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key" +BROKER_QUIC="--quic-host 0.0.0.0:14567" +CA="--ca-cert /opt/mqtt-certs/ca.pem" + +declare -A TRANSPORT_URLS +TRANSPORT_URLS[tcp]="mqtt://${BROKER_IP}:1883" +TRANSPORT_URLS[quic-control]="quic://${BROKER_IP}:14567" +TRANSPORT_URLS[quic-pertopic]="quic://${BROKER_IP}:14567" +TRANSPORT_URLS[quic-perpub]="quic://${BROKER_IP}:14567" + +declare -A TRANSPORT_FLAGS +TRANSPORT_FLAGS[tcp]="" +TRANSPORT_FLAGS[quic-control]="--quic-stream-strategy control-only ${CA}" +TRANSPORT_FLAGS[quic-pertopic]="--quic-stream-strategy per-topic ${CA}" +TRANSPORT_FLAGS[quic-perpub]="--quic-stream-strategy per-publish ${CA}" + +declare -A BROKER_DELIVERY +BROKER_DELIVERY[tcp]="" +BROKER_DELIVERY[quic-control]="--quic-delivery-strategy control-only" +BROKER_DELIVERY[quic-pertopic]="--quic-delivery-strategy per-topic" +BROKER_DELIVERY[quic-perpub]="--quic-delivery-strategy per-publish" + +TRANSPORTS=(tcp quic-control quic-pertopic quic-perpub) + +collect_traces() { + local experiment="$1" + local run_label="$2" + local remote_dir="$3" + local output_dir="${RESULTS_DIR}/${experiment}" + + for csv in messages.csv quinn_stats.csv; do + scp -i "$SSH_KEY_PATH" "${SSH_USER}@${CLIENT_IP}:${remote_dir}/${csv}" \ + "${output_dir}/${run_label}_${csv}" 2>/dev/null || true + done + ssh_client "rm -rf ${remote_dir}" 2>/dev/null || true +} + +for tname in "${TRANSPORTS[@]}"; do + url="${TRANSPORT_URLS[$tname]}" + flags="${TRANSPORT_FLAGS[$tname]}" + delivery="${BROKER_DELIVERY[$tname]}" + + stop_broker 2>/dev/null || true + start_broker "${BROKER_TLS} ${BROKER_QUIC} ${delivery}" + + for delay in "${DELAYS[@]}"; do + apply_netem "$delay" "$LOSS" + label="${tname}_rtt${delay}ms" + echo "[${EXPERIMENT}] ${label}" + + bench_args="--url ${url} ${flags} --mode hol-blocking --topics 8 --duration 30 --warmup 5 --payload-size 512 --rate 5000 --trace-dir /tmp/hol-traces" + output_dir="${RESULTS_DIR}/${EXPERIMENT}" + mkdir -p "$output_dir" + + for run in $(seq 1 "$RUNS_PER_DATAPOINT"); do + run_label="${label}_run${run}" + start_monitor "${output_dir}/${run_label}_broker_resources.csv" + start_client_monitor + run_bench "$EXPERIMENT" "$run_label" "$bench_args" + stop_client_monitor "${output_dir}/${run_label}_client_resources.csv" + stop_monitor "${output_dir}/${run_label}_broker_resources.csv" + collect_traces "$EXPERIMENT" "$run_label" "/tmp/hol-traces" + sleep 5 + done + + clear_netem + done +done + +stop_broker +echo "phase B (RTT sweep) complete" diff --git a/experiments/run/02c_hol_topic_scaling.sh b/experiments/run/02c_hol_topic_scaling.sh new file mode 100755 index 00000000..ee2e0497 --- /dev/null +++ b/experiments/run/02c_hol_topic_scaling.sh @@ -0,0 +1,77 @@ +#!/usr/bin/env bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/common.sh" + +EXPERIMENT="02c_hol_topic_scaling" +TOPIC_COUNTS=(2 4 16 32) +DELAY=25 +LOSS=1 + +BROKER_TLS="--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key" +BROKER_QUIC="--quic-host 0.0.0.0:14567" +CA="--ca-cert /opt/mqtt-certs/ca.pem" + +declare -A TRANSPORT_URLS +TRANSPORT_URLS[tcp]="mqtt://${BROKER_IP}:1883" +TRANSPORT_URLS[quic-pertopic]="quic://${BROKER_IP}:14567" +TRANSPORT_URLS[quic-perpub]="quic://${BROKER_IP}:14567" + +declare -A TRANSPORT_FLAGS +TRANSPORT_FLAGS[tcp]="" +TRANSPORT_FLAGS[quic-pertopic]="--quic-stream-strategy per-topic ${CA}" +TRANSPORT_FLAGS[quic-perpub]="--quic-stream-strategy per-publish ${CA}" + +declare -A BROKER_DELIVERY +BROKER_DELIVERY[tcp]="" +BROKER_DELIVERY[quic-pertopic]="--quic-delivery-strategy per-topic" +BROKER_DELIVERY[quic-perpub]="--quic-delivery-strategy per-publish" + +TRANSPORTS=(tcp quic-pertopic quic-perpub) + +collect_traces() { + local experiment="$1" + local run_label="$2" + local remote_dir="$3" + local output_dir="${RESULTS_DIR}/${experiment}" + + for csv in messages.csv quinn_stats.csv; do + scp -i "$SSH_KEY_PATH" "${SSH_USER}@${CLIENT_IP}:${remote_dir}/${csv}" \ + "${output_dir}/${run_label}_${csv}" 2>/dev/null || true + done + ssh_client "rm -rf ${remote_dir}" 2>/dev/null || true +} + +for tname in "${TRANSPORTS[@]}"; do + url="${TRANSPORT_URLS[$tname]}" + flags="${TRANSPORT_FLAGS[$tname]}" + delivery="${BROKER_DELIVERY[$tname]}" + + stop_broker 2>/dev/null || true + start_broker "${BROKER_TLS} ${BROKER_QUIC} ${delivery}" + + for topics in "${TOPIC_COUNTS[@]}"; do + apply_netem "$DELAY" "$LOSS" + label="${tname}_${topics}topics" + echo "[${EXPERIMENT}] ${label}" + + bench_args="--url ${url} ${flags} --mode hol-blocking --topics ${topics} --duration 30 --warmup 5 --payload-size 512 --rate 5000 --trace-dir /tmp/hol-traces" + output_dir="${RESULTS_DIR}/${EXPERIMENT}" + mkdir -p "$output_dir" + + for run in $(seq 1 "$RUNS_PER_DATAPOINT"); do + run_label="${label}_run${run}" + start_monitor "${output_dir}/${run_label}_broker_resources.csv" + start_client_monitor + run_bench "$EXPERIMENT" "$run_label" "$bench_args" + stop_client_monitor "${output_dir}/${run_label}_client_resources.csv" + stop_monitor "${output_dir}/${run_label}_broker_resources.csv" + collect_traces "$EXPERIMENT" "$run_label" "/tmp/hol-traces" + sleep 5 + done + + clear_netem + done +done + +stop_broker +echo "phase C (topic scaling) complete" From 1a672d20a89ff6c5750074d8218f1a64dbd2a95d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Fri, 6 Mar 2026 10:47:36 -0800 Subject: [PATCH 15/34] document per-subscription deprecation architectural rationale --- experiments/INVESTIGATION_DIARY.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/experiments/INVESTIGATION_DIARY.md b/experiments/INVESTIGATION_DIARY.md index 7c70c9cf..7c129834 100644 --- a/experiments/INVESTIGATION_DIARY.md +++ b/experiments/INVESTIGATION_DIARY.md @@ -372,7 +372,9 @@ Per-publish has the lowest latency (17x better than per-topic) but worst isolati **What**: Marked `StreamStrategy::DataPerSubscription` as `#[deprecated]`, merged client publish path to treat it identically to `DataPerTopic`, removed `send_on_subscription_stream()` method. -**Why**: `send_on_subscription_stream()` delegated directly to `send_on_topic_stream()` — they were identical code paths producing identical experiment results. Rather than implementing true per-subscription grouping (which has unclear semantics for the paper), deprecated the variant to make the alias explicit. +**Why**: `send_on_subscription_stream()` delegated directly to `send_on_topic_stream()` — they were identical code paths producing identical experiment results. + +**Architectural rationale**: Per-subscription stream mapping is fundamentally impossible at the publisher side. Stream strategy is a client-side publish decision: the publisher chooses which QUIC stream to send each PUBLISH on. The publisher only knows the topic name — it has no visibility into who is subscribed or what subscription filters exist. Any "per-subscription" grouping at the publisher therefore collapses to "per-topic" since the topic name is the only routing key available to the sender. A true per-subscription strategy would require the *broker* to map outbound delivery onto different streams based on each subscriber's filter, which is a broker-side concern (not a client stream strategy). This is not a Quinn limitation — it's inherent to pub/sub decoupling: publishers and subscribers are independent, so the publisher cannot make stream decisions based on subscription topology. **Result**: CLI still accepts `--quic-stream-strategy per-subscription` for backwards compatibility but logs it as `per-topic`. Experiment results correctly labeled. From 98489e6b72f9c7f3184edc7198f43974b3b21ff8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Fri, 6 Mar 2026 20:01:47 -0800 Subject: [PATCH 16/34] use unidirectional QUIC streams for data paths --- .../src/broker/client_handler/publish.rs | 9 +- crates/mqtt5/src/broker/quic_acceptor.rs | 2 +- .../mqtt5/src/broker/server_stream_manager.rs | 25 ++++- crates/mqtt5/src/client/direct/handlers.rs | 39 ++++++++ crates/mqtt5/src/client/direct/mod.rs | 2 +- crates/mqtt5/src/client/direct/reader.rs | 92 ++++++++++++++++--- .../src/transport/quic_stream_manager.rs | 37 +++----- 7 files changed, 160 insertions(+), 46 deletions(-) diff --git a/crates/mqtt5/src/broker/client_handler/publish.rs b/crates/mqtt5/src/broker/client_handler/publish.rs index d0e09e08..829eface 100644 --- a/crates/mqtt5/src/broker/client_handler/publish.rs +++ b/crates/mqtt5/src/broker/client_handler/publish.rs @@ -692,6 +692,7 @@ impl ClientHandler { packet_id = ?publish.packet_id, "Sending PUBLISH to client" ); + let qos = publish.qos; self.write_buffer.clear(); encode_packet_to_buffer(&Packet::Publish(publish), &mut self.write_buffer)?; if let Some(max) = self.client_max_packet_size { @@ -704,13 +705,13 @@ impl ClientHandler { return Ok(()); } } - self.write_publish_bytes(&topic_name).await?; + self.write_publish_bytes(&topic_name, qos).await?; self.stats.publish_sent(payload_size); Ok(()) } #[cfg(not(target_arch = "wasm32"))] - async fn write_publish_bytes(&mut self, topic: &str) -> Result<()> { + async fn write_publish_bytes(&mut self, topic: &str, qos: QoS) -> Result<()> { use crate::broker::config::ServerDeliveryStrategy; use crate::broker::server_stream_manager::ServerStreamManager; @@ -727,7 +728,7 @@ impl ClientHandler { self.server_stream_manager .as_mut() .unwrap() - .write_publish(topic, &self.write_buffer) + .write_publish(topic, &self.write_buffer, qos) .await } else { self.transport.write(&self.write_buffer).await @@ -735,7 +736,7 @@ impl ClientHandler { } #[cfg(target_arch = "wasm32")] - async fn write_publish_bytes(&mut self, _topic: &str) -> Result<()> { + async fn write_publish_bytes(&mut self, _topic: &str, _qos: QoS) -> Result<()> { self.transport.write(&self.write_buffer).await } diff --git a/crates/mqtt5/src/broker/quic_acceptor.rs b/crates/mqtt5/src/broker/quic_acceptor.rs index 1da6392b..e5530fcb 100644 --- a/crates/mqtt5/src/broker/quic_acceptor.rs +++ b/crates/mqtt5/src/broker/quic_acceptor.rs @@ -631,7 +631,7 @@ async fn run_quic_handler_inner( let stream_label = label; tokio::spawn(async move { loop { - if let Ok((_send, recv)) = connection.accept_bi().await { + if let Ok(recv) = connection.accept_uni().await { debug!( "Additional {} data stream accepted from {}", stream_label, peer_addr diff --git a/crates/mqtt5/src/broker/server_stream_manager.rs b/crates/mqtt5/src/broker/server_stream_manager.rs index ee81c33a..8c4f21bb 100644 --- a/crates/mqtt5/src/broker/server_stream_manager.rs +++ b/crates/mqtt5/src/broker/server_stream_manager.rs @@ -1,6 +1,7 @@ use crate::broker::config::ServerDeliveryStrategy; use crate::error::{MqttError, Result}; use crate::transport::flow::{DataFlowHeader, FlowFlags, FlowId, FlowIdGenerator}; +use crate::QoS; use bytes::BytesMut; use quinn::{Connection, SendStream}; use std::collections::HashMap; @@ -43,7 +44,12 @@ impl ServerStreamManager { self } - pub async fn write_publish(&mut self, topic: &str, encoded_packet: &[u8]) -> Result<()> { + pub async fn write_publish( + &mut self, + topic: &str, + encoded_packet: &[u8], + qos: QoS, + ) -> Result<()> { match self.strategy { ServerDeliveryStrategy::ControlOnly => Err(MqttError::ConnectionError( "control-only delivery: caller should write to control stream directly".to_string(), @@ -52,7 +58,8 @@ impl ServerStreamManager { self.write_on_topic_stream(topic, encoded_packet).await } ServerDeliveryStrategy::PerPublish => { - self.write_on_ephemeral_stream(topic, encoded_packet).await + self.write_on_ephemeral_stream(topic, encoded_packet, qos) + .await } } } @@ -104,10 +111,18 @@ impl ServerStreamManager { &mut self, topic: &str, encoded_packet: &[u8], + qos: QoS, ) -> Result<()> { - let (mut send, _recv) = self.connection.open_bi().await.map_err(|e| { - MqttError::ConnectionError(format!("failed to open server QUIC stream: {e}")) - })?; + let mut send = if qos == QoS::AtMostOnce { + self.connection.open_uni().await.map_err(|e| { + MqttError::ConnectionError(format!("failed to open server QUIC stream: {e}")) + })? + } else { + let (send, _recv) = self.connection.open_bi().await.map_err(|e| { + MqttError::ConnectionError(format!("failed to open server QUIC stream: {e}")) + })?; + send + }; let flow_id = self.flow_id_generator.next_server(); diff --git a/crates/mqtt5/src/client/direct/handlers.rs b/crates/mqtt5/src/client/direct/handlers.rs index dba2e20e..b253bf4f 100644 --- a/crates/mqtt5/src/client/direct/handlers.rs +++ b/crates/mqtt5/src/client/direct/handlers.rs @@ -6,6 +6,7 @@ use crate::error::{MqttError, Result}; use crate::packet::Packet; use crate::protocol::v5::properties::Properties; use crate::session::SessionState; +use crate::transport::flow::FlowId; use crate::transport::PacketWriter; use parking_lot::Mutex; use std::sync::Arc; @@ -150,6 +151,44 @@ pub(super) async fn handle_publish_with_ack( Ok(()) } +pub(super) async fn handle_incoming_packet_no_writer( + packet: Packet, + callback_manager: &Arc, + flow_id: Option, + keepalive_state: &Arc>, + codec_registry: Option<&Arc>, +) -> Result<()> { + match packet { + Packet::Publish(mut publish) => { + if publish.qos != crate::QoS::AtMostOnce { + return Err(MqttError::ProtocolError( + "QoS > 0 publish received on unidirectional stream".to_string(), + )); + } + if let Some(registry) = codec_registry { + let content_type = publish.properties.get_content_type(); + let decoded = + registry.decode_if_needed(&publish.payload, content_type.as_deref())?; + publish.payload = decoded; + } + publish.stream_id = flow_id.map(|f| f.raw()); + let _ = callback_manager.dispatch(&publish); + Ok(()) + } + Packet::PingResp => { + keepalive_state.lock().record_pong_received(); + Ok(()) + } + Packet::Disconnect(disconnect) => { + tracing::info!("Server sent DISCONNECT: {:?}", disconnect.reason_code); + Err(MqttError::ConnectionError( + "Server disconnected".to_string(), + )) + } + _ => Ok(()), + } +} + pub(super) async fn handle_pubrec_outgoing( pubrec: crate::packet::pubrec::PubRecPacket, writer: &Arc>, diff --git a/crates/mqtt5/src/client/direct/mod.rs b/crates/mqtt5/src/client/direct/mod.rs index 99ee5b2c..0b36573b 100644 --- a/crates/mqtt5/src/client/direct/mod.rs +++ b/crates/mqtt5/src/client/direct/mod.rs @@ -1066,7 +1066,7 @@ impl DirectClientInner { let recovery_flags = FlowFlags { clean: 0, ..flags }; match manager.open_recovery_stream(flow_id, recovery_flags).await { - Ok((send, _recv)) => { + Ok(send) => { manager.register_flow_stream(flow_id, send).await; tracing::debug!( flow_id = ?flow_id, diff --git a/crates/mqtt5/src/client/direct/reader.rs b/crates/mqtt5/src/client/direct/reader.rs index 55160817..166b7e06 100644 --- a/crates/mqtt5/src/client/direct/reader.rs +++ b/crates/mqtt5/src/client/direct/reader.rs @@ -23,7 +23,7 @@ use std::sync::Arc; use std::time::Duration as StdDuration; use tokio::sync::oneshot; -use super::handlers::handle_incoming_packet_with_writer; +use super::handlers::{handle_incoming_packet_no_writer, handle_incoming_packet_with_writer}; use super::keepalive::KeepaliveState; use super::unified::{UnifiedReader, UnifiedWriter}; @@ -198,18 +198,38 @@ pub(super) async fn quic_stream_acceptor_task( ctx: PacketReaderContext, ) { loop { - match connection.accept_bi().await { - Ok((send, recv)) => { - tracing::debug!("Accepted new QUIC stream"); - let ctx_for_reader = ctx.clone(); - tokio::spawn(async move { - quic_stream_reader_task(recv, send, ctx_for_reader).await; - }); + tokio::select! { + result = connection.accept_uni() => { + match result { + Ok(recv) => { + tracing::debug!("Accepted unidirectional QUIC stream"); + let ctx_for_reader = ctx.clone(); + tokio::spawn(async move { + quic_uni_stream_reader_task(recv, ctx_for_reader).await; + }); + } + Err(e) => { + tracing::error!("Error accepting unidirectional QUIC stream: {e}"); + ctx.connected.store(false, Ordering::SeqCst); + break; + } + } } - Err(e) => { - tracing::error!("Error accepting QUIC stream: {e}"); - ctx.connected.store(false, Ordering::SeqCst); - break; + result = connection.accept_bi() => { + match result { + Ok((send, recv)) => { + tracing::debug!("Accepted bidirectional QUIC stream"); + let ctx_for_reader = ctx.clone(); + tokio::spawn(async move { + quic_stream_reader_task(recv, send, ctx_for_reader).await; + }); + } + Err(e) => { + tracing::error!("Error accepting bidirectional QUIC stream: {e}"); + ctx.connected.store(false, Ordering::SeqCst); + break; + } + } } } } @@ -468,3 +488,51 @@ async fn quic_stream_reader_task( } } } + +async fn quic_uni_stream_reader_task(mut recv: quinn::RecvStream, ctx: PacketReaderContext) { + let (flow_id, mut buffer) = match try_read_server_flow_header(&mut recv).await { + Ok(result) => { + let flow_id = if let (Some(id), Some(flags)) = (result.flow_id, result.flags) { + tracing::debug!( + flow_id = ?id, + ?flags, + expire = ?result.expire, + "Unidirectional server stream with flow header" + ); + Some(id) + } else { + tracing::trace!("No flow header on unidirectional server stream"); + None + }; + (flow_id, result.leftover) + } + Err(e) => { + tracing::warn!("Error parsing server flow header on uni stream: {e}"); + (None, BytesMut::new()) + } + }; + + loop { + match read_packet_with_buffer(&mut recv, &mut buffer, ctx.protocol_version).await { + Ok(packet) => { + tracing::trace!(flow_id = ?flow_id, "Received packet on unidirectional server stream"); + if let Err(e) = handle_incoming_packet_no_writer( + packet, + &ctx.callback_manager, + flow_id, + &ctx.keepalive_state, + ctx.codec_registry.as_ref(), + ) + .await + { + tracing::error!(flow_id = ?flow_id, "Error handling packet from uni stream: {e}"); + break; + } + } + Err(e) => { + tracing::debug!(flow_id = ?flow_id, "Unidirectional server stream closed: {e}"); + break; + } + } + } +} diff --git a/crates/mqtt5/src/transport/quic_stream_manager.rs b/crates/mqtt5/src/transport/quic_stream_manager.rs index 85303743..2b238f74 100644 --- a/crates/mqtt5/src/transport/quic_stream_manager.rs +++ b/crates/mqtt5/src/transport/quic_stream_manager.rs @@ -73,28 +73,21 @@ impl QuicStreamManager { self } - /// Opens a bidirectional QUIC data stream. - /// /// # Errors /// Returns an error if the QUIC connection fails to open a stream. #[instrument(skip(self), level = "debug")] - pub async fn open_data_stream(&self) -> Result<(quinn::SendStream, quinn::RecvStream)> { - let (send, recv) = - self.connection.open_bi().await.map_err(|e| { - MqttError::ConnectionError(format!("Failed to open QUIC stream: {e}")) - })?; - Ok((send, recv)) + pub async fn open_data_stream(&self) -> Result { + self.connection + .open_uni() + .await + .map_err(|e| MqttError::ConnectionError(format!("Failed to open QUIC stream: {e}"))) } - /// Opens a data stream with flow header. - /// /// # Errors /// Returns an error if the stream cannot be opened or the flow header write fails. #[instrument(skip(self), fields(strategy = ?self.strategy), level = "debug")] - pub async fn open_data_stream_with_flow( - &self, - ) -> Result<(quinn::SendStream, quinn::RecvStream, FlowId)> { - let (mut send, recv) = self.open_data_stream().await?; + pub async fn open_data_stream_with_flow(&self) -> Result<(quinn::SendStream, FlowId)> { + let mut send = self.open_data_stream().await?; let flow_id = if self.enable_flow_headers { let flow_id = { @@ -117,19 +110,17 @@ impl QuicStreamManager { FlowId::client(0) }; - Ok((send, recv, flow_id)) + Ok((send, flow_id)) } - /// Opens a stream for flow state recovery. - /// /// # Errors /// Returns an error if the stream cannot be opened or the recovery header write fails. pub async fn open_recovery_stream( &self, flow_id: FlowId, recovery_flags: FlowFlags, - ) -> Result<(quinn::SendStream, quinn::RecvStream)> { - let (mut send, recv) = self.open_data_stream().await?; + ) -> Result { + let mut send = self.open_data_stream().await?; if self.enable_flow_headers { let mut buf = BytesMut::with_capacity(32); @@ -147,7 +138,7 @@ impl QuicStreamManager { ); } - Ok((send, recv)) + Ok(send) } pub fn set_recovery_mode(&mut self, enable: bool) { @@ -165,7 +156,7 @@ impl QuicStreamManager { /// Returns an error if the stream operation or packet encoding fails. #[instrument(skip(self, packet), level = "debug")] pub async fn send_packet_on_stream(&self, packet: Packet) -> Result<()> { - let (mut send, _recv, flow_id) = self.open_data_stream_with_flow().await?; + let (mut send, flow_id) = self.open_data_stream_with_flow().await?; let mut buf = BytesMut::with_capacity(1024); encode_packet_to_buffer(&packet, &mut buf)?; @@ -241,7 +232,7 @@ impl QuicStreamManager { drop(streams); debug!(topic = %topic, "Opening new stream for topic"); - let (mut send, _recv) = self.connection.open_bi().await.map_err(|e| { + let mut send = self.connection.open_uni().await.map_err(|e| { MqttError::ConnectionError(format!("Failed to open QUIC stream for topic: {e}")) })?; @@ -339,7 +330,7 @@ impl QuicStreamManager { } else { drop(flows); - let (mut send, _recv, new_flow_id) = self.open_data_stream_with_flow().await?; + let (mut send, new_flow_id) = self.open_data_stream_with_flow().await?; let mut buf = BytesMut::with_capacity(1024); encode_packet_to_buffer(&packet, &mut buf)?; From 583b8a71c4a2012e8beba0fb5b87873b14664686 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Fri, 6 Mar 2026 20:22:03 -0800 Subject: [PATCH 17/34] add parallel experiment infrastructure for split pub/sub on n2 VMs --- experiments/parallel/01_connection_latency.sh | 64 +++++++ experiments/parallel/02_hol_blocking.sh | 97 ++++++++++ .../parallel/03_throughput_under_loss.sh | 34 ++++ experiments/parallel/04_stream_strategies.sh | 30 ++++ experiments/parallel/05_datagram_vs_stream.sh | 32 ++++ experiments/parallel/06_resource_overhead.sh | 27 +++ experiments/parallel/common_parallel.sh | 166 ++++++++++++++++++ experiments/parallel/group1.env | 5 + experiments/parallel/group2.env | 5 + experiments/parallel/group3.env | 5 + experiments/parallel/run_all.sh | 37 ++++ experiments/parallel/run_group1.sh | 11 ++ experiments/parallel/run_group2.sh | 19 ++ experiments/parallel/run_group3.sh | 16 ++ 14 files changed, 548 insertions(+) create mode 100755 experiments/parallel/01_connection_latency.sh create mode 100755 experiments/parallel/02_hol_blocking.sh create mode 100755 experiments/parallel/03_throughput_under_loss.sh create mode 100755 experiments/parallel/04_stream_strategies.sh create mode 100755 experiments/parallel/05_datagram_vs_stream.sh create mode 100755 experiments/parallel/06_resource_overhead.sh create mode 100755 experiments/parallel/common_parallel.sh create mode 100644 experiments/parallel/group1.env create mode 100644 experiments/parallel/group2.env create mode 100644 experiments/parallel/group3.env create mode 100755 experiments/parallel/run_all.sh create mode 100755 experiments/parallel/run_group1.sh create mode 100755 experiments/parallel/run_group2.sh create mode 100755 experiments/parallel/run_group3.sh diff --git a/experiments/parallel/01_connection_latency.sh b/experiments/parallel/01_connection_latency.sh new file mode 100755 index 00000000..0083b5e0 --- /dev/null +++ b/experiments/parallel/01_connection_latency.sh @@ -0,0 +1,64 @@ +#!/usr/bin/env bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/common_parallel.sh" + +EXPERIMENT="01_connection_latency" +TRANSPORTS=("mqtt://${BROKER_IP}:1883" "mqtts://${BROKER_IP}:8883" "quic://${BROKER_IP}:14567") +TRANSPORT_NAMES=("tcp" "tls" "quic") +DELAYS=(0 25 50 100 200) + +broker_flags_for() { + local tname="$1" + if [ "$tname" = "tls" ]; then + echo "--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key" + elif [ "$tname" = "quic" ]; then + echo "--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key --quic-host 0.0.0.0:14567" + else + echo "" + fi +} + +run_monitored_single() { + local experiment="$1" + local label="$2" + shift 2 + local bench_args="$*" + local output_dir="${RESULTS_DIR}/${experiment}" + mkdir -p "$output_dir" + + start_monitors + run_bench_pub_only "$experiment" "$label" "$bench_args" + stop_monitors "$output_dir" "$label" +} + +for tidx in "${!TRANSPORTS[@]}"; do + url="${TRANSPORTS[$tidx]}" + tname="${TRANSPORT_NAMES[$tidx]}" + flags=$(broker_flags_for "$tname") + + start_broker "$flags" + + for delay in "${DELAYS[@]}"; do + apply_netem "$delay" 0 + label="${tname}_delay${delay}ms" + echo "[${EXPERIMENT}] ${label}" + + if [ "$tname" = "quic" ]; then + for run in $(seq 1 "$RUNS_PER_DATAPOINT"); do + stop_broker + start_broker "$flags" + run_monitored_single "$EXPERIMENT" "${label}_run${run}" \ + "--url ${url} --ca-cert /opt/mqtt-certs/ca.pem --mode connections --concurrency 1 --duration 30" + done + else + run_monitored_pub_only "$EXPERIMENT" "$label" \ + "--url ${url} --ca-cert /opt/mqtt-certs/ca.pem --mode connections --concurrency 1 --duration 30" + fi + + clear_netem + done + + stop_broker +done + +echo "experiment ${EXPERIMENT} complete (group ${GROUP})" diff --git a/experiments/parallel/02_hol_blocking.sh b/experiments/parallel/02_hol_blocking.sh new file mode 100755 index 00000000..d4cebca3 --- /dev/null +++ b/experiments/parallel/02_hol_blocking.sh @@ -0,0 +1,97 @@ +#!/usr/bin/env bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/common_parallel.sh" + +EXPERIMENT="02_hol_blocking" +LOSSES=(0 1 2 5) +DELAY=25 +RUNS_PER_DATAPOINT=15 + +BROKER_TLS="--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key" +BROKER_QUIC="--quic-host 0.0.0.0:14567" +CA="--ca-cert /opt/mqtt-certs/ca.pem" + +declare -A TRANSPORT_URLS +TRANSPORT_URLS[tcp]="mqtt://${BROKER_IP}:1883" +TRANSPORT_URLS[quic-control]="quic://${BROKER_IP}:14567" +TRANSPORT_URLS[quic-pertopic]="quic://${BROKER_IP}:14567" +TRANSPORT_URLS[quic-perpub]="quic://${BROKER_IP}:14567" + +declare -A TRANSPORT_FLAGS +TRANSPORT_FLAGS[tcp]="" +TRANSPORT_FLAGS[quic-control]="--quic-stream-strategy control-only ${CA}" +TRANSPORT_FLAGS[quic-pertopic]="--quic-stream-strategy per-topic ${CA}" +TRANSPORT_FLAGS[quic-perpub]="--quic-stream-strategy per-publish ${CA}" + +declare -A BROKER_DELIVERY +BROKER_DELIVERY[tcp]="" +BROKER_DELIVERY[quic-control]="--quic-delivery-strategy control-only" +BROKER_DELIVERY[quic-pertopic]="--quic-delivery-strategy per-topic" +BROKER_DELIVERY[quic-perpub]="--quic-delivery-strategy per-publish" + +TRANSPORTS=(tcp quic-control quic-pertopic quic-perpub) + +TRACE_LOSSES=(0 1) + +should_trace() { + local loss="$1" + for tl in "${TRACE_LOSSES[@]}"; do + [[ "$loss" == "$tl" ]] && return 0 + done + return 1 +} + +collect_traces() { + local experiment="$1" + local run_label="$2" + local remote_dir="$3" + local output_dir="${RESULTS_DIR}/${experiment}" + + for csv in messages.csv quinn_stats.csv; do + scp -i "$SSH_KEY_PATH" "${SSH_USER}@${SUB_IP}:${remote_dir}/${csv}" \ + "${output_dir}/${run_label}_${csv}" 2>/dev/null || true + done + ssh_sub "rm -rf ${remote_dir}" 2>/dev/null || true +} + +for tname in "${TRANSPORTS[@]}"; do + url="${TRANSPORT_URLS[$tname]}" + flags="${TRANSPORT_FLAGS[$tname]}" + delivery="${BROKER_DELIVERY[$tname]}" + + stop_broker 2>/dev/null || true + start_broker "${BROKER_TLS} ${BROKER_QUIC} ${delivery}" + + for loss in "${LOSSES[@]}"; do + apply_netem "$DELAY" "$loss" + label="${tname}_loss${loss}pct" + echo "[${EXPERIMENT}] ${label}" + + trace_flag="" + if should_trace "$loss"; then + trace_flag="--trace-dir /tmp/hol-traces" + fi + + bench_args="--url ${url} ${flags} --mode hol-blocking --topics 8 --duration 30 --warmup 5 --payload-size 512 --rate 5000 ${trace_flag}" + output_dir="${RESULTS_DIR}/${EXPERIMENT}" + mkdir -p "$output_dir" + + for run in $(seq 1 "$RUNS_PER_DATAPOINT"); do + run_label="${label}_run${run}" + start_monitors + run_bench_split "$EXPERIMENT" "$run_label" "$bench_args" + stop_monitors "$output_dir" "$run_label" + + if should_trace "$loss"; then + collect_traces "$EXPERIMENT" "$run_label" "/tmp/hol-traces" + fi + + sleep 5 + done + + clear_netem + done +done + +stop_broker +echo "experiment ${EXPERIMENT} complete (group ${GROUP})" diff --git a/experiments/parallel/03_throughput_under_loss.sh b/experiments/parallel/03_throughput_under_loss.sh new file mode 100755 index 00000000..9e462279 --- /dev/null +++ b/experiments/parallel/03_throughput_under_loss.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/common_parallel.sh" + +EXPERIMENT="03_throughput_under_loss" +LOSSES=(0 1 2 5 10) +DELAY=10 +QOS_LEVELS=(0 1) +STRATEGIES=("control-only" "per-publish" "per-topic") + +start_broker "--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key --quic-host 0.0.0.0:14567" + +for qos in "${QOS_LEVELS[@]}"; do + for loss in "${LOSSES[@]}"; do + apply_netem "$DELAY" "$loss" + + label="tcp_qos${qos}_loss${loss}pct" + echo "[${EXPERIMENT}] ${label}" + run_monitored_split "$EXPERIMENT" "$label" \ + "--url mqtt://${BROKER_IP}:1883 --mode throughput --duration 30 --warmup 5 --payload-size 256 --qos ${qos} --publishers 4 --subscribers 4" + + for strategy in "${STRATEGIES[@]}"; do + label="quic-${strategy}_qos${qos}_loss${loss}pct" + echo "[${EXPERIMENT}] ${label}" + run_monitored_split "$EXPERIMENT" "$label" \ + "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --quic-stream-strategy ${strategy} --mode throughput --duration 30 --warmup 5 --payload-size 256 --qos ${qos} --publishers 4 --subscribers 4" + done + + clear_netem + done +done + +stop_broker +echo "experiment ${EXPERIMENT} complete (group ${GROUP})" diff --git a/experiments/parallel/04_stream_strategies.sh b/experiments/parallel/04_stream_strategies.sh new file mode 100755 index 00000000..0c9b3253 --- /dev/null +++ b/experiments/parallel/04_stream_strategies.sh @@ -0,0 +1,30 @@ +#!/usr/bin/env bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/common_parallel.sh" + +EXPERIMENT="04_stream_strategies" +STRATEGIES=("control-only" "per-publish" "per-topic") +TOPIC_COUNTS=(1 4 8 16) +DELAY=25 +LOSS=2 + +start_broker "--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key --quic-host 0.0.0.0:14567" +apply_netem "$DELAY" "$LOSS" + +for strategy in "${STRATEGIES[@]}"; do + for ntopics in "${TOPIC_COUNTS[@]}"; do + label="${strategy}_${ntopics}topics_throughput" + echo "[${EXPERIMENT}] ${label}" + run_monitored_split "$EXPERIMENT" "$label" \ + "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --quic-stream-strategy ${strategy} --mode throughput --duration 30 --warmup 5 --publishers ${ntopics} --subscribers ${ntopics}" + + label="${strategy}_${ntopics}topics_latency" + echo "[${EXPERIMENT}] ${label}" + run_monitored_split "$EXPERIMENT" "$label" \ + "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --quic-stream-strategy ${strategy} --mode latency --duration 30 --warmup 5 --publishers ${ntopics} --subscribers ${ntopics}" + done +done + +clear_netem +stop_broker +echo "experiment ${EXPERIMENT} complete (group ${GROUP})" diff --git a/experiments/parallel/05_datagram_vs_stream.sh b/experiments/parallel/05_datagram_vs_stream.sh new file mode 100755 index 00000000..733a2ba3 --- /dev/null +++ b/experiments/parallel/05_datagram_vs_stream.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/common_parallel.sh" + +EXPERIMENT="05_datagram_vs_stream" +LOSSES=(0 1 5 10) +DELAYS=(0 10 50) + +start_broker "--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key --quic-host 0.0.0.0:14567" + +for delay in "${DELAYS[@]}"; do + for loss in "${LOSSES[@]}"; do + apply_netem "$delay" "$loss" + + for mode in latency throughput; do + label="quic-stream_delay${delay}ms_loss${loss}pct_${mode}" + echo "[${EXPERIMENT}] ${label}" + run_monitored_split "$EXPERIMENT" "$label" \ + "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --mode ${mode} --qos 0 --duration 30 --warmup 5 --payload-size 256" + + label="quic-datagram_delay${delay}ms_loss${loss}pct_${mode}" + echo "[${EXPERIMENT}] ${label}" + run_monitored_split "$EXPERIMENT" "$label" \ + "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --quic-datagrams --mode ${mode} --qos 0 --duration 30 --warmup 5 --payload-size 256" + done + + clear_netem + done +done + +stop_broker +echo "experiment ${EXPERIMENT} complete (group ${GROUP})" diff --git a/experiments/parallel/06_resource_overhead.sh b/experiments/parallel/06_resource_overhead.sh new file mode 100755 index 00000000..8836c44e --- /dev/null +++ b/experiments/parallel/06_resource_overhead.sh @@ -0,0 +1,27 @@ +#!/usr/bin/env bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/common_parallel.sh" + +EXPERIMENT="06_resource_overhead" +STRATEGIES=("control-only" "per-publish" "per-topic") +CONCURRENCIES=(10 50 100) +RUNS_PER_DATAPOINT=3 + +start_broker "--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key --quic-host 0.0.0.0:14567" + +for conc in "${CONCURRENCIES[@]}"; do + label="tcp_${conc}conn" + echo "[${EXPERIMENT}] ${label}" + run_monitored_split "$EXPERIMENT" "$label" \ + "--url mqtt://${BROKER_IP}:1883 --mode throughput --duration 60 --warmup 5 --payload-size 256 --publishers ${conc} --subscribers ${conc}" + + for strategy in "${STRATEGIES[@]}"; do + label="quic-${strategy}_${conc}conn" + echo "[${EXPERIMENT}] ${label}" + run_monitored_split "$EXPERIMENT" "$label" \ + "--url quic://${BROKER_IP}:14567 --ca-cert /opt/mqtt-certs/ca.pem --quic-stream-strategy ${strategy} --mode throughput --duration 60 --warmup 5 --payload-size 256 --publishers ${conc} --subscribers ${conc}" + done +done + +stop_broker +echo "experiment ${EXPERIMENT} complete (group ${GROUP})" diff --git a/experiments/parallel/common_parallel.sh b/experiments/parallel/common_parallel.sh new file mode 100755 index 00000000..312e38e4 --- /dev/null +++ b/experiments/parallel/common_parallel.sh @@ -0,0 +1,166 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +ROOT_DIR="$(cd "${SCRIPT_DIR}/.." && pwd)" + +: "${GROUP:?Set GROUP=1|2|3 before sourcing common_parallel.sh}" +source "${SCRIPT_DIR}/group${GROUP}.env" + +: "${BROKER_IP:?Set BROKER_IP in group${GROUP}.env}" +: "${BROKER_SSH_IP:=${BROKER_IP}}" +: "${PUB_IP:?Set PUB_IP in group${GROUP}.env}" +: "${SUB_IP:?Set SUB_IP in group${GROUP}.env}" +: "${SSH_KEY_PATH:=$HOME/.ssh/id_ed25519}" +: "${RUNS_PER_DATAPOINT:=10}" + +SSH_USER="${SSH_USER:-bench}" +RESULTS_DIR="${ROOT_DIR}/results" +mkdir -p "$RESULTS_DIR" + +SSH_OPTS="-o StrictHostKeyChecking=no -o ServerAliveInterval=30 -o ServerAliveCountMax=10" +ssh_broker() { ssh -i "$SSH_KEY_PATH" $SSH_OPTS "${SSH_USER}@${BROKER_SSH_IP}" "$@"; } +ssh_pub() { ssh -i "$SSH_KEY_PATH" $SSH_OPTS "${SSH_USER}@${PUB_IP}" "$@"; } +ssh_sub() { ssh -i "$SSH_KEY_PATH" $SSH_OPTS "${SSH_USER}@${SUB_IP}" "$@"; } + +BROKER_PID="" + +start_broker() { + local extra_flags="${1:-}" + echo "starting broker on ${BROKER_IP} (group ${GROUP})..." + BROKER_PID=$(ssh_broker "ulimit -n 65536; nohup mqttv5 broker --allow-anonymous --host 0.0.0.0:1883 --storage-backend memory --max-clients 50000 \ + ${extra_flags} > /tmp/broker.log 2>&1 & echo \$!") + sleep 2 + echo "broker pid: ${BROKER_PID}" +} + +stop_broker() { + echo "stopping broker (group ${GROUP})..." + ssh_broker "pkill -f 'mqttv5 broker'" 2>/dev/null || true + BROKER_PID="" + sleep 1 +} + +apply_netem() { + local delay_ms="$1" + local loss_pct="${2:-0}" + ssh_broker "sudo bash /opt/mqtt-lib/experiments/netem/apply.sh ${delay_ms} ${loss_pct}" +} + +clear_netem() { + ssh_broker "sudo bash /opt/mqtt-lib/experiments/netem/clear.sh" +} + +BROKER_MONITOR_PID="" +PUB_MONITOR_PID="" +SUB_MONITOR_PID="" + +start_monitors() { + BROKER_MONITOR_PID=$(ssh_broker "nohup bash /opt/mqtt-lib/experiments/monitor/resource_monitor.sh ${BROKER_PID} \ + > /tmp/monitor.csv 2>&1 & echo \$!") + PUB_MONITOR_PID=$(ssh_pub "nohup bash /opt/mqtt-lib/experiments/monitor/client_monitor.sh \ + > /tmp/client_monitor.csv 2>&1 & echo \$!") + SUB_MONITOR_PID=$(ssh_sub "nohup bash /opt/mqtt-lib/experiments/monitor/client_monitor.sh \ + > /tmp/client_monitor.csv 2>&1 & echo \$!") +} + +stop_monitors() { + local output_dir="$1" + local run_label="$2" + + ssh_broker "kill ${BROKER_MONITOR_PID}" 2>/dev/null || true + ssh_pub "kill ${PUB_MONITOR_PID}" 2>/dev/null || true + ssh_sub "kill ${SUB_MONITOR_PID}" 2>/dev/null || true + + scp -i "$SSH_KEY_PATH" "${SSH_USER}@${BROKER_SSH_IP}:/tmp/monitor.csv" \ + "${output_dir}/${run_label}_broker_resources.csv" + scp -i "$SSH_KEY_PATH" "${SSH_USER}@${PUB_IP}:/tmp/client_monitor.csv" \ + "${output_dir}/${run_label}_pub_resources.csv" + scp -i "$SSH_KEY_PATH" "${SSH_USER}@${SUB_IP}:/tmp/client_monitor.csv" \ + "${output_dir}/${run_label}_sub_resources.csv" + + BROKER_MONITOR_PID="" + PUB_MONITOR_PID="" + SUB_MONITOR_PID="" +} + +run_bench_pub_only() { + local experiment="$1" + local label="$2" + shift 2 + local bench_args="$*" + local output_dir="${RESULTS_DIR}/${experiment}" + mkdir -p "$output_dir" + + echo " running (pub-only): mqttv5 bench ${bench_args}" + ssh_pub "ulimit -n 65536; mqttv5 bench ${bench_args}" > "${output_dir}/${label}.json" 2>/dev/null + echo " saved: ${output_dir}/${label}.json" +} + +run_bench_split() { + local experiment="$1" + local label="$2" + shift 2 + local bench_args="$*" + local output_dir="${RESULTS_DIR}/${experiment}" + mkdir -p "$output_dir" + local sub_duration + sub_duration=$(echo "$bench_args" | sed -n 's/.*--duration \([0-9]*\).*/\1/p') + local sub_extra=10 + local sub_total=$((sub_duration + sub_extra)) + + echo " running (split): ${label}" + + local sub_args + sub_args=$(echo "$bench_args" | sed "s/--duration ${sub_duration}/--duration ${sub_total}/") + + ssh_sub "ulimit -n 65536; nohup mqttv5 bench ${sub_args} --publishers 0 \ + > /tmp/sub_bench.json 2>/dev/null & echo \$!" > /tmp/sub_pid_${GROUP} + local sub_bench_pid + sub_bench_pid=$(cat /tmp/sub_pid_${GROUP}) + sleep 2 + + ssh_pub "ulimit -n 65536; mqttv5 bench ${bench_args} --subscribers 0" \ + > "${output_dir}/${label}_pub.json" 2>/dev/null || true + + sleep 3 + ssh_sub "kill ${sub_bench_pid}" 2>/dev/null || true + sleep 1 + scp -i "$SSH_KEY_PATH" "${SSH_USER}@${SUB_IP}:/tmp/sub_bench.json" \ + "${output_dir}/${label}.json" + echo " saved: ${output_dir}/${label}.json" +} + +run_monitored_pub_only() { + local experiment="$1" + local label="$2" + shift 2 + local bench_args="$*" + local output_dir="${RESULTS_DIR}/${experiment}" + mkdir -p "$output_dir" + + for run in $(seq 1 "$RUNS_PER_DATAPOINT"); do + local run_label="${label}_run${run}" + start_monitors + run_bench_pub_only "$experiment" "$run_label" "$bench_args" + stop_monitors "$output_dir" "$run_label" + sleep 5 + done +} + +run_monitored_split() { + local experiment="$1" + local label="$2" + shift 2 + local bench_args="$*" + local output_dir="${RESULTS_DIR}/${experiment}" + mkdir -p "$output_dir" + + for run in $(seq 1 "$RUNS_PER_DATAPOINT"); do + local run_label="${label}_run${run}" + start_monitors + run_bench_split "$experiment" "$run_label" "$bench_args" + stop_monitors "$output_dir" "$run_label" + sleep 5 + done +} diff --git a/experiments/parallel/group1.env b/experiments/parallel/group1.env new file mode 100644 index 00000000..3133121c --- /dev/null +++ b/experiments/parallel/group1.env @@ -0,0 +1,5 @@ +BROKER_IP="FILL_BROKER_1_INTERNAL_IP" +BROKER_SSH_IP="FILL_BROKER_1_EXTERNAL_IP" +PUB_IP="FILL_PUB_1_EXTERNAL_IP" +SUB_IP="FILL_SUB_1_EXTERNAL_IP" +SSH_USER="bench" diff --git a/experiments/parallel/group2.env b/experiments/parallel/group2.env new file mode 100644 index 00000000..84ea28e3 --- /dev/null +++ b/experiments/parallel/group2.env @@ -0,0 +1,5 @@ +BROKER_IP="FILL_BROKER_2_INTERNAL_IP" +BROKER_SSH_IP="FILL_BROKER_2_EXTERNAL_IP" +PUB_IP="FILL_PUB_2_EXTERNAL_IP" +SUB_IP="FILL_SUB_2_EXTERNAL_IP" +SSH_USER="bench" diff --git a/experiments/parallel/group3.env b/experiments/parallel/group3.env new file mode 100644 index 00000000..a677972d --- /dev/null +++ b/experiments/parallel/group3.env @@ -0,0 +1,5 @@ +BROKER_IP="FILL_BROKER_3_INTERNAL_IP" +BROKER_SSH_IP="FILL_BROKER_3_EXTERNAL_IP" +PUB_IP="FILL_PUB_3_EXTERNAL_IP" +SUB_IP="FILL_SUB_3_EXTERNAL_IP" +SSH_USER="bench" diff --git a/experiments/parallel/run_all.sh b/experiments/parallel/run_all.sh new file mode 100755 index 00000000..20e8fcff --- /dev/null +++ b/experiments/parallel/run_all.sh @@ -0,0 +1,37 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +echo "launching 3 experiment groups in parallel..." +echo " group 1: exp 02 (HOL blocking, 15 runs)" +echo " group 2: exp 01, 03, 05" +echo " group 3: exp 04, 06" +echo "" +echo "monitor progress:" +echo " tail -f ${SCRIPT_DIR}/group1.log" +echo " tail -f ${SCRIPT_DIR}/group2.log" +echo " tail -f ${SCRIPT_DIR}/group3.log" +echo "" + +bash "${SCRIPT_DIR}/run_group1.sh" & +PID1=$! +bash "${SCRIPT_DIR}/run_group2.sh" & +PID2=$! +bash "${SCRIPT_DIR}/run_group3.sh" & +PID3=$! + +echo "PIDs: group1=${PID1} group2=${PID2} group3=${PID3}" +echo "waiting for all groups to finish..." + +FAILED=0 +wait $PID1 || { echo "group 1 FAILED"; FAILED=1; } +wait $PID2 || { echo "group 2 FAILED"; FAILED=1; } +wait $PID3 || { echo "group 3 FAILED"; FAILED=1; } + +if [ "$FAILED" -eq 0 ]; then + echo "all experiments complete" +else + echo "some groups failed - check logs" + exit 1 +fi diff --git a/experiments/parallel/run_group1.sh b/experiments/parallel/run_group1.sh new file mode 100755 index 00000000..a1c4614f --- /dev/null +++ b/experiments/parallel/run_group1.sh @@ -0,0 +1,11 @@ +#!/usr/bin/env bash +set -euo pipefail +export GROUP=1 + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +LOG="${SCRIPT_DIR}/group1.log" + +echo "=== Group 1: Exp 02 (HOL blocking, 15 runs) ===" | tee "$LOG" +bash "${SCRIPT_DIR}/02_hol_blocking.sh" 2>&1 | tee -a "$LOG" + +echo "=== Group 1 complete ===" | tee -a "$LOG" diff --git a/experiments/parallel/run_group2.sh b/experiments/parallel/run_group2.sh new file mode 100755 index 00000000..11470405 --- /dev/null +++ b/experiments/parallel/run_group2.sh @@ -0,0 +1,19 @@ +#!/usr/bin/env bash +set -euo pipefail +export GROUP=2 + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +LOG="${SCRIPT_DIR}/group2.log" + +echo "=== Group 2: Exp 01, 03, 05 ===" | tee "$LOG" + +echo "--- Exp 01: connection latency ---" | tee -a "$LOG" +bash "${SCRIPT_DIR}/01_connection_latency.sh" 2>&1 | tee -a "$LOG" + +echo "--- Exp 03: throughput under loss ---" | tee -a "$LOG" +bash "${SCRIPT_DIR}/03_throughput_under_loss.sh" 2>&1 | tee -a "$LOG" + +echo "--- Exp 05: datagram vs stream ---" | tee -a "$LOG" +bash "${SCRIPT_DIR}/05_datagram_vs_stream.sh" 2>&1 | tee -a "$LOG" + +echo "=== Group 2 complete ===" | tee -a "$LOG" diff --git a/experiments/parallel/run_group3.sh b/experiments/parallel/run_group3.sh new file mode 100755 index 00000000..17d784b2 --- /dev/null +++ b/experiments/parallel/run_group3.sh @@ -0,0 +1,16 @@ +#!/usr/bin/env bash +set -euo pipefail +export GROUP=3 + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +LOG="${SCRIPT_DIR}/group3.log" + +echo "=== Group 3: Exp 04, 06 ===" | tee "$LOG" + +echo "--- Exp 04: stream strategies ---" | tee -a "$LOG" +bash "${SCRIPT_DIR}/04_stream_strategies.sh" 2>&1 | tee -a "$LOG" + +echo "--- Exp 06: resource overhead ---" | tee -a "$LOG" +bash "${SCRIPT_DIR}/06_resource_overhead.sh" 2>&1 | tee -a "$LOG" + +echo "=== Group 3 complete ===" | tee -a "$LOG" From f7a851cf51954e78ee30dda0d1beee9f5ed80f38 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Fri, 6 Mar 2026 20:24:03 -0800 Subject: [PATCH 18/34] gitignore paper/ directory --- .gitignore | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index 4654d2b4..fb0b1530 100644 --- a/.gitignore +++ b/.gitignore @@ -215,4 +215,7 @@ articles/ artifacts/ experiments/analysis/figures/output/ experiments/results/**/*.txt -experiments/results/**/*.tex \ No newline at end of file +experiments/results/**/*.tex + +# Paper (LaTeX build artifacts and all paper content) +paper/ \ No newline at end of file From c767acb6bc816c4d9972135f333ca86079f79b33 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Fri, 6 Mar 2026 20:25:47 -0800 Subject: [PATCH 19/34] add exp 04-06 figure scripts, stats parsers, and updated config --- .../figures/fig01_spike_iso_vs_loss.py | 55 +++-- .../figures/fig12_datagram_vs_stream.py | 162 +++++++++++++ .../figures/fig13_resource_overhead_scaled.py | 155 ++++++++++++ .../figures/fig14_strategy_comparison.py | 144 +++++++++++ experiments/analysis/figures/generate_all.py | 6 + experiments/analysis/figures/style.py | 10 + experiments/analysis/publication_stats.py | 229 ++++++++++++++++++ experiments/setup/config.env | 6 +- 8 files changed, 738 insertions(+), 29 deletions(-) create mode 100644 experiments/analysis/figures/fig12_datagram_vs_stream.py create mode 100644 experiments/analysis/figures/fig13_resource_overhead_scaled.py create mode 100644 experiments/analysis/figures/fig14_strategy_comparison.py diff --git a/experiments/analysis/figures/fig01_spike_iso_vs_loss.py b/experiments/analysis/figures/fig01_spike_iso_vs_loss.py index 3c249c30..5e1ce753 100644 --- a/experiments/analysis/figures/fig01_spike_iso_vs_loss.py +++ b/experiments/analysis/figures/fig01_spike_iso_vs_loss.py @@ -10,6 +10,7 @@ from style import ( TRANSPORT_COLORS, TRANSPORT_LABELS, + TRANSPORT_MARKERS, TRANSPORT_ORDER, apply_style, save_figure, @@ -61,48 +62,50 @@ def main(results_dir: Path, output_dir: Path): fig, ax = plt.subplots(figsize=(7, 4.5)) - num_transports = len(TRANSPORT_ORDER) - num_groups = len(LOSS_RATES) - bar_width = 0.18 - group_positions = np.arange(num_groups) + x_offsets = { + "tcp": -0.15, + "quic-control": -0.05, + "quic-pertopic": 0.05, + "quic-perpub": 0.15, + } - for transport_idx, transport in enumerate(TRANSPORT_ORDER): + group_positions = np.arange(len(LOSS_RATES)) + + for transport in TRANSPORT_ORDER: means = [] - err_lo = [] - err_hi = [] - for loss in LOSS_RATES: + ci_halves = [] + positions = [] + for loss_idx, loss in enumerate(LOSS_RATES): if loss in data[transport]: mean, ci_half = compute_ci(data[transport][loss]) means.append(mean) - err_lo.append(min(ci_half, mean)) - err_hi.append(min(ci_half, 1.0 - mean)) - else: - means.append(0) - err_lo.append(0) - err_hi.append(0) - - offset = (transport_idx - (num_transports - 1) / 2) * bar_width - positions = group_positions + offset + ci_halves.append(ci_half) + positions.append(group_positions[loss_idx] + x_offsets[transport]) - ax.bar( + ax.errorbar( positions, means, - bar_width, - yerr=[err_lo, err_hi], - capsize=3, + yerr=ci_halves, + fmt=TRANSPORT_MARKERS[transport], color=TRANSPORT_COLORS[transport], label=TRANSPORT_LABELS[transport], - edgecolor="white", - linewidth=0.5, + markersize=8, + capsize=4, + capthick=1.5, + linewidth=0, + elinewidth=1.5, + markeredgecolor="white", + markeredgewidth=0.8, + zorder=3, ) ax.set_xlabel("Packet Loss Rate") ax.set_ylabel("Spike Isolation Ratio") - ax.set_title("HOL Blocking: Spike Isolation vs. Loss Rate") ax.set_xticks(group_positions) ax.set_xticklabels(LOSS_LABELS) - ax.set_ylim(0, 1.2) - ax.legend(loc="best", framealpha=0.9) + ax.set_ylim(-0.05, 1.15) + ax.axhline(y=0, color="gray", linewidth=0.5, linestyle="-", zorder=1) + ax.legend(loc="upper left", framealpha=0.9) fig.tight_layout() save_figure(fig, output_dir, "fig01_spike_iso_vs_loss") diff --git a/experiments/analysis/figures/fig12_datagram_vs_stream.py b/experiments/analysis/figures/fig12_datagram_vs_stream.py new file mode 100644 index 00000000..8dd1eaf4 --- /dev/null +++ b/experiments/analysis/figures/fig12_datagram_vs_stream.py @@ -0,0 +1,162 @@ +import json +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np +from scipy import stats + +sys.path.insert(0, str(Path(__file__).parent)) +from style import ( + DATAGRAM_COLORS, + DATAGRAM_LABELS, + DATAGRAM_ORDER, + apply_style, + save_figure, +) + +DELAY = 50 +LOSS_RATES = [0, 1, 5, 10] +LOSS_LABELS = ["0%", "1%", "5%", "10%"] +RUNS = range(1, 6) + + +def compute_ci(values, confidence=0.95): + n = len(values) + if n < 2: + return np.mean(values), 0.0 + m = np.mean(values) + sem = stats.sem(values) + t_crit = stats.t.ppf((1 + confidence) / 2, df=n - 1) + return m, t_crit * sem + + +def load_data(results_dir: Path): + exp_dir = results_dir / "05_datagram_vs_stream" + if not exp_dir.exists(): + print(f" WARNING: {exp_dir} not found, skipping fig12") + return None + + data = {} + for transport in DATAGRAM_ORDER: + suffix = "datagram" if "datagram" in transport else "stream" + data[transport] = {"latency": {}, "throughput": {}} + for loss in LOSS_RATES: + lat_values = [] + lat_p95 = [] + tp_values = [] + for run in RUNS: + lat_path = exp_dir / f"quic-{suffix}_delay{DELAY}ms_loss{loss}pct_latency_run{run}.json" + if lat_path.exists(): + with open(lat_path) as f: + d = json.load(f) + lat_values.append(d["results"]["p50_us"]) + lat_p95.append(d["results"]["p95_us"]) + + tp_path = exp_dir / f"quic-{suffix}_delay{DELAY}ms_loss{loss}pct_throughput_run{run}.json" + if tp_path.exists(): + with open(tp_path) as f: + d = json.load(f) + tp_values.append(d["results"]["throughput_avg"]) + + if lat_values: + data[transport]["latency"][loss] = {"p50": lat_values, "p95": lat_p95} + if tp_values: + data[transport]["throughput"][loss] = tp_values + return data + + +def main(results_dir: Path, output_dir: Path): + apply_style() + data = load_data(results_dir) + if data is None: + return + + fig, axes = plt.subplots(1, 2, figsize=(7, 3.5)) + bar_width = 0.3 + x = np.arange(len(LOSS_RATES)) + + ax_lat = axes[0] + for idx, transport in enumerate(DATAGRAM_ORDER): + p50_means = [] + p50_errs = [] + p95_means = [] + p95_errs = [] + for loss in LOSS_RATES: + lat_data = data[transport]["latency"].get(loss) + if lat_data: + m50, e50 = compute_ci(lat_data["p50"]) + m95, e95 = compute_ci(lat_data["p95"]) + p50_means.append(m50 / 1000.0) + p50_errs.append(e50 / 1000.0) + p95_means.append(m95 / 1000.0) + p95_errs.append(e95 / 1000.0) + else: + p50_means.append(0) + p50_errs.append(0) + p95_means.append(0) + p95_errs.append(0) + + offset = (idx - 0.5) * bar_width + color = DATAGRAM_COLORS[transport] + label = DATAGRAM_LABELS[transport] + + ax_lat.bar( + x + offset, p50_means, bar_width, yerr=p50_errs, + color=color, alpha=0.85, label=f"{label} p50", + capsize=3, edgecolor="white", linewidth=0.5, + ) + for xi, p95m, p95e in zip(x + offset, p95_means, p95_errs): + ax_lat.errorbar( + xi, p95m, yerr=p95e, fmt="_", + color=color, markersize=8, capsize=3, linewidth=1.5, + ) + + ax_lat.set_xlabel("Packet Loss Rate") + ax_lat.set_ylabel("Latency (ms)") + ax_lat.set_title("(a) Latency at 50ms RTT") + ax_lat.set_xticks(x) + ax_lat.set_xticklabels(LOSS_LABELS) + ax_lat.legend(loc="upper left", fontsize=8) + + ax_tp = axes[1] + for idx, transport in enumerate(DATAGRAM_ORDER): + means = [] + errs = [] + for loss in LOSS_RATES: + tp_data = data[transport]["throughput"].get(loss) + if tp_data: + m, e = compute_ci(tp_data) + means.append(m) + errs.append(e) + else: + means.append(0) + errs.append(0) + + offset = (idx - 0.5) * bar_width + ax_tp.bar( + x + offset, means, bar_width, yerr=errs, + color=DATAGRAM_COLORS[transport], alpha=0.85, + label=DATAGRAM_LABELS[transport], + capsize=3, edgecolor="white", linewidth=0.5, + ) + + ax_tp.set_xlabel("Packet Loss Rate") + ax_tp.set_ylabel("Throughput (msgs/sec)") + ax_tp.set_title("(b) Throughput at 50ms RTT") + ax_tp.set_xticks(x) + ax_tp.set_xticklabels(LOSS_LABELS) + ax_tp.legend(loc="best", fontsize=8) + + fig.tight_layout() + save_figure(fig, output_dir, "fig12_datagram_vs_stream") + + +if __name__ == "__main__": + script_dir = Path(__file__).resolve().parent + default_results = script_dir.parent.parent / "results" + default_output = script_dir / "output" + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output + output_dir.mkdir(parents=True, exist_ok=True) + main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig13_resource_overhead_scaled.py b/experiments/analysis/figures/fig13_resource_overhead_scaled.py new file mode 100644 index 00000000..08301a61 --- /dev/null +++ b/experiments/analysis/figures/fig13_resource_overhead_scaled.py @@ -0,0 +1,155 @@ +import csv +import json +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np +from scipy import stats + +sys.path.insert(0, str(Path(__file__).parent)) +from style import ( + THROUGHPUT_COLORS, + THROUGHPUT_LABELS, + THROUGHPUT_MARKERS, + THROUGHPUT_ORDER, + apply_style, + save_figure, +) + +CONCURRENCIES = [10, 50, 100] +RUNS = range(1, 4) + + +def compute_ci(values, confidence=0.95): + n = len(values) + if n < 2: + return np.mean(values), 0.0 + m = np.mean(values) + sem = stats.sem(values) + t_crit = stats.t.ppf((1 + confidence) / 2, df=n - 1) + return m, t_crit * sem + + +def peak_rss_from_csv(csv_path: Path) -> float: + peak = 0.0 + with open(csv_path) as f: + reader = csv.DictReader(f) + for row in reader: + rss = float(row["rss_kb"]) + if rss > peak: + peak = rss + return peak / 1024.0 + + +def load_data(results_dir: Path): + exp_dir = results_dir / "06_resource_overhead" + if not exp_dir.exists(): + print(f" WARNING: {exp_dir} not found, skipping fig13") + return None + + data = {} + for transport in THROUGHPUT_ORDER: + data[transport] = {"throughput": {}, "peak_rss": {}} + for conns in CONCURRENCIES: + tp_values = [] + rss_values = [] + for run in RUNS: + json_path = exp_dir / f"{transport}_{conns}conn_run{run}.json" + csv_path = exp_dir / f"{transport}_{conns}conn_run{run}_broker_resources.csv" + + if json_path.exists(): + with open(json_path) as f: + d = json.load(f) + tp_values.append(d["results"]["throughput_avg"]) + + if csv_path.exists(): + rss_values.append(peak_rss_from_csv(csv_path)) + + if tp_values: + data[transport]["throughput"][conns] = tp_values + if rss_values: + data[transport]["peak_rss"][conns] = rss_values + return data + + +def main(results_dir: Path, output_dir: Path): + apply_style() + data = load_data(results_dir) + if data is None: + return + + fig, axes = plt.subplots(1, 2, figsize=(7, 3.5)) + + ax_tp = axes[0] + for transport in THROUGHPUT_ORDER: + x_vals = [] + y_means = [] + y_errs = [] + for conns in CONCURRENCIES: + tp_data = data[transport]["throughput"].get(conns) + if tp_data: + m, e = compute_ci(tp_data) + x_vals.append(conns) + y_means.append(m / 1000.0) + y_errs.append(e / 1000.0) + + if not x_vals: + continue + + ax_tp.errorbar( + x_vals, y_means, yerr=y_errs, + marker=THROUGHPUT_MARKERS[transport], + color=THROUGHPUT_COLORS[transport], + label=THROUGHPUT_LABELS[transport], + linewidth=1.5, markersize=6, capsize=4, + ) + + ax_tp.set_xlabel("Connections") + ax_tp.set_ylabel("Throughput (K msgs/sec)") + ax_tp.set_title("(a) Throughput vs. Connection Count") + ax_tp.set_xticks(CONCURRENCIES) + ax_tp.legend(loc="best", fontsize=8) + + ax_rss = axes[1] + for transport in THROUGHPUT_ORDER: + x_vals = [] + y_means = [] + y_errs = [] + for conns in CONCURRENCIES: + rss_data = data[transport]["peak_rss"].get(conns) + if rss_data: + m, e = compute_ci(rss_data) + x_vals.append(conns) + y_means.append(m) + y_errs.append(e) + + if not x_vals: + continue + + ax_rss.errorbar( + x_vals, y_means, yerr=y_errs, + marker=THROUGHPUT_MARKERS[transport], + color=THROUGHPUT_COLORS[transport], + label=THROUGHPUT_LABELS[transport], + linewidth=1.5, markersize=6, capsize=4, + ) + + ax_rss.set_xlabel("Connections") + ax_rss.set_ylabel("Peak Broker RSS (MB)") + ax_rss.set_title("(b) Memory vs. Connection Count") + ax_rss.set_xticks(CONCURRENCIES) + ax_rss.legend(loc="best", fontsize=8) + + fig.tight_layout() + save_figure(fig, output_dir, "fig13_resource_overhead_scaled") + + +if __name__ == "__main__": + script_dir = Path(__file__).resolve().parent + default_results = script_dir.parent.parent / "results" + default_output = script_dir / "output" + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output + output_dir.mkdir(parents=True, exist_ok=True) + main(results_dir, output_dir) diff --git a/experiments/analysis/figures/fig14_strategy_comparison.py b/experiments/analysis/figures/fig14_strategy_comparison.py new file mode 100644 index 00000000..d034bc88 --- /dev/null +++ b/experiments/analysis/figures/fig14_strategy_comparison.py @@ -0,0 +1,144 @@ +import json +import sys +from pathlib import Path + +import matplotlib.pyplot as plt +import numpy as np +from scipy import stats + +sys.path.insert(0, str(Path(__file__).parent)) +from style import ( + STRATEGY_COLORS, + STRATEGY_LABELS, + STRATEGY_MARKERS, + STRATEGY_ORDER, + apply_style, + save_figure, +) + +TOPIC_COUNTS = [1, 4, 8, 16] +RUNS = range(1, 6) + + +def compute_ci(values, confidence=0.95): + n = len(values) + if n < 2: + return np.mean(values), 0.0 + m = np.mean(values) + sem = stats.sem(values) + t_crit = stats.t.ppf((1 + confidence) / 2, df=n - 1) + return m, t_crit * sem + + +def load_data(results_dir: Path): + exp_dir = results_dir / "04_stream_strategies" + if not exp_dir.exists(): + print(f" WARNING: {exp_dir} not found, skipping fig14") + return None + + data = {} + for strategy in STRATEGY_ORDER: + data[strategy] = {"latency": {}, "throughput": {}} + for topics in TOPIC_COUNTS: + lat_values = [] + tp_values = [] + for run in RUNS: + lat_path = exp_dir / f"{strategy}_{topics}topics_latency_run{run}.json" + if lat_path.exists(): + with open(lat_path) as f: + d = json.load(f) + lat_values.append(d["results"]["p50_us"]) + + tp_path = exp_dir / f"{strategy}_{topics}topics_throughput_run{run}.json" + if tp_path.exists(): + with open(tp_path) as f: + d = json.load(f) + tp_values.append(d["results"]["throughput_avg"]) + + if lat_values: + data[strategy]["latency"][topics] = lat_values + if tp_values: + data[strategy]["throughput"][topics] = tp_values + return data + + +def main(results_dir: Path, output_dir: Path): + apply_style() + data = load_data(results_dir) + if data is None: + return + + fig, axes = plt.subplots(1, 2, figsize=(7, 3.5)) + + ax_lat = axes[0] + for strategy in STRATEGY_ORDER: + x_vals = [] + y_means = [] + y_errs = [] + for topics in TOPIC_COUNTS: + lat_data = data[strategy]["latency"].get(topics) + if lat_data: + m, e = compute_ci(lat_data) + x_vals.append(topics) + y_means.append(m / 1000.0) + y_errs.append(e / 1000.0) + + if not x_vals: + continue + + ax_lat.errorbar( + x_vals, y_means, yerr=y_errs, + marker=STRATEGY_MARKERS[strategy], + color=STRATEGY_COLORS[strategy], + label=STRATEGY_LABELS[strategy], + linewidth=1.5, markersize=6, capsize=4, + ) + + ax_lat.set_xlabel("Topic Count") + ax_lat.set_ylabel("p50 Latency (ms)") + ax_lat.set_title("(a) Latency vs. Topic Count") + ax_lat.set_xticks(TOPIC_COUNTS) + ax_lat.legend(loc="best", fontsize=8) + + ax_tp = axes[1] + for strategy in STRATEGY_ORDER: + x_vals = [] + y_means = [] + y_errs = [] + for topics in TOPIC_COUNTS: + tp_data = data[strategy]["throughput"].get(topics) + if tp_data: + m, e = compute_ci(tp_data) + x_vals.append(topics) + y_means.append(m / 1000.0) + y_errs.append(e / 1000.0) + + if not x_vals: + continue + + ax_tp.errorbar( + x_vals, y_means, yerr=y_errs, + marker=STRATEGY_MARKERS[strategy], + color=STRATEGY_COLORS[strategy], + label=STRATEGY_LABELS[strategy], + linewidth=1.5, markersize=6, capsize=4, + ) + + ax_tp.set_xlabel("Topic Count") + ax_tp.set_ylabel("Throughput (K msgs/sec)") + ax_tp.set_title("(b) Throughput vs. Topic Count") + ax_tp.set_xticks(TOPIC_COUNTS) + ax_tp.legend(loc="best", fontsize=8) + + fig.tight_layout() + save_figure(fig, output_dir, "fig14_strategy_comparison") + + +if __name__ == "__main__": + script_dir = Path(__file__).resolve().parent + default_results = script_dir.parent.parent / "results" + default_output = script_dir / "output" + results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results + output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output + output_dir.mkdir(parents=True, exist_ok=True) + main(results_dir, output_dir) diff --git a/experiments/analysis/figures/generate_all.py b/experiments/analysis/figures/generate_all.py index 862a6aad..df2e0d69 100755 --- a/experiments/analysis/figures/generate_all.py +++ b/experiments/analysis/figures/generate_all.py @@ -12,6 +12,9 @@ from fig09_throughput_vs_loss import main as fig09 from fig10_resource_overhead import main as fig10 from fig11_qos_comparison import main as fig11 +from fig12_datagram_vs_stream import main as fig12 +from fig13_resource_overhead_scaled import main as fig13 +from fig14_strategy_comparison import main as fig14 FIGURES = [ ("fig01_spike_iso_vs_loss", fig01), @@ -25,6 +28,9 @@ ("fig09_throughput_vs_loss", fig09), ("fig10_resource_overhead", fig10), ("fig11_qos_comparison", fig11), + ("fig12_datagram_vs_stream", fig12), + ("fig13_resource_overhead_scaled", fig13), + ("fig14_strategy_comparison", fig14), ] diff --git a/experiments/analysis/figures/style.py b/experiments/analysis/figures/style.py index b98f710f..64a04bef 100644 --- a/experiments/analysis/figures/style.py +++ b/experiments/analysis/figures/style.py @@ -51,6 +51,16 @@ "quic-per-publish": "D", } +DATAGRAM_ORDER = ["quic-stream", "quic-datagram"] +DATAGRAM_COLORS = {"quic-stream": "#2ca02c", "quic-datagram": "#e377c2"} +DATAGRAM_LABELS = {"quic-stream": "QUIC Stream", "quic-datagram": "QUIC Datagram"} +DATAGRAM_MARKERS = {"quic-stream": "^", "quic-datagram": "X"} + +STRATEGY_ORDER = ["control-only", "per-publish", "per-topic"] +STRATEGY_COLORS = {"control-only": "#ff7f0e", "per-publish": "#d62728", "per-topic": "#2ca02c"} +STRATEGY_LABELS = {"control-only": "Control-only", "per-publish": "Per-publish", "per-topic": "Per-topic"} +STRATEGY_MARKERS = {"control-only": "s", "per-publish": "D", "per-topic": "^"} + FIGURE_WIDTH = 7 FIGURE_HEIGHT = 4.5 FONT_SIZE = 10 diff --git a/experiments/analysis/publication_stats.py b/experiments/analysis/publication_stats.py index 8fac0f16..a5e66531 100755 --- a/experiments/analysis/publication_stats.py +++ b/experiments/analysis/publication_stats.py @@ -177,6 +177,27 @@ def extract_throughput_metrics(data: dict) -> dict: ), } +DATAGRAM_PARSERS = { + "05_datagram_vs_stream": ( + re.compile(r"quic-(datagram|stream)_delay(\d+)ms_loss(\d+)pct_(latency|throughput)_run(\d+)\.json"), + lambda m: (f"quic-{m.group(1)}", f"delay{m.group(2)}ms_loss{m.group(3)}pct_{m.group(4)}"), + ), +} + +RESOURCE_PARSERS = { + "06_resource_overhead": ( + re.compile(r"(.+?)_(\d+)conn_run(\d+)\.json"), + lambda m: (m.group(1), f"{m.group(2)}conn"), + ), +} + +STRATEGY_PARSERS = { + "04_stream_strategies": ( + re.compile(r"(.+?)_(\d+)topics_(latency|throughput)_run(\d+)\.json"), + lambda m: (m.group(1), f"{m.group(2)}topics_{m.group(3)}"), + ), +} + TRANSPORT_ORDER = ["tcp", "quic-control", "quic-pertopic", "quic-perpub"] TRANSPORT_LABELS = { "tcp": "TCP", @@ -392,6 +413,113 @@ def format_ms(us: float) -> str: return f"{ms:.0f}ms" +def extract_datagram_metrics(data: dict) -> dict: + results = data["results"] + mode = data["mode"] + if mode == "latency": + return { + "p50_us": results["p50_us"], + "p95_us": results["p95_us"], + "p99_us": results["p99_us"], + "messages": results["messages"], + } + return { + "throughput_avg": results["throughput_avg"], + "published": results["published"], + "received": results["received"], + } + + +def aggregate_datagram_experiment(base_dir: Path, experiment: str) -> dict[tuple[str, str], list[dict]]: + exp_dir = base_dir / experiment + if not exp_dir.exists(): + return {} + + parser_info = DATAGRAM_PARSERS.get(experiment) + if not parser_info: + return {} + + pattern, extractor = parser_info + grouped: dict[tuple[str, str], list[dict]] = defaultdict(list) + + for jf in sorted(exp_dir.glob("*.json")): + m = pattern.match(jf.name) + if not m: + continue + transport, condition = extractor(m) + data = load_json(jf) + metrics = extract_datagram_metrics(data) + grouped[(transport, condition)].append(metrics) + + return grouped + + +def aggregate_resource_experiment(base_dir: Path, experiment: str) -> dict[tuple[str, str], list[dict]]: + exp_dir = base_dir / experiment + if not exp_dir.exists(): + return {} + + parser_info = RESOURCE_PARSERS.get(experiment) + if not parser_info: + return {} + + pattern, extractor = parser_info + grouped: dict[tuple[str, str], list[dict]] = defaultdict(list) + + for jf in sorted(exp_dir.glob("*.json")): + m = pattern.match(jf.name) + if not m: + continue + transport, condition = extractor(m) + data = load_json(jf) + metrics = extract_throughput_metrics(data) + grouped[(transport, condition)].append(metrics) + + return grouped + + +def aggregate_strategy_experiment(base_dir: Path, experiment: str) -> dict[tuple[str, str], list[dict]]: + exp_dir = base_dir / experiment + if not exp_dir.exists(): + return {} + + parser_info = STRATEGY_PARSERS.get(experiment) + if not parser_info: + return {} + + pattern, extractor = parser_info + grouped: dict[tuple[str, str], list[dict]] = defaultdict(list) + + excluded = {"per-subscription"} + for jf in sorted(exp_dir.glob("*.json")): + m = pattern.match(jf.name) + if not m: + continue + strategy, condition = extractor(m) + if strategy in excluded: + continue + try: + data = load_json(jf) + except (json.JSONDecodeError, ValueError): + continue + mode = data["mode"] + if mode == "latency": + metrics = { + "p50_us": data["results"]["p50_us"], + "p95_us": data["results"]["p95_us"], + "throughput_avg": None, + } + else: + metrics = { + "p50_us": None, + "p95_us": None, + "throughput_avg": data["results"]["throughput_avg"], + } + grouped[(strategy, condition)].append(metrics) + + return grouped + + def generate_latex(all_stats: dict, comparisons: list[dict]) -> str: lines = [] @@ -526,6 +654,77 @@ def generate_latex(all_stats: dict, comparisons: list[dict]) -> str: lines.append("\\end{table}") lines.append("") + if "exp05_latency" in all_stats: + dgram_labels = {"quic-stream": "Stream", "quic-datagram": "Datagram"} + delays = ["delay0ms", "delay25ms", "delay50ms"] + delay_headers = ["0ms", "25ms", "50ms"] + losses = ["0", "1", "5", "10"] + loss_headers = ["0\\%", "1\\%", "5\\%", "10\\%"] + + lines.append("\\begin{table}[h]") + lines.append("\\centering") + lines.append("\\caption{Datagram vs.~stream p50 latency ($\\mu$s) at 50ms RTT}") + lines.append("\\label{tab:datagram_latency}") + lines.append("\\begin{tabular}{l" + "c" * len(losses) + "}") + lines.append("\\toprule") + lines.append("Mode & " + " & ".join(loss_headers) + " \\\\") + lines.append("\\midrule") + + for transport in ["quic-stream", "quic-datagram"]: + label = dgram_labels[transport] + cells = [label] + for loss in losses: + key = f"{transport}_delay50ms_loss{loss}pct_latency" + entry = all_stats["exp05_latency"].get(key, {}) + p50 = entry.get("p50_us") + if p50: + cells.append(f"${p50['mean']:.0f} \\pm {p50['std']:.0f}$") + else: + cells.append("---") + lines.append(" & ".join(cells) + " \\\\") + + lines.append("\\bottomrule") + lines.append("\\end{tabular}") + lines.append("\\end{table}") + lines.append("") + + if "exp06" in all_stats: + res_labels = { + "tcp": "TCP", + "quic-control-only": "QUIC control", + "quic-per-topic": "QUIC per-topic", + "quic-per-publish": "QUIC per-publish", + } + conns = ["10conn", "50conn", "100conn"] + conn_headers = ["10", "50", "100"] + + lines.append("\\begin{table}[h]") + lines.append("\\centering") + lines.append("\\caption{Throughput (msgs/sec) vs.~connection count}") + lines.append("\\label{tab:resource_throughput}") + lines.append("\\begin{tabular}{l" + "c" * len(conns) + "}") + lines.append("\\toprule") + lines.append("Strategy & " + " & ".join(conn_headers) + " \\\\") + lines.append("\\midrule") + + for transport in ["tcp", "quic-control-only", "quic-per-topic", "quic-per-publish"]: + label = res_labels[transport] + cells = [label] + for conn in conns: + key = f"{transport}_{conn}" + entry = all_stats["exp06"].get(key, {}) + tp = entry.get("throughput_avg") + if tp: + cells.append(f"${tp['mean']:.0f} \\pm {tp['std']:.0f}$") + else: + cells.append("---") + lines.append(" & ".join(cells) + " \\\\") + + lines.append("\\bottomrule") + lines.append("\\end{tabular}") + lines.append("\\end{table}") + lines.append("") + return "\n".join(lines) @@ -590,6 +789,36 @@ def main(): all_stats["exp03"] = build_stats_table_generic(exp03, tp_order, tp_conditions, tp_fields) print(f"Exp 03 (throughput): processed ({len(tp_conditions)} conditions)") + exp05 = aggregate_datagram_experiment(base_dir, "05_datagram_vs_stream") + if exp05: + dgram_order = ["quic-stream", "quic-datagram"] + dgram_conditions = sorted({k[1] for k in exp05}) + lat_conditions = [c for c in dgram_conditions if c.endswith("_latency")] + tp_conditions = [c for c in dgram_conditions if c.endswith("_throughput")] + dgram_lat_fields = ["p50_us", "p95_us", "p99_us", "messages"] + dgram_tp_fields = ["throughput_avg", "published", "received"] + lat_stats = build_stats_table_generic(exp05, dgram_order, lat_conditions, dgram_lat_fields) + tp_stats = build_stats_table_generic(exp05, dgram_order, tp_conditions, dgram_tp_fields) + all_stats["exp05_latency"] = lat_stats + all_stats["exp05_throughput"] = tp_stats + print(f"Exp 05 (datagram vs stream): processed ({len(dgram_conditions)} conditions)") + + exp06 = aggregate_resource_experiment(base_dir, "06_resource_overhead") + if exp06: + res_order = ["tcp", "quic-control-only", "quic-per-topic", "quic-per-publish"] + res_conditions = sorted({k[1] for k in exp06}) + res_fields = ["throughput_avg", "published", "received"] + all_stats["exp06"] = build_stats_table_generic(exp06, res_order, res_conditions, res_fields) + print(f"Exp 06 (resource overhead): processed ({len(res_conditions)} conditions)") + + exp04 = aggregate_strategy_experiment(base_dir, "04_stream_strategies") + if exp04: + strat_order = ["control-only", "per-publish", "per-topic"] + strat_conditions = sorted({k[1] for k in exp04}) + strat_fields = ["p50_us", "p95_us", "throughput_avg"] + all_stats["exp04"] = build_stats_table_generic(exp04, strat_order, strat_conditions, strat_fields) + print(f"Exp 04 (stream strategies): processed ({len(strat_conditions)} conditions)") + merged_rtt = {} if exp02: for key, metrics in exp02.items(): diff --git a/experiments/setup/config.env b/experiments/setup/config.env index f614a9ce..9ef022eb 100644 --- a/experiments/setup/config.env +++ b/experiments/setup/config.env @@ -1,9 +1,9 @@ GCP_PROJECT_ID="quic-experiments-488321" BROKER_IP="10.138.0.5" -BROKER_SSH_IP="136.118.216.110" -CLIENT_IP="136.117.241.61" +BROKER_SSH_IP="136.109.199.11" +CLIENT_IP="34.169.236.77" REPO_URL="https://github.com/LabOverWire/mqtt-lib.git" REPO_BRANCH="payload-format-experiments" SSH_USER="bench" SSH_KEY_PATH="$HOME/.ssh/id_ed25519" -RUNS_PER_DATAPOINT=5 +RUNS_PER_DATAPOINT=10 From cb956f6800629dda03634bf1baf075694efb74fe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Fri, 6 Mar 2026 20:34:07 -0800 Subject: [PATCH 20/34] write parallel experiment results to results_v2/ --- .gitignore | 1 + experiments/parallel/common_parallel.sh | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index fb0b1530..bafbf244 100644 --- a/.gitignore +++ b/.gitignore @@ -201,6 +201,7 @@ experiments/results/*.json experiments/results/**/*.json experiments/results/*.csv experiments/results/**/*.csv +experiments/results_v2/ # Allow experiment scripts and config !experiments/**/*.sh diff --git a/experiments/parallel/common_parallel.sh b/experiments/parallel/common_parallel.sh index 312e38e4..5f571d48 100755 --- a/experiments/parallel/common_parallel.sh +++ b/experiments/parallel/common_parallel.sh @@ -15,7 +15,7 @@ source "${SCRIPT_DIR}/group${GROUP}.env" : "${RUNS_PER_DATAPOINT:=10}" SSH_USER="${SSH_USER:-bench}" -RESULTS_DIR="${ROOT_DIR}/results" +RESULTS_DIR="${ROOT_DIR}/results_v2" mkdir -p "$RESULTS_DIR" SSH_OPTS="-o StrictHostKeyChecking=no -o ServerAliveInterval=30 -o ServerAliveCountMax=10" From d2711610310076aae6d65f4db6b7d15c457ab759 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Fri, 6 Mar 2026 21:15:04 -0800 Subject: [PATCH 21/34] fill group env IPs, add ProxyJump support for sub-3 --- experiments/parallel/02_hol_blocking.sh | 2 +- experiments/parallel/common_parallel.sh | 23 ++++++++++++++++++----- experiments/parallel/group1.env | 8 ++++---- experiments/parallel/group2.env | 8 ++++---- experiments/parallel/group3.env | 9 +++++---- 5 files changed, 32 insertions(+), 18 deletions(-) diff --git a/experiments/parallel/02_hol_blocking.sh b/experiments/parallel/02_hol_blocking.sh index d4cebca3..4103e496 100755 --- a/experiments/parallel/02_hol_blocking.sh +++ b/experiments/parallel/02_hol_blocking.sh @@ -48,7 +48,7 @@ collect_traces() { local output_dir="${RESULTS_DIR}/${experiment}" for csv in messages.csv quinn_stats.csv; do - scp -i "$SSH_KEY_PATH" "${SSH_USER}@${SUB_IP}:${remote_dir}/${csv}" \ + scp_from_sub "${remote_dir}/${csv}" \ "${output_dir}/${run_label}_${csv}" 2>/dev/null || true done ssh_sub "rm -rf ${remote_dir}" 2>/dev/null || true diff --git a/experiments/parallel/common_parallel.sh b/experiments/parallel/common_parallel.sh index 5f571d48..0d9cf1a9 100755 --- a/experiments/parallel/common_parallel.sh +++ b/experiments/parallel/common_parallel.sh @@ -19,9 +19,24 @@ RESULTS_DIR="${ROOT_DIR}/results_v2" mkdir -p "$RESULTS_DIR" SSH_OPTS="-o StrictHostKeyChecking=no -o ServerAliveInterval=30 -o ServerAliveCountMax=10" +SUB_SSH_OPTS="$SSH_OPTS" +if [ -n "${SUB_PROXY:-}" ]; then + SUB_SSH_OPTS="$SSH_OPTS -o ProxyJump=${SSH_USER}@${SUB_PROXY}" +fi ssh_broker() { ssh -i "$SSH_KEY_PATH" $SSH_OPTS "${SSH_USER}@${BROKER_SSH_IP}" "$@"; } ssh_pub() { ssh -i "$SSH_KEY_PATH" $SSH_OPTS "${SSH_USER}@${PUB_IP}" "$@"; } -ssh_sub() { ssh -i "$SSH_KEY_PATH" $SSH_OPTS "${SSH_USER}@${SUB_IP}" "$@"; } +ssh_sub() { ssh -i "$SSH_KEY_PATH" $SUB_SSH_OPTS "${SSH_USER}@${SUB_IP}" "$@"; } + +scp_from_sub() { + local remote_path="$1" + local local_path="$2" + if [ -n "${SUB_PROXY:-}" ]; then + scp -i "$SSH_KEY_PATH" -o ProxyJump="${SSH_USER}@${SUB_PROXY}" \ + "${SSH_USER}@${SUB_IP}:${remote_path}" "$local_path" + else + scp -i "$SSH_KEY_PATH" "${SSH_USER}@${SUB_IP}:${remote_path}" "$local_path" + fi +} BROKER_PID="" @@ -76,8 +91,7 @@ stop_monitors() { "${output_dir}/${run_label}_broker_resources.csv" scp -i "$SSH_KEY_PATH" "${SSH_USER}@${PUB_IP}:/tmp/client_monitor.csv" \ "${output_dir}/${run_label}_pub_resources.csv" - scp -i "$SSH_KEY_PATH" "${SSH_USER}@${SUB_IP}:/tmp/client_monitor.csv" \ - "${output_dir}/${run_label}_sub_resources.csv" + scp_from_sub "/tmp/client_monitor.csv" "${output_dir}/${run_label}_sub_resources.csv" BROKER_MONITOR_PID="" PUB_MONITOR_PID="" @@ -126,8 +140,7 @@ run_bench_split() { sleep 3 ssh_sub "kill ${sub_bench_pid}" 2>/dev/null || true sleep 1 - scp -i "$SSH_KEY_PATH" "${SSH_USER}@${SUB_IP}:/tmp/sub_bench.json" \ - "${output_dir}/${label}.json" + scp_from_sub "/tmp/sub_bench.json" "${output_dir}/${label}.json" echo " saved: ${output_dir}/${label}.json" } diff --git a/experiments/parallel/group1.env b/experiments/parallel/group1.env index 3133121c..9b1c304f 100644 --- a/experiments/parallel/group1.env +++ b/experiments/parallel/group1.env @@ -1,5 +1,5 @@ -BROKER_IP="FILL_BROKER_1_INTERNAL_IP" -BROKER_SSH_IP="FILL_BROKER_1_EXTERNAL_IP" -PUB_IP="FILL_PUB_1_EXTERNAL_IP" -SUB_IP="FILL_SUB_1_EXTERNAL_IP" +BROKER_IP="10.138.0.21" +BROKER_SSH_IP="34.169.236.77" +PUB_IP="136.109.199.11" +SUB_IP="34.182.40.251" SSH_USER="bench" diff --git a/experiments/parallel/group2.env b/experiments/parallel/group2.env index 84ea28e3..4d6a8d6c 100644 --- a/experiments/parallel/group2.env +++ b/experiments/parallel/group2.env @@ -1,5 +1,5 @@ -BROKER_IP="FILL_BROKER_2_INTERNAL_IP" -BROKER_SSH_IP="FILL_BROKER_2_EXTERNAL_IP" -PUB_IP="FILL_PUB_2_EXTERNAL_IP" -SUB_IP="FILL_SUB_2_EXTERNAL_IP" +BROKER_IP="10.138.0.24" +BROKER_SSH_IP="34.169.150.155" +PUB_IP="34.187.132.118" +SUB_IP="8.229.88.209" SSH_USER="bench" diff --git a/experiments/parallel/group3.env b/experiments/parallel/group3.env index a677972d..677d204b 100644 --- a/experiments/parallel/group3.env +++ b/experiments/parallel/group3.env @@ -1,5 +1,6 @@ -BROKER_IP="FILL_BROKER_3_INTERNAL_IP" -BROKER_SSH_IP="FILL_BROKER_3_EXTERNAL_IP" -PUB_IP="FILL_PUB_3_EXTERNAL_IP" -SUB_IP="FILL_SUB_3_EXTERNAL_IP" +BROKER_IP="10.138.0.27" +BROKER_SSH_IP="34.187.176.101" +PUB_IP="34.83.175.140" +SUB_IP="10.138.0.30" +SUB_PROXY="34.83.175.140" SSH_USER="bench" From 183e0e82f42678fc05455e39487af0afd9102260 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Sun, 8 Mar 2026 18:47:10 -0700 Subject: [PATCH 22/34] add experiment scripts, HOL analysis, ACL README, QUIC spec --- crates/mqttv5-cli/src/commands/bench_cmd.rs | 113 +++++++- .../figures/fig01_spike_iso_vs_loss.py | 16 +- .../figures/fig02_spike_iso_vs_rtt.py | 15 +- .../figures/fig03_spike_iso_vs_topics.py | 22 +- .../figures/fig04_wcorr_vs_spike_iso.py | 140 +++++----- .../figures/fig05_latency_percentiles.py | 4 +- .../analysis/figures/fig06_timeseries_cwnd.py | 2 +- .../analysis/figures/fig07_inter_arrival.py | 2 +- .../figures/fig08_connection_latency.py | 2 +- .../figures/fig09_throughput_vs_loss.py | 2 +- .../figures/fig10_resource_overhead.py | 2 +- .../analysis/figures/fig11_qos_comparison.py | 12 +- .../figures/fig12_datagram_vs_stream.py | 2 +- .../figures/fig13_resource_overhead_scaled.py | 2 +- .../figures/fig14_strategy_comparison.py | 2 +- experiments/analysis/hol_v3_analysis.py | 257 ++++++++++++++++++ experiments/analysis/publication_stats.py | 18 +- experiments/parallel/02_hol_blocking_v3.sh | 96 +++++++ experiments/parallel/common_parallel.sh | 34 ++- experiments/parallel/group1.env | 6 +- experiments/parallel/group2.env | 6 +- experiments/parallel/group3.env | 6 +- experiments/parallel/run_all_v3.sh | 36 +++ 23 files changed, 641 insertions(+), 156 deletions(-) create mode 100644 experiments/analysis/hol_v3_analysis.py create mode 100755 experiments/parallel/02_hol_blocking_v3.sh create mode 100755 experiments/parallel/run_all_v3.sh diff --git a/crates/mqttv5-cli/src/commands/bench_cmd.rs b/crates/mqttv5-cli/src/commands/bench_cmd.rs index 4ce7112f..e906404b 100644 --- a/crates/mqttv5-cli/src/commands/bench_cmd.rs +++ b/crates/mqttv5-cli/src/commands/bench_cmd.rs @@ -366,7 +366,11 @@ struct TopicLatencyResult { struct HolBlockingResults { topics: Vec, windowed_correlation: f64, + detrended_correlation: f64, raw_correlation: f64, + inter_topic_spread_mean_us: f64, + inter_topic_spread_p95_us: f64, + inter_topic_spread_max_us: f64, window_size_ms: u64, window_count: usize, total_messages: u64, @@ -1526,6 +1530,13 @@ fn finalize_and_report_hol( results.window_count, results.window_size_ms ); + eprintln!( + " detrended_correlation: {:.4}, inter_topic_spread: mean={:.1}us p95={:.1}us max={:.1}us", + results.detrended_correlation, + results.inter_topic_spread_mean_us, + results.inter_topic_spread_p95_us, + results.inter_topic_spread_max_us, + ); Ok(results) } @@ -1680,12 +1691,18 @@ fn gather_hol_results( let raw_correlation = pearson_correlation(&raw_latency_vecs); let window_size_ms = 500; let (windowed_corr, window_count) = windowed_correlation(&all_samples, window_size_ms); + let detrended_corr = detrended_correlation(&all_samples, window_size_ms); + let (spread_mean, spread_p95, spread_max) = inter_topic_spread(&all_samples, 100); let measured_rate = as_f64_lossy(total_messages) / elapsed_secs; HolBlockingResults { topics: topic_results, windowed_correlation: windowed_corr, + detrended_correlation: detrended_corr, raw_correlation, + inter_topic_spread_mean_us: spread_mean, + inter_topic_spread_p95_us: spread_p95, + inter_topic_spread_max_us: spread_max, window_size_ms, window_count, total_messages, @@ -1752,11 +1769,10 @@ fn pearson_pair_f64(xs: &[f64], ys: &[f64]) -> f64 { numerator / denominator } -fn windowed_correlation(topic_samples: &[Vec], window_ms: u64) -> (f64, usize) { - if topic_samples.len() < 2 { - return (0.0, 0); - } - +fn compute_windowed_means( + topic_samples: &[Vec], + window_ms: u64, +) -> (Vec>, usize) { let max_time_us = topic_samples .iter() .flat_map(|s| s.iter().map(|ts| ts.received_at_us)) @@ -1765,7 +1781,7 @@ fn windowed_correlation(topic_samples: &[Vec], window_ms: u64 let bucket_us = window_ms * 1000; if bucket_us == 0 || max_time_us == 0 { - return (0.0, 0); + return (vec![Vec::new(); topic_samples.len()], 0); } #[allow(clippy::cast_possible_truncation)] @@ -1803,24 +1819,93 @@ fn windowed_correlation(topic_samples: &[Vec], window_ms: u64 } } - if valid_windows < 2 { - return (0.0, valid_windows); - } + (per_topic_means, valid_windows) +} +fn mean_pairwise_correlation(per_topic_series: &[Vec]) -> f64 { let mut total_r = 0.0; let mut pair_count = 0u64; - for i in 0..per_topic_means.len() { - for j in (i + 1)..per_topic_means.len() { - let r = pearson_pair_f64(&per_topic_means[i], &per_topic_means[j]); + for i in 0..per_topic_series.len() { + for j in (i + 1)..per_topic_series.len() { + let r = pearson_pair_f64(&per_topic_series[i], &per_topic_series[j]); if r.is_finite() { total_r += r; pair_count += 1; } } } - if pair_count == 0 { + return 0.0; + } + total_r / as_f64_lossy(pair_count) +} + +fn windowed_correlation(topic_samples: &[Vec], window_ms: u64) -> (f64, usize) { + if topic_samples.len() < 2 { + return (0.0, 0); + } + + let (per_topic_means, valid_windows) = compute_windowed_means(topic_samples, window_ms); + if valid_windows < 2 { return (0.0, valid_windows); } - (total_r / as_f64_lossy(pair_count), valid_windows) + + (mean_pairwise_correlation(&per_topic_means), valid_windows) +} + +fn detrended_correlation(topic_samples: &[Vec], window_ms: u64) -> f64 { + if topic_samples.len() < 2 { + return 0.0; + } + + let (per_topic_means, valid_windows) = compute_windowed_means(topic_samples, window_ms); + if valid_windows < 3 { + return 0.0; + } + + let diffs: Vec> = per_topic_means + .iter() + .map(|means| means.windows(2).map(|w| w[1] - w[0]).collect()) + .collect(); + + mean_pairwise_correlation(&diffs) +} + +fn inter_topic_spread(topic_samples: &[Vec], window_ms: u64) -> (f64, f64, f64) { + if topic_samples.len() < 2 { + return (0.0, 0.0, 0.0); + } + + let (per_topic_means, valid_windows) = compute_windowed_means(topic_samples, window_ms); + if valid_windows == 0 { + return (0.0, 0.0, 0.0); + } + + let num_topics = per_topic_means.len(); + let mut spreads = Vec::with_capacity(valid_windows); + + for w in 0..valid_windows { + let mut min_mean = f64::MAX; + let mut max_mean = f64::MIN; + for topic_means in &per_topic_means[..num_topics] { + let mean = topic_means[w]; + if mean < min_mean { + min_mean = mean; + } + if mean > max_mean { + max_mean = mean; + } + } + spreads.push(max_mean - min_mean); + } + + spreads.sort_by(|a, b| a.partial_cmp(b).unwrap_or(std::cmp::Ordering::Equal)); + + let sum: f64 = spreads.iter().sum(); + let mean = sum / usize_as_f64_lossy(spreads.len()); + let p95_idx = (spreads.len() * 95) / 100; + let p95 = spreads[p95_idx.min(spreads.len() - 1)]; + let max = spreads.last().copied().unwrap_or(0.0); + + (mean, p95, max) } diff --git a/experiments/analysis/figures/fig01_spike_iso_vs_loss.py b/experiments/analysis/figures/fig01_spike_iso_vs_loss.py index 5e1ce753..da3aa668 100644 --- a/experiments/analysis/figures/fig01_spike_iso_vs_loss.py +++ b/experiments/analysis/figures/fig01_spike_iso_vs_loss.py @@ -18,10 +18,10 @@ LOSS_RATES = [0, 1, 2, 5] LOSS_LABELS = ["0%", "1%", "2%", "5%"] -RUNS = range(1, 6) +RUNS = range(1, 16) -def load_spike_isolation_by_loss(results_dir: Path): +def load_wcorr_by_loss(results_dir: Path): exp02_dir = results_dir / "02_hol_blocking" if not exp02_dir.exists(): print(f" WARNING: {exp02_dir} not found, skipping fig01") @@ -38,7 +38,7 @@ def load_spike_isolation_by_loss(results_dir: Path): if filepath.exists(): with open(filepath) as f: result = json.load(f) - values.append(result["results"]["spike_isolation_ratio"]) + values.append(result["results"]["windowed_correlation"]) if values: data[transport][loss] = values return data @@ -56,7 +56,7 @@ def compute_ci(values, confidence=0.95): def main(results_dir: Path, output_dir: Path): apply_style() - data = load_spike_isolation_by_loss(results_dir) + data = load_wcorr_by_loss(results_dir) if data is None: return @@ -100,12 +100,12 @@ def main(results_dir: Path, output_dir: Path): ) ax.set_xlabel("Packet Loss Rate") - ax.set_ylabel("Spike Isolation Ratio") + ax.set_ylabel("Windowed Correlation") ax.set_xticks(group_positions) ax.set_xticklabels(LOSS_LABELS) ax.set_ylim(-0.05, 1.15) - ax.axhline(y=0, color="gray", linewidth=0.5, linestyle="-", zorder=1) - ax.legend(loc="upper left", framealpha=0.9) + ax.axhline(y=1.0, color="gray", linewidth=0.5, linestyle="--", zorder=1) + ax.legend(loc="lower right", framealpha=0.9) fig.tight_layout() save_figure(fig, output_dir, "fig01_spike_iso_vs_loss") @@ -113,7 +113,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results" + default_results = script_dir.parent.parent / "results_v2" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig02_spike_iso_vs_rtt.py b/experiments/analysis/figures/fig02_spike_iso_vs_rtt.py index 84807750..5c567d5d 100644 --- a/experiments/analysis/figures/fig02_spike_iso_vs_rtt.py +++ b/experiments/analysis/figures/fig02_spike_iso_vs_rtt.py @@ -16,7 +16,7 @@ save_figure, ) -RUNS = range(1, 6) +RUNS = range(1, 16) def load_rtt_data(results_dir: Path): @@ -35,7 +35,7 @@ def load_rtt_data(results_dir: Path): with open(filepath) as f: result = json.load(f) sources[transport][25].append( - result["results"]["spike_isolation_ratio"] + result["results"]["windowed_correlation"] ) if exp02b_dir.exists(): @@ -48,7 +48,7 @@ def load_rtt_data(results_dir: Path): with open(filepath) as f: result = json.load(f) sources[transport][rtt_ms].append( - result["results"]["spike_isolation_ratio"] + result["results"]["windowed_correlation"] ) if exp02d_dir.exists(): @@ -63,7 +63,7 @@ def load_rtt_data(results_dir: Path): with open(filepath) as f: result = json.load(f) sources[transport][rtt_ms].append( - result["results"]["spike_isolation_ratio"] + result["results"]["windowed_correlation"] ) if not sources: @@ -124,9 +124,10 @@ def main(results_dir: Path, output_dir: Path): ) ax.set_xlabel("RTT (ms)") - ax.set_ylabel("Spike Isolation Ratio") - ax.set_title("HOL Blocking: Spike Isolation vs. RTT") + ax.set_ylabel("Windowed Correlation") + ax.set_title("HOL Blocking: Windowed Correlation vs. RTT") ax.set_ylim(0, 1.12) + ax.axhline(y=1.0, color="gray", linewidth=0.5, linestyle="--", zorder=1) ax.legend(loc="best", framealpha=0.9) fig.tight_layout() @@ -135,7 +136,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results" + default_results = script_dir.parent.parent / "results_v2" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig03_spike_iso_vs_topics.py b/experiments/analysis/figures/fig03_spike_iso_vs_topics.py index 292fac8d..d0a40824 100644 --- a/experiments/analysis/figures/fig03_spike_iso_vs_topics.py +++ b/experiments/analysis/figures/fig03_spike_iso_vs_topics.py @@ -16,7 +16,7 @@ ) TOPIC_SCALING_TRANSPORTS = ["tcp", "quic-pertopic", "quic-perpub"] -RUNS = range(1, 6) +RUNS = range(1, 16) def load_topic_scaling_data(results_dir: Path): @@ -34,7 +34,7 @@ def load_topic_scaling_data(results_dir: Path): with open(filepath) as f: result = json.load(f) sources[transport][8].append( - result["results"]["spike_isolation_ratio"] + result["results"]["windowed_correlation"] ) if exp02c_dir.exists(): @@ -52,7 +52,7 @@ def load_topic_scaling_data(results_dir: Path): with open(filepath) as f: result = json.load(f) sources[transport][topic_count].append( - result["results"]["spike_isolation_ratio"] + result["results"]["windowed_correlation"] ) if not sources: @@ -113,12 +113,14 @@ def main(results_dir: Path, output_dir: Path): ) ax.set_xlabel("Number of Topics") - ax.set_ylabel("Spike Isolation Ratio") - ax.set_title("HOL Blocking: Spike Isolation vs. Topic Count") - ax.set_ylim(0, 1.05) - ax.set_xscale("log", base=2) - ax.set_xticks([2, 4, 8, 16, 32]) - ax.set_xticklabels(["2", "4", "8", "16", "32"]) + ax.set_ylabel("Windowed Correlation") + ax.set_title("HOL Blocking: Windowed Correlation vs. Topic Count") + ax.set_ylim(0, 1.12) + ax.axhline(y=1.0, color="gray", linewidth=0.5, linestyle="--", zorder=1) + if len(data.get("tcp", {}).keys()) > 1: + ax.set_xscale("log", base=2) + ax.set_xticks([2, 4, 8, 16, 32]) + ax.set_xticklabels(["2", "4", "8", "16", "32"]) ax.legend(loc="best", framealpha=0.9) fig.tight_layout() @@ -127,7 +129,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results" + default_results = script_dir.parent.parent / "results_v2" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig04_wcorr_vs_spike_iso.py b/experiments/analysis/figures/fig04_wcorr_vs_spike_iso.py index 53cf9ef2..6e27a620 100644 --- a/experiments/analysis/figures/fig04_wcorr_vs_spike_iso.py +++ b/experiments/analysis/figures/fig04_wcorr_vs_spike_iso.py @@ -3,63 +3,43 @@ from pathlib import Path import matplotlib.pyplot as plt +import numpy as np sys.path.insert(0, str(Path(__file__).parent)) from style import ( TRANSPORT_COLORS, TRANSPORT_LABELS, - TRANSPORT_MARKERS, TRANSPORT_ORDER, apply_style, save_figure, ) -EXP_DIRS = [ - "02_hol_blocking", - "02b_hol_rtt_sweep", - "02c_hol_topic_scaling", - "02d_hol_rtt_boundary", - "02e_hol_qos1", -] +LOSS_RATES = [0, 1, 2, 5] +LOSS_LABELS = ["0%", "1%", "2%", "5%"] +RUNS = range(1, 16) def load_all_runs(results_dir: Path): - scatter_data = {t: {"wcorr": [], "spike_iso": []} for t in TRANSPORT_ORDER} - - for exp_name in EXP_DIRS: - exp_dir = results_dir / exp_name - if not exp_dir.exists(): - continue - - for filepath in sorted(exp_dir.glob("*.json")): - stem = filepath.stem - transport = None - for t in TRANSPORT_ORDER: - if stem.startswith(t + "_"): - transport = t - break - if transport is None: - continue - - with open(filepath) as f: - result = json.load(f) - - results_block = result.get("results", {}) - wcorr = results_block.get("windowed_correlation") - spike_iso = results_block.get("spike_isolation_ratio") - - if wcorr is not None and spike_iso is not None: - scatter_data[transport]["wcorr"].append(wcorr) - scatter_data[transport]["spike_iso"].append(spike_iso) - - total_points = sum( - len(v["wcorr"]) for v in scatter_data.values() - ) - if total_points == 0: - print(" WARNING: no scatter data found, skipping fig04") + exp02_dir = results_dir / "02_hol_blocking" + if not exp02_dir.exists(): + print(" WARNING: 02_hol_blocking not found, skipping fig04") return None - return scatter_data + data = {} + for transport in TRANSPORT_ORDER: + data[transport] = {} + for loss in LOSS_RATES: + values = [] + for run in RUNS: + filepath = exp02_dir / f"{transport}_loss{loss}pct_run{run}.json" + if filepath.exists(): + with open(filepath) as f: + result = json.load(f) + values.append(result["results"]["windowed_correlation"]) + if values: + data[transport][loss] = values + + return data def main(results_dir: Path, output_dir: Path): @@ -70,42 +50,52 @@ def main(results_dir: Path, output_dir: Path): fig, ax = plt.subplots(figsize=(7, 5.5)) - for transport in TRANSPORT_ORDER: - wcorr_vals = data[transport]["wcorr"] - spike_vals = data[transport]["spike_iso"] - if not wcorr_vals: - continue - ax.scatter( - wcorr_vals, - spike_vals, + num_transports = len(TRANSPORT_ORDER) + bar_width = 0.18 + group_positions = np.arange(len(LOSS_RATES)) + + for t_idx, transport in enumerate(TRANSPORT_ORDER): + means = [] + lows = [] + highs = [] + for loss in LOSS_RATES: + vals = data[transport].get(loss, []) + if vals: + arr = np.array(vals) + means.append(np.median(arr)) + lows.append(np.percentile(arr, 25)) + highs.append(np.percentile(arr, 75)) + else: + means.append(0) + lows.append(0) + highs.append(0) + + offset = (t_idx - (num_transports - 1) / 2) * bar_width + positions = group_positions + offset + yerr_low = [m - lo for m, lo in zip(means, lows)] + yerr_high = [hi - m for m, hi in zip(means, highs)] + + ax.bar( + positions, + means, + bar_width, + yerr=[yerr_low, yerr_high], + capsize=3, color=TRANSPORT_COLORS[transport], - marker=TRANSPORT_MARKERS[transport], label=TRANSPORT_LABELS[transport], - s=30, - alpha=0.6, - edgecolors="none", + edgecolor="white", + linewidth=0.5, + alpha=0.85, ) - ax.axvline(x=0.5, color="gray", linestyle="--", linewidth=0.8, alpha=0.6) - ax.axhline(y=0.5, color="gray", linestyle="--", linewidth=0.8, alpha=0.6) - - ax.annotate( - "Divergent\nregion", - xy=(0.85, 0.15), - fontsize=9, - fontstyle="italic", - color="gray", - ha="center", - va="center", - bbox=dict(boxstyle="round,pad=0.3", facecolor="lightyellow", alpha=0.7), - ) - - ax.set_xlabel("Windowed Correlation") - ax.set_ylabel("Spike Isolation Ratio") - ax.set_title("Windowed Correlation vs. Spike Isolation (All Experiments)") - ax.set_xlim(-0.1, 1.1) - ax.set_ylim(-0.05, 1.05) - ax.legend(loc="upper left", framealpha=0.9) + ax.set_xlabel("Packet Loss Rate") + ax.set_ylabel("Windowed Correlation (median, IQR)") + ax.set_title("Latency Correlation Across Topics by Transport and Loss") + ax.set_xticks(group_positions) + ax.set_xticklabels(LOSS_LABELS) + ax.set_ylim(0, 1.12) + ax.axhline(y=1.0, color="gray", linewidth=0.5, linestyle="--", zorder=1) + ax.legend(loc="lower right", framealpha=0.9) fig.tight_layout() save_figure(fig, output_dir, "fig04_wcorr_vs_spike_iso") @@ -113,7 +103,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results" + default_results = script_dir.parent.parent / "results_v2" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig05_latency_percentiles.py b/experiments/analysis/figures/fig05_latency_percentiles.py index 0751a5a0..b6e1f28f 100644 --- a/experiments/analysis/figures/fig05_latency_percentiles.py +++ b/experiments/analysis/figures/fig05_latency_percentiles.py @@ -17,7 +17,7 @@ PERCENTILES = ["p50", "p95", "p99"] PERCENTILE_LABELS = ["p50", "p95", "p99"] -RUNS = range(1, 6) +RUNS = range(1, 16) def load_latency_data(results_dir: Path): @@ -112,7 +112,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results" + default_results = script_dir.parent.parent / "results_v2" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig06_timeseries_cwnd.py b/experiments/analysis/figures/fig06_timeseries_cwnd.py index 45d2ec1e..92a0fbb0 100644 --- a/experiments/analysis/figures/fig06_timeseries_cwnd.py +++ b/experiments/analysis/figures/fig06_timeseries_cwnd.py @@ -100,7 +100,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results" + default_results = script_dir.parent.parent / "results_v2" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig07_inter_arrival.py b/experiments/analysis/figures/fig07_inter_arrival.py index 9a89f05a..18d37e1f 100644 --- a/experiments/analysis/figures/fig07_inter_arrival.py +++ b/experiments/analysis/figures/fig07_inter_arrival.py @@ -90,7 +90,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results" + default_results = script_dir.parent.parent / "results_v2" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig08_connection_latency.py b/experiments/analysis/figures/fig08_connection_latency.py index d2faa673..be27169f 100644 --- a/experiments/analysis/figures/fig08_connection_latency.py +++ b/experiments/analysis/figures/fig08_connection_latency.py @@ -113,7 +113,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results" + default_results = script_dir.parent.parent / "results_v2" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig09_throughput_vs_loss.py b/experiments/analysis/figures/fig09_throughput_vs_loss.py index 00d40ea1..c16f176f 100644 --- a/experiments/analysis/figures/fig09_throughput_vs_loss.py +++ b/experiments/analysis/figures/fig09_throughput_vs_loss.py @@ -115,7 +115,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results" + default_results = script_dir.parent.parent / "results_v2" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig10_resource_overhead.py b/experiments/analysis/figures/fig10_resource_overhead.py index 665a6f91..ffed0a4c 100644 --- a/experiments/analysis/figures/fig10_resource_overhead.py +++ b/experiments/analysis/figures/fig10_resource_overhead.py @@ -110,7 +110,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results" + default_results = script_dir.parent.parent / "results_v2" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig11_qos_comparison.py b/experiments/analysis/figures/fig11_qos_comparison.py index feac0bba..fbb47fa7 100644 --- a/experiments/analysis/figures/fig11_qos_comparison.py +++ b/experiments/analysis/figures/fig11_qos_comparison.py @@ -33,8 +33,9 @@ def load_qos_data(results_dir: Path): if qos0_path.exists(): with open(qos0_path) as f: result = json.load(f) - data[transport]["qos0"]["spike_iso"].append( - result["results"]["spike_isolation_ratio"]) + val = result["results"].get("spike_isolation_ratio") + if val is not None: + data[transport]["qos0"]["spike_iso"].append(val) data[transport]["qos0"]["measured_rate"].append( result["results"]["measured_rate"]) @@ -42,8 +43,9 @@ def load_qos_data(results_dir: Path): if qos1_path.exists(): with open(qos1_path) as f: result = json.load(f) - data[transport]["qos1"]["spike_iso"].append( - result["results"]["spike_isolation_ratio"]) + val = result["results"].get("spike_isolation_ratio") + if val is not None: + data[transport]["qos1"]["spike_iso"].append(val) data[transport]["qos1"]["measured_rate"].append( result["results"]["measured_rate"]) @@ -123,7 +125,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results" + default_results = script_dir.parent.parent / "results_v2" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig12_datagram_vs_stream.py b/experiments/analysis/figures/fig12_datagram_vs_stream.py index 8dd1eaf4..4119b1f7 100644 --- a/experiments/analysis/figures/fig12_datagram_vs_stream.py +++ b/experiments/analysis/figures/fig12_datagram_vs_stream.py @@ -154,7 +154,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results" + default_results = script_dir.parent.parent / "results_v2" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig13_resource_overhead_scaled.py b/experiments/analysis/figures/fig13_resource_overhead_scaled.py index 08301a61..ca536934 100644 --- a/experiments/analysis/figures/fig13_resource_overhead_scaled.py +++ b/experiments/analysis/figures/fig13_resource_overhead_scaled.py @@ -147,7 +147,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results" + default_results = script_dir.parent.parent / "results_v2" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig14_strategy_comparison.py b/experiments/analysis/figures/fig14_strategy_comparison.py index d034bc88..1008e645 100644 --- a/experiments/analysis/figures/fig14_strategy_comparison.py +++ b/experiments/analysis/figures/fig14_strategy_comparison.py @@ -136,7 +136,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results" + default_results = script_dir.parent.parent / "results_v2" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/hol_v3_analysis.py b/experiments/analysis/hol_v3_analysis.py new file mode 100644 index 00000000..facee8fd --- /dev/null +++ b/experiments/analysis/hol_v3_analysis.py @@ -0,0 +1,257 @@ +#!/usr/bin/env python3 +"""HOL blocking v3 analysis. + +Aggregates v3 JSON results, computes summary statistics, +and validates that no queue buildup occurred. + +Usage: + python hol_v3_analysis.py [results_dir] + +Default results_dir: experiments/results_v3/02_hol_blocking +""" + +import json +import math +import re +import sys +from collections import defaultdict +from pathlib import Path + + +def load_json(path: Path) -> dict: + with open(path) as f: + return json.load(f) + + +def mean(values: list[float]) -> float: + return sum(values) / len(values) if values else 0.0 + + +def std(values: list[float]) -> float: + if len(values) < 2: + return 0.0 + m = mean(values) + return math.sqrt(sum((v - m) ** 2 for v in values) / (len(values) - 1)) + + +def ci95(values: list[float]) -> float: + if len(values) < 2: + return 0.0 + return 1.96 * std(values) / math.sqrt(len(values)) + + +def parse_filename(name: str) -> tuple[str, int, int] | None: + m = re.match(r"(.+?)_loss(\d+)pct_run(\d+)\.json", name) + if m: + return m.group(1), int(m.group(2)), int(m.group(3)) + return None + + +def extract_metrics(data: dict) -> dict: + results = data["results"] + topics = results["topics"] + + p50s = [t["p50_us"] for t in topics] + + return { + "wcorr": results["windowed_correlation"], + "detrended_corr": results.get("detrended_correlation", None), + "raw_corr": results["raw_correlation"], + "spread_mean": results.get("inter_topic_spread_mean_us", None), + "spread_p95": results.get("inter_topic_spread_p95_us", None), + "spread_max": results.get("inter_topic_spread_max_us", None), + "spike_iso": results.get("spike_isolation_ratio", None), + "cluster_ratio": results.get("inter_arrival_cluster_ratio", None), + "total_msgs": results["total_messages"], + "measured_rate": results["measured_rate"], + "p50_mean": mean(p50s), + "p50_max": max(p50s), + "p50_cv": std(p50s) / mean(p50s) if mean(p50s) > 0 else 0, + } + + +def aggregate_by_condition(results_dir: Path) -> dict: + grouped = defaultdict(list) + + for f in sorted(results_dir.glob("*.json")): + if "_pub.json" in f.name: + continue + parsed = parse_filename(f.name) + if not parsed: + continue + transport, loss_pct, _run = parsed + try: + data = load_json(f) + metrics = extract_metrics(data) + grouped[(transport, loss_pct)].append(metrics) + except (json.JSONDecodeError, KeyError) as e: + print(f" WARN: skipping {f.name}: {e}", file=sys.stderr) + + return grouped + + +def print_summary(grouped: dict): + transports_order = ["tcp", "quic-control", "quic-pertopic", "quic-perpub"] + losses_order = [0, 1, 2, 5] + + print("\n" + "=" * 110) + print("HOL BLOCKING v3 — SUMMARY") + print("=" * 110) + + print(f"\n{'Transport':<18} {'Loss':<6} {'Runs':<5} " + f"{'Spread mean':<14} {'Spread p95':<14} " + f"{'Detrend corr':<14} {'Wcorr':<14} " + f"{'Rate msg/s':<12} {'p50 us':<10}") + print("-" * 110) + + for transport in transports_order: + for loss in losses_order: + key = (transport, loss) + if key not in grouped: + continue + runs = grouped[key] + n = len(runs) + + spread_means = [r["spread_mean"] for r in runs if r["spread_mean"] is not None] + spread_p95s = [r["spread_p95"] for r in runs if r["spread_p95"] is not None] + detrended = [r["detrended_corr"] for r in runs if r["detrended_corr"] is not None] + wcorrs = [r["wcorr"] for r in runs] + rates = [r["measured_rate"] for r in runs] + p50s = [r["p50_mean"] for r in runs] + + sm = f"{mean(spread_means):7.1f}±{ci95(spread_means):5.1f}" if spread_means else "N/A" + sp = f"{mean(spread_p95s):7.1f}±{ci95(spread_p95s):5.1f}" if spread_p95s else "N/A" + dc = f"{mean(detrended):7.4f}±{ci95(detrended):5.4f}" if detrended else "N/A" + wc = f"{mean(wcorrs):7.4f}±{ci95(wcorrs):5.4f}" + rt = f"{mean(rates):7.0f}" + p5 = f"{mean(p50s):7.0f}" + + print(f"{transport:<18} {loss:<6} {n:<5} {sm:<14} {sp:<14} {dc:<14} {wc:<14} {rt:<12} {p5:<10}") + + print() + + +def check_queue_buildup(grouped: dict): + print("\n" + "=" * 80) + print("QUEUE BUILDUP CHECK") + print("=" * 80) + print("If p50 latency >> baseline RTT (expected ~50000us at 25ms delay),") + print("queue buildup is occurring and the rate needs to be lowered.\n") + + baseline_p50 = {} + for (transport, loss), runs in grouped.items(): + if loss == 0: + baseline_p50[transport] = mean([r["p50_mean"] for r in runs]) + + issues = [] + for (transport, loss), runs in sorted(grouped.items()): + p50 = mean([r["p50_mean"] for r in runs]) + base = baseline_p50.get(transport, p50) + ratio = p50 / base if base > 0 else 0 + + status = "OK" if ratio < 2.0 else "WARN" + if ratio >= 5.0: + status = "QUEUE BUILDUP" + issues.append(f"{transport} at {loss}% loss: p50={p50:.0f}us ({ratio:.1f}x baseline)") + + print(f" {transport:<18} loss={loss}%: p50={p50:>10.0f}us " + f"({ratio:>5.1f}x baseline) [{status}]") + + if issues: + print(f"\n ISSUES FOUND ({len(issues)}):") + for issue in issues: + print(f" - {issue}") + print(" Consider reducing --rate below 500 msg/s") + else: + print("\n No queue buildup detected.") + + +def print_spike_isolation(grouped: dict): + transports_order = ["tcp", "quic-control", "quic-pertopic", "quic-perpub"] + losses_order = [0, 1, 2, 5] + + print("\n" + "=" * 80) + print("SPIKE ISOLATION RATIO (from trace data)") + print("=" * 80) + print("1.0 = all spikes co-occur (HOL blocking), 0.0 = fully isolated\n") + + for transport in transports_order: + for loss in losses_order: + key = (transport, loss) + if key not in grouped: + continue + runs = grouped[key] + spike_vals = [r["spike_iso"] for r in runs if r["spike_iso"] is not None] + if not spike_vals: + continue + m = mean(spike_vals) + c = ci95(spike_vals) + print(f" {transport:<18} loss={loss}%: {m:.4f} ± {c:.4f} (n={len(spike_vals)})") + + +def print_latex_table(grouped: dict): + transports_order = ["tcp", "quic-control", "quic-pertopic", "quic-perpub"] + labels = { + "tcp": "TCP", + "quic-control": "QUIC control-only", + "quic-pertopic": "QUIC per-topic", + "quic-perpub": "QUIC per-publish", + } + losses_order = [0, 1, 2, 5] + + print("\n" + "=" * 80) + print("LATEX TABLE (inter-topic spread mean, us)") + print("=" * 80) + print(r"\begin{tabular}{l" + "r" * len(losses_order) + "}") + print(r"\toprule") + header = "Transport & " + " & ".join(f"{l}\\% loss" for l in losses_order) + r" \\" + print(header) + print(r"\midrule") + + for transport in transports_order: + row = labels.get(transport, transport) + for loss in losses_order: + key = (transport, loss) + if key not in grouped: + row += " & ---" + continue + runs = grouped[key] + vals = [r["spread_mean"] for r in runs if r["spread_mean"] is not None] + if vals: + row += f" & {mean(vals):.1f}" + else: + row += " & ---" + row += r" \\" + print(row) + + print(r"\bottomrule") + print(r"\end{tabular}") + + +def main(): + if len(sys.argv) > 1: + results_dir = Path(sys.argv[1]) + else: + results_dir = Path(__file__).parent.parent / "results_v3" / "02_hol_blocking" + + if not results_dir.exists(): + print(f"Results directory not found: {results_dir}", file=sys.stderr) + sys.exit(1) + + json_count = len(list(results_dir.glob("*.json"))) + print(f"Loading from: {results_dir}") + print(f"JSON files found: {json_count}") + + grouped = aggregate_by_condition(results_dir) + if not grouped: + print("No valid results found.", file=sys.stderr) + sys.exit(1) + + print_summary(grouped) + check_queue_buildup(grouped) + print_spike_isolation(grouped) + print_latex_table(grouped) + + +if __name__ == "__main__": + main() diff --git a/experiments/analysis/publication_stats.py b/experiments/analysis/publication_stats.py index a5e66531..4295f1cc 100755 --- a/experiments/analysis/publication_stats.py +++ b/experiments/analysis/publication_stats.py @@ -356,8 +356,8 @@ def run_comparisons(grouped: dict, conditions: list[str]) -> list[dict]: num_comparisons = len(pairs) for condition, key_a, key_b, label in pairs: - vals_a = [m["spike_iso"] for m in grouped[key_a] if m.get("spike_iso") is not None] - vals_b = [m["spike_iso"] for m in grouped[key_b] if m.get("spike_iso") is not None] + vals_a = [m["wcorr"] for m in grouped[key_a] if m.get("wcorr") is not None] + vals_b = [m["wcorr"] for m in grouped[key_b] if m.get("wcorr") is not None] if len(vals_a) < 2 or len(vals_b) < 2: continue @@ -389,7 +389,7 @@ def run_comparisons(grouped: dict, conditions: list[str]) -> list[dict]: "comparison": label, "group_a": f"{key_a[0]}", "group_b": f"{key_b[0]}", - "metric": "spike_iso", + "metric": "wcorr", "mean_a": mean(vals_a), "mean_b": mean(vals_b), "u_statistic": statistic, @@ -529,8 +529,8 @@ def generate_latex(all_stats: dict, comparisons: list[dict]) -> str: if "exp02" in all_stats: lines.append("\\begin{table}[h]") lines.append("\\centering") - lines.append("\\caption{Spike isolation ratio across packet loss rates (25ms RTT, 8 topics)}") - lines.append("\\label{tab:spike_iso_vs_loss}") + lines.append("\\caption{Windowed correlation across packet loss rates (25ms RTT, 8 topics)}") + lines.append("\\label{tab:wcorr_vs_loss}") lines.append("\\begin{tabular}{lcccc}") lines.append("\\toprule") lines.append("Strategy & 0\\% loss & 1\\% loss & 2\\% loss & 5\\% loss \\\\") @@ -542,10 +542,10 @@ def generate_latex(all_stats: dict, comparisons: list[dict]) -> str: for loss in ["loss0pct", "loss1pct", "loss2pct", "loss5pct"]: key = f"{transport}_{loss}" entry = all_stats["exp02"].get(key, {}) - si = entry.get("spike_iso") - if si: + wc = entry.get("wcorr") + if wc: cells.append( - f"${si['mean']:.3f} \\pm {si['std']:.3f}$" + f"${wc['mean']:.3f} \\pm {wc['std']:.3f}$" ) else: cells.append("---") @@ -890,7 +890,7 @@ def sanitize(obj): cd_str = f"cd={comp['cliff_delta']:.2f}" if comp.get("cliff_delta") is not None else "cd=N/A" print( f" {comp['condition']:12s} {comp['comparison']:20s} " - f"spike_iso: {comp['mean_a']:.3f} vs {comp['mean_b']:.3f} " + f"wcorr: {comp['mean_a']:.3f} vs {comp['mean_b']:.3f} " f"U={comp['u_statistic']:.1f} p={comp['bonferroni_p']:.4f} {sig} {d_str} {cd_str}" ) diff --git a/experiments/parallel/02_hol_blocking_v3.sh b/experiments/parallel/02_hol_blocking_v3.sh new file mode 100755 index 00000000..199e0443 --- /dev/null +++ b/experiments/parallel/02_hol_blocking_v3.sh @@ -0,0 +1,96 @@ +#!/usr/bin/env bash +set -euo pipefail +source "$(dirname "${BASH_SOURCE[0]}")/common_parallel.sh" + +EXPERIMENT="02_hol_blocking" +LOSSES=(0 1 2 5) +DELAY=25 +RUNS_PER_DATAPOINT=15 + +RESULTS_DIR="${ROOT_DIR}/results_v3" +mkdir -p "$RESULTS_DIR" + +BROKER_TLS="--tls-cert /opt/mqtt-certs/server.pem --tls-key /opt/mqtt-certs/server.key" +BROKER_QUIC="--quic-host 0.0.0.0:14567" +CA="--ca-cert /opt/mqtt-certs/ca.pem" + +declare -A TRANSPORT_URLS +TRANSPORT_URLS[tcp]="mqtt://${BROKER_IP}:1883" +TRANSPORT_URLS[quic-control]="quic://${BROKER_IP}:14567" +TRANSPORT_URLS[quic-pertopic]="quic://${BROKER_IP}:14567" +TRANSPORT_URLS[quic-perpub]="quic://${BROKER_IP}:14567" + +declare -A TRANSPORT_FLAGS +TRANSPORT_FLAGS[tcp]="" +TRANSPORT_FLAGS[quic-control]="--quic-stream-strategy control-only ${CA}" +TRANSPORT_FLAGS[quic-pertopic]="--quic-stream-strategy per-topic ${CA}" +TRANSPORT_FLAGS[quic-perpub]="--quic-stream-strategy per-publish ${CA}" + +declare -A BROKER_DELIVERY +BROKER_DELIVERY[tcp]="" +BROKER_DELIVERY[quic-control]="--quic-delivery-strategy control-only" +BROKER_DELIVERY[quic-pertopic]="--quic-delivery-strategy per-topic" +BROKER_DELIVERY[quic-perpub]="--quic-delivery-strategy per-publish" + +: "${V3_TRANSPORTS:=tcp quic-control quic-pertopic quic-perpub}" +read -ra TRANSPORTS <<< "$V3_TRANSPORTS" + +collect_traces() { + local experiment="$1" + local run_label="$2" + local remote_dir="$3" + local output_dir="${RESULTS_DIR}/${experiment}" + + for csv in messages.csv quinn_stats.csv; do + scp -i "$SSH_KEY_PATH" "${SSH_USER}@${PUB_IP}:${remote_dir}/${csv}" \ + "${output_dir}/${run_label}_${csv}" 2>/dev/null || true + done + ssh_pub "rm -rf ${remote_dir}" 2>/dev/null || true +} + +run_hol_colocated() { + local experiment="$1" + local label="$2" + shift 2 + local bench_args="$*" + local output_dir="${RESULTS_DIR}/${experiment}" + mkdir -p "$output_dir" + + echo " running (co-located): ${label}" + ssh_pub "ulimit -n 65536; mqttv5 bench ${bench_args}" \ + > "${output_dir}/${label}.json" 2>/dev/null || true + echo " saved: ${output_dir}/${label}.json" +} + +for tname in "${TRANSPORTS[@]}"; do + url="${TRANSPORT_URLS[$tname]}" + flags="${TRANSPORT_FLAGS[$tname]}" + delivery="${BROKER_DELIVERY[$tname]}" + + stop_broker 2>/dev/null || true + start_broker "${BROKER_TLS} ${BROKER_QUIC} ${delivery}" + + for loss in "${LOSSES[@]}"; do + apply_netem "$DELAY" "$loss" + label="${tname}_loss${loss}pct" + echo "[${EXPERIMENT}] ${label}" + + bench_args="--url ${url} ${flags} --mode hol-blocking --topics 8 --duration 60 --warmup 5 --payload-size 256 --rate 500 --trace-dir /tmp/hol-traces" + output_dir="${RESULTS_DIR}/${EXPERIMENT}" + mkdir -p "$output_dir" + + for run in $(seq 1 "$RUNS_PER_DATAPOINT"); do + run_label="${label}_run${run}" + start_monitors + run_hol_colocated "$EXPERIMENT" "$run_label" "$bench_args" + stop_monitors "$output_dir" "$run_label" + collect_traces "$EXPERIMENT" "$run_label" "/tmp/hol-traces" + sleep 5 + done + + clear_netem + done +done + +stop_broker +echo "experiment ${EXPERIMENT} v3 complete (group ${GROUP})" diff --git a/experiments/parallel/common_parallel.sh b/experiments/parallel/common_parallel.sh index 0d9cf1a9..1d4f2933 100755 --- a/experiments/parallel/common_parallel.sh +++ b/experiments/parallel/common_parallel.sh @@ -107,7 +107,7 @@ run_bench_pub_only() { mkdir -p "$output_dir" echo " running (pub-only): mqttv5 bench ${bench_args}" - ssh_pub "ulimit -n 65536; mqttv5 bench ${bench_args}" > "${output_dir}/${label}.json" 2>/dev/null + ssh_pub "ulimit -n 65536; mqttv5 bench ${bench_args}" > "${output_dir}/${label}.json" 2>/dev/null || true echo " saved: ${output_dir}/${label}.json" } @@ -127,19 +127,35 @@ run_bench_split() { local sub_args sub_args=$(echo "$bench_args" | sed "s/--duration ${sub_duration}/--duration ${sub_total}/") + sub_args=$(echo "$sub_args" | sed 's/--publishers [0-9]*/--publishers 0/') + if ! echo "$sub_args" | grep -q -- '--publishers'; then + sub_args="${sub_args} --publishers 0" + fi + + local pub_args + pub_args=$(echo "$bench_args" | sed 's/--subscribers [0-9]*/--subscribers 0/') + if ! echo "$pub_args" | grep -q -- '--subscribers'; then + pub_args="${pub_args} --subscribers 0" + fi - ssh_sub "ulimit -n 65536; nohup mqttv5 bench ${sub_args} --publishers 0 \ - > /tmp/sub_bench.json 2>/dev/null & echo \$!" > /tmp/sub_pid_${GROUP} - local sub_bench_pid - sub_bench_pid=$(cat /tmp/sub_pid_${GROUP}) + ssh_sub "rm -f /tmp/sub_bench.json; ulimit -n 65536; nohup mqttv5 bench ${sub_args} \ + > /tmp/sub_bench.json 2>/dev/null &" sleep 2 - ssh_pub "ulimit -n 65536; mqttv5 bench ${bench_args} --subscribers 0" \ + ssh_pub "ulimit -n 65536; mqttv5 bench ${pub_args}" \ > "${output_dir}/${label}_pub.json" 2>/dev/null || true - sleep 3 - ssh_sub "kill ${sub_bench_pid}" 2>/dev/null || true - sleep 1 + local waited=0 + while [ "$waited" -lt 60 ]; do + local size + size=$(ssh_sub "stat -c%s /tmp/sub_bench.json 2>/dev/null || echo 0") + if [ "$size" -gt 0 ]; then + break + fi + sleep 2 + waited=$((waited + 2)) + done + scp_from_sub "/tmp/sub_bench.json" "${output_dir}/${label}.json" echo " saved: ${output_dir}/${label}.json" } diff --git a/experiments/parallel/group1.env b/experiments/parallel/group1.env index 9b1c304f..184859ee 100644 --- a/experiments/parallel/group1.env +++ b/experiments/parallel/group1.env @@ -1,5 +1,5 @@ BROKER_IP="10.138.0.21" -BROKER_SSH_IP="34.169.236.77" -PUB_IP="136.109.199.11" -SUB_IP="34.182.40.251" +BROKER_SSH_IP="8.229.25.94" +PUB_IP="34.187.171.115" +SUB_IP="34.169.172.244" SSH_USER="bench" diff --git a/experiments/parallel/group2.env b/experiments/parallel/group2.env index 4d6a8d6c..63786225 100644 --- a/experiments/parallel/group2.env +++ b/experiments/parallel/group2.env @@ -1,5 +1,5 @@ BROKER_IP="10.138.0.24" -BROKER_SSH_IP="34.169.150.155" -PUB_IP="34.187.132.118" -SUB_IP="8.229.88.209" +BROKER_SSH_IP="34.83.5.240" +PUB_IP="34.168.6.142" +SUB_IP="34.53.126.18" SSH_USER="bench" diff --git a/experiments/parallel/group3.env b/experiments/parallel/group3.env index 677d204b..f4192160 100644 --- a/experiments/parallel/group3.env +++ b/experiments/parallel/group3.env @@ -1,6 +1,6 @@ BROKER_IP="10.138.0.27" -BROKER_SSH_IP="34.187.176.101" -PUB_IP="34.83.175.140" +BROKER_SSH_IP="136.117.205.14" +PUB_IP="8.229.13.13" SUB_IP="10.138.0.30" -SUB_PROXY="34.83.175.140" +SUB_PROXY="8.229.13.13" SSH_USER="bench" diff --git a/experiments/parallel/run_all_v3.sh b/experiments/parallel/run_all_v3.sh new file mode 100755 index 00000000..5d17b9d7 --- /dev/null +++ b/experiments/parallel/run_all_v3.sh @@ -0,0 +1,36 @@ +#!/usr/bin/env bash +set -euo pipefail + +SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" + +echo "=== HOL blocking v3: launching 3 parallel groups ===" +echo " Group 1: tcp, quic-control" +echo " Group 2: quic-pertopic" +echo " Group 3: quic-perpub" +echo "" + +V3_TRANSPORTS="tcp quic-control" GROUP=1 bash "${SCRIPT_DIR}/02_hol_blocking_v3.sh" \ + > /tmp/hol_v3_group1.log 2>&1 & +PID1=$! +echo "Group 1 started (pid ${PID1}), log: /tmp/hol_v3_group1.log" + +V3_TRANSPORTS="quic-pertopic" GROUP=2 bash "${SCRIPT_DIR}/02_hol_blocking_v3.sh" \ + > /tmp/hol_v3_group2.log 2>&1 & +PID2=$! +echo "Group 2 started (pid ${PID2}), log: /tmp/hol_v3_group2.log" + +V3_TRANSPORTS="quic-perpub" GROUP=3 bash "${SCRIPT_DIR}/02_hol_blocking_v3.sh" \ + > /tmp/hol_v3_group3.log 2>&1 & +PID3=$! +echo "Group 3 started (pid ${PID3}), log: /tmp/hol_v3_group3.log" + +echo "" +echo "Waiting for all groups to complete..." +echo " Monitor: tail -f /tmp/hol_v3_group{1,2,3}.log" + +wait $PID1 && echo "Group 1 complete" || echo "Group 1 FAILED (exit $?)" +wait $PID2 && echo "Group 2 complete" || echo "Group 2 FAILED (exit $?)" +wait $PID3 && echo "Group 3 complete" || echo "Group 3 FAILED (exit $?)" + +echo "" +echo "=== HOL blocking v3 complete ===" From 543c24848c6bda142ea9281868b3f33f9786506d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Mon, 9 Mar 2026 09:22:32 -0700 Subject: [PATCH 23/34] fix v3 experiment script to skip unused sub VM monitoring --- experiments/INVESTIGATION_DIARY.md | 43 ++++++++++++++++++++++ experiments/parallel/02_hol_blocking_v3.sh | 23 ++++++++++++ experiments/parallel/group1.env | 6 +-- experiments/parallel/group2.env | 6 +-- experiments/parallel/group3.env | 6 +-- 5 files changed, 75 insertions(+), 9 deletions(-) diff --git a/experiments/INVESTIGATION_DIARY.md b/experiments/INVESTIGATION_DIARY.md index 7c129834..f025aac3 100644 --- a/experiments/INVESTIGATION_DIARY.md +++ b/experiments/INVESTIGATION_DIARY.md @@ -19,6 +19,49 @@ New entries on top, beneath the planned work list. - [x] Phase 11: Publication gap closure — additional figures + statistical robustness - [x] Phase 12: Experiment 05 — datagram vs stream (QoS 0, RTT sweep) - [x] Phase 13: Experiment 06 — resource overhead at scale +- [x] Phase 14: HOL Blocking v3 — redesigned experiment with proper rate, new metrics + +--- + +## 2026-03-09 — Phase 14: HOL Blocking v3 Redesign & QUIC Frame Packing Analysis + +**Why v2 failed**: Publishing at 5000 msg/s exceeded connection capacity under loss (440-1150 msg/s), causing unbounded queue buildup. Latency grew monotonically from 25ms to 8-20 seconds. Pearson correlation of monotonically growing series is always ~1.0 regardless of actual HOL isolation. Additionally, split pub/sub mode was broken — `run_hol_blocking()` ignores `--publishers 0`/`--subscribers 0`. + +**v3 parameters**: Rate 500 msg/s, duration 60s, payload 256B, 8 topics, co-located pub/sub, always trace. No queue buildup at any loss rate. + +**QUIC frame packing artifact**: QUIC shows elevated baseline correlation (wcorr 0.5-0.7 at 0% loss, vs TCP's ~0) because Quinn packs STREAM frames for multiple topics into the same QUIC packet/datagram. When one datagram is delayed by kernel scheduling, all topic frames in it experience the delay together. Three distinct layers: + +1. **QUIC packet coalescing** (protocol layer, `quinn-proto`): Multiple QUIC packets (Initial, Handshake, 1-RTT) combined into one UDP datagram. Automatic, not configurable. + +2. **QUIC frame packing** (protocol layer, `quinn-proto`): Multiple STREAM frames from different topics packed into the same 1-RTT packet. This causes the correlation artifact. Not user-configurable — Quinn fills each packet up to MTU. + +3. **GSO (Generic Segmentation Offload)** (UDP layer, `quinn-udp`): Multiple UDP datagrams batched into a single system call. Configurable via `TransportConfig::enable_segmentation_offload()`, defaults to true. Affects syscall efficiency, NOT frame packing. + +Disabling GSO would NOT eliminate the frame packing artifact — it only reduces batching at the kernel level. Separating each topic into distinct datagrams would be extremely wasteful. + +**New metrics**: `inter_topic_spread_mean_us` (max-min of per-topic means in 100ms windows) and `detrended_correlation` (first-differences then Pearson). Spread is the primary HOL metric; correlation is not discriminative due to shared congestion control. + +**v3 final results** (240 JSON files — 4 transports × 4 loss rates × 15 runs, all complete): + +Inter-topic spread mean (µs): +| Transport | 0% | 1% | 2% | 5% | 5%/0% ratio | +|-----------|-----|------|------|-------|------| +| TCP | 6648 | 7053 | 7376 | 8476 | 1.3x | +| QUIC control | 70 | 1749 | 3331 | 6271 | 90x | +| QUIC per-topic | 93 | 3746 | 7313 | 17810 | 192x | +| QUIC per-pub | 106 | 3334 | 5877 | 11760 | 111x | + +Spike isolation ratio (0.0=fully isolated, 1.0=all co-occur): +| Transport | 1% | 2% | 5% | +|-----------|------|------|------| +| TCP | 0.99 | 0.98 | 0.99 | +| QUIC control | 0.98 | 0.98 | 0.98 | +| QUIC per-topic | 0.72 | 0.82 | 0.91 | +| QUIC per-pub | 0.60 | 0.74 | 0.90 | + +TCP spread barely changes under loss (topics blocked together). QUIC per-topic spread explodes 192x (topics independently affected by retransmissions). Per-topic provides more isolation than per-pub because long-lived streams accumulate independent retransmission queues. + +**Script fix**: `stop_monitors` in v3 script overridden to skip sub VM (not used in co-located mode). Original crash: `scp_from_sub` failure killed script via `set -euo pipefail`. --- diff --git a/experiments/parallel/02_hol_blocking_v3.sh b/experiments/parallel/02_hol_blocking_v3.sh index 199e0443..fd7e0f55 100755 --- a/experiments/parallel/02_hol_blocking_v3.sh +++ b/experiments/parallel/02_hol_blocking_v3.sh @@ -35,6 +35,29 @@ BROKER_DELIVERY[quic-perpub]="--quic-delivery-strategy per-publish" : "${V3_TRANSPORTS:=tcp quic-control quic-pertopic quic-perpub}" read -ra TRANSPORTS <<< "$V3_TRANSPORTS" +start_monitors() { + BROKER_MONITOR_PID=$(ssh_broker "nohup bash /opt/mqtt-lib/experiments/monitor/resource_monitor.sh ${BROKER_PID} \ + > /tmp/monitor.csv 2>&1 & echo \$!") + PUB_MONITOR_PID=$(ssh_pub "nohup bash /opt/mqtt-lib/experiments/monitor/client_monitor.sh \ + > /tmp/client_monitor.csv 2>&1 & echo \$!") +} + +stop_monitors() { + local output_dir="$1" + local run_label="$2" + + ssh_broker "kill ${BROKER_MONITOR_PID}" 2>/dev/null || true + ssh_pub "kill ${PUB_MONITOR_PID}" 2>/dev/null || true + + scp -i "$SSH_KEY_PATH" $SSH_OPTS "${SSH_USER}@${BROKER_SSH_IP}:/tmp/monitor.csv" \ + "${output_dir}/${run_label}_broker_resources.csv" 2>/dev/null || true + scp -i "$SSH_KEY_PATH" $SSH_OPTS "${SSH_USER}@${PUB_IP}:/tmp/client_monitor.csv" \ + "${output_dir}/${run_label}_pub_resources.csv" 2>/dev/null || true + + BROKER_MONITOR_PID="" + PUB_MONITOR_PID="" +} + collect_traces() { local experiment="$1" local run_label="$2" diff --git a/experiments/parallel/group1.env b/experiments/parallel/group1.env index 184859ee..6a8d8add 100644 --- a/experiments/parallel/group1.env +++ b/experiments/parallel/group1.env @@ -1,5 +1,5 @@ BROKER_IP="10.138.0.21" -BROKER_SSH_IP="8.229.25.94" -PUB_IP="34.187.171.115" -SUB_IP="34.169.172.244" +BROKER_SSH_IP="136.117.204.132" +PUB_IP="8.229.93.126" +SUB_IP="34.11.136.58" SSH_USER="bench" diff --git a/experiments/parallel/group2.env b/experiments/parallel/group2.env index 63786225..71fd5954 100644 --- a/experiments/parallel/group2.env +++ b/experiments/parallel/group2.env @@ -1,5 +1,5 @@ BROKER_IP="10.138.0.24" -BROKER_SSH_IP="34.83.5.240" -PUB_IP="34.168.6.142" -SUB_IP="34.53.126.18" +BROKER_SSH_IP="104.199.127.206" +PUB_IP="136.117.63.122" +SUB_IP="34.187.199.72" SSH_USER="bench" diff --git a/experiments/parallel/group3.env b/experiments/parallel/group3.env index f4192160..d1fb3725 100644 --- a/experiments/parallel/group3.env +++ b/experiments/parallel/group3.env @@ -1,6 +1,6 @@ BROKER_IP="10.138.0.27" -BROKER_SSH_IP="136.117.205.14" -PUB_IP="8.229.13.13" +BROKER_SSH_IP="104.199.122.242" +PUB_IP="34.127.87.112" SUB_IP="10.138.0.30" -SUB_PROXY="8.229.13.13" +SUB_PROXY="34.127.87.112" SSH_USER="bench" From 97ca83ba88bb0912842fa60b939fc86bbae1da2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Mon, 9 Mar 2026 09:47:51 -0700 Subject: [PATCH 24/34] update figure scripts and stats to use v3 HOL blocking metrics --- .../figures/fig01_spike_iso_vs_loss.py | 23 ++--- .../figures/fig04_wcorr_vs_spike_iso.py | 90 +++++++++++-------- .../figures/fig05_latency_percentiles.py | 2 +- .../analysis/figures/fig06_timeseries_cwnd.py | 2 +- .../analysis/figures/fig07_inter_arrival.py | 2 +- experiments/analysis/publication_stats.py | 72 +++++++++++++-- 6 files changed, 131 insertions(+), 60 deletions(-) diff --git a/experiments/analysis/figures/fig01_spike_iso_vs_loss.py b/experiments/analysis/figures/fig01_spike_iso_vs_loss.py index da3aa668..25608136 100644 --- a/experiments/analysis/figures/fig01_spike_iso_vs_loss.py +++ b/experiments/analysis/figures/fig01_spike_iso_vs_loss.py @@ -21,7 +21,7 @@ RUNS = range(1, 16) -def load_wcorr_by_loss(results_dir: Path): +def load_spread_by_loss(results_dir: Path): exp02_dir = results_dir / "02_hol_blocking" if not exp02_dir.exists(): print(f" WARNING: {exp02_dir} not found, skipping fig01") @@ -35,10 +35,12 @@ def load_wcorr_by_loss(results_dir: Path): for run in RUNS: filename = f"{transport}_loss{loss}pct_run{run}.json" filepath = exp02_dir / filename - if filepath.exists(): + if filepath.exists() and filepath.stat().st_size > 10: with open(filepath) as f: result = json.load(f) - values.append(result["results"]["windowed_correlation"]) + val = result["results"].get("inter_topic_spread_mean_us") + if val is not None: + values.append(val) if values: data[transport][loss] = values return data @@ -56,7 +58,7 @@ def compute_ci(values, confidence=0.95): def main(results_dir: Path, output_dir: Path): apply_style() - data = load_wcorr_by_loss(results_dir) + data = load_spread_by_loss(results_dir) if data is None: return @@ -86,13 +88,13 @@ def main(results_dir: Path, output_dir: Path): positions, means, yerr=ci_halves, - fmt=TRANSPORT_MARKERS[transport], + fmt=TRANSPORT_MARKERS[transport] + "-", color=TRANSPORT_COLORS[transport], label=TRANSPORT_LABELS[transport], markersize=8, capsize=4, capthick=1.5, - linewidth=0, + linewidth=1.5, elinewidth=1.5, markeredgecolor="white", markeredgewidth=0.8, @@ -100,12 +102,11 @@ def main(results_dir: Path, output_dir: Path): ) ax.set_xlabel("Packet Loss Rate") - ax.set_ylabel("Windowed Correlation") + ax.set_ylabel("Inter-Topic Spread (µs)") ax.set_xticks(group_positions) ax.set_xticklabels(LOSS_LABELS) - ax.set_ylim(-0.05, 1.15) - ax.axhline(y=1.0, color="gray", linewidth=0.5, linestyle="--", zorder=1) - ax.legend(loc="lower right", framealpha=0.9) + ax.set_ylim(bottom=0) + ax.legend(loc="upper left", framealpha=0.9) fig.tight_layout() save_figure(fig, output_dir, "fig01_spike_iso_vs_loss") @@ -113,7 +114,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results_v2" + default_results = script_dir.parent.parent / "results_v3" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig04_wcorr_vs_spike_iso.py b/experiments/analysis/figures/fig04_wcorr_vs_spike_iso.py index 6e27a620..855bf0ca 100644 --- a/experiments/analysis/figures/fig04_wcorr_vs_spike_iso.py +++ b/experiments/analysis/figures/fig04_wcorr_vs_spike_iso.py @@ -4,11 +4,13 @@ import matplotlib.pyplot as plt import numpy as np +from scipy import stats sys.path.insert(0, str(Path(__file__).parent)) from style import ( TRANSPORT_COLORS, TRANSPORT_LABELS, + TRANSPORT_MARKERS, TRANSPORT_ORDER, apply_style, save_figure, @@ -19,7 +21,7 @@ RUNS = range(1, 16) -def load_all_runs(results_dir: Path): +def load_spike_iso_by_loss(results_dir: Path): exp02_dir = results_dir / "02_hol_blocking" if not exp02_dir.exists(): print(" WARNING: 02_hol_blocking not found, skipping fig04") @@ -32,70 +34,80 @@ def load_all_runs(results_dir: Path): values = [] for run in RUNS: filepath = exp02_dir / f"{transport}_loss{loss}pct_run{run}.json" - if filepath.exists(): + if filepath.exists() and filepath.stat().st_size > 10: with open(filepath) as f: result = json.load(f) - values.append(result["results"]["windowed_correlation"]) + val = result["results"].get("spike_isolation_ratio") + if val is not None: + values.append(val) if values: data[transport][loss] = values return data +def compute_ci(values, confidence=0.95): + n = len(values) + if n < 2: + return np.mean(values), 0.0 + mean = np.mean(values) + sem = stats.sem(values) + t_crit = stats.t.ppf((1 + confidence) / 2, df=n - 1) + return mean, t_crit * sem + + def main(results_dir: Path, output_dir: Path): apply_style() - data = load_all_runs(results_dir) + data = load_spike_iso_by_loss(results_dir) if data is None: return - fig, ax = plt.subplots(figsize=(7, 5.5)) + fig, ax = plt.subplots(figsize=(7, 4.5)) + + x_offsets = { + "tcp": -0.15, + "quic-control": -0.05, + "quic-pertopic": 0.05, + "quic-perpub": 0.15, + } - num_transports = len(TRANSPORT_ORDER) - bar_width = 0.18 group_positions = np.arange(len(LOSS_RATES)) - for t_idx, transport in enumerate(TRANSPORT_ORDER): + for transport in TRANSPORT_ORDER: means = [] - lows = [] - highs = [] - for loss in LOSS_RATES: - vals = data[transport].get(loss, []) - if vals: - arr = np.array(vals) - means.append(np.median(arr)) - lows.append(np.percentile(arr, 25)) - highs.append(np.percentile(arr, 75)) - else: - means.append(0) - lows.append(0) - highs.append(0) - - offset = (t_idx - (num_transports - 1) / 2) * bar_width - positions = group_positions + offset - yerr_low = [m - lo for m, lo in zip(means, lows)] - yerr_high = [hi - m for m, hi in zip(means, highs)] - - ax.bar( + ci_halves = [] + positions = [] + for loss_idx, loss in enumerate(LOSS_RATES): + if loss in data[transport]: + mean, ci_half = compute_ci(data[transport][loss]) + means.append(mean) + ci_halves.append(ci_half) + positions.append(group_positions[loss_idx] + x_offsets[transport]) + + ax.errorbar( positions, means, - bar_width, - yerr=[yerr_low, yerr_high], - capsize=3, + yerr=ci_halves, + fmt=TRANSPORT_MARKERS[transport] + "-", color=TRANSPORT_COLORS[transport], label=TRANSPORT_LABELS[transport], - edgecolor="white", - linewidth=0.5, - alpha=0.85, + markersize=8, + capsize=4, + capthick=1.5, + linewidth=1.5, + elinewidth=1.5, + markeredgecolor="white", + markeredgewidth=0.8, + zorder=3, ) ax.set_xlabel("Packet Loss Rate") - ax.set_ylabel("Windowed Correlation (median, IQR)") - ax.set_title("Latency Correlation Across Topics by Transport and Loss") + ax.set_ylabel("Spike Isolation Ratio") ax.set_xticks(group_positions) ax.set_xticklabels(LOSS_LABELS) - ax.set_ylim(0, 1.12) + ax.set_ylim(-0.05, 1.15) ax.axhline(y=1.0, color="gray", linewidth=0.5, linestyle="--", zorder=1) - ax.legend(loc="lower right", framealpha=0.9) + ax.legend(loc="center right", framealpha=0.9) fig.tight_layout() save_figure(fig, output_dir, "fig04_wcorr_vs_spike_iso") @@ -103,7 +115,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results_v2" + default_results = script_dir.parent.parent / "results_v3" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig05_latency_percentiles.py b/experiments/analysis/figures/fig05_latency_percentiles.py index b6e1f28f..60052ae6 100644 --- a/experiments/analysis/figures/fig05_latency_percentiles.py +++ b/experiments/analysis/figures/fig05_latency_percentiles.py @@ -112,7 +112,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results_v2" + default_results = script_dir.parent.parent / "results_v3" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig06_timeseries_cwnd.py b/experiments/analysis/figures/fig06_timeseries_cwnd.py index 92a0fbb0..7a573cbf 100644 --- a/experiments/analysis/figures/fig06_timeseries_cwnd.py +++ b/experiments/analysis/figures/fig06_timeseries_cwnd.py @@ -100,7 +100,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results_v2" + default_results = script_dir.parent.parent / "results_v3" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/figures/fig07_inter_arrival.py b/experiments/analysis/figures/fig07_inter_arrival.py index 18d37e1f..648dbca1 100644 --- a/experiments/analysis/figures/fig07_inter_arrival.py +++ b/experiments/analysis/figures/fig07_inter_arrival.py @@ -90,7 +90,7 @@ def main(results_dir: Path, output_dir: Path): if __name__ == "__main__": script_dir = Path(__file__).resolve().parent - default_results = script_dir.parent.parent / "results_v2" + default_results = script_dir.parent.parent / "results_v3" default_output = script_dir / "output" results_dir = Path(sys.argv[1]) if len(sys.argv) > 1 else default_results output_dir = Path(sys.argv[2]) if len(sys.argv) > 2 else default_output diff --git a/experiments/analysis/publication_stats.py b/experiments/analysis/publication_stats.py index 4295f1cc..278d11c4 100755 --- a/experiments/analysis/publication_stats.py +++ b/experiments/analysis/publication_stats.py @@ -110,6 +110,10 @@ def extract_metrics(data: dict) -> dict: "wcorr": results["windowed_correlation"], "spike_iso": results.get("spike_isolation_ratio"), "cluster_ratio": results.get("inter_arrival_cluster_ratio"), + "inter_topic_spread_mean_us": results.get("inter_topic_spread_mean_us"), + "inter_topic_spread_p95_us": results.get("inter_topic_spread_p95_us"), + "inter_topic_spread_max_us": results.get("inter_topic_spread_max_us"), + "detrended_correlation": results.get("detrended_correlation"), "total_msgs": results["total_messages"], "measured_rate": results["measured_rate"], "p50_mean": mean(p50s), @@ -529,8 +533,8 @@ def generate_latex(all_stats: dict, comparisons: list[dict]) -> str: if "exp02" in all_stats: lines.append("\\begin{table}[h]") lines.append("\\centering") - lines.append("\\caption{Windowed correlation across packet loss rates (25ms RTT, 8 topics)}") - lines.append("\\label{tab:wcorr_vs_loss}") + lines.append("\\caption{Inter-topic spread (\\textmu{}s) across packet loss rates (25ms RTT, 8 topics)}") + lines.append("\\label{tab:spread_vs_loss}") lines.append("\\begin{tabular}{lcccc}") lines.append("\\toprule") lines.append("Strategy & 0\\% loss & 1\\% loss & 2\\% loss & 5\\% loss \\\\") @@ -542,10 +546,39 @@ def generate_latex(all_stats: dict, comparisons: list[dict]) -> str: for loss in ["loss0pct", "loss1pct", "loss2pct", "loss5pct"]: key = f"{transport}_{loss}" entry = all_stats["exp02"].get(key, {}) - wc = entry.get("wcorr") - if wc: + spread = entry.get("inter_topic_spread_mean_us") + if spread: cells.append( - f"${wc['mean']:.3f} \\pm {wc['std']:.3f}$" + f"${spread['mean']:.0f} \\pm {spread['std']:.0f}$" + ) + else: + cells.append("---") + lines.append(" & ".join(cells) + " \\\\") + + lines.append("\\bottomrule") + lines.append("\\end{tabular}") + lines.append("\\end{table}") + lines.append("") + + lines.append("\\begin{table}[h]") + lines.append("\\centering") + lines.append("\\caption{Spike isolation ratio across packet loss rates (25ms RTT, 8 topics)}") + lines.append("\\label{tab:spike_iso_vs_loss}") + lines.append("\\begin{tabular}{lcccc}") + lines.append("\\toprule") + lines.append("Strategy & 0\\% loss & 1\\% loss & 2\\% loss & 5\\% loss \\\\") + lines.append("\\midrule") + + for transport in TRANSPORT_ORDER: + label = TRANSPORT_LABELS.get(transport, transport) + cells = [label] + for loss in ["loss0pct", "loss1pct", "loss2pct", "loss5pct"]: + key = f"{transport}_{loss}" + entry = all_stats["exp02"].get(key, {}) + si = entry.get("spike_iso") + if si: + cells.append( + f"${si['mean']:.3f} \\pm {si['std']:.3f}$" ) else: cells.append("---") @@ -734,7 +767,7 @@ def main(): sys.exit(1) base_dir = Path(sys.argv[1]) - fields = ["spike_iso", "wcorr", "cluster_ratio", "measured_rate", "p50_mean", "p95_mean", "p99_mean", "total_msgs"] + fields = ["spike_iso", "wcorr", "cluster_ratio", "inter_topic_spread_mean_us", "inter_topic_spread_p95_us", "inter_topic_spread_max_us", "detrended_correlation", "measured_rate", "p50_mean", "p95_mean", "p99_mean", "total_msgs"] all_stats = {} all_comparisons = [] @@ -883,7 +916,7 @@ def sanitize(obj): tex_path.write_text(latex) print(f"LaTeX written to: {tex_path}") - print("\n=== COMPARISON SUMMARY ===\n") + print("\n=== COMPARISON SUMMARY (wcorr) ===\n") for comp in all_comparisons: sig = "***" if comp["significant"] else "n.s." d_str = f"d={comp['cohens_d']:.2f}" if comp["cohens_d"] is not None else "d=N/A" @@ -894,6 +927,31 @@ def sanitize(obj): f"U={comp['u_statistic']:.1f} p={comp['bonferroni_p']:.4f} {sig} {d_str} {cd_str}" ) + if "exp02" in all_stats: + print("\n=== INTER-TOPIC SPREAD SUMMARY ===\n") + for loss in ["loss0pct", "loss1pct", "loss2pct", "loss5pct"]: + parts = [] + for transport in TRANSPORT_ORDER: + key = f"{transport}_{loss}" + entry = all_stats["exp02"].get(key, {}) + spread = entry.get("inter_topic_spread_mean_us") + if spread: + parts.append(f"{TRANSPORT_LABELS[transport]}: {spread['mean']:.0f}us") + if parts: + print(f" {loss:12s} {', '.join(parts)}") + + print("\n=== SPIKE ISOLATION SUMMARY ===\n") + for loss in ["loss0pct", "loss1pct", "loss2pct", "loss5pct"]: + parts = [] + for transport in TRANSPORT_ORDER: + key = f"{transport}_{loss}" + entry = all_stats["exp02"].get(key, {}) + si = entry.get("spike_iso") + if si: + parts.append(f"{TRANSPORT_LABELS[transport]}: {si['mean']:.3f}") + if parts: + print(f" {loss:12s} {', '.join(parts)}") + if __name__ == "__main__": main() From 3f2e73130d790aea9679b80ccbb642e5df86983d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Mon, 9 Mar 2026 18:49:50 -0700 Subject: [PATCH 25/34] add JOSS paper, references, and code of conduct --- .gitignore | 12 +++++-- CODE_OF_CONDUCT.md | 85 ++++++++++++++++++++++++++++++++++++++++++++ paper/paper.bib | 88 ++++++++++++++++++++++++++++++++++++++++++++++ paper/paper.md | 70 ++++++++++++++++++++++++++++++++++++ 4 files changed, 253 insertions(+), 2 deletions(-) create mode 100644 CODE_OF_CONDUCT.md create mode 100644 paper/paper.bib create mode 100644 paper/paper.md diff --git a/.gitignore b/.gitignore index bafbf244..240d91f0 100644 --- a/.gitignore +++ b/.gitignore @@ -218,5 +218,13 @@ experiments/analysis/figures/output/ experiments/results/**/*.txt experiments/results/**/*.tex -# Paper (LaTeX build artifacts and all paper content) -paper/ \ No newline at end of file +# Paper (LaTeX build artifacts) +paper/*.aux +paper/*.bbl +paper/*.blg +paper/*.log +paper/*.out +paper/*.pdf +paper/*.fls +paper/*.fdb_latexmk +paper/*.synctex.gz \ No newline at end of file diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md new file mode 100644 index 00000000..144129ab --- /dev/null +++ b/CODE_OF_CONDUCT.md @@ -0,0 +1,85 @@ + +# Contributor Covenant Code of Conduct + +## Our Pledge + +We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, caste, color, religion, or sexual identity and orientation. + +We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community. + +## Our Standards + +Examples of behavior that contributes to a positive environment for our community include: + +* Demonstrating empathy and kindness toward other people +* Being respectful of differing opinions, viewpoints, and experiences +* Giving and gracefully accepting constructive feedback +* Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience +* Focusing on what is best not just for us as individuals, but for the overall community + +Examples of unacceptable behavior include: + +* The use of sexualized language or imagery, and sexual attention or advances of any kind +* Trolling, insulting or derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or email address, without their explicit permission +* Other conduct which could reasonably be considered inappropriate in a professional setting + +## Enforcement Responsibilities + +Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful. + +Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate. + +## Scope + +This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. + +## Enforcement + +Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement at fabricio@bracht.dev. All complaints will be reviewed and investigated promptly and fairly. + +All community leaders are obligated to respect the privacy and security of the reporter of any incident. + +## Enforcement Guidelines + +Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct: + +### 1. Correction + +**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community. + +**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested. + +### 2. Warning + +**Community Impact**: A violation through a single incident or series of actions. + +**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban. + +### 3. Temporary Ban + +**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior. + +**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban. + +### 4. Permanent Ban + +**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals. + +**Consequence**: A permanent ban from any sort of public interaction within the community. + +## Attribution + +This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.1, available at [https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1]. + +Community Impact Guidelines were inspired by [Mozilla's code of conduct enforcement ladder][Mozilla CoC]. + +For answers to common questions about this code of conduct, see the FAQ at [https://www.contributor-covenant.org/faq][FAQ]. Translations are available at [https://www.contributor-covenant.org/translations][translations]. + +[homepage]: https://www.contributor-covenant.org +[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html +[Mozilla CoC]: https://github.com/mozilla/diversity +[FAQ]: https://www.contributor-covenant.org/faq +[translations]: https://www.contributor-covenant.org/translations + diff --git a/paper/paper.bib b/paper/paper.bib new file mode 100644 index 00000000..7c96c49d --- /dev/null +++ b/paper/paper.bib @@ -0,0 +1,88 @@ +@misc{mqtt-v5-spec, + title = {{MQTT} Version 5.0}, + author = {{OASIS}}, + year = {2019}, + howpublished = {OASIS Standard}, + url = {https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html} +} + +@misc{rfc2119, + title = {Key words for use in {RFCs} to Indicate Requirement Levels}, + author = {Bradner, Scott}, + year = {1997}, + howpublished = {RFC 2119}, + publisher = {Internet Engineering Task Force} +} + +@article{bansal2020iot-mqtt-survey, + title = {{IoT} Ecosystem: A Survey on Devices, Gateways, Operating Systems, Middleware and Communication}, + author = {Bansal, Sharu and Kumar, Dilip}, + journal = {International Journal of Wireless Information Networks}, + volume = {27}, + pages = {340--364}, + year = {2020}, + doi = {10.1007/s10776-020-00483-7} +} + +@misc{emqx, + title = {{EMQX}: An Open-Source, Highly Scalable {MQTT} Broker}, + author = {{EMQ Technologies}}, + year = {2024}, + url = {https://www.emqx.com/} +} + +@misc{mosquitto, + title = {Eclipse {Mosquitto}: An Open Source {MQTT} Broker}, + author = {{Eclipse Foundation}}, + year = {2024}, + url = {https://mosquitto.org/} +} + +@misc{hivemq, + title = {{HiveMQ}: Enterprise {MQTT} Broker}, + author = {{HiveMQ GmbH}}, + year = {2024}, + url = {https://www.hivemq.com/} +} + +@misc{rumqtt, + title = {rumqtt: An {MQTT} library for the {Rust} ecosystem}, + author = {{Bytebeam}}, + year = {2024}, + url = {https://github.com/bytebeamio/rumqtt} +} + +@misc{paho-mqtt, + title = {Eclipse {Paho} {MQTT} Client Libraries}, + author = {{Eclipse Foundation}}, + year = {2024}, + url = {https://eclipse.dev/paho/} +} + +@misc{quinn, + title = {Quinn: Async-friendly {QUIC} implementation in {Rust}}, + author = {Ochtman, Dirkjan and Saunders, Benjamin}, + year = {2024}, + url = {https://github.com/quinn-rs/quinn} +} + +@misc{tokio, + title = {Tokio: An asynchronous runtime for {Rust}}, + author = {{Tokio Contributors}}, + year = {2024}, + url = {https://tokio.rs/} +} + +@misc{proptest, + title = {proptest: Hypothesis-like property testing for {Rust}}, + author = {Lingle, Jason}, + year = {2024}, + url = {https://github.com/proptest-rs/proptest} +} + +@misc{turmoil, + title = {Turmoil: A framework for testing distributed systems with deterministic simulation}, + author = {{Tokio Contributors}}, + year = {2024}, + url = {https://github.com/tokio-rs/turmoil} +} diff --git a/paper/paper.md b/paper/paper.md new file mode 100644 index 00000000..53e3715f --- /dev/null +++ b/paper/paper.md @@ -0,0 +1,70 @@ +--- +title: 'mqtt5: A Rust MQTT v5.0 Client and Broker Library with QUIC Transport and Specification Conformance Testing' +tags: + - Rust + - MQTT + - IoT + - QUIC + - WebAssembly + - publish-subscribe +authors: + - name: Fabrício Bracht + orcid: 0000-0002-4758-0159 + corresponding: true + affiliation: 1 +affiliations: + - name: LabOverWire + index: 1 +date: 9 March 2026 +bibliography: paper.bib +--- + +# Summary + +`mqtt5` is an open-source Rust library that provides a complete MQTT v5.0 [@mqtt-v5-spec] client and broker implementation across four transports—TCP, TLS 1.3, WebSocket, and QUIC—and three platform targets: native, WebAssembly, and bare-metal embedded. The library is organized as a Cargo workspace of five crates totaling approximately 47,000 lines of code and 33,000 lines of tests. A conformance test suite tracks all 247 normative statements from the OASIS MQTT v5.0 standard, with 174 directly tested. The QUIC transport, built on Quinn [@quinn], supports three configurable stream mapping strategies (control-only, per-topic, per-publish) and an unreliable datagram mode, enabling researchers to study how different QUIC stream-to-MQTT mappings affect head-of-line blocking, throughput, and latency under varying network conditions. + +# Statement of need + +MQTT v5.0 is a widely adopted publish-subscribe protocol for IoT deployments [@bansal2020iot-mqtt-survey], but existing implementations leave gaps that affect researchers and developers working at the intersection of IoT protocols and transport-layer innovation. + +No existing MQTT library provides configurable QUIC stream mapping strategies. EMQX [@emqx] added QUIC support using a single-stream mapping, but does not expose alternative strategies. Researchers studying how QUIC's multiplexed streams interact with MQTT's topic-based message routing must either modify broker internals or build custom implementations. `mqtt5` makes this a configuration option: control-only (single stream), per-topic (one stream per topic), and per-publish (one stream per message), plus an unreliable datagram mode for loss-tolerant use cases. + +No existing MQTT implementation provides a conformance test suite with per-statement traceability against the OASIS specification. The 247 normative statements in MQTT v5.0 are identified by a machine-readable pattern (`[MQTT-x.x.x-y]`), yet no published broker maps each statement to a test function. `mqtt5` maintains a manifest (`conformance.toml`) that classifies every statement and links it to the test functions that verify it, providing a reusable methodology for protocol conformance tracking. + +Finally, no existing MQTT library compiles from a single codebase to native, WebAssembly, and bare-metal embedded targets. The `no_std` protocol codec enables use on ARM Cortex-M4 and RISC-V microcontrollers, while the WASM crate provides JavaScript bindings for browser-based MQTT clients and an optional in-browser broker. + +# State of the field + +Mosquitto [@mosquitto] is a widely deployed C broker and client library supporting TCP, TLS, and WebSocket, but not QUIC, and without a published conformance suite. EMQX [@emqx] is an Erlang/OTP broker designed for horizontal scaling with QUIC support via a single-stream mapping, but without configurable stream strategies, datagram transport, or WebAssembly deployment. HiveMQ [@hivemq] is a Java broker with an open-source community edition and proprietary enterprise features, without QUIC support. rumqtt [@rumqtt] is a Rust MQTT library with a client and broker supporting TCP, TLS, and WebSocket, with partial MQTT v5.0 support but no QUIC, WebAssembly, or embedded targets. paho-mqtt [@paho-mqtt] is an Eclipse Foundation client library in C, C++, Java, Python, and other languages, supporting v5.0 over TCP, TLS, and WebSocket, but is client-only. + +To our knowledge, `mqtt5` is the only MQTT implementation that combines a specification conformance suite with per-statement traceability, configurable QUIC stream mapping strategies with datagram transport, and multi-target support spanning native, WebAssembly, and bare-metal embedded from a single codebase. + +# Software design + +The library separates concerns across five crates. `mqtt5-protocol` implements the MQTT v5.0 packet codec, topic validation, session state management, and QoS flow control under `no_std` with the `alloc` crate, enabling bare-metal deployment. `mqtt5` adds async networking via Tokio [@tokio], transport implementations, the broker's message router, authentication subsystem, and persistent storage. `mqtt5-wasm` wraps the client and broker with `wasm-bindgen` for browser environments. `mqttv5-cli` provides a command-line interface for publishing, subscribing, broker operation, and benchmarking. `mqtt5-conformance` contains the specification test suite. + +All transports implement a common `Transport` trait. The broker supports simultaneous listeners on all four transports. The QUIC transport's three stream mapping strategies allow the same broker and client to operate with different stream-to-topic relationships by changing a configuration option rather than modifying code. + +The broker is structured around four subsystems: a message router with exact-match and wildcard subscription tables supporting shared subscriptions; session management with persistent storage via pluggable backends (in-memory for testing, file-based with atomic writes for production); a pluggable authentication system with implementations for passwords, SCRAM-SHA-256, JWT, and X.509 certificates; and a security layer that injects verifiable sender identity properties on every published message. + +The conformance suite uses three tiers: raw protocol tests that send hand-crafted byte sequences to test broker behavior against malformed packets, structural validation tests that inspect response packet structure, and behavioral tests that exercise end-to-end message flows through the library's own client. The conformance process exposed 18 broker implementation gaps—9 missing validations and 9 incorrect behaviors—all documented in a development diary with dates, normative statement references, and fixing commits. + +Beyond conformance, the library is verified through 483 integration tests covering all transports and MQTT features, property-based testing with proptest [@proptest] for topic validation and session state invariants, and deterministic network simulation with Turmoil [@turmoil] for partition and latency testing. A multi-project validation approach uses downstream consumers—a web frontend importing the npm package published from the WASM crate, and the CLI tool—as implicit integration test harnesses that surface defects at runtime-target boundaries. The CI pipeline runs seven parallel jobs on every push: formatting, linting with pedantic Clippy, unit tests, MSRV verification, documentation completeness, WASM compilation, and embedded cross-compilation for ARM Cortex-M4 and RISC-V. + +# Research impact statement + +`mqtt5` is, to our knowledge, the first MQTT implementation to offer configurable QUIC stream mapping strategies and QUIC datagram transport for MQTT messaging. These capabilities enable controlled experimentation on how QUIC's multiplexed streams interact with MQTT's topic-based routing—a research question that previously required building custom implementations from scratch. The library's built-in benchmarking tool (`mqttv5 bench`) has been used in a series of controlled experiments comparing TCP and QUIC transport performance under varying network conditions, measuring connection latency, head-of-line blocking isolation across stream strategies, throughput scaling, datagram-versus-stream trade-offs, and resource overhead at scale. The configurable stream mapping strategies provide a single codebase where the only variable is the QUIC stream strategy, eliminating confounds from differing MQTT implementations. + +The conformance methodology—a machine-readable manifest linking every normative statement to its test functions—is reusable for other protocol implementations. The 18 implementation gaps discovered demonstrate the value of systematic per-statement conformance testing for protocol libraries. + +The library is published on crates.io as the `mqtt5` crate and as an npm package for browser-based use. + +# AI usage disclosure + +Development used Claude Code (Anthropic) as a code generation and automation tool operating under developer direction. The developer drove all architectural decisions, reviewed all generated code, performed quality assurance, and analyzed defects. The AI tool executed specific tasks on command: writing and rewriting code, running build and test commands, writing automation scripts, and editing text. All AI-generated code passed through the same CI pipeline, conformance verification, and pedantic linting as manually written code. This paper was drafted with AI assistance and reviewed and edited by the author. + +# Acknowledgements + +The QUIC transport implementation uses Quinn [@quinn], and the async runtime is provided by Tokio [@tokio]. + +# References From f60201847317126943ac0ca7568ad65a89cd9086 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Mon, 9 Mar 2026 18:51:11 -0700 Subject: [PATCH 26/34] add LaTeX paper with verified references and experiment figures --- .../figures/fig05_latency_percentiles.py | 9 +- .../figures/fig12_datagram_vs_stream.py | 12 +- .../figures/fig13_resource_overhead_scaled.py | 35 +--- paper/figures/fig01.pdf | 1 + paper/figures/fig01_spike_iso_vs_loss.pdf | Bin 0 -> 17619 bytes paper/figures/fig01_spike_iso_vs_loss.png | Bin 0 -> 94108 bytes paper/figures/fig02.pdf | Bin 0 -> 18702 bytes paper/figures/fig02_spike_iso_vs_rtt.pdf | Bin 0 -> 18702 bytes paper/figures/fig02_spike_iso_vs_rtt.png | Bin 0 -> 104233 bytes paper/figures/fig03.pdf | Bin 0 -> 19030 bytes paper/figures/fig03_spike_iso_vs_topics.pdf | Bin 0 -> 19030 bytes paper/figures/fig03_spike_iso_vs_topics.png | Bin 0 -> 108381 bytes paper/figures/fig04.pdf | Bin 0 -> 17473 bytes paper/figures/fig04_wcorr_vs_spike_iso.pdf | Bin 0 -> 18387 bytes paper/figures/fig04_wcorr_vs_spike_iso.png | Bin 0 -> 130729 bytes paper/figures/fig05.pdf | 1 + paper/figures/fig05_latency_percentiles.pdf | Bin 0 -> 15935 bytes paper/figures/fig05_latency_percentiles.png | Bin 0 -> 92284 bytes paper/figures/fig06.pdf | 1 + paper/figures/fig06_timeseries_cwnd.pdf | Bin 0 -> 328100 bytes paper/figures/fig06_timeseries_cwnd.png | Bin 0 -> 327665 bytes paper/figures/fig07.pdf | Bin 0 -> 19570 bytes paper/figures/fig07_inter_arrival.pdf | Bin 0 -> 19570 bytes paper/figures/fig07_inter_arrival.png | Bin 0 -> 120800 bytes paper/figures/fig08.pdf | 1 + paper/figures/fig08_connection_latency.pdf | Bin 0 -> 18448 bytes paper/figures/fig08_connection_latency.png | Bin 0 -> 99068 bytes paper/figures/fig09.pdf | 1 + paper/figures/fig09_throughput_vs_loss.pdf | Bin 0 -> 22067 bytes paper/figures/fig09_throughput_vs_loss.png | Bin 0 -> 471378 bytes paper/figures/fig10.pdf | Bin 0 -> 23290 bytes paper/figures/fig10_resource_overhead.pdf | Bin 0 -> 23290 bytes paper/figures/fig10_resource_overhead.png | Bin 0 -> 203842 bytes paper/figures/fig11.pdf | Bin 0 -> 18258 bytes paper/figures/fig12.pdf | 1 + paper/figures/fig12_datagram_vs_stream.pdf | Bin 0 -> 18880 bytes paper/figures/fig12_datagram_vs_stream.png | Bin 0 -> 151898 bytes paper/figures/fig13.pdf | 1 + .../fig13_resource_overhead_scaled.pdf | Bin 0 -> 21283 bytes .../fig13_resource_overhead_scaled.png | Bin 0 -> 199028 bytes paper/figures/fig14.pdf | 1 + paper/figures/fig14_strategy_comparison.pdf | Bin 0 -> 19242 bytes paper/figures/fig15.pdf | Bin 0 -> 24160 bytes paper/main.tex | 48 ++++++ paper/references.bib | 129 +++++++++++++++ paper/sections/abstract.tex | 3 + paper/sections/architecture.tex | 100 ++++++++++++ paper/sections/background.tex | 47 ++++++ paper/sections/conclusion.tex | 8 + paper/sections/discussion.tex | 44 +++++ paper/sections/evaluation.tex | 152 ++++++++++++++++++ paper/sections/implementation.tex | 28 ++++ paper/sections/introduction.tex | 22 +++ 53 files changed, 603 insertions(+), 42 deletions(-) create mode 120000 paper/figures/fig01.pdf create mode 100644 paper/figures/fig01_spike_iso_vs_loss.pdf create mode 100644 paper/figures/fig01_spike_iso_vs_loss.png create mode 100644 paper/figures/fig02.pdf create mode 100644 paper/figures/fig02_spike_iso_vs_rtt.pdf create mode 100644 paper/figures/fig02_spike_iso_vs_rtt.png create mode 100644 paper/figures/fig03.pdf create mode 100644 paper/figures/fig03_spike_iso_vs_topics.pdf create mode 100644 paper/figures/fig03_spike_iso_vs_topics.png create mode 100644 paper/figures/fig04.pdf create mode 100644 paper/figures/fig04_wcorr_vs_spike_iso.pdf create mode 100644 paper/figures/fig04_wcorr_vs_spike_iso.png create mode 120000 paper/figures/fig05.pdf create mode 100644 paper/figures/fig05_latency_percentiles.pdf create mode 100644 paper/figures/fig05_latency_percentiles.png create mode 120000 paper/figures/fig06.pdf create mode 100644 paper/figures/fig06_timeseries_cwnd.pdf create mode 100644 paper/figures/fig06_timeseries_cwnd.png create mode 100644 paper/figures/fig07.pdf create mode 100644 paper/figures/fig07_inter_arrival.pdf create mode 100644 paper/figures/fig07_inter_arrival.png create mode 120000 paper/figures/fig08.pdf create mode 100644 paper/figures/fig08_connection_latency.pdf create mode 100644 paper/figures/fig08_connection_latency.png create mode 120000 paper/figures/fig09.pdf create mode 100644 paper/figures/fig09_throughput_vs_loss.pdf create mode 100644 paper/figures/fig09_throughput_vs_loss.png create mode 100644 paper/figures/fig10.pdf create mode 100644 paper/figures/fig10_resource_overhead.pdf create mode 100644 paper/figures/fig10_resource_overhead.png create mode 100644 paper/figures/fig11.pdf create mode 120000 paper/figures/fig12.pdf create mode 100644 paper/figures/fig12_datagram_vs_stream.pdf create mode 100644 paper/figures/fig12_datagram_vs_stream.png create mode 120000 paper/figures/fig13.pdf create mode 100644 paper/figures/fig13_resource_overhead_scaled.pdf create mode 100644 paper/figures/fig13_resource_overhead_scaled.png create mode 120000 paper/figures/fig14.pdf create mode 100644 paper/figures/fig14_strategy_comparison.pdf create mode 100644 paper/figures/fig15.pdf create mode 100644 paper/main.tex create mode 100644 paper/references.bib create mode 100644 paper/sections/abstract.tex create mode 100644 paper/sections/architecture.tex create mode 100644 paper/sections/background.tex create mode 100644 paper/sections/conclusion.tex create mode 100644 paper/sections/discussion.tex create mode 100644 paper/sections/evaluation.tex create mode 100644 paper/sections/implementation.tex create mode 100644 paper/sections/introduction.tex diff --git a/experiments/analysis/figures/fig05_latency_percentiles.py b/experiments/analysis/figures/fig05_latency_percentiles.py index 60052ae6..1c29e6f7 100644 --- a/experiments/analysis/figures/fig05_latency_percentiles.py +++ b/experiments/analysis/figures/fig05_latency_percentiles.py @@ -99,11 +99,16 @@ def main(results_dir: Path, output_dir: Path): ) ax.set_xlabel("Latency Percentile") - ax.set_ylabel("Latency (us)") - ax.set_yscale("log") + ax.set_ylabel("Latency (ms)") ax.set_title("Latency Percentiles at 1% Loss (8 Topics)") ax.set_xticks(group_positions) ax.set_xticklabels(PERCENTILE_LABELS) + + ax.yaxis.set_major_formatter(plt.FuncFormatter(lambda x, _: f"{x / 1000:.0f}")) + ax.set_yticks(np.arange(0, 80001, 10000)) + ax.set_ylim(0, 80000) + ax.grid(axis="y", alpha=0.3) + ax.legend(loc="best", framealpha=0.9) fig.tight_layout() diff --git a/experiments/analysis/figures/fig12_datagram_vs_stream.py b/experiments/analysis/figures/fig12_datagram_vs_stream.py index 4119b1f7..b8d860bd 100644 --- a/experiments/analysis/figures/fig12_datagram_vs_stream.py +++ b/experiments/analysis/figures/fig12_datagram_vs_stream.py @@ -101,16 +101,14 @@ def main(results_dir: Path, output_dir: Path): color = DATAGRAM_COLORS[transport] label = DATAGRAM_LABELS[transport] + p95_extensions = [max(0, p95 - p50) for p50, p95 in zip(p50_means, p95_means)] + yerr_asym = [p50_errs, p95_extensions] + ax_lat.bar( - x + offset, p50_means, bar_width, yerr=p50_errs, - color=color, alpha=0.85, label=f"{label} p50", + x + offset, p50_means, bar_width, yerr=yerr_asym, + color=color, alpha=0.85, label=f"{label}", capsize=3, edgecolor="white", linewidth=0.5, ) - for xi, p95m, p95e in zip(x + offset, p95_means, p95_errs): - ax_lat.errorbar( - xi, p95m, yerr=p95e, fmt="_", - color=color, markersize=8, capsize=3, linewidth=1.5, - ) ax_lat.set_xlabel("Packet Loss Rate") ax_lat.set_ylabel("Latency (ms)") diff --git a/experiments/analysis/figures/fig13_resource_overhead_scaled.py b/experiments/analysis/figures/fig13_resource_overhead_scaled.py index ca536934..228f1165 100644 --- a/experiments/analysis/figures/fig13_resource_overhead_scaled.py +++ b/experiments/analysis/figures/fig13_resource_overhead_scaled.py @@ -79,9 +79,8 @@ def main(results_dir: Path, output_dir: Path): if data is None: return - fig, axes = plt.subplots(1, 2, figsize=(7, 3.5)) + fig, ax_tp = plt.subplots(figsize=(5, 3.5)) - ax_tp = axes[0] for transport in THROUGHPUT_ORDER: x_vals = [] y_means = [] @@ -107,40 +106,10 @@ def main(results_dir: Path, output_dir: Path): ax_tp.set_xlabel("Connections") ax_tp.set_ylabel("Throughput (K msgs/sec)") - ax_tp.set_title("(a) Throughput vs. Connection Count") + ax_tp.set_title("Throughput vs. Connection Count") ax_tp.set_xticks(CONCURRENCIES) ax_tp.legend(loc="best", fontsize=8) - ax_rss = axes[1] - for transport in THROUGHPUT_ORDER: - x_vals = [] - y_means = [] - y_errs = [] - for conns in CONCURRENCIES: - rss_data = data[transport]["peak_rss"].get(conns) - if rss_data: - m, e = compute_ci(rss_data) - x_vals.append(conns) - y_means.append(m) - y_errs.append(e) - - if not x_vals: - continue - - ax_rss.errorbar( - x_vals, y_means, yerr=y_errs, - marker=THROUGHPUT_MARKERS[transport], - color=THROUGHPUT_COLORS[transport], - label=THROUGHPUT_LABELS[transport], - linewidth=1.5, markersize=6, capsize=4, - ) - - ax_rss.set_xlabel("Connections") - ax_rss.set_ylabel("Peak Broker RSS (MB)") - ax_rss.set_title("(b) Memory vs. Connection Count") - ax_rss.set_xticks(CONCURRENCIES) - ax_rss.legend(loc="best", fontsize=8) - fig.tight_layout() save_figure(fig, output_dir, "fig13_resource_overhead_scaled") diff --git a/paper/figures/fig01.pdf b/paper/figures/fig01.pdf new file mode 120000 index 00000000..c52f0909 --- /dev/null +++ b/paper/figures/fig01.pdf @@ -0,0 +1 @@ +../../experiments/analysis/figures/output/fig01_spike_iso_vs_loss.pdf \ No newline at end of file diff --git a/paper/figures/fig01_spike_iso_vs_loss.pdf b/paper/figures/fig01_spike_iso_vs_loss.pdf new file mode 100644 index 0000000000000000000000000000000000000000..213733e641e8b48c632fdd030b04b543b58e28a6 GIT binary patch literal 17619 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 literal 0 HcmV?d00001 diff --git a/paper/figures/fig01_spike_iso_vs_loss.png b/paper/figures/fig01_spike_iso_vs_loss.png new file mode 100644 index 0000000000000000000000000000000000000000..01f39b48c6bcfd0745c9305cf67ae366b3e81467 GIT binary patch literal 94108 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

dD${VGbyBZ(_vQ)#L`rXo%>%IlLyVq=yBDJJBwc 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 Tf~o}8f3Zji50AWt0_6Vyk*StF literal 0 HcmV?d00001 diff --git a/paper/figures/fig02_spike_iso_vs_rtt.pdf b/paper/figures/fig02_spike_iso_vs_rtt.pdf new file mode 100644 index 0000000000000000000000000000000000000000..eec6c2a581a7ab0df11ffd3567f51def4e0a5359 GIT binary patch literal 18702 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 R5?KGmA|X6H@)`<|{{wN%mNx(Z literal 0 HcmV?d00001 diff --git a/paper/figures/fig02_spike_iso_vs_rtt.png b/paper/figures/fig02_spike_iso_vs_rtt.png new file mode 100644 index 0000000000000000000000000000000000000000..cd8aada365c76d8b861bb95e622c516f242fdc1d GIT binary patch literal 104233 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�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 literal 0 HcmV?d00001 diff --git a/paper/figures/fig03_spike_iso_vs_topics.png b/paper/figures/fig03_spike_iso_vs_topics.png new file mode 100644 index 0000000000000000000000000000000000000000..d7c1f1ddde863037acb82713a4fbefaf3e3d0e65 GIT binary patch literal 108381 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 literal 0 HcmV?d00001 diff --git a/paper/figures/fig04.pdf b/paper/figures/fig04.pdf new file mode 100644 index 0000000000000000000000000000000000000000..c026b70b30cf203408f35f2c90f5254f81ea4c38 GIT binary patch literal 17473 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 literal 0 HcmV?d00001 diff --git a/paper/figures/fig05.pdf b/paper/figures/fig05.pdf new file mode 120000 index 00000000..4090d2d4 --- /dev/null +++ b/paper/figures/fig05.pdf @@ -0,0 +1 @@ +../../experiments/analysis/figures/output/fig05_latency_percentiles.pdf \ No newline at end of file diff --git a/paper/figures/fig05_latency_percentiles.pdf b/paper/figures/fig05_latency_percentiles.pdf new file mode 100644 index 0000000000000000000000000000000000000000..af7b8d0097d7f7c1cdba461e95ffbeaa6263a8c5 GIT binary patch literal 15935 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 z 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 L1qD@fRAK)EUOYJz literal 0 HcmV?d00001 diff --git a/paper/figures/fig05_latency_percentiles.png b/paper/figures/fig05_latency_percentiles.png new file mode 100644 index 0000000000000000000000000000000000000000..0b11faf9d33882965d3f078813484163094a0478 GIT binary patch literal 92284 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%0A4o2 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

o~B{^~_t}U@LHHF?4^1Yg8r# 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 ~OZr-4yozgOx z4}SAUpJzqO+l<{<1?1h2W=IB++=8DD&_XZ>=~W?#5nqJdU>}!KP1V6*uvve;~lvlC@CgO@+o$L=7Dz_ucg}q!s$2HJ}C)Ii7cTHyfLF)s@*4`HP zX>8y5fQot-Cw*5<&}-P5adPj}FF|x(;yR^p)am0!Qx+|CX63|2VGAjNF$I}wYWjA8 z{aQ{i>%@#CVW-7&Owwl}2I!UhY>0@z(*cR?z+8S+v(CsuFK^kT;_g_jnx1R|TOsvQwnte(mKa4Q?hXT#fNHU857uPRPdbTJ+htSMI} z!Mi9=W2O^224y>piD);}(6DNek$=AYQ2JhS@`-0aECpkq3y`OYUKsax0amkyrpbeg z@9B;0=gy86D9!g;Bu_fnuCI;x$c=r+WlmENT+QG>X6`n~Sx1UDpA7bqWsQa7!_~o$ zgCPnE{h4&2g;xH5$~F zM(1SwTA5%?bm8mSXi(~-mTMiPA`T%Bd5dJ5^M}*nUVe|OHqNG}v~(-&1VT8n9AJNsc_(G< z(fFVBA_X&AB|(3dRXg9h@!Ox)H|YFp1`7@{CLQhwae?tE=Q#4J?h}^}@FUWiiIX#$ zWOCRb{_iyI6UX0ugVL{1K#|yz+@GR;zYh;U##i#cBv|$bajAlhU`O%qdJv!nR{(zUwW>0y@ZduxH_WRtLoDOlP={4(ZRW70$Tv=17!bCE;3ujixZ)h!eh_!_b~V@Fit37uUf`(s|+sY@gcRGX*VVCp_;ESpYLgB=QYo zlqO@v?)yFU3-yZl4K~ww*>upYGMZV~k&sktw$yq*w=$LMt~(}uyI(^pKTP_Cq@=9+ z3=x|uR|lLKuzMSMNUM`m4_=7h(n~(Ed|7Ja<8ilaMUQImjTFEm|2^~9=o+y-j*9d6{RQyWaq-13*~#=`2;y@VL3+Vauk z!&8tIQZ~TXT`oB<*Kc1%|5r4?%xf?({6Wnp7G_l5@>*%?aA#Lc%do&gWy;H!HoPJC z9bI8A%>a*-Ie9f1ezWMwF4|K&;3qp+MN9D)eO&iQYF!; z_ShaLVx>q*K7JWPC36{(*pnu_En-LH<-Jz@P+?<*AL=?{Z^%$@Y=+`(SE%b7^?DwK z+_IjNI~0ao`r;PPp% zP&4YdxC8k$r5z<4kG_crT4jB?E(7%H{?<+kq~b1P zNm;#&AC9bQf6(6eNl&wjkMJVeOMCIaGz+2mg=K+0(Okw(SCel7W(JRceP(9BNzUO) zJs2GMF$#Ye=yfR-{Z$&DxhM)y-0fIXgy$u!Sfgg~+PT zd3HGljc9rKsn{WNsKg0vC{7Lof0k0O(@3uQva$bC<_G_}(qw=nsMQ&g_$J?wxL}npNBg3GJ-hA8 zNi@FPOs+=$S)v~wU0oL;+(yd@V!qw{zB8XeQ~J`SM=G2}LNuzkp4fU24frMY-2K8^ zlqunB3_cJK0{0I}kk2z4Y0kc~6b-uMuZl~>y9ijb?^t1g@hFe&QUvquo3!$UR_QS) zLX7V5;uuunw1Gk=aU3e@17f?Q)qmmPN@D-;(o8&ENsPzy;jz2xX@)^t%fZ?&&jAUs z{<&?@HOhVPblHo3xJ>cLP|LRO>Itx_0G;YHZld$Uk8&ue&!)qe!AI|2JrWD^P)>f_ z{1{7zg@n&(+cynzeLnTjp62!-MR+aa262?49CsP=THNNG^6245&1@(X-meSXwK_ za;&~8H;;Vt$DxO zJcD9T>gh3xBQRxoWiVnI^pYBbEbr|AH&1IA@qa*wXzsB+@?k1DDlzyo^90{SG$(d~ zwwvA3{5-i=2%BY1m3460Rk&}k{qfG79JvRM{^BG*1T>vmnYFikoZdshWP0v5``BAK zxts*a27R8q>f?|RH|pW;ks{&CkFon2DgD$^sJoJ@ z&77A$4$(GpSjd7qWw|reoc7@%QlfL4gs`}#ESoZgutM;l7A`mU%13dc=2pJf9NaDS zE1i$zbFwQjEoFC=tT8<6K3tEN^2cszGAZv61*MfJLll6L9CJt-xwu$n%&_E==41^2 zZ6y9$lIpwOMy;XSOzSF_@DS&C>FS9In}TRE9Zq$=c#%Xq?B>^!$JQxd7^K4IDdWwT zd30Thf4GhGBR$R}XG!g!-`#U5!4rad%fLp-mE~$;{-d0E=4Yn-SI~lwPkZ1Jv2k@6 z!xI6&k?l0FQ+^{U@gL2)rn?-XH^#ro5j(5zs1NtU@#5^$x`4Da7Q}O8a79r0MlKI? zta&#TE~s!2w|e`74mVmfXj!q45$e6v*?p5kJL$I z`r{xV;v-*F2z1b#cPkD&G=r`CO}RfM?FjHF!9CylEGaNYa+G?~Td^&t|2iDq=Q1zE zX6RqupM3g`1!;LHc~6Z~T&BkTT?MpoJv>=k01CeMO2txq)H7aGx_BL)bzY7Mbn^=U zp~OGGN*b7_I*@bzT+?4f++mWAO}7NAm#W)?l;RdaA-0jAt|IDfmeB+^=!{i&X1kPkK} z4(f~B%tEJQK2?wjcIQ*&+_DdbVjw=11_n+-%Kqi@+10zuIXQ;rsTC*PcfVW#)>mro zPabgQ?zAS2UG_au8K&nBFCJV^Uwr2aK&<$E>yOPzR&IV7SgU;bcs#Zp6U6c2`LurS za}&-^RoV+U@?lOLxUc0h68ThuO?W=b46M>`>7A(oc(Eu7;%82X_w6_I+2?KgQD9k9 z=Lv2^4~m0&m=cmRcP^!gdNjFlZ77a>m%MgA=g0PxmQ=}yZ4~y*tYq+zixnxGde8~o z-zCL@tH*B83aX>X5k0xGciiG5K13TDQgm6L@@O_6KZy0yXT6-WMQO;{@SoXka~7Fv zj(E-6tLV~0Hl<_QTH;X9FX!M5K8YIg<=n2sI|s{nab|~pHN?-A{9tXj#mDF;H%v@v zrqcZlMV(H4h`Fx8-9cb-?I3p9Xae4pPu;vfkK!E-Md-Au2#gD8ll2+O$vh;N{KV0p z@C4pUTEiUWFeFZftkqVlpP!X;;8uQeF0$i%`6;fSh%x(?$Lx99dhQSj&1wiX7y`>B$pJujsl{r_zLoaNxUR z`^P7a>D+N}HzAg>GnWvRq$i*AIXiQ=kncC~8jc_XpWoV-vmwjI^yy>uFLzRB9wfMV zBtJHErF=|;{%K9{RcwQcrO4+?@%1Zd!`hxSc}t!NatLFgdEez?X2AlRr;$FIaFS_d z*3`HmE{*KviFdWXcwz;DS2%RCcV50rChbM)(?z7qAx$B#MO!kLN=9CWZ^d<^ zIPtqq`C?*%sCb;{<;`V|Et9m;%(3-vPW!0H9yMDjE^9-~@}n~~E4$q0uwpR}Y2&%& zNm<5LqKpd0g3lxG0C7b3_2SdcC(~h%zg%He@OVAt(@tazIV~L-Sho)* zn0ESxI7er<(H#47bll*iZiYC$wGYW#+O{#HkuZY%_!km=~TO_ zkbrXTbX}3AJfG3_AcUc%E zuYZ+i@_xUH=uq2^E=8=eT19X_;lJK zQn#x)$m4+vV8%$&Y6{4Btr3jYQs3$^-9o)#g*rnw5BTtF@LKb45V`uD+M-(Fg6)%NDwUR?x@-u=tuuH5pIWkj5&FSmY z8t9FgGt)$|D@lbzq~U!>Zm^S_#D*tRJ`v6R)-xSEM$vRgrL(^LWXvBF<@>f~SEX*l z{|*Jlt)7$uoU8aImW(8kyt=qdWZg>TT-MFAl2Nog-_JBwo3k0wA{XUv3*(wA({$I`r^|bvgMSMDI&7NzX&>Gt7swxVuAH(&+a1e6(ug|w`KX0CsXLQEx=&Az#qn|H zkoBh2FV|xfah~QX<%`?nK90Svh3p(NRRMO6 z#Vd2A*j@0TCP!G_1G=ow#-J-yB^AL$n#^0<}Y@KK&8 zXJzF^bbptReKH4}EPs+K_@O($oD^rA+IaMt+u5`cZznkGF4)R@Nj*MF5@(<_UI#A@ znMEfL=~Wlenv-*{DUQ?_z47D_Vs!BI=SFb!iZYeXkkT!EJm6=^=#$A>t^-1HnJ#Ex zhZ8Y%XBbx43N>=21nBbe=3s)Xr<7Oua(5MEu9Cdh`s9Yt?*rTAJr~bVq$+b_TxTE0 zU2S{UQu5)Wup6XZ#mef|&nsfan;X65suGrtRIaeyp-nE|J{fq>^+`p{xb4VKoM6PW z=`X%A6eN*4{kf#0>obQO3%RVHi`-V?8M(>Mo!vluvZdz@c(-ZT#l7dgGUgi(Z#N~x z|KoWqyG=`yiie$-6LY1bA@Trfl~;N1-b#aA%eQ>&SB`^-Ax#d-(qq)))>q=V^%rl+ zcbY?oY;Rpw#)2FUt^w}6J?<0-PS4I{TAz~fC--x&q{)vDLM%O>m3)o5QcNhePcz^0 zi_;c3Z6J4P{Y3vPxdkTAy}s9yGhbP76pU0t#qc8roK!8N=g_vNtS|4mA~3+pO+ndl zo(z`}Kjc7};`nS@*uV;Qy}5@RK{m$_{hyw1b)vSOf~UAWlPFJ0f&Jncy#x9AQ_tEm z2FhTQC-+P?vf*&Jw&Pe|j+KU`lk+&IE&LFRcsr)w%vk1~?HtQ=AHfJDK03|SP8JO> z(dss)I}VnPC5Tic-61?Ao|VD-qM7|u9&g_6-!0_F9523%9}FiGqY!P5{#!dP#a}LU z29XG2NAZzei{jgM*Av%;KH8Vd1&P^y(qS2n4bsl&eZ;t(AFix2ln-$uC3Ymg;kcE` zXkMMavP-;Cj0Hz_z9Ot8!tyvS<|NF}O1=o5) zC8GpX)^ntKJo$7sJ*4_)CSSx)cfPfC6NFv9Pv%>zXN@mE-FevJfH*m)h?29Ub0r^L z$+QUY*gb1zyW?rQ?Btl}D@E8)gb*Kn=D6@VXk;9xEBPbMadDzI`2tsUA5wxaG$olLP&h_h z>0+?J8GY?9cRCl!&lHZ(Dt84ZCgy5vdd~}QB?!YX=e{18yXT8O$_gOGGm<-(s^JN* zym&Jv{+s#+-Sm_-iz2<^XnZk?CVF^d$5EYd9nOPxG=Y%9><;DfO293}B|eWW-k~uH zElU&c$Xk~=0bAg)39L`~H5J@T0gGq4d0bwPc}QUMHXi*Gx!ksV3?0Pn@|~Q#Q7&KX zdhml_(IijuO}okcLMbFS4@A%Qd`doC{>bVt`Fte1Ql9LMJMm&CXu`29Z0aM9KJu9F zv}H*?ifh4*{$0E$KWW|tmxYUeRmr5wi<6uQ{>bX*!*SSDJ+nLet2lY7x;VLcEQjz$ zq{IRQ0uMpkNy$Greimcly`87ayrVCoeBu43CReUym)}HiPmEVDd9lFA(LMRVmW@tB zA<**OL%d?4tMbunZNAF$vrF%r^V52w;4arwkda@UokG>4xAi z*qs4Ru1C#eJmxae2OJYxk{e=3ylr26@h}bfGG_v*W+uS}NsxeLU3LzdU@ch;fQ!BH zpdpT;AOtTQ?at+c%n9NOG&a7R5GN`h_kkP{m!GZ&BZ_{1mB=yVkCL5ov&Wn{NrYV< z34MMzp=r%en>hh_L&7{x^~g@~)h3}JGf@hz+zU`t^lQUOkwpGVt_;d}~Z2ZOBwpk5ibzu`g0_%;e^?UYMOr9x1!`^5seyO6`6|`SO$1mnR<| zc*<9zCO(R%llj5Kq-WZbLb;_HU0nXaB>y=rcU_*9uuJgOOT~G# zT~3NaMw=uGqh+^?FPA<$mktTh6+x`ZTWRMVsbQ1Yho($X{!VK{le1vwA*9aE?SOmo zM8O5;Mef{sLPo{lOuS~Qx#Z}y;B%L}XCy}qgU4F<)DyFub48h|kk3bQ!lP<4<|OVp z9>(f;-kQ7P8No@mqVeNhBh@^_8^WjAI99O(VRr%uHC*|Akd=$)* zi62A|wkAGzzSSBpLF8FKMYb(*pY*CzP9dqvQS=}lS@fkbXPy*5v zJ~#m}tx_?U_)glk#oKFgB9n8JOoieqIWKcEZgGsAt;0yZ-2BB}oOqG$^XO~ww)y-l zd2Tt8RLxFf1T2S;`nt-KHpg3N^5b5M+rb*Qe0c`05Ae=o*Da4*x|R?1>{JzFv4sBl z4%Tpn)#TgN*Hb^g3Oz2}OFFKJ$AqmePJT3R(B_Da;_J!IPd;z!^Vsa@?3J5yDx-RR zZY_Pws*1iT*pBw(gBV@)hjSs$({3x#Xd(&-cE^je zC%Am-T8Us-WdBy}74h^B_8P~cIHb}0t7H#9=5cX;tO_;PWknNerN~VDD#AWy?L+qV z<^=yo7MP@U-1$r%JWjr)ZDA@6t;M$B9l4sX<-LI&`SMkj-#a*oKeO|ZWX~vW4-bZx zQag6BiU_4K@6BQDFJB%lUQN9n5h4rEpyr9+GHlW1+v_&go6{kExEJo&Csoeocb#u0 z>`AVd4$mo~sriUZ&VkJy%boX@CsL`lM`WC3v*k|2Mskf59atzOeN*aswlfymlpW@<54#h>w5kRqH^?DXgS$gFg$ z-+B&~lGUQ{W5syVX(15r&m3Hwv4*Y>%6L~s4x;(7q*|wgX$!BWYpUIq^ZwAu8(wr6 zQ2nsqS?@==t0hho74_M<)Wx;IEF~k|IrWJGMSwbA6UuyUH6-?(mil?T-M5;xWbUA( zYcW@{Yv6hf)s2hf%=%c2s>#;j3tb$Uj&zdTLw?viQolibBD|S=o5tODzBmuszQosT z{?K!O*QLKn-&0?lS2)Vca%_INaw%`JbreTe?278is#HEK+;htZ^W1NamZv9=!mhS++T#+a@+NMfCiClSkKIy9G9m$Wbb@|l@rI{y@uihhV&kuT+JC$Xl3io znK^qXu|hUS!8~}pQEskTcXk?ic%%eW-;8|h$B6@jZTA^QkKXbLDoLc@A=Om~DQSh1 ze7c#NxcB|TPm_9v+sRXMBA9nKb0e6XqqAHm1`E4eP+-6!eK@PGCOxz$(e*LyoK!CrY{@L@6iF7LR)L zxmgh>h+g5bE&vTpRV&$YcI$kOC3Pkb%e34OTt-h+$V zcBc`ohlgtq;^twYC+CWg3j7#ZhjdO(2vPBJE$iV2O`ABUxi7xr1+|z43+JpipI%#W z@mnf%7;f(L%~h^TDt~I)t`N3pDQBzBgFT(&H94MI zPS)64yL>f;wq|GJ0Gs2(_cOfXRYDuh7uT#pSv1l_cPek)IId^(OsXt?LQZx)#5b#n zNurKU30%wbY34y^=O>iWh(0YY-$q@v;Ac48!{yV}>;2*+uT2K&8ur@rF$0c+fe&?# z_m()uL7Kv?7`1!d;uE!kdyN>W<%4-y^C4aBRVN&>skXbJjbW4*&srLxOzM}QnU%b>?wv%wr_N^9 zb>)@)l=Fi2GH&^vhiI26T@Jaio^E7t;E*}yTQiLS1xo1t#nZ*BQ)`*WtmrGpgkYGr zd~Bh9V8Y4tnyBgmP693qY#0oG`KT%OAu*iW`qN8G8T4t-ZRFYH{559NcP#|4VEI|t zMCV?UH=-m|aimedMx-z#hK+xobAK9_UGF2BCfv~zN>;<#sHH3gFS5K>a^Xs9>B|WNReZgAp2uMF8{+-fl1;4Byalt%Y^+!ieNa)0808q&gv%h~?R zo8JL3q033{)Hs?R#C2?`Co>=2FM$~4qPGW_b&j$of* zuEcpR@}<3CbJ1UX`0kJU$+sRx+%J%YkU}N7;(}!TEmIRECrJprUT+UD865r8_;f`P zF<+Qn`l&HQk@@MixGq{<#atXI%qK6&cQ3hNZpjm=zll909hBx#s@X10$8$c-Q9P2= z0&Q$APhzs4tCe^{mG#`>Jes9e2cNomUVNptCj`h86i|D2EF+{f>h+4T^0j^RYQzg} zNy}#9@-^}-nDa8Szq}8ZXH!af4_Q|kPEt$e9JPI=I@~-~aEhPsTK3Fp9JCmU|HN@& zj-HbkbN+mOBnX~I);ufG<4t>E^?_UlbK>w^hN)@3)s5=Jm2jMNx4MSVIQ14sd~lD= zIrHEI<0oOxjp5UFoDhfga`Snrdn~!8E3T(4Z6=9uxRp~;oD>NA!wHD)`mNmfay^jA zEHE#P!5bm5Q{TwZc6p3}#1r(K7@O5Eui7r~{2l53$fIG*c8*%Q;Yn*m;yrQ4u$nWZ zmg#%NQgl@r-7La}JSpm#Tb(JZ&6J{&50{TkI*(NIm1iiS>n#Ha35PmYsX*Tnfo-7_b#vFtSTFit4zlYElD!;5*4t8yjZm>5|j7<-^Y zC0wo@d2>VZ3CzlFXO1)vIE26ba$a~Sjw_Z|dGc<3=C}dQ;Y`x$Ev*u1zJK`ATN`l- zF|761PT6}*9|f_&re4Rqbt@u?IrA zIyu z7OBU)u3*XQPEq)z(H*?cd;N)OQqz%K20vVFwqvz+PG9>o>Jr#T8h67(x^5Qn3A54O z{QsrvOmcPEu`1kuqc|gY>AGlwkW!*Y(qI56g+KxcQiAE@Z>{Z!xD>AgeE9mr?{K)> zd#z{&qU(d{XzUd@mpx}E@#Q0`*{!=RSud~YILNG&g&cS#tOg=baYYK~lK77XUm^@^ zu{TEJke8DXLJ9FI9~R4mpD#*X0hy^4@f?Bqu8>jMb9koFc5`lpno6KJPSiQH9Y}hp zJQ}X?tHcSegp)ktj?XD(cZ2+kB`_L&Z~;(T}2)%FDI8x z5yMY2a8k6p!nKw97KygzQYe?LGxs;*EbOZ^`KSjWyB&NisUYEKocfBpc5?+bqaV>M zQh9NGipN5ED^E!BBq$pY(l)+)h!>JM*X5)kRdMbfy_O2DfM>)Zf;AF2@{diFhds}N zE762H@`xO+%{`6;>QY0`Dl`rh@7m;O0e|Ae%*S*n_(Z;M1z%WI^OMHsP!zu9oJ-7i zAxFEt+@a=OmQdaTZs!8Yv7NYrUE(p>5w@wAZ^D#MUt16FIe6xue);m_gk2_-NFcpe z$571na@jc~B$Lv8O7r5{iGz8bhS*fqgQs_i{wiKmy5`+|w+}8hFh{t>%SpcYQdc;G zqjEW4d@J8~R0lIkyA~Wc`pe}kqVk0gBX}L@+NL8m?#V5Gczn#In+dQ60?kRu12KjoBjFq|J{_tu(N2EnCL)F@HBtNkLTQ7IcmDG@9 zP0Gwdj>K^8R$7q?x7Y6obT;Q`p%LkY1^j$W$^vI6yk>L;j6n3MItA}0OpEJ}Q4dMl z{ViWz58;^0qHXYjN{P#JomyYqBXdsP0sgsM)>Ih`<2Bq7(G9+*PRdAa+h@&KzI@r* zy?B%R@T?3)M82ydgF6#oOQkpy@vJ4bRw!^rk>Nb>(-SP)Vm^flgznB80h3sc(g^9e zxV_B}@6M5DuFNlX-3Ur*Nb5*ZaiHS_{KAM@KD>?iqdBkn;nNSZlansNXE2nf3hAk} z+l@!OWliJqvCsMWvm6PxepMmr@=xVVbFT2KKa-{J@Zl&sOgAwOHo1TJc4}@R&tL{W zFGQ|E)(>#B2ppA)?HtyIZuoq;eB83t%~H9X!Pn*Ms*XXpe1@(-3k9~WiTz2Q&s@Z= z%WE4UYq8O&+ArU;U-=4;zVP#L@9BC@d(UWR!j9C4PEqbP?GKOCXkxhYE#FRu4OIsu z^`fg)OV7G^3F~g~`647(rX=}XN)LW^q$|1lg_^|r@Vu^ufX#S&(&dlj70BK_V|es@ zb0%mu2A=u_^WCEri2Z z%4yTsnU?3YOLrpgz;4`dlDB)fyEDeNmrIs{6rt1V`POsx-z|LE&+6F$V8Nx|P`PZF zzIHn8P9mt%w8;vq%i24aOREokmF-heI1@UF!sqYimaGtXdH3&a*sFfZmt?MlPnR!T zp-aG%!~*ie$HO)A$ZWlKud_P&z6v?hL@^b9E7H|qrp zom?)bb%N=3iTcH50gUHz%XaU)d{|r(V~2dp>#V<6CoyFo<(V(7&uOy~s&jC>{12o6L2*ayK8Txc(9WX@RwR zA<`V_nf`KVQ8vwSz7Obr;Dc_1`&etVsc(7ea4F6ua;>9BanFZv32O$(OgJb%G5mjS$4Q7#g)NHhuuk9 z+7D+=wqJB}K=I`o)L3Ha>ff9z>RbQH_c4{cKeB~A3p>gWcfYB~nY#AIp`R8Lp~I;!_SnKzxYq>1m&caVp<@wFV*ZfDw4T1ku}JXY->Sg=9(c1%_0yjpm7@_j z@9sU?@{B7r+TJ{dy7L8kR7WFI{x>oLKQGynhVh7Rsu7sy;^fEsNPrXqf@d#3doYQC z@uS9chIw$zgDF4Ipy|OoZou(ki(RTNo}s$CveOvgm}A9{B{gTYhwIQojerSqe|br6 zw9{K1tlY_9uS2VOIfPfs7MRacJQAI6!6IzI>x%N+zm4E1_VNx}K|&>V1>(b^+lX>x z#~6vDG1X%vjX3?w{j>5`M1%1ef5_|B-{Hg-dcRyF zto+=Ig|j-#m83*gwf-3!JdLp|Id5HWmqhT;alc#==J|JfR|LkT)qSm<(KDJMTOOrF zpM8Fo!dtAr&V>Q0B@aK7W{#hmdbF~*6fJ-0Y={n@fq1x?+XyG&;I;c_WkixMC&FgT zXf^~YE|>F!IOhOfZnGdt#C!{v(6tM!Wp8VokaiDW!Sxm;GwOKmvvuZdWDje1(|qm0 zEk|+Q=lF0ffvBGF@9}bNOp)~7ce7CC(mt}KzLB-@vNU+LsQ2QB=irF9u{0vfgbDx4 zw*}tM0^6TN$W==hn{egc<5!7y^>GDLOiyr3?Swr~@iS`sR^)PH5(K=!(#)Quz;!s| zZ4@Ubr0G{-r(8n@7|wP$Ob`;=1YA!3OF!Jd165EmD3v}L9N+DXlUK&H3xV} zh8lWCD39#Ma=wt0W_2%XU5fNmrc?~yUcxpaOxutF61M~jp?)~Sy#n4!jEjM7c~un* z7?>$cZm`IkIf*8)?BS{9{86vE8i5yCI!1(;5fM^9yxNy*>RjXHvRC8b38uds)epHw zX?I`SeVntw8Nm@6^0F)V3{O%UP(GYXN*R2$<+IYx;DeiclLyyeYHq6ee<19cJ=Te4^b9K|tt?P01lcj#IZiPY1F`FY;47Yo z=oT>cDb22siss%gl=)sGDLm%~qwiPaQAT_v=Gr`{lI)m);8Wdg~l%9q>ZkW5$IwZc!=BH>QXuQNF}O?)?v^aO8}kc2v) zE2{yW$q~u5L;4NQdNaEn*vWcLWPTlI&k8CgJf{l|k3}3OKh=Y`2aD64d_M!9x!d%Q z%#j=`WOyeh@(vb`*b2T~J$W@=gpdG;`1jC9c)ng=j$JM%JcUsDE)d>y++{06Jbl)~ zyFX5?#eF?%PN;7TBH03X@I6WH3QNSEpXY%$;Zd6{+4m3n+qV@7*9{>q+!%eYT@dWCiyLp55LvE!ST+!eI; z$?-JCcFJZQ<~>W7jKtJ5)=(U&PjQYf)OD!6)Y)EcGeZf*Ss?84=JMyGh%uxSD?o6% zO&3o`i>G9DDhFis@H4o0{KhITYc7>*dhYjwHg7$q$?$`|eAv312;=y>I0ZG$OGBmu z_e)`HT=L$_x=cNID@7ekR^!=f>0AjtvyvUG_F)8J!*Ay45tP z*i_{(#dg&6HZc)vUX7A%H@6NCWT#m@Lk8|G>@fkRi|iqjimNfW#`zRzX}d((!>RuTb|r+4SUt8P}3*Wd=Fk7Du->Wmvyfo){A#B=X_&aJ~-R4H)bcs?cqewPI2~K@$?A2>M9jWQM7QP z|LGH0;T#%@vO(pH$?qc&>M6bKPfbdqOhjKU#n6FaT!f0iClXuUf#3s}+J{Fs#>M@E zC9F$vWibcmM23r>zI|_59zNv8q>W6wk3%XzwqGH6BO|60bG<@7-?QV7uF#PjQa|SO zeip9)1CJUUH|gNZS#+{_C8Ol!9X%28Rd&29q^~9iXxfL38vCl?%N%VguXyb#D_iKH zSoyLp$Llbc*!|(L8JuhvE>(v#pkj$-uHzi|DH1=|9BFWR<5}v=`#iYRc5hyh?aKYb zhwJBb)F&1s|1=NyMcU_4&63M~ch9e!f_=DDZpmz1it4&tQuQ=jA-t)5`1ZhypkWM0 zOM>mgMw*ZtavRej<4DDMC1(ei(8ble>Bdd{48HJSi|V=iuOA+!!lZe4LNVXXgD**VpYlWAV$7fQek@9V$X=MT zl*(}qPMSltA(M8uJua8c*WE{*amQ;NR^@ql&|k`D^}NTbw##$QYb;c~AFd={_$JGA zT|P&yUc;RigLe<}_lo4F= z!*DWVXYjt2o5sSuoCewZ<-2*W(~?ZzFYgL(RN_jgGIXUJpwQ!u2NT|hD~v}Qi4}V| ztM|>=ND#I$^23+nNTdXFPcsSY=T2vP!&6#}!R87W(cW&_Tmn8&n=IkRKCDq6ybNzV z21=a%yRszqdqMPtA?@W@l)y<)@$C)q`-v@*T+WGt@w_-O5kXE_uIQw6`8XnY*UuuB z+*?qk)RnGglcrtVgPTt|fAb4x_t&@xMXov?B42JrG^%-X^Ru?fac*?@J`c^5gE&o3 zj>!#9ra$%685^F3_e-wf>0U-`tc?{C!H+83BnQW2ZRwAuI-C$My!0W!3x9OKym3oI z+9b8O8cxNflv^zTn|uLhF6Rm|LeAIs6knR2sC`F@Vc?m}aS`&DPTB>=(^Wr}P_TF! zIjSfGi6+R|(}A%9mXymdB1(l6VG@p-cwf3Fe>u~Hc#GBJ!j)vmD}ua&9xI8!+myWZ z`C{o)lbwPM>H6^D_f39=k4#7c$hyw2OId6CVvd3tEtXQN9F%-HrCEK&w_r-7rb=VK z>J~$0AKQf}-pBZGg-DY$e!k48UCtwXf+Q~QZ4**(>9Q*(BO(;UphNOU)P0sZF)jwC z=PA`Y-DjNos9Dr38Fjbl*yc==@apJ)u=3IU=q2U2idvjhZW){|T}sDo2+}NBkvvtZ zD<#LX6X@KvB_KVy;Gp|*O&ijNSR)=^@`noWAaVKp1AoU$v4y&rIEy(lx+rbE4jRrBR%xYxPPl9#ck8KoEuo$QkkbvEg4hv37*A`_-x@8QTw zRDH8&*pGF1V7fOW;j}7UcRCHnC8E_jsex;hK5MWz%iP%l5&luPP!kPF>{8VkQWRFS4=Xsgs{#8_Kl4q(Z$!2j93A!%ENJczgb<|UI z;$O_kRrgls@JV=p51%&4s4pL+ky3u6#deVz ziKol*?cr(2%2*#>{glMJc{M;n6!u&*_7FSb37l}HSEW7bitRAr@@I*&%+X?tuAulw zxg)WQ;dgv_Z2qz8@#1Y;&ZftK3Gw*r<$L(314}k9CUM8MlL}j!&IcEmFy!H-e2sk< zUeq;tH%zK%i}~HW72mIIP6TdwjI`qf?(COF{84eOY$dvy<`?^qve~b<_M%)@Z;Ma~ z%O4*76;)oZv$3uwHo&_~&X>KQ+XR_U9kjFEYr8*B$q`x{CY|v$?i7OS*o9p9;ls?c z2%^%_y}hce8P?00H*~hq?I8p{dzGoSL_CBmtKbBWYxl`~*c=Zgj_6v~W|gq%b;~2B zoV~f-i1FV)dxn06i4R3EJHTehNV@ww%#x^Ho+~vWvPIqy3nfGbt*3=6o9jML^-@=3I12?8teu~T(N@-5<5|zg4gK&a=%g+15 z8C*Kc?@-?q=f!35K6Eu@j>sTas2uwu64Qbc^Tx~Kxc1B;QNEHERc4LTFdO9r_Km1) zIUT+eTz6PQnjIdhhpdvN#-f9iJgs;KN205^{2If{%*#jg!Pf7)m6j{hFM;~*%GK!$yPYn;dsPhUQK#CaRWSMhqy83J^kH*@rH0z`@| z_c(CF;G?|U2gh1Y&U1AI(Fn1-^=} zMmX1>rMLTcnZ>u?V@=_?Gsq9f5|R-o5~#dDeh%p0;U)>4w{J87J zdlaA5^`O4LZatMVB7a^4frsVk$C z`fvqV!P7=W1CBW_-pMhvVPUvGJU*?n_>HcdSx`H=qI0c2z52aeLscdrxat&fU_^Gd zzzWck*g)~LWsZ6+oSb`q66PG3aD~iWKnvV$UqN&k(X0Mau-simN9aVUO@i>nbZ=ip~Oqgt9}sXRTw&m5Lr3sQnJe>g|J@Z4jZ%CezA=;I9X z+~4+;Kb%IUab|Z)9=szhM+_g)EX~ntaQ0#fBbCClk4)i6YSRZ5g<_Gf)9D#Qb%@1} zrH}OBXU(Kgz2?c=!x}cRPKIiPd9PIV2P>qQ9Y92jUcRFI-d0$LpG9NRuVOYRxz?8} zaF8(XY1!Do3N$7x-KW*il@;(p_!4H0{-x~y6oW(v4I|VSH*?P4qJeRa9k}CC4STQX zt;5a?Tjg<*7%Mnhb_x|`fxcoS$_kZ|c7X)O{PE|Z z%)HzpBy`?xJkdbVT{U4%HMW{?Ja`<5DvhrX<%pB+F)Xbvi~{-6!zVo+H6~l;BuwhblLEYTb}iQcN?F@ zjrH+Pe?y%|uI02@Dfc5WS3oPTZSUw#OF9CKIF#o~eFrCXHaJ(|tv&MPf-RKaGn|gJ>DfJH(Qrzg*txaN>?W9(5;&g zH?j_jU#>`WUKW>s!7<$JZhUOt{6Pob{@{q+=(ju)LeUQAohNTdlnRv<+(+o>nZ>ow z53Vc;nlmL&=3qi7-OOl&`Yi^J>WOUeID#?lbZ#(VglC}E`93`B&^HF^knIWH)EltS znGU>wGob`8oW9-i=R4oq6IMotpgw%37}>c*$+wLPgYYJ?N1dh5xE%6avIM`v^s2ArkS z+U{Uy&#dsRD+nfZZZ4x6iZ89Esy^^NgOi1;WeQu{Jfj_0xMKyV_44~}ZM z4w?692$E9>KMFmZPm61$<;aVt=N@gY%gJarCnT_5ekQT0-8)(l*#cvu$mXf**J^om z2On{!ejc;r6(5T+HwGx_lan!D&Zo}et0S%#I5YChsHOGj;|!gvXa%kCh4ID1f0U%4 z_F~tKH_*IwPlbGVb=ygB`tT)Ov2(o`g>fzZt6ohByjg=}*V1G_{_ve#`&qolo*;Ov zojGvvf=tQPMX_h3U=X(WVjVzt86kRgp_J>aQ%Al*B0_R-g%eeOgXr3Pcr)I^A&a7W zD?+n#d?rmhI~R_sLI3cTcBBT`;s{L8{)&_yjsV)rbsW>Q`E@oMoao4L zQ-J#J`NJb+2(ibtK0H!}&e~=_jf0GI{49cadwID8hNuVOH9rrVE~n!1vlbdU4?jJ| ztM>DD9C-rIGu7#B&cs-Lyu3v2)jT zq$1^b$i8cS_-MD$c5@a;9x9U`uR5jEk4SXPp_RKUJ~08j4v?BS_>w+H8d2<#8oLZN9w4!)RMu zgJ+B)c06PnF(NeF5|n&EJ&3OD;3T%>9Lw^VpZd9F>#@3Tw=Ipwjy9WdNq`rrqPd@b$6*N)m}EP~Ay+e|&lS9sv1K|1!Gqs1sE z-cyZzXG+nJwO3x*f3{s+!pn#GWINY`XVUk~2cBg!c-ghb-|b4P`|xQ#*DU?kgME7S z4zQHaR|vkNp4y770pJZmAn%)LsB!sO)1>4>0^&gX{P5zl4|eVkM?#>fIJaFfL(0)8 z#Wt1O+~_C4t;d^YJd$g2>{qJZf6uOG%}5^!?gO)`eM1cDm_6#;*xTLNVxr}o zr>Z6`8ZsxU&f!KPuTe z-W>Uc>=b$A7|Jcr4l-M~;4Bv$7!T)Ei_Z<`R_iQA`K_ce|J}T!tEqeqF$qi47!Ro` zn2%=BA2^9}QT|ju=ZlqSi*g2w<6Hdnk5J{oRC3n`R|&K%MV{L|5dzIV6bElvcu>umi>%Pv8`m3&!Q;CV{x4iYN+KnKKLGE$Is0egzXRSp%%rZ zn44ew$0k*jrhB6C;fmj3%F)?h@FJ}#@qwe*mv3_tU1KGwBYQ1G*unO6w?sb5XS^?R z^eX+<)02R z-7*TiLdc_`A5ZJmvX5hdGwJEBGcj zz`}~Fwx>8abQO2_&yJ?uzqZ&qyshz>2e%v|x9J`&kWJ}1S!S@+<@m_JCH`i=TD0)< z^0c6aZ|8;^Pi561!k8raVvagoXkZct`8*6ZHu|P;qAn5OVJ^7{%BLRZf5E4po&>FQ zf9xP7V@it>b?P-fyjuekFUoxDKg&TW?B$_5hA|$FagR8e>gAR{8`Byxsb@Qqyrp9% zO;TdW$|hk}a)5g4-_m~+KmRlK<-xcAE(hes z?6ZjvlK?SEjrD_>-?+UVHAPphzI%w`;|%NN~tHk z<_$b8jy=x9`;dqAb(V-1;Ua6rA+B+EY3wVW!f3>VsyD7l_iru=Ssnb$4h{!}pP#M! z1@USBoZ#emSUG)6FAlXsYFgkYwg8CNUcR)U5+^C_a@4k~1>Sdk+DzOk=6osrmhNXK zwn8R;4Le7e=PW^WG)AhexreO0y9Q)9p?*F1tkP6PW0qXh@?sRR;7D3|!66Z(vnI6= z|5^O*_?)#tmK>)<^wAj*_hs^QJ(-Bm`}k)ZTl8bfvz{$)d1Vo!sf+#Cy8P@;l12L2 z-nCml+1V_B(D=QF9=ot4~ zO}RrpSK*nj^DO6Cp|uOIMaEY&mWbA3Xx0mzQ;AdKiZISti zhbcHP2VOlRse_Jq2&a}S*Qq4@&M|C*-EIIv&tXdv~a?jB}zqkt_;eD%XgCOjI%snxB7xVOwr%^ndyT_`rr4BP&Ce6>=jR?STP^Z;M&0Yyf4(qOHQ_|N zv|G;^m$=WzKSz7050_gqc|$$t=*n!t3AqjLpB+=Paj{D7E^N49DUnt*AVwacgHM&ZItLNkG7#1TezxDbf*w&lcrx7!e_G9O1is zUAyk`@)^#s4KLUke6EzjHVT_8pRqUkQPMC)D&pxOu~-$aVLw&Uynq|dvhrhXx3we0&AjBW+ltIcVcI+_V`o@22d~MVuIE)&uZ%jk!Nq1_ zEIM|4=v*1Euz+R}kt6NETn>ml&T2NR7vHEA+n}`f=g*>Hv|T)LEpV$}!#3OKM$|Yu zGq#r(KbFjj;G27d9(KCPUSYv|vg_(zH!hGnX%4Ym{H&j&aWWxjUDfN(HM`H6+lVtCttYd@yQis-@)h zJPr9))qfSUQqLXcEqvfGnSA~#-o3+5Q%LUk@RnQ;@e1j-!eBvRA3JPT_RATS!{4r0 ztrU(qmRcFb_-x_1;Kh&MFm&#LrKoQkJ2}Ibm-~ZeE(i(6Az?1A-EFX%dtAbr7yGob zTJUzp@f`L(PgY0!a4s_7rGyO}96^X_Q^3V=ksq!oS^2}_ zfrvNG4=t`msc}!~txy}4XK*PmpJ6#TdW3vPB`n!h6Hkw@I1X-KRJ8XZKNL<{jSP5M zW!|_ebGu|RkJaXNAYnjNBQYF>4=|#lwGsukI!H`H-EW>2Qd=V zxxbvd7Wsju649zeeX)tMVdr^WaZF{-R7*8^#xA=ftCd-~VrHs1x&87v{FtW`$MF>z z0D0TTQ@7$X-Z=9;x*axAMYF3vyryWLvjdzla1m=g{8!JiGU7%E#2bpDDiX9vxm}Ky zpDSmyZ1urAhovy$Y0>2spqGlBRrhI)m}0C!)WU*Tr%u7qc~5q9O-T68hxepUO<~2; zEBUUwE5oKvA@tKstjuBSYF*g6;?+j^g8HtjcXG9D$iGm5O6wb*#}OaUpn z$a!%?I)gF~-jM}rjwpg3zlXLLyyL`~<&Qh_J^ScGh9&9?#kn2ja+(5JGZr|p2N4ZL0+_P&@Q_+Yh9W&Nw`WEKP|20(bv8jrJV6Vt5+5dv0k zdVGa8UoH=K)q|eN4vtL5^xr*IjuVZXnNaOtS$Oe;H< zOXgvJ+{U_HSyzfpuQC5_CF2)o|6KHfcVHYArahWDx{To%j?181?Yb7j&$6!<|5YR~ zTVSQR+Y^}((fB09*_x?w`cBV7o?%p{2hMn(`PM^}nX0GpSESmCE9X%!7v+ih;hb_z zo!h4SXUUn_E`HWKwSIUBN9vSneai2~6}Zdev$$Tqh99$zFyb2IP1O>wq&{OE*MLR) z5dYN(B@jns(ZyGa*Z}w-4(dKl>;1!P_-3C^vfsa2F`bHsToIcWxcJ9%@bDDJl`3B0 znNjQW@K}+h9UXIx_^!<7zK=8W2k&^AGi*3UhxEVmbw)L053E~$O2fr}_PpdgUrvUp z-N4iPXDQ!C^r%RY9}?M4;hK$=X)GCqYmQgDbI%`K-2rzJBX+EXCmf$QxEP6z-`DQS;nMLzRVnx7KE%lnXMN6?azrjBK2 zU=~sQ)$<*B)FtWl>}!hu>fm_c#WE{Lx`N8z;x!(n%=?;@Fu&vN&5|PJY)H;o6Xe)h z%h&qywmmu_DOx|}wQ51)mdinxr^_|I3qAa@++<*{(UQKLeeoGNw;P!7dr!;e>;v8K zApj4@RYKd0I!K_t0}Qx3t^gJggH_0p_xST)sdYwl#;6R@1YSdt}x7XnyZdEBe+Pa zo2lMrIPDxGg}9niYJ(w%0zduYKK@yv_1g*7wRIk_f&#u+I|@bf5XL=&tyQVm|> z*|D4M!FyAPgL*=}$B*I&lZf-eV?1jbnePiP-f%+my4~rlSD%MDg*9?(Th3jc>%)C6Z>_{taO!&rr05dG6RU#m8SF zPe~jp5;xlHvy~6;Q4iMxIrv##w|FTmFUPG1h2R)P&Q}}42IfS5sveGecks~^k>laJ z1ah}TkHUeo>j(;arq^Q~ux@CGtA+yS~CZb@Py z;C@P@zn=5F-*|rUp6)2vZhHRdSy{JE_%n+;Ax2MAlXq@`$|HeW&>9 zEm!bp%p@ZUV@W2)%%4KGGdMeawSC!L)7 zK75mv>=A!i)f9d;{?Ov93hy-$DM3Z8f|ZbsgM`Htm6nldslKZ7xO`WnU0M4alw zM{ajKO{3q(CmlP+Q&J3S`S9qoNEwfB`IxuQ^V?<*zR%bf^8tw*F;j}qI}V;ja;yaj zkRfJFkC}R$p#+ZQXSr8GV=J~QT4$a8s5g?VWR!0htuW*M+dN+R9#>gPt4{8Oya4SS zA%A!+@n?IAfn-biGA1W&;>U-#btgZ277qO%o76PbU$OLhxo#!&JgicJ^WtI-JwwyH z7}xe#gd=#k+RMjXn_qpc!0}f(D2;s!?+xLFSn-Wi^25&(JC@amuIcGDmT3t@^=B7c zE|$P*RC6UUgmoLMT57XSKAh9e_-u)3e5yevE_mhAIDdG3+IYCl7>Nm|i(jjtnBerY zY_5>MTR)PK%fG4+W!E1*G*R+S@C3aasp%Njh?$-rJYzjlR?I*Q=p3`TA17kn^2^)u z&&vHS^Cv1w&C6s?VtXW{nNPh$i4R7s^VI#&);0q1!5;Sj!Kcfwbn`S2m@Z9s&Xg}L zro`Y{j}X1F?ZXU5EvZKRHN3_z?|#lRQ;+BGo=uHTCnc8N%JX*#tgZ30Qe=yIgN?$i zij%lEAKr8yPxXi@@8F|I?N5)x5$!EM&tfO9sApDp{oplz7IrSTIT4`qQ*!CL$_M)? z&uYPIAe~_3v0V9Sqx4k1k?S`nE$?|(h@Mb>GLwbelQ_Zb;3`dDPqDLtob~bZj_2LbR@8G>(6%d_XA|_^zn__u* z_8)CGzg@6)bz@0kuTSB+mdkU2RBn0MlK96ef+Bx7;Z8JJPjM0`52mK$rQs-=JzhRW z{M|Vs1Wi)v954Itma88Zy!r212QzR-+x=i}q0b6vf4C;|id9eq?xD!OlE zmV#?q;^MT&7$pYmwuwJICT5Wmqz!Ra|n!AFGW7YwIE12FDLb*iesGA#)nsP%z^iPc=Xwde=GtN zYrcHB_<7p2ZriNFnx|j~bHu{JX)fclaE;b?A|MOpOf z9_U6o2WOSZ{S6M;xBPj}I>PTx9gYu+UB1?7+&*zg)?du7jp7NLW^;@P7J~h%K1++v zoUm)Y2n6NGjOq_p{uZ1p`j{Sw5nfvF;h5Q)P0253gNQZeSvu!i4+2J8m`J>*IQm%C z)mN;A@`v{-PR3=-&EmSz?$S+a(P~_d5^8fevCe6>rykrh+&pJN9kDf%fbP2L>g0jt zi0KQiZ;P1OzRKluN}>RMerue^2A?j!YPw6fPPU&yCpuXHD^m0RAO73l|Mqu3|Nf(k zHX1&&*I?C*@Z$VYNa6Vtq>qz*tp9%gIDL;SvlYjo@w=)j? z{MY&4P^=+zhp2!bmZiMK&CSN2{`m8Uzxnfj{_{Wn`A>iR>z{x8%WuD-=DxW!%tVEx zO<2{xUV7Rh6LgY8w&~!>KsOI2QzbV|x(A=Jg7YzOoso%5G~bXk%vo3HHb|cxQF4ox zJGi2yKQzb~^D%=5>4EB* zfy)+_yj^**ekJz3#Rniu5>!={DBn8Wx>2UuLl}8ptqB&UF6V7mm&OTuzPPxONv>^F zawcz9gJ((pJJ%&8D%qBX1dlwuYX+Z>LM=F?pP`-4<~oQldSPxEH0lOk#;DNhNr+oT ziH8T2xP|q!jX9PEcLh8LCgE@kw^|+F8@L-I&B?FXN0c=cePS(GhQuA3}XeIW>-PaWKxmQ(JAP9}^w z1p(W(^ipokp?Nx*c{AGS-ZmpU-r^`qm?&KpCabExv~|-}y~5eV%VbhGA3(wNiuf<*Nh9<|Rl=4cSi;v?$d-a&s6 z$?jqmvMm=R#W^D6e7cy#MYc7NCKel|1N<FUE(jdiibQYMFR`EhA{YZEW6M{)`v91U_pH zE{%=5;{-2flSg(SsZ^ixc!sL_Q%kPFNh@a$64{E+V`}y4$2rU4xjvW$Xk5Ms_Nz34Wcs36qW<`Ql@?^H+f-8c=-~>r#PObDU+W?WL9pQ zZvoBmDs?rTxHR$3WwL@Xv*a#)pbE#GI0wfMXneTd33p!1YaecWJ}C!KUp&pvWa7MD z_>k%+G@K>Pl^VIcsLglx7Fv!I9Dretvn4F2aRSL2e9=uY4~rSM*#) zojDv!;Dg*DelDxDGeM8b&k{$!3z6*YqgnVF61turz1vdOhjS_gKg+%pU);u|nGA_S z+Ip#08x7t#Ln1-_G>8sLGHI`;6iEwcm60C0U(V$moG4z8Qdz2XjCIH%oi3ssPGAi$ zs57ldSI*WY*11hRdp?{D*N1a0i4;O|SZZLcy4&wp(lwP^26(o~PjZ#YNTobZw( z!a3)9IhR}Tv#_o4o0MR}3sU)A?9p`wJtEq0M_|8lhV1SS$b4wuAi3bFMId|Ahutc+atan$~{2e7XMNpk*kT2Gg~lMM9eW!?$Z+&T~Dlh|{MX2MS!3`TfD!S^8X} zuI~oAi1V#YQu2Q4@QON0Y1rr;0H z%Q1`G)kf#$!f5**k-WiVM+kAHhq|6MY<8Ftg~YVd(Z+?urFA*R2HQNv{RNz}-e#^O zney^H9GzS^O+P=0~IhvTzbuReH$F9+!nM2_^(c(CJc2bTbjViE3yAGvh) zHs!$%q#t2@lMzVVQYlv4{hW@bd$=hTsk|S?AA|7PO7+ zuEcI;?S5+^S6wlrm@W<Ss#+h=iwm+@T1?xx`)R*h9lfPSL{e_Rn)L#l}>Ah6N`QTMw0m8vmP3zns@WG8FE7deYA z&v)VtOYI8N7*5=)XX=SAXue#}S$ePd-iA%3oX^+r0e-O}dl$+dJNL`U0*ORF^6hqg zc~;6Aow2SM&d_z1p{mM{b;ld?x+A}^*ct(jJYRPoWI zvBtwm7c`zJk~1vuZknIU6eh$vd( z7E?K;q?eEVas}!y+sn>65B z4{s&PbI9h!VO7|JmcioFhbr)bhURcRq~4U^waL6hJm)z-cpBH6Zgu%``ZzlO{gx;2 zqWLj9k?QMm*&K*-ZdGr24Dzxc=WIe^bQjk3Hix-LY4qSL>F~|fhkXwG4Bbi!q5KWJ zynLIVr}rtDcu!3)S7&kQssHeP>p!2Er_d&&-pK}#JA%)^)B=@0JD8I>_Qk#J1AqBv0_Q}=(ApCKr7Ig3n}cg7|h z?8JQ*tzW9ag*|hN3EJG{3A%GCE0|l8P&IJ&bl@%3Kb2nkBm6Vrh~pKPCng};m=KR9Z4vIYW{ZWLc-L8x>Tfl^2huLPadMR?k7O5#3@Pe8vMrP!m%reR-0?aNg6U?x#i&459Is!=M%P)3bzfP$46v*x2T76 zsoRYR3@wFUJf-wYPmoOjdqLISZ?5{_)?|ha?Ro7u9#?{35^x)hI^IdJp zB#+fToGF`Y%~Eddb4Vu4LPvW){Pf%{fu*7&pZE&RS)Wk;%qKg4__FX4UhmOrEHa99 zyl~*Y^Sd$g02hiaLSDopEDv|;8ba=HOoofA;SMccqIt6_)tQ2GuP@ioD;29|?a+*F zR3BP`@6IfJzkV(!vl3D^Mm0MY!@;FL#W_9UHNm;I(#z#Uti`rblKR<#Pm-9t&&e{w z;agj#o4fRv_vLz8pL1V+I!tN7Q;*XabE)%eUD3w@OYm*QF`|iL^4LnJTA|*?x$4WC zpOg4oU($n_7Sue9Mm<&qUB^^1c0nTV%%6T;<~3QGkK}~>DbHA4WnJ4Hmm9p@@@F{l z=!K3=?c2CA$hvx@y3owA{Nd@c8l8c=W}9<+t!6Isvdo~8 zoz{DKH9zZan}uKAg*j^R{;kWpz_Oo|7|932<|T#9X)5(8PdBQ5e8d~$XNj{>L+13X zC*yX5;4ESY{rLIb*#vIJr;%&)k%71~Lp%H|@$6M)u0RL10(oezp3V7`TYc7S49`#nXTGObhl2&9YUlG8w@%>~sr{?$|%$fdFTKS#jAa&c(gNj2B)3EjaOk#XOzu zrw1@|7K4&pW`F4N*m21itq?<9hF7f09-Ok0!igo_0~T{;5;$9bFG0=akcD5&inM~u zX&slhI0&3z3yGGqVi_?o4Eb4+&{;9@DaBDN=0(OEoc&^@;PMEzmmyJcww%SmdGJQ` zr?uV*AxyV?Yuf9IpPu5rJmsF2XZZQmLJA`=%5Jv{;i}$p|Z+%WF7+Fdeku=thO@$wcNNKU@JW zvNx&s?J6F7ZP|Y|EjH7B_^x4lhrW@5L4w;0fQX)Kv9qjrTe4E^fOD$xwn^O1l$?7P zE5BrJD$ZP)T>a))vV3?g;Sx1&HRj8{NfN-U!E2Qzx~zwKggRx%x7r%@3_Jtf(3h7S z&Xh~}-EeNu$y?LoZ0Q>sqv2Rv7$l7teuG~dry@;X_|UV-3{Q!LaST6)ocef7%=X$n zfi}0L9_pF#u7(~`)*ebFjcYmcTI}4l&^D?c-oh$yvl9<~`VluNdYUsdduk0{f{*6R zoXkx?PV%V1e2&dP4}M_oVZle#VSah-w%Y5<{=|V@z2x(yj*W1Z^?Z#HxXJ~!yZjRs6F+5TOq6`F2`C*f<4V*jlqXr z)=>QqFGx)+`xz4Pvp#&-&oI>#yCVeMNZ0rC5Z~gLe)$m32+&?kdR;LtDGm#fuj|)4 z8|zYc1&QNLS%h?HbU9!XPKJQ~D$ym?;i{KMJ*y_G$zOg=rq62Gn>b$`a06SJtx*Uq z!HGtgeoWGkJnWduJOob2+FKs|T-DRg%k{~wqzR|iWs2-BF?mS0kHzi=o+p=LN z8NA7%#jVDM@XO^Oj?YGqyAf^_@(9bzw$iLGl?@ot;W$K;;211Un?RoR^WN*_1VO5Y zXJ+URukOhSK@Hc#icvPNRZE;4*Tdpv<@ln{YSUBPQV4w07tz$N{&LYQMPAbHYNGZ% zgP*CU$jS{_nr&yI%&9F=pjpEjp3w2TeBnA;7$Mf}i!TmPr{@mwVugv|GTCC7t$W1p zLOp%8Yw?L`%nIJBY-E`d7eSBn!>1ikD{`STw@M>uPr z`6Bu_tDKeZlv{^GOoPi=lQ|CEza4yWe`(t`E=1#7BuzJ5yp*6GBb#{mQE`PntlpBh znCxNi;Mzcwqt6k^@}DC-UoIi?poA5}ex? zSwM|h9)6yc0SfmV+%VRyC!=g>Tcl1->;1cBavl;UKdbxqas+bz+qOTdQa}ujm1t{W zIn?7~L-E<2fDHK@)mEPJEP9JghtB$|`rIQpgFtm^Q{5ji;Xvdba+-2k& zv}4Yppj>-U3hE!;?9PMRq5J>Vx_;<+&U%Brb_?E{{r6<{6$04sMTB${M+VY^9ueVL zF-LGVyDDyMj6z^Xv(n4!$cJ}@uNHi2{dpy!!rK12)yqTOelMzx;MHpMr+eCYQQ zBQav^-`3h~E`Pdn#6TfMj(mt+hsyM6<)JJNvptH4tKTo4*@clV^N}A%M?~)qH)b9d zV!J#VnLxGpQTU&i8P%UhwBg3(%~nchU2a1UI2i)k-JtKzF=Ft#bXBRB!q+~6HwjW| zmn2EF`#had%)Im8eg1(HP!=Z>D&P7iqI}(){8BeQM}g>q+LGyvy3uS3QT*4 z4nv$d1&+NXlaK%E&@tk2BM>v{9rI=yL-0bp%$N|i{2g7GwSEkDqB6vw<+-8n!5fZn zQ~S_D4BpEL0d+n3#-DL`b_Rv){VblJ(e2IkxxrV&Uu;T8Mq$*{!wlO_n!V7 za+5`kxoncMx-03q>6RxeBKslpRkso+G0=^Pp}4!{{vEBf?c!J_l@Hfug@-}He13R! z`B@@c22QNBn=Es?Tff+^7I~_1t3kNne#|I1w3k=e+f{{SJ@t?T#R@~OFtjU!`=eDH zY6PtX?=|YLma!l^B<<{(qbW^5&l7xgcTMGI?ck?7*X-X#c&%n8_-x+!Ro~KFe1Y%+8h zsyvoFZWnB=TSY{iEnzfgm_{nW$TVNO#`KcUf|XqAhcTaVgb?XR#OF z`8chUb$K^O3Te*&&GD{ZD>xo5;slZpA3nmH((1rxQ831bMo*hHbc5lmFRy8uf+l|9 z)6RUT_rxoaI(3WhYTxwh;BqI`T;6i@oJwY&&VAIBdqxwBYfVo*IB>V%MDaxV#VhZ@ zNyDr)x=!~ol=$``CY-Rc`mTouKvML|uws*StNj`g|0AwgfqP_!$A4UpYZY=WFv{9UOko zm-i8C@D%waa4!Dh$0Bu+YjDm%cJxfLIs4_D-Ol*2J>BYCpFJ?Km(lUXADrg8f0Znb z`&r?LF@m4o*rSPc{u`Lg&1-&o-f* zaufKd-&#?feff%w2yW;x6m0}TJU7#3ae5Jaj^JnU8ABa+w3AbOz1pdb<;$N9%Fgl1 z#cT9$(n3oKUdeP1PgmraZ~e_d{^IwR>+&^YkScB6dYJ3(ch&NpKczG*zi4{wnS!JF z;W_oYA!{?WmwSfjxM^6a7QU^Z;l9%x;!b{K;&1tPk=5_tOSWddo#AY_yWiHuHF|h) z$b)i0t76|hXin{Ug?IHfjieYha1U>F$6MiU@cz})I(5X;AWhu9JofT4`EF30$eids zXD#GmB=~fzk&83$^KkPNd-<~&vZ|A^MA7>7HZv1(yI(%FNx|s5*f3Q|s2N3%c)P`U zs=-%@-mR&g6Mp72_cb_L=P@|qF0+GkKbCg%k+$2d zz7e16UzJL82w?D4qIEE;U%`n~3?F4Yrt6FEOu&g^y2YpD3gcxZACz6bZ}qmS4LsuA z_7oY#@Usu?apW-jol!`MrKd&Dry1tuXMtFw(a=ly@E(Ks?00@vs%)=i+%J7Z-$6^g z_&lj=Ew#qWN0iTLSWNr!7}z#(&$oObXs5=Aab|)2aKt>Lp4y_>3hAajMwm$&e*N&M zXL3%~g7YfkEwY00#GS29u;X_nO&AZqQ{w3jEBZK5i3F~>o|b%W2OoDw`AgpykK&vU zKGlpVlXm_pdJ*fz-jm6fvOcw72G`sQ{)>TxP{`$lGO`}a`A*`T z$i%?Fw48&ZV?0~@tnIC4@Uh%HWG2MV5|868u3Tfh<75T-4_Bje*x;-CsFpA!ro|Vx zI1)TJr37i6;QgB?YqVPU2izAX4W?&v%1$_8%;__#~e6&3^qm*+F4G#|GsP`$l; zX(6O&+&j98L3h(|q`G6k)J}&n*ut!cZ~-tG7HW_uyFf zd0B?H_u09{cRp%}trU56$J1jz@1*F8W$P(r6z^2IQaDgdW9N9v5nqt`O!2`Hn%jbNBh%cB} zjFgoRHJk*0`3{`=zO|F1rrCd^K4_ib;Jdj0rL*ylCdTw=jku&4@(p}3=2ClJ?kMzNZW_<_eA34Ua6wG8<&)z{R z7CGki&LktmH{qu@$E;t&CQFp`mpeO-5&d*BRF-%f8{t@U1RF*wj!7eAKk8YEqaVWE zt`WxMR%REU#Ln#CZO3UB;jgj!Hr563!5e8=*UkW=0ZFIYD4@>Z1T8I}9iH`b?H@kc zy>r6t=yD_)9k_@EWxQB%wK1v-#Br#eDjjB&b6O5PVhtp*6 zPq*;IW{yRaLw~m;h~P41a(Ru!?cs_oRr#GAy%C&*Ht`{8@rUbpFB3<#XS6;!O-qZV zjGTYAX-3g?(9ll!%(-Wi>kC@*saxwN!L5sKHa^Ih48_Of<^S#+Mdbq~YhD^KSw z6`kp|q4;MMU~};YUBiyv4`0duz2y2U_O&$^DA*AZv8V@FP0U4wZmc5;3EA9VWOycMwq;ClQ{N6YKNEMB5OF&Z`zb)y45R^8yj0O^FEf+0_B~n2#iO6OqC_ZO!!f%k zg|{KwQKiOL%dH(-a>g^%_?ohF;hg-)qEWd$T*u|$XFgC$0e7*rI&0RPWMDtNZ*Ly1 z^%C6`-&u7K@)@CucE57< zsQuy7DNf#H8c*$e#n0L;?fr1By4(Xtax&1_AdxMnqkVc>zem^RXs4^Eku6?=vpehV zQ@J{i6pZ5$wae&kkMhABIKj`b?_~&K{@8>zHO?92tQB}U%k`ACe)xs!DUniLzR4w* zv7zf8)uiMFcq1UG=){?Ki`}2gb2ld=Lbd&k-GP%*roO`w+^oKL6K^^BoiqZyFV}rV z7bjyr-})OyzFR-H@OsvVZ#NGyzVp^YHVx|;;t=vZ=nB4E&s^DIE^yT6G~Tm;D)$qD z51no%Y0B1k>E)}u3K~}RcbZ{c}-ejn{RyMwpv)H$z?4XNM#0ll)rp zHC2EQc93rV(`VyE!MsN^oVDtF>N#_!0?bqLpg3Qypk+1NicM)FOTVt@KIdQV=sxDn zZ=K}e{Ni1r_<23!{;V_mE7P8krm3)6I0C13`IHK6YVl{8iKoQP2x;o5n+0!DgH6Rx{-I&AnJwCX( zc_so@PjOzTJJrZN&Irvn8T$&!s#ZjS6O5uf>gA=h-fri^L5yDEG zxpiL)d3W-}P>OH5C(Iq6lq5NQ$pd$%K#PxhQ-bj*^f%qvBO=VJ^1H@qN8tFmoOZ;| zl7WhR6%|C-Y;_gf8O=z5W~U0lo5UjA44EXH%hB(i;@pF^mltPb6T6>sxqtWUvgh*= z4F{>hiFkm@ zj_&g5$8Whszz%#!s%mS{jkB-7vqb9`r{=&3gv!x3-`{k4T8l1{Z&X`XOta+rG!DwR z>@7arG-X6gI~*@#X;t{(a^8A2p(HI{NsYtUPQt7tMz`$8m&Y|>S-(mze8>H=vgItN zOf)RsBt7^Ul&3o2X~`140p^{^Yt@5C+O4M{EED4b35oON+(EjY6;~ys%T(p6X?!_D z)AM(SPrLM{YI&arjreJ)0K84(!xEP*hf@4Ugs}9khsgS~y=>=($y4Ht^vfOL%#_Qs z2U$bKipNA)mm24G=5@sP(C<xD zmgRapV<2d8zuwNh{uQMrkT5_1%4E8n`CAeSw?3M+2}epXf%=fiV$PdML^ zh3RDlh031$ALESQthtoF6(m1mZ7R-F$C%dRL;?q@^U!-mPgqu>l~VAGj~}NuF9n0< z=ub@omoJaM+H1s5jqD&Re}re@8lgIuuXy+pN0+DyoN=_rJ0$h72ggJ?xpCwU>UW}` zeY(B2gQ?ibDELl30w@y^h~NloF7Ja5cBH=y{beYsBOv=`sj^OozF?vki| zuT|EEmK-Mr?e+xu473$HcT^eX%e}QO4!znRzPx+H9mON#;N)`6?$f+8W5<{iTnpc! zK(ly-!F}w*xwx;{#CKkSS9HKBohmMBIJ6^P>2g$PR2;>%xNQxrEiM;i%L$s7M>U*# zja$t^kvhal#)$h5c$0iS{0uh{ZDGFSz_i5LUxuX8h|<}1F4l#CvrS_ML{wVna9>O` z0r6F+1Ll`2&M?ab$l7FbuqBkok|G2s=MUdL1fCd|?FY+Rx5^TL$fXbWiTW7_BV!m4`BSz2KAa0-U$-#PxMLfSWQ~+FVa#1WT<=M;|K5mA zt;5vpq?;$p(-^O$PB3+Y*T>8AEx*+H;hgq0i2xlw2`Voiu6r2H&qo{@nfDq>F4EI5 z<_6iaFIyT%re|$AbW5^i7Vx1V?!uXXKbk3t7F~HLnKaI*jrA39!JC&C9~hUFr3>LK z-!*UR!F~Gq*bvSZFT=bCx3Z-99NM6AnT2Jb=Wla`X=Yum_i_I$!nM^BG$dKB{cuf( zQnJZ=d*?J+6O5Fjd~X&z37(_=#PONy8I~{FejYC4W^go)ik}ndpm%x{yrF%#+Stw5Ici}6XtS)YP z7Mzpn{hO@UN<0fka}VE{MVe|q!>yN_Q<}QcQYy;J^L%Mc#1^GHu59$uxo(HII zpFg>!@sr45k7S16oDQm%6!Xp0{#B=ICCe>*emMs@imh>q`NgIz%VMl0tr~8H!5LkKqg*ZZcQeCXuf3F_$Js9r<>f_BgU?m(9#s|>t0e0=*kSejlqUm~5rN={8<&G#$Juu`$3TpI zzl0^-*%AF_B4)HM-%34j8z)OHqdY#Vaw)3G}WrgEf{+2q6}G$0>Jk zf5#PxXk&z*+;7tFQY`NuJc4saxPxO{JN;pzJm-Dyl8MiVep$H9+AmiyYC-6I#eF#H z9#fI2k|#r=p*_4yog^!*C5AbC__EHF#b>pJ&gIjw1@*a0SlAlX8yitZj9LhQcWH)N zSFE?bU(PmMv&$HEevqPf(#eQMQIr*Oa4r}kfMc9K-Peb2&*1+})tP16t!go}D`~+S zHZ}e4*kelKY~Q~`A#58{ELI^6(rR{aNu(?Bf^16rn#4)2-ku3hG^Y5+Lfa zL2au9zbt2OXhp?*P5Muc7`R>n;|NSv%0nEs{_v4B6L=i+vRvjzk8QI_qj-a}Xr^tO zWyzc$zH45qjXWk40^1CBIQiiH{NT+Lc4ucvg;Ve`Lb|4kFXNSBc$;QQYX9J>DI%}7 zuP1X5N6dL5=b!YLn?W<9aO&k(IqOXf#mpfRTZ11CO!>`s5iygK_-+gmxVA}WPJh<|WiZs2;7uT065GOPrz}uHjEjEfXZ*8-2 zh4UF=vT^1gK1tb9E)0e6_j$HC=#(~ctZti1`xTKZsT8F0BZU6`aNQ`ST{b_h_w-XX z4C5Lcnt7!mi3cHR0dSH))noje8ILE3vcgr{^w`ddJi~{$4UnhcZFB3#5%BOt^ZRR_+ zt#4>wN5vCu^39&~E$ChGIb}+nOYQr`OUCB4PB(C&KFFOTEU*Hf|1Lr?@K)oK4!(Sq zt&jMK|L~EuujSr@pQ}K(qffUg~A1kO;H)rLR$yQc35!KV|T zj^$*xr5ww}*HcPfwl%>nzK!GL+_#%^h$$!Ig;wIaMe+Qy4D4Qb&Y|r?()j51BTzh@ z$Dxo`G!dkvq4BbRut$L~e0#Eh2rNBfa^UHYL2vhkeP*ih!pE|vH#@^R9mp}eGUJY7 zzDr?a0<6ic6m0HF>J~3Iz*e0rX=uPO`eaYw7XvG>h9^EJuv zdIQ&}P$(|D>z`90S#7?g z;Ooi3M&`XAr%Bi5jeD}1M#)KZ)eOdjD2Jt8{_ve6VBgU+K57iNYSB+{>Ps(;^D@Ve zQu?+_CRM;UZC-*eq|I$Co%_d~fn8d+)fb|24BS3H_;UM)O!~kOrse)rYqwVvS2pJw zb+|b5`u2t8;;-FvXCt;-RMU|Ha1$XHE7k@dYp>*f?^)g-es=HVir3XMr!X-$(J1bJ zj7|@XzMpR7@BdUmur5Ak!}tMT$w<3+oF3;YQoST7jwYO&EB1a|P)Yge_Z2x z`f<(@D?0a$?KLZ0Ka_jDaBUccgy`4l z2gU~($>5|*H1|UlHrK_vcqo@mIJID0cBRC3q@&l5o)@z=h8p=m^IwUIJ=zJ>@pd#+FmD4gl zpuA2Tq!6SAr$k{JpJ(H#TvCQEzoSd+F`q;6FP1`WMPO; z3jY?Szz-jfpC9_T-Y*XC`!@dKr}*H0Oj5+VXUJ5|-xKn=y>s9OUvKc@+-(fsQ-Ma*zuFf!XnG1C;98#^CIGbEY=Lu9Gju=PzYYiN#uwkBDMK?zG2(V+$ zokfTx37w07^JzWvNq7riA9wW&cZzVs4R`GAQh)ep9)XRw+3iU(*dk@FV(RYu58r>3 zLu9GX9lTg{(nD}=7vqC>^Dc3dskc20eBBIOB&q)OPoiuH$Es-U!3$2+=SL_L>RWji z$>8(zkY4OBV!VdfsbIP5cZ+_%ey-q`fr2^-&8Wh)yvtuzioXlmf-34=j6(6CS zbFS{&Jv@Ud?2|f)FR&NyE?0axO5HtMKDh?2HEqS5EEgZHSA;2Fx!%IhciCo4B`Mci zopF~#9=yo}G2Uj_yr|8xOHuB5=t_sHP)9e(eV|iq`gPkwMY$8&jCWPW zQCM0KwGCcLhjdji^`@o$;V2QiqWp~znvTJx9a{a5$nNM^L-^SQw*!5&5ggJ>hN1C> zDzS zu&B6#kD{z{2`a4mmJhDNW)u$y9?am-EsBn~DRbM#X)!l6lS=f+A?UjJvLeB>TwApo zGdXIIN^|M3@nu{Q`^JI0%-?$PY6XBvGUB(rMu%MO-28pOydp=2oVxGWrcq;N18!XX zmz7p@K5o>+g(D_3KDdZ@l=D3tHw^B%gB9`Qh_je-Gne(d&2$=c3@ZsJVbV`uoVjB~ z0yx$@b%IwhUl+WAUzkr$4(?NPcdS24vsdl7wtRzEGh$<}h^WL3v8k{(v@bcHoJho-H z;MX~fTK&U^XzbvKFU2M2DsErx^8Zsu?ad{)CLoM?&9YCy$78(%DkFTmkb1Fl)Wwuf z9p3ohJFM*HN&3S@$s*OCvGV*w+_+(bug|jT!^QUq4m&__Y8TmL`6vkF?GNs6!VTN# z{Nq6H60L~=V7%n53cKwae4!z_JY!pr#|OgiV(}QXDXcGaQP01#q;k9&<}Y*tiSzU6 zWHvuKY25pE)5xCne5G>idH--JTuJz%m8=qyP9Bx~brlZYEd>14MSM z9$a{tR-c$azmK_*MmN6DRn%ir;dl&IF8NJ7v<@j;yn5nuSou6LuDEBn)8@JDsq@mr zRAo=B1>;H_1gEr9!_Y);C0kIt!s_1HjTfo1FahiExd-QbldiIdVLNp&`0`$dG_y@a zX=pAHc{2>>9Qx~?T)LZ@wPq~{JNiNvM)rjI(SZw=icB@XdZS#jC;VlW8GedliHHFyU89g7Q zo!rk<(!sK1%|s=8T)da;nJjqkQ&?5!iT8>g#?Hi?(iH7}*@sGZueT-nvK&~?rKOT? z)0w8r0yi}TsD``J7Nzq;y;pEiY5Ju|AOHYC39%Zgs* z4_8SWyD8e2_wgyasGj$uwD>@ci^hskK;3_0b-Y=fT$GtG!Kd?^!O24H*^PE{Bomw^UwnL0&Gg)U@LRned@`dm`U+af zp{&vG>ptevox?L~^&Cy$O;IboZly}&hv%C>VBSB?hWa z_4IE^_w2(jnG}LCoh}UbR0L(t39@`{cW(K+JuOckM`Ymc=EcDcPRf@58{v169|1)XdhTsLqxH^GR_uxZ_;F3FO&{%~FDWNNQ?_`yXni$vCF z_X~m+@p#H$Z!Xu=oSRJ8TiG;P|o-9ibTej^^V_WNqMr97ro9$JSuuZsL&~*dDvtVmB@_ks+Jc1WDj$u;i`dGmh)2GOk=)zSnML-~RXBUPF`$ zZ4=i77bQKP`t5K1v{#k`?crVYICmn|2)Oe+XFe7mWuyBH^7CjI>JL{23w3tm@h)gs zM+C!+dnGU-kH=3#y@^llL9J(zeKmAzjcGm*qJ5;pLhmKgnZ|W9q+D-aN3vlLrAFq5 z7BLbHWlAKrH;|?~_iWlz4&5IgOU9+oFff4Lnjgh8)KsT9@Q*>>^TC&3XwUPmQ+Wr~ zj{{lsTmSGT8kB*6(=aOz_@=&o=UtJ8{ozWd8F2l;?I_%J+rzJQ&ViYg3m*kJjQ{wr zP`Eo(Iv;URbJ7e_+*iEj!PP&41g{I?FHYhKxbj?sbN3WJBmw-kA71ngi91j{7yO(C zN@yEo+FiTRxWwYXPd}dF6wJYEe4d|2=n%~Qa8W!BiQ1W;s!o<`ldU$De`7&laN4t? zd9){)B!SuXCq_67Gr>DDq;5_cjAI#7%3U%j`6VbT{IgW;4Y`abg?i7h?QdMxxr)Ks zx49TA^^}jd1;gZD3EsQpqja%XzUo8_i0>EP#!Dm%z^9bp{_)2~U2=u zS9reu;P;=O7PY_N=N>74G@8s5n7VrcS?`l~I`h_tdElzngEEl6*4x#;RK)Gar4Hb$ zD#cm7lhO8m@a|ghpxFvTX7@^yjK4)?{sFyl(WoHy16KOwOtbly8r^S+5N(5sB z{nhX_{cskf`ho6o1V5XP`1w?DR;ukx<8^r$&d0B}o3n}CPxzFZfMA@MBh5+9Y_}U2 z2sxG{!=39lu;cXlREfY+19r~Ta9#b;eL9^HLoLP;iwoQ9i)BRR!FEzbl;7r zK3|affbzrp$>epm-D8(W~iP6i{DNsQhmq8p>)yWCuFCx2jlZO_e$@&6Ujs4 zBsWy4jG!`qt{&bmjj!!tKpHSpMEGvrcZo}7rgiD`Y!45~)gM?T>#QFl8YB2LOYl@G zQm$`?OO_%2a(lNFN_u4^Q6un-nHW-pFmWA$jbVwtx84ePAjo`FvmmCUq&p(^-R01RbZZ z1GU8_TH6HRQ}#5rk}vGR@vRIpx%U0!!e#D?eBu7AU?o)04e3K8I3%EWz-fOLPrcpa zf0p?z`SaxNP$b7N`*A3X%9JubWA-15&eqAnDaY^r-8~}*2M*C#t}_*Zxi>hRmyg{d zNI1_wSjptN%}flW;OEx)#BD(dTb&=g`+kfm@%Q)}Pm%o!3*ou)!{dxOcLZ~Po=MMs z+jG}Lnba<$O~D+SfiGQSn2iN|S#q?YtjpQ|pJTCLbrkIadA6g)i-CIKs}n zuxpZ3STo!+I?j*Hw(F=)Lp1(q~p~a3@Q@#vzE#_p1$8KD}0d z?Ynd%>{dKRW5z+*ekJZkNj2Yo&P7|~8uUDlT5^B3pm9@J9`+bx*x3>UCy(3y`j?A~hlju10L`c&{{=48 zh9^7Ym_XimjMoHz&nZ&p?dJT@b^D{tw*n8UKdU1mHM-{D=%>HNQG?3h8}G&|!R`6O z`{URLf$n zs7nbo=B@G85*cr`KNmlPu1z0&@9fs7jw6ib$T(giUr9HG2-?27*nHOC&yK_h8by04 zk%AknH2ZX4(W!g$4W3ksvozvm+e%yXyF#Xskep$$3J{$`+w0f7Dl4804Dy!!QYccr zB{_PN%%2gQWTN57Ap+XI(ttygwAFr%gxK~4_RWcPvdoF&~s>({5(zlbTNTFtRT#G1kpY;zd zswQtrAbPS)gum__>V+&q7Ak3OZa#*E;DaL`ESwjAFHUyAPWu$qg1^)5I)c*md9wDW zW)YVK9+E1A8k|Bq2It^=$Hf6L+Yp_Mk~+pLv;J_2T9CZa@7)4AxPfO_IH~74poR2S=2q9~Pfni=S6q(_30J z;83yO_6T||XC0qu`egBMGf*}6PhQCm4&CN!%_Da5@dsN*lw|6G0#$Ihx+9duwW!?g z`?PsWo?Uro7C({*a1U5@j4Z_Y!&@@w31Vk>wtd0YRGJYrYcPNxTdO%!ejue?Ke$rR zxq|nu#{sV|scLRNqWLWRtR-bf)4td})?5**Qv;1?q^Zjv-kpMu;DMJ<6SKCc*`!QY z;vW;fo^>^7yXPM;{gj_SLsV={2|S=f+D^Zg{O{}xqR`d z(i-j+yMFLA-x>Ml`q^i>5~nz0-uN-1boWFer*CKBU%aXL#x1%97hU69YKx}xTMaky zEs%uG!PbLA*!;LT2@<#64YF2nFl2f3O_#swaD9MxTvFye70i z%WIVye1!C_zysWTp8@Am!flW039dQigR3MEY3ybW%!@BIC%?E|ct7?vO8Kj~y6EC8 z@*)|Sx8AqfdU!f#6R1B_oNPt>%iUkRq3s|ZyP{(Cy#mA3^7;|cZhSsCyiO|oXrb>3 zE^je-NrV)JJ^;r6e%RE)!+{aSkr?(tQAxQIhf`?Ij`o+Dwg=Sl5v=_})g z>;whk#!1_MKX~}Ny68oM<8$NUFDcV02C zyF`vTOrQoQ(t3k$E2XQ1l3dC1!JD}aNxOQDqZgsvZPN+vky&M28|1-XRjC<=wlWp^ z$EY@8G&r^w`!dsHj=KRHU#2&FWH1JwzG%4gaX6|2j)!7||FVaiIQXpL@MD7-!M9@O zFg%V`M@d>3C2gVvMq+(d)nx(RSnnb*Zvk*8gQ2|Zfy^Qx_T z&~W#x`?GuW`|vNZ|XnilgM4!ycPw@dayJC|i+fEJ z5;t!5XBCw2ZkG3&9wLOACW%n=DJG9`sW!qvxTSkx{PeC|Ao`i99|^v1`*p07_J=!x zoc>$4L;yGyTBa~PgJv&WU^9K-%q{P@Z-sVJ_0RHPo|?jknX@*fA^X=obJH{SE&1kB z`Iak!{i{R^wZX}-Y~nK4#Qzu^7feV=A*Bb)TLACV)xQv9fSN@+Q? z%qglA%lP3tbF*T?-}Y$xOt-J+zxH);h#^Z}D};3I)t$@B|J|vx0zJ0R2vY{7oxKG= zHm-uVtQ4-aZ}4#rs_?s_z+qE7csNxlgRrq80_&S!0S< z#4w_t(%?0Cnu$gc2^t?%+j!$w124@w}PekX;mI8T%}7oE`iu4BZ?dJ6ZOA z0^`lxJMgfnX}Gt%>S;XM2jAX#8DU#}&?i3%ik7OgCG$zipVco)+Tc?@u#XMoSLPSS z+@_bdTsQ*WaBPQoWo{?51Xl?cBQqlp4Ss$<8(Jqybm2+p#Q2gR><7;@pxEAK^_kJ< z~s5vRIHh6d*jR5AAE$mmQ1=I-pwC|98b5`wH4*kzFzxhb(%c7iK+3$4z(|L}5Y zVF!1a_k%C*x3A|)zwTqg<`&8-GFS5z&Epu( zT=I#1Fd0`eiCFJLSp)utI!_6|)@KO3tC^`DQu%vubQwz+CeLTcV>W5KiQ$Tz*0=rP zd$%W}3GG?^z{NaY57o|YPPxi@!)nG?n;-a(8uD&1!MFM92v+)KA|@pZ(`csHq;m`qx~_=3}@3h&66x8O|8i&KPFKe#Dc7gWRF<~!VLxDPz`L*jMK z9BcFZDJxz0D1Llsp1se4L!4?}yEeTjDL8(uVf+|D^{;;dTJL2MOfDHX zi7?Atj}+E_@fi-ta%`Hq|L|@Cy?xf04>@si`E-JdaKW)1oVdgar6HUww-?j}tL2K@ zvAptean-vXhwBiR@A1P`E%Jzqy#KweL{^Mb7dr2#t#er@p`@gAss!KElDhxC<3ck$ z!@M}pZRbCDm@T0qAMS?Dz|sryafER`_>KxQpDlw%4bhpWJyNoIli++S_k(tjZ9cfY z$QECgn8oG#gRRyJXLj!Ga^sOgCiv`cPc~WMQhB6+=;?o*pYw1?Wp~KoRc`NH=_JO_ z7i{f=8$MSOSKXm$PJ^^22+&dB(aEaEiBE`pH8qV76C{i*HXqJ6ASGN^9GS zW@bA^`*R=v7%e?&Hw5gn;9w{1ifp5?(_a(S2Jh7xo?V$)!SQSNk$&#hZg^Y5M}*Gh zhs&2mbEs5qH$)#J-P+&8pM($DLDEm!EB2l6ZrvkNk)f>(KDE;uZxQwizNY)(emM6B zm+l@+W4mRW;%3t4pD0{2wfDs%eMFExpOI^%s!psk7Dj^LEBZ`u+W1;tOg2xjwYhr;ClWVyqqJZ47W!r zZTxU{9`Q=INIeA~JN?(!H3;BUc@@IBS(N)cjqv~Zj%&d(=DJ?B-`w8Re)RB`gHzPV z`;v_|pWO7tRmbKdoW!AZpC7Rml-p?EI9YQkIL{-T#24Y`&F$+Z%yjm)mwwRrHYHJDHh7vNHu%?^SgeLe`4f2> zQDI^<0H5D9c{VtLl4A-#OWN!@#w!&jYF}~}uM`?1;39aOdFn}MylRj;Ar+StfsaRr zy1GGi`#$A>>~*`Jv;5i}oJnD&Uv{4pX3Zad%m%j~Dd_^=#6J*sK*zrIKeSP;4vwSG z-Woz}5R5J1gWyp4;HaWWghF(e#$TKw?!Qy+IDWW4RZ$(T%}V1QOq5a{i_e3XDaJF2 zP>d3{zHzpD^>dCJUwX_Rh^GKt1O?-RvqTq;-2L3{p@Dhcbe{}VaBOJA+h~4<BegytjlWT%g zIDj(b!VT5qfDNvxiEdb(J}yN?h`ae8ia4AkHq(PI!Ho)t+f6MB;2Lk`@9||c6ydn9 z{vN;KUj&`758a0sfk_uWxKaP%Q;f7~?_o7QO#P$w6d9BsK7y|&+CIT45>h{Nj=w=z z5Ni9aV7ndn>CZic0JU^}x|&>^>}B^~LbH1D;pbdL6mR=udP)SBIuN2d?+0i7Q&Cg; zeCG#e6Q>SjjN}HuGYNg0+gAh!>mR4`#X>@A-zL$&qO) zjW9~VJ}~J>(gW)uc@R$el3^_F_XC$LoX~*{8zxU7IS36(a}K{! z`{7)tz|Ta_ofxLCp-7L^-}-O~e-opZQh^zTha$rI!8vZxdE;$MaB}t7W2bJdD|;_) z5e1>ZS-}1NE+JCQSTZoSi)O(W3GQ7uv<>?{&*GXU_?(_~{WXW)pa~zyaopy+NO8 zkR3VTxPZ``tYXFcLkE{iS}zi9)(7XL8En;0x8no~HWs1>?Y!0e`&Dqvg+Y23VpA9I zKDH13;G~;BTt@`><>UZYqF)sbxqi$S;W#?|yHTD6U+k2{zdP_reDGmhwU7OSFVCH_ zTe1USX>DSdC{*#*5nm+~a_`dDqMrIZK{kE4OU5>Q?3k=v-u>-OFhPrTTfev!mT<~d zVqFNAUO7^w^;v(v`pR%qHwc>az*Mq6{wNQ3_xr09E@8G0#owPjKKOL=nSvF;xJ$R* zRmDGn$?#@EQ2^ddjxLz9Wx6#(`Tp>(nIM9}m2+cr71x~r95&Yv&S~X(3~y15DUBf| zn2@Yzz46+N&$eAlCY|a#7#C8keO&q1ob*SPy703<{Qd4A(Rc_ySGG8tjZ-MC_GoO~{x`hRP54G{ zdw%e49KCm6fxvODru__0>Dlveq7pgN*P_e%!FQV9w1x|JcTdjH{^57nkl656-DDLK zGVsS8;}35n*ZHF_f`RYF$&Fs>|9q49eS%j{DpFAAeM|~Fnuo3EKo3q%?9S_=z_tJI zEt>|$hhg%rM*1z{)Se{+xtI5cQzWO^!#;d*2&Vh?ZZ~ly{qT(mNB!BL7~+H9l~qEd z1%6CHU229R9^IFqMsT`%*PQ2MjWX@UyLT6bBtEeB(r3jWYs43zIaT91YGRU&in%#1 z-ntd0E?&LqtkDyP58f^g*GTXIV|dlWQ_NhxxX0$$E_P{L)UCO={=L$%q_TfwJh?S- z=@1E1=6l=8jyRdhtd6K{XB&-}}L<4V3Bfv>!g)p2ArlCZwW!N@Lgc+7h)V7hOlM z?Yg#2Q31Z+*upPaSpMFMu}PerB6UdWTkx~Vpm{G_c-36$jIWsebGW8MFf{CH-R5$w zSA#qGSca^qsZc@84dF{yOzKNf(yPJGbcU;>sHoi~R1GTUM-&{=@kC=_1g8#CH$#q_ zwLZ8+iF8vv|LE?6=Mpv7-Tyj9$)X;Bo9BQae*f^2n<~<{_4ae#gftBae3H4Y2?873 zTjZl5k>ifBVJf%45lgmNL0QQ;>K}V8-bWHtKfKvHar(3WP-P;Vuj-~gkJ+S~SlmXJ z=cy`d+}{M|!zOuiBrM4#vsGcd%m1dTW>W-QoE<^!yLDfiNOr{yV*l7QF)es~DWK

nWy(2R~0KxAZ~=z9lFi-nYJ=;8eBy@uk+b;_*7`B&M+N z@jUrm2v&D+P8<$x%9ndfqLc9VDfZ*xSN0(sT*EvpaQDTz=TN|0nlH{&o4sgV2(HW3 zNf)joFf@|EkI7Twe|uH?@&`Ag$E1rNOk9Av@#q=xiS`f94VHI8t+xa(Dp>+PR_Fav zg4@U|o&M}R6uyh$mz;nv>__MBpEvDt`aV@Sd2n_?7$42;7sQwspJ-HgWRA5F7bn$) zNQve zr|fkngBW(VC01|x*^#el;@(rrpq$G{@w6Y#Jwnd$^RC%KxJHr#=0Tv4vi$J*xF6PX zRtc)?aERz<_0iVFyHYweI8a>O-^G)?>;xwyni(RTbX-0D8HakGXPK>9&)HH-fAMOk zIn{Av{qT05lbE}Imuv*ER3$N9xGlU|u3l%Ve?!*6`N?q`v>+<$mR0kNh}FZ1yzpX+Ou5R`6| z66WbKI^GZ7{1plI+V=rBAmmi%Y4)QJYNw)c-Lg@oJ$FM}7em~xPvT2tx!ZsPUsQ4G zF--voNZH)*kM`5K*NJhYa1>mcJ4t4g|92(G2yc&T3Y)kayM6Myhv$5t&YykC3+|Pc z)DNG_I4sTHWQ~)Cs`gOjjo_r$HxK=QQDR>lA3^i}a)#!ue|UMk4qec18pQPpcM+u4n%yFP zShxVsmAGZI!2dfw`1JBYaxouPIJdQ88V*yef>X4(vaFEDzWpF@mI=b~nQsVHdDF#B z{g?W*KU@`w>gQb8{`vvmp7<5!nv0{qw{6kT&G^HoJ+7KlPd3M)g3TwfKq8ZW{Ty5Y zZ17fdCkZ;CZ6>YK`AcMQxRgRRwO$}kCcny<%p zEHtk9yvDD!Q9|>NbIX_pX$e^UW=mettZTxjZEm4nczPg#h)%M!`SiE z4?Z2cCPp#tGmiQ?ibTSgGAxV}0$nq|`^NpF_T`n!pBm(zavIz+6Zf@nOpaB5xX1W` zO)n7(<2Vh}{+NPJE5Zlm^X;LuHc_XbuVc>bU5RyxSd+qL;pZ5Q6D+vSCC>G=vc|~} zdF6@)Kk#ZFe7OBU`|$RIam?sXGb`8ol;`Fk0})5W+Y^k&sbmWQ{MbEnYW4)4~y0TJU$b|ElXN-6hu<&;Z5gpubT4x_HypH2C%|3&C1_}^tpxI%zM zOkFU31m_su`CW?Z+7DmD?J?nUMiB34$`_%ZS$w%AOyR^Jf{IT~)Y&jBX82cL^c3pF zM^(&>0`O4d0G|WMgMe;cPv#9wQ)Bw2boslM8e9-618_hzk~d8(t3?S5w5QDR4ZhHo zopKw&_W!g$Tq4!Duuebm(|}Xa6Z~)UCB$`hqvp`(nN!JZ1uw6iTlIe~rZQaON5(^T z9@BFzxWZKAL6-z46mg@JC?2)>jN6|0Z@OVa=^uE-)rPcD{oz{+9Y;q*Ccw{v*6n=a zH3&)7#kX;;Qns3mQ#2q4B6Xa%e?*#!-I;iG{FE;nblH9@7;5~@jq4^jp`3Y5K^xpN z5W}a(+%_)r92|+H795vNc{6G|Pfw5)MrwWY-4bIrTr+5e$C<&EXzhn=k7+1@&)L`I zC?vBWDnX6^`@piQnZr!WOb|XbW1-`#CW|soeOI2Qr;gfqOHh8Jc=QJEW6GRo{rp9M zjN5}aB^@{V2j5;nFwJI=8`p6vTXJBiS#=&3TVGZEixQJ?M)V&(WS~Q|@HB5PY)$9l zpo^wx6pGD-;KiQH2P3b4aXV7CWL$+Wm;m3H7q1*&AKZ>qg5VjoWkSI;KelV;+7cIG zwNbXqb?}oZ(@=P~*#WU*|KKgw7asV(_S23p*7?0|8y-68l|flN4*yS}NkIr+gReIyI-jUFWdlK727yWa;LY%O zP0<3(oO+Tqd+ZBe^o>)mN&9}D(r#()2rRSdtXTrsTA^f3Hf_pVtjxt52Jq$vcq11lQZO@F7*arTs)7Y$p01igD?K-4E%kgiovU&XPvob$Cq3s zRbm;Tav2w|=2lW7Kgqfm=D2BUJ~3G?+?z<@XpThh5ARRv1Qx!O9=xGOGX1L~oUj+4 z?*4%kOzl}t6vgv67#PEv9>U?-AHt~!^(b#;;)q`I@ujwmAFi5c_%%w&y&dAlW64vO z`*8m+zxLp%>gerWW`!?;TC_*o#YsZOhu&8KrL0`C>&dtpDfbxFJHu9f*M8pAW4snT z_`}`4ajPsBhw#)m`k^!Q zCiV{AU0pTE&z~Q7x@_s}v9T`>-tn=zM2>gOTM3t{@QYOa$l13Qm{gr0WlM;&l@H!r zEw!(m0!`vE=~UE7AXu#bf4F8cI5x`&zR$^~vVR_@##0tt<&4%O_w95;$07+<)f*!7 zRf9vDCtRh@IV9i|oU5r`pD^Y$pZLYMait!u;Aai1;vMRNa}l%o7`z+aQK4w2AXFhd z3_H0 zO52Q&;UdueM_zRCDI9@MJFP^&r|Ks9si=dN9}d-;Ygivk9)X`DKwMrg`MPFM4E$a+ zxlbEU?3Vl&6{ce+s182YTzRMKZ#S&^xHmR%3qFTT4b|(enxdlMy`{eQ+~;oh=Qmq- zJuo?n83W;cx~!P$yR=t6Voe$KAS~TKxacva?k4tiLTq<#N3ZLOkDZ)K*x=1&)FRFO z;;zQVG|dDgDUYXiRdlto0kAZnieOxF8F>@B6ywzNulqE6TKYnGA}oUW4xnTIoim2D z8kQqeJY#>*iG^}D>=@mSwTqiHW0mT9eW(^U3F#p>J z53$EUAbJLG6p*b$NZt;OXY^mvj>Sd4=!iHNKv>e7g?(K6;o^ z&l7k!jn5KhRTR2*aMD;r6AFjkxdZhNZg|}s*v{F$#7D%>a(a4J1!puX`K6D`<2!5< z9p5FtI_6zNI;xww7x?2hr~p`5b2f4H<~tAZQW#khENKMM*HeVFx=Y877UhoeC#ORN)=pS0zq zU*k*Ki&Y6z_O^8hS13^Pry_I8XDEzK4_Rb>t+Vus@g`dGZPw~TWrpc694=- z5Vn8^tWy88Rg=HjUTtinYTW0F?8YYK`l>@^Xe7NX49!Q^0s7=jP6g>TCeFo z@GBhBiScc&pRFXFJ1a%_OJ$0u&M}C55(i)9_HQoMUa)nohDX->8Jv7`cpi)BnVI;6 zw8{t1dOHT?%v_*S6LV1gobBPx1^J&%V@@(rADQC9rEl3prx}C9c=O;Owc_4Y(lj`T z8f;?27K3y6uMmWjg}i^b#QBu9|JqsAtBib)aT9Tjrw(|ru9UL*rvszl6d+uF z^Q(mtTvR{}4bW+tbSvWySDJg1=Q{Of-W)hqeiP76F; zytzI3q&~>1G(mJ(g@K%6j&X6a!u-0A^W%d`C!*;}ZABPxN>OWiA*ZhfZ^OD0nwjP# zxN!Bd-M0d!o6CCo+ivJ*#s?lA<725k<-%t)GW1hn;2#c$sG8$g@WT|*jEnodF=R2B zF78i@sC0&g4d@kVu}Ux6nqPbw7wc6Ee(ZL6W0{)sG5zbsi>FjYQMG??k0l;SAHu*8 z*!c@mPjAE2_?-#VAw9Pnd^EL%yZ#yf!Fz@WMF>B>lJ2L5p_|}(e{kF)jotjcGflWO zlN)?hZPfL{Me<1L$QHjic%%GCCK*Z&EmDfcl~0I1!1Chw;nR8oo4hXnu4<-swL(R~ z@_j$J1Tff0>}v z`#sq(Szxb;U{+tQjRW6px7!}NxcS4o#L7tQAnf_WC6Y44d}iNvXC)NzdLVH7q9L|| zpQR{rLK2E#FP?w+F5T^qb+pHA-nhNb@U5xuezPoJ?BmKcDJ!3x zs^+0rk~sJH`&D%3yJY|+pz?>GUGDL(k{;y!v{BoMvk_rQ>h!aK3|9+IA}g4QKuCUz znV;ONvETl|b^Vf%adM!+IRG@03c~gGgV!ely~w|R@ps(zD;oyXdY!m%es{co_$KAf z_?+=E3a?gpg|DbMbO8>zZe)k?jN2XzKHSe5W#pS1w`?f-N*R2Su9jl4T<8e1Uu?1B zOIvbCx7KbPN&<^2htxg7*Ykr2yoV_G;L_Yc1co~MQDaD?~b&%&B{9MKQn9xHny zKxQK#czL7K`&bXCqfJHJzeK6Cygr^d`C*>6-mkdZZhO)imZ#gfvBj3_w()lKnyE^> z?Mc|i6KD+S0tVjMbcx{Q=H+>bCQicsfmy&RKnfTrHZLyCYet4UEXOi zZ&57v@8V>dw>^d9F=23pdg~cv=7>JbU;WNb<04X@it?2HX}=@yi(B+IXAq_>uywwQ z52E0b2q)H-igIuwT2h{+V6&OQF8C|GPSON-c0$Up8ug6A*K&%^h4J43PwOrBq5V!z zW2OMtUI*7PN(yy-P5X24;-v!B>U;Ykd~EZvDjfZTZT^a@_Q}iQgOf%eL%d_e8I?YX zQkGN6CS1vqHbT$6b@m@Vt}*-87~|AU^;dz@A^E+(X9wP%P^5Nvxv5SmMwwI#;{KxU zsEgb8$8l4E^;7Im4i##{SWe^-_bKMt2MsB&#B)Y zZ@w_zykA_~1rFz)O_ov|Xvw#Jmsn-_;F7QA6`%Fm5~5Dzt*@6AdPzQ+L?t2xL(jFh zXKo7DYUY9jm+-|YebuDG&?>JtQ{&3e5m%CTaG^zv+EBWzdome+*9bo2$z{q=7>yu3XS9#DH%(Jk3tqk5G$_?k|#mOjZ z-lRxW@bef~LZbSA(icz7|TSmi^uWxSyO&s@Vb{ z+s)$^e8rBqvhZDhvA`1M)bl#u+<28!1+%QOt$gvAYbEr7=jc7wJG-@>2bwjz2ZGm_ zk8E1wgWD>m&c5Gn*115)s3)teIy1=leyXiXLiu)*%(y6QbRW~pOVK4M$VeEsl1GPt zq$61HudYX2R-Urp(1-2dJ+5fulzM?vis^&<;O9!G$tKRi{^V(duNoV=-?4FYfXL6X z7Ek@)9H!uX57*p*PihJLvfC`$f4EYENPaKVqT&~qi(y;xNd1tQPf7#rDVD3tf%l6q z;m5d$KXIX2EkP3=bG#NrzA$dU1w}Qp`cc@Zxy(!^0F_G8W+;h&4MB&bh= z@$d~!cB=ZR5=ZveGOim5v?J){>F;K_24*g zA3qIl9G_XixhH~e?2h0RYd1e7dyr>r@Rg@L7rEYlxcu}gsEn`Gb$`RXtXmm;;p$H{ z!jRvWdz{-Qxq}I|4^j_;!y9IAi8Cv37geB$zEV$BXYh zL3mM=m|w-6?(ShYJeNY+Qv`PpdE>IdDYBpx;NoXfkq#u>1-r)B4vsCq<-m^RC}x63 zZd@@+JkF~%&X}FnP@Vb0B-(3bdD40kW?w&CNg`B;%sBt}vqXxk^5UPK5mvgoT*PFS z?;USmaQ3;4IVqx6#FuOoks6uj5e^}hj1$hR5gZ#}*hdEabw-CcY==~V1Gv8- z_z12vLadOPLZ^!_`-~ddust|(b@DlqJ~OR5dvUolpg-AGc@y4VjgM*fMW|qM z+`hiy901>2Oh>vfp|Ph^`IxXK<^o5JJU4K> z93BPL3h6K;gm7*W`HIH7aqiCcIHJPd&$;gFB>FR1pwzla;10Z-xDT99EedqqNNZZfoS9hA;9Yd4AzJb1RyzLt}?MXm1565y6W3 zpm2n`d#(==L;;5kbNh;nw86T#cpU|^9s5YVu!rVcO>>Ldn!OU((~$L+h3i>e<8on1 z($653`gM(oJXo?jg_a>#JE29GO-gV`bhs07_a&zN3db*GeR{bG9;csOoFmn2sP;z* z#|0cW#5o0?zxKnjN8*WC<-K@?)YqecKtsR%Gy=g}kyrGaw8t7RO4?)adon@5``dJt ztZaNP4h0@)7d8iK=dyi#@#TmtOmKgXGp4AJ!SMz?ZchQ(g4T=SApkP##m}i)90=xO z)j#lh?H=XYGt4H zhl_R1I@5P7lb|o~1G_Z&ANd}qG!*_e|b95;d%Uh9u z-h)FDz5THkRQ&J7ZFTEoQDS!cnMEo8`dIf$bn)R~=&nLB&JvSPgbXMVVj4$%_{}g- zul2(nDP+A-)Z0He$1wdv=jrFc3Ue9}!oBw@ zC8s{dvEQGOg{aW^{NcI?dx7?#=V+ARx_)&%f32yr@xz?eZo~Y-GhQ|{8dmV$Ap!CV zx+I6emGuIx6p9WlII0CW6_|rlQVBoYV|E_qnfIM2LayGVB!e-3`1@qap7m4q2e1Cw zT5$&pUkZON_d^m$Ex{4JTYg>W8uIwY?^qtY^}YBR6P#IU|3;YQ;?*0#c^s!*1h@Z9 zk`ANXeg?^F{#ne@V*Q%kRzj$?f65rPP;A`fH zm`^qm4#Xl;iuT>E+u;&JncH|-Av~ym_*Cf`-d%W$#t)aJ2JcfXPiCg^={+2o5YOaS z+QOqdhp17Kaq&vBV->DQ)e7ER@WF=Bed7(fjn zNAQKmxCy6@>bcLe_t1<|G`0NNgJT+Xv3^a@9Mv;a4vZ@D)yEo)Lv;(v1Y|G~4V2R* zxN_~NCRy)AkAWpuV23!^8GFED17Cvo*{m{@IEmh+F9O>^u?YbTasLubQc3yX(CL6D zDc<-r=RKcfnXcweKmHp!hf;&hacOL)PGZx$m zE*~3d7Gq`eav`Kr^T5#u>_1#%My^q)6))V=4g6>`_=aaAgXyacxIETQGv#{d%rnDP z?$)+M6z(n7lFeHv)Q`RYpD2d&lLL;EqeH(Xfyp0k7`X+T1c5pF4}L72 zkr{%V$Ci|+@oZ@C5(};p@VQvTO%;4@<7Xdl*%NU7i%y5pg!yy!A5PW*_yc?V?We&8 zKaKBcf;Qn>G6CQPD!>&S8+^F^F}(5#mjpW>!z7HY+nn1^J}#?$mf+`0E2h;HUCL=l zMQB6iP%zb!ek^U;NiBA`jFJ-u`IpkRMsrtY-A|KiPq zN%=ySAv~Y8zQ)T+^#FK(rqiyWEGrJY3*RCP)JNfxQGPg=!-k$_b!N|?yr=m(Mot!* zWAhI$Z`KK%fID!71uF}pC*O5Q8NNHan&|J7P0F~k9vB4t{riWzmT8Ji(^Hdjomc$K znu55zK6umKNNhaBs==xC0hf0B3Vtp(im-KxJ!h;&Y8VT8WWuTY^QlTLTlc zpS~~7tw*`@D56ju^24Qy+m&(Yie2I7YCu;41LFQTUMGoNOdg-}VQ0H|_75Srlp}6vWS- ziEl0B;0he}Di(|kL$?U9k53dJ_80c?x!`bZ!Qa5TU0#I$u=bOtHD zi9v>sWM7;@fB$YfH{C2beUbu(>O8e7=mNO#bjOUHQ|MrZRkR2j8+kYfq*$ z@Oc(wk!9X;Q*(2vBk3C3DZi9O@x!$-kTTKD3M0Ig{u-yUF&hTkG6@}SKgcT%jww%O zC_LhInS&^}>mn3f8MpZ!j)8adKihui50`VhlTSO%xj3YnDh3UGtU1i>9o+jAUa}IS z4E$_ISrV{_yMKz0_g4B!r?mOCO4LxXGENJ<)|khDd4G7B{pvLXwQ!UKe-ghWbI#c>Hv=>TyYJO;i@LZ2giom&pJwhDUI+Z7zIn>ax*w??@;wc+34le&E|Z!I{U#^7)u+eeoHK z#M}(vc#(_en&~9!2Ui^ek2A)7Ov;8{hPRtmPvt;sfn^j#G@L3*n z{=rZt*ns5HH$Hf`;Z(@PzW6TA`k^0jQ~luXn-FE%**7sm#?$>YF#Y*B2(H>+5$*3h zrIf-%hr!Qse|TDDGj9AGRC|4J)fO+Qnf<-h5c5W0R}}$IxUy{PQxZIG zH|v;v!8?Xf3C_vge7|e>ZT1JxMGKEarp`bmmOWJWL2iuu4`04Cz~i)9zBx4H&&3K(Q=j!x^*(&%dJI83)Ixbzo#-GQn`AT&{&33cun>1 zYAu_Q1W6U@Z1M}nb`RdtO%3rc_*YLi zdEeW2J=6YidnyFSeU@{y*n5Fm{768vVi0fTV@UdNl?<8jYK9EFHRZPNTX8^hL$u#J z5sGN;p8)RP*kHBGDpqz=|@y_;5eRsH!&f;VNlL$5DHz zq1zw6yyKq(h~nB3oRA{XLcZpDXQrU>*GwT0Wc$(ww@DSX1vSR7+Ks^IWW6RLK~nhd zaSpC1xw>EL`L-|VK3puoy0^P~bR+(rzCYqP20sJa+kJY`#J$4dWNYsSpKd=RatVAE zunKcok#B^!FOJ=g1TlO09R%#yC;02?>I;Ycq^#>YHm)Rl_5~*wXiOHmY9E)FFss=WPB)v zKtDSypnGvl3*8%{QUgu`fmnqeNdc|?!-;5A=whM44@^SJ^v{y@vF8u3>|IqBRt{%o z<6~!suSrk2k8`G?EJ0`==Ifk7@I?mi6qnTLf6O0jrY#Aa6<>9lXt(5`qxn0Zzqi_Q zB$>kMfko*LSGFcNx!kslnw;hkB$@K6^>*>Mo&C)?^&B=d!I9kY@1omc^WV4(R`b3% zM+Tf^BGI%Fq=>dVc*QYfsx3D8zu!GyOX+9y6LOfqL^$XMZcIB8FTTyR)ka1EhLqVE zWcgvpsrlhJ>(vde{rfZ%!P{3vVd%V;@x#TfR4P(nW;p^sD_)Tu+Ec*#{^62d1Xqb` z4G!_}+#x7yInA4Hpek`V_<-QYzsrTo_k4VZr~_Zv!WM@2&L9`vr9yMIXB_l!n@m+| zi7pM{tMS3N+dpvR+-?wMGKC^+T{~!%j<6}+o|0EpV>y~|jkoGzT5vMjFF_;xw?BOA zRdJaYb8G>h{Y7WzYoXcshaZb0_?frai(o2w#90+4#svP2_pnZ)+CA3~huRgQ$JJce zGsJAt-#iUAT2^hl3R2J0etFsCQMRungE|A-qU+ASI-bhjLU1F6Ybl=rWX&1 z=@Z86(af>7%_n;Pc{~><<$|*rDl*dD+8?fk3eNoL_h;d(2#%=2>_1!#uUJLm&Nh6$ zh;}rBgXNv??H)&NH+AZ{(OaSX;?wxwHmbx#QFRg5Ecbvnt~?v!n!V(HFV>eP2O|7% zXhz+BHm;r_{Mc$M8-n#ZyPLOR%46UcGOB8JT_`!{2d`n{?Ki6k3yg9@!RO#MVNu|g z#-SJorB*Kt!^IB9ix=4Hz=@UC`;4u>Pbh<1lrn)k$_eIE9@Kg5A3nQ(mh_B#S8l1x zM8(Ycn#;QIts>4x3-iqx(6vj5PZ>R!)FXpa!&7JIqi3#>!9_iehS@S7pYVlZn>ns$ z$3~GBr5l zQtgN9>7nCmCM6U+6{8_}sYH_G!eV#s8t-!PG3=G2eJy6p3_e3_4uNMDl>*zPr<>aT zy5VlA!8uDDh28bV-OWQz|9#3$jX^iBIX2wmTL=je^(DbMa&Sb_p=( zlzDtLG|m}Ply<#axxY)2Qn!3WAxq`H?q-HZCgPZG_I3qF--YyWk`&$l8SJdsw3Wt`cV9b7oldT3%C8?D~v z)X(cz5%M8k^TQ=POs&8!{nwuO8()j0rnzE&3zy#1Mn8x}92_y*$I>I`FrNL3BX~&3 z#IELkzIb>4(1Zpj(yk19KPTGq!MlikrC>6q$rIDO<+a4EGe6Cjg-1yW%kjB+T`8MT z!~$#c{NZC-HT68#bDN(-t>mq0?RO56fIcll!(9`n&ktXZg-}*|bKe!^i3l*&zE0QZ zUOc~xe1t!`)Y1D~X}{lGH;k{xf-pEWJ$J|~Ip*^A?;-}^ZBvOTBp+Gk2FKd^;kCCb z$7%IjaBd-2Qk5O@{w`uzuVpK@WKn-OnJDU?obvnpW2v@7?avIbh;F@>M;wqLLsUrpkb>s9a`8BpZd?(=W*BP|bvhklk1F0myH)0UlF6f(6% zPN-9jKYzGYgQvIv9ft^BEHgxcak>3e)o~(!d6ta{g#$+w6OY6jv?+4^&vMyqWRT(I z(A`FI**NZc@Zq{l^*-D4frBE?zQ3&_-B}3@-)EU}iV8nB*o6I+fiX)2OwYyQ**{p? zJqU)*H#zV`eJEwN!Zzz`c6PlY)knY z;imzgbpPSCM{f$%&GNyAr9>C`Ot*b|-zz=3TP+y|;ibBNigxCwy+z_7R(xFD4c<$n zNA(r`VkjH7Vla%B zEt_CR3scpBH18y}_8(rKD2zTKa~u!@Ra{lVhomR};2G(z`6!ZY{AJ^|k|>4G`Lx2{ z2&AqRy+&|~N~1{nl<^<9TI!3NwYPRsbQJNiM(2!0X}G!*Y#O_@NYFu&GJ0hA$!;$a zeX5c>J0JD^!cjFn^Dt?i!Kd*81@Rc%>0XX`?-s!Sw}SCP*f6BTGSAPz#6E&8r~chT7pMefH>Z2|w$uyL*aB zvdwXy#mObS{AI@&A2rIOESLMcBcGAuvr?&)l=vggnms z#+4S_FegMzE=9Q{_bfKKGBPPiwzUQykF$0*1i_dodKy;a8@v#RvbZH_lpiz_v;DkZ z7BborV}E`&-Uv$G~V)Phf@r(kS#T$6IBGQAY?3*7RJyrxE z{+@oGGylyxAu88`pL_5dUDtx|@{4zm4!0wF*Nu}MF1=SWXVw3B$TlDp;;-0q_zdD) zY=iEndTr%^XgvOJCjc}l*9aFE^{du`X_Ya zV~^5D(L@D?hCllVame*+J|1iBp6gk1Yp8hTl53pOMDMY|N9I&bwizX(h~7>$r^8+U z@Kzq<=#xM9DY-gk=G58O{=l={L5}$|q#tLIY3?#5g@G5(N2JWwIOJ`r*zutCc(A}H z5rxdP8Q-Vz)w2G3ODc;hRjFdguGv$jOo?WbRIEmsg5~wW`_5?2IIxF|^fBulhMHj$ zo~JJ*>(&(5ElS~Ym1LV5UoHB|{pO&-QQe0{qj4B-E8bnac}2V&9W^+V;G^f;iY(_3 zZ=U&Bu=cp9{&V*%^S8HbM?)8(w(_!TCB=B;g5<}PSMK6a8f2ljXD4EzI=j`oALkWi z*bm>sg9htv`NEzHT$OC{QUFdJjo^a()Cac6G~B9BOixNB&nkQU^tB`-E^s<032J;` zT!-}XSIt5VKe3lL4^#ScyQyc9uZ+POsbn+G4yX3@G5bewX+Z1gclmp%ao3MT-IH=_ zyk^y z+XiZ+%ES>nWNrJ{rW|pkQXYH{o3YgG-jHhW`G2y`ZReIIJF55n6#EI|+WFP0%F4scIU~%8?w5O;=b5Z-?|CwAfBBxi z&oefr1aJ&#@Mtumoi+Cler-v=Nf^GIgd}}$9bev@hK8qaQp=FRZtAJscKF=Jm+vw@ zx3ey*kTM8Jgj< zo^Q{OmPCsuz$=t-bkjwjOW&;!$#&gCvGIsg-AUVUq zonK1bx0Y2>xi!BEv6s4jaenR7-|_x(|5>u5JRPE-`(l@u+nK{-m-sI8-u-q5zc?>( zA}Sw_RGKCTawl4%F6JvQ@v$Znw35^|bMrf4N%N9!PtpCnt=C<8TAu`U+7I9PtK*(0 zN~n47k$2K9ODw#wZu8}>M(4o1=W^6XZtF;brehYQao;bOdA;s(rGtlSRfmiMO7ma7 zH8oQc^hPj6ju=FI#m}(+coH^O1X6czH)rtKbg!PvF+SfvT>Y55mKqU@!^y%7$Hvn^ zm#Jh|$7pb3h(dMv$ip0Ds489$H zZmm~89sH%%`11AocH}wz;YgnOcFwvyL$Y~YZvQPi1?xzrx9*qQ6dC;d+{4}Rc|2Jv zAgfT>nTf zBOF1V>c9JV3-jf9%B>+}a5-yUKg|ct;r`{6IQu?VRB}-B-;x!pDEp$#uzvVzX@C02 zMwob`E-%(W`|!Qo46ZQaHp7xbxA{nDy4-e9@6urRP?4J>9&>-Vs>Dyi4EpwGI9F#w z(6QW~C9bDKFrjBG1(Vcpo&plcWb5@W=fGEgcBFO&y*3j4cK+(herBr9jQm`hIa|7{ z*>(MX9^XxCH(KiJ5$@EV-Q#;bQENVQxYJ%PFOC#EL=ZFk!|4pZeH^AfPniRGo|=Tn zM$Qy?(`QuX%e6#!4(i1R8S(nNgf>6dlk~~;3a>`LfS$1j*$Cz>n{#m-5!60M_6~JU zS#!N~D!C=?lpXS&4e4rCt;lOKfy@!yg;N7LZu@5;N32U6|BMmNe!uy80=c{V@Rj!G zDC1s_k}aWBcDnWXJRS+$x|y@k$dXlafOc5A`i?Km`7$j9la}eAm$@PlC?n0DM5bxg zGq-XU&+CiN3u6^Q>#UCI3IHVz4Y(@Lueg@G%{U%H$Mi&nl| zyVxOv4X0kS5+Hqk8}C}n7dO^>L=q?txvfij)tA4eC4oeoL{k6Nxs!y?q7YwmU*FGm z`Il1&pg%j>{PJ_T`nT+p>gQL*9$oF6Y4!7~&S0lt4ACqC8^4?xk#^XhnzM~@x)RZ> z9t*hep1-v@4)loHd@z8HN(I5||${hPRpGFHIH zQ!jqWlU>4C&u1NFt~Z5j>#ooD`au{M{?78I%d@E`75z_r<^7X$J$CgI9gB0lt#r$6 zhg@;u;{=<_jYylbZ+RuhV85@w{pY{^r$7JekB(!A_ZM~u6i1y8?({6>bDhW5SQfPW z-=F{eFMs~apa1#iAO2nc^I!kB|CB%f{cmS@{_}tTFlV6g`4G8hS%m87SKb zGZt7z!>=(%%V*JEIM}7oZeCoA8evJ0g#Z|H>ELsd8pD(t)HymTXiuO2sO7RT$4lVT zQ=Lv5d@r7!wKgwAzo4Ls{AOE5_L9DDD7T>#4O12vU__hR_u{j@gi>m&{Um8xl`Psq z>e0+nO?0CeS*!{?wV(tmxMtj%OVW*rL93B7zUvoCT$m#8KV_@>#rp~p%y8j8zXerd zW%d{sR*>CzP=;_Z@gL#yf&0uXc!{>LTt2y*gf0hdG$LjeLKar>ESO4Ree}jG^Mp@# z)#u8;q;PBtPc36F-ER5JLPLwZty)%gfoHbkXE`q~_>9=6YqF%ayC|6S712d?!2Hsl zi_dhRH9c97qz9dcs>I6SMe(LrNRtVC_9Io>d@w1fO&G&9Eh;y`Gd+c(+|uEcS%haF zMXrhjRf}hNFnQv>nn1XMN#~cHJELT#k^oEMLNlf!jHwxwOSY3A%J_=j=9$4XDT&HN z3H+$==tH|{kv)>}Mt)(rjhaYC@OIN@wr$2Fg?Fu3P_e{0yZqoSJYN#yf?0@FVP&O% zDH{YXE|zB59FNvr-2@I_icO>WN`Q<%NaWGW?ocL1XivqHG388EYLsIrM!dJm(OHf> z1SYFZbBxKL6~;qgf3Wfc$ra}a=?Ck9Agr?O+H_WjI7eYfS5Yx6QJT4&Wr{N9UvG)c z3)Wlkj+Eo&dn=)$lEKfaW{Ve{6|?Yor2q74M@4=~lIK&ETS+B7|LauOS*C$TB_baY?v4qzqpCx)b;u`zWRs> zj~4a|_l>n2Uq1BOhiV7&32|^({JI9C+1|JPVGm3Az@5;q zWl$}oq<__+IdM4Hy@6VQQ~;V!%09WA=_OyH#wPNw;HQ`Ni~#1G^3e`%cm2yLkmdS^ zva1okIr*Y}w9>lu=fg?j7C%E=n_o_&@J5wz|8h1i@QyB{?}vn)cvKLh`35 zO9SgOxR)>TE#XDA>7#zR2F}Cr^xgA^ck{}>bUS$BDG{TpfU&haHu7^652~m{raJxN zZQjRx(|N?HFVgkMJooT@UMu^-DjU@|eczm;qe`;mYj*+hPMI~B)R_H#u}-GMwRS$d z5WH(TUPJ)u$q_)fBBX~a#iD*W`${mW`g#bZN^FXEC42MYt#Y^y(4o! zdvId%#e6}OQ_shxvT!uM*)p(hBoZbp4ODV-8dZA3`BfJan`&qy>*d645U((QnE5BmLq(* z`B!-;)mlL>CGG65B3q`!7mlkaZANrpj1I56vB%I)Alz3)^ld?a=WrlIDR~GT~ z{m1+=B@Qc4{@6a`^2AJW5G1FMMIs6Hy6mEX_aC*-xlcd*wwvgJilIn%x zjr%3S0nhU!hw5x)JSTzQnnW@j-8|L@C*O^TT3S)9ofFuo<9yot%bPjpxE`Ys7CSo; z-91T`%W|0E^D!@u2SU#pY$nH+vaHd*e223#oWV>&$>5!j#k7N+Te@_-a{uH&sxnto z<=Mkgrhby}E7PwZu5=MHn4kHV>tAOu*GHb$aDt)^sBaEn93wMsE&0S8V07QktCH>Q zy#2EV=_Pneg}|Bh!-syxEYVyRz-Zt{poBH$pv$&CgAjO0&&%ojkJU6U->#T=*sk7Y z`r}O?H4tddw{Xsyw>i$VwSRamDRxi^yW5#;^moI((a)d0b$DUXP8I*aB|Lfn;o8s< zjUw@>U4GUX#nnQHi0%7pNkB86Lo2KgCUR442Ij)u(!A;0E*ryK%lk!CYKmfa@Y7kc zCu*{?95eh%qMA?TVX55fc{2W;Z&v`~I^r)PQwLq|pqiR?`ASml{&Fp)Y3Iyw{r)PnZ`5^`99i0Je_@AW zj=8ZyRRw{T<_F%krr$IwPfJCrkm)CXIV*@4_7AB+EU-Hx1BS0 zKh=*11JC!i)2V!U)6TZ81N^1_Y@1h3+`e4P*Td`CeV1R}T_B3fSi9}xOWJ05c|O;} zr#V}ue(#fP{`}oDglA_0AJ2z3>qZ1CBMN+G%sd{I->Z^nNfP_X&oa;LEXr8><#L?{ z&(qaB2qNf0T9_|CtE`OS;Vai8IXHg!_R}Pmwr)F}VhUFaKXbV729B2s-zWV1CC9r^ zU3sNW?CZOoNiOGGQ4D?7&-G~3HS@ECyS)Lfj9fY4Z6_>(8MhyE61V#J;VEi9OAeQU zi!W8>s~seuZaXLmJ^r(2(07T-<<(Wq$`SMRO+D;&J7;12%;2gWHW$x$fQ2fih+p5? z7<+Yr>WYds)dpMk+eqh-(D%+jnnwdSq&UwpDnp7Pt85B~l?dQ`*){wurfdIlm1V)t zzwP&rj_m~RjT6?gR?p?HAHX_$gxX+}QhF6w7_xdyZkglqBnrj$>Rg~`2ol!rWQd{5Vx%Zl<_R31tx&@Wug!O|};m^Kq zwtV}ClVff{gO_65+sxVgDVVz@g0$xk-;YcDQ6KiotLrpVyFy)G6I@1ZLDL65G@ zgaTKa38md3!Mt1JV=IaD^5%p^PFBu>IkzvaI%-}2*bxrSB&Bz_b(~&*`4&DS*pqKr zSOf1yxZttVKp~8P9`BH13WpNzI_88K;c_3>&%*tKGu>i67W}w>xJ-GF3Ig79zPGq#2 zBh28-Q3O(M0%A-A1*->0dsJ z`I+K93!^|!jWDWn5>-x+G#ptSVzxx~Zu86|Qm@mfKXaR$EF<9}H9GR;^O()KO*k2p zdTi8eVX$P4z4L7RtAx9(%PTK^Hb1p+H0s#i+6dt609iA06oh2n**>=QgQxMcs?WiT zO!AbD(1;M7zWd81XjF-3=Zyq65z-VVU*wVbDvG+hxm3Zt$lMiOUR=)W4`c; ziPE5pF9o`4{jkd=CftZnXUj45ZBz*}t31F(MwfTDKgh59@F`1lJMEPPU zbf!PgOqbicMhddyhfAlI@{MgV>obtNkH`6D>W77E_)b|gtM{+3Sai!!2{6i zWOLhna3nnPPNXBCY4uf=L82?+%`QFcz{d|>cE#Z6uH4HzZjZ&b7-ym50EoF%fZ?wq z)8UgnOYZ(n%qu)@BIS8)Rsu(HsoTB>PX}*ykh(yx#3m_NA>@9xG=VIs18fyO=ZGZfh3gDCZB>XYR0(H~vV!)c*ARrs4Hls60Ig z(ZwxK{OsoX$mQ{wFU$ICEI)_5vxcK9gul^#@x4o$vixw_FFz8S%w3u<;a94l!NgOV zAI*8F&gQ&)xcR-FtcK;#-t3NSd&&25%7U>l;Wqbj>T!76{<|EYc(GuiqGA)uMuklK z#dgbKHuun|u=sfM!WZTw^YSwm*gXdOxcpUce_p%OoB_~=#Fvj)A?+I`STY_URK;CB zoJoFp(Hfi;7c7@~l>})KQdpzs06C>q%yBxIMkL z6eH{9o0Yl8F7yiWvsjr=e}*zY%R#OpywiS=R3Bk7_QN&iFf#yMK%&2n*FTFjs>;x0 zxp`KK4gwQmWcqpSf5*@}zWj}M1oAfHwj=*i8`R0tNspP}8nJcH=Bzk9dtN@mAFFr6 zF)eK^v;44xFZ^xNm6U-A<$>#mzvk!JCp@X3&_h+eT{oY^fe0d1Nvdn@QgXx;tPhSa zqS|;EezvxDJW!s6cbSSI5q|PQuvR;Ih;xY6vJh-w-~4pt9mrT(~` zT~?Nd=1smJ$W1-z3!63bOVp6%>a(K@5Z>bmamET)R9-Gyme-0R!W<$mt-FZ)p>PpQ zNGOZ;vn5Q%ptyqZ@^`3F7!Q9Rw}Z0VzRjNvXO}O7wZy%yGuJW}`SAMYl^DyGfwaGy zjznTH3vXefLC+6f)2);L<*A(1;xl*l?0{ZuNH527Yl;&b^7lpp@{+@pc0k?ErbV)& zQ$A%)QF&|Wg;PZZ=X|03Vqbo`lby0ommpX#uRI+z)tWb@ViMeWIICrJc)wUP& zbz9+B>%~r?jhnAQIBrYoOI{O0+4Uc;jst(I#pAKYZL(G@>+V)LOR3=n)&KBz zkNnN!pmBCfNt8o^7B_m{31SNMzVesdiZ&vg=aZ>&n?H*^t-%`^z$1%fb1fD)xIaUM zXPPYm61gMe1hh*w!z7ijsa+$R<#OU;&yM%O{^8k!lj?JS)foxcDY`S9zW&2^ zoIW0@_=^w1^m4xye{0@~IFWo?bjbL~yii&WvIsYq zaRS$m;oADk6&fL7)HTN7w`w>CpD*vthpT&&e=N6OW3FMYR02gnwj3SIE7fdE?I8L5 zjxV3SoAUuCFHkDZ3R~%A6%4(?ai+`5dhkgqU%v9v@%i==E_^vqLz>ldIi@_1f7YVT zsC>CxD4GSaGUk&&^T>rl-d>Ll5-Am^taf}o4=tUIkQQo%?j>i2b;!h=iZggW9l+@T zgs7EL>xc}}u`3+8J(g4aU92I?moEjHrc{43BH{PE-(0U13!EYa)C#BDN19Zl{^iS^ z9A&Z{j5lb$EkqqPG=%$gv5qW0wG5vv%}^>b!_VmVytk82E6~9=pQ0b<;4%Dg3ckhP z<+QDe`1oli@is~x-xfZGa*y@xwkXnvBZR8Qi7LVT;pslRH~Zqi7v{PC=ultVJsd$l zJs#rH#X9HVz4-pmH{s=!3OSn2QZ!bb*-vAPd6Pvo-S+Gq-x-dFea~x|NnE--A5o95 z{Keb7{N<4G{@K%~o{~7ufN*pHh_y zRyUp(E6d##u5up#EFz8l{o&ob_HGYG)yAL`9kV4wFmL;39Mn$BgO4RMa=nb);H>HV zcU7@Unu&Wk`_u4VbP}ukuZlZ;`0$^lIIFB5{Dv3%27!rWkC9)SZKAnc2K*A^{StnE z)w$gJM7V~M{8~E3dpY&ce)>fwUmvcrXRc=eySKBfKdLT!=BIZ5?4}?2p;4Ok>@V-{ z9eIk=!zleZ>-)|sn$EyX*uVU}oreSH`opI?+d${Mg`ZW{n-LYE>U`4XcW5AkXoq9F zIWxcR)Gvn5;>Y>CS(d=hL!S9W&tlKZfXio1r+S{YzI>Ie1L|D!@@eN<4gBrt^NT+N z^NKqTd|^emGP2Fv2gT*Llr76NMC2 zcZPt`mWzkY^LnL=UNbV2dsp7v=h+F3i~;5&uM4$<8ctSojviLOKTCMrRaIRUc!d*Z z8}}_H*By>X=584ps-qj>t7XJH`|p%wE6F1HJ=H2p|qkmvgvhhhEFMX2yzO-@su+T_gLe4{}{R*Zht z8H=AU|9JRGMaZtOPxPKO7?43>CC{B2H#ofE>y?LUZ;ix@o35I;ux+^?!8xZpHlkY&O z94m>}fA`Gj^V81h?7R4xDc7?9Tpx?T)3{YU#8-dPLrARg(=_kPkL@gCop}Urwo>(g zk+?*-j?m#N<+qpL=Yu593hz^u|L%c%&dZq=v%Azzr+xX(E)@xPe_1LeEN}KzoKCdy z$AZg;s7QTDmuBU`x9`EXNK^GKJFlwS6_)FH zV%4vl{Iyknt{=I6QPBV8<9?wOe~obBF#XM|wd^6d;&7RsT-W=#oyxi|>z%dQZJqL| z=2p%YAgjmlTu&*}yw|^LV14g*Ti*8m@bu&7`iYB=G5vX->A^y=!SY5IQy`PrIBmEB~y0hJ;KRlYI6k{pJjd zyL843*hv|_nLGUD{)_b&zgwf zTz=kADL$1Uy6zP+Rngd z2(GS3>?|MFAUdOmDOXqaS3Z@Q(TEOrzog6cOHsm_K8E9T#;-7Z6VX0sTkk z9ax<{HD5XWEW~1{PJ!0^T+e>c-{I*K%L{^vW#GH2pT3+U-tdyd4wVSQY;b&Jt zU#lD!+`T8bX)KUQ_j;_ZhaA9JTum7~Pt{R-Mxg+C$-GA9;Jf&Q@p5K9y3rY;o?pJq zOBsnRV#oga=v%M9*soZ842r$r^VYmcoMv8%vFs$W6kj5GrwOKKpNfZ|1g%zQ*@J+;f|)tZ_E*pb-AL5wcIx zxQv-8UM1riZ6?nG;+i_E>Wo}Ib@4W5;`iFBp^$akJbe55R=3y3jrjH1KW|}jv_3x;`J|TSXDPYM zE~7)Nvf*pH`0H{;u3EHW^ay3HWK8C>YW2IQQIO#!*Ky8Q=MPtHLRY?aK27ODwq{;z zg!JXFO|;Pp+2hMKjbTqs5r^9$CsAghDo*IjrnBa|Ja*ScAT-~mc$H)Lkeq{;Z;TIf zDD+w6)6(*H#Y;0kGs`pX^%Jqj=~9gSj`qXLV{dTMK0kk#CRJ>J9qL-ohoA47Wk0(< z2S?18MDi%nC>$uaA1p6w6pN-caVrOM&zT(U>Wx-=30_D&`stAB?dc($O_9CFpZr?F zi)ahTqxvj3vzs=5UFktabo;qn`BK_QY$xDWomP%*v+vGsw|=k>;fXDrjg`Y51SvR| zY2uvrJBlB!zEd?>rFqh{mZCOn9=jcIt2V7Nc5aFx_C#UKsc}+y%+q>)tT~7I#1NZ{ z!oj_`tOe`>?hog{0FIqp9{rYtV)NafH}5n`cz>2&)uS5q?xl|T?DjT4vyF`u;4f|z9 zb>SneP;uPCNeI|6B`?|JP_A65leAxUQ~AP|`yN>r?9lm4jk{d^6pMLZUSr;ku7$5> z96M{Dp+~@cur5cgu)BPUY7wuSFK^;WAr~Q`PTHPWYQg+;Skw0tUNBKQr`f zp8IDf&bEHBhz0sg&YUmL4(YE=z{SrtuB9rB^~=2-4Bg)QVr!n+nF27A;hOjF+U*&WS zAI=49efVZP6t_?xoYaqjsgv62(}}s^GvDW&!vZ>$4PHSMO3#gi$NGaA)E?!+%;)k_ z@fp?S43gf$Qk=4Ugv!zJnc2q=R~+-v+?bt9c=hc+^>te0WF29Ss{y?2d)O6T{i(B~PIn_YpljbKtv*FN z;W(-2I9+GcuO(8!XOz%sj+6$UoV|$;C27#x&Zm;ME>7(ZoNCJVUQbD^+F>)CD!a>l zH=JmE{_NP=y~EE_o%y)TiBxg-cC-9&*6+H0kMZ8y*-F~hTQ9E#L(k&vEGZs75OAA4 zT@Ac-07;iR5BUePEQP)jb24t^P8NUYEm_o;>qF#&t}Eja6BE^u?m4?Y`EbS4kN3`I z23paU(1Smn@@f0al@^H(<=eAjr&4z{<*z%zC3z3wdBRdQotJa0;}?r?^!VcT=6$!4 zWT3vOw@|o_L=%pv`sHV_`sOQqW=_oPkp5Obv?taaRR-yfs*;X${)6{8;*!pU@0##t zmw8}a`LSn+%2*_hFD{&sE0ZV2B5Xayd&{Z|fAm$9oe0LIW&H4NKF(5p-@9DfWmS*P zV%AogzoP!|_3X`Iz;Lu`eo@cl1|EdgZjCNtNIE>u*`|ajvlm*Kyf-3hk~q zUYmBPqp`)^7W1mI5#KA{W-YPVyu7&UJTo`L9V;bHZx&tA_QUrKzfmxpyU(L3{;Q|s zxX=hbC3z`c5fz+YzNfDzvF?N2%N~*x6JH9|BtR1H;}pA!5BFTkQGX~bx<_K>Dwsp! zm#V7ENp>B6Vw=pL+YZ${dSpf3O8%71YkC4M0iVm6Nz?sive7S3e>&f5!aT1W0t-qX zl)pcT78%Q{OF4x1ApX^mB#gK<#Krm9)IZjxb=0K^QVTk z-p~oK9y}tV<8rLaOJ3AY49tAyTO&&Q+;-05bmw|b!Q1@dh&Y|UOZ4Hn{M_RRXG~g` z5Au|)4M6f!9VGz4(?wvf8iAwO_t+I~*b8dKPV}4)=Ez6)HG2^4qTq{m(oeaTWaX8sFZ3 zu0IdL*P}z|=omKFXKz^DeTE`4;f<-*QW5ieb^A^mg~;k{{p@mPI;Re1@7<3kwF-5T zvwZ*jDl8jjURGTR-n?4=D3HV_F-Fg)GUPA(`mGEk2S+$z$Le3TIbZ6R;}qmiOBN&Z zm;2Wu#+RpYI7;IAt!O4WTTY^ztK^NJ zH*7sJxV%2N{i(&(C_lXWS#}B0ha>u9Z4lDA>%ARinU?VJe40TM(zun_fmGFFzOtj! z@WPo^c&n1fQ;&M9?H|MGj=sKs+c~creLOv6PKv+$mCXcCt(TFh2HoK)<-ScqS9O6# zIKs`~X+Ih)B;M2MhF@VJAhj;vOIq-o%%hrxs=1Va>GyNb^gmWEg$!t}KX~Mws7{WL z2~Iw91|#t~d^?*pPr00gH1o4ZE`9!R%}i6qm-DuBW}2}r2!lFqonJmBi?d|i=C~Zb z$4(!DQ&ic5$ys>2dz5?xDN+zEch6LH)yfd)#$ecU@wYE%Dy>k5Zzh zuMjzlctw-@zpM2r!U-yhpU=~KF=Sbv)*nyXD3v;7Wd3HFw-(jK%GTuS5#1CVRj@If zUPkp>xO%w;aMnD-+SuWqZ;L9eJwy${+Dl=DDzz!US>dfS(g$JK`i>v``r}+Ay#I0z zD;^8R_S?+4T7g(4&X2$H?dzEf9R)Yqw-^(%D z@LmS%suXSzjw3CV+endQ*tDU0O7dTqlo_` zCi38Q`NPMJO}sglz!~@K2Wny*`$>c;{B;Zh7c8&9!?*caERXkI&+<^$PZWi-=nYr+ zjX`843&4D9Z9&wz-j}QMByY+|S@eu;I!frH*yx9E2R_g9w+_O^+FKF3j4K@cZ06_d z_^E4gs%>9~RuvpDx<)h@DFAR8EoUb~Nto>B3Lj4WVr-$=jw{Elz0VJ4a1cM;!@Ema zm_Cl`>uYJb#igKk+9BP?!4vb=9d&>Cj4nTLCP3XYKO%ubwyz_+2jxb{N zb@|NEMxW`coSJ(qBXf$#S^sj3auvj^{BYIPlD@OwY$~u+E_RPxn1xJ%b6qYPg zH6G9W@*eT5G2c7|_FPKo&^hasUbM4(}a)uslTC$4)&oKg7^A7DP3ZG4BUNKIU%`rpiXcmdD_2pRY z!Epo{_j;}9ePl~Th{xUVVNUsC|6ISEN2K=AUJNHIep=%TbB)ja@OY%E#kxhQ$L25D zNxq)!5${6GTeQDOqfVz~=ye(g;`V3A@+=uXd^pSDdY;=*&nA}6Vea{iKi79khkVG3 z|Atp@$e{10kCZdy_9VSyQrPj5@uoxGRaSbTd5)ZM=DK(@ystF>W|tGbeLFoJf>9xJ$`eIrbPrelZZ1c>2hwy-F5m6VOV!F8LX zT3qn*<>pC$uJ_LloFHGfQ|tYk`hyDNxMUR(Rdq$JEf zp6O;VA}#yNslG#!?TnNu3V?6zi)e?E2X8UwM(UbOJ6+%IRyABdtIOom%hIWp0EbZG z?+pirD?@-0z9azw&31(Nwng8_2f6JNSYZAmEviPh?|dD9e|%b3wMkF3+qjALGp#we zvZU!;^iKM9F8=c6>pAP{_j*KM)TLy3V_6nBB{j=GiqdBvWXjb}R&lg*)8S8Lw~Wta+>+RgqI7BJ9VB&VlC@^IqI} zsAcwSZ~k@<i9W%Txe0ip-yv89rMiTW3MSt6}ds6p* zH0kN_5QTSlK!!(!(fr+)$MC}ydnJYVjCuLm#g#Hwq%WS0et6a&z1UGm>hV?~Zv zuRmN%dm`vFXS(vsdJQISceRqSb0ccdTh@MSW|d*CG8CC+EqjE8D*=(6##z;k+Ya&o(@W#0#F+Q; z<)uBEvF-BSWltAwkBiH@m-d8H9MH#0^GwG*xmXAd^&dW+yS0&q6~`p>Oy$ZYquRGy z67KT%uBB(TAn^I#otOmg$A^!SrFx^cmGDOPkrRl{uZl2%xif!AM}5=VP&hhkg*=Bx zW&+_a%0RvzRXPtc=E`U&ss|mp9|qO)I(qJNWspS0=kzf>e=;3PD)rHmMh2t(v4C&$ z7!#~s+o@m6S()Ugy=Yd|NYD9m_%z>Ifd2619iSYQTKHDQfOlMb5KektPdrb4ixK*-zYNM)psHs_qwxDi14^?md4S*_0!L(;jEeVarl)4-~f)GSlv| zJE1he(UkEQ_acZket1F$L=SyA+3vG6KVqt691=&S20aglRmK=O(KFX#qPUEt1h+F0 zKF;skEem3kS96v#H27N2Xig*O?`0({S8P$?z zw+WjOKunD1O+`PkdPYQN>**ZuUQgUUtuLJH=ZCwIO<7L;!Y2VFq&w#2lPnTvbGC6; z;yNXHl`kS2I8q#cxStm)8~bzlLU`VMSjtina3bBy0jE)NfM~A7up$fcl1IR-p)`^r z+5Vi65ix(a3h0Qru|}!k;|%>hu{e45e);?OiAm0(e7Qdbxsnu5VjN?TEcE&zP(fEO z-`;amw0ZS8f}??s+Ti@b)2(#Q$VWI{x5ZuWyro1Q!joG{E&S8I+@l1isORVYT(4l~ z;fQ~fd-ns;nkmkdH16HcXq!=d%n1+e9jsN%zr1>w+J{*>K3G*iT+R#fN+( z(ct&>l_U4Zg9m~6{C?r8shz-NStVE-{N=v7tC!i$qA}$rLhs>I>dTV|EycXcaVH-B z1d$x=?T0(`dUnDNo+}~n?7EsK@VCZqjk5=W8(yDDkF|fX4w8rovODpQV%l34s^_?{ zSnXNKvu9)*Sr>9zxPJI@6pk9u{&W3E46#$e>g!p9mRVc~L4+jj&+{#)hERK}=>+Lu zDGu9pv?z13NnWCt?RW+UoSHJl5iw8Q#I~FA#o9ZNIWjHUdAViqTce0Nc#@8ryP*na ze0Z@`eNisiaPypm3}tQ5&XYQI@v|1vhMIIxtVh1Qt$RDA=F2hPGuP+PT%$&pWUc}T zBTh2mN_r-6F;d=fd7>^w#~9&*#O$=Qwa7NE z9gw<)h-~Bi!&Ruoz}9_65#Cdagc`I)buD|})ZgRWS-f<;eCp4lS2EidE02!SFRaDx z<>za%S|F7>dyZeecX+Ga5ABs^Jnt53SIXJThdb{RE7+DEYg{F%Rj`G&9*u?+{6ngm zCl#*za2=je_k_6C_~9x=#zy|N>}_*tw2BTXMLWaP`{lFv*G?+z{Hq8KS3QKPSn}RK zSi&lanw0RjDew+IlbN+ZF4wyvR5EVIL_~O6_!5n-`g){R!Sq(@9oIj@6Q1!K>B2gb zFnqaQZ6&+j_3_%tHd!M}y^Yk?_lK{D4xYVVxz{7Y95KSvuQSoI|1WZ?Ne!W+uHpoB ztyaf*W?rJWV%yEHe_c-2M0CZ@X6*5xZ2tC-hLR;C;G5(=tIRQtxBbJTRD-g?yzOkC z^0=mPS<_ghXWdx>{M}bM*IynrythA2{|eW(M=F2K>1c_|lt{V|rX9C^I!U>@Ys0bp z%lB0x>rV61p!>+g$f6Y0E;Ijz^VsINeD>e6QBEZ5BnEB$qB;JdcL{U}vN_fG|H>Tnpc~_3^J>ZE?#f>REK3BWRtkfcV;q-vw=>w~2&<|~%RtpH?>9e7Wvvnb zr+HLj=9kL=N%bMinPiH|H{~+IIjDCpho3%1sDXCQ$LpnC)y7a&gOtha;q7ktu;%kw zH+gd$EJdo0YYQTa;%p>$O93!NqT)RK@|c%!+Um);N|01y7?_2SAJW4y z{H-(QA3G!G44Pr?tmJAqN1`zi z;nZQ8Z~d5R2a0~?#qxf+K1QUq5w|KoeA?k+joE)O->8f)5-@6UVeU4{z{s!F51&%E z!Or7MIG=Xl!)_kDPyO06DG}q6@dY)T&*RxOTz&+NP+V8|^KzCdT#r+@-a5wRQ_-EK zWY)(~3r%8Au{u5ClCO)z!?i4yHAMuT!x?wEo??}LIVow&))bGWgfHE``?Du>@^iRq z)JRQz@aOp9&4w7%VdvN4J=}}DOAxMmomPDLGRIBMJ2-PX0DKW+xYuvl21|4QEH<2^ z$?U@-Q|j)6{jhW1%!@QJ$ZRC)^8WB@0|R0x9^jcJDXsJEkib4ZxM^A^9hBOodpW@_ zy7-H3O7}MW@@?&Y%2m84(d1@XY;p|A(YbtZ(rD`e3^hyeqy`~A83;tqFV{dtV&<7J z*8b%&gTQ9t4JX`LeEr$P`AFH$O0Myi56AnYFPKmN-MW)}9{$=lfdZn}c&ZGTaL+(U zB$Evlsy@e*{Q?d#>xc8D4A#v#|G0b#OVzCfpYM3u!~r?~)qikLk9xbyWi1Z)j^V#b zD)?w$u1z?vkksV&hvzPFRVw#-vUrMJA9m02#O1GT9L{R9=bfO!BqdNi|CxcG8B`| zW81Rjcw=VKEos{99xPeims05F^vZVKhW-7}Ulo6n9>`f4kmHBJjS|&=c(IWUCxu@4 zG0l$W&1h85Ld6RkaZ11abLXmcz&v049oc+e=S@_8#_mwcv%L1%t;di+| z=tjxp`r&>$XKJ@>fMqtO>`RDaB}?q$j7Fs7ISyj3K!~h09-o9s6@`Sj*#GR6&_nnz zKiiG!z=^q}zE#KZwzSVGq^MdHo1%B;E;+I|qk&D020OX;!{29&JhYXre7PSox!e9! zC^|jeLJyNDN4@QkTB=Y2GlY{izIgg6^d-%YFJHbMmjy2pWep)QN8b5ZGy6>}AV~an zJER)A%bKH-YG;s49bIPx3bS)N@3bHI<#XPiZ|A6RC1i3tYdH8UXNY=MhVgu21Mb@) z9jWHwQ0?UXT~|G(cG1jah&I1Je6Gxs{i&C;TN?gA=Pu7}W<_+7QW@%N$CvM?1eh}Azu$?mrP{g`fxe3f35I$c|M48Ph7OJDsqID!xcUMmuJ~=wr=Uk z2x~F$xT~F|O?tBA7j~cRx6_Ucrk>i{iT{#iRZ3>1NKT z(DKfg^3GPi+tLyVF_)o~K64D1!;#|8Xxe59VJ_c(3Vrf>!x=kP$;-XLSM&L}E8}hH zWk-1W!g)}m2BR-leEY=RpZVod0DEQHnT{{qGB~a$YThhIk>P4PzjmfeDVd-x-#j$} zjy9RE$3GTN;(D)FrPm!Z+xqbL^Tv^D$b=(wi*#zxIh&8Ne)xN@PilT|aVGDrCNj!JG5O&TqHSeFv3@mI@DbUA+7L91tLWUkdY z7H(r%T3LMc7Q4DL)a5vdIe%I=P0QqI<;8HN7xQ;X3cc-6#bAdx&MLk5zu144?PP98 z2b!JQhOXz2O4O?8!|IIYNB6GP3zmO6h#HorjOHiC+r70852r0}l%J zB;t~+)+xo9a?;AnLcP2wVn^)}nm(7S>T8N`me;?WW!fNOR}wHCNa@>?W}q~7(+a{h zjO@Q_Q-3)H6U^q6aqT2;Tt59A@GN(bjGM@T8-CM!J>i6YiiE_*R$4(iv-s@(UAOc; zSZnaH*MzEsE6fu!ZemN!>jQCUO)Q^t} zsFA5o8KKYuvC0;XzAj(fWIoPDo|+eqf13X6B>p*nI03jx)i^T1;V*inaAI^Tn@?(C z>X1eZ&CmXf8GZ(T6+Kb&pH6J%)!n}%qZCi}_2!WBiwAp@A3ptK1$Hb z+{2Im?8Oo!3umW8J7o`haXHq1(v|~^78;y*+Prw>(A3!lAIkpSa(%g#JJ5(?w7f{{&8S<0D zVXWv4yw}HzeDTfaq1$Q2{swSqKlpl#I6m#DrfT@ll2tK&`1Idpd(eNcrw^)LW8Xfw zIk=F{EcVo@mAUvOHC=eU&YskhJ;QE(?Yok;efb-H1{81Emy~04;y`@_YKpqe^Iy)q zTKx{E<$ga{$1bb5*tkm@zTVREU@tEukB32)>MIyM;dGNT(Xl_ z@We~F`QxvjyD@M6svcRIh)b1P(nj>xH@;19!~>@}UTt39n%9ya`<72L;O48(DCRXd zhSw-iPXE~6T>}F@tGBm!XjFJ_e!12(=lU~4y}5hhJNmM@zEiZ?!!fgO{>aOkwiSn? zH^K^zp{P6_=@t=^B}3gQ$>^LOgg1{|n_6PuCb2<}IP})q({G0CeIGYNSS!uTqe@nr z`rO|nx0!3PtudsH{3?3qPgG_ zPCi~SKc9Y*YRu(SJ;@*WJT#;~mPF#<=L^WMTC(QVbcNPwFBzhcXC4Z#u$XJfo)(Xn zA@$&Aw*5Q>S=n{-cT~@|OAZ}=iA95OhPtgs7)~Z)hS)7}1nsfd3EU(Wb6T%|mj&g$ z8nsC6um%IEOTZic+pDQBXc_w^B~V;RmD+6YL??r_fm<@In8B~5=GdW7$8hm_A63k; zGpeJO`opJpMgyVF7JfE+HF1T_(Y|l8unChZCmc6`A1*m*b~I;dTlI3p!{4;i?e!im z2OKyB={vj^3HGz|I}7>eHq+av+1#FSsoksb`BZ%3jO%PeTlkRF=}>)el4&s0c99-Y zg40ht+8b-cAz;urGx>6b-qp-a%fmGLRqY-kCugVa5$9mc0dSHhHhoB?G*Uu7> zhV&+5#qYNjqApi?yZb*~Z+Dhq#Z#92G4-gO-Oa+_7K# zK@yX%_o=C+q6?(>z`96sJNPxw&rHk=Oo`Ma|YDe=G&9QpE@lq6yc>GxEf7Ku-i+O*ak z(@CjWE2nfwH+b6yZ%q>(XO$SN^dH`nQq}M29sG3aoLto>6;^P1i%wyf2(_U4a2cw; zMMvtMswiKYButr?+1`6UWcw{=guSID-_KmumoM9ho&BOJlA6+MUdvNIw|x}F(mvuQ z``#xaWjcK%pj)#Y*h^|2dOnQ8xU_z`>bN=3l=)ux+4w4%g9FMMSu^o1pKthC6W4y* z$4Hr72uF@sl70A@c#AXR$~6*%zXTJyIn_k{%XM~5JMWw1lJMrs@ndSi%uA2|>|*CJ zE+6u&Z#pSX|*~+)iuVOi))fh*PUFlE8aVqOR zxZd|_5~v9(i>U$&r&>i-fNd?tCnWuj8uXMZU)s> z>4YfJwSDfgNa`rA)u=kv@!?x#gi4H^Gq*`;N>_p>Hihr<9{%#{Q@9g->nfcZlF77H z>%4!q6Lv73D9?N@m!GSXt!KLrS%)vzbFZU~H@;jsOfsRH<At@|kv? z_6ZE~dOU0m9w#4mD@ZpbsV^k_{P~CXw6ib`AK`2PWe(VIm+>K+ z`J+7Drs8!k47%#MifomrL6{ozq2#K`u${rZy21f|mW{Upp*@Zg2=BR7w$Z5;y$=(< zlqgE2!J2c7AO5BSfu!^n&gvrV@RgVM%k5AnX%kmIh@Xvud>P4|s{7u~R(ZHE`C6Z5 zHV&<6p4;@ZWZ}4#B+;nX?AE0WpRS+a-Ha7nC3VTwr(ZhPH&|%{s$IFT5u017f9dtM z+!f3fCeuH62p^hc;5ELK@PP=&n|hY#eSdj(dCgfty!G<=JWaope6f*EiN0@9Suq7F zHG;SB%^|Q0S6+$=+vTk4T$DuG+2=Ml$xJSQVT&`(yOf)zuP1$dweW(6bQPz#zn1Wh z;hn3A${Wq-a63wJ#@xIj3rF0Tb|^R+_wQ0IEwf;*clZa4e(W$lOQbtgm`~S2y{!D& zhf5!Xboaq7YG1yq<|@+Q`(Dj|_LWqDO1Y>MtJc;t9}3}BSu;KF{NZ-3+Q??LVAL&} z3(hdn%CAKx_))sE_}cxKzxlIBiM>Bul3OZ7d-E|$G?5dEPT6ErYT{Wag;WH?NUX0+UN1JFs;%>pjL&G+ZKLS>dGaiCZ#_; zBmTOZRG!1Y_T%y*zgu~yq22Wcw^+wl#1nVRd~Pm58CDUiWoTcrvQSlMqbxNe567pn z0zskce8jDPv2^n*g9M+=53l~KYu4L$kjLC3qE$mVTbE2>Ml%eAP3 zwcrjvAA*umP&+ycoH>4Y#H@&eE5-yLM1HNN)RAnQ;gh<`ZvK?Azu2X*l=OEy2y|Ic zy%IsfmGbP$o*$0T7C(z@W_Jc;3-IoB>Ft@eeQpD1uFmCjhA;N1vzmFbc%g0_RS#Db zQ!6|_So>sp8j_v&k7BftXLhC|OU;UJE#*<@Tg5`h!PpGo@(iNvY zF4-2!BRkfECS|v0!N09ohitW{KFV&-UcUHA%D=S#@P6g35`*k=$tH?_<*mG3f-iJy z+;I?K_fp5aU*4TfWL%$XT}Orby`6OizQ_(L@_Mgl@wQwM-i9-d(Ao4EkC?e z-_IaR!as|HmDdh_ETycC7W~mb>k$PGpSS*<)Y_lxS4N}rnff%UQ()U|4a{iq*r?~? z;u36XTgT<->H6YZ!v#Gba`Eu`en*O7rT@soo#(Uf<@?OZ)#K%S;x{Lbw~P5MF@o+? z>2i8zIl0#w-RAf&v=W|V?eIE0ot%O6z7p|PEYC*>>(dTZv2ola+_S$}ZbEuA^FDgc zLsp3sCv%LK@^V4m5?b(VYoV6Qd#>Nj71(gRXsU0gjHJa}KK*maKJpq%qG2wgCkwik z^!rT)iIjm=j#_3ue)z7#xAT&fd9NoT(eB7Ka{JXKE7c>^85SI$3|C>Dc%0YasN!V2 zKObkQmy^^}tQ@&1-B~~U9T5TWSOi@p!2FR2Dq*_M)ypQ%v@%>v0Ul&>S?iPqt>1|` zn-A3>KieT@IJ&KGj3}eCVEk&wt5W0V+x#Y^V@@`5DPKO~-nm(3W* z9&l&mB|#>?wy@E$J8F@Hf|tYc+WZVs!`U^WA1}_c&CX|{E2hmjt3-j@`fv;XNItMu z&xBQJna{AI$5{h7N%ZoJ)92AY_ph>^8ZkCq!=9e-GcETBdeBq6qe0#DCHyH)zC)c~ z-Xep?nTban)J@Rx-(NGMZI!i-UwN~}h4>j> zqF+ZM*XQplxzh4}gnGOvIwUi;`HD&G8_!TMwjkXiihI2_iZqvzgzRG} z#lM{D@@AFdXIq>C+Qz|ne&jM@32+rzpfWScC;G{Tp9o7qD?DUvIDa`GE~HTK9sd4KS*7#cOqo*r1j zOnf9Py?15=FBDkQQxV)F1+(pS1AlQq&YLRpjzr;>nipHWuSXlISfr?yx9{6L zhnEs#YLX}~A6(XB$tcWJNBz0HTgU%AyXSK~E6mqgPk0<;;8nCXidP83?l0{U3wl&< z)PMQ%<r`VAdlN?&Vf7#WT6qesr;Isd)2%lqv8u%#U%q^ko6qDnQ??UX)%@o( zflq&&jN}}we!1)yX@^pw7S1j{%1#fu{+FL$(uy4&NWNU_%ik4Ms&@Oa<>Gpa$k`|v zE7+rx9H3?vOXy!7&(Jedlzx8}RW*Hv*E?H@OP-9KbszJ?m)tdN0MW55`QgL<56^2I z^^2!3Cw*Yu+ouXcUQQe+Ql}|SQJPAvrP{>g^5MHHLF&;z%{x4UaBI@Td8SsRyMB3l zeLEYe&2{;nEoO}jdqkET>SJrs!ocX)l%a^zGD1x3fu@ex&=S(waA-L+7 zvvsoa;HdAtoil8&?RIdcTOTZ&K?#mhzp2Zcbo6b{RAsUETu!adOYIxYQqx9~#L|*Q^h|2#QSc^DLjw{j;jV z^NZ`(V=*Z4S!K#cQq*~G?)#0jA$3&v86UGa3P00<<$SyA`QU}>r2Jiq6xR>mZh!1@ zDc{5EyE&81tmDHG%omp$&gJJfkzp=T;9e6Y4DY_1HJ-Y^*LQ@tkdCHW)w4l(>*A$6 zHBXr{?n%VCCOZ#r>+6>IfcGBO%D`|aG*Q4g=#T}en zoL8LKy5laKs*uuM&Cia|;YrDOk;yNPOZWP6DYEE(aFXg@u7~z-nm^w#+7-x@KUARZ zFW-6!I3zzgaDbP`FHyd@J_i@)OEE_iX59AA&9EtxY<)p>=*!)ysBwEsZ9jbKa&%X` zNNfr{c0C2}x6&8H{cFqL35IxXJ^ZYzpOSX0Dfs2;Q#vK9UdmqH-F{8Hu_+|P;HS$` zsQKa4$02f$3#@}x;d;58kGK3-1{L}1s`atn`GfV0Nzs0?fNo6=q#7;KQ|TMVa?kQ43FBAlsKy)BDh<5I#38 zPDJbSvu0&$1!o?4?)@lyzs1i2_8H^L5$)0S<#Ye!wM|AL`BtFE)Gntm-Pa@e=N+gy zHA8Z)s2nu@a1EOzLfj|<2g_ZDb5(U2b$zM38daqI@p?zR07pQ$zYy!v)s#Dya1w=| zVSb)*Z(q*2FZ|5U@2Fqyr?ynZnYYV{4X0t^IyDdvU`DuZUv&)9=-t6vXfrV~)#N*1*q~l$+!rkK@5V_`#Gp zEm0=E5n=v=snVW1(X;UF>(4T5I;?BXVg}bEgz3DtZUg6Kv@75w7iOWNN^m~V*(JW3 z&!2of4DH0JP8j{m$r4aAt0lzJhQ4~NMpdUa%D8`)Xq&nSS&iEw1(&NMBmVRBbV2j{ z-Lvs=rqqYK{oU%Fo0MnC4pwGJXKs3KJF6_Ydrmw(QmGV9e2MG(TD{)(cilyOrz-UN z`Mq#`5^UX{mDfAvtEJb=)CZpR+-knutP0&epZ znXDk-V((PW*2Nu6SNw{gz>>o!NPx?et|3J0&OM{hfeBu!z$=;epLZsjbj z_q%?$p3I|Nb|&a89YA$t(l<(C^Kdeme3xx&1!8{Y_Nj5?kztQhqRg2F<@m?paJzg< zE<)|^;!0>Z+1jUf$qkXLvhw9M*OL&k?|q`azzj{%@{GtWoD3tzsi8sqDeKFr%!ZFH z?eq^vA3@ijfwSJfd-fNM61pCJ?0Y?~nAk`UZG`sw!-o%u^GTVpG#R3^lVrvb?7np4mo|dobsLZ=0 zb#*rc&OC*7h2W54;rg{Apd-F&(cM!?+Lq%)=7clFr41fF=vK?^(_#9T6E0EvbLV_6 zoJH=?kTU*qJs%=o&8`8k5dU zoz5$f<8YE>n%fyWD-vJN5fs-mtN7^@1yrh=VWr{KBOJpX-zD}b-poqWY~8+gM)UrQ zo4W{u;9oBH&10gPcf#R3=~M2RZ6s4j(rA+NlkF+Ox9^t|GgKFey;_$bYGvu8VG6nS z_scmPf#d1r8MnJcQqO?Y=QxgCzCGNXuHqE!Gf%VULS|jwn}qt_AKpBKa|Y@$woBg< zX#-zBa%$39%``bcdrVH!i22k^Stz2m%60hGR6{oN^V7=SBec4tvLlW5EHA$hYOHxU zU3Q}(kmE0 zJuN`lwau(4QAR7uxs~rGZuIkV9njcc^URq3tCNHfFXuVh=}(@#xIS7LRK6KX&Bq8o zLvs4-Qp{TIOx;2I%XL4hty zCi08;!1>wx%d1;|Szz~IiU^wbxAX1UuZC~o{YK`)_*I1BV3uF%9xvypkM9N5mM0N} z7XjNvb-9e)&W6+R8}rc|c+pgKIVG+$k&A8x$WEb5QT8+jYqB3};b3M+&$xdHC&qz2+t~W0| z(Wh+_95|=?OFxQ;ohMH4qJ&GFyc16))-c1FOU=C9y6%@Rhxlf#)?E+pkAq&LE4>X) z98g+l+~#UG*;tBNm{ywmEb7Y@M+6!!WnV6eo0B({H%8Q>4cLXl1Iu9XRXRz?t5M;@v){b#3ENanb^Uvo1rjv z-OCRcddTSIzX@}glcx-4k@Mc`8$RNGXy?yo=O5mDJ4A=a!L6AW)R#YEC+wND4bUsSrqq^n`Q9!ux_Cs_LE} z{x;tZ9>jC~@agukNb!&?$uT9ZDH`78xclYRQT6%Wfqlq2dB2IC_b6m{3o|1;faP7q zQ+xmLVNT}$zU`cS8P?Cf&u+t)aG#m5MTy-N{H*Xt&KAmRy-~3Iru}xQS8=CR9V>50 z5C0Qo60UgI>GC;hey#b;Q{X`9a-xH+!0!~GRAA>H$ZKjNJ1+B8(_3x3 zCAv%de1a*a4%bT+-_654wagr6yHny*;(b{73@0D6hF69(-z2kp?h?*N=%DzckhEa+7<86s9%{H^e^PVN+!|wYAd=1>6cep20D(_VxXd|3tVq zO`3!2cHQyiT0k(3j+C58TW`PjIPDCiUaX@T_sBDy`@~NEz5Kz~$j`W_AN^df6Ck`^ z9$UYK&+7KcHcFqR4tlax=K4<2Knd?vmVWRvtb2+d60CjoSs{TiGi;%C{3=4rg66E< zJg0_hb|A!gBNpcMHuKyxV6^I}g!I#?7(Ml0?qf3wZ}K_wsL)an*D-z#KYz5%oP*U& zV!=5z<7hXxk1)N840Ou2%Kqi^@x!DF@wx4w%lP=Tj*#j5gS!vwHr~pYvoWZ7#`v&) zIhm|pHX`jg!dI=+2R#Th?)z8Q)9)(tr4-}-*u{3y>+%ut^p2jMmJMEi?`}hm%bOnp z^@Zsn5?N&k()C#AmM^EQ1dh<@zU>#Xmwi1en|<4W{nOHu;RYT5 zy;)x$USUa+M@h~~zs)0boxuY4iGdl0%-H!#*5zw@Xe1hTGri1pL})Rv>`#Wulb+XH z8G`llMNOwUi4r3mXLE0kvB(+ggJ-F}{B)s2>cXct%^1#?VAR{6n!R*OxH6m$I0=A_ zBt*hrhe@aW@b2_x?z@?1Cz*Fb22$5&rIWpuD6)CW)_$M0`=@#GcZZvwJGGs`Gk0_P z)4D&F^{5V!6u#S~{_y34JqkJRO>S0wjwf)QF@Eq!E9c`(D}=7^@f`vv84{?Z?>cef zbntz%oD=pDEK&dG`Lt5I>>zX^L}cs3`7Vn2ncXtllc8K5{U*E_`~L8b53HjkQf9vG z;8&)wKIYtSD#tlM;67hPVTgZy{_em<*7vg%Zu#<&lQ9Yvyt*G!k<<5p*5SFjUB1bn zbo57NJo{e1*X%i#M8cteu5bQbO-IiD_BkzhRD~i=_Dl&U%izgL;CWYGp@i!MNyf$b zKH&px4IfONm6zjs;;%AzW>@*pxb2@u;`6>U3s^2PRAKiiL5%mkfAx$|C4cp-pOcJs zI7LpcPjZl%YxB#OqLM6iN|Hasmljyk(|Qxi)mcO%imlLFdlIIf(%$Rg=gnkELr8PI z)e*e6-dI;~_i-PJq8`*7b9|pXG!hESmyhDe-d@=l5?g%ab*OjFwDiljPb&$jdaS$L z&mM2Eyc1%SqvjNF(l1(gd*sEc+nG!{Km4t^ot8stjzCF#^zCD{?PV!{?0gg3UoKh^ z9`gCeNMkq=Kyo3%(!EAEkISDkSa=W&R~MhkR(bFBFZEzGBS6dP1HTaosJBO`2 ztL{&WDWW|o@D3jylg~olY9w&%Taq%vw%P06@YlREGP)e%P{V!>YJlCKMli$U!#W!PI7%n%Riwse}-HqmaDM@PM z3o2iHJ@K&0y_qDT$L^WDi}~bc(zwF`gHp&CrXny^I)%cSwS>gMI9wd^5Z@a07r)~}2xl6@X zd~rAoX}@|{=`LQK9y>^-o59)5a9%byJNwQKDLi5)27j9c1)BV=ty>|Q*PTE+{uV4A zbVF77HZfRJSlpv=LZqi`P}hZ;6s;lueZM#f^t7fp%tr_Cc$TINsfdz0SRDBC&21+v zOIV~|ygMCoE6xAOGZ}Xp_W24k@$*g-;@iiSND@ga|&$WmVq*VeDRs~a8B8qG(%(6FkdBSIzqwPMeTk$ z_5S!U`Ca2Psr2yAzrl}_2fq<1|6JAdFR}#!Alp>3;0}Pj2~PTLeyvU5zd$3 zs?QiUQ-AU5LJW$({C2mb~KX9Uia58)M( zn)Sumj3m!Z`qvB&r6E;0kJR4YPx~$%X|*Rj@RlEZxs-`~ey<+(6yB*zpPrg8G;qJo zpZC*zA~RI-vvp^hjTa9`WbNe#&oE)s{Ip+PS6h<#?r$owz^D2D=;tgKyB=rHq5y1r znCmSe`!N2#uC01DB_lt$>R`4gb<1t9c)e?`kP){>wH0K$MN!X6jlg!m#g$T=s&CK% z7f{N=`tl8v;aOatg>{xMrAfdg-JE&1vTTE1a5NS66^o^P&@Me#3hX!m`w!k-F?Ysd zrKJX4APR$4x_?5*bWv9U!sP9WeFi@&KKZLKHM zI(UYIBVyZsZylblp@l(Y{RK`z=rg(xLs8XzgXt+RX!V@#0$CO?Yzs;5BeJ+cNOktmc?0={-(ZxpaQcX7iuS);VRE=M!FPW&pBo+6>8XWs5%4ieqL!wNU`pYW-(Sxf`f zc>{*KX!pTaaVbHEUF~ef)#cq#LcY51DPj*Kur%_db+xsUw0@Lv#C?&BWo9)06HtFFv-^tkh3&ZP3Mcx{)*l zFxArYF?C6&9B}-=kh(z(fSh9s&Sm~G;R^}Z&-mhIJ22hxd+|ju)_fk+mnacH_*pr9 zgm^&wksrM2m6K=H%&puZ|2nfaJ)RNODqwT^!6$*9WV@~Rknmj*gKo(S6ddZ3^PsaB z#v*w{#7sRZ$?oF^?`GzDkeOb=;bhhu!9(YB`@utiR!ALxgAY|!iSdeJ)B1%+@z1i6 zXI0{TS8l(>@U;?=3hs~dY*8x;t6dhrBc?41B}#G3Kez~^sn38TxPNhOoZ)YS(=p>Q z4($LqMW~vFSA^^wKPXxse?t5Bg-wRHD4|pD?@PXs2wZAc2wJDr#o5=v%WFwf@F8gs z<7?;51~0~siDUVwi;JDGEBCIrf0Fo%_6j|1HTO?&3g=;ZM4-(JIruc+<XdRMg&sRZ)m`R6Q7JyE$5+=VxV9XnuJc6*hpK&u z!KEsJEicPB0(RgPk@t(UU2zaJvbBdT&x?z@)!yD(!Kwd(>Zo$zwp_|`aS7ZLs;qY& zRC7T-5$%sr_w--9nGp0jAEOT}xFMAJEE3hT7FPShV$>q3wTHUs*arWgq*?Q6o)h^U z{fm1oZ@v{Laf9RMEaTjcPfw@3Os@ANy*oo4^KbEYI29j!nG03&%x@}vf{U1e#Okxi z%WV&54&Ne~&k*OXA6(PMH1F+`hGUIO|I9-VZ810+p%{pbBFAld3UIFRTi9f&q3l2S z2yHAeQcW}LC&aEzO1oF+i7!6g|8c^7%tNPBM4=>F)brK(V+r0?SYwml1YXT_AX?Og zsU)0pzKFAd*GQ~ve{r!lH!2>71? zv&O=8R_Yg*?ul4t5w`rn{i|nO*)pJ2BeArFn^(d-7jLqND@NQbnFZs+vv!t~wtaB~|$*;j(?3li)GEGf>%V zTd{hu@OdDH$_{8?&z9*>;rgC7ew z26wT5jvh-T%bX%o(sag861Y#)x&!IwlO|<_fjs> zcg<^o`@8SFb*gge#ijV>@pMG*?(f10658uyY5D#MoLYs<=h;DL7NK#iHp&XRgXbNx zg;%?lB-i1snintJC~A7{1}OxcuzHN0O}mB{gZtN#Tv)(_sZtjc4aHE;;U$IkDr zd|cqWdGyalsKBG&bh^;Djjbzt0MBzM}6 z)b#0zeV=5L;+oRnMtRliy(r(W`RmVeb8yT!2a0*>DcZa^VW@2hf(Jp55?ox|>Yjp@ z@(YXZesV)^ISu0r7F}>u#mf7^6@6>cBXromSCKF(65FN2@@CqFcfPcaH9s5~zBorY z0^aPMp0UBST55!H{yFW9VEvIIYkdj0Gu=Hwrl@>Vq|(h;1#VqEDUMSu{6)!Zm6kW6 zv;NVgn}lAXS5j+Ui1B5W?1%It51#s?A*~`Lb5<@gFRu0^1{ZrwhPwt2oO>H^_DU<` zpil12hKfC;)1$CcoKX;XNXmOF)4*#_rE|6!homt~9MiFoj(=S&s8o9xGK05nL0lqk z-fV(PkO#i=$5#!V<8no22rW(G6JK29jpRS_qTUZ~@hIlLJ5i!HvCBx;4CPf48R`cY zCpsB>(}Vi_{+)p-MFsrNdrjP15|c5tadiKaj62^ovRlvsAG znx-kR?zBiVAx-obFIF|H?B_i=FI-xlj|9lP{ERONyFSFbtgzgXz2Iuc>SAaV`dC0F zgLFx&ot^31{`7-$;%D;~ryeOY$2MK< z2j9jkRJ?aQ;H!voKP7pjoSfI3 zw8sP`6=*K&?MmzP4ZhE2P%Y8N(`L~cmjWQ6i^u%_7hj+D=3eUv!N9R+&AmbnLHpvC z`J|sDVP1UC+rC|x>0Tr=}A!m-=Fr1ZG-RB&VsA5_*FkhJ9za6mk=+c3h(pN+=95eQj7~ry+kWX=&iuTuH@D#1_&Fp-TVK50dA^|n83||8 z+k$tk7N0Oq#)WZQt&5XR@mPlvc~VhxPb@XjZ3=J?rn@YEDdzeBQJ=NB(!`kkNsH||Nt?3R{| z-uc;&d~_S%`9w#J`c9|h@tLC9=4nm#e9@WX;OsiyFO18OkhF6&?!j@4H8}+;6=xcq z(^>p1I&PpzdP-KB^gz@cRxPsjzpz4)G(T2VKAuvVTz*_B# zOQi*z)b96#&!?^or{7mju_rr5#?xFyeDN9K)Hy!g!()@Df+f{1CWhy6Nwpn8GlU*- z@K+i{R+NwIA@JF{WO$(81y5dJN+pL459yBdAAG0%7}bt;C!t5p$@qNg%&IrseL};7 z{HYbJaP&c(hhkL`O|a4M9h)xx>zoA=ck*MdcvzU8JZ_;UZdd_F6w(LpVs zqq`=p3jA#U1SLET%N61s>pSm|H0a%0#%XyuS&t%uUU@EA>+f>=erdjfmnU}Ix|UXl zj#4g@O8-&04U8K$J)N)q{lWL!qwX55z6)zhlf5%?k}c5^#IS+H+>t(|RMo~w? zy2Rfk^}^_1Gj;%@3{d@0a3tj<*pz|Ue&MFA=G^1hZY9>2E>Q#b^;i;DLe{Q2ytvMX zqOynVEs|&7+tw60_4{_emFCMbuFrE%^T2KnIj1pOw0Sx9zj&A24;&sPd+{ik09LCe-`&Mgz*FQ>Rdhl!y1#Jz7OrV+VImiM z458+kdEf2oZSdl|1wZU`f^P5~e3ly+$FD5fDscgOD(wv~=}J(AMMc}i(bST*D@7t@ z+mIhkm-b!-r)~F26?}Xue;+s)>j%zK>L_G?;hM$KU{Tt^RhwC?L%eokWx|{6Ef&)| za-$WzSwDCpUg{SszA{4ayjbMw>kmu>Q$#fIo(F%ir7WUMgxMJzIK^*~HX>d;(b(Jl z@CGU`ySBVR!H|oC!`U=`noqrP^sADc+bO(yRT;@}9=+NxuK2Vo+MX=?B?U$QEWXJ5 zg^NNKR1;1}dB3=9c#f~*B-j`YP9PL@AN)IyA+@F&$A`CJ)WcDDpS(yiDVeoLYN}&vQ35UT((WW zZlT!mgI9Nh5`%X|)locJI4X783D*i&GNf>55FI;>!Ad9@qr<;Awc+CRrWU!}y@n*Qla{a=RgP6)4 zOK8@(cJ)ala^|vwMq|G+OGuCEIoT;VczE73Ot=EVTpwI3YAKQE%`lB`w{Pt+F?Oe_ zl67=u2WHmt#@;tRG&{!v!OAPa#f>pCp5j_0<3%j&;O8~3+kUY2d!o86L05+^Kqj=W2a%ZYS&dC}$X7P*!a9!_|=uuHb18 zk(igbap_o7|NJf|Ja*>laqixdN>o-!@a1VH8#?_+@PSi}X@=tSgCBQN_phq8XbD0F zAI6VA^VI#tN$6I4XIFq%;>*wuRmv64A!3`{xP;xoVN!lS_?B2E;~70U48ci~T4r+a z$LrDvsAVf<4 zNGkZn2|6ta#kj^7oT`TA_PUSqXsAXLe;nN}NU6scmj@yaqB(6%Ufjc3OO*rQOIfa1 z9U`8YN!S42a4~5-y5;`CrJt}&t>aTd)f8RD9TaF(@e~{ZoDW zdLtnRC^&z-bq&EcOiD+&`0UaypAse8{fiGtkf_N2NtUjPFVHne0QgOCY?JV5Jz^CG zzllJi3jl+e5BrDvh7W#h6$ct253_SYEk$|Xc-a-+ixK?Tk#cr)eXv|>(p8L5b*HcR z(#<6>?m#AY{Vg|{6eD!KYuRh?pzSX%1tRb##_1;7HEd9+tl7HY!Iz^>`z%85j+&H5(0rYN*RDDZqfJ|%?L$M1?5Sib)y zY2E3Y(o1L?Sl2cpa-9iM9h^-tcbwv?E?=AyLE+=gdL@eVDkD^HJlW%dAusgJYFkOm z0zWTs`dML-sz10?@rKCJdOmU!ZuOp<)!yp;*{!l2`M0X}8DG4;xmj)9QP@Gj!|_W; zk9+>wqXaLnRvq{%j};8Tk3$aEg*?r(53ditk(Uxqad!E^w>}gV#Mx09R4O3AI6V6l z$Ipus9?Ok1zUv6iy&!9f=n2KYEBM*rRFb9JcM6AtFUa^_&jXw3{oUhyt5Af91+0I@ zRasYGhbbuFUV&eXBS#~Sm*~8*;8F-8N>Q7@xh5d-(N-O8^?ftPLukJ`&S7fw>y|KHPoxp4S7l0 zD=t3VJ^U8W{Nh_vM!w_f;}=)lh>DBp4DuoQbx0~bWy`F%z|gK{I14Jn^@A%H;I)*G zhbiNDZNDiJX6F0Fw<>!MIF@={!517D zukpP`-Z*!ry=s_ZT`GP3;LZJ<6}mI|aAJznMuDaj{{o-=)f>L3K&>nn92Z9mYNupP z_}TB5Ul!_Vw>eaR+AgTIeBMkB*&3~90aAYa7rc6P4|}W^ZFh>B)9S!`=OWmHq^$4# z;@%pY%A-aPP8GePWL3sWz5TEAi9Mb(j)ZmF^W<9Kl^F1B-YgLF?ke&fTnQC(u7UH2 z+h5^%%}-{5TG8dhoTrWWcW_58n|MRA)P#@37AgJAXG;-uQy$Zh+w=6mZ0FqzpPb)) zyO~6tyrkY$e6c^M{nURRCUNUu+_S?qP*#YO$6qJ>Y_k0758jP)MU}03OQ}?cxtJ7f zsHMH6duh*b+PD4MZh!1Hb72iiKSil7{CHaqK@Ifn_&PjJ0+$8&pBk{(|<=^z6oC~S9OD0i@lYy)X9ULrS2b`OQ%kn`1VUg0&z=) zgN!z0W#!KsZ@Pc%Sa8(@f8eT8Z))F5N|**J&P@7L3LGBg++SRQ=7aN1W|%6SD!eXo z7pgBVF3el$rj;8d_?Z@cp(N^I8m-_ud|xN(oejtbvPym%HUJ?Xc9EcoL7xs%Yn6L{|gV-C&+Q|hNZl>H=6 zZjQh=PephS`%id#or4ZcR9N|)o7kS~I6n9g4x?XfUwkPWl6sJOmk4ykc=??GalKQ_ z7CZ4?!5_|w`NiSd0N)WfLJf7-9)RMrumJ%W$jshK3c)*smG z0}r*`Uq#PwI#HB(buC|0M_w+xt3*1RNa7v!9;%?JGVr0_o~^C+gDahvl8jk1 z^CZ?cvNxGYPR7x`xOC>pXM!QSUVPcs2Ioeleeo5T4Cvb&eyYsmvAHuEqPhD`@+&eg zKAa_++mt{`HW_L4Z*W*Qw49{$^JaA$XG3miats?lhMg=+Mc=ac9r*Dcu-bnU8J`8G>gcC5I zxBZZ^19N~B+<1Rrl}u0>{rdWJ6eY30+n*HbuAXD#GT-#3$~!*on-skHS;S%#1|BN@ z8M-fNqzR1dqZIkP&hOAWbft#j>A573^X3eu#>eG!`q+xu`~zc^sF(9Q8Kv>ogJ=6F znB}!+nNc$Nlpj2wCjPd^D6al?pS5zj3g(;QmR+H$;JS3~I^|-Q z7Z+Q-f=T`!o&(|+58)a%MJk?cx1ivBj5=IKrTi>wGJ_xE-9HPH#r8eQP-RgkeNdZp z%C0V)z5duTug#Vs+eVj-+UsAZd=1yYYSOyycjohpD}%X7DYMpJe7OB23p6;~;A-E` zqR6LTRL@!Uv=xiz?LW9md>}=KsTP=S(Fjg?N*9R~+L+w0b@4)N~JC=I_pf6or~*4xdlzLV;><;(ZZg90Ur z=&on!u_1L z?1PiapP@YXD(?0tCt(p`x6=6-4wW1|xYCWfQ|MPWJ0UoApxrph7&h^P>kLE6xVG#T z#`Q%ILm79Lw_H+v&t{4kA9(1Jqod~?UJh^^f^D1>i1L1M-Kq6yy1qMnl3a(E?AiC; z@r6~-)OAg@Wc9+I!+kzj9id!pvhum?G;AacmZoZ|4_JNhm-c_5_6oCYW4!3#g z-`x|0pza63B)<_B^!UJ2rxG*&j<{Axi;@~XwSnXF+szKH5)KiouX^!ggsPHP^(x#j zUi^HM*)or7XYvN{^Ee`JQ2*8CPr;SUE-R`nfBuvq5$(1Ocwh?@U3|q#d!ATnR3cTK z@k&5`h8LRQ@w5zcTNwbH+oO?_gGA8v#l1pa%=lO$)Y8M-m$IF+0)0#x*I`co+y&fz zHbp;f&m@1Q=WOOaIy9cAtsk6dLl@or&XTHRLWs$T>1^C8{^GG=oeOCErTD&H!`$LL z;HW3XV29hrAE@*{&C5eRI(aSai=xsYM9^$>JZp+wec1p}88s&;DPE zfA@G%rS#yV%98dtTaLKk(>V0M^^PBzQdK&WiPhh10F@J_q#rDK+anZ%okwYIe=JDf zW)bHP5E?<^nK$=waY z|99Koff8XpiY7PF6t8^L#GCs4TN{jTE9 z3@R`QxUrz6k3N6!%-T5>_D^$hm(UFx{RiJg2?6{nRlfU!S5Z*V&GG5mZ4U!Z4El+L z*Zo;2-GUQ@9$y@S7WYs1u6^*WJQGT1O3ltDPRug>RK#)eQaUxntzfjpg_bp?K4QEk&7P|)ATb5tGTp8C2x`H0N*-9g`?dxzVIII zo@Bs$R?{iD&2vzEJsx;IhM_&p7Kj;{GU4N+#2gMfT;Ypocn%sB{(BDCo8KoJ@)SvA zb%8(iT=r=Wj$&gmjwC?6zY5chtC^8+o$aT2b9FK$f_dL=o`T~u1LZRuJo)enP(JaQ zgMq2G(!P!?OD8a_wBNIQhI3XTf!0(}_fo&OLQhRc?Aq@So^}&`$R+ zti3;QHB44*7A(GwIp(Bu+54zJ`0(g!$N+&MN8ciW+0b~cFWif{a3FGWJQ@;^b3!)v zj&nA~2Y0!EDuIz73C=5LX9PdX+W|PJP=@ZK_*qh{`h_QE4@@|yNR11hPejok7T2+c za$>6jnXFIYW7YI79aSpS!Cz8%XYhjc*WLbnvgH>iaLf08PTKnZ;QI|@&l?93+91q| zs^YVeu?tjDJ~TdW=#RijvFq-HtdxH7{yd7Hva`LtJ>`QdH=Ex)PKhH075yZs;i>r) z8@_RhY(1LszO8-Hq4zoC*WI5}%RX8oIam4PP};4L(1&5M5EPus<$PA~^|UuceMk_@ z`GbcV@2rB{TS2!2QE@e&;H{wwUSAUjj?ZN%`0A$i!=+D7Pw*X9Mf8mw%xn@_y=;hc z%#t-?eED}NtZ|sS6&KXCurO}R7lEHP%8`7f4U+pcEoZr1TzsWu2ktTN&rb5p%@BHQpO)z< zB6f8*jkw%}Q@tg+((fSgtUZ=zJ*Lqy{Oap`rM#O9BsW)q#OuA@eiB>^%Y0c}6V7mV z2bUMgbzph#E2+xZ7Cop~&0{4%-T0?${T1H5#rnVJ=x0!Csh zuQKcAzQbu<77y(?ti2&)@zkvq2o9IU3O>l*FX_LJtPnfjtE8X)uKT;^Th`4O?1FRG zF~7K02-_G8%7M>!s@jJ4kucT1PrIyftM=9WiD|CrIAq5gxkmb=E*|!g#dz9{<5-$fnW0dG9z$ z{4(b=w_f!&=W}CE17B-p@6!FTzN<&aR7Munp{$69uPyD56W|4|KBiwqI4uC66+;NB=fgoEk!P_SF&myna#3 ziuZkff0nCMc9BN}Jr=nEN7#~2h4x5nwJ*NHD-UDpdxt}YgdUgo+}F6%Fz^SAA4kvS zX+u8l@$^kw4@>HM$Ilw%@PKW1hbSrdTBg_Ex~d9}pCCT_S6X9!T!^DZw&HG{o{i1; zNb@SXBjYcbXj38sT%p;x4X#B(7WGVaQ{%>5dS|rnFv8sS6)$ZF=N=&&r}6FnCrLXk zIKq@g@cG8-7Zm*~e92|E=ROp=veozt0mS~`Lzm9*F=H&;evVhptsFuNtKM5-<1kZ! z@3E|*1rAO2euYou>VI&Gz17e0dCQ#yX$H7G{50(cm+T7(wQn2wRCFW7Zl?B1GWp_s z-f9oy%m=3e^y*O582^o0r!n3At6asv5N^8nB>sG0F4onYE%Y{*DAJUK###3!!!fR9 zjmpJCXlh@4@t<)Di|Pm8(paRQE+^MG`H92g8pm$DwjG|i7{8??0`K|!;*=;AXqQaPmu_R zO0Q~9kZ|oEycnm5DQ`s~#$Bzma`u#a_!&pFW|LgDbNva9T~ma!Mbuwh0v@C>y?6C2 zIPJOJ055NK8j0cg>87{$Hplj9mV+7R+{w0YT(4cF&k5v%i%DP2bJ=KcxerPe_Z=d8 z0=jRKnrX>BQmDD(6@pWm{N8TP_D{qedE2www$gs^YVF)!W-hjxSzggKqMqd(#C87Q zYo>kq4)eTZ4j$_bKUVs=xWsIbFfKFpj&1Px)cHh6EP?Z;K2xl%3<-d_;|zs=Ivt=)~=^dQ_KtEnm1kQS*hC z;r{BHXaHI)xrX8^__B=9`HV`x-E6r}f^`-FE9HY2u5fBSJs9KV^|PKSGxa;Tl4w0h z>SOJU2%l2i;h`GUjTdi`%953zcvtXc)pcUa?T)8XDxdb-1)&#S5o0eq8JplP2)<%X zdoT&%C-Ej1+ zHhLn#*`HR_vv}AQ{4BDnl`t^o?^KGA!SbI-*%w!pUA(*f@dcB}0DcagW*M$?`jl@! z;#RR**c&+#aN;6$Mn$Zb&v?YBoc_F0dD{f-kqPa49o zb=^$_oa+T^DIeSK{lc?Z%a?l>8#?6kG_>BWhP$B}`rtZ*QFeo`zXpCeSS)~yK-H(4 zSF)hi<|Re#4PJ_FuO)ztB=ii9`DPeOkEeWLYhTBVX*^cCG`RV2uX4C3(b+QUz!Fu9n|$x(}HbLs50XTz_4hQnBhu zz)o4e_>NHU`Pgh}Up)Q5hB<@Rf;TLj*tMfN!LOikmk;p8qnCUh%jA3DttlB;I?7w3 zAI8t2VQFhcZ$>@`<5C1hC*rN|#plpNBAKXZ_{Eo{7fY$;R{=-PYgnE47&FOTF}@_V zO+PzPGVsMd;`VL!Z$G+sQ*$)f?lkOUOGd%*^k~YTi)%MR<7DPC6!OxcP=}Nt*UAPi zxJ4lHEac<|b_rdt?(P*Zc|W+dW2F_`b04Binb(`6#Ex8ac=62I@oQZ87JOItgB)$W z{Y&{lvXryO7lwHYTJ|P2<}=2-Qwtx%bM{ada@!xjyGd7fyu-ma^8 zcM}$2aBA|pyBSV)(86LiB%&_4L9BOCUGdfy;?UuXBXT5vxb`SXiQJ$JEQ z_w5Br&gJHmOO}f_==+Snd;%YQsPI;z!+pgkRW{kPBV9b+xZi@czoM=@d%K+slUrH; znEd77tmkDFRRYGPe)0X(h&Qh{dqP(c=yE?O%4hWn$8wVH@^OlD)D8wODM?;oZ+8zd zzP$d(`z(Pw<&745B}9}hMEI7NtXO^DeY-!t`i>^`c-uWSxQ1SDw+u9&vON}&lC2ss z=|b9ve-}5juSie#Yc5Tx18z&?o^|%7ci~c=oGRZ;mUWk;B1s6*o}HieeOL(>v!%ps z>zIR(JP2RMF`c(LVJ&G@52-z8AsAm7{2Sd7@GU}dwb%XR{Nhq*r=PiMaPgkNFQxYA ztga9KK2ZcFy(GsW5;Ggh21(~WZ{pYBl()G3I3D-f$Y(B`gbMXTvRVm#Y&YvYb0Jj{OE#Y7)OhXN%_Nr9B6{84 zPd6kq`rX!=8^un(dzVBjIC6l$c*~?AH|$Ao=**z&J;jRS--e-vj%J&zvB&!2`_1HRUH2M4 z?)kGb{vEp0;0kJaa@xM*!Frn>PbJ2B$IsPDo{MO1XF}ey~g2TnrP2%bt_t%Xd+;GY?1FxT} zcjM$ufuE;t8NJw5CHoCgbZaKAzWDGgP*dQ|i)!fB_T&C1T*dVV?{0rQp@dw)hiX?n z&K27wc(>X+qNqM2hG>T5HHw*eCc%(mRM@cG9?oKaqsFr|$+s(aIAmqMeq5HzoL^j# zTZV6E8N5oiZ{AP$P3SQAx=Vb;ya3?PxN?8?I0|L^XQin828RPnp9F8c=VoX$NV2^%vj%58wcs_~+!fAk z4MdKH3mNcV9A`+q?3Vp&=(fgYGGEGUd0OE)o+-;%cQ9mGWH1|kl=*`fPuls_m=}~Q zx4|Cj4;M~|i=XpT#|Nc8-Ik!?{upLIAGe$BFsoMnF?F4!0*4`|X3IO-Gwp@1JQbg3 zzMw7!{O;kuQTYo@KCh;}L^K+_%(k;a&JW#96THLgrs2F)`v$LwIr^Oxq$O`Zbt`3y zVXmdy-7lVZ_`K4cGmg2~`dw1x)6b+@!oT|>H(h@4m5rp=+#af|dfgAMi)=x-gu=&gZ zR*E9Sdi?=G()r$fLHDV(+?Uv`Oeq{C3itlByQTzlE8{hFT&z0@dy!Y_wKJZ?A&pO2 z+)X;RpQi=y#^>o4~yIL)*t+Cb_hLRd^J&a z2q#m1e(}2e3K7U|ca+CMYuT$GRrLcykHgjyemW+PaZ261Hyu&=MT*|eK zw=8^JM~~oePfX*_ryNX_xUX(jSW-`JsSWSvF4&#o9T(x8J1s0AE0$zqKdbpV@nU@REl`cVqlC&uI9-9Mv(&Q0abHvJo-~#z!V$ zCaN=}gT9(!67t&ngRhp+!`BrY4&Mx?^?Pq?d}hwZbBpT1kAE2a%yHNlf{)BG^q}{# zs6yMG9kRmq4_@;QsrXoTb|{iBBeP%b5oBD3FKgs2>rM}p{xi=7Gh6+^x7+t|It zpS80+&W9qD`o&vz!Q;L3a-SDJvb!IWNZb10x-ptg+yI1!w(DckWIho#y7-=XSGTMg zoVX`OD z#|A_)KH}ZJ?v~%(sm_N2{^ZvNqkn~zI__IPk z4|Qxp$KWbDUwiZ~Uh-0~6Ky<8rlNQ4u*kgFJTbbadx36c1b+E=)b@-eCu(3hV~?cI z+igzykR0lVBD!z;LgDBZu0qWo9I|HFo=O6+F3rW=9D2y-4wC8yS;+d?zHf81mza0$ z3^gUb!4>Y-Ch&ZImWnz|Sm>}xGMrz077rhy!~3(7VB%Kuv7#P+@#<~}n$|lDB0YHB zUg|$TIEMy5OX|+7NVaGkLl2NO)k0nU-ND`!eKm7|0M^iHaDDT!LQ3T zzj*V{LjBz@zKT?O3NGt@5`{3X1S4G2H^N0jdvj5K7dWEZ{exE>z+wDzf(Hjqqh!VS z@td<^jbrA>Io;+x1c!R0`*+Xmgekx{=Of*mSNx^3R?#D3CX-hXt;?jtKR| zVGe7;RpBy&pI6?sq>8jE?T{MBx&|jr+(sApe5#hL@*KvepGGWksQuGq_g#Ea&{HIA z5&F@Kb8Cxm#wXbfFZURq>WBV!{q%o)P!i6|P^zW5z}5aN+U@x-k&I$R>_i3 zxJflj>L#@FfpyzT*z|ZFbN}Gl)NCN>L;u@<{@Z{0^S}P+1_xvJm43l-SRo~tf0Q|R z9)J>Z&QJaK=YRkG&wu&zKmYvWziWT~>%aaffBxg2_s@U-+xfLW|M$3 zgzxWlazkobKQ8+Wd}jC+JMkl<57z2O0l#-u?~z}$8a*qf>gZlpML#d&g;BhAhi?PV zSMV{d#}_@P5uk|I>leK+`NE7DYG!h34$4DSlcWlTicav0O5A&4748F*@1h6X%9B10 z$$=3h=`KSk#RRnB4CR6c3Pv1^12f^rZgdedEvA^=6)YvSmWNJF_B+P z-f9)4(fLBeG$$|JFfwq!uyf7}!&ch_QzYxB6ih0iTAx*+L?noa2@(|d4cUlV6JIV| z=$>PlkfIZd1S>xp7%CH4C5CZF1f$}Y*0@!y98!eIdme!+mnLd`oO55b?-YEgF^RK1 zeZV|ggmQoIzF)K%W}&u=s=f!bQ^Y5j%jO3I=Y{pQzt)WmyoH`Yc5UEWwLm&I9(cT) zLxE28mK6w$c0&KcgjJtproJB-VpibEl|$fTAi>;Gls#WDFXoq+G7k{fK7LV-q47MO6@P?zxY zUHiict^_FBze#xmUqg{&%1f>t@KQ#g+i~IY{`U{A;ZR++d|PmFO&FQl+jOkpOY$n^ z*+dJPJQcymOT;^P%)qQS3ch9h32*lFK6p)gGOhfpg@X5jS^QEfI!xnoacr^Q`E7KSZO>vgJN$WR&2?vfRQcA(N z5rdcVzpAROLVa+TQoM0Wn$#X1kjHV27Y5rRnT=AE7-f~Mi}N)XjKbpG{}m&x1k6ey zKLxI?FV1%Y{N{QH`1r(CPfKEdim+b30;0dC8+e!;Cb;-k${YMfTsdAGnPRTD;Z-`{ zPjNroEj=VA6|n~t>t+R)Ukn=nTI22q>O1HOife8Eg0illOQ18*f3kkdStRUW_* z0%m=au?lzMFU}OeQAlCY{=xB1!Q11~lC#OF4uqQm9HH}Kz43w*+_qzeAc_~baYd`a z=}51HWj9qCDW{ua-ucCKuPdtO)y6Mg(?0nU!0T+F@^YK9tM(7v?YcwoGdxN%T}spF zyFzt)esS3)l5^{h!Gq)Jw?sln#=HIC95ja{$QSii4X5FdWEcS${5gMbMVzf{9pDJ- z$Q%OaW0up6h5edCT{wR`g}*WxOy%j0NM za1_af!?)sopbmQ;1#x}y=B<;?3bnEDv#YhtC-{67`$sA%)g|EPIP!gx>cHn;aEC|9 zc3$%fZ(UIo@wRwzLd4h5`|@=!1@`sg$8VaxLlk-C#k=V-b=yWcLiyqfXKTb$CDR}RY1#!0LaJcS^Cuj65o?`wov|b(EZRO&;pJa50Kn$3)i0P#HT8eYSz|V2` zJkGr@SAbP`_Z6ACd1I{#f1l)|pS{Z|+Tf%=yd$~&Tozq?DqKqvd^H&i=z3E@Mh<+k zoPu*?D))YwFZG2jZHqRlNb&9Nq|lr}xA+<#sY?p(RDJp8v)uNK-SrIvZRYn2yYL1F zZ&*JU{H*GpdX9&!aer~0OH16tPV@#p`zor?MPhorTo}>0>Tb^Z-u;e}F!`JA&ki-_ z7l-f3c&b5PXv>aGP+jJM%3NNR@sxSAv3w0=yf;-bN%Q=jxBanqxj_LxA5zQrBlGr| zJ$N_!Y;baV)jvndZGTKo1(k^zjeftYK_C$+1NB3GZ~5Y`hSHAdoe@%@0l}H7V>+Zb zcbE_zKQ1UbzyF2LNBO$8r?1koM&K-(W6pF#(%28aZ};6|G~ksqist&JtFQ%5I+%)J z02 z#jS~^uKj~<_qwI_brwYo^p4{fm!JHy9?t(b28$X4d`G+t2Ds(ow}+Gb3eSnewO= z9#{A?%B5hNs_~9Bo~b!z=9GoJlxk>uz^L+0fGKXdctpOMyFOeBr{6+1#>2y8o1EWy?w)aQH=RUtU0#DQZY^><=gKyW|!ff`z }OZlW>f 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

`s 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� zVa3X3YlQDv^+~Zw+09a^(Si0NhJ3)D$6S(%THaxi-=BAm#4;b4Hz^pS)E`GyN&H-0 z?)9=6_cH$>WclUYeX#UKCfVGZtXH+r8Kt-CgQjqo~M$NUjDc|2emC@{XN5_3FnP9>ecRU`%xKNvbQRF z2)I&q`#)+rjPabV*WL!?fXY_907rpsKgR2g#X9ZX^9||M=+d zy?+u(!e{VV2=w6dtw>z|4#A)nj%j93B%!`JW!O!&$jvE-g921vPdVpQ4jy0K8C%oJvcr%(&$*y&{P+28s z?rwSd_BgOcUIJOV4m(!-+WU{!k~m*qnRUrFAz5JRdaRPt@y*w|Jm<2CRI`}SQxcqR z!R_5D1ACM_l&EI-bV4vCy`@|AFZ}hd#doKDIJK@sYtQJP6DlckY{{GO zb7?fVa)vkn8|D;$mp?ug$f1szU|GAIg{GVByhsHOnuIr0JWC9>ow@to1+`Shtu(bEan|=f z=b28WQH*(N+_IWwJs$Nyj6k}Nkd-jV`cY5wwCbvKCERV5N$TlG+-fh^hmHVg_l}0} z{#hE<#E2_GC*#LiZZvxlw-24^-)9e_L$1rcESPVSoOK34DY~16>csNp+w)1)p!(zL zH`IeaHab<3;&!=?`rq;ZXkMT2PQM=?KKzuuzD`Hu$f6QJ^|(&vj zPM~(>94lOfysA4a`4li<<&MJeoa@Mju(1ofu&6D!_mnqn%@WWuTNMn?+zGp-ks8PmU%vu-*BxdbOUN57oPt5+N^O#j+f=PZmu`m@`mR+sB>=;$Ne&wLjD z+3DIjxC+)4!>kJTtx+zgmUsI;EyBu|cVYH?en?e1Yc{IP)r^Bb&dgp(VjSy-@!MJA zB!#;ho9olzdXDrzSY>hCrg(p;&y<2tKl`+q2ArdH$`qNDs?9+I_1RO__Us*c<}g)8 zP)x_fJU*PcqDrAFLlz(1Q$~x-R$plq;b}oPVoG%cFOEyQo&_^<4`t@AfmAU;AHF-| zNSlvE$f)@8(j&ZD9E+K-w#$*t^V2XF=L<9+5kEVf*uR$OG9jdBOf?@Z3D2_26@Ytf z#AseiWS7no(6!p|vlFU2>V9oGs7g)4dl6|j2C>oSjs z6IoF14pj8cDNX36s@d(?SA0FGW&f*955KkVsIlbvu_%f-Bo)0ap9;p$vIKC={VuM6 z2yYf7c%yoJX>ma>3-i1c^qq?8AhFy#YYvZGRhqa~l4B)W?Rc(Xrfh5RE7)c0BKTYy zzh8L;`MBz0*(|UF?>;6B*EuQI4|=vZ&a_gS<9f17J-L}{wtA%{ndu~4vboy0W&p$- z9^Yz<0rz&_tuU$m;EHEq`*DQ`QT=TklYMycZQi84U(73{c%rS|?rrv2`_Khnf|tc< z;^9P;u^2d$k7aEyXVF4=!&&Tm_Q5EG$^<{oS)SQw!TuyljgWDI#D2ob;AM$MCjI$P zyhJl6FIfES4%WR7@sBFp*msu?Ue=dBbNMd5+#3JUqdu#E$CI8$t+J$*%qrt`34Qox z=StT2nZsda|A6FTqvdMXM;zT3aIZ9A`#QY|BMbsbBj5L0@%@8nDQ5^Pi;(eF^a1!!{*W~-i z4B>TNYq+G)NU?tI>@1C(T8p*i&s^K*2U}Slr<{2)*~ZbuZxjr-@QE?()Q>&io1=!| zvUee|cJ%V0+xqnQv!;nrypiWNcX@~WfB(2rMS8JylsSUiGS`-o1G%x~$E8!kZ(Yl} zoR@E3j~2xI+(%VrYO|STmtAuu5{yFvdD#8OmExe1TdcBvHej7F~MZrw0{}-{Hh-@!V*|#}9DMprR9x)U4;{=4gq`TI51FJ>G}! z9@C0y(cflwS&bD-dR|^e8NdC?(C?9MBX6S8{1Glr&3gEm4M#rOLJ!>^o+d-V(nBNF zr)M$V{qb*%e&&z&$3`WTLgjhn#7dsN#x5MzK3qFsk7*g%rTI}AK;_ml9v@LPnVCwn zP;&V*^<>kS*{CP@cU1p=Q zcNzJ9f=B4c`rcNfswQOw$BU(X_`0n#vvxEu9=gaZtrvHWspDjWMacWdmzKS^N}A3p^t_0Auk`SvON%F`%W=V|Wu7^$b<$QxNF({3D_-G=u#?o3RlNBE1` zd4`ehQ!5!Lomc2#_t~u4e|T5_rZ!7DAHo=2yJkMx^LFx)h|9ykl}TCKhEM;|v&1`FCQ@yI**V>CKT_451ya1+5N}&eTnBaSl3_Qq$T`uM%kx|V9aUjG!2079?~3<3WxuTIFw-m>?5mhk0p=4H)6pKc$!OnMn!P_ zc5w=!r^M(Py70cdTv5Ax<>#8ba`U_s;zfIY_%=WDQ>IV)1(|Jr{?m{B!3DqW;Yfh_ zbLL;FPC?WjGp(se39ZwX6}Zg329!aBkk0Nlfw|kV@dq}O8GD$>i_J=oL&jFq% zEBy;TvRa9t-Qyl>P9zTAS-q7XmoW>!_SW!=pOtN16^1ZgfOmH06vgN^Xi}An*So_> zv3IOaTnCxDo|u+fp-GYRo%yh4&3(l0po7bWS4ONv2fxNWq)(T3_>Zxv*I()`it(dO zNr+Nzd0vjc2XT33`N4)OJLM^~C6&QHF1wKYc=wVQ-z$$r>?I~2u9tg%0qyW@11+{( z{+`*A6uA$2DO_&97nfdywht>?Sk}d_3^1rpY|ClZ#;1$;HjC^FH=2$Nlq|!(V!hVX z^46oi+s0RH6c|ERkm& z&8~3&TKPGZcJGfI!HoTvl5_vCH@u`0byqg&8cx-Hd!%gsZV%r*w^=rymHk$Ez3W1> zW?5nNa{XD>_`|i0a`ED*(Yq_wr)f=brONC6PY!ITucM;F_c>E+4i5O2(QIV5TyOgR z_!KSADEB7YRgMi~)+xERAJ_MQTl7jtX0`k%?Wi-2CQT{a`=W{3^Y#e|HE~19ac~Nd zzFZy&aw*Faf|9s3J?KoSLbMO>{;OwsmCtRkEGe>s;R;%*efbbS%gqGvsVO_#(C#-& zi}_cDYub}~pv8K^?IO07|9fxW5e{&-KMVTq-IBSj`G)jCp3Bj($&V#|*4{t9r0A$R z(&410Kki1O_5L0c-rNk-x%il56ct>wyzsJf{xC?3?aED4N9&1YglpTsq%vKDQDk}j zSy8m_&nM4z!e4)ynES4KJr>`^ z-H%X&FDC%erD;b~zr(I$@P%peE54Wz{(ty+k9N>F!{*r^$;n;q{mRznkB@ME(;wII zSJAIUK;OF-bBs2)exUL6xn7Gy_|se~2wz2qyL7~7c%^EJRI7d!rwcWltih3|Z;$<) zFJEp2tZ%#oR2da1)c??aXS6JSCn>LD$xFN9PN7~b4_{6xXs3a1=lEd#C>5;tzsrjX ze!-0t8nq<_ME;@%Y2z{2ZmI~H1a|rRr)8`^+GK)TmBuIQ;{CW0#I++D$c#kS0<6tz z(e0l%5h`kMcGUskKpv^u00ho>qZhtOxoFS$@SUf@=)=DWlZ&M+J3ZyJ*aQ4bag^}z zL*D02RLC3!33x*!)trnj!fq2K_4oAxkOCLd-itUXMGh#04|8gE-rzx9BN)N6krSA3 z0=Do7AT)|W(3$72N>IV33gJ`q!AY}+4&<19bKGM*9fk9ObMs>F)J7G@=u!*g6^xSL zM))=-E#DJ^x$I4;zM@QEg`e?8l_|6lhDQEPOwS5D9^AV8EsakXlS==&&1^PczL@2W zii1?~WzH!ut1aH}d3*U$;_~I0I{WJBO^W&xf}WfTEtixu`RK|78m_(S{BXLwYM$Pl zj?AS1Wk8z0?W!6<$?J(9Q9p7fdSmT1dVgH2gvl}d;|j{Qw58my+W|l1 z8hkz^ojmfGSnFMm0qyYR`^)f$dQXKl==Sp`7)-?TcBx@+G3N z)5FiQT6rw$oDoz$A3Rc(c_*0c_{cz5nh5Z-p|I>&_|)w=s(7;W31??Qf$RI^uQHuE zua{wj*xC4T#Yi=Fz4^|m&_FA9Xuw2O`0anZK92|3PHNTqaQ0PG``D-4$HAtddf=T+ z21jri385^dPntrH_Td=;YD|;<@Dgs@D$c?0;|~kfX@77y`#!@xjk5j6c35!jlXLeo zf_n$Q7~+~gAi}Ona5KjpNXwro(S-5kJs&7`Lo*!lMOI@>l9)sId4{sOGS4)nng8LU z$LG9e?YwhmeDV%8lNZ+lnp09?0#n7?YlgAX-*#@cuX9Du-eoYOEjDrJ3 z`k927rEsD&#!(|Uf6FryoTy+IFPu(~Kdxxe!L?^aARFITRd<6b$!bRk_@-9djX6l* zDj%Np3_3fG1cVcTV0p#x?)$T0cvSlAMWY9C>NC!Kp&v!r%uId(TyE&%g{V~haf!_j zs+v>(amFpup(SREL>UKDrhs$;s_j&d3t!$=eW!r-A;0VWN${T(@z4wDv{6Vu_ZUhG+w8{n*`@%QvEKM3!5_pn2()=vRyO=z2<0at^0RLOxM1pTj+27xDuS% zNWKV2i_2E;scvQpEcyp`hhb7bXny8irAT$T^W_l6d?gH1R$^wXyN&7W-Dgl*Yv*)c-yi&EUk<<40!`K7mB!CVhMH7LW9K8t@OY<-$PhB&bzbbfHwmZ1 zH#wj0>h~G32Ah6HUhLaGJYh^?aDRVwlO&e=ysPCtOkZ<0he@yFnX%8In!Q^`a3w(O zh;}WOcrhL-9Ap@%Tx`W(%L#zPib9 z6I}hr-VYjE<|hh;Cp%kEw}LLtgC!Z!|AJ|3l3z1AOJk5A&TDf5;? zqGmslHyEIm!$k;=V5F%`l=tk{hX+t{5{XAHjI6{OCi6!+8pJ~d8u1Lxb;lGy~HP{j=U^6 z`VBQR5zRXplC3=47s^ksUfd7Ej;H>?8FP`Bvd^<>*x~1QOlN5_p}zfx*KF63DY+MW zTawDzn~Rf^@#AaR;dl|$pW#UK#LblWw2~%X)i1Ff`^S#u%N619fhb_IbD!oa_wabM zqMWDCM0k5~C?jKxwf^`h@qTB$^LKj=C!T8y`dWewzKNc`%DnCbsNWw~+><29KI`}T z6(6fLAFG4DR3x1xvhwdSWZKT+2v?j6K9{T6UY8!}M87>QgqlCDcv|Dw_kGsA|LN^^ zQzUh<+Qj?vW{(&Wmdd^V_Bj!WuAFQCs4`P9J-H{6FT(GHHJyGx*tWEA+_s$Ef0lZ# zn0Z~q{#jU=-Jf#w^V=G{aL24=`sFO7(4^V{+!=kd~LnV@dtod+6 z2YzPyr6K`xNRq7>jrGYx^5GACt52@ZfpJzjCR3s4{D&9mG}c!kVO7yBAFT zS}b@viawX0)q!j^Pa{*H(C_UDA9Y*#oTY)2GRzf72lwvORxtMP&9^zdr@j5h{k5sY ztUvemv)HSuO3Tpe?8{$Q(=@up3|}e*B^O_o^OvG`7D&!G^rmhL)NND@|&MU0nk*I1?60C`TMJ=RdwHnphGPmK6Cka zYrcw@z>&f?zO0ccU&E@Z5Dn&e1R}k5!n zX9XB{?a+|$q7U8MkTBOQHHK)*xYtt(nKnDCw31&%q+b6bDL&-t@AYg3!n^DV#4F#h zl?a&Od%9rwj=0>K!(W6vX6H(MYAL1XXUTikmTQXy9xrZRdBa)~6s@?&*)74fr~Gwo zXUM;josqtRzMse0mEeWXwmara?OXluY5_GegFVv0Pb;W=nLHZnsJ?cL?NOc@WHHST zkE$Q4EA{>GC@;-aqXcWtD^lREo+DA$aM(+2a6bOD8F2@FtK$B$|9JHB`0wWW;3(SF zXJ#Ewp(sZn?h5>lwLU!Jb?=zAk-S_b#_V6`Z3WH~hG!FuDqf#^zDVZuJ}d)RW^rwd zv5Z6f#)nh?;C#W$k3&vcdZ74>F4u3&EK=oeZ%xIszKuUVUv~wvXL5hS^Q(>(t+ZCt zbvQwO6-j4MtIdfG@P=(mW{xv@)q9`!ywQ@eovP>Z$35mVqcjB(%?W{}GJBHcx57#B zE`MTx{;Mqg$fWa3!#1IRcr@Auah~?!^G%ib>d)oGx*`RLA4FPh$WC#%!29jZUd*r5 zB%6}(c=|fLt>A@XyAiRQt z?>gQnbfP);{_*zizY)Z#m2m#-dvr4}!URkxiJ91;2-W5pYbz4%ro*C&%pcQdUzbO?8Dj%u zV%yQecsUHR!RzH$ajnE@70&9eTX$MYUGIm_D7RtP_`NOM zwPF^E^=Wuvs}>`7f<(}VzgL@Z`@{{tcu~>neqVcoi}M*;2aoi(zo*rgNX+1Go`)%O`f2ru9t>x0J%Ois)d%hk{xk|1_0cq9n-j`Q7#0}5r zwZieOh^`uW_3Lu93L^P)rWMQShtCojzy0@e&8-Sg7<$~FOL~5>eoeWX(b^?~H>|v~ zlJj=)v^X2`j~BO5l&LRQ*=i9?_<3(CDlJl8x7*08IM8cZNXmvDyVk#w%qW%=d{oZ% zey}CjPD^B8h0;Y`QD!RSMBYET_@P!AYAm?iz@&#+Vh1gx-mE7SuH*K@8|REaKCN!l zI6lwjmH5!>LP$k>5>Ty9CvSEIt@t!tzNL^W{@l{6%Ncfw-n72+El(v@(Zq=VV1@Yp z@iVB}_JFNJ#y?wjZM&Mz^*;Hz;&NY>8)@tP-lwf%V=QbTR#wyIGxw)pFYm-W9)$~^ z^~-fsW&^#mGP1qY<;y;qc-GhZyNI|?Tg^#8?%oHn$m;u?CEV?pY`-)D#aM5@?}zJm zv5h2e^~0zA|5!hG1xUp7k$iysJTY*%oM&$K`J9|)>>t;TQLc%PvogY^#4eSrSuVy3 zX~kit^tyk%HJK)IVzcfjWj^dn`JfwFFFzxD_w`iK{ylypUnqPOi-3ez8{Xjmo-a|j z$yJCid(FRJOYYEXE0!0p=l$a?ZbrCR{yh#nW>N@*<*jU;PZb;CoIS;GFe4lflC>=s zS;IM^z%6gd&isyc=y@q%gYG2;(C?S4m!MHLat?q`JI9RWA7oR&27-;$yjr{3^WoY(<7kdL<4K{ZW~0>n`uiG->|3 z%X#|ykV{Hv;#AzX+c;;rgi#tdr+o1K(X9x)@JL?diwXy(P5!Is0=&VcYs({Cvp+MQ zrl;#q2kFq@sCctWgI#sXAB;zuwAt5N|M+a=iAu{oPTLpn+~%zP|8CRR7Z>xMWJx#{ z&CETMQRVc9dO6~&#^ue1D;WPJ_=s0RxLnCla_=q~0<*Q`JL7V@8vJqc26Q>rl=o@K zxa}pk9~PeoZ`=1dqet!S$6xrJwSwt5-Pd-TvlrqGTy< zIcT)p&lV!vOYzP*f*-TL@A`4K8JnSUU&&f~tHaBkAcrI27{YP)xpN32=_fmwkqpf8 zq5N^8@#6342=C>Eu*EAr-UzgX%jbD25bk_8@t4@2??d`>`*0>IrAqI&-{)a1#F&e> z0Xp9E$BE>_@s)f2uE*@b&wtt}yNdAT>(@h-XgGF2j9WbCY_paR@40@?glx>^{Kntq z==$EDkX_GnlG8sweEN4S$wY^bDy27BbfD({<1gY#Riy+pZun&J&iyIM-@V-SB)L&v z;-CqgZw%jLdrtAQB&)OjarxrHTS*0@I40w-??W!^_;8%@rVd)4jDTzir`#)*cFhv? z@`<^TINIs`hgp0GKQY~cbD}ZxIFft}*I4eyAFJ$)_rwz=VT)Z22?BY&FUg147^+@k z=FD1xWs=r~pYD>lzW8`F@UUoaxA(Ke8?U}mB>4OEaWH%`*ZTVQ{2u3U4b^&_nd9t6 zVB?jeoho!j!d>t)3=KceSsMx4V1 zE+3?P-P<6OqsJ#+8D9|i=`iw-os#XTnQ1ujlq@p*3@ScmKyv78RdM_Tmyuwr`5e9+ zrO?{H+>bd`qaVJiRPymxVsr4cA8+b|2pb{fY0|)6f%@K z6q-=|$I-45pHEFAtIk<}cIZSkVUZ?dr{4W{@o)LvUkPKrewOlF-izXaSay-u-P?~- zaR5L2mgXH_iy&k-UvYVYQ^_`bJ@S0*-XCE}Uu}c;-_@+&xEhh96;2)=i;ID)d$|LW zI9q%fiy?V`@3S|hvA%xRJMeSriTj^^?P-ph71osRGiH%+6sg;XFSjOt^|{xtw^LpZ zC!c3uP67tAG1={Q&AyyypZF*(XIH4#70Dg)oE-9|lbBawX(q0V&p7hra&qbBhcjPd zsMq#NGb}1#+!+YBx01!YxH{XAFh_I51irn6P(?#=#kTp9EjHJm^>aQgDz(t~&hyma zL=C`v2d8X^N{xD4|Ou+W<=I~cHSs3}Xi}gQo zk_0_GD&w-tRh3tARzkafxPB8p&pUZBFB_#o0EbtLM1mtG;8J{aJtHf^|3)+%f<18!wm)+}o2A!q$ezXVGge$yIG_sKPl*I#1E&@6IdfH@s-hJg%n4 z@NR`KvfWq4P5HxK&Nm^hI6(R1wo2yj{$)L(uJzvGZjKvgGA3b8!{AwY_=6yQxIA)1 z#s_lUV1YR^m3Zm)gAiBwkA`0gM0@%1jN<6;7)p7cFd(a2EU)PsQ#Q=7=75PwA)Ux>^8Efk5>-3-ie`KK$+B5x6{W z(}km1{ho2)%RNQQcRIN=q;#KOJH2p1rPNb;xF%N$TnPn`my7Kn=dEE--6E;Rtt$`!J()8IHI;y z^|B+82Wk_F${`gBLXLR;cnc>W=qX6$A1{?7a`!^Ry8m%j^$s1ad)|l|&QkI_*Q2@S zG1lC{JQ7oSral!QQ2?*Mi+!qhmgd^3EdJA!;k~LDk^vpOlk>+(DD+F8Ib`n2 zR%PuYPq3as)63O0nX-~D|Ej3%b$nR$aIQeVT%lJPkX5f!!uhh6GFNjdATc7z6vIbZ z`(Az~`92)*B?#+zIGj;a?qbDCT5zm3s+-|-t{mcozYgu>8BErP;@D@De?OO_J}1+(O#h+pG(}C*4?mI3YjY|Z|9@bjtYV1)4Y`NqroaZP*#+ocg7&TdC1 z3rqI)j{T$7a=x%9ClTa>lpn7>jmg5jg`ZXAlfU~ExoQ6ROt`%i7jTCc#pyWNt4Ukv zmdo3D{FQzwy3@!=tiSiKQqz{J&t$PaSaAU^uNJI-sjnS5h@d#QxHbx25JmLei4Qmm zVy?ZE9wsIxaB{^I`(OGv@8vIocWz3u^8E_UwTGaI>$b$sOZjeLpQ^K@I&KgIPH9(~ zhNwpQ@!5U$gdW7W*HZ^G(+cf|DyjE99VV~jd;+7i56}J25-W+>BZ(^hSy&x^x#lZ& zWV1O^HZU-I6=ad);LiLY-hJ#Mi@fX!%**oa#~G~ly-!n$rN;ygDEE)QJEu>(CJAH^ zL~o{N>6fH<=w|TuH;!rX#UxmIz`-fTyJ}yq1(t5JEVd7yXH;K4lR7JWSLVad*Gv(n zcr3;*UitX(`(iv`a))DgUi{PPp^y4Nbv42_le!2^zJ_8CIQeVi%93Ek^8?ZC+2Ti zXWzk>Fa{NBEeXl1mw)*~9^}hH1Bt*Vx zoXGm@?yO_IjSbFO91r7NvLcG3 zWlw`bqW37~uSSeVS{P|$vf(*d)IM{PuUURvPdR0%R?}*-92>*ea~kC15h4Vb68RL3 z1?PHyJcmbQeT`6(e{<&cqAkCEd~ctvRir-eQ?m3QKC7YArAuLIHTBM?q}mgs9Fm7x zc^Xnp%O97(r;Y}(?rR_HlQN1LXZhgwK4r~*3{^N5I=&6*USt0Fo0B-1b?y((i5_~f z-bW#uR&!$b;*OPbR-(?2&IsTewTT%nBSdZGJ2qzPhg(7dB+lfOZ0V=-9Zsss+FJKE zBuV82s@6BB%8IHi($e5Bi4iq?qc85z1!>i-|2Uc2x}J8^^B}0k>6njvRL(vA_!-L_ zig?HZ`dzI|ORt+!FqQS_c=fT;*T^8}Ap3p^+ zsY?0s?xQU1ZTb)QCzr3D)9mxN9@^pF{z`B(|+Jd8nj&{$_b50bmnG`?YyKT-=f84<&5@Dw`abGSXr`$)fteHHNn)e*NBHf!e z-eo;los_|n(;tNRbWn;q8tGS?V>&S%W;&z4WgEla=1~U`?6-V)@ApVNfgmDjXQ)mV z$Js7eI?EhAWB*+#V~A6C$BE0Gn%?>0uh!uTwk}UijAi6kIaOgj-KqxR;|6y2zg|BS zNKp;;KYz8|=DT@Dr_Ro^-|Z->3j{_v44>zPKDm+tCF&(JE7I>%ZZ88Kg4v$6>u zsqYTg)0@`^FK^|E1`;b5!Uz6_Q@lNv z^Z-*6Mkhy+r!nmRxFWd9*}bI#OGkU!V(9vLJE1uPjCf6OlrLn?mB+-g!TZ*vx+*1m z$~7sE3CE%JA3UrjPBAX;N=boJ5k5Qh}3eIXV7hKl{fXuA(yYr`)1YI4Wo6 zWY>92hVwae-G7t5{pHKo7wp4(cwdiHs!_0b@Gkpt=`regT9Pcbth%IDPVzqo-R1Iy z(ylnN68;Ruhf2>Lt%*~yvx^nMcpi4~I`O|;in;JXqUHQ?s*m6*MO@+RFSqZr5D99R zFZrK0=@3*qOTdwK*Yk7a{C2 z7Bv0KmyOe9Gr9lxkhlQ~0#uBZAD_8DA?iPV25R>~rntMD5??AJe{|41pZ()5)L7C{ zbt6QcB*xVUYRnIpg*nPP5uX)5lUiKpQG)X7C_IMQh&{~9U(!9VVf&lRh|9P66IB_; zVG;>ly)~%ITR$!*MXI+jAu8dO5_p$Uowez+zkHaVQ8j0#n{yAACocCoP3nCFRSX2J z?NW^yc786d5mmxQD!{wrlzEd^xegk${X(Z~Dk<9*+s~6uWsZmrHF#%<`~0q#t)0ug zNI3m*xqlYLHL|eTiodvu&E-Gi!*5L;$}jiNa^PE2gVzv>`td&A)Zop8B(3x{u7`I` zR#5PC_2Vls=&E-&xQ<&#OpbhSydu)T^^K#1_hhmY3^-HW^TOUnsC*h>5!#3aJo5sDf+aEq+;(UDlShsIDr^=R{>J95k1j~?ui?I z?kTIrRQ_tEe|i6te`tFCuEM0pe^-J{t`UQuCF?FLCDhXu7UoMXVDMgiK;IwPnMsYS zN}Wp087u=SitiuWN?kmnB5^(-y+rtV{q2b&Ox;c$yS)18*Y=+E;%O-joO&PMh6(bO zs9{y?t7)qozN0g87FbUnr)u>Q-4J9h`-ku7o>bC>-Va|c`NwOpjBu^zd>>^~)^HX$ zkEH-8B6;q8SW)&KrG$}pOQN+Ujj3QhJJmdnN?l|q!egEfw3I(yO7rap$=+@T>NltC zbCJ4Pjvj%VwfqCWk$h9b9G7Jcq&M&sZb`@~1&I;syGo;74f z{j6IRvl3o@#hUrlFD{KFiVQcr^glQijcPyd?y^;SpjR%AWV^mDEy>w`=7PXvIJNcJCmTg@A4oct`-j#;KFX#}Z)0zaqf zD^+k3c&6=$;8iNzWNNkdb^lFtX%QEPAEbQYc{SE&a|9jym|;EQ<(TLG-d<%s_U7)J zY8*besB6$1|4f2WR+L(s3H!oZXn{-5Q!|Ky@_dM=zG&vX!OQu=#l0vEYZnGxyjsfp zY~Ln{1E;cPTUeYl_VIpkvEEke1ib49XPwc04ksw}7ye4~2$HRgbZGy<*qiY-)MWO_;yPD^aCCk1|-8unbsYsq3s&dXz(*3PhRhNLvP(*T(S<3ox-hh z+fPK~tpkq^c$Ss$rlpTVq1fHoIox5yH6v*mNy!c_mZu7%kg`8NxOl+8$8<7M4-bhJ zxw5vMV$eD6APU{uF!1x+2ohdJnp{=Y=MNX+IMJwTm{{qAJ~+2$P2ANMerJddwkh`E20+MGSKxEy;fBVuKN-AIitL5LLoS;-$#kV zIdsMk?rn-tpp76{Baj&KuR=xVGXmBKv6a)jE9U-%WqXlXj%wB$yrawGPwvGuE?->w zOyKn{eOMsS2J|NZyN0)n;KTi#FWNgkgba^zwJf(>9Sjc6eHWbGci>e^zJDkS=lH@> zLPR|o%drH;@M8{-CyzBE1Ap=EU31LgLd!1GL~dAp{ylX;9bN=PI^F*ZGsFJkGNlls zF2l?M!NrW#Ff_&JYW!G{x?TLxAOm-9>#t|6XkY!oyXcV%!g%W!pKecDx__2$4~ky3 zACQ{Y58f}evs7-?o(lhGN%M=xozhq{F6BZ$ZmoCMtm1fJ4(WedFXMw#Sq0w5_Wd7x z&#FzFX`7D;3NAjpm~KTiQHi_P=3U1V<~T`?YY_tv|TvUXb6Wj7ZZ=6?d~z zEX(2i$N9l$o%x8c^Lzc^O@}T85$7}bw1?h(`g!Zb?-Lv*?&Wck`1Q<-@1b28I_qQq zJ@p4)CG*ovnb0AbhHK9Kbh0J-2Vc^+L9cr^dmh1$nJuDn=!S=7cLNuZYZtMXq#K+W zW(|h$94Wi~#ijSz%$?=EM7Wa5B_H1GkGybb*`aXrnMFn7>F2emyfVT{aIQ_SS>KN- zVa5mH^O5i&N%qqT6@hCs%o2pb+kqIGc{aWrC6fBN=nj;c7zPJd-NbRpm00F1! zpjpBkTK2~o4;LSnpE!qOj>O=Rian-V%{zqc*-{NkpuimAZ1D&u7!xuPD-_bn+w&8eBJ7a&nmi^~1r_ zplz}c<0$V3Urki=L$y{GE(ttdD;d6!s_LQm_|A;JyBv0?!rCxTVOVD za@q>ALSMW@kxuPXi34;dNd;>Qv#mK%cF!aEKnKF6Nm6GV6sQu{afc%`CM zm9ErH5h1+b6OaVqi@9BbpUIPW3yDTgDeVUz(p6lxZ~a_D^#nCihIP6a`GYUv&^7x? zW_&g)CE|&)?P6SF1S-Rgb{_ay(N@UfW=xI87nd16MS|~`$;Fo?6p3y61ZpB@lo$)j zk?0f}Cu42P@1=gavr2{Ur$)qzXr*^dWGA5Wm{RyUcgwg^8dYJw$x4cGTgW;1eB8d1 zK|h02kIwv{L3#F&*1kCIbad3-ni9y1ul(+6*6{2Iyi;^GtS#8y`GI>8w;~BQ#Q|u+ zs}CuHk?ts_tBWh#rRGnspKeayds{)QU5PyKv+XJZrF5Z^OQmsZ+fg_YE%B}mbXocj zpVn})OmLBgD?z8l0fo}~^N6XJypwY#dtU%2rNd&95N~>w1m7!4XVuI?;A^4FD*W6* zV>Y3YPD-C~aueS6!BsBe_A9q3)mVu&P%@Vt0=J99ja#GmSo{(VM@SJSyblbU(6T_` z%ZWU{xCG5$gV;NFtgg@sksGO4!m>C%xYUiRXcpET3xUJ#l~bzoe=oe<36;e@R1sGv zaC2X|VpJb|Gz zE{C#vmr`IfQO|##cJ2h`SQYoeESZI>y2m2;+;p>xbk%r?a#nSn(}`>s_hwXf^fN9j z*+RVA>+xsXr6VB1_9<_8%`*w_#oZT?Yh9ew$CAyiRht~amt_$tPwuxLI5yM&*^?7Q z2tKapqU$ArApnX}FNg3uesGUw-f~P}_TlLx@htQG+~$-E=wK!5s9C}4;@j;Tk^%dR zL+>N}<4TeBv^K#uN|7mDG*0z^O319p4BhD$m(D3Nhl@1$A6!-eEbU`tv*;pl>Ruwd zias~^ZW28wtNmR0+Wx^MulP`?S|%3!M6nmkBJ|5fpHyu zq>;D2vuP67uF{zrTNN?=2W~#0VY(i-ISx^7)}(*8wQN-fkKxgBKBG^5zP4@Ua|#$^z03l5t19Mft(2 z)vF06_+u@eStq+c?NMYmPRx2M$?f!K0o}EL&nY4dmv>S&QOfsH@yvpDl zaMP1N$zE^4;qYA%?A(uQ6oN}0n{9#OykETLWl^9bnE2pJNuzYy$K#ZS;4`~aLn(U% z$KO)C8)5jC+g@oKekp{=`u^g(`aEnO2Ny+IFqBuTrJjlM!XGI2NUZ|=?K*bAIozA{ zS5#aw6E_OJv%vR^Nk$n|qfX6ub#BpxyWb*OCi`}?O(Vr)!L6Cc6za8^i&4z~6})ygFa5Kon$n(%@%B1ds3R*& zEWBi=US`C*cv->aIWc~&wpH@)xL3MstS+7%7S`1-+T3`ss~ScluP9U>rw*@SKI-e-wEZzeh`yQ@ET4+FQo7 z<{fxJhRKT?0oV(Zp;5eQ&W_^~JFvG=qH#6|4C}JQkq1Yle^iV|pKTYS%oY3?3bq+V zw;Jb%@FG%P84%AiZ$CJ$ACI!b9kYJ$?Yn=sNLH7=y+ztYc!eKMI5iZ~w$jD6#@=)1{uE8r7 zwQ+?ZU@YMyx%inHZBI-?>v5C@m+hvc-#B!q-m_eXQ<~7l=8W-rpG)#x!OzAC-J?|4 zVM-l8__o?QQU7gxn7$tie2JRCI}3PyeAVL!CiVP_^Tk&UVOwaki-l3MN#6XuZWt{Y z4N~>qpN!XN&TmB6cW^vTrGgWrrDWjTPx|fWEE{Q1@l(_U z_b*NXjOJ&(3F@luLWR23H80g4mvQMiuUDQNZ@$6VtHDv7c!O^RRfJ>Q8b&DOm6q(1 zr@+F*;P478cmF~R-@Z62wYuola=pP7nl}ebv!9)Ej7K{UzdE+XZwzm7cryaD5It*n zRkyhM;XZ+!Yt3r+;xJj8PonYG6Taz9RY2^lGB%*CjGv|A zxMUOsAD;FJ?WkXe>KAbklV}Yw1iAmN^`;DUF58ir9&4#-=>@&r2p4)XU#YfTGZsvVrzFa$H;_^j9KH}UXK}r1*g=n6&F;gxX zT(>&-I{3L?-=|j^sgguA#zJsS4 zP`k)_U8#0)>n#fju@c z?9;x2Q$9vTN{mWKarzIw6K$XZ@C^=eT5*i5Lf+7R@a|{>+o?DBE#Vddeu`DW7rKKh zZs?d7Ninzi*@TogFJJXd8KWrT?8T40y-1CC|23{82Z(=nbMZq*qqpZz=~vuS*LmgnjwKLaOAnA9+w;ix{o!Dq7s2|l}3OsEz7wy&s}`?++k z*xBX^yo}#?w zszdwW@?xLGP}b+I6XlhcRF9=pq2S#@EVz@-z1?0lDU>%y;N?;^pPq0m=)_Cj6mCXPq-Zm;hDq6W8o;l;Z>FK6YvnH!2BZHLR1_qH0iAe)&vD8p`t;BnNv zd%7A3xXG7d?*fVEw|OVc%^sPvNPNW&zDBto^4SBQ^Qy>ySj0yAd8jk1T+o5{T3Swm z%_RcPRkPgYi`4gKe^1@ckG;4YKGaq!1u*#5@lQ7t3w)X*P3m6C>(w_XzZA8rC$igX z1bn_Im9OI7JDs-{e87R}_Q&KXV+5Zh3A_Dlp??mpd!1fv>H8PgGGotv90mtJSBpJ8 zXPoAr_V{S?N=i4~;;`Jf!g%=9cJV!Jpg;vJ+?z>w%cwtikMC^18NJ~dSKHZA^D)4} zIL7d=K4?;xi}TH9x$bCB57m@*r2<3URko|(gRgwD(zpGFEtFG@4?yD>j!ZKa5y7)yY2A)57 z<~|h*pfJeFGb}+p(_meExfckK`~KpR62!ZD22lM@@PA4tq>8k;JJI;!S%SDy@>z+# zP$Gcxx~`|)ejtfko@5BGR{!F~A32)!{lXACew@Qk&(~=@9!hM&+xsM~DElJI<&N^0 z@CwSy;ok0^VB9Wd0;TT{JTmx)$dJ2%GkrW+QO7Q786|Y(k1pFpfX2RCk@2zPs-FG5 zIKGYQr#dInY+kXD1leoHc%J^|X_a9t5jjNzR>?~w@+jRNEve~TpukdE9F$K*2O1ov z@O&tWnZ7^xcIX4Dv~qtI*J7N~RD#HlGEmPuYbOEhbIQ419GvLU>$Ee}*mX1qZ;#W| zs0C5?uO&V6L7e9>T_iXh^3_X?S2gw*U%~sao@I!D!w`fq-|_XAPxliW%qy)@uUda_ z+z4t8WsGoD@X2r?=!;Ww1n*~s@nMOE)7R$eeb7l0V$KI6`oV zP~7_BO__-sDU-Kc9EUHKg77!H-RlzqCw~`zjdLQvVJu4jB$B;;ENoO2zJc$)vME#l zn{0qiF=Bh)ADrSEr6wj-0{E;Ds6c2=k+Q#Ash_?Q0wg{28Mk{?{HdER;mYPc9}!iH zzaR62N}L!*uk_(MyC%4ZmA|PmQ%mG|7-e`K zu-dC?A{xsi!i2+RMfhhKPqDJb2bUxEGQt>%TZjKx+Tg*WHWpR62&8 zD2r0=zqm>_ki;0vC%vkQl;qT=$y#?{;@rw3#}WTpv?RD#0w6D!#c*+QMTc<+(fb$I z4N>^+pW#rUql{>pj3=`|3Wf{@Ciz_EZ7>8*^RdcXZ#RnzPB%V>C8!4l$>iO5ZdOPR zFP!{o(xB#Tj+TOIE(Ubr_8oy!iKT3Je0%$T6YzLQGn%LBZ$jRK0^{~NyI&IVc6bI? zi3#tpJAWYXOz*uqQzh_ndNzbx-jr3~B!&)}uTp(W20x~X98hh_kW~!9xCAu7&yCjg zXu`J(oM_)3Cz1`cx?x({UO6iSE#T+anJS6k?GJNuUz|hbv_H1I`MrWWrM;0e?a>#> zFjRkTRFwELK{I&it_rVvs}5*<;36C^uQypleb0NsgCHXH$0=9fl)CCG#EsR=c4b^2 zRj*nI&oA7(*}WylFdDsE4nplwTqb^CZ51YJN^?vBB7sg(XU*>)9QO)%d0O7Li2g`@ z(-wO^3-8Fro6a|qFdf?moB{W}IRt@UuU~NGVFo9-5nmW?9b*p`xg%mO}~l zb=mF(KZe69+1XdiiydMI*Ul@>w5&hDazv_|J#35!A7~_kpN-RzyrBxDM}_oV4%X#6 z1ULmE9u749KKD?ZJ@;8Q*z>cE$nO`gZ%*^(NE_(cyk*ibNb59xa8cSYN~oenaCA0@ z@v}$YPZk$O;ZDzKem*cK@d)2Ad)rtbQ)7N{IfrCKl-$UuOWF|i+gdn=(R166X}34O zixkcZKBsdBJNJNyRDrJ{fivM0(yuQ*n{A+uO8xx71D|ix?*yMnAF*BV@8)a60rQFx zq7&l5Y5&2CiZHQhAQ!$koHyG`>YSrbxwy#oy+qDoW#9jx?CD%Cit)-N;)8eRbHY7; z)~@#!But?<@muV5WluYJ6Xub3Se74uYTWMkErFx0p^5HvST2R6lJxof{mM-TbP; zz=4ki@djs0S?vce?&g>lqx`_lqeSh{ej2nG*Y-hxv}ZH3DmWkg@IgjuTK&LVnNJ?@O*#y)gB)6;JRGUo}}E1FGMz7 zBbDsQi?)(M?))fJ$K>LuathDM`oePGbPE3xZ5UD|e8ek7FKwFCLpYV_I~7=Geb*m+ zr=KSpUC-3Lz% zpsbm<-%(OGH*JxwnMfWu3PZc4|K?=0;QGilp6cw(;0h=6yKn99#g`Ik+z)zY?%(QA zJH}oM6IF0=HZ@T~ISJ(Ad0af`Z(#UlWN0r*9{AV`KHWV@&o(WpMCdb`W9p4OmEmba zXSsS8l+wE8P96lk`WKha-vu~t-eKo#o|zkHO4|Oxmj`*~^wa$qpUc3zBh~_b9%mLX2QIGlEu9VL zT7tus#!dllNhIS1W}q(9malECFRqA49Yy_iV|bWm~7)tb_?>=dL?zjF34nm6=O#*4VbC^CZ^VEy3wPME-u zae!0D_j)vFD9-!4yHc2D9ELadL(an+m=il2n&IVPj$@_eVTHdL{%rS(2J;8LC*zP- zw*G_b3dnjfbpUTbkiQpjA!EfAw2*Jw95ddVOJC1-G;NSo6@+(H7&lc9**pZ_kPNz? zu^b1#xYhz;&1>CW+_kb?^!A+v)gHODmct~6m2f0P)Sl9k+rCe+=bu{z8Nu&UzqoEc zRod(0KJH|BbvGa7ep$w+yV-31ch;b!n(n4GCpiGK0JSTCpL515lk0a4Q^9$jSAudf6|#U;X9`QXP^dHlN_NsEh%)MNZH zbHc8feBt#q`2b~c`;PONuyU``|5(qu<0Ktqcs$3Rxptj!|0<5K{sn6o4`BA$_n|O( zYFH)CPV-!R4e|IvF|hR-zW5w|SV-UA`=j^^TIg&_m=J?2BdW>?Jz}@uW_iVx$D)f4 zMc`?wjI)8qyAO*8wErWV812o}%NMKNLJUA_wI3KSAuKLuRmQ^HWC$uhQy<4X!S&7` z3bW>CIE|uS_kXs>oc+Rw>@nJ7VqLs*K)5|e*L=UYP8#)dO<_x1Dk5Jv_ojJYgR^zy zcTHamPI^%@9~mcayY0^$>vCI^SL-qz<2nxU8H|*<3AXZ-Xv*F zx4jQ-@lKqrW(t1D@c+TXy;edsJH%cwXNc?yiYvD@^!&p_c~Y8fUtEbyYTsP@cJb|g zMD%qBNlN)J!`-Z@P6;lmToLYdE7^i?3!8{3Z_ZCQ7%|uo^25yp@QsT#sgNgM_x|8Z znxC{Mc)8mbm+enKZ6{{g;OCIGGI*P&BM6NChPtUwdSOP);R-y>#Q*=mosx$gyiDB( zUSx?^&-*jHO-p$W=_jkwmtcPM#rlkTIrurb27wQ})x-4~z-PCeA;UzS_Wgk|@8!eZ zPEa$hvS->87kTb84V7F9A5I}OPKI=G|L}wU!s6Pr$y@Kw;>Q%bB?)Q~j=6YsHwAFMb#`aKgCoj-xd%rb>_Y2{Q+_Av)nkHZE9LsVpVvgQ?THW% zIGL212Xf)gCvfqJM5+59Nxc;eB?nZkY;I3%XXDB}IygzspW%?tgd3Um&|%ddoX?Q< zh^*ZHDI?VyBvG@zeSdM8f$$a9h$#$A)MGu1&lf}IEd3r_x{+NtibdIxF^!uJM0gCJ z2oK!$&Ha;k=ex5_W+ehX62G|1&G~q}| zfGKfoUs&wC50}a6#5M3^9LeKCT)ou9-i2?|cEc9-w0w+-{jinXd>ssgf;<`~k(#F{P{_HMx%B%e>ZU5k6HRqDi%>{8xL-_;BNc--h2XI^` zZ0!(ozB`AxU=?yb6iJP@-)_#)sh~NTAWux7z!n1Ob z@@K3&8qx^FEef95Bp{SH0A`y>L+!J&+mMlky0T zze5D~O+MLthQj51gIRX%yUCJjS!7v|g|lvy*ErQ7YF|hF3?bsKNR1(_?AuZNbzUnrRch^JdcNq&U0-G@F^kz^|M=MnH-y;=An#BoILCj{EtJa7eSZ=?oO$uKYWcyJhXRw|XXxPD?avl<4-mLI$U!M(&16U^%>Ho6J-0L5>rN@ZxRw()z`FYS#oax3@_PHH+M%c$ z8uuR*^*}TzO8D8p;Wa^LXN%r%yk8uaJ9jhh+CGE+<7!YL;l=A&_OoQrQ%g^q!h zlS*kkPjNrQcfA>R@kBnQMtx`H%O{>e@WxukYes@RxK*|{>`R$t;pF*R375lW2PZ$O zSc?g!^znt?JtC0XOwlNuq)RvNMe)WDUNRimP95EVVJTeW!WG4K2B9Z{JQmEd#E_d9y15O$iMm-v*Q_L4G^eBiuu!){p&pNo}Q zg)d&M7==j5DnEFXq$XO*ekZ6zobNg6zExcsf5pCMS>AKZ)?a*Dsp=f8Ruvl}Zt4-j z!a%dR9(Y>+nF@S=Os@o4G&ul4_x9&6dd(z{%q4CF;K6{RtiznJ<5}hOLK= z#OzMsQ3OyDFxJnCN7V4Zi{w!vpILrzi<7D*D^>zQOZ=XeTc35`sUdG{S|4|COT9me zWNn0A2cG}_gGZcwVa|Ih*$%Z!Q|Wj%Y5Oocg|2Os7Gc)I))qIUp^aykqy% zMs^Y5?>n!+Y+{4ZJiVJ;Rf4W(AI+O8=Es}qrq+yJ{FBd$0BoD)Z2=$LS}ib348u18 z_@Ch7-qEQo=35Isiv`!t!P(y14?fMY(*7;u;-o2*NS3~D(lUY%%itZeIjQMgDbZtn z+S?#CyrNT!GHoWG`{>@1qF0`NPX6Fiu#$*sU>GK0_o^x_^ImFG;TzRYi}I?unyVq>ejhNm7R3x4!;W ziu9dap!CTm5w<1AVp2*V$0BEGM9A>mLvBBKZLDwDTGCQUHA18|y`MwRrWNE^XusFn zd-n}Q_%#fGJ8x76f6-IGv<(D*!d6WjXy!8w7U3Bc7mg7>XNYH%^D^dFoZ zP}PZL){7I^WJ{x((LUV|{yuJBZ$UFSrh5wx+5QJ_uufTe^BuWrbcj=Cja27eDQM{0 z<7M?T%WumOX}I^y!hCY%ae&$fVhCQ&i9P(Z)YD`x@rJGbj`ZG3&Q9UPYc$HI&w2YfHp#2+ zoC2bcK`p#n3z>iS>HgSC<@Kad6rV{jKCH+)yIAHwIFuV6ey^YIMPuj5dET8YXXEv? zA}^+m!(V;t5?Zr#@F%~)M|pP1q_-O1o=Ive{Mn92 zWGcno>?cGi!U@Zkym2TVgTq?Cjkk95J%z(*=V3nc^HArncjuu>N)hPu>!!wKiy;9s4zi+U-_Zul{#+y^Uo76?=lRS6 zc=^1;@%-Z5{p0-Xx1V!#W$ z)NMdtc)O$5oucKH;CymODeYHw-TJ01DeVozQCTj0ChX0AQ|hXppB3%}2>HRYfAG8E zP67X+f<DKX_K=S>509?DLt;tes;)*s`F6_AUF(Yr+00KX?`oLVCT}PB%w}3bB?^8XePu15&1|@sG%s6+v$iZ6{^Le8-u*7)V@XHhvkR+NN zJewxbsd4+~PNH)O+N++6yz#8gjcn5o+Vf?>9bZ29e3ln2mBzkILWTLhHV^U0mwRR# z&uSnUGK*ihEep2%B+pSQ`(lv08>sBZ51yC89V%ZgG*uEZ@d-ik=of$Ua><j%$< zfhIz`!>QD%=42|*JB|r%G{&>U1tu;mtwp1#aAY$ z^_fH&XgyzfmDCa;QTA1K$%?Yi)c9EYGxZZ&>jxiMAy3I0carz}<}+{COq;r?X4iRk z97Bd@$?k=a`R#^ieyj-HknSiq$wHpva~X`&CGGRVTlpBJWWe{5UGTiL`+W+RTUf({ z5HmOl@HtugToxn@-eZnX0_J;>>1P!2gw1n|R0)X(MhVt>iKV4*!T8u-Yv&SOvoM#A z<+O*)>zzM%Z8;_C$OlacDg}_|96^&En1jnPb!aLk#artnsz7rfQ0ZfVqlP zchf~qY@E{3;r2rn-CsOkVI9dM7!uGJ&8^o>IfN3HJI3@_>XRZK<29cfsbxEGElA~l|11Q}cZ;+|eo z+w2sEhJ9`ObE>@^{fn=s-L0kei%%Y8r=R_<`hz#)IK;{w{F2^{@wu&?8@%K_?Mp)= z@}u@-@aGjggX_40CA#J8hpoIg9jEACd&{-h6)}ezS7H3SK??+;aQv=X`8Wb9*AWc`V_IQSn#>e_il%^w-QL zu9Tx07yaJuIko+B|>;gT!?hg{J%hZw2{JEHLM z#35~*xp_!M%C>OOm)LA|?{BhU4J-U8J*jH8PjD&+F^p)wPz3+tP1^!h5jAm@N!+VJ z%uM_9SE`4M!`%%&Ic_1sb77blqEBLkc=3gpz2i(u_$D{3MO6A-8`{`S)^xc)a>9W?ROItj*JEPu^!@g z4$kLEKeOB|zbZknyZ^IkCk4$oHOfUoDm6h;9c!J;a^V!{v@g!W(D=(6vN_}1&EF?- z7#GgZ7Sder<5HH@JWMi=`Y%2*%(=qT#YRuelTsv|nY~1!jVq*xbK@+|%mU%_?S3%FRxZQAHO!{H-S;cq1BiII zJv4N;ADl@<4~AsAbKSFn!%Z3-X@t?fICcKu=cXD?KWts9G(66cAXw1hIjAcag}{1O zn!cJHnQH(94uWA@sK0PcH?X2y{MgqS`(VoI4_-4jaIW3%b^Z0vl9oQ(2k)dDfLFLu z-r#VtvX#ouRi0A6c$=OBWR{=XKbwU5e|3>>b@uo*pAEK&CSoLceg>jgVJncIHa@KGB@s(&tXw^-byE^T|D|qMba;f zaWTY6oLB&^t8-Xjs`0d(4{z{MA<(%w zZ>@|kj-y}Q59)Of{c@6Z4G`=9^( z=YRb9r+?G_{Fi_IQ~vz>KkuLa_P1l({rNwCBu@TtVL#jUKmYlsfA{zQ{a^p(@Bi_i z|LvcD`PaYwZA}r1olo&qpdVBD&ws!0**ky<$%=;~@EIsDS!=R~#4D}zhL`LRLfykK zWvb_O0z)LIZ9ee%B7heYMQfOq;cFTPrdV$~uRQP>)hl}JaM}ZJN;cfOOxJt`UT&PE zY>1}Iz;p1zQN5iGDs&N5qAg*QmLASU4*QbEqeeXo_*g{gLn1%z3!lG%xqr;@h0n() zxY#SQ<$4(Bl5{TinER$BAYGJ|y9A%@)l`3hc{3ZQf3u!e;C@@TwgcmBJ7z9$J0GAn zZzzO^NTh)GjLM$jR)ii~*TZXge0LK#C?S~_?Ibj*EvC^j+?6SN`qqH7!CiC*ZZ`KJ z6h;Jn3C8QY-V3XE9hj?A*&mp&5b!L;H7HvJ{&4NTBuLkI$^|Ql2l%-+1}0&?e5Jrp zrD%5#tN~6UhIM~X95SGz4ztc|3#MuE&ZWNRb%8E8w?NyJCd!2ei+v+dx-(DCgx6HV zI!uxMg~>!Z@OF0b_`qEQ*)rtaH}0!P$HVi;?|fn0&bVPAPaR?=F}&sJ2gWUNTQ73& zfL|!;T}vbQ)pZ&^SX2b{Zq6qyjZ#p^5Vgq#B{lca#l&33z&J>T;ip@OVH1ZRI*p!6 zBCK_g#Sr`|Yn!5nV*%^1*z$OggaJI@^4K4k6OhL5uyM1wyf39gKT?CTG>+kb$9hl} z0@T3dCN;rhHRrUwaQag0#1Be{WXZe}Zf7)jwd~3l*Hcar4VGUVyNveddsJZRELQe8 zg%)4gyS5F$;Wof|`HGXpcj(~qdqE0_9anyEUNh}Wq?Exobv{My5sMwhDI`JXan{X8bq z6y6|X5iWAJ_lpn1t3{C+_~mo1#;H#oU!0&^c`-L1ho-{-F(Gp}k-uK%-taBepAL%NRpCw+*c>d)CH{=(Q8oMORnKMa7m3{p>=x2wtEt4_M?B=R+^HbO?^u6u{0IgTw&Ba;&-UsmBE?ojYLsJN-6H(t*+I}g7hG?GQ42d%NwFW19g_J|w z7~_LibX>q6;`Q?fCl`%=&Tc$!KWJXEy>_S@=JxayN_o#0WP2X!toDN|H&%L?ZH)QF zl^ZL9*RkX!2XE*7zwQT4z1n|pxv@}Fuze>O5<|lZ#*7axa(Cg3#_cJEZCh8zqK*8i zKe(@0$Rw28{Je22E#0=^s;fV^ZhT6+w}%LPD*$X_=9~>iNB4aaC0w5Y(A;g258~k~ zZLGW#n4NG787FGu_ENHQ0xw5rtC<_{DnkelC4$%c;%rLsEG{A)U%V^+QK0RyTN?aW zOK-gDy;diC2wwzg>^<+*g!>m?cD!~>zB`^JzCXuNT8O2Cmzoe(uO=sXMRW0}YLCn4 z3^`-)k$`<|PF)Q=yOY##E&n#3)9Dygjr!Ptq~m#1@kHj`oK~9?Uh0#iQaA zE{U`Di=#@KMBvt<6fAtnECH`IQGpkJy`4lJQed~q$H8G`dYt(Dpc{MJv%;JEC*R1Q zit(0IU<$_C3f}taD~ZxriSvt(;ArA``YYD31kjxjE&ie}z6C3)GQY5c+lz~lV=~}S zktgx_A>*X~;Buc!>CKfZ7az`ueh@M8@T;<6miswoky9CiJC%{zvu*D#cs;E~GNsS{ znEr79K29WsF|NmwGF~3%qf<7X*KT|{`(B0axBqb#WOx4rOn3RgR|($Cwfw?7=Nx(p z8Opn?#c}a+>n(`l1V6V#1zst9c!ueQUKri57hNraR@g5-QZ4fK=|FbynX-^K0aM^} z(CQ;vqO@@0Lhx1G4S8`sU4ze5ogiO+yFXUs(^I_i?6!Y!ViW3z?1pu5N-BGB_XMKtd=*{zz)8+5Ke)@k*hp;Qir;7=$)M(JiWldi zv|Q!|qeNZ7#l62(U3T7u!@k0gt@5~@i+qTueep3ooQ)P%4c@85ah2M$THd1MvAF;O zlfvF_bJUVJrI+O`vSz^>nq%N+P3542x9oM9z*6Sh$}E6S1$dV9Ev64rn8?r;Gk!K{ zSNwsaPg7HTwItd%+kt!Uu4tvm!OC^O zgL*YrH&&=?>K9Mv9J-&*59|U#g=^l=V9>v7?)`jKYuxT(*LzY7IUkF93Gd<^6|NlO z;7Gey7iX@yp7Djpn_imTU@r_`&0zs5NY82K+xEp>DGDQO*0J&F!quWIy)Uf#z$rUx z-0l%$eS+_Bk{ch&f}qaz9Eh0&4vev83R;P3-r?X!TfxWKo#z)vSWf*MTf*1mO88LG zch%RL!z}nxs6+*@J4yK$-zl&qo45ui>Nhh^6npv?pQ_=b4A{#IMzEC=f|RQ6!Yyzz zX0>@q?#d4Ri*L`)ATfFdhZAbJ_fPrm2X}k4(QU6a)k3$K+U6D|q3{0>I`-N2o)t(|TnPy;^7J2VO4HNFMoOGS1#*0YR(N#*jKk<0OZ zVfj&{X8FV=087~UzPfR&t$lG!H7%S)u3G;*EbVnJNm_6IL;K~?b70y?fjx}sIOCL) z*%l05TJUO>DB&coy9^z#l=lkbB{)2LpMJ0?ipK**a{a(9ze?%N-e35A+)I1xP6fvD zDy~@{Z&)Y6@u=mYVD9-mRC~p)rS8uQEc=UZ)hjM?w^r8KOH!38kd`#%p1c$kZbiZ( zY5-nC{owP-OQA;bGYP6S31t9+9e4a^t9yF-8PX2^;`v$9C2w;wotl{qv@4Y_uCz!o z64dw|;15H0HH-w$e$!78wc&F6Mt;GCsX8&N1n-NJrTwJ&T&@=pzQoetZo(!5P8>MI z2FJ+!bbnymOS*5_jDlC}oR`xNHTy0XR`shp@5{Acf^qg6KIW2>L%>I${!Gpm)>A$X zKG}cFWbxGd^$1pmjE2}<>wEG1>a3D6G>#lVxE+p7@6uA?6n1t0EJelpi`$mO)L#2D zmEhG}77CiUpQ`eoN|cK0>)cInlBd!QMK-rN+E)y7i|gGA z%fYcYMbME%K46$h-gHA^$@t>?_FkOf3{1$GgPdM^yQ|yy>t7`#P|63dVy2*@!GOc`y`@6d6Su!K(B5yg#`3 zWcW}`!U25F`K{*ccx)#ZKc~QUb3{5n-E$KQ0S#F>^>*K?3pv4`-Et;Tb|jg3aLmgL z|5&pynV7Z+x}i+5aKr$_PjtTDEHvTUv_&Mm!7C|lRM?W5Lp#RL zKG&z&mF6+ev(SvIf68Cq_<>jy99gpdnP(!|)v3jI(BG_FYD0)(f^x5!61VWjw~0 z@pJJpEcrp*=V3f1s${c>NQEkq4$dC(6iZZHzCc(R4vc>ujEOl~xj-xthD!5n} z!4a8j!57KPEi~Pa6FOfNs10)EYE{CZ^Qw(QQW>uDBuZa=yZLx>1e5fMP3NC2J0hGH zpC0DHxN?xP= zbA6bGr^N-hh0Xh;XUnm6ATIvdOa0b-Q^j7=^wCzczQrEV&v=zzKg51Z_;-bg z?Sn^;jxb;O!J|w8Z>BdR65X%52)tY~n@I3&i8+-4xINzL`aG7HgY#tn;?uudQ0)A| zi1Z4Ek;UDUR*j6ig<2qq+h4p{)Z`4ARDC-_0^17iEeq-$+dl3)m=*BU zSg(tev2y$0(3MQ<@*z9v_7ghg+Woud)P8>9sQy8wV9PN0ni1@SDN49}9kQbOu%CVW z;1QT@)FF8ITLPmJ!s;p;@YWSPGGXWc6DT5hCil<5wRXDqX@X}xI#9@)D6`{>FSqZz zJ7GS!$Eo(#Tn4A8SQ@HO&b-h5!F6sxU32b>{;-yq75!8YX82Yi6sl_DPvUnlL27loDOUbCQq##U;wpRi|DqjG}vscq0sA^NY(I z>yk+t>kC@|4b`K%eX0^6+wHkaO6mb$ywoi4nY0AMqk5%LrQ`F52-Bec-cz%SWdeim z;MA$@+n(d9dvf@KeGVHZn?v$`I9UC=FmcL4keKA@%r`><5z_3EG-Tc5qBx+Y)%VWP znTU#Uoitv@xs3%c5d*w>Y_Gi1=Pw|1a z!7|+_Cw*L1wCW=3z_a*R<#uJ06z?Bex;si_E!Vx^J!*0*mJWWksgQ0|)ViHWIM8s> zunBJRj__Vbk2uubh_-UIcVw65Iq&Ukl}qWB zt_EQXQnhdUa|o|uy`+jf%n!cP9?nc(iiBrwFi>~T)cf*NBXxAX@=rgoDi7aIR3-1{ ztuCuSFd>gt@coHI4AFu1R7>wR705L}YNNJ90HlU-c1K-%$>3o>;TRmme&!gANv-c16w=vRVw zjD_I!m_5bqH^ON9;;ZNbA|nE0Yku*{7VA`o=kvP__Rt=Is2gaYIATm`99JoI-w#f> z=Rp)MPO4Yw2siB|{4C|iR>YQ1EW>}`V(dTg@-%E>UhfwlhG&l=liNgfI0l0;RuY2A$L2F!D{2je^V zIjgNeMf-JkU*TIfe`*Yu>uy!R(ucP%_!@T2+nQ3EDjuiG1NRSJ{T4qmG{Grt(fpim zwA_A1X?|a1%Ullyg&LB@^%egNGxKJ==jz`=zyuD*O~yZ$u6ZAPEzb|!12#vDlUJ^< z=-JkM13&hR1;d&+SnZ_5@r&NGpO^gUddI_!@%4K@>pec*;Ki#P7x4UT-*;B|jALhS zJTK3i<-FFL%_n%vx()dQc;#B=@$c52^?vb^_byhH8XW5G*UtrC)BeG|`VnVbzo=Rd z`GK;-D}MRrrLX>c2FdsF_@R(|8~35mR>>k6+>U4PbN;`X1Q;i@kyA1RDPKO)y0`gV zf=j9dKTvy}w-&r+F%TD0{GdpLqm^N8x>D@%z3`lQs_vR_@Ue;vViNgCe_LO?7q>s% zdq-7elM|ffu2N_PaG_%8PRN$NLnM3t4xRMAF8rmIiZF|}uWADq{8)&j0BPuO?(QEv z+mr~}0v}^wW&2uUzWd-qvMg-+u-w)keEY?s5dFSiyyS&rZhwZe%WBut#!ayO;5ARR zoEt<|Bk-29Dj^tSPX4<8W=uEpC8 z=Th_FXGt=FD!~Bs>{5kaz6O-9Ftyu z+gG@~OXj|+cU<^Krhz#laW%qJN=Jbn~XP%rqZl zC-omZOQaLkY+qb=|LXAHbMdq1jR-rE*|!6qwFqmdjJv0|3lD7FSPNnw`oIJ@^{m)i zw{r@(x^*BMj)gn;$s6|^lh~XuTt>u*n&kPw-d%(5DVAO>K-GhO@tGZ=_eeTl+|Sg` z&XbJ=BcjA~DIzZqJP}3pLL>b;8;J1wc;$$15|lrSgkkke!&P{}-`CFZ(ITjF@%z40 zk*Weg`0sL(-`r?b2$GcLsliRS-{5m8O;+z|ueI*aE;27Ycv4TYT*3D{@?J@G^utQ5 zr*seJw6J^(xQhNYHTa0zMJcQILp_*U{fqalZJPGi~ra z&EO4k{;XEG>VEMaSwL)RCdcTekPk}lM-O{+d%fMf~DXnPpL>A6(bv9w=1G*7bvDRdGM4fzQ!3clIu( zxqR^*GlUgBZhKPhR+huF_Jt{B+lI@n78E}BU2Ks91%)sCF?_DbD;wiRwP?L1b2i>j z`(5TeWuRMEbM*CI^5?UZ@6-oh?*8pg!WYc-AkC49>0eyRc~bWk(TH)>J9@gAuWKEG z`zUulthXX$1M7bB!prMxo#1nxjhYYQF8mkq8|y~uVN=luj$TW4k+BiUxHwyByQhiS z34)I-gn?%4ZBJq1$O2zZA`ZOrv}7ocJNk1MdUwluda}D1FK^yeeex zyQNqZ7`?_E4|Dmh0Y0GyUfI*C75jqM{OWnH`vVVnHvMK%{k`48ZIw@!tf@N~(s)Xa zlUeg#1&?%oj)y0!n-cjxVpWid;L|5~*2j8Ng?I5h)cJUytiQtU2A!>N63%aX=(#gF z1cyKE6@GU6{;JClzT&*8I~4fB_byrYXJF150v}M|c>EKG!NuVX&$>T*%zfp??>_pL zdAo;d^d7<`1+l`9p_-4M3+TSngUc&>%jn7*zPM7z{jy%i8ZI8q?=$$CX&^K3ebWz_ zHdzZQvMVFOXmcfe@nsEiq6O){S`wM@ zYn95y44#XPl`Wf6Fvh+(F_6cq@Gld#F1})tlE(hDbq9lYeA(Sd$#gbqNk&QE6MRH5 zBly%VLNs8MUB9?ByU zvkT`dlXjr;9#);{hd`o8xNuch+|6%r-q5m>c~pm^VGTG3uk?(ah3&W#IO12uDGP1Z znd8r-#B^OD!fsu!8u>|FRqwB{0_y{YT(p?YCNwrGu98@(!NASIdH$-@7dSI zr!I<`1d3R0FRRO@1s`)-K0(|D@UOp0plDBux`gk?!IDOLpZTF6CBRET%!N?Qe6lN( ziu4T0Z1WP&#n~%7cz5CkOb9*=g0q;xNs(;9yXBCoD+F94ck$`yM}Oa3wNc~db7RUb zLr=ixb!N=54PA>M0tQ%RJvnE2xDF&ZVr`nVV-idcQqhU#l`zi?`;8YdEn-=alG{@~ zA6PpVsl9zTd@6hvM3eIYSs^9iwI+~-ngwskdKGP4S85c*QV%mRC#r6EbeXoTI>8>02;J6F@ zQNkeh{rciHZbLF2#uskEnGeqzIgYR?+Ovn{?8Bk@GE?K8nGQ+_mT_n=4`422x*JrrKijXR4lh0hpRGP~2?>Fi=E%Jy1Y`dlFoJ{5`Fy4S z`^6>5T|}qingDS0?J!k~MAcma7Myx5<#t~6bnq=H3YtqBc3!wjiK%Ld-h;4GX)e+? z@QyOs`ru2(Qc+TzYn(35K}-9+;<0A53-MlJAE^wzh z*Z98Dh{0umzdY86qZ_J$V=ZyAiSVac4fEo|c;l^%FRnlihbwx(w>^YK-TAy6(cVXi zwn5Xigr6-b26FIjyox342Oml=e!1nid&o%~df*IwN6Aa)V?sZ}_%S})FYe|Ow#)v3 z2fiUZhpqzT!SE@yq+PAZ3`}#mk?bxS$wiwaMW)04b zjbq?N3Mn$_MSgV{cn*%6r_S_`qQxUG#H+jN&Y}uFm0V9XgpVI$Y7GaUljVCD=^zVz=GG=SmjP@Hl5L>3_mO;B0mxBQ0*l;LX|T@}dNWw1iKQ zTld^^eDUcdeT>7h*X`!~d!4r6Txk0jNBpkpUR=#D9UM=K+V3|<6UFZ65vG=)S-d82 z)7ppa`k3|Oi}&E{HSbS*-Kl9mpNw)Tx%)A^Nm`yicq$J_R=m9+&5KV??zyM;+YJfy zyes+JT&`PuecUSVAnZ32CUH@_GDvZK&1;}krw6Uza7c_Vt}+q1xZcmy05>;32U(_O zi^X8N=z|-B4;1CjKwu&q;RHvVbXk7jwW&C=`^^2@`0E$m2$8>mQDhu0WFf8S_JX>7 zbv4X6W{Q`k(qy{sL=XDn%QVm62+$A1Z|F^m>Y+*SQV9;x4|gxT!Z1X836qWB6c!a% z{-7V>ZeHB;+PXy3C%RhWgL_JG&Cb}jd#of1IW-4_KYU{}j(DZ!rqoY2FvY(q{duOV zs0uZ<$PCPM|2Xj@xYEIwrSY!7!IjHpYDODhY1me zy{(i99>bw~at3GQ`^6#P&|@+DpY}vus{(efYn=*L&~rxRr8G>S`GXUUd%9fUzFIY6 z#-i7&4?OKPSGV9jaI+j^A?N>ve#XP!t!5U$6@aggQu_AugHP=h%^sKAj|{1)_9%R0 zEeKa^hIn`1rcMMW3!;0NqyWw@tgHjrO!xVc?$4q!p_g9FfAa$yJ(g#=V}U@^FOVAc zx<4@dsA_#CyZ$tv+?!|*r$XA3D(TDdBXRFoKf-m310SzwEkC%+1Rp66Jhz`g)lJnD z5I?X*4Nk&Grnt4(AxgQdx-cq5APO|Wm1dX9pRpW?4)PjlEq)E-w?jbGBZ*CiauH6c$*7EbTo zqeqxXse8e>|7#Yi6AT4+wi>|*ko&VbIBv(9Zu)CkAaMM>wPl^P_(@dG@n{oy|5AO_ zZGP-Ku^2)adyb0t2UorT`4;_2JOLbHo1v$ANsqY0nbRLF=TLXn=Y@CX#;kimyB5>~ zbEqYgz{yprnX<=HhZi1hPDYSnWJkon%p;x4>zf&SnE_Zw!5O0W*Mp<1JzQYB%cu20 zl_vB^4c+C$;MA0E*W==8sr`$WZk&(qy`$+{%mySXJ;U_q!1Gbc!Gj$$tQ0T!g-G1Z z_w&48Se!tlH4&35!58|eUSm{?KN2SmBxue7tZ`@P`l&nz;7#z9d z=4lw06XW9W+kn^P{ee>n`gk_UyBK#o$c|T!6JJ5rnen`yGc!iPO5m_3sqG0r}a*u__N<}+xI#| z5=lNE<&f{i6|yYij^3_E0X|#3^zlTwJraX5ZUzH(wqCMeu|n39cX(#(dG60{b1c%F zLYe*xyZJyv_5I*h4rVDpz%{=3%6HNbxit=Vtm#hnGWFXB9(>sPAiT3uvpo=kQQKpV zxt0ceL?T^`*v--c##NQ!M|?nEULP=sor?Jf~-Km5AULmvAkZg*GmOeV-P5Nr70$*JCb=B1QPpw^+rnp6lcehkgw$0|}R_~PV8dTEZtG=s0S z@49$_bB*4TGS$w@6(l$|$n+B5aGSM@lfdD5DAxgNSn|89$cx80d&;4WQw5S$i2l5AEIq~Nv|F4Pk#moOeVQSKRXAhn1+OJ!9J6Ex*!NbZ z)p;qUgG-TV>#81yIi+uiaCuo(N_XDi=hkG75%Ls}=m?HMwcgA_D(RzqV!9c|Uo9vT zTvC|KCm~(o6vgqDJRUL;ZPcNx0xxjBI?_qY7jKWBi<~BJ8VIXD(pv|HU2*)tyXUBR za+5?@y-3=tsAM2YhZk>tz3+Za*My8rafC<1>CLq~!P}Eneon@H+Y_CZ?e(ZC#aBb& zbYz3?yimJOjkhOe(0MHH0%Cf8dM*TLy?ReYK%4`~dmd4DFO%TYzxx)+GlE0?-;{r^ zd;iFd*ZAnZVnQnAuR8cj`)c|q;PXD4?kx~v%*?Xjo{MUOnY?`QU0b{dsW82`jAwiq zk!l0y)-c@t1DDJD#dXhC#3{}$sUpiYj?bb!@vsFRc1>LJvcU5FDur~t_Gk}A3=6sN zffUsG;w^5Z=h;cZGwxS1$XT%4&?3Z8DdW6CC%{+C;M-2Ea=NjL*Lat2VxfdEd`_U$ zMOm)#einYc{TIC-<7*|sE%;@qfd$z8DBI{Mb{xWG<#WO~cO-BKC)1DcAsQJH_n++V z5~US0cvXVn8|%Qha@FN&tj)1a;~xJO3wl=U8T6SqjRzP0<89xXu5uWWFGkJE`r<9F zXjdr!Q;9o?Y2dUai7~TmoOS#XAAIh2Vmz!ilofvZq0U#~7V3@0nqOSC!?4syqYQY4 z*)e{1Z%oE#l`Mhc4_A@x;@mOu$FJdX7vWM>aQuPH2e;>b)|C{4Kc4ew2UpUE``H5z z)(*^9J?_QZKfKrEnUdF1qa+}lfS;e2!oPKJOGjxZz*Bl3w^^pPcI8#~w)k$Mo>wZ5YZ$HHV*I1m7gQ zm`q2+Shqcib6O?1kHo4BUPbROm;aFPUH`(=-4bKFW~Iae-&ZjndBn1LNq5&V5*n8z zf?l{}EYI@~_%gi0+9^eE^fF#`bN2rD_9SfH%=bf?@RKOLgr8eq{#n$Z{hb6CzY($O z@%rE}t~3s{e=Sic;pekYigju!Yv8&4HwvfIeuly zYo)PW+=M&uZpsysf$%oXFRto-@Uz*iix(~mj$^)9nDv8;+D`cSvTbJtujWHSN5Fo8 zDe5;Wyum4k^}!un^9e~zE%gVNFO2pxhX9B`cfY|Dx076FdaRIhgCBcWb%+Y9uAErH zp;-~D(m8cLzq(x4tLAthJ~%`OW?^bC#9hMi=&DwZxTgyJK6qEgD>&IYw#tmRM1?CE zR2PSsczf3NIdyH0fSa=${Oo(*e!#1v#ptV*U%dIPpA+SaZ^}$f7KI4U`vY^X^T*08FNhr0GQKYpo3sgr^CX&d8|;_A z@Dh$;U>j~??{)>Xm2`FXyB}Ps$4ZteBbzl&V;Gb@%4fv&H624!5FGZfNAqM}_ zZa+&LOu`>-X6*+jZlN@-l6bChRR++0)zl|0)4gub4;*@44Z?@w9EBi$b&V+;S+f$W=tp(WyEm5uYV5V^VStJnzc;8RH; zeFha*(9bN_lL%gvz69RS!mGD^X>tRwGt5a$K4~^~;O7VAI80laAgKt#;(htI{IQ|KVzXEBx zdF)8gTsU?XLVERfPes>ACeTjaBmDJJEZ4n&BtOI4RA1HRGH1`5qhm=;;^sFY{+-H&6)h>ZY_L$Y-KW3d+_;~!~*NL+*)2Za;T|w9u}#KKIn~$eu8(h+MVPjWxwhC ztOhsv`^8nmKtC#57p}BToy5$7HG)34lJQ?@pC;)7HgjrFJwIe^zJamaX6_x&da{G- zB&)+qs#no{d~shd=y2TLPh&*wG|O12<>GB8OX_^I^%w2F8{tc{p8|%T^U2F%<=#`0 z^(5vW1?9N2Qv2y=h1L0Wg&T8Lb0ssZq#TM@&aC>GwhT1c&s5S*Q&$F7o}s3oTWiyJ z-5xvTb3SGQH?zx9XX+OP=gkyrof6tcO`Oa)%Io0gwQe7JTNJdYQs|!lK5^r2;?}Jd zv&){5Wm^y4oDxQkoKH#PN|g}ptUqzMVF;7?I()vg7;u|^N^O<#wvz5=e0z|%^1R9f zkEeLmpfhLZ0;JAMH9ySRgJ#G2;tJosB3H2;2qVq88taNea{QAklklkuWxBch7DP2~ zvEzlTI4-8a`%SK^RDzl5>Eg?bwhveQ_lvLBE)aOw+iibL74IONH`mDrzRqv?8|>!) zGLC~jIhAtjxgUrS9&s_@b2!(hyjtUSbs+JO?zv%^Aw({gV!F7CSARUvHD&mGr^~Jv z`5Z@vLw(V6Kk){4{QHB?q;iV4DEK~h#p7?e^zj4c=plvKp>X3%iHe0+Ra^byJNxKM zWY&WjPLO~7iPz`NyHftyX!bKrs&GE|vbFSzygp&w;N9;E>H~Y#jqk836ASeovc=nY zKZj$3+6^SOo3;DA+ioZqgiD!Pd%`hb*Tv5YR1F7}rBwU2FRm19e1GTI`1C`lrn~*w z7oT_j;K@par#v5oaPcIH0(&Jbf(Q!CYToK*Ih)w};$qo+i>U_RAH2Ce`Mti^UEJP3 z>ZyHm2|oQ=DD!H!e?$)6H(TkBquKaOd!-f4AABb{lRSpoKY3o$PR&Ol=!=t1wbY(8 zyw7+L-;AsF*`~Wx!0VN6XI0s0iGv$_S9#kW=^oDZh1+W%DD)UPIQFgoq&Z;;A4|l5 z&l=QXBZ0G8iCF=KB7Qf$U1CJ@i+6iupP@p53-2O=aQO;~wl(2PDV$k6R;p57Oc)MX zBr6$<7uN?W2FiC`924)Y$;VA1y>TM$!eKPO&5tRn$_$>CT>CBj)dBvz_h)x`zxW*v z>CEj5&t-QwIX5!Fm8k?>wwu3HqTlW@wuZYuZ>^3Wyk|1Y%Gp8c5u0yLZHP~0^eQEZ z%d=k!sSfi4OMKX0Ty=^d_$DXWEB4&ioZ+an#vxiO_KT$6DVJ^UVv7KFu6`SDF26Oq z&h*7uF&jeS&X6X>xV~R}hvFS2sdonFWN$ekh*@7;#kng7S@b`G>#oXqIJYymloU+B zwaIEcM)Z?8>nNK)+4AvtyyFKS*VHEOHTc;LQZWE>eW^6k^VbE;>Cl3+PB z0rI(@!@m39)6>&kRb6$?2VQ1)Kc9vZwE|b-6;TTkZ1hxoOdOk8?KhPoHSi7ze*_#_ zb}aAWQ3e!WVSuJ_$5btWG8fH(m}4osL^1HKm^AA2#@nVdC-!?$b#~ z`tD46zpk*CF;>72r1vNu&Wm&P&SzY>O7Auv0?)~nPGyXkTUCAP&@ZG_r5P{I`0@ZL z(B3QXX2vZIaM>29Dk4_}0p(+Gk9^@~oD7jKUXyWx1F`Bl=`jkhS5|3pMyzc(Nn;2{ z!>0#6iMeg}b6!%6Qn>aM%G1(Lfgek(z%8VH5HZ{BgNv|*BHk!aGTv|VOM=dRl$yL- z@dA?FGXsYoQ#^L)Sj`si%DCtv@bR{J_!L=aV+H@;n8gWpf$yj{LG#DL6kU zr}bLaWyHK(G{>!vuZqxO^Op~6#xYr=f2^|0_R}s6vLcSNnaM=8MCOnR+|{IH8ibZ3 zu{?;-k~s)+8Sy0sUd>qm54!xzzIOD2Sqd4ZQ<5*InkyIh2bnNC%^MeP?18d9gYG}Qb zsMe1=1|M6?Rr6eQlVBM5AISxGB&J zl}p202)jJhwNnj)T}mtVZsB-eU|R- zgKPT(CtqiL@EWw}!x08{;Us2$#HK;B4N+c!uc0T^JrXT;t$v z2SM7!yZeD)%#N#czL&@80@E0eaPeo7)QN0O{@^{x`D^TF0b|wy_ee=Fd36(m^FY|I z*H|Ref_P_|N7n7A&BMT1oCj}@@ht|(BI^?|sJu!nPM8YC7AlF4@Pz^uXFsfrB~Ah9 zPm{!^QR=YVfkXRJjiaU&lWDw#$i#8?Y%jr=6dWvFx2C&~7Z>j@lUag&L`>#q@GTTX za!{;ZT$%u#+Htd(h~t6^{tPcn7(+ozyfi`3sc?8)z`t#E^lTC zI8$&+;-!!ns#_@Y*kqXs>^tec^uW7c)>z$lyQUDDiY!qpu%`lA)XKf%m@1 z2-M@UTbBplvObx%5_jw3c1fZX_C6b|!-040k7#)gCn}g%N8XvH2fl;-;u7tVlxOYr zg(aCl^GH21tn@Ty9rOKVnwjDJTeUk~~DAXX4pae`{C!|8gUU#J#A0AEC zwVCiC#p^gf5tE5`ZV@u#YhAfp?ZR9n#|P9{u=~N$%#3$9hl4O}h*K*hL7+K{r8XWt zI^Gp0t0xDJebGVaG$6DzK6r8a$!{kV;w^auAY-V~{~@f>)(!;wZXkFqa0N=y4P2i=>`?y2_`^76a&z}7Sop^t7 zMPXF7Gs8cWfETr(o_@$i`v)I>TNOFk8u*gnq*ZKEL@`nDB2mc0Eb#XCzzY^koW;jH zidhz3V|H4;ZZZX{EDcZcrrPC&ee`ibDxr7dO(~OpD&n!@#l@-*&heN7r(CGiSUkgQ z_14lVR){%x3)aJnht3Sr8=ht3GiHZEsdf9QrCb3gbh5%eR0&gna z^Q%hX)uA(XoQ&oV6cUlA_p`6cPvaGq8ZJcOabk()LvZ$mw8jE^v8PzDqkY{s@w$2d zN7wb9d)t(r0h7?7AEnY`1r80z3R4hyQFmWRY%Vo=kJlY&3lok6x{Fg5)#82Rnb#MO zL6W%dRf&y#6@C=>jnJDc^0q>kYgE_JXl-!^WTmHl{(Zc-6bY)zS4Q~XlJA+iY{p(C zg!jRlKB_I|0q?NJMM+3?RW9K<>pe`H{~L?4cuzAfGUYD)LKkc3+0O(HTZrlWlFy~U zmo=seH!v-5Xs4MT%4TYD_JWM~^H@yhAl7Dnuz(xK%;3VNr&v&uD$oMNvODwPy+TrJ zsfOWrj?b8U!(lk`c-~?8;31id(I2}xW*M?>YWmNq2`_B-1`FJkUyR5n+*P+V93ItX zrgT#42ghz4xJ;?UL*eHtF_q@XA{kZ$L&A9jBcqzvB5)D=9K2B=-yXb_>h25NyPlgZ zW(d~(fJJXPCs0Nw8Gl>DU*rvz7iT*@&Cka;yg^yOj1QIO&`gyVo-qkCf>F#K>|j%! z)O}-VlsXMZmeqN84TQV~Dunq_*ul1wdF^FvsXtOS)Tawp0@w08_&Lm+YA$oXN*Ep- zLCjHJyhlIhLn{6LF2yB$g@gLw9X4{{xO+plre?1^?dPjWXaKHl)IN+9(-#z9+=b1 zRTmf67p^3X_||x9R8@N&98b1*yJV)0j}f18MI-*Uhsdw_n;qDW`Nf-N?YuQ&JN3ow zP}5Hv-}WA-*rP0d0FLT6)&>)`i57qG?e9(0C@t^}5t*lLu9U_HpULZ(Qq5F9_;f$h zGBe;X#AfA;4sJ@*j<+u6SbNU!cwGm7KxLCjQ_=U|W=!XFn(I(=G#$J%4zs8GGub<( zePI%vwpx?1;-hvfWk_psrt)%Q(^(t>9;CA$9RrfA?^b3WioGK=VFRB=`?73$RZ-WH zjs&xcC0jo@9?>{%JSqKmG9M7V2#UI?otGll{i(h;h9-_en#&PE!``}!XtcW#CII>lN!5`1ciu>WfhuilV z66qIbc4*&IBFRCCV{-u%08x%&dbxb}-l;?0es(x|L~i-t}v z_DK(%8j0!WBDctk7O`6i;?fP--7!qVdM(_0z&R2){uD1)iWKI_HoU|ri~KAs47WL) zlxh#nWsMJLN(O}Rj%J6Kb#ZNFeyW5UQ9d}4Ey_(u1G@OxtyRiH0Y(-zHuxgmEmgq@ zdrOYsEmH*rmdD9))B~_|sX+eCL(|{4D=)Q>ojazQC`Q zYw(y~#j&IY!s|Zfl6SPgwcl?=XMEAH$Oj+N*jWmgWbZgjx$oufINc?Y0Z*@iV>0AB z81y2#Kg>-w@a?2`mG$U1>)a1IbO*yHmqQd6oUGEj3pMD&UR;V(6#3Tn428T9j3o}; zGo7&p2-2lEFi2#KF&bVz@Y;$pW8+)KkM@+|o!hWD#W}Jl!Me@id(?TCWO&%RH$G%0 zkVP5{?ckKf=wX#w(_?CoH7H8%o5YNY6RW`y3ey25ve!suF|HfcNh0P72Y#_ZqF*kY zI{o;bw$iMp+smo_z?ucP=}IJ4F80T+B|o5!gm?Rc+sesE3g6z(YL_X7-8A3AH`o*@%u~%XelqJ!^rzNY+uN$RixdILoL4^Im zOSZdszW=zQqr_tkM`li!aN)GT$5KI!JbzeMYT$ES_Z<<&Twd63D*N(nytt^0ao~|y z)I!+eMU^}}J~np;J#Y%w6?7vTqQwSnyjI6r&bJ=M|)=$aMtFjLLE-9T|4c%PAcVpw?{z^D1X_}M9Y+)bkiS@#F$Zb#9Z zh%4m)awMdFCwH$TKdk0@{oG#PBpjmBMUPHD8>|YlUA$NfPEn z;L3JTiF1V2DNyN?YC!OFlt(<(c+r&-=H8A}jUBoaOE`qj4&xe^^+bEv2IdFXecqA= zlQ+yQ-3y8Cbg8{KYH!&0WZ3)HAEMBOk~H5g97m_dyW+~SN~V=djaf@fzVT(atejs| z`p{_7FP9_$L%I}qi`*3M`=e5@cO0JRSj+)xDSgC!IN}{K7~ygAN(EKA@Hx1Z{z&t= zM@+HtxF6myY>$g~(GK}0)yJk$F(P-B-bWB%vp-A~^C|&FfqmmtBF5!;n&YCKV(u9? z4lS-%FCI6Gxr~0ti0pfgtG~4)^M_)YTEsM?OQvI8c^No2{NBc3$o0SpVU2OG^6n_X zrO?8~!B9GA;3WHKib;c?t||#!aU5NS@5uZ?OZu2n!)Y}oh1$Z!BPFPDad5|pVOO2} zbH4rOXLr?Ussy5CPJ>EqO>&(QH#|t)tryqYPULDf-(dsuI-Ooc8g48ED5#~XsI)5x z_-=c|sEDYL7DbRD2Mz@x4h-#AimVjyp&&bVIoztmdWBYQdOXnil;S(-EdfW-|G*~- zyY75(C9uItiuCadZ+CK5kS&lcvT$8!s4+=95ALgHGAz646{-lurZm~a{(Bt&AG5V88@+P7+BzZPC=lT&{nvY9UMRK>ZaP*ZIq`U7Hi=(?y9iH)|aYGuXd4 z%au!Xc9wl{I6JEn9Mf<*KvQ{+LSK!#l;)fZ;5{8oX=uC^bM9ZfuTUN023|N_7AKuU zrS0InU^8hcd4y}i8aTx$q3T#JJsfy#;sZkNjqhT;aJ!O#=vubG8%3e+23*XlI#WhOSR^QKXVC|C-Gb!+)L45H@_~n=S#Wx9wTWQ|JsP=sEbw$T0@yfzg zo)zlpe48?@nu>f<4)ywm97qowk8L`en{7PZZn(sX>~b`A=KSE@>gjn0ai?&Kj_Qw9 z=c`Mv0#|t<{g<7e{*Py?EGP9-oh#X-0NpH7NRq=IFTN4j5YE0)YvB8=c8!N}V$0Sv zNTvIhR&5rA^IidSO{iJGC+;a;qVU;_S1Jl`dlJ^SO99T&;?EqMT%YY6`$WFvzW8=U zv&2=Zw>oex*Oi4`B!~VCb5jYnUHE_=$h`P5U{#qS-^F!74Mk^)Osa4~Z>>J~FrNvL zwY+1|lG|jaijDS`8H#}MD3>cAa6)4E!e!V>_b0i^1$;CW6hNOndzv3qDysx^HsJX~{> z$V~Ahzyml``$s0VxOE=5&#P2qKi%-uy(n5*2feMKg7MUlauiz&ylG2$%ta#DJ*Ggo zq638t!D9YB@YPhZsj{mikt*YSno+!zW?k{9456#?5Bz-k@$E}KnlgH2=BE&KY$5@y zGU6qXcHU3_;H%u?D69SkuB#VVZQ5+{bt)Kbq8Cy}dyUy4o;*x(bY5_654v2|Q#ek- zV*w{Kb(ou|!5CRTxR{u@t|%#HhojS~i#(N#w+}u&%96ur2FGN))nx2+ZcnAC>c3PX z24&Rx;MM()U1D7l9$qV0WMD0Ox+&C>=a{rK<9ygMd8#RzxIG&!aB{NPa(LVz%)hV} zT2;-PKR1aJGs%9c9V%$XtD?`4+MJJB!NrzEt_2B&x}Tx913sM8N~OxKE;qSw^JwrL zyfne#C91)7lPnC~r1>*+#+ysWL{H$bY)o_Yko8nO97xe6Jz1!t9xmkyxQF->)D&$5 z-jnDlwRUEIyXlcRSVUi5Vs?z{v9O$@rsCq=1TbU^4-XR>zbsQn!%wc>Zqk@dI#s1X zrGxavZ($^9#QTGQ{0a`tO~>nx(QhYefS*T-BGxTc!wXZXTVpp3d1delCvI?r4bmiDTuiml zW4&v~c{kGqZIqIoqyZsPeTz&beh+Mwe7(Y106R*B`|vEY?uv;Hw04@cwl6-sW6(Z5?YAV= zDcLLVOw<=wY7uymcWwOmjJq30N@87jIf2?_j3$8$T=J@7lIr`@JTG$`O_-|gXyBjE zK`>Ri6P<()Wo?K^3exi&_!&wY@nMyaPia&E7O}5sBY_Mve{r)PQgWj}M-!1))5Qi~ zVvZc-z(+AF5>n;2n{gIQH8T`NhV=uBFM-H^h^Yl$Qm~NbXN+gHsD487g59c8;HuRS zeB5EDTLW*tSvOaLvZqX6wqhk(S}qD{;w~$yErC50VygYYmsv1Nh@S(WzbQIObcCUx z%rD-9@e3`{dEwntFmFu^%kkp66%DS=b$@jv)q6=*Z}0d>0`Dd)OMIKRpUK8<%GE+n zLVxiVELEZ|TQA;&>Sd$#dWS!^q!z?#H9q4+45FC5>TKD)wHH_Zr|Nt2{I;K3-l{Z8 z@%0e4dK**iUI%FXPAmLovOmroHI2RrSWC<9he+rFqBTT5d2{A*#zU)%-cutZ|lv-#om3UC47V5GM z4h+I>GjMXkg5&9IOlCs@N5-+4l|D;;ojK}`v>2_i<1!dD-Zt2`|Wvs2WnWM*$k$bR3bVf zr)dUE3^m>=EJnKpi8kM{4I<+`XmNTkVb*ToGxJ8WSnWfsasbgevt5muTL~{a&d|AuUL_;)nIc*My~mvWyv zmpgXy*h5~j(|!Kn*755Ig{^?QlIg{`PbU3*VL1-Mlkb_pVOR`?ezRJ!L2`eUy5-O;gfu(wWe?j7`sbnVhPy1YSVDBI*VxX5hs+)lW3kK@dF0Ap zPDT7{_7#m^k+zwhWyAG;(JdMAy6Fq=3%i%0+rfaB#RBjvM~Usj{D&ii49Ts#_$KLc zTg`)Pi~ZtLQ$rfeyzRGYZAT69l_HhofRmJ1yghD9ZGn%*jZIZfLEsR zs%azSn#Jn}crlKU z_A{ET+bQAapmh3p;J6lQ&-IaKt?*57nI)Xufc4--$}}sA8++hq4z|WqReoVtF7T3n zOat6{yZxX*gWeSFcMxX;4lSqJ&qzcKoVBJDwi(_>Wy?y`w5$0Uz|;Nt{F0`V7}5^6 z1ag5y_*QTYQaQsrd5~O)jobUNi&=NVNz7<3&ULs(LmI^$B(YOuhrn}n(yj4EC=&d9 zdt=@9=jiJ09-WE!P}o2>SzLbDlICqbr`~MF)Z9J4D49v>JY-mb3H50ibH5Nw5`m+D z2TsyoJS*{_c`W!J=%A1F?yT~_sUxBN-q)Mus;42KWSkSb2YwDEl$yx)Yu!o;hN%pO z*c|E_hieRL87S4Xrlb1NtMb?&)6N(E7f<7zZwRSld}T4cKzO}p-_a2S%+{LGzALvc5(ribE^ zH=79~a4PxC`tB4eU`%d}esW_mVn04!M5BNMj{DNHdE)}^8a!ur&gphDlB!FJ5+{2^ zvcNMp>Fx&}sEg}1rwecWUOO1aa&kYB>v0?bM9ZhXDHKJ!X@)M2v>S<&&v3fvc=g5y zdYvCQHGMisbp3%gL{GCCQ(RR7Mw)dS4lx~21n2mi$VsOJ?TfRONn)W?J786pD%zlD zMK!aI{K0vkgOd~=uL)6>Me#p+A*kYxi?{PcWeBG@#14Ak>`jx(nHGzN*q@Zii)sd{ zlM2AOmEd4dVML9c%&^v;qz6~Jy(7eh!rUwpMs2tI1p#Ci-c-00_&K~L(rQx%ooVAP zUfj9F0P`aFT*h-p;;nx?3moubIS3U3c)u z^CO~$P!pHI&mh6siODtXEzCvZq*Mw&X4^B$V>Hn{l|*%xysXAorwfwQ=^Q4 zQ?e)!IMLPZ1w}}5g#!uu778v56TxxM;+;WU^J9qWs>=@vsht<`n?@i?BYjGZTq0bNA0zVUI`?XPg(xo>#Ani=9 zVl_VSH-*n0mJV4@t%RdX2neodrtk|59`CyBwh>Pbi~ z(MCQfd3bR=Gi?GjXx9Um^?7ho*c{|&9KZz2gqQ2P1w3NwgcE25uEeOO=BM_C*oLpzV&ptMPLPhB4f_%hj@u^keS1tS0c;!elt^ zl@Hg0_aq8w+EYB2zBpbT{c!)&1E0_`74=gvA1)39zHB&z0%`>70^e?b#v2!d#&e2e z7gBZ4gUDcpo~uj9JEnigcHFi--~-$roC`g*&xpZ%aGNk()|NmKcjp_TH9187Rc{t=0YLxya+fB^VPO&oxFET)td2@FpZ6D;uNfHb4ixzn0o}ddq zpLC4f@US`fM4b&w*LfKPi7&uO7Y3J>#-0@NFk~ zQ5bOXV{Y~cyVMG9YsZzL@aEa!zNtp`pYhS%zHiHf0>k5?U=NI~lsCP2 zS3n?g*+1>MnU+!xDm0#C2)8=)b+m`o-F9vdRz8Kc3TAwLVFJA1Y0tPKHm(34L7){B z=ofE>3IE^bN=?vUIFh}Y8s1t7Q#Tfdhq#S#REV>!Wh%|UC0e{BD;)=V;AlxNr8h+C zmAH{Qb-jM5sKWq1AD_aIt|iOfM#%N2V9N18c8K!DmnVk|#yMa7P8vhDyDf%0ss6?I zc{_0Ha3kVyV0%tnN>h$y9$`yd{}_&OO^=FaxB7DypuZ4>(;ncE7bPo}oQc{?S z#+NjvVNWH~G;l&i3J5Z7GxAuC@Ee}btIe+72z-_MYTJu+tE;H*7!NE((-nPg=mW&@}Vv+F5z{=eqo$qO>KA3 zXOzH?y8{oFzW?4#cm+-_$%<={mD(4t$@qeO=;GBp{=Uu#3i-g>@cxy8X9Bpx3hD2# z5!|@L??wC*n)}nh=7RXF_!4ynLF%;fi`N$0X}>Ykz~eiwSYj9F`Tz@^`e(_nUwGy? zh*Qn!wnkLC`-nRyUoZW|39$l?83|wL#V6Z#2XBbXeDIu&BW2oNxGJPBhU_SGfRE=q zxu%#naB$rTCqKmPS&HTMLk&ZL;S={*&k;#5O%k2jiii^e z7#Gni@NA6MTLd4aD{e(GJ>JnBKH8PlQ(Ur4c;kxz_FYQM$u*?Y5WAKtQD)GCsl@ya~obTDco1=fKCBu)u36o^hId48@>qYxw}k`+=Iw_R$?TXChf#iE89~73 zP0ahW6A@a6n$D71xB2Yd;WG$)$2G%+J0_!zuib}2mQ7JOu^zW_2f5HSkKQRyz1^SH zK9k#HH}3wy<5rVIGn-x_a1+tE0%ABU>x0K+PVxB%&NtJ2!N{-P=162k(2)#~`rw0; z-uIEYhvgV}b}+IdIxqttBum#D<%_f^<6h!qh1Rt0a3(B+5nLpU@PUV8i>*X4Y{1*W zLT)u|I4WG+r{T4t1kdP>z~!V6x?Fs-c`49&?D6d_77Cc z7)H!6n~GiVy_*^Sgin$KbhDd}LsJ4K;FyhLde+-~p%OWbj}$k}#&t)b@M?`@I%3ot z7HdB&DbqRd^O2Xh^QGdfW97Ie@ zTyPVj#*)&v41Zy?<_yW6`>EhSEf20U#PQYXujDMzEW)-Q1sqR5v7AIEou?B?AkgXU z#q0L=U5?*xKT5&bRpPA8vxJ3je8efq{r&p1N7!4*I_H_Z)3FV=T5}xzy~fvII1Wh! zU}AL}AO2bHHhdMKUA`v6XR0HGIp976A7(dhWT7M#7Rrc)TB?2UYMg*pecFpfUGC2@ z@nRB4D;W+HN;*5TJdKaE!`wS>MJtM#g#f^Dj&m4CvWIcoV+4M}zc)OJJqt4FY>q98 z&$|8czNV?ZjZ&fm%%|fEM?~e1xz1Oz$pq3VXMA_1ui%vzESm?eM0dc8#Q%h=AWiqQ zbc5#Qc=6&K#(7thQG4HN9eXj>DQ|~fM37x=xnZ3)#n8zngzLfCgn=tkBL8Lg+fUyL zBuGd3tRFiSidlDM4Z`qo4m{fxyoD?gJ?qAfsHHb9=So}{ElQt^J2#U|juL4U#${JP zwQ&px`*d0r(ljM!^LR~Ot%8+js+3TQqvr=_FW$PnjT+&=`DT?u+G6jLe~XpF!RJ!GI_jchgsjBH zDV;d@oIQNrE$vv5Ytf#%!rT7r5twr1qT{^z+zWiWJ!#`M-`Ee%0^ZJDKjV+&QjvP8 z_)zT$ueT3QX-z^kdq#k7bN7q=sa$u(5+A&&NE)2jyjMT0TPzKpi==?oqkj^mnizPK zI0qy6jGnvIvgv1%s@XrdmK#R0S&}Zi{j*4-y7wy4GOE>**f*nMN;FzYg<2GrK=`x1 z_;&mAKA-mRrA0{v={DoR&j;UJDRTOYixlJ3atlAMh2tOWms>2C67hwNZ3IqHPqp54 zMs%PDzNCz0U287?SKz$TmO~7$wA)(D1L#pb7Zm@MdyQ@x(&2cy!hl%PB>f7>7Ml>#R6$;tddg=$?u7|^upSPdp zA`7Vv!)04Pcz1~#F|zu_C322-yQubzpU>$Q`B7;*E}X?ZMvWgOnEQouJT2ii9_id3&GCvNfdDD+%1v~Xhn7hF zF^+jRxKbAR8|;6bOvNm+hZj>&_Vo$$e{b#HF-T zfAArCPWp$7jqm>)Co0>iE)YGgw)tqlVGo+FGex0E-*ezu3s002kfUbT=>s`o@#z@<(O8Nggaaa&Sg$ATgch|o$716q##W>TbXUJ2R8@8@t}Pt15R8x zyZ!kw}w(1dWV513m_o_~DCK^>b?%N4(d=C+<1(iw9pthn%nm44YZn(fwH^Bk%#=tjSc6 zdzyDN=+-848j#}^G9H(r;47mH1k`|0f^ z@a=vEW^D}|E`n^rF1T~{3ril9Qk)!|J>W1pORc#o)lRNNmkE^!kI;RA8K=Cs=)kZ$ zQjP8f>oBXwt~%?(@5(qQjPSWruYoU|=OxBFZts$RmQM+)b#uuf&Gv!$c%%iLdai*_ z25;%>vw|El4IBr6H1AYa{WMpduI4Pqo<@N@jPzCV$T$){QjCj>y@?FR;y&P#DK-;c zI!0Fg;J|1@!X;EbaI>27F>0KX(y?U_YPAIQ`M}Lk6!@Kl<6Ad3A6&JI*@2|$sS?fy zmnyrGxtD`7;FG&wvk-F8K3`ZH>=_NwHupkxZd=Jh*2jui-p?-198~Gq?r;0%_Je4= z=RguB9Cp=dw995k;JlND_ENId6u9W4X@9&Sn-LjN?xgR5cfzJuK6vpg981?)!d>Je z)3Za6a>eX$=1U@zVM4ahUU-u<3Na*gY%(=3K8+*E?aveXlij6>z$8O$R$sj2cqiEb zlCGnDs9w2=s@Q?G!1tYn62h;>&5A-lD@X-T$GRRIUOI@S`mF@Mywos!%MRSasZEpw z&e^|cvCQ`tA*%3VF_5i?MVDNm*TALA$Rr$3*58kCMVpvR7~;RU^c~S$%`NtO?b=xz zc$08y9X;@KJc(qTr!5gUHcnNJ@ndtu_*qCQtMqr6eRKKX{yy6dv7yf4Ql!fud2#N= z%ZrmX4qna?;e!UMrJCe$qdT5kiT=B?7{%8~zR7Zc0USSgcs$gl=kelH;z)Lti`4bv z-AkMRrY&D+F%;(X%cZ7#yg0W^QeR(DvJ6hPbn=%=t<%$eGZC2fol7Ql@$J{n8R!!W zh6*YTOhY&o?w>C{s<#X>e{AXqFYPXe z8ia{~FHzD~6?glrfpcPr!i6uog{oM<&=hFLD3AmMK9e1K>Kew70D5AN>wo^f&u7K@1RRAR%MQfttxHQb%B7qCr=WPr5=MCM|^ zekfhIm`|?Dw3@+SdyK8_lh5$(X5WPmC%%Ytev$fFJjXaP<%4g3iQMb;fX_?V#VZ6! zlvtU@tEUVi+%-OUd|8!3jrzeyiQ1_^imsy*-1f}50=QX;;p+yBs=l-rZ5{((Jba45wn`BLRL z&HhgdA3n_98!|Pzf3O{NO76bNgd=tiaD{B2T-)7&XG@pq&1k*93MD zo~B-IKll_6HbU5EZQ1I8l{rx05{$`(Aicr(L!szKEcKF5%RP$NyV zg?lS}N)H;r>tnmbIMF3qGsF;}%!xHZ66R1~iXw(Iou?7_7{<%lb9@XNUulNYKx_2_ zSL-h)5~=*swd)XfmK1HF)u;QDGw;~sbG#Q;p^tx`9$$1Y-gTY7}M z|C(QXBrBUp;6}3}S0>{eUl9-+5yDFjUEd19_zE22@ot^ofdupX;M01)^DOqK{{nNr zRYMT4_8xB2Vbm)axh&0Y99P!3)ps6Td`m-jdgj{ft!T>%G1C#s1Q%W_gknnge4K(1 zQVi>UrsRaFz_mz7{A2^Ifv+wu5DQq&>Q7pBb}Co8XKZJ~1}@=^!6IKPezz)m5jvRL zYFL4ay>&}>TcvQx_koyN&E z*k62yQ00b8M&m}V8L5XxDH$jEJ_+`mN5ih**g??-4RJP zKJ-k`_D&Z?gX5Z4i&t`aJH`i>ibPH;n)(YwlLGcYz}~`8!SBkd`vX3-6fXt;^fM&ok|9RX)PF zr9b#c#rl7Ji((6x|o=!FlkL_c{YFWjDP-t3BIpHZIje*8H(;(rtfCQi;B^ZV*>_ama-% zAxlWF2R^$7t#`Oni}fU2HZ1K4E4m-Jkrn!pOe^YA`-2a^L!7t=7dt4s9Jyl-(RNEb z?$|8Pgx8Bx#vp;iVvW8p9ujuR`tRUP9PXhi*kJiDfumI*!9^YfGN~6=@BrQ5WBB<# zs#9LVhGHCwmi@uEaU{6wi%)q!;8Fbnyi#4UzmkVtZ};dA5PE_~0tMmu!Hd-o7cx5g zgSXhH%Lpe86U_2{+%+t#cY~gfQ|i=k)2-NvP=GoQvMja7bzUtWTxxY^|3x#jzc|O1 zM4($#z=5Adsvsv>xa*mF;huXPgmHHTzGWwZH&(KL_k8k1W-W3E53H|}jkh?L<$46% zl*?#6?bT!JGVD%BYqCKX@N{dE9o(8v&!VsJyU)8*2-cN9`N`)6$6^&Oe@+R<)f7G* z4K^O5c)515E4=vdXeRW@_2Or9OMX)X$?AOZ>KQ&RP^q_ho62y+!Xb5FesEo058X_} zEi7fL1j<6D5=P_Oo=|qkS{~12Iy44OmRJ@}8Ct3@F8+Ah&)YrJj=G!0V(FvA;uAMV z-Jatr?Xnja(K>Sv3B7O(?rq^-68yOWD}fUeyo%(<3sQD@o~Z3ecI2vGLfDQ z7~7kJoZ^$&oL&MB6=|`IJJp8ii?@2UElu!#rdvUr;m`J*?qMj5qKw{9RL7^WnHso! zgsrkzZ(ZPIjCh(eWh3>2hXQ-P;-TQjI8E*boyGd1%`3BB!ad;Q>QberJp_8g+ewF> z*tUHlebIBN$kf<=hh*f~3Z{^=Ti}!`t>eTy*fm7xw`UKz`B}zoj|_6N2g3b&ymR9t z-uY?0KJaw&4lzT($M%=`@X3X3tYG& za@1&+Y<0eiulStX3NwmY#q(>~PGrG5zU^nJI{H-=*>_APF5D7ZGSyXN>&_Q%a%vAw zHS5LCYaTh|Pg$7tgG*==!KE1yd3^=d&bNH29WPh7vfWfVm%4Y;z`MQ0a=w9aaY#C9 zyu{Hh99dzJgdn<%sG54^2vJ6lk-c1p7#sk3u@<|!-@;|fOO1osgk z3*lASbOZW}9g#*6ePtzdf;%|>;5rO&vL{JSAG{epPD_0MywaJ9k5ze;Bk)nSLWj%( zasBe*GWbNj6&xeNYf9N4A{3i;IELdR$_Sx!PAS)Kwnkv3Zj1u}K-I6A-cS zXNg}GJmm4iY;^B@C@Teys8 zIhj!K!nVMP+Ik%`grUkQc?zXFaYZmQEBO4PeJDAhwT75Fr(sNia5CbBb9plZuZ6@S zOJmP)gAGf~loGlewQ}IyB!6-%aJtruFTD{`LQ@3T7}{|D3+$!nta{40$`SdbrUvEN zFOISBRWJvK#yTbe`InetBA|U{$mPT31;43PsFHEq3$7*nEd~l`>oQ#Rv zo`uB81aDFlP6JaCui4R+Z6sCdrzY$~Rkgw0#qY+Kd{|h4xv0x8t|;#k=f<>K6u7kI z(Zm@eW*OhvIvo__w&slAix=b22>V-6p|iNf>ykKd+$pG_8F4f94@Zxq&VjS|DXl?u z{)_vu&f)2EL-qa3b5C_(i`z}%Tb~3~@h!|=!^+)Tl2455#HCDa-AYm~gi`B%a0d<- zmqM|(sOG22B2y(=t55T;L}TN(5c=Z7c$q0abm2{!rYbE9Ih($$DTNs;x`_x^3SQE+ zfbRfWzS~^lQGCzjF-Q8F%FLwbRH^bQz2*V$^{T#6rNU>6AkK&f0)|PIcwY(%cWyHA`$F;7fuAaL07qyAYQpem%D~myoXR& z(oNnQxWv?$?{la+Vx&TvEt`N+sxxHorO@WoywwjW=TTgHaV{~K*rq_DaY}SGOd^1$ ziVb+WHTtuTB&qC1dKc8&xB7v(kL}vIpbGR+t|}U(20$Z__m0j5`*|VPjfD;eE~r7Oqws; z!m=VYI6pYTM@u+IT>IeCo2MTuH5f;8WcUVvII)eNz^D6PSBV*%j5vkHh?Lyudf?N} z?r}9DJ}9~My{7F{@{@f&f;(8Wu3((8l)K|!z32S&agIRgfpKs2G9nwFIqnLn&_smBt~cyn4%1Pg z=^d9D*mrNDW@i&>w?|%UBpf3yGKZo$_y<*lUJnlMi=r*$KlKmZ9ZG}9cinzCbz(Mq z(lvo`gj|NBOUDwtt9Y`rJ@GySSUo$UiRble7SKhgftTHt4oisbxNZB3Plr{MgfjxK z^G0CL2OarO2!7YpB3Oy|(<_$S$bNuN#Jw_!@&$zNrgs#?$D`Og*NchEBi^)-jvsz;; zf|VXJBr)gDVMynwJ7&X0$eE@6;>rSrQVL?r5xCOpr`mHBK6Bt)TB(218Jp7+-V@R?2uEYw$a^)^gvU|_T6Irf$p50EkRB1 z_`sS|*x4uyizbiUD`uq6-2l}HI# zBPKzL+YVbb)9{qQRW-HZaf1^8{A@JxKZZm;a=b(_MP$#;YzmM+aG(BJltSa3zy`0d z#E@i%gJl<1bG(=}$_JP6!&5=a-vU1lkVLaZ{x{=c$@I)^`QsFwjL}K#)A7-KEi2(8 zITBCO^vv8BSch)fzLit+eWlC`cM(V^RA^%1I-t#iRMskpXoM`eooq(QPp~YM-b{OZFF6Ju2Ve+P*;pmkgV~DY8YoaaB9|B&_iCneBH-7<;C?W2XpJi;GvMuW@TO zFMifE@4G93J5B&jNpyQFZeQ|1n}fJ@9tcy0Ywu2DKc+7p`5pEBb2TJMgnGs09N@rEYz2 z9ReNFv*LIsI9ggn(ZIu}0w#Xm4X<;2#Jg3c!O+ucqP%kT}sxuvq z4FI2wW;f3Q5;#6i4!&B{6p+dfjut`bge48S+d0W-x+&3WwZsU$OX z*Xm@{A|33&;c-?{I7DvM{O%W5VUqY=XDkqxa}6iK9#6?>k{4fY-^;d~%dqBl@z~i~ zd}g4bjrZ={+a6*uLweVehg0fpO*KY|qA~2(8vPmK+7GO&NM-=)kK6e%C#TB#MB;C% zsG(A^p*zH8CW`su=N(t!eB+)e05u~c9+ z$u4QTgb{BAjwEmK_R3e`#a;0Bv$Rh;7q55U3VeB+-mo;dpDyjG>YV4}Guj8fxVKSi zzN9R)TO5>2$OpM(-D2;vm-J_R{y$J$Umpa9Qn7oQf(WmE4|8`xw4( zc(lMNr1P1LI&P~95OC;?XT=Vwd*DiUR(Lnh>c!dV;Fm|L+|yu@7JS!^cRroi5x9h# zIV6)qXo8_^h|KaD+H2s_pr~;)Z|7hSRr_Qu&Mw8#*ovs?DP3_7aC9#Bi(~zsvqt+* zEVe~hK%Y4YFsQQi7uPM^!J&V)Cr0_sRAH*d^PJ_B?~o1UX&@zS+RUwj&0uCFqFwm79d_o*Pa&jRDh zduH|QJZ$w=ZfKN~tz-NAkBtuDqjw+Y*skM6vGUjQ1;itKgD z8&kMZfnS>=qY)N3wb^0QARr&Z6t2K8#>hm;C2#~^!`7MPcHH)76ZglGS#85_*SMU5 zF7edxY^jq^QlC)!vy*sL32&0fmMzt-Aqu{eSVT1bG3Wl^TdOLQ|6!t(Q7M{=I**LA zYDyvF^3v5FlfMR@!{8ezjRE>69g4L(UIwZM;wQ0q00irEkYmusYl-A?!d zuS%tnT~K=1lL7ltE9oyQ;4@sw)Hi#6{r2AbzDK&#eID3lsIof34MZr@xl7gEz=P60aQFn= z=*8DY>O-l+kHsZXe6_-Lg@(b}(2@yU^24^}kJVl03yTg0I~K;#J4z1UI&L?yyou<^ zD6;84bGrCB9%_kNv2&#DJDT&o-jVvXQ26~)tNZ(YQT*P8sZluFnz0EeS$ z*>0a^AG>h%(mBp=%rRWa%`2ZImC#-SCnZ!q$NA%SnhY?v=iAMXDYfbgZ&kk!ND|-P zNi*m!--Dz68RLwkW$@Z_`M}f7At@d$a5;glD@D?o1 zOECA43JW;05XHsp1k$%_>%mD|-Y#M!mnh~&xUy|%zpM3Xz)K1)0k)+aky7JI0Y{zf zY)tW)Oi@47sBErd-R8$D-nYc~IR18d!OwXd1*cs5%@3|H8~q@Awm$8*`+=pk-=Bq% zAZm}H42$o?co|VITk2>Jt^-^(q|kv~9QEl-(}Aw@{avJ<`lat6ts-!&(Gjd9$e-^I z9<}(#uj%pq$ifw)s8~$KT|CCSYpR*RPy4b>_o0gC+Z^7yWo8ESKVmgFJ-F0ppN8%B zz?T^t&?}4AvXoTUf^eb@SLq8Uama)jn>gKka4v|2Hxf1Pcp7Y^K}&*0(EZ&`QJ9G| zW-BX9EV=w6yZ`g4rr36jH@6>Y_4~7vh?(K6IBwuH4$hWiO_qL#vxh%ulGST_nq#lV z>_Cbfi*2jW5uEjPeCRj|gv)@d@NPzqKX`EghT2nb{=wzBs~9$41Ci)VQ}U8Nvq(k? zoD8R`&t|N!v9{s@#r>diTH1^2!jjK>1W^R|v4B*NM*DmN@bKp(lQU}5LRj?0#aCLT zFqrzChnd7(B=RKWbjpjjWt_lKesE~rn)|0f{DaTx-#s5wi$e(aWod`huGrU{FRqJW zxdO?lb>JIWY~vhpKGBi1#fIv_`N~$nB97v*NPdYeBj9Bi8h5Y#5SHD>M{(L=zyuQ1 z$#Bv3(1PjW-K?VKiTG_(um;N;oYFLZ5t5-DvVyAAuHr_D&jSWbw?7NegjRv;s-FHK zrM$mOMgdD7Hw^aQ{Ni#_)IM3D8hnx$1pC;Ka;iTeZ3l&9De!g{b$jshenfNENv#U& z(VsmYcOm${&95=oJ-BFDYEGh?HyGnOwrI~4@&4e${p1=7o#41|;&($Qxlj3?=@pia~#>L=UV7h@gEbs*nv&sI*D$DnG;YRN!J%pUY$54}ib{Zya z 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%0A)Dgj&iP7+| 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∋W582-%ZqY9^Bmk4%C^+-8b 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 KmInb>L{ax$znpr620l2s`xg^!M1 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 FzX4w0NsIsh literal 0 HcmV?d00001 diff --git a/paper/figures/fig08.pdf b/paper/figures/fig08.pdf new file mode 120000 index 00000000..55b31489 --- /dev/null +++ b/paper/figures/fig08.pdf @@ -0,0 +1 @@ +../../experiments/analysis/figures/output/fig08_connection_latency.pdf \ No newline at end of file diff --git a/paper/figures/fig08_connection_latency.pdf b/paper/figures/fig08_connection_latency.pdf new file mode 100644 index 0000000000000000000000000000000000000000..653269c8e58764c8f17a3f5c0d7047d48c601a75 GIT binary patch literal 18448 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 literal 0 HcmV?d00001 diff --git a/paper/figures/fig09_throughput_vs_loss.png b/paper/figures/fig09_throughput_vs_loss.png new file mode 100644 index 0000000000000000000000000000000000000000..70369a8ebe39ac7a56f2069a07bc275b63379bdb GIT binary patch literal 471378 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%0D)?nLQB6!%O|+?R?YbPV!x+0_cIlyKH(*!_ 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

eT9 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 z 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%0DgzI`l>x4te3I|Ek*w<1K#r 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 literal 0 HcmV?d00001 diff --git a/paper/figures/fig10.pdf b/paper/figures/fig10.pdf new file mode 100644 index 0000000000000000000000000000000000000000..2d1e09b79deac241920c290d2f6de146fe9b1206 GIT binary patch literal 23290 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 D>lp!foB2(-nWUhqFLwhHL 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%0A97TWBScUGR!W{?(;;2oH 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�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≪@h( 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 Z95#ursK3+HEZ^Mf6=r`)UjDbQ{sXq?;Bx=~ literal 0 HcmV?d00001 diff --git a/paper/figures/fig11.pdf b/paper/figures/fig11.pdf new file mode 100644 index 0000000000000000000000000000000000000000..0d985fb081806ae50e83008cd6f3269e461e79ec GIT binary patch literal 18258 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 literal 0 HcmV?d00001 diff --git a/paper/figures/fig12.pdf b/paper/figures/fig12.pdf new file mode 120000 index 00000000..77570499 --- /dev/null +++ b/paper/figures/fig12.pdf @@ -0,0 +1 @@ +../../experiments/analysis/figures/output/fig12_datagram_vs_stream.pdf \ No newline at end of file diff --git a/paper/figures/fig12_datagram_vs_stream.pdf b/paper/figures/fig12_datagram_vs_stream.pdf new file mode 100644 index 0000000000000000000000000000000000000000..125d5e500b6f06cb3ba54671d9479d32d9441029 GIT binary patch literal 18880 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 literal 0 HcmV?d00001 diff --git a/paper/figures/fig12_datagram_vs_stream.png b/paper/figures/fig12_datagram_vs_stream.png new file mode 100644 index 0000000000000000000000000000000000000000..a73900f42f41108719ec0e0be34a1ff1bfb5b15c GIT binary patch literal 151898 zcmeFZhdmgQbzi!3JJ;Xqa-9d z)^?NOPxjd{mEwN{9j@JSP_@46;C#o`G5Zam$jYoxeKJy1^AFXHqsjQBqUsn#DBKAB#1kaY$G9&xhkRN5n!KYlLf|No=^S&{#*uEcjDP~J|>bmp5U-^_ZQ9d-I371hJ)Ao_Qj`DRsC)EegxAI4(rl+|b#u~m`(2(@6E>0$E6gxDJ zQnU6L#eh4j~+Q3I&mT(?Pk{C%HPr5`}aRg zNML?)jPnT%pV=Fg1lcO9lLx5}Mu?wc2+208JEoR?>tI)bWnDN`1G(S!nwpwl@9*qj zS4;MZ5q74@;G`9>dT=?eVddwKA3sbiS>8rZe~;vK^PEjy+e=PfYZK)()BV_=lJ>33 z+~A+3rK%6ML+1^uDCDCr9xQWPygc5Npqy`ZBVDKD*yG2K$y|_G)Tpum?;&Il+g9oWqoGSbk<>Hk3 zyNm3T^(w>?6{5mN?(fd2vlhkQ2E}C+dU$&Bb|)S_qxeQ4il0>_ez%a*)FW<#s@qio z)GsfX9x7j*;84rdrkfp{N!<{h!OKnxtCgHRb3TG%R9SMU_05-0|yhHzkK<~cBm>&ufprmG{et0AGEL}=_d;6=Bl5cNj>AvJKA`b}(3Fx`N@K$8x^TYint*J-d7AO2TZe~gg zHU1r`J5%F6+bc>zFLuIlvhC}OGuLy9Q$nwiN?dYrxu{$2@i^D`r+(wxYbMQ!l*Fc3 zb`?;UxZ>24CDidbn3%AVN*vfiu*H7OP{_6$kv+nuLh5_!cBSu5lfH7%%a<<)G#xV# zw*MV4%oizWpO_tWwdiBIMlREAT65BM+7g+o@e)_BlCCa{-{-gNB=#U=(`dvikm{Un zf5~k5mDbc7wu=+3=~nDUao@g4mwIi`+|1OjoFA!c%s0RJp{VE%0=z@aCzK~BGMo0& z)li*yC$sgxKgCIW)>r-x;qy#dlAk}|IYX=P%k=i0puV z2?}v>aqSW($~}Ab3>sX2Em9ew=k*vHYVg^g^1Oh+^+E;5i57|3-m-kNt!H$?YLZE; zTT5m=56;R4j?-s0-(`U0br`&cH!@DQM3kOuKzgc`WxhZztL2b6a1ZVXCX}=P!k(+CJ|sPSzvj+0){i|K4RsF7D;|@6_t?l4r59(o0t8__iWp?joMR)^~JZcpAN3G6|R3Jk6$neo^sE$ z?km4+XP0A9goS^!f>V^WxEbpG&|za*K}+!f>A=^gRBjuI36|ayeOU8+uGpnDmcm%! z0|!SOsLTBMm-t%l@7n(WA^B*{x-~WI06l%|_}UMyibcD-_0cIg``-qH2xt9v)omLX z74pmWwhv7x>*e{@Wb zTsrJBQ3BQ{$*H)atvZbA!Yiw)B)gZEm#YCmtp4z;EHxsmUEJN%;*qb8pFVwBqwf?C z4N8mhYXQ?HCeocdA9oQ8ke-nd_=}`KYQ?il(B$-9`-+8i_+rU4>~<(xYm%RC!SF&BqXHY@J1peZ|B})r$j`$ z-&n>^87+)8vYX;vFWL=1I;eT2>eHL;47JTC#XKIN>^|<=w{PFSiL|VMUkn?RCoU=- zVqP7M^&Z4&CKgC}W@vKqscMp#&=S`3a#}dqa-_CA}d*}*1R~ATW}hI zLme8GiNMLyrNhS_Eu8Hsd5GLXOT78j$kC0p4$&D_C4Zkij9e(b6c8X%d}Tc)k z3`~_!EA#>zs8rL1d~MN@vy(&#$Lp*qJ&A2>3O4_2VgjY+cMGJb>fqB?NaE8S6|P?G zkh3cGS2X_?eEOpIX6c7A{jcN{Cq*u*E`{lMO+J3aYTa3A9b0ShxOmCDB~yp?+S6m# zZr^_MvH&?3n5yv<_MrOHr|l?CF6;lYnRGJs-syjRGUzJR$sEPol~u9%1ZA4!K*ap{ zs+FIA20k~Y-ryj)^iDD`$73tyZW6gXeI$ZqGod-ni$b{rw! zd4i5^V0ice5MO0uBez`V-28|fK`X3#OC{{=c*u{kKd>9Ajgz=f7CGXkD zrl^?L`fiB>x2>&%KKbo^haX|pDmW{zpg>vPH^qgA$2)vQU>&5PdGhk*@n2nCpYb4J z>^Cms1?GqUhG@JNarHfO{k3!x2tvwDomz>V0|NsW-IvlUt&&;JoEgIRd~p5C0)Tki zz+eY9?t)p%Za?y)vV|TF4i~tzKlnV{PtU;4PL4mjoT8G@fEd4}sYw$b$j#0D!E=qD zIPwh*N>`<%KDV_UBYrADHcY9=Zsf$`M*4og%Xg+&4jepa%E_A**D50``w2(VW^2>a zWBuPja12(>JXT=;h7Yy|FC(cF&2y!nGbHPl30d_NGbaMqajW{0+ucVksr>nKKfSou z)pC!O{;{z~ulUU0nzg2C*m?b(8%UBZZq;mQ#?h97k$C2bB%eP9|3m3bLoRyW8FM6)#F=b%m z-xn0L6=mWXWqrv>B|Z*(en=2aibCF2U{`|td8{t%0rRtQbR;4?pIlp7TKeNiU4-pu zJsraB-KBfmiN6ELq2wnyhf}sZ)AJeG?%<(AzBt#nw6xv<+Oz7Fi=?V&yyCd)(8MIL zDH%ex{h;#6*0h`Fw)y)+q()$ZT{XS=qLY5k~q@9qYmJ$QuNud2PWsYzw5CFO<9 z{IE<6QN6Yt^oABT9b6TWDw$o}+{l0b{%tm?%6jB7P^q7u*UB{zqsG+UNM7TKminhu z=W5H#Q@oK~J`LBr@cS7nKDppgD0|o`BskM$A() zsXY--X4aK3{;zq{D10v!*KR=eBkVUbqpfHyEG!;~d9Lnm&(vu)rSClXF0ld(z_9-C zDQUf*fOLkPUZK-K+anjx$iIAZQ>S8cHBDCM=`qfbA89`(pSK}jJP2WytNqO@AV5{V zJ})PyTN5NVr`v@r%BE;`29Unqjw(z1CPiRy(=7B zPGM&?R6NcCy}lH3Osz7X^xe6a9O?B4PXEhFMmcVee>O53NP1)`?MgX=g}O7V=QB_b z_ZZcNDzCjda!yzKR=!zS@XMFU%iN~LnIBx{-Zp?(RDSt#)qvWvUbMH=l`-I?s3u~n z^;X1-7cb7+^j{i4SZdNWgXc7hCN6Zgm$^F!jx36vQBYJoMr?;#hUN{+p2WmN--w6^ zB51Rt`8UYimuGI2=oS5)_&#Oa@Y^%YY0G=em!U9WO;}Za zPA@|iI0%Z!+FjwT=cEU&^$EOiCys7@?6}v)>K-8W*2xb$B@Te@`=Q!t5=YKO9x3}W z{YOK9UD_f4rhjFSF~@)99FukezW(^WNIj=zTWz zjr8hOS0$ukupwrdG_{nF-bIC%=eO0@*N?Sl(HB_vJp-_)89H|C7`w7Nn8d$)kU0>Yjfk}=2oWmq^G5Q zI#eBG0OV$4Z+`_9jUaVp%dvDT|Ngx}5-@3s-{ZA1LPf0k{D;WM$Xe+PBpZva0!k3! z&kb=`4jw-IB21y)uCcN4gWU)@p?0Ke7agkD+7vFZ?DEH_%eAdEw_^*{nvm5OQspwE zwKs|%1qDfg5OX8wNjBKy1qU+ z2xsm4OYR*20SJ7KKNGDSHABb^A=9WZ`bhH0DhcES(gt2ATeg%(1Q9zo}% zZW$Swi!OiOxab6TJ2PScj*_;J33KfM0Wz_|4 zIQbug*a?B|HZT=I%OHB(!=})RiHYTyw@&Nnk)O!V%`qj~c$v8la2&3Ji9zTGc3NoaT zHa9mX2+3IEyIm+=>wmA?rl!1qe;#4F16sys2#E_;S5k@1!$u4) zLEf~%M?wl^{OoA#OaLH23MNxz)-U)>LNodB;lrgkrBeVc&NJPWI9u6wf6&bNGA({u z!N-g%?%(`MrT0cQjD2tk3Jq~Ot%UzanYkqerIJs~>-TqR5HrTJXXWKlEG=K-# z?g{+(@lv#i>mj)auCIU%B=HVDjM*#s}5N5UmpLQ~_usm4-rU?K-9m0c!eB5QZK37eDT-Yg{DVTV^>mL-PInbD=YuDxFzn~EP8E-y=EJJpw*1pVTPM_rC+Vboi z2)Xo{<sBk&m{r>VE#J87GQ3jA!h3K;iAcno=S@eRu zMiiU>FyLM)vf%j`yT88`ra*aU`7JIXAW8a>Y(JH`FWUejI3#UXa1S7PZ`R6Q<9ENL zL|F3KiInVTs9qBe9@Msf`X$nJ%V;3NN0jal1NGd8`tSw&**`In`qyii%LFAj)n1gO ze`+fI#s4|PYvkS~QW6P?ySqCw<)_xxqrRu0qwLb$p9o-l z3GlUlXoxY9?Fjk8bQjeQGKxzmLP~@tdi84m=EmBuVn>d)Or57#875}tJJX%{fBydc z9CziR;m^@+A8Tu6OPA#NT<3=!y291BHa8mINbIoHT5*%ViByJGgwh_7860UM#R)l1 zJgW9Y;NTeSL0bBPXw6!3y&)#)DR#zmjhX=bZ?EmWC@jo~GfF^P^e32iaO6!JE6rrN zZmtUw_@m|p(hhjQ0P5NM!oq5tuSQ@L0=wV6dzTGO?%I-ebN}4j+*nh>UdXl&QC;I8ZWH9~`;Q-U>nrxr z7j3sgKG9!6LUD0*9RQ=$JQvvv6~v;iT!#>@NC7t=qO87!r0^}`9DT@(7jvkS#7Re4 zuSUZBx=sKC{L97!IjW4Mh#2h;HWKqO(WzG+?vpg3qz-KSEq#iC=PmMMs{EZ?(`J^k zNjc#k4xn)lkh>GK?&6e%u=OY?C=jP=tjAx?u6Z9Qso>|uiBGrc=vnF4a2oxFhYbUb zw(r>ChbNM&MW-ZQOEEGrMR?J6yoot1rBc{=<}Aol8t03bFIfrQZKSBL*fFhbEi9_n z6l>~RR8-X8-+u~7LZP6WkV=u;QbKhqyvh`-%RE->!i11H*dS4xo^>9nJsJmY6Jj@! zctjphR5pT(vj#PT17SMWqAqcOl%AeG`x$cPq_!@VX%Y$8#wR`RjWDZ79MIiI+0}wi zq=_|WaCj&3^6V@<9q$<{BrKdH?Du*;7SC}Wa%N!c8A0%4o?p&UXfnv^fV4KHrguBo zcyF#Gkz7Ju&YrSXQd0{(Z}IDVm>o2}Bj~P_Z?2ke^C8sa(;_0;3G3JdKLlH9=oS)k zz8QKQTW8tY%RSvs^Yg14L;}JLAPK9j=>BB)*W5hC#wN2=){JJ!{elP-#)Hatc^3Hc zP9<+T6@B=y8~v5TB)cK30}&o-3HRJwFH$P7(2#Kj;-b(|ty4HCV$yJ`Y?Aka0jKwS zl(TI^S`cb^}AJf*U|c!~GhbOriT+kNV|2EfV^LxD|vyz&%!kKdGXjQBx3hR>dDg-(T^`C4l%ZVrw4Id;OCjIpr|k zbPamTec6>aZ%!d`?PDK7iAZamv+BsXrjiNhKh9Mbf*6&5bwNgjizBH~V0eC)PO*b> z3K~wDWR~Y5#J_ERSl@PVM5gwg=eCbEHEf?3*^iJyhI^4#`ZM3=G?W1)GaAQjpR) zHr=r-LJ{rl07%>}fBGH%hH+{g!#9969c$*d?oH?6Id#SzDb*)bnG7P~CnU>1kf^>? zRWV$=c)ZZMuL=a2iSZ|*lPLEDRZlv|XeYNFHscJmgjo2IT6)D9RcVrm(CrKuBSv-Uj4VTe$nIK``X?5I;+$z zf=*M%Pn^mv4+uPe4nU@jpXFt8z7l24+-j{&-;N(fj9;aQJVr;uY#^4OOVbLD?R->b+L?Q6m*c<;%7Ke%0+jw z>d|Iqrn7-?`I6W8S?}~7a&kgHQqIy94O~Gf@k23?YvR%^g%H``u>3qaI$+xlGU>#| zoV>g*DBpRnH0ek*3oKF=7w+uXwNK4eteI@L$q<$jeCw1?sNxTt{&6*3J#s&Wo_)D_ zvf*b_4*j|PecAc$SZ|r|Nl~{4XiM$@T=Gpz<2ZZvtkV125(Ifg(fop_IB(r6QnNM= zlJ;j|;i{5Su=?8b$v29$@8k9s*+IJqxy_(Mx@(sKAQes5J0;fhcRrEIXo79St)M2WY9@Y8TXZW=3{4Xy=gDc z$jG>1^=$a7xv7zagv6~9C(GixD1Z}6X1VatcsenUi=WrF7RC=J%14IG{Mh>aBPz{v z3OQ%cp)&=@j?~)PI-^qw`G$g;=W0lS`?A$K3ZQ0~Ksceb28nM5#}}29m}@g|X8`&b zcjmR>Yv6y7EpDEo;!vkRISq|B?fMz~n#kG)mn7H;oor+~Ft=K{x3qv@Q6Cqti;GJ? zc9pQ8;5#3{tx{QAOAfU4-wQoE@fg+DfIu&&k|NIO5%kq%bsUVa&}Cf_7QeE#HUt1gv%E6!c~@A1R}-0Q zyz%to`#305-osc9ec%RfH7@nDiC<# z>6~Qoq;(g}+vE+3&}w-+c_eY7t1wHQ>Ypjmc5_nTH&RqoBv2?J&?c^|t`1^9*%=SC zXaIa2C*?N$b|B+E{X#3?Eb(OE8baddP|d56@xD&C@JaEO{Lr{F))1$;^TA65U}v7` z`|RxJ-SPW&@4f`&Zo9f*8aQdUJvhBAqCnR(nS<)!!MOI(Jg^bXo%uu;h1~Bl4~HT| zDi(!T@i(L{BTo<&G7X?K}B6|kwg7R&Ujha?XBqQ9jtiYyW!H?Wcl?FD!b{9|M3 zGj+?@_k_aqasZK>v1pI(S!m30f^Q+d(gIGk7($-E^}*&e5c1bNq}{_ftp>%pF*UY! zb|K&Am(U@A?_*@VZw6v)lDp`xc+&R;CXL%cO^!656mjtZpeg$qx$PtRvuRO5c(*W}-$Gm?6Z2-zQXK*1=U2`lTNv+vCNi z@87@w2vn6{J2^i7m{Y4jx+!nmSlW84_&fgq{sdi%0X(;UC**#|i7Riq8?7U#g&f9w zK&s6aOZXs?9bs47-P_wc=(qvk&{$+|{BLzNan0T6n-`^{(a2I9rGS8d!(XFt~!dAXgBmUE=;gi>;vEa06dd;Z6qxh5EXbH4PL=G_1^;nr}wbqYbtT1 zxq+!;Ce1o>656Ot(Wz3AaR*;2rdq32eYc~*twmZB_68rc*=4IAN8kDEFXKz@6FTY* z1#&$6D5*sBQcrjH3G`>0iZY7fnv3b(CRIB-3vE`!i=sEV!qE6|gnCpk2Jnw&>iOqV|fRpHJDjk*jdOrHQcI!;B10ZEbC$8B|t# zGg(Q3c^aK)n)~FT;z1zw7wvyjh=_>fbsB@z*g_E}VUtj;8ir7SpE8fBFsupr2i39> z%`B8W_A4=b;4D>!&>tNg%E)Z&>@Fi?5uz*iG?WDbq}1lvbSgQE#zfpFcPKiUaVz_+ zp)k5VND6Ik;p~Edri~LTg}J$(eYWjTYtk!qIbFn0rqU}ANW<5ZLI;wXd?PK~@YNhj z?jTyILV7O@{lMSDXy-`!M@AA`YuC}R~7P7&F0KEHl;T{ zzp|cFOGFm`TVKgl+@N{(?AdX^7`PE1AUm1TNlO$RhEwIO2pc=QEHh_Wehlx^`A!=E z$2uiXyXre*Pb<2mR~$)rHZ{kFU^rqoMWi$oy~c@3iPtHzyOza2en?>w;!;Ssu96)1 zTWx1J($6IAGt-WajyuTDL_Gn}OXar4;q9N90o;Ty!LWip6k@0BiHz1F`%#CaySxQc z^PBufcJ10lKo<&z#@6fN8%$B*OTH@4y8TpPDym;=S5xeJ%Bv$;&HB^Cz{)CQMYXW{kek<9`75UN003C(u@7u zj07vy?Aj@f>!TaZw@P2DC)B08u4?a3lxmOKs#P&Il}khO%S}fL8lnm_=VIb*Cwr(X zVWYiYzwSi4vMuGLz5QSL$llIhvmBmxse<>O6m(y*@b8r9th3yp2@ek^+=dW)ncXeM z3HM*^@~?9h>mf7N;iuR5TEh4wEBv`eGSbu4$gU?W$EXl(h7K|G%6uS-nCD+7(Xa52 zii&D8%DE3>WvhOR?8pK4f=8^^LnaS28k=2JK=bVZM1X#DC}A^|a&X9-qU0EfN~x@@ zr0&epKJ$oQK*l}|Sr%vX0GebHw{9K(^!YRVlgT$a0?LmSKY8}dKPxMX=?8ws$(c+OH)Wx>{&984>2#Cq>P_lcmaSJ~21p z<>igBcG*5ZDzU1&_Qy>#jH~@VKR-Xa>8j%W7}>7=n~uZvJqtxu>NgepNW#CfEK@g( zmN|@A-&sVZ9!}ZF^AqU2hKCoo=iD3pP)PW;ZODge_n$M*??Ld z#%E){9UF=!#2YkA2?7Bm?TcLdIOq&BGXXoV0q@&SEkpyy6dJYhIcOs0+!QL)Mb?f7 z+r7I^Ph^1UBa1!*QXjXo<%SwP=$^WTR&Qe(SJ9-JrEy=a8NN$JrrDYL$@g2iy~Lq^ zRs%W>XdB`QpgIIWsKcymA^KF(QkRhcIBOW`Q4+QdnpeK$6dhUHzAamRo4!IzJ>LF4 zKmSIg%%#I4<&>7?s_<9(0{Fqobo6 zpmKrtokSA-l&t)Y$@TZoSb|p4IQkr=ruuKgc?1M*3TjBp$~L*14Wicoxn^(0`uyI( zp&`n~t7SDYq}0W^XM`c3)8H%p0Yzv_*o0o}B}Idz#WaRPL0@1002Niz-wO%F-;ck! ze&$WLt?`Y}iridYq8@=nJTh(1(yImvZt4Bi{r=AVe}eRoJ`|}qsYix}?km5O9H+~> zx}}poVos#n5W)q$_yLl>o><(KDonE^cc;J(ZS zQzG(=EShC|VHj+1H`6rGdVhNx;dFs``NR}BhiCIt^Ug#p%c_pcPYI9rJwhh@;)$TJ4uF zq%cL`*ha+HiMGeWuw@Ukc4x}QYo?-p+f~Pe&2}K; zro?AxF*y< zI|_A@nLtf6b>9M~AOJL(Z$a%>k$FLDl#~(Rp_t2l{`X{71>xmsfPNUb<^c;Pyqu52 zIknzieSGK^D7$}>zz;K=VT7&9xV-D)#8Ld^-FS8A@Z&#&+Z!gvXr+^9e!meDSe>6= z%oEa}z8XWlCNR91SiGz$E&WJ$(TJsJxdQt}EwC84QO+~GjO>;d(Y!XDLu;^X4#Q?j zDHmXk+peR-54-|lcpE}CCQQavm+m1q-oa48pZR%T1TitVFk}9Lj`P-g67=VS<59!< z0kSVZIr;UUauU*g&8M7~f^bV;bX!Pf`hm_8A@Ts{5eO3`fwk^!+lY_^4^2nxVZxD5 zFl%|wyI`O?B~AmVf`oubco8jnPBS@g*DiIj&8JdbU9ZuxIUbcQd>CYI2dIQhCpZ(M z@J1K(-LGtaOB}{SjD99%Wu5b9+yDqv33DiBAR4~wMHhU^y#H%dlPprGk z#%lgS&8t;agi-Yc1z+tTvLqp&GMQd`a-{OLs5?*TOlfDhLvPP~5tU9rt3j+K=D<13?q*pc*f( z++1j|Z;4Jw9>`5#ZX8^6Mp7Ews`utsG7DOCgvaa^Uf;}0vgf^`Yh9}o%W;G}?62sR z=F!~K%bV@XAM!QKMUuFOmlf_VZ;f}gO|b|ppcYKEpXWk1S^l*MwSZOkM`DX0UggWB zpwLwBJAR%7o$UHzNt%yndlE2St_g?VuG=>F&UwOE&4hm&cEK}|qpRGrq_$=QF_vo~ z>LO^@JX1qwZFPu_E)Z~Ers*svC(JA+Ll>m4+r`k~d=+_JxYupVk)`~y14fm2o~TFj z3Kam8Q#~bAmue{+fuM|Jy0&lMZiAMRj3x?XBj%RQc6eJIJ$5WHe`#+hhq1MF*57%O;$EgU zVnNGWmp|Bdsu*@Qj0(aZ#V@TSpJTH<6S}1?%FM{bcU_&HT*E91(KuXM zyGcba=Ak6Rq5a`~6%WplR7Z{xvnlW#k}W!op%z_GcQ=+9g^BJq#QJA&I>3yqY?RSF zHfEBpnGeHI^Us&u25N~3#F0l7&6&=5~u5s$xmtt*xdND04z1yN1Pgz~Cv={%&?NSJ?B}IG&C@ zm;WUQL_q(I#1jr7N3*=0UTCdOQ;eX9>sLrh`ujNpD1;i+YVUz5Y>5j4*8C79#xq}za~6K1pEm(cKGmpoK~8YYldej z*g;Thl;{}j%%zTUYN{m(QHYX@7Lpw$B_n$al9#NSv=0C!ef}knLB+n+_c=L)Ax*6b z&h;ec805Q8&6OWnt{OI<`gk@|B3^qv&+IEKY>At*G*uG+bhyMk*C*-|>y! zSuyD+ca3MeTB_O}fLfY5qv6Gyg?-UT*(%@<$8bRAS7}o97-8=NacXnjs=Y4?Z8>7n zxUSU?4Ihy6CxCRRBH_)eeCRN6gGq!f0A7zg`FN)3n+;%jRQj zj3bGDis#IP&Oqq854~`Gecc8=+8Tq70mt(#V__&;sqqBA&no`kR0gF39ZWuujj+bw zMo(~}-XT?oT#z`hAXEuy(W{d_c4H}kC1T)mkZ&r zOUeP7xfz+GZgoM@3Ay-USp65cRtX*}X@)cN+={}HGUj9vEz>w0`2n)8=2_(}huh4@ zOEdBG?7TapMcvi2G`NQ|e~e@fgt47_zViDAZN{=Igu$@JxlZ76|JuCu*}jVQ6|%dR zFZ(2uTOV(*4$VlW47Lv_RU)0-ZwC^hvY^7%4)=f2=IVx6X?9-gnL4C5HVVChKLHI z4F}J*AUiudFcm&u5yp27Bdk*0QIV13e6oyZYW8K_pWkhuK((>8vHYLC5-T_aeKw>T z7LtAFkIHo7Bri_+P4hBa_=p#m`Op8f9J(K{+-$!=ZPuB+z#3P zlV@f2?%!XHHcYnDv?jMD(eo_iV6^L8TZ6JWxTe*2@KPtvW_0gJs4*2Wga}W3q*Vt_ z(p%88kUa3t$-FH>vMs0s=jTy5CE&U=MU5up17y$f?$dY8%u;zSD;247ogrp>fyU8b zK#A7o8}x^ka}ISSNy_!d^g^lkmhQ-_R5*Xw<)Tcl%yj4D=nA!8>5xNZ1J34@*$W8k zDwvN$klOtSCawZmpVDZwa-<6!shKN`f1b?vn`m_Ru0M=9Y4P+TE=oyma2m$_{k9t2 z53e@C@KXZ1?F9_K1v}KSRcs<+awO#K6km&^*b9f%{CJc!^JTsFk6gU z`e1D}3`6%FlJx6{QRO}8w932!#DsDb???yj=(`ea=yfu_jBETxwMX!RyF6DHlq0vN z*$jMQ7bt*5DiEE5iI&&!&%)_*tJ|tAof^Vlf-0Q`%r}Z~S3Y6F>@ufNpqH$oVt9JK zE_x{F(J3T3QP5nFPRLyVqWOx5+7{pKvb3dN@~QrEvsUFGHF>{NdzMBEm3@7i}FIDUiZO}`_x zh?FH+!s_10+@Bxk zAp%da&`vhhC1&TthMVgvLanC@&qipM*_pK@pYHG?`dYJp;gx?{_h;My1F`Jw7mG>xl(o*Ny*Y)pqmY_t1EMeUTU`*Bw zi{-a`r6@qw{9oZOO8cSaAsB;SwF|mX`-#r3`UnEuhfr9qSQ1mehQe?>f-keLkV^Q# zsq;YxgBM{U_M`PTQfAR}tOn}Iw<5;$zieQ5bR9dP8No;9cljP-g+Z^}Ltj%~K46N1 zYyvY~+IG*kFvU04y$=``JXtve9d6ON?bc{+X^0u=f|Dp`>tB=Ugu(O=cHHE~CRUm7 zzoAb(viz=i-+PR?{5O+lH*0;R*mj5v5GYeM638Icp`S2(>3J@OwK-leX&^z#4~Y*v zDJsVu)bo+(i;V{u=aQl|C*EMSXSZP3=y zxlvA!uwxl-RyH2|f){>tpb&kX^WY2_%Q4L`q>tsDmAA2ZU#oIdFkkQUr%#th)((&m z?sTZS)N$8BTmR$8;dYlU!Nv`jAQAzBObUV}lPRh+ShlP)doDx_#YXr{U^{mE6HL)r$^Ci5;V*-u_7S7ZA!9Az6KTWQ=)6D&V`kJO zMlM0;lZ0tl(Vs!(jySQ5xFe>aGM;^YiAGe$p*>rKy%Q@s{wyA2iHt1QU!S$|hVf^t zyC_$8`Z&MEON(M;PO^O`l5fUPGgBQwz7KUsdWdLYhc6^%V1uKg0^fA1=$m4`LG`{G zCs=WKN@o{{TNJ=wd6a_Adii#@34lUCOy|ATiZso7B$71VE zLPGwpuWH;cXAT<;d)?z7FS!|e8rxy4`b?$gu?)61PCOg zdn8^dLqjI0>V7aw$=2!?JIKsy5_M-F&`5Lx53N-MafXDYzDvVsrh<) zq&BRz?IvW|Xv}rl{UxXw!6yl^3E6_UuZ8%s|Hpw%xN<|3aqqy=jmT8d42ZsRR-|on$p1UXb>Owp}c`r%)v1a z%DWBO>v?yuIc5p`6MJxm>4?nKwoLe{b#|TSaDcNPlN+BgBl$HCZB_K#De;w6sNBl% zzo3T)srMvdjzfEdz?@&ItLw@uJUu*^4vqoN-dyu+#9-}3K|vWS(*3mj6gZ{CAT6rx zQ)qS4+l2|`6pby~2{t7Th!)tcPe?r6`d@a#0P_aP9%h0|=+@&tnm~w3cQD}sfjTqZ z0&3KIfW#wUprac?7+ye35ck2L5sU%jZQ1}o>kzjH4>OqHLFh7&dJJ%|LiX)N{XQXR zM~eACS!X>k(h!H$Z;m9Ut35cd&%f)x6N##yY|mmI!4Q-$7*a}xR;FjCSJl1H+YxBL z=%a^3;}l<0N%(<2Mi9?UyOb}z@x+wY7o4e!jP z8y_6>1t>B=0E8?652uuh!$n67w$`=1TkoN~W?>Vb$}Hd)>Ro~+TsG$Ri4ja<4gzCj!k9>4Rj;}RoYup|*99q2)2<9-F`d6G?|%J5WS$V)oO zv>adl2S+Im&#AA8_Ll!Xx+jEXotXcEF_+jFqWcJ6=A&oNBw<*}Mnf;`jpm5G3S3bh zYtw}}YXvzugddZ*9|r`HM0z}T1qwwr#^wS}2p$3~^TP-`10$m?m>=P|$L2}FTt@U{ zfR-;c&8;EJt(81;gg>Lsp#088D5d0z~H{O5!Nog(@_cp917rP)5c(T-El zk%I7Ia^=P_n%&2X$3a(Sy^(qZ8VYeG4a7L&pF-pKgsf)+!W*_4DjxAFla82Yh8QA4 z#!U2mh{0%t_Nm?5xpayjKw)@XxeAq>Z2#|iOCsmOCVd;TJ;%BANr{YtAo~Qf7mRcN zW34A{ln4_W21(OLHE>(p`dt^XADx@a!24e(8y|Ft77K1klIz_|i0>3R%A1PHCqtc4Jp(rwYF~?cKSLI~ z19&^umO)G4@B&dBb>g}gtRu0bP@XTHg(3AJ&be`?%2#2hso;f`Z;MGB;x|+BM7@bc z!NkIiyJu0Z%ZG*cNsr6jC~UbuFGzaI`{dhh?>*9ewEk}tyo2Z6NgHN8n5qvydNltY z#?6}~r#4$tRHd@q);Bi%kbC4NWY>~l=KhZ}L71?CU*-;UPqVs&P17`RvJg8o8e1n_ z9I~;t4qet`6{xMLmOt^|YOg2ryfLVH81uVKmTOr+uH?tM%(-P^azu;V)c$oc$Y)SaAz>5Wu6XeV6%|;7I0H|3sJ~pYLk{l z$bC4%eeG45Ozzp{%j1D~jo-q?S zS@ctXA{K^7;uM|+T=_ih3jBl<5~oU=dLxa6@B&SGn*0@xTaO@yRUFy7aMgy4tIl%9 zI<+@^>IBvZTTYrce>*;hS2ON(XAjHlGfMG(<@I8i7*ZUXRh#I8Akf+t_tUws+x_!_ z1xRUY>L zm1b6u=P6=#jCI8Z_vSxkAx2uUl7tbwqqsFDDe~1Ta@3l-hQ;6boIJ5A?9E=x>>Pr< z9k;Axa>F0%S-j?jo)|GKpYO;@UkHA1-g!n_;=pj*L(q}~2#t&N5efktF#+Q!0<#|>Mz)G=)q3O1lAcbmuBoh)NQlP5-iFd) z7Y##a%jEI==UuDQ3v-xg#K^1H0T`q%oD3=!t7utHEi5cV3*aF|;TcTIjdkQEO?kl{ zYuMHQ`!@@&H;|e19Q*6Jg#r5P(#(pRSk8zkz4qB7BVNy!XZ!XNd>eP0w1#u@@f`)L zXcfbJm*W6%HnmGaQ$+8qU!u4U*z^Cok3dmjnPoxnVX(XPao_R{32H(5nw0;%`liTA z*AU}hEeRzXKA=$;6WINbatGkMAVlmNC#gs!0xV!SxQHPDKg8}^$bG8+%{4`Gfugb!486~UqRJq0ts35b$a7+%gsB|*kCcIgA#s7AN+Mxq*w z0KwmT`{C__8f(gTLl^TkHtYXvi8(=CU0rzW!$n`K5ltq1{9J$K4%nwSs}<8;7q@(d zLeq%Le`>xBO&K+&F`mGyOI(3A zhGG0Elj#;VK?vAEP&bCa2Z-yNBzphz#AD`<7!wKeOf27pDW67kM$v>wk)JhX1wyXQ zF{&fHZp1(`qhvrZ-SoM_a4i6o^Iq#Nxbuf%vMr<8+)UdD>eyGTR5ot63mfwo;V0x> zf^k4>g)K99z;pBnG53lh@CO=R^4?5BhSpLwcFX=)et6LK&L^pkRz8~*P6k) zM%<^79fgZ{;;D#!j0%b-bWwT&$;VyxBZ-gZh%cMjrV<`PLo~6`dq;4LmsNnn)Tq@1 zY^9ww40a`+u?^T1tTKFEs%W}+_cg|7jhtOZ6Jj9moLYh<-Vdt3%5S1`NPhRc4E?t7~VxZlTF_z>LzqP ze;_Iu-3lbz8WmpDZUViig}d>^cehz51;KUDpA_r$35#np(ZVK=0d%;9)K)CmmRAzO z@pY`&r4*-7ScH=#jd8i)?# zTiLFE?=H;r&_db^9mZ80DjJEOVLUi_^5m~P)5B2BF~z@_ZsC-eot;hS4uL%sJlp-= ztY^TdQjNqy17-9`A#D2D5cMcp$KiWKzz={76Blm)gW#^400cB~5e>CvPCDN7adRW) zdZLA$>)%N16;zg&r+}IF3Ffr=5wA+DM+g-aoai1vFYWN}Tp^s$kCWV0(uBu^-Ry-`y#mt4N+0 zJo5q1euL;CD-ujk2aF!PaG$t43X_BsVgcRpwAC8A^tTtIR`szB|^v*1G@yH_yAL&*xs;mpVJo zux;DE?XM5GMgj^wJhPxS>{K;IQt{9`bm)-G2lVXSTlgTzzndTCpT#we0j5DX z&p^}QH5J62j^+XZbIsfL&MXe2nUz$nqSb)S!2+aJ$BwmNP;jO(r`G2ozTY>gV=I|w z-=K?9feFp0Tr{TDn~TN_jEOmdJ+|>SGQ2jx(?nziw2}2sz2M>C(VdYzIkT6%IuK7G zcT6Oh3)fECH$s<-XFB%qvBzh9m&5%QQqQ@hSyQ5;F(?{wZqslPUkN`A#XpDvU@=$W zrvSOkT~k&QMW5n-SNBv6ZNsp)^&)dKIL?e8y*OJu8 z;wu4XLdkS8i~P@A!skfeqhPXYpbS*tb0t?9>x~}N}=A^}u zO9rE9!7ODL%MU#O=j&Q~hTX*jjYmvV{CUu82S#k& z3v%TeHbp(=p$lw9xX%%i)>@<%y2l2ezSAAXJvg{)QF&Dh3q@w5R-d46YYk*RO|09{ z`M`LGCQl+~4y)3u?kl>xznFqB3XIq=UdvFAvPd5VpkK`$#;|RYYt=M`6(oqG-!!UT ztydCK+d1DYac~D$8(3hy*KAK7x>Ov$dL+2;>#zeL6 z-Mg{O`*PF5!os4*HzSfn&hFuncdyRKR{U(!mGB4_l}8Zl5Z1Odn(L2R`h-V*1C*pg zJhz^eVcA8C3W=zS0valVW^eAb)UUuO)tTo@ktf|UJA^?PUQD}JDK=Anetm@+(x}G? zXaTuaa^)11oen!D-Zsat?rY)x_As89{iU&5>(i-PrDc?NTxv4hI@~u9_d9 zi5jQa9Y851;~8QBsffu6`IK~}ImA=f`V*&XC15HRRiiw1(seZ9Kq-Mt>R?AO&F(#S z6P73<%Dd){Y#^Sdy1<9Crn>N*! zMVBw6GZYE85(wLh6eHsP$kuYTGOfKYphP5$b?(yTJX8(iMFh}g@EyBbrp7pHP z)#LgQ!4Je9p+taZ&``u*BdA8hnXiCL-*merS15POz_2F!hVr+F8aK9@Ru${KzzDY{AV%xy zD_b&a4(xs&*cM@7)h11v^bPpY2#9ltXO~~UyzYho@w+1USY>hff*)(bR5* z^NAVOC=S}Y|BB+%roYiZi&9rtY@Gy6!r;Mbh!emS9=V%TxTNwGu}7!l#6}cL!nSW| zfcq1Ars`%DAL=XVxWCD4ncgy6#^D(Vtw$ZSaq9GphpGO3xPY-;)_aF7-Lt2a9Gl>* z^ToCK!|;}5TndvmZf(1l%7Rpq4(-+O&klM^(SQz+Fl@v9}o4Jf<-c?Up|82w4V9$LTG@5^lc z_5-MIU*ra7+pY@@t)leo*)#plow|g1Dc09Mw31izY-Af&6TMVA05Za|YBg$zR%hYB z@f_sk7AwCo%0%a}5Shtr4-ae}tBXwpPIbD6F_6^dxwwStfv{9n8>>jlWeZH2oZZ~E zKK)iyR5bVP!(L3=>KPhVb3CYt^J z0Du11der&d3v(}#6r{3ZMz}s8uif@rd=#b(FD-cNU-g%R=5gQ)bQpEG%yz!lK{klo zSLw|K0N(L>6zU!Njb)DmzK{IWhyY!NDrhQ>O=xrPr~G7$Tp$!G@j*g|6oGIFPO@+G zu61y)uO?O!*2MotymnnycslY)FHyU7nSQ;IMngGZ|MO+NGkvROXnPcMOh#X(@w?oW z`zcCNxI7B#q!^vAPCyt0fLI4! z5L`$sbzKTzapfW>^%tik5t?!ns)Tu~1^n~mys+($(w3~Jjgkp8MFDw|QCni{oznqK zv5E%*;Ghyn_S^$`U`Vfq988cq=|q$<0LFmub*KmLo(`bVn^&5rLwZ$F#H^WoGK9I+ zGHMm^egrqFqKI7(sFKFk`%5{c|Nb)UGj+_;4b;-rc(@Bc5vGpL&Na#1@QH6;zIk&) z7=bE^3~_P17}$!R+hUnsH1|#hhZLFP=o#>%CpAXvuVS;qz?5RS)$R#o8m3Dwr>|oE zx?TnVX&DsJw7QV*c(t%++ws={VN+FTQZ94WkuXMiR#5c};bO`=SJDBNC1@aP3ibtU zzk?e@StCH|)kKqvd3n7HzNx9I%IKvZ?s>{T+;SWPbi?~{YGq^>Kd2gt*gZ2DJTq*s z;lDq#{4KGahE5}gyy#`TsX~5J&sTUKtb4Gr^PkQjf=eY6|kH z^Aw9u3k&tPF8~aa@fk(%!(^1h9?tttiiL?x=w_UrDE@mZP<{)K_G}hwNK=RsxqdR%?ontl`h^JV9b-eB~QM(QP%f z6{8;I#j2W$00Agk>z>LE=g;N?J71#$7xyt5*ipr>f ze|{;dz4oiHtpEP)q zrA}q(yLYwmHOuwGR-9U^P{_$kO}=fD0q`H68Juc8ptc)+5rwqBh4ZPj?%%Wt%Op$v zY8%0O#3C#AEKk`*LgwYt6IT<~g@n{#T(6^N+>XKj>mfbm%tK0{tO8Pt>N9W0{RBr5vab8C_3PL7tg$Th<0?8r z3ed!_5$lKV`X&ytgiLq4b^pE={LL`VdCY)Xv3(Pr3f`zu3|e3Zoy<&`YeLERn{l4| zREy_j?@A)U%>^PZ>*S$m{E4f@qu$j1Rcgl^nodd&dn?YBxu43*!*2+hoG~9q_n~5U#~}L6}7rT%y}pS zV7tTA7|pi-af(4Ko?-e6tCLCR+-fNlFfLy)&cJn~0jP*Z{A2PDO>ALeP2lPcH{#}q zb6~iKN6Bc9jV)itJv74Ji*mYfK4t5PfOmC@+x}=@r|d8Dh&8*^$-AXrCJc>Owo5%m zoBzD`$&8kBjyLl{?bd&>hi5+Wk-*rtNQhosJdL!dkd^lOR~FpX5ue>(DoiCCN_x)O|_#}dq2Xe zj^bGN#Ls)%%c#345SQWemiMhg`}Xq=Oc>jzILqYQ!)f=(FI`Y0Xx*>dph4T!)%IK$ z7k~U(WgvOW*0O^U<<0-&4bW9LIaB@DP2e_E-O>pC&^hjs5D`isN!*3=+4wzqe)vgD z{Np~RM!Yx9aeeu1s*6k4>|HzZJC6TfMT2L0^s=Ufj7l`>yRfs8&cP5S0~3{Qo2+;4 zGlRK!U19Vha>AnYu#XcQ9NZ3>^*J>u-&Oa|b@=m#cjKGGwyL2<*$tjSGjA%*0F|U1 zqgR`bGon2k$Lv|>Mi-yW^wCWW0A`NdTifRK=t+)x9XpOXa=JLrX!G=!FNTcgDIUl( z>0|t!Vja)3kbEdDs>CrX^9OEggP-E=F~RwSwr3wwBMi!pn_s%6Vr|S7`qvxj@#({~ zzYyulVgfOnCGQoXa}qb-ajw7udb#V?tjSuGmO1uYer~R-V+Ajt=!;G}kdUBe>9Dz5 z@7|6F9aJK?RB1s$qAt0tEDi13qa^Q04Zt1lsq6k)5EKHtCU=NPJu#p&1+U*Dqg#bD zmIm)qi?QXP{_AO+Jn^Sq6KwF8#>E*R!LCk~-?ZN%?VUS!VvjDrcbDsbdCo*I@_1=+UDQ zm8${Jz?lv}DmCwbnDd60LI%&W>j)Tb;_Z~OGc@~1RHr`oI#pYiJ)lNj_UJ$7==UEH zcf0J@Yl1$!z6=GD@y>G=pz4QmqVPNhs18pWiG1^jU9Vz4K(S3X;-YST`(IJKA&JEl z)wVgo-|O?+N!oaXBOEZNV!ikLaguvOFs2~H*^yVH7~8@#Z|--RCdVX5p7DvL2obj* z5fqC0d1XnDZry^g`kbB0e;KxE((Sl_s#U8dnf5hovAO?8%I;sIrU#n-PeCbvu^x3X zdfDvOojcb7MoeB(*1aSnvyrhSFwiZb<@hb+eGIBOo@-j$Sw*3M)aqNW5=H}<; zHzC+1`d*7LT27~)d2;v;Fa5CDdwMCT5%6gl@a659cU_;4UhF5^GN9nQJr}pA%jp_`x8j1>_kg$gzB0Od5FX2F4xU2mXX~pWfh8$c~`!{4R_jFQ(Xx$xn5}Ig;v5l>ho2g=dtl?&|EuuIVCPQY*|$KaGZBT+F{&s6k>cq% z>$blz(=sx|r41o46IWznn|?5`^<(&5G= zWx<&q{9BuwQ^IDIKg&R`+Es}L6#}W=IIh&``1G2fUCTLF7jtqN!d;}p`b}{uPusGE zL?SLKh2^!tDK4S$xtlOy_n0Y=ad>X@7qFBQIfb9z!k&-TPT+8-=a;UbV^Pcz6=m&E zZy8s=iV7osvzGTPKOi{0NmGb6z-p}PH_ZL#xVi7vfxE+^R{e=NZWmIs9|l#pSQveA zxZOUfc9&Cq4YZ6qCnCrUR#D$NnBNT$i)raqocqK^S7bZ?YM*H6NhWdt)f8ZAE+pVQBh-$Q)$?1B)A&jEr)k0B7>zTw!*5fa+}~af=pxlc?C9NN(t-GKaSvR(cI3K%0IHm!n2XCS@fU9Q;d`@j!qz2Ndu*@E8+F z^txNRxioNNg13;{b zp1-VpE((xc%;)*YzZObauMM0x9UNSfe=<-DZdnVuMCLPvci~O%p*repdTn9U2o5#9U zTQc*c!V(c~pP>`E>L2fVlKV)hxmuXkrW>q$>zUPv*j#;CAm0y++>#4so;gENczs&= zBkyfS{7Kixj~(guZc17sYt4WLU5AevH3T*UOL?$FgMHLm`as*1_(Nvzc#AYOVpS08 zl9R}PeMLkL*vTrA&)rO(_%OMK13V3 z9R2ri%;IMD=a}e$-$>28Xxg-C>uMN3X*WD#mC?|fdAYe|tv3e;TUNzZ9&CPNtkHtj zzhB1s?bXzA`ugEhr%%@qmq161F*Z2vF@w}7wqB;Ehg)IzKEJUmC~>l8Or6>)ciq~x zL3-7O%&PhO=Uuz~zQmcw>!H0ZPX0OQ*H025jol_zZsm6_AOm9)lXm>imFjcsNF>BX zM$L*1Ttv1Y$tIc0a{?duO}{%Lyv?)iYIX8H@U zOI;?w9@ZEcV|Iws===AB$jlcmT;QbCr0#~LX-1zYwf=y-w}95daDlJ^pAAMEc$;Tt z`G`uYpHPXT)ZGv*YEq?8yvJaxarDHA>s}QAUJUj$1#zlFF-Y9INa)~j25r?nbL)5U zH>b$%_XVNq>F&i`408q5sP}GqO(JYwB45kAyxd8T{=6@(rakK*o^I9@i>SOD$b+L^ zPX`jsY>T^4jEl5z_@?#)Sh6zja37j?nT;1*KDS7`PG$O%_jVrti5JpJ2(*4^!l_#H zZN}@tH=P*+Ab<6aJJwd7gP6V{0>c0P8lnvXB``6m6s3*J$`Z|L)dX6Ssk1IOund8N z68WC9yL$+EPlS+?cL*fnBTi0n`Gfjpe_!*TsGo`mRQ?z0C#JFBNn#u)7t=8Z_AL~Z z*Avt(zx$*AFZlNbA>UlYV*fYzpFrNAS~7nhL&$f``CUs#OpvkE-(P=Q3cb$MTp^i_ zbdBD+QLUyurOkM4hotCpYZY~xoePK_Y=`8oZ`4JVx*czO0sK~g@13WVJvE)aAKKHlQGDL)_oQg2<}S0^iXgLSF`aT>xQY)wwV(2Yw@#6<ub=4>@T2@mPhd_dU3}OvUu9HMx? zxAxn{*OMBDMuHJ64OD5Dc+5M`e`AkthnCQM7*@m_dvxONDi(m&01a0H5l8GnKdl5J z1K8hT4tXtpDs{N=$Gis*f-4U*9Qow|CFG@Uw)i2^ZLXiUYn3f|2glNGaunt-gmG_< z16<(pV!O}4aOSntdp}J|k=^)zxP-5OY`4mNz_=+j%7cZ*OL+g6B+t3@sM5)>Fw^r3F zJ`UY$APZw;fK=2*m~H~_4nEjz3(>%E@bsvQcI>l63p)r!aZ*RN4z$f>nlI_fkIJ9l zk9?U!!w^C7P~guFngLqlWb+@iwv4QVkFHZi+&v$9;s?BNkkdxm<`C0rQd;6mzk)>} zR;gTc5ER>op7|#e@*Fg69PI6*c|ISUSzSgj}JWo2SHB3cqyy((3!f;FnrJD9^6T0jcMcqTd#O@P3_I>lge}vMTt)r-GDsbv8Ge z@n-roBNf$uDqoCmFuj5OL%(Bln^d7tYCrOsj?}EzI*fML`>%SPh-nk;AW%b{;)?|HJ|6sHeiCHT+9P6FGSbuppii>4*JrVf$*Qvv)PN#bIU{ z52MMJ@Zeyrj-5D1iJgz9$4t+i(Oqw(S~3-m=n7@X0IZZ8Qom9H(px%a#ix1Qv&mO4RFj1+>PKyn?$ zuJ7Qs9r2{0JB-zR`Tkv$ahxCFJo&+i$(?0q0)|q#jzVf7hG^F;Rk!#?37a}j#VoHez7(kI6a|IQ@z$_VnVUL<5OHG2itIBK!>oU3 z^nmWtr+DbaoNZ-f^8Qwbksjr)-}(o8H!dzd)%8YSFB~AyUx(xq_OoZT$oy(^t5bwg z+>F?OlxWpK*|(xqFPc0{+R|IZ6d(LqNo+Cs%^V%q<*DP$&!|kKSSM=@q;QsLA~<3% zC8x4T=@|3ySK-*}0d!w04Q+9B#gNsJu$Rs-g!G%D*`hc?45lH&OIvT;m`ATgv~P$y zT}7c%yxR!FTgu5}_$U!!&QJ09O7E^Hv{%@L%|7i)?<<5Bg?fRWhhFA>GQ0>%lt9dY zr!f7O_?72T)=n^`*;Kq@DgB}0wnUC>6EjiY>*oCtkB642M~w`!%!NK~oeyn0>pf($ zQ({7CuqiDKgE%40USxipb|RqI@5%wE@dU4XU#EZj7s1eY#^%3`5?ve%zbvfqya%SO zj~RR7$cTnz$D=2sMbG?D#svyD?>o|F&bS(tl}?i*7CmH#WX?BPGC=Fy~ z!$th0_yC)tUQB!TB`_kVm5-7`^uL_ym9mJ}S|djSGTmj$(tR)Nzb4(7IpKZ1lz07Y zBBP=Xl}~Kby7kKn|G2*S6UR*vc~UJO&aIH$iULfF^No32IStETo;ca&3^gFewLPgN zr+4jkO`LJaABrOAQ~kChZpRC4Cd*O?_8l*J$ecUPEc;B>x%Fx0kK9mp8}(iCv+qT@ zWlYknX{aj6F4eDO=;u$bb86E~S5>686m$iBOk(T~VnRe0O6UfarO%)518DWpd}51s z`2Hd@viSc$OLgNTYS6!*-#rz87$M{2>2E$sY%fm8?v>q|PMm&6!)>%@+`IP?*tY8y z7*}kPlHgl=lxKIgsAkNKt2sHt%B`wbO*%A^ z{zi`wy=vhfKs}~VbBRYYLR8rUJ@MQkyEv7JnLZ^}+Y>W;bh_J)4Fw zTs$eM;?XttXUod*ozMdDI9Kx5{Q2E2&&=EHG<Pe* zG=s9}K05E4j%JY6_7m|F##YG9G;Icxde*HJ2`&6?iES!+PuXyx65GC^m>(@a)#V@_ zoR)7ob%a}q?c~se#KHLD%B@Bn_Yj~Bi)2bSLamuuKvPV=>z;ymiyz;Q(=`y4`K8hm zJ&OO@M#EXiTP&PU;r-!29NMlg&$rLHO@`A-x=I85V}XUmic#(>{o%7YYn!abu)$Gb z1c{NBXLqFcB1QWS&LilIMW-~5Nr!;%ZC6um;yFKs~%x!tx9`)MZEryL9O*c6g8-*>|O5h zs^SPvwG3rto$BX{(#>w~T9$W7XU=B2P^hqrkg+7ruz86yAU0Oz&1dIg$hA3Q$w<*m ztztnFdX((5XT*%frFq>l{<1{}zxFHlp)~~d=zU3R>29@f(RM5RyM3olN9Jv=9fHT& z>~^=hLV8XvKCR`jM26g}9Y67Lg1!AqyHno%EKX~(lKq1jF8Mq4s=1iyDl+SPL}jAv zm#C~@z*8{Jl{0tBYTjT|8`bpSx~)DmPQQ;1VfhJzZqdqZe!B3w+`Xyy>#y zWYgNUYh#wuKw;suG^Qdm0hX18JhG!mR7D~OM_Df{OYS1(dfPXzq)52rvxpK{suhO1 zr8t)@+){r&%cw7cE>81#^6isn&#H)mY2m_ODmDgqsl!EKCd?!AbeGvou!e&8K)(ha zvU3PL)VNfuX3fjvo&04=WjCW{$hKt_{oJy`!BMOll6DM6!|Ubkmbk0TN;<+qEO|BH zrXkeQVnI(WO=D1%C%*pUCfl&mMzFyw*SKAXJ*_e}8R%z?yQBNDTmPNfjaRKtdmQe6 z{Z)SB&K;sFY7W#_Wvy!nXIfPetNZTJT@#=PGfwU+-VkB*!tO9bNLMdi+8^~fHsSGY zkDRMWq~_JCw}ceIKC;UmWZZL}e$#qT+};23g=Sk;0p(tm6;k)L?|$n)ngSs_-j8d# zWw+5|ABXN1PQYthQ)_1~)~ay$dnEDGZhAg5KljhAA6Ztp#MgRT(an<744CX;-@34i zH-2mr8?&miMqQ#rYBn{zdp{c|G_)_1lZ+1b?Qm|N3AI_IR`)v}dkwn}Gl;>0CKcU{ z+hu!qY^4`b@-CF^uX) zh=rc`8OYc(YW0i-7eVc&&B#25$X*Nz3C^;R5)sEhY4&#yR2OA3CbUbJFCTRJ>LQ|t zl&GYMiy$$V%m;x25-ZfGSHu>&n?_Fd0lVQ@OAh({kds62@MqoUMWBD?07RK8x3$X> zEDhKmy#_wNh!c${%S@E-9HAI8{Hx}}JvVl*)AnN@K&h5PE7m=a+5`mtl8p$3X=LRi zV`pqhYEaDkEYBLQFx0=`-MfOfteFhq^~mWSmOg49#jr z5x?V#$cJg%WU3bmC$U)&5a7ly@4y9ud%S*eWBV#_Gr2m2)jfy-!qcFjtVyYQ8Iz@> zZ1EF;An$1iEyJbL?EA$Vs5UhJ6c`{ZKh!9~4}S6;b&H3{H9r@nowV3=M*}EnFZX2x zrjc1dU-nR~6+nt2CKg7Er_mD;#JobBEGXOITh?)3=7ktLTw8)$~ z;|x5W49F`7@is}i<2S0+C4+~V*8OrPruL&EHP0|KTNj0 z+3wVbz?QE!_sPjXiP!U5;O_jxvat4lL=fkO)SBMo)sDYrEjlNd$H!g=Q?njbV~@wR zPq%#M&uLLSu~+HwFgu$Wtwvk}OMH=(sPm_u^}gjg9Yk@8>+o#NAao!mV(7qlxN?#iZq5Q&!66^4INq1RkVd0EiF5yrpNLJ5U@yMPt@dCeB2z z=B_jhD?i(=_LD`-Ey(z>h)GGCOwEkz6L{_F)v9!f8oKF`clizb{pO$nd9goQwc`@0 zD%jl+QklKLBH#dVfA~q1lsk8S3;i>XROeLW`V4zi%AItp*N3O0ZIXq-vV~DPIV6t3 zcW+EjTJrO2RkRWpIA*OI_7F#M+Fq-lIA%D2cPE$6vmDVJ~(AmZ~xS z8+q0#5+vjau)48|x*{Vl^6xxV^d6Vs-{9ZhoZArCEA+PRLK-T(npT+upbK;V>!`#(}}Opv}+S*t5FN??ZmUn+q%Td zZ7^FB00QsyI(mHZhDy%6AWU@y+tC|DaB==rw41 z?I)RTiSL!ew(-A8-zE$`jXu(QY*jBdHCvn1hyb|Qvh!0XpRX$rp#QyzHNr-O^VOgR zvfoi4BLF6OaIf9$zpZzmJLn*Cjw`4EWa3K>1+u}5Kq+&PvdEAjDvFo+r#caRqdzUo zs`cxb$TSc7#D?(PB2F!%oFN=*E@W*SRnl_Q{@1eKV_*~C)Kst8uhS-u6%>~jFu$px z*Jh?KeGyi1^{aXnpy83<$QwksZlKWx#hfl7~C=R-2R8pL;D-7EG#KmLk%IqALI1}j4r}c%Q|OS3x47 z2_GOgnhI61@$B4*rp?cfs(jY#4%RU%dafN03In{l>8EBz@s5d(Wx%SqbLQ*gZrf5PHpw(F=EmzD zxFsg>ZSr;fM`^_~Q<#i@IxO+t`6WLX#K6>9MSw)kkjx{tcbmYazkk@sk?Axkcl)Xo zU<%!{_d$L#acMm_-$jeoR6aWCv3>SVf>QjX#w`=>eH_9p0C#?~=TBSii|u!Nil<9U zm=3Zp9r^x*!IP~z{qphjUb{Yrf&3_!QFW@wGVSiWm`0He^0Y1ob_AG+Rs&tigX*BJ zJ|brBJ||D9<#WVP9k_9&gw>O88060CaBJ`1!NDi4s!Tl4GjO<> zu5Nlac9bN2e7-_uB5*pE0YIK7lQtsdBd-}&e*Q`@tZLS|zX50Km#GMzH zZbLnb%Sb3J7}`Yd-SjS4!7Jqd5XCs8DiI$cbt^C?PjGn zzQ7v_m+3KPFtrN$i6FA1Yzm`t2(SMWrgcqaK;_SK*&ZEn{mHwUHCZd(y`f&kS=Vvt zBlFzK?!`MC-`BHEF4gn2_W)n!2VFG<;b+8W3b3gXNXa*qd0ykMSsE{9o_XXoJ)xWM z@VX757e!r{6M?h?Np%64>tJV>hnDdH03CfjrqpC;h+QjY68j_ck0iY;LyffA=2^!eacZp$|2K=IN zk9TzUG7iG>GV9kLXZvjZIqq)6iMDOqIu;M_W9N{!Vb01}qeVUKP?KC<0#?her`dO6 zf*RT4zfhYd29vBTjma~=e>3FipQN7)!%%)&$WdTVp0Xe$ThJDa0;ruUIRL#u55BM? zsmMPe)9A%Pe1~TDFaB_7znRa8O)X2}9(F2xFjP z!D^>g1{;1aR65!umGCX z@8j9S_eO5$WYDvx{g2O7zLH^feA?UeV>9HOREAybcM~`9uGMJV!!wk8GR*T^ZTyhg zrlYFt*w^0F^zPfPL-YN%4xaSP)6s48^+5v%nw%Y7yzx8u)&43vv6EVi{Q7aMLFr{C zp?8dW*F^$nQe7x(cv1u6Z6F#TCr_!!P_%Hl;or+m3u6C3x@bbECTxY4bLCaxE zJ$1brabvTG#{`ttpAzM>e|2zZkXo|sTxD~B2`ALYSIr0PJaPG(W;O_G5`n)j$uY2h z9iLGgd#)EPLcrRw$Ksm#9J=NBD&D{-vu?VstBZ@i@2ISu5yjd-VX{wI22;9pXx-Xk z@B40j1nt1B39(G4pKaQ-VL@lo5|EZn_sR+uJYIcdENBlVj_ODN_wZ-<#xa>qGfk`g zt!^Bg(duvl2D9}9q2rsXVFw^`PW0MW^l>a1x-#zS6EIoWTWrm z#ik1(9Sj=|>vMaVTJp~xf$i)@HA(lug<7^#;Tjv>w?EL8*2g_@lEP%Lu56A}b>-e_ z$=kYntU*eLqPmuJKmdnjj3z_|{y{ z2tw;t7GUGG*6f>GpXVQXogdX<oBz)1`J=mxpwW{3wac~E!HRZbIWRN@A$mnWACKZO&PG$u1qkxFlj<& z!vmmx#=cn^jV`lk_2bs^&!0DU5F*Fn9l2ky4fNZpG_7J>K@rx&vOr2>9-+(WLTQS9 z)U5YaH8cw8nF>GgKi#s;FkX@s@D!v_8R7sTxM0#(&T_}CZ|CzIHh#Se>jeOZ8hXXP zpf3?ud`fCJ?WuS3?`im0upWEV)C%7_+k>yC<<@DWyT7c<@!;#PpO3H_vCJ*eNUPh< z4{xs*X&fL9X`R1#aZumQmd(=lzPr9V#Z4JM%gKFI^Yo8&_#yrYl%$|X)1GAy8wp*` zlny4%+@f;tCGA{m{i-j_X~bm?4R@bf%7c`@;wBGJ7ZY@$flC?FoO#^|QgH5~fRt_r zvNrZ!W@PHwJpd^wv$p#l97}=KV@2Ay7mHFWK27Ly+Xc$w)w*X{myleN#3teH%PR)F(?PAcYi##o+1uMSJI1#jV+1mtzcrfuduu}m2QeYmg@7t5O8ZHt zwE;B7_tu;PzkZ=YmjAgfQ^LBB^yG1pok&VLyN!h?X&1GuCyp@G)(taByJHvjACew= z%`~k2xH$(3qAV94@muuha!!Mb9|mVLP~;LnXZ7WzhA$lYHZlDeH?*yO%nwQsq&rJ$Nt#3|q4pd^z67+2nX-#k(aJ{DB*gA=TV|J9>);HL%fcx~}PKb6honRN#M>5=>f|n3#<2IDg5Pe+CrQzZkk>Yv!oz zv`^dI#Xrx>411`A_+#WsmYuJ`ohoDPm0NwS`k%S9I&{y6keE>2H<{8sB_Da|zli8~ zeV17a^8G2t@BE^DUR>c3&iczzQ~N`W1$ke&6SPJUKFgJ$W|7;+$-qkLPCA{7H*Soy zH0K%rHLth9GB$hUBmsFh4M1=_6r%X}h>Mzvtl$=nPi(@G640Den+}+u7N~!7F(}aO zGYjSfnf8@u29{RIsyB~l$09}E%mUj4M;*lrS25i4dS5fC#?2K`RQR6Ph@x;Y8=Uav zvUOrlU8AfBzcYI?BPvseNA7+8I(6)&uRZKc>eh90`lcM7_iFX3ZJ8PTMV(u6CAR9E zIq#ZY)&*QC$vLu~tK154%y^H)#6;F&93PS&OYJm1Ov7t0(bKs77We~O%bLymHiB_e zQy7Yy-Y010bP1k`T~TfvqtTgt$_?v2jD%Da;9`;H+_ZQc(Wr!o;)wAIEb(rLc(x0(5@e@~`gcrzaVaou)(siTqUWrV^u5CR!y5Y%Y zNL*5UR0w{SDQJMjFvR;*=y6T1MZ0V7Y5B)Ao5{^>#3d$#y*tOApDEgp1?yZ?KWs1ToZRdz5w7=qnAoMGSd{;p|$6$TI9C`!u zyvC=wl44AEf6W|hOV9(hHi8TD1dq)?NK7}Y zSf2U&8*lQt!x>sG7|H(ACXCkKFokq9&=>uHRh(rz`Vud*_v@p0lBWXMHg01&4HfT@ zw^#4e!6il=ojy-2oS+T#HyB>qc9Mo<^R+7#ylBJ~+1HEz-PVvz4gEk2&r^x%^f%a; z@vLKGQGFub?zJZJt@xstc3CmiL}T!*?2OQmbbFo#jF?-1i>XN_u7bF5+vSw zk%>;DM%9Sw!p|tTk*=iF&GCH-PW*)#*SV-U+mAi4?+j}Hypta7qO=(?8c`gS8@lzT zgp|pZERA%|%;9RixZhH-{GNuk>&)#(((t{yy~%2?7+-SyRASq-5F-Q!mkv&;6O-Qo ztH8)k-+Ghlbv*a*sR`Ozv<^I_7r9~2nv3j(6zTQ+x~^i*ct_$6&+*2QG4KgADPuO> z3Iv=Ng(&(`MS1z^l`{#^c%ydUiEiO{O*6piI*o9O>PUA@nKl#?Ni8iciEZ`{bJxlW zIUiqN-vMnmy3KoEUT)KP4&+ngt7GRK#J3^uYG-5>GCwa0Wx~TTm_~^QAnH7yLV4Za zIY7^J(xge(qk7fnye0d6H4*nqk-17>yBXDMIm3~(lXWpl{M*`(JyC*W&_RhA7Ra^q=agzAG57ODWD%7uGJQQM1L z1%r#$BR=n(Aoa2sME(}2?coj^IwZEH^s0%6Fn5*&Qrr8;#&zpzu`6&bHTJ=%{*Pz? zNvm=*>Y_cLlloPIp27mH4lPgH9;y|5RIosuz!NQcz2eOxmQvL#wdn3&V(&^YMNYT^ zRr^#fTx5nMk^V5d>d$IW+lPV@LsWMh=}J zMFDM@L5;ID?PKM7{>?woSXX1RkA{NJ3;dvb@bnZUO^?o94V|tf8UdefKtD%}wq5 zgrs(G-!RL;)C*G?%atcW^s-#k>09;T)Kw*Ji;Rjn65B)eb>Ww?X7*afJt)He`wCAy zI2?K&o6{4ENr~dn$mZz6gSDQN@R5H0{60s5l?=yG?v4>hn2%hXV|cbXr`-C1YzS?M z%+xzOy(LnMQ=NEwDBj%zhdVi$JqESL23lxk{#62;pxewI4Qv)~yN2S{8LnEfrHE>= za7+I{cb+D1)5hAHRVGF(u`uyzP@)&3`hx50ojZdQ49T`KFF)jRVf$96phOOJ9lJiu z@Y~-%@?Lj{*WY0I1UDBzZMo|*cmq0(b%UZnv~{3f4&rW2TRhjP8DOno`$Wl=0J8*j z(Q{xUv=oaWP_`8k%9%N+m*{s~md|h!d*&}H3Gip!Q=MVebRM-jb?S&vzle+8+0=9p zRL2-}5WOIhY-@MPr3=#;z*OtW*hRq5IKo^M9wR(l6@n2Bn9!);Zv!X-@&DRC z{|#znXB4VpSHt9uj5{>w;5dckGO$4z8Q~7fkH}+4F@tKnE|K-&ofo|(m488PiDXTb zULcLms01~a*iUP~qY2!50XG^xZdk@NfZPE*b9WF|GlN-`8N@oH9+_HIHes&&=!F+| zMSDcxsD@cNC)V!d3!Zk;*T9oYRv`cw=sjo@GuA5f$(!1LD`)*ktCkxq^%{f(RoVODU6p`1o4MiJwi)*b$6~}W;ntz3 zI!i1EUMf+7Zbk0AqbzE(R=fXD3)_fiC(ZQC&VK!&v9aTbfop7!Cq;KFYg1mMW9YcP z-MkJyc07OSX6whFJmTF~M}8bXFhcKgT#enG*Y^lKd?wL~(cCfZFFFnKl=7uSEm`cow4PYSWhfmv7?EXwDZ!i~ z6ei;mwz(=fJij%@kI!kZmP|TPQ3yx%zNO#SO;?XSclecBG6!v*kIx-urI`)Z@6yHE zQ^}!}j;QrSHEVj4kuB2I6%vwWRWAoeM@=xGu5POM04r;%dVwa@$Z5dD#0Gu~@Cd1@ z4$@$%m>Is!v}-=ee6YR`hP8@spTL9B#+r}oQxO}-Zn2GS_Nrl6)~k||=efhI0~#|E zAjBTEaS@%U<2$dI3rCKoHq_J{JWSp8OXv7N!E=V_UoXA1_%izQ z_%9Rhb{pwDdyn6~Q}b3f=(XK(`!ID2H(tN#cgK)@Z#2Bnb&AnvAjTfZvAxfk)q0XS z*}7ReBkhtog?Z(?QrhY7H}o6LZ`vQ`VzYF4cLrw1RB|PpCd|)m~|9e1AUPYvt;4)z+-0y%7*j ztXNKN9|+Fz`^(la_rZfFJVO_h!_4j?d#bDB`>SOcBH9S*F~=j}Up2B12WHG=%ZetQQ}x!`OHZ>>S|UC1a1 zHi|;1$eY<%UT#BnQtq80`6H3BWLZkCB&(p3tuHgW5Hmr9N%u1jz%$FZ&U`tYm+(Q> zboKqgJG|iE7BY%Lw$A@MZ>({h)fTrof1c#b{E^|UHduOn``{+-tuhe9e1h}L znbq9g-DOr$#BR?-5v0{5VFTS>bidS?oZcTy zBfN2Ub!umQEIO`KqmK2{)<45yOWV#|-TqoDvP9DDb%zk5t_KX&Y?uLGRRcvYqC9;( zlricO<8?2pFv675bLr zm%5pn)_)72HDTdfa{n)vsC2f{Aj->4t@X-g?AS6?8O~g4lzmkcL9RgL#ZQ#&PGaqf z8}+XN8givxz12csi50FWnyJ9i&I+_1n#C4^J)9TmnqxafNEyC*@f7fN2OMKq<_L|ees{5+z z_iOgx!;!-uW0%oyia`UMt%h>Kv!F3B@lb%)Bu=7dpnsCx_&_$s2{C6UK`Wc!-2#^lO&KUF7YcCf)KE$;2jh zj%^=SBA9oc9rek#0-}a-hbric6a_mM$mT&spW@PLlm5{}s6R>je5UQ=c#EJ(vt}71 z09la;sPf_C$M>#Ig|&wT+c%5;Cnbx*dP^-!0OyGOpMgLAdH%l1h|`^`8)a!HoNSe5 zU*hQES`k^Njb+)Zfri(MYDTwf7n8Q+gT+x@`{j@0V{hm5eb;WbcYcnh_T!(~^SC?q zpAR1Xc&mlaH^;l*)sQ~?>aGC--?&#SdE;)^{!D82g*E<{O0I>xtL{-$*&fhkM0@p1 zi7t!VRWta)05r0!E5H?V^qm| z*p)30)Vz7~1TVyi&!}&PxJU)RE{)&|QJkYdtN zQI>zry?10_`v!ZEG%WmD-bN8<0{zet$NT`iR=mf~a0{X9lOri|wuQ5K*eO7=ChrN> z+`uy-+EByAixwFlV*BxW^rR}5*Ph?X81b*sYTJ27kJvTG*}<@tWI!DoV3Z5NlK=$R zeQLF*bbB}Vl`2!fY<}0%N_sgreU0w62=|9aRNCb2pIh7{2;m;+? z6r}oCN8fh|3D#Ui!>DQYP%Qrtt{WxfGrt?r-l3i%*xAi-f0DE92&@R&ae1u4R1KpE ze&Rshs8J*H*7bC@ezYsUzyos>>{%=jku%bLRuS`5gJXMbjF9Or6J;9ol?n5s7FJVjv; zXxE+`E6`nvQL)SB19t&dyS}qu6Y;hp=gBCGBx63pO=~_UqrbhR(J=gs<<-!+XlrXw z!S9YLvp9CNjDmFb>_cO2X1vf+r2izD4q`&9{D51paY&0&iUd3&AZTZg95zgnnwaIw z>>=dp?VOxdl1^#f;1i!vWg35e!46)(QBEvFSa_Br<+TF%C#ye4nmd zxzf3Ncd_yl#}`4ddi8SHlOsN=GWw1-zLuzHiEQZo8ueS$6)sjyk*Sjl@3w!4zy9-c zTBVU+08h3ONE>yXp=gkm6_JsV7aF|+0a_*E*gtdsV&uVLiN-BlM9}mZb#-;)%eR2G z97;SVw*?bGY||AAeFjIHi1-}VO7MZpH4j4*wIsEyE(P|5QkY?UVV!=KT<_i_F?$0T2@Sn;~z2SGq z<1S9Gb4uM405C5!Qa^XZZv6O$Kr|OT$m7a`97o$%Zf8_J?4lnK(3DBcIw64Bz$m;H4$?_QDBT$?nDlpJ-ryx! z%Z1dFHzUeTRxNde@LvJxA?`)w+Z*c#wXw;kR9f+U(V|5&DI?ZR^%qB6#D{?=v>aDk zs7{(xF!5BG`?ZB#Zo>@IkzBKuy`EwMcaFkU?0w*u|QC1bCKk?1A++1BA9M!N-i}o4JN!3H3g9h#2)HviRCS(b?Xx8_H#i)aWh+`e5$a3Go?ui{J{Txwbl zU)-R*eIRZK)eJW9i)217IxcP%!T2fFkKkw`r{=|Xlgl;NAEc@nxEKgu%Cn~_ge(7T(;;vdzNE&ArcdL2F0C#11pYLapLb{Owt104g+@vPdX(g7v~cW8lC6 zAlfogg37$Q56l08`OGe|IdRRJWpwk0ozm8Ejb}75qud0Qs$WmD_xv}(t%j~khmzbc za#&}kh{ecB7B@i#7jo4c`hQrRx-YcVT<(;nn%eTFSHA(BuK13aL$-`P{JY?Sx&8)e zqX(uKw)yGzxnO~}>tKV^4A@^7_7<=JBgNS%Au-&QFTk+!|GnWP)JC~KMN_VgLJE9Rp4MI^Sw%}Yu-Ks9R|aT zpx(~I#Nf@V^>pZDU`wveW>=3SK-U5K8`7^_(SQ@YS$>-I(iFZ|kTsdYlkiG@c378y ziPX!SBP{|?xIM`lJr5`RP(&jCLJh`LQiTXS%^=HD{5Ig>r;@{GvXPcn#UScB!8`^e zR>1dl&HD)`TixJZFQI0si@Oc)LsAp_>nalZ;M`ihk=x8AlekW15nmC3d>wwSGi8Np z1LJXrf+1Fn{U#3`T9wFoLHJex&aO9kexGHQ{CIN1eyDL|A=lLVNWVY5w2sFc_efBd zBad?qSjzdc+6(KpJIq!rn`t4B9Z3oeQ?kz%;!>EG0I2_z8u=**W20|($t>`4q5=AKGHJv__l*Bzi3A}y#woAqC0qPg&J%YaXx>0ZBct+?_ysxxRy`Yb) zr>AfD^{cj9diCm+;a}^ZWB5KM*eNoGZL-eh^2+oHpuC3i0OvELkmY;Ntz5a1Vb|CT zbqhtZ!UM046w+eI5ErT~t0Hks<7%xO(N-;Nll8W;)(sVk`D5%%q`%g`c6pi)km_jr z^0rg6lYyMDV>vMI4F9QJ->(bi&tC~mghIDvq*WJ^{o3g*^6-K_=~=L?I7UncWyzo7 zX7CipbZKp5{Ypw2j_~bL;y)5!Vm_sIE5pV^vK5Nw$ow?8dNR$5v?NMb*-q^FNpUTs z-;y1I!q)LXiJA&XcsYpA0PZc0n)}BeX^unQp{}DaaGIE#m1UAYHDlt?CfB34a0mp}dz(9y}g?v>bOsh5ZHJQ7>hJOt_Gd_p<_k)GPgqh>ry% zJmHSV?905QgIO(}=`Q(4bxgYfrtd$@+dB2n&9J_6IW_yxgPhFNar81T+&?5WXh5;9 zurDc)7I+Hr+_=-MB{kWC&|u#;UE1k!Y3;e#>lpIgjVFP5Bx_(%datRP@I`E>3g5|FGf-F94>Ubh;-vw=3tM0 z^BDPgni^Btf-;v`SHpaxeAC0j#D4m$`;$tj`E8xuLwlE6QqXedb+U62$9bhu#Tyqz zq87XAUf@sczi|28bzBC^=o&IzRe8XtFwm2GIB4_T97j7BXL_xm?{YpiYYXN{HLt{u ze6g!be*Ys<-W01ZZq=$)O8nobKeV&C1Wg$PQ{dU9(q=c>xAZQz#t~3o8 z_3Y~UoY2>5#$!);P9phLHFs<<2ke5!rMTqf>(>Waje69Ndr?gbZeAmM-ii-Ahj(@_;4_w_fJHOQy%VenpINB_a;Su9O zc2sCFo({D4j4Qc$)*q@eGW$mI&M^bReKq&TboEcM(BIIfx$E6YGN(gsF*i34bexN4 zX?d)_u0KA~zzAaCMdbYJ;W`d`W@NKw&5p0#(_XE6ADH>Z_cvSZ{qnf-=PHU)y|!(K zBzSc7O|WZ|?ArI(jgECYPMtsJdB}6$|3lk<$MxL*|KIq_$jITa3fUthBeF?C(J(5J zLK%^ekr@pfWn`04hz1psQHX>R4KpL#QIwHYM7#5Pf0g4nKHuNxJTJdL&a=z+`#Fx| zP4#*`UysLq-0rvA?LPET)Z7ocWmh0COTWbc_fD=pT}|f~dy^eVh;DnLpXlB_(gi*@$|Lu~eq<#gTS)1B=y8vX2=V~fwI)@&2h6Q$Va^syB+ne-CAJ_MhS@zBE z1NALDQu`a3-{_ifKo+Y^ws}ZczoEI84`a{mDBjY*+4+?#7YG$hehYk{orxN6ZT7~>Yx!jV+z?pEld4Vm|)0&UA zTMnj}H~3M+Ui&kb%^ez zqZ1#7x?3?7Z)xrHKP^HiLtRqU9nP@`u&IWI0MOuWuII*W3_0In3b@|G`DSEn@6S{^ zJA8e8vl9A-<~q-tcQ`Uq$1PB+SqHyHJ9g}#MM#^yfAicVg#lBmw0t+U2AdLXbT2|a zeDOzvl#tP>nt%PFt0>&N#d_k~-&*gb^3A53nZJj<-Z^y@H(Oqbg zeal)pv`{I*kSDs#PS@0a*>y}BBAk1rTSSkB)92mjB`pU|n&Ag~{OA*2tZ%lQz0Vo+ zHu|`8zCHKr=g-DR*Xgn#h-~|CYoy6wqoohZzi_Kre(I5tE6#;<`=)Ok-L7c)94s7^ zNj`XbuFso#IuxU4JZ_XaTK5a4TU7nUiK&Y?_Q>;DZj*QY3@a+W_qKF{mS#+=O z?>tuy=+h_vxM#omPMaonT}Kq^@~+9oiG_tHCmv9>Id(Gb-KKVANRoq*{mWd4!O42+?e-9;aZizE`)U~0GpNz|ySifIQnN_<<0*upX6lA?y?A*Y^)IZ z%`pDB&(=U6EA8>cOS%0CBz5mR+6lq2Vm@Oprt^YDsRK!LkG4i0v&*jY(k~~)K{w;H zWP~Z7BDj0cPWQTDVvR{yOdbi?f?YD|BdZ#Y9C>`+f)N@zP3Pv7@5qgYzq0J))}Eb~ z_UfelHoIJ>lkSbpTesfnn@wi-DjqRn1kRj$pJy`>61EFP>3wjQdA|v4#0vO{6trH8wYakU&e@6*T)A&EKdR`DaFUsjhu8Z<1Dw%4Y}cJWTDh4>7_#65=W zar^{E*rPMrEiW2X+aCf;XGPe7x@|*c@udvm+#^6kI1)Q=ECK`3(X_=iP6b*@(t~Al z#21*+$1qn2CODw_9^ZAk{BB~RQJ1sTXrNQ`qlt(8taHH~yIcPWg#{su)%@V(=%WWx z3T)r~Z2BQ*>ex zo`37JCpbAW{bCPG$7h!|moJcKm*>xh$*JJ11$5|-p1p&F^|oObQq{3jc8vMGi$5G1 zkOEMe$;(nb|2yJm4h6&HEvTnZFr`@7=aiTI8j=xr>C&aNxJ^qm9Ib!+`jvhmG9OGu zvHjg&K@tfDEY7Z##pL8&SY$qYw5w7Gg45>LxkVl zT=%SVLi)r!(u;S!U8=Rf7moKRqB+lP=A6TNTK$uf%D#A*?xhvb%VASWJ4<2l~2LWEj}SKLiW!^UOn(AIZ5m?;bvW z{Bmbs!4SZxYGpAPoRXn7L!&j@BE3^SJbo0@|4{cgjw`d@c3!Yx!5^*lCl~DRjK$E4 z?|yq7le@w%eO@XHd*VwspY5a7uvM$AG%GWk_d1W)jLwU@Uz+xDji?h$dpaqr-b*Gs z@VF;v)uYpPdWje!EI(MzR(vTjt8?kK7i`#h^89%<<4HHoAH9B#YmgWW!lJK7F_n6* zWhFFi^+SfeRO;2XKTbb3d*L=LekM04>W=Wh`)S~KGzbSL+t0lbclA@quiGF0hwfk` zpSmKXo62Q+xGm@4eE8o>zlcL=1g)V&Ww(M;=4G5G^`FtRzLbx9lz!|^V&RfwMYce| zn<+?UFa)%Drf`^YXHcilNl*GMhYr4bX+lCm)~uhmbTqd0(%HHrul3#`TG`Zs*o6G4 zFaXjs4<1o>%enNosmDlBLVxxSpASL#FJeP{a&l+0m$%HC&fXcgH)ekJMAw$Dv2p+G zyjx??vJ*F&*f1*DN<37ZNx;phZrF1A>Hev@^TN2WgKrT<`lK=(-i&X=9pbnE6lO(>Wd*s+ z;_q>SMqeLl|G4wX&Jl95I0XyU6a=RSjUvBd)}Yb>N=XqRPO%yXUzrZg ziMAL=b*H^;IMX2ZH@lbxb)9tX4^bUWyu#p-aY+M(xQJ7Xn2wy}sGn>7Xe-!!tzW>m zSs%;5Fa>X>zgFRw@>}8`JsO`hwUkfhJ}PkUMM6;q;8C54(&ki40aQc_#JpP%w@F@! z>6OK@r?cPM!I#qezw!O?^wDidQ_BP#t)gJAc9rSov{|$E9I*pXd9h7x=FNS%u1i18 zns>fq&prc2j3?m$`%rTUa_PNP%H+1eSD5$!M%wS`8`AnNfP~eJs%ekg|A2mw0_kVG zfBo6ep~2K@581(fua za1=-R@1MWg2kr8j-Qli{jm@z1k2zyUn<$UFH@%{?RGHV)z9kaEo#HX__EA<*p zifmbpab!Yy=$bWEAV7PeP*E7~kA8?IDI)GM1T0#v8Vp)zoXcNqO8nyi2+>&VIAu5o zXLU|~G&7ItFlehPnD-^sZByj0*|4@)ApEFO#mRjmmDBi%SNOm2<*w)+z^#u)MfMq7 z+n^=&P_MgdA@p}FGuA(GP>MslJ)@W$yS{bi2Z}!B|Ps5-oxD=ebj2 zSDfaadN?tN5tu;1nuS9tagX`a>{Y9@RvidGypIK4O{j^gD+buEnmi7oTm3I)M=Yl~ z|GcH^xzHiti_z{|OV!9%omvO_$1ZbqKN}TwUHHNpb+`>1$X4x;jZM3R-K?0r z%D@9QglzT@UbILhKfB*yM&0ywG1a%gC0OBl8Md>SSPmWJ{o{z{!W+awekx>+W-Vuo z`1tTVvMMIf2w$o}4`${ugC>HBkav7hy;gb#3^u(Qr6RczGh)}G@{l_{-RP^qqK6av zyuGS&{aXxhsZQz|e{l+slULU{il%+$sDZh@{YVlPNsS18o<%w`clBPW@y2N6$U2Ld z`*w8mK=Nl5=1KK0A2*{Fm!6Obl+iq*uP>{;h}r6PS70B={y>+dkY>d72s7g(_bU#+ z0&clAuzy*8lWCi{6)D6bghSGXbwMZZ@NvtP)YQ~`8#dTA-{am7_uxC-W()%M6atcr zDQ&jiO-(f`$elTF-e$6NJn?PjAd=oD?n+zQM6-j0lOPVuu*Sb2Yl^0Mw{y$>3)?W3 zP*I2*e8*AyRx@SHC`14s$p4Q&qXBMZ2#dJ4$LO?j&t9gUW8c1A<=5|(YR+glB*tSN zJ$mFF5MZbO#jMbG!^)M@>5bF4b%REeG<5Z_M_S9U1R0&vz|ac58Dk2hh8}M)3?{UH2Ei^7EyzI@@(9Kg>pioe`z1{z}P@-U>Ah^}Fx! z_Ki2mfo1qJ>11S|E5fBY85vF7fQ;pPTy}>o`Sir%WaRFsk(%TBEU)P_9&}JVwiK(` zvyHxB-@9VgGAnlt0s#Yiy)B-dLv<%)w_!0ndT@TvJ^#>nd2p__tWtByedmzZi zEE|7mv}A9HR~~o)OACW0xCy>g=Q30QwtOQriTw#~fuovg7DV+ev;3JH+r$;{p`Q2| zrkh(czfn)0JttcGt?aOP$Rwlr$qu@oo}aIWPyaPO6wpkQubG)u;l*6Pc~i8ptR;mA zE`=u(lAc)fv)*G)>=mFFs1q85%)f-W+;`vwq9{8V{vu9dmo1|Jz_+T#t6qO*FCw^! z_Kae@gD^WXcxE!ZXyrScQ!!<%|8ZuE=o5?vuMrPVxfQw)m=y|;gc|g`%mFjVmbFw> zWmmi+WQ#VcW|5)zW(A!%O2Et7vm*IIi5V}#0``N#>1zUM3bIdoY{iol*v(X5SFiO} znlkMJ>$;o;T@2nLkd@NJjV<=j1747vyC zyQ?Yy2WnGAdGiP*u`(UH3GWVitZJKXi(M%#Vay%-)=#+iq%|?s#fV3IXrUa|X8D$^ z@!POJK=a7^@+DC9S#9dIFmob>3m+0Lt+ko)4aeR~$`*jqI>}8r6lxw_Lsl^<1d3N_ z(`}WWyJ-nz8L@9bjof_yyk47SU`I_rsBk`T;`HgBl;^5^Z0u%e%rqL8JQY!Yb=9$C z)<3Q8W$btY`3V?f-y{Z8s2Sxkl8#AlKVuRj%ym3C9(^q{RbrOuK9BjdOtYUwg}>-2 z1q0p}gB68WVm`gh{=igHwoj8)Aa_-bVc#ch;IkP5T50g6ILZo?r#lSo7~Bo1=-M{k zlz}3GCLKb@Q~)wz8M*xMXL3!Wj`}6ztmfckgI!;(g5taP=`((Qh<9}K(zq$#8VkjL zPU3?edz2La0pqGPP@HJm62jZ=;#?Xl!BkVSvxK2@9OjJ}RdUR5kQ9d9@6$K2Y zV+WS?j}+0v{snOjQl!!(z@K?ooVC}!2P&q(Sm8%B?>j2O9gqIntv66t#LwM#AI5an z3%VH;=`Ae56l#6{D-PBEb_J?zLgj0AbJWd{szJSln^<&lpVhZ~cmI>w7!cN0$VKL8?hfuxDU}F|FE=mCEc$$mN9jcd zMk_UWT@Aln!6k;@6espuR|_|qFh7H4l>cm>ZGN|4lL&4bnk z0aA;bB{QGk&qwQrcVMvrH<}XbO3F&?JnHKwgpTsF3_H5{_p1$x#~WcF46ZXTT#^k{ z=)F3h-)Ck1$LE)qn$V#rT=dO`j)0YIdEAbPBe|=SZ#Om<$GNXMl23D|z5KohiCp^) z8k9G@vj!;)?ksIQapLUJyLWX3*FS?htet~RtC$fC!;So@c1|O8Luh0PK>ebF!1kvO zvrek5N6XG`u<{2&fEXr&uU2D6k4}^o>csD=3Yi)~DR2tjSc%&hTHUfbKB2Dgm_es+ zaVC0mCI%$_*g1W+k_7=&8A$Qt+He7I1r%vZn+1Regpq^h0Rt9ygzD(~xL>bc2{iAb zn@~7CwGdJ$lNa^Jhj33P*((lnL|En$mhuw-aVo?tQ2{8Xg5b&`50;RrJ!S{Q(S_yf zTYHEW-s(mt?J(NIdk8Do1vTaQ=(d)f2cPcRvu6YPA1~sK6nY#nnHhte4%>NP{rZ}; zcU6$`I`@r9g4ie9Fceo`zqViDMwxeEMQ*#*QJQfa7^lFczu)__-LKO97tL}ATD!qL z!gmr3gjv!{(l;s;)D^orJ=h}*aKMrNObTS%bCxS(TB;1uamUY)b^@{2nJt6aeIyzR zKF(pR{*z^aG=POB-b_)H$zUV<+-Q;rxDGuG^`&D01>C6+=N)H&?#XHqa3jMAev^x?4Y9VTQIR+Lct^Zh4?x%MWMO znl@`T9U;nqxu42q8;eqiSU_&I!1YeNV?|2JJQQ}{23}Vt(kju2o_fjTK~^2SfA4Um zXkCTthG2yis_lIrhYlceX z#Z=3oRT?yF=7X2kk-MEVH62{_7w;Upj3(Nv^X656TLh`m`#Zk_=#)bvR&xXjX=ntZ z0`oodkUrLkQ_3K!H~J9U;8Mnq86@{7=bW1hiIbd-Fka8BB@#?AJbY894Ei%Z4h=;Z z&EzJNDG6&B117hG0xYH&_^cQ(AnolVhExB3SxxL2et0z`e848_xG%CK2&i%FjC065 zaF$mnsD;Ehm|}7`J6}=#u`$mZL)uK_KHh$QHYb1f!QudfxCP?b6(t2d(MC=l&KKnmj*c0TBd86o4(d>G= zy&g*%hVJ{9+r|h8q_|WB(lrz|{GSVg!+IopSgiUTH7ozAz2|=y!iDWay<*d9m+2AP z*|pK@WgLB9JZ|Lr(5DqoCs9RKNE)jfy{_#OH%L|Y=dy)Q0;c zdxq#tGocKOq{e#^Bag8VN>XCY;=~PU-!5EUiZCay?WoEMw~v12M-UN#^Hd^ zCXD84LdE!2%@oTDD)o|FmMqkPvd${1di1Z}l-^0DV=Nv{J7UZOff%s}YejT?GZ;8Y zCm?r{l@Q#?fmi(Hz$P}8Q=&D9-wMBZeSlrYCBwVD-GipzNlL1PFl{xX?sNMsXG<$M z!sP~T|S?4_dC^P7o@qIwm2 ztvLLk8=3umAo?RR`T1#=Eq)LO*Av=t#i$KEPziPn(_t{HBn|AAtE~Y{A z=3RUvPMm-d5t-Pyfm6-bb*v6h9?|J=3)({odVafYJMAb-OUoWpuPS)bj;>=m?i$L+ zg9;IMgc{VFHHnwvBEr#!m_Wti6&TnSuoBvl_aw;0tlPkD!dn>Y3}vNluRmz;wZEBZ z88N!Xp=t#7^dFD6><6z(C~V!HJ<%EAyY8#XqqO4sn^G*prH}9itXFE9H&-3W3mEzC ziizEiA3yr*?)K>r*8~JntDnAGfkJWynenP;YO>(JAb@fv@Jjfsm$RMt)=1<%l9ak~KvmH?Wwlg0LBgRZnG@f9DQn$G01-A#WB{x(Cx zMJzE&a?q8L` z@Q?BMJ&9%-vOiGSRSE%%&@n9|q8(`<@d;@LXSx=EH{c7LBFnj-D?0@34gbEPLPowC z;CeL_Qd&~itfdIvGf73XqqK)clpVhpU_T#S@eNl6hd2TxD7l^-{C)JBl+%aikZMsNPSd4F)OcR#m_aZ%w24Fi|MB%(^omRpZkD!Ef?mjx-; zi^4ys>LfH+e53a~Cmk~b5=euJvFPV#(N5ug{&v->3Q6k*pLYM~!!6c)|L~xbhyn;J z8KWDKGB^e`kB&L$KQ^LrIIc|xZBUW(3{|$`tc>s(9T@*lp@27#NPW?RifG>X$O#e6 z;ILIEbtqPIKxBq4Y}VG3s3GOc>IXSn4me+`2N=)Q`UOo=ytDK?N}5UqLf>)brO`Zktr81F>52uiRbLS6~iJO@%@xJ=8DR17}GvpP8b@g`kf_ zC9R*{^Y;_1_Ma!12Xj=hnnIJ(?0eTQV&kTOB!@UT>FkAyH*RR8@sAij%wVIBPgRAO zi(q2s+W0&UV2th*3d9b2cQXmb@})j=<+J&UihpllF#^)65Nz&ECQu!NCgNZ>IMe13 z)+AD4)$7`@T)u@GO$2Fh&#zML;e|qCySsEAx0U;!2|go`D(+0RvC6v;6LT#oNvoc1 zMR8`e;=fPy$EFLEBD_i#`zfYQox1(q>BTwp6!c+Qq|WcXPcr$!Q>?D1XL;AVM19c? z^E*Zml^3g(gV|4vUC|RC@BLW=`1mC7!MN{5n&(d$jd+2*QY)U-b7X=fBW9-X$_0g| zJ2b2<>!HMg99GxuyjU6^VckG8l_m89=2Wf^od!(wPvl4&d2T%pZ=~3wq9WIZ{rDH9 z`^(6o5O3GQd6d<1%HlT?^DV|hs}0*RVW?6A`w}`VX4;~}k)`ldC<0V)F={}RvK(}d z%YeU_*i|Vvt_rdb_$R`9=3T;<;)HGjITy6({nN9d&vJL|+>cfi(QhzvlB8jG89dv<`)JKEFx8qy*qUZ)!XPd>Hkg@m9+E|_})}x zj|v6qQ~`+T6dMQNu-sp&7pkWWK<9mWuDYm|@1y34&b)hIz&K;Ag%JMOcM0C<^-kb0 z0unk=RNTy!pf7^L9a&nFJICBzp^#EcQ!$gGY}TCvoqb_S2KSiO_9e)LYzbG0N-i`s zG^K!e!JR*C9sqhI3t*zkph^aY?(M7bj$yFSS9a&JR`e7#TVO0Q9=48XMI1VPS*{WF zT!gNE<@*XQwZB&xdky`7yX`NSyJ7IjSVjfw;cNV`hg)S$l)&ra#R&#mMS)}#+Y67l zD4TJV=2t1mPGJeLyGeAPrIh)Arz5m*MmC@6j;I}CiG>#2#@3`v)0{&%GUN0x=Vm`$ z-L;@-=Ges#mNqb|475#XVarM&vM9%;u2j_8IkL%^#$woWfT{mqwTLps`7~4ZbQS4N z>nxMhsSqY6o}b^6kWLc*`@@IYOtqm#iL(~(Lj1h&!>tn1ZP7RE6CesQO{_)Lq)_;c zf-am{2;7cu)`{phDPcepg$;iJmbhdwsdczCnhJ|NK2PBknJ(Lt@idwDrg^hw$ND4; z62qcgjhYF}_K?#qvNQMczi$lS86!}fVa4pv|GZ{@A3DR-0QQ3C$qgGwne zpNc7~+v1n-P@pzd$Z79FjsjMS9tr@$#C0I&^J zm26?idr>&-Z?WBDXefs< z{QZ3%K76R>G#6h59BT+kG6iZwPt1z-r<~LuU8eoeCHD zsCGO(@ei`Qbw_1yZ<_FH?a#1YlP23Sv#5-*>MLm0<0)JPrW9Koh7j>qrG7vge_#3< zHyrw~EK{Ho^vHTVXY9g-rzXdUgUA9@AT}|1Gzn)k)lnN1C9XIpE*}?XI{J=q+F;Rp(9Y4* zd_>jbtC`T`FRQB)YqV6mZ!>m@p}~uq?@jBTi8M>xIsoL z^!4pd9w-dDsO^_CYwP%?Z=OGWn&njT!(lBHbB-<3k7JiBM5q?i692h*LG3c>7+hvn ztCkpTAxCdgfyM@bg@X1P{N_L&s63 z$>m-;$z{0p*e26AY?^1eW}@ag_^pN)+r3XRytn&<+RKotezl0}_a5ZER#Ts>;W+#L zg9i_a-qqW2?%QQ%WM92AgEs_}R#x2&)Q9+uywj;ehw#hJ*%y6AWc2cA2KBJJdqw|~ zSi=z{K=~CkOeg>{lqSY~?xxpqS2EV9E$=Sj6yD_ZOmlYLLd7ASNVnzT!*cz<)Gqg}NTEjR zzq^VmuXuyE=Xl^J56n_Jd%vrGi^hrQUVV@ougDH;h{9uz3O6e}6@{*iN zh?p@pHFa+$JD1$b_f71ieEixzzk5=vtM0}{+rJiTIa%qx{xvitoMSGWX3%E1KSX6! z#}4Kp0$v1X&c_)~`+Ju(P04j5NjX0QP8?7s~)sL}4ym8m566{4QzVC^i2= zKH_;hq2MD^9qq~0w-J&_ixkXO^S?vZ)a=+XCDGgv2B%De2=`S&I?Sap9L8*AW(kwC znNGp&=-~nk^%GpGQ9BA0Ksz(NKH1@$1{SAxk<| zq45wGNjDZZA!qFTyg#kfeZ`q_erF>Cdpiloik_6IAj}Q z@p_?toNSe7*2mPz-EY)7l7Fo%yfuPw+A_^q{_$aL)-6EsYM6N*0j*OhM0S!_oh&TW zu5k>VO2zONm*_ScWz~XX!h^hJb2P?&5eF78)ZE>p0n@$JFSlDqe$W+W2HhD=Xcrzy_>aFK8QIN zPO8J174X!+@$UpbZafN07Dy8+3PCFIcQvF87-O)7SuI88O?=S4 zkL`gDaXwIpv!<-uNGX^#YnJ#Gn7=wTtr|xzG^z|kQ|L}r6v8nhNR7Wibh%1R<(-Fv zO)iGQNAi1}`}Oa9wc>`%=?}F@zAUON5C7F+_uciKyn^p0>#H6bbnk;AW#69UZL=C= z?FV>o)3av-V07_pS~K*O=IS4xo;D(?tT$}OzTwp=oeSz*T7Wlm<-Q9jcV%dC^%%Ey zu>J};gmsazN)o>X`&#C`Sq_>&<8>1zEOQ2MVWE>S2^e}3e%MVfO%>+2vha>5{q#m_ zHpI(VmN9Hwns)MEBC~Ad=AEq<(Ch%<)?6K>(V5w*w}a|<4$?YqYyz&lj1|O)fB z6B-a_W)W_B0`0cP{}d%Sr{k34-Bui`nhNp12k#1|sG4&{zcME&-9nWSAk4tT-e1h^ zA}rqd8@KMzx=EA0p^Fx4<1-FEV|r+;v2jwKTefDk@euUtU@COWzfT>C#6%v~X~xbO zuJm)_JWM>qGHA^R=O!BspTxTM5^FTtB&ne3x(-fm2?{0Ke*}d>Tyny~4aK~Skcog| zAlLxw4yHVg;csyB<#En-yY`xJ3GpJH11N(ASz!xTXxH%>m@_fSg$1Rq#cIJ3zc0D! z?<#c-UBXk+gOPs?)xzNQk9Ainx%4h z95hzQ2#4eL&gO+ElFqhyyKG5CvyYSNwSVeZZFBMarT9`@CC-1>L>J#eK6M2|g#=tB z_I6rSnbdp+{^u1>N20+A;8bV8f4Rm;jZ3k(g$|TiV1>cVtlN^aun~FxVUdxsGIHVT z|NGJknk{OuU&QvYqUz>UQ+&+1$(6goCvSldgz_L0ozW6hq^%8Ft45_(R5QT$p-ih8 zl&l6`r@3#%3SO|J!w$(i#n}j#r!55qD+0?1Qw>PEltdz>=7R-Qtiix?`v!h;5B6X` zgl;uyy$n71vU(4%YPBik8;YsZ^PcKb6U5)XU6(=F!)0e5HiVKV<0H;a4_)11!r}-q zX+&|IWgl8*u@^>qwB^7ccbEl@@hu_@v@|1AA2L^Ks|~c&^dDeX!o_N_(5| zxny%O-J zC5mM{J2!fypSF#fy#_grQ|uHF2HAPD<=gj_*J^+@^!yod)t8^_oXxuD%|wpG`4w~ zfq&24k?hcP(6X+=%i;CL3SV5<6&MdU3W9 ziW(1RGb_GiADWDmz{}xfhA1~daHdmYK#avpp1imoIkQn_jRUe zx%>b*l(zcKD(*l~{Q6%1PgYsW9-Qez2oYhcMDgl)M8dzSb$1*7)M9;rj8hIYMLM5NC1ul)f8d&SM(Ve)WoVM@D8Pfgiu*ng~63%4LB@pgwLP%CNw1EFh^GD zIxF%bJk)9t@4N?!H=pcE0gBEfGBeO?FWzAkB*(w!RT46~b4tXVT0ReO2ibJRW;fHU zzD$_KP8v6_eU7QQ$|8m0ex$g>K=s^&*l8GMRcwdgR~u25kQ$%rJzozs*S1M+pQShq z%LG6n1wJ7wse@Vws+Z=3*Y#vVnKSU(9w;+v&T*>aBxsI5+vZ2?0+(HD& zG#kW9%Z0B2dgw1xmhA^tt@R7v1lcPSojGX0fIy1TW{I9SpVGZYoC*LoVk5ITC$cB$ z^2`>z)>dVd@!+y{wyI1LmH+U;lihqP@XY}|S4*vQEE@qop3b*sDQV1^ZQHiRuY^Ye zq3>eaXP4&XAOY~P{xNh3i>^Rgf4_K(X&88?>>z@-@7{fkRyvM65ue2mnt?{(iFqB@ z5TJ%>@1E0Q$l}2>b9)U5NUy9;j0ef(5t21{s?4K!Y~pMhbKRvfC0ZVmVYWR8T@P_q zBecGujm5WU4NlKOrsqisnVx~Cd6&n;whGsfOD%c431DL0eUDHlwBaal3}5yv#=WU0x^;@?+?|4#O_H^)lQ%cnl(-`Q zqq?{gh5qlTBAA}4f<+d7&pumrz$JwU)y!FhRWUA@dfe-tGK7&Ze6o|HtXe?wx&Et) zde=;=EKko&t3`1Eojh*;T5EWsr2q9yt0c>%-<@Bp>=zdu|NE3C^5*Fjo|}f_%>55ul@hTAP0BqyWrJk?)5wE z5!6>ShIt`_Lk|28G<1k*ctOUhH5H)<~>m)cNxIO=s?xvHJ>Dx*D z`V9{+W7{a5GmaA=r#ts+YhPGYl*y?O=zlFu(_m)3XCJy(?8n;MVMiOB+p80M=+J^t zo-ypTDr;3aCAVmB&F=1WVSe4DtYslV=U*34)?ou79S^NjGhkow+8Ma~%Vv2pe6vMU zol3a$vJx)c-8vVzC$G21O5LH;r?*4ux@765^bK0d(;ZZjos-k$ML8CXr|23`dzepS zKWI8KD3k700-5DWt0!)I2&+Fmi>^agFRVJ5M90|Ft-Q&`16o4V%S)#d%%xwCPfzb> zHf-n!F8z99K@ay?U{nY!0;9@kw%(>dXqt1r^WvAcPODBT0aJ+nZCQ|iK)L#?77R(@ zeW!VeX*j>t%vg)3Cl;&oU&SiD+aOIBuwqx%6vV%HAx?ADX2mHZVeQM8)rv(&*S3>Y z-*eJSd2fQu2zf`b5PL0Q6jN5%e4J%By-kM>MxRR^PVOHtVcMnz6;Lb-HycxgJe<9s zXc9a({p7Hx=tMwQV&>Ng?}&58QLAoLh@lscPT%-drCnUTu&E|n$4)3Zu=|MmiQ9Q! z^>XLNHPIYsvSC8rf!(`1EQxq{Xw7ETbF>?6DZT0TA%(zN_D;LVQ0O|p!~4o`ih&ZO zRW6=;73SbHT_>JWfZ`a@z%c1Px@4JtWh^SHw`#D-7)X9?oG+TNnghhbC5wj?{cDFP z>b*P1K`RaD>dxxSy)!q~z;-F8POs7CWhn)oCqqMTrXTd_2C=I^|M1%3W9SZ$}+fW_o-e$*bP#`&YP_b@ew}%|S+~j$ zX+Wb^t^QOjT()dN%;bZRLZJp{&Faup-|a$L5l>smA3?UHzYQ*F#itqt6XUHzt8S4e zb{!#Ox@7(Mv-MJ3YsXxO#Pd}ME|X;aXH$)t2dnl8%?%Egv4pnofMedugR1pa{JRW( zZhS%a+VEpl*~ugscK36b(p44siXYhD@i$kcIe6y)KOH*%n_W&=Gu?{GBl16bHS)$q zP}T|kKWc{NzRApdJF8_>bT`v#L1*1`SHx(iCfyK-=8cmsfS_=M%#1Q_XntIj(Gi9NO=1lNGE%q%#$T2Pw4=mQnxh|P z!sYs8dd0T|1#L1>F#>41d20DrJ2A)p?93dqyY>91XO5&@)Ck=@YRs4$BD~w;N#U6h z2cZ7!{DQ~{CETS9j!Uz|D)kaG!!1hszA+x$6b(4~3jD~Wiw zv4u99Salk>kxf83yhX8tP&RTk6k>L8Zjr1p!cKX0>eI@)BAi#4cva+kC)wXOCL<1* zF(thHprs$H10e;*f~4*~4X@>IR-F2F8tq@5^zvJNqJOD?T}T38dgYO~tsXN_*OdzX zTuZ$b<}*uC<-zwg)Z!zXG}FD}k)&vV+keV$C0h2}}CAkNv8f>|FO_gZcD z^%W*QJ8rvn#XkB-iJsE52lh+5zvMO3q@L|M_wa_jd-uN3Re+I=dzy?yw;IFsKsQit zSp@4;O5TK!T0=1vtt`dwv3cA4{QO>Q@TFA!o7+zf43~f`Z}7~@51??o#%p-RklfV7 z1|pGY?)&)elUJ=h3aX%-w9xo{1H|$}iN=E2wtzxoh*jS`tZ2o|`K+2a57R5bKC)_- zBaT=sVUz7NJB+WtUR-%*n;|IZDKZG**Z>ij=1BIT@obnvhjbI=%}(b}6r&Za71F0j zZ+rLdZFZTUFDp3|ivI)b+AR#0!DyxtelLOFO?D&F4;1fUaWj`q z9V9!OkE4N#WJ|3Az#vAWWkt%<`icmwk?4Z=^aB-%$9bW4KKxIuTL#;AjOsWXZi}q@ z5DidSSy}vIrVw|2{euLk3lHvy&Hoe1>3idZZS=7oE#EQ+mW+Uwy#cMH0q+bHM<6l) z%fIO(Rgnt>|ef0Jnu*bxW1yYu97eMj}r~P43{snDTxK-knLxs*o65CIj(=hc( znEF9Ak$M(w59`j%;hT#yG|EWIuxhk~>v*G3wyI=Qs!6)UK@k(uRt0}H6Iw!;ZM3#% zD4Bln35t<4%2rIQPm5Bu`nMm3vZzCN4GigTpNX*2P80)Xjk;-U z@)UHV@b!wyV9^dzmx|1YpxN!#KLmp-tMHad4Znlb43IQ#2qg?>4hSL%Qh(%C-M%b0 z4r0nfOW_GjZN z((H9|M_?2%O1^7(Ga;cGE$RJ&wO1+q!rZ#O^ zn@Xhg-J%@qt%%0cFa{DhOQ1DEVr{cpNc2S(i%EJ!N`9wDI7R;nXiCc{D;BAW|C0IK z=g+@EG3_!w(VlSL1#bl#gB&IM-I&7Ni*;ShNcV03b2Jk0n>G?|-%zEqne_$$8$)gr z@v6Cfd&|Kw6<5|a6Py)m!P!w;7=((y!jQTZA6+}`5eWA-`+|6K!*2g7Ma_WAO`q49 z{bt`&h{4rfna+svkjcd!oyyLvvbfx!+DNL)%K!4&2B;=_)qh&$2H_k3rD#7AMHl6x zfGpzc!AqTcslr{x&@iOx?~yO7vM%AX&-wQPIuhNkaQL7&GB$~R*}L*(r{H>58IFF8 z2i^lR$S5QJ3S#3{Ui#})baWz~!o+?-GP|Akt$dBY$GEJ?x(xs$z=3cnF=rXf!ruDL zn{VPA2py0gU{py%YOkj^*{oY7^I7}Ve}2ShVrLKcq9qt%@t0a~G=_6s@r2a09@}vj zD;qRqts_}fkZ^G~2kw)tqkAg(tAp%P2I}`Zd$t#>X&+8LHn4MY>i_->^!`DacRU7#Ou(*-+Gr$-SxHt5>*Jq3wK49R zRPdE=&An1yT2FESNlM^cnJu6;y`MepH}ibJ@6j@tF-|Tu#dV2;@C`H-UXN16Mc_a4 z5IcJ$G1tg!6e+cdHu3iIt75A`1jI+yw635)F>qPuMYz6-wHY1@b2qudeXf@dg#n?|dA;3=H5d=76Q`2F%NbRvT zt@y=Or~Z97K2fr90xM)OBIMx+g7*WrZ1`Z$<|~)Xi6kdfypt=7EB9`+FESuNWlH{( zvm+BR;EMlz1F+8TD6&V$ob1np^l6E9wc>x)J|$Y5|M}JVy5H~pabZbf2>~Q6pd%oe z3dqZt2$*-BCJ)w8_VcKy)GkNy3k!fL-im4!G=R8z2-^coLq>VgH4 zrvhl^7(;q{QPFw9Qptez&SusIA0<@-lo^?ts#4Z@^D;emzo{f2X@B}XGzX8?k_Urj z1Y;wj__5xQJ-H|A;phf3G}ugc4)UxpAQp;g8F5*v9Z0K%k18186v5vAUXH^rAR;Ou zYcToaCsv`&P}HB*8D3;l8JwK@!nnh`n3&-D(6-`T1qJ=*ZXE`fuAzWp`UeMQ_fqK* zb{K2=_Uibj!-SKQ2S{3@_o-F+xP1pha5Wgmhs%(Vvt{sqBQji#+?w|i^>T9MgG@6Q zCJ(X1bmnD&a^T@M*{O;Jwpi-zeh%JML)r-f!>itVDi7_3F5gU4@Hf3iVA}$hS=KQ~ zpM|vS;j_n}7PPAC0F2_w%T`4>Jy^G~M&+wiIlwGL;ZR&$4tGycHmT?^>FDW=#}B%E zo6`38-!WZN(xLR{=Sec@pd;M5f2%ngzt!GxNnzVurF3C#tHNgt?|(Xo3_Vn9VI^Mt z@cUVqartHKg87l9jKqXO#*_QeMCN4ApD6Voix+=?(XTRbhBdu+e_1tM3LEv6zrJjt zf)W{s@P(M#+#A3+&}B)rw1LebS>Yz&EtoAg8pcLj!0jm4q~E{Qgy5@CFkcorLHs~2 zGcll13e_-G>ammyC_^inQ3$60`N$&-G}WO=!KrD%Uxn+t4kxA6T}`UQ#LV1G;udYS zSo={I_h0(a_wm+B(awgqk68OM@hDP?Ua8*&-5lZ>_pP}-wyYfEr#DK0@4P#x^GW8N z`v=SPeY|%F>lTa%E(_Vu5!hZ)upqn|-~}v#!(?$0NTMm2=IF>>H^XR$ohtR=vTQd! zVmxL{^#l)P)zOi^!TE+V&ZLQEvgh(K>Whh{IOAf(3yAGv9v``c;)r@l{PK0tZZ1`|lr9G{8^~#{_ zbd#g$<)?zr>T3E)O&nZ)rJb0=72ySzCA<{Q7BjU6q|Qd)+R7zcYwE9nwvNl5|W> z^&8|S)En~tb$QwO+uLd@f8v==J$jg93vY^~8R>W`zAC?Qb;-5vqgB>TdyflI-+pR(Oy*VV)OmoZnpNzI+?o?^25-|p z1|n()gBa29ZilAp;tI2yyXPi0sdu7=@<(isW7;`6^72oAqxNekY5O%nF>6UjV}a)R z!KeMcz9EE=9GtG_9S(d4J_E)_Tvkpo@xtcQTjFeMR_NE`0dQFq3IQH*mh zn=#{7C=MG0hs!?|ivF4jJw8pTs{D7AR-={gN%H0_J{bYRr3EB{@HR{nz*^IQ^19l6rJueyT18wn$|yS~#bUy$*&#A< z1)HX#;V06OkAq~eI1;#?ukAC|O?zwmg$Ao72q#0;BFf_N;LPqnpE}N=t~%MWk^H^Y zu{V-msW{A}7Z?AnkhhI$ubY;HyEGu#=tir+{Vx}0@87wzd2P#9or{mewrbKO6v*Hs z4R^gy?(!29t3O@(RqQ^0aLC)mf0DfC;I|f6^s&pJD|3~9++uw~KXp)bZN%@NnJ(%W1Ou6)P%@y{d@zr7nzY3+_(4AIb2&GI0KBgVngxTVQ z>$nbn#BPxLzi(8>J_}w=CiXvaJmh|qY4pd?Lmp|2`?IpMJDS+CRIHl2j`HVS9f&N) z)YLSM+b^LdxyK*7b?oiL$DJ&@gfSUq*=YE2*-v=T^6wBC9>B24#}V=v?Xm73!%3=X zgtgnJNv!gOWl0aM-pBCJ0A1*4rlyvtd6%#fZB=<3-Gu)1VR)v|uJd%nN^^-CFr`-d@FtI*c>* z5i(d2ORCgcwUXbgjjJGnuJPCuWPSQHZ!0^KCh+g$fv+xqi?8Fa=X$0L>rV-P7hSS^ zn0Ox%fzwW_3k#?1?moqqg0Gpb!v+sLtk}I}M`N%+%g%`Pz!_8Zmld%>$4Yaa3eg~DzyH4Uh%ypD?gd#H!s(;yeU z58h_Q^t8phRhb(*^`FB=!P0Y~5B@-mHOL_Px<6 zz~Fl|iNReTTp*E8p*+#uMtTV6>CL=2Hf6~=w34@`?N&aWt9zJ|qTA7q;rg>SqHij1 z&7S|5P2E8pnXqmVlMme?Y-&3FG*|fwlQy-u7=9IpBPjID%GpM=LD+$`RAP;SPr;o+sDOfe&8YW9i*>( zL9RP^UTWQJt#+!h(tO(HX-#br-X*5h6!=wlIg%gEaN`~A26Snt{OeC1(t&iCIe2kK zDY)qA{v$?!0BM>aaz5p%d?bpu9sYE`cg7LNl8DrYuuyz)ktT{b z{^A3M2upxldOvq}b9+ejxux|G{nRVUJe(BSVrAi9?TmcFc!>lrGUUTSUt@!5WhH<@ zpIDjU-30Y@+r_c$^%L=*)0l)Fz3F^SlI``Jmrk$9xlaTax_$TNmgbIUV_E2I@~dh1 zlo*%9ShX26%FfH&R;>UCRBzfej1?lpSd(KmXOD_^rj%ijh|{DvV`rn>KE_Tf-|iS0 zMRjuArTIEB=?n*oQzg7GqFoGb45#hf za*ddNjD=KUjjz#XYAsVw|eExM?>rVz| z*mdQ~73FKg)LEY2jBSIDV$mpx^w^~HCld!~$tSF3++yX?swOL0z7-87VUosU?#)~8 z-LvyqHL(rja;Nr4ry&1zatRaAKIe*pD zPqMfJ`0)WC;gDuBe%-`hjT_x3U%2OXvh7T#8?jOY24ocpB6*gPMxtQ4T!-;)7_|KL^UG^KzdTv!vFZ$F3OA4UiZV|4GcapV0i zk+DG#e2<}Euz5Vc={kDL2>N2voxHA4utvFh+56Bb%*B|d8B5UsqE2Ad3zN{S&zy%z zx}LZm%A@CQneC(~45jl)efjcbi(b6Yx_A@QP>o-);)47Uklt}>J)7*BJj&H2*8?53 zw?qChxQypM=g=~5Z;J1FO>UWqC7)o|IIYkg|D)))S(3;wqpV77Md7x+CB@pD=jS2{ zi_7JD5{gVwVXr#3xRi&#QtD9dlZmPRwr?cH;{>-4H(DdYw!gJ-#fP*Gl*`ZbJotR& z=JcjVdHdzdNi5Uf2d;0m(>GT0D&|tR-r1#{g+V4yeCJyfD!jW%z12cikT?6dyfrql zCoY> zt+1&!ty`8&ikbQPq2^)cZE;}hd^=a3(2Z$>n@0n?RWF^d2Jb`fWeg%>Ad69nzTUJ-W1fLAQyg z3_QyUL*pUofVJ-zfi{GuAN;?3$@x{HfPvYEY+HM)Np{5wGr4Ytp#!tez)1 z_Irv$wieRLgp<{#>V#u_ucI7&a*9Bb)aDfkvE-QzkZ~=y_jX6Z7(jukGtm( zMrqdK=5p)hIp;}>$6W&fi^52ADF8=m3Hp#@c9$=XFC6EuN(HOluwhWAfEDdVAD{|B zfaLlD%Z20f2QpvY5)&@l+IR-OhYs2ADVA$s;IX~a9_0s1XZnC^83jfHt>R_uADNeX z)pPi1yfKoULLSAR`%y!-c{zh1V+4`t)QWjLJbiZ858K)J>jvq?J0(5dT08l zoSgj~JCZI5g?+Z=JPdDdZJpkAar$xVyVKd>n6l&zuIpT-lYjh5bt>Dwz5YSC)*}lc zF+@{m9{(vpXm!czqZQBd?|U>hhxwG|l60ik)AVazLwBXIC59kBN`JkUO#afTWSl7I zF%D=fx(vMy=l9IDTalr%DVL7u%!^K0W6IS)c}6u_jAs$GkKavV+L>bk)Un4%X4#93 zjg2oZqWx-ocErT}LzYe+Q8@0({G1ZyiEW(~o>gyN2SmmU_V#LiPp&nR_B4{+Kj;7# z`E1)JcNuQlyB1k`Ky(n0mSn`MNQH$(D-X$><6*@#9kR{yqXm;$UlxKz&cXhRhEbX9 z#IFna3CVo+qa|ByHc}BW`)0<}nT&5FYy~7)I6r7M*<1DhqU}xKa?bbu|Hh1Q#xmy2 z*oBNNC0ij&#F(XvY(=)RCX%%z2{q=7nX#2hsgNZlB`P6W7(*(FHX?-bkD)^;zEU*Y>X4s}y*bCe7LN2sFk5umlb8DTv=^ z9Bmg7t!m4)qB}qC0$bo%$e~RWDeog4vTLhv^m0Ez3K|GSlibKOQ?4Cc!!g+%lW0(|X{!W9AA@Z`$E!d`$;RBQbo8jVZ~ z95wLRhv(G(M*kqh@iQq0VW2h~bQ``X~+}bb()z2Mb z%Z9=mVPqJVwgECr?z=8S7JuvSr5w_3Ekd}PR@^!IGt%Nkm1dgvQN+ksCv&@KDP}V$gHl57j=|T>;1r~Elek0 zG-QvvyW!oXgMRz$H~YOiTX)`Ys@M4ood(J)>I_k-`b_vOI4ImHCCs!>Z*A=xXQ~U@ zX_}*Ht840Sc75FVKbC!Da(&sAt>JUF-O6ccZ9aa7cj*`1R1^zRWKnGtzrBi|QiqYT z3qa(CBwFx}In=&$H>&!T!rhUqd%4BuUR)naJ989)*7C-NI{Nk_b8%*6o?l`hZ337q z5NmH0Iucnb;?V->=TUw~<*0Q2l!SKBmM3XNvg;Vola1tBz!I~nv)gIF%qU^G{&fVq z!5Mjb|BxkT+1;lYE;!F=iR>$lmxp67U9yt`^>y~FVHh-}9~~55pS!{B^GRp^MJd!KRVhS6{j|>F3rXOB+{5t=l-I zk4~BY0j~>3KDFi9Kcm_!iCom_X8De0zoj?x*p07vG4yr86!Q1AUEz0X z>YfHJyAV(RD$B3?mYV52lS%MGGf^|O>(Id`IMcXS?6B&q&}A{)PAXYgF@GuUXlMl# zqQ{cywkHD%>`uqqjP*04dRJ;shGWQf=WJ(A{C;?VVbsrC>WY1bZ~R4BhWGMm8i%40 zNMqm(=pFIBoD0(V&BV?x>j1Xu9gx&e^1fw>^4D{)i_IV{b-e=w|AWN`4i3!)q!))x`O(2#1Ty?i~ANvR(2X#D&Xg6-r*=``urfZbO^82^dUU1x1j- zN;R-rQVnEvo4zfr5TQkgZ9fx`z*q3m8wLc!DH4Rq2`n+kTxe&FHV${8zOX@2e(Pwd<=E6(cqjR9k;_9Ego5pyIeA1z}X&h{3xUF-*_*dB*HpII=+H({~mQ>+@ zP|K_H*aL!}%#5U%8gAI$B-x|_IGOHq5r{``JVh}soqxt| zX=L)9pLV;JG;jVr!mScSpblGQ^RC+vW4N-S2`F6>_9=Hztnzsa`NEh+_fo*5IQQ5FZ)QjUGBy=y>M8!F0$U$Rm0_Rw1#$J^t81j zHk*$p9R`=(im^S{u9|hZf|Fh$#()j3IXDLOlo0((K zdIFw019v=3{d)8W)O%z1*V@zcO{-0&rn?x_xv=|rK)kDSTAHCe4db+)8@c#rZCkDs zis!@CE#(=m)cZeT_&)ZZUm4t*6*UDG;V#%;)XIM8&pDmsQuj|{Gj(t}x6GPQA)!|I z5{{$WvE`hS?(92LF0%pGv2R6PjL4eQHt0>a0-w5_?Q}ft>Q0R`Rw}K!pRX?X4BhM* znGt}%mQDX1?`n#wx5A)y_pb>-f`rSQZRC9a6CdOz)$4o8z{AiYwlaUFH zUx&$Ua&DblyT%gOOBz5j4=AyCdwLc6H>Nat2XCVeE``iXe$zKdKJugS5Abi@3N#*s z@+Dy;sO7M!LEh+e&Co2kHDcQ)zCx3g+GwBlPHw47YAld?%_8QEUzvWB&z$SXGew(IhV2k&bPDe49@H`DYS7JxiG(Ns||hex!Mw^%hwAa)Y{IZV^~enB599lJn8tb>b{aXjP! zUrcWP22)tZV$1kVj-zLK=FM1pnhthO%!0BDh$zhKe5bCO(oE+7}Qo&wqb?T95YamkxP8?)!pQm4>cm zBka<9%10Zw^$~D1SjVLxSDU`GsgVx3Had@b%*UCR3c=U8#`_m=1+h&&ub`a_&B3tNixM?%CtUgX3}{<*wZO+=p@%tZfRkoze?ZOdQ1|xjvoynkEY?_N{H3D#;D6^k`RbTo zKRF60tS3tJ>a+g{t-O81wvje!?k{v-8Qr&}>gMjy>ey<6Ou zZ!MF84;cms>AlunTWYh_CJU?Lyr~IJ$CeG;0eA_4eSc~0K!gPl0}a}DYV_M`Pbjc? zyUe?2gzp`dgP~$E`hal6w)2Gq)V4+cO6!(hRk;q4Q-?yTv7oL`$)=@Y)a5JoJPV~9 zR(5W9(^pfCj!=>A_nj9P*Z{eboA8+elU3=n4TxOSHzwSYXiN}`XqkANR#n^)Db4w7 zQD4wDrRS(9kvEhIqzc_E5he>0AQLJHNvh_rV-*uw%-lW`0_S;4N!X)UNThsTPIB{aAlgH&+ z((Lqd`V4D50cZ02Kr^jbFXw2y)w~>OndmU4aFt<1>ig9tZQ@71(lT!K{fz5Ey%c!p z=rql@o;nrg|Ao~z5uX7KdvBiq=wHNBqhIkEP^-=Z{YEUjtRX4{v#M(^8}84Th8=(B zx(zn>#IJd6M10_MI@+6)n^V4JBVyL`F)>L8BuPsr?jf7d$JR?OtuI~7;lX3V)#zVb zwd+kuTjoix?eh_UKi`}!SFopN`cftqFB=)QIOS$%&nyB!Vak_wQ7Wps-^_D*)|yk9 zRacjrX8X1W9;vIZhq5WK8Cm@kQwpFY-m(&Pi}?QR4p53 z_l=EXP=rGJdKjR7rA)})YSE?yqH0LGnO1MZ&#i;the~o;x1*Q+G_hNzLAueBb$dxm zJSDu8Pd!Y{b5Nm@b(9b2Hcky)2QwN+Cc&!igDfu$&WvNih=STQNSNB_SRnQNqlpez)exjLp$MYKvf_^g0~poT7SoZO-F*y1a%0nFrV{^14|8DXeX9y}O5d1YCFBmHT1 zlB!!kzG+A5f#K=;9$tCp-UevG$0Mrw(Dg@tALQ;n)!)%zkqf6`2dD8EH1)HUvQ;DS z;}JfWhBz7I36R$QO-j6L-?2B+zd33i9$|gv)a=Nk_5*F+m)opesWa)-($`im5XyMh zq-V6?TuIaCH?4V14;sTA&%kCAPl0uXX-4}n@v8t2kHajDGSpy(i8+`xkba4kC2IA$}w5lwbZ!kH!2r_lWOSrn-Xdeb4*M=8DL;X+2{7vuR32!tK`_ z@K`G~PnMEL!H5RKQaTk|#Fg~<9{HP|57_el_1%%ToEsaQ(*ljD6@O&bR$Q z%h_z8sQtg+&Y`l+J~E-j7TQ-&&&t+yG?ZWw^+O|R!#Wf)3p32!Va-aKwTv-GkPa?g zt$V@6u+Zy_U-6XFx9aiu`xd_LM3zcg-+Yft74KajDIY)G(`;vYv&&C4_FTO-tnl=P zff2Dy=j#rSZPmy3Y^wiz2g_NpFFW5fG#jXi{@l9Ll1|%+&(QNqMmVFLeA4Cx1eYqR z?Dq}xOG-;aS#H7#-A~wZ2~M&GQR_T8^6>x!;l>hXkSkU=<2^l$SLdHcn=lungHQB3 zSOFD}Tev2$-Ik7AXu7z?zOKrmi z7lWO~;r#^~#tYZpB4?X)K2+=V!xlN=P5YnZ+qQyQ&DgCo_v{H?x}Q#+wReocqM$=x z4p9S*ZuREeJE{!2Q0dG>T41|auoqh7{mWARCvv>o)DNPqEmZ0LL~kLC4nrjhND|z& zK(@xK>s>bi44g_?L&-t2PyIL%C?G>t6JCg&orEv8&HP@{VzrQZeHK#_H z>g4mCY=eG(L$)+-V#3bR6d+&qF};mYQb04vhi@npra>PRKYiL48Z0dMyq9%k{^IeD zh#2ILfj6o+DY<93E(=@OmuEQ@Evu;)>FL&YrG2a4QbSriTqj8v*OHO~l63kW%Sd(Q z>FsQwow=p&TIQ%}kRms%mdlq*^aIPrmTuS_{NT%n2cnF&N6#v8ntyeOjN_qcq>{@b z{q|<&gOFc8@b}ev%~^H;H-F{ttzUP0;e0UJ+6-G(HUt$(S}NCuSHB=(IL7{fjikbq zJ6Sq$QqY|jB#{7T#uAiTjJ5Y1`Ip?+pa(TK4bqD?+F-SO7mDTszRR7gJ%QQL&V_OT zh{|M-|NDan56X}np+`v|gT}u=*qAoyeUu3O@%BIL-CpY8!&<`OnAtCL!J?Q=eIZgD zDe8HC$R!|4|J{Gw6)kB!tUC$On7OR2uE!t}>;W*mi6ss|>gN#z)i-w+80MkXdDOj&hBN|PhNpn>J05DWPf%^zP)Jwano@(PVzcuFGhX0^kzWlvjI{tnU_b1nR{H(rU9 zD{WWi{!QLWKNF6j*MQ*x=^qCrOxG&Dv_%FtG1p>fJyHp3t*L+u7Id{|Q6yKN%Zr<* zJOa0d>yHB@lTDNqs&^rKwL+rXwZr}ataq69`x$kW@H&)i{>9!u%I{#Iv`30lQA>E! z7DNt$Cqkz64ztVUqP%v2&s}<*EdgYnyf{%v@9H&tSq*Vqik%}KJ}WLh&W*c239t{D zy;*Q9O-mTV?){Q*7I}n)+4&4p5R0fvc+tB+pgtv^{^VU*3xSlygPuV=?9lo?y?fg- ziS8Xo)PRIZn>KEgYpHGd7N9(QB!U2?lg;r$$PeMrHUg`Kujnx3M@5_0>_gtlXX zkha`NOB*oH`TWYHK{3wosMN>@eb<#X!&t&&kse=-kp1XR^b@-W? zywWgtdR9+chpP;YN@T_U+2u5OV&_b3=Y$>a{un zfkG(<#_-byKTAwLQbuIdDo=stI9Pc)Qv_5;*}m>!oU`ED8Q|%T#15&Fop#1?B6Q9< z=+BWSwH0a|#5r~-c7%d|_onhR<(yUA#_1x5A`?wV)$(tDyDeErWU_=+bwp#1k8>7~ zup`M>Tfq4R2O{Ne5LfUN9(oR2DQ)sVDe!nhkgVzDjW^_TtN+oOx(@V)3)3%fp39H- zK;pA7%vP`TNoQ8n*JoXu8e5+)fR#J1 zBk_%n&u)(wx(L25$}yaM_#7ni4svyg8aqh9EW7dSuR3NyzcTqJluN86D?13t;i-m9fZ$iA*wkeden4uZJ*H${4{1*`ut2&g*d>IM_fTh6o0^o@kKoDID zy`m>iZubx+U(v^j>)-c&P;Ys`ar~fDlU;2idmL&SztkwT=&YXBf_s;oPIDNEpaXX3 z-X%@tlU9B5OTsr)1;g;Ln$pH(4ob9c`eW|*7YuqjVFHkM3*kODqDKfkAkFLah$1Hk zhfLYm{Y8`H7XDT_vqpdBq@QPz75{8Y@h4RV{}SRmZ}*CCbt44;YaqooNiMdKL&K9} z`67mqHbn6etx{8b>eW)!>z6~J<2)&@BKUX$B?_~|!;zZ| z`FvVx%DwOOTQk<3@V-=D;_1*1MY>*9UF`*4O(%CM#hC#EmZ9yHH+SzAJ5+Q=Y{tw! z(QW)q`*fY5wpd(w@^W%>fhqk5y?=AaL{WSn9G&!=atmry?L}chZ9EeS%Tupwvx@Uq z+?IZ!{Mn7MybqJMZ4?4bqiD@fE!tXes@7?`E$Rf1d(!Oq4q>}R#Ys#{Zi+KSCVopD z!xZI(wF*)UCO6NUth~Q*SJooBrh!PY)<@kgAB*`iAgh5KCXNNpkP8#d)$b_RdzpVr zp|CkM0*Xd$etU-gV6m5_@_R0y6Fs=9>E;x%K8?X*vmrtuK-{+Jqz`Q`g|}=`RRjQY z#th|0J}*I+9=mlHs;iQBLp&TnUID#~8CEv7jam?XZ#vwg@^_2Yz<0%NZS9kj+Epmx zbdI4l(Q)Zx>%)OtY@;_Tf2-XmL)A}R;}^*>udb$&%GEm!3ynTym5+kHxox{lT<9Uy7sh^_eEW|j>Vd{zEv z%D$5C=bZ8Szd#4dOGo{v<{R85^h4ek{9w()i~Am*W3euaHLmLLe`sKpW6Q1C&wmP% zJfPazX=;Xx0Ei^ExzRSeIS!6Ut_A4sU)Qn|kg8>bVoY#rc={to4hRD29&uL>MKHyJ zF@E-?z9W+;MC)e1VM9(^;|4AI6&GLS$&UN682%baT4>z4iCg2PZy>KL_mZCSnOe3E zX|d%poa+>}E2zP5z^B!R+Xf2bD_VnhfFbR__+s1y^&;G`o&yhk?OYU#S^QR>wRNZO z_jFf&mzGQSjpje{b<2>QtAlH}Or?B-fN;6JG-w?zG%g$y9zTpz4swoiE484#xzMZx zlNbO1E&nfm3T%9F4)hLpk??r>C!et-PISx4{WTlYo8_|ZITC?LcI;<>2Pea>TU{SYb; zT|K?>AG6PZU&wn!b#w>CgsdnCs^-m`k2%vt`Q2{EadmB}PBSd=Yu@@QD0WOuK~v)_ zDisUL9aNV45NVxC0=E_ZnL`VEl$c;{7gc2n`^T`Hr z4O56FCnfz*QBi>++KYOn_0`*mggMzmDB7eR=e$4)I0L>!LQ=_l@ps=+>HQ1*hDb0m zkG#F?s`i6i&fwzj-P_fPG?zGP#IL%jg?VSbx-`7Ki6;w2U?kC4$oYXSG*CFSvFeWYUkrt9;I5Y-M2iAx^Dj(Fc@2FLL@kbB2}*P%E2a#}Qva+MzM?Sc)EAUgj6mKFS#z zSyeZU+o0nDG29uV+FZ1Hf$*|E7Z5M@jpF`2l#04#K})$Tzm(7C=YxIosxgKTVV2ENi)$h9`?Nln_h# z=SH8tqyYToA5DO#zx-D%D?L~Bf7QH2Ew9~skn6(!|MSJ1DI4SIdM77eToq~6$`0`e zjBHRZLG>>(>G&V7@aKn6{@88(9d!YrVGmySoS16^?vu$db}>#PZ8gaV<20W|6EDc3 zi?8x6yIuYBLl#~9_q%3ErM(`>hAKG`#pUPbrol;d|B|-yTAJIb8}$$ei4g|PXStR7 zpE4%mSuiC+{A{}cU2kuEB zPF;MJ53gY_amB1bUw#)WTL7?bBi3GC{hBnx|M_xx^eafK`f(NYz_oH*q!L_EvhoSQ z6TSm{vHR>cz!o#<45ZLyRYRMrIE8@8Z+{%7Jaf0WuPM+r)1AoHj89en&XJF3QRutF zaNB^-L-@QyDL4ZFUsM7lnPss!Wxh&4Hv=Z~N*N?RA)X#{scv|%!7;wdo4#5*jLW&jY;oY5v ze1kgZB$%*}XVj0W>FHBN4*2TTUXF2?x*|NBR|l^rwdC5hYdXV+TZk5vBOSrE_#X)r zl>vPvOG1WzY2t~i%;x6)BV4;@bHdwVv237vIm6ABj2wq$>JLY~&)IsD7@~M#Id0$>sM(8L8$mD`rYl z4s+G9je3vH?#Y)+N|mUNcl`RRXzSn=Td9)!ej=Q*pwV3#+~`^AuONKp+2zwG z9~?Ckk~mw85^xK!oW~z%E_^ZJT}bCEsi~8i-rY@v>o+ci`jLKNr21g89+hU`U zVoqX_;W?7MEN@CM7RZq0hvFBCLz=c%aLX{3rwsdvPgVc;oPL%U&Pb|&wBekoIV^;; z3<9HD6q^ViVH)bF;E^J*rLzi?4jL;@Hg=tu0gYx{TfsF4c@wJ|ZwqpD)uTgv*uUL{Jb8_pHw=)jPp@7D}ls4o{$lD-CmL zv_y0a2r4R13PV{$h#ZPJ%b_*s#WS{kr<^$+ZAWf4zXAggy(@V|?KV;Kf{6$?Q-fh= zh|7od2J{(54ZfsOUwOTL(+-qdxt%(Gb3SoDM>ulIVxJ!J@{Zf{1QYHNc$|~+eNp&1 z{^k2pe$uTl#R*%7na!Yklxyg;WnHHXZryqNqC@eIP;Z#Sr%KH(AYguP_3fwpg|93+h0^IH6M?1e=NPL#B8P;RqyJcH~TR1 z%XxpGFjGx5a2e0j$;P=c!0KXF_v3$kt-+jI3z1BVUK?t|ducg^sK}7zg9!^x+{yCQ zT}&Q+D}j2G4;jsoMJNX&BAM#epHkxHOd1p)gh}KZ9BVgToL7)=^_S%~!9LRIqdBDy zFP&%CkxU#8*mOL%J8YhmcT(rd(W^?{{c(nI^xuQxN-%c0zJIFd z^}~l_IqcJ2xm;!QBpPfFIV8@$Po>u%{$i#6h@~nP}rLI*FKao)j|M^_P2nNWZ0=#fYB;V|F z&g!S5{O66-DpT_-^1?8Obh~qJcJatC^{AQ){sM^YDvTZkYwDdLfi4vz#XAhz$kkx{ z*E`v*S#Qpj^7}FUug>{Q_97q54%d)8qsi{i*$XNuh(1Ims9#;vij#G4>t1Q$pU~3e zkN_v+4f{I|w7iYaU0Wq?59h|4eKagF4C&5rvBRLD$ycvVkUvAc(u-Cips0ZUO4v4-cxM-vFkk^NwX?~U zq8t#G4XM|^v24?@U=2T^zOR=jXqf`B&_D zm~(KbMD%asvd^YaunZjbNc3?OADNoQ=eaO#$*+Qh_e6uW(%*$U;~lACWun`H|32BG>djx4f2|KFmh^xW=H)+X zrVegh{beh&s*Dy=sAn%}gjo`lQSfcPC&?Y)#pE|T96+R$i#LZ<61?dWPylOam!D5a zid)C!7`B(aM>PLWp#2i68JRpJQhD>^pH=AYVi%EW`r0NPJaFf6SUe z^3<2EzB*V=5QholSr`zSeNeL8)HD!fKN=Nqz8scyd&YE7$%WDs&M6W9IV!N_tNSg# z8*xw?Yt&>8H$8ez5I|e5a9|Zku!CZ=;`z<1F8o)e?Piop_Q!~$JUg5!$qmH)ZHnkF zQ>8`FR%UlqF#Y{kl&QNqAbzt($Y+V&jYvA;?kqM#80H3+5j?l7Z6Na zHD$^aW<11xH(~q^TIT6go!;6o_hA4#oDH}1n>b>{;-N}5(2{tN|GOzx+3?&18Si7K zqIhCO?b9a2@B~X`PKmmHkZ;;8?w0!I4~0aPTcvhj@4J>4){fu4XgQ&c!p=@!W-Wo) zbx$@4ea@}gdWj4DIn{*9vm!sYiWDjk{QQT*kG!$Ul_*c)v2^0*=I=QZi2X|Kd4rvM^sa~AU z2WbyvI5GWYCcxFoN;CV(!rQ{yZFyH3;x|9*Rs`V6a^7&sIs^#@yAAzJrC@Pxz(a^f z(Y*8Z)2O|`o1#XEtb?1(y1Oesic)jK_E&5+se`lYWS9X+LO>E#{LP`_8|B;@b~lGw z!?ZAPbCqgm;#Gh_YqeVOFYm4>i*3*z3u~pmel{9f6<>d^LL;1nxr_5QJ2Hu=<76eKR-Ua{aB8-~TFnPZj2 zc$GZm8JdZEBQJ!Sk5Y5m#gP@9Xeao){z;J4dxd(gBN^6r(e5_@O2isn($5R+uO7bKDxN0**b;|UtVVoC=U2|?tvs^21&5aF zcH*?4GV&-{^uoWE04i)aWd(_eVh82n7ujE{b)vT4*|`h!vu*ZP(31`Z&He!xKX}*B zb>c9AdUCcTA1kbi5y2K98pGTT{8a=t&p;xYdrNUHhAueosPq%#ZplPNh9YNBvDkYj z4Q{=YaY1M36c!)TRd)T2Cd+cGaTbkl3){Zuf`Tj{lI8LXt{h-!o7hBz^w+kE|B-5< zM#yhAMC^>1_f+3=EWHQ8ux8i$@O?l4Qj&gq1-22-K-)Qgh+N#ZHhD@T$Fzy3&{r22 z)fpR`tDT6ugz`Ae>0r<;ugr$fLj9CLtAC2DRSz}4!p%qqNI=$4yWpZ`-`wcw;ju7j zg+@I-j+Z0dmZ*MBe_J`I=h&XJnhw52^XnJyzU^)0B0HO%6YLE(vZBS)BcfR`0#TI}M#}e~c}P0=1qpc#d4pSzslB&EGF&7LT{dH^E4xiRe%xhEnIf#@Z~}6hL~ql0 z{PykJn_a#vp`-6msJKJ~*c))21v)8nh6i4C_ z>R^L`&CN5;@q500oje>iA?(fM_tEiAem@aOOwRD#s*qVqw%g?)Ec98#jd*HvBq!Z&TnsfYjNhuN8y^rRd~hozxO#*}B~vS72@XYdm@KBs|~H zapk5-lRcVxeDIbrb22$Seb5ghanu(x6|Zov$1u>rY6pt?trh*wyw%g#{Q091mX-#M zE1o{_uXhb-TNdpxXMW?D18<0MoZTL-rgzwq%&&mR>8f?~^h`O;f8#pqkF3*`{E%A; zhA?jY6C5Hs&+{L=+nGS~DqJDBw+>#H;Mi{8m5m+Pg!qMIK!I={ON1(328A zGg3fSLMS(t_${-~`!-M}&qyX8RC+P686AbBvC#}9udDbU(s?eg9N?#Pesz*w6l59a z=;UxM>9+^of zgX&h?6OcBE^h$X9q*d?Uy-P_sQOu*@_lOg9zW(|fV3IqirL(L-1Pe7wr$(M0QGd7gKr83f-y-JnWW^< z#Yz&7P>b>nfql(8*h4;ZRV&;rCZ&UoU24N6SmKK>7J9`oIwni)$f*e1Ic5-C-gZ_h zT$#42bi;#XMftNi_{jIrnQRKDrk~e$bR8;fUD}_3V)q?8qV_v#IUYJtGPRqp8p9ix zWA75&j8(*sL0L&?N!h)~V;Bj{4*Nt-V#+t?^;uE^CEg3et2}02Q11z)WdvWED2l~c zr27T|d|I34IR2!ml0b_5u?&nsJO2&E{!AQ)^HEue)B{a*vObMg86ZdOk;C8xLeI$s zzNa(r38C|$IJ=$$j<#&sGK14zLIU)v1)2OeclP=H104QaZ?*+D;HkP-@(jl%Joa|{ z^}P`}B_*T3Y^*P6y02FWJ)ZV~fZr1YaNA+Q(I!BZuv$LuZ5BsbVN!P&y@!{+IXNSA z@sQVvF?Fom(^Llglene6y|^ya-ELK5*1FEcQ{P`ar8pck^nLjbN+(QQ-I7tWlYAmO zk3kyQo}57HB*tDYrPZ4E;|k=RoZ`0ZOV1!$%;yA;PtKg?@io05WpT7_B`u#&8!AsP zFE1%X?@aS}!iN?ISZ@_d3W)*}aU;XhFGPG~@RE-`zIt-TF;)Tc+ikyBkEcEPgw^H}<+?5qZtMk%czWvP5 z{?&yyMs9K1D6&PguU!hDNMZe+ideu`qBiJi4n5BJ>c6J%X#SU$rwwX;v7$N~(UdZa zb@HyF4(l8P3*9t=&!2Z(#XsJ>oeGucs^eM0Lm@D4-rq-kN6sU z1QD3KoQ9Z;MKf{ygTo4Ej$3KW4Zl^1iGhN|+TVC-m)`|&qY@X%Tec{{^be?@ z{6#reGN(WAh*0b8b;vOo&kvm_O7<_jNUu?J+1CR$~5<+ zqT;Sz{gd`-d+qevk$B*>cbQu+=jW%+-%R~s^UEtOEMD-dyWw8#ow=W`gVJNdhYs!y z*>0>fQ36c#9Q(e;9D?KPtF7w(vsbgDCHD+MWN;FRT<7b=pjcs@D!DIyCEG?h$swW6 z!0>*p5>iTZrln(L|9S+Ds4>M~2u8tSBjgWV2%tS-kNe=WI>MAqrQV;AYp{(Bm}}kL2?CCSFl8_n zmcUt*o2PE|=-M@mu@!zvV4)VlPR%$qlAavhVo`@t>@baze-g##{NPvMvge#vT!qxH zKD(ncyV||(lWp4Z>>a=Bf*UvAy?43EXR!@8Oa}J2Yhto#t+9#8!~~B#2!GScX+Kgv*I)!2c6Qdey(-r}n!4 z8GZDIH*o0MMjGnU>)(CQu@#`<1ul)h-D4j{x@YM6|;t@op=^xT_ z*KfZ~r|u+Rb@$M9pfLnzRclL>ujuh-_BF+y9fDp3KdAo>F52vemu&CaqDcRj)>j(% zrK@E(X_Ob|`)P#7W){r-x8}UIKYTud{}tVr4fPsFLXf9tqhIGg?yI}qcaHO(%F*H0 zaN}Bj^Vwm%ilUlj`@N@GDCzT&9pxB6r7e0_A+sDpQ|jOF>{f8kbvXUdWme;VkpVBQ z;2tdHwv)h8kwlH*h87N4&{$a67kRO=*810f=)2z&co>&Z#wlG5y6r#4b}! zJoM2bY6r=3oLToUFHbOC=wKag9&VbMQcgoK2&F*RC5M#kT~%`Cz=*jq6M>)3y?d%` zytS)Q;C`y}$qX z>KV&r(b6%qT_tZ%2-hv=}Wxsq0LpvE3;Ss?<`vT3ScuNo5ZkS^Dz{^&%q_C&9kryW>G^cHa2HVJw4m7{)CbW;t+H=* zUVK_h&l$m{ox`4sh^21vX7n{kF#T*g{7hM#YfQ7i)l~KJgr!V4`Bz`0;o#= z$)zR&BZ_H}E21iht;_>xkx)W0n<7Dw_*P2#e}$esJJUu-&IY$~)fR(qwt8)v^E>d{ z3dk_TDLzC3opQ=|{(-e`P9Y?WoDe7eqa07tn1_iV02bpu_twRZdFF#u&q_;e9j$m9 z=Q(+CY ztvlk!O!3|yr0sR&TXVCV(Zw_ScySI`->X~Ga*qy~Gfczju;j4T6D22Qp)rDrwhjB8 zBSN))2LF@1M)5v?nWumDx4)g)|L%5<924|aPv=Uhq5mLSXLc%a=qTOIxG(H`t0|_~ z0k4}^%IEPMDmkP9!_yYe6D$@lg}_T9E5ttnxhr@;DI)MG4pF*dR6p?U=oTBi*|+v} zturrpB*2>S1NM18O3ft0$iD^z^sC-Iyw<+@*5rK_w!Qng9x|!*4&jc~F%LiTVD&4r zo)e~|fI7hxbjYn%q zbz5G2;Fq>N&N)x{frRpdB{B4`;x_7Bk%=Zpv?on<>8{!;xsm{ek4gOF*A<*Q9hMjx zJ|AQhyl3*k{-=u*LF~7uek;Fq+}3YCh^N<%fN%3j_MTe#$*rYq5Zn1KXfC4S!WwrQ z=HJHfD2f$T1}J{!(Dp$LSVc`#c2RjMcdMdJzvh>@Z96({c>8}Kn@27Hbn6c>7@w+U zb2<;+)e!r=%j&9{8q;bq#7F0y7Goap%Gp&9hO08zVA4vRK-FEcU-EbEUiR3V6H(9QS_Gx@(BnUkb zrrnK#a$p|z@a8`iX3O;bA0E~k)_0?e%e-Brlq#5VOl2>3Ba#+8f{YvAUOgImn9tMU z73Zuv?B?y;w?V%}E^P#9E1KI_vm&vF$bhP=Q>TAUu7~I_gAUaf|F83d+RVfkx}mAE z?ZQEuJGfbI?$B~iv)m6dv#RX^T*8S*>kg+dVp&Rp2fVM{)`#o^2={)2`(7YXWYLg; zNW-%yserZlpO=j>u0UbyJS!WI5aWD`}Ck zkhF|b%&XTQGQzx@{3iM*S<#g>RVc7`@7fI$@_x8@TYKG;2QipXN7iP;L#l zP7P>ccnf(M&B0K2jD229E6R&piG>$4j%KmM=5t$~QnNx;AB#5xkQXfGn4E$fvL)L! zypp|-N$tl3WlOeTJVOtfO85TIJyMlG@%DT{(>q^)v12_aY`>=+(#wU$OYeHld?S+I zNlhgQn)5Z|4_ubl8XCap5aZ7CaVBbh&DM$!4Q(fvHH{zo+1wO3Hjl@q&FJzFaO=A} zDXr{ZeVDR8>=khA#vqa5U^%8n@j;$`<^4_5%ce^Gu2IxY5GP9fnV9$kidRBxYl|rm zLeV>|YSdALEhk`AOI`tYMCUz~^j?&M&UuU#7Z>2M8=b9$RYmIvX)Zi~Tb8>RUp3`*FE?g0{7J zU7Fc9vw@Z*i?EcmLX<6KToawI|2M%Niz}Pye}%dc;4>hgB@(0<+>;V0_k%MNvli{F zlEw4rN9KCl2R}Id@YcptHFmR3C%@P;&nM|j@xw=M$E3`ttK--%pPl^EtCaqy1$uqQ z?2Gm=YrO1pcr7zR5WcgdmmmA?S+AYBt>yaSaI)EdiMm}$XEgOY3eYav65fgAfe&~h zWj%XI<*Dwfz7$L(^**)Y3G@Kp;mDiLo)pnGmwl+5&i|#q!VU%0Mg;&OFiAu(;+zMO zTmhn2(z&%+Yq~gI&Q}}Ad_0*CH}nnV;}#i$gs;V}fi$2Umx3LQ(a6>P+? zvYK?^-r-cRC4?5@ zIZd-jO|oDtm=&PQ=txGj{e);pOUHTpPZEKk1OPOV4ItWcu!#Qr9U+y0%WCc|aWCa@ zQmY-qJE?PZa1nb@WGtL|7Izc=cOBB|U4jb;-8*xucroa2&@? zw~dLO^=t=s4tz7`<_6{LZT|BF*PjwL45(Y(748B#^DP^vTkY^>LcR@8caz5i`hEU` zRkCE=c)x>J(PQH2Gy`lBr4h?|s$hXK=4j^yx~5PXb0v1xueJW-|E@2o8Je_)6g>PS zKBYHXlrogyHbrs`>LDTdB&LASmcpS!ICwJX6{5CWNn{tl1K5%zTv4y!4m~%!**Bg$ z+UXocmmxC_B>2rjIkq{D2>YR@DtQX{9yupJsfVj2pFKLQN?qV2#W0&!thyxu9kokI z3^=>wySDRb>_wR=LBtY(#9<(16uU3|(%#UWfY z^@%=ZeH@vRNLWP?i;chvsR+p{C$Tuo9B(23>uXo~V9isXQ|+HBEL0 zAkUEv^Fi*ufzgRd!Nu>t{RyR}LjN8>At*+b?#GTC{s+FG}}N6uuu!C2q}9Q6R|} zulY@bf5zX1SnS-&+{Ga$l^0Y0$BiZ>D`oZ9CW|n!>HF!;S02%azj4mDuYXIk^cfy^ z>~hDOtDORS>^PS_gSdz9#j00U%X18&(z^4B@eo}th#C1{G4~@aU~E;!|lCQ;#MnB-68w$t>Tr;B^MBgbM!1lTQ#n6 zx>kVN{xB|INM_VPc64~}0I?i7Y1bFBQbNQ9B)%A+>8}k9&$qBtnq!T+9}dlKygayd zK#35RY^!j9w+BN9DR1aZJXen>eSw$EfhJ_pKLV5rp5^ZeW+l(gB%hObzbDppK%7ybd>g2d<*QLvfb(!NWCUp(|gWoYz2F1bT z90i&tMa+2CbEW3dN=*LBKrOm;+xC?31`Cj{n{CL1NpA4)ehh@Jx46yKX(aV>LyMx_ zC84+SI#rs#1cs`gYC9vkaS2Ifh|Z!rnp!H#iIbMGQLtb~sYFu1ssP{Nu`UuOB=YRU zrp9@=R`%7Thkptcw1UhA@+hJHSDb&Ne&X{#w2vb$5D%gMaH~P1P4I)L`wKibkJ%h; z)zKqBgrS^R4hBEcy31rF-0yQZj^+$+&hXAz0;wd_SB&1muoYNFZ*4JMb6#`Q|MAnt zuFCr^a&|r!s>N9()GI}%Kx@?U{RxYw)9J8|C>0;DbbyQj$c;zOR2%|t2CZH9XiH`N zt-wkXSDS85XYO99AN%P-J3b(4#KGx_ zv6<>F%WYqkrTG;AAGt5U^Y<^fi%K6upv%J7YLS0=ovc1| zy_EOt`+h);K=E%5o@9rjfo6uDqfJvP7mQ4R_^XQRU(W)p1y0m^G=Ah0HR`h@W<@nA6N{-M!WM&Rsm zP~OzEFN%H(-p1J`Lv#dYz83z8j{8k|`ybd<28LSYNY&UlnFLJr__kDeH(CJ_sH_qj z938}x=s3=QFJv>?qDK0sRnCW52hRvI7Xg>USK}ux5woip$%=}+7kOQlbVfi4D@kvF z@s!6R+eiY*p|xIXsmEjG`7XHF=vi88@b_gk-^TaNc-SGz@Z0vf7B_ZBxmkMY8;pk= zDk`$RRNoVLPR7p&%U+th&)EpV!dUbr=`zhCK=0Kau9@#k}`8&DsEAl6dBf|ZOctQ{FHh> z7v+H?e61QqY83~^N*_Zs-|V&yNy;zP@N?k8My$5#;YDyV6>_3G6vi?bQnR=Qn=nM- zQbZ0sa0t9>-)E~&;&~_7*tDJ@ux79-*KEWnf072|1ZNDJ-hTT!Q5xVe9!eg0KsRNp zxy7X%31}%oT-Jt(XP+qtL{=S81Xv%LH1iP^ZWgU2F~QS-E-fHpSIz!#YzK(8=D^^WZ{Eo4waE@0bz}VC9Hk?O+}pg1664u3VBIbgEp~#*MprI z)*Xs!Z|4&AYDgLaEX7e$eNTx)P$j2!{-i~VWfxs1u1rZ_)nH;8U(rrE0>_Olxt-d> z8(F5OK-L^t_w*`3ebS<}nA-Y4@59x0Dl6?H9ry5{jxK8yL`P#`H{QWUfH`Ig4ODI7 zWM1WIz+v0#`&}N|k_85{Gdx*&2@U&S7Ihl#Y~5Gwzci5-+_-6zG#t`}5YBW`_;d7h z_UmF3qi{EeBdsr^r3D^DkN$egQ}uFvvpd&{6Wsm$=y9~O1z#6zDBS$bXldmruRm^}^)H0Jga zPSAZH45*F9?9}DBAjM207cJ8qX@o@>BP1=MT_Palb}4zwcPfCIxZZfp7}ut)61XMc zNogzSYMD7DW~}*Z)DJ}cE&U>i3Z6q5B`%e}h*6WRvCdsYCnTi;_;^4erg-qH%yQQ? z20t$9Bzkt<=IhI4YBWaqJz9fOu(EQpi7yv{Q4LMUe%~=BwjD0aD!U8o{oQ6Vg!qjE zDP-~nX(~UI=gWy>A}!g=%kJIK6pbCL{QKrs=zTqcC@D)hg0q=lCK2Acz_@vO9_?us zi7g>!ri@v$h*Qi5esJ2^|9+_B>mHk)_56T^zHO??%64R{OLC$dA&hpEGr05iy`{%c zJ-vJMQ(GCWg6!OXyZTE|Ka+6pWj4AOW-%Iw^sjG4#3mmfB+F6w6pWvqBF7UfPpAm` z?-!N>l%HJtiQw7P4g+Z>DM=pW7c2kXqi<0%wj+^WQtjjr>mi z_mcjczoUL5ZKoUx481&eP28*PGE<2qa02-Qi|>q+O8FaHbygRHsMiIS2fItnNdQy0 zaa>&+-$em0>g`vmF2iFOkZgf#tmeOW(K804SJwb zSgX4nX#dQ15ZkTj>Nz$+j?$+SMZhd#73EMC#wLNd+H}_cqr+15!|d9sRV#DO^7RB- zsG2sPRxg*fd#DvQP7{5cM4yR<8%%_IL53n=NW1@MyCFksIi7;CYWN3yX4=PmkAk)l zNl2aAY#zyf2~tn6S0pD+q8eoih72l|0Ioj+Xx@m`fQMwg`qK+eKB&tirxaE31d+Br z-9_LSq^JEcOXYD^oobdzG`a8mP0Dy*0fV_3KP;!UTEKXjT&8;dp9!-gP8qu1UF4yN z#Po$Eoy)MBl~(G*sc!C%D_O-Xv{H^Tc4d^4`rK5_S{$+L;`?_mb|ofSC3ZXh&FY_{ zjK2Tu^y1uzR&Dc1PD8$Bedzcjz5%QOUgcKmWQgWw{JvkY^8x%^QdQ#51Bxp-pr}!OPHho&`GiXOKk!SNYt@p9_cY&K8*h zX-<~@FVGUmgbS9!pfzhMS1Me;#%!4a=_%S$v71974o~h1io@A)qfe~zz4hx?oMF2Dw2mzx3>L}oSeKmY0v-99w}X!Z(^9QPz~eEA{RI5 znNKH_ETDJ`f{PCfgjN9WcP&Q`*CVHqObHc`YO=c>&lI1=OhWmCovV*g6$uZ&VdT00 zlqg>NEckyhEfDh)mHJs)z@1Bn$gpfq%@riJF^y%G{DI4x)no(TKet9%VOpw9<&jA@ z)6H$vr5 zevWFWTXxpyn<)~aAq|gQ#Nt*XoLxtT7GNopDK~5g=_#>F|EL#oL-Rk>fs0WaE{2Y#n!*Z|qNp3$e^)JI$E-+8SFK94M+Yc3S%6{$4=8HD z%__JfxBmle^&!^$$A`;w?=d84`vaaS+F^;ML2Wq(HR2n`)`W?Hs;0o0Z~-S4n6=u) zIVA2ePiX^q;}4GS;f?8{GdHTB@e6*%=-}xn0@DosX3Bl_&oOplqtq6GIA#pL5?67G z<3fB+N8=fUF-ekqE#j4uXk2YvLshEud3ecW3Y{GgkU|39qQu_syGRX;kl!{p1l#y>e1{QDa{=uviJC)y;Hn};KHeagh zeCKO}TSH{uG+IqPLB1kdq~OV2nP|rW*bd08&}*(dRJR(5a@MuFcvdhpfigkC?qXWj zrrvk)RrmHkvQV29MTjb~|JYHZ=E9YDYXkn9vFuWJM@8}bVDdKjC2?OzuSm>V$Bk)9 z$S_?hPM75AjmUh+p!^+}zxgmXyr5YSkl#`#qD37l{kCW0QM){pao{O`D7x{Y*DCv(+~Hs&z9n%Y9K5 zN59bP=Xj<4nPw9sBW7EC+reVIj+tdbD<8+1?fzla+;UULFSMfujt}akHS=%UpZrZ_ z5|CW?{)+ov6;30+o7&Ea5&b(>-;52ck8LqR`#|i|kw}!Q*6R%W9oXpP&6}pG47j7p zNK~Bnj%?f3?7_X?dHVLL7OYyXLpd-29P)n7 zR)dG08@HHWfp{^p`ervO^?aAgF)A6jmlBtH1*M1>4<)u`qDr;*+T!Whhy+|6U2$Oo z&)o5yg#_xybTwRl`*Nr=GlTi|r(0N9L^|vGC$6rzw&km5O}j@qD}zlbI=&?!dD`sR`>$@E_56b9 zT&CPL;~;&|!0p$sZ{HulaRw$YKst)BT*ugWfu|HDAG&FRnzetBKt=qaa z;nctj?$;LY&0Z1H_2XfGf7~ng%QhcHEdRP+<$dKdWLXc33VkFKqgXt>RrHA$e+hflT{(W} za-K1sqhDqo3Qp-m1n**~=q$W|(|DVbd@fM{MCZAS_6d0*`Zr`x|Kh2IWZvVF?lLx&>Ho*n9&^^@luy$(yQ zt?yl@ue*Ex`$qE}UG_M9^vKA~NvEND)#D`<4I^Kb#ZL2Bb!TbQW}O=z?kS1!@pr3+ zs7jwM9r*Ii`rgCY_OI7}R_x>9@o2B3=ui2Qovl|XANS zM>PAY3~b)*x_6%+Tqg>}RfgNbXcMGWmY^*8R}7NvE)Wa*$bzb|29ACzsY%yLQg7Zo z+qL8BmTQC7uC%eS+52GNjG;~0Hrq(mnsds+FU=-Ik-CkWd>;JTJ^T{RTL^_~z3dbW zc-qX7iHT!Q#-JffKi9k{u(76Z$WsAGCG5y1{m_e-yXycF#ddM-6^pzE*3Y|>E0zAG z$i&3zz)y8G=Z)|UtA^PgJx1L;sz0k|mssFj@I{UMHkcBjcw$zV~~q-(xNh*?H}2uhP3OHuvh)E4Qr6urJjs)BeS&5iOZi z>hwJQw^`}U!*r&mTsko~cdLHa>@%(p?*^SXW8&AVnUU3J%6lGn{G|P?G0{=~4{vV* zR^z_@jW2BMZQL7~A{%8WGB!{Vj-lE}t%RnnWN02Vk&3;smBdmaO@`)4(VU7Dl?s*A zYEGq68Z=M;&;6`&oO9mu|DE%`*ZaDzJz%xgv!3Dmz3CN{MIW-+lM)o$H-D zr}|x=Za~IU>7k>AxIGuZm@miqin}(^B5b07b?SS>+$j2jhMkpo9IDK+xK;MYFX~LL zH`5&gC*)q*_v^A{{;yWg&!SBW@)5r9@qUS2d8KfHRag}q@|?`7ACq+XLCRUTHuL+% z2De@x@148s&QzbqV)pO1KQ=XqXyta8IU$k+HNofkQNn5n2O+JhOBmx6l~rN;c}zk` zA|^9cxW(MJAIPc%x8uB#a+8+ zPTROty$yAbKK_CeZt(1jL(a@w4@MSF5r_14#Ze0{9h( zcNd#87mXFCjAQD__ZgzG$k_l>7(6A>-yy_#yr0-4Nq*IvuR#jFb2A(OiPzZGIVt6t z&z(Dm4d8YS`<#IjY9?%d=1f9a__&K5?2YzSah!H~G>XnxbcAF@e@s|y|Gt=GRX)GF zO!DHug6f#)w87_MEw@aKvRyp%QB-gq;ym5asAdkQ_16eMhah$+6JKq^He4sNDGk<1 zq#VEkOb$|2O&c1a0fb}KdaR6EsJqElLy{8_tYm=pDGH&ssi|{KMHnW(1mk-ta41(8 zdgz36IajYvNi=1%*^#EPOQM73-1d;3p`=Q-%e?=1j@<{y^D?*@i(Z`KW%M8_86yScb z@Zf6qHCi!ZDi|+%0J>K5JLa$9M8IXs$EXia@5hKAOKiiazr)%FxOWX*TyVlMDL$xR z09DWv8O$GDW4fFM?vN>=5G$vjQU|7UWp%{?YrydGl@`;OLu3BMR?&Q_{0zw0vB*Ox zS-)aQixWHnXEc~Se-ykF-W(CBwjvjYfFP3V>|~8e;dm;SK>>HKAZ}p576CECQO-0X z6xU})4N7i`&Rl_gm_tdQn1FciMGu}NL@Sny+ac3x!TXMCr!|dq`i+dju|$!@10d8< zp$rTz*$cemk@Idaxofx55&BlcWYo~kozvITvjUAV)Xy+nc;iee@Z3>~Ue*@M&k#?x zN)A=r>4v+*h^%#isjagDp^pH1l)<~J-%1R=jiC^NgdirsKOy2t2~r0ENuPUd<9 z>LvAcO;p_~2kvCe`7=3I?wrG!h{lm6UUDWZ`}CgH+{k7%iSa5gg-ZmlCO^< zud=-Yz!K9ACfLB}`NR!_DUBEaP!aax0F(zbK#Q{0@Sm;4byEeT4-wpDYb*cd)H;Yh z(YXNleuDB9>&jkYk?^1~%o;Wr($q5ngOr>FFMI*KbOD-w079WCV}OAoc)+0xQN@#n zift|8IGWHUQqU1$YjUdd)rlJ=MNwxggSaYA!=iZUD7$C&c)wcct;l2#3Xd{SPXTA) zJHlLZhsNh2cPBw6yjm{n)vFcj>PnhBFjW0SnQceTzFJUYw*~q7gSs0(1977f2giQ##?(YdLHaG~eHI+A?Fm6CJe=}-g`jQZv=+Mw3 zauj2#rQ?gQ0JiYxukPR!PXFkSKYW#-YM+}ZiK%;Mu-ekU9su-Nk zhI?5J4Gr?BKab9hsllCy@xZ_`q79^4d3EQC4I7l9ABj1HplQC&p)hK{JGY zVYCRAp{7aUW6^yGI;B@f*%ASR2U7DnpqF0-z2270@~(nwR&n*x?l7!b+(21ps| zD_>e!NYUsd0}&AIq!9NuZ5{4)2|XBs){KUdQ49;(n-;qu=8>@$i@*e<2LHQ)a)^i^ zJ=74kwb=muue_y)0Ok}uplkHJEKIgBj66iyx7^!?pEUv?N5h)@wN|1DVu01`K%mwAI4-}Tll ze~1Ulu@TM*z?B?qbFnV~=|+3%DQrMlIXQ(CZ-|O1zNwaJFcpPd?Uc_>PpG=Yj}8Gu z4px0vZ*NTlb=;GJ8pS1;-BB*TckgQP7Ce}=9Cu>vbcfSr*oqt?P3mk}tM1j!D# zPZYm5kiLZb%?+u(xPU1;t4UDHtpQuO3+3WdDprU;ClT=w{$3w27M)E}vo&O$n_=H^ zw_=5;X!tu#=AmYpGSKGk*U7kgL(tFPUk~Sr zPm@P<2EWE~AQ*%*5c87q+JGg60}th<4^&OJSA;y>um-D86B0&f?WW=B4cH$k>kw5v zlywHCMdcHi)6BBIj6rWyK+q%tFuB!HN#u1Tp(M&wFA!5N;-K3_i77`UcWqQB^K*fY zNy$N#F7^Wtko$FP?xp4?G_;oMjz2z3(>7@aQA3vK4@DVTgMd3?oW_DRNTC^`^7b;! zJ(Lg8pqFA(>>P-9XHMufCD@o;K)`F;Ct2@>*C8y_LQ zQeESLAlgWh)dAA^)IOj2fIxYCCs_{U3XN=alF1+mZLl-Kz7T7X+l?DXrH+f=wcr}Y zLPf0kZrpU~%5Wv-T*!{c<&o#m_%rwVEfDbvHlVYcRs-xsP!1cDXaw^zhv0|u8~I#! z(nZEyB!VIsoNhik08IK@ja-vpoL_HI-o4?v1e7J`G;)UtMMi#U>) zLNZ8i2GNFk6i@G?;^q=C!UV=0M3XRU#*8I$6e;Fy*LUjhs#|9Dj}NV)gqQc>8X|Ip z+ThwuL@GM2Wkq z0fgN0z9SM)V! zG4HCvjy4j$jk^`?VD;KdBSdLZ9u1O#s(6Krj0TcXz>$*y5K#rb_zMl}Lhq(Zl=`B0 z0r2t)niR0yG&L607+IxBvw#(J{gkv@5?C&PZV5+~1KjF_(6zy5cpzZaY$p_vxKlwy zu?9vkqtqPuxd2UMSX2BzA%@&C1Mt3wQMsJeo@8>Q9$p zVlSQ|VE zEEO%hH{{LE*x;2v_L6;UBrVxN*cVq48d`Ul>*TmCKjgMZTSp)8Mdj94zjZhW!>F`t z@P+)b7nR7&0mTHPf{L#hb8&(%>y`0TNUY#wWD(KaKAP7vgl*s?Bs-fiizRIn>I!fh z%t+!gORnKG9UX0L$b@UMI8V#bMG!2+4HF{Q0aUTBQWf~5C&&{)WiF4Kh8Sq0ltD}P z!DJd@gvF8+Dd>v)py(u57Pg~slNNxUv{^%B{!g3rgb4}0XXt1HOBh1Np=h&DP0!S& zs(($ndb%GAL{Se~)ddaJ0Q@!<|Zzc>pkv6){plvH1*0(R$=3tz~iNoXh^OOguN0<y6OKb1=|KKZ|v;zB;2h5xa!#HpU>Wa znQx?$MzW`>o?bBN9tdFt)!|o{mz|xD+QC?V1@^GZ$$gC?q;S=yl0?Ez>PhG%3WV zL?E(y4+m>C(NCx;&~lSHBzd4+K~B|D_7J@F8atk;pchT@wyyq3P6;3lR!fnP!XtV^ z_}NcbxZDH@4yFOE`YYmyyGy{`BqRsV^c!@7@;S^xTlmWeeC4}~CUH|YN0U9hMbnoO zf(*!5jsr1Kns&vWHG6?!(8xjlt+0mCW+Q*qzOzu3#%Rf*#wtWxv9K=h^=q0OXi$UI zF$DL9P{#h-YqupQtBO~bVhSGanA)|&;Cg8?5Vr?Czp9Ce$(6RE_h1!|;AH0>Ws2dz zYjK0L+9bXApD3|O+S}7D^zyB(?9Y*F&e+{Mv$(VLz-*SUBSkQS+(EL^LlgyN`L*m| z@P>LltyLUKrhVS^(?ArZ9|ED(;h(-h^374wlF+t-n^lqX6;+)E?jF%L=K(Z?D}{v8 z8wOD1RazuX4o2{xM^Ja`LHI<@Q}tc7AwNd4C9g5d!$4b0(3w?jrreq@+z!xraP_vL-q z-R3qFcg-FQq3FA8G-=&;em`nOnkK1`&@MOl>Q%c~A+T>EX~bbXxQil8wJ`}bMX@vX zG<5@Yd3i^$a!0C@9P6+VCZhE@d~e`jNTKCq1_=&aDQ(&RM@aXY1;{psg7|X~Pkik# zhf;&H&6h1-o+upEitM{;w5C-UoEZ8CAFzvKma!bJF1zUCYmrZ;^KnID_xQL z>GOxk9cYGhbG0PH9}ZmfiP$p)Lzbi%1Dpqsa}ncHe|otJn8CIYGv}iY%uWEJX_IhO z*cgQ{X;XlQbUvH7h`pi+ZFX}8Oo1k6j7V;}cRU&bCG<|vTxf8%0^R}rfd*1oeE-gl zIoCv1G7u13RY0Gi-{BOSleX4TS~cHe7D+0}fX%^R?YK$yfi>viENcM2ZIX$_4IU#= zvwF4@VUalfiJ%vHDV1Q~zH2CsH8?3~1F7T!JtRo#t9?Z(95USyVP@_P2yq>yR0Q?-bl2p#{8FH+(0MbZOSlgcx-BVXx7mpGsI_{)4u+y(Pz z=AQ9Wy+TIQ_>&Hr=8VZrh`Exw_UfeCU_CT{1WhC*Nz=qph)|U-nroJwstmq<{pW!C z2@@xBogzdE3qot+4pGlI$j|LPdCxgL$*Fvvlf6mTBd?WTV;==_IP`1E?^q4p5}3P|wZaEVIuIS@L5D&LiHSrXPBDl1 z*x3Oaene8-Wq~t$u#1?RN0--7t_^mN*T)}|q3TXf-K6?ewlaRLce}35y0*Hd)d^))(*p z5Nj52q(5L4{0*s#XMjf#nH~ZL;7qNXs;h@bFpAhS2^(YSuiU`7L6_fzLIE(`^Vqqs zva`+47!l(We1tfYfcnkt7#xVnes(TB| zmOhV6KbMsf{1GVtX2oICkx%DX>VJ=!yHQ_X&pDHo{aOFk&Rcq1_V4Qs9}~Z;yZ-J+ zo!iI6ZG(-K&mSd&zpV`2_Dv=B!>Ed6hQ3U%T*nNOnW~MPr$tXV0#C zKY&WWQf;VOj}&JPjjwB@_)5<~YC?74n*TQH)oy~BR+2RkS{Jj0o83yYuxU#VI4YWY2T0t>`ohE)z~;+5oi ziCs4v3nPPmhoq46kVFjeD|PUJ>E-v^OUeYG)Yi57jE-nueTsMt@RRoL?lm)%%LjnD zStd@Km8<-A;9`wDGq;yj==O5NV8RmKfhwrk^vDs9i6W*h=)YzcS6AGC)}eUI`9&Dv zMrG{Lfsy72OS=L?w-jtf%Sd6(hBX|IO-2YFLSv@3^pD5AlV7^Iri^khtU|tTwFfZy zKblQp?4Zvf)AGt>fK1eR3zGbT+&~L5?&ch)^lPA|Hw7tL1uG|(R&&WUu+|tM`q)Ri z2DcYk(NMh0b3irJy$CVcV*l@%lR!~h>FCx`!9Lg}x8yEk`+hZUA9IC$`}%>K8ya6y zP(l*4^r5{>atgPmv{XHDmorD5`}t>_1l&uT+=hv%2hN}6x)nU_3$Gv0@uAMp=f`v~ z6@aJ0Vw5j#;35Sr?(N&RmFnpOWG$-S`d^SJx84EIVEET)2(*oPlVMqGEv$~DT&H{} z>;~KpXy3m6uA-ufj0}oHJ0WvnLQ%b9-o#9#cs{^cZtCKl#Z3ZZ(SIGaNur z%BHLKZRv9;d@rOKc+cs%DWI27yrhZ?K)ar1O-D0Yax_(Rqsn}eiPfAn`*2IB4>_CVvQXC=c78NyME6hH`WC^c7|5MV=uC39%B z3>0pO1*LS>|93Pl`Df@8I1!0 zx61Ug0}5#o0OQmf&}1o6BY-VSfaZt<$0ST59o^BnB!&w;{1~wkCj#`u{!;>@A#2)? zGy@(`p;s1|qX<0HAq1#GwF`+Sjr%}x{2QJd#7|uX92x?Z+cwTDIG)iYK1v*q@8>Yz zX#{4ejCSN&_=ch*yN9@|L-u|7K905}PyHp)*MoUGT-_EL8oK0VMEU0XlAt>P$|i$t z*h2OaWKTTs-|u5Ir>3ciqWu~`N*=)Smd!RsJx|^TawZ^!hnXRI^!cAl)=^vzu5&#JxIcn+xNk#1QY*eIKu8Zh;1kW51?K%{ZpC;c&mhi{@ zkpC&+eE?UG6iU_C@Q%ePX+#Vpx{L=XSZHt|U{aa|aT+;AB2YJM??v?) zOcF}0MPz>klg2lHelX(JV08)FZXW|k6w&Mj5Uc}%4g_*Qqc0pWSPj4@z>Hb5X0h+} z(OU1jd9<>(4giw>_Sk}urG7T{Bc+A_3?%v>_9L^Q1?RrZr;GCK z*O$MI6w|HpmyTK|@PvAL(nj{YS0v>!zy+RKfpF&U96X#yuciecU1<#-ob+=nuS^(u zU!mUvcz>=~>$%B%7ZMH89;#p$5riZ~9*Y4uDlcS7HdRexwy!{e(R>Y+?Pxz3R2-=q zgrYCZ5XX=Ph!Tqc#$bSfvK$}t){28B{XE#LvJeRBS0qKNU=e*!NFKU(IL9t)krM@C zOSGdp^Z;R2LF?CS<`8}5@AF6ymUS2cwkVL;L(=p<7-B3KShi~3l$o&HJIj~RuIRS(4mk&?;Dd?~h7STC?f(zJsF+ukU0VUkI&9Oqqr ze)Q3_3GTJ91V04>u_CiG_8{;6{qChC7=hoCL-ZW5_eu4y^YV(YjtJ6B72+E&j`$&G zj-qBsj-aARGY5{57VPQLtqxI9QCVJVL_`#bf}yZgKq}Z}RWbNjbi^yxm|c`V-nS2c zybIt0Kk&ROVSC30Pyk}dC~^7mokIUdkgCH5Dw+veAU_?60bcrG3@Xi=nZBjRcm0M9oyb=dhB_P9S5yq4%e3#}C!i(B$Fcy4 z|52xTTWsT~B*QW#A||E+VEH|^Lrht7QbL+}Z37DVSg~0sGI!AUDNrZ|>xkH;oItwT zI0Ukf(1jpX)}0ClkdWO3MCuf{2O1&-R7@BaHz~{LqrQT$q|Zj|YD-+rG#uw&YFyr> z+C__^+X;|&po1FLoG?1~2g98gZsavXfcc}(6C zYfB6zC;YR+BaG%tymTSN8-p!L+0O|t-S8NwW7Lr_zq&Dh6?sK;? zBOf%2ZFPVf61$x?Kr#|2TMTP}&T3#e63Wn0`+_Tm(ZQQ9^W@v%N5$`o;c3G305(-X zK!mmQ9-ya4!W!rYGK5Nhj>~j+S?2IoOgFN3FjM<~jOjWw(dcYidQeZC?)!QQE8R+* z3BY2Uhk=1BK*dp@=(M}*N;7$*sKth)*@5OlH zOu}&Lo2J|M{1Grx*_42atJOwm9+dc85?kK#@zDzEz)3$Lp$YF{B!&*GT!|h<|4K&| zCne7R0ubdUYOWne3786ubV90387P~B-8-umB^eYu zvCe=OY73HZBox#G6xsE3ZO&lzzXG~;ye%*_8q0`37}7bX1Q0AjH~*E`x4ddDe7Ewp zspg;FEFJ`3Nd6rQoNY|?qxgFu^U5f52v7#UbIaod7Anh{2~+1wYV7#WF<##Rq#v$m z$O>y>ZYYNnZ`q1}T%9i_4|CkPD|2)qJ6rv@IFxWk3K>Urr0^ON#KnoGzyLhMX;|Zb z4Ea9PT60>3jVq?4tem~E9_P!l20}(P4UWrq~%NlegNk~`jdvVvWvefO%~*|B!U zAEg~0ht3YMtrgi(*pYKUD^2xah{`hk^OJtN6pC!~EBbrtc2-j@la)6^fS- zEVdN>5e6K5LLs~`ShZ}Tc_thXSszwIf$7U798?K4nL8@_@3V$7S;|<<;A}E^=Hnl6)OXS+QX`Hmno6 z$4&%>H)h>$EViEUFK}|JUH6t{D+iNak00`Td5{A&+?j+QV&nVlSHs4OD0WI0mnb`Z z^KuANl=&WSZ#z9EP?{u}q>lm@hv)1d$;bdJQFjDqvpzh2lwph{h3b&5z!eeb`6 zf!P=J&+E)~O1IQfl|vhOEJVLxkLTpp+3|Pcg#?^_bWvmn_9si238WszpKN}x0pvq~ zf~nKmi$UO=*7wfZV>3rZguDOvgZW(%{T{RUX0J5=v)?G>0;vD8lCHS8U8c-|E84_0 zURe@u2)8Pfc(YFl|2TDOG=KfakCI*~%u%kihmHdPeZIK@MhQFs^fjp##{b97>&J8_ zd@u5EoseuNG%VTFR6msB?m5xqQgP8Lr&Wb9L8;nNuMEVqkBMi#T$^do!_M;`nR(Lo_Uj?zMxkDw9z06>`V$=!%Yvx3)MqHR7x9eSr2l5<@6p9AC^z zcHRz#Ex&iNeU{*=Rj(nHEedar8AvZ=1QdaDu?C=)KqE;?0MwzPnP;n>k0>a|1ypkB*amP zYmSb>GtASbN_;RJgicN~zzlicN3ak)amFU3W>AWq7Zne?j=_etdTdmAu3EM_WCjFN zq@ddE!_1}-Aj1sQg+Ex+j93-)OQ?VHd2VjSu--EXtT=MsJuE0-k51`RHlI`xvR+&~ zX3tgVOMz;Fl$A@OmUnU#!=L`f;tP~f8&l2hfOr56Lg+yqiDfs0w7t+=1=v+$_T*KLXcFCbUs>0Xcq;TM3l}*knOnPG)9g|He$xZdO)SGJ+=YMrHT57Dd_%)pJDeV(LJg(S)L&*28yy^>S&oUQ_7=(G*^pN7V^jEx)B~>! zr#cdkT3j~icZ?x{SPI=N#GEAUHXNV;E*K|Qt?Ndb9ORkHXr3s^Sr@*a0r(2Yb(*;M zI-N`VFbY9?01pX7wt{k_lJz`B3~NZP4ysIa-B1ZJC7Q&R^LT#Qbd}R5##-`7 zS6^*9Em4mj7h;P?SrYLAO8UA_K>^-T&RobeQU;rir*$A1gHYV-f+$iyou4T12Gp73 z3+fgi_H!3R*KrEt6M|8X1zC^;B!>IzF&=gcr?mEsIFchXzAK7hLK<{>x&7luh>~l% zCe?DCW@#x=*MWE=rxzsbK$qky2!Q03kpxq6IrJy>R6A{kSVAEgxJXk2Z??ItTTN5L z*h;GBituJaaBv6=7^66-58)iBSHi&V(wpMSE2I1Sik&GK zED{N(2pdIdV4<>2&9S;W{E|aDn&ed>gXkuQFc=}B&0eecE+ToL3O~m zR2Zb)!SN^9zkx_9m{GWl5c90D0_AYk>d0V-OQsKWg;az3P-T|GA)C>PBoB0W<9MsKcvdMPzkmaZ*1tI5PgqACn| z-Kk9~4z%RAdZ!Mf0tdn`M-m)#8H$n%{J6$uZOa4GCMK*0Z z3?K_WY8BE*!tT*h`X9r*EL{w7ROmntUVk^Iy;HYl7xQBIM#RZf=dy#WfmACNyfg8wqV zWht&2dA?aH+o2(&>36^qRxVw-1IVAQM~ZR976}!e9lP@zDtH9q0a_~vr1apGUahQe z5L!u+&0_((o}+|I5OB>XZ&-SQqc12Tl#0Msax-%>j|tCEe!pwn&CI{?urQYHH{2T! zNr#UcT#Wk5;!37qM%e=>J7_oq)Pi71tv1)Aprf54wt%VJWG%iOqA)RR04~dN$C3+` zQWA(3Cz-x#Ij#?(j^V4AbLXJvGK!n4Q0LCo0ltPCULORPKqyar?2-KqoL9%aQ{2^a ziQmZg9`77Z*B&{gl`6;CS{*z_piCSlbg=4E1IMi|x9kiYHTJ*PkJK2Y`$ z7?I+?yZ&|xOv#bH!et%ij8>Iy&VkM!O|h#NwD@S(mcD@yzcdZ zUAr#P^hnTslxW&@`Y`i?f)$@fgn^|k#K*#enl08%3Rg0=gHUdOqyl1yumZHdSk_eW zc;a^6SGx(=Y5aR;dG}p5qGe^pm7#~&h(NhJzxkWh!*v5`F!~1?axgiB*R2ZO8=(={ z!R@8l#mCn3o!YZP-`jB`dN0L!z=jtHYz1zN=3Di1B+?bpwkAAS<*u-IuSNfS@E}H7 z<8WRsjGmXyto*+!ui;*fQ$A(<=Lub1H|tgK@Mb055P-t9OROh(Iz*eJFs?9W{{0~x zWrT7QvdpF%(aeJw7(B|QxX~`x`6>a|C4hIB4(q8$;+;$8->FiOBPcw68@Lg`z%&;h zggF6N6X`mHpkjb=Wl-9&R(!j$nkhL4ca+VOOQ=b0KEKCPQK^dWGR@`N0T=YLSgFyY z$6dv7sxsc_vGc5gN;2wy-(`W1@yV$ zVeNUf?gp*9tq9Yfc=rOIz|So)*sfF0^2m({Hx8$|wWlkMD^^|km$nNH^fNR**>o+6 z#ZoDtP-gO@0!^o&-+=5OHYme<055Kyo}uXIA$g}!5ebkA7Q)9yBC80RA%qQ%v^MCm zZ&79goJ>fsNqim;2%TC3aBxlk$Y9Q$d#DP7-)(5=Cj5uC06@C9LbO%co{P7gz$%J5 zu6|1WQQya`kNOtb^KUr`ed+o={y1ZTiH4CKk>mrLI* zk>4`=mjjKqEZH26msc2eKSmblDvzyhTF#vfyFp?Td@p}Bgrvz3%sz#;4>IM?-I+uG zskZv6w$=`~lqXD?>x+UDVSYz+bA9k>_>4v<><%0`a^yx0%6_sZiXq*(x4++g(^eK+ zb>7{5@`q38irbcQhM)K53oYu;+jeo+@dVwnkl&KGIG%ZUQLPBKi}2{}>^pxGta_x9 zr-?OPH0Fv_z-6cN_tM#hpyCNqmjYeLKFNR)gtU` z`>f&Lq6-IP<`il^LfDDTgSz!3C{`$mO!_Py`uUMdh{-0U`9i!#;L1oPsD~Tk4Dz<3 zfn?K|C@j{Nn}tm1d5Ze*5FAhb=nVZ)ijo<2U;RWV zsvgbfq+g$sCNufaf{)R2uel^T+#4Hm*YD>n|;V<)v|4)dc#gDZM$yu5NCA zkROpDmF$M3_~{@{h~W)LtdA@7f+z+U=`=|~PdgtTV~QMu!kSZTV0ow;vZAlR_vAS= zrwY&sS8SHL7y@6B@S;Ja5bp1dSOXy+$vA2xccw8YzDu=0nw6R9x(IU2o zJ_CxPP*VRFFkOP8*T@=sz16RSyI88mZ;>X)Zbg3**$$peW68GBcGWOL?@wIOTk~f^ zEkdSx^4AJB!0Se~TNDKj+BF+CY@oq4Tx(QGBzC;gyBzU{Xj|1GE(KPe4@nDQZ8K{2 z!=Q=2t|WtUQqm?|2It!pn=%;oP{ck0G*AG#bJw}Ulna8T;E^*Fx`!U#s}u&xK(h_8 zmbnX_!-GOI_fA8fbn7-#PX*tt9)8KwL{y^8WcR7=oe2;NZN(-&^rNbYkq`Fw=Xr=J zVB?HwOFchsVO=;J<7LgWNH>1D4Z&ur5CRK=Cwi*ffd3btR6p_OO{%v%0w zAw-m|6VZywabVSCd`S%T6pR)fYaH+#zYTYOa~o1ohD}8t?^two-Ud(ae25wn+we6N zu6n`G)NG2*%>&LVy&>G7Tme|ZDM@&ZcrK!nfJ=(EVA68))N{K5qaHsC?BjT%|7Cqh znxN-YiD?7bty(QQUKNgpPw}{(yzlZg9Y9# z!GF2B{b1)A$jh=fzRb(ZGx7xCFe)S0ihYE<+_(Hn|#6%Y%= zFFL*m(|lSIGkN>rjx}iXIH#e%MLQQ%u#iFGd=q$r7tN#je}LJozr17XC)`oOT_3)R z=NI~)y6bprJj>*!O-EhvxxU2pp;{@LjA247#PPY$=QXFg&qFyE= zC~vE(7a{UvtZE&vHj>@Tla(iJKlb~vJM{(aA+@cCY|O^86lapP&aws%G#@{dKAMT9 zxNe?Vi=g^~gj!cum+x-CeY~rUFcy2Z(V6hH8k>1G(_HS1dySgn=h=!>Q^@A*8Y#47 zr^X^2gbT!+-~9vI{F2R)9{E zFS_N5MXh(D?u*$0)n|qRPQ+sm0lYO@ABcUxV-gBAYe@$5O$ZOsii{*=kN@(Ye@Z^x z2fuS!4-AVtJthfzY=yv^V~{f2($EfQ-@|3Q<0Dj*hN2M4bU;r}?@rwU^!jvFjrILo zXN9B-YxQPbuX?+=G`*W&L(HT9zIwgaWLlPCSS;#};-z&C%bFVanmXH5j1fqTDfZr~NkInn_Sha=)g zzlZOxlaSs5#r)K;J}DP|cebKQtuwQ_VviGDC%$1rzL9#|%2c5D(2*l^!t~Toh;bJp zcVLgrGKi^|Fi8JG3YbvVj<0ryR+(;UVe~i$5$U#unckx41$=)TS!Y;!w^5P> zA&n%#r0N1xlZ5>M?N2DMxwy5L5p#Qdi|z4U61yeNV^~jl8^SQ-&E}|{u%U5f=nb@( z`{fW&+el|*4&=|y5tgAN zcH*-Lbu-aFILa$IU#!W+nclbdd|M)-7CNOYZ(t>wnFBuFC}=l*VO1; zht#1F>d-ZWxH;V-qr3pey zUugXB;9uW_>cPR)>L%qa67Lh@67CD1_BIpsomC{hrmwH>%)r@oq+A!9_^m^s$mv%B zhmeQ~oxn$bO0bnKDJPLz-dB#`|%On8`G{mFdjgg@!%6}snKQ}W1 zUZ(U6Qkzi1Np=PHoAre)E4H#yH(6|7%5+LA#(mpe&ccA;DBTT0nx@VQ1o|J}1H&Q$ zNghyp4;X;>Y7#QKuiTB+nU@Nrr}=#NsA-F4-qXK|f?t`#iLB+)9tPvIg)!#frYb;OGvfHm?Q!X_{zFi{8B5DKV20CEb+ z0p~LhzJw+`k;a-jIwPboj5-&n8E#3XfP#q7eCp`jgc=&g9k-h|b+U(FZ^(09X^+9C zcZ}vScbLk;Z`V#zPuQV}3GvSHm2}2>-y!Ia?1SD-YZ<0ej{ZVukf9YIsa z=gx&?tL$zU5Eaw8KIr!VT5&TXo_2Yp^&tJ@09@&uhn}7bsJNU~6AM@qKmQ?v#tqKh zN@)-^xH*dp4|?J`6UHX;&Q0TI&2yb9Jk~+6Y_!K$%psd5^hFf8f(nABg-|GoXy!u9 zg@~i6btsfpUQ0q13pVuKgAwGBS+FaR}iDuVHVF`T@V#%aLC||ASxQ z9ry|29*s28z-K~VoQ19hhlGbj939+mqk=99XMj0}EV+WzRR8abwga)?@2hqB>#sM6 z90fzpGOGmFQFmiG?0WS2MAGTU1hr))Q6G)xi+#nE#um`13rM9@@c*X5v5&b+W_Ll!au~;8zPVg4 zx)E~Xx47LM&rOAKlale{MVIVRvb2n8Ub6k4Ap}uEIe_|<;4FyY)8y5R|2HTGzTWHG zkiZw;F%eoeuuNEQW1pY{fa0p4Yw;h*6lq<|;8#EI9bZ^N{W~&=$b27DPgoxouO?U# zlpv9(fEMJ=FkcuKg%oFbTl#+^Ko&lCnL~pS04EH%3+1VjAvhfG{UJuG6vMpBF?pMU zg=k(G2n(-V%zFEUYkB!U#14#X!kAORRsrCkiq@};!$sN(&7B51QO1F;O^cKtYG(9J zWL2Od5{p4L1B7v;Kt|iNrd_Tdz3>r$Ln>J5DP9*QOvcdxx~c`r;4D$@KIlCt5JYXq zHe{WBEmYN731W422W8sg$)>xAY!(7CXFh?wveHva2frMMkW#Y#2+Gk!#H~YZ(|db* zK4_D&@PB~_)NbJ!0hzB8EaUTThvLF-t-e}!g-O~};?J6$+eg}b)Pk16DM#n(_L+6P zp9t09TbNNraX4C@AVXy+Th;hIuPQ#Y+r?ehD5Qw~NE<-V z+%Q$JTx-~Hcg|-*M)I-98rG1y7DdR4P9Chwe44DvE@-@d{)a}o4SK=S0~}?TJi@Wz z$SILcyZg(RwMdrhqE+0m1~yE%m{5lpy6|s2sn{4MFw}Z^D+RT2jzu34Ljp2y+u?m9 z#X=Be&O~DTYs;*m?q&|ahH?FRRIPS$z|d9 zo*_dw-1+g5Fsy%vBTW$>9n*Y4v3vjlR7H?1dwMYJ1MlEfV9I}_+;ejfD`5AYg=pks z`D678vx00c)=a7o3S}yzk?*;%2jU8A3Z8yzREqUFpnlo1WqOdTlCBtHisf+f<5-BclmqwwGD(R!LyanEgpMVQTp_nz#D8~IXmG2_F)1!&Oc)5>Hn02TCphD!>~ z(}o0^W=kSwUFD26HD6TmRn zxuc^)#xl{-&&;PO2gjPTPGOyKiva1ud z?cdBhaw|Xu;)G)ZVbbTv7By3A(z2sCEU5?JQhTs;!ii{LoNZB)ro8@KfYTL0qnW z(d=PBfXM3AIYOPj$Ns_h?4v}!=hoS90Ge69_F}$Q=+)0t3RN@?vt{`AZ=Xe-B4+Do zbmh5Un9}>|V?&gB-iVF5BH!%;bf-ll9%YC5sUQeb&yrSg{CL$ZDulnvAe&)d-a?q` zh;>HW69Srx+(*!tkvMsr-p zKscJ0hZM9>0Y&pbrv<$XYSQac60&7? znn|7I{`pS&|ECpIT>r0exJf&k3rd6*g=lbjcV6f>|8%}z+|GaTPal}tUvzG-<0L27 zP0xG1a(Uk*cwG3I_a>z7!p?CTO0n@1C(^`B$}LfQ50;T6xGPuCYc+#0v6|ZK4rVjAy#?L$rMW%+S5(b~~rXvy3a7 zRNGx1C)>3QpKZwMNcCv2eV}7=XUEfe%~r81|D%qseUQP~SOse#iTIs#pcEwu8>ujC zC7`fXFhE+Z$N(;!vK|Doh+s~cv~;PFr<+^t*ZD=|oL^V13jJ^!JvNc?WOf2U{kZ^% zvBp-4BuR6Kk{1|$$}KwCW4Sw)7jgyI;Y`q_MT^dFz#Pa3yr~*sWJR0`uquA|Ew{O8 z_Rz*5@BmKE`lGFH&^PTIizYQIbfAqZF;eHL-gp-wa2ocp^C&`2gRf|U_dyX=3uQ=? z%TDS2v?)`b@M}FCzwIdgIEvqAvqe@Av~B;gq`ra1;-SBPW3JSf0#c^H@fW6%co6&U zS-&u!QR$p`I9gT98aNF$yCIIeO4`kh$HFtm5XC$VOh? zV`r3z2<{$xIsTv8RgvgrIAbSn?-*QY*ZYI}fcfS9kDyr3xi{q2qsP0hEcP6d>p(`M zgfnG<+KsviesKduNFmj4k+ptbIx$>;zhc_pN3VPoSq1SLTQ=2ge<^vG$@F}ioZ#O{ z;~=woB11`R?<2InthK|jQ~u;>-8p}f*Wsx2$Y0_^cro6{#yx3XhFnA@cC8SM|0)GOzb4$?g;locT%%N^E zYs@|jyEq%Z3kwL^v|S*;{RBh!8`2i$$v^{#OuftUImm{zE;D_(5KY@2Y1AnQR9rnn z;(K3mV)TMu1XGZ+R}S(8j<;Q3!;;u-j}Yg!_IC&T2KfoJmy!~1U+v#Z7Kh;1Fo&g{ z+cNl7nfi*=@jJF}rwPBz!cCdsKtc}T9w{`2y&g>&sedqN?JYEEr!mM;j)N(CnrEBE zD12yNSj~UyHU2+nTXhFlkFfVR(GJ2;$GR#YC5n1n>@y@Kq+~lVj%c`7A$cTZPZI2N zKr0?#)-~^4NQdWz?A~cEhX>DPdFC(3GW23z!eUAC2ol9i&P)3*?`&6o89Eeh zGqu7puVw$pD}r63>^;A$9asfFj)+8fFL2Nv#l(5PcdUgV6aVYr;a`56nSCh57k@CvQqEIp#qAvxe;D6LuUcmn-rQ8Z$Pez*g#r@q6zo>l=LKXQ z>s({u{OQxD^+k;3TUJ-3dH7X$>hO&*sW!Y5r-|hKjHNv0)=^JHz_r@DmzQYs&J-H+#{Zvk;Up6%>beIY@Ppa6-Wi6B1C#! zsy@_hQqtaTZYtH0fq{WanBtH%ito`2e5ZuYvr)C{%yi2vYOK4=t7=1X6wfTaDembZdeMnbyZT80t>WLMHnl7wjRoZ=bho=f@ zmJI}(t&TU+SlVQ8@XE`Ka}xU&Z@nC6*ldzw;+&`pS#IG^&L(mKEE9=QQU}LUIV1j- zdM)3_cnfD}gy?4RIbr$*BQA_bMUZsFNxO^^YP_bkua~#e*}7)w{yLUrBEc-LY`wOVvZ>5){^L@8mh9e|ni064-V8Uo)u@@7_xo9+DG^?n@_qKtT^xp9|g8(qnN?SW6HsXL6@7%K;#Fl=^ir5mrzV}F3%(YtW z@HCxU9h;2Q`h_cA$$qO(%THdm;t4haeXs6a?ic!aJ^vOXwVLk*JcfohBV6taoT?(Z z74vIEpCvnf-oYJFb2(CpiL0lXsZDwLQskB5c`k!Z;dQM>|MYc`J6F{PnwEBxbO8l< zc_pCUQd!T%zB}zK)*2<1@{_U0KWg+AE>~Tqr5|s0Nc5xR7H{wR)duLu&B)$rTF%{ zw&!Mb?r}292}Acc^3~`+u1-hA1f3SogV1;79Y5RXdBP^9i&aLsTIPk7OL%J_XT!~f z0v$OfU%08fp%lLvX^bx)RXQ>+HMyrMkrJ$~5YBBs;kCNAYhq0@f53I09i=fbf*1QQ z>X)vrDNUG=G)kB8-hMmpUUsv$OQ^Z@=VygtA%W}!SHH2t?_!&$|2TPtxrS=(;jH13 zN!-DVBkr{q&W>^r%#Ujx`x29!vcWM97 zmN!9hAA`7APZ@PIZDpC?G{U^Y{9Z$dKUpz*Q~<#IweO)3GQr_VzjHLh_cDL($dgpG zjveI#nLnNNY((M9{Ej6X`41PLmHt0G(ce9}SUvxTAEqn;+IVy8J+1oZ-#CARq_88u z*oO3cR9>8s{F_Pt{KSdPmXxf@`{k<#dG3k~sLwF!@FB$$qxT@)8P$~_5Nr}QvI-S- zKg(CXPWY^jpK$Fa*eh<7~;QTn~Ve#u4){_By3W@9=tq)s+j&AhApZsjq* zHXz&o4azVfIi%h8A#UCxdv)xGYtxa#x?iS~nUoFG=qYR{WXGX6?t8pc4B4F{Z{x`< z$NRa!0Lekl?E%#ko%olD3XnW9@RwwuzbCJQ$b-KzpIfcO|_CE@&L=|#&Y zm__-s_X@=37a6I? z+{az(mht@?!&CF2s|T2&G7ebY3u0FhGGs_eac}*BG)#5F;g0^YlvlrYuc^BF$8vkz zrr>6A%i`F+-6p!Q@#%#EVQa1!Zn|p;`sB2pH`r#Rm=O~$&jGKqIBhK^qLdyu9&NRy z-u6bl_?ObpT^3ShrI|*bTMR41?%3?~mU8_#B;kBF=CS=!xBdF63*TRT7i$n9>N(gQ zyJSil??YSdco)$j3J;0cdoVXDimgrOZUZl`{8|d5^aoMFW4gMi)^!pPh@+vQ?R*{A z?ZoUYzi%y-IT@?wF4E%NcF#zoZ8##a#IEd;u~q1wD)jWEN}2NR&#Y_yV+#)9E{ftW z3Q^5#hzCXx%fCq4`Z`XC0V$sIg(Ur!SR7e>@XqAd>vc8af7NHou(MXGk392&-q>Q7 zouhIgD)_3}`HkLXADS5@bn3`ym%{bb(fEeFmJ*9^dgjcTi+VsWd1|E3+}J!LTR;Gm zTpD=IQU0lVOwq4$n*xNpcKL*a_8WOAn?hVxr~df2V%73JQ$tkLj{CeDUitL;nJ3#j zU`xhr?NcnvGsoj;M6`A%A@zSt~p>blD(Tc`e^n6 zYo#U69(-18*S;>ee)g+nT8l0=udGyGv0T-2a(Spf{$(xD)2k6g$&!<%JRCF4{mFeX@gWVaD%=VV1B_)JvF*)&ITy6`3Qdws1L=FespjYGPCGg($7 zM6=~oC1Xs&qiBFNX$>aTVlch&#k!)?-Hn=qi4OD^6=HY~81SDPm=JX~b8z$s%oLGo>|HNr#;`%}M$y{Q(kOP$0Dp>m7uj-3=eV zM}2yryx!~X&6)Zs70;whL|Li@x6RLYu>303TSK#w1S+2{TKPliXT*Y8>R=@dsGogp zHAZ*QFY86T6+yQ6E!$y!NNdbR$iVmIt;TdTUJcl~W%RzS>6#cA37tc82GA_tOH>d4 zU0I}#(PH=oZ(j^lA2bdLibZzdG}ji`3<+R0#Kd^*GH__#B0skNoIBp3gB9m!{;UJD zMynfUI0&bWd==py&57#I;#njARNA=N$e^<-ID{FKmNke}!ts|^uLZKXJsQn9;jgbd zXrPknNey->0H)MI{V}GZtQqxVO!zR~+qiCT(OALoiEI_yh;iYS>a3A}0?QFoq!$W; zr^FeqO)u}Wh%-nu1rMjL#G{Z*{_*4>YP!9xw{w;xV5xlb2-VzPbvoLBw#nX zYbcFy`pa!_%fJg5(}s}N*D|x1EjV!d_dk#X^=h_(xB>^(?#dx(` zQPmOVP$l!I-YBnxQoaxpAsRmQ3EWQ~bQffg3Ic_NWR*T7C6fyoQ9R@#1!hch0Aw_H zo|P5LM>aNd)I~!nw0T0UKx!FaD@@ow0t%xRO8mX3z{x%PNQpUs%1I-)_&byh>X41J z(Bu|!gQEA`3t*GOq;(T2NKQQU#mrBc2#tKC4l1H_OmJ2OKO2zkFo*Vi#8w{VfV9T&g%SQc_kunZE1P~ct=&FLyt}@ z5TW^77^Dt54})xIa665qQiWDJ+p`IjwFm6h2#Lh+VG0>GEBs+r0A!m8Hc-A(PxCOb zJWkWWVH?+E+1F1tuf4l|#+)h^s|6KPszA{=#e7tVVm}p)jhn4_Y6>gRpC-89&N;q= zQ}yMG@sx#|3vMI1rwyLDdC+=o1j#g2?h+W?Hv8djd%rrh7=t^|M4s5Q9!SZt-@G;# z_8>#ukWx2dERgJYR2_SFP#*~s_N*72hwm2gDSP|^QUaMGIe|NrE4LosG|Q{$mYPvy zwnb+X9$s-MXZ+&5B2O2@MQSultP27p7Q#*4JWf=$|5oX(EbuQYMaJ1=Did z6(``}@t6LXz?E^cQ==WSfP*;bH6S@J_S_C!uk|R&4hSw=x9)8q{5GqNQ0WTQNx@A0 z3m=~@zWK(Jzr&xO(b5C^fq@NlE=qdm;8xuQT{u1og`IP0Y3cfuU8(ah79<08yy2W& z;l6QoxTFU4dokp;4FMAKwQSoiwjq;g9$?x_f)AiC&w%#EGpifN!4C)iB|-8N>xNHU z;VdO8*eWxo{6*n#u2y!Tan{@kqnET&ReiebUM$*dEA`2hM;w-;-SsUgMs{g4{|!MM zP#QuRP*-th&q4GnP0Icdheo8N8bst%Z5@)HaV7GhkdO*(L&9rJZ9kd~FMCtjdA2Ah zcHt&7Tu2FN4=Dn{Y}nxrMBs4uyuN?U+la&w8Vu5W zLF;hhfiWl4pI(0it>6FG-gkIKeQsS3DlrN|qC~|4D5$6-2q;BqHV{EX6m=+;&_s$9 zQ4lHds#s7Eb!c`0MFo}KF%oG*Q9uxfVqrj}MT9}hFyB5TdGB5C`>pl;0q;k0v(^=1 zW}e^koM)eX_Sq+b*XlPR_w*y-jRN+gma8h_N-snhjTf9noJ#Uxf*vM&Cm>4p{TeLIK=)!AjbBbznB97sjCVcZ;YR*PnVUxzd<$=zSy9#Jdzx3yz83J!tq z$5j@dG&;8lB9rO1lhLq-vZ_%y91UEB>9dNXdgaOFPl1LR?+X-opUZ-yLL!Wf2viKV&XJ2Iqzm@v9`?6^`R5G?Ox$g zUTwMGqP$3xdccOE|JraSWAwB(qh#*98D>9)iH3=`E?N8wL(!aOY#3)jrol=#vMQc^ z584~e+AN6EV>@N%sF`CigNHjXkWG<>Aob%+J@n+2u`WrLTta2NlLq?%cg35>ZQ*UX z<+SZg^-YC1URmiC1;UfCg1D=#qeC^F2A6beX?b@wcN6_}VY5bjQ6pF?|1)-Ip9G8X z=d3=4++q5b{!IOuVYec2zBaQE1qJQMP0$=^*AS2CJj+ zX_QO|$~6SxY@+|#U?yYtN}S)z&(P2hZQVPLw9S^{s8nxAE9Wb{@q%>AI2?5}vQW|L zwnbrCV&L#wbc4c_SKerjsvWsBb@#muI{C2(Pf36?Y1(P$-ABXi$LDPH!%g|Yk&fyt z?JaV)NI}Vrtv2KEz9!%H8{|umkz5a<#QuVrOO9urboOg5zWtz#6IizSlsh9Rcil`z zt4<$7%E3-VzpZ4#`(?DpRPiY6mgaa3#iTAV9G~oM?2AdR{98a|UtWzNQKrFo3S^2z z+V$=#D!O7^U6_giL?_f0X(KbsEG$+>nv`%gYocywLz8H7IB$Th(19U3+fkDB3JlZ# zfuv!O({7{D0W<{?mK6k7sI*8Gb!?#oj7EX~YCYn!YWD@(3FjZ?j@}R1_~T?847}xL zc}e{Pn`ScXE;1QOznY5#EtJR9E^|KQ-dU~*=5b73W~Qcb7Qzns7%Gep%0x$-_t%e` zjOrz`VMzOQ-`#fHEfK-R`*P~ZdjQJGa4g~C1nVqMrBE@&%~0Ga$5bpfBAsL5qDKIt zU9x|cU0q6-6YFLm`T(zng~`Et2{UrOwTaL9E>u6<{1`&9FAxX6L6|~mdl5;i&}mo= z0igwsC@mO@?>o^tE0A%m#75bEEkbzp@{a%|zW-t}O8ivk#cHg+?k7=sQ5p3;x0VaI_yN%iHuEu5SmwLkR{h^jw>uGEsVK% zMr#uzu3vYds(KA9ooCFReGtw=CNMPXXelUY0IJ#`fMLw5&8mC%?sb4Pg3p7>LXET- zkJY;66%_vHYR=gxY$r5h z9wrlB`BD^-YZMd|_S|fNs9bv0!7wLOdJ}+$oX|HRtrw6B?RIHt{Dh*}w)rs4q`}|R z)4=Qm>ZIFfC7dn5`koA26u2qQIa&1`@^et^Z^YksXrv2=;2h*!M&=fLd>QvR{=H_@@G4be? zc7UWs!n-EFVAtb42lm~Jjy?pt%4;7=cR;v`?eCgi{G(kl@Q9u7{55`C9VZu0YGi6P zRJDWzmd)NkXWGV2B*?jBVo=Cs(c4eu#pJ{?rRi=d`HpVG6_Z10oDnY_YMzj|Zro(O z^Dgpmsl_9IF$hnvOnYd5)Eai={yM1qdqy76z}p}B25Dv0Yt5j3&*dB4-#{eLm69jK z?6f^M{g9b-+tO5_2JG7`Pu_VJ1Stu7p547{htF#dzr3*aPm{(!E6*ovELLx==HmAb z%RaZ5y3e9ZXZinpvt!vRq6{fd^meCRMS!<)^W&BMVyq=6Cue9I1wo8p%!*v;p_%Wl zB85Kx7RY-02ITu(NX42k#UeabRBUEu+I;@Al>mK zw{Od(;t34JOoXPB=d>B8r?433)sjIcjo-HT;XP%DI7hR(5wMxO@xI!5hL`5Oh6k&> z5w+q&B4XG0?%NzAy~Aq@5pAKY(jRQ-KNR^Ci>G&0ciyxDIeR-bkdF05EOT(WcgI>hS33eDP zJT;M#d4|bQ^eLHW_BKrPwx+yT(4+B<^;WDZ<=9;h0OPXo)fmuji~i`dA?W_tqTD zspbvMU9zou;L38xF@8pYQFw?7u0xwnq zNV)pz;u0M5a!BDIcsy)7nh!kv3 zh{RHwX5rna|3BVM8LrF2LM=1{29AC;WV@0)4(oK^KT{sgtyIJ~BDl?m{o0z^uY7*G z@OpG~^Z}Y#Z^~ty{vBED04Bf#Rr~jEr_n+Z-fq{$J^D`Nu7W)TY$M5yQYphI(5Yf> zgoziuAp_A5e=mnaC5c@;_z5^#w#>eVfx0jDVxDzyiuXALBmQR)fmamhBqk~p}tj(Rw%W{T$0UILtvi@1bp9H(|5fa3#YpOY{JR&X!DI)B_4F`hju&HY^S17#W1q-2;KF`-2%EARzQ|eKH7f zqn)!2kVx8~3a&|Jr=g)?%=72^@}0W^uK*EF+sbx=D*XBm1^Po4rn`GY zLQ+yAJOt3G0mMqYH(C%5%NC;&H}B>)BO_{!QV%!L*AF@u8d~+{*y?McKl8RlxT=7?Yvrx z8nOQk!oLmr2De*cA-w_8^RBb~}*4*O!B#-Ug<+FJ2nXf# z=^&PMOTc0bYF&Soa}qbx$;Nk8E#?2*|JbHMUU=S0B@@i%T^6-AoEereo?MOqG&;Xa zcXb{L^7(WirNIQ5PC2;ZcADoP2ifs(=TiC7osajtHi=$U z%7jw{QGjn<)a6T4UAc91cXq3YXpl!H+78M9o{Kx4$#tvT0mg1a-Mf;{bhtDnv!U;} zUZC38Qd@CC3xj|(nK*$ShBJfihA@Meas_WgR16qqf1pocBiR*WsNhl~Sm;FKnn-;0 z>Xpl&@4y!en%aQE1kI{}FMd;xJQ@keRE!b}e4CtzAV+^_c4vKhv1sE;z&FShs}j{G z{viGeWPa13ZvgmTa5AnQ5d?UnlB1N-g!B@9q>oV?wq$c%)X5VH4?O}xNvlsHs-9nJ zml9wH6Kny=4HN=a{^RR^dc*%tG>JT-)oR1jFcnN5Eo;q$p9Ug)s6o~w*)LC8-7zi8t_Q5~h&LgiX zooyS4o1|?pEa=xIIEUc0sG*Fw3aXa@7b2-9Hs_lk4G+`5ydLxzg9s_cR5cnOq_~r+ zGKl_fIRyfK3}u%IYUq;1C#t>U3TZjL1>o9FxFn_Z%NzZ&Z09Q&VNl~nd&PUP2mKNH z%w-YU)}U3OEIz0leC7Rz4$-^yWyV~XNq()72W06m@L)7$+wL6f)|BB z;qQB8R_5HpU=px8nmVbikaH$QiOqCGX$ix7$y^XGtH{Sx+N`AdR(ZDY*u57cj%{ zbYnF{OU@!@lYseG%84ny z1B{S5Mg{<8OjO&c_55h$*16E1(?k&LMb53?L=<;{wYY<2w3=XUM6T9Yg1!@TC=8gb zx-802{E>c(0Z18!lruGg0N^n>WZni~(pGbpA*F%FNScW`kG(B=)lyjl(r`&(l^A_< zS&X0;XAmTUem#uvC;`VZ%d3*|B4*au+Qu?6b)jw4Zt3FUGA2&`mx>?pTCEz`rl+Tj zZ_~Y?cjmDP2YPsT46U5Qc)2}F)t*LKa*{DY6=8e%Edx4sQm+5?dZ)%;PZ?1hnCKZ( zt>`mutf5s4@v{K^^VtN4Weun_JpLx9PN0`Ny*mJ%GC?PAgIc7$Vc&oXv8pRMJt1f7 z09U>ncf;R+8J8zDm0CR9Svugc7gQJdWucHw{1NVjWP8p-P?4DKoIoJ2v$Nc}Xg1ku z(F`OEb_4y2kqWV(%pQUynkpet*}Gt-G%^MnltKm(aI`}voPgBsA+mhx;6nn_?lT|v zB6(c^nkRsr_yRx*bJE@LR!1iE7?7C5<*wxliecUcR&U&9!Pb`g*#QaB#jq8fb*KAu z+-aO+VKM{_E(0*1xs6*9p0WPK3&ZQzBKwFF3J#_h=d7lFQLw>LH4ECKa9wty-((kh zA`p7+gOpK(>;R6=k3bVHi>Y9@Y`{~{{~7FfV95kGndG387n$#sfx<-`@mT*LM5Vxz zK_{|z&Mly(wf&f5q8of1PhTB7S{2*D>%pzD?dZz*vmxVN3oEJ3w%lj2vprd={nU z6>nr>a>UQ7(Kl1It?T^Rv+jFZaD=|O_;(VowF$YlMQ^_U7Nv-}AG@wOrg_vg61|X>c%BIY7-*&9F8XE1rpk#^|KH4tm?ZRxJ z%e*ycyD>rYCR#2}KWlK2=3CrZFRF%SNTRAD0yXHUSe8sEnV`y@`8P5K(Zw)pBONAA2Bj`%yV$2&5Kk)UcJv;MN|x))1so%j_Y*Vbvr-HlUrAW`??x@JV-@2u%( z-7}b$0$+-Z^tjB)Q?R8S(AF-oqy^k)JgyA-jgv%0wL%iH6VReu#2Wxmms|{MwCZ5Y zWl8`&0jGwGPSvsJYMxdW7Z;1mXlvHw?=Uwnho{1aej3o~0KDi5jfpcp-MlY56U<+p zKvh|5bcMqTjgzN9fZyl7|I%^*Jdf!Hc2E!l261Yn+M`i_!QR+ek(dap$Qk>#X7gJN zBd3MfkOOA41_gZtHyh*+-G9#ULodDcumCH4```jZ`Vto_T5$S@(W*-*X=+;IkJG7# zGgy~K3M5>ClhdCcMo>akN0Zo*&%MB}Z3wyQsKfAw!I7;-t@N0)HK4p_WFq_!3{&9O zas?iwW`h)&HH|Pgp~6!q=?9pkOj)d|TD{T0AR5o1L9ccMNfhQx){a@Day*`cb^5`k zj@cg+YTE#*j6Tt{y3ei zgJF)-^HUKMHi3lh%{2gN8^NowvnlVx8!YqG(G&Dvv0prjMz2FiJldXKLcC4EmM0E6 zWA8oij2X4PAfRgs-oV(c0;Qw*CojYF+%apK*0s6oUXXkJaHfFIwQ&=^|CglYJGehI zEyfES*yn+I1aZYX5-nF73y>aZ)Qr{S3+3hIx8lZJ(Vc^2uw$eXVOyG?hte@o!hZYI zV=BaDbsInEOrJH&QFo|yM)2Y1G=EV^coR>_Y*m=(s6_-J=oQHf`iJ3rnr?#iv@1}E zThp%s9A$hXb=^rMy+bH0rF0zwShivnOFp_O`D2$E;7)>e9C5=<}Lqx-fM9TDDV6|B^i@;J1N7U?nXVI2T@P*|fJb zRPGK8eb@sK6E*f-jOoYaQ2~Zv{)32Xoh z?4+x}$6b5l5Ca&-%5O5Ceex7Ya!6381?z%OnH({)d9K2#;NTc2piMe&=><0TxiTar zB|#4G`i83ydmSxk^6Gl4!qKpDQI7%f;1=(StL4kn7B~zYPp_lP?!`Ig^Yi0TnktCW z@?wmz88QCI2t&3$L1*AsLkhI96-#m&zcWWM#@z*t~W5bK(${W_TeP&UFU&S zB1;6Me`!n_szqnxXds>^wc%=Os|q7!L6QLuz<0+uoW^uxm*?c=U*EiS>l^S{k757u zHbMtGk(^xOy8+#j;GJ*DM!#O&hhv0m>`pPCBiBDYk)kv(QSKk$IrX1ih1(Ls9XaZ- zd9Y8a1NOy)Fk6;eN<(W$$5Kr8AoU$@fVMf?b9jclBjh7(KWUo4)L`s4z2)F_POz8! z-0%zuCuRY#K;jS_z-{|zZBJ$)j}Hd>Jd{t}JR0K%FzlT`lYd>7KCw*O0%+yw+w`&& z&~E^4n|Qw%bb$THN+0O!t0wk>#it37L^@dtk(;Dlh4t5$>e&K;02Wjk%uf3ZAxOP4 zE|(jZ?Q0K|YbuMjLgHts<_?+oBiKyQ0MG7j;?_~QJ&4EVme^Y~mHA9B~iQZ{gUokn!(cL$8f%&C-oi5&d7f_Ry zneKNsG^M7L#dWqk_ppG4Kz+Av3ype!Iq8AJkT7Rq@lym-H!tYTia zjEoGG9*+<9Bw~c&L#Q3xp7i2D*U~VMqd9Qk`79jk6?XB+oD3eSZi83mW3|(+=6H9u z)uj)1)EJ`4fbR*&LGBH~avwTUq>fQIaEm+# zsibg>I)Gt1S1}%$-8qTjO^&xZo)ydNz^FF(XwWD}40)ETSwq<+mZysciPa&b0(}Dm z70E())~@8N5nXp~`l40%Xz;xAV(nE@Rh~3y(w;IHnB*?))Pa3F&q_Mn@56;7{JkwT)_itYd>3oI#d7x*!B=-9QCtC23>w_WN9TvUm{_r>2GA| zPmWx~pK%4Fpaa>SSjYLM`;)`RJdcqrFn}LdAZ1Tlz?Lngm7PocV^Fss!GT0XCg!r; z!^NPZKtz%oj5hd%wKccQK>{nJPpl&Z6nS zG&+=q)f{Pi_DIz^hJUK#%xI?gJE%X1*4)GHZpzsWxbX&#?oD5oFI`&tVWJQmXH$M| zlv+n`%I-!jKf$CQe#mYLO;N8LW+zQHMfC$`@tXY*U}GwrLdh8%szvg0r@0$+10ac2 zx_A%&B~uqrv$|+Luj^|hcWEF~8j6XLki+N#N`mGh0imL=Z`pTQk4F}d;;G0B58!8k zk7$R@fzrD$!`FHM_em%ISM^#$+%x&GS8z)G4!6dF%l?$ndxCLb>8~@yanzsrTvsGh zdTNjNugI445q4{VTsLjpxW}PW63*Gs#nk~hC;aipMrqr5GB8$EdQ#jlB?vCLNv^@m z$-LR`Y}nW-Ph@+RS)OrLf*X2)y7fiu=8GdcK4v!_7ic9K(({D#ZBM@0G5Z(Xw0P6VYR zDHp)`qhkA;Dd zGtzFh-v?>i{&p%ARSPAI79J3p#GEN2qP)XSD8AQfF6Mo2v$sfki4bAZ}Jd`dhQ2kxO zX+H67YexQ}r})iV;WL)pMWTJ6id7)|aYWnWCx*T{DqG$3&`@mP}bzDC*> zIE{_Gd=voMpLRJkJxa_hO{^c^_oh|#^}A^}6m={>-$M-!*>J>C6K{ax`3X$M6(Jgq z^FXEIb6mvUYG8;|xHHhC6L5U)mKqr41F!LVf&^dI7VJ#2W`Q?IV{)^+?z5Hm^_ctF zhCo&1$O0M^qw^snBRY65Kc#-g2$Ahl3iMb{i?W{Y`zsf{aWdza2;+7TX;k96aN!`& z=9OlHwRn$rzVF4jXB{+Ci1rFJ0QZ>YYmzRKoG4=W8=rqPbC%uk$g+jUH2nm2?fIUS z?=(Bts)5oYvky}BfDm>@sKZ32qz!o>y|EMg+(H34hl%t{g~1*yYYjx2S19!HK*-Ux*$5 zaC#QCSB&%_sd#|Qft^j3WI2J3fx8`_Y~79eI7wxRR9n35W|w<-%-GzOJ;WN32VF~` z(1s=p@UqZXfc`=~LqU5Q1$CrpY$cS5PhX9E~x|;NIVj z!W_Csg~^R`m7z62F>4E$rDT7kQcT|W?>;bne%tNgg5D8WKfgw*)L*+}TUJy4gSU`t z;f^6)AIl*gIJy%XKclu{90ZUK1#E=G01{G~?}5BNVtAmxzZT5;05r*a*kl|J3#cOx zZiR>6ZEdxKjx)P9km3|1ehG+fY#tiSjwSd9kOZS}(NvqEGbdC0qO(&%JspKtW2$>+ zC=ep!?Ak}Is{RFk0ur>j+hJKq@?j?;I*k?NHGWnZCC!4=;WMb1 zT4Z_JXB53f=SHwSP@2b{U0|Div4m*cb#0 z&FHiIs{I092WL=_*;7V*(a;}ukV63`A941_<(zi)-o1PCO}kW6{xa{}Sv}D39;Ih@ zXF(Ly+aZOEctG$snA?uxqqVQRghVu3yVE*5AT$j^tG68Np{Tk+7!zJq8(!ArtQPwZ|$GNBrXp>>k{|?-)PmGzuou zriaTC_WUq^h=*Y3nK{pHSBu%^g23>kzzf9|#36CKYdi-8t8I(KM@Bl)6_cSIG3HGh z9M9}!q6f;>g=1a-H;wr%Z1@ z#b82+#^+yIeB`g$CsLrUE}7iLuztq)#S|v?q$mp{q(~Tc?8Zla{oF9PO6$U}gCfuzU z(bxiDlU}CRAnc`EgQvKRFCO|JBhLz0%+$Sc8#S;-y>Bd zXZK{D{+;3!s#gshBsgChQtsFI{nETYtk?x2D#c~DSuO?}OK?<2&YVPLpO{bJn=E(Tqf6MMSwKNflEM27x?K7^$ zkWWV9ght{ISYM#ts};wH?aiuC#c3e+Rl1+Rio^jrO#2fE3~ltd+QGUVB;m*>%_E<~IR1`U zu+k@Phjj}^qg5U;LdHUf18xLrqY z15wgVuGd3ti&V>nv(YeI0dA4$kJ3U65$ac!_cf12Z|271v9Jf=ysum65ihjDrBO3x z4F*XX`YAycqH!eMN`g_~aZ>-X^O5)1?@F?E3J(uwdP6(pN{E$|G=5E>eo(;ji3lvf z(NsL~*O~n1zd@sbD}%eR9)Ayg~+t+m6D=j$*I$)qYwwU+kULRS&o5Ts|t0|=JURO#lTU6DRYd}7<7@8ef$%L7_*fL->AD)dW7k}~gNL8J=uc&gvB1E`{d5M~0o{0a{0 zhn>4xqCDD}k znS%*YdHGbZFe?BJMg^zox8J#_Q%%bxV+atZ4NW)hpP!)4%NIDK%sKBSXmbs^>4%P? zRh?Mz_rw2UK3`22kneBI_iK_Fx4)C{<+fRAmE7-+s1Q`> zICiZWJmpsGd9^M*RKiS<@4$G{;ZdOD)GcA|h1jnqIC@I~IL`ceJM#U{0~m++5Vciw#hQb#>+9cp0%XoE=-P=%L@@!h3H7EBD982$J$}Wpv(gyQ zs2;0^iu*lqAZXN1fXTN!Ar{-V^Cgn*0&NP=4^Z4$f>4GHi z)Kdf^IldI(Mbe3>bXb436AUxp?{ zsDFRGmm&oAUtd8x2(bVA%k=;M@c)hl6X?Cad1cqTDdrCJ@QpT^ZcJLg|K$Gxv+sn4 literal 0 HcmV?d00001 diff --git a/paper/figures/fig13.pdf b/paper/figures/fig13.pdf new file mode 120000 index 00000000..46804485 --- /dev/null +++ b/paper/figures/fig13.pdf @@ -0,0 +1 @@ +../../experiments/analysis/figures/output/fig13_resource_overhead_scaled.pdf \ No newline at end of file diff --git a/paper/figures/fig13_resource_overhead_scaled.pdf b/paper/figures/fig13_resource_overhead_scaled.pdf new file mode 100644 index 0000000000000000000000000000000000000000..f1c6f908a6ddc28f5687949f345b041e7646a8b1 GIT binary patch literal 21283 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 literal 0 HcmV?d00001 diff --git a/paper/figures/fig13_resource_overhead_scaled.png b/paper/figures/fig13_resource_overhead_scaled.png new file mode 100644 index 0000000000000000000000000000000000000000..21eacf2fac954b6e3974ebae23e944a214b42dee GIT binary patch literal 199028 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 literal 0 HcmV?d00001 diff --git a/paper/figures/fig14.pdf b/paper/figures/fig14.pdf new file mode 120000 index 00000000..8b50079e --- /dev/null +++ b/paper/figures/fig14.pdf @@ -0,0 +1 @@ +../../experiments/analysis/figures/output/fig14_strategy_comparison.pdf \ No newline at end of file diff --git a/paper/figures/fig14_strategy_comparison.pdf b/paper/figures/fig14_strategy_comparison.pdf new file mode 100644 index 0000000000000000000000000000000000000000..75af18884e95b285ceadeae01619af41ad622e0d GIT binary patch literal 19242 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 literal 0 HcmV?d00001 diff --git a/paper/main.tex b/paper/main.tex new file mode 100644 index 00000000..c12c5979 --- /dev/null +++ b/paper/main.tex @@ -0,0 +1,48 @@ +\documentclass[conference]{IEEEtran} + +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\usepackage{amsmath,amssymb} +\usepackage{graphicx} +\usepackage{booktabs} +\usepackage{multirow} +\usepackage{xcolor} +\usepackage{tikz} +\usetikzlibrary{arrows.meta,positioning,calc,decorations.pathreplacing} +\usepackage[hidelinks]{hyperref} +\usepackage{cite} +\usepackage{balance} +\usepackage{microtype} +\usepackage{subcaption} + +\graphicspath{{figures/}} + +\newcommand{\ie}{\textit{i.e.}\@\xspace} +\newcommand{\eg}{\textit{e.g.}\@\xspace} +\newcommand{\cf}{\textit{cf.}\@\xspace} + +\begin{document} + +\title{MQTT over QUIC: Multistream Transport\\with Configurable Stream Mapping Strategies} + +\author{ +\IEEEauthorblockN{Anonymous} +\IEEEauthorblockA{Submission under review} +} + +\maketitle + +\input{sections/abstract} +\input{sections/introduction} +\input{sections/background} +\input{sections/architecture} +\input{sections/implementation} +\input{sections/evaluation} +\input{sections/discussion} +\input{sections/conclusion} + +\balance +\bibliographystyle{IEEEtran} +\bibliography{references} + +\end{document} diff --git a/paper/references.bib b/paper/references.bib new file mode 100644 index 00000000..16715e52 --- /dev/null +++ b/paper/references.bib @@ -0,0 +1,129 @@ +@misc{mqtt-v5-spec, + title = {{MQTT} Version 5.0}, + author = {{OASIS}}, + year = {2019}, + howpublished = {OASIS Standard}, + url = {https://docs.oasis-open.org/mqtt/mqtt/v5.0/mqtt-v5.0.html} +} + +@misc{rfc9000, + title = {{QUIC}: A {UDP}-Based Multiplexed and Secure Transport}, + author = {Iyengar, Jana and Thomson, Martin}, + year = {2021}, + howpublished = {RFC 9000}, + publisher = {IETF} +} + +@misc{rfc9001, + title = {Using {TLS} to Secure {QUIC}}, + author = {Thomson, Martin and Turner, Sean}, + year = {2021}, + howpublished = {RFC 9001}, + publisher = {IETF} +} + +@misc{rfc9002, + title = {{QUIC} Loss Detection and Congestion Control}, + author = {Iyengar, Jana and Swett, Ian}, + year = {2021}, + howpublished = {RFC 9002}, + publisher = {IETF} +} + +@misc{rfc9308, + title = {Applicability of the {QUIC} Transport Protocol}, + author = {K{\"u}hlewind, Mirja and Trammell, Brian}, + year = {2022}, + howpublished = {RFC 9308}, + publisher = {IETF} +} + +@misc{rfc9221, + title = {An Unreliable Datagram Extension to {QUIC}}, + author = {Pauly, Tommy and Kinnear, Eric and Schinazi, David}, + year = {2022}, + howpublished = {RFC 9221}, + publisher = {IETF} +} + +@article{kumar2019mqtt-quic, + title = {Implementation and Analysis of {QUIC} for {MQTT}}, + author = {Kumar, Puneet and Dezfouli, Behnam}, + journal = {Computer Networks}, + year = {2019}, + publisher = {Elsevier} +} + +@inproceedings{fernandez2020iot-quic, + title = {And {QUIC} meets {IoT}: Performance Assessment of {MQTT} over {QUIC}}, + author = {Fern{\'a}ndez, Fatima and Zverev, Mihail and Garrido, Pablo and others}, + booktitle = {IEEE International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob)}, + year = {2020} +} + +@inproceedings{kakhki2017quic, + title = {Taking a Long Look at {QUIC}: An Approach for Rigorous Evaluation of Rapidly Evolving Transport Protocols}, + author = {Kakhki, Arash Molavi and Jero, Samuel and Choffnes, David and Nita-Rotaru, Cristina and Mislove, Alan}, + booktitle = {Proceedings of the 2017 Internet Measurement Conference (IMC)}, + year = {2017}, + publisher = {ACM} +} + +@inproceedings{yu2021quic, + title = {Dissecting Performance of Production {QUIC}}, + author = {Yu, Alexander and Benson, Theophilus A.}, + booktitle = {Proceedings of the Web Conference 2021 (WWW)}, + year = {2021}, + publisher = {ACM} +} + +@inproceedings{marx2020hol, + title = {Same Standards, Different Decisions: A Study of {QUIC} and {HTTP/3} Implementation Diversity}, + author = {Marx, Robin and others}, + booktitle = {Workshop on the Evolution, Performance, and Interoperability of QUIC (EPIQ)}, + year = {2020} +} + +@article{langley2017quic, + title = {The {QUIC} Transport Protocol: Design and Internet-Scale Deployment}, + author = {Langley, Adam and Riddoch, Alistair and others}, + journal = {Proceedings of ACM SIGCOMM}, + year = {2017} +} + +@article{emqx, + title = {{EMQX}: An Open-Source, Highly Scalable {MQTT} Broker}, + author = {{EMQ Technologies}}, + year = {2024}, + url = {https://www.emqx.io/} +} + +@misc{rfc9114, + title = {{HTTP/3}}, + author = {Bishop, Mike}, + year = {2022}, + howpublished = {RFC 9114}, + publisher = {IETF} +} + +@misc{quinn, + title = {Quinn: {QUIC} transport protocol implementation for {Rust}}, + author = {Ochtman, Dirkjan and Saunders, Benjamin and others}, + year = {2024}, + url = {https://github.com/quinn-rs/quinn} +} + +@article{bansal2020iot-mqtt-survey, + title = {{IoT} Ecosystem: A Survey on Devices, Gateways, Operating Systems, Middleware and Communication}, + author = {Bansal, Sharu and Kumar, Dilip}, + journal = {International Journal of Wireless Information Networks}, + year = {2020} +} + +@misc{rfc7540, + title = {Hypertext Transfer Protocol Version 2 ({HTTP/2})}, + author = {Belshe, M and Peon, R and Thomson, M}, + year = {2015}, + howpublished = {RFC 7540}, + publisher = {IETF} +} diff --git a/paper/sections/abstract.tex b/paper/sections/abstract.tex new file mode 100644 index 00000000..7a96329f --- /dev/null +++ b/paper/sections/abstract.tex @@ -0,0 +1,3 @@ +\begin{abstract} +MQTT, the dominant IoT messaging protocol, operates over TCP, where head-of-line (HOL) blocking couples logically independent topic flows: a single packet loss delays delivery across all topics sharing a connection. We define three configurable stream mapping strategies---control-only, per-topic, and per-publish---for running MQTT over QUIC, each offering a different point in the isolation--overhead tradeoff space. We implement these strategies in \texttt{mqtt5}, an open-source MQTT library, and evaluate across six experiments on GCP infrastructure under controlled network impairment. Using inter-topic latency spread to quantify HOL blocking, we find that per-topic QUIC amplifies spread by 192$\times$ under 5\% packet loss (from 0.09\,ms at baseline to 17.8\,ms), confirming independent per-stream loss recovery, while TCP spread increases only 1.3$\times$ (from 6.6\,ms to 8.5\,ms). Spike isolation ratio corroborates this: at 1\% loss, TCP exhibits 0.99 (near-perfect co-occurrence of latency spikes across topics) versus 0.72 for per-topic QUIC and 0.60 for per-publish. At baseline (0\% loss), TCP achieves 1.5--2.4$\times$ the throughput of QUIC strategies depending on strategy and connection count, but under loss ($\geq$1\%) QUIC outperforms TCP by up to 2.7$\times$ due to more efficient loss recovery. Per-topic mapping maintains throughput within 13--32\% of single-stream QUIC. We additionally evaluate QUIC datagram transport, finding a 19\% latency advantage over streams at 5\% packet loss with comparable throughput. These results provide concrete strategy selection guidelines for deploying MQTT over QUIC in IoT environments. +\end{abstract} diff --git a/paper/sections/architecture.tex b/paper/sections/architecture.tex new file mode 100644 index 00000000..082ad1ee --- /dev/null +++ b/paper/sections/architecture.tex @@ -0,0 +1,100 @@ +\section{Architecture} +\label{sec:architecture} + +The \texttt{mqtt5} library maps MQTT protocol operations onto QUIC streams using configurable \emph{stream mapping strategies}. The architecture decouples the MQTT session layer from the transport layer, allowing the same MQTT implementation to operate over TCP, TLS~1.3, WebSocket, or QUIC with different stream configurations. + +\subsection{Stream Mapping Strategies} + +We define three strategies for mapping MQTT control and data packets onto QUIC streams, each offering a different point in the isolation--overhead tradeoff space. + +\begin{figure}[t] +\centering +\begin{tikzpicture}[ + stream/.style={draw, rounded corners=2pt, minimum width=1.6cm, minimum height=0.5cm, font=\footnotesize}, + connbox/.style={draw, dashed, rounded corners=4pt, inner sep=6pt}, + label/.style={font=\footnotesize\bfseries}, + >=Stealth +] + +\begin{scope}[shift={(0,0)}] +\node[label] at (0.8, 2.0) {(a) Control-only}; +\node[connbox, minimum width=2.2cm, minimum height=2.8cm] at (0.8, 0.2) {}; +\node[stream, fill=blue!15] at (0.8, 1.2) {Stream 0}; +\node[font=\tiny, align=center] at (0.8, 0.6) {CONNECT, PUBLISH,\\SUBSCRIBE, \ldots}; +\node[font=\tiny, text=gray] at (0.8, -0.4) {All on one stream}; +\end{scope} + +\begin{scope}[shift={(3.2,0)}] +\node[label] at (0.8, 2.0) {(b) Per-topic}; +\node[connbox, minimum width=2.2cm, minimum height=2.8cm] at (0.8, 0.2) {}; +\node[stream, fill=blue!15] at (0.8, 1.2) {Stream 0}; +\node[stream, fill=green!15] at (0.8, 0.5) {Stream 1}; +\node[stream, fill=orange!15] at (0.8, -0.2) {Stream 2}; +\node[font=\tiny] at (0.8, 1.55) {\textit{control}}; +\node[font=\tiny] at (0.8, 0.85) {\textit{topic/a}}; +\node[font=\tiny] at (0.8, 0.15) {\textit{topic/b}}; +\end{scope} + +\begin{scope}[shift={(6.4,0)}] +\node[label] at (0.8, 2.0) {(c) Per-publish}; +\node[connbox, minimum width=2.2cm, minimum height=2.8cm] at (0.8, 0.2) {}; +\node[stream, fill=blue!15] at (0.8, 1.2) {Stream 0}; +\node[stream, fill=yellow!20] at (0.8, 0.5) {Stream $n$}; +\node[stream, fill=yellow!20] at (0.8, -0.2) {Stream $n$+1}; +\node[font=\tiny] at (0.8, 1.55) {\textit{control}}; +\node[font=\tiny] at (0.8, 0.85) {\textit{msg 1}}; +\node[font=\tiny] at (0.8, 0.15) {\textit{msg 2}}; +\end{scope} + +\end{tikzpicture} +\caption{The three stream mapping strategies. (a)~Control-only multiplexes everything on stream~0. (b)~Per-topic assigns a dedicated stream per topic, providing topic-level isolation. (c)~Per-publish creates a new stream for each PUBLISH, providing message-level isolation.} +\label{fig:strategies} +\end{figure} + +\textbf{Control-only} (Fig.~\ref{fig:strategies}a) uses a single bidirectional QUIC stream for all MQTT traffic. This is functionally equivalent to running MQTT over a single TCP connection and provides no HOL blocking mitigation. It serves as the QUIC baseline, isolating the effect of QUIC's transport mechanisms (encryption, congestion control) from stream multiplexing. + +\textbf{Per-topic} (Fig.~\ref{fig:strategies}b) assigns each MQTT topic to a dedicated QUIC stream. Control packets (CONNECT, SUBSCRIBE, PINGREQ, etc.) use stream~0, while PUBLISH packets are routed to topic-specific streams. A hash map maintains the topic-to-stream mapping, creating streams lazily on first publish. This provides topic-level HOL blocking isolation: a retransmission delay on one topic's stream does not block delivery on other topics' streams. + +\textbf{Per-publish} (Fig.~\ref{fig:strategies}c) creates a new unidirectional QUIC stream for each PUBLISH packet. This provides the finest-grained isolation---every message is independent---but at the highest overhead cost, as stream creation requires allocating QUIC state for each message. + +\subsection{Flow Header Protocol} + +When using per-topic or per-publish strategies, the receiver must determine how to demultiplex incoming data on non-control streams. We introduce a lightweight \emph{flow header} prepended to the MQTT payload on data streams. + +\begin{figure}[t] +\centering +\begin{tikzpicture}[font=\footnotesize] +\draw (0,0) rectangle (7, 0.8); + +\draw (1.2,0) -- (1.2,0.8); +\draw (2.4,0) -- (2.4,0.8); +\draw (7.0,0) -- (7.0,0.8); + +\node at (0.6, 0.4) {Type}; +\node at (1.8, 0.4) {Flags}; +\node at (4.7, 0.4) {MQTT Packet Data}; + +\node[font=\tiny, text=gray] at (0.6, -0.25) {1 byte}; +\node[font=\tiny, text=gray] at (1.8, -0.25) {1 byte}; +\node[font=\tiny, text=gray] at (4.7, -0.25) {variable}; + +\draw[decorate, decoration={brace, amplitude=4pt, mirror}] (0, -0.6) -- (7, -0.6) + node[midway, below=5pt, font=\tiny] {QUIC stream payload}; +\end{tikzpicture} +\caption{Flow header format. The 2-byte header identifies the packet type and flags, enabling the receiver to parse data streams without full MQTT framing on stream~0.} +\label{fig:flow-header} +\end{figure} + +The flow header (Fig.~\ref{fig:flow-header}) consists of two bytes: a type field identifying the MQTT packet type (PUBLISH for data streams) and a flags byte encoding QoS level, retain, and DUP. The receiver reads this header to determine how to parse the remainder of the stream. This is more efficient than transmitting the full MQTT fixed header on every stream, since the stream itself provides the framing boundary. + +\subsection{Datagram Transport} + +As an alternative to stream-based transport, \texttt{mqtt5} supports QUIC datagrams (RFC~9221) for QoS~0 messages. Datagrams bypass QUIC's stream layer entirely: messages are sent as unreliable frames within the QUIC connection, benefiting from QUIC's encryption and connection management but without reliability or ordering guarantees. + +Datagram transport is appropriate for latency-sensitive telemetry where occasional message loss is acceptable. Since QUIC datagrams are subject to the connection's congestion window but not to per-stream flow control, they achieve lower latency under loss while maintaining comparable throughput to stream transport (see Section~\ref{sec:evaluation}). + +\subsection{Broker Integration} + +The client and broker configure their stream strategies independently. On the client side, the application selects a strategy (control-only, per-topic, or per-publish) before connecting; this governs how outbound PUBLISH packets are dispatched onto QUIC streams. On the broker side, a server-wide delivery strategy governs how the broker sends messages to subscribers. In a typical deployment, both sides are configured to the same strategy, but the architecture does not enforce this---a per-topic client can connect to a control-only broker, or vice versa. + +For outbound delivery, the broker's stream manager maintains a per-connection topic-to-stream mapping. When configured for per-topic delivery, streams are created lazily on first use and reused for subsequent messages on the same topic, with LRU eviction to bound stream count. For per-publish delivery, the broker opens a new unidirectional stream for each message. On the receive side, the broker's QUIC acceptor classifies incoming streams by ID: stream~0 carries the full MQTT packet parser, while non-zero streams use the flow header parser to extract PUBLISH packets and route them into the topic distribution engine. diff --git a/paper/sections/background.tex b/paper/sections/background.tex new file mode 100644 index 00000000..d82750fd --- /dev/null +++ b/paper/sections/background.tex @@ -0,0 +1,47 @@ +\section{Background and Related Work} +\label{sec:background} + +\subsection{MQTT Protocol} + +MQTT~\cite{mqtt-v5-spec} provides three quality-of-service levels (QoS~0: at-most-once, QoS~1: at-least-once, QoS~2: exactly-once), retained messages, last will and testament, and topic-based filtering with wildcard support. MQTT~v5.0 added user properties, shared subscriptions, and enhanced authentication. The protocol's minimal framing overhead (2-byte minimum header) makes it well-suited for constrained devices. + +\subsection{QUIC Transport Protocol} + +Beyond the stream multiplexing described in Section~\ref{sec:introduction}, QUIC~\cite{rfc9000} provides several features relevant to IoT messaging: + +\textbf{Integrated security.} QUIC integrates TLS~1.3 into the transport handshake, achieving a 1-RTT connection establishment that includes both transport and cryptographic setup~\cite{rfc9001}. This compares favorably to TCP's 1-RTT handshake plus TLS's additional 1--2 RTTs. + +\textbf{Unreliable datagrams.} The DATAGRAM extension (RFC~9221)~\cite{rfc9221} allows sending unreliable data within a QUIC connection, benefiting from the connection's encryption and congestion control without reliability or ordering guarantees. + +\textbf{Loss detection.} QUIC uses per-packet sequence numbers (unlike TCP's per-byte) and acknowledgment-based loss detection with probe timeout (PTO) for tail loss~\cite{rfc9002}. This enables more precise loss recovery than TCP's retransmission timeout mechanism. + +\subsection{Related Work} + +\begin{table}[t] +\centering +\caption{Feature comparison of MQTT-over-QUIC approaches.} +\label{tab:feature-comparison} +\begin{tabular}{lccc} +\toprule +Feature & \texttt{mqtt5} & EMQX~\cite{emqx} & Kumar~\cite{kumar2019mqtt-quic} \\ +\midrule +Stream strategies & 3 & 1 & 1 \\ +Per-topic isolation & \checkmark & --- & --- \\ +Per-publish isolation & \checkmark & --- & --- \\ +Datagram transport & \checkmark & --- & --- \\ +MQTT v5.0 full & \checkmark & \checkmark & --- \\ +Open-source & \checkmark & \checkmark & \checkmark \\ +Empirical evaluation & \checkmark & partial & \checkmark \\ +\bottomrule +\end{tabular} +\end{table} + +Prior work on MQTT over QUIC falls into three categories. + +\textbf{Implementations and evaluations.} Kumar and Dezfouli~\cite{kumar2019mqtt-quic} implemented MQTT over QUIC using a single bidirectional stream, demonstrating reduced connection overhead (up to 56\% fewer handshake packets) and lower delivery latency (up to 55\%) compared to MQTT over TCP across wired and wireless testbeds. Fern{\'a}ndez et al.~\cite{fernandez2020iot-quic} evaluated MQTT over QUIC under emulated wireless conditions (WiFi, LTE, satellite), finding that QUIC maintains stable throughput under packet loss while TCP degrades significantly. Neither study explored stream multiplexing for topic-level HOL blocking isolation. + +\textbf{Industrial implementations.} EMQX~\cite{emqx} is the only production MQTT broker to support QUIC transport, but uses a single-stream approach without configurable stream mapping. Table~\ref{tab:feature-comparison} compares the feature sets. + +The HOL blocking problem in multiplexed protocols has been studied extensively in the context of HTTP/2~\cite{rfc7540} and HTTP/3~\cite{rfc9114}. Langley et al.~\cite{langley2017quic} demonstrated QUIC's benefits at Internet scale, reporting reduced search latency and video rebuffering across Google's infrastructure. Subsequent empirical evaluations found that while QUIC's stream multiplexing reduces transport-layer HOL blocking, its practical effect on web page loading is modest~\cite{kakhki2017quic, marx2020hol}, partly because web workloads exhibit different dependency patterns than IoT messaging. Yu and Benson~\cite{yu2021quic} corroborated these nuanced findings through production-scale measurements. Our work applies stream multiplexing to the messaging domain, where the ``resource'' granularity is the MQTT topic rather than the HTTP request, and independent topic flows may benefit more directly from stream isolation. + +To our knowledge, no prior work has (1)~defined multiple stream mapping strategies for MQTT over QUIC, (2)~evaluated the HOL blocking implications of each strategy under controlled network impairment, or (3)~quantified the throughput and resource overhead tradeoffs across strategies. diff --git a/paper/sections/conclusion.tex b/paper/sections/conclusion.tex new file mode 100644 index 00000000..98172b90 --- /dev/null +++ b/paper/sections/conclusion.tex @@ -0,0 +1,8 @@ +\section{Conclusion} +\label{sec:conclusion} + +We presented three configurable stream mapping strategies for running MQTT over QUIC. Through six experiments on controlled infrastructure, we demonstrated that per-topic QUIC stream mapping provides measurable HOL blocking isolation: inter-topic latency spread amplifies 192$\times$ under 5\% packet loss, confirming that independent stream loss recovery allows topics to experience different retransmission delays rather than stalling together as TCP does (1.3$\times$ spread amplification). Spike isolation ratio corroborates this---at 1\% loss, 28\% of per-topic QUIC latency spikes affect individual topics independently, versus only 1\% for TCP. The isolation is partial rather than complete due to QUIC's per-connection congestion control, which creates correlated congestion responses across streams. + +Our evaluation reveals a nuanced throughput tradeoff: at baseline (0\% loss), TCP achieves 1.5--2.4$\times$ the throughput of all QUIC strategies, but under loss ($\geq$1\%) QUIC outperforms TCP by up to 2.7$\times$ due to more efficient loss recovery. Per-topic mapping offers throughput within 13--32\% of single-stream QUIC depending on connection count. QUIC datagrams achieve 19\% lower latency than streams at 5\% packet loss with comparable throughput, making them suitable for loss-tolerant telemetry. + +These results provide practitioners with concrete guidance for deploying MQTT over QUIC in IoT systems: use per-topic mapping for multi-topic workloads on lossy networks where independent stream recovery provides meaningful isolation and QUIC's throughput advantage under loss is beneficial, and use TCP when baseline throughput on reliable networks is the dominant concern. The implementation is available as open-source software. diff --git a/paper/sections/discussion.tex b/paper/sections/discussion.tex new file mode 100644 index 00000000..e8060829 --- /dev/null +++ b/paper/sections/discussion.tex @@ -0,0 +1,44 @@ +\section{Discussion} +\label{sec:discussion} + +\subsection{Strategy Selection Guidelines} + +Our results suggest the following guidelines for practitioners selecting a stream mapping strategy: + +\textbf{Use control-only} when throughput is the primary concern and topics are not independent. This strategy adds QUIC's security benefits (integrated TLS~1.3) and connection management (migration, 0-RTT potential) with minimal overhead compared to TCP. It provides no inter-topic isolation (spike isolation ratio 0.98, comparable to TCP's 0.99), making it appropriate for single-topic workloads or scenarios where HOL blocking is acceptable. + +\textbf{Use per-topic} when topic independence matters and the number of topics is bounded. At 1\% loss---representative of typical wireless IoT conditions---per-topic mapping already provides measurable isolation: inter-topic spread amplifies 40$\times$ from baseline, and 28\% of latency spikes affect individual topics independently (spike isolation ratio 0.72 versus TCP's 0.99). At higher loss (5\%), spread amplification reaches 192$\times$. Throughput remains within 13--32\% of control-only. The overhead scales with the number of active topics, not the message rate, making it efficient for workloads with moderate topic counts (tens to hundreds). StreamIsolated frame packing further improves isolation (+25\% spread, $-$7\% spike ratio at 5\% loss) with modest latency cost, making it recommended for loss-prone deployments. This is the recommended default for multi-topic IoT deployments on lossy networks. + +\textbf{Use per-publish} only when message-level isolation is required and throughput is secondary. Per-publish shows the strongest spike isolation (ratio 0.60 at 1\% loss, meaning 40\% of spikes are topic-independent), but the per-message stream creation overhead makes this strategy unsuitable for high-throughput workloads. StreamIsolated frame packing should be avoided for this strategy, as isolated packing amplifies retransmission overhead for ephemeral streams. It may be appropriate for low-rate command-and-control channels where every message must be independently deliverable. + +\textbf{Use datagrams} for latency-sensitive telemetry with QoS~0 where occasional message loss is acceptable. Datagrams achieve 19\% lower latency than streams at 5\% loss with comparable throughput, as both share the same QUIC connection and congestion controller. They are unsuitable for QoS~1 or QoS~2 workloads that require acknowledgment semantics. + +\subsection{Throughput--Isolation Tradeoff} + +A central finding is that the throughput tradeoff between TCP and QUIC is condition-dependent. At baseline (0\% loss), TCP achieves 1.5--2.4$\times$ the throughput of QUIC strategies, with the gap widening at higher connection counts. This overhead comes from three sources: (1)~per-stream state management within QUIC, (2)~more complex congestion control interactions between streams, and (3)~the computational cost of QUIC's per-packet encryption (though this is shared with TLS~1.3 over TCP). + +However, the ordering reverses even at 1\% loss: QUIC outperforms TCP by 1.8$\times$, reaching 2.7$\times$ at 10\% loss. QUIC's NewReno handles loss recovery more efficiently than TCP's CUBIC in our symmetric loss setup. This reversal at modest loss rates is significant for IoT deployments, where 1--2\% packet loss is common on wireless links. For throughput-dominated workloads on reliable networks, TCP remains the better choice, while QUIC is preferable on lossy links where its throughput advantage and independent stream recovery provide concrete benefits. + +\subsection{HOL Blocking Isolation: Partial but Meaningful} + +Our HOL blocking results show that QUIC stream multiplexing provides \emph{partial} rather than \emph{complete} isolation between topics. The spike isolation ratio for per-topic QUIC drops to 0.72 at 1\% loss rather than approaching 0 (full independence). This partial isolation arises because QUIC's congestion control operates per-connection: a loss event triggers congestion window reduction that affects all concurrent streams, even though stream-level loss recovery (retransmission) is independent. The inter-topic spread metric captures this nuance---topics experience different \emph{retransmission delays} (high spread) but correlated \emph{congestion responses} (partial spike co-occurrence). + +We tested whether Quinn's default frame packing---batching STREAM frames from multiple streams into single QUIC packets---contributes to this baseline correlation by running the same experiment with StreamIsolated packing, which restricts each packet to a single stream's data. The correlation persists (0.64 versus 0.60 at 0\% loss), confirming that it is not caused by frame co-location. Since no packets are lost at 0\% loss, the correlation instead reflects per-connection shared state~\cite{rfc9002, rfc9308}: all streams are subject to the same congestion controller, pacer, and UDP socket, creating correlated jitter independent of frame packing. Under loss, StreamIsolated improves per-topic isolation: inter-topic spread increases 25\% and spike isolation ratio decreases 7\% at 5\% loss, because a single lost packet can no longer simultaneously affect multiple streams' data. However, for per-publish, isolated packing is counterproductive: the increased packet count overwhelms connection capacity under loss, causing queue buildup (p50 latency rises from 29\,ms to 115\,ms at 5\% loss with StreamIsolated versus Greedy). + +\subsection{Limitations} + +\textbf{Single broker with co-located pub/sub.} The HOL blocking experiment uses co-located publisher and subscriber on a single VM to eliminate network variability. Production deployments involve separate clients with independent network paths that may affect the relative performance of transport strategies. + +\textbf{Symmetric impairment.} Network impairment is applied symmetrically at the broker. Real networks exhibit asymmetric conditions, bursty loss, and variable delay that may interact differently with QUIC's loss recovery mechanisms. + +\textbf{No 0-RTT or connection migration.} We did not evaluate QUIC 0-RTT resumption or connection migration, both of which are significant advantages for mobile IoT clients. These features are orthogonal to stream mapping strategies and are left for future work. + +\textbf{Limited scale.} Our largest experiment uses 100 connections. Production IoT deployments may involve thousands of concurrent connections, where QUIC's per-connection state overhead could become more significant. + +\textbf{Unencrypted TCP baseline.} Throughput experiments compare QUIC (which always encrypts) against unencrypted TCP. Using TLS~1.3 over TCP would add comparable per-packet encryption overhead, narrowing the baseline throughput gap reported at 0\% loss. The throughput reversal under loss is driven by congestion control behavior and would persist regardless of encryption. + +\textbf{Congestion control.} QUIC uses NewReno while TCP uses CUBIC in our experiments. Different congestion control algorithms could affect the relative throughput results. The HOL blocking isolation findings (inter-topic spread, spike isolation) depend on the shared-CWND property of QUIC congestion control, which is common to all standard QUIC congestion controllers. + +\subsection{Future Work} + +Several directions emerge from this work. First, evaluating 0-RTT connection resumption would quantify the benefit for mobile clients that reconnect frequently. Second, testing connection migration could demonstrate QUIC's advantage for devices that change network interfaces. Third, exploring adaptive strategy selection---where the broker dynamically switches strategies based on observed network conditions---could automate the throughput--isolation tradeoff. Additionally, exploring adaptive frame packing that automatically selects Greedy packing for per-publish and StreamIsolated for per-topic based on the negotiated stream strategy could optimize the transport layer without manual configuration. Finally, extending the evaluation to constrained devices (e.g., ESP32, Raspberry Pi) would assess whether QUIC's computational overhead is viable for resource-limited IoT endpoints. diff --git a/paper/sections/evaluation.tex b/paper/sections/evaluation.tex new file mode 100644 index 00000000..cc69fdc5 --- /dev/null +++ b/paper/sections/evaluation.tex @@ -0,0 +1,152 @@ +\section{Evaluation} +\label{sec:evaluation} + +We evaluate \texttt{mqtt5} across six experiments measuring connection establishment, head-of-line blocking, throughput, stream strategy behavior, datagram transport, and resource overhead at scale. All experiments use QoS~0 unless otherwise noted. + +\subsection{Experimental Setup} + +\begin{table}[t] +\centering +\caption{Experimental parameters across all six experiments.} +\label{tab:params} +\begin{tabular}{ll} +\toprule +Parameter & Value \\ +\midrule +Hardware & GCP n2-standard-4 (4 vCPU, 16 GB RAM) \\ +Topology & Co-located pub/sub (Exp 2), separate VMs (others) \\ +Region & us-west1-b (same zone, $<$1ms baseline RTT) \\ +OS & Debian 12, kernel 6.1 \\ +Network emulation & \texttt{tc-netem} on broker (symmetric) \\ +QUIC implementation & Quinn 0.11 (Rust) \\ +TLS & rustls 0.23 (TLS 1.3 only) \\ +Congestion control & QUIC: NewReno / TCP: CUBIC \\ +Payload size & 256 bytes (Exp 1--3, 5--6), 64 bytes (Exp 4) \\ +Publish rate & 500 msg/s fixed (Exp 2), max throughput (others) \\ +Measurement & 30--70s duration, 5s warmup (0s for Exp 1) \\ +Runs per config & 15 (Exp 2), 10 (Exp 1, 3--5), 3 (Exp 6) \\ +Frame packing & Greedy (default); StreamIsolated (Exp 2 ablation) \\ +\bottomrule +\end{tabular} +\end{table} + +Table~\ref{tab:params} summarizes the common parameters. Network impairment is applied symmetrically on the broker interface using \texttt{tc-netem}. Each experiment varies one or two factors while holding others constant. Experiment~2 uses co-located publisher and subscriber on a single client VM to eliminate network variability between pub/sub; all other experiments use separate VMs. + +\subsection{Experiment 1: Connection Establishment Latency} + +We measure cold-start connection latency across TCP, TLS~1.3, and QUIC at five one-way delays (0, 25, 50, 100, 200\,ms) using 100 sequential connections per run. + +\begin{figure}[t] +\centering +\includegraphics[width=\columnwidth]{fig08} +\caption{Connection latency (p50 bars, p95 whiskers) across network delays. QUIC's integrated TLS handshake achieves comparable latency to raw TCP despite cryptographic overhead, and outperforms the separate TCP+TLS~1.3 handshake at all RTTs.} +\label{fig:conn-latency} +\end{figure} + +Fig.~\ref{fig:conn-latency} shows that QUIC 1-RTT connection establishment matches TCP's cold-connect latency at all tested delays. TLS~1.3 over TCP consistently adds one additional round trip. At 200\,ms delay, QUIC connects in 402\,ms (p50) versus TCP's 400\,ms and TLS's 842\,ms. The integrated handshake eliminates the sequential TCP+TLS penalty without sacrificing security. We did not test QUIC 0-RTT resumption, which could further reduce connection latency for returning clients. + +\subsection{Experiment 2: Head-of-Line Blocking} + +This experiment is the core motivation for MQTT-over-QUIC multistream transport. We publish to 8 topics simultaneously at a fixed rate of 500\,msg/s and measure whether latency fluctuations on one topic propagate to others. The fixed rate is chosen to remain well below connection capacity at all loss rates (the minimum sustained capacity under 5\% loss at 25\,ms RTT exceeds 500\,msg/s), ensuring that any observed latency variation reflects transport-layer behavior rather than queue buildup from rate saturation. + +We quantify HOL blocking using two complementary metrics. \emph{Inter-topic spread} measures the maximum difference between per-topic mean latencies within 100\,ms time windows: high spread means topics experience different latencies (isolation), while low spread means topics are coupled. \emph{Spike isolation ratio} measures the fraction of latency spikes that co-occur across all topics: a ratio of 1.0 means every spike affects all topics simultaneously (full HOL blocking), while lower values indicate independent spikes. + +\begin{figure}[t] +\centering +\includegraphics[width=\columnwidth]{fig01} +\caption{Inter-topic latency spread across packet loss rates (25\,ms RTT, 8 topics, 15 runs per configuration). Per-topic QUIC spread amplifies 192$\times$ from baseline to 5\% loss, confirming independent per-stream loss recovery. TCP spread increases only 1.3$\times$, indicating that all topics remain tightly coupled under loss.} +\label{fig:spread} +\end{figure} + +Fig.~\ref{fig:spread} shows inter-topic spread at 25\,ms RTT across four loss rates with 15 runs per configuration. At 0\% loss, all transports show low spread: TCP at 6.6\,ms, QUIC per-topic at 0.09\,ms, per-publish at 0.11\,ms, and control-only at 0.07\,ms. Under 5\% loss, per-topic QUIC spread amplifies to 17.8\,ms (192$\times$ baseline), while TCP increases to only 8.5\,ms (1.3$\times$). Per-publish shows 111$\times$ amplification and control-only shows 90$\times$. + +The high spread for multi-stream QUIC strategies under loss reflects independent stream loss recovery: when a QUIC packet carrying data for one topic is lost, only that topic's stream experiences retransmission delay, while other streams continue unaffected. TCP, by contrast, stalls the entire byte stream on any loss, so all topics experience the same delay---hence the low spread amplification. + +\begin{figure}[t] +\centering +\includegraphics[width=\columnwidth]{fig04} +\caption{Spike isolation ratio across packet loss rates. A ratio of 1.0 means all latency spikes co-occur across topics (full HOL blocking). TCP remains near 1.0 at all loss rates, while per-topic (0.72) and per-publish (0.60) QUIC show progressively more independent spike behavior at 1\% loss.} +\label{fig:spike-iso} +\end{figure} + +Fig.~\ref{fig:spike-iso} provides a complementary view through spike isolation ratio. TCP maintains a ratio near 1.0 at all loss rates (0.99 at 1\% loss), confirming that virtually all latency spikes propagate to every topic. Per-topic QUIC drops to 0.72 and per-publish to 0.60 at 1\% loss, indicating that 28--40\% of spikes affect individual topics independently. Control-only QUIC remains at 0.98, consistent with its single-stream architecture that provides no inter-topic isolation. + +QUIC's congestion control operates per-connection (shared congestion window across all streams), which limits the degree of isolation: a loss event triggers congestion window reduction affecting all concurrent streams. This explains why per-topic isolation is partial (0.72) rather than complete ($\approx$0): stream-level loss recovery is independent, but congestion response is shared. + +\textbf{Ablation: frame packing policy.} To determine whether the partial correlation observed at 0\% loss reflects QUIC's congestion control architecture or an implementation-level artifact, we conducted a control experiment varying Quinn's frame packing behavior. By default, Quinn packs STREAM frames from multiple streams into single QUIC packets---a hardcoded optimization we term \emph{Greedy} packing. When a single packet is lost, all streams whose data it carried experience retransmission delay simultaneously, potentially creating artificial inter-stream coupling. We extended Quinn with a \emph{StreamIsolated} policy that restricts each packet to a single stream's data, eliminating this cross-stream coupling at the packet level. We tested both policies using the same parameters as the main experiment (500\,msg/s, 8 topics, 25\,ms RTT, 15 runs per configuration). + +At 0\% loss, the baseline correlation persists under StreamIsolated packing: per-topic windowed correlation is 0.64 versus 0.60 with Greedy. Since no packets are lost at 0\% loss, packet-level frame co-location cannot be the cause. Instead, the correlation arises from per-connection state shared across all streams. QUIC specifies a single congestion controller per connection~\cite{rfc9002, rfc9308}: the pacer gates when any stream can send, so all streams are subject to the same send schedule. Additionally, all streams share a single UDP socket and the subscriber processes them from the same connection, creating correlated jitter regardless of how frames are packed into packets. Under loss, however, StreamIsolated per-topic packing shows 25\% higher inter-topic spread (22.3\,ms versus 17.8\,ms at 5\% loss) and 7\% lower spike isolation ratio (0.85 versus 0.91 at 5\% loss), demonstrating genuine per-stream isolation improvement when retransmission events cannot cross stream boundaries within a single packet (Fig.~\ref{fig:frame-packing}). + +The effect is asymmetric across strategies. For per-publish, StreamIsolated packing is counterproductive: p50 latency at 5\% loss rises from 29\,ms to 115\,ms. Isolated packing creates more QUIC packets for ephemeral streams (each publish opens and closes a new stream), increasing the number of packets subject to loss and retransmission. Under high loss, the resulting retransmission volume overwhelms connection capacity, causing queue buildup. This interaction between frame packing policy and stream lifetime---beneficial for persistent streams, harmful for ephemeral ones---has implications for adaptive transport configuration (Section~\ref{sec:discussion}). + +\begin{figure}[t] +\centering +\includegraphics[width=\columnwidth]{fig15} +\caption{Effect of frame packing policy on HOL blocking metrics. \emph{Greedy} packing (default) batches multiple streams per packet; \emph{StreamIsolated} restricts each packet to one stream. For per-topic (left), StreamIsolated improves spread and reduces correlation under loss. For per-publish (right), StreamIsolated increases overhead, degrading performance at high loss rates.} +\label{fig:frame-packing} +\end{figure} + +\begin{figure}[t] +\centering +\includegraphics[width=\columnwidth]{fig05} +\caption{Latency percentiles at 1\% loss, 25\,ms RTT. TCP exhibits higher tail latency than all QUIC strategies, with the gap widening at higher percentiles. Multi-stream QUIC strategies (per-topic, per-publish) achieve the lowest p95 and p99 values.} +\label{fig:lat-percentiles} +\end{figure} + +Fig.~\ref{fig:lat-percentiles} shows latency percentiles at 1\% loss. TCP exhibits the highest tail latency across all percentiles, with the gap between TCP and QUIC widening from p50 to p99. Multi-stream QUIC strategies (per-topic, per-publish) achieve the lowest p95 and p99 values, consistent with independent per-stream loss recovery reducing tail latency when retransmission delays are confined to individual streams rather than stalling the entire connection. + +\subsection{Experiment 3: Throughput Under Loss} + +We measure sustained throughput using 64 publishers and 1 subscriber (fan-in pattern) at loss rates from 0\% to 10\%. + +\begin{figure}[t] +\centering +\includegraphics[width=\columnwidth]{fig09} +\caption{Throughput vs.\ packet loss for QoS~0 (top) and QoS~1 (bottom). TCP outperforms all QUIC strategies at baseline (0\% loss), but under loss ($\geq$1\%) all QUIC strategies outperform TCP.} +\label{fig:throughput-loss} +\end{figure} + +Fig.~\ref{fig:throughput-loss} reveals that at 0\% loss, TCP outperforms all QUIC strategies in raw throughput. With QoS~0, TCP achieves 303K\,msg/s versus QUIC control-only at 134K\,msg/s, per-topic at 86K\,msg/s, and per-publish at 78K\,msg/s. The throughput gap at baseline reflects QUIC's per-packet encryption overhead (absent in unencrypted TCP) and per-stream state management. + +Under loss ($\geq$1\%), the ordering reverses: all QUIC strategies outperform TCP, achieving 1.8$\times$ TCP's throughput at 1\% loss and 2.7$\times$ at 10\% loss. TCP's CUBIC congestion control backs off more aggressively than QUIC's NewReno under symmetric loss, and QUIC's per-connection loss recovery handles retransmissions more efficiently. Per-publish QUIC matches control-only throughput under loss because stream creation overhead becomes negligible relative to loss recovery delays. + +QoS~1 throughput drops to approximately 1.2K\,msg/s across all transports at 0\% loss, as the per-message acknowledgment round-trip dominates in the 64-publisher fan-in topology. Under loss, QUIC maintains higher QoS~1 throughput than TCP (809 versus 367\,msg/s at 10\% loss), as QUIC's loss recovery is more efficient than TCP CUBIC's backoff behavior. + +\subsection{Experiment 4: Stream Strategy Comparison} + +We compare the three stream mapping strategies (control-only, per-publish, per-topic) while varying topic count (1, 4, 8, 16) to understand how strategy selection interacts with workload structure. + +\begin{figure}[t] +\centering +\includegraphics[width=\columnwidth]{fig14} +\caption{Strategy comparison across topic counts. (a)~Latency is stable across all strategies and topic counts. (b)~Throughput scales linearly with topic count for all strategies.} +\label{fig:strategy-comparison} +\end{figure} + +Fig.~\ref{fig:strategy-comparison} shows that latency is stable at approximately 28.5\,ms across all strategies and topic counts, indicating that stream management overhead does not materially affect per-message latency in this workload. Throughput scales linearly with topic count for all strategies as parallelism increases. At 16 topics, control-only achieves 116K\,msg/s, per-topic 101K\,msg/s, and per-publish 108K\,msg/s. The gap between strategies narrows at higher topic counts as increased parallelism dominates over per-stream overhead. + +\subsection{Experiment 5: Datagram vs.\ Stream Transport} + +QUIC datagrams (RFC~9221) bypass the stream abstraction entirely, sending messages as unreliable datagrams within the QUIC connection. We compare datagram transport against stream-based transport at 50\,ms delay across four loss rates. + +\begin{figure}[t] +\centering +\includegraphics[width=\columnwidth]{fig12} +\caption{Datagram vs.\ stream transport at 50\,ms RTT. (a)~Datagrams achieve lower p50 latency at 5\% loss by avoiding retransmission delays. (b)~Both transports achieve comparable throughput since they share the same QUIC connection and congestion controller.} +\label{fig:datagram} +\end{figure} + +Fig.~\ref{fig:datagram} shows that at 50\,ms RTT, datagram and stream transport perform similarly at low loss rates. At 0\% loss, both achieve approximately 12K\,msg/s throughput and 50\,ms p50 latency. At 5\% loss, datagrams show 19\% lower p50 latency (1.1\,s versus 1.4\,s) because lost datagrams are skipped rather than retransmitted. At 10\% loss, both transports exhibit multi-second latencies (8.7\,s for datagrams, 7.7\,s for streams) as severe congestion dominates and the datagram advantage disappears. Throughput remains comparable across all conditions ($\approx$980\,msg/s at 5\% loss for both), as both transports share the same QUIC connection and congestion controller. + +\subsection{Experiment 6: Resource Overhead at Scale} + +We scale from 10 to 100 concurrent publisher-subscriber pairs to measure how transport strategies affect throughput under load. + +\begin{figure}[t] +\centering +\includegraphics[width=\columnwidth]{fig13} +\caption{Throughput scaling from 10 to 100 connections. TCP remains stable while QUIC strategies show declining throughput as per-connection state overhead accumulates.} +\label{fig:resource-scale} +\end{figure} + +Fig.~\ref{fig:resource-scale} shows that TCP throughput remains stable at 444--455K\,msg/s across connection counts. QUIC control-only starts at 312K\,msg/s with 10 connections but drops to 242K at 100 connections---a 22\% decline attributable to per-connection QUIC state overhead. Per-topic and per-publish show similar degradation from 262--266K at 10 connections to 185--191K at 100 connections. diff --git a/paper/sections/implementation.tex b/paper/sections/implementation.tex new file mode 100644 index 00000000..3f8cc9c7 --- /dev/null +++ b/paper/sections/implementation.tex @@ -0,0 +1,28 @@ +\section{Implementation} +\label{sec:implementation} + +\texttt{mqtt5} is an open-source MQTT library written in Rust. The library provides both a client and broker, supporting TCP, TLS~1.3, WebSocket, and QUIC transports. The QUIC implementation uses Quinn~\cite{quinn}, a Rust QUIC library built on the \texttt{tokio} async runtime. + +\subsection{Transport Abstraction} + +The library defines a \texttt{Transport} trait abstracting read/write operations over any underlying connection. For TCP and TLS, this wraps a single byte stream. For QUIC, the transport layer manages multiple streams through a \texttt{StreamDispatcher} that implements the configured strategy. + +The stream dispatcher maintains a \texttt{HashMap} for per-topic mapping, creating streams lazily on first use and reusing them for subsequent messages on the same topic. For per-publish, the dispatcher opens a new unidirectional stream for each PUBLISH and closes it after sending. Stream~0 (the initial bidirectional stream) is always reserved for control packets. Quinn's default behavior packs STREAM frames from multiple streams into single QUIC packets for efficiency. To isolate the effect of this frame packing on inter-stream coupling, we extended Quinn with a configurable frame packing policy: the default \emph{Greedy} policy preserves the original batching behavior, while a new \emph{StreamIsolated} policy restricts each packet to a single stream's data, preventing cross-stream coupling at the packet level. + +\subsection{Connection Lifecycle} + +QUIC connections follow the same MQTT session lifecycle as TCP connections. The CONNECT packet is always sent on stream~0. After CONNACK, subsequent PUBLISH packets are dispatched according to the client's configured stream strategy. + +On the broker side, the QUIC acceptor spawns a dedicated task per connection. Incoming streams are classified by their stream ID: stream~0 receives the full MQTT packet parser, while non-zero streams use the flow header parser to extract PUBLISH packets and route them into the broker's topic distribution engine. + +\subsection{Datagram Path} + +When datagram mode is enabled, QoS~0 PUBLISH packets are sent as QUIC DATAGRAM frames. The MQTT packet is serialized with the flow header prepended and submitted via Quinn's \texttt{send\_datagram} API. The maximum datagram size is bounded by the connection's \texttt{max\_datagram\_size} parameter, which is negotiated during the QUIC handshake. Messages exceeding this limit fall back to stream transport. + +On the receive path, datagrams are delivered via a separate channel from stream data. The broker's QUIC handler polls both the stream accept loop and the datagram receive loop concurrently, feeding both into the same message processing pipeline. + +\subsection{Benchmarking Infrastructure} + +The library includes an integrated benchmarking tool (\texttt{mqttv5 bench}) that measures latency and throughput. Latency mode embeds microsecond timestamps in payloads and computes p50/p95/p99 percentiles. Throughput mode counts messages per second over a configurable duration with warmup. Both modes support configurable publisher/subscriber counts, QoS levels, payload sizes, and transport parameters. + +Network impairment is applied externally via \texttt{tc-netem}, and broker/client resource usage (RSS, CPU, network I/O) is sampled at 1\,Hz during each run using procfs monitors. diff --git a/paper/sections/introduction.tex b/paper/sections/introduction.tex new file mode 100644 index 00000000..da8c2a70 --- /dev/null +++ b/paper/sections/introduction.tex @@ -0,0 +1,22 @@ +\section{Introduction} +\label{sec:introduction} + +MQTT is the dominant messaging protocol for Internet of Things (IoT) deployments, widely adopted for device-to-cloud communication across industrial, smart city, and consumer IoT platforms~\cite{bansal2020iot-mqtt-survey}. MQTT's publish-subscribe model, lightweight framing, and multiple quality-of-service levels make it well-suited for constrained devices and unreliable networks~\cite{mqtt-v5-spec}. + +However, MQTT operates over TCP, which introduces a fundamental limitation: \emph{head-of-line (HOL) blocking}. When an IoT device publishes to multiple topics over a single TCP connection---as is common for devices reporting temperature, humidity, GPS, and status simultaneously---a packet loss on any one topic's data blocks delivery of \emph{all} topics until retransmission completes. This creates artificial coupling between logically independent data flows, increasing tail latency and reducing the responsiveness of multi-topic workloads. + +QUIC~\cite{rfc9000}, the transport protocol underlying HTTP/3, addresses HOL blocking through \emph{stream multiplexing}: multiple independent streams share a single connection, each with its own flow control and loss recovery. A lost packet on one stream does not block data on other streams. This property has been extensively studied for web traffic~\cite{langley2017quic, kakhki2017quic, marx2020hol, yu2021quic}, but its application to IoT messaging protocols remains largely unexplored. + +Running MQTT over QUIC is not simply a matter of replacing the TCP socket. The question of \emph{how} to map MQTT's control and data packets onto QUIC streams admits multiple answers, each with different performance characteristics. A single-stream approach (equivalent to TCP) gains QUIC's security and connection management benefits but not HOL blocking elimination. A per-topic approach maps each MQTT topic to a dedicated QUIC stream, providing topic-level isolation. A per-message approach creates a new stream for each PUBLISH, maximizing isolation at the cost of stream management overhead. + +In this paper, we define three configurable stream mapping strategies for MQTT over QUIC, implement them in \texttt{mqtt5}, an open-source MQTT library, and evaluate them across six experiments on GCP infrastructure under controlled network impairment. + +Our contributions are: +\begin{enumerate} +\item Three stream mapping strategies (control-only, per-topic, per-publish) for MQTT over QUIC with a lightweight flow header protocol for stream demultiplexing. +\item The first empirical evaluation of MQTT stream mapping strategies under controlled network impairment, quantifying HOL blocking, throughput, and resource overhead. +\item An evaluation of QUIC datagram transport for MQTT as an alternative to stream-based delivery. +\item An open-source implementation with integrated benchmarking tools. +\end{enumerate} + +The remainder of this paper is organized as follows. Section~\ref{sec:background} covers MQTT, QUIC, and related work. Section~\ref{sec:architecture} describes the stream mapping architecture. Section~\ref{sec:implementation} details the implementation. Section~\ref{sec:evaluation} presents experimental results. Section~\ref{sec:discussion} discusses strategy selection guidelines and limitations. Section~\ref{sec:conclusion} concludes. From e48983ebeb380fd08a3abbc868bb84fd2264a32b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Mon, 9 Mar 2026 19:01:37 -0700 Subject: [PATCH 27/34] move JOSS paper from paper/ to joss/ --- {paper => joss}/paper.bib | 0 {paper => joss}/paper.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) rename {paper => joss}/paper.bib (100%) rename {paper => joss}/paper.md (100%) diff --git a/paper/paper.bib b/joss/paper.bib similarity index 100% rename from paper/paper.bib rename to joss/paper.bib diff --git a/paper/paper.md b/joss/paper.md similarity index 100% rename from paper/paper.md rename to joss/paper.md From 361c0a2c25d08fbabbfa1c6c299b157a07cfbb5b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Mon, 9 Mar 2026 19:39:24 -0700 Subject: [PATCH 28/34] bump crate versions for release --- Cargo.toml | 2 +- crates/mqtt5-protocol/Cargo.toml | 2 +- crates/mqtt5-wasm/Cargo.toml | 6 +++--- crates/mqtt5/Cargo.toml | 4 ++-- crates/mqttv5-cli/Cargo.toml | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index bcdd4aa5..f597b63e 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ members = [ resolver = "2" [workspace.package] -version = "0.11.2" +version = "0.12.0" edition = "2021" rust-version = "1.88" authors = ["fabriciobracht "] diff --git a/crates/mqtt5-protocol/Cargo.toml b/crates/mqtt5-protocol/Cargo.toml index 4cd23b59..98fba810 100644 --- a/crates/mqtt5-protocol/Cargo.toml +++ b/crates/mqtt5-protocol/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mqtt5-protocol" -version = "0.9.9" +version = "0.9.10" edition.workspace = true rust-version.workspace = true authors.workspace = true diff --git a/crates/mqtt5-wasm/Cargo.toml b/crates/mqtt5-wasm/Cargo.toml index 9f6cf2ca..12dcc5cb 100644 --- a/crates/mqtt5-wasm/Cargo.toml +++ b/crates/mqtt5-wasm/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mqtt5-wasm" -version = "1.0.0" +version = "1.1.0" edition.workspace = true rust-version.workspace = true authors.workspace = true @@ -27,8 +27,8 @@ broker = ["client", "dep:mqtt5", "dep:tokio"] codec = ["client", "dep:miniz_oxide"] [dependencies] -mqtt5-protocol = "0.9.9" -mqtt5 = { version = "0.22", optional = true, default-features = false, features = [ +mqtt5-protocol = "0.9.10" +mqtt5 = { version = "0.23", optional = true, default-features = false, features = [ "tokio", ] } diff --git a/crates/mqtt5/Cargo.toml b/crates/mqtt5/Cargo.toml index 65c90342..94fa545e 100644 --- a/crates/mqtt5/Cargo.toml +++ b/crates/mqtt5/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mqtt5" -version = "0.22.10" +version = "0.23.0" edition.workspace = true rust-version.workspace = true authors.workspace = true @@ -122,7 +122,7 @@ opentelemetry-otlp = { version = "0.31", features = [ ], optional = true } tracing-opentelemetry = { version = "0.32", optional = true } opentelemetry = { version = "0.31", features = ["trace"], optional = true } -mqtt5-protocol = "0.9.9" +mqtt5-protocol = "0.9.10" argon2 = "0.5" getrandom = "0.3" bebytes = { version = "3.0", features = ["bytes"] } diff --git a/crates/mqttv5-cli/Cargo.toml b/crates/mqttv5-cli/Cargo.toml index 50d9d4e0..ed5b9509 100644 --- a/crates/mqttv5-cli/Cargo.toml +++ b/crates/mqttv5-cli/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mqttv5-cli" -version = "0.20.7" +version = "0.21.0" edition.workspace = true rust-version.workspace = true authors.workspace = true @@ -22,7 +22,7 @@ opentelemetry = ["mqtt5/opentelemetry"] codec = ["mqtt5/codec-all"] [dependencies] -mqtt5 = "0.22" +mqtt5 = "0.23" anyhow = "1.0" tracing = "0.1" serde = { version = "1.0", features = ["derive"] } From 7de47b8fa7e38a1c99a5f8722835f542630a18ce Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Mon, 9 Mar 2026 19:47:50 -0700 Subject: [PATCH 29/34] deprecate per-subscription stream strategy in CLI and tests --- crates/mqtt5/tests/broker_quic_integration.rs | 79 ------------------- crates/mqtt5/tests/quic_integration.rs | 66 ---------------- crates/mqttv5-cli/CLI_USAGE.md | 8 +- crates/mqttv5-cli/src/commands/parsers.rs | 8 +- crates/mqttv5-cli/src/commands/pub_cmd.rs | 2 +- crates/mqttv5-cli/src/commands/sub_cmd.rs | 2 +- 6 files changed, 11 insertions(+), 154 deletions(-) diff --git a/crates/mqtt5/tests/broker_quic_integration.rs b/crates/mqtt5/tests/broker_quic_integration.rs index fe7d84c4..f0ad5368 100644 --- a/crates/mqtt5/tests/broker_quic_integration.rs +++ b/crates/mqtt5/tests/broker_quic_integration.rs @@ -318,82 +318,3 @@ async fn test_broker_quic_data_per_topic() { sub_client.disconnect().await.unwrap(); broker_handle.abort(); } - -#[tokio::test] -#[allow(deprecated)] -async fn test_broker_quic_data_per_subscription() { - let _ = rustls::crypto::ring::default_provider().install_default(); - - let (mut broker, quic_addr) = start_quic_broker(24571).await; - - let broker_handle = tokio::spawn(async move { broker.run().await }); - tokio::time::sleep(Duration::from_millis(200)).await; - - let pub_client_id = test_client_id("quic-pub-dps"); - let sub_client_id = test_client_id("quic-sub-dps"); - let topic1 = format!("quic-test/{}/data-per-sub-1", Ulid::new()); - let topic2 = format!("quic-test/{}/data-per-sub-2", Ulid::new()); - - let pub_client = MqttClient::new(pub_client_id); - let sub_client = MqttClient::new(sub_client_id); - - pub_client.set_insecure_tls(true).await; - sub_client.set_insecure_tls(true).await; - pub_client - .set_quic_stream_strategy(StreamStrategy::DataPerSubscription) - .await; - - let broker_url = format!("quic://{quic_addr}"); - - if pub_client.connect(&broker_url).await.is_err() { - broker_handle.abort(); - return; - } - if sub_client.connect(&broker_url).await.is_err() { - broker_handle.abort(); - return; - } - - let received = Arc::new(AtomicU32::new(0)); - let received_clone1 = received.clone(); - let received_clone2 = received.clone(); - - sub_client - .subscribe(&topic1, move |_msg| { - received_clone1.fetch_add(1, Ordering::Relaxed); - }) - .await - .unwrap(); - - sub_client - .subscribe(&topic2, move |_msg| { - received_clone2.fetch_add(1, Ordering::Relaxed); - }) - .await - .unwrap(); - - tokio::time::sleep(Duration::from_millis(100)).await; - - for i in 0..2 { - pub_client - .publish(&topic1, format!("sub1 msg {i}").as_bytes()) - .await - .unwrap(); - pub_client - .publish(&topic2, format!("sub2 msg {i}").as_bytes()) - .await - .unwrap(); - } - - tokio::time::sleep(Duration::from_millis(500)).await; - - assert_eq!( - received.load(Ordering::Relaxed), - 4, - "Should receive all 4 messages with DataPerSubscription strategy" - ); - - pub_client.disconnect().await.unwrap(); - sub_client.disconnect().await.unwrap(); - broker_handle.abort(); -} diff --git a/crates/mqtt5/tests/quic_integration.rs b/crates/mqtt5/tests/quic_integration.rs index fabd8f54..b2c77ee2 100644 --- a/crates/mqtt5/tests/quic_integration.rs +++ b/crates/mqtt5/tests/quic_integration.rs @@ -382,72 +382,6 @@ async fn test_quic_data_per_topic_strategy() { client.disconnect().await.unwrap(); } -#[tokio::test] -#[ignore = "requires EMQX broker with QUIC support"] -#[allow(deprecated)] -async fn test_quic_data_per_subscription_strategy() { - let _ = rustls::crypto::ring::default_provider().install_default(); - let client_id = test_client_id("quic-data-per-subscription"); - let topic1 = test_topic("subscription-a"); - let topic2 = test_topic("subscription-b"); - - let client = MqttClient::new(client_id); - client.set_insecure_tls(true).await; - - client - .set_quic_stream_strategy(StreamStrategy::DataPerSubscription) - .await; - - client.connect(EMQX_BROKER).await.unwrap(); - - let received_a = Arc::new(AtomicU32::new(0)); - let received_b = Arc::new(AtomicU32::new(0)); - let sub_a_counter = received_a.clone(); - let sub_b_counter = received_b.clone(); - - client - .subscribe(&topic1, move |_msg| { - sub_a_counter.fetch_add(1, Ordering::Relaxed); - }) - .await - .unwrap(); - - client - .subscribe(&topic2, move |_msg| { - sub_b_counter.fetch_add(1, Ordering::Relaxed); - }) - .await - .unwrap(); - - sleep(Duration::from_millis(200)).await; - - for i in 0..3 { - client - .publish_qos1(&topic1, format!("Subscription A Message {i}")) - .await - .unwrap(); - client - .publish_qos1(&topic2, format!("Subscription B Message {i}")) - .await - .unwrap(); - } - - sleep(Duration::from_secs(2)).await; - - assert_eq!( - received_a.load(Ordering::Relaxed), - 3, - "DataPerSubscription strategy: should receive all subscription A messages" - ); - assert_eq!( - received_b.load(Ordering::Relaxed), - 3, - "DataPerSubscription strategy: should receive all subscription B messages" - ); - - client.disconnect().await.unwrap(); -} - #[tokio::test] #[ignore = "requires EMQX broker with QUIC support"] async fn test_quic_concurrent_publishes() { diff --git a/crates/mqttv5-cli/CLI_USAGE.md b/crates/mqttv5-cli/CLI_USAGE.md index 59b92001..4cfcead7 100644 --- a/crates/mqttv5-cli/CLI_USAGE.md +++ b/crates/mqttv5-cli/CLI_USAGE.md @@ -165,7 +165,7 @@ Publish an MQTT message. | `--otel-endpoint ` | OpenTelemetry OTLP endpoint | None | | `--otel-service-name ` | OpenTelemetry service name | `mqttv5-pub` | | `--otel-sampling <0.0-1.0>` | OpenTelemetry sampling ratio | `1.0` | -| `--quic-stream-strategy ` | QUIC stream strategy (control-only, per-publish, per-topic, per-subscription) | `control-only` | +| `--quic-stream-strategy ` | QUIC stream strategy (control-only, per-publish, per-topic) | `control-only` | | `--quic-flow-headers` | Enable QUIC flow headers for state recovery | `false` | | `--quic-flow-expire ` | Flow header expiry interval in seconds | `300` | | `--quic-max-streams ` | Maximum concurrent QUIC streams | None | @@ -293,7 +293,7 @@ Subscribe to MQTT topics. | `--otel-endpoint ` | OpenTelemetry OTLP endpoint | None | | `--otel-service-name ` | OpenTelemetry service name | `mqttv5-sub` | | `--otel-sampling <0.0-1.0>` | OpenTelemetry sampling ratio | `1.0` | -| `--quic-stream-strategy ` | QUIC stream strategy (control-only, per-publish, per-topic, per-subscription) | `control-only` | +| `--quic-stream-strategy ` | QUIC stream strategy (control-only, per-publish, per-topic) | `control-only` | | `--quic-flow-headers` | Enable QUIC flow headers for state recovery | `false` | | `--quic-flow-expire ` | Flow header expiry interval in seconds | `300` | | `--quic-max-streams ` | Maximum concurrent QUIC streams | None | @@ -341,13 +341,13 @@ mqttv5 sub -t sensors/# \ -v ``` -Subscribe over QUIC with per-subscription streams: +Subscribe over QUIC with per-topic streams: ```bash mqttv5 sub -t sensors/# -t commands/# \ --url quic://broker.example.com:14567 \ --ca-cert ca.pem \ - --quic-stream-strategy per-subscription \ + --quic-stream-strategy per-topic \ --quic-flow-headers \ -v ``` diff --git a/crates/mqttv5-cli/src/commands/parsers.rs b/crates/mqttv5-cli/src/commands/parsers.rs index 276665e0..a27845e0 100644 --- a/crates/mqttv5-cli/src/commands/parsers.rs +++ b/crates/mqttv5-cli/src/commands/parsers.rs @@ -1,15 +1,17 @@ use anyhow::Result; use mqtt5::transport::StreamStrategy; -#[allow(deprecated)] pub fn parse_stream_strategy(s: &str) -> Result { match s.to_lowercase().as_str() { "control-only" | "control" => Ok(StreamStrategy::ControlOnly), "per-publish" | "publish" => Ok(StreamStrategy::DataPerPublish), "per-topic" | "topic" => Ok(StreamStrategy::DataPerTopic), - "per-subscription" | "subscription" => Ok(StreamStrategy::DataPerSubscription), + "per-subscription" | "subscription" => { + eprintln!("warning: per-subscription is deprecated and maps to per-topic"); + Ok(StreamStrategy::DataPerTopic) + } _ => Err(format!( - "Invalid stream strategy: {s}. Valid: control-only, per-publish, per-topic, per-subscription" + "Invalid stream strategy: {s}. Valid: control-only, per-publish, per-topic" )), } } diff --git a/crates/mqttv5-cli/src/commands/pub_cmd.rs b/crates/mqttv5-cli/src/commands/pub_cmd.rs index 12199de2..2c2f2752 100644 --- a/crates/mqttv5-cli/src/commands/pub_cmd.rs +++ b/crates/mqttv5-cli/src/commands/pub_cmd.rs @@ -179,7 +179,7 @@ pub struct PubCommand { #[arg(long)] pub auto_reconnect: bool, - /// QUIC stream strategy (control-only, per-publish, per-topic, per-subscription) + /// QUIC stream strategy (control-only, per-publish, per-topic) #[arg(long, value_parser = parse_stream_strategy)] pub quic_stream_strategy: Option, diff --git a/crates/mqttv5-cli/src/commands/sub_cmd.rs b/crates/mqttv5-cli/src/commands/sub_cmd.rs index f181b0f5..299ea699 100644 --- a/crates/mqttv5-cli/src/commands/sub_cmd.rs +++ b/crates/mqttv5-cli/src/commands/sub_cmd.rs @@ -144,7 +144,7 @@ pub struct SubCommand { #[arg(long)] pub retain_as_published: bool, - /// QUIC stream strategy (control-only, per-publish, per-topic, per-subscription) + /// QUIC stream strategy (control-only, per-publish, per-topic) #[arg(long, value_parser = parse_stream_strategy)] pub quic_stream_strategy: Option, From 30d98954937a01c3912be1b9780897df3fcf10ef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Mon, 9 Mar 2026 19:51:16 -0700 Subject: [PATCH 30/34] remove per-subscription from docs --- ARCHITECTURE.md | 1 - CHANGELOG.md | 6 +++--- README.md | 1 - experiments/README.md | 2 +- paper/STRUCTURE.md | 4 +--- 5 files changed, 5 insertions(+), 9 deletions(-) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 79741b02..a5e2d278 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -307,7 +307,6 @@ Client Broker 1. **ControlOnly**: Single stream (traditional MQTT behavior) 2. **DataPerPublish**: New stream per QoS 1/2 publish 3. **DataPerTopic**: Stream pooling by topic -4. **DataPerSubscription**: Dedicated streams per subscription ### Benefits diff --git a/CHANGELOG.md b/CHANGELOG.md index 87252855..8d5c39ae 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -473,7 +473,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Added - **QUIC transport options for bridges**: Fine-grained control over QUIC bridge behavior - - `quic_stream_strategy`: Control stream usage (`control_only`, `data_per_publish`, `data_per_topic`, `data_per_subscription`) + - `quic_stream_strategy`: Control stream usage (`control_only`, `data_per_publish`, `data_per_topic`) - `quic_flow_headers`: Enable/disable flow control headers in QUIC streams - `quic_datagrams`: Enable/disable QUIC datagram support for low-latency messaging - `quic_max_streams`: Limit concurrent QUIC streams per bridge connection @@ -773,7 +773,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **QUIC data stream byte consumption bug** in broker's QUIC acceptor - `try_read_flow_header()` was consuming bytes when checking for flow headers but not returning them when they weren't flow headers - - This caused QUIC stream strategies (DataPerPublish, DataPerTopic, DataPerSubscription) to fail with "Malformed packet" errors + - This caused QUIC stream strategies (DataPerPublish, DataPerTopic) to fail with "Malformed packet" errors - Added `FlowHeaderResult` with `leftover` field to preserve non-flow-header bytes - Added `read_packet_with_buffer()` to use leftover bytes before reading from stream @@ -885,7 +885,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **QUIC multistream architecture** for parallel MQTT operations - Eliminates head-of-line blocking for concurrent publishes - - Stream strategies: `ControlOnly`, `DataPerPublish`, `DataPerTopic`, `DataPerSubscription` + - Stream strategies: `ControlOnly`, `DataPerPublish`, `DataPerTopic` - Configurable stream management with `QuicStreamManager` - Automatic stream lifecycle management diff --git a/README.md b/README.md index b231d01c..d0a8abf3 100644 --- a/README.md +++ b/README.md @@ -289,7 +289,6 @@ QUIC multistream support allows different stream allocation strategies: | `ControlOnly` | Single stream for all packets | Simple deployments | | `DataPerPublish` | New stream per QoS 1/2 publish | High-throughput publishing | | `DataPerTopic` | Dedicated stream per topic | Topic isolation | -| `DataPerSubscription` | Stream per subscription | Subscriber isolation | ### Flow Headers diff --git a/experiments/README.md b/experiments/README.md index bfc799d5..ac4f6314 100644 --- a/experiments/README.md +++ b/experiments/README.md @@ -51,7 +51,7 @@ bash setup/provision.sh teardown | `02d_hol_rtt_boundary.sh` | RTT boundary experiment (15/20ms) to narrow isolation transition | | `02e_hol_qos1.sh` | HOL blocking with QoS 1 at reference conditions | | `03_throughput_under_loss.sh` | Message throughput degradation under packet loss for all transports | -| `04_stream_strategies.sh` | Comparison of QUIC stream strategies (control-only, per-publish, per-topic, per-subscription) | +| `04_stream_strategies.sh` | Comparison of QUIC stream strategies (control-only, per-publish, per-topic) | | `05_datagram_vs_stream.sh` | QUIC datagrams vs streams for QoS 0 under varying loss | | `06_resource_overhead.sh` | Memory, CPU, and thread usage under different connection counts | | `12_payload_format_localhost.sh` | Payload format performance on localhost | diff --git a/paper/STRUCTURE.md b/paper/STRUCTURE.md index 4083caa9..68cba215 100644 --- a/paper/STRUCTURE.md +++ b/paper/STRUCTURE.md @@ -114,7 +114,6 @@ - ControlOnly: minimal overhead, all packets on single stream, datagrams for QoS 0 - DataPerPublish: maximum parallelism, one stream per PUBLISH, flow header per stream - DataPerTopic: LRU stream cache (100 max), 300s idle timeout, topic-to-stream affinity -- DataPerSubscription: subscription-scoped streams, isolated flow state per subscription - Runtime switching without reconnection 3.4 MQoQ flow header protocol @@ -216,7 +215,7 @@ - Include datagram mode for QoS 0 5.6 Experiment 4: Stream strategy comparison -- ControlOnly vs. DataPerPublish vs. DataPerTopic vs. DataPerSubscription +- ControlOnly vs. DataPerPublish vs. DataPerTopic - Metrics: throughput, latency (p50/p95/p99), memory usage, stream count - Varying topic counts (1 → 1000) - Characterize crossover points where strategies change relative performance @@ -242,7 +241,6 @@ - ControlOnly: low-topic-count, latency-sensitive, resource-constrained - DataPerPublish: high-parallelism, independent messages, bursty traffic - DataPerTopic: many topics, mixed QoS, HOL blocking concern -- DataPerSubscription: isolated subscriber flows, server-push scenarios 6.2 Spec compliance observations - Areas where OASIS MQoQ draft is ambiguous or underspecified From 57ae3b4975a4276b8ee77190880aa324e3aa4063 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Mon, 9 Mar 2026 21:11:48 -0700 Subject: [PATCH 31/34] fix PR review issues: semver, lock scope, persistence, config path --- .cargo/config.toml | 3 ++- README.md | 7 ++++--- crates/mqtt5-protocol/Cargo.toml | 2 +- crates/mqtt5-wasm/Cargo.toml | 2 +- crates/mqtt5/Cargo.toml | 2 +- .../src/broker/client_handler/publish.rs | 19 +++++++++++++++-- crates/mqtt5/src/broker/events.rs | 1 + crates/mqtt5/src/broker/router.rs | 21 ++++++++++--------- crates/mqtt5/src/lib.rs | 3 --- crates/mqttv5-cli/Cargo.toml | 1 + crates/mqttv5-cli/src/commands/bench_cmd.rs | 2 +- 11 files changed, 40 insertions(+), 23 deletions(-) diff --git a/.cargo/config.toml b/.cargo/config.toml index 04a4a6b0..cfa58ae3 100644 --- a/.cargo/config.toml +++ b/.cargo/config.toml @@ -1,5 +1,6 @@ [build] -target-dir = "/Users/fabriciobracht/.cargo-target/mqtt-lib" +# Default target for WASM builds +# target = "wasm32-unknown-unknown" [target.wasm32-unknown-unknown] # Use lld linker for faster builds and enable getrandom WASM support diff --git a/README.md b/README.md index d0a8abf3..795bdf5d 100644 --- a/README.md +++ b/README.md @@ -690,7 +690,8 @@ Monitor and react to broker events with custom handlers: ```rust use mqtt5::broker::config::BrokerConfig; use mqtt5::broker::events::{ - BrokerEventHandler, ClientConnectEvent, ClientPublishEvent, ClientDisconnectEvent, + BrokerEventHandler, ClientConnectEvent, ClientPublishEvent, + ClientDisconnectEvent, PublishAction, }; use std::future::Future; use std::pin::Pin; @@ -711,16 +712,16 @@ impl BrokerEventHandler for MetricsHandler { fn on_client_publish<'a>( &'a self, event: ClientPublishEvent, - ) -> Pin + Send + 'a>> { + ) -> Pin + Send + 'a>> { Box::pin(async move { println!("Message published to {}: {} bytes", event.topic, event.payload.len()); - // MQTT 5.0 request/response support if let Some(response_topic) = &event.response_topic { println!(" Response topic: {response_topic}"); } if let Some(correlation_data) = &event.correlation_data { println!(" Correlation data: {} bytes", correlation_data.len()); } + PublishAction::Continue }) } diff --git a/crates/mqtt5-protocol/Cargo.toml b/crates/mqtt5-protocol/Cargo.toml index 98fba810..dd871d5c 100644 --- a/crates/mqtt5-protocol/Cargo.toml +++ b/crates/mqtt5-protocol/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "mqtt5-protocol" -version = "0.9.10" +version = "0.10.0" edition.workspace = true rust-version.workspace = true authors.workspace = true diff --git a/crates/mqtt5-wasm/Cargo.toml b/crates/mqtt5-wasm/Cargo.toml index 12dcc5cb..6acd8d75 100644 --- a/crates/mqtt5-wasm/Cargo.toml +++ b/crates/mqtt5-wasm/Cargo.toml @@ -27,7 +27,7 @@ broker = ["client", "dep:mqtt5", "dep:tokio"] codec = ["client", "dep:miniz_oxide"] [dependencies] -mqtt5-protocol = "0.9.10" +mqtt5-protocol = "0.10" mqtt5 = { version = "0.23", optional = true, default-features = false, features = [ "tokio", ] } diff --git a/crates/mqtt5/Cargo.toml b/crates/mqtt5/Cargo.toml index 94fa545e..149c62e3 100644 --- a/crates/mqtt5/Cargo.toml +++ b/crates/mqtt5/Cargo.toml @@ -122,7 +122,7 @@ opentelemetry-otlp = { version = "0.31", features = [ ], optional = true } tracing-opentelemetry = { version = "0.32", optional = true } opentelemetry = { version = "0.31", features = ["trace"], optional = true } -mqtt5-protocol = "0.9.10" +mqtt5-protocol = "0.10" argon2 = "0.5" getrandom = "0.3" bebytes = { version = "3.0", features = ["bytes"] } diff --git a/crates/mqtt5/src/broker/client_handler/publish.rs b/crates/mqtt5/src/broker/client_handler/publish.rs index 829eface..284d53d3 100644 --- a/crates/mqtt5/src/broker/client_handler/publish.rs +++ b/crates/mqtt5/src/broker/client_handler/publish.rs @@ -102,7 +102,7 @@ impl ClientHandler { match self.fire_publish_event(&publish, &client_id).await { PublishAction::Continue => self.route_publish_by_qos(publish, &client_id).await, - PublishAction::Handled => self.complete_qos_handshake(publish).await, + PublishAction::Handled => self.complete_qos_handshake(publish, &client_id).await, PublishAction::Transform(modified) => { self.route_publish_by_qos(modified, &client_id).await } @@ -225,7 +225,11 @@ impl ClientHandler { Ok(()) } - async fn complete_qos_handshake(&mut self, publish: PublishPacket) -> Result<()> { + async fn complete_qos_handshake( + &mut self, + publish: PublishPacket, + client_id: &str, + ) -> Result<()> { match publish.qos { QoS::AtMostOnce => {} QoS::AtLeastOnce => { @@ -235,6 +239,17 @@ impl ClientHandler { } QoS::ExactlyOnce => { let packet_id = publish.packet_id.unwrap(); + if let Some(ref storage) = self.storage { + let inflight = InflightMessage::from_publish( + &publish, + client_id.to_string(), + InflightDirection::Inbound, + InflightPhase::AwaitingPubrel, + ); + if let Err(e) = storage.store_inflight_message(inflight).await { + debug!("failed to persist handled inbound inflight {packet_id}: {e}"); + } + } self.inflight_publishes .insert(packet_id, InflightPublish::Handled); let mut pubrec = PubRecPacket::new(packet_id); diff --git a/crates/mqtt5/src/broker/events.rs b/crates/mqtt5/src/broker/events.rs index 04d139c2..1c3daae2 100644 --- a/crates/mqtt5/src/broker/events.rs +++ b/crates/mqtt5/src/broker/events.rs @@ -7,6 +7,7 @@ use std::future::Future; use std::pin::Pin; use std::sync::Arc; +#[must_use] pub enum PublishAction { Continue, Handled, diff --git a/crates/mqtt5/src/broker/router.rs b/crates/mqtt5/src/broker/router.rs index 39bbcfd3..cb0d4b34 100644 --- a/crates/mqtt5/src/broker/router.rs +++ b/crates/mqtt5/src/broker/router.rs @@ -284,24 +284,25 @@ impl MessageRouter { } pub async fn cleanup_stale_subscriptions(&self) { - let clients = self.clients.read().await; - - let subscribed_ids: HashSet = { + let (subscribed_ids, connected_ids) = { + let clients = self.clients.read().await; let exact = self.exact_subscriptions.read().await; let wildcard = self.wildcard_subscriptions.read().await; - exact + let subscribed: HashSet = exact .values() .flatten() .chain(wildcard.values().flatten()) .map(|sub| sub.client_id.clone()) - .collect() + .collect(); + let connected: HashSet = clients.keys().cloned().collect(); + (subscribed, connected) }; let mut stale: Vec = Vec::new(); let storage = self.storage.as_ref(); for client_id in &subscribed_ids { - if clients.contains_key(client_id) { + if connected_ids.contains(client_id) { continue; } let has_session = if let Some(storage) = storage { @@ -314,16 +315,16 @@ impl MessageRouter { } } - drop(clients); - if stale.is_empty() { return; } + let stale_set: HashSet<&str> = stale.iter().map(String::as_str).collect(); + { let mut exact = self.exact_subscriptions.write().await; for subs in exact.values_mut() { - subs.retain(|sub| !stale.contains(&sub.client_id)); + subs.retain(|sub| !stale_set.contains(sub.client_id.as_str())); } exact.retain(|_, subs| !subs.is_empty()); } @@ -331,7 +332,7 @@ impl MessageRouter { { let mut wildcard = self.wildcard_subscriptions.write().await; for subs in wildcard.values_mut() { - subs.retain(|sub| !stale.contains(&sub.client_id)); + subs.retain(|sub| !stale_set.contains(sub.client_id.as_str())); } wildcard.retain(|_, subs| !subs.is_empty()); } diff --git a/crates/mqtt5/src/lib.rs b/crates/mqtt5/src/lib.rs index 22d90eb6..df28186e 100644 --- a/crates/mqtt5/src/lib.rs +++ b/crates/mqtt5/src/lib.rs @@ -208,6 +208,3 @@ pub use mqtt5_protocol::{ StandardValidator, SubscribeOptions, TopicValidator, Transport, WillMessage, WillProperties, }; pub use types::{ConnectOptions, ConnectionStats}; - -#[cfg(not(target_arch = "wasm32"))] -pub use quinn; diff --git a/crates/mqttv5-cli/Cargo.toml b/crates/mqttv5-cli/Cargo.toml index ed5b9509..ca3fbcca 100644 --- a/crates/mqttv5-cli/Cargo.toml +++ b/crates/mqttv5-cli/Cargo.toml @@ -33,6 +33,7 @@ humantime = "2.3.0" time = { version = "0.3.44", features = ["local-offset", "parsing", "formatting", "macros"] } bebytes = "3.0.2" flate2 = "1.1.9" +quinn = { version = "0.11.9", default-features = false, features = ["rustls-ring", "runtime-tokio"] } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] clap = { version = "4.5", features = ["derive", "env"] } diff --git a/crates/mqttv5-cli/src/commands/bench_cmd.rs b/crates/mqttv5-cli/src/commands/bench_cmd.rs index e906404b..2732ce6a 100644 --- a/crates/mqttv5-cli/src/commands/bench_cmd.rs +++ b/crates/mqttv5-cli/src/commands/bench_cmd.rs @@ -1167,7 +1167,7 @@ async fn subscribe_hol_topics( } fn spawn_quinn_stats_sampler( - conn: Arc, + conn: Arc, records: Arc>>, running: Arc, ) -> tokio::task::JoinHandle<()> { From 1cf65bd733f34abb3042284bc14199a4190894ee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Mon, 9 Mar 2026 21:21:58 -0700 Subject: [PATCH 32/34] allow result_large_err on websocket callback (type dictated by tungstenite) --- crates/mqtt5/src/broker/websocket_server.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/crates/mqtt5/src/broker/websocket_server.rs b/crates/mqtt5/src/broker/websocket_server.rs index 84e52383..c41491a9 100644 --- a/crates/mqtt5/src/broker/websocket_server.rs +++ b/crates/mqtt5/src/broker/websocket_server.rs @@ -136,6 +136,7 @@ where let path = config.path.clone(); let allowed_origins = config.allowed_origins.clone(); + #[allow(clippy::result_large_err)] let callback = |req: &tokio_tungstenite::tungstenite::handshake::server::Request, response: tokio_tungstenite::tungstenite::handshake::server::Response| { @@ -162,7 +163,6 @@ where } } - // Check for the MQTT subprotocol let has_mqtt_subprotocol = req .headers() .get("Sec-WebSocket-Protocol") @@ -174,7 +174,6 @@ where }); if has_mqtt_subprotocol { - // Add the subprotocol to the response let mut response = response; response.headers_mut().insert( "Sec-WebSocket-Protocol", From eb0bc0ae3b325af71fa3226547cf3650d584d9e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Tue, 10 Mar 2026 06:46:43 -0700 Subject: [PATCH 33/34] re-inject identity properties on PublishAction::Transform, clean up stale share group counters --- crates/mqtt5/src/broker/client_handler/publish.rs | 4 +++- crates/mqtt5/src/broker/router.rs | 13 +++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/crates/mqtt5/src/broker/client_handler/publish.rs b/crates/mqtt5/src/broker/client_handler/publish.rs index 284d53d3..96820944 100644 --- a/crates/mqtt5/src/broker/client_handler/publish.rs +++ b/crates/mqtt5/src/broker/client_handler/publish.rs @@ -103,7 +103,9 @@ impl ClientHandler { match self.fire_publish_event(&publish, &client_id).await { PublishAction::Continue => self.route_publish_by_qos(publish, &client_id).await, PublishAction::Handled => self.complete_qos_handshake(publish, &client_id).await, - PublishAction::Transform(modified) => { + PublishAction::Transform(mut modified) => { + modified.properties.inject_sender(self.user_id.as_deref()); + modified.properties.inject_client_id(Some(&client_id)); self.route_publish_by_qos(modified, &client_id).await } } diff --git a/crates/mqtt5/src/broker/router.rs b/crates/mqtt5/src/broker/router.rs index cb0d4b34..ff9f3ced 100644 --- a/crates/mqtt5/src/broker/router.rs +++ b/crates/mqtt5/src/broker/router.rs @@ -344,6 +344,19 @@ impl MessageRouter { } } + { + let exact = self.exact_subscriptions.read().await; + let wildcard = self.wildcard_subscriptions.read().await; + let active_groups: HashSet<&str> = exact + .values() + .flatten() + .chain(wildcard.values().flatten()) + .filter_map(|sub| sub.share_group.as_deref()) + .collect(); + let mut counters = self.share_group_counters.write().await; + counters.retain(|group, _| active_groups.contains(group.as_str())); + } + if let Some(storage) = storage { for client_id in &stale { if let Err(e) = storage.remove_queued_messages(client_id).await { From 210cb9c33590b82b1df37553a05a856499762781 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fabr=C3=ADcio=20Bracht?= Date: Tue, 10 Mar 2026 12:09:01 -0700 Subject: [PATCH 34/34] rewrite JOSS paper for flow, add draft PDF workflow --- .github/workflows/joss.yml | 24 ++++++++++++++++++++++++ joss/paper.md | 30 +++++++++++++++--------------- 2 files changed, 39 insertions(+), 15 deletions(-) create mode 100644 .github/workflows/joss.yml diff --git a/.github/workflows/joss.yml b/.github/workflows/joss.yml new file mode 100644 index 00000000..607ddd85 --- /dev/null +++ b/.github/workflows/joss.yml @@ -0,0 +1,24 @@ +name: Draft JOSS Paper +on: + push: + paths: + - joss/** + - .github/workflows/joss.yml + +jobs: + paper: + runs-on: ubuntu-latest + name: Paper Draft + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Build draft PDF + uses: openjournals/openjournals-draft-action@master + with: + journal: joss + paper-path: joss/paper.md + - name: Upload + uses: actions/upload-artifact@v4 + with: + name: paper + path: joss/paper.pdf diff --git a/joss/paper.md b/joss/paper.md index 53e3715f..5eadc61c 100644 --- a/joss/paper.md +++ b/joss/paper.md @@ -1,5 +1,5 @@ --- -title: 'mqtt5: A Rust MQTT v5.0 Client and Broker Library with QUIC Transport and Specification Conformance Testing' +title: "mqtt5: A Rust MQTT v5.0 Client and Broker Library with QUIC Transport and Specification Conformance Testing" tags: - Rust - MQTT @@ -21,41 +21,41 @@ bibliography: paper.bib # Summary -`mqtt5` is an open-source Rust library that provides a complete MQTT v5.0 [@mqtt-v5-spec] client and broker implementation across four transports—TCP, TLS 1.3, WebSocket, and QUIC—and three platform targets: native, WebAssembly, and bare-metal embedded. The library is organized as a Cargo workspace of five crates totaling approximately 47,000 lines of code and 33,000 lines of tests. A conformance test suite tracks all 247 normative statements from the OASIS MQTT v5.0 standard, with 174 directly tested. The QUIC transport, built on Quinn [@quinn], supports three configurable stream mapping strategies (control-only, per-topic, per-publish) and an unreliable datagram mode, enabling researchers to study how different QUIC stream-to-MQTT mappings affect head-of-line blocking, throughput, and latency under varying network conditions. +`mqtt5` is an open-source Rust library providing a complete MQTT v5.0 [@mqtt-v5-spec] client and broker across four transports (TCP, TLS 1.3, WebSocket, and QUIC) and three platform targets (native, WebAssembly, and bare-metal embedded). Its QUIC transport, built on Quinn [@quinn], lets users choose how MQTT topics map onto QUIC streams and optionally carry messages over unreliable datagrams. A companion conformance suite tracks every normative statement in the OASIS specification and links each one to the test functions that verify it. The library is organized as a Cargo workspace of five crates totaling approximately 47,000 lines of code and 33,000 lines of tests. # Statement of need -MQTT v5.0 is a widely adopted publish-subscribe protocol for IoT deployments [@bansal2020iot-mqtt-survey], but existing implementations leave gaps that affect researchers and developers working at the intersection of IoT protocols and transport-layer innovation. +MQTT v5.0 is a widely adopted publish-subscribe protocol for IoT deployments [@bansal2020iot-mqtt-survey], yet studying how it interacts with modern transport-layer features requires tooling that existing implementations do not provide. -No existing MQTT library provides configurable QUIC stream mapping strategies. EMQX [@emqx] added QUIC support using a single-stream mapping, but does not expose alternative strategies. Researchers studying how QUIC's multiplexed streams interact with MQTT's topic-based message routing must either modify broker internals or build custom implementations. `mqtt5` makes this a configuration option: control-only (single stream), per-topic (one stream per topic), and per-publish (one stream per message), plus an unreliable datagram mode for loss-tolerant use cases. +QUIC multiplexes independent byte streams within a single connection, which in principle eliminates head-of-line blocking between unrelated data flows. Whether this advantage materializes for MQTT traffic depends on how topics are mapped onto streams: a single shared stream behaves like TCP; one stream per topic isolates retransmission delays between topics; one stream per message provides maximum independence at higher per-message overhead. Exploring these trade-offs today means modifying broker internals or writing a custom stack, because no published MQTT library exposes stream mapping as a user-facing option. `mqtt5` turns this into a runtime configuration choice, and adds an unreliable datagram mode for loss-tolerant use cases. -No existing MQTT implementation provides a conformance test suite with per-statement traceability against the OASIS specification. The 247 normative statements in MQTT v5.0 are identified by a machine-readable pattern (`[MQTT-x.x.x-y]`), yet no published broker maps each statement to a test function. `mqtt5` maintains a manifest (`conformance.toml`) that classifies every statement and links it to the test functions that verify it, providing a reusable methodology for protocol conformance tracking. +Separately, the OASIS MQTT v5.0 standard contains 247 normative statements identified by a machine-readable pattern (`[MQTT-x.x.x-y]`), yet no published implementation maps each statement to a test function. Without per-statement traceability, conformance gaps are discovered ad hoc rather than systematically. `mqtt5` maintains a manifest (`conformance.toml`) that classifies every statement and links it to the tests that verify it, providing a reusable methodology for protocol conformance tracking. -Finally, no existing MQTT library compiles from a single codebase to native, WebAssembly, and bare-metal embedded targets. The `no_std` protocol codec enables use on ARM Cortex-M4 and RISC-V microcontrollers, while the WASM crate provides JavaScript bindings for browser-based MQTT clients and an optional in-browser broker. +Finally, MQTT deployments span cloud servers, browsers, and microcontrollers, but existing libraries target only a subset of these environments. The `no_std` protocol codec in `mqtt5` enables use on ARM Cortex-M4 and RISC-V devices, while the WASM crate provides JavaScript bindings for browser-based MQTT clients and an optional in-browser broker capable of bridging to external brokers. # State of the field -Mosquitto [@mosquitto] is a widely deployed C broker and client library supporting TCP, TLS, and WebSocket, but not QUIC, and without a published conformance suite. EMQX [@emqx] is an Erlang/OTP broker designed for horizontal scaling with QUIC support via a single-stream mapping, but without configurable stream strategies, datagram transport, or WebAssembly deployment. HiveMQ [@hivemq] is a Java broker with an open-source community edition and proprietary enterprise features, without QUIC support. rumqtt [@rumqtt] is a Rust MQTT library with a client and broker supporting TCP, TLS, and WebSocket, with partial MQTT v5.0 support but no QUIC, WebAssembly, or embedded targets. paho-mqtt [@paho-mqtt] is an Eclipse Foundation client library in C, C++, Java, Python, and other languages, supporting v5.0 over TCP, TLS, and WebSocket, but is client-only. +Mosquitto [@mosquitto] is a widely deployed C broker and client supporting TCP, TLS, and WebSocket. EMQX [@emqx] is an Erlang/OTP broker designed for horizontal scaling; its QUIC support uses a fixed single-stream mapping. HiveMQ [@hivemq] is a Java broker with an open-source community edition and proprietary enterprise features. rumqtt [@rumqtt] is a Rust client and broker with partial MQTT v5.0 support over TCP, TLS, and WebSocket. paho-mqtt [@paho-mqtt] is an Eclipse Foundation client library available in C, C++, Java, Python, and other languages, supporting v5.0 over TCP, TLS, and WebSocket. -To our knowledge, `mqtt5` is the only MQTT implementation that combines a specification conformance suite with per-statement traceability, configurable QUIC stream mapping strategies with datagram transport, and multi-target support spanning native, WebAssembly, and bare-metal embedded from a single codebase. +None of these projects offer user-selectable QUIC stream mapping strategies, a datagram transport mode, a conformance suite with per-statement traceability, or compilation from a single codebase to native, WebAssembly, and bare-metal embedded targets. # Software design -The library separates concerns across five crates. `mqtt5-protocol` implements the MQTT v5.0 packet codec, topic validation, session state management, and QoS flow control under `no_std` with the `alloc` crate, enabling bare-metal deployment. `mqtt5` adds async networking via Tokio [@tokio], transport implementations, the broker's message router, authentication subsystem, and persistent storage. `mqtt5-wasm` wraps the client and broker with `wasm-bindgen` for browser environments. `mqttv5-cli` provides a command-line interface for publishing, subscribing, broker operation, and benchmarking. `mqtt5-conformance` contains the specification test suite. +The library separates concerns across five crates. `mqtt5-protocol` implements the packet codec, topic validation, session state, and QoS flow control under `no_std` with the `alloc` crate, enabling bare-metal deployment. `mqtt5` adds async networking via Tokio [@tokio], transport implementations, the broker's message router, authentication, and persistent storage. `mqtt5-wasm` wraps the client and broker with `wasm-bindgen` for browser environments. `mqttv5-cli` provides a command-line tool for publishing, subscribing, broker operation, and benchmarking. `mqtt5-conformance` contains the specification test suite. -All transports implement a common `Transport` trait. The broker supports simultaneous listeners on all four transports. The QUIC transport's three stream mapping strategies allow the same broker and client to operate with different stream-to-topic relationships by changing a configuration option rather than modifying code. +All transports implement a common `Transport` trait, and the broker can listen on all four simultaneously. The QUIC stream mapping—control-only, per-topic, or per-publish—is selected at connection time without code changes; the datagram mode is toggled independently. -The broker is structured around four subsystems: a message router with exact-match and wildcard subscription tables supporting shared subscriptions; session management with persistent storage via pluggable backends (in-memory for testing, file-based with atomic writes for production); a pluggable authentication system with implementations for passwords, SCRAM-SHA-256, JWT, and X.509 certificates; and a security layer that injects verifiable sender identity properties on every published message. +The broker comprises a message router with exact-match and wildcard subscription tables supporting shared subscriptions; session management with pluggable storage backends (in-memory or file-based with atomic writes); a pluggable authentication system covering passwords, SCRAM-SHA-256, JWT, and X.509 certificates; and a security layer that injects verifiable sender identity properties on every published message. -The conformance suite uses three tiers: raw protocol tests that send hand-crafted byte sequences to test broker behavior against malformed packets, structural validation tests that inspect response packet structure, and behavioral tests that exercise end-to-end message flows through the library's own client. The conformance process exposed 18 broker implementation gaps—9 missing validations and 9 incorrect behaviors—all documented in a development diary with dates, normative statement references, and fixing commits. +The conformance suite operates in three tiers: raw protocol tests sending hand-crafted byte sequences to probe malformed-packet handling, structural tests inspecting response packet fields, and behavioral tests exercising end-to-end message flows through the library's own client. This process exposed 18 implementation gaps—9 missing validations and 9 incorrect behaviors—documented in a development diary with normative statement references and fixing commits. -Beyond conformance, the library is verified through 483 integration tests covering all transports and MQTT features, property-based testing with proptest [@proptest] for topic validation and session state invariants, and deterministic network simulation with Turmoil [@turmoil] for partition and latency testing. A multi-project validation approach uses downstream consumers—a web frontend importing the npm package published from the WASM crate, and the CLI tool—as implicit integration test harnesses that surface defects at runtime-target boundaries. The CI pipeline runs seven parallel jobs on every push: formatting, linting with pedantic Clippy, unit tests, MSRV verification, documentation completeness, WASM compilation, and embedded cross-compilation for ARM Cortex-M4 and RISC-V. +Beyond conformance, the library is verified through 483 integration tests, property-based testing with proptest [@proptest] for topic validation and session state invariants, and deterministic network simulation with Turmoil [@turmoil] for partition and latency testing. Downstream consumers—a web frontend importing the WASM npm package, and the CLI tool—serve as implicit integration harnesses that surface defects at target boundaries. The CI pipeline runs seven parallel jobs: formatting, pedantic Clippy linting, unit tests, MSRV verification, documentation, WASM compilation, and embedded cross-compilation for ARM Cortex-M4 and RISC-V. # Research impact statement -`mqtt5` is, to our knowledge, the first MQTT implementation to offer configurable QUIC stream mapping strategies and QUIC datagram transport for MQTT messaging. These capabilities enable controlled experimentation on how QUIC's multiplexed streams interact with MQTT's topic-based routing—a research question that previously required building custom implementations from scratch. The library's built-in benchmarking tool (`mqttv5 bench`) has been used in a series of controlled experiments comparing TCP and QUIC transport performance under varying network conditions, measuring connection latency, head-of-line blocking isolation across stream strategies, throughput scaling, datagram-versus-stream trade-offs, and resource overhead at scale. The configurable stream mapping strategies provide a single codebase where the only variable is the QUIC stream strategy, eliminating confounds from differing MQTT implementations. +The library's built-in benchmarking tool (`mqttv5 bench`) has been used in a series of controlled experiments comparing TCP and QUIC under emulated network impairment. Because the only variable between runs is the stream mapping strategy, confounds from differing MQTT implementations are eliminated. Experiments conducted so far cover connection latency, head-of-line blocking isolation, throughput under packet loss, datagram-versus-stream trade-offs, and resource overhead at scale. -The conformance methodology—a machine-readable manifest linking every normative statement to its test functions—is reusable for other protocol implementations. The 18 implementation gaps discovered demonstrate the value of systematic per-statement conformance testing for protocol libraries. +The conformance methodology is reusable beyond MQTT: any protocol with machine-readable normative identifiers can adopt the same manifest-driven approach. The 18 gaps discovered during development demonstrate the practical value of systematic per-statement testing. The library is published on crates.io as the `mqtt5` crate and as an npm package for browser-based use.

4X+C|qdr?`)q~U&=T8J14Djh3C^T^)q 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 literal 0 HcmV?d00001 diff --git a/paper/figures/fig07.pdf b/paper/figures/fig07.pdf new file mode 100644 index 0000000000000000000000000000000000000000..775bdfa8d4fc57ca1f3a6b4e9c826ae28801e5ae GIT binary patch literal 19570 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 p*%@t+G2TDBV(0ihw~V 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 pI6I>aGRAuGlh_O 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