From e3fcd75595fe928b6e97ee9b962fd3032ff453aa Mon Sep 17 00:00:00 2001 From: javier Date: Thu, 6 Mar 2025 20:04:19 +0100 Subject: [PATCH 01/35] first version of questdb internals --- documentation/guides/questdb-internals.md | 295 ++++++++++++++++++++++ 1 file changed, 295 insertions(+) create mode 100644 documentation/guides/questdb-internals.md diff --git a/documentation/guides/questdb-internals.md b/documentation/guides/questdb-internals.md new file mode 100644 index 000000000..2404331fc --- /dev/null +++ b/documentation/guides/questdb-internals.md @@ -0,0 +1,295 @@ +--- +id: questdb-internals +title: QuestDB Internals +slug: questdb-internals +description: A deep technical dive into the internal architecture, storage engine, query processing, and native integrations of QuestDB. +--- + +## Introduction + +QuestDB serves high-speed ingestion and low-latency analytics on time-series data. It +ingests billions of rows per day and delivers sub-millisecond query latencies. This document +explains QuestDB’s internal architecture, storage engine, query processing, data ingestion +strategies, native memory management, and more. + +- **High performance:** The system ingests data rapidly and executes SQL queries fast. +- **Columnar storage & sequential reads:** Data is stored by columns and partitioned by + incremental timestamp so that most queries read data sequentially. +- **Direct memory & native integrations:** The engine uses off-heap memory and executes native + calls from Java to C++ and Rust to minimize hotpath allocations and reduce garbage collection + slowdowns. +- **Multi-protocol support:** QuestDB supports a rich SQL interface, PostgreSQL wire protocol, a + REST API, and ILP (Influx Line Protocol) for high-speed ingestion. +- **Parallel processing:** QuestDB uses available resources to run many operations in parallel. + +## High-level architecture + +QuestDB comprises several key components: + +- **Storage engine:** + The engine uses a column-oriented design to ensure high I/O performance and low latency. + +- **Memory management and native integration:** + The system leverages both memory mapping and explicit memory management techniques, + and integrates native code for performance-critical tasks. + +- **Query processor:** + A custom SQL parser, a just-in-time (JIT) compiler, and a vectorized execution engine process + data in table page frames for better CPU use. + +- **Data ingestion engine:** + The engine supports bulk and streaming ingestion. It writes data to a row-based write-ahead + log (WAL) and then converts it into a columnar format. In QuestDB Enterprise, the WAL segments + ship to object storage for replication. + +- **Networking layer:** + The system exposes RESTful APIs and implements ILP and PostgreSQL wire protocols so that + existing tools and drivers work out-of-the-box. It also offers a health and metrics endpoint. + +- **Observability:** + QuestDB provides real-time metrics, a health check endpoint, and logging to monitor + performance and simplify troubleshooting. + +- **Web console:** + The engine includes a web console to run SQL statements, bulk load CSV files, and show + monitoring dashboards. QuestDB Enterprise supports single sign-on (SSO) in the web console. + +## Storage engine + +### Column-oriented storage + +- **Data layout:** + The system stores each table as separate files per column. Fixed-size data types use one file + per column, while variable-size data types (such as `VARCHAR` or `STRING`) use two files per column. + +- **CPU optimization:** + Columnar storage improves CPU use during vectorized operations, which speeds up + aggregations and computations. + +- **Compression:** + Uniform data types allow efficient compression that reduces disk space and speeds up reads + when ZFS compression is enabled. + +## Memory management and native integration + +### Memory-mapped files + +- **Direct OS integration:** + Memory-mapped files let QuestDB use the operating system’s page cache. This reduces explicit + I/O calls and speeds up sequential reads. + +- **Sequential access:** + When data partitions by incremental timestamp, memory mapping ensures that reads are + sequential and efficient. + +### Direct memory management and native integration + +- **Off-heap memory usage:** + QuestDB allocates direct memory via memory mapping and low-level APIs (such as Unsafe) to + bypass the JVM garbage collector. This reduces latency spikes and garbage collection delays. + +- **Hotpath efficiency:** + The system pre-allocates and reuses memory in critical code paths, avoiding dynamic allocation + on the hotpath. + +- **Native code integration:** + QuestDB uses native libraries written in C++ and Rust for performance-critical tasks. These + native components share off-heap buffers with Java via JNI. + - **Zero-copy interoperability:** + Sharing memory between Java and native code minimizes data copying and reduces latency. + - **Hybrid architecture:** + This integration lets QuestDB use Java for rapid development and C++/Rust for low-level, + high-performance routines. + +## Query engine + +### SQL parsing & optimization + +- **Custom SQL parser:** + The parser supports QuestDB’s SQL dialect and time-series extensions. It converts SQL queries + into an optimized abstract syntax tree (AST). + +- **Compilation pipeline:** + The engine compiles SQL into an execution plan through stages that push down predicates and + rewrite queries to remove unnecessary operations. + +- **Optimization techniques:** + The planner applies rule-based rewrites and simple cost estimations to choose efficient + execution paths. + +### Execution model + +- **Vectorized processing:** + The engine applies the same operation to many data elements simultaneously. This maximizes CPU + cache use and reduces overhead. + +- **JIT compilation:** + Many queries compile critical parts of the execution plan to native machine code just in time. + +- **Query plan caching:** + The system caches query plans for reuse within the same connection. (Query results are not + cached.) + +- **Column data caching:** + Data pages read from disk are kept in system memory. Sufficient memory prevents frequent disk + reads. + +- **Operator pipeline:** + The execution plan runs as a series of operators (filters, joins, aggregators) in a tightly + integrated pipeline. + +- **Parallel execution:** + The engine distributes workloads across multiple threads. Most operations run in parallel, + though some, such as index searches, run single-threaded. + +## Time-series optimizations + +### Designated timestamp + +- **Timestamp sorting:** + Data stores in order of incremental timestamp. Since ingestion is usually + chronological, the system often uses a fast append-only strategy. + +- **Out-of-order data:** + When data arrives out of order, QuestDB rearranges it to maintain timestamp order. The + engine splits partitions to minimize write amplification and compacts them in the background. + +- **Rapid range queries:** + Sorted data lets the system quickly locate the start and end of data files, which speeds + up range queries. + +### Data partitioning and sequential reads + +- **Partitioning by time:** + Data partitions by timestamp with hourly, daily, weekly, monthly, or yearly resolution. + +- **Partition pruning:** + The design lets the engine skip partitions that fall outside query filters. Combined with + incremental timestamp sorting, this reduces latency. + +- **Enhanced compression:** + Chronologically sorted data compresses better when ZFS compression is enabled, which + further improves disk I/O. + +- **Lifecycle policies:** + The system can delete partitions manually or automatically via TTL. It also supports + detaching or attaching partitions using SQL commands. + +### In-memory processing + +- **Caching:** + The engine caches recent and frequently accessed data in memory, reducing disk reads. + +- **Off-heap buffers:** + Off-heap memory, managed via memory mapping and direct allocation, avoids garbage + collection overhead. + +- **Optimized algorithms:** + Core query operators work on data vectors and use CPU-level optimizations such as SIMD. + +## Data ingestion & write path + +### Bulk ingestion + +- **CSV ingestion:** + QuestDB offers a CSV ingestion endpoint via the REST API and web console. A specialized COPY + command uses io_uring on fast drives to speed up ingestion. + +### Real-time streaming + +- **High-frequency writes:** + The streaming ingestion path handles millions of rows per second with non-blocking I/O. + +- **Durability:** + The system writes data to a row-based write-ahead log (WAL) and then converts it into column- + based files for efficient reads. + +- **Concurrent writes:** + Multiple connections writing to the same table create parallel WAL files that the engine + later consolidates into columnar storage. + +### ILP protocol support + +- **Native ILP integration:** + QuestDB supports the Influx Line Protocol (ILP) for high-speed data ingestion. + +- **Minimal parsing overhead:** + The ILP parser quickly maps incoming data to internal structures. + +- **Parallel ingestion:** + The ILP path uses off-heap buffers and direct memory management to bypass JVM heap + allocation. + +- **Protocol versatility:** + In addition to ILP, QuestDB supports REST and PostgreSQL wire protocols. + +## Observability & diagnostics + +- **Metrics:** + QuestDB exposes detailed metrics in Prometheus format, including query statistics, memory + usage, and I/O details. + +- **Health check:** + A minimal HTTP server monitors system health. + +- **Metadata tables:** + The engine provides metadata tables to query table status, partition status, query execution, + and latency. + +- **Extensive logging:** + Logging covers SQL parsing, execution, background processing, and runtime exceptions. The + framework minimizes performance impact. + +- **Real-time metric dashboards:** + The web console lets you create dashboards that display per-table metrics. + +## Design patterns & best practices + +- **Immutable data structures:** + The system favors immutability to avoid concurrency issues and simplify state + management. + +- **Modular architecture:** + Each component (storage, query processing, ingestion, etc.) has well-defined interfaces + that enhance maintainability. + +- **Factory & builder patterns:** + The engine uses these patterns to centralize construction logic for complex objects like SQL + execution plans and storage buffers. + +- **Lazy initialization:** + Resource-intensive components initialize only when needed to reduce startup overhead. + +- **Rigorous testing & benchmarks:** + Unit tests, integration tests, and performance benchmarks ensure that new enhancements do + not compromise reliability or speed. + +## Security + +- **Built-in admin and read-only users:** + QuestDB includes built-in admin and read-only users for the pgwire protocol and HTTP + endpoints using HTTP Basic Auth. + +- **HTTP basic authentication:** + You can enable HTTP Basic Authentication for the HTTP API, web console, and pgwire + protocol. Health-check and metrics endpoints can be configured independently. + +- **Token-based authentication:** + QuestDB Enterprise offers HTTP and JWT token authentication. QuestDB Open Source + supports token authentication for ILP over TCP. + +- **TLS on all protocols:** + QuestDB Enterprise supports TLS on all protocols and endpoints. + +- **Role-based access control:** + Enterprise users can create user groups and assign service accounts and users. Grants can be + configured individually or at the group level with fine granularity, including column-level + access. + +- **Single sign-on:** + QuestDB Enterprise supports SSO via OIDC with Active Directory, EntraID, or OAuth2. + +## Further reading & resources + +- [QuestDB GitHub Repository](https://github.com/questdb/questdb) +- [QuestDB Documentation](/docs) From 5077d2662fc71e1b97054e45ab8720f148020218 Mon Sep 17 00:00:00 2001 From: goodroot <9484709+goodroot@users.noreply.github.com> Date: Mon, 10 Mar 2025 13:11:07 -0700 Subject: [PATCH 02/35] remove duplication --- documentation/guides/questdb-internals.md | 37 ++++++++--------------- 1 file changed, 12 insertions(+), 25 deletions(-) diff --git a/documentation/guides/questdb-internals.md b/documentation/guides/questdb-internals.md index 2404331fc..8bd548482 100644 --- a/documentation/guides/questdb-internals.md +++ b/documentation/guides/questdb-internals.md @@ -5,48 +5,35 @@ slug: questdb-internals description: A deep technical dive into the internal architecture, storage engine, query processing, and native integrations of QuestDB. --- -## Introduction +QuestDB offers high-speed ingestion and low-latency analytics on time-series data. -QuestDB serves high-speed ingestion and low-latency analytics on time-series data. It -ingests billions of rows per day and delivers sub-millisecond query latencies. This document -explains QuestDB’s internal architecture, storage engine, query processing, data ingestion -strategies, native memory management, and more. +This document explains QuestDB's internal architecture. -- **High performance:** The system ingests data rapidly and executes SQL queries fast. -- **Columnar storage & sequential reads:** Data is stored by columns and partitioned by - incremental timestamp so that most queries read data sequentially. -- **Direct memory & native integrations:** The engine uses off-heap memory and executes native - calls from Java to C++ and Rust to minimize hotpath allocations and reduce garbage collection - slowdowns. -- **Multi-protocol support:** QuestDB supports a rich SQL interface, PostgreSQL wire protocol, a - REST API, and ILP (Influx Line Protocol) for high-speed ingestion. -- **Parallel processing:** QuestDB uses available resources to run many operations in parallel. +## Key components -## High-level architecture +QuestDB is comprised of several key components: -QuestDB comprises several key components: - -- **Storage engine:** +- **[Storage engine](#storage-engine):** The engine uses a column-oriented design to ensure high I/O performance and low latency. -- **Memory management and native integration:** +- **[Memory management and native integration](#memory-management-and-native-integration):** The system leverages both memory mapping and explicit memory management techniques, and integrates native code for performance-critical tasks. -- **Query processor:** +- **[Query processor](#query-engine):** A custom SQL parser, a just-in-time (JIT) compiler, and a vectorized execution engine process data in table page frames for better CPU use. -- **Data ingestion engine:** +- **[Data ingestion engine](#data-ingestion--write-path):** The engine supports bulk and streaming ingestion. It writes data to a row-based write-ahead log (WAL) and then converts it into a columnar format. In QuestDB Enterprise, the WAL segments ship to object storage for replication. -- **Networking layer:** +- **[Networking layer](#ilp-protocol-support):** The system exposes RESTful APIs and implements ILP and PostgreSQL wire protocols so that existing tools and drivers work out-of-the-box. It also offers a health and metrics endpoint. -- **Observability:** +- **[Observability](#observability--diagnostics):** QuestDB provides real-time metrics, a health check endpoint, and logging to monitor performance and simplify troubleshooting. @@ -75,7 +62,7 @@ QuestDB comprises several key components: ### Memory-mapped files - **Direct OS integration:** - Memory-mapped files let QuestDB use the operating system’s page cache. This reduces explicit + Memory-mapped files let QuestDB use the operating system's page cache. This reduces explicit I/O calls and speeds up sequential reads. - **Sequential access:** @@ -106,7 +93,7 @@ QuestDB comprises several key components: ### SQL parsing & optimization - **Custom SQL parser:** - The parser supports QuestDB’s SQL dialect and time-series extensions. It converts SQL queries + The parser supports QuestDB's SQL dialect and time-series extensions. It converts SQL queries into an optimized abstract syntax tree (AST). - **Compilation pipeline:** From d9912db925dacd69a2ee35b3e90ab2d4dec0b33f Mon Sep 17 00:00:00 2001 From: javier Date: Tue, 11 Mar 2025 19:39:28 +0100 Subject: [PATCH 03/35] final javier's review --- documentation/concept/interval-scan.md | 1 + documentation/concept/partitions.md | 1 + documentation/concept/storage-model.md | 2 + documentation/concept/write-ahead-log.md | 2 + documentation/guides/questdb-internals.md | 329 +++++++++++++++--- documentation/operations/rbac.md | 14 +- .../guides/questdb-internals/query_plan.webp | Bin 0 -> 11360 bytes .../questdb-high-level-architecture.svg | 1 + .../guides/questdb-internals/telemetry.webp | Bin 0 -> 68794 bytes 9 files changed, 288 insertions(+), 62 deletions(-) create mode 100644 static/images/guides/questdb-internals/query_plan.webp create mode 100644 static/images/guides/questdb-internals/questdb-high-level-architecture.svg create mode 100644 static/images/guides/questdb-internals/telemetry.webp diff --git a/documentation/concept/interval-scan.md b/documentation/concept/interval-scan.md index 0b559fb63..7077e5fcf 100644 --- a/documentation/concept/interval-scan.md +++ b/documentation/concept/interval-scan.md @@ -39,6 +39,7 @@ that falls outside the relevant intervals. However, it's important to note that **Interval Scan** does not apply to the results of sub-queries, as the data returned from a sub-query is not guaranteed to be in timestamp order. + + This document explains QuestDB's internal architecture. @@ -33,29 +42,81 @@ QuestDB is comprised of several key components: The system exposes RESTful APIs and implements ILP and PostgreSQL wire protocols so that existing tools and drivers work out-of-the-box. It also offers a health and metrics endpoint. +- **[Replication layer](#replication):** + QuestDB Enterprise supports horizontal scalability for reads with read replicas, and for + writes with multi-primary. + - **[Observability](#observability--diagnostics):** QuestDB provides real-time metrics, a health check endpoint, and logging to monitor performance and simplify troubleshooting. -- **Web console:** +- **[Web console](/docs/web-console/):** The engine includes a web console to run SQL statements, bulk load CSV files, and show monitoring dashboards. QuestDB Enterprise supports single sign-on (SSO) in the web console. ## Storage engine +### Parallel Write-Ahead-Log + +- **Two-phase writes**: All changes to data are recorded in a Write-Ahead-Log (WAL) before they +are written to the database files. This means that in case of a system crash or power failure, the database can recover to a consistent state by replaying the log entries. + +- **Commit and write separation**: By decoupling the transaction commit from the disk write process, +a WAL improves the performance of write-intensive workloads, as it allows for sequential disk writes +which are generally faster than random ones. + +- **Per-table WAL**: WAL files are separated per table, and also per active connection, allowing for +concurrent data ingestion, modifications, and schema changes without locking the entire table. + +- **WAL Consistency**: QuestDB implements a component called "Sequencer", which ensures that data +appears consistent to all readers, even during ongoing write operations. + + + + +- **TableWriter**: Changes stored in the WAL, is stored in columnat format by the TableWriter, which +can handle and resolve out-of-order data writes, and enables deduplication. Column files use an +[append model](/docs/concept/storage-model/). + + + + ### Column-oriented storage - **Data layout:** The system stores each table as separate files per column. Fixed-size data types use one file per column, while variable-size data types (such as `VARCHAR` or `STRING`) use two files per column. + + + + - **CPU optimization:** Columnar storage improves CPU use during vectorized operations, which speeds up aggregations and computations. - **Compression:** Uniform data types allow efficient compression that reduces disk space and speeds up reads - when ZFS compression is enabled. + when [ZFS compression](/docs/guides/compression-zfs/) is enabled. Parquet files generated + by QuestDB use native compression. ## Memory management and native integration @@ -104,14 +165,57 @@ QuestDB is comprised of several key components: The planner applies rule-based rewrites and simple cost estimations to choose efficient execution paths. +- **Columnar reads:** + Table columns are randomly accessible. Columns with fixed size data types are read by translating + the record number into a file offset by a simple bit shift. The offset in the column file is then + translated into an offset in a lazily mapped memory page, where the required value is read from. + + + + ### Execution model -- **Vectorized processing:** - The engine applies the same operation to many data elements simultaneously. This maximizes CPU - cache use and reduces overhead. +- **Operator pipeline:** + The execution plan runs as a series of operators (filters, joins, aggregators) in a tightly + integrated pipeline. + + + +- **JIT compilation and Vectorized processing:** + Queries with a `WHERE` clause [compile](/docs/concept/jit-compiler) critical parts of the execution plan to native machine code (SIMD AVX-2 instructions) just in time. Vectorised instructions apply + the same operation to many data elements simultaneously. This maximizes CPU cache use and reduces overhead. + +- **Multi-threaded execution:** + On top of the JIT, QuestDB tries to execute as many queries as possible in a multi-threaded, + multi-core fashion. Some queries, for example those involving an index, are executed on a single + thread. Other queries, like those involving `GROUP BY` and `SAMPLE BY`, execute a pipeline with some single-threaded stages and some multi-threaded stages to avoid slow downs when groups are unbalanced. + +
+ +```mermaid +graph TD + A["Publish aggregate tasks
(Single thread)"] --> B["Filter & Aggregate
(N threads)"] + B --> C["Publish merge tasks
(Single thread)"] + C --> D["Merge partition parts
(N threads)"] + D --> E["Collect results
(Single thread)"] +``` -- **JIT compilation:** - Many queries compile critical parts of the execution plan to native machine code just in time. +
+ +- **Worker pools:** QuestDB allows to configure different pools for specialized functions, like +parsing incoming data, applying WAL file changes, handling PostgreSQL-Wire protocol, or responding to HTTP connections. By default, most tasks are handled by a shared worker pool. - **Query plan caching:** The system caches query plans for reuse within the same connection. (Query results are not @@ -121,13 +225,6 @@ QuestDB is comprised of several key components: Data pages read from disk are kept in system memory. Sufficient memory prevents frequent disk reads. -- **Operator pipeline:** - The execution plan runs as a series of operators (filters, joins, aggregators) in a tightly - integrated pipeline. - -- **Parallel execution:** - The engine distributes workloads across multiple threads. Most operations run in parallel, - though some, such as index searches, run single-threaded. ## Time-series optimizations @@ -135,28 +232,46 @@ QuestDB is comprised of several key components: - **Timestamp sorting:** Data stores in order of incremental timestamp. Since ingestion is usually - chronological, the system often uses a fast append-only strategy. + chronological, the system uses a fast append-only strategy, except for updates and out-of-order data. + +- **Rapid interval queries and sequential reads:** + Sorted data lets the system quickly locate the start and end of data files, which speeds + up [interval queries](/docs/concept/interval-scan/). When data is accessed by increasing timestamp, + reads are sequential for each column file, which makes I/O very efficient. + + + - **Out-of-order data:** - When data arrives out of order, QuestDB rearranges it to maintain timestamp order. The - engine splits partitions to minimize write amplification and compacts them in the background. + When data arrives out of order, QuestDB [rearranges it](/docs/concept/partitions/#splitting-and-squashing-time-partitions) to maintain timestamp order. The + engine splits partitions to minimize [write amplification](/docs/operations/capacity-planning/#write-amplification) and compacts them in the background. -- **Rapid range queries:** - Sorted data lets the system quickly locate the start and end of data files, which speeds - up range queries. ### Data partitioning and sequential reads - **Partitioning by time:** - Data partitions by timestamp with hourly, daily, weekly, monthly, or yearly resolution. + Data [partitions by timestamp](/docs/concept/partitions/) with hourly, daily, weekly, monthly, or yearly resolution. + + + - **Partition pruning:** The design lets the engine skip partitions that fall outside query filters. Combined with incremental timestamp sorting, this reduces latency. -- **Enhanced compression:** - Chronologically sorted data compresses better when ZFS compression is enabled, which - further improves disk I/O. - **Lifecycle policies:** The system can delete partitions manually or automatically via TTL. It also supports @@ -165,22 +280,45 @@ QuestDB is comprised of several key components: ### In-memory processing - **Caching:** - The engine caches recent and frequently accessed data in memory, reducing disk reads. + The engine uses the OS cache to access recent and frequently accessed data in memory, reducing + disk reads. - **Off-heap buffers:** Off-heap memory, managed via memory mapping and direct allocation, avoids garbage collection overhead. -- **Optimized algorithms:** - Core query operators work on data vectors and use CPU-level optimizations such as SIMD. +- **Optimized in-memory handling:** + Apart from using CPU-level optimizations such as SIMD, QuestDB uses specialized hash tables (all of them with open addressing and linear probing), and implements algorithms for reducing the memory + footprint of many operations. Specialized data types, like `Symbol`, `VARCHAR`, or `UUID`, are + designed to use minimal disk and memory. + + ```text + Internal Representation of the VARCHAR data type + +Varchar header (column file): ++------------+-------------------+-------------------+ +| 32 bits | 48 bits | 48 bits | +| len + flags| prefix | offset | ++------------+-------------------+-------------------+ + │ ++------------------------------------+ points to +│ +▼ +Varchar data (column file): ++---+---+---+---+---+---+---+---+---+---+---+ +| H | e | l | l | o | | w | o | r | l | d | ++---+---+---+---+---+---+---+---+---+---+---+ + +``` ## Data ingestion & write path ### Bulk ingestion - **CSV ingestion:** - QuestDB offers a CSV ingestion endpoint via the REST API and web console. A specialized COPY - command uses io_uring on fast drives to speed up ingestion. + QuestDB offers a CSV ingestion endpoint via the [REST API](/docs/reference/api/rest/) and web console. + A specialized COPY command uses [io_uring](/blog/2022/09/12/importing-300k-rows-with-io-uring) on + fast drives to speed up ingestion. ### Real-time streaming @@ -188,74 +326,145 @@ QuestDB is comprised of several key components: The streaming ingestion path handles millions of rows per second with non-blocking I/O. - **Durability:** - The system writes data to a row-based write-ahead log (WAL) and then converts it into column- - based files for efficient reads. + As seen above, the system writes data to a row-based write-ahead log (WAL) and then converts it + into column-based files for efficient reads. At the expense of performance, `sync` mode can be + enabled on commit for extra durability. - **Concurrent writes:** Multiple connections writing to the same table create parallel WAL files that the engine later consolidates into columnar storage. -### ILP protocol support +```text + +Contents of the `db` folder, showing multiple pending WAL files, and the binary columnar data. + +├── db +│ ├── Table +│ │ │ +│ │ ├── Partition 1 +│ │ │ ├── _archive +│ │ │ ├── column1.d +│ │ │ ├── column2.d +│ │ │ ├── column2.k +│ │ │ └── ... +│ │ ├── Partition 2 +│ │ │ ├── _archive +│ │ │ ├── column1.d +│ │ │ ├── column2.d +│ │ │ ├── column2.k +│ │ │ └── ... +│ │ ├── txn_seq +│ │ │ ├── _meta +│ │ │ ├── _txnlog +│ │ │ └── _wal_index.d +│ │ ├── wal1 +│ │ │ └── 0 +│ │ │ ├── _meta +│ │ │ ├── _event +│ │ │ ├── column1.d +│ │ │ ├── column2.d +│ │ │ └── ... +│ │ ├── wal2 +│ │ │ └── 0 +│ │ │ │ ├── _meta +│ │ │ │ ├── _event +│ │ │ │ ├── column1.d +│ │ │ │ ├── column2.d +│ │ │ │ └── ... +│ │ │ └── 1 +│ │ │ ├── _meta +│ │ │ ├── _event +│ │ │ ├── column1.d +│ │ │ ├── column2.d +│ │ │ └── ... +│ │ │ +│ │ ├── _meta +│ │ ├── _txn +│ │ └── _cv + +``` + +### Ingestion via ILP protocol - **Native ILP integration:** - QuestDB supports the Influx Line Protocol (ILP) for high-speed data ingestion. + QuestDB supports the [Influx Line Protocol](docs/reference/api/ilp/overview/) + (ILP) for high-speed data ingestion. + +- **Extensions to ILP:** + QuestDB extends ILP to support different timestamp units and the array data type. - **Minimal parsing overhead:** The ILP parser quickly maps incoming data to internal structures. - **Parallel ingestion:** - The ILP path uses off-heap buffers and direct memory management to bypass JVM heap - allocation. + The ILP path uses off-heap buffers and direct memory management to bypass JVM heap allocation. - **Protocol versatility:** - In addition to ILP, QuestDB supports REST and PostgreSQL wire protocols. + In addition to ILP, QuestDB also supports ingestion via [REST](/docs/reference/sql/overview/#rest-http-api) + and [PostgreSQL wire](/docs/reference/sql/overview/#postgresql) protocols. + +## Replication + +- **Read replicas:** QuestDB uses object storage (via NFS, S3, Azure Blob Storage, or GCS) +and read replicas. Both local, cross-zonal, and cross-regional replication patterns are +supported. The architecture is described at the [replication concepts](/docs/concept/replication/) +page. + +- **Write replicas:** QuestDB allows [multi-primary ingestion](/docs/operations/multi-primary-ingestion/), which allows both increasing the write throughput, and enabling +high availabilty. A [distributed sequencer](/docs/operations/multi-primary-ingestion/#distributed-sequencer-with-foundationdb) makes sure transactions are conflict-free, and +tracks status of the cluster to enable instance discovery and automatic failover. ## Observability & diagnostics - **Metrics:** - QuestDB exposes detailed metrics in Prometheus format, including query statistics, memory - usage, and I/O details. + QuestDB exposes detailed [metrics in Prometheus format](/docs/operations/logging-metrics/#metrics), including query + statistics, memory usage, and I/O details. - **Health check:** - A minimal HTTP server monitors system health. + A [minimal HTTP server](/docs/operations/logging-metrics/#minimal-http-server) monitors system health. - **Metadata tables:** - The engine provides metadata tables to query table status, partition status, query execution, - and latency. + The engine provides [metadata tables](/docs/reference/function/meta/) to query + table status, partition status, query execution, and latency. - **Extensive logging:** - Logging covers SQL parsing, execution, background processing, and runtime exceptions. The - framework minimizes performance impact. + [Logging](/docs/operations/logging-metrics/) covers SQL parsing, execution, background processing, and runtime exceptions. The framework minimizes performance impact. - **Real-time metric dashboards:** The web console lets you create dashboards that display per-table metrics. -## Design patterns & best practices + + +## Design patterns & best practices throughout the code base - **Immutable data structures:** The system favors immutability to avoid concurrency issues and simplify state management. - **Modular architecture:** - Each component (storage, query processing, ingestion, etc.) has well-defined interfaces - that enhance maintainability. + Each component (storage, query processing, ingestion, etc.) has well-defined interfaces that enhance maintainability. - **Factory & builder patterns:** - The engine uses these patterns to centralize construction logic for complex objects like SQL - execution plans and storage buffers. + The engine uses these patterns to centralize construction logic for complex objects like SQL execution plans and storage buffers. - **Lazy initialization:** Resource-intensive components initialize only when needed to reduce startup overhead. - **Rigorous testing & benchmarks:** - Unit tests, integration tests, and performance benchmarks ensure that new enhancements do - not compromise reliability or speed. + [Unit tests, integration tests](https://github.com/questdb/questdb/tree/master/core/src/test), + and performance benchmarks ensure that new enhancements do not compromise + reliability or speed. ## Security - **Built-in admin and read-only users:** - QuestDB includes built-in admin and read-only users for the pgwire protocol and HTTP - endpoints using HTTP Basic Auth. + QuestDB includes built-in admin and read-only users for the pgwire protocol and HTTP endpoints using HTTP Basic Auth. - **HTTP basic authentication:** You can enable HTTP Basic Authentication for the HTTP API, web console, and pgwire @@ -269,9 +478,17 @@ QuestDB is comprised of several key components: QuestDB Enterprise supports TLS on all protocols and endpoints. - **Role-based access control:** - Enterprise users can create user groups and assign service accounts and users. Grants can be - configured individually or at the group level with fine granularity, including column-level - access. + Enterprise users can create user groups and assign service accounts and users. + Grants [can be configured](/docs/operations/rbac/) individually or at the + group level with fine granularity, including column-level access. + + + - **Single sign-on:** QuestDB Enterprise supports SSO via OIDC with Active Directory, EntraID, or OAuth2. diff --git a/documentation/operations/rbac.md b/documentation/operations/rbac.md index c3bd4d6b2..d566c223e 100644 --- a/documentation/operations/rbac.md +++ b/documentation/operations/rbac.md @@ -63,6 +63,8 @@ this ability. The below diagram is an example of a QuestDB access control system. Inherited permissions are shown in grey colour: + + 0N?;507gS&X9rJEf zfZ_BusW%+{8=L=$Gk#;EKXLURI;zSdZ#uni7{%Da(BuuzzF~T!zsb%2hHY(Jf5-h@ ze$O7!)J{$1cl*W!07-!2+p)6%I026TMUU+dJrRICzyaV1Z~|BY%mEevmp3cnH;Dtl z24MPzr2uvSV*uk@>VJC!zA^jn{Jz<~mA~@#m&`g90N{MfHJHF(GLudKpalg0Ko0*) zM&$zlyej|zy3HL7oeckQ_qzhSfpj)wW%;8IhR^^2KqbAtUTOdUFf;(b^Ze`UW5es~ za}fXlu>=5g-n?BIB#6`iK3Xj8Q z|5J^b*U{I}Yw)YbZNc4+rZ??|7yTLZdnRE))|auD`4xz}+bjL6*Y#J57phnGho)`c z+lf2kZ+-y%(bsRUYp<-QLr)zqf*09`ey(l#FF`LFuM!U({`R~2i?2t1u_x~zyI$W) z&)%s}W@hY-G~u8H*(64v0x1I-uwgWh|FVW~sxIUFF|~}I_ks(>NC``Qj3OvN@#b5- zB?SR|*mqE^6v-u*~9o9hsXf~LDSmgK@j zwx%v_k!J4~3G zQUd%#HUrvt_ET=oPRS8pDYDu{Z5hxwYN^|TJcJ#ype<1aZd($sr-v7~Xv%Sy74MF8 zC$q%lcQ__}v@%RAI#N}Th;T!e@Bf(=gq71@@bY*i>QEQybpnY7rxKDx;&iFl5Wb|@ z8z^jI^qsmRp^DQ}ZQJ};k_g(jKnM4csSfCo)$XPwNn$N-HsnK<7{a%R<(Q>G}DBG!()>F9_If!BQQnk z??p*LpLD&S7evo-!l@OlT{3)OH6#H{_h9jBIRVNG zoy9omF#iY*UDVlgfs0Zzq_`1j)?Lmj|GLaZwN=}-q|X}}+}0!vA}Zj`<3M-%lVs|2 z_VjnL?ceCQ`d1UZmU~fo_VNZQRLXn9%Ysjv4C`xDI}6h+qmI~2kNeJHd?op^V%rnx zDBAceb@vU}u$%{FfJWC1n8k3Jz_a-+vE&y4Ae$ZL_gZk|aEb5_ zRJh&Si+r}Qkn)6~?62y2jQu%?sSDmTxMg{R`mPax<@MjF;{&8ve5cp-)eMZ98vY>ZsXE7wHh1vZ<4DE}1avWW9p?Vd%kAKwo zn%M1}+w&RIhTDtbKaz16<|x#;C@h?a*cszl z7HK9tUjxmnJQ%O8d`ZM@^1n{;f6n#40b>Q|@Umnh7_IX|085PAW<6)nZ4WZz$@W2H z$@r~j>{Qp*PVqvH%1Hzi&JoEy2}#9`25~kf+wj`VPB}m9VVON)Y0MMj`sn|nKK1|) z)H$3X;5I}v{1Vni^U)b}=toP~pM(4n2fGadc|vf_!uC`lX5u2{xOPJ^(mI46-aC{o z^eG#Ozn7#U)+C)m!v}B&8=vyxjxC6*E?(jzK@3HV}N9k#cbmtsEJi*VmrONW3S ziPiR`MCju~FNpfy$n)QR#M;snhcS1v!HY3#YV*|t;MvEvWRR)8c)`Fki|R`ClR5d`o2F~>AJpx!EP z4*)fmjd^tXgn1>$MpfFMzk&yx+#0vcVSjA`v48Vkz@?L`Vjd@Sa->44E*@mfe6&kR z6Jfs^G16Y2)cF}(I}St6^U|v<^Id0jm4E;fvDXL?GbnV@dwFY_9zVQ%Ijyv?WaI7# zTjljkscDV9rIQj;le;Zok|~)xP)@xEhnK;^%G8kn{d>{OlkzRzoQtn24ue=pL z7an(J=@yqH@&gGW*n(P$r`#f0nTD*fUypxMP*=^>t@`7%Qo?@M@#lMcz{XVP%a~Hn z7vR)9JPx^_`gQp3m-`oWUQF5OoG)MfpLkS9KhVUQBV{wO_f%6-=thQysdXn<4JF6m z(;j)|#+=S$L7@>`byQxWl@ChZW^IzCQz+RTEaAFD-u>H6U`|D7B7$Sl-`8A~#@KR6vj)bkIC01xi$ z2#2kuqI|yhMMJFZuHqT;mM&_$o(U|{#4DiWg1Pz+Va^<#-ny2kUwkm-kJYBmZ=%$l zEdpY2Li*BI%Io57z1ONIb4HjG+$Yg5DI;%6335TW5AbtA(A|^zQoYJL)#b@R2 z(p{yhz44Hq14>kH6otEfT~13D6+Y$%H1o6RaUX5CM_u zoTwJhp~)$)Pi<%;b)ZU}$AIp|pM~7hpG>5!ILvcjihtpu*7;=JEj0r1NeFa@;UEPv z-j;3zwN1>tfh(BGmTCZ6oHrDS0QtfA0x4sZW-Mg)f$Ynq>^@}UK$nUV@}-3_1crS) zB0lPMxi&B$6op_yk(%=m4+fY4J#t{bgD-Rug6CFtyxOCJX<5SA)JmjYt60w93nZu+ zB5yK_>?2O-n9N6fNLwc;^T=x_tXUjH@Q(XU8aeZDpA=FNE^6S1|8C>bu)j7J3iol505C;!XDLYq1?pN@D7>F7(vTN0O2n6c!*FDv?lLC4scxu_`8uWJD znNucD;(@1mS-UUV?9hanf)Z)6ea~%IOQfwF3{T&dq+BiUZm0KP4XUp)%K3z1nr3+> zas-f^7lN}?(bdPHEbi_kZyz|!>eQgYN-jWB7Mowqnr(>DsI&tl>R@6xI=O(=yVVznmO80xhDSE6vV3Aw{0ogPFS_JE9wMho*;H zZ|q7>VAOUmD)DLWyGr?_c*U1#r%R#BJ9q{Lv2}di|>r_clI1%^blCMdU(2XQG?=~tqNVh2}be=4S=65^E2W12^{n5ebgE`p}k z*vO~ku+@Ip=NW56?O0N1OSJ{VWer;q(jl$|`k3`Fs_h$wMZ49>oCikwS))PleqklQ zEI9QfJSHZqR6*@mEaT!P;U2!IuM~uH>ekxcyH$eywpn4f?hk3=A~8puYorSgCZ~Lu zDV%9V$^H}ocpj!uov&t~Xv!Kro!VV2a*#aRRkK}$i?sn2WLX9}RYYXz%77%)Q7>o| zBVVVb4>GsnHb;(*=eCz~Kj$6c$VClMo_fWMuA>@?yGbr#;gaL~Lna!V86kqeXa2tX zC^{Ogq-vEdN~Pdtx-L1F)HVevPvQ5=9z5?*LQ2s#pGkX+#JJy6aV@JJwI@}aI?#Qk zP?qJNj&7m$_nOh1A!=XCyW`@?4J zt=*gekf^$9!urF~Qf+F`1Mo&p%id^w;X#7mSK=WR?0O9rz8_Y}k1HpPyZS9GB=Lk< zVyLN45|_vn?k;{qw2Rp}AhG+o58nAWZsa3q9mau;QHEAU-dPk7BS~pG+!qzT#cjr+ zD*@XH%z*URdWALnF|@Di#(F*Fa5||w`@(ixjP(VF*;1z0>jta?w52xr&E-P(_3L#Q zF^yS!zT%P8T_(NNd>V%Y@T7Q%>bMbT)6nEdZTnq}Zy)?!#2j>ce4nwp*9-Cwqp6#YvNE|aw^}2#e*j6{EP2TyMCASgB*g9Bv}}8q377?Ks{1jurLys zIroElx+vUy>C%A&iI(DVBpMnulmu3>kkl(?+H-P;q$E8Q=uWfQvPiPL=BOYb^|`QFKZl>k!mJi>ODl<`z}oNBKR88V%n^JE=zAP z37ZO2N&Z+Otp{~~3>*%WjjN~=v84-cg91UOtjrilgw#Yu;*;7wda={f3ritFyaMGz zpJVPMdx;TC3Lw_u#f`*xF!e*tXg~!YDOWr`tl)T7yjt$A&#Z%B5woNfJt9HH8lD?jpuN5;o;Gw4{ojK23}hloV0Ql_m9*Ijry#A12@^A-OqYA6qm!^T+&jH!N@V zO5rh5-1k_=2s?Z;pofl}b;s^R^C#XE*6`I!M_zP~x$ypc7+RzuMP$YWh;V5sR+a~P z=E^Y3w2xsv4sH0ert|igbP4U6B=La0kP3Kz;i$Jp|p(?t6JMIt2a6-ZRZa zgyFszn^zJW(T3bDms6A#(Z(`u2dl_Py^Q62nXodurpT<+V}*cUL5d`heh$i{9yYAn zWpz|d5fL9TWhP(@&|_)a?I0;^ zH$1Ys7nx@ASAq}T@rtOK&9AoMRPqLEn=N`u@5ysMi#&{5slzY5Y;?w=f+(%sXpN_W zN8rY!h3`D%zT)r)-#R9Rt-q=nPvIV^9#Ji4>hpPHDQM+IhRp`OReMn1y}IaQ z9Ppm-TWf{Ng#jW4%5TMCMpJ~;sa=QqFV)pLr4e+3u7vyeMdv(rgMwx*&KIx zQXPF)MmJ%C#+Q#h_oxz3KpKemnORqjivb|ix)lkH|5~mBSGc)wq9&@)F0{U()z$qC zMagg6=IQFGwV)wh_Dez@vx6P1pw#Wl(&l`IeQ@GOThysv3DMCN6?lyIVz~hx@j(LK zN{}I3elC_BLM!mjmtygoTZpAa69v#ip=8T=H^=J5eEGVccEYP0x5soPr+vfv(79z& zzuOD2Lmz90AAdwp(l^4dTd}y%f_R>h3_icTHeYF`*Drj7K@#k{WC8Y0HHo%2ZV8#pHaHGJLg?ol7cvq;G+~j zlT(_DN7Cfsdh-;LsD- zl-s76L*zNVRzJUeYVZ*GHxO$05V|U{XP-YV^43;Bz!Gl zh1_feIm|XCt4*VA>5%4D2Lo!`a2@g&lLVY(XClHcoIgYF{ps{&k^>^s<%SSzG;M&^ zA6QA@Y#yg+A`Y0}4c;LK2dHv5bzZMlS+hlw9DYxSr-fbTNaq2})mT=$+P*)>yKVA8 z%>!EsQ!uf$sFDdH!j$Id^vN&p15d!4af4DDRR8c4_dxPpX)y1ZKQPHTjbn{7D?#$Im~im0HK>?6F9}#PAhbs5M?BkA&Cv!0_qP1=sb7 zWD6Jh^!()-y@E(QOn1JnYZR*N(=P&P981w(HwvYtLO)xI%9@MPCoP4amdcR|FbP~g zPp~giDhV{0qbS8Z6n*8HW|>?+X7fqX4!&kL1|K{QAps!Ze?Wo_B4dQ%c!$J6su2m0 z1+2OST#~|n;tXXh094zHgGR}5asclPAjbg!23uGziU!l9NLGpvU9&0Y6rRPt*?iB^ z+KCc7e!Kot>}gS-n)P>M*|FrUb*zn7i)4BGxoc3*0VD`$pz)0LEa8pj@iSmvZj^sr zt8)23SiyNu`L*_?2*(x^c85HXex|NapM6sYp z2;y5S8})C?lgFWbc)eBcLbM5*z>0|Ojp^p(epJnmr_?pQ_TYRJ?;gey z;R!1^zVS89Od?S=1x{PM-D5UFI~=b4%cYf6naKAsUObgwRA;&s!&`Pb_KDE3obn&6>DTSgf{KZjn!}KxV-Hm`T6MWH>|4X6a!Wqy zwk4O5M`sYXqpR&RW4p3~I)9JOypEm(JGU-rmsvjKuIW~pIC-rSR!HjL6P4%x9LZTF zN$n-Bg*SV=W-!Xu#pA;|x=W}#j45R`mhLg^Fsm0WHr?2>y*mXqLea1|oRT0~Rn)4E zBN#f+0zJ(4_DA-YTS&BdFe$8$`~5oH%mZafT|jyM05D?<;qO{kc`Ig94o`Rlnru~? zIWXVuI8$-DQV58_c;m>4a!vM*)$-w|B>kj{ilKea1(xgAQ@M3VGBIoIhe`K=Zdc1y zNaB3c;GW9CdB9!X$XY#Et~z|l8gU@kk}(_DH#zJYBy-k_6iXK#cO6nLIx(Nva2o~8 z2j;AABfiqMj(0SilowIZIYeaNl=Y~y-B6hyToBZ=u8)zxmBgr$_94TpV)itFp zr?!CTUj-|Sx2zISOJ15Jw9O>!*w97m(om=G;?YQ-wvVQU!aYNQl7!%xH4_o=3R(HrJHU zFFQaMnQF$vdGDg{ifmzB*(S}e%PE9=<9V8sol*rfH&}IX#YsR_JBpTMRhekc_+)Za zB5>sn5VCD~V#~e!O8Tkzwg=_MWRQiOZ>`qF;kq=-h|G(ow43(|em7QXald|+lD#K( zv3Kk-N6{?KMEnIVO+_N<9_0?G#g*3rse+h{2h}%nTgQGo-54w~?EqngXRCN*#SztK z*=2QwTDtOJut7~z*$I#8RjIl->KfY;H(3I%_lXy-FC$Q}&INUzPx`V`3jxKTHSfiqo7iY$^Hpe zRlx|nqqXvf6?|EjW~Mp)ay5*vtqJq1?Fht!$iTZ^^-RW$;09dNt~3I=>LMV|tdfs zPDfa}e#}yzn+{4(Qco47F6{s z8Rf8D>^jJ=CB(P8IK_9|98r<(ICh#9bD|Y4i2unqZ0GyZm?&xKOG7H+4UPm{r$#8S zEewyVB;34W;!Z3byesAB;{>@$)ZpVM&hD{Clk!zm3=yAhI$#rz&kStL^uXCmnvu4K zSlC$uTw^frOb=Haera>FkbdQ@fWu1~xrg5ITF+wQ&1_CP+~Fxb1HLvW#OKxM{Smp3 zLT&9uXs`XLoQ%Uz{B$=pp2W9YI0|S)Q`a~H?;6^$Z`hU1Hn#V&%zDb0C5%zu*Pz+? zWR>~%&IyO>PZdxZ8Y70+nCJnm&oY8D$VzA`BPaW$e2@ANXUF%49YeP|Og;qR3SA>t z+2!NI zaeV5?B+e@2Jdi#Plb~=;!(YG#9rfGJymTqX*7|Pr6fGVn)?Qbkjp_5KGYzp22l1Ge zmkTz0N@`51{YA=7+urD*E&*p@EK?UfjblK14NB7(P_dQybnTjc-p^vkdZw{{0aoq8 zd~uUv3Ypz)PRyY{@zOFt)bzlsLScY8pjD@qc4#D$TApsRz;usEYp-St127)>7+Kp_ zEBE5I6x1FSxogeznfBKGb`#>$CpImZmFC>Y-9V99+_~)ik zL)FIfV{KW;+ei-L9AV2J&}o3HIP0K(dX%WqTec%;DRZ|Ea-0>33dVIC70F&bFfJET zj5N%1Va1((Gvvk{DbH!hG|Wt5Y84inyPPK6lnRB;*8q}E%$KA#aQ?B62o z`+}@rU&Lbxu88%y#8`QELLFlIM~*@9-Uh2O7fKsNM`?!vP{BqPLZ!*Kp?J18c5l%! zP%9$;^Lf75R}GtzrhBiTV|KRp< zXc_13IkNt0=Bu7pQZzZ*>QW3;^Ut_k)NsKKg>u4o7H6}KTEiUzBvd<_oYYj?d$N!k zEW2evU%SJdBBpP*l{fRtlBDk52Q^-aCt!nlhz4-JKHH-qSri@N&l1173Fgnb*t~>F zar&j_PA0$?^8!hGGH1RTiMK@E_B&|X^i1o+ghK#Lv*k95HuKW@$#SX@6Cv}XN&}`& z_clDuW5}d+vp^D3|EUWJV10JDtnuU#?5iL^HB1li% zo`QWn6^At~eQc`ueM}lYmph0=)Wzk6+{!eT)h`>)V7MdQA;}U3R=7M@-O6Rab>OS9 zm)WB~*fB*(uqTi}KgD&Aq`oweH0?t(HOl9*Qu*wUwgaS51Po zhy@&`(bPBh=rNu_S^k!&yY<+cz0kp&+-HC~YM!|@rNr|7ot_U>`2#`r&5zNXNHF{T zh=d>gBT-TeP`IRNcj0}B8PvjjlCA+R^bd*ipwgYlsNn70<~ zjYV_7|2+!PoCEQ1{KvjcfUt^)l+>G&im{WashzWhy^E%tB1z|)Cq54z4_gOYQx`)L z4_g~MXC4oJGD8!4BU7F?{9DXKM)HS>i#0#lZzB \ No newline at end of file diff --git a/static/images/guides/questdb-internals/telemetry.webp b/static/images/guides/questdb-internals/telemetry.webp new file mode 100644 index 0000000000000000000000000000000000000000..f89b31af6055e0dd95f87e90715f071194780b29 GIT binary patch literal 68794 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

1ekD7sILKZU_u@Zh9tKYM4l`Zm>S1MzxS;P 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 Date: Tue, 15 Apr 2025 15:32:35 +0200 Subject: [PATCH 04/35] adding dedup and mat views subsections --- documentation/guides/questdb-internals.md | 25 +++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/documentation/guides/questdb-internals.md b/documentation/guides/questdb-internals.md index 54b5afa53..3e286f0a2 100644 --- a/documentation/guides/questdb-internals.md +++ b/documentation/guides/questdb-internals.md @@ -118,6 +118,16 @@ can handle and resolve out-of-order data writes, and enables deduplication. Colu when [ZFS compression](/docs/guides/compression-zfs/) is enabled. Parquet files generated by QuestDB use native compression. +### Data Deduplication + +When enabled, [data deduplication](https://questdb.com/docs/concept/deduplication/) works on all the data inserted into +the table and replaces matching rows with the new versions. Only new rows that do no match existing data will be inserted. + +Generally, if the data have mostly unique timestamps across all the rows, the performance impact of deduplication is low. +Conversely, the most demanding data pattern occurs when there are many rows with the same timestamp that need to be +deduplicated on additional columns. + + ## Memory management and native integration ### Memory-mapped files @@ -258,6 +268,7 @@ parsing incoming data, applying WAL file changes, handling PostgreSQL-Wire proto - **Partitioning by time:** Data [partitions by timestamp](/docs/concept/partitions/) with hourly, daily, weekly, monthly, or yearly resolution. + + - **Partition pruning:** The design lets the engine skip partitions that fall outside query filters. Combined with incremental timestamp sorting, this reduces latency. @@ -277,6 +289,19 @@ parsing incoming data, applying WAL file changes, handling PostgreSQL-Wire proto The system can delete partitions manually or automatically via TTL. It also supports detaching or attaching partitions using SQL commands. +### Materialized views + + - [Materialize views](https://questdb.com/docs/concept/mat-views/) are auto-refreshing tables storing the pre-computed results of a query. Unlike regular views, which + compute their results at query time, materialized views persist their data to disk, making them particularly efficient + for expensive aggregate queries that are run frequently. + + - QuestDB supports materialized views for `SAMPLE BY` queries, including those joining with other tables. + + - Materialized sampled intervals are automatically refreshed whenever the base table receivews new or updated rows. + + - Materialized views can be chained, with the output of one being the input of another one, and support TTLs for lifecycle management. + + ### In-memory processing - **Caching:** From a04ce315f145e74795d0cfa9db265cbf79a45dd3 Mon Sep 17 00:00:00 2001 From: javier Date: Thu, 8 May 2025 18:57:38 +0200 Subject: [PATCH 05/35] improved diagrams and new sections --- documentation/guides/questdb-internals.md | 140 +- .../questdb-internals/columnarStorage.svg | 287 ++++ .../guides/questdb-internals/questdbBasic.svg | 1040 +++++++++++++ .../guides/questdb-internals/walData.svg | 1289 +++++++++++++++++ .../guides/questdb-internals/web-console.webp | Bin 0 -> 81580 bytes 5 files changed, 2696 insertions(+), 60 deletions(-) create mode 100644 static/images/guides/questdb-internals/columnarStorage.svg create mode 100644 static/images/guides/questdb-internals/questdbBasic.svg create mode 100644 static/images/guides/questdb-internals/walData.svg create mode 100644 static/images/guides/questdb-internals/web-console.webp diff --git a/documentation/guides/questdb-internals.md b/documentation/guides/questdb-internals.md index 3e286f0a2..1450d395d 100644 --- a/documentation/guides/questdb-internals.md +++ b/documentation/guides/questdb-internals.md @@ -9,10 +9,10 @@ QuestDB offers high-speed ingestion and low-latency analytics on time-series dat @@ -46,11 +46,15 @@ QuestDB is comprised of several key components: QuestDB Enterprise supports horizontal scalability for reads with read replicas, and for writes with multi-primary. +- **[Security](#security):** + QuestDB provides real-time metrics, a health check endpoint, and logging to monitor + performance and simplify troubleshooting. + - **[Observability](#observability--diagnostics):** QuestDB provides real-time metrics, a health check endpoint, and logging to monitor performance and simplify troubleshooting. -- **[Web console](/docs/web-console/):** +- **[Web console](#web-console):** The engine includes a web console to run SQL statements, bulk load CSV files, and show monitoring dashboards. QuestDB Enterprise supports single sign-on (SSO) in the web console. @@ -71,14 +75,6 @@ concurrent data ingestion, modifications, and schema changes without locking the - **WAL Consistency**: QuestDB implements a component called "Sequencer", which ensures that data appears consistent to all readers, even during ongoing write operations. - - - **TableWriter**: Changes stored in the WAL, is stored in columnat format by the TableWriter, which can handle and resolve out-of-order data writes, and enables deduplication. Column files use an @@ -86,13 +82,24 @@ can handle and resolve out-of-order data writes, and enables deduplication. Colu + +### Data Deduplication + +When enabled, [data deduplication](https://questdb.com/docs/concept/deduplication/) works on all the data inserted into +the table and replaces matching rows with the new versions. Only new rows that do no match existing data will be inserted. + +Generally, if the data have mostly unique timestamps across all the rows, the performance impact of deduplication is low. +Conversely, the most demanding data pattern occurs when there are many rows with the same timestamp that need to be +deduplicated on additional columns. + + ### Column-oriented storage - **Data layout:** @@ -104,8 +111,8 @@ can handle and resolve out-of-order data writes, and enables deduplication. Colu alt="Architecture of the storage model with column files, readers/writers and the mapped memory" title="Architecture of the storage model with column files, readers/writers and the mapped memory" height={596} - src="images/docs/concepts/storageSummarized.svg" - width={745} + src="images/guides/questdb-internals/columnarStorage.svg" + width={400} /> @@ -118,16 +125,6 @@ can handle and resolve out-of-order data writes, and enables deduplication. Colu when [ZFS compression](/docs/guides/compression-zfs/) is enabled. Parquet files generated by QuestDB use native compression. -### Data Deduplication - -When enabled, [data deduplication](https://questdb.com/docs/concept/deduplication/) works on all the data inserted into -the table and replaces matching rows with the new versions. Only new rows that do no match existing data will be inserted. - -Generally, if the data have mostly unique timestamps across all the rows, the performance impact of deduplication is low. -Conversely, the most demanding data pattern occurs when there are many rows with the same timestamp that need to be -deduplicated on additional columns. - - ## Memory management and native integration ### Memory-mapped files @@ -361,7 +358,8 @@ Varchar data (column file): ```text -Contents of the `db` folder, showing multiple pending WAL files, and the binary columnar data. +Contents of the `db` folder, showing multiple pending WAL files, +and the binary columnar data. ├── db │ ├── Table @@ -439,6 +437,41 @@ page. high availabilty. A [distributed sequencer](/docs/operations/multi-primary-ingestion/#distributed-sequencer-with-foundationdb) makes sure transactions are conflict-free, and tracks status of the cluster to enable instance discovery and automatic failover. + + +## Security + +- **Built-in admin and read-only users:** + QuestDB includes built-in admin and read-only users for the pgwire protocol and HTTP endpoints using HTTP Basic Auth. + +- **HTTP basic authentication:** + You can enable HTTP Basic Authentication for the HTTP API, web console, and pgwire + protocol. Health-check and metrics endpoints can be configured independently. + +- **Token-based authentication:** + QuestDB Enterprise offers HTTP and JWT token authentication. QuestDB Open Source + supports token authentication for ILP over TCP. + +- **TLS on all protocols:** + QuestDB Enterprise supports TLS on all protocols and endpoints. + +- **Single sign-on:** + QuestDB Enterprise supports SSO via OIDC with Active Directory, EntraID, or OAuth2. + +- **Role-based access control:** + Enterprise users can create user groups and assign service accounts and users. + Grants [can be configured](/docs/operations/rbac/) individually or at the + group level with fine granularity, including column-level access. + + + + + ## Observability & diagnostics - **Metrics:** @@ -466,6 +499,25 @@ tracks status of the cluster to enable instance discovery and automatic failover width={745} /> +## Web Console + +The [QuestDB Web console](/docs/web-console/) is ideal for interactive exploration, and implements: + +- **SQL Editor** featuring tabs and SQL autocompletion. +- **Table and Materialized View** explorer. +- **CSV import** manager. +- **Single-sign-on**, when enabled for enterprise users. +- **Basic Auth**, when enabled for both OSS and Enterprise users. +- **Real-time metric dashboards**, to track transactions throughput, latency, and write amplification. + + + + ## Design patterns & best practices throughout the code base - **Immutable data structures:** @@ -486,38 +538,6 @@ tracks status of the cluster to enable instance discovery and automatic failover and performance benchmarks ensure that new enhancements do not compromise reliability or speed. -## Security - -- **Built-in admin and read-only users:** - QuestDB includes built-in admin and read-only users for the pgwire protocol and HTTP endpoints using HTTP Basic Auth. - -- **HTTP basic authentication:** - You can enable HTTP Basic Authentication for the HTTP API, web console, and pgwire - protocol. Health-check and metrics endpoints can be configured independently. - -- **Token-based authentication:** - QuestDB Enterprise offers HTTP and JWT token authentication. QuestDB Open Source - supports token authentication for ILP over TCP. - -- **TLS on all protocols:** - QuestDB Enterprise supports TLS on all protocols and endpoints. - -- **Role-based access control:** - Enterprise users can create user groups and assign service accounts and users. - Grants [can be configured](/docs/operations/rbac/) individually or at the - group level with fine granularity, including column-level access. - - - - -- **Single sign-on:** - QuestDB Enterprise supports SSO via OIDC with Active Directory, EntraID, or OAuth2. - ## Further reading & resources - [QuestDB GitHub Repository](https://github.com/questdb/questdb) diff --git a/static/images/guides/questdb-internals/columnarStorage.svg b/static/images/guides/questdb-internals/columnarStorage.svg new file mode 100644 index 000000000..1ba050613 --- /dev/null +++ b/static/images/guides/questdb-internals/columnarStorage.svg @@ -0,0 +1,287 @@ + +partition directory column data fileFixed-size typeFixed-size typeFixed-size type column data file column data file column offsets file diff --git a/static/images/guides/questdb-internals/questdbBasic.svg b/static/images/guides/questdb-internals/questdbBasic.svg new file mode 100644 index 000000000..691b208c3 --- /dev/null +++ b/static/images/guides/questdb-internals/questdbBasic.svg @@ -0,0 +1,1040 @@ + + + +Time-series streaming dataLow-latency query results diff --git a/static/images/guides/questdb-internals/walData.svg b/static/images/guides/questdb-internals/walData.svg new file mode 100644 index 000000000..8feca3cf6 --- /dev/null +++ b/static/images/guides/questdb-internals/walData.svg @@ -0,0 +1,1289 @@ + + + +Potentially out-of-order and/or duplicated dataConsistent and deduplicated table data WAL File 1WAL File 2WAL File 3WAL File 4Connection 1Connection 2Connection 3Connection 4TableWriter diff --git a/static/images/guides/questdb-internals/web-console.webp b/static/images/guides/questdb-internals/web-console.webp new file mode 100644 index 0000000000000000000000000000000000000000..2fea78c07b1730cbcf9df9b79f7443a6a892c640 GIT binary patch literal 81580 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 j|1SJbMQ*x(e*3?j#eW?1zh=Krniqzf?!TWJFU Date: Thu, 8 May 2025 19:12:05 +0200 Subject: [PATCH 06/35] adding image description --- documentation/guides/questdb-internals.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/guides/questdb-internals.md b/documentation/guides/questdb-internals.md index 1450d395d..8a30ee613 100644 --- a/documentation/guides/questdb-internals.md +++ b/documentation/guides/questdb-internals.md @@ -109,7 +109,7 @@ deduplicated on additional columns. Date: Thu, 8 May 2025 21:43:37 +0200 Subject: [PATCH 07/35] broken link --- documentation/guides/questdb-internals.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/guides/questdb-internals.md b/documentation/guides/questdb-internals.md index 8a30ee613..184933391 100644 --- a/documentation/guides/questdb-internals.md +++ b/documentation/guides/questdb-internals.md @@ -410,7 +410,7 @@ and the binary columnar data. ### Ingestion via ILP protocol - **Native ILP integration:** - QuestDB supports the [Influx Line Protocol](docs/reference/api/ilp/overview/) + QuestDB supports the [Influx Line Protocol](/docs/reference/api/ilp/overview/) (ILP) for high-speed data ingestion. - **Extensions to ILP:** From f3a276e3b1d6f9d3472036f5574611b6cf82d369 Mon Sep 17 00:00:00 2001 From: javier Date: Thu, 8 May 2025 23:02:12 +0200 Subject: [PATCH 08/35] added networking section --- documentation/guides/questdb-internals.md | 57 +++++++++++++++++++++-- 1 file changed, 52 insertions(+), 5 deletions(-) diff --git a/documentation/guides/questdb-internals.md b/documentation/guides/questdb-internals.md index 184933391..707f60801 100644 --- a/documentation/guides/questdb-internals.md +++ b/documentation/guides/questdb-internals.md @@ -29,16 +29,20 @@ QuestDB is comprised of several key components: The system leverages both memory mapping and explicit memory management techniques, and integrates native code for performance-critical tasks. -- **[Query processor](#query-engine):** +- **[Query engine](#query-engine):** A custom SQL parser, a just-in-time (JIT) compiler, and a vectorized execution engine process data in table page frames for better CPU use. +- **[Time-series Optimizations](#time-series-optimizations):** + QuestDB is specifically designed for time-series, and it provides several optimizations, like a + designated timestamp, sequential reads, materialized-views, or in-memory processing. + - **[Data ingestion engine](#data-ingestion--write-path):** The engine supports bulk and streaming ingestion. It writes data to a row-based write-ahead log (WAL) and then converts it into a columnar format. In QuestDB Enterprise, the WAL segments ship to object storage for replication. -- **[Networking layer](#ilp-protocol-support):** +- **[Networking layer](#networking-layer):** The system exposes RESTful APIs and implements ILP and PostgreSQL wire protocols so that existing tools and drivers work out-of-the-box. It also offers a health and metrics endpoint. @@ -310,9 +314,13 @@ parsing incoming data, applying WAL file changes, handling PostgreSQL-Wire proto collection overhead. - **Optimized in-memory handling:** - Apart from using CPU-level optimizations such as SIMD, QuestDB uses specialized hash tables (all of them with open addressing and linear probing), and implements algorithms for reducing the memory - footprint of many operations. Specialized data types, like `Symbol`, `VARCHAR`, or `UUID`, are - designed to use minimal disk and memory. + Apart from using CPU-level optimizations such as SIMD, QuestDB uses specialized hash tables (all of them with open + addressing and linear probing), and implements algorithms for reducing the memory + footprint of many operations. + +- **Custom memory layout for different data types:** + Specialized data types, like `Symbol`, `VARCHAR`, or `UUID`, are designed to use minimal disk and memory. For example, + char sequences shorter than 9 bytes are fully inlined within our `VARCHAR` header and do not occupy any additional data space. ```text Internal Representation of the VARCHAR data type @@ -438,6 +446,45 @@ high availabilty. A [distributed sequencer](/docs/operations/multi-primary-inges tracks status of the cluster to enable instance discovery and automatic failover. +## Networking layer + +QuestDB exposes several network interfaces and protocols to allow different client applications to interact with the database + +### InfluxDB Line protocol (ILP) over HTTP or TCP + +The [Influx Line Protocol](/docs/reference/api/ilp/overview/) allows for very high throughput of incoming data. It supports +both HTTP (recommended) or TCP. QuestDB provides official clients in seven different programming languages, as well as +integrations with third-party tools like Apache Kafka, Apache Flink, or Telegraf. Any ILP-compatible library can be used +for ingesting data into QuestDB over HTTP. + +The default port number for ILP over HTTP is `9000`, and for ILP over TCP is `9009`. + +### PostgreSQL wire protocol + +QuestDB exposes a [PostgreSQL wire](/docs/reference/sql/overview/#postgresql) protocol, which can be used to send SQL +statements both for data definition or for data manipulation. When used for data ingestion, throughput is noticeably +lower than using the ILP protocol. + +QuestDB implements the wire protocol, allowing many third-party libraries to query QuestDB directly. Some client libraries +might be incompatible if they rely heavily on PostgreSQL metadata, as QuestDB implements only a subset of it. For an +overview of some key differences on QuestDB schema design, please visit our +[Schema Design Essentials](/docs/guides/schema-design-essentials/) guide. + +The default port number for the pg-wire interface is `8812`. + +### HTTP Rest API + +QuestDB [REST API](/docs/reference/sql/overview/#rest-http-api) can be used to issue SQL statements over HTTP. It also +exposes and endpoint for importing CSV files, and for exporting tables and query results. + +The default port number for the REST API is `9000`. + +### Minimal HTTP server for health-check and metrics + +QuestDB exposes an HTTP interface for monitoring. Please see the [Observability](#observability--diagnostics) section +for more information. + +The default port number for the minimal HTTP server is `9003`. ## Security From ea7444a5a1b295e712e16f01d7697ffc0919a6e2 Mon Sep 17 00:00:00 2001 From: javier Date: Thu, 8 May 2025 23:29:01 +0200 Subject: [PATCH 09/35] added network diagram --- documentation/guides/questdb-internals.md | 10 +- .../questdb_network_protocols.svg | 530 ++++++++++++++++++ 2 files changed, 537 insertions(+), 3 deletions(-) create mode 100644 static/images/guides/questdb-internals/questdb_network_protocols.svg diff --git a/documentation/guides/questdb-internals.md b/documentation/guides/questdb-internals.md index 707f60801..8acfb3177 100644 --- a/documentation/guides/questdb-internals.md +++ b/documentation/guides/questdb-internals.md @@ -84,7 +84,6 @@ appears consistent to all readers, even during ongoing write operations. can handle and resolve out-of-order data writes, and enables deduplication. Column files use an [append model](/docs/concept/storage-model/). - + ### InfluxDB Line protocol (ILP) over HTTP or TCP The [Influx Line Protocol](/docs/reference/api/ilp/overview/) allows for very high throughput of incoming data. It supports diff --git a/static/images/guides/questdb-internals/questdb_network_protocols.svg b/static/images/guides/questdb-internals/questdb_network_protocols.svg new file mode 100644 index 000000000..dadacd541 --- /dev/null +++ b/static/images/guides/questdb-internals/questdb_network_protocols.svg @@ -0,0 +1,530 @@ + + + + + + + + + + + cluster_clients + + Client Applications + + + cluster_interfaces + + Network Interfaces + + + cluster_core + + QuestDB Core + + + ILPClients + + InfluxDB LineProtocol Clients + + + + ILP + + InfluxDB LineProtocol + + + ILPClients->ILP + + + + + ILPClients->ILP + + + + + PGClients + + PostgreSQL Clients + + + PG + + PostgreSQL WireProtocol + + + PGClients->PG + + + + + PGClients->PG + + + + + HTTPClients + + HTTP Clients + + + HTTP + + HTTP RESTAPI + + + HTTPClients->HTTP + + + + + HTTPClients->HTTP + + + + + Writers + + TableWriter / WAL System + + + ILP->Writers + + + + + CairoEngine + + CairoEngine + + + PG->CairoEngine + + + + + HTTP->CairoEngine + + + + + CairoEngine->Writers + + + + + Readers + + TableReader + + + CairoEngine->Readers + + + + From 28e9a48651609400121fcaf63c59f95f1277b1b5 Mon Sep 17 00:00:00 2001 From: javier Date: Fri, 9 May 2025 12:46:52 +0200 Subject: [PATCH 10/35] testing netlify preview --- docusaurus.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index 1d8900e8f..6dd4d1d0f 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -13,7 +13,7 @@ const config = { title: "QuestDB", tagline: "QuestDB is the fastest open source time series database", url: `https://${customFields.domain}`, - baseUrl: isPreviews ? '/' : '/docs/', + baseUrl: isPreviews ? '/docs/' : '/docs/', baseUrlIssueBanner: false, favicon: "/images/favicon.webp", organizationName: "QuestDB", From b343e9afe1019057f3af736f90a59824f7fc1f62 Mon Sep 17 00:00:00 2001 From: javier Date: Fri, 9 May 2025 12:58:06 +0200 Subject: [PATCH 11/35] testing netlify preview. adding trace --- docusaurus.config.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/docusaurus.config.js b/docusaurus.config.js index 6dd4d1d0f..59ed3972a 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -169,3 +169,6 @@ module.exports = { ...config, ssrTemplate: ssrTemplate(config), } + +console.log("isPreviews", isPreviews); +console.log("baseUrl", config.baseUrl); From 4d4bd2bb453aab516a0923340745c6e57b87dbd8 Mon Sep 17 00:00:00 2001 From: javier Date: Fri, 9 May 2025 13:16:01 +0200 Subject: [PATCH 12/35] testing preview workflow --- .github/workflows/preview.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 0ecb1f135..344f63735 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -40,6 +40,9 @@ jobs: - name: Deploy to Netlify uses: jsmrcaga/action-netlify-deploy@v2.0.0 + env: + NETLIFY: true + CONTEXT: deploy-preview with: NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} From c7439c75ade4308f5c0cbd9f3eff15297ace20b6 Mon Sep 17 00:00:00 2001 From: javier Date: Fri, 9 May 2025 13:24:11 +0200 Subject: [PATCH 13/35] testing preview workflow --- .github/workflows/preview.yml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 344f63735..47b81df5c 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -43,13 +43,13 @@ jobs: env: NETLIFY: true CONTEXT: deploy-preview - with: - NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} - NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} - build_directory: build - install_command: "echo Skipping installing the dependencies" - build_command: "echo Skipping building the web files" - deploy_alias: preview-${{ github.event.pull_request.number }} + run: | + npm install -g netlify-cli + netlify deploy \ + --auth ${{ secrets.NETLIFY_AUTH_TOKEN }} \ + --site ${{ secrets.NETLIFY_SITE_ID }} \ + --dir build \ + --alias preview-${{ github.event.pull_request.number }} - name: "Update PR" if: ${{ env.NETLIFY_PREVIEW_URL }} From 4f80ddd8a52df666443fc53ac9e18b40a00b652a Mon Sep 17 00:00:00 2001 From: javier Date: Fri, 9 May 2025 13:30:50 +0200 Subject: [PATCH 14/35] testing preview workflow --- .github/workflows/preview.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 47b81df5c..12f6a489c 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -39,7 +39,6 @@ jobs: run: yarn build - name: Deploy to Netlify - uses: jsmrcaga/action-netlify-deploy@v2.0.0 env: NETLIFY: true CONTEXT: deploy-preview From 7e280d2e46c9671fcebf148450018d1abb7e136c Mon Sep 17 00:00:00 2001 From: javier Date: Fri, 9 May 2025 13:37:05 +0200 Subject: [PATCH 15/35] testing preview workflow --- docusaurus.config.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docusaurus.config.js b/docusaurus.config.js index 59ed3972a..0cf93a5ab 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -13,7 +13,7 @@ const config = { title: "QuestDB", tagline: "QuestDB is the fastest open source time series database", url: `https://${customFields.domain}`, - baseUrl: isPreviews ? '/docs/' : '/docs/', + baseUrl: isPreviews ? '/' : '/docs/', baseUrlIssueBanner: false, favicon: "/images/favicon.webp", organizationName: "QuestDB", From 66e68b330a0622947381df4b8a6a5cc323b34157 Mon Sep 17 00:00:00 2001 From: javier Date: Fri, 9 May 2025 13:49:41 +0200 Subject: [PATCH 16/35] Sync docusaurus config and preview workflow with main --- .github/workflows/preview.yml | 18 ++++++++---------- docusaurus.config.js | 3 --- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/.github/workflows/preview.yml b/.github/workflows/preview.yml index 12f6a489c..0ecb1f135 100644 --- a/.github/workflows/preview.yml +++ b/.github/workflows/preview.yml @@ -39,16 +39,14 @@ jobs: run: yarn build - name: Deploy to Netlify - env: - NETLIFY: true - CONTEXT: deploy-preview - run: | - npm install -g netlify-cli - netlify deploy \ - --auth ${{ secrets.NETLIFY_AUTH_TOKEN }} \ - --site ${{ secrets.NETLIFY_SITE_ID }} \ - --dir build \ - --alias preview-${{ github.event.pull_request.number }} + uses: jsmrcaga/action-netlify-deploy@v2.0.0 + with: + NETLIFY_AUTH_TOKEN: ${{ secrets.NETLIFY_AUTH_TOKEN }} + NETLIFY_SITE_ID: ${{ secrets.NETLIFY_SITE_ID }} + build_directory: build + install_command: "echo Skipping installing the dependencies" + build_command: "echo Skipping building the web files" + deploy_alias: preview-${{ github.event.pull_request.number }} - name: "Update PR" if: ${{ env.NETLIFY_PREVIEW_URL }} diff --git a/docusaurus.config.js b/docusaurus.config.js index 0cf93a5ab..1d8900e8f 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -169,6 +169,3 @@ module.exports = { ...config, ssrTemplate: ssrTemplate(config), } - -console.log("isPreviews", isPreviews); -console.log("baseUrl", config.baseUrl); From 4e9a7c9da7f6bb16aa1caada952aa5f1761ba7d5 Mon Sep 17 00:00:00 2001 From: javier Date: Tue, 13 May 2025 11:11:12 +0200 Subject: [PATCH 17/35] refreshing some charts --- documentation/guides/questdb-internals.md | 8 +- .../questdb-high-level-architecture.svg | 2 +- .../guides/questdb-internals/questdbBasic.svg | 1040 ------------- .../guides/questdb-internals/walData.svg | 1290 +---------------- 4 files changed, 5 insertions(+), 2335 deletions(-) delete mode 100644 static/images/guides/questdb-internals/questdbBasic.svg diff --git a/documentation/guides/questdb-internals.md b/documentation/guides/questdb-internals.md index 8acfb3177..26b538f34 100644 --- a/documentation/guides/questdb-internals.md +++ b/documentation/guides/questdb-internals.md @@ -11,9 +11,8 @@ QuestDB offers high-speed ingestion and low-latency analytics on time-series dat This document explains QuestDB's internal architecture. @@ -87,9 +86,8 @@ can handle and resolve out-of-order data writes, and enables deduplication. Colu diff --git a/static/images/guides/questdb-internals/questdb-high-level-architecture.svg b/static/images/guides/questdb-internals/questdb-high-level-architecture.svg index 62a8ab857..324144ea6 100644 --- a/static/images/guides/questdb-internals/questdb-high-level-architecture.svg +++ b/static/images/guides/questdb-internals/questdb-high-level-architecture.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/static/images/guides/questdb-internals/questdbBasic.svg b/static/images/guides/questdb-internals/questdbBasic.svg deleted file mode 100644 index 691b208c3..000000000 --- a/static/images/guides/questdb-internals/questdbBasic.svg +++ /dev/null @@ -1,1040 +0,0 @@ - - - -Time-series streaming dataLow-latency query results diff --git a/static/images/guides/questdb-internals/walData.svg b/static/images/guides/questdb-internals/walData.svg index 8feca3cf6..0520abe63 100644 --- a/static/images/guides/questdb-internals/walData.svg +++ b/static/images/guides/questdb-internals/walData.svg @@ -1,1289 +1 @@ - - - -Potentially out-of-order and/or duplicated dataConsistent and deduplicated table data WAL File 1WAL File 2WAL File 3WAL File 4Connection 1Connection 2Connection 3Connection 4TableWriter + \ No newline at end of file From 98799750aa01153e97be44c600b9b1862d540c9a Mon Sep 17 00:00:00 2001 From: javier Date: Tue, 13 May 2025 14:13:03 +0200 Subject: [PATCH 18/35] added new images --- documentation/guides/questdb-internals.md | 45 +- .../guides/questdb-internals/columnRead.svg | 1 + .../questdb-internals/columnarStorage.svg | 288 +-------- .../questdb-internals/interval_scan.svg | 596 ++++++++++++++++++ .../multiThreadedExecution.svg | 1 + .../questdb-internals/partitionModel.svg | 181 ++++++ .../questdb-high-level-architecture.svg | 2 +- .../questdb_network_protocols.svg | 531 +--------------- .../guides/questdb-internals/walData.svg | 2 +- .../guides/questdb-internals/web-console.webp | Bin 81580 -> 69086 bytes 10 files changed, 797 insertions(+), 850 deletions(-) create mode 100644 static/images/guides/questdb-internals/columnRead.svg create mode 100644 static/images/guides/questdb-internals/interval_scan.svg create mode 100644 static/images/guides/questdb-internals/multiThreadedExecution.svg create mode 100644 static/images/guides/questdb-internals/partitionModel.svg diff --git a/documentation/guides/questdb-internals.md b/documentation/guides/questdb-internals.md index 26b538f34..5bc93e4e7 100644 --- a/documentation/guides/questdb-internals.md +++ b/documentation/guides/questdb-internals.md @@ -110,9 +110,8 @@ deduplicated on additional columns. @@ -180,9 +179,8 @@ deduplicated on additional columns. ### Execution model @@ -208,17 +206,12 @@ deduplicated on additional columns. multi-core fashion. Some queries, for example those involving an index, are executed on a single thread. Other queries, like those involving `GROUP BY` and `SAMPLE BY`, execute a pipeline with some single-threaded stages and some multi-threaded stages to avoid slow downs when groups are unbalanced. -

+ - **Worker pools:** QuestDB allows to configure different pools for specialized functions, like parsing incoming data, applying WAL file changes, handling PostgreSQL-Wire protocol, or responding to HTTP connections. By default, most tasks are handled by a shared worker pool. @@ -249,9 +242,8 @@ parsing incoming data, applying WAL file changes, handling PostgreSQL-Wire proto - **Out-of-order data:** @@ -269,9 +261,8 @@ parsing incoming data, applying WAL file changes, handling PostgreSQL-Wire proto @@ -512,14 +503,6 @@ The default port number for the minimal HTTP server is `9003`. Grants [can be configured](/docs/operations/rbac/) individually or at the group level with fine granularity, including column-level access. - - - ## Observability & diagnostics @@ -563,7 +546,7 @@ The [QuestDB Web console](/docs/web-console/) is ideal for interactive explorati alt="The QuestDB Console" title="The QuestDB Web Console" src="images/guides/questdb-internals/web-console.webp" - width={745} + width={1000} /> diff --git a/static/images/guides/questdb-internals/columnRead.svg b/static/images/guides/questdb-internals/columnRead.svg new file mode 100644 index 000000000..ab5ba3ea2 --- /dev/null +++ b/static/images/guides/questdb-internals/columnRead.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/guides/questdb-internals/columnarStorage.svg b/static/images/guides/questdb-internals/columnarStorage.svg index 1ba050613..bbe3ee17f 100644 --- a/static/images/guides/questdb-internals/columnarStorage.svg +++ b/static/images/guides/questdb-internals/columnarStorage.svg @@ -1,287 +1 @@ - -partition directory column data fileFixed-size typeFixed-size typeFixed-size type column data file column data file column offsets file + \ No newline at end of file diff --git a/static/images/guides/questdb-internals/interval_scan.svg b/static/images/guides/questdb-internals/interval_scan.svg new file mode 100644 index 000000000..8bf806142 --- /dev/null +++ b/static/images/guides/questdb-internals/interval_scan.svg @@ -0,0 +1,596 @@ + + + + + + + + + + + + + + + + + + Interval forward scan + + + + + + + + Interval forward scan + + + + + + + + + + + + + + + + Table + + + + + Table + + + + + + + + + + + designated timestamp + + + + + designated timestamp + + + + + + + + + + + + Partition + + + + + Partition + + + + + + + + + Interval + + + + Interval + + + + + + + + + + Partition + + + + + Partition + + + + + + + + + + + Interval + + + + Interval + + + + + + + + + Interval + + + + Interval + + + + + + + + + + + + + Interval backward scan + + + + + + + Interval backward scan + + + + + + + Text is not SVG - cannot display + + + diff --git a/static/images/guides/questdb-internals/multiThreadedExecution.svg b/static/images/guides/questdb-internals/multiThreadedExecution.svg new file mode 100644 index 000000000..7457190ad --- /dev/null +++ b/static/images/guides/questdb-internals/multiThreadedExecution.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/static/images/guides/questdb-internals/partitionModel.svg b/static/images/guides/questdb-internals/partitionModel.svg new file mode 100644 index 000000000..5cdbf5ef0 --- /dev/null +++ b/static/images/guides/questdb-internals/partitionModel.svg @@ -0,0 +1,181 @@ + +table directorycolumn filesTimecolumn filescolumn filesData fileTime partitionTime partitionTime partition diff --git a/static/images/guides/questdb-internals/questdb-high-level-architecture.svg b/static/images/guides/questdb-internals/questdb-high-level-architecture.svg index 324144ea6..92da02dda 100644 --- a/static/images/guides/questdb-internals/questdb-high-level-architecture.svg +++ b/static/images/guides/questdb-internals/questdb-high-level-architecture.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/static/images/guides/questdb-internals/questdb_network_protocols.svg b/static/images/guides/questdb-internals/questdb_network_protocols.svg index dadacd541..0c97e508f 100644 --- a/static/images/guides/questdb-internals/questdb_network_protocols.svg +++ b/static/images/guides/questdb-internals/questdb_network_protocols.svg @@ -1,530 +1 @@ - - - - - - - - - - - cluster_clients - - Client Applications - - - cluster_interfaces - - Network Interfaces - - - cluster_core - - QuestDB Core - - - ILPClients - - InfluxDB LineProtocol Clients - - - - ILP - - InfluxDB LineProtocol - - - ILPClients->ILP - - - - - ILPClients->ILP - - - - - PGClients - - PostgreSQL Clients - - - PG - - PostgreSQL WireProtocol - - - PGClients->PG - - - - - PGClients->PG - - - - - HTTPClients - - HTTP Clients - - - HTTP - - HTTP RESTAPI - - - HTTPClients->HTTP - - - - - HTTPClients->HTTP - - - - - Writers - - TableWriter / WAL System - - - ILP->Writers - - - - - CairoEngine - - CairoEngine - - - PG->CairoEngine - - - - - HTTP->CairoEngine - - - - - CairoEngine->Writers - - - - - Readers - - TableReader - - - CairoEngine->Readers - - - - + \ No newline at end of file diff --git a/static/images/guides/questdb-internals/walData.svg b/static/images/guides/questdb-internals/walData.svg index 0520abe63..1e91fba58 100644 --- a/static/images/guides/questdb-internals/walData.svg +++ b/static/images/guides/questdb-internals/walData.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/static/images/guides/questdb-internals/web-console.webp b/static/images/guides/questdb-internals/web-console.webp index 2fea78c07b1730cbcf9df9b79f7443a6a892c640..2c7ea44dcc9d36787d3831480945cbdd007894db 100644 GIT binary patch literal 69086 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 literal 81580 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 j|1SJbMQ*x(e*3?j#eW?1zh=Krniqzf?!TWJFU Date: Tue, 13 May 2025 16:20:08 +0200 Subject: [PATCH 19/35] removing dependencies on images from the architecture guide --- documentation/concept/interval-scan.md | 1 - documentation/concept/partitions.md | 1 - documentation/concept/storage-model.md | 1 - documentation/concept/write-ahead-log.md | 2 -- 4 files changed, 5 deletions(-) diff --git a/documentation/concept/interval-scan.md b/documentation/concept/interval-scan.md index 7077e5fcf..0b559fb63 100644 --- a/documentation/concept/interval-scan.md +++ b/documentation/concept/interval-scan.md @@ -39,7 +39,6 @@ that falls outside the relevant intervals. However, it's important to note that **Interval Scan** does not apply to the results of sub-queries, as the data returned from a sub-query is not guaranteed to be in timestamp order. - - Date: Tue, 13 May 2025 16:44:03 +0200 Subject: [PATCH 20/35] replacing heavy svg with webp image --- documentation/guides/questdb-internals.md | 2 +- .../questdb_network_protocols.svg | 1 - .../questdb_network_protocols.webp | Bin 0 -> 41680 bytes 3 files changed, 1 insertion(+), 2 deletions(-) delete mode 100644 static/images/guides/questdb-internals/questdb_network_protocols.svg create mode 100644 static/images/guides/questdb-internals/questdb_network_protocols.webp diff --git a/documentation/guides/questdb-internals.md b/documentation/guides/questdb-internals.md index 5bc93e4e7..7740aefd7 100644 --- a/documentation/guides/questdb-internals.md +++ b/documentation/guides/questdb-internals.md @@ -439,7 +439,7 @@ QuestDB exposes several network interfaces and protocols to allow different clie diff --git a/static/images/guides/questdb-internals/questdb_network_protocols.svg b/static/images/guides/questdb-internals/questdb_network_protocols.svg deleted file mode 100644 index 0c97e508f..000000000 --- a/static/images/guides/questdb-internals/questdb_network_protocols.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/guides/questdb-internals/questdb_network_protocols.webp b/static/images/guides/questdb-internals/questdb_network_protocols.webp new file mode 100644 index 0000000000000000000000000000000000000000..eeea8da149ebb5dc06cc3d79e73f48b914565c8c GIT binary patch literal 41680 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 literal 0 HcmV?d00001 From ea8929079894e86ab3acb83d2fe5a144ed669d51 Mon Sep 17 00:00:00 2001 From: javier Date: Tue, 13 May 2025 16:49:39 +0200 Subject: [PATCH 21/35] renaming the guide --- documentation/guides/questdb-internals.md | 6 +++--- documentation/sidebars.js | 1 + 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/documentation/guides/questdb-internals.md b/documentation/guides/questdb-internals.md index 7740aefd7..4e57a881c 100644 --- a/documentation/guides/questdb-internals.md +++ b/documentation/guides/questdb-internals.md @@ -1,7 +1,7 @@ --- -id: questdb-internals -title: QuestDB Internals -slug: questdb-internals +id: questdb-architecture +title: QuestDB Architecture +slug: questdb-architecture description: A deep technical dive into the internal architecture, storage engine, query processing, and native integrations of QuestDB. --- diff --git a/documentation/sidebars.js b/documentation/sidebars.js index efb6cb1fa..451c2147e 100644 --- a/documentation/sidebars.js +++ b/documentation/sidebars.js @@ -459,6 +459,7 @@ module.exports = { "guides/import-csv", "guides/mat-views", "guides/modifying-data", + "guides/questdb-architecture", "guides/replication-tuning", "guides/working-with-timestamps-timezones", "web-console", From 3765eda4b310ce19710c625ec9dc0314dae89eae Mon Sep 17 00:00:00 2001 From: javier Date: Wed, 14 May 2025 17:07:36 +0200 Subject: [PATCH 22/35] revamping images --- .../guides/questdb-internals/columnRead.svg | 2 +- .../multiThreadedExecution.svg | 2 +- .../questdb-high-level-architecture.svg | 2 +- .../questdb_network_protocols.webp | Bin 41680 -> 34242 bytes .../guides/questdb-internals/walData.svg | 2 +- 5 files changed, 4 insertions(+), 4 deletions(-) diff --git a/static/images/guides/questdb-internals/columnRead.svg b/static/images/guides/questdb-internals/columnRead.svg index ab5ba3ea2..080fa4488 100644 --- a/static/images/guides/questdb-internals/columnRead.svg +++ b/static/images/guides/questdb-internals/columnRead.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/static/images/guides/questdb-internals/multiThreadedExecution.svg b/static/images/guides/questdb-internals/multiThreadedExecution.svg index 7457190ad..fe61afddc 100644 --- a/static/images/guides/questdb-internals/multiThreadedExecution.svg +++ b/static/images/guides/questdb-internals/multiThreadedExecution.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/static/images/guides/questdb-internals/questdb-high-level-architecture.svg b/static/images/guides/questdb-internals/questdb-high-level-architecture.svg index 92da02dda..a137f35b4 100644 --- a/static/images/guides/questdb-internals/questdb-high-level-architecture.svg +++ b/static/images/guides/questdb-internals/questdb-high-level-architecture.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file diff --git a/static/images/guides/questdb-internals/questdb_network_protocols.webp b/static/images/guides/questdb-internals/questdb_network_protocols.webp index eeea8da149ebb5dc06cc3d79e73f48b914565c8c..5df000583767a1b3f495bd2814d68c0374c8c6e9 100644 GIT binary patch literal 34242 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 literal 41680 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 diff --git a/static/images/guides/questdb-internals/walData.svg b/static/images/guides/questdb-internals/walData.svg index 1e91fba58..6c131f702 100644 --- a/static/images/guides/questdb-internals/walData.svg +++ b/static/images/guides/questdb-internals/walData.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From acf512a664941da36bf9d612003f85bddd8fe48e Mon Sep 17 00:00:00 2001 From: javier Date: Wed, 14 May 2025 17:27:37 +0200 Subject: [PATCH 23/35] walData.svg image changed for better flow --- static/images/guides/questdb-internals/walData.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/images/guides/questdb-internals/walData.svg b/static/images/guides/questdb-internals/walData.svg index 6c131f702..07752db6c 100644 --- a/static/images/guides/questdb-internals/walData.svg +++ b/static/images/guides/questdb-internals/walData.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From 14a8a51ba7d9967cccdf4d0f7f7d249277f2ed62 Mon Sep 17 00:00:00 2001 From: javier Date: Wed, 14 May 2025 17:34:09 +0200 Subject: [PATCH 24/35] bigger fonts --- static/images/guides/questdb-internals/walData.svg | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/static/images/guides/questdb-internals/walData.svg b/static/images/guides/questdb-internals/walData.svg index 07752db6c..e7bac7234 100644 --- a/static/images/guides/questdb-internals/walData.svg +++ b/static/images/guides/questdb-internals/walData.svg @@ -1 +1 @@ - \ No newline at end of file + \ No newline at end of file From d6465379c81b5d849e4d6df0b0474905e7eb10f6 Mon Sep 17 00:00:00 2001 From: javier Date: Wed, 14 May 2025 17:51:43 +0200 Subject: [PATCH 25/35] fixing arrow directions --- .../questdb_network_protocols.webp | Bin 34242 -> 34094 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/static/images/guides/questdb-internals/questdb_network_protocols.webp b/static/images/guides/questdb-internals/questdb_network_protocols.webp index 5df000583767a1b3f495bd2814d68c0374c8c6e9..5867b7d0e1833eded80c99c74394e2bf996edf3c 100644 GIT binary patch literal 34094 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 From 0821cf3d0ba28898eec8e421da953d8d464cbb0a Mon Sep 17 00:00:00 2001 From: emrberk Date: Thu, 22 May 2025 17:05:57 +0300 Subject: [PATCH 26/35] update charts --- documentation/concept/interval-scan.md | 2 +- documentation/concept/partitions.md | 4 +- documentation/concept/storage-model.md | 8 +- documentation/guides/questdb-internals.md | 31 +- .../images/blog/2023-04-25/intervalScan.webp | Bin 0 -> 31634 bytes .../images/blog/2023-04-25/interval_scan.svg | 4 - static/images/docs/concepts/columnRead.svg | 1 - static/images/docs/concepts/columnRead.webp | Bin 0 -> 18598 bytes .../images/docs/concepts/partitionModel.svg | 1 - .../images/docs/concepts/partitionModel.webp | Bin 0 -> 24888 bytes .../docs/concepts/storageSummarized.svg | 1 - .../images/docs/concepts/storageSummary.webp | Bin 0 -> 34024 bytes .../guides/questdb-internals/columnRead.svg | 1 - .../guides/questdb-internals/columnRead.webp | Bin 0 -> 18598 bytes .../questdb-internals/columnarStorage.svg | 1 - .../questdb-internals/columnarStorage.webp | Bin 0 -> 30224 bytes .../questdb-internals/intervalScan.webp | Bin 0 -> 31634 bytes .../questdb-internals/interval_scan.svg | 596 ------------------ .../multiThreadedExecution.svg | 1 - .../questdb-internals/partitionModel.svg | 181 ------ .../questdb-internals/partitionModel.webp | Bin 0 -> 24888 bytes .../questdb_network_protocols.webp | Bin 34094 -> 0 bytes .../guides/questdb-internals/walData.svg | 1 - .../guides/questdb-internals/walData.webp | Bin 0 -> 40356 bytes .../guides/questdb-internals/web-console.webp | Bin 69086 -> 116528 bytes 25 files changed, 12 insertions(+), 821 deletions(-) create mode 100644 static/images/blog/2023-04-25/intervalScan.webp delete mode 100644 static/images/blog/2023-04-25/interval_scan.svg delete mode 100644 static/images/docs/concepts/columnRead.svg create mode 100644 static/images/docs/concepts/columnRead.webp delete mode 100644 static/images/docs/concepts/partitionModel.svg create mode 100644 static/images/docs/concepts/partitionModel.webp delete mode 100644 static/images/docs/concepts/storageSummarized.svg create mode 100644 static/images/docs/concepts/storageSummary.webp delete mode 100644 static/images/guides/questdb-internals/columnRead.svg create mode 100644 static/images/guides/questdb-internals/columnRead.webp delete mode 100644 static/images/guides/questdb-internals/columnarStorage.svg create mode 100644 static/images/guides/questdb-internals/columnarStorage.webp create mode 100644 static/images/guides/questdb-internals/intervalScan.webp delete mode 100644 static/images/guides/questdb-internals/interval_scan.svg delete mode 100644 static/images/guides/questdb-internals/multiThreadedExecution.svg delete mode 100644 static/images/guides/questdb-internals/partitionModel.svg create mode 100644 static/images/guides/questdb-internals/partitionModel.webp delete mode 100644 static/images/guides/questdb-internals/questdb_network_protocols.webp delete mode 100644 static/images/guides/questdb-internals/walData.svg create mode 100644 static/images/guides/questdb-internals/walData.webp diff --git a/documentation/concept/interval-scan.md b/documentation/concept/interval-scan.md index 0b559fb63..7be3aab45 100644 --- a/documentation/concept/interval-scan.md +++ b/documentation/concept/interval-scan.md @@ -42,7 +42,7 @@ returned from a sub-query is not guaranteed to be in timestamp order. diff --git a/documentation/concept/partitions.md b/documentation/concept/partitions.md index 252ad60a7..4662d4b00 100644 --- a/documentation/concept/partitions.md +++ b/documentation/concept/partitions.md @@ -18,8 +18,8 @@ import Screenshot from "@theme/Screenshot" diff --git a/documentation/concept/storage-model.md b/documentation/concept/storage-model.md index 2a2246b78..dce16a5ce 100644 --- a/documentation/concept/storage-model.md +++ b/documentation/concept/storage-model.md @@ -39,7 +39,7 @@ mapped memory page, where the required value is read from. @@ -95,12 +95,8 @@ Data committed by one process can be instantaneously read by another process, either randomly (via queries) or incrementally (as a data queue). QuestDB provides a variety of reader implementations. - diff --git a/documentation/guides/questdb-internals.md b/documentation/guides/questdb-internals.md index 4e57a881c..b323dc9b7 100644 --- a/documentation/guides/questdb-internals.md +++ b/documentation/guides/questdb-internals.md @@ -86,7 +86,7 @@ can handle and resolve out-of-order data writes, and enables deduplication. Colu @@ -110,8 +110,8 @@ deduplicated on additional columns. @@ -179,8 +179,8 @@ deduplicated on additional columns. ### Execution model @@ -192,9 +192,7 @@ deduplicated on additional columns. - **JIT compilation and Vectorized processing:** @@ -206,13 +204,6 @@ deduplicated on additional columns. multi-core fashion. Some queries, for example those involving an index, are executed on a single thread. Other queries, like those involving `GROUP BY` and `SAMPLE BY`, execute a pipeline with some single-threaded stages and some multi-threaded stages to avoid slow downs when groups are unbalanced. - - - **Worker pools:** QuestDB allows to configure different pools for specialized functions, like parsing incoming data, applying WAL file changes, handling PostgreSQL-Wire protocol, or responding to HTTP connections. By default, most tasks are handled by a shared worker pool. @@ -242,7 +233,7 @@ parsing incoming data, applying WAL file changes, handling PostgreSQL-Wire proto @@ -261,7 +252,7 @@ parsing incoming data, applying WAL file changes, handling PostgreSQL-Wire proto @@ -436,13 +427,6 @@ tracks status of the cluster to enable instance discovery and automatic failover QuestDB exposes several network interfaces and protocols to allow different client applications to interact with the database - - ### InfluxDB Line protocol (ILP) over HTTP or TCP The [Influx Line Protocol](/docs/reference/api/ilp/overview/) allows for very high throughput of incoming data. It supports @@ -546,7 +530,6 @@ The [QuestDB Web console](/docs/web-console/) is ideal for interactive explorati alt="The QuestDB Console" title="The QuestDB Web Console" src="images/guides/questdb-internals/web-console.webp" - width={1000} /> diff --git a/static/images/blog/2023-04-25/intervalScan.webp b/static/images/blog/2023-04-25/intervalScan.webp new file mode 100644 index 0000000000000000000000000000000000000000..f47ca02674d2ffbf26fb67a1cfebbe5acac76b37 GIT binary patch literal 31634 zcmeFXWpHH4k|ruP9pEm@e~he1~By=1Sc3j69yc<0q6t#yu^K#cmb^F`!eih&2<1i zY~R0sPOm?}f7rhl0XQl;KWrZa5PaqV+up05a6UpGj{w_S0HDzoQdvN)Gus>2d){;V za`d=!9iZb=0hoBeykI48Dy{SGl-z(pvo)B+4Uj+s}m#n|QzS%xEKI@;ujKzdomuE?NNs zjrwbdFWv_N6`i*N0-(e2EZYSI>;G5&Uj+VthQQikt@9SzA=BV(LTnyaq(FLE0`{2w z+y3|B38Sb(8gg+*JRdGiYL?{P=aFH>^g+T2wXfj^oF5J~DyIKmzeN8c(R)|dT1nQ$ zr!;dBlyWummlUgY)t<|*U=|JYBv7=RJqW6Gm|fTvrqa_+ULYgO0g_lTrlUVH&w~HE zq-}?n8eVs!06s}fa$=nf`b)+k%R<>+;Q0x(+UfI>{(AD6=QaA#O&5nsESb}oI;%88 z0Fio(YF8U_t0aj`Zs;P{qUx>HPp&Ui2GDB;e-ngOZTwo%Etz8NTxFjOep_btd$E#0YEew@Fgj7pQa z`7csEAoqV0+pwDd^-BMKy%#|qV8%2>N=(}Yg=9haZ(rMFI=`m;lSwfikD0E`n~4ly zaXzE(CQ^C>S}De()_%+G=C~yE5m_d_Z2mXcXymmBBiRJ!hlL<1|DBPusEu~HvtCgC z-bGv7KjZv&%>SJ+gNTxYiylp0cz6NzU4dTw@0kR5rOL0W$6wp2)c< zgoS@~UdE~;VgIqHA-jLil^5tlqL^=h+<}UyvE^5ObUOVGO0~P)_=4ZG3M5?O$>6tP z^@oZ8vq}??UqYBvhJEl}s~s98blK2(JY?tf0=Hx99OpG@}3As*^kR zGhJ_I;%GA4^?QgZ7F+|LhV|ji9g4`Z_Wt^(%XRk3Mp*b#Aiv8vn3{p6-rAsF)+8pT z{Y3M##B$0eHlG&Oc=f}B@lUKc|GP^KrssKV(>^V`Vv(3{(j${3Ikk>k9&b@) zY|_?@tubA6>*$t-!Y9q(fq|jIC$eGthz;8Q4Z<>@)4X@->3nMEFYjAn&9b~f*e*v7sVscoojbzJBXduC$ZKj8h>N%#ZP6Y`P*op>ft&!9*5QRjgu)e^>g86 zkvrKtB1F-k;97NJSRTI)C)d(W`Hmd#PMJzX#{G;T_Ou;}YDZi(`Hbb2ly<*XO)oj! zby-&w=I)k&F65f>@*4^RtALxNwRZ>%E(px}J%X@ql>)0|MTL@)82RTSk`9%$bwjm# z!#tg+cE$Zle{g3hQM~e=>2*erD&hKCOs5}m$Hlea<}lKJ?)Qthp%y4*$@ja5(DCn@ zbP0Ayw92IS5DDa`%>jB^;?^+TX|1{oKX6|8kRdnsv+3_`MfO16{1Mf99JIQPlBXz$ zFEu%3A}OW!Y8g6*its&!666GT0&0HvL+ChHu8D_xxY{nF=BRK18Bo+4r0~`AC|` zmoq7@+Mw)_OJTSkWyts2s0C2}l?>}(awG;2XgrRXmQ;ym&9j2Xt-5=Er5iJSHtj0& zXZCXw3G$&CTQLA?uC9c#Ic=X^n-P^xX}d~rsqUj4Xk_D5pzOYSsVxX&F1TR>7tb!9 zL&x#UJ$EuAx(>t7x9mbx-;vHX8+NHw;69h){ap1~EC_6|+2^(mN_7o$d^+i;6KIG2 zgx&QP^*ZwYYtLZF!hV%GTs|NXMziyrhGx#02!IV=#JHENb>yKLH-u`ovDP0#!*%T= z+|p4wkba05M0kvJ>8GeS_zX~**(a5Him<7zEQ>^H-R!&zb^9Y-&mQ0U7cKv}Uzok3 z4K>|ooN&dCZ*s2pPd|~9M^kShV3=u;ZPf^!-;Q;lH_>o4c9@_5``2b_11;bofDk1O0>X9rZW8YdCPrK}h{027PV^z7*JY%}4En z9mG3#l-s_V0H#m|{$tEYU3B!ebK)NhK|gg)*H8jo`6-qh!npj?Y!)%ywVryr&|4zz z2=$zVg^|n~In?+2Avccc0QrT#FLr_2XPnUv{p%z`umnEG%1>iV2SsA&*YUg1A`igF zoY)kf@bY}x-4y)h^JjP$^{4WRsd+n*{v?w@8B#JuTA#SQAYORkjgL8{!^QmzD#gUl zPQ-KXf2K$K-vkPKNYBNwYMJ=!qi9xX`7yxnKSlpa(8b2$2lvZeTaAE!5FV+Ox`f3# z<@rmSA@IvT84cD)b(pjk9cS&dI+|2EGy2-v`5(-xlZV8sx8QF~oVg)uE~>0daB{Dl zO!?4jaoxx0qT}?H@W-S6(rabQ$Kblx;sgKbMTR7f5U&3Mum&_skZ|j7xqrA7fr?SH zA7jKPIl0^$2~ht`;D6>8Lo;dPDy+{Wv!BJCq4Ak>POrQiK^Kmk(lnFE?%YZyT=oGWu>(B*$or?~mJda}UqrTg{z^>*eWXhPZbjwshUB#NRk|WpBZ)~r_LBb%Vf;IJ z{GY~}?l_+z?M4Q4{_pJmKOg_e{a3|;cT@kcxPN5HKUMit%fAlyK>S~x5_D>DX#anR z?*F9gKhfa--A|DfiyWW`N{mzMcjWAmJsK8@<2e5ttF!;C4y0Tmb82AqORNduj;;Jc zQbjz;V>f8|zoba~57bcpmV?;RvDs&6{TVd>xm5al+4S#@z0CG5oGb`Kp(GJ@tY#^! zV*IhbSW~08ulOKlXIXu__1WgtSv91Y_PG;Q>2_qra*9ROM=kS)`xMFRQ))s&jJB+V6)17G*1)7kUS73zO%!^^)>xUhLs zdUKgdYxk1po~q55)m$M;oMk!>V#=j+(}8@t<~>-|SSVFDVC&lLVNnGRu}ItkfvY2b z^e$tV;mqa(&uPq~d7_4~5|T9b%QNlRL85yZZ~1@*dFlWk>cqd-83%0HG7Z3OZ9=-x z=eCMEpYWoUHF!dT6$*PuLFz6`mi(yrw-xn&tnWWozGweek^k3n_TRmi|3jXN&BZf> z9vfc$R|3=@P_zjodtv{F`3U-}^>?AM0tJ_CqS# z!ID|&%k(1fagJQVRs8JhK9^x5AX3XP9Pk#hofiyd4T{aye<8hXRtUL&+|&l`mhR~o zke}^iLMsqm4LI3cgXae;0RH)CjYGq@uaYuhKu0qM%a)soM!bK+=*Ci7M3mNf;B`*S zg9l4Aa*CmQ!H=g}6#VfWr1wkTPZF^jX%NGWlglJ(;g%Ul+z$rUG6oYu*Z)^12v7mR zH2aS0^(C6>i9A~j*$ZB=mopss?bnfNa#aN!2D=M%#2T}t5;PRrp0aN}(055hGlgGF zQ3y9*%`>C&Cm`9l{?_jK-<{|FrOotz+P>L9Kp%jo-?(p?zo^N9{(C;)Qy+nfc2(+b z+6sZW@ClQ?_fCKOu<&wDoeU7LR{J)4&bAw%v{{v{{7ZYh83o~a#bSGGV6{-eNc18? zSC66B`B&he5*#?pvuapp(6C%E=x1hJ6s#^xoaXryM9w3l3#lb%QLNx6&5+sh%~n%0 zITwK}0{*pPTpN0!o^r2HXW{D;c4T zF!3aC%S{H5y4}WnY`~Qb{F{<>$>kzej^_`IHL!ey(@2&%3L!Oe_FN3Ey1-Os4A@qM z1HW^L>TAf@V4EBeZn|?zmauZx`tGpjq_6%?dulh2}_#KK?)f?#Q?3{kc~BdCW= z6z3Eb-1|l0bRQTCB!+9f>=grKu{v9Rn(4cWM^|^(41I7T>#~`Ls{}^4D(2vRHgBhX z5U16VyAQ4{Dk)s+R~6s(5G#Y8maO7qW6Bg zO4)UOWdf0o8@UiJFeQ=%wfoXMoUFTB9!Ez9oczLh9jOI`Q`bhQt_>$;)zTN5t!6Se z)3as0r>``_UpHiC#`Go27ZqK1-rsfjyd9gq zft-tC53I)a8BBoZCSN=-qXr-Q3XgL=^;*#jb1u;Ag=uO#^M!f{AkRPfz$E)x2zGVM zW{h@?n(IkBu}Kr)S<(rRJV5LA&Mj!HM&Wa+(u&y`7X>}o!k-+DNGa;)!2^48tyxfs zb;)65&`U^TAk1@1NBeLXK)7K-UgR4#chLcPyLyOIpx=JOP_kOHv1eU<)A6(Xau6mp zl~TC&X2~6xoTAAMUuH>5Y%QjY!HbUNtR|J5?2i^C@JNXdyTxY+-IPF&IcE+uzBAca z!@vvFFF1jh|ISt?=s6P79p2NzpZ!4%WD7oC$2|zm9(JO;sWoC9)d5;BdiQ&SJ(Fjy&G76;DQeN^HCowJAznacuT2Bk zwy&|f`%eYp?*h+V+RA8k1hNI0zs8Fel9V2Xv4Bsos_2LvvV=LrMZ1>I&9|h@o0fpa znkQ8*b@Y|WIJl=MyxVWk&YM_BQv&J@M0}C^R0GAQMm9XH{eVItkfS?hJDx-FB)fXY z8X)X|Y-QT(V8^DZ6)56MO1L1%FKB35BPSqDSrl*=i6dot4ozn<PFWKP> zsbIT97=mExKAs>z0V6+fQZ$%!UR+j-*mE5z@AdjGX7`{lAd5TI{WR7s0h6B6FKOk- zE;4ZFNr?^bKs6rxAqX{iIywe&*w<|zC2uUfIjtIr@+k85Y6uzW80(?hYhdQdUtsW! z3Q!+CF6ha8Fln0s%!Aeu;bjs@QW)d#3}Zx}z3E9Z1r6iMeECeme*yyU?iQ>>{;gWX zpplSzAbW&gQOfJ;0``m6$8phy|^~r`3*t zuqU5F#*h57BITWN9Uif7E}HID7slFGd6{G@sK&?Vk|v9z&hir7HGDMp!jvIOtcE0p z?|8`=l6r7PyTDjaP+FHLoX4cr{m(P3$0%PQVtSUshEmof&E$Nm!bL3}a zZ82RFPCQXzI|Oj7o4I)4LehkCB6r4zpnt%IBBA1kLrZ2#?g}5tfRtg`$Q)u4y&xJ6 ze&35(c9U_nMHF)Kv_eYD9yD9e~elrSWyvW2tzmS`i__TxUINmL}*jLV19O7iM#KBOHarS6WN9ZZ&3tAMpQXm$tL; zwE1@ZQr8P~32iwOMX8<`f>QAW@N$$*Y^X`s;lAB31$B|7$Zjx$o_O@``dwu>uv0Cn zfmysu%((YaiUGgm7F0GNZfe5&<`0IGB-MY!?>h&_!TfcA_5dYDZu0`-!eK*I%2jEs z%Z4ck?kn`jg=281ix0X`)d~KO_(@uM4l)?W!+6?a#wXBhv-Vq)bxaqkNusKBuCGUk^3#Sod6&ntvWIThcVmdS|Gh9=l9Qr;V(J2TS zlnNB$@Yu*^qI#gb%8h-`JoSD)tpGw!hN9}c@8@ICUhmqHXI~r}1E3;khWpD!aDba& z@=`eP%t!k$eC17Hp4x`Y1kUR}!k3u`Jx{81Ql0+MAu0ELF|9wk!^&@|AIM36gLj3t z?i%L0XuhF+BiUVO^Wl9Ay@(}VB)u2%C#$(ZlR!PYz(ik{dbezJvQCOmbHF6r?BT#f z5JM$ml9t_N_-0sk=-k~8*mSjj&dM;U<3x-&WUpdye%e5^1^_} z+)69{hnQ8Mp;wHz0~jNOAsv%fiXG}onfG{1pZU|LTA!b(F^!7zpe@tz-;KZjw-r{tGNEw-l0|9>owG91?ml$#4;0R0h*?_pOi#euRuKS zcEw!Y9=)RPZ5ZPgp&t?LLw0vMsz`R%ai)7G$|h_aF{O!7bCRFeazWj9jCqgdb>DKu zx$t9+kXHPOfM1~>2vqd21%fM&C0^c(S~rD(adIl@!i4#AD^nk^T+B=#Qi3!c&^wW~ zj)vTdYd31#c{9g1_zk2hqT1WFJfFCqYk)v_rkXI7EnnTh!hKrRj6S%0=k&z(SLTMB z{&J}M$8OETV`1<*MvGd40rb?SbsZVI_6YxMu?WQC70#C1&w5LB?vly~5N37ywU`{! zgreLky#n)k_>yiY2tZw>s^2v{shr-1f0g->B73vEld#d^4}oY+7va+8woTk5Q+%1` z2hFt6gD0A)@`72fR=%7xRBJuZCexdu$wLx!W5Bru`O0%Z5tqAnfY7!;Ing&XU25>x zLKR%s{Vyej6tJxteSPe4%~e^^|^<4(QL4%(4(i z-&?PCY*K+l$OBqcAZiHLC^86fRfY%x2yyyv3@wne(-(7kOrJv*nqD@bcAO|eu_3ZjQB8e~t3H>?w zVY*t><=D2^?I_xJO|uaTF)0l?TDbP*b?k$aMXyQqC3OzXRby8Qq1}#c1~j7~UCBPQkRW36q91c=^hI8P7yBCrox39ay$;$)6C7Oq#}7E(LJ zV!G-t=qP$y30;#_HR^iw+Fsw@R77d+cuci&+kCPq&9irX0%z_uU_9oI9(e zjX@wee0RMiz-#TUUnsBrC6FlPZYL)Sz=LQ0$r|>B-agvKbVVD+C1V-$;9weQpPTB* zi#zscj5wP{V=@*%zFalNtPtfjmYBSVwa~BzdBRY)8GSm$CvNZm6e{b0zYs7x+!DfS z!TE)85A;hmixjCFvs^(C>&*r6DRrbYq+Wy#{rF41Ei)SwvnjpE6}%_ zi%Gm+>uB={ZA(ZhVAe4Kl2ZyJl`o(qLIJecLPbewX;{xduTrM=(!T&u;Uc!h(*h>g zOg3QyS{icw-=GI}ne2I4SJH(%PBXs{1g@DC$O7;vH!0GZRVL2$GmbL14lK_=6f_+L zh)(lVEPMHz1jQrWaBnjKk{j-tYD1ZR$d7V#f& zAM`B0fxGmEa(b1iAWa?`zg{LGdk>oZN|qfh<*a+|F;Br>vyO zmSP<>M@>LQH+cR5)gY*>H(bJg>6q<;l#CRt1tcekwd!=}mUBhmqjx`AwNIMjYxG%Z zpS^zk*qo&*_xe8k5$8b;hf9esfD}65#Lr@a&X;l%(03%{hc`)^@~VLdiYF{x;Bp#I z)bjrGUaffw^SNipFll9yyese+gOze`5$kH~3>yd-73$Bz9yIFK0%h^NEzXMUtyE$; zv~-8wNS_<38XI{mHs)TUKaN^6LY31&hlaf@fYi4jc<+PO(6PX_P^fqHNiLe;t1&Vz zB@j?db(~cdsz2=zQK~#5+V%XK_4ZCCcV|Q!ukxV!bz^X->&XZE)wMjn{=fzS)$Z@7 z)!u&IA3nIQu6c~>Z=uDAt~-rHWZyx?u%`oQ2^!@~PGidWi{xj^f#vle0tF{^VlQ+G zWiP~!{_!j}1DdR1-$sQ3oJ`qRHj z9L1@O?&(K8fg0rhO0VpC4*B!Ye+i{LLVqaTxBJbfUO#gwLH(^h+}LRBeBrW4IYl-u z^fP4o9Bc7?TjnCcpJBieFD6Al9jTq5u&S^&3oTqR|4Y+Ay+*@=xOSMz9*NnIFQ~LX zB|sa(1c6{oTp<~zMw+?DBex+yBO)LKR(FppCQD0kQEjv>x%bS3|eG zd1PrBB(2}P^~2u)f}0;I7_zyDd30oBvu zgjVWmdPdw3?K zrYRUwpk-mB$>=;V^jA+hA0@33J^o_Q+8z(z=tzTVX`#5T*paJAt2FVGgX!JQ$?9Z3 z(&Xd*t4F4Z9m7ONK}2vN#NBSsrK-g-+Wd+Hd>LP*&d4Ps(|Jz%iY>8+GWikUfi7G% zXTj2e!K~0RIS=A4-SwJUoav70Ny6*)&ZYI#K!?tuSlNjf-6{dO8$SIzJ>7`({C`_ap~>r+2pcLF%D>A(+vGU{=8BneyuF8{#qgS2Eg;7 zr_9DaR6ByZvcqcMNLC4^q_CpxoB}I<@`^`=tz$zVZ6pnwmg)>vfD$Fv5K}$v)X#N0Rf@h4Qk*Wh zwpq}!;(Am&g&j_!yWHMUyfYV6Vs&caqW;(rpSw6iLi;&URO+A5)4)!CZR$g1euV?v zj@%ytNAqKt#xq$ff0P}qn=d~h-xuBPQ$_t+m4Uxe`T8+6sA{X>EyTWchJHB`goM64Cd17 zemS(CM)8gieQZ}q)ZD477HN>JBKyAV!W&9xBJygB!S*E%V7ZC*t9eKkofv7_*#P?> z)duw#{UaDC*L4InJ%UP#surMns6+=vW;(akg@RU_qeb3%aG%zb3bwQ&V- zKv0D7B~4wf3(7g*TS;`BtmJlDv!`m^0=KQ-13N4RlH`T;xW=yX9O?^=dM(?}>G%9m z+FMpUe%otX)AxQxNkKW&66>%C*nMd}JiRdHU!0LEG9OdnBKcG-O>HIHDrsHK;{zbU z%>8@tk6Ac#R`MZ2Z40iHd36~?qcFzg3i6^(j0mD3Z_SJ&Blxzta5hWgPeV?2_9<~G zE3d9qP!c^^swwZ^NU2AT;<`Y5Of$7yjg159;~_HGVE3<*eG@EINk6P+*upf`Aj_J0 zxPF^W6T2x;GdT+&0&^qJ7Ot+XjY3D99QSRP2_%T}zvwfu)7lw^i&U1V3-hCxe(A`? zmB!8n|L`$ov54zu$V!ltXQJj#0umQXJzJ7m5oWAL&$S=Tlo6Nh4c>n8k=Xo{-q*10 zIF_vxvtijHQr%^IEqm=r1NM1D+wX+_OwocnFBQZ@RD!9((n?id7tPbdXEoeOV3@s< z;|{(0@0l8Ja@=Z}tTQb^HE3?|ewocQ?8uh4;(=T~3Szu=ue8(@Wmt#AQZzD7`1fUbc1~ z6D?Sd#Wtz+e<8*ko$ePivxRRgX`i2+FP%YA#@_ET>DbLWEd3TKzZjlblXV+dg(0u( z^K-&=%W?vu?LQUm@HXj`_gkJr)kSJ@1R-K|so9VwL*rd=@%@@EIfOq|;(ra;iJ4qT zGTjjNO-ZOtnKw0zqJ&U99fM;Rx_mhpX~(dAq2?v+Asfq^QHPLyeI|pp##()l(fn54t_M=L)-!cw3Pv^>Pf^rr&r*2zhIUprB47M3l z;I}A|2*EDvN*%_n#G~tg!khPfbv~q-0>TV?ym;aZF{ZZh&o_5|@XrwCc0$(S_%71p zd@T73;suCG?(T*#HiTe{pY0Gg>y84R~uROL4Bl_r|b^r=6>W=Sqgc}Y?158CP zsP-*s6uVhHp_Bj>rgU!cjRTZ8=y;M7;NtvFnV6M!y-M}p^Y8D)2`DSEJ*z7O146`0 zAk7Vz)f~krqIO|RX;>N4qjOM*-zhGQXbyW-ug==1y4M6Ht=k!a+?S)gEbI6mp)}-l zpO!-B%(FfFAUQ*5%_h72*{-dDA*Gkpg!FtWBxEc)RlUb&SQ&qiLFz;%&wH1?r(s@t z%VjmWbFmp?`X^k6*xmb_sEbf1$3R+Bb@NfC9tw((^U(PT zt7Me>0TZ(s@h+4LFu+D$J3OiVT0)F9vPLTvcn|HIsUbwz0xwHG4$)mFrK!-i6@dd< zG4#o0K3*drS|x!o+zIdXAL+Tk@gA)b6k#%(UP0Q0gSeK~M~N6*%1qohbFI#0=^$DaAvm+@AgJ-xPrQ3(* zVUN9T>hoNc{%+uO)r{dY&cP2v9>8!QHJe;+*_LGyWw`XqV?QQwuH{2N_9$guQ%eXa zMP^(T9CwtaR0@ct7~2se0fKy_BruPE?vxmS)k@5>9LZBF|*a=fF zgPu$r7DM2Wzy^Qfj}mB9kWJJDa!kG3eg(qEm*WR^cB2Ug%TR*>sDg9Ee38UJZ!wx^ zjTf!&HUk+>i@bth$*LL7Nc17sE8ikWK1;1d%*zX1WRNQ?9O02pjhCWkKenA`Ib&n9 z5b(siY!jcoy}Gxdv>0A#SjIIrWY~D{NCiDUKi--549evHo=YqFi)&aG&MQvwrHl<%|ZO!L|{ zkQ48>ckLja-0D3l>HC0wH)*iH`c}q+(L@Cy>@b;{B2Juu>avC{qu-u<&k~*ieH|z= zVqpl0W`h7x?$Nks=QR@>myLCNw)qyE!5gN#N8k-mAxElQdrYc_7NvRQ+uykA9ggTs zBmH56P~6`fZ_CdVwZ|!vqu8z`m1+*#CH4bOm-7vfOC zVtifN#J|xEo*0T+>6rCmmA0e5jB*c1NT(=L7$UA$g}wuMpHFdXx~HCT&1WKyn*)Q#P_a?alZjz;|>gWYa*l z7KxR|U#pU<0{}@t749CQ>m=@R*w6pnlHG%1gHP<3gh9Xh>EqB=^7joPIW~wRXEuy< zrQ6F5Z)S*!o2BZ&n{G)@l&_zUimOzIpMRnzwUdn%^bD=>*yVM5t~_20zd0TXaD;b1 zbfg@+9oi7s?+pbt`u)IlAz?B$R{_b>6XoIj3t+MJo{!lp9xrf9XyCM8AggLa zpnLOagjd&VkuDK0@nkiG7Ka|?ro$Xz(2PoaW#Si9?jLhm-wrg zFdm*XgAx)~zu1#NCxXs2d(iRjLQR!CeBH#U2I+pSaEj_vR8+bRK-P-l z{$`#*iIQPb#+4QJBFOHx^dx^ci~BO=R88cK`nf<-a&Rm?mBFl!FA(m^Y(9;w(rL{? z5T1()ixqb7^k!Cy+p*38MJY-4a&(4yFojGHrWqal4}3*MuYG06D3^iNF2TNB9ns5jt4&x8l1&ELPu&n)ENA`B*g7cK49UQG zwGQI(Z5y#0u^QSw^)59Fhcy>iJ{MglvWhRov#VVV>PZKbuI>(UOaCYli;hXW0j;M@ zW#$rV8L!8VWqEsw^XsClv=LgU82j5JRYD^KOro7GA`!fJ8p@umgv(XbIuBBhQeUU@ zucx+W;witlx@P)XLs)P`Vb}-7@!-_=$imvtb3Ak1)fC|kZ_&E9Ttp5m8N3s0=B^*Zd@KT7B9GO6jLK-zQ9j} z0U640a5yrphm+rJiB}X7YXHoas3ebG`YwNXdE971$ZzfQS$MLclrz!O%)f&1@%^0W zS-26HRJ=@>G}wF;telC|WQMncrgEitzo+h7V^$1IyAsL(lV>A4ldu~vvj*v$jlXwe zfgYP(ETMffqXG+uV(=?O*rbsm3QFY*{ypf!{LKJ16&l@H1;e-Eb?{j}i{t0kbTgy4 z_Cw;lE$|1zG45uVO5`DAcM6ACX48^M*)rG`uLy=}vjunBC>VyW$@Jq`4y-^7{R72% zz>}d9sVcEAX-DZLv_A`4c|F@wP$NHdjnvl$M|}&Ng?3h0q=Gd2W{@19;3503FX5}b z6C~(e4ejS6wvFB%F@=zFVg01v^y^-Hj#d^2=L0;t)9!KM0WVF%2VhVc-c;B_ywsdy z*K6^9)5{XUNHD{_gHv#9I&^^+b=mDJu%e2I@aOV^vE(#jJ_Oc+^Ev+0YL=KRl*1n- zL%6ZayE%T@7DVsxlwDrM&Wq|u=?luP+IqSkS6rx^b>glF3mL0Pzr%~JE#6@9wEYyt z?&FCMa}2da~6(1I;(PJN>y4wGg{P2 zq^d}mQ`eP{om1}#P?fW>RlH)I$tdi7U>vAt!`Ua<)UJkRsmVr;DEu16lHnvuX+w|X zg($_I$%)*BP0oSkyCL#%$fcahe>QY!rh4|v4boQiwx2wchGe-2urvF8F;osdDR7wO z-%PG%NnrN8QKIWN2`?(!u3wpi8in?Ccw4?*aKmB7tKYzyM$3Wcl$v9&H6jw?k=;6w zd2D&-r#EvesWdx^5guVETY0 zKrT?X2B7rf%Y#4uhEc)nGAYea4aJXxWS_69cplvD1?@Nq-yK8M#XWhpga(YP$ZPuR zElINKa?S?Kykjp5XLHLWn;Yxtb=2s#-ygmydFFA>;IJGoC4y{+Vpk5#x4wXQU+NHB!2O}VNti~ zk=&YrZgue7af7V`GeKlN)&@(9KGjej1bBlr@bTLWfv9+7EP!hSf8?Y%c!Ew?<6>$M zzCj>U9M*(w#?|^I61Tfb#$8Ah#%WCCV6NRqxrNi>7X(q(#M;hJ4Mup4*swPV)5F)D zM8$5XF^#aR10$)-Vo$ELU)M85@3FZj?4XwNkBaWqSKQBQ)JJo=2sn+wefv_AW9}tq zm~RVo^~+QcsmcX~Ir+xAj{jfY+vd1E(BG!Te3m9kZV9h%-xEA4B05jPXR7Zj&l zq&UG2dlv{gxVS~PC$yL+RPhm9dZWuCI2bb#R{ri!v;jG_JYwvaw3emfTucf#j5#pf z4YbDfrFi3ESvTz6>{Dy6 zGV&3qNiiwIRWWC&4vNB;uY4L{zH&$h77QH5UmQ_>yH*)Ov?izlRh)c*y(?Uo%shhsxVnc~XX?0A5J=`-s_ieAktg?8g*4svy%8o;d+P_mL4$XcjlM9o+llyV5Akk+fpP=&O^5zu);f-bW&}&YKH+JH=vtb2o%Yu zKolN(15b%8(h2GsCech4IECN$hNUo{NipxDLA=%gvR0=Lpo(Lmu$oRuq0&8MIp%!m zOK%6x4ce^@ohIpT)?1p3fy&y-aY`~WyG4QAR06e|^Fes})(Xy_^SG1k2`xsLQfmwm zQ;@5RINNW8aXX@yW#)PX$b^S&3FxH9s;+iL79tV+kWoX16kwt` z?i)`gXV%GB+N7{UyLU(_KM~_gG;Co@C-@7B^Gn^k@sMwDKJ?=#hgY zjvdwGP^!EVtYQ#XHqU98zFnvcHs0GymJEq6{l!)Q$(5GTGZC$e`@LuUXPMjnz46S5 zyh~FPg`|*&V#>Qop#zc2O{29F^a?7;pIn1+EoIt5wDFPew)5VkBB>)=4z-j-i{d)T z|2!OVNaxHTKl|E=P=dTPZ1ddJ!RA~k5D}_GaLPaez@>`$Og}ORIwy5%opLZ4C zP^G9sB{hl!tklHpizE*9RZKk(JB!uU8~|R=)e@OV8jfUJD+0z@qx@bqmJoNA)mA}TU$Z5&^=U545ibCuA zxqPtS?%|| z!QheF(3UXR?TE1*4skQLyKC`8%J6&Ofq;-bR&oE-n*Z1I1 zH4zHM(pIHS)0vR2hlx8~r27$tVi3YkxcNMS&Pe?WkHO3ZxQ}cH!W5KyO%$PREI@3`W>qO&S-#~ivl=?5%no# zPk<6Zvs!eS64ryjv5!$2{fW<)g$imT;>*(LuEH$a7S$`-*<#K_056c$T(CV1aJ0(e zQ|z2ZD3NW7_)vp#GT8kRDFLbSX(X>m>s^+zmS3t(XY?R+5F6PvTcGkc+6X~X5g_b( zxGalM=mZyo= zxD9)+8fq|_-7xGgx?~&JrU9+01o)-f#NZDFa@^GiJal8wncb*NBIqENeXhJ=5|>Tt>JwJ)9+UsbGmqf zt@)IRI)P%%R~+I+`;hU)DZD|^{E@%mz=Z8HCrt^6Q8TS6E#Tar?nnclf0IRFFR>-Y zb_n;=dm%ARNUYnw8Ycdt7>}0Y$r~OhscMX8@gqh{u|6EnK3(g;Gr>jV-yvCU^e4+s z)6m}NB8k|%5eve~H^S~Fkd%E_ZK-b(u4x1}DvhTlhwcrO%HY}84@ie7%C7}eskiP4 z^GRQ7?WX%$T-MhC`VjrQStQUS)6%J4)@qryB5QRxbvipDr0Z5^jJP2doiBt;&iU%BJg!b!pmpVQ#~2MNz`uV zuJYOn5>sJO`nLt)`^&rnN~OQ~RztY?ZD~I(7I|@6ggP6qx5=1$hNEWzi!NcGV@y5MdQ+&! z-k2brESB!{`MOZd(cwAK5oCzBhEC~_IY<>)ZNFe_5Fxv4s z5Y_z%FQdleJThcLfb*jw&2vPGho0(P+$E-(o0Bq}5;`ToUFLccYC4OWl2O)X(V>!m z_5{43co-xkrg7Bb`Wxnv;6RX7`(lR}fAwoQ@)se>FVHC*C@J2?_esiR-!?;!VlafQ z?G?Aiv*L!TLj8?Z&EpjlU_Vr(W)j;kc>$#N5zgcE-maml80FK=tBOICk;-J*;-rnd zA39J~$_>NLEgWx%Ikj2G9};r32Ic>woOcTH1$Nqm$F}X?*tTukw$A8`ea5zJ+qP}n z_8IK?zxBOe)!yvh>|X6tsdOr->YJof-AO;qRg4SlRqd*yp`?;v-q&>;d@Cm;`>C%d znIIF+FcC!C0C^vzy3rdyN2g3vZ`A(RIrRli90tYLHRS79dQ6qhBcJo==qQ-$@N8i{ z5)x4!1hu$rdbT6+3#_xF^HePrzmjIHD+(}|H5=SQz0V@LjORA+@HJeG4wS9sxj=t1 zHv_J#6u;#@bu`W?sM0z1SiPxj`he1AqUHg4NCh$}2D;FUIUQlpmMW!*=*yQZUH4nN z1P5OIr-3z5K_D>XO}eQH=dZ8?lcOt5s9lJNR2^w7a~3ZApUQ5;dwIZ{OB-o^elPPx zU_ugGCLjx(^x+{bE?Bo79w=BZlw3F$8L|S2c~27rQXcxJD)Hk?Z}z3An$g^`(Spyi zQQ5;KzQetUfg5Y4S9URL9qOCnnPDrnD|!9^G1e(|@#k8Y%Y+Hv5-UzhC0+jp5gkffna=8?u~ymtB@Rmme(0_SP4yFo zs~s|cm@vkOYYiCjyaf4a#Nu)OJIx@#>l%VUA0BwScK#M&TQQw%NNoLc%F#*ej6w=bqi@g|J{88^vX)?Zca>`j;nf!6LkN4)hFrFq|4(wRtgVM13x+mTz z#PH0gf#&-e7tqR$^RcMG8DIp`c(z(`huAGPR`duFr2MSyZb0h%$0Z(*YS={>@7*t! z+2=C6_AI^;O><(=VdYJCC*aBz-%%Gnpz&_`iZC^c8n!vXi$-^EX*}Rl@dpBBe?~nVir!^WDWPQkpsFT;w4B_>-;B z@_`+(c~xlC^fE@oIIzXfh?pq301Szdo0&w47FOe z8k!_JqioC3_~r=F2OK5`4RPx2gsH6MUdhzL%_*`qPlG+mCHN1?jJHYUf4qxjd5)=# zb~^!e0nx~GMf5dFgYv4is4!!lztLgps`|plT}+X&X*9dG>ISB38Wx(&5o=!jwz6&E z;bNRZKT>-8`F+dL&i}T;?VvUlN+41#9}>Len+ze};k@5Y8W6R0Gq#4Hd1j3|kWoMU zc8W+H=vc%f)TZKk{n(}`nbJ+Sl-t&Pis*fYU}5d>PHf#aOa zw6inxmQ8y*ks2;ZMUrGaws;zDLT)4{TsqP)|3it|!?e{vO0iB#=i{hRB+J%49pu18 z?Gc-Ps%-PoSD&Kw`i~IqF!I}eU<1Ni7C+DnR?qVZRYB^5h9P)sM2mwLDH9=wwjEnB#qG>K>c@_O}zH%PQp6t zRU=;H9D}>SrW7Bj0%cXY>7Q?Y3PirNc~mH<@>l`+P!%JBJhSNMelpy_C&lA{thG4; zA((?kCJvfbx@#kro`%b=@1(Y2xGP;1J?CSri9?P_xZpa{JiKvz7X5k+!0s6$gxz$g z33e3dCT|gOyF98z&f^n*>vxpFQn+@0Hy%Mj{M>kuZc+1HB%mYN@w{|I4@8ToSFQ*X zDx2ce-s{c*KIdybR9uzOTUnu6o>;@NRb2U|^oC5K4%U#whz!3ee_2mUHNumn>gNE-2)$gfoOJ_50dGlqKlVZz+Q1RoEU43njgn9~ z_%4fpm}z~s<+5SJY$xplxD1Qc;9uIbU;dd=?ZnUZ%9&(!1AiAnHxHlZ*Lhf@kP|fQ z_CbbYg;KvWJUnP_WiQ+!`wZnBV%5~{h2iGy+bI$~35uQ2N@`P7L4UUJidL&6pZr6E z`8{M!d{smG#BNP zJgIiAx|j#zEIo9=l)37A@I6=8Nb%jiW(6CO#iIHC=-;9MmEx^_J6d-ajL7QvtCCET zY^!Q5{&7Pv~;+es7DJ%Z)tS%5614lEytBc|bwH-GqZa%7ELMKFxI4cOY_Nj4~yQ#%5o}aF* z{cRggLc56J$G8rNn5TlpwAqT*7gpSx9eMTl)6J5FcUlOnZa9SlKw5MizO$GqQG@^^z3P24w?}2|kML>NH>aX9_ z0?-(z_!Ko^fnn#XR|IoeApX_uTGFDA)OE{pEF2DexoH7r#hi zz-g)S{vnZaQ-O4xWT6T*Iq&7B14)Xx59Th4E^k1;$fDaBXhnAGY`C{lOjFHDZfG)6 zXrNpdcR&(i8CAoqUhA@S+TT7J1P}<2(LJgS?xN2a-nMM>=d*Q%U*z7Tx3+wzuI@h; zG^f~mK%}(kY_%eErb#<=KAl<}7F$%GSD+YsU{&II#qNT}IuhXTbNd|6a6n(Me$P|| zvPW0!j_^;+P#}l>TORu=G?d~EKtG!mXwV?yH=jS;l>|GQ5`podiJFT>RC(wevrX0&QhAUPWpp$A?DCuOM8O z4)nfxh;o6!4aMcU+rRw!h!G)O_%Q?=yQf9@raR-FEr`2AV2n{88I|+Wy5?W3y8v2L zy2QjN+PQGVpQ3PXW$tRGveu(J@tWHyo$+Ls{d8Is;!ijXtQ}FpCu40PXJUXP#OS3L z08tsR(4Du}y5)C35*4uA5sbwav`*H_GjblIV&7%w-n>d zwDAn0iGX~MW@Pb zD(--Ww~2R)5k(UuY$~)Z%(?kTx5r7&3+Zf``?QDGc$|ffR}AAgdD*vgVLlhL=t$py zb!M{taNd}%4+Uf-G8C}7UkJod9eo_I1yt0`3LRaCjwadPEJma8^j5Y zJ_uh66OdIYR8ogU-HE8qmR>IFlp7wnB|1aFijq|5!71Cv(948<$zh&{6a(mQjlJm| zn8a11A>~9qT;V(plXq&It=<_Hx(4bvThX+Qu2$yJ4FaR2jwH`o2!seI%Ht+YbYHq^V6|FjBuu&t$>DvWH#!=90*2r52GXf?)b?ai6@nzg^ z9XSgc^|`&MlN8}?M`%o^*Q6Zz;pQh}$HO82AHrD3M~wcN2fa*O!NkdwvwD>Z^G5~!2+f87QAeb(D=9JlsZ?9m1)gcT-9}ls32~EmalJsA2Qq=MCFo&kO4NU zr8u&{BzD9o+tg2#<+htA6giv+5aT9XX%PwVui7T9SNhHNer4cj=vz>X_%)OZDBeo1 zl{+RY`~dpApo!LQ2fQgIk}S!!=Vr!e$V48`eek%&>r(p6tKKWf`0#2Ngz;%ba z;@p~ScotfR-7gR82Xwb!x!r9z+-sMR_(iylNTYR3p~h&&M$kGZIdS7QP#cO(mE4sn zF`Q-irU>(Z8w$~LiN@#hVF-2iqAAg5M|02*s1&fvQwdn0Kp=l8A}CP4{3YLBqHbN? zM7##hD{x&W9*90Az4r$4#t3tWjQeuLvw~>#bWR7TDSrDJ0c~tL`Rw*6iMnMlpZE1P zD}z^UT|28{!_aGN{G?fVHRqzl#vX~ zf=G$&{6?!sC`SXN7#-erVzZ~elao1ZaR3b89 zJb-D9#jI7Sl27A+kPU^Pbm#Koi}7l9FlyL&z%FOP}pP{pe2 zY7@x?qh3DD9w(B0cEwMVssHvw&r++s`rziMR^EJY@RsW+b+W<<20Z>F_Wd{9hW;~x zUZld0PT6z*@7e!Z7Ir5?K^S|QN2vdiyH`H#v%)s_XMIl%kW=BP)LlB53xGHj-3_^( zX&x;rEYZH5Q};K^MSat>bNTt2{n`3|uDho_%(!w%_j_=yLkvOf8a`hFndha#`P&gZ z0IsSa^zm5x7c!3KL1{*A>H1OQd#>rFq+ds=N1J_d<))k(PKG${0WvvCJjd7do-$>y zsebO$=fdUxcC*mPmH>MCndV9|8uA4rC5iY)1$r7QKjN~lOJ3w-(*0*R9!m6y7{_U= zrR)U&%|^3~;|Xj}D1f-madW@MfFNW!Jo;CQrA=VqkymQ8?;gs3)foBjgTyslXL`{C zHti0+#}Q@!dkn`(9*NA=VowUyS@4|t=d?_URWUbcwt%9WRrJr+NDzUbr$#CMl;hyn z4PYG_2}M0e1Wz==o=YwNOM7rn^r$klp8Dc)iKRcz{xTC5fK3suB(k@EJN@Eg-PPa6VtQR#4S_BAr4 zVjN@Krz7#|g5Bojk`sI(#;M^O*~eXN;lGOG+r81M^w0nt2zG+F&o zHEeyy)zNAp8gWE)>`#U<47(Yobg3Tn(0fa4wz79~rt?rN|Kp!KK+BQF+Y0YG8;tOV zw~AF`1vKoV`7H+v4K9Nv4LlbGuJFj`eejwJNw6ZiZ4>R*&}^#_0@P$bQc+|y7RO<+ z>HQb?A0l!WbBs|vYZ|pTo03jGr4sulSEm^9q!tP>raNZ2=Ry|>l6}w}1%?0w5L#VM zNq1dV*5*?#)c_f z1ecj^L2^DK#HUuLg1Q2?2{Y+eEJ#-8q~lKPmjqvJXycvAH;$dB@lBPGknY$?WT|^EzMs8kcgP@u1iQyV zhRn8=UsM1A1$H~cg97_*<}ychwNkf=w{D_dh_wk!BYw(!0RL^1_;a$e(Xy1x_;4K4 zjbrjj@}s5M+MdC&y|(fIh%6YCznIQZc>DR$Xeg$w_v8?MgC-CxCZl^hEAiWJLjSUF z`{3;BzL`&)#pbOx_9RH9$zNnEIZ|DWXUO!)3Tfjxov!_R_F!)s8EU<+k7*dmbv>Hw zNVeqjxH#4PkTAnD?Ned32ccLSAkd+m&X=$Cf@iSvn@Lnuv-a0`-1rSV|1xo#WOIlD zUnw3jWYL0qGj&#d-m%gu{#;>tCO!c~UQFQ9O;vC-Bne0wO&_%^S`Zy( z9M7nZuHp4=FUiuc87Z}Xq~R=CfJfm*&y3O^Ee;hwtP-|Nx(Yo`n%BH z^IF2As02u-H~9~ZLuluPTTImkHccdop_e4ja9u5WqlU5LU)?NT4eTHtC~}dA{)J zh%eGA4i5^>N-JpgH0Uj5QrPsm zNY@?Kb@pQOA`-KAUp~9)0l#6m?-DY(Q(NBCW?i6^n5oOH1za@t75zTAgfH|1^8VfS z$QLkD*M%TtjcP2=1aP`3Eijm|b!*PLXscn*^g?RdKhPiG1+e{f@^M7UDw zAD@TBRZ!p5&*TiHtk)aj0-?`+<#&nKi1_x2e0)CwQAh?5x&_cRYd3P$w(Th~aujuA zf^o~YA?SfA$}|61kjV--%g3q$jIAQDl(5cGXLg3Fxe~BIX%IVp33o&0Jl*<;S)$*e z2CmpK)1N{At!hv8O*3iw9XGw)ws8PyNyhpBTC*n zI9*3&HLpZF_)S>}xwRF#!vo)qRr=U_{&D+$dbn_%){cL@naW79jM9hMR4D+xKz5DYeEzj%d zFW=I(JvFESppRq+ri9Y94%1YZUw2Y$r(owMlNs{{&Ec+KK&%*G*)6OBNjqSZ;W&eL z9zNP5$i~z3D(T<-Eqh66;kF83Y9?@#Cz^Po2D6ylZSq;`sS^XK`93-%x9K#1`fL zX0fuk+;NL#bP(C>3WEvYWE4!+@330`rn8}gPt={1;*2XE!z)htUCt3==&7!3xIlS6 z7F>?flF6?)QM}Od3Rz(qvU<9?JQ-> z!Nc8j>j`RbKutH$PMmSJoZRV81ck>+1S9dbT>a4M^fus*eP4MdG$~j|$^$wP>04*u zS#ph-fg#9zyB=l25kEUHCmGGD5FC7qGy%YkHKney-C}GKS;S3SPg{e&d%s>bJeBWP!jz!*sFo-0aK0S%~KR(tMm3FNNrSZ6kj7` zYH=Jp*@aZG=>x!xpSp#d_U;rm>O_~X0RdiJi;pZPZ zpP(Zk0H+uF`B$!h`I~t+#1Nn2(>;wI?JcY|AnG2ENPNCF&d1Uj<@H?HiqqrI`% zaYXLtb*rSJOq<~rP~6YMOj0Qn$kb(Ohr_e|648NI9ci+M*BV8GY5PHI%;&5y-i1cU5hU<;BsvD}A76gEexz1Z@6;HFnd9K8HknVn7i{j~&xwuCU za)4FxnNpEcJHgs>Xz0t^OShb~nw}^AbZ&x33i$0|PPxv7M}D4pDo#Zx+cw_XzxV_8 zDeOx!{L$BV ztHU_4<37*=Zm)*26p;BKMW`E3dhvBR%2*4o(u@-9PpY09UHyhhS%KLv(hHF(B9exr z;n!c>gUbf)uHvW=3CJufRkG zLs(CA`q4iZjzL35lb>^VR|q16Q=-Ydf5T18VCeX-bOehFDqIMe;7r80#JEFm!U_)v z6%35qm4`5*v(o9E+>=^_3pIRJzDi<+nk1$3nw0_4<;R8BXHX2u83JU;kD$t+PBm%Y zCuoDwk!BioX%vktbRFt)qUbiiQ>r7c`KuX1Pd0!_%xOi)%c$C91Nxm# zER!9W5jJRN0nLQ{K(+CbAX&bifB(U}0CznSihv`P!S`iJF2>kPELNB%x)76OECDcFIdP-2qYUxs z^6>|8|4M{n9=vHUWOT8JsOSaw#SL-5xg)UV!;TgB4QI_gairixt^hpY4#aGDofYj8 zB{cJ65(1*L(Puuf2t?ZIaqW5tc#!?Gr_7?BRZN~mu1n0dQh$*i1Fd0?z?dzWG zmht#K-a4ZIOL-LTWW05T>LO#!PB`13+JduHfmd>kuCT_?2pf59m3;t9&@3uVx*@nH zm2@q+nFsx3kwo>(5{Rq=PqsFR5a}uZqWb%p8=$WSzIv2>O;k6bqn5E}*jkbQxVYjH zbZx1Od>HjMU8~J&$=U+Dw#{qAdl*SyE_8aFC)YN~Lir<*q*TsRf# zUAfGJ56_;%kD7Bw;&&@l6uJjcls($bYxug1dHMjf^Q8#`3GOzVt+oB--H{AW50EK$ z`!pGn^VF8ihpuAoT0ChO@4NNBaxXRzSY`~Bv{I8F=i1@CS^aXRusxw=1mCd?OnHK` zsI9P5PbNgn<7G#%H@irE7%6OXo55CfaD|dJC!k?AvL)o)ikL^WmV8AcH)fEh(J=`z zR-X0gwulE#aU4H*RiqIzT$ocQj0;Z!^y=+4y_DJE_aY zpNL3Dsf>w?XwSFltCqu!WkgMg6Co9s59z8%ybw%u3HoMkXey%5)3i&__iXdqv)dU5 z5t0IELy8nAO1nIq9B!@uxYG)K}ipD882J_?f-@Vp9kn|K*uFn>Dur|J`Qc zH?UpgQ5~6-Bl;|b;~&}v1kx+Os+QH95sCk*{ldKU@~f^mUaVlzO*akRlkZ(raH*g< zEcy@=j?OGgB&WP_=6ROOjO<=S!(gG4KZ;^9Eir{svK1e1QlSZo@y(8Iq+0^l=ksDG zom|su)63PbL$Rg>K_tTa@GhqIZSxR zDRZg!k1cr7MqmDh6K)6MMegrWm!i6rL0x@uG&^eBjwA={G_WkbLQ~d>F36AANJ7g-x6onZcnXCn!f2sgEO*y0sII>VO#)upfUD-VzO(&S1dYg zWlZ^|^(=pDj(PLfJ0RPjI)w9Fv_glOolrXol*|O_rEEcMttBa3-+$IRM#NtlR`r>&rYE$$@Tq7TKA1O|p z^qJ62-G*@;i=I;N2n&HPF1ONWe3b3)#H6gz;xFD^^M6~1`|G7LN>Oejb1APm7sS!W3tUFjY6n2cdWO*!}D~B!vP*#b{ z+Ig1WD%-13OPRQJZZg%whryeHQ9|1x`>}5%Wo#-c*=>BKr%G-3uUpm!C>4hJq5GlZ z-WYjmV6oVaL*WDK33U5LpLA}I$pk1gkWmbbrSr38Uqk6}9Ggv#$PTfp<>*C4Gqs6` zJ*6Mld_BS|`er70QDr7M>iPxU2}`gQGIDLG(B&N0C(N}VeI+f%1CP9|^$a+q5QZ@p z+H;!a2&!P0yJ=y5%;T5;p6aTYg?;TUR!pu2wTTvmm%Ekd!9`Y+r4sBH9cczzSizlv z!I<)f-3x{T9e-JnTWntYEiGbU>nK`Tu#tZMjeOBwxo6Yy-+n`7AU-n=MiVzwlzx(o zFddn^m%Y;@WR#_|CO|jJyVxQJLO#IY`Vc`pvpyQNkxJ^D7!Y`N>ckI5`Z zoJ4eTCMy3&4rPgy_U*#CNFL6YIiXix<+3Mo_)grR_G+j=&drEw4&*+@nS!&gm$2bB z?jpAZy>}IfGW(T09Rp}yCMA)oY*Xt>jPJGwinEq#D`6#u>=o^MJjKMRvJVd+lKHq+ zorxcjsdF%0T-64Z= zL-<=pHZ{w8=4KP>keAhhfV?bIzT{1 z2G$ensPfhMC~`)*CT^RljS94E+LmZYL1$d!DZma>L2OQ{dF=7lI~c_n(`3=SU5&2Y zv!|9NTG)>eoSvCGS_8o9mEA`|Ez)vv_Tl)3;Bz7tQ;b7Gfl=z>a)Q*S#|llFL)sbl zLwIEWiBayIK8TiD@Ro9t-845yD7FkW6Gy_neZiXG=n%F9FONFZw%eM%3s?2x2Y=nC z^UwWd?$8MT@p%jLM=CZY&${(b;Z8tMfHK_VS~oJ--$XX34V7kIa9>tL)dwkm7^;Mk z1~&#>5V7P<*VW2^O%RX)ItQvZOJ##MQ{?cB_21|jeraIvORUw9otURdRl)cMNcB`) zkp7u;t{59K>c0hQ#lWIOe_R|1|EL}ADC(N|0eNZ%$Pg*8{LTdM3NV>jqn?sWdEb%* z_6og7@{17dvrhnnCVqMSI5w7C-HB%Sb4J;`oAC%c$})A=;-kg#0n3xS6Q-O|Q0#D( z;)%v}x@PNGwCe^Mks4<^flzVEJNsU(pF!(2iqZ$iWizlLa}ygx3&mSuP7P3I3KI(i zOoEM62NeNZvjxbh$B{Pdn0$apqh s3;M(eC3ZW%XxaeD)cqkCsjQGSb4Zw67iZ!+&kHBd75tCy{J+Kj07 - - -
Interval forward scan
Interval forward scan
Table
Table
designated timestamp
designated timestamp
Partition
Partition
Interval
Interval
Partition
Partition
Interval
Interval
Interval
Interval
Interval backward scan
Interval backward scan
Text is not SVG - cannot display
\ No newline at end of file diff --git a/static/images/docs/concepts/columnRead.svg b/static/images/docs/concepts/columnRead.svg deleted file mode 100644 index ec813ac7d..000000000 --- a/static/images/docs/concepts/columnRead.svg +++ /dev/null @@ -1 +0,0 @@ -data column filememory pageRead value at row NPage + Offset \ No newline at end of file diff --git a/static/images/docs/concepts/columnRead.webp b/static/images/docs/concepts/columnRead.webp new file mode 100644 index 0000000000000000000000000000000000000000..a758735cb567adaa3262b5d84fd8d685eecd197c GIT binary patch literal 18598 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

B3&0dkEvzx$ei%!oXxg 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 M>$E@9`;XWE0^E=-5C8xG literal 0 HcmV?d00001 diff --git a/static/images/guides/questdb-internals/columnarStorage.svg b/static/images/guides/questdb-internals/columnarStorage.svg deleted file mode 100644 index bbe3ee17f..000000000 --- a/static/images/guides/questdb-internals/columnarStorage.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/guides/questdb-internals/columnarStorage.webp b/static/images/guides/questdb-internals/columnarStorage.webp new file mode 100644 index 0000000000000000000000000000000000000000..68b4d9c8d0af86eb11737a6e786c620d2bb8c35f GIT binary patch literal 30224 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 - - - - - - - - - - - - - - - - - Interval forward scan - - - - - - - - Interval forward scan - - - - - - - - - - - - - - - - Table - - - - - Table - - - - - - - - - - - designated timestamp - - - - - designated timestamp - - - - - - - - - - - - Partition - - - - - Partition - - - - - - - - - Interval - - - - Interval - - - - - - - - - - Partition - - - - - Partition - - - - - - - - - - - Interval - - - - Interval - - - - - - - - - Interval - - - - Interval - - - - - - - - - - - - - Interval backward scan - - - - - - - Interval backward scan - - - - - - - Text is not SVG - cannot display - - - diff --git a/static/images/guides/questdb-internals/multiThreadedExecution.svg b/static/images/guides/questdb-internals/multiThreadedExecution.svg deleted file mode 100644 index fe61afddc..000000000 --- a/static/images/guides/questdb-internals/multiThreadedExecution.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/static/images/guides/questdb-internals/partitionModel.svg b/static/images/guides/questdb-internals/partitionModel.svg deleted file mode 100644 index 5cdbf5ef0..000000000 --- a/static/images/guides/questdb-internals/partitionModel.svg +++ /dev/null @@ -1,181 +0,0 @@ - -table directorycolumn filesTimecolumn filescolumn filesData fileTime partitionTime partitionTime partition diff --git a/static/images/guides/questdb-internals/partitionModel.webp b/static/images/guides/questdb-internals/partitionModel.webp new file mode 100644 index 0000000000000000000000000000000000000000..e648fbbdf7207c4cf1a1596efc97382d2b47976f GIT binary patch literal 24888 zcmd?RbyQqgw=arIaCdiicXtbc;O=fgLU4E2!rdK$1b26b;O_45NYdS>zjwyD_q~7b zrD_Zo)MoFs=A1v7t9J2GN?e>#9|-8Pn6RR%A}1l~`}jN)BpsOg6r2u>p9(oxgeaQ` zQBo@$6U4vvyC+T*aLNmp8NZ2_(0%I>jns?8oo={5cqVTvMHc9h2>RIi?%TC)QRd8B zhu7QV@)Oge(2L8C*Q0`x?WMp(`-~^s^VW6xF2RGujqa`2cI(QUiHF*Ypg^k^=S|>S z{fYjI%#7{5*G-fL!Sh<30BYuP`?}|@JB!!Ioa05%ReP_%qAlrLwwK9^+hS%f zzssY*7Qvm@P3FF*ltA>A!qnRK8!6xPE5!}u!P@*=&zt+}{G0BJ?V7-jSGSk$i``4o zEy1S3`C9DShQO8w$ScXS<)iJ*_yWSo+O^lbd;DA2edp$EfmiOE?JLZ!%sR~US*TA*^V(hea+I0wdV7cG`_-QT597CMrvkBW?Qh-$y#k4EcCYhK3NI~hXU_-??XzBh zi<8H*M}?cUpI%M^eIDL#7_R}ZBu{UTQ~tUL9|VZ%wZ(Z*MPW6S`XhqXPYJmTzcpn$HMtZ%=PubZ=f-JXfF4UaQ`kpHJb^ z^f$F+LhR|udK#0E|F0jK7Ec9h$vGRMxmGLXDeg{Vp_<@*@My)OCvRa2{h?MgMd@fB z9?AkA!2dHc2}L`(SBLhKIVx9OpBPqKm>jPHYMpIH--jiBb~bRGjT{i+ z4NuGQqLmAK14LOnAe96hiEFW(lBdVJ%l6n*y5U1n)D!4Jo*f2b$&b-_Wpr5s>1Z%4rCzAI=oW*t?qi zPkeu`q3o|T|10DF3`OL${>sgt_1oge#1r(<=5-TgM-nShO#mbHWr^FNm{m}qzcn?b zLET9{O)&-l$pvI6t=W^~-L43y&GG0h$X6Y8lh(}52Y8!6S23CH=$Z^KHxcX5h+e2o zcQP|Ouh}EwO0yw22=F{w=P=IVoJ1v$Opz!STMsI%h43Z@ z(=$Z)H{5rQqkDtt-QU96ALzrtNN?R&iNBUWIF&F&6V1(v#-X@9u;h?|yuPflPNy>L zU3g#S=)zwkRODv4gf@;gJB6dI=Jqw-&dhsqxnIgRB(yBHvh{xarYBf4WWI)m8o1)w9<814lOT5?!P#`;0zRxiGB{Of$PJUQB66 z-x8^9%W%2%L~PWf8dmG(uk@I}2>HH%g%nojL#q>pQYK95il2dZwFy+L_*L5Lbbh|S zawHHA*Zior0uxXipIOlVRn8C|kB>ktpiSBa)IAf+2?&}N?rcn7e;oGJ`-&Wn8G=`0 zgCYW>irhv`{K~U=yq^}+5)Z>=PQH!fBQm{{BgKT8WU%JW-(+lcP^ywW!3{wiRxb!C zSnGT1GQHt<1hjO*5~}$JSkz#Tfoa3sCN~ zaQv)cYlk%3Z7oEYrF^iz9bE+de%Vzh<`GZZ1xJxV&yWO)g^oiN681O$FrKS`+}c&S zAE{i@+yBIzp{4`YxpcR%mO;1t0QNUW{l)?I*Wb|lJ<)d*x{v;g0SBSw8vl(M_&s=4 z&8gY1(l+8^$rAL>^*XVDm>3hJ;dZ*uc?H`>>i!OA!zu?Do}1q@ zuT=okw+*XB-})a6&!;jXF$?vXU4ePc{4Z*Kr!Q-&dfL8Utm~ewB_rPRo6pMzqnT@Q ze(`W9FK(0G*pd=bu!%Uk-U^N*UoS3yZC# zMscD|er)OCCU)EAX>@4$O%iZon0|p_HZ=oC&#*VW$5uMrDo;KjM_Z?CWqAZNb~b+! zP|RN!sna?)k7oWQ3B>9Vi@Z~$@7nIqBrHIJxW9lEN9eHLR1o=$I>-}8UPFiee8XGr zt!OY)<=05B1kd4R`xN18@_hroRUGVJwrmJMVaIXECsmxf$n~yznak; zk0ey+^&{YW+RObp^{c)uY7k*Z)g+ zA(xa1jeb?2u{_ZREOAF%h&>$+5(nt`FV+|M(&Rh^uo>!S4dMJdL8JucvOclDL^Xjk z$p6n;>a0Xp5cuDV3HN1gXIa|1g$DO`VEh{{H4nElu z@2Z4p71@NQX%F$=zQGiBkU@S)Q(6XGBY7Z~abNjl|G=JYG4xFcj3L`Rj$Gi2-Jf9n zc4f4W3H7-U`N(U%_fOcHGo0R0Ui{0K2WAO5sv#O=|M3l%Hqd1Gpz=rdzpcR56(gW+ z!5Hp;_b^Z#7Q7#f7d62DCv*wc1o_}SHi;>BefqaTFE#_h(}10JT)q%s*6vy6?l4L$J%T55fVPk>?F^!epCVrl6IjeKYm;tfPVul5 z8mVgc(m!mh+yfL}zG}iZZ)u#c`7Z_8gc$n#K&LOKoRk4M%!PkpQ53U3Ywzm--z~Sb z;2A?@AvMb2xM%QAd^rDQim3QT0jR%AA~7Nu;Ir59Zj&;bS6a;Fz8f2+il*T%J8i+tt8Tb^+T{(doe zbHHYBH-_Tf3`z1&ty@@Z|MIAbuJ7b2TJ!xkE&ma!${&XiLv>J~lG&pL%#d6yG{AWwEk{h{u?0Zbq4=O9_R@%;gD-P z;9Ad)Wco=<>&_i^a^sB`g)3yJl#qaIe zK_hhCU>xCl_J^GUj-%aNdSd}^R`f-xRp7darAges-;~nz9xiTn z2%~}DiTb0>|4U2582Yfs3n!cUFHw0FCqk%u?|9dLIy{9SkNj?fE z`$J?uB%y!?+WtpR`)@4&V}7O1x@nvVurd!a0D%@I|7_);AYlI6LH}9j-@?sTMs%_Z-;J~JXkurEqVkD4zo}?V z5@w8(8v&P)ZkM0$HeHfIhZc-j;fAPvD%WyQnF4#1>`Ml{&z$O38$7!j8a4_%O?(wK zrk$R~@+ma#`LGClcNdE(fzZ8x!kT_S3Iem!v^1+Vgu_WtpbFE$J(SiG@9D5+rCYG3 z)bE8W1~o=RD)41ayc3m4=!0EFlPCy%RE9^?7YWRa%-M2dx$S&Ap_3o(W#$m{fw22O zLva(hR`duFv)FN@;NTVA=Y_v6*7l4NIwQ)tTtg;dh%%mCWMd z-CE0&bQC^U+t0VhmYKWM)Cv!tXv_B3V741*H;Mi%tgfLCQ=;I}2L+>knVmumhO}Z^ zVIW_SrE0VAEVvKcTX<03qE^kj(W`db73)1K9+C)C{o@gl>xeUH%xDufD+5C7xH@iK`~zn z7tc{I>bOIy!ROW7jesRE=}$Ja*}X_^qNPj+co*9U4dq1WgpEYYO$$AX4*=21!ZKL9L}CfoozJ9Zr;bvheQgrION<*Nr%}9z%_>N(Md(PahYJoa zUo-J>5JWr2m92z&H8_3*n>mkX^Ei za|0a-Ec(m}616lu1y)fg9An{PpEx7NLBx|qw9FcN&-Qp1by0hfdu3_HHZAl;!A7`3 z(_`eVYn+6fbua2_bMRCj54e>)rCg{Dc}jO>*w;l1g2aaDerR=tp|D^H+ocAE3K#Mz zj(8A@Cx~WN*4*c7bMxKmj31sAerjtWRmsGevM;;yK=hb>Q(=-(P5B&Gl2mDrR!5)I zy1dggdyq1sS}A#sKT7i13d!1X;>mXc@~37Ri$Fd5MJCID2rg~T^x87jdp-pPhpyIf zR6QSYM{=4%B!&RCvzdTXh86{Pn|y_Xhx=57lW5zBRkn7Y9HkYMdTqDq5u5c~E5Xos zj};PuLO1%ZVfOOMYtJg)-jwc9>X-|l*HqX0TnH|A3D_*=rl?FL?i{S{eC_0$nolyA z1OXg|-wUni_DMcZ`hhL^qo6$3v6Fsl`=-$k3`eFWDYN`KQ^xb-nyRn}k^F;Fl=_)s zBYGxUSk$XmPoS$p8*AP+I>*CG7crsKoQ4@Zx@9MVzAII#bjdSWI>eS6USjOlAY90_ zLtNeVNU^JQW>jp;_JL2o$2~mafT6Hzu9k@=QP{Wkz-myTMp+!dL2T-K{3Dy1x;;2m zq+_?obAzyS;8<$I0NVv*miGyn#1jDa>&68ui0=7b-^=zRNDII1{VlO2bR|rT_{^2* za8|s}_=CV#Vp;34z&=*IpL;n`m!cVNUn-UeMTMmgPVTDkqo6Gs)oa@Q^E` zkFdF3xv{&eM(YrEiCRa&MEH>t0cj1?==zlm_I=xRypY)vvSV9EYYnqHsR}%yzHyFX zk|&ath1bHZX1TOZHoYlowa=xNX$2C<9G0UNLdGYL%t|7TR!Rnul%)#|F?C}Z@j%;% zG}-Kw+8L+jjjtBw$UOQ9D-IHFJ8-vLw?G1#0%nv3{9XaQ(+JLmZrBF*tXZ%-YeFY# z%)0QT6H-VD7xz#IUHCfO3UBfH?K&4?H-k!<~J z3SnAWCUSOL1O7)M~l*5WjW3bkMC*idG$AX3rU zf-j4J0pY8sFDzUgt_oQsC_YInJCEI}gJ)IRi!a>bEuK}&N1l%#7Nr6&r0Wm*L(jD8 z!d_!ZRj0qE{3R>#B3Ud}UzuqKo@xwf>_CCPA|-Ls!5@qw*`fobNFKGQTt=<~s|xDq zZI2rFlH;hn0BpA`ylh(d5kE~Y1~)x4>I{QA@yiuC@z>f?G9x%TJQuq;i8TD+?^PH> z!Pc!JL1nAeP4FdIkB6q9;HL*X!UD>0F>c{CgBvZAKHiQ*YwAS#w}075-JJ{>_&9E2NhC5bTOh4M=ggW7%2Ky_X3@x^g`~ke z+0#PaSEaErrp=Fzp0`VmgeL19kPfHb%T|m1`HLJGeiu+4TP^OG$ERu=9$Woo_SalG z>AN%))c0@J%_+*_X+y(kSy*{o|deVo4{yi#M%TzWt8hAUL2Wd zezbJ7&@Sb*)UZw5tP_oYuJ$@2Cr!;8k;xbW(rYX+5y8gTW6oF={6>CGl`_E20BpF} zn5=8e4b}bSboR3^KMkXLx8RS5mvNm6{$$Z(OsgZyCG-foVSAmEKq%I&#O}>|=DdaO z#jZ5tHk>+e2enYMeDSSF>H;a|q@FP8v_QRT{kLh1)M=am!(vbGNwo?Z?w(pf0-+bX zP{c{)r0Y;yPD><18M@@A;NVgyYJeZUhFX?#SlD8@K-M#D z!;|ZYsfOwuF=8;KLQ~a9v1aYhOKr|5h&%cy=4)(PP0U!?p$Yn5;;&H|IbNs9s|)4!al6_i zV)q69lre5_(6(n%|ee*epl+a>ehGw zZ)6j@lbyCisT7W@uho8{f2I03>$VVIFq@lupI1SHw_WZEUA8*?WdQXsXf}7h4fSo0&Tt7>U8-XKmUnF;1xUpv_YGy@^H! z0v>O+>us&>VvspH2ii_tn$NAsjmhl{GTp-!Mgl=TZRB17umm23>IY{tTI}1YALTk^ zdz}Pvs4qM1pVqHYSnNoT?cXrLuVES~`gmaWQY~&JeQr}6zux1^AY}Ef7-zV2$#3Nt zBVT^!9bl`ML;hNYLfe$$cJB=)54x{U` zVC|Eo>LCY=0PhADX6#a-Rk%bG8Ecc=uI z6#Mn-IFTf;Q#!uY1l!->@w`r|qL;Doz?28%VK)YMgb=UVh--{8e%>8Yq18Os-#*e& zd#%y;w8R6ITgs}2-69ll0Fk7hkqSj9%7sFZWV6#T!8LDP>zC$KiQ~BV5b8R72SNKJ z)Qeo|1i)|bm`DKI==D6JRy()LY$%BuR#<~d|A;ooTnM->2i?KkP}9FGaftjv1xAC> zYDpcs4xBoPB8Q;dqqpHj#hOQ=_?-ZSYQby%Ry~V;UZRetgPlc7fygb0#~2N=A6_{t zq`Y|}gxEifT;wx)v&qJiEV_D3TjCQ8Y274D3y#ImSL}*dDXnV|^|>7&q=D2Ovs69v zj>$VJ-#oI)?Zut${6hSx3L@C0N!zl&eJ-wBkww6ORL# zHn1k7WM@R!86LS%Yd9sg(@OLJ|3XL_8lIwi4cO;y8jBk7h!t!1>C?>`LSj>qXOUMh zBgOvZhy#Nn{+mPn4-qXF8)&ImN@U+w4+SUWP_>_Qf(!U%QTHWkIy_PJo*sb{Kl_~x zkjd;);vyXLuL@~$=zwC+`p~$m7KVLud*RZ z476Zv8z{C55D7Hcth9R*&^(2BgIWIop-cW{Eb`eZ?H0E8lOL|j$GA2lw%&r=0%x2% z6;B_D+eYw(lJJ0c9OiPG@%O#~vFCLz`?{ttfrL*}(=H;oS|c)@Rs}vQ0La z7kKJgRX@b;_|Od$rAoD>%~O(WH!>F$2q2hjYP00;jb3$n5&~n@(z{(o$Ajp@DEvk}^8iD$buOFg|s*8E5uU%^w z$mRkif;t=>HVDp|JRC))6FHc*07QnEG(KAhR`)E=`l1=oc09R#k}NBxKjB&4VPjMR zgnDJqLM=f01NYk5e(SAWra8o2pHE#2uh~aw(mpY*Aa^zWwpQY*YZ=$@6mMGwh=GQts zWg*|BuR$=M_U3lL!KIa-L^=>qa*FCiSK-V*8@99TN(6rqO-rj|wEm9$J(5%>#Pie6 zsrjc(da=_}K=&7;kMR3Ez3}%q^qbR4%%Wx8}#L8_897; zOR$aXD3`w++_qWC#47JyIOLSg>RdJmXzU2Q`0!4(K)EMxNU&zjkUUUbU{wux z!XLw?LLrsWun@7buNSd>cPR*2^>-mys&T8Lqj8yHE9&r3HE$RY{$xyX#~|6e36FBe z8anMxiI90(5r@XPAx{S(1e!m1NPyBK+eM}MXgaalb-B}l$Ims6ghOAUMC)_zhW&oy z0}eO7J}*U&k)ry32>WsoY2kTkt<3Pjfw z?Q!j`SB)ZLZ{9pp+sqE8oDx{LtuqV z1Pe9{%2X666q6l?0qntfG}B1S1M3Do5R>DcYa)sbB@s)oN7gKI>vH}iLw{=h94|iN z(~tj6rmVtNMmRa7=4xceTmfSyyjw^y5%TFFq_VEBw0M`(PqBDDKFyMVOX*EE{n7ZP z0j0mm20C2eBE=CLs>}C?nu6S_%^dvBWdD2EC$5 z*r8#dlC+fPBGl=wggFY;MUvGXU?^oeIq;fuxKn`nZ(BEBAY$32==D-bh%k{qV;G!j zi#--TO875x6?JK~$De2&v8;zi=G8J^`MI@O=0P7+84K9Ws!;i8R|h}@vZ#y}QIT*b z?!XP1^DUkzbj8#qS(}IBJCjMT7PQ^@?|F1eh(JPim@< zEKe6pYq`YL&OP)P8%b}zEQ7mffAy%@bl|S6@!FXkuh|%=%%w;dH4YXTXYoq^HB{n?_`ZhGr7xB^B0hpGVZDAL ztcjP|gtv^FJ)i0>0?iI_2r*Fe?w(a!EIe1>2iUBQ4>aNWr&-Gp$o-%Y7mszD;39XY zSxWrU_<9oCj(j)4pjZNYU>=|O92MvrvcE9(uqA&JA}_xfSQ$Oo%+mODlhk5!TD;&wZLKH z__{qe*{C;rsp)C*GJ#n!;s#Jl+HWL{#v#aau0EF^sH&b*xFK*c*@#F#MTbHLN!OCl zrd*N}p^l`>#%b!K*mMT6r|5ODzcgK(i8a|7)XyXLUBVOO?Y!DAfhtaZb(1t$&tMjR zvY%jUowD{E!O9LHj0zS6#rRFD%a^i+ zjji-Pt)^q+NKDvz{{R(mji_%9hX8RW+-h#rhu z&s#QzYVu$ca5OSueDXNU*7_|@-9H$Ub|r1l{X;?V$Kku8+>&;&u_%RkTQ7}#S2^8g zyTf^G2b73Arv+JBP4^|&i7L@^a}|H6BQq5Ba)HsZP$ia8x(VLQAnycp3M%t~Q9@9m zyg9qwVa@z|S(}9L>-Zv6i&H`Adn$V8m zb`oMQ)6uaj{v2{8Ni&XVrDG~sgzm^=t0rR(YX^7`a+D2gBb@UvE+6+UiWP^vn0ajv z%UZcq$-eAzc~njC_|wO&lDknG$5vAvn^G77w>UG1%B?j<E*hMNkyU zoA_|p-5c(jzC1LQG`>8;?2LW3_g>Yc^{o@q(k|gq(Z03M5k{aSI@b zv|@%1SA?wkp)wFC59rM2JrUN+ozC5I{eA>V)hTs=MSL~BO;{jl*Sb)OpA5Cztq?&) z8oaACbyXeQvykm_M`%#Zx}9I$ipa6d$Oo21gt@Bl(;mZt3qEOPb+DjnwD(oUs$g`+ zswJi~lre$M!4GgJER00~XL!TgPdv|~-J?@RvU2qUdDlD3t6Kj zOi#huFpah~<2grtFBh*D-4NpaonL<&)L>5A((JJ%OgHGO18=NHqR2E^;X5Dq_{)_G z`AVE~Jhe{6VVYQ`%|4NN^hXloR2<&EuPWn)U96|QnS!V;JC~~t1QxDXDZ$K)IRjTj zz(HmrD3;OQjNaS}l*73K?B{dU)Gbe8{h8Qo?jg+07r7fQ650mNnu&gA`Pjw~$uouB zKX=YN1z9s8ogWbsY7F-J@Ae^-4%V-Fclon6RbZ6_YA3E<-Xu~C%zx&xl6&Xg1j$L) zP_%~Q@Cur zc`nzG4{wfi;);HJ!X_+g;MF|y^+G9RB>LgKcg0~+i&8U=oj*wT__5jxw_91IXT7Jg z$c8rl_6s_UzC|j*7%1&#`SKBEg(Uj2(fEBmRULzh$B2}3;d(u`90Zq>vr0IHJ6Llh z#9HpXb`<;-1z$&&w$j9Eg_#T`;`P{WC2v1@X@j|Ai$(ZQC^9u~h7DT+lTQtBRrrM* z5*}ToI@drkc`J40h z*)OazmY$W~N3%b^EWKPB!#}Y>)*_60TKK535^*$>WGcF=4##kPg4wt5@;bZ0_0HIO zSO_#AcL-@?$M)Eln;Pt<#IsJGL>Z_+dN< zGT!h2=PGgO*)>d$ILXz*MCVaY9}HAv*_j&a!poL7gKV>l*RwYvoa@4OrsT4$F=W>A zs1L^~8DGlThcwyE^TT6Q8IqEv?qdc5vr^iCPUBu z42Lm8T+oKxME2N4DFdtm&#i`A!Ya_AEHy-v*ON0(!VSJ^ka1zTMGq0nV|M|sZ3>(= z(K&^y)(-R;3?z(E^hRqL78*9c@YfL72?_q>Uu(L*S*t@|Zk-w#zy?7cW_%Klexz@q z$@}QBIs#Q!q`XLMZMV)`H=swVdm?}kMu&k(VC-}G0=?f&$I0$64P?7XWb8b(f)W_E zF3P$;$(O9!`{9#m_Yb&1R*y-2+It~tGm=}(WSBg0#X1$X$RX5DD6MDf2~btfJLp-; z3(l!(U^AJ66AD1d7q~8kR@z?QuEN{h;0A`8&wdv>?c2;hz2bz^Tolpj#r-2=Ub7r# z4muXkKOinhMOBKmvEU&l%0irzVJaj=y`f$YDKt&xccuqQMha$v)-MO2T9etm>TbYb zY1<)@$9KxC#i!?I+frbT=mev8JRuRvI=lOxLoe3hO17av2-@w3;p6=ySSG9qDB{ERO#l39yp&j@v9qdEhHr3~O?Ya->YbSwbLXdxa3SZ&Dd zAeQ=opO&YHquX6T-Ef)T?h!0t@KW8z=!O?JZtmIf5*Qfem&2{sfzpKxuo-*#<-teb z%f{v$j0Xb}6f@Ap?L592bks00GuljuQnZmTN0P$^*4dhmF?s<&SaCQxaf>N^5)-jS zQ&t+s49Gbri=_kVXRw{^k1GpX*Y)J3V*}Jd3|_LQ&|R@6eZ9dPeX4<%1=%rd22fWm z!)~ZLuORAOiQHMm3i4Qi>eA&-fXX7G+3{_=D`F92&ODDP4-Z3iTlWK!;7#n*Ks7PW zS`oxop1jh#+O>x(+o1W!B8t+L`W$h6*H4nBkY09QJ**kB11s`a+i6+t$UsboM5aBvXX8vIes$~A*_ zsKU3zbmdH1hkTL%#Z3;hBj8KX;u0Ij4;4x035YWm4E52DZJCyu|AKgn(y`TS^++@n z<^(A+a$;zFp*JyqXe%fWJv?bY45^5r>}gXZi=$!C;8d|;0Zyhb>0&6Q3H<aw^$niC+cJb=~t33xRI|tfQvv(~z zTU*HT%Gpk}{?V~CBLDU8H`pN6UNnGDz`BP@gdSG>4ZatZwhfbszy-ebdu_E}tlghI zyS(ze;k`xvfBeM(h3>MfE3eud`#c3;93dDnfE?GHg-%Rh*#`mV~#Tlz%fxn)n7YiW% z2$~<-4EaO~4s`EkC1bD?^zG7zKl`eTc9y)~%ko`FY_@07?DT;|P!IdSGQQ=jSCO+l z&FgvT56MPHV=gOEPKf6sx5A}FjiVoq#GZ?(zn^eW0vezZ%zi+Wr%(I-Mm>>y7=)Y|<}Z%;ySYC;aQ?0aMHI_aYA2Yt6Gr3SkOj_0*W zF<$iYGbO}z^fi|ND50q4IuH^K=Gpz^<=Q4RE>B#__AK8LN%g_HmS}`ZuaCq!t;}Oo zz+jZpheJ&>hUXSd#_T^JBj`}xz;~gk+uCs=#!kBVGG;u%s879K1snqmd%@u4hWzgj zV1<^&Uk56k>@mWVMWIvKz$#M+Ii5L;!ENJo0_i^_xw~}+@f)>d>EYNZJ2ii&*)O+R z_WRDOsjy=0R;~%bj=90ROP^yaV{2iR&~{ggv7t6pL)74O&nGKLd<-O@W0FJNL3RmL zgl!5!*T-e5hJNjG48^y+IdpHgiO6aw{^VQFpPEzdzx^Rb{6KJ0t}p zL(_tJqj$LY#+Ptb%`dnwF+UT7PbJsoo}_oD#>N|x0ErTI5j5-i#w$BkGq&_=gT7pm zJ*#*I2?0JVf~_lMj3ql1%sez&T*JxN2l)?&HoyfK>;xQ^2bxpYC1jrT+g}7?fGn1Q z%?;$krC%jkMMdXFFHefrm54R%S>)WycQN^$E-A~Vog@pr=%;Su-uBoO1-6O!N6>i$ zq85ANK9+TILO5JVVCW0A4^Pi7dnfsRq=z%V;h(8_2>0{<2_6d+)>z9zLy3jkh-Ok?s1;o+M(&wD0NW00#@{ zs@7diiL^2aK-vJk3W)d$rbPe^10m@>+?5(1;~43~&+>}a8fSn-@k6;R7RCzf?nNLo zcCLnSCcm%7&!7+PQv#n?2u_>24JUR6(QZJ|d26 z(QKg`(ctbh4wQ1(9rJo2r7YB5N3Td0i1`UFNibA)) zKgz|{24Lg@rU(Tn_XF=lF!w2XqeoN6t$^iBj#Yb{#oIc|oru33nM*q`>83C<$#t-8Kh?qtNjb-4WfG)=QV>vuamKkyB|N$E_9cO>cwSPB_&N@L&_Ro##eRtQhITzOdz%t8afV(WlrD*$z?JGNb@;F5DX>bKAU)%<& zQ!;%IagqJ`)=7S{arU0UpIyg|(y{Xz0yRFR67~zclVuRHS8Apk`}(a$@T{k}F{BGU z&qabTZ!mSU7=~Ge8tQHHM^ZVQi151~4$FtTd}(ajLsZiRAMvrEKr5>PCEO}c<3_!d za%5P++B=G!WAkM^4loqWkrV}emfcZk?+)O1B_$ZkTn*6`##mH_O8eceNX(RNuT^}Z z^9X0-K35Z~;EVFGxO&sBg2h|9=?+$;H_(BQ0;0dkn*lu_BU2XJ;fJM(FfRu4Sf>5# zzkZ%8GcQcGeZgFB+Jcpj(^gxZ=_#}kZy23;@@7^$0}E~SSH?+v>YQHK%e>hQc3IZ3 zLxd6({H&RiPW_Wt7^C2B7mYYE<{OGpKfxp*K0((j??cUzdXooj9AFMBd;5EM5|uPC z)|Y$czRX@nf91y;z$V~Z2o~v}_t}ZiVvkMb#!d&m=WU#kQZ-p8HD{8!O$l^G<4Ci> z?5F?;$-vG`4UI;mQZ|duP}C&sDi~E{UHRZ zU?ToQr1MFT2HCgew{@@i8N+OB~SAC~L4IIeIFBG8A`f=utF#0jturt6D7da{>+?9kaj73sd&6W7l z$m0@t$Fl|;OgdlX$KVj8$ZOeXgh1R@QPW)8Ps1P%XtzNKpF`5B(CnnC#G+`Q1u>~OsD znVp;yT#&lmcTVNpg^F{2CnMAv9eaf}My&E|IDznS*GCWfsIn;P_GP}pIg^-?# z+X`~H=hWL0xlboRsZ&GjLn=J$i5NUhstooaMOj=l1Pm4kr-qsGoH%NNM|~iW82{N5%b2dp+ib&I<9ae+2tl4tnaxZpVI}HHHkd zv1X)GujBNKtcpij(T2S1mfwMNx9PM>=S+0w@r;KbzpYZw(sP*;Oex|sdDS)UMxqt1 zApQs}_jw?FCm&tR=s))jf%RX=hDc;ag{diSOlrtgiXgGmq`k z#o9)3CS`m8JBPr!8tl1D?|H8J`CvZqs)b*eOj2FX_*L&w(x0#uhGerWmUw`x>((t9 z2sz!gN1)4=cK_91pi#!5{Rdv|NWFmm0~gXX(8hnlyug?P?-_tI@NnlJC4k&CYIu%{ z{O?_Nei3sw5f zpX!LSe-tir^m{zgGq&Gk(fxw+Hb#Aj5xV7*@?vva%&wS>*E5{K{nNuGmi1Psa)U=p zR2Cz~_+fJLX?zC%)5^OstlY2FHmftPeF}32o`o5F#MF!PbYo2Ac0)s05G?9bVpbewOg=_+B=KA-qsc zb$N1KUfyLjFk;LL9#C5^w5el#MzNmO|+H_vgF~O1nX>l%GUyuT-VWvKKhyb$XILdw~a$`2ktCMCT{UL zgA1BP;Cb9)4Szyvn4h?H`jL8YL{V3h2_r6XF!r8@kNjfy%j0(dC0!&{XdDC7y@2rH{50d~RCgcHgW%M9qij>USkRkDJo{%7|Gx z9T_1Kroovtec=Q=dl6!%^D3`boa6@upPOEzEkqC>gT=BO`p0m-rcA6c_SpXlr>0}E z=d^Ak_ZYSY(P9|eD4leD?g$VvJ4Uu94sz|@!DN18tPlj8Z=5za7$bEkAG?TynNNVx z>%8W>C@)g)K24}>S@04o=ekvp!g5}y)HXStlCy)i zMb*5z;{r*HqWry80DPI!emRe6&Z$sG6oiuUv+q+X)U6~=hx(7bBwGla7c=0hhu<~T~#@V|M zV{sfUKN%ueUEXM*21ZmXHXPTiPer36yZ0OJF&voG9BE@H^N5A(*NA;`xCAMkQBMf6 z5&88kV*hB#fKzMv;Xb^#%n{C5UoX&a*nTlg#(Rt;SU@$Ca>vm7^*biPwcQQ!UIXge zueoj92~C2f1i|ddQ@6!of4HB1yl`yey40uTsENKBt{cG?)8LdyuxD$u{{s+2pF$kx zF;WnSWK@kE6-yMiyrE}Z91Mqzq3sM6 z%S~n$!=t2Z`swpT*-1jvYLrd8njd)Mui&`lMPPVlsOYMhNbJzwQ%j<`-}E|<4Y8;!67)oKQWCt1^8>E zpHsd|SGzMW^_;*;eh~?l+yA;S!<)m*h|=NIe1r2mVx1PYx7_ZKmd;VaHj@c4_PI{l`D7IPC~U6$G7B#3fJ9Akk%{O&fY0Hsn?UP#EaQI;G2R}a%CTo zE?XEe+`AKK5>B+*so494Z|&^A>(}JPPF3GQ#irwALzNnu!x~1)#9Cu_1pkfGfES8&Id)RX1j&I=8A@FS-mTI zJErD_ZkhB>|2+0qik+AKMJ%HIHExR{MP;0J`L~Qyx#}K>8I?zk>u#SCD(3qSou;KP z#>`moP~TPxu*kXmbv1}AUe{6H;keWNS{A5cVvpZiN$8m+_OU?{hJ?QSEi~}W(ChtV zgwX2GsKuhB84tS-obu3yRQkN*muMn7I!j87kv?C-@vE?gSU0#Xpbfa=Kw*rdb;N#g zAgp&LJk<%xhGP1$?D>L4VzkJ6=dK~YsbC|qPn-)#YuC+9T1zNL(W|4dief)|Qn5)) z;xc=(0rMxZw_q%J$4^=lm*K;&&qnQ4-zGIGHKEp#;4X zSD7t>7j5G0$(NHZ5JPUgw}LzzD1@j!tEhb_GSDCWRr(zYYeFh)k*w*lYHTxmeYPbl zsc%Y}0)5@|A($D3j{-P1aV;*$Cs3SpgZJ9#j*l%b_(OwuM-4udw!*Qic?q^)2Msa0 zuQWROTeEZqQTas+x6`Rvl!W zy;Rn!ch%F-MkwyRay`3hm!Ku_nM>XDNxQ(|yXmg~hQoR0Vqfb5homcEA6JP>v(NWa zk^eMBWEBX)e@M`2kg1nqPl3rf+vr!8rH4O#m6Zf@YbYs1d`liadCORA2Wjrs(7Fy(Iw2(%&jW$ii0jiau0}q?Yt16U&986W}V;yp7%CJty0u??9_>2PAa%;(C5( zi)qxB;XKHa8SY@sh`E_$LtUaH^R)X)6JW~U2>{^N(e9YY--Uk+0+^;zNno^~D>F#| z2oz@$wvimHmN9~PHYeilh`|~$mmfx!chY97L-vD6WdQ9U)bDIvp1ZwRd!Nx99_q4` zqjX~)#y2hH@U8)-r}4$E&u~^wpn^fFfH`v|06uxq+%D^*fQNL}jVW%RwL$&9on8UW zV?@&+1X9l2pgjEz50gV9-`vtOzsZ+)2>pL?ak1)eb5u0>c82W6L;qI{ z64(THeqJL!3c|U(P?9n-4^HmWNP8Pbke0ds7*?OE5alNmUt4hM;Xb~ z7U^m-@^=yO$nUgMO+9Z1lkJav3^5#+rchYsu^jONAsjVx$MwmIcS8^@mPgT?whe@Flb>tm9&$U6#B;^*F`A}+B|M;ma>UO=w$bR-Tl*ouDq#!tRifG?AZbyoD( zmM5Z(|LiEk2VV{h>&KU7BeK&-wR|E-Hy16uzW`1 zq)PySNXl*a7+!%k>T-Wy#|0O~64uNpIVPG^!&;82jjpM*^`;iRDEVW2n0NpZMjcUN z08ba#L_vWuVqGYacacXT3nf z*}EVvaI0zY8|&w5w+@XQbH4A+BBtB-&dLwmy!O+c6XMHKj{WL2euGKuh>~}=J*oG3fOR!*86Em3T68dDidw}_V|aFx)H zyR@?z)=M{F(rIP}jT?(+ncZ*(ORHOW=UG2uko}TaTvx64$+HM-_7n0rp0SePr1?n0 zyhS2#96toCcYikz_wlD?9eyKrE4(tn^(ua2T;;?5Ht{t&Gd3#G3VGtyl!OLiWcaqVAbhubr8~kc)amm0CI6)|#CNhe4$+$aAXTT?bG=$_6S3PbG%lo6LDgz6M33sUODha! zd@3M5Xa=dsz8@~-Ies09s-=y!s~onzV}{@KCC^7Rz8R!}ekHU62ycMs?vh*7)ujYf z6rVFTYYo$cp(tb&M)=ezvB25U>(Z%p6Z<(TpuHXsRDtA-ujCS~ZshpyabjO7WvHZf zmHyFOR9tL3z-LjhHQFv1OM4v-{_&)ikI~(QVe+t!CaP28PdC2pH>r`%}MEY=Pb|(X@`|ENu)M zDJ(`EO;}+HR`bX2-+AkIPJbNJVP9rNGWKK#Xm;Hhc|Fq!(NdJ`6fhC(Rwuv)-7Jlk z(?;>))uRQ(%q&Vbx)-i0C)xqaWWBDuhi%+{4iCI3hoshNDW_K!uh|b4XVT!fX2zi?r+a=?DmV$arU1OgR{cj-fhBKmrFkgjnS?o9^YV9%3Hg|f`n7rk1bGF zW6k&wucz}yMyUdhVL;fj7x;$-ee_rR$hk%}oIMRuV&_UDujHxLou#5hj{Yoj7L{+- z@QaXHvV0%I^e;hX$u=h}chR?Fx7rTWR!BE$!|=l~D9~G~nrR65Zi?H>Pk+1Ug|m}q zdpr+bdV8{VrQDp#$wYNmfcj(OP0s0L_D|G$)Bs!GtCE!LX*k`m@u8Tbjgk2$8RhIW z-emn#{_Q%kh5jh#r$fO?DgiZc>qhr;mE+x(;~Tq|T&V+zGO|X?=mB`5vkk+q93gBp zPVTx+LQXOfy(UCIc45NvH;IV=)cjKdF`*Up_(r=}TNX|U;<8q(ZQxpA5Mclg^b5Z` zswK14w1x@aitB2kFf|^X7`O(MJiFA2K+p zqrR@;x0XC_O2DjrP0y|4JzHlUKcN?5TEDRu#%x(d2{)PRS7ee@FB5z3XsYLn)l(AF z0Vi7KY7lX}Mva>vji#oB7^JmHU$u^Mbkbl;go?L^9bd>h6wR?VA@a#StMOwb1ny*g zQ|iyX`-Y)^fB19l(p*+Q)ELB^s*qaHwbesE|M#(?T6ILd{Y3SS#4Rn~O|c!cpMi;i zknp{wh?6AzN-o{RdwUnL=aE~H6e9R5uyLb|z7O~-3jFliB1YkwVSg)3cM8;5e#AhQ$`yjEdkV=Q#}R(>cT1) zM>Va+Cw=Uk$-L!_2ShTLpO13#2b>g$`eA112W^fDyDK*7con8nECASPr{fYs2Wy7~ zy&n0!Gq=ahp7L#AqyK0q2ahbBi#7jt4h7sUe(Y6rBHM0%2C9 zrDwak1+^!JQe{A4Bi{};iF%o%ig8HS%TCUN@KOr1=^msf3pV4ln|X87hgXVENH-Kl z>83GrsA>N_*dy-|o<`e{RVOdcB!sudd1hadm|9lJQ@Mu54!SUedP zoxL-+Fyiyl_}sp~mD0a+0Arq#@Vi^pVNg1KZ-_R1_&*FE{}mzd=8d#LI1wg4nKG@( zLUJ2tv6EZDXO5mT4R|30b5OG$JFyd3?cb~m%S*YejkfLO*k216pD@oMm8Ot>CF&Pb zswCwxl2&uQIMP5!Ba<5|6g5$qnL~yU+(jr6!@jmAXNSbIz>ExiORu_A1dGGvnhOQE z9_4PY2Q3gS-V*<;V!vu9Zyv8%CA0zQ#MoJ%F6qavj;%CN8! z31x2l1U3u(B4)Am5B;5+4>$R>{ukdfj{7h4*WN#1e|h(p;eD(+qb0Otl!-KBRnSm3H{&pqtL&|ewqA7_kY`8 z?*89j-+z?ywd#M<|JU?O`Cr{1&3}0R8UJ(q2h5-3Ki7Yo{D<_%GdfF_+Gj!fQDmA6){ z3R1x;S+xalaRtBcSe}WbD6C8zrX?F)gRhr0@gK#CG~<7e~gVZ?NdSx^#9sV$zo7b6!^lZ5X1ji7S(8 z?wPD3dJt=5@}}0=zZ*fy7#~zWx~oWt@F#!68Upx%pbipX+LKVo@X>xV^Mq>_uJ~hl z=pZT$&mn8%^^?YTuNmyu0-#5CLE8sEM9K(Pr$*uAaH(Cp7)VwKbXYhKVRulnfFSsz{ZDYkwsz$YZE*ck_{9U*j}Y_ zDOnKWk~}j;xkuruWQ$uiXF(sI#JzDjoCr^oHDI~!=Y%;AB?+xIgThQHBN_6d{;mYp zgmh45w+R)hZ^rEZa7;seL9#GdVt*naE$yoX#-G!O=F%(-Lv1po2>GsW9~5B0U9OZ2 zdQjw8=Zn=-y3E1)vN`ZJ6e5W(uxgyY%Gf|irMjeilCHt@T;T{gkjWnc zA2_K<6H4p0gThBZ43siWMM3&V#Ep22p?Dw6WMLi)GZ%|Z%z zceHy?FYCw9MMH>i7v{as_5YC~r;+3?rb=rejZxiQ>K)EJggE+7Y}f>1^d;B8&`N1X zrrn2`fDp5+hY0I7O#PhsaRL%f^YzehHGZ>L9-_9Izi|KjWTz9 zcurcne@Yi^BZ-bvjbD8(G2mZi3HZw6f8SGAYb{b%(sKQ?5@kF@qB}Tht5rH~w?wm- zMzI+%$yr;NxDzU)grSml?6M(W$)0SKk26C%WQ}Lwj*7k~-g>X#)gLgssG%Gb1HHKI z(>{kYxvrjI200L~4p48r7l4Ep>)9|mHMUeRx^rpltf9n|I;v`@$I7%_mmc|o@$l<@ zeEc>}_fmnNnBR=;&I4RgPEZN!A5K9*W?tH^Y_B{of+u>qLhRp;#nRnM~J zv$DyuO*V>nus9sL-AZ_gZPqfOo;+)Nrgq8=bxR#MGs~|>I3$W>4cUy)#_51 z0p1Su8D)SLI7)G>bNunRgIo8GW)=F#4Mc_6J$p&<>46x?iZ*9jXi=?6j4`e|P47`U zA(mthO0o7mqBhdyeQk~wV^Nra(g@ObFL`#@W%^q568TCbC*;s1RU=fPZj)ctixWo#)Xee)U|T zCBbMM8Y7{OE9CiOB77#wkK~-vrEb`7GtstQ0qt>NI?ldDShz+;|O=hiM=5^-H!;Id1n`^~5L)vzTS)xMea zu#~%f41PZ!{a9*f9T;z-f!)c@?ONE(AVo+Q1LQLVd>#dFw%5g6c*Ud@S+ct?7GH#8-gd@LM4Z}Oecw-00pRI zm={cUTzR1ZnDvVhh&N#+j*B)l`DrfextpDPQy_g2TF)3p4DbZ)FQ7~3K`2f=LY=uD zx8*4oP_5kn5UUVVs5w85W8i7+W=SywVKS@n&n0IYD!+c3sM(UnE@$%xGaKE5Z0KB(ee_AVIsW}ZalG9|U5V@33 ze_KFX`aPx&7i~-DH(+^dd!B*+XUIzzZRq0qGdE z=$p0fLU$MnbS-4TkC!qE9kZ;-cm!5;*JZP+^9F#ojID^*!@xBFD2( z6WGN3Q3sx{&&JA2C^!*N9wa>Mi?3ps^#T3kKpiUv;UW=|(tX}@04CD1dfQ9P`JtS8 znFqA{GXXx!k?n;M(3|%#{pGLx5{Zst^oF`z+Lk2;Hi;CWL!q*C1QJ3YQ&b{sxe3n| z6?qYpA7uJFfPwc}_E`L(6r_~)0u4nrhnnOH1@A{Gg|-jx?S)oJcaI>3<1;c)K}_VU^_ME5`gVs( z7E+G6Fd}+lW|vDaLdC$DRrc?4E~}<@#)8rYDv->fD?2Qk`!ASOWNQ;+mxJoT*Pn!W zCha%aHr>UXI(fj{o^(aw{HS))Ny8NPT#Ex@I%lqyFS>IyYz-5)fhZ@$RzRRS>PYg0BB zJem1W&@Y`8KV6%=Tv+6W z``--?5341es);|AZmqfbVzW3;)0;tqC2iE2*LLnd(k|YbENYsc&G~y*bIZm^cIA-@ z-!0AD#1YO>!)BzdZ2xx>>;L}U_(oQ}X#$9*C48VdND_?ZLh<(7 zEvZ=cZVnyNihPt0oqI{CD-%Okl+S;_K~d>Xv;c)A-95T#RFm64yK{>-KT{f;s?qgJXbJOelj@2#Qg+N8>$jNQk$9;(U zZO4|F*D(+8M_|TJ&6rd?By<4DLnRO4Yxq~mM1?S`_ZysSRPi1%q`yI$vq~nkS~B1{*sOR`*MGN;TDTFEwl<^oz=GwEm2C?^*$X@h zC`k+uP#8A6Y5pV&zXJEAhYi66m4OS=5RYQV=O~R4UPc>`Qc-@^iOf+{4WcIBIVWR_ zuCqpYS%MT$7=B?Uo($2;ni?Q~LGjX0H=lsiPruy+_>bPWX1!Wd=E$uRN8B1Aq6lk# zw{gtoC?>r0q;o||{%{@#@YoB9@F=iZ0x)^I3DdE@yzP(PM`G0+y|q&DOg^bj^89MZ z!Vmr?F6=BZ&R_Ahr7dy00iBjkA&2Xxkb^m}ea8wNRP?O^^3$V+xq;m_n+R=O3!XVcN>M z!ua@hPw-Cr4rQ!7?$%1v1r78McEJtjsX%==g_pv;SmD|A@K#8A`sB|M6XFI3>w(|s z$cs$LR*}{8=$-QW7WthFW~;p}fr!LOP~+15c91fLnwwx0U=o619B9d*enmR`{-0^M z`t-KLBQ5&aC~{7cFAWTZ%ch)J0@ulGU*8%R@CA*1jb}J6Y74O`vDKWmGbrdqPQKgA zYe{F%Z@zR;S+-692uT%TVy?-=XgcXj#UyDIU>S(9qRj;4a>8~=r91QXGI2}>&Ci-& zyO|SB)L+h^0E>oQ?yD!`Y5qL;_7pW>)3L%_h?iG{Dj9(x52|hBtpziotmxePk-Kn> zDZDy@#DAKLM?p=%I!gZihi7&DvS@gc%F^2Kp`t57aGN34rIx}ZiN?0c>6qJ&@H{ERAS3>`9#8`wDLSXz z<_G~=|Hn2qIzd&Q3Z@-o_pfOG?EghPW5A3NhCFv|*p#wn!N;Xi@3L~88BaJZ5|;%I z?fk8w^cM_`ESHTc0=fccIzJ8Tw2LA1KRsfEr^?*9I(2dN>IYde#fjm$kD&?58El32 zap&zlHV7(R^uDTDH2o`l8XW~135k!hH?YIB{{{DMuY;#?{Gi-vwR}G{n@q<>G zxXFZnF2_TFF)`U3Mxv@lOe6Vrci3BT@ar)_pTFKFF1q^t!j9=nm(t@EHF{5H-&`4|fH8|wHq zgo53nKX1*D+(r8jWtLRv2JbUTd0mTE=KE#ZdJMB&3O?H$LGx>(|H#e9xIgr8%9F6y z3j;TARMl-sPKoJARM*hPO8wO&#lvkM9#XDvKiwx-Oj;^h-pYg~?t<6$O*~i@C}gN@ zfH+fZoaUttT&vWGxl{!r9pd6*BLGADDlY{y=U?!A*ycV+GhL!`ejO#(tMTw) zDSewp?wE*7I&p_1%W!U^rrZ5ihc@jSq5Wb%#O788K|h6kdy=`X_b@$7=BU7jk-*e) zQFpDlcZd;u)%s04+cHiC8xCzv%xNt^2cSD^jA*LSG2L4CyCZy--a2ON^jaJ*h%1Z-H#l}I zc46ASm(WwY{$|W&PE2a{7Az!m{H&Ka&T6bfL(lp>SRP);Z}2~Vrt-yd4;Z=f2VtV! z2ufj|&g6b=GDNbJHPMuCq(~CD@YwN;`YLp=R()C0#`Si&tL!%yu3(gQ&N~X9VfvcP z{g4Gp7__;a{CNM_EcL=0m9E5>OE)pjtYpyGAMeHKT?Cxki*I8{mGQjCOLzW{=y)3beygscagd zbcm0%DTnEezhr0~+9IBM&yU>#w?N@Y1O0;d4f8jLPs8i_`*`~FFw<>+KK5g5tUhcn_DbL<<+AhDp0i_3SECD(|rk*&SxNQ?h0YhUU$ z=PKD(=isJW-G@91V78_@O^6L?{Ljw?|4;Wu53q>shX#Zy{|+$xtoj?29m;Cc!vAI^ z()(@v*mh!zu3P@$QAPgotr(^&kkTj4whY0q3ei)@ayS7;bw&S7*(cI)e`8^m2(BR2 zGaaF@$|ICY-}2Y6hm)3KOuy#PIR;I%qVYaywfsy9)A^#x_cVDFZ>-4Fj6{jT1h>XI zodb9F2iKdtRxN48QBGHEb1tw_OB|0h_Zx&i^Xl<&^!Q1UNMq-5z3RGz`PT zYvWQuB<=(43Vyb3YTc*l@*H^33NcicaxeBWKu8fcv;8>WfAS!2E;Oq~pXFapO(2Fy z|CQ?9av+u644KpZ*a=VWG+cVT!I9Cy4!~L%b1_LE#W;eiwdvCue!?3l@aM@K^^B=3C6?W7h$k_p{iE@gOwF5-Dqdu@_MmaK}3@IuJkr-f2LU z2%{!m`73H7?$^#<{WwQ)mF#z#)7f@R+4hf|AG1y`bH+I_C$^GGWm1V7l_Q$xtq`-- zXyRD{k^(($LXOSnGzO5GW5bn%4>ZHkUxu4KB8b6tdiVj#9d&$uP(ljubKagRfu)EU zmSDJji%3aBn~YP`hNX>5Gm~4nN6XfdIPa2)X-VC5ww`YoH%anaQTkeHAJrDS>BuT;UvpS7Hru`(Dx)INfzJ-FN6JI#mQd}L9X(Hls-EQ z)AOpMG+cTT$l$K~YQAsxR*fm8c1_t9I+qmSLKwnN&IPBXm(XQhN$HQW-zS#Zb$un7@9H9)(s>$wQ6zk{Y5@gL!{2!_Mm`kv54yVm0 zrz9|D(Dtc(()!XSgQC!Z#zOEn=H|*_>w(F7e7=;WaqL2A^o`*Z%;&Lrs+x@!J=(i_UTc2ppA32qtKao7Ju{n>X zmEN1ao-#L0lJGkSM4+xU%(9LXFn|u$|9gO)PM%~m2$+l?M%INLYQDOXv`*XWQ-oD( z)xpf)H`I%TpJn6Dbf=cjpRmykab6Zqu&*Mc+I{Oiy*Y^Q*!F<60R=dMTg@`7L{f|hZBeCx|CfRJv zR1~pskTK14Bd>IDhX>*jK`Uq=VZ=At?JV_nn!w3D^4MzlKCc8QfR0`MY~=T>vrs>t zl1GGvJC)Q?wj2(;|1B$uq@Z{iB4Oi1-!0vgsAz!gqG9%($m9vV&!GogdA`p^rW?fv zzf`y+4yLjJlHVJ(Vn-!)w>r8TJz9c>Yv^r}yUaa~(`fGx z)ehh*rqPYAK;<+Fo3*!x)E(by)s^kIoBu5cqX?~#Ww>>_8O2}`I3QXwj#_-KWYF3D zVtloS|0Gpz{*+>ZA?Y&2tws~)#&aTj_Mn$}3%)?DZ!!!(_xhzYDm-zDNmF)Q`X@(7 zdhKcp?8?qke-zKpJ=|MAkc;R0jM$DEz7pRRvFg%A7i|csD9vJHwr5-Yus$?&KI?Iw zBu{#;1jKpG1_$F~3#o~gb9{`HZAhy0rU*P2KZAQNiU9gFrlmX@Dd zFk}c~!TyJpppNza8+y66M0HazTs|8HNa~10uBK2M3PA=lHvJSmfsRp5v%RQ`^yndUUvt1m$5<9e1fM=PNE+Kx#7{flcmV6BK;3S-MB?9}VI|0JjUk3Xfbe-{?SwDkAylm0I_x zy|wkqy&F|ej!>*GKdxO+jF_?da_N^9GKXS^=)zn-V};~6u3fhy;5G(&*0^8SIe7^k zcj?5N6g%E{MHCi;;(J$t!Hr2T0gP{a7mQL~Baqs*AU-*RP{*~K#Iu-LI)sFyiZy}g zA&3rt-3Dc49fY68DZz?lj`_^!vV5tOSAnKzugsxX=phar$W^PNdW+{T1VMZO$wgMB z$vD9?BYvWTWJ1zWo2_E2wbC`J#72qj-p%2Ni4=biikd8p#oFEC|QoW6E@7 zQs7J~yBBQ@5!rEc7LvZfU2dWbgq*Ff?FNPJ%nmE{+ZH+bv5r~?IK#)^TBM+sW#Sl7 zm4z!GNxcy<%{V97WF^tdXUO(Py4MPIpcieGI&{+Pql02U z-`O{}^2z!fBZU9>r6&J}5v^`AkUqdZ*cS8V#N^#~HpYNHXMQhaV~;~mcsyo1H-zw;EkeoyKk)teZnMDoyusb{0_mM4M;3CoD2eZXT4ME7%!K=qo=~ zyq*!xpyt)R)r&#Hkf=$?HGz38>a@dQ{}v0OcGGs#vuOGOS@{Fw}7|4r$0DNC)i+{ z{M#HeehKNU9dR)acWU!Bj-QEf zwn%+YO{{7#*0E;~&J$(6hy7FvKSubl&}M*a@VpU@Dd~czOEPL?F3*j<`SJk!M@kSN z;R-ix+yl;e%?HDKAWM3yJVkMd$3eH~JljZHEd4x-Ri3D+HA+2PF}SQ<-!uH5EM;%` zAI0UR5+l1+Ww)ub8?rI$iBm$r+%t+xamV7zLf`&hH>1Vu{}0hX1%xGkrEa5w4M@MEnX^A4I!!{>JG9NR-l%7@a|_z(q$(uQjm zG9&`?I<+;tG$}vG&^fkC4P_B93q~Rgv-Ix*CJY}DP#ceob+Kpa$oSOM%#MxJUhDwj zH3exo6_{6--IRP5CaL{ewi5a4`QA3~5&%K|&gnO8hTjhW!bvq#!L{tm5?$7Rae4X7 zor|%G45&CoK8a3X*jAowNhP)jKPe_%t)Suw45EL~cyPC+9YHT-|m0@my%$0nKd zyWo1hCijBj-(6dD7FQN3Z~*wa=A2N8Zg!n(^`v4sU>A}hvzyL?wiCLn4Px+8(uy#G z=u86pX=?s2U5v`KlUDn(?}+U+wQMogPtoJ?x!-PVw*Jn(N>BSS+lLziOt$Z76hL>y zm|4z`%?DLCk<>9qRkyAQ_{acNNBOl^^PJZhjh@cJYM+4|MtbK5Bx|oi_JO*{I^+$Q zcb2dq8l2TiHi$+8v`t-9{Kx>SVBT1lhnBzF;!v)!52P%viqer#qQm;%e^j~Q$YSSZ zewsK$qFzWiWxZf>vW8?inAJ?3SLB3Uc9@n@!YUeT0Re+;YZZEOB-6Y~5YyUaGdZMza93|UlP|jfh%0K4v3gD;*5a4V zM`=(YJ*zn+QiYcPCjr?-h#7M6T|Tahz6LI)=i~1{irXwd1xK%d4(;1WkKb$gpaM<2 zSHEDDj83b$osZfmc%bv3l#6!{zmYPy(cu(qRl@+?^_|fwO?>q5dz6I@Ep_TcMAqXr zps`9!NU_UIt!&c{dJPf5-4?*^2>jL7!unE?wd{MSM1w2IlnrM%>z6&A|NaZr|K!Pn0S?G23`!yy#&eDT7eoLO_MTKWs-x^F4ylTQiMy3KSk!mLtQG;+|R^Yf&rGywS z7N!A&_hr&LSTl#v(%3j+4Ral10j)iFVlO=KIk1x+?@`nT9nDaB*Xh+%=)6rE>$$*Lz z@09t^MwP4dEb@w;HTNnTRmQITG7e#p<$Fkpju0t1$56z`tqCETC(afdayH+h&X!eh zU?=?eFoFjPoxZ4Zt%y8cgbqYMCvOG}lSeWQ~Wt`btxB znY{P>(4#Y_j4>c6bX4ggzLU_`dvMxm+hd$@T&C>?4#;Otcbj_(QPAT-XQ8n_XjYX6 z#P*3~F0`IaG9^I}TK#C8;KwXe&osfZF~5VM9T*50VPk;W_OT|2E!F+lm*k;$-FPj9 zVWbrX8Zsvi{6jEvEGj#uLv=%TmNNetYbG^T;+NHdCx(El_pjV^9%+IZ)OX@g2`crk z3Uc(L0qj5LQwk?7!pYl$GCh3Ak!yO+6PHp<)%MT!0rZuRFV9G?lV)NPh|v@jQ<^BE z?)l#HZ)IJv90SDYhxR=(y42%q!|g_5!n!zF0+QC^;s7AGcPm7b4fB9G$hZw9`yGh8 z8cdX+8blM;Js@Zg=Gpz=x3fDTZ^nRR>F z`Jx@=`IFEmqqt2bhpOXN4cu9^Ozd+hGM{!!VgJ06!^IKi{(&9wzFRpY$K`Fjb%DT$ zv931eNT~VuDmF9tltf(f^{qF_E2c#xi=A zjGT;@5`$4?2@ByEbg5i=Zp>oHi%q^f;&-NS@Z1( zSl(6gNt5XG$d}~kLQ1r^Srx@Yj1UX+Q%)#wBOF%PhUa7I^H&AwP8wH?Fj#fSsLC-k zeaXzsHae!kss@}qnGpt0Mq$wdx>BkPF)!c{Juw<^;3dOI1w*MO$S=gkYvmVL@yhTNW zp&ITu<3JrB)2unT?Tc4JY-+_&fGsDE1j`HeuubxKhX>Tp;qxd{7^K7>5kiI6ldgS# zP}Sox51dRm1hQh0Yh@sw&E)B6fB|QC#^KJ%{cnwQ>iQMyzgy3*@}@0KxhcG97)F9X zg9epSX5f%9=s@2TH@x@PL4`Xrazdw76;MUZONITDKx0sMUefi_6U$A;p*h-8pqZ{b zVx#h$0U<*>{bF@!{fjMv`0V0#%JyQ=#xLMlhk)D7tu7rEw(XC()W#AtYrum2yM0#d z6#u%#Zdw69@^bVJs5KE;hrG}`^2LM1midOmk#0CzF8Ap#c;{~b`39*{f$T8c4jv7O zoEyLjN%2N1A^*6*wv4J$J5NimQ!}M-xodlL5q)@1KAVUb?^e4-&3tnEolQ>|Pvkfv zlPss|PKW+{2gtNmtiik!(hJXSR(_^#lyBQeiMAs|gcYn&2K@yUH~AMoy;xm~)Zaw} z!1d>z{WQmhA&;gAp-UG|Ts*&2Jd31Bi8FS2L3)uU60hRA6Z0k#Lo#S;-T6W|7oIbb zkf|x$s!3=bCPWR=^;|V=XgMFd6H*b6n-6oOD=u;X1`FV8$t4l5V5YWl?=HR@Bnftl zGqXP^^V6C66#HV?7`AWNaLvioxHf5}z68zcvnlh1v9oKibD_T-VN2-mtc}YMI$EKx zz6Ec;ojRA`Sl}1s!zZ^~p}1km`5U^{AA2!d4Ch`o{q(>=Lj0Z;G-;)Tmm^w&_Zuo$ z<#1qU2>?SR$=dE47~_=L3IPqx9sjCc`x*{?*?`h_%8qMCNZd!4!GF0I<6VvySbsJL z>72HEWgw(ObCmbXH&a@H`4H6^UPv9Xwf#N(^t%#Gv+rCtLdd1UI_sTMa$>kVG{@t$ zlwY}hjaBbi?Iy!q=k0$Y!hx?%Ifls^Lc|wZEYaW=4bvUHOper{FPny~N_Vhik zGFcX%CBafdqn#r761v8O6}84M&0*3J`E*)hr3RXcgf7q92Y4J5DJDU{6cq6kA1Ory zD_wb(rpZch9WcNBrxdK0F~ zFP#$0VEHKU-iVi8v)cK6Yb_Mjb~sW+P5TvX52>iL7W<1iB#jW9g*ab6JiA>eEIE6k z>-bwa1WpN2@PAljNC0Y}nLkavNKj0>@pk{$tZ%%WWJX+|&gOCrSJrMyQUTGvL_J88M)03&b!HMHaMYA6jgC z4P}y7@lv-sKtid{Up<*hiC51E1+Km#g!Lp(VNTfpfIkM+23B-=EMT-iadrX(A8j$< zffKIf8MWv4KTWK54IXDHkdl)-I=x|JPSg9qG!+5M5~fu9zd+-%%Go420}`HtsDfkxTn#-7?hd75|9K!6G6A*fwI4wf#2E4+uc z1hz0dsv9G80W!{E<21rQvvV`ue`4JTyBk$fJo{cj)LJd7%BjnmC>CUe|G5K1Y}|;+ z$8DXL^7e7gtOqE;;Z$b5%-d)r`gQEA_BP|~DI0K#m?O1UMC>_5RE}yQt%%YmVRBBX2Nmb<{sI|0o65P0~__aeYv`rO4Cm zd98Z$=+pK4nw?Z8go1G(MgaXN;5`;)^|%|#f6Pi%jyzFlF|=-Ga!W zRh=H)8trVJt|NjOvpW)a^5XqnqX!O&&_LC6si4>H&;5Lz%p>(uqPB0)5Uq?t|*)oO*Bw8pKW z4o#Vfrd45gB!nozKL(5o(TBWoTjr=Tc2NmfI&MXz3B;aZht61^G5@p*nPaHQri2Pv zdiuDnq3Lrk6O-#^wrrhUDv{9#c*cZLU;cn{fEYaY0tZ|Ujg`nxdjKkdK$Jipz%wMM%P8sGRqor?mJLUdA! zoVqBvE0Hfm9dNiFjKc159pPhQUL+6mj4i#p{61DgIqK_I_I)OBdt)dL8n3LczPGOs z*v^BV?1ygTlW)#d88rxNni;}30Ni>l-`(|HSgsn%IKUjNI^@or|0fGmng_Fo_INOe zh+}6Uk^U|*Q^%0WVVll#0LJ=%x(-Cd4Z;pg7MA<^`w|RwSTKT2O>7*9BxU3BS0`H+ zDRQy7`~J^-%3%sf=c8>lfCxX&%RKPWn+IZaG3!&#Ua4$}<=LohOapy2;;BP0XX3h) zrt*8OFD9T z9x>+!6R%zLanZ^)LbM>}D}@PMLHPlOAh9k^9-1e5GJVVY2^RJs=rc9g1TbQfOR$N< z<{PuNwqqm0h#kVhjkd?Y|6sqX)Lb-a-JuP)U5KJz9yK*VKQUpt#>IqO5nbYIblKAN zQ<(vqE(p;K;ui#EZ0$8vIRb69)LfPL5zXGjxKr<_5XFCc+8pS|o^0mm(@iJ9zL_!o zIs-ePj%YRzgOd!yG0VllOgILIN^KmIeQmPWEZ{TWQzd09EA*+!Idh2SWuW_#i|I7> znqr#L_lK*C22+}J)RQ#&X}3{Ydu%4o=Y7!dyEbZ^nG2;|vT~4xcr6 zywC*0O`et@2f!vP^8g|L%hOpi`KH80-W3q2u*GgBgm{oK5}uY4_b@XHzWN^{bqs*mcjF}Bo-7OwLibMrT*s*4 zE1KnkX8nRiu6a3z(3W9G(82t#LjY-J8xC<5)W!cwI$~x7GP+ZA0^Wm0p9a&Jzi9?p z$IH@5y1cKZ_htjJ1iEuq#@vBVm+mNe1O-y0e;2ON1)D4ZF>(QCtjHJJmyhl0Hm1ea ziiww9f~Lpa4c&wU_K~i)QH%yDEhq^Qo71%}#Q+7~5(Y7o=4hLJLK_qAUaM?Ql{Go7 zN?ZvVix^yT59rYAY<^)zBZpE!DNW(&h^Zn0A0=Jl*fTKlyl6l})lP@VGYrQ()m9|) z$I9Sw%;zz%e0)em%T>z?VwTs>jUP>lEHyf>j(=Lka#I#<30qdsfAX9t2f;Zw_Zdg{ zpALj8X$5{GsR6z9SfIqEY7D*RQtjkXno#Jf+q;k#<5qHDTbPupNd8a`9Yqa5M=)#P zq*QWGNOY4-QEm{-C46`ah~t{)rcQv~31qbleBdl-@OM{}E2et6bpElTmNW1BI*dn4($6V;z5X%d+%+>ia%rWfn#tk#GN?thaHBq%wOuAB58H+SkryO zma?ijrnwY4iN4`hq>o6*Ky58|j-jUylNqUUs-wvrQIz2*@rJocOhwHmWZXk?mYSo& zgP~Rc`UnoIf+Q0pqQefkltV#EH%?!CqjgcG5YY>!Y!B6{xU|Mu}~(j04cTr*!F z&kCYswO`!!X4&UgV@1u`-6~wM({;M(DKOMuNnDqiZ)LbM96uiG7Jv*LQI9I3ICb^P3|;CDS8l zK92V|#;bIJU~Lv1DoHu7b)<@8FV9ERS)-U%?1&>NPZ$2bw0wc5m8PFM_}QwZg=VAW z3o7EM1h{tbEgz7g)3;lc4O`R^Ze8g$n3Q{TPe|ohwi=>7D=}n)p6QAYIck@k3NmGp z;|TZ?jenS~4=3Hz6_!c@{!@TjR+45T3TM;?fm^K>xN7An*F<|=78T+SV+4rD$HTi+lz19zb-$pO5x8)}5Fop+ zVLjzWPat%N>Ph_~iQX-JC<0L-Iuj;%V)b5vZx{#LNx5!21d|lY{(CiZ@d(jALv-Zh z#HGY13NH{A?Puprtq)rb(;o(sZxP&#PltCrq)0;ASi+R-_)v-kzUxX`sW(!5u43=Z zlxEj+ZVs8q=E#ojm!*FJQO0`WqcG0eH5D3Sx2;hViGgtmUP0~kwqex#Is*yHHic;z z=X@CgyW_q6bO67!YG7ZH%55~bP7!`ZU%YTC`tC^Ir3i1htAgGDG(gM0uV0vl6do4} zh~Agn7gBqd5w+hRw4gmpA(q$#T2gZu?DtF2t+opQ+bo~IL2t-jVKc*l3;c=1x?;k^ zb7YLQ^l0Lp8{m1}pkV8#T+xn6cnxQI?#C-~7@CwiKoGL})sHm2DX*39J*Z314z3zg zDM8>1@*iuGB`-4RN+ib@nNujA`=e-Jl$Do5?(3HQLg{Su*q7}902q`})D>RI(4#jb z3-_K~D{YIg9QVfC{_*N8;%d@%VVNr&7H)dF<9XKqJQ%E7C|M{bl}VAi4CxTgv`8*_ zf-6e?wj%mI81OU^S^K~hiKO30zJRtxQuE&y4#iE-=#2mY4%J%s8`d0xDdJ9X%@cNY z@AqS9iV!$&>sO7LgHD%H!K3M{7Y~QUv6*t3q!^f>seuDP*+U8}^PZ@PLs#N+=To)H z(LnH1fl2v^K7E~SE6sC2zI+eStH#0n700Mnfj$? zGhh-at;Xy`z@)aH@I#mr!6DM48I!}2(STFA*)__b?(0KpG8w+rg5jsX`j1joDhzPQ z#8c1cLTD2Q;l9D5;<5B1?vQcRFJ1)54iCC-hb>OIN)0)VD_Cw03EdIL$EWt zVR>3B8?RaX7hi2QDJ4hpwFZ+YZPy4i6v){sdA-n)0In{Tx_%}2JS{b3RcX!^?-pLV z^wAlp^2KQ*CtZ>1r#Vn0Ub0LqHKdM>7S~e)_*v6*xjW`|?m?eBE%g@-ZU2H_7VY%@ zVO7l^kBZR_xeWM2=r^NSe3z?L*~Fyao}$wa0)>;B-a)hHEq_3Haz;+fNQtgW)ox+)*M`80Vt) zLeKfgOY+=b?oX&rmLdW`DY+@bapuScMjX3QQAF$ssg{xCW$mQBF`yH>`9j|hwNmHj zqo_jBYzDrLEzfS78E7zZE4Gu%^opHC(cupR&{gzq%tO&O7D?>D4@kIDS5u>h8wEwA zT{Pm`uHQWnt!?60pZDqC--N){|nF$%ozM*PO2W zCQ9F)O*_aH5L~^mndhV*c^yMAe7ALooLWocGNmWwe~oh1aYn^cccX-YS4hu|crR6& z>mYFvB+xlJ=u%JZZQy8-oiLb_`T2l8Z589ToeG9H6v*3$`=bB*ucS(GFVFyT{5`wD z@4~Uzz@M)B32PFo=~u1nuqoFQq^~7rOuDqypP)C=@Mt2B^?9E$9X*!3hxSUFs#p`6 zE#Czz!w1{w5BiP6BR@^P!*L3kHd4=Cfl4dbn5iof->_&}@`xT5ypF|FRIIG- z*ZA$dPABeF8V(1~_Sekg7T%PpnP#Vv{L`x(FlJT7lHPyW6|{|)3>kcBtyt>5n5WKN zy|l>cXXSP@J~~9*FPB*9pZ`xTg!8(W`=1WY+q`H-xI*SZyO}W{t*=(WS~NXKh40w* zT-28k@0IuA)qnS}AI?y9Wj?$5%U3wAk#vrfUNd#`+L^qtu^%3z^7yXJRyu&-LvNz{ za2!_=DjnFfIOW{Ry;BI2POgeWv3%uFEy$(*pwrjmOo0-x0J(s{BpJvv76KBgS5K>l?;N?6 z)&azqj?8jMfspf7F{VF$!MbVf64mWnG5fw-cyL};M41wtl4neq8KwE%oKG^|JWMsA*de(mXiPdv z+Aj*_D4s8rXb-;>T8c1L10G&!cbQ{0aIf1t`m4MY(wNyJrZjb6RN}M1ukt>S`+(K% z^qS2159{8UCR}P$2V!#55WR!ky>GRC0?l`dnM{=N0_@T6s&DiuoetCs8J6Z%*N8} z02EKzX&P=KUKf1u`6^Cvp(KigC8QM_cx?q0U&tL{6ujq20_J=zzG>35CJpRH?dV}M zhI!me!pSw2FcFg2hr2yKB-kH%Kao;y`vHq>6Vb!^!8Zp;LBmNlA!UcY9GVrEi!vdd zzWkj7Igivhm@=Z)Pi7ekPpGDq#4I&A>c6$txP`9;`3l*`QbKu?;d1tO2t8>q_vor! zp)Mck3yixa;ojiht0E34#1js}d?m(4eC$E%SjwiCQo!K}dc}NKz9(rgCk)0}OLK5B zP~BO+*I4WTD) zyG>t*-0bfTXq(sL1G}uW{_JjJ=3GseM6TxNXG4A}@p>glqXyf+t$AjtCBLMlC>?B8 zkiZfqRrqItr!EA(3fXd8z44m}z3+JLsgE5ZuVWon#bwx5)39Ag_7fk&+By|ab9l6~ z^l8?=`s>%lxklf_A(@QK9%C5*BlPl`Fa(B6??W1PXHBe^MDtAr^ zh!gE#S~k20mf)5koIE4XO2J%2A;9zU+PBw$-nknVld~N5wRF1m+=FyKg!Nb$c z6+1Egb5}x|6s)DbQH$e!-!VhnCL=izVg`FG&%)&cDvx=NUMlBZgaJ5`1=_Lb$+uBn zme~Vzeh0i{7pTN+onj01F0S%x@MsSN%}5~CtuZmS85S1@x-5~7x(g*SMXU4oAbf2H zPH#nnME`e{{Ur;3oP>&>Sae6#&jLcL?7DcC%=D0P&c#Z8VHh}a3Njqx`dyif5Fm6V z18rubX%VSxS^m;le+5Tfvw|WtizpxwFLg37-M*2VDL-RttXzep(D7fL50Mg8+K89L zJuv6h;%v;FyX>`UUYi>0tP(dF_fXB4rYj*jP7F@m>4I5&?92mprY@6_PN8F!k9@D1 zw48SkH1-3EBQS=rZUM`{JDFHxH&#zQnW-4{>xRKF$3I%5RHcrCX}W9<k8%$tKN+S1q##6 zdTnVyFc*=qyJwmIA#*@V)Ip$>@WuV_&}{=tbNhPuHDL4MhL|;E34aMioFw0!%v^*U zU!5_Cm`qq5-FXh14+XzGvFxRxqQ)BC2?O%jY=Uxa2~l>P2_#N`#(S_X+G(m!KA*qRD9w%278&ZG7x|dM4_>nC(91XNAjg zVyQ`mO`ol*YG8ieX}q%*=1Zw$R%pfyw7~_%9386+S32k<&^Y~2A~K1@=X4CB*bcV1= z07b)Fe+W+*UWPm_SONwZBH4C;9=W-2l%_sIj6x+aC`BxKykR<=i$CdvKX2j0?99Je z$lX}BA29(l;FUjU2u99z0E`p@+4Dh-CAJ?{_SD&2wj`pb9F%SaDIokhY9klooLoJh8g?2oa3n5C5Yo$?g?&3-yt%RW7o$kOM| zw3=43Q7-45xb4p_9Od1kW>=>2Dk7Y{00^1;EaF;%x@xu8FfzWUa)Dau4OV!Ok=*j9bpDUwYbc+BfbGAaB>Nu=_>7q#OnKT4;_Eih-83p?>lv_ zW>^`kKlc$#n;6p@3URXe`6%A8Z1QCO!$n*?aD}DTI~e(wT-Gh+7QvzA=3y@Es=_IQ zg*H`6%dTLf*Jdr(F3K>W_9|7qO*_1_=VUhQr7~^YnfYIHmSuih@5)CP^vJ*$T(Ai> zkjW5^K6|a|mkhK{@AJ0Sj_XT`E3Pv^yXt4cn>9qW_KSY=h=$bWMJ603$5k>vJBlG$ zf!U&V^63)s$A4>hXnYd6N-T*WCx|en+t)Q#;tfKOZJZD&-ae75PI-*fqGa0|6)gGP zsYLaD=I{#%{c=^h<+!%6fPL~hP9<$z<27GJ!j^n#!6=b-97!74r1tvr_lWbnOI{n4 zM&x+H7Cq#={$+nDVi$cAK`tlkH!KAfcLN6mZ9}Khe@~cK@(aBa%`%n=!=#6pNxdzY zn*63r;L#=k_EF58H?LCZxhh@`VUo^#`}^v!=*OfM;u5x9*`JNrhiaT?3b4wwGZ2>J zwB)=qCvqgRP1{$f0MShiz2<>p8kOzsJ?LZMRrL|SX-@fe^gm}r6gn>a2)~D>&XNI| zSU7kgSxqlkb4DatqP@-S{7>xzP+>62l4LNIG6H-pjF+LPNY#VbiBua_ zCU9Lrbx;lm>euPJ7_|>pwH7ON$;w_XC?sW zXm+|xoZ#B4ZG8x_I<<>rKt!F;|3h}Vk;(&n$-qkV#(2uTW-Y z&O|y6naK?8V^b0O8OdFt@;l-CGxwpBpgD}Bdafsgp66iFyL|k+`3J-@n+~OpyMWmw z;4-tqkS@*(QrRbN`s?@W6l&ah9v8p(Rn}jt=0oo21cTb({dKxN?KNrwK~#gQ!#?r3 zUw0W!-64>Pt?xWRBb9xe?}aU$(-lu@d6y5SQ_;%a%o--x9VJ_*;xz-s4Ta+9U-%uj?#X8Lcj?3U;mmVRQ z@@HScvi>mP@9-3f-|}`B;!8z}*P!Y+n4tz3Jq^{R&mRD^WKnYqeL%*d!t{=*nVoLl>cl zeT_AUliX~~e3f9T^N#&-1`S_w$oMfg1t_ZP9P0FiwzZT(ny|i8n$AyH)}w{!!li{w zUVHuzvGI&cPwllgw}@?q>Ni{kVb;WHoyXC@_x&5>&P@wz z8y4pJ{^2SxbmPLP+~Z|#gyT~76<>JEiDvp(kBv*x)816#WU~XXhs_{6D}{C!fL1KO zqMaC`GM8`vS|3r}L8PgQadrIb%UFQEzup9GH1VuFfm(z?GQ-Oaa1wOX#h?#ao*H4IQrqJxv zLIvegN#0UjAUbq`um!UP?qQV(*OMTBUFjb_{driE#+`V@80b%+8?6AzDx?C$i-dzZ zZae=#v4ZG&0hN`bUl=URJ^1cyKt0b@O3aFK!GWuVi5-L#9XUYqOMT?TZw}J3A^eCO zWCE^)w92kcAX^Rrp=#h&QfSfiL2<96l{D;s@C;()E~-EM6g$j7eqq-H6v>$~D&e!0R0MK(7R8BZF>uY56d;>WwriW!@6Mq5G1kYr zk3R5;Pbj5Cap=Z0-*j^B&yvN~M<~d0I5Qv{0;O&A&1pNM^4c(i>+nCkVMG8F77`SJ zLN{xBHm`;6wN!4P4miML;Pr7adZa%#9g?t4e%eIm(exL^Vhxc3& zMX$7f&hEnddln;KGq-c6SJtAEPZ?E{!~q0*5Q*%KFs`{k+1AO=LW&leex*RNYuuEm zogIcR`ut!=%*TG+A<-W=A8E$etqa?na%Cq@a1AEkVYsyK1D|AJiE^Ssx9ckpzZwNo z0Gyn)adT3=-FI>I^m`)Ew6|BUk*@+E3PV&Q8JN;%g!^=N&7^JHy0r zLNq=JK(E+LZ$Zn);6bFClTGq%v3HXu350_~KEZl|tRk+!hqX=%$w`foDEdFS2DU-* zdkw^ydv6Y$)n0qF3*fy+x&KISi=C6RbI78?^ao{yi>3vSYRWQOGDF^vdb#bj8W@r( zTt{nUSpu^{UBw}OfKaa2De$hKS7|r_@yDKAmzMf6hUUyOwonNd3GB%fd`m9#j6W?& zVufFPtHw@i1gWwXr0ot1!(4T87L*+jx~L+IU-$;C4ak&s1HnJ#)M{w&I`a!ryfAbW zVMXlw6W#2O@}!#|M;A<@D3dsWnEm7v8u{uQ^u2!aRsFxJ6Z6D`90-Id5SeY#@39xz zVy~V5VoQCM5!yI@fc%q~*HySfrkV&Eq(S{p6&(Un0)#J#233tknw>xGb5b~^8Gcer z0W0$`uxX6*KI3UZ&vY)`4hU#y@t)>`tYc^HO~utWCyssUgw;RpTvEb(MF%aIm!DZik{}}2oF#%o1 zc;A6PB5A4pX9vK}@J*Ff%>?K^5{+fRhAlBT*J%4ob*D8W^K3qu4a;}wvR8%Fp?Y@k zUX?9#>?Lz+|IDk{P82Gtn`b-Yttq_p(v!)gSQ)FZv213_>_;dHSEzsNn_UQ9d? zbWSHjU-0T)^FxSjUbl%m?xWY3ott~mkiQ?h5h^lYw>Azu+~ouSbrmHt*7OIpZ0$kG zMpLsPh$BD66I~h0uzz4eUQAS=m8RAOxQs2>dDPd;>Q=j-lpMscQ*m~W=8sqZO4BFx zkP&c~4hqcM9qZRB50fh%>F{SLi002vj=rPn^EU)_Po~%^>~czyzWH;N`6a)o{u;_% zw|>h~eTF~|Z&A{q@96H@u?O28x1N6$E0xJ&>=|`!#e9CLCdgp> zEx!M8r55rT23QKplE=<);Q?cJicMikY>+-ern6>ppa)4-(cj5+FNryoLglZ5c#Zc% zmvN{}iyFv8`gqxJJ!(L4%8^Ow6Fc!UYc&@v3Fl=(RDHDL2cdVrjo@UDP#7x&F&rkO zgQ6zZc2+Xz@rk*Osz+iilfUx2p`(n;)f%HphMN8(u(_|i%zX#FXC?ROx8P;nQGCz; zIMrpcPFUC)y{9u+s1PUG2sQ#pYU(jJ6?53x2*}4LJI?Qe_Rta?&ML7<6>(_klD1TZf9YB9 z&vzAUz-P(+c6`4;KRwK`ckA5C0AOL@f|g#>eMOnl^-s5%dNeuQLGNSWvd5G^71t0Z zCie>j(LivBZF9i)t=sSZ%po*h{P%Yy%2nceP99OWb`m&;^~)z7W4Nv)N|Nj@UCu!L z(w!EPM?;5ciXSxtc*DJ3v0uf-PwSnTb+c5Tup;3c;4D&|<%Tl-xAJ0rZ_ak@>h#|N zLbYn$UbXd?jfyBAC-wgXis|t>QYrK#|H+;WpHNV@cI08giG7mZ3-9CCE+Y{GD5q@^2Wl{P78mtj=d#J)xgOAE!b7%%`|vLYxE!^<4{ z%v>4W*-LZ1z;1rFQCttIQj4`<3t-wrwC;*S9xnT>h=;4-e%>l2^f>|JL^HJAIbP z0*+8)+|2Hqrp|B9n;*V`K>WB1sqtd@!P*bQi-ZnnBxQQYo=J|*$UJrD>BF17%mYs| z#g3&O#Kqht^DHKz2nHHf;|;|RIYBzX`tJJ9lunP39}?R=J*toCmuqXeOj(CdK32t%vJOi7*9Kw zrzJ+AK{VwShs~>5LtNXF3}jTXQXt?1q582LYuScH^^mRH$l0fhKrtBRHI|P#iI=2! z14l@aD#W4fMlC-K=HTTGj_OE&kn%NzhV(F>raE(VKNhREYQTJg#T(|OV2`(aXi2`i zh;*AYhJqE1GbcPuE`^7GzG`?W-9&^UGB-smdJ+1!H$EW5wG1_mqYSQ|_8GBG#95f5 z!>J8HV8;ay!2%Ax7f_MZSBlLuocD?nBN;4#*vPH|ifxOt>NMb#NHGN`PWiPC0~JYo zyx5{}pgK;^WTa6lDyZH%1a?hbFuf*4b(ZhoU$dhs;J`aMR4(*O-QVx9j`r+x6_1CN z?Jw7T^&Hxr-hgCzgwelhc3HoAf5A<2g5SPv59KabiwbxwO!2q%7^~Fb;QTKRP}Kuz zn`2Fw=Nh%gLD63T$*&UJhl)wMi?`R3LZry1igj$6jW`}g@Sctv(;-UKoZO2Tn|H_^ zrb0$^)O>V~cJ-Ia8fgt71eLO@rw%q;DmGe8BP>N9mLW4nOe9Wi`I&g-rU{QR+@pfr zd*xSyFALM+x@3`?oZNYb7VqRZU(A5woIa^mv-T{)o$bt^IU;lruHG9f$0-7dmkr{% zjzSr9{xc@KIfRedXS{ypd6=X17Ud@b+VTj}@2$fgWbm-^{eifPZzc7-tgM|$;5)fv z$W7fH!WqSD#=aH>#|ntD;5-L8y*hx8x2zUBM)`7PJ;`~F_-52CVmfo076kTmv?D++ ziyuyiXrj8@&*;SSs$_zK25n!_Z}zyGbb%sr=@|bNqi_r57Q4=Q_<(&IYa356^rQUL zXju|kT3$d+RqjzGZo4(jRSi@mjwrtoO?z@%uiJdr9{%3cm)a{m4rkq8vbz^to7Li5 z#dib%R}61$|04NY(ZX$`fsT`lv`gRx?>4(-FzcQA0p;2jds6-uC0=OJ+DxB9dxB@vI%yZRlU?^%m~w%J?AV zTkWr+ZEy|Rubv$#`jXO>F*^+hP_?jBog26V;9sK@@$P4~tVBxHrf%Mm``Unj#byAa zTFV1^PD6&~2XM(tFSX{`)@#k0CX<9({!e9I&&fijylg2iJizYOrt=#<7A`N7W+U+8 zLgRYNp6+MZ{5!bg!qdbsCITkL-xdLQDJr02Cf>^kjK@}>8mI1@XI`{8w2$Sv?h$PF zwOcI7O;(Dcr|Zzvyji~-HG-O8yJn5eItenh3z(%^9slr2)@U(>3|y@N;R z?h44NWj`^&Q)j6@yvnHP%RWA>a(;a1#-Hho`lS~#>E!;Sm^uX`@=&soB zZ{DOoHc&tJirAVF7L>m9$5uOHt&H_mI;WM$hpbfGW{-^d%T*-svendKV7j>HIT$fe@IV%#M*sV%GDe&VQ>=UbD^ zf9EV=>fFCi&q=1sdZYY^J&Y%d)J-*%u#a0TNxJECxd}b50m)^=RZW(kS(mrDTk)eE zm|?jcf+FRC`+4Y29}uJ(6fMjrvbB(vz)OGmPWI||16atcJw2PDg7wy8Tdhry)a`AI zyY*3Jyw4rFOf~~bbooS`f}|lhe=U`O*Ph@lcey4>Gcu;f&06Ccn0k-0^Ov~_d1*$C z-;oCgXrbf*qvmyfI;a}F+ncMD|EHz9v}wd6g8;J>_ZLHuA77$c<7rbKo4?TdiX!fl z&D%yh_$}>q8QTYokqzU6#f1!l{nPeQhfs)W7?-eFPK&A|4F4Ntr2uM$b4`&H0G8o~ z2Y91hwt2oLrecV&=2e31z2VOGB}r8fG4l_O+iDsa--**kd>++RpXJ?|1?GcQez*3X zp()f-Zu_eB)N$dlN*~jxTH*lE#1jF9mlV2xUc_GdUKyQx3qYmCs=*n7uETxs4g5HM z8!xS^&44)PLJoD9s}}JFP4xnAYu|&E8;W3&LNSZjmFwZj5#{|cBT66*5Hf)F(F5Cm zn`}l3_QMc0hPVuh%58{gRz#j;d8HO)AIcd9LR&}s#t%@j4iw7p_(hUVVDco%8=~gM zVvYnp%F2Mp@@cV=0Zbn!qIwgc00v6K7IGhggdf9-mZV3xv`u46UV6pd-hn%`d0#~@ z)GMGMsrvTb0QFsQ>3x`uwirGPN6E34SzB9iyB>3~^)D&2Wtusbr@KNDP5%`L?01En_ z9?=RX&3*kQ2Hn`{V|-q0h9Tks9ZK}kdY6+gbP&czE*394ULz!*G^IrZdhTNmx>GnN3Dyx5+sSY-r{tO%qHesISe|Lz z?x*Bo-(JRgb*9W23F8iT@W29=M5(mn9V!~T&|yLDgn$WDrSt#iaRZc>9_A^7&tJBO z;H^+jJvaj22RwBL??x<7+jl4jsz1en9Rjo6`z=`t!ZFK;(2EDlebYZf6^jW%6;q1# zi68{{@k^^-U_5==kddrr2Z4DKwzGa~M z8m}Nf(@jZ#fU$teo4%`DrKKJxMzO@Y@<OK%)j9QIlU{7EshmQW?jSC4hh!+Q%9JARE>d4slFapd;4H1<6};mh8Ml3=1}`uj;y`?DqQ8xd z@*W9-7#%fi}XcS?sMQH*}{>PXySujfR>f$57*t7*0HeL8SxT1s^3?agJ}=f|F0i()Z(K+`k&@^ z!|`EL{C)X`q5?ZO0F*x$4lP!dn>vuAPQ477521+IbGH_i$f$81?&dSxV}f#F=W3)3 zEHKRo0tP$PG9_I%Dao()2y5I7SADqlEq-k`;a$TfEWIwgY*QP(OC+n@K=Ck{m}k=z ziQ|*Z82@@r+<72pF%svz8e>$NPi&Iy9PfS*v1Xq^=^r-WEIsQTJS4wcNnsk<`>Hn! zQYaz}<-|_@prHIROc838h@fwIsR2MTG*OLJ9CX2_1(Mb^Lb7>n^qohs%u%!a7_T-2 z*HeBkf8}pn7}Yf8Y*La6{NW0Jd`|sM59kk!(C_mg&(tqHFBL5sh@cNWLfiO?z6Cr~ zjp=i4@dU!rLesFD-zGMdwgoOK_ll4kz_8_Dl?v0{O8t0pA)VWd9K z@1v>l(i3Y+`=;+J{hu+TJ28$##aEe=GyGSc{eDwYJ3LaJ1D||SG?{1&prD?bGi5?b zIqUr`F4tHkfU-u3rG|0C&CEb87Os$r&m4|GjAJo_PdDQ+OyyFnj!+U}@Brtixu>95 zW9SV9$c;YuvV_>6?E7;h33gg;5UdIpR*T-T(p?7MJ`* zrK8ilC1k8OKK3U9^<{u`mJ0d$zqjk3Z+B&a2>EUAf$P?A5iC-6&DfPG`$#%P2|%Q~ zcgr}(c|ZU=xc2g(wv8WuQM-J7NvOT+0^b_0trFw~?jCMz@{4u9R)o3gLcbg@S_D869%YBW z(6oJ@fKTe@N?`dJLYr_D;HTW3bi)chgSSsKwo;ha50g#8*48P*PgMoa(`_EOYP&`; z7{ez2jE7u2y?pD5)xGAqiI9RR*rQt=s!jQKh7mMr@!Yen(b5jztkD7GP=N77ZuhBt z?}=K7p}(t?_AMx^H5TeWn`h&9^@>NLbXTs z&E4S&C0;{*Ri-%G&h#>F5bX=9EhB9rZitEb zXHh#MrSn+%ho;QJcIhE5BsK>r$DfNxlJWWxU$G|Nt|fJJg!@)}DCz7We_ohQvcX&L zP=Oa|^s_zH?`CR3z-Z*8OwwB>fJb00y5;N@C`&4en-(Be*_#@I4TBB~5^LY)!}R-# zqBMr+0rG4Q*Ef1ol7+Juc=Ijb#%;#1L?C)x((h3H5A9$xNJ%mgUK_XPygk`G;=;GD5dQh7NY zxg_gx4-i3nAehUOXtKonwo^5|E_gH6JqkgpB}v1W(yV-ceAm^lTSgv@{;kgKjd&of zX{a;DU%%}?nI$m(59Y;t;nZY$-0bloSl9!niH2l!RTvNg6TJWJBVklxFp}k@*lL~G zy7pQjhO+tV#i@VDIRLPjo)JEexE+`;l?Lj*VvCa;&mkbmbpnwW61D2T1S@WRVBPPb z5}Yta{?Xk7=vT3!8?Hw7{dIylC-3W;e!E^Y&sgrzi?hHD!``AvD}gF@p!IlL-84`8 z&rX0RAo2n%wEW9TvP|JczUX zfuS)WvuE*P4{L6$HIQyj74Fbz+?9Zx!owKU_Z7&`Q!ON=LTsTKNszBL>?eiGZ{%~~ zIe&hpiZa${UVVJ=e%xzz(;%F-mFp}acHySJx>aEgketj@N{|o^0Mq{NBl>N~AT$reo$PtbYqpxVo0P$DG zK3u*dHtgh^7YV@5K%|+b&A|Mbqwb}TsO?b^Y~eBznbQzFwj6@bmf`D6kJ{Y?u-yF! zf=j1{=N|M!ezA_P%QMe6o%{oz;tw1be9e-!9PynLDPN)u!?%sK1B!rs1a-l1>vmFn zn(j^Zu!cOL=jAZJS~G%%)*Mf`(ILr+ZnlHT@;ups3zeuO?}JAa<5ZKfym=+u5dYthQIC<~vptY8gau?MAvvqg_x9m{pi8pm#)U&eU zuCrTadXvCW4=w)YQ~_wGq7e%!BT^ELZK^+$YxK#<^=zpAI@JVbRBej~V&}1?+bLtSrc@mt;1}w*pykRoT9$IUrI|H2r z@q-CRQ86B&sLaxVr#?>fJVA*YNQJ`fu9+e}eaAby{$!5tp}>JsKHH>KFl^LZBV9%a z8&}-3PlkOuWI(@D4}mVsKk!QG!gJ@34*7=Y1F92PS9mUEi(>Y==8UQp%;!x!k8XGL z5WV|4XF#%LC}V1*g}s-|Ku$;QNF3tltbqt~vN$RChK6CkihH?cwk7pkki8!_S=&fN z{bgtWM<{Rh($8RY$$JD6jc~HLoeH56*5He~)tvp*1<87oyZpFDs{s3F7x7MFaKQq@ z_^~Yh;er?T+@EvF*UsGAHRa0hF^Wm!C@6Hzz6>*Cn7}p&W^uG(9WxHaf!ukn^frL5 zXSR>bB;;eue{N=W_#>3|U)>7z@n|`+lu*QKugBW|-sKpi?k{VW} zh`(nBCu!`$(cB-!L#9hua+by~p=wtt4p-FL$n(|)s2-b``%5AthKY2A{Zdc8*)@DD zg~^WzYh;lsmPq(>6J~>sqq66BPkMHdDev<6&}E+hEZqF|e)V%i8?@gi7uLzs9L-uZfusg7NjE1>g(@*?+szo+V2L;@8Miwnrhf#)nU@gAh@Jo zrn#%Y7hI1&uy?HR2K6(MmzCIEc4hpRvQv!j40h|AD~h`-xdo6}*^D0%#qA=2lLcGi zfghXD%n4x=@eED8z*Zn#f0hm}l!HiH-jf_DkhHmZ!Ou4bFhV0ar8p+G@JHz$ zG~)q1^%^jEy2_3NFYpSV>Uy`ZtSLHOhuo&&R=+*`Z|?AfZSGHPCF8}JuU_gKPmT6D zMY@`d#hoKxK<(nFl%lHJIPMje(OI4S+?s4>2O;CB5O1vqs-NhUErDBlJieUFi51J;_-nDvzh(u#KFm9B6@X8Set4{@w|2k(3nyu#nJFR50< z&1C7XLXo~^QMe!6Jezt2BmjHJKF~7a{bTekXGNd`72JxeP@2qWJ6!HEQL)6OK%>eV z?E+s|$X=^SxR56!?7ECXR|r~n&l2PrgE7lSZ)sMDF6h(fsfX2EX7nPWQlHW2LdGerWY|_jI=uNn*`RcU@%tAw z9JM+x-gul?v06;JjWYZ~cz)Nw(g4gt{OsVx=^K>Ueiw_eAdja$haB}sx7aOh!lN@d z`H+R}8zfhltMfGOz-6nKC+jEC67xy6pY?cOc%N*Iz6(h=ip=MX;s@CBJtRUat+yGO?xd)%m3v6ZcOjRN49<$}N}QIbZdJ zyxu0&po%&~L@|RkKI_o4Qe)+x+D?Kft3nua3bj+JVA@x&Z#t1X(3DovvoG6T*M4?a zaX{;6jT93DktJ#=2o_c&M|Il(Kq$Mbo`_#_f2&a>19HQBM^OgTtOU>eKS_rNz2OY-UlYJbJ?no-< zJ;Y=J!W_EHacmw)->WfuLL@+LY9{UoYi3b!sNR>A855EVrm6^!5xvg(aC75k;v@tg z;T95pH=PsCL-jGjN-Jl6!r$6P)BtbcwZ$cL}N9&$2#6NNaKRH;76qNhF3MEY4t z3J?;~KYRv;(Uzlj=;QF}7XHSc>j`_ole&?)3Uk;3p8fMj(~%T{0W80#?|%5Hl!$KH z*)t6JQ3z1STQt6SomU}74q+F)KM*fDT1&?_Rw!ZgcW4V`#M*MUc5;M?Oy-j~!zG^B zp!6gWp~D1CJ~~sWbjH)Qj&|s*99^y3BYxJ=m;3YK(JiWr{C&4Psh)1EoYgb2vjo1q z5L;Cw0KF0)VhHN+MNMQmi<)9~nyz*^aMdVlPp&H80PHdJiln$xRlI9QN%>mqOCD>H zoS*~?rf$9gC+fl}63vcfXkAH>8;Q(%c)BOt2__Igzj6^V>WuBAsppKEz(Pw@Ao1_% z2XwPeV;k&{{V3{xfTB>4B;!coHhr`lzbypChra^bN%v+7vdlfSKO;VJz8ND}YeM1t zX=!bnKo3nKF!{4}cd>7*mP|jcdn^A1aI(XNoVZ2rk%2_8=2R%q5|zQ0z$FwHorV|s zq)dS)(x&{L%4bwQTy&19Mi3zi{KLf8a^@d1?HG!g1*Mqgcwo0)zMDVwmj>F!P}UbD z0J8Z*)akWLn;07~MYS*1_!pDzgM|t;UV67iF4E%pV_M2hPLFviH{V6GR*c<0lQ8^k zDQ$7>a8lpfR|BPFKEZ4Q^^Ox^TAy+D))oEj&sH|Vy4+F-W?0!Ld`Lqx`(bRUYeerq z3Mj7>xxLQ&Lu%(RV^br&I^fsePm0ig%dJxv08lJC2c8Ji0K|p<0G~H}!q|zh`*wfc ziY`*5jiWc@TMljXLA*|_aI*U4H)()2Uijj}7SP5qbe$qIl8E}2>=M*JiQZqP6m}Wr zK0gtuy^$bUbxMQdMQ2)#g(-LGNFHgwQVh%1TY`cq&Sd6C-O}m2D zhhREhStlwj9__M%)s#bZau2U6L;NPbFMI7c58PnjH5=>1XJ_`S3zrzt8eoHici0t2 z!f}Q8i&CM&{;&O-pyDP>jdO9N0iY(XeWBCiJfNntrco(v129efEgt{Eq}v{hnJ-eEQ$yQf z86=W5?xKwUzI1fL?T>_^wLt2Hb8&p_VVx#4BHjvJxPY~Feyh6W7Q=D z4f8w(8P!qt{zAwNBJCxx<3Yg-f8a7e5ft+7B z(*QN!u@&WSBLoo5>F+I-=QyLO5X)f;3{R0?yHMsnHi}V- \ No newline at end of file diff --git a/static/images/guides/questdb-internals/walData.webp b/static/images/guides/questdb-internals/walData.webp new file mode 100644 index 0000000000000000000000000000000000000000..2b8aff951256f5efd276226a92b8e1750c31f607 GIT binary patch literal 40356 zcmc$_bC4%nw=G(>ZM)0rsxI5MZQHhOn_afqW!tu0UHaYL-~P^v{o?}-~1`Bz3p ztjM+I9Al0-W@IW#h>B+C00F6q2+FI94Txf#AW%xm7^(IM^Y?DCuQGw#0RI(@l$-_a+S z$(4CCd+Z%yIMw^|+xK~R%=wagCf!tfOnO^+xVhNb0krx7-bVm#D{|?z3%yr>qwY1p zxt~2C>;>?O_-1y2c@8-Wd53t=>jCHmxb(jHRQNRm=AXg7NIyZpAW!0kZ{Gdx^16HF z2*w^f1yK5o z+m_qut@PyuI0AG4ej9o*dZS-*-XLGpA4+dx&xE(VTYl|;Z2;%UK^dR{;CBvw9yZ0- z25<)8eyP3ZUA@$fT=Q-Bn)del0e-VQ_+9m$@wNIM0Ac}vSI`f+-+a$ES9yni3xEK? z=U40H&Hc^|pw~m>)9ufe08f5#dis37{BrzazK*_(z7Svh0DyNs3_fpw$`|Cv&F9T6 zApr2=E&tK@9`{yzr*{lE2c!W20KZ4v*O>>t+r0JOQNYyKCjjuZvPHQAnDN_?`|Xzp z5Z0^Iy8!Tn7<+&QD7ZG1T9C`}@IIxmNYHqky;N6ZN+`|9b(=`fOXhm|T+o;%DnBgT zXehBJmgVMoj%O67a6i5;D^HPCoRn?W0XOzn{8u#brHD6a%9KU^3buQ;3&9a~ zR>i+F0L|cD*Z#(E zqDFEYYxM=eH|T6^X5u9r#Soo57NVpdm>fp?z0Cjc&3S|Ac9>%MLgBBx8TO{0wT*$( zOS`;g`}}CLQ2ke0RZz%1;ufANzIIr0;ZnBiA3@~bqMHBOorTz_S6A9;{|i-Odx?d` zk1ANNe`gy!W0e~VO=}|6(+h>r=}|*IV9PcLnqn0^R^609fiOoxCXq@O&w7o)`_!Lv z+N!Q@G@cAL`HKXps~fKIOg zMFmEMLtM-WKOdt1=5NShKVyJ(L`i0g5`qH@&YI&qK=l}?4pj_Ch#?3z^+VOC9H{|6y>NFOQ;!Fc{nA;IPI<0e8hmRF2Tz)W<8>b5YAh}^^bxP8RTyJ|5qzSH2zs+ES9yn z?3RV4>xRq}qVSlo7x`Wt{1{NmawO`9#D1Py&tfb3Jk4rDj`1Wiunv^3ryW|cHCd&sr{1W44lY2xfD=l^WH|!@(VWQv{1^3!=Q);B+AvdbPGa6 zhi#k++AV4&cE1X%%-n?iruqx6nU<>Qg0*pqXDKB zb(tT`Cncxayiju5$`5Do#!8p8&#>T+(btefb~{=onSwl#klcYN8dJ|)t?z?hs%07c z6-e46#nFlrNJS5;m=IY{>&_*S*hZ!yfwxVsT!42I&E%N zEH#JGptBnVsCIZZNK0nVJU=WQ~AhFH-YZDo<634 zvsr4#Lv;8)`F3!MlfqE$hEk2vZkCo3%L$< zq_u&^*;5vvu^4U;5q2Z;&jwjn2ktIe(uEGNJNF)iOtf!z%Yr&}Tt+RV}Z}#efOOKivZ(iE-3c(z&1xJ(Y|@bJ_ofUZMy_U7z2D2D52DN?FRI zuMQgi@@zIAn0|I&3{n5*Fmq0lKjVjbS;l_#$)Y7wTg)5aexy278lRKHw>$0SrxZeh z6kd`W14nhs2J6Bd$j7rLRt~d(Y326?MHY^G!E*!9;n# znvg!Vqhl?`}ei!9aAG^N3`YLBA`q`^fsae$1X}_uy{+p zEKmkk@&Q#$H5+-kzX>sezzccz%3>x>lC^#m*|l*G%C12zX8>TL29u#)uNM`I83t!H zJSLGhAwqe8Qk+o2M30r{&^KRz0^`lkGKO{Ul^@DZJ{><{x^o0tdgho~nFcC=-i+qw z;GVgM@p6;7DdCDeOr#s7myRw(utZ(3>Iac?1P_JL4W8R%;KT7?ln8Nxf2sgdeN^Uq zksZR3L+5E<=*JyoUiF*rUNuc7fS@WPf~|hBilj*Tn|aO2rcwM=8jk=2==J%^I-%iZ zs=yJkG`ureLgR4_+XZqI$gT~UmJYNE!U}Kn)0RoDi``Qve?--6TrJc?j05X3*$G_Z z(^H|!aCV>>Zz6d55fh=(kC2uYi0%tVmZ`+L;_1UeEDWic+H{ehEP8exEA}m0&Wt`0 zxDXQfmOEh`3kt;l3tj!58qP3}Ck__NA7|K?2u2+84#B>_B%~P9RBIKip;pZB-Qo`C zuZ}KEK#-Vdoq`Q|BYpTNnRAuW7{|XjypY2{NeEh|bl7HCAoLF^D^X_ojhZF}v41lc zP=slU?D+NeDLevi3#dx?sZ7IaR!jMp)a4K+5@lZWx(A$D(>MlD-PUk+cg*8RM5SR7<=dD!1Wx`j%9Vs14wT~GS|2)NRrU}eraODT6(i4 zP{Reeb^~W(?IjK3<`mjc`?GIrbJ=SOQ;@J6pyGwPAUuDBq(V*Iqa-Ycoz8uAprZI- zhig|K|C(z*>G|7rGHT1J{>>S9+ z)ARQyGlf7c-QWtE%1F;aRGv^EgBOQjuH&;~LH1#$}`nYoNep{r{17it=hXYYwwVA_n!J&Weuf zF@d;%1I5a}z!ByTRz!#q>F4kdD^BEQ-j06%1YR^8f%{XwN_$qmLxx22!+)E9Oi*QL zs;Du68~r{C*Jx`S)et~mB8L|U9iOBG8C-5uF9S8N8S+nuw?+9-VGK+aTRt3%6@AX6 zpg%6#j;2%b?6*UG{jVPEkH${iglJs|8A3z_9wkCQd#@8H`{dEqc+=Tu{%OR}F|Gc# zinpBn39w6Qui}2fruGo6Q(pn!mlWdIo_}Aus}Ft^m>Y4F?XoKN<#S)uM5@8eqTE)-FbjEy(s@51^L?!{b}AOc-+JA>t0T8g1^wmhv{Re^gMWo zoM4pcMLi#3xaQ=^@lUqv_j#WrpJnpv(()B`erD3~Ari{Ih2m<{677}4M^IhXP}lqg zOR$g`_3VdA$%uxCH`mi%^Nb=?AD;V(BTIuR40$`oK-zy;;3~vTTvd5~-lVd38V=;o z3OyHtXsjmJM%K57?{ z*2hyC(7?J~G@g;r=mq3A!C_+?)26Z=h%6~ys!L|I34X;9HwwY*QZ3H3(3u_{I+;h2 z{A~dLo&{)zsIWwh;X+scCv$-!o&OiDdipjLV~a323|amSBBM~!AJOW2;nV-UhZ->95B%_IBG|zXp*7k4hefe8Y z0yPyMbx18D+w&fbe;q>H>c*kg?P$5)*sGm;C{RasK1&+D0h$|b;+kH*l=J1i=eb}d zX$I0z4;_XsxXy}QjJhSLPZGZ*_H-Oh4E9 z{-oZxI{q(X*67F#_Q!{=+At^>?ognTwpXaNjmsm+k8Fj9mt%dHgXL(IznYW>Be|Hk zTkbqvC0`L+_Wx$Q2Hpks`1K-Om*jkYr-9DvB&Xaq%;LC_n*Q^7HU#Hiy+Wx4f;Q?~ zR&oq?R&W5jE0DB;N>-^{KZJM>h#vcQUZ+D}6b3Pu=?oW&u8axU^F$k~;1D|byM0p1?gr7p^qY_BU%z3Qi=YLU zUKLuB^R3b>~w=l&`>p^Mw61MD20cNZ9k%EBhyeOR(g9Edp%ox2 ztv^oM`p1;&=Z`5WoBwn~6>(tI_0KVpj~^sm*QfVG$z%?_@tG5)RK^eOvH4@!G-l`a zr2j(?)uOG3MLYj7Gb4>?U#G}=)XCl~*{_189BHRZzYvo7(-hh&-l+s99c-pfx)hXt zVw!!YcCQ?eI2;-^-To&<{x6Q?{%M>3$<6=zFi;8z=nHVCK4T3tkPZp-|Gj_*4!a4{ z%|wEGTkIK?rR=k1fmzw8_s`c3xx_r~EnW*~WO(^kV65IGU2ZKF+vzY7aVB2b*A>>g zUnKSv7iAO@fbou}BS>Q0V0zcB*E93(MZ@l{>{GBpxtg`tPsX7lWdfzFd1sGn>mWSOi?u~#Sf|Jkdky=659 z<&LZRI6E0!^_71|8&*IvA#j+`@B+*4zJqL9DWu6rrGf@<*$yJuSviKcY!kscPMuR& zyE&wk%9-)OvZ0*J?Cj&p1QAigZvv_1iOq_0brc-nz$oKDh(M_%d#2gW~;o2`p%fN!<0&|GW_9bqR zwB|f3r+g%=e!23{LR}{Y?0bH}lNvo|Vj}TlUYT(Py;Qkp!#E`OoqE;ox8Xm|Z?8C0 ztO^+0wenbtU+|xSi&c)wRYtvcr;>JeCtiH5v(nn}N0Krr5Glcf4Fn*qIDU{eElDyz zrWht-E%^5nM4G_EmkCKtGJHY%tMR-sJio2rdeJp%3sF#$+41=O^&zdV9<0Q)= z%X1HU{WwE)x(9U#0&tk;AU3^QwQ^G$E9&F*e>zyiURo3mS1|Sw*7G52>dFXnY@NE`VyXJB4c<#zH#fk1)O^%k1E5?T6oZ zQO#FKxRD{X4tu!`5N?Fzp#rn5RAdmAKoF)VC^6OhOZ!3B)ebw17;pq`B$1LgIpBu+&Zkx@7%28*!II9Zm zLEqTZviX-cs&GV> zUvfZwf0BaIK&zh1l1ba)mP6$F#b>bup_nSZ`dUH{9KZ^%tZcJ?1WYbx{OV?O479n1 zhTC~}0EliMgjE!|=Z453J&5cm7J~|2IBcn{0lTSu6|@J*wMs<BP_RLZtA18(t2IE89l3;IVE$Hd0U%BuvH<) zf;^j}vWHK}x`KgFin#&G;cyt`VfZ%q)Uzm`Z5frU(~5vMQ3@5E9GLwIZ|C+=)&%*q zeTAMoDj~}ZnxF;tIUnb3<`Rc=5TAq34bmYCyu6dH-o5!axe`ZPNUtPq863;_0+z^S z!ucemC3HG&8ccD-4iD%rD?j}Jyhe~$+H)}h#gwDKrlTV)2<(fk2fiM*Kx5++S?=_a zpCUw!Bz8e3aOB+>rToi?#^qyFic<-rn`Y1}S9n?e%v02YcrTj9@>< zCn1gWhuyb4>}L0OFJ>G|7&=?}R57xK%xqvIQVSmmV0d1}x1#7GJNKbQe%}g=^!2#p zER`>-xwbgAwaHJ5z$*#;(tWztvPop#fR6qC^<&Psrf&eIIapB)sXapnd(zcxpcP}v zUE`$Bm9hlS5A)Qa-bbTk^887vcYnhvSX?|OxvYkcyYKADLk3ih>wp^LMeFD*8rKTq zyI;4&$1;UKn{<=`2snFik{wCL6S$4f(VV|@IXX%*^-G0ICK*drCL!FYiH=}?g5T5Q zo8TQ!-w#R-bj`%*8?{Xea*_>eCfwp`%F5PWFE%))O{LQHS-8{}CA4_H+FJC{p4NCk z4BC+tuA-o3r<=}F%!+*jj}*{+U>|}%*!J^2StE*Qoj3G`8^3Y_B*n2X_%RLhh`YJH zFM%6bIFL8*eT!~YA0-PekjGL~NeYTm)(c*AxkrZxBm6wkNE@s;&(wl&Hmd1+nhRpa zOdtPl&f;Xf<%6KTH3**wm#09&r-Wa{HI3c#czsQ2oV}`CT_-{wYQ^52aOq zvt|t0eIO7gmbR}=ivC#VmEjF}eifyIi?`yk0Gi)JT+h2yE)dv4OZjGSe{FGh4+>vIVn}(yD?(-yI}juFO6dUH%_R zvm+L@q}&}BZl9F-iNIJe)S1EFKM2`wvJ6@L18BDDY))0#yA~&smo21E!1eS;9%8nV zbhWk?)VCV&Bbe$+NK@9&n^z*UBviz?CTk?HQ)@@^aI<9+cOyLpmM`CQ`kCbFLJp|w z4OpqUnb92x8BxFZ-m{}6q%74#$e{F5VWjVyGUpmy$Lq9pEVQA6W0#cO;}PIAYO`>2 zekT_1P z-8!hvBSTAR&2Z-I~Zrcw>qAOr+((_{W%up z#+rcE$GG=>iYDw>WOqBTOuS957{l;-cMV>r#R*GJ-$7MLi4gOqu9o*9J)@HfyZNE; zvCInfZ8~UwA4DN^Aj^f4yI&-{)>>{rqeH1;%h*xC40XAs)HYa-bI6VzqKJ{rpj0)N z%xYb!`P16fBV99_orA|fL4$X6W6CJ{dmC@~ z3~B$=FO%WYWu49>=CsSO4c`dK_%q9_>Wb_^8%r(!g_Wjhs&%*))0H|zp*&}Io`xTR z3@yYf(4?noHTY9_)!cnO7bat%PU z23avAT2FQHnn&+F9Stj}ruoKX;1yD7p?fdK!cHkrl4>u3sx+An# z=`@1X4Kx*uyPc^@#!FF=BfL9}w4nJOJ<*Vp61(@3Yq1}JP({BvWK)&aK)PcJwvk#NIn7z8oFd~tZFgGnRhnBElfC zStb5<=LgHCw1ww(-KB94e%05|rwu1{Szn~u#{C-M4`)vbXp<@vI3gqQfA9z!;Sxv6 zObd(udY=hoI{hKc5PP&w9I5ZfdRsXFL}Xn4Ui7g>P&k`N&g-(Q`sy0;JXvXtV-txa zMTuNTja7Wx^vkEJ;cJ^$04K_>9q=R&O;h+oF6H)SgTs^}8$0C6bxdHeOPQLC$ue{< z+VOJ#NKNN70w&g@-e1)f{5X7wx@dRnxoF!>ZM754!+GG?xZPmJ-66&Yt7ms8RT#&Z z<>n^^9AAe;Mw_$w1}S9O|fYLSqJDrK@ANC`|p)jD)Pxw*P}!tfH#x4L5? zTX26#@AI9uneq@|cQC}dkBnvmA9?VR6{D2xx1cI6tL;T}ZIvH1?8=;b-nQw^(i%6{ z1`!|rQVg~EPVQi4<`EdijGD#MaV50V;R`)0rbOOR`K2|oTE1MntRd*@c+(r(=s`S4 z=BnE^&%EN^D*o3op7j~gN_w(8#?QqBK1#9~m)RY|(UEUtkjkwxjRIPf$$`S5vtC>D zxT?;%!1OGzfYi=|rKXbWe7W2S2(cT~0|DE^RfxbCNp!1>lE#gObR4~=~J2gIcO-DXEX z#v=mUMsNC?bQSAW_%z?7)s$oIY&;)_Sh{t$EFRg{WZy&eE*Glkh+=nAx?MQdKtaW2 z$0Vl3aeqC}2;Guc*cx7--wBVKwy~sHy+uFwr`^{6oPel=7f%Tcok^Zk3%rj+b(j9h zsv`Exi=}fzFzd?vCXTgFIhli(E1guv|e57tQwMs5p|Gio}DLb7h=?U7@$=1)_-c6`*HY#!3|HiE#k|yFT@O0i2_|3HEqGYK-0uO z00&E+c8^jMcuvR9jj{d&>g(Wj4zSpAYX^?tPMW;9$BzB-y3C-{-lz_ik^5&O$n9?RyGcY?9JJ6kXCP{ zHGy~)y~GZrR4gvo-N{d#>;$r6v|q>@?oWMh zjT?ibDFDAafusZGUGe9ziyWlZ^33G0UGAeRPg4Kveh@s+*g&;?#TKe#(yR3f;HsokRP7t%?z^l4``??*$}eO_J$ zpi_bgfWkxNM_A|PIO5r=LE1OFZKkO(+#tV269@Xi+3Ls14;E0u6vMn_w2>wE5Q7&$ zqTw;5QCIFU%`)0j9`g#E>m>|mrNyisZNebV#vRZ@;@~1lMMwkX9Z-5PhPC=hP}8~w zW`)pJMNLz%pNr#a%+W^BKs%o_3_#*|nRxHedJ|FQ>LtMO=6Ct!RxV1QQ^r}6+L{Iu zB$w)$Al{sP65oV-SrWCCQCEng9lvCK2;9r@g_xjYMRL;GTlm1OiT6kW9hBdpC9AHv z!u(RFvyyW$!$6I-%j1$AKR#3Z*~t9yqaB03FwRQrCzsymmBxOLDRuh?P!7adJN(fz z-MzI!&e4IE5-qU?L`|KK*_J>xoOQ$bV*R(;4LgLc2dTv{SE^Xj=7rd93{^HgM3>9x zY0KM~=oo|c{*uO>7A2j~&fV~K*bb}X`!elR*?K9aYAyOB6g)2LD;?6Q?#XyQKc4Wt z!jm4%G#$@B&iNk~-BiqMnQ$E0}SJ86ZxB7!&c^4g}|)9rOlpe zKGTVGUjden@mp@1HFdR6gj8O(ux32SKNc3>#%tJNMFtETzAJo;jdkqWXDUbh0JZ@L ztkx9S&*d@0V&EY^Og3QOpE8j0{72uhBFh>=tejotELGmO%xLFfSn>q1Mc_cydfD$L z-C@J;iSXZoJsRy8pO3`zMxzVN3BT6blwhEqw&Umgz~~*M^dM#j8ER2`Xg0hbnDP_+ z$(lH3_-LUeNHFCHVmzUg%^;9D6o7NKi?(5!Q16i5Z}l_0OcGH;;h-zzflzcc@w6hR z1FoUsqVn)q>PkTyE*~n@LdmA3FWViatUgZ+PJgpniCPO3q=mj_<|Wyf#>%cFR| zdbvEW_qWacx`UTbTw{reDOx`Ws}{|B2NAQ!6&I%Ej*-X+mL3Y$U2(gOZejf}NQ;~K^bB^TYWknADHroR) zFYk`iC9O;O+@QHxHm*Cj0;nmuBjhCZ-~+#5+h{6-ouI>*+BL{Nux+gf#X4$IOTr>Z z>Asw`KmZ^nP*JeO$JBef?>Z*)jPF{GvE7-##3|Ry43x1=gpNF=f)b9~gr3zK^Er#|&PATktI|Y0m%k_>6PlTPt%6mE4Q$REs zXP7Ss)ZY}U-DI+;?)s7S!(p`}sbIJHs}UbT1=X8zP7u{^ZdchA1qCI|~z z$;Zymmm<*f2Lfs(_NS4jv7urD^K)yw2~l^oagmVMMO*3lRVu%?!^gMp6#6r-c{p(m zq_uz?$%mlxsiswb(-D}TU(T1@Nm~eV0F^eqzyQe&`H%Y0|DF>f@*S>893v$(@SEn; z*Y4|UnUX{Cm#qX#sl(|I!_K8{n>JpqZ=%|Ao*;GuQ~r^b?RhmrmTTs78Prxl zGRe=}LdnHn{0=q`6zYhZmdjgksNnVtF((i4d$GJlHF*rE{<5~3V-Dq5%x_swTVW^ssNpG0K z{!Cy6Y|02=iR^IGF-5$r9X4>igl!KjWE6#jd5G^kfb)5PZ=sEuS{x>PxOJyCY8Xez zhzZ!h+e4FdLU^8vNMrVvMQ(jxL0< z9?A*Ev2OYqIv6AYSwc%R!E;&mrMI6acTs3qHcA(#6=+ekgu5%VY=CA)hg;BOf+Tbj z{vBLg#yu|LwT(s-R~-cs@hm`CabvJdtmX$^oaJ-$g;mq!bbp6)J!4CcJH+X@suCnV zcH22M(Bj5ObPVY)Z17Sex#p?lxfa2`oR0cHD7?L({c&F$5K+$qK`1=cdSNwr)3}1nx-wUw8b^B3XJ5ei@CQv$FR{M>qvju z55QZb92P3E_Y`YHa9nSQ61weXv~P)d4v*$Bud!mF$WKb)^vJwbvUVY+_{DHea|yaTTvO2No2louLEL{V$1rNTNnLyI!*UT?cqBOAI8Ump*q7Wzmn;%>iTC@Fyyu z;%NoJy@pI@J=f@z8;>;RR_?OZ8M>yEH&QYzh0w#ZOK9Aq5v;)VcYmMeOt;G#y_(oZi zyMj5rpATgT=Vx`oSe2ooyixqAn;ASm(vZqM8>8>Hy27QdN&TrriTRSep;4qO{}zL! zyo?^;KpQ;1;K%jRPwMHFBkntVBmaWL&!-0!`K5W%yP5vY+j@4n_$k6Gb-vY&`*9(B zhcU_S7XSzJTcEP8oxW*9VY|r8;9Qic+4o*T$uPv+U8`4Y%Hz%+FP0*DMNfR%@smno zM}^WV)*#Srunpvhp|-?;!8KNeucCE%mL_(d1*_nOO%*KiTvxZ0tG?ErP<&Ev*A{`S zx8FUX%W@6xbGDeO!1GaeI@W1mIo`-ZOP9L&ceIUWcuBt*i{7 z!BOD(zDHD14(;SdVlfT^`i)ZHlz?!OqB0vlH|NwUMISu^!l`OOTP;d{pIM`Q7dW+f zBV5KdbpX)zetnbzkiLx|+?O@ZD>6 zq;p>^E46M$yE-g}O_4suQWh~kR?_dB{E1-* z>Q=*n;~|xb1Ugl61ddkPGSdh(leF5DDG~Y`)&5;7$@-=Jfn>lDo1@b^c~YO=*n>qX zv6ue_KISD+ANdifw^u2r*T7>44iGL4eT*Dn+Bxd514QP3DSX#=E${`VIX=!Al4<0g z1?;6}tVR%%4ofmz0vQZfGA}~-xGXQn2+2|Xp_^X4R_=MNRsMd#R_G;CVgfftD}3ir z%Nt~yL@QgWcF)EkcjYSVPZ(%j(xavem9>b-SvmH+cN}eQzLk-9Un&ZGS!NJn zvN>Y|joc(vB0&D>i~c4e=Bdm3b5h#PgPv7SMWE}R}R zT6I%4BetStlP*cRsUYb`o)J=*U<`jl;pk-DF-h9++;E3D3xq(e#v}BBgsAy+AggU6 zib<|`_?&(ZN7AR9@yJBD2Fwh|pDZy;iL~7!WrN-)G}7Pwey5SX;WV`!aw=cKHY)R} zuLJ4$h~9?^malV8hT3CB|309wg*&(oAe(0gc?eRGK>&VL0*OvqO7s-nfnO4_9=Nq| z1o!s)g$eOy^DBhK3(75032|r4r$o+P#ewgnA>dON9ARN6`)#&A(&dGoeQhhj*)tfA zpiYO?KRU0IM>MVTBB}x-|Dwo}oi_4Ae#%@1i`iT5mkbu@LsO6rQ2~MmkA2?mK+a`A zHHI$J2HX3xo|$HMSHGQ9lBdW+DI}V&hmX(sBpaJv5K1hn(9iN+TUS_Kpw($ch9sfV zM!_JE>~Woo->nZ;4>aR2`ADwS^Z@QrSvF8jd{_f>^r{Vp|;e}}Z0^Jd{KLEqWaJQtEQ)D^FfxxyjZVsA}6sydrjXt4kP2ln8 zDj&_{4KnDMW=~dw>yLhE!?U>;^uN?J1jDcMaDaF4nX&cy8ZLU=(+LhB3w4=WlWBGH zH>);C(C8_piW|P9oauUjaK8|A30yci?hrgbCXqsq?0}1Zx*+7PYd&E*0hI?v6!@al zzJ)S9$4|l3VAv0%qwNsS6We#=KvxbC?) zYAITE7JXUfKmfaDQMZ5VT`iJ1}ed?2|#wOqSq`C4_Ht8SSJ6ZD+y>iT)`o zD%%-nC$2W(fr}|RvsO^TbHEfpR|Q+_XX`dl=3zvnvqYV8K+uALoBS(P>F*xT zhr&t6yC#&x41>ci7A@%w>^brsgPh`Y>U7!UXqQ2~zq*gH0mya| z_r0Y=G5CTUWs5RyoE}7^afsrhtkT~5ZGL|(MVTQIEeZ}=ym3imosM`50mK;NMw!>- zpyo|bAbwp*X!yKO*gt|?*PPdjKbDv2u4f*EADC}0?>n71gzXyDc67U~#`)y?G zf-C;{f8>JtKo&_X&1wX*2UJ^BZ$f+7TS5V4#6Z$Cbo|#^d?$$Rn??Xolt%=->f!fT z(o;l-yh5UC)D2x&W_~ zE($Xdr3aYrKI48|pIro78*4Nijzsy&R8G}zs9Am!)*K6d1B9ns1ta9u94Cqri>+{8 z;NN*f6TpQx!s=@_zou4?OfkCN(3n&-^zwCvzRtp~Te)MxYUZUO-^6=eF1gju41+D; z`zM057Z`)CmfY!aQs3ozR8jB_4p#b@zgyaWEK3Qm%vgw23bGDu_-ZnNYv;&dDwYk&Z%tj=^5U?+rk&1MRH6KSuum z5^%CWz4{gC8$A(I`1B}yJYB)^SOT;&8WcN%>06% zF9I=f<#3BgX8)V$^+%8q4@L!}62f3aW=AlaF*q)DL=&P9v4P)lX-&{p!+x=!Bh`tJ z-wxR+F9s)q7G0$B-aVd5V(ZjkIYRqNe^GSKb-ITCYdmQXdIJ2DH3{d{E;jVhLOQ46 zGb+w-j`ykyCCk;&4P(TxQT{smDHi(WDiCHPOybnHSLIw%$eo5DA-Ku=sweg8E@2re z#?6dmiGgpk$8u%zEUE6<)+&)EUf&U%k0-Wmek>B$_3VnDmix9dY``fj#S2}e%o4kI znFXqShb#OrBnyldA&CPB%gi0~v22xOlQH_*BwjY+p5Q6?$TtXLi!|UiGUZ2l2*vlO zPY%hPH>TEkr_=}$hfyJ6li7!atiyT?U?o4?t}nxfI(C%8fqv)O<(2sxTto0wfmSR_K|6@z1NcBnOZ^ z+vV<*zctdSOyR=EWxTBg=c?IetKjUCQ*%{hV`w}2{J72c6QHlYh#07Kq$x_?eVC^4 z-JkA&n;(s0XMPYCL54xvct<6(@c`!4edSROClgC>G#{MG?>)eudd6v3K4kY&v;jYn z$lg@l5Ww;WZO4G`Lh$#|Q^^2+1qRR%1`17v^|f`DkTb4`5dBbd z<@*R1%9R$x3HA*gdsS=pMPiawnb|87N%B!?6{&ls(SdMl(lTTIqc}NjM8T{!UTEX) znI`GszE3D}a^#dbMvuwUVBDqx{geL=^DM?Noq)%aOjm+v1nCm5$IC;RvFBZEvQB< zV?-{kc4HJkUW@ejW9J33g#*iVm#wu-*>Y9vxWOR z^0d<(D$?w4!Uhha3@+j@|4o6$@pi@gN}eKPcW1HANh(u|WZgesP_CPzQPEiW_c!$z z8>prQ2a$P|j(=8X#SE^^ZWv5!c!*1^npav+)5Y-YSr6S*gp zV}b}*9GU^1L_ctdXOCuJIH4;tXj7DLQIU8NBnnn@_J6Zu3eah0!A84%ju06a{;feS}2}ggv4JHFV0kRX9 zKgG^~d0j$kbd&gL`EAbW5J{QG2?3g+7HFuBA-~1%Lo!(`u%@6wpX9yjB^i11yp->! zNrW|qoz`y})^VVaaeI}HZ0v$s5z8f{rZb-V_$eX(A2pn5fIc6g&rO`!$jo0HX!MvU zcY%FtW^&uQsNzaFu1-_aeoOR_55Rqq*S9^6*w9F`0oBAs@{_mu7xADs&S*=^XG~Vy zDE`17`9MHmO^iS&EJgmN6*7%B)1uBq{d*E`9rq4F{?F2@j3_v z-N%!j%jJSpU>H*!>yv)!x9g8w&aWf8 zi7lC>bwl?T0zGc8Qbs#`{cL%zF`?%O)k=_qK&IecD+QSYPv#^!zld8WQ=5}e-K$9@ zaDt*=Sj{>hM(X0WR`KcXaJGkA=7=I}lmKF&c%OHvB4Gyyk$-;Gu*S4x#2BVVP1PS8 zLu8O^qw&Z7PDp9Y#co)Q)*-F|zA-BcBVeJP#Y^S*iQwfXk7-2 z0M>X}*;kd9UzQCcE}c5q$b>)I3Fiq8&8K{Z>FLF+M(ArD*sV6L=FnZhbS?&-ceiMP zYlt#$6h+4D?;2?xElf&zslN$@0smNYv*N>!oD-45jaqhe)3EIl@{|h>i5a$HwDQEae;EF zo2_}w8*Yep)(n+uT>CLplhTXmxv|o0JuoWXA<=w?xhW~B9M(`5bXU{n9)N-#_+x)_vZZU^12|v1?B+cufi6o0S!lDPI?4@`~=J_YH_75zGGyL z!1&6sH3|0t*mUI9B~6~WZmmYGcT=4}Dk?qysYQ||xcurHM{k0IfEHzfkd=hv?ny2`;IoAt8Q@%ZKHG9MV)@O*X)ufxrR^4>u1x#3rE$p zE~(ut!khQb571zYl12)sL@hMv!ntrktYbG>JbFFET^;t05S#c(W9Omsz1YevtTNoc zCYqxL5y!C2XzUR0G!BsQTnHrm;pJ^%C0BrC>-P>tYJU?A-QcO{$R5rb^m=PeYloRi zyZTii+tzEb3)nB!p5D36aF%_E9$W^jXOcE^zxsm@C0Wh*Kg0f(!#7Qx-9G84^Om@$o64-uWOfZ#YXy-?U*WoXsXqK7BNh^!JkfcxtjS+@ZZ0v8H&|$X(0a3tG!`nmy+m()D_xwZ$zjS9&E=hT z;5b)9fHziHkD@S!#ORlT7%FC24Vf$|+MHd5ys7Yx;jvQj@s7Dy;u{9{Cd? zOw9R-Q*BghP=T8!OY)|HJ7rF+-&l!1{rJU|s71dfcV9JE*1^Z9s7V07=mT%c{u9wj zN9?|r4UTx(IJHKbPzFxBn2apHDdx#)PFmA;wbV)iMM!o0ttD4gbvwi&AQD+0-*Z|v zbp`q{)InG>g4lu$y9$L$dlBH{nnHD9lz+?o@?=SG%xva7sYazhY=ZFUe ziH*GnGG&jSLqCQ=>1uc}s~oZ5&sJm$8jkk&yX~aVBU<}Q)QusurP8ENvmRTs+OaG+ zcr-H9a!W9S6jRZ0yX#QeM86tLzHW=HxXpjsg}kaAg*5Fh*AVw1=G5!}Rui`Pbh+Ip z2m{cFMkuiZ*Z*=s8=}MwLzLY_^*2kK!6*b$d0S>B{gMv;NJ9N=6zPZdoOJ_t~i97hN?I=L3cuds_yX3i*a<(9hJo7uY zC-z=*`#C8+(&6n##-Fqa!6Hp`HLh;DLJ~TwY(MZ$Id`Ea*%BA|5VDGmVF2Sg=$dJg z^BE18Sg9B*xajb5Ksj_UCzarf!y($ebmy^%%`G+j-1*Oo|^iR??ZN^@BJZ97v54(PgAHubT)J zA=iuXhRJ9qxzpoF`FLsK0%+;nuE~|LkQbGwWQkUGBnfeRmejOJ$refywf)pU4Rv5x z(0V+lq$X<^IZOxCxW{ygo~iqVgw>-{5yOsOn`=gPl#Yj$kMJ5#r5jUML?XXh#NCh) z?Mk0f&26+Xkb)r1R){4I2chd`H*~RJXqP=WHInlZ&*MxU6zbJ7(+&X=1AY2?aT`wV z%J+W{TvkP0#yTidha|*I`E6VV<|b&Xmx*a=>UgRf$qt{nb+~AcL_4IN; z@|Oz*AeLvHHjU`VMsIy+MN-`Cdte*XtJ%;5Y)1;2xgwap2B7H_bEUjJ(16&;Byzz_ zM@lZ;UI~Um#s{Da>vb6F94ow9ZSJkFM)xh20f9*_YLw4Cw&qt^Crm zy^k64^>?;)-PkZ>gz}_3D6j;|V)|PMTs!<+yqeLtH%uaNH+pXLSm0M~dK=!Nk8sC> z2&-A@lJju6Iw^&6)|g;_=pj$vx~s$JvVz=W0Cx3eTU45%*Yr73G0`3p{3E-7UvOMz z>8pPlN_ii6@D{GrIPOogfxIw&Za|xfK~p+17C~bHceQky>Ne{<_#x#S-|QCAi6tGP zl^#Jj0@h;v6~$(0Ska*Y(&F)L74M06z0)a`TuB7qJHJi@Y|iS>2PvD zky*2XN=Vfta654BDXM{U8rZXQd-Myk%1c|yA`S)F{9}}7{RPC*O`l-F;U;eoj+qq) zML7H~gY~m2SV7C_k%t)YHF-rGH0Z*ZLAMQ&M@x;#JuD^r__c=5rN+(E{aywOutCiJeV8t`z<>fp<^R{kL=Y;yhJWtsILw@%nCg)o-OFi%B%D-&88DL{wj zCun8|tq|X~*Flx{a0Mguhf)I1DMJ3aX5WBB0jm(Tl2r4IursFRrpe6oP1ow`%1*qP z)@{FHQ8Rl>pyt8iv%WVHZay9!3+xXxGP74-UI){vF3OMDV+bVoRsXFYdr?>{^D>D1 zexm~HuB?)MnmGK-OCJQMv-b?Y@)c{rBm6d!0VGLqAix{*%@O*+SP`exbZg<=q$Izj z4){%fp=$||w+4Gke07W0=Ke9gf+c=`o{!sx-Ae2e9=x^Fj!7;m%l9&@qPo;ZUOWh- z**XEN78DK*nSzRRbt@*VXdrI%Kv(7z*t1`s7ngqWUF3tAm)5X0X(JnCcOB*qPG3v4 z0I+^H=j}CTwsjG~J_smDw7y!WQ_t*!5xH4WT=oL2r{=pG`;^@RexF7aQ^MJiU& z+erq^;|#wMjg2l-dX{@V#H~N>zb>ijBL-6+PUynFD|j@4svO6!Kdj-$49*}~ow>)x z#BVI3%ZU*^kBjMoOCs8?8~)%g->RdX=-_nA74;S@BqokSlg2ykNefk&{2ts+Ci&ck z6!HLe+c?eu!sWpLPZ0*CA-j-loPsI)zc$-4BhDm?yycZft9g%qh<=kDopCg00Fg$W z7y5#Z{nVe~jG|;Z%Tux(N6Rtq9%8~iozd36k4x2BZt5Dqly;1jFU$5dwI>E5;&sgo zg@IVv3gz|+?M(0hjN_)Y{N|ZJ7g)^%O|{C&sZ}Gwim9>g$eN0bJ9(G)vmgq0j4?hvMm@mApQsv5jSc_E=i*+V|fVtfU5cS5r#TV5vr*PFu)pQ*YSsAiLrRGH71woioxxI6x^ z>@?)H!|VfTDKst{sLS@f1l7%@Ng#%Va$G`7L#uLpa#c}O({AovsJd-`!)Rp?PCZ{6uzUZRBuAy~?2T%vdr1^n_9t_h(oz1cScymETkPOTp zaG$19T(mw_(Q{i4SW1UX{PGFHf+_KVY@XC^h@u>#8IBlRt7+f`#zeCUd$*xJO44mU zGK0q%Jnl~VN()<&wpt%6yfl4IsX#p!&puVs&y{9GeB~xZzL#;)-MxKvnMB72;*!$R zz8_+25J1*^aFp;jx_#Qv9)Lc5PsaJDrzA{$cmGCQ&o3?w->iZdct76 zWkGLmTIeX48Z1vZOIokpHvI=H{c#=F7AVn|`+)kAycF3)u-gS;?mPe0mNKVJJRMHG zGjA4GQs2c9Xoe_vtHUR4$kJC1meZr*iS5piQ#FR(fY@}Yeq*QR8eYd~`xX0@X5;|T zb51gvr#q-_lmBFO-;q|l`-B{x((b?^(n*@{PeEpKlI|btrXM~T3@EGlON1${u#@TT zl(ZB~m1t~i#bw|*BM+uDn)E?VI+y$bRG)Kfx<`JMi3NC3C7<^-BzcFWzS)(-ll|n0 zHj-yg=RzqbNo76KWk5%g<^+bbgtbl)pz~x)sBoRKOe7jHz-#w#T&uDl)J|bTIX@Tt z?%$M#`i2*pjd|2KnLw^*voOjz;XKjR(OY&h46cZ|L`mPs7@|};J>TK{OjIIjrwkhr<#U zmC^wi7CG!jl2Tw(#xh(ECEdj>vlVdHYTL}V_VR4m9a-2`6)m|$_^s3&pkW#9O~FaH z+zUiDuX*xrQ@(>!!g2TX4db}wbS7D-N@Bw~h;#Qh7kG=1+c>@QW?|dT?Nc z$ns~r_Mk{r6z!lrJVZylieC))HWqX{rYK9q(IqxIRQmluBvY*mtHmoU6g*gp_k6JO zsO5=%Rz+DdL4=I*3KlkSQ0j-!(spV*n1|?DQw%S_KyzeW+k$%#M^Ws-9llTqC;>x? zilNWQV>AQDvCSa%86_xd0 zS?XEZL%b{Z{!W%UHxFtSbbGa4xoHcp^Gqv-{@6o5D%9|i$NsAA+fUD!>@F(=H^Yg$DwFsgGlA3H?vO4HeVrBa?` zW$zagOvxE9zMJqxXtP>AN#ix{4i~J$7qvx%vk6kuM)>VH&xLlb?RooBpP}}~Tn%tx zFKO{DBHipU?xLvD{O*CG#C6Z&V_Tc3*a8U!6Ajto9EI$A~iT>vxNLLBnByF8TJcN)Wi}$(0T~VjsLsXdR zb=)T=*t=<^Mxc`DM2tcY@{hN#i#!P$tzTCQ?cH`L>k?EUy?T1Lx>VA}YSS=3hZin^ zq0(bGkphmau*py56+Y?FnSx5Q$plyC(l@+X{E7b{hg%%AV5PoV{mBdXgT_xB;ldRJ z&e_y_|LX@A$@jT>5(KsbPXt*$$*wh`4#z-MIXk=pEyhTE3od9Xb7orZru?fW`0=|v z)M}bCbT%fbwSJ`IxWasz_4X6ZPkE)^Jc_`4jiP&}1m|6tBQTkCEA|!~b-+M-E3jKD z{{enDD0tMHC*%0Pm6aZ{F2f5pD+y4a)qH}rQ?8KFD zv+$i`%`iDiLT2uuyTkg*(j!Hi3N_VW1ue)|@>ys|B9UE{T->Jq-t{3WgkcwY=zrYr zgOEPSG*&Q|;I5cMMSk-@#_Lj~+&ZyWOq##;Uqgu{&^XJU^G-6!^#yB$2zT3JSF0ap zL~aL*?kWNb8vF;(K9^sJ=Ce7!%DpiU7Cf*VMP+XX+gj*)V&pTF#HO8p&Uh2FgVEf{@IF?L7TE+@8AE~KG3E=~W zJv`4Gxme=qj_~rHM^MK+Ipnn0Cg5`>dzR20howwZGbla%x1wgL;iVpoH|i|awMy9s z@q%BA!S&u!&{f{vWK~@g_N=SU)Bl~8$shE2smA0B(&|Z_g#%hzwjPg4T?bd&zjL^g zu&uZcboBf2X76y7P+No{g!qcY;O;v7Zh5Ck8mJ0|3mi>g9~_;VE0v+yD`V04hI z0Mph~?*m+{CX2EA*T~CPm+yjH#u$!TJTK7iqfdN`5a%68fN-w#J45LBs9${Jyd(*X zK8B3O`6tQOaKKbhb(L$>C(!v`An0Vx~wD z?`fuqoUSUaqXfdY%OsL7Fk$yy!u{jhyxQ&+h?Cq+tJ% zZ!*ZaHM!>h1yX(plrEEzZCZ)45!#8)l5j$!u3zf5z7nE!=&u#Y-rF8-ODab&faxeJ zQD!oHCl}Rcy*|V6FO*(sw=rtOp?w6cWY(sTpp$lq@~i)2fWW~EN8t4WOyFldnhnM_ z7(ys(1Msq|BA8H3ovaQoe=M?( zDRWx!HR21`K&#OtHp_7G&4A>pGs!2)5ga4_8=?=02W#$U7)U%cC4~z@RM~dHF)Z{` zzu~ZSqjqQFKoW7DEJK&m6U`lAKIA0REcpRF-rlxkrh5JT=7oMo8w4JmRefg`>D_M; zH&SI@5tBj1YZ1M~vLQu|{dWIT>nn;^+-Jgzh2se8t(xY}6la-Y&k>@Z+G%M50;t0M z5t56Y#A(fQ*u5&027B?Gog5QpS<^9mJ12cQmT3lJOKy;Gu!83Zz)uC~1~h&*NV||>{_r%fhs#n@%Gge_9uUBb1LY33nOye4P0V*BfGTooDi1Nl?be%MLM9TzW z(1R{--%&slP4y3EHG$aWS^;1tH|H>u{B&EJ0jVM8Rb1t+&KS3v(q zzXTBnhu`LBH8VO{QQb8ZrO8s&0*)oKe=M0d+s*<_o6X%k7)zbrfKV$vgH%@NP!P0S zs~3FR@J~nwv$#5j3MjT@*DM89le~jfdN!hh%+oV)F7!)kPVtyQwD+(DzL z-eyGc{E3#(`fF?>|76t4FPpG_Z)K9#)&49~f-eT)QW(w;0s~IIM_we)R4q&^57%Ud z;Vl9@)ebWLL~eWBrGW)qody0a6r;C=E^`YqBau%b9Td4kFbLXD5|m7#0nt2Ref4s) ztlGaDk18G5SeZ{|mTC#(9{+F*W*dr;y|5nhB#(=*+6P|HMDO0;iAfHM;etct-Jk|m z@JjJ(w!bQ&xai3pM6LGwRAo|wo>PGo{*K=@F$7F@oOchs#}{>Hvoj0!wg55Rl-smn zi!q&J23-8vm8H*Fr2vc1?;&}o2}Hy>DSkrDFQ#{615){M2y2{p;@U zkgs)hHmch2+l`pA`7{eGC1Jm1y6`_8xBx*;ywq(l#s6nqc;biY>9&}|^o6C_S|E>? zsg=tKBKra`_i5qW0624YP??C^!RwZ4c}_1JWp;^67NC(BXECV!)y(Zx-aggA9m|t^ z`GkyCeymgEGeGVrB^CuifFa`@cUQM)0xQE%MS%uwcDjb53Zss#Xc9-i)-qac(70wN zWcz;w8(6>-%^I4r?YW~I!88lq>}MJ_{~6Ms;O5+Td!kW$KiK=5es4*V(&`2u0k}YG zXyW#V*qX$A!4VC(TDAX>9Y~zBua<2%Q#xr?$+vlt^(bWKw#^-=BbcN^f#TpBcycp! zKM}!uSe7-`^iX>#FSc)5buu0l?Tg)O@sZx2G;Ug=E680XiOGVE+EH%G!C8qTySQp(z^>?TRO&St37rbErOpo;nqQNM*WK|ZM5TNNs&$q}4D%2rho~!YVyE27bNVBR z*c31^X4s@64FYI;eS*krg%sId8!(>F!Ml?V{q1L}qINE-u%0HlCudZEV)O1fT14eDt%HPg4dh3E&d8{+)Rk;5JP0TN*&FzpTP{#y^`zG$y|FSJQ?exCVM%L@s0>tf zxz8|liRYj_lPve?4R=0GmsdD_*dsjNsx|S&_uU9g6WWv-lR~+tN^~KBAh!jPVe#TL zC9~;%1t#E?Vh$ah>2zmNY)y!V;|ljWGpBr($G&Sg$YDfJhobMee!4=J&dn&%gx zhqV36^EPE5-;<7RX18@aU!DSdgwVjR#A!}QnFt}6CNe?DA~ES9)}$VST*d&BRHI;$ zvHJU|Y-11A?Rk)<{l~l^R?FY`QysPdk2l%c3a{T-l)^-OG)UFeZdlqo+5=!`wnY5tv`mT8gli`} z!%wSi<%{Ccb4N6d!9@7u@qqWMpom((ql=8!_s2JvQ~&OyXO{ICtyG4MQ2Wyqv*!^ylY8LW zLEQa}NQiw;NQY@Y{@$J#4*7U=zrh&mIud>SdoZFQ^ZJ~0yN>t^;s_NgCN8XHN*!(` z54DgX#Cm>y(&$kWUiMt2nxM=H;0Rof`fhnZ7fY7s2}YI5qK}nXyPy6C|H%3b4u9@; z#f?8TS`;a1TC%VeLwe-bLHQUcQaIJSiIW$|jJsOhG^wsP`_*8z-dc0eWlZBIC>13J zvNEZ6uRsTtC-PzNCzDexipCX-W{2H=~K%nI=Ua6N$=hTn9Ii=iPetI#_P8>J~p{w;@-61gUMRzMUtanGr*&cFtrWtUv;8jYMGTv^q`Va+T zr3Awya#Dnq5^T8aa+_GCWsLwy0wwsz4nUgqmJ6y3pFeI1G!^#viiikvH6q(`#s2kG zy1r8!cQevTqyu)g>U7e-xhO}2vDb(}r>*+51{oON&%2Mc@T(q#)i4f4ty7(7?eP=) z$Jn4RDs2t=wrX5`^6IG(>UJLDR`m>pjT_3RU#t;dOuRO3nwdlf$D-)s&^r{7(>!|o zfan)UP?hi%j#Oo_QBG|>ZSzGu8(V(UW!U{euNv=9uCoE5Ta7l&Z=-Mf`vAf-F&{j6 z0ImRp8CpGPc^N&HoiDy$Q%M}dgEIh}4-v5g9Xp^hGeW9G4$y~Ny}lp1#hq$G3x$>O zQ?{v1Q4fXs^%~nyB|nIj3O%1djVt(!)%Wv=tkaon=&u!41PI9YPqRyl@BREa0CK-T z3Wt=umZC+<;vW_62$9L8a0{O+0Ye1I^`n&us%Uc4eJRR=1X|E|_PoaTweb)3c&<3* zZjyr>!yy8u$kaVzsl>b^27~(gedc+4yvRz}R7~4hP)XcoffJ5S!=QPvCeC_&zY%$= z=E~L36<>}GQ@Vo5$9VP+`f6bRNjh(lL93Cck8f~6*#N@wD7!mP5X`RHxAduu4&!)4 z2Q!fyndgTKH+NfZ+BMEm8u5pO%6s^XM}qL;5K%WTDUWZ4dP+FE|BO2eLF59CltuTZ zfdwgGgiv-{-Ij>?zNsPv=Yn^~T+O5M;C|#>uitGP!&>AUiqy(-H-zbbR z-NDw9)PF`34AaxDzj z$qsiCYU_tNiVRr?VZ9U!7hbo!UNun;MiQS0?!B2oY5*eZbSEnw6?K7`SFqdDz^MR@ zj4+rP3=ti$-ahyIGEgqjRht$cHi0ikB%YJliJ0ZsWGF{PdvPEy5ppNf|=lzbEQyH+N(g z;FXj1AO4%Ph4AUj74vMR4Yr^t@KNj&oLeqclo3LwPJ?mfswri-&);nOo!cDfhAavt zQw!2{3Wb25V761FghMhAPuPndaBNFXK_82G7$QG(2+igLj zp0F!SoL}E=H07c!g7UvE;-KZyk$$CKl9}|!+Me&al1VS=hUL_TNbm0AI7&G5e-A7BZLvs zgi6R6fEy3$UNlMNYyP~3IcuG4^j$frTR0DHbHH?Dh$yCfQNz6)z}{wM+7-CoyX@Ge z06i&zUKIs|Q2jZ_y2$)0^BA(YF7DW?1xjJSn8FUW_ucp>2YI16RTM60!kJ}m5Gf@~ zh?(Vk%oLb)Wj_E!;a(o${4~Ao=BDJJ@*&TBf9=f~tz}4g7a}PP%u(?0-eG=EUYJDav9S1HPHEA6P+3?J;@m2ah(NglFxBn zviM&^H#p_Vy??D_g|*gGbO@HD2l&O64j=Tben+|2W6b%t*9kM^%tr?JKC>uyec`Vz z3p=$5)Lw12oIXgOWAGyotS|z!Q@2hS#4WXv_YdY_&8~*SVi5`)Y{XLnbK9=xq3m!1 z%By&L!dq+8s*u68CYf6+Li-&EuFg>aM&mCc>(`x#Hb)1B9m-dzc+8q5S-R&OE(H#* zv+M9xh7titrK#tUEA^dp&d`i?io@V+W92hGg`V7Lr>EjJe74Pn&RR9$Oep|pj*|V< zx}`gjZc9$TxRhk}nu;$XKUJ(Iv7MJl+9p>?+lJAEu>j$vhSUPqI5e1)S)&u$ z1$9;|GwVPDmp`7VBDV9i%@O@D+#AOd29WDM@PkPsfJ#UU6kY~%V2C*r9O$GdL*}0L4 zO4E6v`>kUp`Yow7xLQdqCr^{`a~Gsx`$(XzCP>C(Kmxs%N$ou-l)Nj>GR!|^iPxtU zvJ1n@1FIiG7Tm@F0JdX@v|bex&IQI`ERSe4$&i# zPl8Ygq}fe`Mcnp+Mm;eaN$=m%u1MYSjlajk3ZIyeOU`5$p21^YGNgIfN{|ibu1OHL z`fBlvocZ9G)-N}^JHHD_@M+lkX~$(W10N?~zc8vPE|XmoR=1)-3?bl(7u*;~AUB1i z4dpo|0^ob!Nf<(O+QTUY#Nt>^qaI%K?=sigN`%;+J-9~*PV|wIYo^V&jC>Uxvp^~I zlwD^{UF`Ruk(s7{l;!J7VC~rhyitHv%WZkwPAGbC`?1DS-jNJ? z8`>1UDVh+9*jPdl()7EdTgtPiXOi;Sb^n9ldRq}lIDeqpU=$DB~%Ok*NG z%P6qr)@U3%R)tkA%z(XtVEIW15E}UW*(fe_GwUcnmn4|W%34hNm`9S%Xmy47Vd=;A z`-@s(l0PP4axP1$ZkTHX=rm62^(#0cj4c(?Jx3R=xexD1#;#a!$|G@sXK2-%eGRxNltIeOdiy^-{LK#5jEw0P0`SPDx}lV79m!4gi)*K+ z(+gwr{7-h(Y@P2!@?}h(Qb);xEa0VaFB1~1gsUrLq$_4a^O?1wirwL7zaSRO~6Ui}ft)9VmLqpNKb-^Y;`l^&8PwdRSvs3)qVb1)2XpwHR zsxWxG8ci!I|D*TW&9@&E{($U^g3pV6LdH zyNry1_RaINz-KO$4#Eeq4 z-b=D3{3&crQI&7}BtgB@TMcA7mMva>06X`!qX7!IBrgmwc#=9oOJ~Pua~k9g0PfcN zKMx~h2nrfEfjMvc!QmbK%LX-1YCK=GK{ST8q^DdmWlb_16lcPkl5r6 z7(l&m?9sv^L54iY*jNLFg+OpmMrv@;n~LDJxrl8%1plgJYY3C)M*z)W7EnYnezEpe zZmB4w{u{Ic-(u*B@zf7S*jI0jtE1e%z9cBILP*bOjh1v7T`xL?XFZO;`OwC6xP41yKkJm1NHAd?l0mKZ&=2Ts6Xa)&DRn9 zuq%L8)W%HPC-g&Ml{e1SSOvs-#ESMD2gnwGQRRa2ehg_3t!bZ!sQT8EN7-Gji+tFJ z?s#+o%W^xw>4UyhTe0pARKs4={1&LAwbE3sq9LW}SU%inY#|h+f(y z9=(pB!N6}s^sf=jG7)o61CRjCe02(;nl1ad5;ibnqHWUm9b&RZGZ%UIA9%dF*o;J+ zkeb7Jf4@^THhyCt#sV(ykPaP1fN@hsJFs-+f1aNjzuYMy2ATCeP#Ee;1JLFQ*f8u_-QvJnu}UR& zYvF;6Baa89mzfG%+&mpKO$TD0Xe@ZeUr&FvmtO+xOMOR1xb+xas(|`aVcK;SiL()~ z--WmN#R;vh3+mkwZ zta4|L-MKdw?uO`P?6wSB z4{5+!u{t43qc$iSZK&K{$_uOnAoQ*050L!D+-(5Op?Ou9Hp@y?;Q7A{#`+1*pk-L^ zNM3z#&O685Pv1z3qSm}Z^<0N$PkZLqi(^)8D7jB0egzrynq4>#MNis(619|LPRxqz zcK26t*LnG}94^9xv87pAI4ASO#@foYOy1ba{jR3(}Q9`s`#uo~Gw zrtY+;#w37?$c~JbkJZ(49Lx0KFfJDp0-&biAHy5L}l7&;P;ND+~DErdEfXPL*wy*)zNIkeROmxf>bg?X;cG0aL z2=LYzwo^-mD!Ri3>(%hw3broMvXnjw!EI0^BvaxLrw=Oz7zbT;Mq65Z2xqSU6_Age z90N6X0RR9xJW!*=eC99(O5}0~;5|W@SchBo&b{Gs=q4wZ6j-G}&8ENq?OOm;J!i;4 z)e8fY1Kk5@UMrDkQ3nJ(@1%RbfadYFWPgE{z$o@8Qxs^kMNnAAs;r}k47S+}tKd9_ z8n}C4Ug3~?(ySgMOv8xNDQ&APqd|K$A7Lt6k;+rbRX8_hHxuJx)s|n`oO>^y&iWFp za>Kyo$A?_gWDh>*zAz2!R~OQzQn&%+iK|3^Fc{nD4(D6-}fSYzvz&g}F}n zC%hPCmf7KU!bvWN3$_wThEG7;sy*GaTmy}^Dqqez7?Dj0fCDkxejo;XYkK!dCpSgchdkUKo5iX5I6c1qv`tbB`8+*x!_5)68f) z@gq9yww+gsKlvNeuD`Cp`I3M9K#lsn zuD@1nZIha=W5+xC@Lr~unCH}fEVzQs`=>J@U&HmepudiS+`yv5gvZ3LTe^`7rq{c+ z83mk}bEb7bsnZUylHUwrTy~A!=o|#@qZN)C;K`_4ST%CW_OhTohrx(4eX{c6mQ2g-LI#ct?%yusZSX?kD6 zxNU2EHBX#ut@@Y(oVR0y_RtcXp}BXs5htH;)p$eAoDxr%nfou3Y7If#+#SAWf+O2+ z_R#r4DifY*?~oxiz9t#3y<4C$9IgQ=zyNNuxsi?BrQTsv*ztvusu(TaTOlq+sJn5z z4H1&EGAT*H#98Z&QRHKnK##? zw;y4cz>^mmK9hMi~uikhwEQ; z{KgqIt`Ja#tdU$3N_yq%4i_U;UY>3g)3hJi4Xo0yT^UNy&z>mPj{ zolz>zF6A=&#BOM_qg=KCB|}6`0hgYzV|nww0J|j&=wsH|NXGD0$gPx2ayCT%*a>m! zXw7aRJjd5<@^MR++qT%cVn>D6(V(mA9cR(hs*n=-a~)c<5?etE;Kowh!YwVBvEVCQ z69??QkWlyTYMmMtF;3qZTBr1)O-?4R%ui>uwq8e1mXglS)3C?PQ{RllQgi~4480hP z784j9F|2BpA#{GKj1r?%Yid?6>=`I;0*wMeWGTJApIvEMP9-$NIh8JEnm}z~ z@FE4l5iISZzs7Wk6kGq;Zu$5^Sv6|D*;)1L>wKNwy|?PAAy>v6kCu|A=-EP0id$95 zlTs`Wi7%p52IC7{)zpWMn4wq>RH5Oh5VfNDudtOeObo4WQM?x`voyDOvA&VWs%oMX z_*A_<2fNQ2)3Hnan(b5hrK_{Spba-$gd3k$Ty!3UWkp^Nnr4QvD-WOE`y4vJs~LST zNHVA%Z;K)lyvWXhLv6u0=BAc@MFNKozbaHWQGs}*d`imPWdr^BZ+I~>+8JM97Vk13MAX@X>naXs_8j&hDA=LjmXg5MpYKKd3)bpT{s?HG*hWE&xvq_Xz54%Z zpV!?Ms0&%l`!p<$OG*&hWuUFFu<%MBz=Hj1mfIaTV%=YO=H(wp#$2)k++{IB5Jwb& zdl#K8oZ2m)Zo}RF(OhTls>QL4zp)butm7s-2Z-nYqkpEpeE|RIYa;_qG4$$&IGal; zdwGY2L@+5-qxm~x83TPKz2m2=J;R;xdSf3oBN{H49n`0gnF5&UX&V1qmgUSokb&`^ z*%i95oq!ku(2lTVt!r8abAoX$N%8NwkRaeAzB`(mB401BIvYb+jg6=4~oAbPF6h7~3m7$+g zWz0Lq-kQSZ;k4;*1!;!tc~bP7SS)Y3S35yYX?7A1UbpfImcwzIah^SHfPC8XNON-~ zkoUEbmR@`6Aa7pQHLCj8WBLfi-;wAV_w?_&oJ}5n>x*J|9;!xdrXzwZ@Li;RXEjlQ zO>DmkAVoW9nR%N**&Q>ike()bw8s|@#2`lnxBMyA){wGWxf=%~1F6hl3Y3#^j6j%7 zZ9AJ%CVnLM35_CHvFi+IfO+}eG~E|FGqlF+(Z-`){A;BuFXGAuT-nn@u7;mqa!-7N z33-ME6I8z*R;%zGf{u>>pYS3fZiSQxQP!f2u%SNy%U7MxBOaOAuu~(_AWFzW$(H6Y z1xl8v(9x@u^AH@_09QB15sfKdWLFkseK-3S1el_U|CKlM(njAi&2T)9tOO5_A;~Eg z3weW1`N5ZSpY);wgl@t$JumISy&Mbu32`H!!n`)JnE8t+Vhy+l0XXZW9B4!ZL*C zjvno96ND)|MO@d0cZS?Nb_Y8k6=Ui@y=FXL2x-_a`w_@-sevn6Y)>`6|KruU?pT)n z>Ai_Sp~9reoWg=Zs+ay)FvexjgaHLJtcjmrWOVm^;RDGRQShzHzPOL=p~k<>7)*2&4%Msbp9H0At{lHT(&8XacpJLvSU4 zlg4A)$;7rMHYS>6f)`9|TQ9b4+cw|Cw)ryg#I`fZ&i?nXhduA5tE*34UDb#Fs_Xad zeR@mFk(Y4lDTTEfO$t}-t47&px1!vOXXGrwb2*5uH0EbmzR+&)UakP^IT-rRhhxvV z){5I{55om4r^M03=OwFbOb~_-BpLlj{Izy=5*4eO(;`!t8ycE@us_`r()66G);zr+ zA97MJ{ex)1QoO)Q_iM7h7ARO8Zyqy)#z>@sW|?=;xom+gXv)p5laG=57#$klX1%yZ zF$ZEr1T(D5k4ppDk=XyyW|vawOLIwjfCwzE?u!(p ze{#+-WKoH3R=o@wnnc0{a6j>LY3adLnormqmdCbjM`UG>UGw;2TzoO7UQLOf^3XC^ z+hd;i!M-f2ZrU8N+S2wE^V(S}5J@K*Hrr%-6YBEyILk%4iEL<+t}bZf^0n3rV(Ce{ zjl0IVZaQ4;;U+4EqzdyC>{}hi;LDS^Tk$kWq0lz| zM}u^gYRUdXq~eGjY*<9Dw*6N4MRMEopm%fA&x7jzJidkJk!*t6YO#N!rsU$L5{xUR zOZ**=5h0+cIC(1o<%iChej~swCZGAdeRdU-n)(-EON^D`a%Wkg=KoGnC1%K9k1e5v zygjmdtZ0z5PX%`UWkq0P?D8gaYLluVC<-a6cRzb~xGL~HrKu=uL}x=3tl9QKm z$TguJ-H`X`17y|N*;`d{wZ(l^O$r~{ z2f4l^BwR$ZyA!I%y?{{z*?B4}HyJrlcs@vxEVFO?A{T$WGJDE{$_TSBxdUxdmJQ|3 zFgAsx;5Nt^9o$P(L$}k^B+`fN&Pke>!_ohlFYfiq&c%(Zf2X< z5~%g@5=ngY5-meCBe|!Y=dTl%gnSHwc`kbN66MF4 zDECd&3Q*WiKl^#nZ~p8>#Ob-RPuUI4LM74Cm)wOIBNJc`dKkRPVu76e`rEfna(pqv zPcoV&v*s$YKUijqmDY-Xg1Mt#d1)*P^LknRIN;mMVI=YG>}v8=b1O1zYXB#o#eI34 zS*y-JJ|XZ!>u}3d8h`rQw)Na@P88*9$2DpPbi6x-`qV~0nsKuPUPoKO!Ys2~8p44{ zKkoqR(HhU=Mutg&LD-S}K0^6O%2sW(2Jl!@u6G20kheNnOpH44O^I3s&3%a5bpO&9 z)u8|7(Giq<7tKe9IDfgDQ)R@4-cQbLSDX^BY$RQZHrx7fdHJd68eRV*K&GCQf7JQJ zOM={I>;7#;C8oTJ{}pm8i$EB!!4bVRkPBSEB|b8s)l(yUCp+y$;96Lq0vjVksJMg( zJt4w0sO7}8bRiL5%SWfdAbTC9U5lsK1T-_XBd*lWZWyufzrp_W1MkK?(#WppV*H8J z6@5jswGr2KNqYQ!4|d9U1h~}ka?{c zsHo|z53fuurKzkwz{Eh0o`RW3(7&l=MAn4zjeY;|Lao(TdhD|$dWm6kmdEE$GI7My z&RJ)S^{FytF~^b32}?C2!#qui5RnGeXNVZ!Kgrc7oR6zF3x&%|$^^#_(+C{yic5{` zF&%>XYW)%aBVwgvA)=?v@z6BhiTRmKRrBd}-`|Og-f&8owOvvhDzThZvUc>uHa#50 zq}^0fdC-Vz&Nt1k-R#q%&8Pa^z1}e+-v_B#qfy$>EO6#-1`)#hLhQj0po4)AKiy>L z5g}9|7E~IB_)5Olt);y%jSzy*6R9@+m*Pgf^48xN@!FfIHW?^VsI;OLSQMx)YgvY(O<5VW`xolB)HR{sD zeuE6t!!i6VVn=BEaqiZjxXYlp&~|tBPGha-L#t0bZj*<2YEp+Be&pbfXF8 znq{=l3`y`&xj#5G6(i6ab2~Gq&)ju1rqc=%uFB6E`|zj=SAdizqiW7?N7^YNMYoMB zh@r82(?c@r5W%Zcu>XA=YD}ykZdq2`g*e*dY*n>p!{~ODv|;FVn~c%(tsUZ>TPa@O zu0e*jSw6931T^@kjmmUm8Sb!b{F%G+C>Rua=MSTMDzjyXkCIzYdysgi4=~pI!+A$f z&0jP%5{GtIe=LS9(Y^b-rpd%a4)J5+6cU5730-NlRU*2^ZLUZ@R2yi7FS^bKHjU?*W_UKM4 zcwZ@>x%D&I^Fv;B-ZuwdViap$CA%7)i0!(%-pX5{%aV3bLKq9ZNyIi8RDxZLm6IzX zitFwjbb=e7JspJh`q}iR6%=F?{>U|U(Aug6J5O{BTD2`JFv%3$GN}?Ad=hQ^kbiN- z8+q7@b+^TRiKcZ{qx~Z~@8u%B$^Dmt=hy>14wVK>;P>6Kc6^h<#QZb#H>C?<4)b+) zNIT|O3s*AKZvPeyv7GY8aQ%7COkRlV)abIXs8)3h;5n~$nvxnVO$q4qb53%?`Xkfx zaOPAHN0r?ZVeg+|z@bV;3sStTSweHpZEy?5O(k+!NKCv@?S<~UU`qi^=a)bBYo8$3 zk))-bk9F-G_I_kxH#Ty_;h%1fLUu%R{vti&I!y0Ht&^t%ORB*Pqe=e8!+#4bP>wgV z3^YJ_l5JLYejwmhk;wLMcR~z6ifWmy)SBY` zRc4!6#%ea{H7bNs7GbFnH$Eyg4iCr~7cj`EXnx90L z{3S}N@A7b%#(3dXKB-@QlCDAM%}@%1b@ymO(9#OPeh_!=EB zj>y&uUz_~1Y{wRx<6(RtIQj~*6g*ByR&h*mZgX@PAw6dsemDPQL7~KAw$+-ILnzH6{?mF1E_F19WmWuN!hybtRw?B^Vz`vyg09J z$!DusJeH)iUPskv%O?`7axJt#?_dCdw{}8~v65@%cOX)8&WYp#Z_$RG+2IkpAaKp( zf(Hp5^v=8_`BA4Df@I`&=n_ZreJ2*ibV@dM&QWo{pV6uF0PM6dMvztBi1kH3Bj_%< zch`;0>bl_^ZEjXroH(%C&CxKikgg_Z(v1aSk9oT*3BCs6GrzAW8I8@SkUdr^D_i+D z<1<$CLVu1&7%+fgd^N73zIn?dD;{8q94J-z9b?Hz@>C2>O6%!CS>fbLYY0S6x6*t_ zW1qo&mA@SX&_N=#nO3rETGIGO506l~%_?DDqq}bsJVmDxBlri^vhnzlRM`5tFGN;g zk?NJddZpYfJQG83CZpoBT=JOdG?b868ZKQgq6R2EWzQ_gC!Pu zufwYq$+Qvoyl_^C5XRV&H~KUTH%xh-0p85_O&@<196n;d>eqqHFS@@~kY`v*`;bJ4 zS#QprVds7x8B^C1ZdJDD@Z4SQ2sY{Nrm7!3`AbptM1Iap#6w;_z`%WkLh)Ai=k&Wq zF`K(Hnkx?}H9;>*60HEkT`eu9;Wp+$myCD!2EK3?rxx(mZpQ_9`WqmSe#3f7yqQ)D z_1ejHeFSmqaEUck;}ngli5z^)O5r`*8uEG9bIrTKz`GlfZX$4Ao}MK4>?V@@1J{^W z0;T*giqrU{LfNFRm$TkK2U_49K5}Tir2nKbmI3T^MiGy{b5=2h5uXNkC7Y=`4$cb_ z?lzHx9|{VG1JBklgIwda>z`LW0}>kLX>AEnzkSF_Yx5>Fww?PIuwy^qfF^5hLpjnW zA`1tc9WN@ufcccg6!|iIIES`p{`o%=0ZwkTgp|C}ebS*bgx($1b8Ocy%lJwkTgG3vTc*HONXyLXx6{^+IRihz`D!x7BVhLUf)jc`qZglRs9%-@flY z);I}6FAXAlSlnknnR=aqFNS*3GL8>>k{21Nq|~5WUt>Xq;q#%Z77%-9u{If$C%DX+ zr8Q#?U4BZGO7v571ZVT8-igx5ilAF;m0mwL<@0zXMcLE=xq%|=rn9!a1e@b}E0A;c zecSd||4-c@IfN079|vbC+fawm08EufsbXok%N#P^4VGi+tIx?k$uR{1=*r&jo%poUmx`c=7IiWv z!;&A;5F#9CdQ#L@#uUmg8l7kl<@cpz?2c+lPOG`X+=(enoz#cS5LvPbsFyG>K*f6* zp;a0#BRHAwJ2=azDuMQ{c#*nB&;Fb8GCN&Z!Y8z2 z_;Dn3Fm-B;=AKmIASNt4hUzF`$5T0s>M9U?GMS)hfZAuxE@H2W%}Is*kB1pc&azYj zSO`ldB-3B=cMIX83<0m5DI3bEcDYzueMPfYMD2Vxf4nHVgEWaJ$i)TjM6(L^OhX2p zR zH(H~t#nYd9u~N;g;O%B-cgjf!RxmE8AZDW|XI-o3eZTP+wh1m85p?{z-=GZtO(uKT z0(s!8vU-(V`DfXINq<@1VG91HfH#1KQq7KugLDEa@G2^o46%^Z4|f>c@?iHn{RyFZ z_5fSBnmm_~O#Jl#5DJB11w40nF54cD$q=FIJZ7R^PPGS>u>_z$e`$;lQ zlo{h#L=hxo$h^?Qp-bo%RX&i)K=Bz`goE6(<*Q)N_%nR_aAzuv+ zmE*bG9P1r5_$}TcOT*I@8*spfn5*a%;)11gajr3&ByrE>i~|1RZwIg?!M;Mb)9vW7 zY|Hr#2D)l?gOXD@X}u)@5c$2GCV@199C5I7t9V zlz0f~W=5j47UNQmIc44;F?h@`WGSATlOo0X_+}}7F4R#KzB60N!d74fLfo)acZjar zf!Gt*byb)3#{42|h0P3t4LS1LMlyBXS$Y9tmUMeO;12K&QK1gGOFK*6!h(KX<(b^S5}5F|i;jG;GGC&U};u zsDYZ^;LReJT50h~GYaU}{_(>!2(Ihw!fCs|f7gLXMLd=0jFf03^UL|| zu5&o}sJ+HD(5B~zyA$j!){kYX6BRpTZo7r9fcEjZ%2>gsRgdegL@UM(MZB|ac_Dh- z);&%KLrWwVJTBMn0jyE33_zGIGwh!TrfZG>#;DG3p^B-W2Rw8*(>_YS>`j@m;zaHx zzRLsZw2?VyZ1JB7w-(2*(}4`hRsW;QLoBj5Hg-C&Lyo+9VU%0&(#8=Gz+0oT>3@`# zr3Z>O8PaR!nLxnp_CY{r|F?oa9$l4MF?ln?&6l9Gvtbwwy(c}77}6nkAYipmaYfHK z&es33Kqj9JUGX2;|33l7O3sDT;cq&J>Q!O6rt{AM_Bwn61^e!ph+okz6YY4Y=|Gc_7JE&Gh5{2UZZgvULm_FewP)paO<@l)(AnDm Ke_Q@P*?$3A8flyW literal 0 HcmV?d00001 diff --git a/static/images/guides/questdb-internals/web-console.webp b/static/images/guides/questdb-internals/web-console.webp index 2c7ea44dcc9d36787d3831480945cbdd007894db..6bd39d9161aaecc16bd80a8e97c708c2940fb4e4 100644 GIT binary patch literal 116528 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 literal 69086 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 From 43e85a5430dbbc5a28bdf381f8f9c678794ecb09 Mon Sep 17 00:00:00 2001 From: emrberk Date: Thu, 22 May 2025 18:22:09 +0300 Subject: [PATCH 27/35] update more charts --- documentation/concept/storage-model.md | 2 +- static/images/docs/concepts/columnRead.webp | Bin 18598 -> 14512 bytes static/images/docs/concepts/columnUpdate.svg | 1 - static/images/docs/concepts/columnUpdate.webp | Bin 0 -> 17950 bytes .../guides/questdb-internals/columnRead.webp | Bin 18598 -> 14512 bytes 5 files changed, 1 insertion(+), 2 deletions(-) delete mode 100644 static/images/docs/concepts/columnUpdate.svg create mode 100644 static/images/docs/concepts/columnUpdate.webp diff --git a/documentation/concept/storage-model.md b/documentation/concept/storage-model.md index dce16a5ce..3b50b4529 100644 --- a/documentation/concept/storage-model.md +++ b/documentation/concept/storage-model.md @@ -25,7 +25,7 @@ import Screenshot from "@theme/Screenshot" diff --git a/static/images/docs/concepts/columnRead.webp b/static/images/docs/concepts/columnRead.webp index a758735cb567adaa3262b5d84fd8d685eecd197c..f0a3335e4756fe3fc88575bb9391e0b6c5644899 100644 GIT binary patch literal 14512 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

B3&0dkEvzx$ei%!oXxg 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 M>$E@9`;XWE0^E=-5C8xG diff --git a/static/images/docs/concepts/columnUpdate.svg b/static/images/docs/concepts/columnUpdate.svg deleted file mode 100644 index a5f1179f1..000000000 --- a/static/images/docs/concepts/columnUpdate.svg +++ /dev/null @@ -1 +0,0 @@ -column filecopy value mov [0x1234], xSliding area of file mapped to RAMMoves down once exhaustedIncrement file offset \ No newline at end of file diff --git a/static/images/docs/concepts/columnUpdate.webp b/static/images/docs/concepts/columnUpdate.webp new file mode 100644 index 0000000000000000000000000000000000000000..25d92ae277019fcc72ad829621e9a9b0dcfe8259 GIT binary patch literal 17950 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 literal 0 HcmV?d00001 diff --git a/static/images/guides/questdb-internals/columnRead.webp b/static/images/guides/questdb-internals/columnRead.webp index a758735cb567adaa3262b5d84fd8d685eecd197c..f0a3335e4756fe3fc88575bb9391e0b6c5644899 100644 GIT binary patch literal 14512 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

B3&0dkEvzx$ei%!oXxg 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 M>$E@9`;XWE0^E=-5C8xG From bd14dea61db1b2bc312ba8d62e3223d2fd544237 Mon Sep 17 00:00:00 2001 From: javier Date: Tue, 27 May 2025 17:42:42 +0200 Subject: [PATCH 28/35] broked architecture page into subpages --- .../architecture/data-ingestion-engine.md | 106 ++++ .../guides/architecture/memory-management.md | 47 ++ .../guides/architecture/networking-layer.md | 53 ++ .../guides/architecture/observability.md | 40 ++ documentation/guides/architecture/overview.md | 89 +++ .../guides/architecture/query-engine.md | 77 +++ .../guides/architecture/replication-layer.md | 24 + documentation/guides/architecture/security.md | 36 ++ .../guides/architecture/storage-engine.md | 75 +++ .../architecture/time-series-optimizations.md | 114 ++++ .../guides/architecture/web-console.md | 31 + documentation/guides/questdb-internals.md | 559 ------------------ documentation/sidebars.js | 18 +- 13 files changed, 709 insertions(+), 560 deletions(-) create mode 100644 documentation/guides/architecture/data-ingestion-engine.md create mode 100644 documentation/guides/architecture/memory-management.md create mode 100644 documentation/guides/architecture/networking-layer.md create mode 100644 documentation/guides/architecture/observability.md create mode 100644 documentation/guides/architecture/overview.md create mode 100644 documentation/guides/architecture/query-engine.md create mode 100644 documentation/guides/architecture/replication-layer.md create mode 100644 documentation/guides/architecture/security.md create mode 100644 documentation/guides/architecture/storage-engine.md create mode 100644 documentation/guides/architecture/time-series-optimizations.md create mode 100644 documentation/guides/architecture/web-console.md delete mode 100644 documentation/guides/questdb-internals.md diff --git a/documentation/guides/architecture/data-ingestion-engine.md b/documentation/guides/architecture/data-ingestion-engine.md new file mode 100644 index 000000000..aafcd0d66 --- /dev/null +++ b/documentation/guides/architecture/data-ingestion-engine.md @@ -0,0 +1,106 @@ +--- +title: Data Ingestion Engine +slug: data-ingestion +description: The QuestDB Data Ingestion Engine supports bulk and streaming ingestion. It writes data to a row-based write-ahead log (WAL) and then converts it into a columnar format. In QuestDB Enterprise, the WAL segments ship to object storage for replication. +--- + + +## Data ingestion & write path + +### Bulk ingestion + +- **CSV ingestion:** + QuestDB offers a CSV ingestion endpoint via the [REST API](/docs/reference/api/rest/) and web console. + A specialized COPY command uses [io_uring](/blog/2022/09/12/importing-300k-rows-with-io-uring) on + fast drives to speed up ingestion. + +### Real-time streaming + +- **High-frequency writes:** + The streaming ingestion path handles millions of rows per second with non-blocking I/O. + +- **Durability:** + As seen above, the system writes data to a row-based write-ahead log (WAL) and then converts it + into column-based files for efficient reads. At the expense of performance, `sync` mode can be + enabled on commit for extra durability. + +- **Concurrent writes:** + Multiple connections writing to the same table create parallel WAL files that the engine + later consolidates into columnar storage. + +```text + +Contents of the `db` folder, showing multiple pending WAL files, +and the binary columnar data. + +├── db +│ ├── Table +│ │ │ +│ │ ├── Partition 1 +│ │ │ ├── _archive +│ │ │ ├── column1.d +│ │ │ ├── column2.d +│ │ │ ├── column2.k +│ │ │ └── ... +│ │ ├── Partition 2 +│ │ │ ├── _archive +│ │ │ ├── column1.d +│ │ │ ├── column2.d +│ │ │ ├── column2.k +│ │ │ └── ... +│ │ ├── txn_seq +│ │ │ ├── _meta +│ │ │ ├── _txnlog +│ │ │ └── _wal_index.d +│ │ ├── wal1 +│ │ │ └── 0 +│ │ │ ├── _meta +│ │ │ ├── _event +│ │ │ ├── column1.d +│ │ │ ├── column2.d +│ │ │ └── ... +│ │ ├── wal2 +│ │ │ └── 0 +│ │ │ │ ├── _meta +│ │ │ │ ├── _event +│ │ │ │ ├── column1.d +│ │ │ │ ├── column2.d +│ │ │ │ └── ... +│ │ │ └── 1 +│ │ │ ├── _meta +│ │ │ ├── _event +│ │ │ ├── column1.d +│ │ │ ├── column2.d +│ │ │ └── ... +│ │ │ +│ │ ├── _meta +│ │ ├── _txn +│ │ └── _cv + +``` + +### Ingestion via ILP protocol + +- **Native ILP integration:** + QuestDB supports the [Influx Line Protocol](/docs/reference/api/ilp/overview/) + (ILP) for high-speed data ingestion. + +- **Extensions to ILP:** + QuestDB extends ILP to support different timestamp units and the array data type. + +- **Minimal parsing overhead:** + The ILP parser quickly maps incoming data to internal structures. + +- **Parallel ingestion:** + The ILP path uses off-heap buffers and direct memory management to bypass JVM heap allocation. + +- **Protocol versatility:** + In addition to ILP, QuestDB also supports ingestion via [REST](/docs/reference/sql/overview/#rest-http-api) + and [PostgreSQL wire](/docs/reference/sql/overview/#postgresql) protocols. + + +# Next Steps + +- Back to the [QuestDB Architecture](../questdb-architecture) overview +- [QuestDB GitHub Repository](https://github.com/questdb/questdb) +- [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/memory-management.md b/documentation/guides/architecture/memory-management.md new file mode 100644 index 000000000..d7c4ae835 --- /dev/null +++ b/documentation/guides/architecture/memory-management.md @@ -0,0 +1,47 @@ +--- +title: Memory Management +slug: memory-management +description: The system leverages both memory mapping and explicit memory management techniques, and integrates native code for performance-critical tasks. +--- + +QuestDB offers high-speed ingestion and low-latency analytics on time-series data. + + +## Memory management and native integration + +### Memory-mapped files + +- **Direct OS integration:** + Memory-mapped files let QuestDB use the operating system's page cache. This reduces explicit + I/O calls and speeds up sequential reads. + +- **Sequential access:** + When data partitions by incremental timestamp, memory mapping ensures that reads are + sequential and efficient. + +### Direct memory management and native integration + +- **Off-heap memory usage:** + QuestDB allocates direct memory via memory mapping and low-level APIs (such as Unsafe) to + bypass the JVM garbage collector. This reduces latency spikes and garbage collection delays. + +- **Hotpath efficiency:** + The system pre-allocates and reuses memory in critical code paths, avoiding dynamic allocation + on the hotpath. + +- **Native code integration:** + QuestDB uses native libraries written in C++ and Rust for performance-critical tasks. These + native components share off-heap buffers with Java via JNI. + - **Zero-copy interoperability:** + Sharing memory between Java and native code minimizes data copying and reduces latency. + - **Hybrid architecture:** + This integration lets QuestDB use Java for rapid development and C++/Rust for low-level, + high-performance routines. + +## Next Steps + +- Back to the [QuestDB Architecture](../questdb-architecture) overview +- [QuestDB GitHub Repository](https://github.com/questdb/questdb) +- [QuestDB Documentation](/docs) + + diff --git a/documentation/guides/architecture/networking-layer.md b/documentation/guides/architecture/networking-layer.md new file mode 100644 index 000000000..6e70f629b --- /dev/null +++ b/documentation/guides/architecture/networking-layer.md @@ -0,0 +1,53 @@ +--- +title: Networking Layer +slug: networking-layer +description: The system exposes RESTful APIs and implements ILP and PostgreSQL wire protocols so that existing tools and drivers work out-of-the-box. It also offers a health and metrics endpoint. +--- + + +## Networking layer + +QuestDB exposes several network interfaces and protocols to allow different client applications to interact with the database + +### InfluxDB Line protocol (ILP) over HTTP or TCP + +The [Influx Line Protocol](/docs/reference/api/ilp/overview/) allows for very high throughput of incoming data. It supports +both HTTP (recommended) or TCP. QuestDB provides official clients in seven different programming languages, as well as +integrations with third-party tools like Apache Kafka, Apache Flink, or Telegraf. Any ILP-compatible library can be used +for ingesting data into QuestDB over HTTP. + +The default port number for ILP over HTTP is `9000`, and for ILP over TCP is `9009`. + +### PostgreSQL wire protocol + +QuestDB exposes a [PostgreSQL wire](/docs/reference/sql/overview/#postgresql) protocol, which can be used to send SQL +statements both for data definition or for data manipulation. When used for data ingestion, throughput is noticeably +lower than using the ILP protocol. + +QuestDB implements the wire protocol, allowing many third-party libraries to query QuestDB directly. Some client libraries +might be incompatible if they rely heavily on PostgreSQL metadata, as QuestDB implements only a subset of it. For an +overview of some key differences on QuestDB schema design, please visit our +[Schema Design Essentials](/docs/guides/schema-design-essentials/) guide. + +The default port number for the pg-wire interface is `8812`. + +### HTTP Rest API + +QuestDB [REST API](/docs/reference/sql/overview/#rest-http-api) can be used to issue SQL statements over HTTP. It also +exposes and endpoint for importing CSV files, and for exporting tables and query results. + +The default port number for the REST API is `9000`. + +### Minimal HTTP server for health-check and metrics + +QuestDB exposes an HTTP interface for monitoring. Please see the [Observability](#observability--diagnostics) section +for more information. + +The default port number for the minimal HTTP server is `9003`. + +## Next Steps + +- Back to the [QuestDB Architecture](../questdb-architecture) overview +- [QuestDB GitHub Repository](https://github.com/questdb/questdb) +- [QuestDB Documentation](/docs) + diff --git a/documentation/guides/architecture/observability.md b/documentation/guides/architecture/observability.md new file mode 100644 index 000000000..960693a6a --- /dev/null +++ b/documentation/guides/architecture/observability.md @@ -0,0 +1,40 @@ +--- +title: Observability +slug: observability +description: QuestDB provides real-time metrics, a health check endpoint, and logging to monitor performance and simplify troubleshooting. +--- + + +## Observability & diagnostics + +- **Metrics:** + QuestDB exposes detailed [metrics in Prometheus format](/docs/operations/logging-metrics/#metrics), including query + statistics, memory usage, and I/O details. + +- **Health check:** + A [minimal HTTP server](/docs/operations/logging-metrics/#minimal-http-server) monitors system health. + +- **Metadata tables:** + The engine provides [metadata tables](/docs/reference/function/meta/) to query + table status, partition status, query execution, and latency. + +- **Extensive logging:** + [Logging](/docs/operations/logging-metrics/) covers SQL parsing, execution, background processing, and runtime exceptions. The framework minimizes performance impact. + +- **Real-time metric dashboards:** + The web console lets you create dashboards that display per-table metrics. + + + + +## Next Steps + +- Back to the [QuestDB Architecture](../questdb-architecture) overview +- [QuestDB GitHub Repository](https://github.com/questdb/questdb) +- [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/overview.md b/documentation/guides/architecture/overview.md new file mode 100644 index 000000000..43169ced6 --- /dev/null +++ b/documentation/guides/architecture/overview.md @@ -0,0 +1,89 @@ +--- +title: Architecture Overview +slug: questdb-architecture +description: A deep technical dive into the internal architecture, storage engine, query processing, and native integrations of QuestDB. +--- + +QuestDB offers high-speed ingestion and low-latency analytics on time-series data. + + + + +This document explains QuestDB's internal architecture. + +## Key components + +QuestDB is comprised of several key components: + +- **[Storage engine](../storage-engine):** + The engine uses a column-oriented design to ensure high I/O performance and low latency. + +- **[Memory management and native integration](./memory-management):** + The system leverages both memory mapping and explicit memory management techniques, + and integrates native code for performance-critical tasks. + +- **[Query engine](./query-engine):** + A custom SQL parser, a just-in-time (JIT) compiler, and a vectorized execution engine process + data in table page frames for better CPU use. + +- **[Time-series Optimizations](./time-series-optimizations):** + QuestDB is specifically designed for time-series, and it provides several optimizations, like a + designated timestamp, sequential reads, materialized-views, or in-memory processing. + +- **[Data ingestion engine](./data-ingestion-engine):** + The engine supports bulk and streaming ingestion. It writes data to a row-based write-ahead + log (WAL) and then converts it into a columnar format. In QuestDB Enterprise, the WAL segments + ship to object storage for replication. + +- **[Networking layer](./networking-layer):** + The system exposes RESTful APIs and implements ILP and PostgreSQL wire protocols so that + existing tools and drivers work out-of-the-box. It also offers a health and metrics endpoint. + +- **[Replication layer](./replication):** + QuestDB Enterprise supports horizontal scalability for reads with read replicas, and for + writes with multi-primary. + +- **[Security](./security):** + QuestDB provides real-time metrics, a health check endpoint, and logging to monitor + performance and simplify troubleshooting. + +- **[Observability](./observability):** + QuestDB provides real-time metrics, a health check endpoint, and logging to monitor + performance and simplify troubleshooting. + +- **[Web console](./web-console):** + The engine includes a web console to run SQL statements, bulk load CSV files, and show + monitoring dashboards. QuestDB Enterprise supports single sign-on (SSO) in the web console. + + + + +## Design patterns & best practices throughout the code base + +- **Immutable data structures:** + The system favors immutability to avoid concurrency issues and simplify state + management. + +- **Modular architecture:** + Each component (storage, query processing, ingestion, etc.) has well-defined interfaces that enhance maintainability. + +- **Factory & builder patterns:** + The engine uses these patterns to centralize construction logic for complex objects like SQL execution plans and storage buffers. + +- **Lazy initialization:** + Resource-intensive components initialize only when needed to reduce startup overhead. + +- **Rigorous testing & benchmarks:** + [Unit tests, integration tests](https://github.com/questdb/questdb/tree/master/core/src/test), + and performance benchmarks ensure that new enhancements do not compromise + reliability or speed. + +## Further reading & resources + +- [QuestDB GitHub Repository](https://github.com/questdb/questdb) +- [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/query-engine.md b/documentation/guides/architecture/query-engine.md new file mode 100644 index 000000000..da7c43512 --- /dev/null +++ b/documentation/guides/architecture/query-engine.md @@ -0,0 +1,77 @@ +--- +title: Query Engine +slug: query-engine +description: Questrb Query Engine includes A custom SQL parser, a just-in-time (JIT) compiler, and a vectorized execution engine process data in table page frames for better CPU use. + + +--- + +QuestDB offers high-speed ingestion and low-latency analytics on time-series data. + + + +## Query engine + +### SQL parsing & optimization + +- **Custom SQL parser:** + The parser supports QuestDB's SQL dialect and time-series extensions. It converts SQL queries + into an optimized abstract syntax tree (AST). + +- **Compilation pipeline:** + The engine compiles SQL into an execution plan through stages that push down predicates and + rewrite queries to remove unnecessary operations. + +- **Optimization techniques:** + The planner applies rule-based rewrites and simple cost estimations to choose efficient + execution paths. + +- **Columnar reads:** + Table columns are randomly accessible. Columns with fixed size data types are read by translating + the record number into a file offset by a simple bit shift. The offset in the column file is then + translated into an offset in a lazily mapped memory page, where the required value is read from. + + + +### Execution model + +- **Operator pipeline:** + The execution plan runs as a series of operators (filters, joins, aggregators) in a tightly + integrated pipeline. + + + +- **JIT compilation and Vectorized processing:** + Queries with a `WHERE` clause [compile](/docs/concept/jit-compiler) critical parts of the execution plan to native machine code (SIMD AVX-2 instructions) just in time. Vectorised instructions apply + the same operation to many data elements simultaneously. This maximizes CPU cache use and reduces overhead. + +- **Multi-threaded execution:** + On top of the JIT, QuestDB tries to execute as many queries as possible in a multi-threaded, + multi-core fashion. Some queries, for example those involving an index, are executed on a single + thread. Other queries, like those involving `GROUP BY` and `SAMPLE BY`, execute a pipeline with some single-threaded stages and some multi-threaded stages to avoid slow downs when groups are unbalanced. + +- **Worker pools:** QuestDB allows to configure different pools for specialized functions, like +parsing incoming data, applying WAL file changes, handling PostgreSQL-Wire protocol, or responding to HTTP connections. By default, most tasks are handled by a shared worker pool. + +- **Query plan caching:** + The system caches query plans for reuse within the same connection. (Query results are not + cached.) + +- **Column data caching:** + Data pages read from disk are kept in system memory. Sufficient memory prevents frequent disk + reads. + +## Next Steps + +- Back to the [QuestDB Architecture](../questdb-architecture) overview +- [QuestDB GitHub Repository](https://github.com/questdb/questdb) +- [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/replication-layer.md b/documentation/guides/architecture/replication-layer.md new file mode 100644 index 000000000..c9fea1d13 --- /dev/null +++ b/documentation/guides/architecture/replication-layer.md @@ -0,0 +1,24 @@ +--- +title: Replication Layer +slug: replication-layer +description: QuestDB Enterprise supports horizontal scalability for reads with read replicas, and for writes with multi-primary. +--- + + + +## Replication + +- **Read replicas:** QuestDB uses object storage (via NFS, S3, Azure Blob Storage, or GCS) +and read replicas. Both local, cross-zonal, and cross-regional replication patterns are +supported. The architecture is described at the [replication concepts](/docs/concept/replication/) +page. + +- **Write replicas:** QuestDB allows [multi-primary ingestion](/docs/operations/multi-primary-ingestion/), which allows both increasing the write throughput, and enabling +high availabilty. A [distributed sequencer](/docs/operations/multi-primary-ingestion/#distributed-sequencer-with-foundationdb) makes sure transactions are conflict-free, and +tracks status of the cluster to enable instance discovery and automatic failover. + +## Next Steps + +- Back to the [QuestDB Architecture](../questdb-architecture) overview +- [QuestDB GitHub Repository](https://github.com/questdb/questdb) +- [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/security.md b/documentation/guides/architecture/security.md new file mode 100644 index 000000000..1fca2024e --- /dev/null +++ b/documentation/guides/architecture/security.md @@ -0,0 +1,36 @@ +--- +title: Security +slug: security +description: QuestDB provides real-time metrics, a health check endpoint, and logging to monitor performance and simplify troubleshooting. +--- + + +## Security + +- **Built-in admin and read-only users:** + QuestDB includes built-in admin and read-only users for the pgwire protocol and HTTP endpoints using HTTP Basic Auth. + +- **HTTP basic authentication:** + You can enable HTTP Basic Authentication for the HTTP API, web console, and pgwire + protocol. Health-check and metrics endpoints can be configured independently. + +- **Token-based authentication:** + QuestDB Enterprise offers HTTP and JWT token authentication. QuestDB Open Source + supports token authentication for ILP over TCP. + +- **TLS on all protocols:** + QuestDB Enterprise supports TLS on all protocols and endpoints. + +- **Single sign-on:** + QuestDB Enterprise supports SSO via OIDC with Active Directory, EntraID, or OAuth2. + +- **Role-based access control:** + Enterprise users can create user groups and assign service accounts and users. + Grants [can be configured](/docs/operations/rbac/) individually or at the + group level with fine granularity, including column-level access. + +## Next Steps + +- Back to the [QuestDB Architecture](../questdb-architecture) overview +- [QuestDB GitHub Repository](https://github.com/questdb/questdb) +- [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/storage-engine.md b/documentation/guides/architecture/storage-engine.md new file mode 100644 index 000000000..91f0852f7 --- /dev/null +++ b/documentation/guides/architecture/storage-engine.md @@ -0,0 +1,75 @@ +--- +title: Storage Engine +slug: storage-engine +description: The QuestDB Storage Engine uses a column-oriented design to ensure high I/O performance and low latency. +--- + + +## Storage engine + +### Parallel Write-Ahead-Log + +- **Two-phase writes**: All changes to data are recorded in a Write-Ahead-Log (WAL) before they +are written to the database files. This means that in case of a system crash or power failure, the database can recover to a consistent state by replaying the log entries. + +- **Commit and write separation**: By decoupling the transaction commit from the disk write process, +a WAL improves the performance of write-intensive workloads, as it allows for sequential disk writes +which are generally faster than random ones. + +- **Per-table WAL**: WAL files are separated per table, and also per active connection, allowing for +concurrent data ingestion, modifications, and schema changes without locking the entire table. + +- **WAL Consistency**: QuestDB implements a component called "Sequencer", which ensures that data +appears consistent to all readers, even during ongoing write operations. + + +- **TableWriter**: Changes stored in the WAL, is stored in columnat format by the TableWriter, which +can handle and resolve out-of-order data writes, and enables deduplication. Column files use an +[append model](/docs/concept/storage-model/). + + + + +### Data Deduplication + +When enabled, [data deduplication](https://questdb.com/docs/concept/deduplication/) works on all the data inserted into +the table and replaces matching rows with the new versions. Only new rows that do no match existing data will be inserted. + +Generally, if the data have mostly unique timestamps across all the rows, the performance impact of deduplication is low. +Conversely, the most demanding data pattern occurs when there are many rows with the same timestamp that need to be +deduplicated on additional columns. + + +### Column-oriented storage + +- **Data layout:** + The system stores each table as separate files per column. Fixed-size data types use one file + per column, while variable-size data types (such as `VARCHAR` or `STRING`) use two files per column. + + + + +- **CPU optimization:** + Columnar storage improves CPU use during vectorized operations, which speeds up + aggregations and computations. + +- **Compression:** + Uniform data types allow efficient compression that reduces disk space and speeds up reads + when [ZFS compression](/docs/guides/compression-zfs/) is enabled. Parquet files generated + by QuestDB use native compression. + +## Next Steps + +- Back to the [QuestDB Architecture](../questdb-architecture) overview +- [QuestDB GitHub Repository](https://github.com/questdb/questdb) +- [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/time-series-optimizations.md b/documentation/guides/architecture/time-series-optimizations.md new file mode 100644 index 000000000..e52c4151f --- /dev/null +++ b/documentation/guides/architecture/time-series-optimizations.md @@ -0,0 +1,114 @@ +--- +title: Time Series Optimizations +slug: time-series-optimizations +description: QuestDB is specifically designed for time-series, and it provides several optimizations, like a designated timestamp, sequential reads, materialized-views, or in-memory processing. +--- + + +## Time-series optimizations + +### Designated timestamp + +- **Timestamp sorting:** + Data stores in order of incremental timestamp. Since ingestion is usually + chronological, the system uses a fast append-only strategy, except for updates and out-of-order data. + +- **Rapid interval queries and sequential reads:** + Sorted data lets the system quickly locate the start and end of data files, which speeds + up [interval queries](/docs/concept/interval-scan/). When data is accessed by increasing timestamp, + reads are sequential for each column file, which makes I/O very efficient. + + + + +- **Out-of-order data:** + When data arrives out of order, QuestDB [rearranges it](/docs/concept/partitions/#splitting-and-squashing-time-partitions) to maintain timestamp order. The + engine splits partitions to minimize [write amplification](/docs/operations/capacity-planning/#write-amplification) and compacts them in the background. + + +### Data partitioning and sequential reads + +- **Partitioning by time:** + Data [partitions by timestamp](/docs/concept/partitions/) with hourly, daily, weekly, monthly, or yearly resolution. + + + + + + +- **Partition pruning:** + The design lets the engine skip partitions that fall outside query filters. Combined with + incremental timestamp sorting, this reduces latency. + + +- **Lifecycle policies:** + The system can delete partitions manually or automatically via TTL. It also supports + detaching or attaching partitions using SQL commands. + +### Materialized views + + - [Materialize views](https://questdb.com/docs/concept/mat-views/) are auto-refreshing tables storing the pre-computed results of a query. Unlike regular views, which + compute their results at query time, materialized views persist their data to disk, making them particularly efficient + for expensive aggregate queries that are run frequently. + + - QuestDB supports materialized views for `SAMPLE BY` queries, including those joining with other tables. + + - Materialized sampled intervals are automatically refreshed whenever the base table receivews new or updated rows. + + - Materialized views can be chained, with the output of one being the input of another one, and support TTLs for lifecycle management. + + +### In-memory processing + +- **Caching:** + The engine uses the OS cache to access recent and frequently accessed data in memory, reducing + disk reads. + +- **Off-heap buffers:** + Off-heap memory, managed via memory mapping and direct allocation, avoids garbage + collection overhead. + +- **Optimized in-memory handling:** + Apart from using CPU-level optimizations such as SIMD, QuestDB uses specialized hash tables (all of them with open + addressing and linear probing), and implements algorithms for reducing the memory + footprint of many operations. + +- **Custom memory layout for different data types:** + Specialized data types, like `Symbol`, `VARCHAR`, or `UUID`, are designed to use minimal disk and memory. For example, + char sequences shorter than 9 bytes are fully inlined within our `VARCHAR` header and do not occupy any additional data space. + + ```text + Internal Representation of the VARCHAR data type + +Varchar header (column file): ++------------+-------------------+-------------------+ +| 32 bits | 48 bits | 48 bits | +| len + flags| prefix | offset | ++------------+-------------------+-------------------+ + │ ++------------------------------------+ points to +│ +▼ +Varchar data (column file): ++---+---+---+---+---+---+---+---+---+---+---+ +| H | e | l | l | o | | w | o | r | l | d | ++---+---+---+---+---+---+---+---+---+---+---+ + +``` + +## Next Steps + +- Back to the [QuestDB Architecture](../questdb-architecture) overview +- [QuestDB GitHub Repository](https://github.com/questdb/questdb) +- [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/web-console.md b/documentation/guides/architecture/web-console.md new file mode 100644 index 000000000..65d5ec24d --- /dev/null +++ b/documentation/guides/architecture/web-console.md @@ -0,0 +1,31 @@ +--- +title: Web Console +slug: web-console +description: The engine includes a web console to run SQL statements, bulk load CSV files, and show + monitoring dashboards. QuestDB Enterprise supports single sign-on (SSO) in the web console. +--- + + +## Web Console + +The [QuestDB Web console](/docs/web-console/) is ideal for interactive exploration, and implements: + +- **SQL Editor** featuring tabs and SQL autocompletion. +- **Table and Materialized View** explorer. +- **CSV import** manager. +- **Single-sign-on**, when enabled for enterprise users. +- **Basic Auth**, when enabled for both OSS and Enterprise users. +- **Real-time metric dashboards**, to track transactions throughput, latency, and write amplification. + + + +## Next Steps + +- Back to the [QuestDB Architecture](../questdb-architecture) overview +- [QuestDB GitHub Repository](https://github.com/questdb/questdb) +- [QuestDB Documentation](/docs) + diff --git a/documentation/guides/questdb-internals.md b/documentation/guides/questdb-internals.md deleted file mode 100644 index b323dc9b7..000000000 --- a/documentation/guides/questdb-internals.md +++ /dev/null @@ -1,559 +0,0 @@ ---- -id: questdb-architecture -title: QuestDB Architecture -slug: questdb-architecture -description: A deep technical dive into the internal architecture, storage engine, query processing, and native integrations of QuestDB. ---- - -QuestDB offers high-speed ingestion and low-latency analytics on time-series data. - - - - -This document explains QuestDB's internal architecture. - -## Key components - -QuestDB is comprised of several key components: - -- **[Storage engine](#storage-engine):** - The engine uses a column-oriented design to ensure high I/O performance and low latency. - -- **[Memory management and native integration](#memory-management-and-native-integration):** - The system leverages both memory mapping and explicit memory management techniques, - and integrates native code for performance-critical tasks. - -- **[Query engine](#query-engine):** - A custom SQL parser, a just-in-time (JIT) compiler, and a vectorized execution engine process - data in table page frames for better CPU use. - -- **[Time-series Optimizations](#time-series-optimizations):** - QuestDB is specifically designed for time-series, and it provides several optimizations, like a - designated timestamp, sequential reads, materialized-views, or in-memory processing. - -- **[Data ingestion engine](#data-ingestion--write-path):** - The engine supports bulk and streaming ingestion. It writes data to a row-based write-ahead - log (WAL) and then converts it into a columnar format. In QuestDB Enterprise, the WAL segments - ship to object storage for replication. - -- **[Networking layer](#networking-layer):** - The system exposes RESTful APIs and implements ILP and PostgreSQL wire protocols so that - existing tools and drivers work out-of-the-box. It also offers a health and metrics endpoint. - -- **[Replication layer](#replication):** - QuestDB Enterprise supports horizontal scalability for reads with read replicas, and for - writes with multi-primary. - -- **[Security](#security):** - QuestDB provides real-time metrics, a health check endpoint, and logging to monitor - performance and simplify troubleshooting. - -- **[Observability](#observability--diagnostics):** - QuestDB provides real-time metrics, a health check endpoint, and logging to monitor - performance and simplify troubleshooting. - -- **[Web console](#web-console):** - The engine includes a web console to run SQL statements, bulk load CSV files, and show - monitoring dashboards. QuestDB Enterprise supports single sign-on (SSO) in the web console. - -## Storage engine - -### Parallel Write-Ahead-Log - -- **Two-phase writes**: All changes to data are recorded in a Write-Ahead-Log (WAL) before they -are written to the database files. This means that in case of a system crash or power failure, the database can recover to a consistent state by replaying the log entries. - -- **Commit and write separation**: By decoupling the transaction commit from the disk write process, -a WAL improves the performance of write-intensive workloads, as it allows for sequential disk writes -which are generally faster than random ones. - -- **Per-table WAL**: WAL files are separated per table, and also per active connection, allowing for -concurrent data ingestion, modifications, and schema changes without locking the entire table. - -- **WAL Consistency**: QuestDB implements a component called "Sequencer", which ensures that data -appears consistent to all readers, even during ongoing write operations. - - -- **TableWriter**: Changes stored in the WAL, is stored in columnat format by the TableWriter, which -can handle and resolve out-of-order data writes, and enables deduplication. Column files use an -[append model](/docs/concept/storage-model/). - - - - -### Data Deduplication - -When enabled, [data deduplication](https://questdb.com/docs/concept/deduplication/) works on all the data inserted into -the table and replaces matching rows with the new versions. Only new rows that do no match existing data will be inserted. - -Generally, if the data have mostly unique timestamps across all the rows, the performance impact of deduplication is low. -Conversely, the most demanding data pattern occurs when there are many rows with the same timestamp that need to be -deduplicated on additional columns. - - -### Column-oriented storage - -- **Data layout:** - The system stores each table as separate files per column. Fixed-size data types use one file - per column, while variable-size data types (such as `VARCHAR` or `STRING`) use two files per column. - - - - -- **CPU optimization:** - Columnar storage improves CPU use during vectorized operations, which speeds up - aggregations and computations. - -- **Compression:** - Uniform data types allow efficient compression that reduces disk space and speeds up reads - when [ZFS compression](/docs/guides/compression-zfs/) is enabled. Parquet files generated - by QuestDB use native compression. - -## Memory management and native integration - -### Memory-mapped files - -- **Direct OS integration:** - Memory-mapped files let QuestDB use the operating system's page cache. This reduces explicit - I/O calls and speeds up sequential reads. - -- **Sequential access:** - When data partitions by incremental timestamp, memory mapping ensures that reads are - sequential and efficient. - -### Direct memory management and native integration - -- **Off-heap memory usage:** - QuestDB allocates direct memory via memory mapping and low-level APIs (such as Unsafe) to - bypass the JVM garbage collector. This reduces latency spikes and garbage collection delays. - -- **Hotpath efficiency:** - The system pre-allocates and reuses memory in critical code paths, avoiding dynamic allocation - on the hotpath. - -- **Native code integration:** - QuestDB uses native libraries written in C++ and Rust for performance-critical tasks. These - native components share off-heap buffers with Java via JNI. - - **Zero-copy interoperability:** - Sharing memory between Java and native code minimizes data copying and reduces latency. - - **Hybrid architecture:** - This integration lets QuestDB use Java for rapid development and C++/Rust for low-level, - high-performance routines. - -## Query engine - -### SQL parsing & optimization - -- **Custom SQL parser:** - The parser supports QuestDB's SQL dialect and time-series extensions. It converts SQL queries - into an optimized abstract syntax tree (AST). - -- **Compilation pipeline:** - The engine compiles SQL into an execution plan through stages that push down predicates and - rewrite queries to remove unnecessary operations. - -- **Optimization techniques:** - The planner applies rule-based rewrites and simple cost estimations to choose efficient - execution paths. - -- **Columnar reads:** - Table columns are randomly accessible. Columns with fixed size data types are read by translating - the record number into a file offset by a simple bit shift. The offset in the column file is then - translated into an offset in a lazily mapped memory page, where the required value is read from. - - - -### Execution model - -- **Operator pipeline:** - The execution plan runs as a series of operators (filters, joins, aggregators) in a tightly - integrated pipeline. - - - -- **JIT compilation and Vectorized processing:** - Queries with a `WHERE` clause [compile](/docs/concept/jit-compiler) critical parts of the execution plan to native machine code (SIMD AVX-2 instructions) just in time. Vectorised instructions apply - the same operation to many data elements simultaneously. This maximizes CPU cache use and reduces overhead. - -- **Multi-threaded execution:** - On top of the JIT, QuestDB tries to execute as many queries as possible in a multi-threaded, - multi-core fashion. Some queries, for example those involving an index, are executed on a single - thread. Other queries, like those involving `GROUP BY` and `SAMPLE BY`, execute a pipeline with some single-threaded stages and some multi-threaded stages to avoid slow downs when groups are unbalanced. - -- **Worker pools:** QuestDB allows to configure different pools for specialized functions, like -parsing incoming data, applying WAL file changes, handling PostgreSQL-Wire protocol, or responding to HTTP connections. By default, most tasks are handled by a shared worker pool. - -- **Query plan caching:** - The system caches query plans for reuse within the same connection. (Query results are not - cached.) - -- **Column data caching:** - Data pages read from disk are kept in system memory. Sufficient memory prevents frequent disk - reads. - - -## Time-series optimizations - -### Designated timestamp - -- **Timestamp sorting:** - Data stores in order of incremental timestamp. Since ingestion is usually - chronological, the system uses a fast append-only strategy, except for updates and out-of-order data. - -- **Rapid interval queries and sequential reads:** - Sorted data lets the system quickly locate the start and end of data files, which speeds - up [interval queries](/docs/concept/interval-scan/). When data is accessed by increasing timestamp, - reads are sequential for each column file, which makes I/O very efficient. - - - - -- **Out-of-order data:** - When data arrives out of order, QuestDB [rearranges it](/docs/concept/partitions/#splitting-and-squashing-time-partitions) to maintain timestamp order. The - engine splits partitions to minimize [write amplification](/docs/operations/capacity-planning/#write-amplification) and compacts them in the background. - - -### Data partitioning and sequential reads - -- **Partitioning by time:** - Data [partitions by timestamp](/docs/concept/partitions/) with hourly, daily, weekly, monthly, or yearly resolution. - - - - - - -- **Partition pruning:** - The design lets the engine skip partitions that fall outside query filters. Combined with - incremental timestamp sorting, this reduces latency. - - -- **Lifecycle policies:** - The system can delete partitions manually or automatically via TTL. It also supports - detaching or attaching partitions using SQL commands. - -### Materialized views - - - [Materialize views](https://questdb.com/docs/concept/mat-views/) are auto-refreshing tables storing the pre-computed results of a query. Unlike regular views, which - compute their results at query time, materialized views persist their data to disk, making them particularly efficient - for expensive aggregate queries that are run frequently. - - - QuestDB supports materialized views for `SAMPLE BY` queries, including those joining with other tables. - - - Materialized sampled intervals are automatically refreshed whenever the base table receivews new or updated rows. - - - Materialized views can be chained, with the output of one being the input of another one, and support TTLs for lifecycle management. - - -### In-memory processing - -- **Caching:** - The engine uses the OS cache to access recent and frequently accessed data in memory, reducing - disk reads. - -- **Off-heap buffers:** - Off-heap memory, managed via memory mapping and direct allocation, avoids garbage - collection overhead. - -- **Optimized in-memory handling:** - Apart from using CPU-level optimizations such as SIMD, QuestDB uses specialized hash tables (all of them with open - addressing and linear probing), and implements algorithms for reducing the memory - footprint of many operations. - -- **Custom memory layout for different data types:** - Specialized data types, like `Symbol`, `VARCHAR`, or `UUID`, are designed to use minimal disk and memory. For example, - char sequences shorter than 9 bytes are fully inlined within our `VARCHAR` header and do not occupy any additional data space. - - ```text - Internal Representation of the VARCHAR data type - -Varchar header (column file): -+------------+-------------------+-------------------+ -| 32 bits | 48 bits | 48 bits | -| len + flags| prefix | offset | -+------------+-------------------+-------------------+ - │ -+------------------------------------+ points to -│ -▼ -Varchar data (column file): -+---+---+---+---+---+---+---+---+---+---+---+ -| H | e | l | l | o | | w | o | r | l | d | -+---+---+---+---+---+---+---+---+---+---+---+ - -``` - -## Data ingestion & write path - -### Bulk ingestion - -- **CSV ingestion:** - QuestDB offers a CSV ingestion endpoint via the [REST API](/docs/reference/api/rest/) and web console. - A specialized COPY command uses [io_uring](/blog/2022/09/12/importing-300k-rows-with-io-uring) on - fast drives to speed up ingestion. - -### Real-time streaming - -- **High-frequency writes:** - The streaming ingestion path handles millions of rows per second with non-blocking I/O. - -- **Durability:** - As seen above, the system writes data to a row-based write-ahead log (WAL) and then converts it - into column-based files for efficient reads. At the expense of performance, `sync` mode can be - enabled on commit for extra durability. - -- **Concurrent writes:** - Multiple connections writing to the same table create parallel WAL files that the engine - later consolidates into columnar storage. - -```text - -Contents of the `db` folder, showing multiple pending WAL files, -and the binary columnar data. - -├── db -│ ├── Table -│ │ │ -│ │ ├── Partition 1 -│ │ │ ├── _archive -│ │ │ ├── column1.d -│ │ │ ├── column2.d -│ │ │ ├── column2.k -│ │ │ └── ... -│ │ ├── Partition 2 -│ │ │ ├── _archive -│ │ │ ├── column1.d -│ │ │ ├── column2.d -│ │ │ ├── column2.k -│ │ │ └── ... -│ │ ├── txn_seq -│ │ │ ├── _meta -│ │ │ ├── _txnlog -│ │ │ └── _wal_index.d -│ │ ├── wal1 -│ │ │ └── 0 -│ │ │ ├── _meta -│ │ │ ├── _event -│ │ │ ├── column1.d -│ │ │ ├── column2.d -│ │ │ └── ... -│ │ ├── wal2 -│ │ │ └── 0 -│ │ │ │ ├── _meta -│ │ │ │ ├── _event -│ │ │ │ ├── column1.d -│ │ │ │ ├── column2.d -│ │ │ │ └── ... -│ │ │ └── 1 -│ │ │ ├── _meta -│ │ │ ├── _event -│ │ │ ├── column1.d -│ │ │ ├── column2.d -│ │ │ └── ... -│ │ │ -│ │ ├── _meta -│ │ ├── _txn -│ │ └── _cv - -``` - -### Ingestion via ILP protocol - -- **Native ILP integration:** - QuestDB supports the [Influx Line Protocol](/docs/reference/api/ilp/overview/) - (ILP) for high-speed data ingestion. - -- **Extensions to ILP:** - QuestDB extends ILP to support different timestamp units and the array data type. - -- **Minimal parsing overhead:** - The ILP parser quickly maps incoming data to internal structures. - -- **Parallel ingestion:** - The ILP path uses off-heap buffers and direct memory management to bypass JVM heap allocation. - -- **Protocol versatility:** - In addition to ILP, QuestDB also supports ingestion via [REST](/docs/reference/sql/overview/#rest-http-api) - and [PostgreSQL wire](/docs/reference/sql/overview/#postgresql) protocols. - -## Replication - -- **Read replicas:** QuestDB uses object storage (via NFS, S3, Azure Blob Storage, or GCS) -and read replicas. Both local, cross-zonal, and cross-regional replication patterns are -supported. The architecture is described at the [replication concepts](/docs/concept/replication/) -page. - -- **Write replicas:** QuestDB allows [multi-primary ingestion](/docs/operations/multi-primary-ingestion/), which allows both increasing the write throughput, and enabling -high availabilty. A [distributed sequencer](/docs/operations/multi-primary-ingestion/#distributed-sequencer-with-foundationdb) makes sure transactions are conflict-free, and -tracks status of the cluster to enable instance discovery and automatic failover. - - -## Networking layer - -QuestDB exposes several network interfaces and protocols to allow different client applications to interact with the database - -### InfluxDB Line protocol (ILP) over HTTP or TCP - -The [Influx Line Protocol](/docs/reference/api/ilp/overview/) allows for very high throughput of incoming data. It supports -both HTTP (recommended) or TCP. QuestDB provides official clients in seven different programming languages, as well as -integrations with third-party tools like Apache Kafka, Apache Flink, or Telegraf. Any ILP-compatible library can be used -for ingesting data into QuestDB over HTTP. - -The default port number for ILP over HTTP is `9000`, and for ILP over TCP is `9009`. - -### PostgreSQL wire protocol - -QuestDB exposes a [PostgreSQL wire](/docs/reference/sql/overview/#postgresql) protocol, which can be used to send SQL -statements both for data definition or for data manipulation. When used for data ingestion, throughput is noticeably -lower than using the ILP protocol. - -QuestDB implements the wire protocol, allowing many third-party libraries to query QuestDB directly. Some client libraries -might be incompatible if they rely heavily on PostgreSQL metadata, as QuestDB implements only a subset of it. For an -overview of some key differences on QuestDB schema design, please visit our -[Schema Design Essentials](/docs/guides/schema-design-essentials/) guide. - -The default port number for the pg-wire interface is `8812`. - -### HTTP Rest API - -QuestDB [REST API](/docs/reference/sql/overview/#rest-http-api) can be used to issue SQL statements over HTTP. It also -exposes and endpoint for importing CSV files, and for exporting tables and query results. - -The default port number for the REST API is `9000`. - -### Minimal HTTP server for health-check and metrics - -QuestDB exposes an HTTP interface for monitoring. Please see the [Observability](#observability--diagnostics) section -for more information. - -The default port number for the minimal HTTP server is `9003`. - -## Security - -- **Built-in admin and read-only users:** - QuestDB includes built-in admin and read-only users for the pgwire protocol and HTTP endpoints using HTTP Basic Auth. - -- **HTTP basic authentication:** - You can enable HTTP Basic Authentication for the HTTP API, web console, and pgwire - protocol. Health-check and metrics endpoints can be configured independently. - -- **Token-based authentication:** - QuestDB Enterprise offers HTTP and JWT token authentication. QuestDB Open Source - supports token authentication for ILP over TCP. - -- **TLS on all protocols:** - QuestDB Enterprise supports TLS on all protocols and endpoints. - -- **Single sign-on:** - QuestDB Enterprise supports SSO via OIDC with Active Directory, EntraID, or OAuth2. - -- **Role-based access control:** - Enterprise users can create user groups and assign service accounts and users. - Grants [can be configured](/docs/operations/rbac/) individually or at the - group level with fine granularity, including column-level access. - - -## Observability & diagnostics - -- **Metrics:** - QuestDB exposes detailed [metrics in Prometheus format](/docs/operations/logging-metrics/#metrics), including query - statistics, memory usage, and I/O details. - -- **Health check:** - A [minimal HTTP server](/docs/operations/logging-metrics/#minimal-http-server) monitors system health. - -- **Metadata tables:** - The engine provides [metadata tables](/docs/reference/function/meta/) to query - table status, partition status, query execution, and latency. - -- **Extensive logging:** - [Logging](/docs/operations/logging-metrics/) covers SQL parsing, execution, background processing, and runtime exceptions. The framework minimizes performance impact. - -- **Real-time metric dashboards:** - The web console lets you create dashboards that display per-table metrics. - - - -## Web Console - -The [QuestDB Web console](/docs/web-console/) is ideal for interactive exploration, and implements: - -- **SQL Editor** featuring tabs and SQL autocompletion. -- **Table and Materialized View** explorer. -- **CSV import** manager. -- **Single-sign-on**, when enabled for enterprise users. -- **Basic Auth**, when enabled for both OSS and Enterprise users. -- **Real-time metric dashboards**, to track transactions throughput, latency, and write amplification. - - - - -## Design patterns & best practices throughout the code base - -- **Immutable data structures:** - The system favors immutability to avoid concurrency issues and simplify state - management. - -- **Modular architecture:** - Each component (storage, query processing, ingestion, etc.) has well-defined interfaces that enhance maintainability. - -- **Factory & builder patterns:** - The engine uses these patterns to centralize construction logic for complex objects like SQL execution plans and storage buffers. - -- **Lazy initialization:** - Resource-intensive components initialize only when needed to reduce startup overhead. - -- **Rigorous testing & benchmarks:** - [Unit tests, integration tests](https://github.com/questdb/questdb/tree/master/core/src/test), - and performance benchmarks ensure that new enhancements do not compromise - reliability or speed. - -## Further reading & resources - -- [QuestDB GitHub Repository](https://github.com/questdb/questdb) -- [QuestDB Documentation](/docs) diff --git a/documentation/sidebars.js b/documentation/sidebars.js index cfc2f2c88..102428871 100644 --- a/documentation/sidebars.js +++ b/documentation/sidebars.js @@ -516,7 +516,23 @@ module.exports = { "guides/import-csv", "guides/mat-views", "guides/modifying-data", - "guides/questdb-architecture", + { + label: "QuestDB Architecture", + type: "category", + items: [ + "guides/architecture/overview", + "guides/architecture/storage-engine", + "guides/architecture/memory-management", + "guides/architecture/query-engine", + "guides/architecture/time-series-optimizations", + "guides/architecture/data-ingestion-engine", + "guides/architecture/networking-layer", + "guides/architecture/replication-layer", + "guides/architecture/security", + "guides/architecture/observability", + "guides/architecture/web-console" + ] + }, "guides/replication-tuning", "guides/working-with-timestamps-timezones", "web-console", From a4b347dac95e47129e15d91f65dfa98eb0851fdb Mon Sep 17 00:00:00 2001 From: javier Date: Tue, 27 May 2025 17:54:55 +0200 Subject: [PATCH 29/35] changed links --- .../architecture/data-ingestion-engine.md | 4 ++-- .../guides/architecture/memory-management.md | 2 +- .../guides/architecture/networking-layer.md | 2 +- .../guides/architecture/observability.md | 2 +- documentation/guides/architecture/overview.md | 20 +++++++++---------- .../guides/architecture/query-engine.md | 2 +- .../guides/architecture/replication-layer.md | 2 +- documentation/guides/architecture/security.md | 2 +- .../guides/architecture/storage-engine.md | 2 +- .../architecture/time-series-optimizations.md | 2 +- .../guides/architecture/web-console.md | 2 +- 11 files changed, 21 insertions(+), 21 deletions(-) diff --git a/documentation/guides/architecture/data-ingestion-engine.md b/documentation/guides/architecture/data-ingestion-engine.md index aafcd0d66..908c1d698 100644 --- a/documentation/guides/architecture/data-ingestion-engine.md +++ b/documentation/guides/architecture/data-ingestion-engine.md @@ -99,8 +99,8 @@ and the binary columnar data. and [PostgreSQL wire](/docs/reference/sql/overview/#postgresql) protocols. -# Next Steps +## Next Steps -- Back to the [QuestDB Architecture](../questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/memory-management.md b/documentation/guides/architecture/memory-management.md index d7c4ae835..74c515a82 100644 --- a/documentation/guides/architecture/memory-management.md +++ b/documentation/guides/architecture/memory-management.md @@ -40,7 +40,7 @@ QuestDB offers high-speed ingestion and low-latency analytics on time-series dat ## Next Steps -- Back to the [QuestDB Architecture](../questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/networking-layer.md b/documentation/guides/architecture/networking-layer.md index 6e70f629b..3b6adfe44 100644 --- a/documentation/guides/architecture/networking-layer.md +++ b/documentation/guides/architecture/networking-layer.md @@ -47,7 +47,7 @@ The default port number for the minimal HTTP server is `9003`. ## Next Steps -- Back to the [QuestDB Architecture](../questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/observability.md b/documentation/guides/architecture/observability.md index 960693a6a..0f5616fa0 100644 --- a/documentation/guides/architecture/observability.md +++ b/documentation/guides/architecture/observability.md @@ -35,6 +35,6 @@ description: QuestDB provides real-time metrics, a health check endpoint, and lo ## Next Steps -- Back to the [QuestDB Architecture](../questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/overview.md b/documentation/guides/architecture/overview.md index 43169ced6..c2fe22110 100644 --- a/documentation/guides/architecture/overview.md +++ b/documentation/guides/architecture/overview.md @@ -20,43 +20,43 @@ This document explains QuestDB's internal architecture. QuestDB is comprised of several key components: -- **[Storage engine](../storage-engine):** +- **[Storage engine](/docs/guides/questdb-architecture/storage-engine):** The engine uses a column-oriented design to ensure high I/O performance and low latency. -- **[Memory management and native integration](./memory-management):** +- **[Memory management and native integration](/docs/guides/questdb-architecture/memory-management):** The system leverages both memory mapping and explicit memory management techniques, and integrates native code for performance-critical tasks. -- **[Query engine](./query-engine):** +- **[Query engine](/docs/guides/questdb-architecture/query-engine):** A custom SQL parser, a just-in-time (JIT) compiler, and a vectorized execution engine process data in table page frames for better CPU use. -- **[Time-series Optimizations](./time-series-optimizations):** +- **[Time-series Optimizations](/docs/guides/questdb-architecture/time-series-optimizations):** QuestDB is specifically designed for time-series, and it provides several optimizations, like a designated timestamp, sequential reads, materialized-views, or in-memory processing. -- **[Data ingestion engine](./data-ingestion-engine):** +- **[Data ingestion engine](/docs/guides/questdb-architecture/data-ingestion-engine):** The engine supports bulk and streaming ingestion. It writes data to a row-based write-ahead log (WAL) and then converts it into a columnar format. In QuestDB Enterprise, the WAL segments ship to object storage for replication. -- **[Networking layer](./networking-layer):** +- **[Networking layer](/docs/guides/questdb-architecture/networking-layer):** The system exposes RESTful APIs and implements ILP and PostgreSQL wire protocols so that existing tools and drivers work out-of-the-box. It also offers a health and metrics endpoint. -- **[Replication layer](./replication):** +- **[Replication layer](/docs/guides/questdb-architecture/replication):** QuestDB Enterprise supports horizontal scalability for reads with read replicas, and for writes with multi-primary. -- **[Security](./security):** +- **[Security](/docs/guides/questdb-architecture/security):** QuestDB provides real-time metrics, a health check endpoint, and logging to monitor performance and simplify troubleshooting. -- **[Observability](./observability):** +- **[Observability](/docs/guides/questdb-architecture/observability):** QuestDB provides real-time metrics, a health check endpoint, and logging to monitor performance and simplify troubleshooting. -- **[Web console](./web-console):** +- **[Web console](/docs/guides/questdb-architecture/web-console):** The engine includes a web console to run SQL statements, bulk load CSV files, and show monitoring dashboards. QuestDB Enterprise supports single sign-on (SSO) in the web console. diff --git a/documentation/guides/architecture/query-engine.md b/documentation/guides/architecture/query-engine.md index da7c43512..823c8fb09 100644 --- a/documentation/guides/architecture/query-engine.md +++ b/documentation/guides/architecture/query-engine.md @@ -72,6 +72,6 @@ parsing incoming data, applying WAL file changes, handling PostgreSQL-Wire proto ## Next Steps -- Back to the [QuestDB Architecture](../questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/replication-layer.md b/documentation/guides/architecture/replication-layer.md index c9fea1d13..9f778b363 100644 --- a/documentation/guides/architecture/replication-layer.md +++ b/documentation/guides/architecture/replication-layer.md @@ -19,6 +19,6 @@ tracks status of the cluster to enable instance discovery and automatic failover ## Next Steps -- Back to the [QuestDB Architecture](../questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/security.md b/documentation/guides/architecture/security.md index 1fca2024e..cc0349ceb 100644 --- a/documentation/guides/architecture/security.md +++ b/documentation/guides/architecture/security.md @@ -31,6 +31,6 @@ description: QuestDB provides real-time metrics, a health check endpoint, and lo ## Next Steps -- Back to the [QuestDB Architecture](../questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/storage-engine.md b/documentation/guides/architecture/storage-engine.md index 91f0852f7..b9732fcfb 100644 --- a/documentation/guides/architecture/storage-engine.md +++ b/documentation/guides/architecture/storage-engine.md @@ -70,6 +70,6 @@ deduplicated on additional columns. ## Next Steps -- Back to the [QuestDB Architecture](../questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/time-series-optimizations.md b/documentation/guides/architecture/time-series-optimizations.md index e52c4151f..a5ba34fee 100644 --- a/documentation/guides/architecture/time-series-optimizations.md +++ b/documentation/guides/architecture/time-series-optimizations.md @@ -109,6 +109,6 @@ Varchar data (column file): ## Next Steps -- Back to the [QuestDB Architecture](../questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/web-console.md b/documentation/guides/architecture/web-console.md index 65d5ec24d..9bc2b797e 100644 --- a/documentation/guides/architecture/web-console.md +++ b/documentation/guides/architecture/web-console.md @@ -25,7 +25,7 @@ The [QuestDB Web console](/docs/web-console/) is ideal for interactive explorati ## Next Steps -- Back to the [QuestDB Architecture](../questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) From 218c70b1c8d6752162dbb42cc443e65946bd5341 Mon Sep 17 00:00:00 2001 From: javier Date: Tue, 27 May 2025 18:02:23 +0200 Subject: [PATCH 30/35] links fixed --- .../architecture/data-ingestion-engine.md | 3 ++- .../guides/architecture/memory-management.md | 3 ++- .../guides/architecture/networking-layer.md | 3 ++- .../guides/architecture/observability.md | 3 ++- documentation/guides/architecture/overview.md | 20 +++++++++---------- .../guides/architecture/query-engine.md | 2 +- .../guides/architecture/replication-layer.md | 3 ++- documentation/guides/architecture/security.md | 2 +- .../guides/architecture/storage-engine.md | 3 ++- .../architecture/time-series-optimizations.md | 3 ++- .../guides/architecture/web-console.md | 4 +++- 11 files changed, 29 insertions(+), 20 deletions(-) diff --git a/documentation/guides/architecture/data-ingestion-engine.md b/documentation/guides/architecture/data-ingestion-engine.md index 908c1d698..a6d41dcf2 100644 --- a/documentation/guides/architecture/data-ingestion-engine.md +++ b/documentation/guides/architecture/data-ingestion-engine.md @@ -101,6 +101,7 @@ and the binary columnar data. ## Next Steps -- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/architecture/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) + diff --git a/documentation/guides/architecture/memory-management.md b/documentation/guides/architecture/memory-management.md index 74c515a82..bab977598 100644 --- a/documentation/guides/architecture/memory-management.md +++ b/documentation/guides/architecture/memory-management.md @@ -40,8 +40,9 @@ QuestDB offers high-speed ingestion and low-latency analytics on time-series dat ## Next Steps -- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/architecture/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) + diff --git a/documentation/guides/architecture/networking-layer.md b/documentation/guides/architecture/networking-layer.md index 3b6adfe44..51353b00a 100644 --- a/documentation/guides/architecture/networking-layer.md +++ b/documentation/guides/architecture/networking-layer.md @@ -47,7 +47,8 @@ The default port number for the minimal HTTP server is `9003`. ## Next Steps -- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/architecture/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) + diff --git a/documentation/guides/architecture/observability.md b/documentation/guides/architecture/observability.md index 0f5616fa0..22b514f39 100644 --- a/documentation/guides/architecture/observability.md +++ b/documentation/guides/architecture/observability.md @@ -35,6 +35,7 @@ description: QuestDB provides real-time metrics, a health check endpoint, and lo ## Next Steps -- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/architecture/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) + diff --git a/documentation/guides/architecture/overview.md b/documentation/guides/architecture/overview.md index c2fe22110..628fd3900 100644 --- a/documentation/guides/architecture/overview.md +++ b/documentation/guides/architecture/overview.md @@ -20,43 +20,43 @@ This document explains QuestDB's internal architecture. QuestDB is comprised of several key components: -- **[Storage engine](/docs/guides/questdb-architecture/storage-engine):** +- **[Storage engine](/docs/guides/architecture/storage-engine):** The engine uses a column-oriented design to ensure high I/O performance and low latency. -- **[Memory management and native integration](/docs/guides/questdb-architecture/memory-management):** +- **[Memory management and native integration](/docs/guides/architecture/memory-management):** The system leverages both memory mapping and explicit memory management techniques, and integrates native code for performance-critical tasks. -- **[Query engine](/docs/guides/questdb-architecture/query-engine):** +- **[Query engine](/docs/guides/architecture/query-engine):** A custom SQL parser, a just-in-time (JIT) compiler, and a vectorized execution engine process data in table page frames for better CPU use. -- **[Time-series Optimizations](/docs/guides/questdb-architecture/time-series-optimizations):** +- **[Time-series Optimizations](/docs/guides/architecture/time-series-optimizations):** QuestDB is specifically designed for time-series, and it provides several optimizations, like a designated timestamp, sequential reads, materialized-views, or in-memory processing. -- **[Data ingestion engine](/docs/guides/questdb-architecture/data-ingestion-engine):** +- **[Data ingestion engine](/docs/guides/architecture/data-ingestion-engine):** The engine supports bulk and streaming ingestion. It writes data to a row-based write-ahead log (WAL) and then converts it into a columnar format. In QuestDB Enterprise, the WAL segments ship to object storage for replication. -- **[Networking layer](/docs/guides/questdb-architecture/networking-layer):** +- **[Networking layer](/docs/guides/architecture/networking-layer):** The system exposes RESTful APIs and implements ILP and PostgreSQL wire protocols so that existing tools and drivers work out-of-the-box. It also offers a health and metrics endpoint. -- **[Replication layer](/docs/guides/questdb-architecture/replication):** +- **[Replication layer](/docs/guides/architecture/replication):** QuestDB Enterprise supports horizontal scalability for reads with read replicas, and for writes with multi-primary. -- **[Security](/docs/guides/questdb-architecture/security):** +- **[Security](/docs/guides/architecture/security):** QuestDB provides real-time metrics, a health check endpoint, and logging to monitor performance and simplify troubleshooting. -- **[Observability](/docs/guides/questdb-architecture/observability):** +- **[Observability](/docs/guides/architecture/observability):** QuestDB provides real-time metrics, a health check endpoint, and logging to monitor performance and simplify troubleshooting. -- **[Web console](/docs/guides/questdb-architecture/web-console):** +- **[Web console](/docs/guides/architecture/web-console):** The engine includes a web console to run SQL statements, bulk load CSV files, and show monitoring dashboards. QuestDB Enterprise supports single sign-on (SSO) in the web console. diff --git a/documentation/guides/architecture/query-engine.md b/documentation/guides/architecture/query-engine.md index 823c8fb09..41833beef 100644 --- a/documentation/guides/architecture/query-engine.md +++ b/documentation/guides/architecture/query-engine.md @@ -72,6 +72,6 @@ parsing incoming data, applying WAL file changes, handling PostgreSQL-Wire proto ## Next Steps -- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/architecture/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/replication-layer.md b/documentation/guides/architecture/replication-layer.md index 9f778b363..efd594dbc 100644 --- a/documentation/guides/architecture/replication-layer.md +++ b/documentation/guides/architecture/replication-layer.md @@ -19,6 +19,7 @@ tracks status of the cluster to enable instance discovery and automatic failover ## Next Steps -- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/architecture/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) + diff --git a/documentation/guides/architecture/security.md b/documentation/guides/architecture/security.md index cc0349ceb..81982bd93 100644 --- a/documentation/guides/architecture/security.md +++ b/documentation/guides/architecture/security.md @@ -31,6 +31,6 @@ description: QuestDB provides real-time metrics, a health check endpoint, and lo ## Next Steps -- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/architecture/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) diff --git a/documentation/guides/architecture/storage-engine.md b/documentation/guides/architecture/storage-engine.md index b9732fcfb..c44da42ec 100644 --- a/documentation/guides/architecture/storage-engine.md +++ b/documentation/guides/architecture/storage-engine.md @@ -70,6 +70,7 @@ deduplicated on additional columns. ## Next Steps -- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/architecture/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) + diff --git a/documentation/guides/architecture/time-series-optimizations.md b/documentation/guides/architecture/time-series-optimizations.md index a5ba34fee..d9eddc18e 100644 --- a/documentation/guides/architecture/time-series-optimizations.md +++ b/documentation/guides/architecture/time-series-optimizations.md @@ -109,6 +109,7 @@ Varchar data (column file): ## Next Steps -- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/architecture/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) + diff --git a/documentation/guides/architecture/web-console.md b/documentation/guides/architecture/web-console.md index 9bc2b797e..0622249bc 100644 --- a/documentation/guides/architecture/web-console.md +++ b/documentation/guides/architecture/web-console.md @@ -25,7 +25,9 @@ The [QuestDB Web console](/docs/web-console/) is ideal for interactive explorati ## Next Steps -- Back to the [QuestDB Architecture](/docs/guides/questdb-architecture) overview +- Back to the [QuestDB Architecture](/docs/guides/architecture/questdb-architecture) overview - [QuestDB GitHub Repository](https://github.com/questdb/questdb) - [QuestDB Documentation](/docs) + + From 80a104ecefd7eb520823e7065830e51c2e7fd058 Mon Sep 17 00:00:00 2001 From: javier Date: Tue, 27 May 2025 18:06:56 +0200 Subject: [PATCH 31/35] two broken links --- documentation/guides/architecture/overview.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/documentation/guides/architecture/overview.md b/documentation/guides/architecture/overview.md index 628fd3900..de153dd7d 100644 --- a/documentation/guides/architecture/overview.md +++ b/documentation/guides/architecture/overview.md @@ -35,7 +35,7 @@ QuestDB is comprised of several key components: QuestDB is specifically designed for time-series, and it provides several optimizations, like a designated timestamp, sequential reads, materialized-views, or in-memory processing. -- **[Data ingestion engine](/docs/guides/architecture/data-ingestion-engine):** +- **[Data ingestion engine](/docs/guides/architecture/data-ingestion):** The engine supports bulk and streaming ingestion. It writes data to a row-based write-ahead log (WAL) and then converts it into a columnar format. In QuestDB Enterprise, the WAL segments ship to object storage for replication. @@ -44,7 +44,7 @@ QuestDB is comprised of several key components: The system exposes RESTful APIs and implements ILP and PostgreSQL wire protocols so that existing tools and drivers work out-of-the-box. It also offers a health and metrics endpoint. -- **[Replication layer](/docs/guides/architecture/replication):** +- **[Replication layer](/docs/guides/architecture/replication-layer):** QuestDB Enterprise supports horizontal scalability for reads with read replicas, and for writes with multi-primary. From 5672dd301f76fd1106de8ee7f01f6c88e4814802 Mon Sep 17 00:00:00 2001 From: javier Date: Tue, 27 May 2025 18:11:59 +0200 Subject: [PATCH 32/35] link to observability --- documentation/guides/architecture/networking-layer.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/guides/architecture/networking-layer.md b/documentation/guides/architecture/networking-layer.md index 51353b00a..4e8b400e0 100644 --- a/documentation/guides/architecture/networking-layer.md +++ b/documentation/guides/architecture/networking-layer.md @@ -40,7 +40,7 @@ The default port number for the REST API is `9000`. ### Minimal HTTP server for health-check and metrics -QuestDB exposes an HTTP interface for monitoring. Please see the [Observability](#observability--diagnostics) section +QuestDB exposes an HTTP interface for monitoring. Please see the [Observability](/docs/guides/architecture/observability) section for more information. The default port number for the minimal HTTP server is `9003`. From 8f47519ef97629feb1a02d8d43a858e9b7503496 Mon Sep 17 00:00:00 2001 From: javier Date: Wed, 28 May 2025 14:15:50 +0200 Subject: [PATCH 33/35] adding intros to all subpages --- .../architecture/data-ingestion-engine.md | 3 ++ .../guides/architecture/memory-management.md | 6 +-- .../guides/architecture/observability.md | 2 + documentation/guides/architecture/overview.md | 4 +- .../guides/architecture/query-engine.md | 8 +-- .../guides/architecture/replication-layer.md | 49 ++++++++++++++++--- documentation/guides/architecture/security.md | 5 +- .../guides/architecture/storage-engine.md | 4 ++ .../architecture/time-series-optimizations.md | 3 ++ 9 files changed, 67 insertions(+), 17 deletions(-) diff --git a/documentation/guides/architecture/data-ingestion-engine.md b/documentation/guides/architecture/data-ingestion-engine.md index a6d41dcf2..1eb497ac6 100644 --- a/documentation/guides/architecture/data-ingestion-engine.md +++ b/documentation/guides/architecture/data-ingestion-engine.md @@ -7,6 +7,9 @@ description: The QuestDB Data Ingestion Engine supports bulk and streaming inges ## Data ingestion & write path +The QuestDB Data Ingestion Engine supports bulk and streaming ingestion. It writes data to a row-based write-ahead log +(WAL) and then converts it into a columnar format. In QuestDB Enterprise, the WAL segments ship to object storage for replication. + ### Bulk ingestion - **CSV ingestion:** diff --git a/documentation/guides/architecture/memory-management.md b/documentation/guides/architecture/memory-management.md index bab977598..50dda1c65 100644 --- a/documentation/guides/architecture/memory-management.md +++ b/documentation/guides/architecture/memory-management.md @@ -1,14 +1,14 @@ --- title: Memory Management slug: memory-management -description: The system leverages both memory mapping and explicit memory management techniques, and integrates native code for performance-critical tasks. +description: QuestDB leverages both memory mapping and explicit memory management techniques, and integrates native code for performance-critical tasks. --- -QuestDB offers high-speed ingestion and low-latency analytics on time-series data. - ## Memory management and native integration +QuestDB leverages both memory mapping and explicit memory management techniques, and integrates native code for performance-critical tasks. + ### Memory-mapped files - **Direct OS integration:** diff --git a/documentation/guides/architecture/observability.md b/documentation/guides/architecture/observability.md index 22b514f39..067032737 100644 --- a/documentation/guides/architecture/observability.md +++ b/documentation/guides/architecture/observability.md @@ -7,6 +7,8 @@ description: QuestDB provides real-time metrics, a health check endpoint, and lo ## Observability & diagnostics +QuestDB provides real-time metrics, a health check endpoint, and logging to monitor performance and simplify troubleshooting. + - **Metrics:** QuestDB exposes detailed [metrics in Prometheus format](/docs/operations/logging-metrics/#metrics), including query statistics, memory usage, and I/O details. diff --git a/documentation/guides/architecture/overview.md b/documentation/guides/architecture/overview.md index de153dd7d..d0cfd89a1 100644 --- a/documentation/guides/architecture/overview.md +++ b/documentation/guides/architecture/overview.md @@ -49,8 +49,8 @@ QuestDB is comprised of several key components: writes with multi-primary. - **[Security](/docs/guides/architecture/security):** - QuestDB provides real-time metrics, a health check endpoint, and logging to monitor - performance and simplify troubleshooting. + QuestDB implements enterprise-grade security with TLS, single-sign-on, and role-based access control with + fine-grained granularity. - **[Observability](/docs/guides/architecture/observability):** QuestDB provides real-time metrics, a health check endpoint, and logging to monitor diff --git a/documentation/guides/architecture/query-engine.md b/documentation/guides/architecture/query-engine.md index 41833beef..ab9e8d247 100644 --- a/documentation/guides/architecture/query-engine.md +++ b/documentation/guides/architecture/query-engine.md @@ -1,16 +1,16 @@ --- title: Query Engine slug: query-engine -description: Questrb Query Engine includes A custom SQL parser, a just-in-time (JIT) compiler, and a vectorized execution engine process data in table page frames for better CPU use. +description: The QuestDB Query Engine includes A custom SQL parser, a just-in-time (JIT) compiler, and a vectorized execution engine to process data in table page frames for better CPU use. --- -QuestDB offers high-speed ingestion and low-latency analytics on time-series data. - +## Query engine +The QuestDB Query Engine includes A custom SQL parser, a just-in-time (JIT) compiler, and a vectorized execution engine +to process data in table page frames for better CPU use. -## Query engine ### SQL parsing & optimization diff --git a/documentation/guides/architecture/replication-layer.md b/documentation/guides/architecture/replication-layer.md index efd594dbc..877b1bf33 100644 --- a/documentation/guides/architecture/replication-layer.md +++ b/documentation/guides/architecture/replication-layer.md @@ -5,17 +5,52 @@ description: QuestDB Enterprise supports horizontal scalability for reads with r --- - ## Replication -- **Read replicas:** QuestDB uses object storage (via NFS, S3, Azure Blob Storage, or GCS) -and read replicas. Both local, cross-zonal, and cross-regional replication patterns are -supported. The architecture is described at the [replication concepts](/docs/concept/replication/) +QuestDB Enterprise offers primary-replica replication with eventual consistency. Replication in QuestDB operates by +designating a single "primary" database that uploads Write Ahead Log (WAL) files to a remote object store. These files +can be downloaded and applied by any number of "replica" instances, either continuously or at a later time. + +Full details of replication can be found at the [replication concepts](/docs/concept/replication/) page. -- **Write replicas:** QuestDB allows [multi-primary ingestion](/docs/operations/multi-primary-ingestion/), which allows both increasing the write throughput, and enabling -high availabilty. A [distributed sequencer](/docs/operations/multi-primary-ingestion/#distributed-sequencer-with-foundationdb) makes sure transactions are conflict-free, and -tracks status of the cluster to enable instance discovery and automatic failover. +### Type of instances on a replicated QuestDB cluster + +#### Primary instances + +Primary instances offer the same features as stand-alone instances, supporting both reads and writes. To keep the +overhead of replication to a minimum, primary instances only ship WAL segments to the designated object store. There +is no communication between the primary and the replicas. Metadata is also replicated to the object store to avoid any +inconsistencies between different instances in the cluster. + +A typical replicated deployment will have at least one primary and one replica, but it is also possible to set up a +primary to replicate changes to the object store, even if there are no read replicas configured. The replicated data +could be used for point-in-time recovery. + +For demanding scenarios, QuestDB Enterprise allows [multi-primary ingestion](/docs/operations/multi-primary-ingestion/), +which allows both increasing the write throughput, and enabling high availabilty. In order to enable multi-primary ingestion, +a `Distributed Sequencer` instance will need to be created. + + +#### Read Replicas + +Read Replicas are designed to distribute data and load across multiple locations and instances. Each replica can have +different hardware configuration, to allow for optimizations depending on the usage. + +Replicas can be local, cross-zonal, or cross-regional. As long as the replicas can read metadata and WAL segments from +the object store, they will catch up with the data ingested by the primaries. + +At the moment of writing this guide, read replicas will replicate from all tables and partitions from the primaries. + +#### Distributed Sequencer + +When multi-primary ingestion is configured, it is necessary to coordinate writes, to ensure transactions are consistent +and conflict-free. + +The sequencer coordinates transactions by assigning monotonic transaction numbers to writes. The distributed sequencer +uses [FoundationDB](https://www.foundationdb.org/) as the backend for storing transaction metadata and enabling synchronization +across primaries. + ## Next Steps diff --git a/documentation/guides/architecture/security.md b/documentation/guides/architecture/security.md index 81982bd93..cca2c95ee 100644 --- a/documentation/guides/architecture/security.md +++ b/documentation/guides/architecture/security.md @@ -1,12 +1,15 @@ --- title: Security slug: security -description: QuestDB provides real-time metrics, a health check endpoint, and logging to monitor performance and simplify troubleshooting. +description: QuestDB implements enterprise-grade security with TLS, single-sign-on, and role-based access control with fine-grained granularity. --- ## Security + QuestDB implements enterprise-grade security with TLS, single-sign-on, and role-based access control with + fine-grained granularity. + - **Built-in admin and read-only users:** QuestDB includes built-in admin and read-only users for the pgwire protocol and HTTP endpoints using HTTP Basic Auth. diff --git a/documentation/guides/architecture/storage-engine.md b/documentation/guides/architecture/storage-engine.md index c44da42ec..201a3af03 100644 --- a/documentation/guides/architecture/storage-engine.md +++ b/documentation/guides/architecture/storage-engine.md @@ -7,6 +7,10 @@ description: The QuestDB Storage Engine uses a column-oriented design to ensure ## Storage engine +The QuestDB Storage Engine implements a row-based write path for maximum ingestion throughput, and a column-based +read path for maximum query performance. + + ### Parallel Write-Ahead-Log - **Two-phase writes**: All changes to data are recorded in a Write-Ahead-Log (WAL) before they diff --git a/documentation/guides/architecture/time-series-optimizations.md b/documentation/guides/architecture/time-series-optimizations.md index d9eddc18e..49f6065f1 100644 --- a/documentation/guides/architecture/time-series-optimizations.md +++ b/documentation/guides/architecture/time-series-optimizations.md @@ -7,6 +7,9 @@ description: QuestDB is specifically designed for time-series, and it provides s ## Time-series optimizations +QuestDB is specifically designed for time-series, and it provides several optimizations, like a designated timestamp, +sequential reads, materialized-views, or in-memory processing. + ### Designated timestamp - **Timestamp sorting:** From d4a88875c0ed185565c755c61752a1474fa22829 Mon Sep 17 00:00:00 2001 From: javier Date: Wed, 28 May 2025 18:02:32 +0200 Subject: [PATCH 34/35] minor text changes on architecture overview, plus titles and sidebar menu re-sort --- .../guides/active-directory-pingfederate.md | 2 +- documentation/guides/architecture/overview.md | 39 ++++++------- .../guides/microsoft-entraid-oidc.md | 2 +- documentation/sidebars.js | 57 +++++++++---------- 4 files changed, 46 insertions(+), 54 deletions(-) diff --git a/documentation/guides/active-directory-pingfederate.md b/documentation/guides/active-directory-pingfederate.md index 5018ddcea..d9dcb8644 100644 --- a/documentation/guides/active-directory-pingfederate.md +++ b/documentation/guides/active-directory-pingfederate.md @@ -1,5 +1,5 @@ --- -title: Active Directory (PingFederate) guide +title: Active Directory (PingFederate) description: "" --- diff --git a/documentation/guides/architecture/overview.md b/documentation/guides/architecture/overview.md index d0cfd89a1..9f134ac2e 100644 --- a/documentation/guides/architecture/overview.md +++ b/documentation/guides/architecture/overview.md @@ -1,5 +1,5 @@ --- -title: Architecture Overview +title: Overview slug: questdb-architecture description: A deep technical dive into the internal architecture, storage engine, query processing, and native integrations of QuestDB. --- @@ -21,59 +21,54 @@ This document explains QuestDB's internal architecture. QuestDB is comprised of several key components: - **[Storage engine](/docs/guides/architecture/storage-engine):** - The engine uses a column-oriented design to ensure high I/O performance and low latency. + Uses a column-oriented design to ensure high I/O performance and low latency. - **[Memory management and native integration](/docs/guides/architecture/memory-management):** - The system leverages both memory mapping and explicit memory management techniques, - and integrates native code for performance-critical tasks. + The system leverages both memory mapping and explicit memory management techniques,integrating native code for performance-critical tasks. - **[Query engine](/docs/guides/architecture/query-engine):** A custom SQL parser, a just-in-time (JIT) compiler, and a vectorized execution engine process data in table page frames for better CPU use. -- **[Time-series Optimizations](/docs/guides/architecture/time-series-optimizations):** - QuestDB is specifically designed for time-series, and it provides several optimizations, like a - designated timestamp, sequential reads, materialized-views, or in-memory processing. +- **[Time-series optimizations](/docs/guides/architecture/time-series-optimizations):** + QuestDB is specifically designed for time-series, and it provides several optimizations, such as a designated timestamp, sequential reads, materialized views, and in-memory processing. - **[Data ingestion engine](/docs/guides/architecture/data-ingestion):** - The engine supports bulk and streaming ingestion. It writes data to a row-based write-ahead + TSupports both bulk and streaming ingestion. It writes data to a row-based write-ahead log (WAL) and then converts it into a columnar format. In QuestDB Enterprise, the WAL segments - ship to object storage for replication. + are shipped to object storage for replication. - **[Networking layer](/docs/guides/architecture/networking-layer):** - The system exposes RESTful APIs and implements ILP and PostgreSQL wire protocols so that - existing tools and drivers work out-of-the-box. It also offers a health and metrics endpoint. + The system exposes RESTful APIs and implements ILP and PostgreSQL wire protocols to ensure compatibility with existing tools and drivers. It also offers a health and metrics endpoint. - **[Replication layer](/docs/guides/architecture/replication-layer):** - QuestDB Enterprise supports horizontal scalability for reads with read replicas, and for - writes with multi-primary. + QuestDB Enterprise supports horizontal scalability for reads via read replicas, and for + writes via multi-primary configurations. - **[Security](/docs/guides/architecture/security):** - QuestDB implements enterprise-grade security with TLS, single-sign-on, and role-based access control with + QuestDB implements enterprise-grade security with TLS, single sign-on (SSO), and role-based access control with fine-grained granularity. - **[Observability](/docs/guides/architecture/observability):** - QuestDB provides real-time metrics, a health check endpoint, and logging to monitor - performance and simplify troubleshooting. + QuestDB exposes real-time metrics, health checks, and structured logs to monitor performance and streamline diagnostics. - **[Web console](/docs/guides/architecture/web-console):** - The engine includes a web console to run SQL statements, bulk load CSV files, and show - monitoring dashboards. QuestDB Enterprise supports single sign-on (SSO) in the web console. + The engine includes a web console for running SQL statements, bulk loading CSV files, and displaying monitoring dashboards. QuestDB Enterprise supports single sign-on (SSO) in the web console. -## Design patterns & best practices throughout the code base +## Design patterns & best practices throughout the codebase - **Immutable data structures:** The system favors immutability to avoid concurrency issues and simplify state management. - **Modular architecture:** - Each component (storage, query processing, ingestion, etc.) has well-defined interfaces that enhance maintainability. + Each component (eg., storage, query processing, ingestion, etc.) has well-defined interfaces that enhance maintainability and decouple functionality. - **Factory & builder patterns:** - The engine uses these patterns to centralize construction logic for complex objects like SQL execution plans and storage buffers. + These patterns are used to centralize construction logic for complex objects such as SQL execution plans and storage buffers. - **Lazy initialization:** Resource-intensive components initialize only when needed to reduce startup overhead. @@ -81,7 +76,7 @@ QuestDB is comprised of several key components: - **Rigorous testing & benchmarks:** [Unit tests, integration tests](https://github.com/questdb/questdb/tree/master/core/src/test), and performance benchmarks ensure that new enhancements do not compromise - reliability or speed. + reliability or performance. ## Further reading & resources diff --git a/documentation/guides/microsoft-entraid-oidc.md b/documentation/guides/microsoft-entraid-oidc.md index 10107862e..b873b4b18 100644 --- a/documentation/guides/microsoft-entraid-oidc.md +++ b/documentation/guides/microsoft-entraid-oidc.md @@ -1,5 +1,5 @@ --- -title: Microsoft EntraID OIDC guide +title: Microsoft EntraID OIDC description: "QuestDB Enterprise guide to demonstrate Microsoft EntraID OpenID Connect." --- diff --git a/documentation/sidebars.js b/documentation/sidebars.js index 102428871..2f9f55128 100644 --- a/documentation/sidebars.js +++ b/documentation/sidebars.js @@ -493,48 +493,28 @@ module.exports = { label: "Guides & Tutorials", type: "category", items: [ - { - id: "guides/microsoft-entraid-oidc", - label: "Active Directory - Microsoft Entra ID", - type: "doc", - customProps: { tag: "Enterprise" }, - }, - { - id: "guides/active-directory-pingfederate", - label: "Active Directory - PingFederate", - type: "doc", - customProps: { tag: "Enterprise" }, - }, "guides/create-database", + "guides/import-csv", + "guides/mat-views", + "guides/working-with-timestamps-timezones", + "guides/compression-zfs", { id: "guides/enterprise-quick-start", type: "doc", customProps: { tag: "Enterprise" }, }, - "guides/compression-zfs", - "reference/api/java-embedded", - "guides/import-csv", - "guides/mat-views", - "guides/modifying-data", { - label: "QuestDB Architecture", + label: "Active Directory", type: "category", + customProps: { tag: "Enterprise" }, items: [ - "guides/architecture/overview", - "guides/architecture/storage-engine", - "guides/architecture/memory-management", - "guides/architecture/query-engine", - "guides/architecture/time-series-optimizations", - "guides/architecture/data-ingestion-engine", - "guides/architecture/networking-layer", - "guides/architecture/replication-layer", - "guides/architecture/security", - "guides/architecture/observability", - "guides/architecture/web-console" + "guides/microsoft-entraid-oidc", + "guides/active-directory-pingfederate" ] }, "guides/replication-tuning", - "guides/working-with-timestamps-timezones", + "reference/api/java-embedded", + "guides/modifying-data", "web-console", { label: "Blog tutorials 🔗", @@ -572,6 +552,23 @@ module.exports = { "concept/write-ahead-log", ], }, + { + label: "QuestDB Architecture", + type: "category", + items: [ + "guides/architecture/overview", + "guides/architecture/storage-engine", + "guides/architecture/memory-management", + "guides/architecture/query-engine", + "guides/architecture/time-series-optimizations", + "guides/architecture/data-ingestion-engine", + "guides/architecture/networking-layer", + "guides/architecture/replication-layer", + "guides/architecture/security", + "guides/architecture/observability", + "guides/architecture/web-console" + ] + }, { label: "Third-party Tools", type: "category", From 5f1a7a217a517ca9d848734afa9e5c420054b15e Mon Sep 17 00:00:00 2001 From: javier Date: Wed, 28 May 2025 18:11:54 +0200 Subject: [PATCH 35/35] changed architecture sidebar label --- documentation/sidebars.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/documentation/sidebars.js b/documentation/sidebars.js index 2f9f55128..be3c7d633 100644 --- a/documentation/sidebars.js +++ b/documentation/sidebars.js @@ -553,7 +553,7 @@ module.exports = { ], }, { - label: "QuestDB Architecture", + label: "Architecture", type: "category", items: [ "guides/architecture/overview",

B3&0dkEvzx$ei%!oXxg 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 M>$E@9`;XWE0^E=-5C8xG literal 0 HcmV?d00001 diff --git a/static/images/docs/concepts/partitionModel.svg b/static/images/docs/concepts/partitionModel.svg deleted file mode 100644 index 9396bbcce..000000000 --- a/static/images/docs/concepts/partitionModel.svg +++ /dev/null @@ -1 +0,0 @@ -table directorycolumn filesTimecolumn filescolumn filesData fileTime partitionTime partitionTime partition \ No newline at end of file diff --git a/static/images/docs/concepts/partitionModel.webp b/static/images/docs/concepts/partitionModel.webp new file mode 100644 index 0000000000000000000000000000000000000000..e648fbbdf7207c4cf1a1596efc97382d2b47976f GIT binary patch literal 24888 zcmd?RbyQqgw=arIaCdiicXtbc;O=fgLU4E2!rdK$1b26b;O_45NYdS>zjwyD_q~7b zrD_Zo)MoFs=A1v7t9J2GN?e>#9|-8Pn6RR%A}1l~`}jN)BpsOg6r2u>p9(oxgeaQ` zQBo@$6U4vvyC+T*aLNmp8NZ2_(0%I>jns?8oo={5cqVTvMHc9h2>RIi?%TC)QRd8B zhu7QV@)Oge(2L8C*Q0`x?WMp(`-~^s^VW6xF2RGujqa`2cI(QUiHF*Ypg^k^=S|>S z{fYjI%#7{5*G-fL!Sh<30BYuP`?}|@JB!!Ioa05%ReP_%qAlrLwwK9^+hS%f zzssY*7Qvm@P3FF*ltA>A!qnRK8!6xPE5!}u!P@*=&zt+}{G0BJ?V7-jSGSk$i``4o zEy1S3`C9DShQO8w$ScXS<)iJ*_yWSo+O^lbd;DA2edp$EfmiOE?JLZ!%sR~US*TA*^V(hea+I0wdV7cG`_-QT597CMrvkBW?Qh-$y#k4EcCYhK3NI~hXU_-??XzBh zi<8H*M}?cUpI%M^eIDL#7_R}ZBu{UTQ~tUL9|VZ%wZ(Z*MPW6S`XhqXPYJmTzcpn$HMtZ%=PubZ=f-JXfF4UaQ`kpHJb^ z^f$F+LhR|udK#0E|F0jK7Ec9h$vGRMxmGLXDeg{Vp_<@*@My)OCvRa2{h?MgMd@fB z9?AkA!2dHc2}L`(SBLhKIVx9OpBPqKm>jPHYMpIH--jiBb~bRGjT{i+ z4NuGQqLmAK14LOnAe96hiEFW(lBdVJ%l6n*y5U1n)D!4Jo*f2b$&b-_Wpr5s>1Z%4rCzAI=oW*t?qi zPkeu`q3o|T|10DF3`OL${>sgt_1oge#1r(<=5-TgM-nShO#mbHWr^FNm{m}qzcn?b zLET9{O)&-l$pvI6t=W^~-L43y&GG0h$X6Y8lh(}52Y8!6S23CH=$Z^KHxcX5h+e2o zcQP|Ouh}EwO0yw22=F{w=P=IVoJ1v$Opz!STMsI%h43Z@ z(=$Z)H{5rQqkDtt-QU96ALzrtNN?R&iNBUWIF&F&6V1(v#-X@9u;h?|yuPflPNy>L zU3g#S=)zwkRODv4gf@;gJB6dI=Jqw-&dhsqxnIgRB(yBHvh{xarYBf4WWI)m8o1)w9<814lOT5?!P#`;0zRxiGB{Of$PJUQB66 z-x8^9%W%2%L~PWf8dmG(uk@I}2>HH%g%nojL#q>pQYK95il2dZwFy+L_*L5Lbbh|S zawHHA*Zior0uxXipIOlVRn8C|kB>ktpiSBa)IAf+2?&}N?rcn7e;oGJ`-&Wn8G=`0 zgCYW>irhv`{K~U=yq^}+5)Z>=PQH!fBQm{{BgKT8WU%JW-(+lcP^ywW!3{wiRxb!C zSnGT1GQHt<1hjO*5~}$JSkz#Tfoa3sCN~ zaQv)cYlk%3Z7oEYrF^iz9bE+de%Vzh<`GZZ1xJxV&yWO)g^oiN681O$FrKS`+}c&S zAE{i@+yBIzp{4`YxpcR%mO;1t0QNUW{l)?I*Wb|lJ<)d*x{v;g0SBSw8vl(M_&s=4 z&8gY1(l+8^$rAL>^*XVDm>3hJ;dZ*uc?H`>>i!OA!zu?Do}1q@ zuT=okw+*XB-})a6&!;jXF$?vXU4ePc{4Z*Kr!Q-&dfL8Utm~ewB_rPRo6pMzqnT@Q ze(`W9FK(0G*pd=bu!%Uk-U^N*UoS3yZC# zMscD|er)OCCU)EAX>@4$O%iZon0|p_HZ=oC&#*VW$5uMrDo;KjM_Z?CWqAZNb~b+! zP|RN!sna?)k7oWQ3B>9Vi@Z~$@7nIqBrHIJxW9lEN9eHLR1o=$I>-}8UPFiee8XGr zt!OY)<=05B1kd4R`xN18@_hroRUGVJwrmJMVaIXECsmxf$n~yznak; zk0ey+^&{YW+RObp^{c)uY7k*Z)g+ zA(xa1jeb?2u{_ZREOAF%h&>$+5(nt`FV+|M(&Rh^uo>!S4dMJdL8JucvOclDL^Xjk z$p6n;>a0Xp5cuDV3HN1gXIa|1g$DO`VEh{{H4nElu z@2Z4p71@NQX%F$=zQGiBkU@S)Q(6XGBY7Z~abNjl|G=JYG4xFcj3L`Rj$Gi2-Jf9n zc4f4W3H7-U`N(U%_fOcHGo0R0Ui{0K2WAO5sv#O=|M3l%Hqd1Gpz=rdzpcR56(gW+ z!5Hp;_b^Z#7Q7#f7d62DCv*wc1o_}SHi;>BefqaTFE#_h(}10JT)q%s*6vy6?l4L$J%T55fVPk>?F^!epCVrl6IjeKYm;tfPVul5 z8mVgc(m!mh+yfL}zG}iZZ)u#c`7Z_8gc$n#K&LOKoRk4M%!PkpQ53U3Ywzm--z~Sb z;2A?@AvMb2xM%QAd^rDQim3QT0jR%AA~7Nu;Ir59Zj&;bS6a;Fz8f2+il*T%J8i+tt8Tb^+T{(doe zbHHYBH-_Tf3`z1&ty@@Z|MIAbuJ7b2TJ!xkE&ma!${&XiLv>J~lG&pL%#d6yG{AWwEk{h{u?0Zbq4=O9_R@%;gD-P z;9Ad)Wco=<>&_i^a^sB`g)3yJl#qaIe zK_hhCU>xCl_J^GUj-%aNdSd}^R`f-xRp7darAges-;~nz9xiTn z2%~}DiTb0>|4U2582Yfs3n!cUFHw0FCqk%u?|9dLIy{9SkNj?fE z`$J?uB%y!?+WtpR`)@4&V}7O1x@nvVurd!a0D%@I|7_);AYlI6LH}9j-@?sTMs%_Z-;J~JXkurEqVkD4zo}?V z5@w8(8v&P)ZkM0$HeHfIhZc-j;fAPvD%WyQnF4#1>`Ml{&z$O38$7!j8a4_%O?(wK zrk$R~@+ma#`LGClcNdE(fzZ8x!kT_S3Iem!v^1+Vgu_WtpbFE$J(SiG@9D5+rCYG3 z)bE8W1~o=RD)41ayc3m4=!0EFlPCy%RE9^?7YWRa%-M2dx$S&Ap_3o(W#$m{fw22O zLva(hR`duFv)FN@;NTVA=Y_v6*7l4NIwQ)tTtg;dh%%mCWMd z-CE0&bQC^U+t0VhmYKWM)Cv!tXv_B3V741*H;Mi%tgfLCQ=;I}2L+>knVmumhO}Z^ zVIW_SrE0VAEVvKcTX<03qE^kj(W`db73)1K9+C)C{o@gl>xeUH%xDufD+5C7xH@iK`~zn z7tc{I>bOIy!ROW7jesRE=}$Ja*}X_^qNPj+co*9U4dq1WgpEYYO$$AX4*=21!ZKL9L}CfoozJ9Zr;bvheQgrION<*Nr%}9z%_>N(Md(PahYJoa zUo-J>5JWr2m92z&H8_3*n>mkX^Ei za|0a-Ec(m}616lu1y)fg9An{PpEx7NLBx|qw9FcN&-Qp1by0hfdu3_HHZAl;!A7`3 z(_`eVYn+6fbua2_bMRCj54e>)rCg{Dc}jO>*w;l1g2aaDerR=tp|D^H+ocAE3K#Mz zj(8A@Cx~WN*4*c7bMxKmj31sAerjtWRmsGevM;;yK=hb>Q(=-(P5B&Gl2mDrR!5)I zy1dggdyq1sS}A#sKT7i13d!1X;>mXc@~37Ri$Fd5MJCID2rg~T^x87jdp-pPhpyIf zR6QSYM{=4%B!&RCvzdTXh86{Pn|y_Xhx=57lW5zBRkn7Y9HkYMdTqDq5u5c~E5Xos zj};PuLO1%ZVfOOMYtJg)-jwc9>X-|l*HqX0TnH|A3D_*=rl?FL?i{S{eC_0$nolyA z1OXg|-wUni_DMcZ`hhL^qo6$3v6Fsl`=-$k3`eFWDYN`KQ^xb-nyRn}k^F;Fl=_)s zBYGxUSk$XmPoS$p8*AP+I>*CG7crsKoQ4@Zx@9MVzAII#bjdSWI>eS6USjOlAY90_ zLtNeVNU^JQW>jp;_JL2o$2~mafT6Hzu9k@=QP{Wkz-myTMp+!dL2T-K{3Dy1x;;2m zq+_?obAzyS;8<$I0NVv*miGyn#1jDa>&68ui0=7b-^=zRNDII1{VlO2bR|rT_{^2* za8|s}_=CV#Vp;34z&=*IpL;n`m!cVNUn-UeMTMmgPVTDkqo6Gs)oa@Q^E` zkFdF3xv{&eM(YrEiCRa&MEH>t0cj1?==zlm_I=xRypY)vvSV9EYYnqHsR}%yzHyFX zk|&ath1bHZX1TOZHoYlowa=xNX$2C<9G0UNLdGYL%t|7TR!Rnul%)#|F?C}Z@j%;% zG}-Kw+8L+jjjtBw$UOQ9D-IHFJ8-vLw?G1#0%nv3{9XaQ(+JLmZrBF*tXZ%-YeFY# z%)0QT6H-VD7xz#IUHCfO3UBfH?K&4?H-k!<~J z3SnAWCUSOL1O7)M~l*5WjW3bkMC*idG$AX3rU zf-j4J0pY8sFDzUgt_oQsC_YInJCEI}gJ)IRi!a>bEuK}&N1l%#7Nr6&r0Wm*L(jD8 z!d_!ZRj0qE{3R>#B3Ud}UzuqKo@xwf>_CCPA|-Ls!5@qw*`fobNFKGQTt=<~s|xDq zZI2rFlH;hn0BpA`ylh(d5kE~Y1~)x4>I{QA@yiuC@z>f?G9x%TJQuq;i8TD+?^PH> z!Pc!JL1nAeP4FdIkB6q9;HL*X!UD>0F>c{CgBvZAKHiQ*YwAS#w}075-JJ{>_&9E2NhC5bTOh4M=ggW7%2Ky_X3@x^g`~ke z+0#PaSEaErrp=Fzp0`VmgeL19kPfHb%T|m1`HLJGeiu+4TP^OG$ERu=9$Woo_SalG z>AN%))c0@J%_+*_X+y(kSy*{o|deVo4{yi#M%TzWt8hAUL2Wd zezbJ7&@Sb*)UZw5tP_oYuJ$@2Cr!;8k;xbW(rYX+5y8gTW6oF={6>CGl`_E20BpF} zn5=8e4b}bSboR3^KMkXLx8RS5mvNm6{$$Z(OsgZyCG-foVSAmEKq%I&#O}>|=DdaO z#jZ5tHk>+e2enYMeDSSF>H;a|q@FP8v_QRT{kLh1)M=am!(vbGNwo?Z?w(pf0-+bX zP{c{)r0Y;yPD><18M@@A;NVgyYJeZUhFX?#SlD8@K-M#D z!;|ZYsfOwuF=8;KLQ~a9v1aYhOKr|5h&%cy=4)(PP0U!?p$Yn5;;&H|IbNs9s|)4!al6_i zV)q69lre5_(6(n%|ee*epl+a>ehGw zZ)6j@lbyCisT7W@uho8{f2I03>$VVIFq@lupI1SHw_WZEUA8*?WdQXsXf}7h4fSo0&Tt7>U8-XKmUnF;1xUpv_YGy@^H! z0v>O+>us&>VvspH2ii_tn$NAsjmhl{GTp-!Mgl=TZRB17umm23>IY{tTI}1YALTk^ zdz}Pvs4qM1pVqHYSnNoT?cXrLuVES~`gmaWQY~&JeQr}6zux1^AY}Ef7-zV2$#3Nt zBVT^!9bl`ML;hNYLfe$$cJB=)54x{U` zVC|Eo>LCY=0PhADX6#a-Rk%bG8Ecc=uI z6#Mn-IFTf;Q#!uY1l!->@w`r|qL;Doz?28%VK)YMgb=UVh--{8e%>8Yq18Os-#*e& zd#%y;w8R6ITgs}2-69ll0Fk7hkqSj9%7sFZWV6#T!8LDP>zC$KiQ~BV5b8R72SNKJ z)Qeo|1i)|bm`DKI==D6JRy()LY$%BuR#<~d|A;ooTnM->2i?KkP}9FGaftjv1xAC> zYDpcs4xBoPB8Q;dqqpHj#hOQ=_?-ZSYQby%Ry~V;UZRetgPlc7fygb0#~2N=A6_{t zq`Y|}gxEifT;wx)v&qJiEV_D3TjCQ8Y274D3y#ImSL}*dDXnV|^|>7&q=D2Ovs69v zj>$VJ-#oI)?Zut${6hSx3L@C0N!zl&eJ-wBkww6ORL# zHn1k7WM@R!86LS%Yd9sg(@OLJ|3XL_8lIwi4cO;y8jBk7h!t!1>C?>`LSj>qXOUMh zBgOvZhy#Nn{+mPn4-qXF8)&ImN@U+w4+SUWP_>_Qf(!U%QTHWkIy_PJo*sb{Kl_~x zkjd;);vyXLuL@~$=zwC+`p~$m7KVLud*RZ z476Zv8z{C55D7Hcth9R*&^(2BgIWIop-cW{Eb`eZ?H0E8lOL|j$GA2lw%&r=0%x2% z6;B_D+eYw(lJJ0c9OiPG@%O#~vFCLz`?{ttfrL*}(=H;oS|c)@Rs}vQ0La z7kKJgRX@b;_|Od$rAoD>%~O(WH!>F$2q2hjYP00;jb3$n5&~n@(z{(o$Ajp@DEvk}^8iD$buOFg|s*8E5uU%^w z$mRkif;t=>HVDp|JRC))6FHc*07QnEG(KAhR`)E=`l1=oc09R#k}NBxKjB&4VPjMR zgnDJqLM=f01NYk5e(SAWra8o2pHE#2uh~aw(mpY*Aa^zWwpQY*YZ=$@6mMGwh=GQts zWg*|BuR$=M_U3lL!KIa-L^=>qa*FCiSK-V*8@99TN(6rqO-rj|wEm9$J(5%>#Pie6 zsrjc(da=_}K=&7;kMR3Ez3}%q^qbR4%%Wx8}#L8_897; zOR$aXD3`w++_qWC#47JyIOLSg>RdJmXzU2Q`0!4(K)EMxNU&zjkUUUbU{wux z!XLw?LLrsWun@7buNSd>cPR*2^>-mys&T8Lqj8yHE9&r3HE$RY{$xyX#~|6e36FBe z8anMxiI90(5r@XPAx{S(1e!m1NPyBK+eM}MXgaalb-B}l$Ims6ghOAUMC)_zhW&oy z0}eO7J}*U&k)ry32>WsoY2kTkt<3Pjfw z?Q!j`SB)ZLZ{9pp+sqE8oDx{LtuqV z1Pe9{%2X666q6l?0qntfG}B1S1M3Do5R>DcYa)sbB@s)oN7gKI>vH}iLw{=h94|iN z(~tj6rmVtNMmRa7=4xceTmfSyyjw^y5%TFFq_VEBw0M`(PqBDDKFyMVOX*EE{n7ZP z0j0mm20C2eBE=CLs>}C?nu6S_%^dvBWdD2EC$5 z*r8#dlC+fPBGl=wggFY;MUvGXU?^oeIq;fuxKn`nZ(BEBAY$32==D-bh%k{qV;G!j zi#--TO875x6?JK~$De2&v8;zi=G8J^`MI@O=0P7+84K9Ws!;i8R|h}@vZ#y}QIT*b z?!XP1^DUkzbj8#qS(}IBJCjMT7PQ^@?|F1eh(JPim@< zEKe6pYq`YL&OP)P8%b}zEQ7mffAy%@bl|S6@!FXkuh|%=%%w;dH4YXTXYoq^HB{n?_`ZhGr7xB^B0hpGVZDAL ztcjP|gtv^FJ)i0>0?iI_2r*Fe?w(a!EIe1>2iUBQ4>aNWr&-Gp$o-%Y7mszD;39XY zSxWrU_<9oCj(j)4pjZNYU>=|O92MvrvcE9(uqA&JA}_xfSQ$Oo%+mODlhk5!TD;&wZLKH z__{qe*{C;rsp)C*GJ#n!;s#Jl+HWL{#v#aau0EF^sH&b*xFK*c*@#F#MTbHLN!OCl zrd*N}p^l`>#%b!K*mMT6r|5ODzcgK(i8a|7)XyXLUBVOO?Y!DAfhtaZb(1t$&tMjR zvY%jUowD{E!O9LHj0zS6#rRFD%a^i+ zjji-Pt)^q+NKDvz{{R(mji_%9hX8RW+-h#rhu z&s#QzYVu$ca5OSueDXNU*7_|@-9H$Ub|r1l{X;?V$Kku8+>&;&u_%RkTQ7}#S2^8g zyTf^G2b73Arv+JBP4^|&i7L@^a}|H6BQq5Ba)HsZP$ia8x(VLQAnycp3M%t~Q9@9m zyg9qwVa@z|S(}9L>-Zv6i&H`Adn$V8m zb`oMQ)6uaj{v2{8Ni&XVrDG~sgzm^=t0rR(YX^7`a+D2gBb@UvE+6+UiWP^vn0ajv z%UZcq$-eAzc~njC_|wO&lDknG$5vAvn^G77w>UG1%B?j<E*hMNkyU zoA_|p-5c(jzC1LQG`>8;?2LW3_g>Yc^{o@q(k|gq(Z03M5k{aSI@b zv|@%1SA?wkp)wFC59rM2JrUN+ozC5I{eA>V)hTs=MSL~BO;{jl*Sb)OpA5Cztq?&) z8oaACbyXeQvykm_M`%#Zx}9I$ipa6d$Oo21gt@Bl(;mZt3qEOPb+DjnwD(oUs$g`+ zswJi~lre$M!4GgJER00~XL!TgPdv|~-J?@RvU2qUdDlD3t6Kj zOi#huFpah~<2grtFBh*D-4NpaonL<&)L>5A((JJ%OgHGO18=NHqR2E^;X5Dq_{)_G z`AVE~Jhe{6VVYQ`%|4NN^hXloR2<&EuPWn)U96|QnS!V;JC~~t1QxDXDZ$K)IRjTj zz(HmrD3;OQjNaS}l*73K?B{dU)Gbe8{h8Qo?jg+07r7fQ650mNnu&gA`Pjw~$uouB zKX=YN1z9s8ogWbsY7F-J@Ae^-4%V-Fclon6RbZ6_YA3E<-Xu~C%zx&xl6&Xg1j$L) zP_%~Q@Cur zc`nzG4{wfi;);HJ!X_+g;MF|y^+G9RB>LgKcg0~+i&8U=oj*wT__5jxw_91IXT7Jg z$c8rl_6s_UzC|j*7%1&#`SKBEg(Uj2(fEBmRULzh$B2}3;d(u`90Zq>vr0IHJ6Llh z#9HpXb`<;-1z$&&w$j9Eg_#T`;`P{WC2v1@X@j|Ai$(ZQC^9u~h7DT+lTQtBRrrM* z5*}ToI@drkc`J40h z*)OazmY$W~N3%b^EWKPB!#}Y>)*_60TKK535^*$>WGcF=4##kPg4wt5@;bZ0_0HIO zSO_#AcL-@?$M)Eln;Pt<#IsJGL>Z_+dN< zGT!h2=PGgO*)>d$ILXz*MCVaY9}HAv*_j&a!poL7gKV>l*RwYvoa@4OrsT4$F=W>A zs1L^~8DGlThcwyE^TT6Q8IqEv?qdc5vr^iCPUBu z42Lm8T+oKxME2N4DFdtm&#i`A!Ya_AEHy-v*ON0(!VSJ^ka1zTMGq0nV|M|sZ3>(= z(K&^y)(-R;3?z(E^hRqL78*9c@YfL72?_q>Uu(L*S*t@|Zk-w#zy?7cW_%Klexz@q z$@}QBIs#Q!q`XLMZMV)`H=swVdm?}kMu&k(VC-}G0=?f&$I0$64P?7XWb8b(f)W_E zF3P$;$(O9!`{9#m_Yb&1R*y-2+It~tGm=}(WSBg0#X1$X$RX5DD6MDf2~btfJLp-; z3(l!(U^AJ66AD1d7q~8kR@z?QuEN{h;0A`8&wdv>?c2;hz2bz^Tolpj#r-2=Ub7r# z4muXkKOinhMOBKmvEU&l%0irzVJaj=y`f$YDKt&xccuqQMha$v)-MO2T9etm>TbYb zY1<)@$9KxC#i!?I+frbT=mev8JRuRvI=lOxLoe3hO17av2-@w3;p6=ySSG9qDB{ERO#l39yp&j@v9qdEhHr3~O?Ya->YbSwbLXdxa3SZ&Dd zAeQ=opO&YHquX6T-Ef)T?h!0t@KW8z=!O?JZtmIf5*Qfem&2{sfzpKxuo-*#<-teb z%f{v$j0Xb}6f@Ap?L592bks00GuljuQnZmTN0P$^*4dhmF?s<&SaCQxaf>N^5)-jS zQ&t+s49Gbri=_kVXRw{^k1GpX*Y)J3V*}Jd3|_LQ&|R@6eZ9dPeX4<%1=%rd22fWm z!)~ZLuORAOiQHMm3i4Qi>eA&-fXX7G+3{_=D`F92&ODDP4-Z3iTlWK!;7#n*Ks7PW zS`oxop1jh#+O>x(+o1W!B8t+L`W$h6*H4nBkY09QJ**kB11s`a+i6+t$UsboM5aBvXX8vIes$~A*_ zsKU3zbmdH1hkTL%#Z3;hBj8KX;u0Ij4;4x035YWm4E52DZJCyu|AKgn(y`TS^++@n z<^(A+a$;zFp*JyqXe%fWJv?bY45^5r>}gXZi=$!C;8d|;0Zyhb>0&6Q3H<aw^$niC+cJb=~t33xRI|tfQvv(~z zTU*HT%Gpk}{?V~CBLDU8H`pN6UNnGDz`BP@gdSG>4ZatZwhfbszy-ebdu_E}tlghI zyS(ze;k`xvfBeM(h3>MfE3eud`#c3;93dDnfE?GHg-%Rh*#`mV~#Tlz%fxn)n7YiW% z2$~<-4EaO~4s`EkC1bD?^zG7zKl`eTc9y)~%ko`FY_@07?DT;|P!IdSGQQ=jSCO+l z&FgvT56MPHV=gOEPKf6sx5A}FjiVoq#GZ?(zn^eW0vezZ%zi+Wr%(I-Mm>>y7=)Y|<}Z%;ySYC;aQ?0aMHI_aYA2Yt6Gr3SkOj_0*W zF<$iYGbO}z^fi|ND50q4IuH^K=Gpz^<=Q4RE>B#__AK8LN%g_HmS}`ZuaCq!t;}Oo zz+jZpheJ&>hUXSd#_T^JBj`}xz;~gk+uCs=#!kBVGG;u%s879K1snqmd%@u4hWzgj zV1<^&Uk56k>@mWVMWIvKz$#M+Ii5L;!ENJo0_i^_xw~}+@f)>d>EYNZJ2ii&*)O+R z_WRDOsjy=0R;~%bj=90ROP^yaV{2iR&~{ggv7t6pL)74O&nGKLd<-O@W0FJNL3RmL zgl!5!*T-e5hJNjG48^y+IdpHgiO6aw{^VQFpPEzdzx^Rb{6KJ0t}p zL(_tJqj$LY#+Ptb%`dnwF+UT7PbJsoo}_oD#>N|x0ErTI5j5-i#w$BkGq&_=gT7pm zJ*#*I2?0JVf~_lMj3ql1%sez&T*JxN2l)?&HoyfK>;xQ^2bxpYC1jrT+g}7?fGn1Q z%?;$krC%jkMMdXFFHefrm54R%S>)WycQN^$E-A~Vog@pr=%;Su-uBoO1-6O!N6>i$ zq85ANK9+TILO5JVVCW0A4^Pi7dnfsRq=z%V;h(8_2>0{<2_6d+)>z9zLy3jkh-Ok?s1;o+M(&wD0NW00#@{ zs@7diiL^2aK-vJk3W)d$rbPe^10m@>+?5(1;~43~&+>}a8fSn-@k6;R7RCzf?nNLo zcCLnSCcm%7&!7+PQv#n?2u_>24JUR6(QZJ|d26 z(QKg`(ctbh4wQ1(9rJo2r7YB5N3Td0i1`UFNibA)) zKgz|{24Lg@rU(Tn_XF=lF!w2XqeoN6t$^iBj#Yb{#oIc|oru33nM*q`>83C<$#t-8Kh?qtNjb-4WfG)=QV>vuamKkyB|N$E_9cO>cwSPB_&N@L&_Ro##eRtQhITzOdz%t8afV(WlrD*$z?JGNb@;F5DX>bKAU)%<& zQ!;%IagqJ`)=7S{arU0UpIyg|(y{Xz0yRFR67~zclVuRHS8Apk`}(a$@T{k}F{BGU z&qabTZ!mSU7=~Ge8tQHHM^ZVQi151~4$FtTd}(ajLsZiRAMvrEKr5>PCEO}c<3_!d za%5P++B=G!WAkM^4loqWkrV}emfcZk?+)O1B_$ZkTn*6`##mH_O8eceNX(RNuT^}Z z^9X0-K35Z~;EVFGxO&sBg2h|9=?+$;H_(BQ0;0dkn*lu_BU2XJ;fJM(FfRu4Sf>5# zzkZ%8GcQcGeZgFB+Jcpj(^gxZ=_#}kZy23;@@7^$0}E~SSH?+v>YQHK%e>hQc3IZ3 zLxd6({H&RiPW_Wt7^C2B7mYYE<{OGpKfxp*K0((j??cUzdXooj9AFMBd;5EM5|uPC z)|Y$czRX@nf91y;z$V~Z2o~v}_t}ZiVvkMb#!d&m=WU#kQZ-p8HD{8!O$l^G<4Ci> z?5F?;$-vG`4UI;mQZ|duP}C&sDi~E{UHRZ zU?ToQr1MFT2HCgew{@@i8N+OB~SAC~L4IIeIFBG8A`f=utF#0jturt6D7da{>+?9kaj73sd&6W7l z$m0@t$Fl|;OgdlX$KVj8$ZOeXgh1R@QPW)8Ps1P%XtzNKpF`5B(CnnC#G+`Q1u>~OsD znVp;yT#&lmcTVNpg^F{2CnMAv9eaf}My&E|IDznS*GCWfsIn;P_GP}pIg^-?# z+X`~H=hWL0xlboRsZ&GjLn=J$i5NUhstooaMOj=l1Pm4kr-qsGoH%NNM|~iW82{N5%b2dp+ib&I<9ae+2tl4tnaxZpVI}HHHkd zv1X)GujBNKtcpij(T2S1mfwMNx9PM>=S+0w@r;KbzpYZw(sP*;Oex|sdDS)UMxqt1 zApQs}_jw?FCm&tR=s))jf%RX=hDc;ag{diSOlrtgiXgGmq`k z#o9)3CS`m8JBPr!8tl1D?|H8J`CvZqs)b*eOj2FX_*L&w(x0#uhGerWmUw`x>((t9 z2sz!gN1)4=cK_91pi#!5{Rdv|NWFmm0~gXX(8hnlyug?P?-_tI@NnlJC4k&CYIu%{ z{O?_Nei3sw5f zpX!LSe-tir^m{zgGq&Gk(fxw+Hb#Aj5xV7*@?vva%&wS>*E5{K{nNuGmi1Psa)U=p zR2Cz~_+fJLX?zC%)5^OstlY2FHmftPeF}32o`o5F#MF!PbYo2Ac0)s05G?9bVpbewOg=_+B=KA-qsc zb$N1KUfyLjFk;LL9#C5^w5el#MzNmO|+H_vgF~O1nX>l%GUyuT-VWvKKhyb$XILdw~a$`2ktCMCT{UL zgA1BP;Cb9)4Szyvn4h?H`jL8YL{V3h2_r6XF!r8@kNjfy%j0(dC0!&{XdDC7y@2rH{50d~RCgcHgW%M9qij>USkRkDJo{%7|Gx z9T_1Kroovtec=Q=dl6!%^D3`boa6@upPOEzEkqC>gT=BO`p0m-rcA6c_SpXlr>0}E z=d^Ak_ZYSY(P9|eD4leD?g$VvJ4Uu94sz|@!DN18tPlj8Z=5za7$bEkAG?TynNNVx z>%8W>C@)g)K24}>S@04o=ekvp!g5}y)HXStlCy)i zMb*5z;{r*HqWry80DPI!emRe6&Z$sG6oiuUv+q+X)U6~=hx(7bBwGla7c=0hhu<~T~#@V|M zV{sfUKN%ueUEXM*21ZmXHXPTiPer36yZ0OJF&voG9BE@H^N5A(*NA;`xCAMkQBMf6 z5&88kV*hB#fKzMv;Xb^#%n{C5UoX&a*nTlg#(Rt;SU@$Ca>vm7^*biPwcQQ!UIXge zueoj92~C2f1i|ddQ@6!of4HB1yl`yey40uTsENKBt{cG?)8LdyuxD$u{{s+2pF$kx zF;WnSWK@kE6-yMiyrE}Z91Mqzq3sM6 z%S~n$!=t2Z`swpT*-1jvYLrd8njd)Mui&`lMPPVlsOYMhNbJzwQ%j<`-}E|<4Y8;!67)oKQWCt1^8>E zpHsd|SGzMW^_;*;eh~?l+yA;S!<)m*h|=NIe1r2mVx1PYx7_ZKmd;VaHj@c4_PI{l`D7IPC~U6$G7B#3fJ9Akk%{O&fY0Hsn?UP#EaQI;G2R}a%CTo zE?XEe+`AKK5>B+*so494Z|&^A>(}JPPF3GQ#irwALzNnu!x~1)#9Cu_1pkfGfES8&Id)RX1j&I=8A@FS-mTI zJErD_ZkhB>|2+0qik+AKMJ%HIHExR{MP;0J`L~Qyx#}K>8I?zk>u#SCD(3qSou;KP z#>`moP~TPxu*kXmbv1}AUe{6H;keWNS{A5cVvpZiN$8m+_OU?{hJ?QSEi~}W(ChtV zgwX2GsKuhB84tS-obu3yRQkN*muMn7I!j87kv?C-@vE?gSU0#Xpbfa=Kw*rdb;N#g zAgp&LJk<%xhGP1$?D>L4VzkJ6=dK~YsbC|qPn-)#YuC+9T1zNL(W|4dief)|Qn5)) z;xc=(0rMxZw_q%J$4^=lm*K;&&qnQ4-zGIGHKEp#;4X zSD7t>7j5G0$(NHZ5JPUgw}LzzD1@j!tEhb_GSDCWRr(zYYeFh)k*w*lYHTxmeYPbl zsc%Y}0)5@|A($D3j{-P1aV;*$Cs3SpgZJ9#j*l%b_(OwuM-4udw!*Qic?q^)2Msa0 zuQWROTeEZqQTas+x6`Rvl!W zy;Rn!ch%F-MkwyRay`3hm!Ku_nM>XDNxQ(|yXmg~hQoR0Vqfb5homcEA6JP>v(NWa zk^eMBWEBX)e@M`2kg1nqPl3rf+vr!8rH4O#m6Zf@YbYs1d`liadCORA2Wjrs(7Fy(Iw2(%&jW$ii0jiau0}q?Yt16U&986W}V;yp7%CJty0u??9_>2PAa%;(C5( zi)qxB;XKHa8SY@sh`E_$LtUaH^R)X)6JW~U2>{^N(e9YY--Uk+0+^;zNno^~D>F#| z2oz@$wvimHmN9~PHYeilh`|~$mmfx!chY97L-vD6WdQ9U)bDIvp1ZwRd!Nx99_q4` zqjX~)#y2hH@U8)-r}4$E&u~^wpn^fFfH`v|06uxq+%D^*fQNL}jVW%RwL$&9on8UW zV?@&+1X9l2pgjEz50gV9-`vtOzsZ+)2>pL?ak1)eb5u0>c82W6L;qI{ z64(THeqJL!3c|U(P?9n-4^HmWNP8Pbke0ds7*?OE5alNmUt4hM;Xb~ z7U^m-@^=yO$nUgMO+9Z1lkJav3^5#+rchYsu^jONAsjVx$MwmIcS8^@mPgT?whe@Flb>tm9&$U6#B;^*F`A}+B|M;ma>UO=w$bR-Tl*ouDq#!tRifG?AZbyoD( zmM5Z(|LiEk2VV{h>&KU7BeK&-wR|E-Hy16uzW`1 zq)PySNXl*a7+!%k>T-Wy#|0O~64uNpIVPG^!&;82jjpM*^`;iRDEVW2n0NpZMjcUN z08ba#L_vWuVqGYacacXT3nf z*}EVvaI0zY8|&w5w+@XQbH4A+BBtB-&dLwmy!O+c6XMHKj{WL2euGKuh>~}=J*oG3fOR!*86Em3T68dDidw}_V|aFx)H zyR@?z)=M{F(rIP}jT?(+ncZ*(ORHOW=UG2uko}TaTvx64$+HM-_7n0rp0SePr1?n0 zyhS2#96toCcYikz_wlD?9eyKrE4(tn^(ua2T;;?5Ht{t&Gd3#G3VGtyl!OLiWcaqVAbhubr8~kc)amm0CI6)|#CNhe4$+$aAXTT?bG=$_6S3PbG%lo6LDgz6M33sUODha! zd@3M5Xa=dsz8@~-Ies09s-=y!s~onzV}{@KCC^7Rz8R!}ekHU62ycMs?vh*7)ujYf z6rVFTYYo$cp(tb&M)=ezvB25U>(Z%p6Z<(TpuHXsRDtA-ujCS~ZshpyabjO7WvHZf zmHyFOR9tL3z-LjhHQFv1OM4v-{_&)ikI~(QVe+t!CaP28PdC2pH>r`%}MEY=Pb|(X@`|ENu)M zDJ(`EO;}+HR`bX2-+AkIPJbNJVP9rNGWKK#Xm;Hhc|Fq!(NdJ`6fhC(Rwuv)-7Jlk z(?;>))uRQ(%q&Vbx)-i0C)xqaWWBDuhi%+{4iCI3hoshNDW_K!uh|b4XVT!fX2zi?r+a=?DmV$arU1OgR{cj-fhBKmrFkgjnS?o9^YV9%3Hg|f`n7rk1bGF zW6k&wucz}yMyUdhVL;fj7x;$-ee_rR$hk%}oIMRuV&_UDujHxLou#5hj{Yoj7L{+- z@QaXHvV0%I^e;hX$u=h}chR?Fx7rTWR!BE$!|=l~D9~G~nrR65Zi?H>Pk+1Ug|m}q zdpr+bdV8{VrQDp#$wYNmfcj(OP0s0L_D|G$)Bs!GtCE!LX*k`m@u8Tbjgk2$8RhIW z-emn#{_Q%kh5jh#r$fO?DgiZc>qhr;mE+x(;~Tq|T&V+zGO|X?=mB`5vkk+q93gBp zPVTx+LQXOfy(UCIc45NvH;IV=)cjKdF`*Up_(r=}TNX|U;<8q(ZQxpA5Mclg^b5Z` zswK14w1x@aitB2kFf|^X7`O(MJiFA2K+p zqrR@;x0XC_O2DjrP0y|4JzHlUKcN?5TEDRu#%x(d2{)PRS7ee@FB5z3XsYLn)l(AF z0Vi7KY7lX}Mva>vji#oB7^JmHU$u^Mbkbl;go?L^9bd>h6wR?VA@a#StMOwb1ny*g zQ|iyX`-Y)^fB19l(p*+Q)ELB^s*qaHwbesE|M#(?T6ILd{Y3SS#4Rn~O|c!cpMi;i zknp{wh?6AzN-o{RdwUnL=aE~H6e9R5uyLb|z7O~-3jFliB1YkwVSg)3cM8;5e#AhQ$`yjEdkV=Q#}R(>cT1) zM>Va+Cw=Uk$-L!_2ShTLpO13#2b>g$`eA112W^fDyDK*7con8nECASPr{fYs2Wy7~ zy&n0!Gq=ahp7L#AqyK0q2ahbBi#7jt4h7sUe(Y6rBHM0%2C9 zrDwak1+^!JQe{A4Bi{};iF%o%ig8HS%TCUN@KOr1=^msf3pV4ln|X87hgXVENH-Kl z>83GrsA>N_*dy-|o<`e{RVOdcB!sudd1hadm|9lJQ@Mu54!SUedP zoxL-+Fyiyl_}sp~mD0a+0Arq#@Vi^pVNg1KZ-_R1_&*FE{}mzd=8d#LI1wg4nKG@( zLUJ2tv6EZDXO5mT4R|30b5OG$JFyd3?cb~m%S*YejkfLO*k216pD@oMm8Ot>CF&Pb zswCwxl2&uQIMP5!Ba<5|6g5$qnL~yU+(jr6!@jmAXNSbIz>ExiORu_A1dGGvnhOQE z9_4PY2Q3gS-V*<;V!vu9Zyv8%table directorytx filemetadatapartition directorycolumn filecolumn filecolumn fileCommitted data, available to readSliding memory mapped page in write only modecommit automatically updates read record countAPPEND positionReader 1Reader 2Reader 3WriterSingle WriterMultiple Readers \ No newline at end of file diff --git a/static/images/docs/concepts/storageSummary.webp b/static/images/docs/concepts/storageSummary.webp new file mode 100644 index 0000000000000000000000000000000000000000..b144fd2e98a4efc21100e48b5589d42077cfb093 GIT binary patch literal 34024 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 \ No newline at end of file diff --git a/static/images/guides/questdb-internals/columnRead.webp b/static/images/guides/questdb-internals/columnRead.webp new file mode 100644 index 0000000000000000000000000000000000000000..a758735cb567adaa3262b5d84fd8d685eecd197c GIT binary patch literal 18598 zcmd72V|3(Ow=Y~#haKCtJ9awkq~mmK+qSKajgD>Gwr$%^Zufr9drtR$_IdBQAMO~p zKCLmU#=qv8YyL2+mh2Z{;dD^|KvC$kw1PAne)P|ElmKuV5al!&D<}^Ia*zN)76Cl@ zjTt(yUv<3)3(UKQUCF!kBhZN^-z(?k`;w>pi#q|`onoQ5?`6i$_|RGZwbgveYyCA$X)ha!rS>tdk^pF`)PaS z{`%XnVX$Y42lm^lGu$iO<@mGX^SRDD{G;ZbK7xtM5s7>)YcO?IE7A8Csfw@33zvPuFjF&r+}Lw>;a= zT1=6*cvtPs&%jS9SLlLG&yvr8H>#K7=kvSwWxNZ| zch7D2@VCe}ym0VY&;IwOckv657vCqmN2zn(L*5n7!1woes!QFw^;^x&_v!b&caZn@ zHQrs%#rL`Qpm)u8+ZVd`_ZQF1_CC*KT6H-Wdv2dVe>r?(S#3y($5`Fp%q)py5d z`}Ya*`ox+&8un00o$3D@3oLZ5RV7trH!-SK?Az54n=wIlMWEDTud#0(hLjth;;b-+ z8en$SKG^trS($U<7pea(lREi-2-X~wA94*)Cj6Q6zk<=(y~W{;V3;9J&dqEq)=BlI zZVaa0A?HrvQ6Fx<$ZXB_jTh8M$|J|SjP7U|kEqz9rlGu&C4tEv{#vK@<}>^r)H_C5 zSb3Cb(E?$euR^Y>Xls6HM3%&qBh#Rz2U>>^VdCi2J5QVqG83!byd--XuNJ8FrCmjE z1|s?Peh_$lq*laf)sGc30a2U#V)<1+n2@K3&BM)w4f>91ye|CC=l}zn2?say>Z^|O zD@Dk~_dJib7%BO9`SzrZa8$#;_89UOGvZTd_vab?D@cKNmnTIbw~b$ci84Ni7c4A5 z;jSnZn?Ymgxlf|*V!9J)S}Llf;SYFc#&thipzIOy7GeuAN!X|bYWGs@ojpT@K(8e# z{_Y$koP{R|?4P!(Il^=n%NOH^9q>-^s}j9zKsV`nDB}N7m4B7zAA_otI8ond|FeGo zTKr>B#ZK|xpZU*0TlCQi_kTN_e+;5##=)B5ec9ueZ~E;RGvhv{6;a$8oJ2^UupxI< zJBW}wU_)suHxtEj!h+G4tbQND2?S15uo&2d?e_jk#WLy`#Np)d=R%~N~`&n@$a4Uot$Dt5Y}z)AK%A^fz@OSU@~6VFC2T2A8m znT}LOSiS4hH;srqw;$^P)du`~c;IVHu7touJA zXALsQSG^x0>qRz+F5PquNJxB0F-pL61h%+HK;3~Oljh6K7~HSah|V5+-Y=ZF($VU= z_iZc%JghJ_vPQJ`xDC7uKA0s=?%~GvJ|zT!K76-eww($L`Eu760o(9jf&YYW$X&M_ z%rf|t^KXEumg<1Zc`b60aeD*&(eYGBfRa7i-#QP&jU^^Y!Whkd>x?riV-pSvST5<+ z_+WLXC0ac+e6)mwD1QU|9)}3u&g;*1ZLOH;X6gJd=-CuVmNOFWO?g)YqQ+#%(UL>s zF=94BTITi@m`JaGUBsb=IxPbYf@h7CZ}O36QIA2KO8FhzZ3#(y<|(QdMO9PIC+CNYEw`T}^8 z;+^ke!TcL~R`Q}A88WPF0Npe7_Rge|iw^{+p<##7^On ze!BQAyIt)&aM7O?VI2D&^;i18k)FnaiFS(Ce|;5us0alP`7bCe<>#V}|5m%7ifvO# z4>e}^M?cs&|3$(({tTr8MVK4^d7^XXZt& z!k*an;VS)zg=H1^ipL>itCpoFB)L*RfxORn;jj+>7mav)i{aX-ty7#`a{Xop&aK!+U~K1LNF!UcE6A$LB1YHP=Y(W*KRS#J3rbb@@m7o)pU*pjWImeFKh;$Om;C_KGU=>7xb^_TKk zQJ}^`R#E)~h`vc!G0VURsR*~I7xy%R9N*^U{uUl55M&ur;Ue@z1~ebwLK3nz z*(`tdKu8~4gL}Y`6eb66##^iO#pD;yJ`A}S*JNX?>qBjPLGJmq9P81w{n<5FSF9t< zyA=6;B0T`M1gG)*enQ98VKLUbDc0Dts=o@aF*|MMhK_8T6zC5#93ca-@wqP%Hd1P5 zf6Agy_9D7eJ&B>ts07;y{xPe{qPWON0&V7o?VJ)`n5ebL=e3`lB5V~5sz{mPFS13R zKEmL`Z*YfpMVA{pN+?;+Ca|Hj$2Nt$z_b+^auhYVWxvarN&`#8ta6;1A^g$Nbx8?)5)Vq5oti2uQ#C#l!d!$^Vfp zkfPgJN(q%SDSxLN=9R1 zv$FrqK=j}1%wH2#sMZ_bPp0_4^V`8+r_uxfyuCk^7><4ELs9_z>jl(-yEBpc>Vnj< z^~zZ|^&}%ZvPyG<$)H-ATa6Lcr^}EyV({sIxX?Lt(I2AkLZ33B2gK0>;Kw%6KmlOy z`%U*9vAIT3>b02_o8Xa(I9eQ6Ft~I5UemNe-*e@WR;MB7J|3V;y9;(#)ka~@sA|R8 zv1KZz!Jw8L_YqPUz|T9)-vBDA7d|$c&+g*yEip23>zm~dUteFNjV(a7 zTKg2M4fiSkiOwC9oO7qE$t)A>Ddl3QxnS}~e%7rw5us7zXMRv@QnObnkF;G25?;|U zGLLk;#f2eQD}X;A%+wS#pVfNiXYCw>n!@4^Ab;rUPcR;sO+ruKbM4Xg2>ihhMx2cM zb#{3OBv|UO;>xgLl8s_x?c=mRYyfap84)#kn2KLTBRWMttzzl>FK4Nxu#4@6vfX9I zb-v3HDH~fu#||B3*;2?5r721lk+A zDxoxk-Wv$(IfglPoHLDZXRR1*=Ym`&iA(^i&L0 ze0=qN67$A6v-(mAXHr}+o|W3TWHJ*{uLTHmAqjgqQAPbz?Dni)i%j7csVxiQ1tKE* zeyH$I6z{36N?Q42Sb`Pl_d!cx5b3M>vZ_OtNc1Hr)N!KBXgV_frIIq`>NM+uR4@)p zlDCEE(`^&kR9X7GXgz2#g<&S*<0T|TT*lloIBzGJ5RvVhF+v?b0axjxhMn z)*Dqtw(aLNvHOdKy~_5h8g11oYZ_15xbDVg-Mx&LSH3