diff --git a/docs/databases/database-systems/advanced-sql.md b/docs/databases/database-systems/advanced-sql.md new file mode 100644 index 0000000..026034e --- /dev/null +++ b/docs/databases/database-systems/advanced-sql.md @@ -0,0 +1,155 @@ +# Advanced SQL + +SQL is a composed by: + +- Data Manipulation Language (DML) +- Data Definition Language (DDL) +- Data Control Language (DCL) + +It also includes: + +- View definition +- Integrity & Referential Constraints +- Transactions + +> **Note**: SQL is based on **bags** (duplicates) adn **sets** (no duplicates) + +## Aggregations + +Functions that return a single value from a bag of tuples: + +- `AVG()`: return the average value +- `MIN()`: return the minimum value +- `MAX()`: return the maximum value +- `SUM()`: return the sum of values +- `COUNT()`: count the number of values + +> **Note**: aggregate functions can only be used in the `SELECT` output list. +> **Note**: `COUNT`, `SUM`, `AVG` support `DISTINCT`. + +### Group By + +Project tuples into subsets and calculate aggregates against each subset. + +> **Note**: Not-aggregated values in `SELECT` output clause must appear in the `GROUP BY` clause + +```sql +SELECT * FROM +GROUP BY
.; +``` + +### Having + +Filters results based on aggregation computation. Like `WHERE` clause for a `GROUP BY`. + +```sql +SELECT COUNT(1) AS count FROM
+GROUP BY
. +HAVING count > 0; +``` + +## String Operations + +> **Note**: strings are case sensitive and defined with single-quotes (`'`). + +`LIKE` is used for string matching: `%` matches any substring (including empty strings) while `_` matches any single character. + +```sql +SELECT * FROM
+WHERE
. LIKE '%@c_'; +``` + +Other common string functions/operators: + +- `UPPER()`: convert string to uppercase +- `LOWER()`: convert string to lowercase +- `||` is used to concatenate two strings. + +```sql +SELECT * FROM
+WHERE
. = LOWER(
. || '-suffix'); +``` + +## DateTime Operations + +DateTime Functions: + +- `NOW()`: get current timestamp +- `DATE('')`: convert string to date +- `UNIX_TIMESTAMP()`: convert to unix epoch + +## Output Redirection + +Store query results in another table provided that the number and type of columns is the same. + +```sql +SELECT * INTO FROM
; -- write result into new table (must not exist) +INSERT INTO (SELECT * FROM ); -- write result into existing table +``` + +## Output Control + +`ORDER BY` sorts the results based on a specific attribute(s). + +```sql +SELECT * FROM
ORDER BY
. ASC; -- default direction +SELECT * FROM
ORDER BY
. DESC; + +SELECT * FROM
ORDER BY
. ASC,
. DESC; +``` + +`LIMIT` limits the number of tuples returned in output. Can set an offset to return a range. + +```sql +SELECT * FROM
LIMIT 10; +SELECT * FROM
LIMIT 10 OFFSET 5; +``` + +## Nested Queries + +Inner queries can appear (almost) anywhere in the query. They are often difficult to optimize. + +> **Note**: inner queries can reference attributes and tables of the outer query but not vice-versa. + +```sql +SELECT * FROM
WHERE
. IN (SELECT ...); +SELECT (SELECT
. FROM
WHERE ...) FROM
WHERE ; +``` + +Nested query operators: + +- `ALL()`: must satisfy expression for all rows in sub-query. +- `ANY()`: must satisfy expression for at least one row in sub-query. +- `IN`: equivalent to `=ANY()`. +- `EXISTS`: at least one row is returned. + +## Window Functions + +Perform a calculation across a set of tuples related to a single row. Like an aggregation but tuples are not grouped into a single output tuple. + +The `OVER` keyword specifies how to group together tuples when computing the window function. + +```sql +SELECT ..., FUNC_NAME() +OVER ( + PARTITION BY , ... + ORDER BY , ... +) +FROM
; +``` + +Special window functions: + +- `ROW_NUMBER()`: number of the current row +- `RANK()`: order position of the current row + +## Common Table Expressions (CTE) + +Provides a way to write auxiliary statements for a larger query. Alternative to nested queries and views. + +```sql +WITH (, ...) AS (SELECT ...) -- temporary table from query result +SELECT , ... FROM +``` + +**Note**: CTEs can be recursive with the `RECURSIVE` keyword. diff --git a/docs/databases/database-systems/b+trees.md b/docs/databases/database-systems/b+trees.md new file mode 100644 index 0000000..d38b152 --- /dev/null +++ b/docs/databases/database-systems/b+trees.md @@ -0,0 +1,73 @@ +# Indexes & B+Trees + +## B+Tree + +[B+Tree Visualization](https://www.cs.usfca.edu/~galles/visualization/BPlusTree.html "B+Tree Visualization") + +A **B+Tree** is a self-balancing tree data structure that keeps data sorted and allows searches, sequential access, insertions and deletions always in `O(log n)`. +It's a generalization of a binary search tree, since a node can have more than two children. It's optimized for systems that need to read and write large blocks of data. + +A B+Tree is an `M`-way search tree with the following properties: + +- It's perfectly balanced (every leaf node is at the same depth). +- Every node other than the root is at least half-full (`(M/2)-1 <= #keys <= M-1`). +- Every inner node with `k` keys has `k+1` non-null children. + +![btree-structure](../../img/b+tree.webp "B+Tree Structure") + +### Nodes + +Every B+Tree node is comprised if an array of key-value pairs. The keys are derived from the attribute(s) that the index is based on. The values will differ based on whether the node is classified as an _inner node_ or a _leaf node_. + +The arrays are (usually) kept in sorted key order. + +Leaf node values: + +- **Record ID**: pointer to the location of the tuple to which the index entry corresponds. +- **Tuple Data**: the leaf node stores the actual contents of the tuple. Secondary indexes must store the record id a their values. + +> **Note**: if the workload is mostly primary key lookup then prefer index with tuple data. If the workload has several secondary key lookups prefer record ids. Tuple data indexes need a double search for secondary keys since a secondary index will return a primary key to be searched again in the primary index. + +### B-Tree bs B+Tree + +The **B-Tree** stores keys and values in all nodes of the tree. It's more space-efficient since each key only appears once in the tree. + +A **B+Tree** only stores values in leaf nodes, inner nodes only guide the search process. Since the values are in a linked list at the bottom of the tree a sequential scan does not need to jump around the tree. + +### Insertion + +Find leaf node in which the entry belongs. + +- **Case 1**: If the leaf is not full, insert the key into the leaf node in increasing order. Done. +- **Case 2**: If the leaf is full, insert the key into the leaf node in increasing order and balance the tree: + 1. Break the node at `M/2`th position. New leaf contains `M/2`..`M-1` nodes. + 2. Add `M/2`th key to the parent node as well. + 3. If the parent node is already full, follow steps 2 to 3. + +> **Note** B+Trees grow at the root and not at the leaves. + +![b+tree-insert](../../img/b+tree-insertion.webp "B+Tree Insertion") + +### Deletion + +Find leaf node in which the entry belongs and remove the entry. + +- **Case 1**: The leaf has more than `M/2` entries. Done. +- **Case 2**: The leaf has only `(M/2)-1` entries. Two options: + - re-distribute borrowing from sibling, update parent if needed. + - merge with sibling, must delete entry from parent. + +> **Note**: merging can bubble up and reduce the depth of the tree. + +### Key Lookups + +A DBMS can use a B+Tree index if the query provides any of the attributes of the search key. For an hash index all attributes of the key are needed. + +> **Note**: not all DBMSs support partial key lookup if the leading attribute is missing + +![key-lookup](../../img/b+tree-key-lookup.excalidraw.svg) + +### Duplicate Keys + +- **Append Record Id**: Add the tuple's unique record id as part of the key to ensure all keys are unique. The DBMS can still use partial keys to find tuples. +- **Overflow Leaf Nodes**: Allow leaf nodes to split into overflow nodes that contain the duplicate keys (more complex to maintain and modify). diff --git a/docs/databases/database-systems/buffer-pools.md b/docs/databases/database-systems/buffer-pools.md new file mode 100644 index 0000000..580d161 --- /dev/null +++ b/docs/databases/database-systems/buffer-pools.md @@ -0,0 +1,126 @@ +# Buffer Pools & Memory + +## Buffer Pool Manager + +The **buffer pool** is a memory region organized as an array of fixed-size pages. An array entry is called a _frame_. + +When a DBMS requests a page, an exact copy is placed into one of these frames. + +The **page table** keeps track of pages that are currently in memory. It also maintains additional metadata per page: + +- Dirty Flag +- Pin/Reference Counter + +![buffer-pool] + +### Page Table vs Page Directory + +The _page directory_ is the mapping from page ids to page locations in the database file. All changes must be recorded on disk to allow the DBMS to find the data on restart. + +The _page table_ is the mapping from page ids to a copy og the page in the buffer pool frames. This is an in-memory data structure that does not need to be stored on disk. + +### Allocation Polices + +_Global Policies_ make decisions for all active transactions. + +_Local Policies_ allocate frames for specific transactions without considering behaviour of concurrent transactions. This still need to support sharing pages. + +## Buffer Pool Optimizations + +### Multiple Buffer Pools + +The DBMS does not always have a single buffer pool for the entire system: + +- multiple buffer pool instances +- per-database buffer pool +- per-page type buffer pool + +Multiple buffer pools help to reduce latch contention and improve locality. + +There are multiple approaches to manage multiple buffer pools: + +- Object Id: embed an object id in record ids and then maintain from objects to specific buffer pools. +- Hashing: hash the page id to select which buffer pool to access. + +![multiple-buffer-pools] + +### Pre-Fetching + +The DBMS can also prefetch pages based on a query plan in order to reduce the wait between the request of a page end its load in memory. + +### Scan Sharing + +Queries can reuse data retrieved from storage or operator computations. This is done by allowing multiple queries to attach to a single cursor that scans a table. It's also possible to share intermediate results. + +If a query stats a scan and if there is one already doing the same operation, then the DBMS will attach the new cursor to the second query cursor. +The DBMS keeps track of where the second query joined the first so that it can retrieve the pages that were already scanned by the first query. + +> **Note**: _Scan Sharing_ is different from _Output Caching_. + +### Buffer Pool Bypass + +The sequential scan will not store fetched pages in the buffer pool to avoid overhead. The used memory is local to the query thread and will be discarded as the scan finishes. This avoids the overhead of going to the page table and of evicting pages if the buffer is full. + +### OS Page Cache + +Most disk operations go through the OS API. Unless the DBMS tells it to, the OS maintains its own filesystem cache. +Most DBMSs use direct I/O (`O_DIRECT`) to bypass the OS's cache to avoid redundant copies of pages and the loss of control over I/O, since the DBMS has different eviction policies. + +## Page Replacement Policies + +When the DBMS needs to free up a frame to make space for a new page, it must decide which page to _evict_ from the buffer pool. + +Goals: + +- **Correctness**: do not evict _pinned_ data. +- **Accuracy**: evict rarely used pages. +- **Speed** +- **Metadata Overhead** + +### LRU (Last Recently Used) + +Maintain a timestamp of when each page was last accessed. When the DBMS needs to evict a page, select the one with the oldest timestamp. + +> **Note**: Keep the pages in sorted order to reduce search time on eviction + +### CLOCK + +Approximation of LRU without needing a separate timestamp per page. + +Each page has a _reference bit_. When the page is accessed the bit is set to 1. + +The pages are organised in a circular buffer with a "clock hand". Upon sweeping, check if a page's bit is set to 1: toggle if is 1, evict if is zero. + +> **Note**: LRU and CLOCK replacement policies are susceptible to _sequential flooding_. A sequential scan that reads every page pollutes the buffer pool with pages that are read only once. In this case the most recently used page is actually the most unneeded one. + +### LRU-K + +Track the history of last _K_ references to each page as timestamps and compute the interval between subsequent access. +The DBMS then uses this history to estimate the next time that page is going to be accessed. + +### Localization + +The DBMS chooses which page to evict on a transaction/query basis. This minimizes the pollution of the pool from each query. + +### Priority Hints + +The DBMS knows the context of each page during query execution. It can provide hints to the buffer pool on whether a page is important or not. + +### Dirty Pages + +**Fast**: if a page in the buffer pool is _not_ dirty, then the DBMS can simply drop it. +**Slow**: if a page is dirty, then the DBMS must write back to disk to ensure that its changes are persisted. + +It's a tradeoff between fast evictions versus writing dirty pages that will not be read again in the future. + +> **Note**: a page is _dirty_ if a query has modified it while it's in the buffer pool (not yet written to disk). + +### Background Writing + +The DBMS can periodically walk through the page table and write dirty pages to disk. When a dirty page is safely written, the DBMS can either evict it or just unset the dirty flag. + +> **Note**: need to be careful to avoid writing dirty pages before their log records have been written. + + +[buffer-pool]: ../../img/buffer-pool.excalidraw.svg "Buffer Pool" +[multiple-buffer-pools]: ../../img/multiple-buffer-pools.excalidraw.svg "Multiple Buffer Pools" diff --git a/docs/databases/database-systems/database-storage.md b/docs/databases/database-systems/database-storage.md new file mode 100644 index 0000000..60230dc --- /dev/null +++ b/docs/databases/database-systems/database-storage.md @@ -0,0 +1,292 @@ +# Disk Oriented Database Storage + +The DBMS assumes that the primary storage location of the database is non-volatile disk. + +The DBMS component's manage the movement of data between non-volatile and volatile storage. + +![storage-hierarchy] + +Access Times: + +- L1 Cache Ref: 0.5 ns +- L2 Cache Ref: 7ns +- RAM: 100 ns +- SSD: 150 µs +- HDD: 10 ms +- Network Storage: ~30 ms +- Tape Archives: 1 s + +The goal is to allow the DBMS to manage databases that exceed the amount of memory available. + +Reading/writing to disk is expensive, so it must be managed carefully to avoid large stalls ans performance degradation. + +![disk-operations] + +## OS Memory Management + +It's possible to use memory mapping (`mmap`) to store the contents of a file into a process' address space. The OS is responsible for moving the file pages in and out of memory. + +The OS does not know the intended usage for the memory and so fine-grained control over the pages is not possible: + +- When the physical memory is full the (un)loading of memory pages can slow or stall the thread. +- Using multiple thread is viable on multiple reads but is complicated on multiple writes. +- The order of unloaded pages is not controllable + +There are some solutions to this problem: + +- `madvise`: tell the OS how certain pages are expected to be read. +- `mlock`: tell the OS that memory ranges cannot be paged out (can still write on it). +- `msync`: tell the OS to flush memory ranges out to disk. + +Using `mmap` leads to performance and correctness problems. + +DBMS (almost) always wants to control things itself and can do a better job at it: + +- flushing dirty pages to disk in the correct order +- specialized pre-fetching +- buffer replacement policy +- thread/process scheduling + +## File Storage + +The DBMS stores a database as one or more files on disk. The OS does not know anything about the contents of those files. + +The **storage manager** is responsible for maintaining a database's files. It organizes files as a collection of _pages_. It tracks data read/written to pages and the available space. + +A **page** is a fixed-size block of data. It can contain tuples, metadata, indexes, log records, etc. +Most systems do not mix page types and some require pages to be self-contained for disaster recovery purposes. + +Each page is given a _unique identifier_. The DBMS uses an indirection layer to map page ids to physical locations. + +There are three different notion of "pages" in a DBMS: + +- Hardware Page (usually 4KB) +- OS Page (usually 4KB) +- Database Page (512B - 165KB) + +Hardware pages are the size at which the device can guarantee a "failsafe write". + +Different DBMSs manage pages in files on disk in different ways: + +- Heap File Organization +- Sequential / Sorted File Organization +- Hashing File Organization + +At this point in the hierarchy it does not matter the content of a page. + +### Database Heap File + +A **Heap file** is an unordered collection of pages where tuples are stored in random order. Metadata is needed to keep track what pages exist and which have free space. + +There are two ways to represent a heap file: + +- Linked List +- Page Directory + +### Linked List + +Maintain a _header page_ at the beginning of the file that stores two pointers: + +- HEAD of the _free page list_ +- HEAD of the _data page list_ + +Each page keeps track of the number of free slots in itself. + +![linked-list-heap-file] + +### Page Directory + +The DBMS maintains special pages that track the location of data pages in the database files. +The directory also records the number of free slots per page. + +The DBMS has to make sure that the directory pages are in sync with the data pages. + +![page-directory] + +## Page Layout + +Every page contains a _header_ of metadata about the page contents: + +- Page Size +- Checksum +- DBMS Version +- Transaction Visibility +- Compression Information + +Data inside a page can be organized with two approached: + +- Tuple oriented +- Log oriented + +### Log Oriented Page Layout + +Instead of storing tuples in pages, the DBMS only stores **log records** in the files. + +The system appends log records of _how_ the database was modified: + +- Inserts store the entire tuple. +- Deletes mark the tuple as deleted. +- Updates contain the delta of just the attributes that were modified. + +To read a record, the DBMS scans the log and "recreates" the tuple to find what it needs. + +![log-record] + +### Tuple Oriented Page Layout + +The most common layout scheme is called _slotted pages_. The slot array maps "slots" to the tuples' starting position offsets. + +The header keeps track of: + +- the number of used slots. +- the offset of the starting location of the last used slot. + +The tuples start from the end of the page and grow "upwards" while the slot array starts from the beginning of the page and grows "downwards". +When the two meet the page is full. + +> **Note**: the position and growing behavior is similar to a program's stack and heap memory + +![page-layout] + +### Record IDs + +The DBMS needs a way to keep track of individual tuple. Each tuple is assigned and unique **record identifier**. +Most common is `page_id + offset/slot`. They can also contain file location info. + +> **Note**: an application _cannot_ rely on record ids to derive meaning. + +## Tuple Layout + +A tuple is essentially a sequence of bytes. It's the job of the DBMS to interpret those bytes into types and values. + +The DBMS's _catalogs_ contain the schema information about tables and can be used to understand the tuple layout. + +Each tuple is prefixed with and _header_ that contains metadata about it: + +- visibility info (concurrency control) +- bitmap for `NULL` values + +Attributes are typically stored in the order in which they are defined while creating the table. + +> **Note**: metadata about the schema is _not_ stored. + +![tuple-layout] + +```sql +CREATE TABLE
( + a INT PRIMARY KEY, + b INT NOT NULL, + c FLOAT, + d INT +) +``` + +## Data Representation + +- Fixed Precision Numbers: [IEEE-754] +- Variable Length Data: header with length, followed by data bytes +- Time & Date: 32/64-bit integer of microseconds since Unix epoch + +### Variable Precision Numbers + +Inexact, variable-precision numeric type stored as specified by [IEEE-754]. Typically faster than arbitrary precision numbers but can have rounding errors. + +### Fixed Precision Numbers + +Numeric data types with arbitrary precision and scale. Used when rounding errors are unacceptable. + +Typically stored in exact, variable-length binary representation with additional metadata. + +### Large Values + +Most DBMS don't allow a tuple to exceed the size of a single page. + +To store values that are larger than a page, the DBMS uses separate **overflow** storage pages. + +Some systems allow to store really large values in an external file but the DBMS _cannot manipulate_ the contents of the external file. +This means no durability protections ans not transaction protections. + +[To BLOB or Not to BLOB Paper](to-blob-or-not-to-blob-larg-object-storage-in-a-database-or-a-filesystem.pdf "To BLOB or not to BLOB PDF") + +![overflow-page] + +### System Catalog + +A DBMS stores metadata about databases in it's internal catalogs. The catalogs contain metadata about: + +- Tables, columns, indexes, views +- Users, permissions +- Internal statistics + +Almost every DBMS stores their database's catalog in itself. + +It's possible to query the database internal `INFORMATION_SCHEMA` catalog to get info about the database. This catalog in an ANSI standard set of read only views that provide info about all of the tables, views, columns, procedures in a database. + +```sql +SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_catalog = ''; -- list of tables +SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE table_name = '
'; -- schema of a table +``` + +> **Note**: DBMS also have non-standard shortcuts to retrieve this information. + +## Database Workloads & Data Storage Models + +- [**On-Line Transaction Processing** (`OLTP`)][OLTP]: Simple queries that read/update a small amount of data that is related to a single entity in the database. +- [**On-Line Analytical Processing** (`OLAP`)][OLAP]: Complex queries that read large portions of the database spanning multiple entities. + +The DBMS can store tuples in different ways that are better for either OLTP or OLAP workloads. + +### N-Ary Storage Model (`NSM`) + +The DBMS stores all attributes for a single tuple contiguously in a page (aka _row store_). It's ideal for OLTP workloads where queries tend to operate only on an individual entity and insert-heavy workloads. + +Advantages: + +- fast inserts, updates and deletes. +- good for queries that need the entire tuple. + +Disadvantages: + +- Not good for scanning large portions of the table and/or subsets of the attributes. + +![nary-storage-model] + +### Decomposition Storage Model (`NSM`) + +The DBMS stores the values of a single attribute for all tuples contiguously in a page (aka _column store_). It's ideal for OLAP workloads where read-only queries perform large scans over a subset og the table attributes. + +![decomposition-storage-model] + +To identify all the parts of the same tuple in the different pages there are two choices: + +- Fixed-length Offsets: each value ahs same length and is in the same position +- Embedded Tuple Ids: each value is stored with it's tuple id in a column + +![dsm-tuple-identification] + +Advantages: + +- Reduces the amount of wasted disk I/O because DBMS reads only the data that it needs +- Better quality of processing and data compression + +Disadvantages: + +- Slow for point queries, inserts, update and deletes because of tuple splitting/stitching. + + +[storage-hierarchy]: ../../img/storage-hierarchy.excalidraw.svg "Storage Hierarchy" +[disk-operations]: ../../img/disk-operations.excalidraw.svg "Disk Operations" +[linked-list-heap-file]: ../../img/linked-list.excalidraw.svg "Heap File as a Linked List" +[page-directory]: ../../img/page-directory.excalidraw.svg "Page Directory" +[page-layout]: ../../img/page-layout.excalidraw.svg "Page Layout" +[log-record]: ../../img/log-record.excalidraw.svg "Log Record" +[tuple-layout]: ../../img/tuple-layout.excalidraw.svg "Tuple Layout" +[overflow-page]: ../../img/overflow-page.excalidraw.svg "Overflow Page" +[nary-storage-model]: ../../img/nary-storage-model.excalidraw.svg "N-Ary Storage Model" +[decomposition-storage-model]: ../../img/decomposition-storage-model.excalidraw.svg "Decomposition Storage Model" +[dsm-tuple-identification]: ../../img/dsm-tuple-identification.excalidraw.svg "DSM Tuple Identification" + + +[IEEE-754]: https://wikipedia.org/wiki/IEEE_754 "IEEE-754 Standard" +[OLTP]: https://en.wikipedia.org/wiki/Online_transaction_processing "On-Line Transaction Processing - Wikipedia" +[OLAP]: https://en.wikipedia.org/wiki/Online_analytical_processing "On-Line Analytical Processing - Wikipedia" diff --git a/docs/databases/database-systems/databases.md b/docs/databases/database-systems/databases.md new file mode 100644 index 0000000..de5cedd --- /dev/null +++ b/docs/databases/database-systems/databases.md @@ -0,0 +1,148 @@ +# Databases + +Organized collection of inter-related data that models some aspect of the real-world. Databases are the core component of most computer applications. + +A **DBMS** is the software that allows applications to store and analyze information in a database. +A general-purpose DBMS is designed to allow the definition, creation, querying, update and administration of database Management System + +A **data model** is a collection of concepts for describing the data in a database. A **schema** is a description of a particular collection of data, using a given data model. + +## Relational Model + +It was proposed by Ted Codd in 1970. It's an abstraction to avoid high maintenance of the DBMS software: + +- store database in simple data structures- +- access data through high level language. +- physical storage left to the implementation. +- store database in simple data structures- +- access data through high level language. +- physical storage left to the implementation. + +Concepts: + +- **Structure**: the definition of relations and their contents. +- **Integrity**: ensures that the database's contents satisfy constraints. +- **Manipulation**: how to access and modify a database's content. + +### Relations + +A **relation** (aka **table**)is an _unordered_ set that contains the relationship of the _attributes_ (aka _fields_) that represent entities. +The **domain** of a relation is the set of possible values that the relation can contain. +A **tuple** (aka **record**) is a set of attribute values in a relation. Values are (normally) atomic/scalar. The special value `NULL` is a member of every domain. + +### Primary Keys (PK) + +A relation's **primary key** uniquely identifies a single tuple. Some DBMSs automatically create an internal primary key if one is not provided. + +### Foreign Keys (FK) + +A **foreign key** specifies that an attribute from one relation has to map to a tuple in another relation. + +## Data Manipulation Language (DML) + +The **data manipulation language** describes how to _store_ and _retrieve_ information from a database. + +Kinds of DMLs: + +- **Procedural**: the query specifies the (high-level) strategy that the DBMS should use to find the desired result. (Relational Algebra) +- **Non-Procedural**: the query specifies only what data is wanted and not how to find it. (Relational Calculus) + +## Relational Algebra + +Set of fundamental operations to retrieve and manipulate tuples in a relation. Each operator takes one or more relations as inputs and outputs a new relation. This allows to chain operations together to create more complex operations. + +Relational algebra describes the steps needed to obtain a particular result. The order of the steps does influence the performance of the complete operation. + +Fundamental Operators: + +- Selection (`σ`) +- Projection (`π`) +- Union (`U`) +- Intersection (`∩`) +- Difference (`-`) +- Product (`x`) +- Natural Join (`|X|`) + +Extra Operators: + +- Rename (`p`) +- Assignment (`R ← S`) +- Duplicate Elimination +- Aggregation (`Y`) +- Sorting (`τ`) +- Division (`÷`) + +> **Note**: reactional algebra operates on sets. A set is an unordered list of unique values. + +### Select (`σ`) + +Choose a subset of tuples from a relation that satisfies a selection predicate. Predicates acts a filters to retain only tuples that fulfill its qualifying requirements. It's possible to combine multiple predicates using conjunctions/disjunctions. + +Syntax: `σ(R)` + +```sql +SELECT * FROM R WHERE ; +``` + +### Projection (`π`) + +Generate a relation with tuples that contain only the specified attributes. Allows to rearrange attribute ordering and can manipulate values. + +Syntax: `π(R)` + +```sql +SELECT () FROM R; +``` + +### Union (`U`) + +Generate a relation that contains all tuples that appear in either only one ore both input relations. + +Syntax: `(R U S)` + +```sql +(SELECT * FROM R) UNION ALL (SELECT * FROM S); +``` + +### Intersection (`∩`) + +Generate a relation that contains only the tuples that appear in both of the input relations. + +Syntax: `(R ∩ S)` + +```sql +(SELECT * FROM R) INTERSECT (SELECT * FROM S); +``` + +### Difference (`-`) + +Generate a relation that contains only the tuples that appear in the first and not the second of the input relations. + +Syntax: `(R - S)` + +```sql +(SELECT * FROM R) EXCEPT (SELECT * FROM S); +``` + +#### Product (`x`) + +Generate a relation that contains all possible combinations of tuples from the input relations. + +Syntax: `(R x S)` + +```sql +SELECT * FROM R CROSS JOIN S; +SELECT * FROM R, S; +``` + +### Natural Join (`|X|`) + +Generate a relation that contains all tuples that are a combination of two tuples (one from each relation) with common value(S) for one or more attributes. + +> **Note**: the matching values must be on the same fields. + +Syntax: (`R |X| S`) + +```sql +SELECT * FROM R NATURAL JOIN S; +``` diff --git a/docs/databases/database-systems/hash-tables.md b/docs/databases/database-systems/hash-tables.md new file mode 100644 index 0000000..701b8c4 --- /dev/null +++ b/docs/databases/database-systems/hash-tables.md @@ -0,0 +1,110 @@ +# Hash Tables & Trees + +Used in the DBMS for: + +- Internal Metadata +- Core Data Storage +- Temporary Data Structures +- Table Indexes + +Design Decisions: + +- **Data Organization**: How to layout the data structure in memory/pages and what information to store to support efficient access. +- **Concurrency**: How to enable multiple threads to access the data structure at the same time without causing problems. + +## Hash Functions & Hash Tables + +An **hash table** implements _unordered_ associative arrays (aka dictionaries) that maps keys to values. + +It uses an **hash function** to compute an offset into the array for a given key, from which the desired value can be found. + +Space Complexity: `O(n)` +Time Complexity: + +- Average: `O(1)` +- Worst `O(n)` + +Design Decisions: + +1. **Hash Function**: How to map a large key space into a smaller domain. Trade-off between speed vs collision rate. +2. **Hashing Scheme**: How to handle key collisions after hashing. Trade-off between table size vs extra logic for key placement. + +**Hash Functions**: + +- `CRC-64` (1975): used in networking for error detection. +- `MurmurHash` (2008): designed as fast, general-purpose hash function. +- `XXHash` (2012): from the creator of zstd compression. + +## Static Hashing + +Allocate a giant array that has one slot for _every_ element that needs to be stored. + +To find an entry, mod the hash of the key by the number of elements to find the offset in the array. + +### Linear Probe Hashing (aka Open-Address Hashing) + +Allocate a giant array of slots. The slot for an item is determined by `hash(key) mod N` where N is the number of slots. + +If a collision happens (`hash(key_1) == hash(key_2)`), linearly scan for the next first free slot and place the element there. To determine whether and element is present, hash to it's location and scan since the item may have been shifted due to collisions. + +Insertions and deletions are generalization of lookups. Deletions leave "tombstones" to keep the state consistent. A tombstone marks the slot as occupied when doing a search scan but can be overwritten by an insertion. + +> **Note**: key is stored with value to know when to stop searching. + +![linear-probing] + +**Non-Unique Keys Strategies**: + +- Separate Linked List: store values with the same key in a linked list +- Redundant Keys: store duplicate keys entries together in the hash table (easier to implement) + +### Robin Hood Hashing + +Variant of linear probing that steals slots from "rich" keys and gives them to "poor" keys. + +Each key tracks the number of positions they are from their the optimal position in the table. On insert, a key takes the slot of another key if the first is further away from it's optimal position than the second key. + +The objective is to average the distance to the optimal position for each key. + +![robin-hood] + +### Cuckoo Hashing + +Use different hash tables with different hash function seeds. + +On insert, check every table and pick the one that has a free slot. If no table has a free slot, evict the element form one of them and re-hash it to find a new location. + +Lookup and deletions are always `O(1)` because only one location per hash table is checked. + +## Dynamic Hashing + +### Chained Hashing + +Maintain a linked list of _buckets_ for each slot in the hash table. Resolve collisions by placing all elements with the same hash into the same bucket. To determine if an element exists, hash to it's bucket and scan for it. + +Insertions and deletions are generalization of lookups. + +![bucket-chain] + +### Extensible Hashing + +Extension of chained hashing in which the buckets are split instead of growing forever. Multiple slot locations can point to the same bucket chain. The starting bits of the hash indicate in which bucket is located the value. When a bucket is split the values are reshuffled an the number of significant leading bits increases. + +![extendible] + +### Linear Hashing + +The hash table maintains a _pointer_ that track the next bucket to split. When any bucket overflows, split the bucket at the pointer location. + +Use multiple hashes to find the right bucket for a given key. + +Can use different overflow criterion: + +- Space utilization +- Average Length of Overflow Chains + + +[linear-probing]: ../../img/static-hash-linear-probing.excalidraw.svg "Linear Probe Hashing" +[robin-hood]: ../../img/static-hash-robin-hood.excalidraw.svg "Robin Hood Hashing" +[bucket-chain]: ../../img/dynamic-hash-chain.excalidraw.svg "Chain Hashing" +[extendible]: ../../img/dynamic-hash-extendible.excalidraw.svg "Extendible Hashing" diff --git a/docs/databases/database-systems/table-indexes.md b/docs/databases/database-systems/table-indexes.md new file mode 100644 index 0000000..7806390 --- /dev/null +++ b/docs/databases/database-systems/table-indexes.md @@ -0,0 +1,85 @@ +# Table Indexes + +A **table index** is a replica of a subset of a table's attributes that are organized and/or sorted for efficient access using those attributes. The DBMS ensures that the contents of the table and the index are synchronized. + +There is a trade-off regarding the number of indexes to create per databases: + +- storage overhead +- maintenance overhead + +## Clustered Indexes + +A **Clustered Index** is a tree-organized table. Instead of storing the records in an unsorted Heap table space, the clustered index is actually a B+Tree index having the _leaf nodes_, which are stored in the sort order specified by the _primary key_, store the actual table records. + +The Clustered Index can speed up queries that filter records by the clustered index key, like the usual CRUD statements. +Since the records are located in the leaf nodes, there's no additional lookup for extra column values when locating records by their Primary Key values. + +![clustered](../../img/clustered-index.png) + +![non-clustered](../../img/non-clustered-index.png) + +Retrieving tuples in the order they appear in a non-clustered index is inefficient due to redundant reads. Since the index leafs point to pages in random order a page can be retrieved from disk multiple times for a single query. + +The DBMS must first figure out all the tuples it needs and then sort them based on page id to maximize read efficiency. + +## Index Concurrency Control + +A DBMS needs to allow multiple workers (threads or precesses) to safely access data structures to take advantage of additional CPU cores and hide disk I/O stalls. + +A **concurrency control** protocol is the method that the DBMS uses to ensure "correct" results for concurrent operations on a shared object. + +A protocol correctness criteria can vary: + +- **Logical Correctness**: can a thread see the data that is supposed to see? +- **Physical Correctness**: is the internal representation of the object sound? + +### Locks vs Latches + +Locks (Transactions): + +- Protect the database's logical contents from other transactions. +- Held for transaction duration. +- Need to be able to rollback changes + +Latches (Workers): + +- Protect the critical sections of the DBMS's internal data structure from other workers. +- Held for operation duration. +- Do not need to be able to rollback changes. + +| What | Locks | Latches | +|:-----------:|:------------------------------------:|:-------------------------:| +| Separate... | Transactions | Workers | +| Protect... | Database Contents | In-Memory Data Structures | +| During... | Entire Transactions | Critical Sections | +| Modes... | Shared, Exclusive, Update, Intention | Read, Write | +| Deadlock... | Detection % Resolution | Avoidance | +| ...by... | Waits-for, Timeouts, Aborts | Coding Discipline | +| Kept in... | Lock Manager | Protected Data Structure | + +### Latch Modes + +**Read Mode**: + +- Multiple threads can read the same object at the same time +- A thread can acquire the read latch if another thread has it in read mode + +**Write Mode**: + +- Only one thread can access the object +- A thread cannot acquire a write latch if another thread has it in any mode + +### Latch Implementation + +Goals: + +- Small memory footprint +- Fast execution path with no contention +- De-schedule thread when it has been waiting for too long to avoid burning cycles +- Each latch should not have to implement their own queue to track waiting threads + +Types: + +- Test-and-Set Spinlock +- Blocking OS Mutex +- Reader-Writer Lock diff --git a/docs/databases/database-systems/to-blob-or-not-to-blob-larg-object-storage-in-a-database-or-a-filesystem.pdf b/docs/databases/database-systems/to-blob-or-not-to-blob-larg-object-storage-in-a-database-or-a-filesystem.pdf new file mode 100644 index 0000000..817b2ce Binary files /dev/null and b/docs/databases/database-systems/to-blob-or-not-to-blob-larg-object-storage-in-a-database-or-a-filesystem.pdf differ diff --git a/docs/img/b+tree-insertion.webp b/docs/img/b+tree-insertion.webp new file mode 100644 index 0000000..1455e57 Binary files /dev/null and b/docs/img/b+tree-insertion.webp differ diff --git a/docs/img/b+tree-key-lookup.excalidraw.svg b/docs/img/b+tree-key-lookup.excalidraw.svg new file mode 100644 index 0000000..e3ea457 --- /dev/null +++ b/docs/img/b+tree-key-lookup.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1daXPiWpL9/n6Fo+bLm47CffdlYjom2FezXHUwMDE4MMv0XHUwMDA0gUHsm1x1MDAxMYuho//7XFy56pVlLIFEXHUwMDE5cV3vXHUwMDExUXaZTVfSyTyZeXP51283N19Wu4Xx5b9uvlx1MDAxOM+d9mTYXba3X75az2+MpTmcz9RL6OVvc75edl7eOVitXHUwMDE25n/9/e/T9nJsrFx1MDAxNpN2x7jdXGbNdXtirtbd4fy2M5/+fbgypub/WD/z7anxj8V82l0tb19cdTAwMGZcdTAwMTIyusPVfPntWMbEmFx1MDAxYbOVqb79f9XfNzf/evlpW93S6Kzas/7EePnAy0uvXHUwMDBihIhcdTAwMWU+m5/PXlx1MDAxNkslXHUwMDE2XFxiyH68YWjG1OFWRle92lNLNl5fsZ76Uu3EWCiD+uG1uc1Fqulwqlx1MDAxOe69XHUwMDFltTecTMqr3eTblWh3XHUwMDA266VtTeZqOVx1MDAxZlx1MDAxYrVhdzWw1nXw/I/PmXN1XHUwMDExXj+1nK/7g5lhWudcdTAwMGZ+PDtftDvD1c76XHUwMDFl8Prst4tgf9+z+kuS17+tTyBcdTAwMDZcdTAwMGWOXHUwMDFknU/U1VbH/lx1MDAwZvDyeD36Y7sz7qslzLo/3rNatmfmor1U9+T1fdvvZ0Vsq1x1MDAxOVx1MDAxOMP+YKWeXHUwMDE08JapXHUwMDA3opIzymz3wzRerrRgXHUwMDEyQSFsy7JcdTAwMGW5SHdf7vn/2S/FrPv9UszWk8nrKq1cdTAwMTfiNpy8fma96La/3U/IJEGUXCJcdTAwMDGxkD9en1xmZ+PDr5vMO+NXXGK8PPvvr2dAj7tcIk+tXHUwMDAwXHUwMDExSlx1MDAwNPGMvMgq/9huXHUwMDFhcLrPXHUwMDE0Rsl2pIymsq898kRwyFx1MDAxM07AXHUwMDAzh1CDhHFcdTAwMDKwZFx1MDAxZlx1MDAwNrXvL7xi41xyPlbG8+tabbezNSjVqlx1MDAwZpBcdTAwMDI26DYzXVxcXHUwMDA1hVb7y4/3/fur89d++zDaXHUwMDE0esu7zaxFXHUwMDA3ocdGcd0sxiaFt0f54/jt5XK+tX3v9/9cdTAwMDUmXHUwMDFmb87fJlx1MDAxYVx1MDAwNLmJXHUwMDA2xFxicizVPfIsXHUwMDFizlx1MDAxNzMw2YDnyYZkt2+U4YuAXGJxOdXMboVNI/1cdTAwMTBcdTAwMTJEXHUwMDBlhYQyXG6hhFx1MDAxZicjR+BGXHUwMDA1pYD6gNvrbZ3PVuXh3rqyXGK8eTbRnlx1MDAwZSfW5cQ/nn7BobpC4a830S9vnlxyT4Z9XHUwMDBikV86arXG8lxyWFdDZZH8eMN02O3aXHUwMDE1fUdcdTAwMWSqPZxcdTAwMTnLtFx1MDAxN1xyPV9cdTAwMGX7w1l7UnFcXIk6byP1x1x1MDAxZIG3yHaXTcN60Xpa/Fx1MDAwNFx1MDAxNXF3eSNcdTAwMDRISoB3LqrvXHUwMDFiLXJf3Mdm2WayXHUwMDE1XHUwMDBiN+/7g5buXFxcdTAwMDTtb9GDjLCURCDGXmX+OmTUhEa8q2wwXFzE6WG90FpcdTAwMTdcbo9IR9LAbiBGgGNCMcTcM4idT1pz0oBcdTAwMTBqy1x1MDAxYYJcdTAwMGLJiTJsXHUwMDAzo1xy5lx1MDAwM3A/R1x1MDAxYpGvN5FcdTAwMGLRxlx0ZXpIXHUwMDFib1dyadpcdTAwMTCuZprgQCApbLrrlMBt4P1usqhFmFmb7ybt+GNuNVx1MDAwZmvPXHUwMDFhXGLpxlx1MDAxYZJhXGawoFx1MDAxZidn57FGdthqN5adclx1MDAxNeZLM9Fvb1x1MDAxYdGc1JA1KHDDMFx1MDAwMlx1MDAxOFx1MDAxM86JXHUwMDBmV8P5pHVnXHKEtWVccmV+XCKCXHUwMDE4pMF5XHUwMDFiwdFG9HLexlx0bXpIXHUwMDFi0UC9XHJcYlxcLTVcbpSRRn2EXFyXjXg/l5mtpkO2a4dWXCKXrTZ2utNcdTAwMDY6XGJ8XHUwMDExdDnWOCvkylx1MDAwNMZIXHTDpeNgny5gdVx1MDAxNNdHqFx1MDAwNFwiSFxih8K7PfTcXHUwMDFiXHUwMDE00pF8SdbG6SaqPq1mnVhHd2BjXHUwMDE0XHUwMDFjsL2ZQ1x1MDAxYyOKXHUwMDAwXHUwMDA013aiRbWy37HpZN+AsvnUaCVRKbz9XHUwMDEzRXSh62aHXHUwMDAwTFx1MDAxOVx1MDAwM1BQz6LhfC01t7Kwk5FFiFx1MDAxNkaWtExAzoLZYVx1MDAwYtjIXG5/vVx0X8jIOqGiXHUwMDFkQrrh4IwsSlx1MDAwZZ/8XHUwMDEx0lV3m1x1MDAxM4lfXHUwMDBmeUrgeo3QXHUwMDE0jlx1MDAwMcqxXHUwMDA32DEzMtRPXHUwMDEyrDtcdTAwMTdcdTAwMTGiXHUwMDFiXHUwMDE3ScFcdTAwMDWAXHUwMDEyfJyYncdFZjczzzyD+0Go1enzVT1X7JNnXHUwMDFkOcNcdTAwMWTCXHUwMDEyXGLlXHUwMDE0XHUwMDAy4D2g63zSmpNcdTAwMDah2pJcdTAwMDZcIoJcdTAwMDJpz1H4pTjjUvHcXHUwMDEzqtSBM1x1MDAwMoznUnH45Os2IFx1MDAwM4QhTL175lx1MDAxNbNcdTAwMWE3WqFJdtRcdTAwMWHH04Vap5DOXHUwMDBldSdccsp0I1xyXHUwMDBlICRcZqCPc2D0cJah+3adWoZcdTAwMTBcdTAwMThcdTAwMTHvW85iQI1SpbhcdTAwMWO3MnfhTS7ejsxcblxy3bHGXHUwMDAzdJbPilx1MDAwMkFcZlx1MDAwNSRK+V7aYPl2XHUwMDEz87Gwubnv9WAqPE7N8ahcdTAwMTAz2P4jvVxcXHRcdTAwMDNBtnB1daGyWlx1MDAxOIHAx7ZYa0nLwFxmi1p+w0PVh/W22l1cdTAwMTjaI1tDLcpcdTAwMThFXHUwMDE4X3tXLFx1MDAxMr7riXLxzlhccsf3qVB6MdnAZ69hoItcdTAwMGJIXHUwMDAwJj2SrsJBqVx1MDAwNFxiXHUwMDAw4n27zflqam7Tc66tTVx1MDAwZpGV704+UuFrZdRfarfthJK+bm6fjfVcdTAwMGUljiOCoJVr7lnicpVcbkr2qs2H/r1cXIZcdTAwMWX7d1xcNta605FcYnC7zVx1MDAxYlx1MDAxZCFcdTAwMGUwZNeno8eaukHRfLlcdTAwMTJq9lx1MDAxMvdGK9bew6SOtIFdt9YgXHUwMDE0XHUwMDFjXHUwMDAzQaD3/Vx1MDAwM+ez1pw2hFNCuFx1MDAxZbTBMVx1MDAxMYRDXHUwMDE0XFwoiPtcdTAwMDDcz7FG5HLbXHUwMDA3J3SpQ2pfgNtcdTAwMDfS1TtXsiix8lx1MDAxYaX3/Vx1MDAwM/M5P5o+XHUwMDFis0U/Xi2Gjcy68JSa6s5cdTAwMWHqXHUwMDFkutFcdTAwMDbEiHDA7ZGRXyRcdTAwMTjE3N1cdTAwMDKBJMBM+IhcdTAwMDZcdTAwMTXQKFeJV0KhRpXKLW48XHUwMDFitF7XXHUwMDFlbjBAp/m8cFx1MDAxMFGKXHUwMDFlU/aBKdzOVsu3u3g3f2g2U6lNk9GBuShnK9x8Kuvp7Z7IdnONqiMg1LVcdTAwMDaQeI9cdTAwMDc12rVdKlx1MDAxZFx1MDAwN73OpFx1MDAxZInVI5lSZKG9XHUwMDAxXHUwMDBlkX6qlCNcdTAwMDVcdTAwMDUkPlCVnmmCl8lgkkn02N1m+DyOp7ujsTJcdTAwMGZesfzV+Ws/nYy4Vu24198jIFx1MDAwMWJcdTAwMDR6XHUwMDE2XHUwMDBl52upuWFcdTAwMGaRU9GOXHUwMDFllj2UWFx1MDAxOdtcdTAwMTLB4Kp2XHUwMDAyNe0vtct7Qktft2pcdTAwMDe651VIJqiwkis8i1x1MDAxY6v3e88wv6Ljh8EksXyQi8299ru8UMM8VUCEXHUwMDEw189TzVx1MDAxOMM0mONQcVxce1x1MDAxY3Y5fHxIKWRoSFx1MDAxYu65QVxcLVx1MDAwMSv31HtukPNJ685cdTAwMWI6Z5RcIk5cdTAwMDRglP+ivHGpjYRcdTAwMTPa1IE3gizbQa7lnlx1MDAxYyveQIx7z1x1MDAwZXqKPVXM5miZlaPWZNJcdOFcdTAwMTmaXHUwMDE0tedccv1ySqFcdTAwMDBWcyRcdTAwMWVMO46P1e3fXFxcdTAwMTJcdTAwMDekUeGq3ZW7zDi296w6hbTjxVx1MDAxM5pcIk3aik5ftFx1MDAxMFx1MDAxNrdMIFxisVx1MDAxNIQz21x1MDAxZfkh7DpcdTAwMTK1Uft82DHbke2hIVxmudWDXHUwMDBiUoQpfIdCXHUwMDAwuHVXgvFcdTAwMTN8o9B2sdrLVWQ461x1MDAwZWd99eKrZfRHXHUwMDFiuW9qXHUwMDE4XHUwMDE0RG+Sy+07vSbrNVx1MDAxM/epO7Gr2awlxVx1MDAxMJ21tcpcdTAwMTC4VfdcdTAwMDJcYmVwQCSV/kPM9q5+e2Et+vtcdTAwMTM/PPkvxqx7elxyw/i8XHUwMDAz1XJ7wFx1MDAxY09KXHUwMDBmm2k3XHUwMDA30i5rkFxmKmRcYkqUK0nhK1x1MDAxNVx1MDAxZVnDpG2uovPpdLhSl7Y4XHUwMDFmzlaHl/DlWoUtXHUwMDExXHUwMDFkXHUwMDE47e7hq+pcdTAwMWPsrylMXHJcdTAwMGaIY2F96VtL9PV/N694f/njx///76vju0M2WFqPQ0C+fv43+2/fmlx1MDAwN0v3llx1MDAwNpBhQlx1MDAxMPbOccfzdTTVPMpcdTAwMDV5y3GYuHPczypcdTAwMWKM6S2gnFx1MDAxMyvtR11bW+O1XHUwMDFmuofbdN1cdTAwMWaxO1xiOaFcdTAwMDLryXlu2uZQfk7rgON5JXZcdTAwMWRcdTAwMDBvgUSAYopcdTAwMDVhyr19NclfdcDBpab00ytcdTAwMDV3+FhcdTAwMGYuP0orQOG+XHUwMDFiSjmFVFxiXHUwMDFm/bGOXHUwMDA3bXVVXHUwMDBihyH8S6pcdTAwMDXkzfRl6q5DxXp6psZ/nFx1MDAxYTi+n3lgXG5cdTAwMDBcIihDXHUwMDEyKrlgmNlI85cxXHUwMDA10Jv3XHUwMDBi21x1MDAwNzxJuVtEybb9eijjXHUwMDA0XHUwMDExJeHQe0Bpun8qr1x1MDAxYnfpTKJbrcndKvyQ5Fx1MDAwMWZcdTAwMTid6XNcdTAwMWM2XHUwMDAyXHUwMDA2l5NwXHUwMDBllP2GXHUwMDFjYkn28NX3yKhASvxwgDmpr0u4eE7qzX//4yb8z1nE+u1cdTAwMTZUmlx1MDAxOL23gH1cdTAwMWJSWs1cdTAwMTdu8aQ3636XhepybC9hJIKOitjxXCIzV1x1MDAwYlx1MDAxYinbU/kwPlx1MDAxMouOO2q+5IxcdTAwMWM8r0fD7Z+VM+iRSlx1MDAwMSaK4mRAlT6fqJ/FUShcdTAwMTP3ekmklFx1MDAxNoL2W3tcbsvHXHUwMDFkfk2x7KeT0c9i2TlpySGzQ1x1MDAxMq4uP/pcdTAwMGLLXHUwMDA3xz+j2zaXjCCu/G3PMI5cdTAwMWFjkiY9c3RcdTAwMTctPveKxqT0uHnQXHUwMDFkxviw+e9cdTAwMDVNXHUwMDFmXGbZLVx1MDAwMczR+MG3UNpcdTAwMWbsXHUwMDEw3IRLK3HpXHUwMDAzsX3CXHUwMDE4gsBcdTAwMDf6nIwhW5DmhDGUUI7QTdbY/eN3q+r9P4O1hlxcXHUwMDBm7sVcdTAwMWPC5HxcdTAwMGWxQ+0wXHUwMDAxXG5zwFx099GoJVxyXHUwMDFmn+pcdTAwMGa7aXWQj9BhqbTjXHUwMDBmKe0jjof2XHUwMDEw0y3x9VdcdTAwMWRAXHUwMDAy3XPvrFxiq5DcRyPGeXMyToDWpNBsj/OL1LI+SoTH2kNPXHUwMDA0XHUwMDA3vc81gaRcdTAwMDT2XHUwMDBmxcwuTisots/Mdo/FxmrmNS2V5sPNci4k23VZXHUwMDE4XHUwMDBl2q0lfuxccr3ZREe/t9ArPS924casUJfleC40TT1cdTAwMDCP36uLrVx1MDAwNaF7l3pcYqWAXHUwMDE0XGLvXHUwMDA10M53KTCh+8DRJkyLvKWgR5v8tHWlRfnzXHTVf93yZ3gkU1x1MDAxMFx1MDAwMCSor0548YfyPFeMVSadfJmEluuncZhFdGe5d7NNrk9zusw2Wdfjxl1cbjwkXCL5WoaHzUZ5sdFxtsmRnG2rX1x1MDAwM+SUed+dcD5pzVnDebaJXHUwMDFltFx1MDAxMfhsk1x1MDAwMHnjglVcdTAwMTInlOmVqySoe99cZsA4ULwhvXtHZYAztWZcdTAwMTNV2TZcdTAwMWGpXHUwMDFieFx1MDAxOH5cdTAwMTJcdTAwMDHOoDt3z1x1MDAxZunGXHUwMDFiukw3aWz7eFx1MDAwNOXw2ShMmYBwMsl1+jryXHUwMDA2ckex1dmNIci8x3adz1p34nBcdTAwMWNvolx1MDAwN3FcdTAwMDQ/3iRA5rjgeJNcdTAwMTPq9MrjTbhrRFfpLkkk8FEn0ZDN6pTk2T3PtKv9XHUwMDA1XHUwMDA2q35e+9ZcdTAwMTmHu4JcXFxcjjc+wXyTn1xih1x1MDAwNc0jJ1xuR13HhGLLXHUwMDAzIcTHdvfIZNvZtr3bhlxu63BNbrLJfUH7KaGHdaOXXHUwMDA09ueab9Lpt5KF1byVMkKFxnK/yVx1MDAwZfm6XHUwMDE5QLxYXHUwMDE3Q8t9XHUwMDE0XCJkjFslO9x7WNf5YmpuZzmWo1xuoIWZXHUwMDE1+ICTYFx1MDAwM7uX6lB2Qkdfd8DJMddcdTAwMDYrv1x1MDAwNrzZRTslcmSbmG2b6+l4KDZP+3L4rlx1MDAxOUtcdTAwMDa4k3JcdTAwMWVcdTAwMWRcdTAwMWSWo16fjnRcdTAwMTlx8iCanZxMJfgskynXU9vH0KRcdTAwMTHWkTZcXDEsXHUwMDExooDbQX5cbsLO56w5azhOONGDNVx1MDAwMp9wXHUwMDEyLGlcXCqqe0KTXnfCib3m4F0zNsalhNhHafkwksThxDBazq2Xk1x1MDAxMG9GzLI50p00XHUwMDBlR5xcXJ80ftVcdTAwMTEnyL3zXHUwMDFmXHUwMDE2XHUwMDAwcEl9NFqqXHUwMDE5+UqkslrU+5F+N7uqN7urfYCbdudh7XDEiXaBoIBHnFxcPIFJ+qGQn1Cj7kU8XHUwMDE0WaM2hI9cdTAwMTBne1Cb81CzMlx1MDAxZIRcdTAwMWbM5HjRSEVcdTAwMDHTXHUwMDFl2Vx1MDAxYWpRPUacZCZmsjM1i4LVQXjR7keaw1x1MDAxNtUmw+/jXHUwMDA0xHXLzeZ1vqtcblx1MDAwMlx1MDAxOFwiwbBn2XC+mJrb9I5cdTAwMTNO9LDpg59wYiud+cQpfid09JVT/NznXHUwMDE2cmVbSkx9jC283/WaaFx1MDAwM/JcdTAwMGbd7aLTXHUwMDAxkVZcdTAwMTH0tN9wO5xwcn020mXCSW9cdTAwMWRvssJcIjXNwFAkXFxcdTAwMThcdTAwMTWe61x1MDAxMaYla7jurVx0xNQ6mPBcdTAwMWVcdHI+ac1Zw3HAiVx1MDAxZaxcdTAwMTH4gJNcdTAwMDBJ44JcdTAwMDNOTqjS61x1MDAwZTiB7v0+KFG+pL0k9JS8bTPRzeYxs9hcciswv5PJ0mDZXHUwMDBm0Eo7M7vvcL7J9Ukj+PkmXHUwMDAx+ctcYrt3XG7gXHUwMDE4XG6rs5z3XHUwMDA2UjK9X3S6pFZNd2vxitmv8PVAe1x1MDAxM+XdfFx1MDAxM/1iQcHON5k1s9lkrzIoh5LRUPbuKT5LjEJ6uron0t3c591SzFx1MDAxNJvZqyxPmt9cdTAwMDNcdTAwMTP2Zq1xNrsuXHUwMDE4zVV3w7d8pT22XHUwMDBmm6NpoEp1mW+S2+wr8KmpXHUwMDAwXHUwMDE4mm5cdTAwMDfpUYZccvtTr+GgTyQj7pU7R7pmK5wgXGa8h4OcL6bmhr3zgFx1MDAxMz0s++BcdTAwMDecXHUwMDA0a9pfapP3hJq+cumOe1ZcdTAwMDWWhFx1MDAwMuFnmFxcu1Eyl6PBPr1dd/tPpXK01Kxi7Vx0ScNEVU1cdTAwMDac5GL7YVwiYlxmw7VyZTSvb59KkXZbS95wXHUwMDA1MVx1MDAxNVxmXHUwMDEy6Scg5HzSuvOGzlx1MDAxOaWBXHUwMDBmOFx0ljcuto9wXFybXnnAiXCdQorVnYDSx5zGmDlcdTAwMDLPSER7+5Ts0cRdc89G+jd51i+hNPj5Jlx1MDAxZqfaXfuJS+pazY9cdTAwMDCUXHUwMDAyceoj+ni8ekJTqMnDaNBcdTAwMDU77jFCbzlHXHUwMDEyXG7MLUFG74HnMGQg8JEmvoBnu1ieRppcdTAwMTQ7vSc+Klx1MDAxOXf7u+Gskqh0pYRVm31k7yHOXHSkykRWrMNcdTAwMTFcdTAwMDLSyzhcdTAwMTFPfcyfXHUwMDA2XHUwMDA1XHUwMDEz0nm1kKDZxT5cdTAwMTPuJO6zOZc1SFxuKFPLoFByypnDOIN3a/hsfcxdYWk9Pm54XHUwMDAxP1InoTSrZUlS71xycI4n6GiqbN7NNLmktrGGUiCocFx1MDAwYpSRXGKZkz2pw0iTXHUwMDBm0Tb+Z1x1MDAxOVTyiUz/Obzr7LrdcmJDi6VoOuGmXHUwMDAzIFBXhFqVPJjwX3GqkStWrMfHqVx1MDAwMGyrLDg0bFx1MDAxMVx1MDAwM0pcdTAwMTH5SJA5XHUwMDFlk9VVXHUwMDAzvIvQX1BcdTAwMDPoOr7kSlwif3y78kDk/1x1MDAxYV9y5vhcdTAwMTKI3ac6Y6JcXFt7Q6OTI4pcdTAwMTJgXHUwMDE0SrZLsXlcIoFBqUPM+3iAXHUwMDAzcc90KVx1MDAwZZxXesR5vdj8XHUwMDEyh+ShoOeXXHUwMDA0mXH6MkPEJVZ00bklXHUwMDAxRoXcS8YgVlZcdTAwMWJSaty7/XzcXHUwMDBm07Q9vp9cdTAwMGXdv+bEkot3qFxiKllcdTAwMDO6g5kpO1RC7iPydNyh11x1MDAxNMx+mlx1MDAxM/2aI0s+XHUwMDExmN13x44oZYFcdTAwMDTjyMe4tvjyIZVNbrZNlpc1YshQf7SI647jw5kllzR3PtnMXHUwMDEy5Fx1MDAwM35OXHUwMDA20JkzS/52zZklf1x1MDAwYnBmXHRzzWZcdTAwMTVQIFx1MDAwNVx1MDAxM1x1MDAxZlx1MDAxYmXHXHUwMDAzQprKnp+65qBcZlwiXHUwMDBlXHUwMDA0RURcdTAwMDTEIb9AoaZwb6nNIce2wO3JcZ/DQjXWLi+VXHUwMDAx1HkqJUO5TfVprj2GXHUwMDBmduDEJTEs+K23vFxuzlx0VdL1gVxyfi9NXHUwMDE23r3lb2racl9/j1x1MDAwNM9cdTAwMTbuR/9cdTAwMDBcdTAwMGbaNfTs3ihcdTAwMDBcbqyEXHUwMDFj+nA3crvamqS6rVExf7+S40Vx02v2dI9KvUvFu+TgbOzN30BcdTAwMDBbzaUoXHTEJLti6DlcdTAwMWXfdlx1MDAxZmBcdTAwMTGxcDpaXHUwMDE1rNect0P2rEB76Fx1MDAxOXBcdTAwMDaBNe1cdTAwMTBcbiZcdTAwMDXHtlnyv0rs2Vx1MDAwNlx1MDAwZuvhO/Z8otuN6z4zkVRcIlx1MDAwMHxk3Vx1MDAxZb9xuoo6O3DJjk1D/TOUOFx1MDAxZFfYb6B1bSPxeNRcZrsmXHUwMDA2UnWZobRcdTAwMGayOVx1MDAwNe1qaGfk7/v3j9vYkFx1MDAxN2L3/T1fSP2hTYKD9iercCoktqFGLLJcdTAwMWWMi+PSaFx1MDAxYlx1MDAxZcXKz486+jvuplx1MDAxOJLUKnhcdTAwMDbed1xinU86MFx1MDAxNJ+ZUc6cuk1cdTAwMTI9RkFcdTAwMDRfiVx1MDAxNJznc8FRXHUwMDEwJ9TplUdBXHUwMDFjmbBKMVx1MDAwNkqDebeJlrGa2S1wMkhlSplupb6fTlr6l31cdTAwMWaGXHUwMDE5rk9cdTAwMWO6VFwiLcm2XHUwMDE4TY6n5SzYLHedXFx3ieItXHJ5g7tcdTAwMWE/ijegMn1cdTAwMTj23tre+aR151xyx45mmvBG8JVI2Fx1MDAwN+J+mjdiXHUwMDE34o1cdTAwMTPa1IE3Ylx1MDAwMfJcdTAwMDZ1nVx1MDAxMlxmXHUwMDExQpwj7iNjM7vfx1x1MDAxZtazea3RryxcbvX9PTbj+tdcIlx1MDAxZPY0uz5xfOZapOOhXHUwMDFi7tp8TMGNci6oj1x1MDAxNlx1MDAxZePIenZnxO4j1Xg8vc528dPmbqI93Fx1MDAwZWM3f/b2NI9PLZpPXHUwMDE2d7xaKcZcdTAwMWU7xW7UaK0/YexcdTAwMDa5T85FQFxizKi9w/8pbM9jvFx1MDAxMa5cdTAwMTVj1WdcdTAwMDbraVPwfWXW0Fx1MDAxZtv6lXXqXHUwMDEyvMG96H1uXHUwMDFlnmerjfvU7HHUXFztt/5cdTAwMDd5XHUwMDA2kPBEXT1JyVx1MDAxOOZcdTAwMTB7T3dyPmfdbXDH2I0m3Vx1MDAwMIKP3Vx1MDAwNGqDXyp2c0KbXjd2Y8/GfJcq+zJOTHLved+Z+nw36Cbui+02R9My7lx1MDAwZc30Rnvi0LHLvVx1MDAxZcGbWTEz7meeWlx1MDAwNbl9rpWyu0S6XHUwMDE5n2vJXHUwMDFiruZcdTAwMGZRXHUwMDE4poxx70F/55PWnTj0bkf/V/DmXGbiOKFNr1x1MDAxYrxByL3ZK2VAWVxuwEfBvVx1MDAxOYlcZoooVlxiXHUwMDBmlzQjqulkaESK2lx1MDAxM4d+XHLpP3PwxjW7XHUwMDBlXHUwMDFkyWFlQFx1MDAwMMCkjzjhcZdfV6i9a3V3yd5cdTAwMGV/5de9ya87XHUwMDFl6rv5K7/ux1x1MDAwN36z/z6PVoi7rFx1MDAxM0q4lNzHZnIudodjmeLzhFx1MDAxN6eRVa84nS1BRHdZP6xDVXjSLEiroG2xTDCDpoPMgHNvjVx1MDAwNyVcIlx1MDAxMFxuP1xy7Fx1MDAxM8XOXHUwMDEyhKL1/IQl26OYUYDjUoCbwGeCT1x1MDAwNFxiPo82XHJhnLxcdTAwMTlzfVx1MDAxZGfYXGKVWG+avbvv9KO7Yj2czW/7XHUwMDAzrz2+XHUwMDFiPbxcdTAwMWXdjWohZoKQObkr9kVcdTAwMTJ622g4+r2t5KZUmudAXHUwMDFjrVKZjSg0tlx0MPH2vX8o66BEz915d1x1MDAxZlxuhFx0kuqf91wiJeebXHUwMDE0mNCd57xLp6FAXHUwMDEwXGJcdTAwMWScd8oohDJcdTAwMTh/XCJg1/2Ck+RO6P4rT5JcdTAwMTPurjvDXHUwMDEycsGld3+KJTfzu0Y2XHUwMDFlXHUwMDFhmt05ot1Nr1x1MDAxNCvoTnNcdTAwMTBcdTAwMDLteFx1MDAwZUtJXHUwMDA0sifZX4fn+CY5XbTMznRTMs36sDRcdTAwMDVcdEPPzUJXXHUwMDE4XHUwMDEzyFx1MDAwMeNcYntcdTAwMGb6Op+05rxcdTAwMDGh08xcdE2IQ3AhOVx1MDAxMVx1MDAxZpjIoVx1MDAwZnNcXHDmxFx0dXrlmVx1MDAxM/JIY1x1MDAxZE6IxH4qXe9cdTAwMWK5u17qYVxysrxcdTAwMTlrlFx1MDAxZdPTXFxb/y6rXGJpx1x1MDAxY5JhXGaw+MBy8vOYI6e+O2qk6ptcdTAwMTLbNFx1MDAxNysjNW1jqiNzMHdcdTAwMTgrV5NKiIj3ZG/ns9adOpDT2Fx0TahcdTAwMDMql48gXHUwMDA26a/odVxcMNPkhEK9cqaJe4pcIrRcImvqRvjwOprN5qBaJq16tztcdTAwMWOg9qS8KN1rz1x1MDAxZIdN2d5wiVx1MDAxNpFdJjBGgn6g4DkzyU9cdTAwMDfFgqaSXHUwMDEzU3bdm88rJ0Q51X5cdTAwMWPqbm82LYz4dGRcdTAwMGVLu7VcdCfFXFxG+8zyw/3Ji0LbY1x1MDAxMlx1MDAxNUZcdTAwMTSB6ydRPTRN8DjO7VBqslx1MDAxMdVN/S68nu5cdTAwMDOIXHUwMDFia2NtIeYqXHUwMDFkXHUwMDEySYlcdTAwMTlE3tN6na+m5taW44wvZWRqYWxJ+JLnXHUwMDE5zG5e8CHeS819P6GmXHUwMDFkQryBzn139XCo1ZCKQlx1MDAxZlm9iUxcdTAwMTRk2zJcdTAwMWLmo0a2PmzH0aRJdCekwyFfXHUwMDFhXHUwMDEwklx1MDAxNFxcXHUwMDAwKMHHXHTaeYSUfEKVYmvYXlx1MDAwZSPP+TBcdTAwMTitOuasqyVxuIJcdTAwMThBwKBcIlx1MDAwZe6dOJzPWnPiIE7lIJpcdTAwMTCHWlx1MDAwNVx1MDAwNdJeV3Zp3iA+XHUwMDEw99O8calcdTAwMDDvXHRt6sBcdTAwMWJBXHUwMDA2eJlrXHUwMDA2jLrdXGYxjLwnwDyGa0YkU8R3/Pkxb1x1MDAxNFx1MDAxMlx1MDAwZvC5q30nQ8q041xyXHUwMDBlICRcZiA9R+icXHUwMDBmNnSkbSZcdTAwMDZIWaTcR0E24JO7oZGeNueLdVx1MDAxMeTLXHUwMDA1sU02dUfbYYtl/VwiQlx1MDAxMENcdTAwMDFcdLWXxl8yJPSJ8plO7JS5O72CKdJ843CdwjYynnP1RZam6iRU3VUycVRsL7THto6alDGKML72RtlwP+7IeHievGfh/b7y2Fx1MDAxZDH29CdK+UM25+xdwFTh5mXWgmfpcL6amlv2jvV6mlj26lx1MDAxZUislH6A07xcdTAwMDI17S+1/3ZCTV8361x1MDAwZoEjTcqZelUg4N22f8hn4epuXHUwMDE4L1x1MDAxNte9fTxcdTAwMWJHJD1P685Ih/V6XHUwMDFhMFx1MDAxMuJcdTAwMDBDdn1GWnZnOD4qhFvG01x1MDAxYdTzNMJnXG7yOjKH61ZcdTAwMWLDXHUwMDE0c6k0l2dcdTAwMTA7n7TmxCFcdTAwMWOTxfUgXHUwMDBlji3LXHUwMDE2ol8xJFx1MDAxNLncVsJcdGXqkPNcdTAwMTfgVoKdXHUwMDE1XHUwMDBlQ0JcYivPkVx1MDAxM++OTNJoL1x1MDAxZTAtL1x1MDAxYbCbaFx1MDAxNO6j0XJR/7HK4DBZ/Pq8XHUwMDAxMVwiXHUwMDFjcPSBraX0cJzVoVxczVx1MDAxNICwUK6Dj1x1MDAxYbxlPfkwrVQq5nbbXHUwMDE0lV1cdTAwMWFXRDlA1+Dc4oQgPWdd2vRpXHUwMDAyP+hcdTAwMWFcdTAwMDCX6mwxoz5cdTAwMTKc6Z05XHUwMDE4V/LN5ZSEQ125K4XXc/2HIFx1MDAxY1x1MDAwZZHXQdvp0khvulx1MDAwNbWHXX9zX1x1MDAwNOvFXHUwMDE01jN9Nqx5XHLcXHUwMDE0Nnj6POTVVLJ0v6iGXHSsVyudz1x1MDAxNbixp+RcdTAwMWXmXHUwMDE1MIo4ZN43ZJ2vpebWN0SOJTd6mN9X6NBcdTAwMTeo/X2pLdlcdTAwMTN6+ro1N+jIZHbrPlx1MDAwMCR8xG2qXHUwMDE1WShB2ax358XeZtCrNlx1MDAxMtGS9pSkY3apJi36RmhXf56xRmjbf358yqdqszVua8lcdTAwMWNHZllbW2JcdTAwMTRJ79zhfNa6c4fWaaDBN+lcdTAwMGKUOy42mee4QnXgjiBj/th9woJUN8GaY+3dnVnVRb2/L02nK7N6h2KdfOfpQftcZlx1MDAwYqhhXCLoL9mlT+kxd1xyT1x1MDAwNcfESmLyXGa244VcdTAwMGaagk1cdTAwMWVcdTAwMDZu4Fx1MDAwNcfgMsxvJVx1MDAxMFRcdTAwMTKJXHUwMDE5s7Wae4WebajRXHUwMDFm0Fx1MDAwM4BzLEkwLsKHNe1za803a5vreL1iXHUwMDE2cyS24M3RXHUwMDE2Ldduo2+RXHUwMDA1QVxiXHUwMDEwUk6SXHUwMDA09JVcdTAwMTZv3FvzeepcdTAwMGZcYqupdiuVkuvUY89M7/L7RO3p3mVcdTAwMTFcdTAwMTJcdTAwMTNJOSNW9FbK11x1MDAwMThH1vDJ2lx1MDAwM4ZcXHFpPbh8/fxv9t++9Y29s8SBusFcdTAwMDRcdTAwMDOqXHUwMDFjI+/a5nhOjabaXHUwMDA2Kl//VjFcdFx1MDAxMIJhKsAr13/XPYdL+cBcdTAwMTahXGLdXCKsbjKlXHUwMDA0XHUwMDAwTF/1zKvusVm1f0TxIOSEXG6sJ+19uO75LtAu2kgyrqwvzK1cdTAwMWKHXHUwMDE5XCLn6Z5tJlx1MDAxNy3L8SZcdTAwMTd57j9cdTAwMGXSfFx1MDAxYZ7JuudFSFxi1O2gXG5qXHUwMDE4XHUwMDEzzj+96nGFpfXg4qNUj7pirqpH3UlcdTAwMDbs+1wiJ2fMXHUwMDFljVxu66p63m1cdTAwMTJcXNLSQVx1MDAwZVa1fY1/6Fx1MDAxN1x1MDAwNoiEglx1MDAxMj1cdTAwMTPlL2nbYGRtTlx1MDAwMf7tJ7e9yZNl83bVn0zo0Zv3K1xc+Fx1MDAxNHP3VCNX51lC5cJcdTAwMTHuY7OjjYqdUCY3qFx1MDAxYfVxhLdTtTqLjnSX8vfNYC/ZdVx1MDAxY7JbXHUwMDAy7NGxXHUwMDFmsk7emVx1MDAxMoo6lVxi4lx1MDAwMFx1MDAxM1Rfl3XpYNXfvt6Eb/77Rv2K3vxz9ntnYHTGN4bCxM1s3jW+qp83N2anPfvPcyNaq7ktKfVtOOvNSVx1MDAxZMauzliYl1x1MDAwMFx1MDAxN0FHxfNEK0vX/UjMlXxcIj89ZY4rXFxfMkpcdTAwMGWe16Rb+M/KqHOuyHtcIlx1MDAwNpgogpRcdTAwMDHVXGZp2Fv56Pf+RFx1MDAxZcDR7113tilz9Fhrk3gxXzHLddy+Y3rmXHUwMDE3nJhcdTAwMGLsmoPDXGKFXHUwMDEyM1x1MDAxZlx1MDAxOWDHgzOaXG61r0ZRQVx0NZeEI2RfiaZCXHUwMDFkNJjd21xmuu++XHUwMDAwXG4oQcDHlucuXCLnq4axn7XoXu7SJTkr9c7seFx1MDAxNlx1MDAxY5DxoZtcYi5cYuRjXHUwMDE2JL59qSn78WCH8CZcXFpJZlx1MDAxZojuU1x1MDAxNiXzgT8ni9JcdTAwMTZGO2FRJpSjd5M1dv/43TLh3OzGidFbXcBqdD24XHUwMDE321x1MDAxMJOfoFx1MDAxMeRcdTAwMWEgXHUwMDE2RFCGOPZcdTAwMWWlOVx1MDAxZWfTVPp8VZdcdTAwMDdGI0BQRERANPJcdTAwMGJcdTAwMTTLKqXk6uNcYlx1MDAwZVx1MDAwMLH5pqdgXHUwMDFjXHUwMDFm3CXxrEt3MD+NhnvzSv1uONZcdTAwMWTG77K/8Fx1MDAwNWHMwS2GTlx1MDAxNOKQMsM5oUrGPrDv8qU5w3tcdTAwMTTi93DwVHF4zEunx2DkXmtcIlx1MDAwNWNcdTAwMTRiW37fKdmaXHUwMDBikjTNWTpcdTAwMTdcdTAwMWbvzFXaXHUwMDFjbZtcXP/0XHUwMDE4XHUwMDE2ZLa/LrUmx1x1MDAxOOPyXjS0XHUwMDAz/ILdddynvHCGpKJcdTAwMGXkXHUwMDFk3GSwK8ZcdTAwMWbpYiDzyWq0zVrzaD/AocjnglvD3C9dSlmW5Tu2jvZcdTAwMDZmbLxPhlIk0Y1cdTAwMGaGV1x1MDAwNLOr+SOPXGblI+qBMPVR8u141oHh+MzEYaZxXHUwMDFiwCtcdTAwMTSdXHUwMDA0Z1x1MDAwNV2wWf9cdI165Wb9zL1Zv6TA6vvoI5fT6K7KgC1cdTAwMWbKmftqpd4spbrVnP4jwrTsX6VH0Um3/zxdXCLCiuF+lFx1MDAwMMxcdTAwMWVcdTAwMWX2YKEld7jbQEBcdTAwMDIoqI/O484nrTt1aN5nKuiak0CpI3Yh6jihT1x1MDAxZKgjXHUwMDE2IHVw9z5TVtlcdTAwMDPByEdibq9ZL1x1MDAwZmbdTaudf86FJrVMq1jNa09cdTAwMWRcdTAwMWE2mrpCzcmHqXf3REzpOjrYXG4nXGIpfbS5P+7461xutXfB0UsmYmJvMX5cdTAwMDQwUj5cdTAwMDG1rUQnrNkuz4cnYlx1MDAwMkE5JOjHT9u7fqrG5Hhw8WBccpxBwFxi4lAwKd5cdTAwMTRg/CpFJjYgWlx1MDAwZuE35/P4xiF2t1x1MDAxYSEj3Ir7e2ew7J5NV4N0vdWr1uR9hvS2xujM8YDBbbn4a0H0ebdcdTAwMGX1XGLVXHUwMDFlSXiSTKhLb59cdTAwMTlyspRcdJrR7GP07mE3qcpMLiHqZJ7SXHUwMDFlb762If7C2094xEescymwXHUwMDE1yPOR1Vx1MDAxZS2mXHUwMDFmK2NcdTAwMTPlcH6aiDRn3czjmUW6XHUwMDAxZkVcdTAwMWOqtqtsJ7/Paf9cdTAwMTNsJ/9z9nvkWtvK74/9XHUwMDAxyemutSPINX7KsMRK0LD3pI3lckD6z6thQtTQfX3ZaVx1MDAxNabjM1x1MDAxZJMgNfrh3tufN2uD2yF3WTGz+otcdTAwMDQtXlx1MDAwN8f0XHUwMDEzYPrtu4X/pb1YlFfq0v1wgdRNXHUwMDE5dlx1MDAwZs7/y2ZobCPvofFcdTAwMWa9l4dcdTAwMTWAflx1MDAxMVRLJFxm687869+//fv/XHUwMDAxgoK+4yJ9 + + + + A, CB, BC, CA, AA, BA, CB, AB, BB, CA <= AB <= CFind Key=(A, B)A, CB, BC, CA, AA, BA, CB, AB, BB, CA <= AFind Key=(A, *)(A, *) <= (B, *)C, CC, DC, CC, DA, CB, BC, CA, AA, BA, CB, AB, BB, C*, A < *, C (check each node, no scan)Find Key=(*, A)(A, A)C, CC, D(A, A)(B, A)(B, C) \ No newline at end of file diff --git a/docs/img/b+tree.webp b/docs/img/b+tree.webp new file mode 100644 index 0000000..68b29e6 Binary files /dev/null and b/docs/img/b+tree.webp differ diff --git a/docs/img/buffer-pool.excalidraw.svg b/docs/img/buffer-pool.excalidraw.svg new file mode 100644 index 0000000..d3e0430 --- /dev/null +++ b/docs/img/buffer-pool.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1cXFtz2shcdTAwMTJ+z69wcV5jdu6XvFx1MDAxOWJcdTAwMWJcdTAwMWPfML6f2nJcdCFAXHUwMDA2JIxcdTAwMDRcdTAwMDa28t93JFxmXHUwMDEyQoBwIMhZ8+Ayo5HUM9Nffz3dPfzzZW8v41x1MDAwZTtG5ttexlx1MDAxOOhay6x2tdfMV6+9b3RcdTAwMWTTttQl5H937F5X93s2XFy343z766/gjqxut8d3XHUwMDE5LaNtWK6j+v1ffd/b+8f/q66YVf/e5kmdndn8tfF8+1joODbBxTP/Vr/TRJiuobuaVW9cdTAwMTnBpYFqJ5CAacPQXHUwMDEzXHKBoOHVrLqNceO0rWGY9YarXHUwMDFhYajj+Mnf9oJcdTAwMTbH7dpNI2+37K73+v9cdTAwMDH/XHUwMDEzvLyi6c161+5Z1aBcdTAwMGbRmVGjQZ+a2WqV3aH/ZDVbamYykeffTVx1MDAwNIy0L7pLvbDesFxmx5mR1e5ouulcdTAwMGUjY/Kk61x1MDAxNKvBxPutp8e6062Vzkm7VM1cdTAwMWZaJ4+330/59Fx1MDAwNd6s3rhcdTAwMDL9XHUwMDE4XHUwMDFjmKLj1nRcXCuVXHUwMDFma1wi83b977AkVvVNXHUwMDEyq9dqXHUwMDA1XHUwMDAzMFxmb10hXHUwMDE0XGZcdTAwMGIoQjNcdTAwMWboXHUwMDBmxdHGc9vyVUlcbk6JlERMO5jOd6VCrv/QmtZyjGBcdDxcdTAwMTFcdTAwMGWj6lx1MDAxNVaxXHUwMDE5XHJyjYFcdTAwMWJcdTAwMWHoVFx1MDAwMcGtZV5cdTAwMTRlXHUwMDAzSKt6oZFbMdB7l5lpv59zQ+91qtpYXHUwMDFlyFx1MDAwNJJUMoq5gNPrLdNqRmelZevNYFxifuvPr3FwiJdmXHUwMDBlXHUwMDBlM4NcdTAwMTkjQSl+lkvvgzBcdTAwMDdcZkZggXFcdTAwMTbNXHUwMDAxQ4os8fRcdTAwMWFSRFx1MDAwNVx1MDAxN3JcdTAwMWUl6jb2XHST7cFEIEqFhELEwISgRTCBQq1cdTAwMThkgLxcdTAwMDMmM2L8ui5cdTAwMDeq6amkWouOVjf2YGh5bcstmyNPbCRmWo+0ttny1lx1MDAwM8885KBl1r3hZ3QlsdHNhCfBNVx1MDAxNcNMO7TNajXMXGJcdTAwMTXNMZTE/qv4tFVXr9JUa7eYhHDsrlk3La11vWA43vNcdTAwMGJTXHUwMDBlyaJYLC9hrWB5XHUwMDE5XbS8RDLAkCBJlndsNqruwVx1MDAxMW1cdTAwMTjD2nP7XHUwMDEwV/V73mEv+2mB2LzZ8FxyXHUwMDE2XHUwMDAxS6h7XHUwMDEzhiUx/U/AyDmXXHUwMDA0XHUwMDEzXHUwMDE5TMKOrMOGqO3kXHUwMDEwOE9XXHUwMDE3xVx1MDAwMivePziFgpO/ObF3QG3xrFx1MDAxNfJcdTAwMDfkXCIkqFVignGKkkMhftAph1x1MDAwMkvO3ZtExpr8P8FcdFG2XHRjjtOHk02q8vtcdTAwMTlsylx1MDAxYigz0/5+Zotw2Fxuc1x1MDAxZsthaDGHxVx1MDAxM+g2mI1RhJEkLIl/P4bzka5f10FcdTAwMGU88crD/qlTedR63YeUw5mxtDFcdTAwMWKgglxijnCA5bQg9n3M1mo/XHUwMDFluKPK1Vx1MDAxM7OsxuCp0lx1MDAwNDdn1Vx1MDAxNDJcdTAwMWKb2/5OfTxcZqBEiTz4ZUNON1x1MDAxMDihWezzXHUwMDFhg1witOvfMq1cdTAwMTGZRf7tnCGJJaHzIInlNYiVs4FcdTAwMDDa+e4wxbyWzWa3RGorLH2U1GZcdTAwMDTZNqNxXHUwMDE4bZzgXHUwMDE4QVxiuHLbYKBOq5BcZo9cdTAwMDf3N+zyqEtrXHUwMDBl7NLHSs9pXaZcdTAwMWPJXHUwMDEypY3SkIBcdTAwMDRyXHUwMDA00+eEvo/Shvje6ovSa785yp31XHUwMDA2XHUwMDBmfXL3Uk4jpS3crFHCOEJcZiV37uLHnHIkiI+0V6OMSsxcdTAwMTBNXHUwMDFmStJDaf72yNpcdTAwMTKrrTD2sVs1ayPE9pZfu0LnveOXIbLY8EZpz5U+RDw01je0+4+aVfS51Fx1MDAxYVxmebNcdTAwMTOtVICJsddcdTAwMWYgs1bVnIax0ZzBplJcdTAwMDJcdTAwMWNcdTAwMTNcdTAwMDZcdTAwMTRcdTAwMDTmov+eXHUwMDExINHG6X5cdTAwMDJBgqhM5Ib8rpRAxzajlFx1MDAxOPy3XHUwMDE3TLP/Zfr/319je4c1LXLD3Fx1MDAxY7c0x83b7bbpqpFcXHpSzE22q3XdnGlVTatcdTAwMWW9ZljVXHUwMDA1V/y7XHUwMDBlul37tWFo1Zj7oteWXHUwMDAwUycj9zDfsY5uuHzI1fIlw8ibiTJ9c8DEKFx1MDAwNpiEZ5m/85JEIIJcdTAwMDJtmqKU4CyU4c9cdTAwMDfI9KVcdTAwMTa2XGJggFx1MDAxMJI8XHUwMDBltot9JoUxijjHXCJcdTAwMTBz97idXHUwMDEw44W19910mrG5vFAoaSO5PNfuxCbycLB5n2XWmYFEaXRO8kRpuzEw+4dlNnB/XHUwMDEw1lx1MDAwNM4+vi5ccvNcdTAwMWFcdTAwMDHzwFxcVJFcIlwiwT8oklakiFx1MDAwZkCbXHUwMDFiz7RvijUlVCiCXCKklqF6pYWsXHShZFi51aGU39ZcdTAwMGJO9Fx1MDAxZlx1MDAwZpRcdTAwMTjVl+7+Q6NcdTAwMDPRXHUwMDAwtS87XCK00ftcdTAwMWH/2PHNP3pcdTAwMWT7ofLDbL6eXV9oiPafXHUwMDFmXHUwMDFmjmbfMnm/5nHRzlxuWeJHmYTeJFqywYJcdTAwMDJ9XHUwMDE2suxcdTAwMDBekEG1tY31SeFcXO1KXHUwMDEwXHUwMDEwUJtlRNlnmcr6ZSorWGgjZSpjpOYvnuiVvFx1MDAxZFXMc1l+6MlGqd6v/1xu34lPvtvbOiC9QNuCujG00NtU20NGZlZs62zn3j2ZvXpcdTAwMGLk2PHDc/Wi39UrXHUwMDE1nJTt7sSj074rnrWLuYNW/8RcdTAwMTYuuoVpZLv4Uf4620mQXHUwMDE2tnttmK7xXHUwMDFmgVx1MDAxNmeUMSDmvMal2GJcdTAwMTBIilmi0oadkFx1MDAxZE4v2a2goFiyw2uSXaI83/z2YZrnXHUwMDAzUlx1MDAwMrW+iXZcbmOjMFx1MDAxMMfXzZ5Rvyq8XvRrl0XnWlx1MDAwYk9dKrNcdTAwMWJzbC7ZJs1GUn9gkr0gXHUwMDAwY8lBoKPbQf6GuO7svH38qJ1DPd99uXqW9k1xVGjvjJPipUnESUvKNqBcdTAwMTRxlLRuycUnJyXTzEl0XHUwMDExXHUwMDAy5Vx1MDAxZcxEfpOEN1x1MDAwNOFIMCrTlFx1MDAxNIgtJElcdTAwMWIhrTDda9Wi/Fx1MDAwMlx1MDAxYi08J0VcdIVSYpq86KRgVVx1MDAwZY80zaD2qF1kjFx1MDAxZOFcXOM+LdhJSEZcYpBcdTAwMWSSXHUwMDExpJBwrlx1MDAxY+5VRZQpYaPSQaE96peeiy/3w3q5WMprWq21MzaKlyZcdTAwMTFcdTAwMWJBlKVcdTAwMWVcdTAwMTkpa0Ygilx1MDAxNFxcXHUwMDAwXHUwMDE2R0dcdTAwMTCSrPD0XHUwMDAxXHUwMDAzXG45XHKP4pOPNrFHYkJcdTAwMTLCMYvdIy00W0h50ERcdTAwMDIh0lx1MDAxOFx1MDAxMax1tfZM7UXaSGmFXHSPktLceNaIXHTK+/1BucKZwFrZqe+berl9O0qE1nD0z1dJTubDgVCAsYOJhWREXHUwMDEwXHUwMDFjTO8nPDdyrJQhXHUwMDAxXHUwMDA0j09GL47XXHUwMDAzobxMmMpcXHSuV6tcdTAwMTndvUvbbv1cdTAwMTaELspHL4Tn0nx0rPRr4HF52i9cdTAwMTJcdTAwMDSdXHUwMDA1pOLMWUBcbiyzXG56hElEXHUwMDE5ZXHkXHUwMDE5XHUwMDAzR5BV8EJcdTAwMWNcdTAwMTOBKVx1MDAxNIqHXHUwMDA1Vu7QXHUwMDFhXHUwMDAwrUpcIkDtP1xi0MBpm6xcdTAwMTN6a/lcdTAwMTmIPXExsaJUXHUwMDE5XHUwMDFm1Z9vnYb1XHUwMDAxXHUwMDAzSDHrNnCrXFxeXHUwMDEx1tjd1H5cdTAwMDVcdTAwMWHp94/VxeAhc8uxdj1YaM3efsBkTMFcdTAwMTfdg8ItyIF8Kae5P55rXHUwMDBlz1xyT8JlsjVb73mj3vdlXHUwMDA0UHo1WFRgIaRQvihcbnWta1x1MDAxZG+i53RhpvxskSDL04NhQWiWKYJcdTAwMDVcdTAwMWXUhTLuUFBjXHUwMDFm0lx1MDAwNHKsVeyWcbvm2Fx1MDAwNiyxYsvTOetZMVx0P61YSq1cdTAwMThVXHUwMDFiaoSwjC3FWWzFXGIgXFytJt9GsOrTioWNh07qXHUwMDA1UHNr53q/KJ5OT6S8Kju7sGLL8z6ps2KJgnZi4eFnqKidM4LWSCEt55t0Ru1o5KjYTFx1MDAwMeRvj9pxSb09KfsgKSRwXG77XHUwMDA39ku1/VA1Ls4pyPeap50/qDhw1ekyvji/jpWTXHUwMDBicKKfXHUwMDA2WzaXKVx1MDAwN8+y02WR4sfdny5jXHUwMDEweiuy8sD0n354LOzEbvLw2Fxu879uXHUwMDExYEgzNnIqesmOXHUwMDE0QilcdTAwMThcdTAwMDVJdqRmXHUwMDAynySlYJ1jOrFDplPGkVx1MDAxMiTkyp/lSVx01ZVHXHUwMDE3cv90lFx1MDAxYlx1MDAxZZfQSaVTbvaHxsFcdTAwMWZUXHUwMDE5uIrq5MLfXHUwMDA28UqtXHUwMDAxgXBccq6Ln8yUw2cp182WPm5cdTAwMGVN72M6RCFcdTAwMTYwXFxv+99kOrwlplth/tetXHUwMDAw3DTTSVx1MDAxZW2cRi04XCKMw0Sx1zFUr09rt7eX+1x1MDAxN/iwcHx0d3w+QsfwLu1QjTLdTstcdTAwMDJcdTAwMTGglGFcdTAwMTC2j1x1MDAxZlx1MDAxMI2/oI2Lz7NcdFwivWNwybWxXrtcIqxz/kzNm9fX+8vj1s15sfXBtHG3dUFcYqi1p1x1MDAxY4bK8P5cdTAwMTRtXHUwMDFjq4hcdTAwMTidsV6/edwu5PnB91x1MDAwMT0r6e2YXHUwMDAzsTHFXHUwMDAwNHJSPb5cdTAwMTggVETymf3fyC9IMEGVY1x1MDAwNeLSiFx1MDAxMCykMsgpXHUwMDEwhINEvzv8u/P/l1x1MDAxZeNfa5WwRfww6f844eOz/1/eXHUwMDE2OqN1OmVXTWJmXHUwMDEyPc/0TeM1XHUwMDE3XHUwMDEz0qn5XHUwMDFmT018+HqabfhcdTAwMTmbn19+/lx1MDAwYlx1MDAxYrMghSJ9 + + + + page 1page 2...page nOn Diskpage 1page 3...frame nBuffer Poolpage 1page 3Page Table \ No newline at end of file diff --git a/docs/img/clustered-index.avif b/docs/img/clustered-index.avif new file mode 100644 index 0000000..c9ceac4 Binary files /dev/null and b/docs/img/clustered-index.avif differ diff --git a/docs/img/clustered-index.png b/docs/img/clustered-index.png new file mode 100644 index 0000000..543c470 Binary files /dev/null and b/docs/img/clustered-index.png differ diff --git a/docs/img/database-storage.excalidraw b/docs/img/database-storage.excalidraw new file mode 100644 index 0000000..376529a --- /dev/null +++ b/docs/img/database-storage.excalidraw @@ -0,0 +1,17333 @@ +{ + "type": "excalidraw", + "version": 2, + "source": "https://excalidraw.com", + "elements": [ + { + "type": "rectangle", + "version": 392, + "versionNonce": 1333881787, + "isDeleted": false, + "id": "Efk_CdruUStjd25zmvbFl", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 580, + "y": 280, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 440, + "height": 40, + "seed": 1079932806, + "groupIds": [ + "L3NPnDfOl9QbA9wQMb7h7", + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "PT6eXgT6VlAgIaEK-UdMe" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 399, + "versionNonce": 1953005941, + "isDeleted": false, + "id": "PT6eXgT6VlAgIaEK-UdMe", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 782.4249992370605, + "y": 288, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 35.150001525878906, + "height": 24, + "seed": 141606982, + "groupIds": [ + "L3NPnDfOl9QbA9wQMb7h7", + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "SSD", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Efk_CdruUStjd25zmvbFl", + "originalText": "SSD", + "lineHeight": 1.2, + "baseline": 21 + }, + { + "type": "rectangle", + "version": 399, + "versionNonce": 1165114459, + "isDeleted": false, + "id": "aysDzDNfJ0TpU8cd9Dbmw", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 580, + "y": 360, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 440, + "height": 40, + "seed": 1844549318, + "groupIds": [ + "wZgMGwrtd_DmYQcP3Ztk7", + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "FUWyDDcock8oL6EPF5sbE" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 408, + "versionNonce": 790792917, + "isDeleted": false, + "id": "FUWyDDcock8oL6EPF5sbE", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 782.4249992370605, + "y": 368, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 35.150001525878906, + "height": 24, + "seed": 1226751834, + "groupIds": [ + "wZgMGwrtd_DmYQcP3Ztk7", + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "HDD", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "aysDzDNfJ0TpU8cd9Dbmw", + "originalText": "HDD", + "lineHeight": 1.2, + "baseline": 21 + }, + { + "type": "rectangle", + "version": 444, + "versionNonce": 843053307, + "isDeleted": false, + "id": "0sjBq8mv8_SRLcyorjOdn", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 540, + "y": 440, + "strokeColor": "#000000", + "backgroundColor": "#12b886", + "width": 520, + "height": 80, + "seed": 308203014, + "groupIds": [ + "5ZKhKyqn6kn9FLZBC9ged", + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "2oa2qNyCVnM_R7o2_L_CU" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 454, + "versionNonce": 211052597, + "isDeleted": false, + "id": "2oa2qNyCVnM_R7o2_L_CU", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 712.125, + "y": 468, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 175.75, + "height": 24, + "seed": 1753436934, + "groupIds": [ + "5ZKhKyqn6kn9FLZBC9ged", + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Network Storage", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "0sjBq8mv8_SRLcyorjOdn", + "originalText": "Network Storage", + "lineHeight": 1.2, + "baseline": 21 + }, + { + "type": "line", + "version": 314, + "versionNonce": 57483675, + "isDeleted": false, + "id": "r_tEUy7l8feRjrxlA-g0C", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 500, + "y": 260, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 600, + "height": 0, + "seed": 2057510214, + "groupIds": [ + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 600, + 0 + ] + ] + }, + { + "type": "rectangle", + "version": 330, + "versionNonce": 245602709, + "isDeleted": false, + "id": "41mxulJbT8GiaPagltk7M", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 720, + "y": 60, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 160, + "height": 58, + "seed": 679455174, + "groupIds": [ + "j9UMPa2QxQkroMA3ifqJR", + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "7_gRfNRtpY7goI88HBOL_" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 310, + "versionNonce": 1378629179, + "isDeleted": false, + "id": "7_gRfNRtpY7goI88HBOL_", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 747.2750015258789, + "y": 65, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 105.44999694824219, + "height": 48, + "seed": 1908855878, + "groupIds": [ + "j9UMPa2QxQkroMA3ifqJR", + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "CPU \nRegisters", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "41mxulJbT8GiaPagltk7M", + "originalText": "CPU Registers", + "lineHeight": 1.2, + "baseline": 45 + }, + { + "type": "rectangle", + "version": 345, + "versionNonce": 1585815285, + "isDeleted": false, + "id": "1r03UaEJfukeSgrRN677D", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 680, + "y": 140, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 240, + "height": 40, + "seed": 397574406, + "groupIds": [ + "c2Bp96l0E3cb5THLesOmK", + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "OHmqq_xZfYG0rx0S5yTDj" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 335, + "versionNonce": 1834989275, + "isDeleted": false, + "id": "OHmqq_xZfYG0rx0S5yTDj", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 741.4166679382324, + "y": 148, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 117.16666412353516, + "height": 24, + "seed": 137963910, + "groupIds": [ + "c2Bp96l0E3cb5THLesOmK", + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "CPU Caches", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "1r03UaEJfukeSgrRN677D", + "originalText": "CPU Caches", + "lineHeight": 1.2, + "baseline": 21 + }, + { + "type": "rectangle", + "version": 359, + "versionNonce": 1656748117, + "isDeleted": false, + "id": "GDxgD_gzwZ4XCl0knVqcA", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 640, + "y": 200, + "strokeColor": "#000000", + "backgroundColor": "#fa5252", + "width": 320, + "height": 40, + "seed": 554201158, + "groupIds": [ + "zhto-f6InkrRSaUaQ3zA6", + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "abwcrbrYPpiB08HeEkOca" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 363, + "versionNonce": 597304187, + "isDeleted": false, + "id": "abwcrbrYPpiB08HeEkOca", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 782.4249992370605, + "y": 208, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 35.150001525878906, + "height": 24, + "seed": 1333803162, + "groupIds": [ + "zhto-f6InkrRSaUaQ3zA6", + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "RAM", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "GDxgD_gzwZ4XCl0knVqcA", + "originalText": "RAM", + "lineHeight": 1.2, + "baseline": 21 + }, + { + "type": "text", + "version": 394, + "versionNonce": 354952629, + "isDeleted": false, + "id": "FMv2T24Nm95pNk6hIHorU", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 960, + "y": 100, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 210.89999389648438, + "height": 72, + "seed": 1276871814, + "groupIds": [ + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Volatile:\n- Random Access\n- Byte-Addressable", + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Volatile:\n- Random Access\n- Byte-Addressable", + "lineHeight": 1.2, + "baseline": 67 + }, + { + "type": "text", + "version": 391, + "versionNonce": 1293810715, + "isDeleted": false, + "id": "1QR90dv0XjVAiAFG8B5Pq", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1040, + "y": 300, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 222.61666870117188, + "height": 72, + "seed": 2021983174, + "groupIds": [ + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Non-Volatile:\n- Sequential Access\n- Block-Addressable", + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Non-Volatile:\n- Sequential Access\n- Block-Addressable", + "lineHeight": 1.2, + "baseline": 67 + }, + { + "type": "arrow", + "version": 562, + "versionNonce": 417572629, + "isDeleted": false, + "id": "TCdKXD8GiclzoZpUm4aX2", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 479.9999999999999, + "y": 520.4005761805083, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 0, + "height": 520, + "seed": 838638342, + "groupIds": [ + "cFyfWeb0dbOThzLY0keA0", + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": { + "elementId": "m4wuQ8vjqkplMp1UMhLVG", + "focus": 1.4385286484604891, + "gap": 17.983329772949105 + }, + "endBinding": { + "elementId": "KzT4L38f8EJDceZyYrE_k", + "focus": -1.2759602365640512, + "gap": 14.550003051757699 + }, + "lastCommittedPoint": null, + "startArrowhead": "triangle", + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 0, + -520 + ] + ] + }, + { + "type": "text", + "version": 354, + "versionNonce": 366854331, + "isDeleted": false, + "id": "KzT4L38f8EJDceZyYrE_k", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 360, + "y": -20, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 105.44999694824219, + "height": 72, + "seed": 1593788998, + "groupIds": [ + "cFyfWeb0dbOThzLY0keA0", + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [ + { + "id": "TCdKXD8GiclzoZpUm4aX2", + "type": "arrow" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Faster\nSmaller\nExpensive", + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Faster\nSmaller\nExpensive", + "lineHeight": 1.2, + "baseline": 67 + }, + { + "type": "text", + "version": 408, + "versionNonce": 275250293, + "isDeleted": false, + "id": "m4wuQ8vjqkplMp1UMhLVG", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 380, + "y": 460, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 82.01667022705078, + "height": 72, + "seed": 241832326, + "groupIds": [ + "cFyfWeb0dbOThzLY0keA0", + "kv9fCMryOJG23N4JtpsnN" + ], + "roundness": null, + "boundElements": [ + { + "id": "TCdKXD8GiclzoZpUm4aX2", + "type": "arrow" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Slower\nBigger\nCheaper", + "textAlign": "left", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Slower\nBigger\nCheaper", + "lineHeight": 1.2, + "baseline": 67 + }, + { + "type": "text", + "version": 299, + "versionNonce": 125563227, + "isDeleted": false, + "id": "4eZMv-R89LWiNVEmnPkWH", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1567.1288154597773, + "y": 660, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 152.31666564941406, + "height": 24, + "seed": 2118672410, + "groupIds": [ + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Database File", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Database File", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "line", + "version": 293, + "versionNonce": 863675861, + "isDeleted": false, + "id": "d5NHv8Pg-FmTHUXyiePae", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1320, + "y": 280, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 1300, + "height": 0, + "seed": 1718983130, + "groupIds": [ + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 1300, + 0 + ] + ] + }, + { + "type": "text", + "version": 321, + "versionNonce": 1397427707, + "isDeleted": false, + "id": "WIUT0yCh6vJrSjow_WWkb", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1560, + "y": -80, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 128.88333129882812, + "height": 24, + "seed": 89408026, + "groupIds": [ + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Buffer Pool", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Buffer Pool", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "rectangle", + "version": 401, + "versionNonce": 623977269, + "isDeleted": false, + "id": "vRWjyEVhJb2z1OS7d4Tx8", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1565.6857390336484, + "y": 380.25844268334765, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 979.9999999999998, + "height": 280, + "seed": 347525018, + "groupIds": [ + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 350, + "versionNonce": 1548588699, + "isDeleted": false, + "id": "7VYNIRSGr3GVvVuqnsXoN", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1805.6857390336484, + "y": 400.25844268334765, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 200, + "height": 240, + "seed": 821982490, + "groupIds": [ + "pcKC_uaEKms-q63zJNTkW", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [ + { + "id": "LM2h0HbhVM_qmPtoaK3ET", + "type": "text" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 423, + "versionNonce": 166786197, + "isDeleted": false, + "id": "LM2h0HbhVM_qmPtoaK3ET", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1897.4857392243832, + "y": 503.4584426833477, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1785580294, + "groupIds": [ + "pcKC_uaEKms-q63zJNTkW", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "7VYNIRSGr3GVvVuqnsXoN", + "originalText": "1", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 342, + "versionNonce": 20319035, + "isDeleted": false, + "id": "8-9GE5bZOdGuVhMwsVjI1", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1805.6857390336484, + "y": 400.25844268334765, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 81, + "height": 34, + "seed": 1227133402, + "groupIds": [ + "pcKC_uaEKms-q63zJNTkW", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [ + { + "id": "S23y8dQYlx7tmraL8ULKV", + "type": "text" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 519, + "versionNonce": 1567594997, + "isDeleted": false, + "id": "S23y8dQYlx7tmraL8ULKV", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1811.0357375077695, + "y": 405.25844268334765, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 70.30000305175781, + "height": 24, + "seed": 60910406, + "groupIds": [ + "pcKC_uaEKms-q63zJNTkW", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Header", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "8-9GE5bZOdGuVhMwsVjI1", + "originalText": "Header", + "lineHeight": 1.2, + "baseline": 21 + }, + { + "type": "rectangle", + "version": 363, + "versionNonce": 644279259, + "isDeleted": false, + "id": "hunqV2eZ-o15PodY6WN49", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2025.6857390336484, + "y": 400.25844268334765, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 200, + "height": 240, + "seed": 617635226, + "groupIds": [ + "LGAAIfvV527Y07DYLhWq1", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [ + { + "id": "gl2R4YHemfjyiO-zmj6oD", + "type": "text" + }, + { + "id": "HkcL6PIQEm4I6NGqyi5m9", + "type": "arrow" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 429, + "versionNonce": 145920853, + "isDeleted": false, + "id": "gl2R4YHemfjyiO-zmj6oD", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2117.485739224384, + "y": 503.4584426833477, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1357224538, + "groupIds": [ + "LGAAIfvV527Y07DYLhWq1", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "hunqV2eZ-o15PodY6WN49", + "originalText": "2", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 354, + "versionNonce": 2146613371, + "isDeleted": false, + "id": "EbaqoTDyWlAAUkG70IIZX", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2025.6857390336484, + "y": 400.25844268334765, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 81, + "height": 34, + "seed": 1756708634, + "groupIds": [ + "LGAAIfvV527Y07DYLhWq1", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [ + { + "id": "wB9UD60EZqFl5wwZ6TvJ2", + "type": "text" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 531, + "versionNonce": 940531893, + "isDeleted": false, + "id": "wB9UD60EZqFl5wwZ6TvJ2", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2031.0357375077695, + "y": 405.25844268334765, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 70.30000305175781, + "height": 24, + "seed": 1488079834, + "groupIds": [ + "LGAAIfvV527Y07DYLhWq1", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Header", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "EbaqoTDyWlAAUkG70IIZX", + "originalText": "Header", + "lineHeight": 1.2, + "baseline": 21 + }, + { + "type": "rectangle", + "version": 379, + "versionNonce": 463204635, + "isDeleted": false, + "id": "0krpWaDnDUhtQP34vjZHu", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2245.685739033649, + "y": 400.25844268334765, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 200, + "height": 240, + "seed": 1571499866, + "groupIds": [ + "GWHmBRF-Ob4LcDjy9a7gx", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [ + { + "id": "57QXmmCid6vG536HbGdBo", + "type": "text" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 445, + "versionNonce": 1898676757, + "isDeleted": false, + "id": "57QXmmCid6vG536HbGdBo", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2337.485739224384, + "y": 503.4584426833477, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1375745050, + "groupIds": [ + "GWHmBRF-Ob4LcDjy9a7gx", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "3", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "0krpWaDnDUhtQP34vjZHu", + "originalText": "3", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 369, + "versionNonce": 718607803, + "isDeleted": false, + "id": "ezYoTsmA4zcnRt_dGkP__", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2245.685739033649, + "y": 400.25844268334765, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 81, + "height": 34, + "seed": 651600090, + "groupIds": [ + "GWHmBRF-Ob4LcDjy9a7gx", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [ + { + "id": "e5MQb-Ety9qUGeWT0ufyO", + "type": "text" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 546, + "versionNonce": 1761376117, + "isDeleted": false, + "id": "e5MQb-Ety9qUGeWT0ufyO", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2251.03573750777, + "y": 405.25844268334765, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 70.30000305175781, + "height": 24, + "seed": 398554522, + "groupIds": [ + "GWHmBRF-Ob4LcDjy9a7gx", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Header", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ezYoTsmA4zcnRt_dGkP__", + "originalText": "Header", + "lineHeight": 1.2, + "baseline": 21 + }, + { + "type": "text", + "version": 309, + "versionNonce": 213952091, + "isDeleted": false, + "id": "BBLYZXPbCoaDPjg5i9L5t", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2465.685739033649, + "y": 500.25844268334765, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 63.29999923706055, + "height": 43.199999999999996, + "seed": 1213369754, + "groupIds": [ + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "...", + "lineHeight": 1.2, + "baseline": 35 + }, + { + "type": "rectangle", + "version": 362, + "versionNonce": 432521429, + "isDeleted": false, + "id": "Ak4f_n-FVmjzW_22CaqtV", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1585.6857390336484, + "y": 400.25844268334765, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 200, + "height": 240, + "seed": 1547359130, + "groupIds": [ + "RwYBafLDHVvOcUhUf48yZ", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [ + { + "id": "WA93aGciIkP-gUZt6jWpi", + "type": "arrow" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 482, + "versionNonce": 405873403, + "isDeleted": false, + "id": "OG1qs6s2aABS1Ln4tJi7f", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1612.7636048662655, + "y": 411.3233597497851, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 147.60000610351562, + "height": 33.6, + "seed": 1603358810, + "groupIds": [ + "RwYBafLDHVvOcUhUf48yZ", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Directory", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Directory", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 319, + "versionNonce": 421715509, + "isDeleted": false, + "id": "uHKQDxyCntKaGfJoNKpy4", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1605.6857390336484, + "y": 460.25844268334765, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 1417295130, + "groupIds": [ + "RwYBafLDHVvOcUhUf48yZ", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 325, + "versionNonce": 631835547, + "isDeleted": false, + "id": "fMOmQ419yplgxdusnegAl", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1665.6857390336484, + "y": 460.25844268334765, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 745046490, + "groupIds": [ + "RwYBafLDHVvOcUhUf48yZ", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 332, + "versionNonce": 770920341, + "isDeleted": false, + "id": "rILpyAhEmTepv3_WZyxFW", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1605.6857390336484, + "y": 520.2584426833477, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 846149274, + "groupIds": [ + "RwYBafLDHVvOcUhUf48yZ", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 334, + "versionNonce": 1499127867, + "isDeleted": false, + "id": "LZb_ZXw3QzEPxa9xG9tdw", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1665.6857390336484, + "y": 520.2584426833477, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 1463898970, + "groupIds": [ + "RwYBafLDHVvOcUhUf48yZ", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 329, + "versionNonce": 644781301, + "isDeleted": false, + "id": "GHIEkZnyAlChlmWQDuBzS", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1725.6857390336484, + "y": 460.25844268334765, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 2100418586, + "groupIds": [ + "RwYBafLDHVvOcUhUf48yZ", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 333, + "versionNonce": 757670107, + "isDeleted": false, + "id": "FqhLYO8qa6-0I7KJY8n5L", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1725.6857390336484, + "y": 520.2584426833477, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 1144243418, + "groupIds": [ + "RwYBafLDHVvOcUhUf48yZ", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 336, + "versionNonce": 1847209557, + "isDeleted": false, + "id": "LNFNn9_-GsAPRfelt-iCT", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1605.6857390336484, + "y": 580.2584426833477, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 1440356762, + "groupIds": [ + "RwYBafLDHVvOcUhUf48yZ", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 338, + "versionNonce": 983977339, + "isDeleted": false, + "id": "1ONzHMyHiAfcIDA0mdWDQ", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1665.6857390336484, + "y": 580.2584426833477, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 827840090, + "groupIds": [ + "RwYBafLDHVvOcUhUf48yZ", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 337, + "versionNonce": 1674288053, + "isDeleted": false, + "id": "ijaaEM6aypmEuzG8k7kFn", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1725.6857390336484, + "y": 580.2584426833477, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 2004876058, + "groupIds": [ + "RwYBafLDHVvOcUhUf48yZ", + "LpnZ1kAz_c28sUhDJUnsd", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 491, + "versionNonce": 1158997531, + "isDeleted": false, + "id": "QL9eMvYvXqfUHeix0kLbH", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1560, + "y": -40, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 679.9999999999999, + "height": 280, + "seed": 497708358, + "groupIds": [ + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 296, + "versionNonce": 1873304853, + "isDeleted": false, + "id": "wVBmCzZx53nLNZ6GrEL4n", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1580, + "y": -20, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 200, + "height": 240, + "seed": 799759046, + "groupIds": [ + "tgnszEhVvOUQioQrAIDD-", + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [ + { + "id": "WA93aGciIkP-gUZt6jWpi", + "type": "arrow" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 277, + "versionNonce": 57109179, + "isDeleted": false, + "id": "-NVu7LIUv-5ARe7zN0ULJ", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1620, + "y": 0, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 105.44999694824219, + "height": 24, + "seed": 1999186950, + "groupIds": [ + "tgnszEhVvOUQioQrAIDD-", + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Directory", + "textAlign": "left", + "verticalAlign": "top", + "containerId": null, + "originalText": "Directory", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "rectangle", + "version": 253, + "versionNonce": 1495659125, + "isDeleted": false, + "id": "Gk01_txKlQjXYkuJ08eVS", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1600, + "y": 40, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 361968262, + "groupIds": [ + "tgnszEhVvOUQioQrAIDD-", + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 259, + "versionNonce": 708860763, + "isDeleted": false, + "id": "cE1DxNtmoexKakvN-BanZ", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1660, + "y": 40, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 132172038, + "groupIds": [ + "tgnszEhVvOUQioQrAIDD-", + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 266, + "versionNonce": 1560927189, + "isDeleted": false, + "id": "Vat-JTHFO2LY1MfelRjkL", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1600, + "y": 100, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 778362566, + "groupIds": [ + "tgnszEhVvOUQioQrAIDD-", + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 268, + "versionNonce": 905066491, + "isDeleted": false, + "id": "vZjPhSwipovM2jX_3h98q", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1660, + "y": 100, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 570145690, + "groupIds": [ + "tgnszEhVvOUQioQrAIDD-", + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 263, + "versionNonce": 57252149, + "isDeleted": false, + "id": "Gw6y8NRB_lMZO8fHLqo0j", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1720, + "y": 40, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 177490970, + "groupIds": [ + "tgnszEhVvOUQioQrAIDD-", + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 267, + "versionNonce": 1954513051, + "isDeleted": false, + "id": "8TV46xNMg0OESlMW4KPCG", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1720, + "y": 100, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 1695359046, + "groupIds": [ + "tgnszEhVvOUQioQrAIDD-", + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 270, + "versionNonce": 900377237, + "isDeleted": false, + "id": "lJ7ZeyGLnTtyNO9CKgWaz", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1600, + "y": 160, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 992430854, + "groupIds": [ + "tgnszEhVvOUQioQrAIDD-", + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 272, + "versionNonce": 1335539003, + "isDeleted": false, + "id": "L1oxyPWlc2jwAK56VdkYp", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1660, + "y": 160, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 1395209882, + "groupIds": [ + "tgnszEhVvOUQioQrAIDD-", + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 271, + "versionNonce": 344100853, + "isDeleted": false, + "id": "dFjKzcwzeyESR3ljKsLty", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1720, + "y": 160, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 40, + "seed": 2132872646, + "groupIds": [ + "tgnszEhVvOUQioQrAIDD-", + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 418, + "versionNonce": 1453741531, + "isDeleted": false, + "id": "61Lw560M_ARDSb4iIi7cR", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1800, + "y": -20, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 200, + "height": 240, + "seed": 378969606, + "groupIds": [ + "kjtoP9ti9PMXIEr8mjb3p", + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [ + { + "id": "x12DRy1Kuysu60FtnPNBS", + "type": "text" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 487, + "versionNonce": 234277205, + "isDeleted": false, + "id": "x12DRy1Kuysu60FtnPNBS", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1891.8000001907349, + "y": 83.2, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1197534534, + "groupIds": [ + "kjtoP9ti9PMXIEr8mjb3p", + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "61Lw560M_ARDSb4iIi7cR", + "originalText": "2", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 410, + "versionNonce": 146072187, + "isDeleted": false, + "id": "kSCZ9vuTBMS97-L29FEBr", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1800, + "y": -20, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 81, + "height": 34, + "seed": 1621054598, + "groupIds": [ + "kjtoP9ti9PMXIEr8mjb3p", + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [ + { + "id": "1mS3oMgt1puMVUdVD2jhT", + "type": "text" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 587, + "versionNonce": 861722293, + "isDeleted": false, + "id": "1mS3oMgt1puMVUdVD2jhT", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1805.349998474121, + "y": -15, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 70.30000305175781, + "height": 24, + "seed": 1812911046, + "groupIds": [ + "kjtoP9ti9PMXIEr8mjb3p", + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Header", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "kSCZ9vuTBMS97-L29FEBr", + "originalText": "Header", + "lineHeight": 1.2, + "baseline": 21 + }, + { + "type": "rectangle", + "version": 432, + "versionNonce": 1586027291, + "isDeleted": false, + "id": "pXPTt73SEwcf-KNrlg_sX", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "dashed", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2020, + "y": -20, + "strokeColor": "#000000", + "backgroundColor": "transparent", + "width": 200, + "height": 240, + "seed": 812971206, + "groupIds": [ + "u00KgPPOIUGIZjtIrx5yE", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [ + { + "id": "HkcL6PIQEm4I6NGqyi5m9", + "type": "arrow" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "arrow", + "version": 424, + "versionNonce": 1331312661, + "isDeleted": false, + "id": "WA93aGciIkP-gUZt6jWpi", + "fillStyle": "hachure", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1663.6917807290297, + "y": 399.25844268334765, + "strokeColor": "#d9480f", + "backgroundColor": "#4c6ef5", + "width": 2.3908116207803687, + "height": 178.25844268334765, + "seed": 922486618, + "groupIds": [ + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Ak4f_n-FVmjzW_22CaqtV", + "focus": -0.2, + "gap": 1 + }, + "endBinding": { + "elementId": "wVBmCzZx53nLNZ6GrEL4n", + "focus": 0.2, + "gap": 1 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -2.3908116207803687, + -178.25844268334765 + ] + ] + }, + { + "type": "arrow", + "version": 451, + "versionNonce": 345292731, + "isDeleted": false, + "id": "HkcL6PIQEm4I6NGqyi5m9", + "fillStyle": "hachure", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2124.0121710698527, + "y": 399.25844268334765, + "strokeColor": "#d9480f", + "backgroundColor": "#4c6ef5", + "width": 2.3899187614492803, + "height": 178.25844268334765, + "seed": 418593478, + "groupIds": [ + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": { + "elementId": "hunqV2eZ-o15PodY6WN49", + "focus": 0, + "gap": 1 + }, + "endBinding": { + "elementId": "pXPTt73SEwcf-KNrlg_sX", + "focus": 0, + "gap": 1 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -2.3899187614492803, + -178.25844268334765 + ] + ] + }, + { + "type": "line", + "version": 2045, + "versionNonce": 1004825973, + "isDeleted": false, + "id": "uCYYbz9RMU0JJZEw_ms-Z", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 2762.420427917904, + "y": -39.38045353163034, + "strokeColor": "#881fa3", + "backgroundColor": "#be4bdb", + "width": 298.6675406396389, + "height": 238.63832770194867, + "seed": 326516485, + "groupIds": [ + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -160.18996540384492, + 44.20298321840042 + ], + [ + -162.07496390718117, + 182.89293229737535 + ], + [ + -19.544254029441632, + 238.63832770194867 + ], + [ + 133.30740444372293, + 182.2489798684127 + ], + [ + 136.59257673245776, + 49.00652025607091 + ], + [ + 0, + 0 + ] + ] + }, + { + "type": "text", + "version": 214, + "versionNonce": 888868955, + "isDeleted": false, + "id": "QBgkh9YjIOFkN18OyftH0", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2660, + "y": 40, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 147.60000610351562, + "height": 67.2, + "seed": 1131024363, + "groupIds": [ + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Execution\nEngine", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Execution\nEngine", + "lineHeight": 1.2, + "baseline": 60 + }, + { + "type": "arrow", + "version": 217, + "versionNonce": 2017523413, + "isDeleted": false, + "id": "-jJv3TuYJ7mwOs0GSSOvS", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2540, + "y": 60, + "strokeColor": "#087f5b", + "backgroundColor": "#ced4da", + "width": 260, + "height": 40, + "seed": 1185334213, + "groupIds": [ + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -104, + -40 + ], + [ + -260, + 0 + ] + ] + }, + { + "type": "text", + "version": 199, + "versionNonce": 1636715771, + "isDeleted": false, + "id": "7X_Y0Tiii0hjslm5tcdnS", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2340, + "y": -40, + "strokeColor": "#087f5b", + "backgroundColor": "#ced4da", + "width": 164, + "height": 33.6, + "seed": 1754728683, + "groupIds": [ + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Get page 2", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Get page 2", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "arrow", + "version": 263, + "versionNonce": 2131055669, + "isDeleted": false, + "id": "93ZHMnItSoYfcUWpGnysT", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2540, + "y": 120, + "strokeColor": "#087f5b", + "backgroundColor": "#ced4da", + "width": 260, + "height": 40, + "seed": 428852229, + "groupIds": [ + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": "triangle", + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + -104, + 40 + ], + [ + -260, + 0 + ] + ] + }, + { + "type": "text", + "version": 229, + "versionNonce": 1573975451, + "isDeleted": false, + "id": "iU2CgnJJuUPUmFKYplquP", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2280, + "y": 180, + "strokeColor": "#087f5b", + "backgroundColor": "#ced4da", + "width": 278.79998779296875, + "height": 33.6, + "seed": 549066539, + "groupIds": [ + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Pointer to page 2", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Pointer to page 2", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "text", + "version": 216, + "versionNonce": 1545012629, + "isDeleted": false, + "id": "z6gFe4PKPy6X9txMHJdWM", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1674.1416664123535, + "y": 300, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 117.16666412353516, + "height": 48, + "seed": 1526030757, + "groupIds": [ + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Load page \ndirectory", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Load page \ndirectory", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "text", + "version": 256, + "versionNonce": 1492486715, + "isDeleted": false, + "id": "mIwzNHFYDuYjqvCxZ_Sr5", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1974.1416664123535, + "y": 320, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 128.88333129882812, + "height": 24, + "seed": 35743947, + "groupIds": [ + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Load page 2", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Load page 2", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "diamond", + "version": 844, + "versionNonce": 44796661, + "isDeleted": false, + "id": "jxWZFmw6gB3t7BUFp9CnD", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1360, + "y": 88.34060591662335, + "strokeColor": "#c92a2a", + "backgroundColor": "#fd8888", + "width": 159.99999999999994, + "height": 52.23159465197695, + "seed": 628730021, + "groupIds": [ + "IOAU_crxMonTet3awr-sT", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "diamond", + "version": 885, + "versionNonce": 2011073243, + "isDeleted": false, + "id": "XUx45vcPKVtgJLEM6Pw-P", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1360, + "y": 75.73946974861049, + "strokeColor": "#c92a2a", + "backgroundColor": "#fd8888", + "width": 159.99999999999994, + "height": 52.23159465197695, + "seed": 468143109, + "groupIds": [ + "IOAU_crxMonTet3awr-sT", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "diamond", + "version": 965, + "versionNonce": 1665688661, + "isDeleted": false, + "id": "WZvaaZmLWSgA-h8V6uTCw", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1360, + "y": 57.79950701078259, + "strokeColor": "#c92a2a", + "backgroundColor": "#fd8888", + "width": 159.99999999999994, + "height": 52.23159465197695, + "seed": 1871283045, + "groupIds": [ + "IOAU_crxMonTet3awr-sT", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "diamond", + "version": 1007, + "versionNonce": 522090363, + "isDeleted": false, + "id": "DAlVUaNay1FBTRNakZkKW", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 1, + "opacity": 100, + "angle": 0, + "x": 1360, + "y": 40, + "strokeColor": "#c92a2a", + "backgroundColor": "#fd8888", + "width": 159.99999999999994, + "height": 52.23159465197695, + "seed": 883805893, + "groupIds": [ + "IOAU_crxMonTet3awr-sT", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 181, + "versionNonce": 1103303093, + "isDeleted": false, + "id": "h53J5S5lnt_L-fbkBw11g", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1380, + "y": 180, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 126.5999984741211, + "height": 43.199999999999996, + "seed": 499943845, + "groupIds": [ + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "Memory", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Memory", + "lineHeight": 1.2, + "baseline": 35 + }, + { + "type": "rectangle", + "version": 443, + "versionNonce": 2096615451, + "isDeleted": false, + "id": "1m1H7yeZuYg8MW5XnxxG7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1360, + "y": 360, + "strokeColor": "#0000", + "backgroundColor": "#0000", + "width": 157.92833089709413, + "height": 199.1270259137273, + "seed": 1016373803, + "groupIds": [ + "7Smz6womirECPfWJOY7WH", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "line", + "version": 683, + "versionNonce": 1262555925, + "isDeleted": false, + "id": "AF8ttOiXY1OKLjLsQ3Kc1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1367.5191025631264, + "y": 484.8593096613099, + "strokeColor": "#495057", + "backgroundColor": "#ced4da", + "width": 146.01202327177307, + "height": 119.54200735700717, + "seed": 431301835, + "groupIds": [ + "1TTMVEvTbqz3dysAqEkD0", + "aAwPpDnpxuKalIBHWL5jw", + "7Smz6womirECPfWJOY7WH", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0.42693574056081307, + 30.312437579812542 + ], + [ + 74.2868188575689, + 75.14069033869015 + ], + [ + 143.45040882840897, + 34.15485924485932 + ], + [ + 146.01202327177307, + 0 + ], + [ + 71.72520441420438, + -44.40131701831701 + ], + [ + 0, + 0 + ] + ] + }, + { + "type": "line", + "version": 533, + "versionNonce": 1398609083, + "isDeleted": false, + "id": "hmjgqjpasPNl0DR4txkXt", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1441.378985680142, + "y": 557.011449816079, + "strokeColor": "#495057", + "backgroundColor": "#ced4da", + "width": 1.7958680474234138e-13, + "height": 29.031630358130265, + "seed": 283923307, + "groupIds": [ + "1TTMVEvTbqz3dysAqEkD0", + "aAwPpDnpxuKalIBHWL5jw", + "7Smz6womirECPfWJOY7WH", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 1.7958680474234138e-13, + -29.031630358130265 + ] + ] + }, + { + "type": "line", + "version": 549, + "versionNonce": 1815603317, + "isDeleted": false, + "id": "et0cOo7vzt5-Q5Jmuk8_I", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1368.3729740442514, + "y": 485.71318114243127, + "strokeColor": "#495057", + "backgroundColor": "#ced4da", + "width": 143.02347308784778, + "height": 41.83970257495233, + "seed": 42249739, + "groupIds": [ + "1TTMVEvTbqz3dysAqEkD0", + "aAwPpDnpxuKalIBHWL5jw", + "7Smz6womirECPfWJOY7WH", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 73.00601163588665, + 41.83970257495233 + ], + [ + 143.02347308784778, + 2.134678702803707 + ] + ] + }, + { + "type": "line", + "version": 482, + "versionNonce": 32556379, + "isDeleted": false, + "id": "WUT9l65lCcIUODaExjFBT", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1447.7830217885503, + "y": 542.0686988964522, + "strokeColor": "#495057", + "backgroundColor": "#ced4da", + "width": 34.31523338018638, + "height": 19.212108325233217, + "seed": 1635300523, + "groupIds": [ + "1TTMVEvTbqz3dysAqEkD0", + "aAwPpDnpxuKalIBHWL5jw", + "7Smz6womirECPfWJOY7WH", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 34.31523338018638, + -19.212108325233217 + ] + ] + }, + { + "type": "line", + "version": 795, + "versionNonce": 1718424021, + "isDeleted": false, + "id": "rPlVRkDPV3WYSOpSt5_HM", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1488.6226158170864, + "y": 515.5596050815263, + "strokeColor": "#495057", + "backgroundColor": "#ced4da", + "width": 17.848131803441692, + "height": 18.053282743711335, + "seed": 1567811403, + "groupIds": [ + "1TTMVEvTbqz3dysAqEkD0", + "aAwPpDnpxuKalIBHWL5jw", + "7Smz6womirECPfWJOY7WH", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0.20515094026946537, + 7.795735730238969 + ], + [ + 16.50591391679567, + -2.8017341423420823 + ], + [ + 17.848131803441692, + -10.257547013472365 + ], + [ + 0, + 0 + ] + ] + }, + { + "type": "line", + "version": 734, + "versionNonce": 1342530043, + "isDeleted": false, + "id": "sdZ9TWaCeY39mDlDSX4SA", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1367.196722514144, + "y": 444.60952561917264, + "strokeColor": "#495057", + "backgroundColor": "#ced4da", + "width": 146.01202327177307, + "height": 119.54200735700718, + "seed": 1288553963, + "groupIds": [ + "VLvF0pCE7PjO1obnNqXeE", + "aAwPpDnpxuKalIBHWL5jw", + "7Smz6womirECPfWJOY7WH", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0.42693574056081307, + 30.312437579812556 + ], + [ + 74.2868188575689, + 75.14069033869013 + ], + [ + 143.45040882840897, + 34.15485924485934 + ], + [ + 146.01202327177307, + 0 + ], + [ + 71.72520441420438, + -44.40131701831704 + ], + [ + 0, + 0 + ] + ] + }, + { + "type": "line", + "version": 610, + "versionNonce": 653659957, + "isDeleted": false, + "id": "O0ufSkpvFDEVU3EWpRnVF", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1441.0566056311327, + "y": 516.7616657739345, + "strokeColor": "#495057", + "backgroundColor": "#ced4da", + "width": 1.7958680474234138e-13, + "height": 29.031630358130265, + "seed": 1452527755, + "groupIds": [ + "VLvF0pCE7PjO1obnNqXeE", + "aAwPpDnpxuKalIBHWL5jw", + "7Smz6womirECPfWJOY7WH", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 1.7958680474234138e-13, + -29.031630358130265 + ] + ] + }, + { + "type": "line", + "version": 626, + "versionNonce": 1990027931, + "isDeleted": false, + "id": "XmVy0q3vzD-giXDM5vqVr", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1368.0505939952536, + "y": 445.46339710029304, + "strokeColor": "#495057", + "backgroundColor": "#ced4da", + "width": 143.02347308784778, + "height": 41.83970257495233, + "seed": 1551861547, + "groupIds": [ + "VLvF0pCE7PjO1obnNqXeE", + "aAwPpDnpxuKalIBHWL5jw", + "7Smz6womirECPfWJOY7WH", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 73.00601163588665, + 41.83970257495233 + ], + [ + 143.02347308784778, + 2.134678702803707 + ] + ] + }, + { + "type": "line", + "version": 556, + "versionNonce": 1547198613, + "isDeleted": false, + "id": "Hr_IAHE2aE2t0wC-AwQKd", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1447.4606417395514, + "y": 501.8189148543122, + "strokeColor": "#495057", + "backgroundColor": "#ced4da", + "width": 35.862602207102206, + "height": 19.212108325233178, + "seed": 620456395, + "groupIds": [ + "VLvF0pCE7PjO1obnNqXeE", + "aAwPpDnpxuKalIBHWL5jw", + "7Smz6womirECPfWJOY7WH", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 35.862602207102206, + -19.212108325233178 + ] + ] + }, + { + "type": "line", + "version": 868, + "versionNonce": 1785421627, + "isDeleted": false, + "id": "i1kwW0gt9eS2s0isbZlIp", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1489.460762388278, + "y": 474.1492944192006, + "strokeColor": "#495057", + "backgroundColor": "#ced4da", + "width": 15.101552135666381, + "height": 17.229308843378163, + "seed": 1159854187, + "groupIds": [ + "VLvF0pCE7PjO1obnNqXeE", + "aAwPpDnpxuKalIBHWL5jw", + "7Smz6womirECPfWJOY7WH", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0.20515094026946537, + 7.7957357302389685 + ], + [ + 14.75738714238093, + -0.817233621822744 + ], + [ + 15.101552135666381, + -9.433573113139195 + ], + [ + 0, + 0 + ] + ] + }, + { + "type": "line", + "version": 765, + "versionNonce": 1273595381, + "isDeleted": false, + "id": "9VV0kisITg0Q3nHEjJtKP", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1366.874342465136, + "y": 404.9090575105893, + "strokeColor": "#495057", + "backgroundColor": "#ced4da", + "width": 146.01202327177307, + "height": 119.54200735700718, + "seed": 1253946123, + "groupIds": [ + "kHEi8Q9BCuPR6DrJoSq8q", + "aAwPpDnpxuKalIBHWL5jw", + "7Smz6womirECPfWJOY7WH", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0.42693574056081307, + 30.312437579812556 + ], + [ + 74.2868188575689, + 75.14069033869013 + ], + [ + 143.45040882840897, + 34.15485924485934 + ], + [ + 146.01202327177307, + 0 + ], + [ + 71.72520441420438, + -44.40131701831704 + ], + [ + 0, + 0 + ] + ] + }, + { + "type": "line", + "version": 641, + "versionNonce": 1708244955, + "isDeleted": false, + "id": "iTpzzLws21CL7NJGYW61F", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1440.734225582154, + "y": 477.06119766534914, + "strokeColor": "#495057", + "backgroundColor": "#ced4da", + "width": 1.7958680474234138e-13, + "height": 29.031630358130265, + "seed": 642324907, + "groupIds": [ + "kHEi8Q9BCuPR6DrJoSq8q", + "aAwPpDnpxuKalIBHWL5jw", + "7Smz6womirECPfWJOY7WH", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 1.7958680474234138e-13, + -29.031630358130265 + ] + ] + }, + { + "type": "line", + "version": 657, + "versionNonce": 1762590549, + "isDeleted": false, + "id": "Czw_Yu6Mc9UmookJUTOcB", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1367.7282139462739, + "y": 405.7629289917081, + "strokeColor": "#495057", + "backgroundColor": "#ced4da", + "width": 143.02347308784778, + "height": 41.83970257495233, + "seed": 1424927819, + "groupIds": [ + "kHEi8Q9BCuPR6DrJoSq8q", + "aAwPpDnpxuKalIBHWL5jw", + "7Smz6womirECPfWJOY7WH", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 73.00601163588665, + 41.83970257495233 + ], + [ + 143.02347308784778, + 2.134678702803707 + ] + ] + }, + { + "type": "line", + "version": 587, + "versionNonce": 853740667, + "isDeleted": false, + "id": "HPvRtiSacLYKy-vACzcFW", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1447.1382616905635, + "y": 462.1184467457239, + "strokeColor": "#495057", + "backgroundColor": "#ced4da", + "width": 35.862602207102206, + "height": 19.212108325233178, + "seed": 1250487019, + "groupIds": [ + "kHEi8Q9BCuPR6DrJoSq8q", + "aAwPpDnpxuKalIBHWL5jw", + "7Smz6womirECPfWJOY7WH", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 35.862602207102206, + -19.212108325233178 + ] + ] + }, + { + "type": "line", + "version": 893, + "versionNonce": 704531637, + "isDeleted": false, + "id": "Fo3Yw5l0XirybhMfQhidm", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1489.1383823392812, + "y": 434.44882631061597, + "strokeColor": "#495057", + "backgroundColor": "#ced4da", + "width": 16.474841969553843, + "height": 16.95465087660086, + "seed": 463623563, + "groupIds": [ + "kHEi8Q9BCuPR6DrJoSq8q", + "aAwPpDnpxuKalIBHWL5jw", + "7Smz6womirECPfWJOY7WH", + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": null, + "points": [ + [ + 0, + 0 + ], + [ + 0.20515094026946537, + 7.7957357302389685 + ], + [ + 15.581361042713159, + -0.5425756550448141 + ], + [ + 16.474841969553843, + -9.15891514636189 + ], + [ + 0, + 0 + ] + ] + }, + { + "type": "text", + "version": 185, + "versionNonce": 895599899, + "isDeleted": false, + "id": "kviyylzqIfVHzLNPia-Vd", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1400, + "y": 580, + "strokeColor": "#495057", + "backgroundColor": "transparent", + "width": 84.4000015258789, + "height": 43.199999999999996, + "seed": 1026330539, + "groupIds": [ + "8aeqpaupRzmxhFoSL6jrg" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "Disk", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Disk", + "lineHeight": 1.2, + "baseline": 35 + }, + { + "type": "rectangle", + "version": 165, + "versionNonce": 509406741, + "isDeleted": false, + "id": "bdi2qbcKZuSzFMTYVnHO5", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 120, + "y": 660, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 1020, + "height": 860, + "seed": 2002739334, + "groupIds": [ + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 398, + "versionNonce": 885025211, + "isDeleted": false, + "id": "-UNrUEmQFQ_FjnF3dbaoU", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 180, + "y": 920, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 220.00000000000003, + "height": 380, + "seed": 1801002842, + "groupIds": [ + "jxDn0a_3TNefTMTahWrjq", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "gW2YaaEiqTtvYX7EtFkYS", + "type": "arrow" + }, + { + "id": "6mYzSf3eVDuD7gl6ttWF2", + "type": "arrow" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 335, + "versionNonce": 1159750517, + "isDeleted": false, + "id": "5UZdPJdVg7tSHxoOR3IJO", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 240, + "y": 940, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 98.4000015258789, + "height": 33.6, + "seed": 827001242, + "groupIds": [ + "jxDn0a_3TNefTMTahWrjq", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Header", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Header", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 307, + "versionNonce": 1713470043, + "isDeleted": false, + "id": "jNNXE1NcojlRD9YwXU4hE", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 240, + "y": 1000, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 100, + "height": 100, + "seed": 585657734, + "groupIds": [ + "jxDn0a_3TNefTMTahWrjq", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "4XdI8Zu2ah2fS_6jZJwUn", + "type": "arrow" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 305, + "versionNonce": 579742933, + "isDeleted": false, + "id": "m0bjBzd_SiVauMzQ60bZk", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 240, + "y": 1140, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 100, + "height": 100, + "seed": 1765245126, + "groupIds": [ + "jxDn0a_3TNefTMTahWrjq", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "eEPbHAUO0obXEl-uM9uCy", + "type": "arrow" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 486, + "versionNonce": 911701755, + "isDeleted": false, + "id": "bmZUzsozDi8MEtsdDUt5B", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 520, + "y": 760, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 200.00000000000006, + "height": 280, + "seed": 208145542, + "groupIds": [ + "A9JX7YwKgjkXZ_c5ClWDA", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "gW2YaaEiqTtvYX7EtFkYS", + "type": "arrow" + }, + { + "id": "4XdI8Zu2ah2fS_6jZJwUn", + "type": "arrow" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 444, + "versionNonce": 373017141, + "isDeleted": false, + "id": "WjurO4J0jbdq_H3_VsuuZ", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 589.0586277544758, + "y": 774.3958823780363, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 65.5999984741211, + "height": 33.6, + "seed": 234916806, + "groupIds": [ + "A9JX7YwKgjkXZ_c5ClWDA", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "4XdI8Zu2ah2fS_6jZJwUn", + "type": "arrow" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Page", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Page", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 421, + "versionNonce": 1407508379, + "isDeleted": false, + "id": "NdOt7EwxmjyfVAq59emed", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 540, + "y": 820, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 59.99999999999997, + "height": 59.99999999999998, + "seed": 516367110, + "groupIds": [ + "A9JX7YwKgjkXZ_c5ClWDA", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "gW2YaaEiqTtvYX7EtFkYS", + "type": "arrow" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 435, + "versionNonce": 1896790933, + "isDeleted": false, + "id": "7Yr0biVoo2QLgYWUwzGbq", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 640, + "y": 820, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 59.99999999999997, + "height": 59.99999999999997, + "seed": 1631113798, + "groupIds": [ + "A9JX7YwKgjkXZ_c5ClWDA", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "XLsdk5RD822oGCtkeEnmg", + "type": "arrow" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 335, + "versionNonce": 2029794363, + "isDeleted": false, + "id": "P5eXXhyWw9mQ_AMhqKy89", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 539.3284314024241, + "y": 906.6127454266652, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 161, + "height": 121, + "seed": 682935238, + "groupIds": [ + "A9JX7YwKgjkXZ_c5ClWDA", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "NpbiEPSqGL9iKWFs9vCwx" + }, + { + "id": "Ep0AwIPzysNADwYxH6_du", + "type": "arrow" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 688, + "versionNonce": 1262256373, + "isDeleted": false, + "id": "NpbiEPSqGL9iKWFs9vCwx", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 597.9617646086009, + "y": 955.916863048629, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 43.733333587646484, + "height": 22.39176475607251, + "seed": 57165446, + "groupIds": [ + "A9JX7YwKgjkXZ_c5ClWDA", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 18.65980396339376, + "fontFamily": 3, + "text": "Data", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "P5eXXhyWw9mQ_AMhqKy89", + "originalText": "Data", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "text", + "version": 240, + "versionNonce": 1971320027, + "isDeleted": false, + "id": "52PGVxdbTatCMYYxIzain", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1040, + "y": 1220, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 63.29999923706055, + "height": 43.199999999999996, + "seed": 375806234, + "groupIds": [ + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834265, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "...", + "lineHeight": 1.2, + "baseline": 35 + }, + { + "type": "rectangle", + "version": 497, + "versionNonce": 441096789, + "isDeleted": false, + "id": "eky-EweWqjATOcbVyeF5J", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 820, + "y": 760, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 200.00000000000006, + "height": 280, + "seed": 2112347526, + "groupIds": [ + "eKg32gR9FLmb0j_KtbJmK", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "XLsdk5RD822oGCtkeEnmg", + "type": "arrow" + } + ], + "updated": 1682947834265, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 464, + "versionNonce": 2030215547, + "isDeleted": false, + "id": "AZJGZP_sVIu5_ugQAHXE7", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 889.0586277544758, + "y": 774.3958823780363, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 65.5999984741211, + "height": 33.6, + "seed": 1096694982, + "groupIds": [ + "eKg32gR9FLmb0j_KtbJmK", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "XLsdk5RD822oGCtkeEnmg", + "type": "arrow" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Page", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Page", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 437, + "versionNonce": 118392757, + "isDeleted": false, + "id": "eVyOKkNmmfO3UxSc4yniB", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 840, + "y": 820, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 59.99999999999997, + "height": 59.99999999999998, + "seed": 1564914694, + "groupIds": [ + "eKg32gR9FLmb0j_KtbJmK", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "Ep0AwIPzysNADwYxH6_du", + "type": "arrow" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 454, + "versionNonce": 482785819, + "isDeleted": false, + "id": "kd5dgkUZbpGT_gdzX6udr", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 940, + "y": 820, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 59.99999999999997, + "height": 59.99999999999997, + "seed": 731792198, + "groupIds": [ + "eKg32gR9FLmb0j_KtbJmK", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 350, + "versionNonce": 61720853, + "isDeleted": false, + "id": "qfN899jgdsezvHgIoCUG8", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 839.328431402424, + "y": 906.6127454266652, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 161, + "height": 121, + "seed": 1052895878, + "groupIds": [ + "eKg32gR9FLmb0j_KtbJmK", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "EwBiNNGOr2PG4V2n7pKUc" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 706, + "versionNonce": 767475387, + "isDeleted": false, + "id": "EwBiNNGOr2PG4V2n7pKUc", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 897.9617646086008, + "y": 955.916863048629, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 43.733333587646484, + "height": 22.39176475607251, + "seed": 1433315782, + "groupIds": [ + "eKg32gR9FLmb0j_KtbJmK", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "fontSize": 18.65980396339376, + "fontFamily": 3, + "text": "Data", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "qfN899jgdsezvHgIoCUG8", + "originalText": "Data", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "arrow", + "version": 694, + "versionNonce": 563994229, + "isDeleted": false, + "id": "4XdI8Zu2ah2fS_6jZJwUn", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 340, + "y": 1040, + "strokeColor": "#d9480f", + "backgroundColor": "#fa5252", + "width": 280, + "height": 320, + "seed": 2093522522, + "groupIds": [ + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "startBinding": { + "elementId": "jNNXE1NcojlRD9YwXU4hE", + "focus": -0.2, + "gap": 1 + }, + "endBinding": { + "elementId": "WjurO4J0jbdq_H3_VsuuZ", + "focus": -0.05666545837709225, + "gap": 15.39588237803622 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 80, + 0 + ], + [ + 80, + -320 + ], + [ + 280, + -320 + ], + [ + 280, + -281 + ] + ] + }, + { + "type": "arrow", + "version": 591, + "versionNonce": 915222363, + "isDeleted": false, + "id": "XLsdk5RD822oGCtkeEnmg", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 701, + "y": 860, + "strokeColor": "#d9480f", + "backgroundColor": "#fa5252", + "width": 219, + "height": 140, + "seed": 1073506266, + "groupIds": [ + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "startBinding": { + "elementId": "7Yr0biVoo2QLgYWUwzGbq", + "focus": 0.3333333333333335, + "gap": 1 + }, + "endBinding": { + "elementId": "AZJGZP_sVIu5_ugQAHXE7", + "focus": -0.05666545837709225, + "gap": 15.39588237803622 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 39, + 0 + ], + [ + 39, + -140 + ], + [ + 219, + -140 + ], + [ + 219, + -101 + ] + ] + }, + { + "type": "arrow", + "version": 596, + "versionNonce": 665077717, + "isDeleted": false, + "id": "gW2YaaEiqTtvYX7EtFkYS", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 539, + "y": 840, + "strokeColor": "#d9480f", + "backgroundColor": "#fa5252", + "width": 239, + "height": 80, + "seed": 1572438854, + "groupIds": [ + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "startBinding": { + "elementId": "NdOt7EwxmjyfVAq59emed", + "focus": 0.3333333333333335, + "gap": 1 + }, + "endBinding": { + "elementId": "-UNrUEmQFQ_FjnF3dbaoU", + "focus": 0.0909090909090909, + "gap": 1 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -239, + 0 + ], + [ + -239, + 80 + ] + ] + }, + { + "type": "arrow", + "version": 571, + "versionNonce": 1233423355, + "isDeleted": false, + "id": "Ep0AwIPzysNADwYxH6_du", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 839, + "y": 840, + "strokeColor": "#d9480f", + "backgroundColor": "#fa5252", + "width": 219, + "height": 240, + "seed": 496696646, + "groupIds": [ + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "startBinding": { + "elementId": "eVyOKkNmmfO3UxSc4yniB", + "focus": 0.3333333333333334, + "gap": 1 + }, + "endBinding": { + "elementId": "P5eXXhyWw9mQ_AMhqKy89", + "focus": -0.03798285745599979, + "gap": 12.387254573334758 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -39, + 0 + ], + [ + -39, + 240 + ], + [ + -219, + 240 + ], + [ + -217.95611902984854, + 200 + ] + ] + }, + { + "type": "rectangle", + "version": 511, + "versionNonce": 1742112053, + "isDeleted": false, + "id": "35i1ccF7wWP4qGT661-9a", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 520, + "y": 1140, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 200.00000000000006, + "height": 280, + "seed": 2111183066, + "groupIds": [ + "8ok9FK1dbaDe9UNI0UADR", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "eEPbHAUO0obXEl-uM9uCy", + "type": "arrow" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 475, + "versionNonce": 178738331, + "isDeleted": false, + "id": "XBAl_W2pMByBIcvz9GAbf", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 589.0586277544758, + "y": 1154.3958823780363, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 65.5999984741211, + "height": 33.6, + "seed": 1343352218, + "groupIds": [ + "8ok9FK1dbaDe9UNI0UADR", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "eEPbHAUO0obXEl-uM9uCy", + "type": "arrow" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Page", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Page", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 456, + "versionNonce": 1436161685, + "isDeleted": false, + "id": "14EheXN5Z5fGgZUGTgQfl", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 540, + "y": 1200, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 59.99999999999997, + "height": 59.99999999999998, + "seed": 1031088730, + "groupIds": [ + "8ok9FK1dbaDe9UNI0UADR", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "6mYzSf3eVDuD7gl6ttWF2", + "type": "arrow" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 465, + "versionNonce": 2041055547, + "isDeleted": false, + "id": "MhrDhRw52j_wZmW0vZUH1", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 640, + "y": 1200, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 59.99999999999997, + "height": 59.99999999999997, + "seed": 1020448538, + "groupIds": [ + "8ok9FK1dbaDe9UNI0UADR", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "Wn5-__3vDqubkoOyjBOhf", + "type": "arrow" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 365, + "versionNonce": 1537506293, + "isDeleted": false, + "id": "fgFhBzyn9jOsxms6AFIbJ", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 539.3284314024241, + "y": 1286.6127454266652, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 161, + "height": 121, + "seed": 1922948058, + "groupIds": [ + "8ok9FK1dbaDe9UNI0UADR", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "OQyW6_CLj7cA1Da-2jW74" + }, + { + "id": "wCWAoutoabSfUcb2T647f", + "type": "arrow" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 720, + "versionNonce": 2078878171, + "isDeleted": false, + "id": "OQyW6_CLj7cA1Da-2jW74", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 597.9617646086009, + "y": 1335.916863048629, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 43.733333587646484, + "height": 22.39176475607251, + "seed": 2095665306, + "groupIds": [ + "8ok9FK1dbaDe9UNI0UADR", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "fontSize": 18.65980396339376, + "fontFamily": 3, + "text": "Data", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "fgFhBzyn9jOsxms6AFIbJ", + "originalText": "Data", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "rectangle", + "version": 525, + "versionNonce": 1912288597, + "isDeleted": false, + "id": "bvpHgVU_qOmbOkuCBSGye", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 820, + "y": 1140, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 200.00000000000006, + "height": 280, + "seed": 225915802, + "groupIds": [ + "2LwwsOmsfb7yzP17BTUGF", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "Wn5-__3vDqubkoOyjBOhf", + "type": "arrow" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 491, + "versionNonce": 645740155, + "isDeleted": false, + "id": "p6FIQ6ujdhoaibi3KJiUZ", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 889.0586277544758, + "y": 1154.3958823780363, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 65.5999984741211, + "height": 33.6, + "seed": 1782689882, + "groupIds": [ + "2LwwsOmsfb7yzP17BTUGF", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "Wn5-__3vDqubkoOyjBOhf", + "type": "arrow" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Page", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Page", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 469, + "versionNonce": 1945354933, + "isDeleted": false, + "id": "DkQjLw2LO46UG7GYQIxxa", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 840, + "y": 1200, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 59.99999999999997, + "height": 59.99999999999998, + "seed": 1780389146, + "groupIds": [ + "2LwwsOmsfb7yzP17BTUGF", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "id": "wCWAoutoabSfUcb2T647f", + "type": "arrow" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 480, + "versionNonce": 1210494747, + "isDeleted": false, + "id": "X8K51T4VTvVtdeXQswrkh", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 940, + "y": 1200, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 59.99999999999997, + "height": 59.99999999999997, + "seed": 1317069274, + "groupIds": [ + "2LwwsOmsfb7yzP17BTUGF", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 382, + "versionNonce": 909354005, + "isDeleted": false, + "id": "kv04fTq_vJqACcMlEdCB7", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 839.328431402424, + "y": 1286.6127454266652, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 161, + "height": 121, + "seed": 846960282, + "groupIds": [ + "2LwwsOmsfb7yzP17BTUGF", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "uk0qWo92OrIpp5snQF6mg" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 739, + "versionNonce": 861410235, + "isDeleted": false, + "id": "uk0qWo92OrIpp5snQF6mg", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 897.9617646086008, + "y": 1335.916863048629, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 43.733333587646484, + "height": 22.39176475607251, + "seed": 1455534938, + "groupIds": [ + "2LwwsOmsfb7yzP17BTUGF", + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "fontSize": 18.65980396339376, + "fontFamily": 3, + "text": "Data", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "kv04fTq_vJqACcMlEdCB7", + "originalText": "Data", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "arrow", + "version": 780, + "versionNonce": 1555061109, + "isDeleted": false, + "id": "Wn5-__3vDqubkoOyjBOhf", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 700, + "y": 1240, + "strokeColor": "#d9480f", + "backgroundColor": "#fa5252", + "width": 220, + "height": 140, + "seed": 1839609882, + "groupIds": [ + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "startBinding": { + "elementId": "MhrDhRw52j_wZmW0vZUH1", + "focus": 0.3333333333333335, + "gap": 1 + }, + "endBinding": { + "elementId": "p6FIQ6ujdhoaibi3KJiUZ", + "focus": -0.05666545837709225, + "gap": 14.395882378036276 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 40, + 0 + ], + [ + 40, + -140 + ], + [ + 220, + -140 + ], + [ + 220, + -100 + ] + ] + }, + { + "type": "arrow", + "version": 764, + "versionNonce": 1211360347, + "isDeleted": false, + "id": "wCWAoutoabSfUcb2T647f", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 840, + "y": 1220, + "strokeColor": "#d9480f", + "backgroundColor": "#fa5252", + "width": 220, + "height": 240, + "seed": 1729897690, + "groupIds": [ + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "startBinding": { + "elementId": "DkQjLw2LO46UG7GYQIxxa", + "focus": 0.3333333333333334, + "gap": 1 + }, + "endBinding": { + "elementId": "fgFhBzyn9jOsxms6AFIbJ", + "focus": -0.03798285745599979, + "gap": 12.387254573334758 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -40, + 0 + ], + [ + -40, + 240 + ], + [ + -220, + 240 + ], + [ + -218.95611902984854, + 200 + ] + ] + }, + { + "type": "arrow", + "version": 606, + "versionNonce": 1890542293, + "isDeleted": false, + "id": "6mYzSf3eVDuD7gl6ttWF2", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 540, + "y": 1220, + "strokeColor": "#d9480f", + "backgroundColor": "#fa5252", + "width": 240, + "height": 120, + "seed": 735079622, + "groupIds": [ + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "startBinding": { + "elementId": "14EheXN5Z5fGgZUGTgQfl", + "focus": 0.3333333333333334, + "gap": 1 + }, + "endBinding": { + "elementId": "-UNrUEmQFQ_FjnF3dbaoU", + "focus": -0.0909090909090909, + "gap": 1 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -40, + 0 + ], + [ + -40, + 120 + ], + [ + -240, + 120 + ], + [ + -240, + 80 + ] + ] + }, + { + "type": "arrow", + "version": 587, + "versionNonce": 1049403643, + "isDeleted": false, + "id": "eEPbHAUO0obXEl-uM9uCy", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 340, + "y": 1180, + "strokeColor": "#d9480f", + "backgroundColor": "#fa5252", + "width": 280, + "height": 80, + "seed": 1712404038, + "groupIds": [ + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "startBinding": { + "elementId": "m0bjBzd_SiVauMzQ60bZk", + "focus": -0.2, + "gap": 1 + }, + "endBinding": { + "elementId": "XBAl_W2pMByBIcvz9GAbf", + "focus": -0.05666545837709225, + "gap": 14.395882378036276 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 80, + 0 + ], + [ + 80, + -80 + ], + [ + 280, + -80 + ], + [ + 280, + -40 + ] + ] + }, + { + "type": "text", + "version": 266, + "versionNonce": 918962229, + "isDeleted": false, + "id": "TEoT-VpQ4fJAuVGvhtO91", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1040, + "y": 840, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 63.29999923706055, + "height": 43.199999999999996, + "seed": 1223405210, + "groupIds": [ + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "...", + "lineHeight": 1.2, + "baseline": 35 + }, + { + "type": "text", + "version": 202, + "versionNonce": 803522971, + "isDeleted": false, + "id": "qfg0zdy_F0SU9_UBGYXAt", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 180, + "y": 740, + "strokeColor": "#000000", + "backgroundColor": "#fd7e14", + "width": 211, + "height": 86.39999999999999, + "seed": 691688326, + "groupIds": [ + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "Data Page \nList", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Data Page \nList", + "lineHeight": 1.2, + "baseline": 78 + }, + { + "type": "text", + "version": 228, + "versionNonce": 1155166613, + "isDeleted": false, + "id": "XzqCaBk74rShIqgJsN0Fv", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 180, + "y": 1360, + "strokeColor": "#000000", + "backgroundColor": "#fd7e14", + "width": 189.89999389648438, + "height": 86.39999999999999, + "seed": 2036223174, + "groupIds": [ + "Jj5cCFaIZah3sahEM3aDN", + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "Free Page\nList", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Free Page\nList", + "lineHeight": 1.2, + "baseline": 78 + }, + { + "type": "text", + "version": 139, + "versionNonce": 1634655803, + "isDeleted": false, + "id": "dDUP2OF0cZDsGEKwWuwGk", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 120, + "y": 620, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 213.1999969482422, + "height": 33.6, + "seed": 1675790214, + "groupIds": [ + "F3_zTcsw-V8BhwtFeUEMy" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Database File", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Database File", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 311, + "versionNonce": 1478588149, + "isDeleted": false, + "id": "Diy1NZSunfFou293o2T-4", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1340, + "y": 860, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 919.9999999999999, + "height": 820, + "seed": 1072635034, + "groupIds": [ + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 483, + "versionNonce": 1309499099, + "isDeleted": false, + "id": "SPRejc4-rhOQdUU-kN8dj", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1600, + "y": 1260, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 300, + "height": 380, + "seed": 575304154, + "groupIds": [ + "4eeYL6eR5xSzF8LQzEHmp", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 437, + "versionNonce": 1797312597, + "isDeleted": false, + "id": "YMzQr4KEnBUya7iF-nvAp", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1620, + "y": 1340, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 60, + "height": 60, + "seed": 242101190, + "groupIds": [ + "4eeYL6eR5xSzF8LQzEHmp", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [ + { + "id": "LFzzLURLolOxapw--JBdK", + "type": "arrow" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 442, + "versionNonce": 1884474235, + "isDeleted": false, + "id": "AuaDvbVkj2i2zjujln2oP", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1720, + "y": 1340, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 60, + "height": 60, + "seed": 554912838, + "groupIds": [ + "4eeYL6eR5xSzF8LQzEHmp", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 452, + "versionNonce": 195952053, + "isDeleted": false, + "id": "VA1h1JE_NYPGk_KgvXAY6", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1820, + "y": 1340, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 60, + "height": 60, + "seed": 1353426458, + "groupIds": [ + "4eeYL6eR5xSzF8LQzEHmp", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [ + { + "id": "sT-SnNt5m-PFJb2uOFwN3", + "type": "arrow" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 454, + "versionNonce": 1283564571, + "isDeleted": false, + "id": "H8hgKcptC1M2bRwidABbv", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1660, + "y": 1280, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 189.89999389648438, + "height": 43.199999999999996, + "seed": 662941082, + "groupIds": [ + "4eeYL6eR5xSzF8LQzEHmp", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "Directory", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Directory", + "lineHeight": 1.2, + "baseline": 35 + }, + { + "type": "rectangle", + "version": 448, + "versionNonce": 1894678293, + "isDeleted": false, + "id": "he6bh63UmhCpLhOl5Xuyo", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1620, + "y": 1440, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 60, + "height": 60, + "seed": 1485528838, + "groupIds": [ + "4eeYL6eR5xSzF8LQzEHmp", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 458, + "versionNonce": 982280379, + "isDeleted": false, + "id": "cG4VcBIo2pcl5DF8Q1xKg", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1720, + "y": 1440, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 60, + "height": 60, + "seed": 1326812742, + "groupIds": [ + "4eeYL6eR5xSzF8LQzEHmp", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 461, + "versionNonce": 1364710517, + "isDeleted": false, + "id": "SPMSw5NTNKYgH7PIhwbra", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1820, + "y": 1440, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 60, + "height": 60, + "seed": 722982278, + "groupIds": [ + "4eeYL6eR5xSzF8LQzEHmp", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 454, + "versionNonce": 1880463707, + "isDeleted": false, + "id": "5le_FAbtpj-kCVJyB3lnR", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1620, + "y": 1540, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 60, + "height": 60, + "seed": 1996283910, + "groupIds": [ + "4eeYL6eR5xSzF8LQzEHmp", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 461, + "versionNonce": 2024766933, + "isDeleted": false, + "id": "AAl3TJC1URb7DdzbKn0xW", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1720, + "y": 1540, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 60, + "height": 60, + "seed": 95350598, + "groupIds": [ + "4eeYL6eR5xSzF8LQzEHmp", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [ + { + "id": "K7poVImFTo-ALVUlw3rKy", + "type": "arrow" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 467, + "versionNonce": 1248835067, + "isDeleted": false, + "id": "w0l9c8k4Tm4cq-Lwa0MjO", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1820, + "y": 1540, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 60, + "height": 60, + "seed": 1776096902, + "groupIds": [ + "4eeYL6eR5xSzF8LQzEHmp", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 286, + "versionNonce": 504036149, + "isDeleted": false, + "id": "9OV0VR1DAvMH0hGc8sc2B", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1380, + "y": 900, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 240, + "height": 280, + "seed": 1753603482, + "groupIds": [ + "lsffb7j06RQ5CCbvu86Ed", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 289, + "versionNonce": 1486700187, + "isDeleted": false, + "id": "T9HbPU6ORSs_tJuCm1mCC", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1460, + "y": 920, + "strokeColor": "#000000", + "backgroundColor": "#40c057", + "width": 84.4000015258789, + "height": 43.199999999999996, + "seed": 1198925850, + "groupIds": [ + "lsffb7j06RQ5CCbvu86Ed", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "Page", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Page", + "lineHeight": 1.2, + "baseline": 35 + }, + { + "type": "rectangle", + "version": 310, + "versionNonce": 2043661461, + "isDeleted": false, + "id": "tx4A_RbtmLEcjmWUXt1t3", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1400, + "y": 1000, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 200, + "height": 160, + "seed": 825009542, + "groupIds": [ + "lsffb7j06RQ5CCbvu86Ed", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "9zLIQYkXhN-1vGzB7XKCn" + }, + { + "id": "LFzzLURLolOxapw--JBdK", + "type": "arrow" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 292, + "versionNonce": 626045755, + "isDeleted": false, + "id": "9zLIQYkXhN-1vGzB7XKCn", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1457.7999992370605, + "y": 1058.4, + "strokeColor": "#000000", + "backgroundColor": "#40c057", + "width": 84.4000015258789, + "height": 43.199999999999996, + "seed": 958653766, + "groupIds": [ + "lsffb7j06RQ5CCbvu86Ed", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "Data", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "tx4A_RbtmLEcjmWUXt1t3", + "originalText": "Data", + "lineHeight": 1.2, + "baseline": 37 + }, + { + "type": "rectangle", + "version": 363, + "versionNonce": 464744949, + "isDeleted": false, + "id": "ig0i8yZYafBjroz5UNu8C", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1640, + "y": 900, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 240, + "height": 280, + "seed": 1459579994, + "groupIds": [ + "C-ku4X8l4MNgTgUMyT4sZ", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 364, + "versionNonce": 1089246171, + "isDeleted": false, + "id": "Rt0lN6Cur4agjJGHNbDiE", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1720, + "y": 920, + "strokeColor": "#000000", + "backgroundColor": "#40c057", + "width": 84.4000015258789, + "height": 43.199999999999996, + "seed": 1875169562, + "groupIds": [ + "C-ku4X8l4MNgTgUMyT4sZ", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834266, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "Page", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Page", + "lineHeight": 1.2, + "baseline": 35 + }, + { + "type": "rectangle", + "version": 386, + "versionNonce": 12282709, + "isDeleted": false, + "id": "yHFlcX_n0rNHjD8U1NdXq", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1660, + "y": 1000, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 200, + "height": 160, + "seed": 1006607834, + "groupIds": [ + "C-ku4X8l4MNgTgUMyT4sZ", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "XAReaQIzg9_3pZzvVhikd" + }, + { + "id": "K7poVImFTo-ALVUlw3rKy", + "type": "arrow" + } + ], + "updated": 1682947834266, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 368, + "versionNonce": 193159291, + "isDeleted": false, + "id": "XAReaQIzg9_3pZzvVhikd", + "fillStyle": "hachure", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1717.7999992370605, + "y": 1058.4, + "strokeColor": "#000000", + "backgroundColor": "#40c057", + "width": 84.4000015258789, + "height": 43.199999999999996, + "seed": 2026033818, + "groupIds": [ + "C-ku4X8l4MNgTgUMyT4sZ", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "Data", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "yHFlcX_n0rNHjD8U1NdXq", + "originalText": "Data", + "lineHeight": 1.2, + "baseline": 37 + }, + { + "type": "rectangle", + "version": 408, + "versionNonce": 1765619893, + "isDeleted": false, + "id": "pogDQisC77mhh0xi5SP74", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1980, + "y": 900, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 240, + "height": 280, + "seed": 2123661766, + "groupIds": [ + "62_Edjs_QJ8XfqE9PBI_s", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 410, + "versionNonce": 1054316827, + "isDeleted": false, + "id": "Wc5AW60f4w6Hn8NvCYdjS", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2060, + "y": 920, + "strokeColor": "#000000", + "backgroundColor": "#40c057", + "width": 84.4000015258789, + "height": 43.199999999999996, + "seed": 90986758, + "groupIds": [ + "62_Edjs_QJ8XfqE9PBI_s", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "Page", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Page", + "lineHeight": 1.2, + "baseline": 35 + }, + { + "type": "rectangle", + "version": 431, + "versionNonce": 1860065813, + "isDeleted": false, + "id": "jGPDiRhYdZc74NPZ2f7oK", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2000, + "y": 1000, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 200, + "height": 160, + "seed": 1774667846, + "groupIds": [ + "62_Edjs_QJ8XfqE9PBI_s", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "B7kE6OuFgAU54tjYMwfNV" + }, + { + "id": "sT-SnNt5m-PFJb2uOFwN3", + "type": "arrow" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 414, + "versionNonce": 945536443, + "isDeleted": false, + "id": "B7kE6OuFgAU54tjYMwfNV", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2057.7999992370605, + "y": 1058.4, + "strokeColor": "#000000", + "backgroundColor": "#40c057", + "width": 84.4000015258789, + "height": 43.199999999999996, + "seed": 998395782, + "groupIds": [ + "62_Edjs_QJ8XfqE9PBI_s", + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "Data", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "jGPDiRhYdZc74NPZ2f7oK", + "originalText": "Data", + "lineHeight": 1.2, + "baseline": 37 + }, + { + "type": "text", + "version": 299, + "versionNonce": 1519669109, + "isDeleted": false, + "id": "qUHRLS8W_h9UCJqCp3Jjn", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1900, + "y": 1020, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 63.29999923706055, + "height": 43.199999999999996, + "seed": 1115046342, + "groupIds": [ + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "...", + "lineHeight": 1.2, + "baseline": 35 + }, + { + "type": "text", + "version": 334, + "versionNonce": 53628507, + "isDeleted": false, + "id": "jbeINZW5GKeTudsHeHK41", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1920, + "y": 1440, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 63.29999923706055, + "height": 43.199999999999996, + "seed": 1383515078, + "groupIds": [ + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "...", + "lineHeight": 1.2, + "baseline": 35 + }, + { + "type": "arrow", + "version": 734, + "versionNonce": 983865557, + "isDeleted": false, + "id": "sT-SnNt5m-PFJb2uOFwN3", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1880, + "y": 1380, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 220, + "height": 200, + "seed": 780667802, + "groupIds": [ + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "startBinding": { + "elementId": "VA1h1JE_NYPGk_KgvXAY6", + "focus": 0.3333333333333333, + "gap": 1 + }, + "endBinding": { + "elementId": "jGPDiRhYdZc74NPZ2f7oK", + "focus": 0, + "gap": 20 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 220, + 0 + ], + [ + 220, + -200 + ] + ] + }, + { + "type": "arrow", + "version": 732, + "versionNonce": 573426427, + "isDeleted": false, + "id": "LFzzLURLolOxapw--JBdK", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1620, + "y": 1380, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 140, + "height": 200, + "seed": 717976858, + "groupIds": [ + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "startBinding": { + "elementId": "YMzQr4KEnBUya7iF-nvAp", + "focus": -0.3333333333333333, + "gap": 1 + }, + "endBinding": { + "elementId": "tx4A_RbtmLEcjmWUXt1t3", + "focus": 0.2, + "gap": 20 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -140, + 0 + ], + [ + -140, + -200 + ] + ] + }, + { + "type": "arrow", + "version": 754, + "versionNonce": 950318645, + "isDeleted": false, + "id": "K7poVImFTo-ALVUlw3rKy", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1740, + "y": 1540, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 200, + "height": 360, + "seed": 2055644678, + "groupIds": [ + "FB434DyTK7KjOMIYnjJ9V", + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "startBinding": { + "elementId": "AAl3TJC1URb7DdzbKn0xW", + "focus": -0.3333333333333333, + "gap": 1 + }, + "endBinding": { + "elementId": "yHFlcX_n0rNHjD8U1NdXq", + "focus": 0, + "gap": 20 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 0, + -20 + ], + [ + -180, + -20 + ], + [ + -180, + -320 + ], + [ + 20, + -320 + ], + [ + 20, + -360 + ] + ] + }, + { + "type": "text", + "version": 237, + "versionNonce": 433107867, + "isDeleted": false, + "id": "scTe9fdcDMM1mJYy9snCH", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 1340, + "y": 820, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 213.1999969482422, + "height": 33.6, + "seed": 1525349466, + "groupIds": [ + "Srn01dLCvkzkc9Vv7_vGF" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Database File", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Database File", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 385, + "versionNonce": 796534677, + "isDeleted": false, + "id": "7RlYwmBjEz_yN_Rq8jhnu", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2540, + "y": 820, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 360, + "height": 340, + "seed": 604588934, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [ + { + "id": "gddnDEnWubxlXQH_srH-a", + "type": "arrow" + }, + { + "id": "qcxyG6unhCKNL2n-m1tuQ", + "type": "arrow" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 305, + "versionNonce": 978159675, + "isDeleted": false, + "id": "kCs6UfbrQXxJt0VSdQvbR", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2680, + "y": 760, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 84.4000015258789, + "height": 43.199999999999996, + "seed": 1080336902, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "Page", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Page", + "lineHeight": 1.2, + "baseline": 35 + }, + { + "type": "rectangle", + "version": 499, + "versionNonce": 22703349, + "isDeleted": false, + "id": "6XYdq6KCRqzWwu8ZNRIl7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2740, + "y": 1100, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 160, + "height": 60, + "seed": 1467255238, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "ZI0wLwPXt0Zx9Drq8sSP6" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 387, + "versionNonce": 696699099, + "isDeleted": false, + "id": "ZI0wLwPXt0Zx9Drq8sSP6", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2754.400001525879, + "y": 1113.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 131.1999969482422, + "height": 33.6, + "seed": 1426809094, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Tuple #1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "6XYdq6KCRqzWwu8ZNRIl7", + "originalText": "Tuple #1", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 301, + "versionNonce": 768280149, + "isDeleted": false, + "id": "DxVewpl2EAjiLU9ipXuTp", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2540, + "y": 1100, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 60, + "seed": 1193791110, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 510, + "versionNonce": 755955067, + "isDeleted": false, + "id": "lMD5cVuWVzua5kQJSnCpp", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2580, + "y": 1100, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 160, + "height": 60, + "seed": 870909254, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "_15cAAAoEFgrVFK1qVCOX" + }, + { + "id": "L9AV7B1q2KOnECaizuzcA", + "type": "arrow" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 400, + "versionNonce": 664892341, + "isDeleted": false, + "id": "_15cAAAoEFgrVFK1qVCOX", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2594.400001525879, + "y": 1113.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 131.1999969482422, + "height": 33.6, + "seed": 878996614, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Tuple #2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "lMD5cVuWVzua5kQJSnCpp", + "originalText": "Tuple #2", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 525, + "versionNonce": 875073051, + "isDeleted": false, + "id": "5jx9XliC4_CKlKIAB5Exh", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2700, + "y": 1040, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 200, + "height": 60, + "seed": 1525191558, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "Dq7k6mC8KyV5EXTtM-Q4u" + }, + { + "id": "fQ9T06i8AIlBz6R-bf9hS", + "type": "arrow" + }, + { + "id": "Jd39iln4YBoPe0zkHUtjc", + "type": "arrow" + }, + { + "id": "HSTb7CSNdtSLjRZUrNwti", + "type": "arrow" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 413, + "versionNonce": 1795372309, + "isDeleted": false, + "id": "Dq7k6mC8KyV5EXTtM-Q4u", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2734.400001525879, + "y": 1053.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 131.1999969482422, + "height": 33.6, + "seed": 1758999238, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Tuple #3", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "5jx9XliC4_CKlKIAB5Exh", + "originalText": "Tuple #3", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 444, + "versionNonce": 566629051, + "isDeleted": false, + "id": "KgH74Gj6e5Obnn4052VQO", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2540, + "y": 820, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 160, + "height": 60, + "seed": 1715623174, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "u7b8di7AfoUj0KIHYa8K_" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 358, + "versionNonce": 1399179893, + "isDeleted": false, + "id": "u7b8di7AfoUj0KIHYa8K_", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2570.7999992370605, + "y": 833.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 98.4000015258789, + "height": 33.6, + "seed": 914211910, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Header", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "KgH74Gj6e5Obnn4052VQO", + "originalText": "Header", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 281, + "versionNonce": 1451885403, + "isDeleted": false, + "id": "0bfBB1GExZFf06D8YYRej", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2700, + "y": 820, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 60, + "seed": 2122859270, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 308, + "versionNonce": 831435733, + "isDeleted": false, + "id": "2C1B_2ADl86EjUCLT_QAp", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2820, + "y": 820, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 60, + "seed": 439073158, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 315, + "versionNonce": 2059853819, + "isDeleted": false, + "id": "yJjuGiDJug57jmAdfvcrd", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2540, + "y": 880, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 60, + "seed": 1503633222, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 298, + "versionNonce": 563310901, + "isDeleted": false, + "id": "w07SUQw8hr6dG2IKrDZpE", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2740, + "y": 820, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 60, + "seed": 25665946, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 296, + "versionNonce": 142551195, + "isDeleted": false, + "id": "iGPfZ-A3EbQ7CLsuutaMS", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2780, + "y": 820, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 60, + "seed": 1946161114, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 281, + "versionNonce": 551125653, + "isDeleted": false, + "id": "rWffjQ4tW4lgdjLxtpM7a", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2580, + "y": 880, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 60, + "seed": 1577735706, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 279, + "versionNonce": 358964539, + "isDeleted": false, + "id": "4N8ID5Shjpxnqa5lrrab_", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2620, + "y": 880, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 60, + "seed": 1528413574, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [ + { + "id": "WITs9oYoGFe-0aSukkCWv", + "type": "arrow" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 296, + "versionNonce": 1679190005, + "isDeleted": false, + "id": "cbno9fWLT3jAp1sUXsLSh", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2860, + "y": 820, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 40, + "height": 60, + "seed": 631562438, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 240, + "versionNonce": 1557921243, + "isDeleted": false, + "id": "CkKI1wIAzSoe69UZ-znsK", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2620, + "y": 1180, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 213.1999969482422, + "height": 33.6, + "seed": 1573756486, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Slotted Pages", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Slotted Pages", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "text", + "version": 229, + "versionNonce": 1833935189, + "isDeleted": false, + "id": "z9V7wtmCm6jEzwb5TpTlX", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2940, + "y": 880, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 164, + "height": 33.6, + "seed": 1104720774, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Slot Array", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Slot Array", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "arrow", + "version": 726, + "versionNonce": 167086715, + "isDeleted": false, + "id": "gddnDEnWubxlXQH_srH-a", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3020, + "y": 880, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 98.74999999999955, + "height": 40, + "seed": 1454487002, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": { + "elementId": "7RlYwmBjEz_yN_Rq8jhnu", + "focus": -0.874999999999997, + "gap": 21.250000000000455 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 0, + -40 + ], + [ + -98.74999999999955, + -39.730191256830494 + ] + ] + }, + { + "type": "text", + "version": 238, + "versionNonce": 1641721525, + "isDeleted": false, + "id": "qPdO5twmUAyC7rj4JihLH", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2940, + "y": 1100, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 164, + "height": 33.6, + "seed": 208607258, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [ + { + "id": "qcxyG6unhCKNL2n-m1tuQ", + "type": "arrow" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Tuple Data", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Tuple Data", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "arrow", + "version": 1100, + "versionNonce": 1098154779, + "isDeleted": false, + "id": "qcxyG6unhCKNL2n-m1tuQ", + "fillStyle": "solid", + "strokeWidth": 1, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3020, + "y": 1100, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 100, + "height": 40, + "seed": 1458687450, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "startBinding": { + "elementId": "qPdO5twmUAyC7rj4JihLH", + "focus": -0.024390243902439025, + "gap": 1 + }, + "endBinding": { + "elementId": "7RlYwmBjEz_yN_Rq8jhnu", + "focus": 0.4117647058823529, + "gap": 20 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 0, + -40 + ], + [ + -100, + -40 + ] + ] + }, + { + "type": "arrow", + "version": 686, + "versionNonce": 542969877, + "isDeleted": false, + "id": "L9AV7B1q2KOnECaizuzcA", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2720, + "y": 860, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 140, + "height": 240, + "seed": 1071578202, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": { + "elementId": "lMD5cVuWVzua5kQJSnCpp", + "focus": -1, + "gap": 1 + }, + "lastCommittedPoint": null, + "startArrowhead": "dot", + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 100 + ], + [ + -140, + 100 + ], + [ + -140, + 240 + ] + ] + }, + { + "type": "arrow", + "version": 668, + "versionNonce": 1808492475, + "isDeleted": false, + "id": "fQ9T06i8AIlBz6R-bf9hS", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2760, + "y": 860, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 60, + "height": 180, + "seed": 1987040710, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": { + "elementId": "5jx9XliC4_CKlKIAB5Exh", + "focus": -1, + "gap": 1 + }, + "lastCommittedPoint": null, + "startArrowhead": "dot", + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 120 + ], + [ + -60, + 120 + ], + [ + -60, + 180 + ] + ] + }, + { + "type": "arrow", + "version": 670, + "versionNonce": 382485877, + "isDeleted": false, + "id": "Jd39iln4YBoPe0zkHUtjc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2800, + "y": 860, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 60, + "height": 240, + "seed": 1788024666, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "startBinding": null, + "endBinding": { + "elementId": "5jx9XliC4_CKlKIAB5Exh", + "focus": -0.6, + "gap": 1 + }, + "lastCommittedPoint": null, + "startArrowhead": "dot", + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 160 + ], + [ + -60, + 160 + ], + [ + -60, + 240 + ] + ] + }, + { + "type": "arrow", + "version": 586, + "versionNonce": 1058846811, + "isDeleted": false, + "id": "HSTb7CSNdtSLjRZUrNwti", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2699, + "y": 1060, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 79, + "height": 0, + "seed": 1468036058, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "startBinding": { + "elementId": "5jx9XliC4_CKlKIAB5Exh", + "focus": 0.3333333333333333, + "gap": 1 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -39, + 0 + ], + [ + -79, + 0 + ] + ] + }, + { + "type": "arrow", + "version": 579, + "versionNonce": 1483591381, + "isDeleted": false, + "id": "WITs9oYoGFe-0aSukkCWv", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2661, + "y": 900, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 79, + "height": 0, + "seed": 2065429190, + "groupIds": [ + "TJcUi7qCA_KiSASN0Q5UE" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "startBinding": { + "elementId": "4N8ID5Shjpxnqa5lrrab_", + "focus": -0.3333333333333333, + "gap": 1 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 79, + 0 + ] + ] + }, + { + "type": "rectangle", + "version": 519, + "versionNonce": 154858747, + "isDeleted": false, + "id": "ivqw-Zqulr7Z2FugFaOUX", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3220, + "y": 760, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 400, + "height": 460, + "seed": 293036706, + "groupIds": [ + "tvYTgSA-e1bCTyxCtmAuI" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 368, + "versionNonce": 1943481397, + "isDeleted": false, + "id": "I6QGDaiNEpVUR02q2FcJw", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3380, + "y": 700, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 84.4000015258789, + "height": 43.199999999999996, + "seed": 1400290914, + "groupIds": [ + "tvYTgSA-e1bCTyxCtmAuI" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "Page", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Page", + "lineHeight": 1.2, + "baseline": 35 + }, + { + "type": "rectangle", + "version": 169, + "versionNonce": 967351707, + "isDeleted": false, + "id": "rHiFBJlkKEGuI-cLB3vmp", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3240, + "y": 780, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 360, + "height": 44, + "seed": 2061582014, + "groupIds": [ + "tvYTgSA-e1bCTyxCtmAuI" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "Bzp1kEziuDm4x37Zg7Cpa" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 194, + "versionNonce": 149806485, + "isDeleted": false, + "id": "Bzp1kEziuDm4x37Zg7Cpa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3272.3999938964844, + "y": 785.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 295.20001220703125, + "height": 33.6, + "seed": 2069577186, + "groupIds": [ + "tvYTgSA-e1bCTyxCtmAuI" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "INSERT id=1, val=a", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "rHiFBJlkKEGuI-cLB3vmp", + "originalText": "INSERT id=1, val=a", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 177, + "versionNonce": 731394619, + "isDeleted": false, + "id": "MuiQTr2--epIu8612VJdd", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3240, + "y": 840, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 360, + "height": 44, + "seed": 1640129442, + "groupIds": [ + "tvYTgSA-e1bCTyxCtmAuI" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "zc-Du9gHoEHMGxS4nbxXX" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 206, + "versionNonce": 518480629, + "isDeleted": false, + "id": "zc-Du9gHoEHMGxS4nbxXX", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3272.3999938964844, + "y": 845.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 295.20001220703125, + "height": 33.6, + "seed": 1153015650, + "groupIds": [ + "tvYTgSA-e1bCTyxCtmAuI" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "INSERT id=2, val=b", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "MuiQTr2--epIu8612VJdd", + "originalText": "INSERT id=2, val=b", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 187, + "versionNonce": 804008667, + "isDeleted": false, + "id": "dW-eK3m4ye1WGvR9K-j-W", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3240, + "y": 900, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 360, + "height": 44, + "seed": 420221630, + "groupIds": [ + "tvYTgSA-e1bCTyxCtmAuI" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "3V0HCJOnquuYRLAyng1aN" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 233, + "versionNonce": 977878101, + "isDeleted": false, + "id": "3V0HCJOnquuYRLAyng1aN", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3329.800003051758, + "y": 905.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 180.39999389648438, + "height": 33.6, + "seed": 364317438, + "groupIds": [ + "tvYTgSA-e1bCTyxCtmAuI" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "DELETE id=4", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "dW-eK3m4ye1WGvR9K-j-W", + "originalText": "DELETE id=4", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 210, + "versionNonce": 1463230331, + "isDeleted": false, + "id": "M4leN1ZjgZSR_Sh-9HHR5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3240, + "y": 1020, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 360, + "height": 44, + "seed": 209549986, + "groupIds": [ + "tvYTgSA-e1bCTyxCtmAuI" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "pjdKj0sdg16moKLN6FNEQ" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 323, + "versionNonce": 854124981, + "isDeleted": false, + "id": "pjdKj0sdg16moKLN6FNEQ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3264.199996948242, + "y": 1025.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 311.6000061035156, + "height": 33.6, + "seed": 905565794, + "groupIds": [ + "tvYTgSA-e1bCTyxCtmAuI" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "UPDATE val=X (id=3)", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "M4leN1ZjgZSR_Sh-9HHR5", + "originalText": "UPDATE val=X (id=3)", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 211, + "versionNonce": 2075883547, + "isDeleted": false, + "id": "EvbdI4vBVyMDjKbHwf4OU", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3240, + "y": 1080, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 360, + "height": 44, + "seed": 1702656446, + "groupIds": [ + "tvYTgSA-e1bCTyxCtmAuI" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "1srDbR-oRakOy64ad6oPW" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 325, + "versionNonce": 1240197909, + "isDeleted": false, + "id": "1srDbR-oRakOy64ad6oPW", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3264.199996948242, + "y": 1085.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 311.6000061035156, + "height": 33.6, + "seed": 1703055870, + "groupIds": [ + "tvYTgSA-e1bCTyxCtmAuI" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "UPDATE val=X (id=3)", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "EvbdI4vBVyMDjKbHwf4OU", + "originalText": "UPDATE val=X (id=3)", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 226, + "versionNonce": 191610043, + "isDeleted": false, + "id": "IcN-gUzV3VV6Wn5WZyNx3", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3240, + "y": 960, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 360, + "height": 44, + "seed": 227723170, + "groupIds": [ + "tvYTgSA-e1bCTyxCtmAuI" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "N-HhH63GPrrKyBArc_txk" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 255, + "versionNonce": 2143797365, + "isDeleted": false, + "id": "N-HhH63GPrrKyBArc_txk", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3272.3999938964844, + "y": 965.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 295.20001220703125, + "height": 33.6, + "seed": 1625129826, + "groupIds": [ + "tvYTgSA-e1bCTyxCtmAuI" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "INSERT id=2, val=b", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "IcN-gUzV3VV6Wn5WZyNx3", + "originalText": "INSERT id=2, val=b", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "text", + "version": 152, + "versionNonce": 300576091, + "isDeleted": false, + "id": "iTMuevBk-3jy4fMx9Vpnq", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3380, + "y": 1140, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 63.29999923706055, + "height": 43.199999999999996, + "seed": 284390974, + "groupIds": [ + "tvYTgSA-e1bCTyxCtmAuI" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "...", + "lineHeight": 1.2, + "baseline": 35 + }, + { + "type": "rectangle", + "version": 198, + "versionNonce": 708962773, + "isDeleted": false, + "id": "IAr6jaFnrhyDWydv2R-z2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2795.31914893617, + "y": 1280, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 744.6808510638297, + "height": 148.93617021276594, + "seed": 1854967074, + "groupIds": [ + "_w2bMpqGruB_1micjmgGt", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "bGJAVMryy2Ev2ApPd7K5B" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 224, + "versionNonce": 42600955, + "isDeleted": false, + "id": "bGJAVMryy2Ev2ApPd7K5B", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3052.859571416327, + "y": 1337.668085106383, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 229.60000610351562, + "height": 33.6, + "seed": 818727650, + "groupIds": [ + "_w2bMpqGruB_1micjmgGt", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Attribute Data", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "IAr6jaFnrhyDWydv2R-z2", + "originalText": "Attribute Data", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 216, + "versionNonce": 1248847669, + "isDeleted": false, + "id": "tcuKiT6E40eedKqVmAjLH", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2540, + "y": 1280, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 255.31914893617017, + "height": 148.93617021276594, + "seed": 714770494, + "groupIds": [ + "_w2bMpqGruB_1micjmgGt", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "xuID2pIBPaoxDHTqYJSxR" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 261, + "versionNonce": 1112347291, + "isDeleted": false, + "id": "xuID2pIBPaoxDHTqYJSxR", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2618.4595737051454, + "y": 1337.668085106383, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 98.4000015258789, + "height": 33.6, + "seed": 685428862, + "groupIds": [ + "_w2bMpqGruB_1micjmgGt", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Header", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "tcuKiT6E40eedKqVmAjLH", + "originalText": "Header", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 344, + "versionNonce": 582432917, + "isDeleted": false, + "id": "vbxSDmyHNAwnfjfvDGeyO", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2900, + "y": 1480, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 200, + "height": 140, + "seed": 1260740194, + "groupIds": [ + "EnoZMq-WJ287eu-0f8ZR0", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 242, + "versionNonce": 1910900539, + "isDeleted": false, + "id": "YmPqyiU47NPh7Wj7jukoi", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2991.800000190735, + "y": 1533.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1701790242, + "groupIds": [ + "EnoZMq-WJ287eu-0f8ZR0", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "b", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "b", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 281, + "versionNonce": 214785525, + "isDeleted": false, + "id": "qp3fy7Zs-oYUFA6b42VcE", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2780, + "y": 1480, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 120, + "height": 140, + "seed": 742829538, + "groupIds": [ + "EnoZMq-WJ287eu-0f8ZR0", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 237, + "versionNonce": 2008508379, + "isDeleted": false, + "id": "q9kasrtsHUX1-fu9qKFEN", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2831.800000190735, + "y": 1533.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1153081762, + "groupIds": [ + "EnoZMq-WJ287eu-0f8ZR0", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "a", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "a", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 332, + "versionNonce": 263706453, + "isDeleted": false, + "id": "EDXeMTi0vEJrIXWKXuLvB", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2540, + "y": 1480, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 239.99999999999997, + "height": 140, + "seed": 775400674, + "groupIds": [ + "EnoZMq-WJ287eu-0f8ZR0", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 252, + "versionNonce": 1238611067, + "isDeleted": false, + "id": "OZnLqAHQlN0etkB-8vvtY", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2610.7999992370605, + "y": 1533.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 98.4000015258789, + "height": 33.6, + "seed": 2117320866, + "groupIds": [ + "EnoZMq-WJ287eu-0f8ZR0", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Header", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Header", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "text", + "version": 303, + "versionNonce": 902571189, + "isDeleted": false, + "id": "hsM8P7PhkpEk16bhsVp7E", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3211.800000190735, + "y": 1533.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 16.399999618530273, + "height": 33.6, + "seed": 810647586, + "groupIds": [ + "EnoZMq-WJ287eu-0f8ZR0", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "c", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "c", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 381, + "versionNonce": 2013097243, + "isDeleted": false, + "id": "aXH_vQsUYuqYJVpaSTEHi", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3100, + "y": 1480, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 200, + "height": 140, + "seed": 1187993150, + "groupIds": [ + "br_EdggtxomLsgMZ7ThJs", + "EnoZMq-WJ287eu-0f8ZR0", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "FCqm65GdZ2VMRQtfsrMnI" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 347, + "versionNonce": 581944853, + "isDeleted": false, + "id": "FCqm65GdZ2VMRQtfsrMnI", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3191.800000190735, + "y": 1533.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1095097982, + "groupIds": [ + "br_EdggtxomLsgMZ7ThJs", + "EnoZMq-WJ287eu-0f8ZR0", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "c", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "aXH_vQsUYuqYJVpaSTEHi", + "originalText": "c", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 355, + "versionNonce": 1973883323, + "isDeleted": false, + "id": "62D9BsygpCC474HF0zdrc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3300, + "y": 1480, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 120, + "height": 140, + "seed": 134931938, + "groupIds": [ + "EnoZMq-WJ287eu-0f8ZR0", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "G9aODB0EbXODxqicztW3t" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 194, + "versionNonce": 1767390069, + "isDeleted": false, + "id": "G9aODB0EbXODxqicztW3t", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3351.800000190735, + "y": 1533.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1060698430, + "groupIds": [ + "EnoZMq-WJ287eu-0f8ZR0", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "d", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "62D9BsygpCC474HF0zdrc", + "originalText": "d", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 364, + "versionNonce": 603136603, + "isDeleted": false, + "id": "Q3bpwgb3YmdjZZJ2leQnN", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3420, + "y": 1480, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 120, + "height": 140, + "seed": 425633342, + "groupIds": [ + "EnoZMq-WJ287eu-0f8ZR0", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "ZD9iN0qpisFObl-0XQ2n8" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 194, + "versionNonce": 571147477, + "isDeleted": false, + "id": "ZD9iN0qpisFObl-0XQ2n8", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3471.800000190735, + "y": 1533.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 16.399999618530273, + "height": 33.6, + "seed": 846086434, + "groupIds": [ + "EnoZMq-WJ287eu-0f8ZR0", + "NSsdFCbolC7i1Rr9wdYyW" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "e", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Q3bpwgb3YmdjZZJ2leQnN", + "originalText": "e", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 695, + "versionNonce": 464789243, + "isDeleted": false, + "id": "AOUXbyIfZ4v500StvJVv0", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2920, + "y": 1940, + "strokeColor": "#000000", + "backgroundColor": "#4c6ef5", + "width": 400, + "height": 460, + "seed": 1723385954, + "groupIds": [ + "i_0IVKbml6yV04svWZFVp", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [ + { + "id": "qauJ9DqGlrYTJCINGOuop", + "type": "arrow" + }, + { + "id": "EPdysNcj3GPaxSKGsTxG9", + "type": "arrow" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 562, + "versionNonce": 1079878197, + "isDeleted": false, + "id": "F416WWVzqOeyWeLuvhhm4", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2985.050006866455, + "y": 1880, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 274.29998779296875, + "height": 43.199999999999996, + "seed": 1325755426, + "groupIds": [ + "i_0IVKbml6yV04svWZFVp", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 36, + "fontFamily": 3, + "text": "Overflow Page", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Overflow Page", + "lineHeight": 1.2, + "baseline": 35 + }, + { + "type": "rectangle", + "version": 207, + "versionNonce": 929859483, + "isDeleted": false, + "id": "Dzhnyh4dOROeEuErQmTGv", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2920, + "y": 1940, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 400, + "height": 80, + "seed": 4315006, + "groupIds": [ + "i_0IVKbml6yV04svWZFVp", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "WnlvbxnubwCXg8jIjgucN" + }, + { + "id": "qauJ9DqGlrYTJCINGOuop", + "type": "arrow" + }, + { + "id": "EPdysNcj3GPaxSKGsTxG9", + "type": "arrow" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 188, + "versionNonce": 691377045, + "isDeleted": false, + "id": "WnlvbxnubwCXg8jIjgucN", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3087.2000007629395, + "y": 1963.1999999999998, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 65.5999984741211, + "height": 33.6, + "seed": 1151149986, + "groupIds": [ + "i_0IVKbml6yV04svWZFVp", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Data", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Dzhnyh4dOROeEuErQmTGv", + "originalText": "Data", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 476, + "versionNonce": 1565449275, + "isDeleted": false, + "id": "HxAEUsbcprTvYNaQigsii", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2900, + "y": 1720, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 200, + "height": 140, + "seed": 29015202, + "groupIds": [ + "T0gtVzIzVs9rHSzLrgIna", + "-kvt0aw2oWFsT9opK9nJI", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 369, + "versionNonce": 147347701, + "isDeleted": false, + "id": "Ro-n5WOoJpLj7lX4GI0C5", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2991.800000190735, + "y": 1773.1999999999998, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1446959202, + "groupIds": [ + "T0gtVzIzVs9rHSzLrgIna", + "-kvt0aw2oWFsT9opK9nJI", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "b", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "b", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 403, + "versionNonce": 155032795, + "isDeleted": false, + "id": "FkaqhA4w59UpICq6XEWBD", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2780, + "y": 1720, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 120, + "height": 140, + "seed": 55147554, + "groupIds": [ + "TLkJhMKnRrNw08wGBa0Ce", + "-kvt0aw2oWFsT9opK9nJI", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [ + { + "id": "qauJ9DqGlrYTJCINGOuop", + "type": "arrow" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 357, + "versionNonce": 1755017813, + "isDeleted": false, + "id": "7DByYYbWgPpFsGJMNPVN3", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2831.800000190735, + "y": 1773.1999999999998, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1187620834, + "groupIds": [ + "TLkJhMKnRrNw08wGBa0Ce", + "-kvt0aw2oWFsT9opK9nJI", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "a", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "a", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 440, + "versionNonce": 382421371, + "isDeleted": false, + "id": "z_w6Jx3V1LfxWP8_gygyg", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2540, + "y": 1720, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 239.99999999999997, + "height": 140, + "seed": 1221483426, + "groupIds": [ + "l5W_zXuNKbqihEkIrh4Cv", + "-kvt0aw2oWFsT9opK9nJI", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 360, + "versionNonce": 92561333, + "isDeleted": false, + "id": "q7ualoHm14p6jY1H0AyWQ", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2610.7999992370605, + "y": 1773.1999999999998, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 98.4000015258789, + "height": 33.6, + "seed": 1468438370, + "groupIds": [ + "l5W_zXuNKbqihEkIrh4Cv", + "-kvt0aw2oWFsT9opK9nJI", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Header", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": null, + "originalText": "Header", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 519, + "versionNonce": 1262117403, + "isDeleted": false, + "id": "n3OpPguV7IzdlK2a6BTn0", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3100, + "y": 1720, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 200, + "height": 140, + "seed": 2054006498, + "groupIds": [ + "_umhBFOfJpyozVvQ3HSLF", + "-kvt0aw2oWFsT9opK9nJI", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "WY3efE_y4HL99VIpRckTP" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 478, + "versionNonce": 1705550101, + "isDeleted": false, + "id": "WY3efE_y4HL99VIpRckTP", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3191.800000190735, + "y": 1773.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 16.399999618530273, + "height": 33.6, + "seed": 94010018, + "groupIds": [ + "_umhBFOfJpyozVvQ3HSLF", + "-kvt0aw2oWFsT9opK9nJI", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "c", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "n3OpPguV7IzdlK2a6BTn0", + "originalText": "c", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 463, + "versionNonce": 528311995, + "isDeleted": false, + "id": "bKLq3gvgs9yXW3Ot-1LYu", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3300, + "y": 1720, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 120, + "height": 140, + "seed": 58119778, + "groupIds": [ + "3PJ0yYlPSjfrbxFroVoWv", + "-kvt0aw2oWFsT9opK9nJI", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "9BIyPlsc1E0rzsHVSxqCl" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 294, + "versionNonce": 779990645, + "isDeleted": false, + "id": "9BIyPlsc1E0rzsHVSxqCl", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3351.800000190735, + "y": 1773.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 16.399999618530273, + "height": 33.6, + "seed": 80853538, + "groupIds": [ + "3PJ0yYlPSjfrbxFroVoWv", + "-kvt0aw2oWFsT9opK9nJI", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "d", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "bKLq3gvgs9yXW3Ot-1LYu", + "originalText": "d", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "rectangle", + "version": 476, + "versionNonce": 1245108059, + "isDeleted": false, + "id": "5Ijb5IUAcASOHIUMVlG7g", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3420, + "y": 1720, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 120, + "height": 140, + "seed": 681190882, + "groupIds": [ + "YsqQTPgBC6QMmekynvdu4", + "-kvt0aw2oWFsT9opK9nJI", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "CM64Ut1Qt6hxyvgXrm5ep" + } + ], + "updated": 1682947834267, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 298, + "versionNonce": 986259413, + "isDeleted": false, + "id": "CM64Ut1Qt6hxyvgXrm5ep", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3471.800000190735, + "y": 1773.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1474238882, + "groupIds": [ + "YsqQTPgBC6QMmekynvdu4", + "-kvt0aw2oWFsT9opK9nJI", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "e", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "5Ijb5IUAcASOHIUMVlG7g", + "originalText": "e", + "lineHeight": 1.2, + "baseline": 28 + }, + { + "type": "arrow", + "version": 1156, + "versionNonce": 163132411, + "isDeleted": false, + "id": "qauJ9DqGlrYTJCINGOuop", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 2840, + "y": 1861, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 119, + "seed": 126407010, + "groupIds": [ + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "startBinding": { + "elementId": "FkaqhA4w59UpICq6XEWBD", + "focus": 0, + "gap": 1 + }, + "endBinding": { + "elementId": "Dzhnyh4dOROeEuErQmTGv", + "focus": 0, + "gap": 1 + }, + "lastCommittedPoint": null, + "startArrowhead": "dot", + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 0, + 119 + ], + [ + 80, + 119 + ] + ] + }, + { + "type": "arrow", + "version": 159, + "versionNonce": 1889557813, + "isDeleted": false, + "id": "EPdysNcj3GPaxSKGsTxG9", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3320, + "y": 1980, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 100, + "height": 0, + "seed": 1143813410, + "groupIds": [ + "yMonh1B99HuqZggWocv1H", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "startBinding": { + "elementId": "Dzhnyh4dOROeEuErQmTGv", + "focus": 0, + "gap": 1 + }, + "endBinding": null, + "lastCommittedPoint": null, + "startArrowhead": "dot", + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + 100, + 0 + ] + ] + }, + { + "type": "text", + "version": 153, + "versionNonce": 772209819, + "isDeleted": false, + "id": "yNrdTQNDJowrSQbrgIsP_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3340, + "y": 2000, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140.60000610351562, + "height": 48, + "seed": 1811977250, + "groupIds": [ + "yMonh1B99HuqZggWocv1H", + "JN5S7OHwJqFWEjErYfU6e" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834267, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "If still\n overflowing", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "If still\n overflowing", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "id": "e3V_RcSwRZf_crriFqqJj", + "type": "diamond", + "x": 3260, + "y": 200, + "width": 240, + "height": 240, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "#40c057", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "roundness": null, + "seed": 1678170299, + "version": 319, + "versionNonce": 1489286357, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "-YAq9js8N2gYjjWWVUHex" + }, + { + "id": "taL2-yQWsIeFQ07IGqnGN", + "type": "arrow" + }, + { + "id": "0KdM5S9e4X3wGExP8Y-mK", + "type": "arrow" + } + ], + "updated": 1682947834268, + "link": null, + "locked": false + }, + { + "id": "-YAq9js8N2gYjjWWVUHex", + "type": "text", + "x": 3339, + "y": 303.2, + "width": 82, + "height": 33.6, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "#82c91e", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "roundness": null, + "seed": 1172986485, + "version": 293, + "versionNonce": 179138299, + "isDeleted": false, + "boundElements": null, + "updated": 1682947834268, + "link": null, + "locked": false, + "text": "Index", + "fontSize": 28, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 27, + "containerId": "e3V_RcSwRZf_crriFqqJj", + "originalText": "Index", + "lineHeight": 1.2 + }, + { + "id": "taL2-yQWsIeFQ07IGqnGN", + "type": "arrow", + "x": 3510.0790823606203, + "y": 319.9940100518977, + "width": 149.9209176393797, + "height": 0.0016694247920554517, + "angle": 0, + "strokeColor": "#d9480f", + "backgroundColor": "#40c057", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "roundness": null, + "seed": 507725659, + "version": 942, + "versionNonce": 1415664181, + "isDeleted": false, + "boundElements": null, + "updated": 1682947834268, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 149.9209176393797, + 0.0016694247920554517 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "e3V_RcSwRZf_crriFqqJj", + "focus": -0.0000624530085345295, + "gap": 10.079084140518106 + }, + "endBinding": { + "elementId": "IEIN9PrNiiXXeBui0ev_I", + "focus": -0.19999999999999904, + "gap": 20 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "veDuPMkANQA08g4P0To9Q", + "type": "rectangle", + "x": 3140, + "y": -120, + "width": 480, + "height": 140, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "white", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "roundness": null, + "seed": 1619698517, + "version": 298, + "versionNonce": 448518043, + "isDeleted": false, + "boundElements": [ + { + "type": "text", + "id": "ypWGq_eNGQMXhS9d9giDR" + }, + { + "id": "0KdM5S9e4X3wGExP8Y-mK", + "type": "arrow" + } + ], + "updated": 1682947834268, + "link": null, + "locked": false + }, + { + "id": "ypWGq_eNGQMXhS9d9giDR", + "type": "text", + "x": 3207.800003051758, + "y": -100.39999999999998, + "width": 344.3999938964844, + "height": 100.80000000000001, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "white", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "roundness": null, + "seed": 732879189, + "version": 266, + "versionNonce": 1631798165, + "isDeleted": false, + "boundElements": null, + "updated": 1682947834268, + "link": null, + "locked": false, + "text": "SELECT * FROM
\nWHERE = ?\nAND = ?", + "fontSize": 28, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 94, + "containerId": "veDuPMkANQA08g4P0To9Q", + "originalText": "SELECT * FROM
\nWHERE = ?\nAND = ?", + "lineHeight": 1.2 + }, + { + "id": "0KdM5S9e4X3wGExP8Y-mK", + "type": "arrow", + "x": 3380, + "y": 40, + "width": 0, + "height": 120, + "angle": 0, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "fillStyle": "solid", + "strokeWidth": 4, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [], + "roundness": null, + "seed": 743147253, + "version": 722, + "versionNonce": 976497723, + "isDeleted": false, + "boundElements": null, + "updated": 1682947834268, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + 0, + 120 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "veDuPMkANQA08g4P0To9Q", + "focus": 0, + "gap": 20 + }, + "endBinding": { + "elementId": "e3V_RcSwRZf_crriFqqJj", + "focus": 0, + "gap": 28.284271247461888 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "type": "rectangle", + "version": 391, + "versionNonce": 706515477, + "isDeleted": false, + "id": "IEIN9PrNiiXXeBui0ev_I", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3680, + "y": 80, + "strokeColor": "#000000", + "backgroundColor": "#40c057", + "width": 920, + "height": 400, + "seed": 422636987, + "groupIds": [ + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "id": "taL2-yQWsIeFQ07IGqnGN", + "type": "arrow" + }, + { + "id": "KqYkuMJ-Mq3kMd2nolFMk", + "type": "arrow" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 794, + "versionNonce": 20776379, + "isDeleted": false, + "id": "Arswqe7wI4ocNCdTp7egR", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3709.271646949398, + "y": 120.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 1910603355, + "groupIds": [ + "4-Iu2qo7TXH55Dnrc-KWV", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "cojs4K-TvLVne9XmqhvGm" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 703, + "versionNonce": 21727093, + "isDeleted": false, + "id": "cojs4K-TvLVne9XmqhvGm", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3744.121645423519, + "y": 148.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 70.30000305175781, + "height": 24, + "seed": 1400306427, + "groupIds": [ + "4-Iu2qo7TXH55Dnrc-KWV", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Header", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Arswqe7wI4ocNCdTp7egR", + "originalText": "Header", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "rectangle", + "version": 802, + "versionNonce": 816485979, + "isDeleted": false, + "id": "cgbZYqwZKxNSZZXvO5_Wh", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3849.271646949398, + "y": 120.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 712237979, + "groupIds": [ + "4-Iu2qo7TXH55Dnrc-KWV", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "p5adgUcwmba5bKojmZkuh" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 737, + "versionNonce": 1974784213, + "isDeleted": false, + "id": "p5adgUcwmba5bKojmZkuh", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3860.6883148876304, + "y": 136.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 789231675, + "groupIds": [ + "4-Iu2qo7TXH55Dnrc-KWV", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "cgbZYqwZKxNSZZXvO5_Wh", + "originalText": "attribute #1", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 810, + "versionNonce": 157094651, + "isDeleted": false, + "id": "VRHt0xuXswpCU-7rcSAkk", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3989.271646949398, + "y": 120.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 1864235227, + "groupIds": [ + "4-Iu2qo7TXH55Dnrc-KWV", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "x7fD2LIps8-_-QrlxlN2A" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 756, + "versionNonce": 351137333, + "isDeleted": false, + "id": "x7fD2LIps8-_-QrlxlN2A", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4000.6883148876304, + "y": 136.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 406857083, + "groupIds": [ + "4-Iu2qo7TXH55Dnrc-KWV", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "VRHt0xuXswpCU-7rcSAkk", + "originalText": "attribute #2", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 818, + "versionNonce": 1809251227, + "isDeleted": false, + "id": "F2dEwdAK6MOZlkFXdtsWq", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4129.271646949396, + "y": 120.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 28556827, + "groupIds": [ + "4-Iu2qo7TXH55Dnrc-KWV", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "89GOv_9ttMWhKaKlEpw5V" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 741, + "versionNonce": 500981653, + "isDeleted": false, + "id": "89GOv_9ttMWhKaKlEpw5V", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4181.696646186457, + "y": 148.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 35.150001525878906, + "height": 24, + "seed": 1986740923, + "groupIds": [ + "4-Iu2qo7TXH55Dnrc-KWV", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "F2dEwdAK6MOZlkFXdtsWq", + "originalText": "...", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "rectangle", + "version": 830, + "versionNonce": 72011835, + "isDeleted": false, + "id": "ttcPobfM5eLaHTThMjFa1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4269.271646949396, + "y": 120.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 1057567579, + "groupIds": [ + "4-Iu2qo7TXH55Dnrc-KWV", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "Lucd3s_2WPFvsdYx6JuJh" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 760, + "versionNonce": 1454744821, + "isDeleted": false, + "id": "Lucd3s_2WPFvsdYx6JuJh", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4280.688314887629, + "y": 136.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 1809846267, + "groupIds": [ + "4-Iu2qo7TXH55Dnrc-KWV", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#n", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "ttcPobfM5eLaHTThMjFa1", + "originalText": "attribute #n", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "text", + "version": 492, + "versionNonce": 1419448539, + "isDeleted": false, + "id": "LmKiYcmJsUafbq-xwpQp8", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4429.271646949398, + "y": 140.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 131.1999969482422, + "height": 33.6, + "seed": 2046166875, + "groupIds": [ + "39xtmD9hYw8Ip5GmURT50", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Tuple #1", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Tuple #1", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "text", + "version": 510, + "versionNonce": 587152981, + "isDeleted": false, + "id": "hwF0XYJsxPRanjhU6gmlX", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4429.271646949398, + "y": 380.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 131.1999969482422, + "height": 33.6, + "seed": 1511154683, + "groupIds": [ + "39xtmD9hYw8Ip5GmURT50", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Tuple #n", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Tuple #n", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "text", + "version": 501, + "versionNonce": 2119843195, + "isDeleted": false, + "id": "OBiGF1wmVomkyZBGMlQ5-", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4429.271646949398, + "y": 220.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 131.1999969482422, + "height": 33.6, + "seed": 2075798683, + "groupIds": [ + "39xtmD9hYw8Ip5GmURT50", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "Tuple #2", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "Tuple #2", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "text", + "version": 518, + "versionNonce": 1502522293, + "isDeleted": false, + "id": "-RiR18ABokUIPEBBV6UcT", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4470.271645042049, + "y": 300.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 49.20000076293945, + "height": 33.6, + "seed": 1923080507, + "groupIds": [ + "39xtmD9hYw8Ip5GmURT50", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "...", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "text", + "version": 335, + "versionNonce": 1288361499, + "isDeleted": false, + "id": "g-A2B-mH6E2ck887BXLOk", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3669.271646949398, + "y": 40.579417280054656, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 229.60000610351562, + "height": 33.6, + "seed": 942014939, + "groupIds": [ + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "NSM Disk Space", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "NSM Disk Space", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 717, + "versionNonce": 1518955797, + "isDeleted": false, + "id": "rzHbvvA3BW9HF9uihyRAv", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3709.271646949398, + "y": 200.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 374302677, + "groupIds": [ + "HpBGErPV1upsUNFtS56M-", + "QE-jrFCDMjUImkmxw-HsN", + "kB_vO4_wNm8aU3rIXzzS8", + "2KlPX8Eq56-blyVUcSW3m", + "3VGcEXFUGcuvZABuYv0Kx", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "KUUYahYNsb4KNd3HJlfy1" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 626, + "versionNonce": 2128566971, + "isDeleted": false, + "id": "KUUYahYNsb4KNd3HJlfy1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3744.121645423519, + "y": 228.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 70.30000305175781, + "height": 24, + "seed": 337487157, + "groupIds": [ + "HpBGErPV1upsUNFtS56M-", + "QE-jrFCDMjUImkmxw-HsN", + "kB_vO4_wNm8aU3rIXzzS8", + "2KlPX8Eq56-blyVUcSW3m", + "3VGcEXFUGcuvZABuYv0Kx", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Header", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "rzHbvvA3BW9HF9uihyRAv", + "originalText": "Header", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "rectangle", + "version": 725, + "versionNonce": 1701118581, + "isDeleted": false, + "id": "CkTNFyWUPxvRDiCfc5zmp", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3849.271646949398, + "y": 200.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 738014869, + "groupIds": [ + "HpBGErPV1upsUNFtS56M-", + "QE-jrFCDMjUImkmxw-HsN", + "kB_vO4_wNm8aU3rIXzzS8", + "2KlPX8Eq56-blyVUcSW3m", + "3VGcEXFUGcuvZABuYv0Kx", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "RpjEs87OTv_myGgPjCrX9" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 660, + "versionNonce": 1362774875, + "isDeleted": false, + "id": "RpjEs87OTv_myGgPjCrX9", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3860.6883148876304, + "y": 216.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 950246389, + "groupIds": [ + "HpBGErPV1upsUNFtS56M-", + "QE-jrFCDMjUImkmxw-HsN", + "kB_vO4_wNm8aU3rIXzzS8", + "2KlPX8Eq56-blyVUcSW3m", + "3VGcEXFUGcuvZABuYv0Kx", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "CkTNFyWUPxvRDiCfc5zmp", + "originalText": "attribute #1", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 733, + "versionNonce": 786885589, + "isDeleted": false, + "id": "tN3z3Ybe83JFaGvDLtwwE", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3989.271646949398, + "y": 200.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 571888981, + "groupIds": [ + "HpBGErPV1upsUNFtS56M-", + "QE-jrFCDMjUImkmxw-HsN", + "kB_vO4_wNm8aU3rIXzzS8", + "2KlPX8Eq56-blyVUcSW3m", + "3VGcEXFUGcuvZABuYv0Kx", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "pMXXBK0g-l6vCKrvHO63J" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 679, + "versionNonce": 1210984443, + "isDeleted": false, + "id": "pMXXBK0g-l6vCKrvHO63J", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4000.6883148876304, + "y": 216.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 866837173, + "groupIds": [ + "HpBGErPV1upsUNFtS56M-", + "QE-jrFCDMjUImkmxw-HsN", + "kB_vO4_wNm8aU3rIXzzS8", + "2KlPX8Eq56-blyVUcSW3m", + "3VGcEXFUGcuvZABuYv0Kx", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "tN3z3Ybe83JFaGvDLtwwE", + "originalText": "attribute #2", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 741, + "versionNonce": 925149493, + "isDeleted": false, + "id": "bDNecEKZEKCbo_3v0BPVa", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4129.271646949396, + "y": 200.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 839304213, + "groupIds": [ + "HpBGErPV1upsUNFtS56M-", + "QE-jrFCDMjUImkmxw-HsN", + "kB_vO4_wNm8aU3rIXzzS8", + "2KlPX8Eq56-blyVUcSW3m", + "3VGcEXFUGcuvZABuYv0Kx", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "Gs1s_jy7NNND23gwEJ2Yl" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 664, + "versionNonce": 968716443, + "isDeleted": false, + "id": "Gs1s_jy7NNND23gwEJ2Yl", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4181.696646186457, + "y": 228.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 35.150001525878906, + "height": 24, + "seed": 824146293, + "groupIds": [ + "HpBGErPV1upsUNFtS56M-", + "QE-jrFCDMjUImkmxw-HsN", + "kB_vO4_wNm8aU3rIXzzS8", + "2KlPX8Eq56-blyVUcSW3m", + "3VGcEXFUGcuvZABuYv0Kx", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "bDNecEKZEKCbo_3v0BPVa", + "originalText": "...", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "rectangle", + "version": 753, + "versionNonce": 1602468501, + "isDeleted": false, + "id": "UPAPv3qeLPDUafuMZcRrt", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4269.271646949396, + "y": 200.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 708477653, + "groupIds": [ + "HpBGErPV1upsUNFtS56M-", + "QE-jrFCDMjUImkmxw-HsN", + "kB_vO4_wNm8aU3rIXzzS8", + "2KlPX8Eq56-blyVUcSW3m", + "3VGcEXFUGcuvZABuYv0Kx", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "VHsiJGFyshy2-wWPLVenf" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 683, + "versionNonce": 396010811, + "isDeleted": false, + "id": "VHsiJGFyshy2-wWPLVenf", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4280.688314887629, + "y": 216.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 1374511157, + "groupIds": [ + "HpBGErPV1upsUNFtS56M-", + "QE-jrFCDMjUImkmxw-HsN", + "kB_vO4_wNm8aU3rIXzzS8", + "2KlPX8Eq56-blyVUcSW3m", + "3VGcEXFUGcuvZABuYv0Kx", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#n", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "UPAPv3qeLPDUafuMZcRrt", + "originalText": "attribute #n", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 724, + "versionNonce": 1085906933, + "isDeleted": false, + "id": "mqfnOPRSPBbfAjSg6p4qc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3709.271646949398, + "y": 360.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 707155995, + "groupIds": [ + "2wdxr-koTW9gmauc-nQjP", + "SJtQ4WBaajb_fYnhfJ4Qw", + "3Y0m161hVI_X6JUrC8Ge0", + "OEJeuGnnMQsgbtUZB5g9b", + "tcI8sU3bxna5VImoAWrn2", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "py3Ep-ISvFj9rAbFDbn4v" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 633, + "versionNonce": 2032682459, + "isDeleted": false, + "id": "py3Ep-ISvFj9rAbFDbn4v", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3744.121645423519, + "y": 388.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 70.30000305175781, + "height": 24, + "seed": 1769643195, + "groupIds": [ + "2wdxr-koTW9gmauc-nQjP", + "SJtQ4WBaajb_fYnhfJ4Qw", + "3Y0m161hVI_X6JUrC8Ge0", + "OEJeuGnnMQsgbtUZB5g9b", + "tcI8sU3bxna5VImoAWrn2", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Header", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "mqfnOPRSPBbfAjSg6p4qc", + "originalText": "Header", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "rectangle", + "version": 732, + "versionNonce": 1087101269, + "isDeleted": false, + "id": "9TgTPT8FPvdN_RFb-1qaQ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3849.271646949398, + "y": 360.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 186469723, + "groupIds": [ + "2wdxr-koTW9gmauc-nQjP", + "SJtQ4WBaajb_fYnhfJ4Qw", + "3Y0m161hVI_X6JUrC8Ge0", + "OEJeuGnnMQsgbtUZB5g9b", + "tcI8sU3bxna5VImoAWrn2", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "LDsItlbdK_f8gU_Vs3COC" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 667, + "versionNonce": 1702417019, + "isDeleted": false, + "id": "LDsItlbdK_f8gU_Vs3COC", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3860.6883148876304, + "y": 376.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 308341243, + "groupIds": [ + "2wdxr-koTW9gmauc-nQjP", + "SJtQ4WBaajb_fYnhfJ4Qw", + "3Y0m161hVI_X6JUrC8Ge0", + "OEJeuGnnMQsgbtUZB5g9b", + "tcI8sU3bxna5VImoAWrn2", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "9TgTPT8FPvdN_RFb-1qaQ", + "originalText": "attribute #1", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 740, + "versionNonce": 1762649781, + "isDeleted": false, + "id": "4qF9VI-yt7NgVv7pO9ELE", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3989.271646949398, + "y": 360.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 1950872219, + "groupIds": [ + "2wdxr-koTW9gmauc-nQjP", + "SJtQ4WBaajb_fYnhfJ4Qw", + "3Y0m161hVI_X6JUrC8Ge0", + "OEJeuGnnMQsgbtUZB5g9b", + "tcI8sU3bxna5VImoAWrn2", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "Ew8FRWXBHkY5TXeL1Ko4t" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 686, + "versionNonce": 1565444891, + "isDeleted": false, + "id": "Ew8FRWXBHkY5TXeL1Ko4t", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4000.6883148876304, + "y": 376.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 1636099899, + "groupIds": [ + "2wdxr-koTW9gmauc-nQjP", + "SJtQ4WBaajb_fYnhfJ4Qw", + "3Y0m161hVI_X6JUrC8Ge0", + "OEJeuGnnMQsgbtUZB5g9b", + "tcI8sU3bxna5VImoAWrn2", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "4qF9VI-yt7NgVv7pO9ELE", + "originalText": "attribute #2", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 748, + "versionNonce": 2083211285, + "isDeleted": false, + "id": "i4hRreoeoSYnBrgXeVpXD", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4129.271646949396, + "y": 360.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 1350191067, + "groupIds": [ + "2wdxr-koTW9gmauc-nQjP", + "SJtQ4WBaajb_fYnhfJ4Qw", + "3Y0m161hVI_X6JUrC8Ge0", + "OEJeuGnnMQsgbtUZB5g9b", + "tcI8sU3bxna5VImoAWrn2", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "kHXT7FpCTiXwod0pfKyPn" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 671, + "versionNonce": 622636987, + "isDeleted": false, + "id": "kHXT7FpCTiXwod0pfKyPn", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4181.696646186457, + "y": 388.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 35.150001525878906, + "height": 24, + "seed": 1195021435, + "groupIds": [ + "2wdxr-koTW9gmauc-nQjP", + "SJtQ4WBaajb_fYnhfJ4Qw", + "3Y0m161hVI_X6JUrC8Ge0", + "OEJeuGnnMQsgbtUZB5g9b", + "tcI8sU3bxna5VImoAWrn2", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "i4hRreoeoSYnBrgXeVpXD", + "originalText": "...", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "rectangle", + "version": 760, + "versionNonce": 1276345717, + "isDeleted": false, + "id": "b1FtQBaLqVa34x7oUh1KB", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4269.271646949396, + "y": 360.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 1703431451, + "groupIds": [ + "2wdxr-koTW9gmauc-nQjP", + "SJtQ4WBaajb_fYnhfJ4Qw", + "3Y0m161hVI_X6JUrC8Ge0", + "OEJeuGnnMQsgbtUZB5g9b", + "tcI8sU3bxna5VImoAWrn2", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "tSuWGLImksYQHTTCMj_p-" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 690, + "versionNonce": 1325727835, + "isDeleted": false, + "id": "tSuWGLImksYQHTTCMj_p-", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4280.688314887629, + "y": 376.57941728005466, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 785772987, + "groupIds": [ + "2wdxr-koTW9gmauc-nQjP", + "SJtQ4WBaajb_fYnhfJ4Qw", + "3Y0m161hVI_X6JUrC8Ge0", + "OEJeuGnnMQsgbtUZB5g9b", + "tcI8sU3bxna5VImoAWrn2", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#n", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "b1FtQBaLqVa34x7oUh1KB", + "originalText": "attribute #n", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 814, + "versionNonce": 1343096533, + "isDeleted": false, + "id": "lMmAHSidHKAF37S4w1Ozs", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3709.271646949398, + "y": 280.57941728005466, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 1227055835, + "groupIds": [ + "PbdTZIq0qZkNDQBdcPVJY", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "UQLmrR9Sf1Vk-21fLUWOM" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 723, + "versionNonce": 81411323, + "isDeleted": false, + "id": "UQLmrR9Sf1Vk-21fLUWOM", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3744.121645423519, + "y": 308.57941728005466, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 70.30000305175781, + "height": 24, + "seed": 570969979, + "groupIds": [ + "PbdTZIq0qZkNDQBdcPVJY", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "Header", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "lMmAHSidHKAF37S4w1Ozs", + "originalText": "Header", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "rectangle", + "version": 822, + "versionNonce": 2058380341, + "isDeleted": false, + "id": "EFuQmlWrGsCDpl2Zd-Ob-", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3849.271646949398, + "y": 280.57941728005466, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 887531547, + "groupIds": [ + "PbdTZIq0qZkNDQBdcPVJY", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "RUWy1PAcZ-0JNHSRyZtf6" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 764, + "versionNonce": 304014747, + "isDeleted": false, + "id": "RUWy1PAcZ-0JNHSRyZtf6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3860.6883148876304, + "y": 296.57941728005466, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 1471212731, + "groupIds": [ + "PbdTZIq0qZkNDQBdcPVJY", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "EFuQmlWrGsCDpl2Zd-Ob-", + "originalText": "attribute #1", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 830, + "versionNonce": 1340085653, + "isDeleted": false, + "id": "TXRQX-CAG7EKqnlO2z1n8", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3989.271646949398, + "y": 280.57941728005466, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 2114559323, + "groupIds": [ + "PbdTZIq0qZkNDQBdcPVJY", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "AVc4K8j55XikrsIL0mHTt" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 776, + "versionNonce": 772110907, + "isDeleted": false, + "id": "AVc4K8j55XikrsIL0mHTt", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4000.6883148876304, + "y": 296.57941728005466, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 54737403, + "groupIds": [ + "PbdTZIq0qZkNDQBdcPVJY", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "TXRQX-CAG7EKqnlO2z1n8", + "originalText": "attribute #2", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 838, + "versionNonce": 986880757, + "isDeleted": false, + "id": "xXterjgAn5FdcjBGt7UCJ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4129.271646949396, + "y": 280.57941728005466, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 878723739, + "groupIds": [ + "PbdTZIq0qZkNDQBdcPVJY", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "h0yZuVVBMt0xTEheOqMz6" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 761, + "versionNonce": 91257563, + "isDeleted": false, + "id": "h0yZuVVBMt0xTEheOqMz6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4181.696646186457, + "y": 308.57941728005466, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 35.150001525878906, + "height": 24, + "seed": 437466939, + "groupIds": [ + "PbdTZIq0qZkNDQBdcPVJY", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "xXterjgAn5FdcjBGt7UCJ", + "originalText": "...", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "rectangle", + "version": 848, + "versionNonce": 604861525, + "isDeleted": false, + "id": "_1e4Opfb4p1cPWD41DQkn", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4269.271646949396, + "y": 280.57941728005466, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 46045147, + "groupIds": [ + "PbdTZIq0qZkNDQBdcPVJY", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "G0oimpSTSPi_ijh7I7Tjw" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 780, + "versionNonce": 82995067, + "isDeleted": false, + "id": "G0oimpSTSPi_ijh7I7Tjw", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4280.688314887629, + "y": 296.57941728005466, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 1282729083, + "groupIds": [ + "PbdTZIq0qZkNDQBdcPVJY", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#n", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "_1e4Opfb4p1cPWD41DQkn", + "originalText": "attribute #n", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 255, + "versionNonce": 1197875637, + "isDeleted": false, + "id": "IHxee7KtRPLKuJOEJySk-", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4700, + "y": 160, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 220, + "height": 240, + "seed": 484518005, + "groupIds": [ + "fEo_6T-eR4zkuH6MKaofy", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "id": "KqYkuMJ-Mq3kMd2nolFMk", + "type": "arrow" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 344, + "versionNonce": 1657651227, + "isDeleted": false, + "id": "taheO0DobQvL4IAKxgfh3", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4720, + "y": 200, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 40, + "seed": 804147669, + "groupIds": [ + "Cz_2YCZ8lT-k5CWrcxxp-", + "fEo_6T-eR4zkuH6MKaofy", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "id": "O4IOPZ8h66rM9o2fUozFz", + "type": "text" + }, + { + "id": "KqYkuMJ-Mq3kMd2nolFMk", + "type": "arrow" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 374, + "versionNonce": 1241654037, + "isDeleted": false, + "id": "O4IOPZ8h66rM9o2fUozFz", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4727.158332824707, + "y": 210.4, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 65.68333435058594, + "height": 19.2, + "seed": 776949557, + "groupIds": [ + "Cz_2YCZ8lT-k5CWrcxxp-", + "fEo_6T-eR4zkuH6MKaofy", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "page #1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "taheO0DobQvL4IAKxgfh3", + "originalText": "page #1", + "lineHeight": 1.2, + "baseline": 15 + }, + { + "type": "rectangle", + "version": 352, + "versionNonce": 1760887995, + "isDeleted": false, + "id": "nr77f9tRN1WIucQvFADtp", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4820, + "y": 200, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 40, + "seed": 644456597, + "groupIds": [ + "Cz_2YCZ8lT-k5CWrcxxp-", + "fEo_6T-eR4zkuH6MKaofy", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "id": "WdOvU6f1rUXoSl7L0jEwu", + "type": "text" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 402, + "versionNonce": 274135157, + "isDeleted": false, + "id": "WdOvU6f1rUXoSl7L0jEwu", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4827.158332824707, + "y": 210.4, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 65.68333435058594, + "height": 19.2, + "seed": 1039320565, + "groupIds": [ + "Cz_2YCZ8lT-k5CWrcxxp-", + "fEo_6T-eR4zkuH6MKaofy", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "page #2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "nr77f9tRN1WIucQvFADtp", + "originalText": "page #2", + "lineHeight": 1.2, + "baseline": 15 + }, + { + "type": "rectangle", + "version": 344, + "versionNonce": 2131408219, + "isDeleted": false, + "id": "IxIjwgDjEQHSib75yG8Rp", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4720, + "y": 260, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 40, + "seed": 1206927189, + "groupIds": [ + "Cz_2YCZ8lT-k5CWrcxxp-", + "fEo_6T-eR4zkuH6MKaofy", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "id": "liiAzUj7uvS5sEdXReDsN", + "type": "text" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 370, + "versionNonce": 1412047317, + "isDeleted": false, + "id": "liiAzUj7uvS5sEdXReDsN", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4727.158332824707, + "y": 270.4, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 65.68333435058594, + "height": 19.2, + "seed": 448236725, + "groupIds": [ + "Cz_2YCZ8lT-k5CWrcxxp-", + "fEo_6T-eR4zkuH6MKaofy", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "page #3", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "IxIjwgDjEQHSib75yG8Rp", + "originalText": "page #3", + "lineHeight": 1.2, + "baseline": 15 + }, + { + "type": "rectangle", + "version": 351, + "versionNonce": 1952535035, + "isDeleted": false, + "id": "Sz0YuBazyG5_F_k9sZWy4", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4820, + "y": 260, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 40, + "seed": 636366357, + "groupIds": [ + "Cz_2YCZ8lT-k5CWrcxxp-", + "fEo_6T-eR4zkuH6MKaofy", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "id": "hmHkBxi_ObTcK1DoA55q0", + "type": "text" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 377, + "versionNonce": 2056331061, + "isDeleted": false, + "id": "hmHkBxi_ObTcK1DoA55q0", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4827.158332824707, + "y": 270.4, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 65.68333435058594, + "height": 19.2, + "seed": 1216979829, + "groupIds": [ + "Cz_2YCZ8lT-k5CWrcxxp-", + "fEo_6T-eR4zkuH6MKaofy", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "page #4", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Sz0YuBazyG5_F_k9sZWy4", + "originalText": "page #4", + "lineHeight": 1.2, + "baseline": 15 + }, + { + "type": "rectangle", + "version": 350, + "versionNonce": 167467675, + "isDeleted": false, + "id": "XO3Wp_ImanCl27HDMuih4", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4720, + "y": 320, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 40, + "seed": 1724869845, + "groupIds": [ + "Cz_2YCZ8lT-k5CWrcxxp-", + "fEo_6T-eR4zkuH6MKaofy", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "id": "nE8YT1e0YuOMFhTFTZKgT", + "type": "text" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 370, + "versionNonce": 703688853, + "isDeleted": false, + "id": "nE8YT1e0YuOMFhTFTZKgT", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4745.925000190735, + "y": 330.4000000000001, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 28.149999618530273, + "height": 19.2, + "seed": 1079314997, + "groupIds": [ + "Cz_2YCZ8lT-k5CWrcxxp-", + "fEo_6T-eR4zkuH6MKaofy", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "XO3Wp_ImanCl27HDMuih4", + "originalText": "...", + "lineHeight": 1.2, + "baseline": 15 + }, + { + "type": "rectangle", + "version": 355, + "versionNonce": 1015762747, + "isDeleted": false, + "id": "6_2VRP0ZflEZ0JuwB7OQ0", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4820, + "y": 320, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 40, + "seed": 100662165, + "groupIds": [ + "Cz_2YCZ8lT-k5CWrcxxp-", + "fEo_6T-eR4zkuH6MKaofy", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [ + { + "id": "P2laScbygPDaoiMOMyjdV", + "type": "text" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 388, + "versionNonce": 536909301, + "isDeleted": false, + "id": "P2laScbygPDaoiMOMyjdV", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4827.158332824707, + "y": 330.4, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 65.68333435058594, + "height": 19.2, + "seed": 805683445, + "groupIds": [ + "Cz_2YCZ8lT-k5CWrcxxp-", + "fEo_6T-eR4zkuH6MKaofy", + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "page #n", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "6_2VRP0ZflEZ0JuwB7OQ0", + "originalText": "page #n", + "lineHeight": 1.2, + "baseline": 15 + }, + { + "id": "KqYkuMJ-Mq3kMd2nolFMk", + "type": "arrow", + "x": 4760, + "y": 200, + "width": 140, + "height": 80, + "angle": 0, + "strokeColor": "#d9480f", + "backgroundColor": "#fab005", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "E6KL_jhQssBzPGfXK-sX3" + ], + "roundness": { + "type": 2 + }, + "seed": 634032181, + "version": 214, + "versionNonce": 1316204507, + "isDeleted": false, + "boundElements": null, + "updated": 1682947834270, + "link": null, + "locked": false, + "points": [ + [ + 0, + 0 + ], + [ + -40, + -60 + ], + [ + -140, + -80 + ] + ], + "lastCommittedPoint": null, + "startBinding": { + "elementId": "taheO0DobQvL4IAKxgfh3", + "focus": 0.24999999999999997, + "gap": 1 + }, + "endBinding": { + "elementId": "IEIN9PrNiiXXeBui0ev_I", + "focus": -0.8767123287671232, + "gap": 20 + }, + "startArrowhead": null, + "endArrowhead": "triangle" + }, + { + "id": "yW-1hLZfuWdZb0EMLG290", + "type": "rectangle", + "x": 3900, + "y": 660, + "width": 640, + "height": 400, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "#40c057", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "seed": 1538972373, + "version": 91, + "versionNonce": 1204031317, + "isDeleted": false, + "boundElements": [ + { + "id": "nHRN30RItZew-q_dzotoC", + "type": "arrow" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 1042, + "versionNonce": 298253435, + "isDeleted": false, + "id": "-9Mm5q2DpzxlvWWeKevOP", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3900, + "y": 620, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 229.60000610351562, + "height": 33.6, + "seed": 626140021, + "groupIds": [ + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "DSM Disk Space", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "DSM Disk Space", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 1080, + "versionNonce": 261184693, + "isDeleted": false, + "id": "Rpie3naJHjlq28-VNvc9S", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3940, + "y": 700, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 999693083, + "groupIds": [ + "IYWmHpPGXEv4U0pv-Nebk", + "T5PO4hk-FXv6M7zoSFWuF", + "Xo3P93k17HnmmRyuICWn4", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "_mdzFBoibmLEw3fRXp585" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 915, + "versionNonce": 1917302043, + "isDeleted": false, + "id": "_mdzFBoibmLEw3fRXp585", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3951.4166679382324, + "y": 716, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 1576665019, + "groupIds": [ + "IYWmHpPGXEv4U0pv-Nebk", + "T5PO4hk-FXv6M7zoSFWuF", + "Xo3P93k17HnmmRyuICWn4", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Rpie3naJHjlq28-VNvc9S", + "originalText": "attribute #1", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 1088, + "versionNonce": 2131623445, + "isDeleted": false, + "id": "55hfr_94mEFD1L9Q7rBo8", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4080, + "y": 700, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 532172891, + "groupIds": [ + "IYWmHpPGXEv4U0pv-Nebk", + "T5PO4hk-FXv6M7zoSFWuF", + "Xo3P93k17HnmmRyuICWn4", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "VdUUG89AdEKFIMogocw34" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 942, + "versionNonce": 1063803323, + "isDeleted": false, + "id": "VdUUG89AdEKFIMogocw34", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4091.4166679382324, + "y": 716, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 44272891, + "groupIds": [ + "IYWmHpPGXEv4U0pv-Nebk", + "T5PO4hk-FXv6M7zoSFWuF", + "Xo3P93k17HnmmRyuICWn4", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "55hfr_94mEFD1L9Q7rBo8", + "originalText": "attribute #1", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 1096, + "versionNonce": 221213557, + "isDeleted": false, + "id": "e4L1y4m0Knc9XhvI90yBd", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4219.999999999998, + "y": 700, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 708720027, + "groupIds": [ + "IYWmHpPGXEv4U0pv-Nebk", + "T5PO4hk-FXv6M7zoSFWuF", + "Xo3P93k17HnmmRyuICWn4", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "2EOB3iymqJ0vIGVpJlZEw" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 919, + "versionNonce": 910912091, + "isDeleted": false, + "id": "2EOB3iymqJ0vIGVpJlZEw", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4272.424999237059, + "y": 728, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 35.150001525878906, + "height": 24, + "seed": 632998459, + "groupIds": [ + "IYWmHpPGXEv4U0pv-Nebk", + "T5PO4hk-FXv6M7zoSFWuF", + "Xo3P93k17HnmmRyuICWn4", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "e4L1y4m0Knc9XhvI90yBd", + "originalText": "...", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "rectangle", + "version": 1108, + "versionNonce": 909851861, + "isDeleted": false, + "id": "0chE8-U3Nz7mZXw3FjUQV", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4359.999999999998, + "y": 700, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 2046544603, + "groupIds": [ + "IYWmHpPGXEv4U0pv-Nebk", + "T5PO4hk-FXv6M7zoSFWuF", + "Xo3P93k17HnmmRyuICWn4", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "7Vzuu_AHvmOphXh7cJekZ" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 942, + "versionNonce": 1271097083, + "isDeleted": false, + "id": "7Vzuu_AHvmOphXh7cJekZ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4371.416667938231, + "y": 716, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 1804842875, + "groupIds": [ + "IYWmHpPGXEv4U0pv-Nebk", + "T5PO4hk-FXv6M7zoSFWuF", + "Xo3P93k17HnmmRyuICWn4", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "0chE8-U3Nz7mZXw3FjUQV", + "originalText": "attribute #1", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 1101, + "versionNonce": 1371986485, + "isDeleted": false, + "id": "fq6G57bzHv8T0Rca0teTQ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3940, + "y": 780, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 1121885883, + "groupIds": [ + "nhfZ_yk4x9FekynaLzgru", + "FBDZBXn69F-lfkLuaC_Zm", + "ocwhdFk5UhJgv27hMCopr", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "Bhg85Y5TpRugG81HXF-vE" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 936, + "versionNonce": 911396763, + "isDeleted": false, + "id": "Bhg85Y5TpRugG81HXF-vE", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3951.4166679382324, + "y": 796, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 1555107675, + "groupIds": [ + "nhfZ_yk4x9FekynaLzgru", + "FBDZBXn69F-lfkLuaC_Zm", + "ocwhdFk5UhJgv27hMCopr", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "fq6G57bzHv8T0Rca0teTQ", + "originalText": "attribute #1", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 1109, + "versionNonce": 683133845, + "isDeleted": false, + "id": "k5EQEj3JzrFBEStu_uXty", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4080, + "y": 780, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 1076653051, + "groupIds": [ + "nhfZ_yk4x9FekynaLzgru", + "FBDZBXn69F-lfkLuaC_Zm", + "ocwhdFk5UhJgv27hMCopr", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "80aa51rKxW-HzNF0bFKaM" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 963, + "versionNonce": 942416955, + "isDeleted": false, + "id": "80aa51rKxW-HzNF0bFKaM", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4091.4166679382324, + "y": 796, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 559101083, + "groupIds": [ + "nhfZ_yk4x9FekynaLzgru", + "FBDZBXn69F-lfkLuaC_Zm", + "ocwhdFk5UhJgv27hMCopr", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "k5EQEj3JzrFBEStu_uXty", + "originalText": "attribute #1", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 1117, + "versionNonce": 1262719221, + "isDeleted": false, + "id": "gyHdXghMtobhx4u7-pIsR", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4219.999999999998, + "y": 780, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 265808187, + "groupIds": [ + "nhfZ_yk4x9FekynaLzgru", + "FBDZBXn69F-lfkLuaC_Zm", + "ocwhdFk5UhJgv27hMCopr", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "snvo_cT-SplrXT80RmdGN" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 940, + "versionNonce": 691135707, + "isDeleted": false, + "id": "snvo_cT-SplrXT80RmdGN", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4272.424999237059, + "y": 808, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 35.150001525878906, + "height": 24, + "seed": 18680283, + "groupIds": [ + "nhfZ_yk4x9FekynaLzgru", + "FBDZBXn69F-lfkLuaC_Zm", + "ocwhdFk5UhJgv27hMCopr", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "gyHdXghMtobhx4u7-pIsR", + "originalText": "...", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "rectangle", + "version": 1129, + "versionNonce": 653240917, + "isDeleted": false, + "id": "Gz6nHNDiXt0yNSZ6_TI7U", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4359.999999999998, + "y": 780, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 439686779, + "groupIds": [ + "nhfZ_yk4x9FekynaLzgru", + "FBDZBXn69F-lfkLuaC_Zm", + "ocwhdFk5UhJgv27hMCopr", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "v7QeUhSohtByuFGk8ULp7" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 963, + "versionNonce": 1089900923, + "isDeleted": false, + "id": "v7QeUhSohtByuFGk8ULp7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4371.416667938231, + "y": 796, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 971149083, + "groupIds": [ + "nhfZ_yk4x9FekynaLzgru", + "FBDZBXn69F-lfkLuaC_Zm", + "ocwhdFk5UhJgv27hMCopr", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Gz6nHNDiXt0yNSZ6_TI7U", + "originalText": "attribute #1", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 1115, + "versionNonce": 1553045429, + "isDeleted": false, + "id": "Ff43-yUlB0a746Xtu1vSo", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3940, + "y": 860, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 1626493691, + "groupIds": [ + "EI6BUqDXrCQ8XR260mquo", + "1gBfZXdxM0vVz-RhYUo3j", + "aA5aL0Cgk6PSerClBqlJr", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "sQMC3ZtUt1-dAdTzOHWRI" + } + ], + "updated": 1682947834270, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 950, + "versionNonce": 549235227, + "isDeleted": false, + "id": "sQMC3ZtUt1-dAdTzOHWRI", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3951.4166679382324, + "y": 876, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 516176795, + "groupIds": [ + "EI6BUqDXrCQ8XR260mquo", + "1gBfZXdxM0vVz-RhYUo3j", + "aA5aL0Cgk6PSerClBqlJr", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834270, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Ff43-yUlB0a746Xtu1vSo", + "originalText": "attribute #1", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 1123, + "versionNonce": 1448007957, + "isDeleted": false, + "id": "6vAkKC68oW2EkLsDCZOVE", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4080, + "y": 860, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 1737494587, + "groupIds": [ + "EI6BUqDXrCQ8XR260mquo", + "1gBfZXdxM0vVz-RhYUo3j", + "aA5aL0Cgk6PSerClBqlJr", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "MczfF5yPqp3ky6Qst__1-" + } + ], + "updated": 1682947834271, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 977, + "versionNonce": 494317243, + "isDeleted": false, + "id": "MczfF5yPqp3ky6Qst__1-", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4091.4166679382324, + "y": 876, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 490229979, + "groupIds": [ + "EI6BUqDXrCQ8XR260mquo", + "1gBfZXdxM0vVz-RhYUo3j", + "aA5aL0Cgk6PSerClBqlJr", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834271, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "6vAkKC68oW2EkLsDCZOVE", + "originalText": "attribute #1", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 1131, + "versionNonce": 496823925, + "isDeleted": false, + "id": "pL9J7joBIe4PgSv-OGR3N", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4219.999999999998, + "y": 860, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 1095728507, + "groupIds": [ + "EI6BUqDXrCQ8XR260mquo", + "1gBfZXdxM0vVz-RhYUo3j", + "aA5aL0Cgk6PSerClBqlJr", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "oHCM_NYdhienExerqgb2B" + } + ], + "updated": 1682947834271, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 954, + "versionNonce": 1237786459, + "isDeleted": false, + "id": "oHCM_NYdhienExerqgb2B", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4272.424999237059, + "y": 888, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 35.150001525878906, + "height": 24, + "seed": 2132284955, + "groupIds": [ + "EI6BUqDXrCQ8XR260mquo", + "1gBfZXdxM0vVz-RhYUo3j", + "aA5aL0Cgk6PSerClBqlJr", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834271, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "pL9J7joBIe4PgSv-OGR3N", + "originalText": "...", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "rectangle", + "version": 1143, + "versionNonce": 1900107733, + "isDeleted": false, + "id": "zLunQjWv-0CCigzai7ylH", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4359.999999999998, + "y": 860, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 1971624635, + "groupIds": [ + "EI6BUqDXrCQ8XR260mquo", + "1gBfZXdxM0vVz-RhYUo3j", + "aA5aL0Cgk6PSerClBqlJr", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "-38c-jSbvWMCQ2cz43E2y" + } + ], + "updated": 1682947834271, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 977, + "versionNonce": 1073773563, + "isDeleted": false, + "id": "-38c-jSbvWMCQ2cz43E2y", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4371.416667938231, + "y": 876, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 1094159195, + "groupIds": [ + "EI6BUqDXrCQ8XR260mquo", + "1gBfZXdxM0vVz-RhYUo3j", + "aA5aL0Cgk6PSerClBqlJr", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834271, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "zLunQjWv-0CCigzai7ylH", + "originalText": "attribute #1", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 1124, + "versionNonce": 458331445, + "isDeleted": false, + "id": "SCgoUgHKsAzn3xnXNgzjh", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3940, + "y": 940, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 523687701, + "groupIds": [ + "Ase2aGMbsHlevpQKfR2nw", + "QoK6eREa_ePYx_Rj6lQrm", + "5WguThSEJnfFGKArOFipA", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "x7-qB5CiFi1H-GdwxRe0P" + } + ], + "updated": 1682947834271, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 959, + "versionNonce": 740639899, + "isDeleted": false, + "id": "x7-qB5CiFi1H-GdwxRe0P", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 3951.4166679382324, + "y": 956, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 1154821237, + "groupIds": [ + "Ase2aGMbsHlevpQKfR2nw", + "QoK6eREa_ePYx_Rj6lQrm", + "5WguThSEJnfFGKArOFipA", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834271, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "SCgoUgHKsAzn3xnXNgzjh", + "originalText": "attribute #1", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 1132, + "versionNonce": 120792725, + "isDeleted": false, + "id": "htTD_TyNkeiJDLpyb-ocp", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4080, + "y": 940, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 1119999445, + "groupIds": [ + "Ase2aGMbsHlevpQKfR2nw", + "QoK6eREa_ePYx_Rj6lQrm", + "5WguThSEJnfFGKArOFipA", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "HDgsXWgJNEeHsA-nQgEKc" + } + ], + "updated": 1682947834271, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 986, + "versionNonce": 367524155, + "isDeleted": false, + "id": "HDgsXWgJNEeHsA-nQgEKc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4091.4166679382324, + "y": 956, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 605180725, + "groupIds": [ + "Ase2aGMbsHlevpQKfR2nw", + "QoK6eREa_ePYx_Rj6lQrm", + "5WguThSEJnfFGKArOFipA", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834271, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "htTD_TyNkeiJDLpyb-ocp", + "originalText": "attribute #1", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 1140, + "versionNonce": 396069877, + "isDeleted": false, + "id": "0smN5s87rvZCnmsQ9IXAP", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4219.999999999998, + "y": 940, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 1965827221, + "groupIds": [ + "Ase2aGMbsHlevpQKfR2nw", + "QoK6eREa_ePYx_Rj6lQrm", + "5WguThSEJnfFGKArOFipA", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "Go5xzVw_y3igwwlfEYTNq" + } + ], + "updated": 1682947834271, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 963, + "versionNonce": 1789598171, + "isDeleted": false, + "id": "Go5xzVw_y3igwwlfEYTNq", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4272.424999237059, + "y": 968, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 35.150001525878906, + "height": 24, + "seed": 432327157, + "groupIds": [ + "Ase2aGMbsHlevpQKfR2nw", + "QoK6eREa_ePYx_Rj6lQrm", + "5WguThSEJnfFGKArOFipA", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834271, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "0smN5s87rvZCnmsQ9IXAP", + "originalText": "...", + "lineHeight": 1.2, + "baseline": 19 + }, + { + "type": "rectangle", + "version": 1152, + "versionNonce": 1016087893, + "isDeleted": false, + "id": "Rl8R705AptG4XrJDubGIU", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4359.999999999998, + "y": 940, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 140, + "height": 80, + "seed": 1658962773, + "groupIds": [ + "Ase2aGMbsHlevpQKfR2nw", + "QoK6eREa_ePYx_Rj6lQrm", + "5WguThSEJnfFGKArOFipA", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "M3XjYMBDJ_O_vQJBiTAWs" + } + ], + "updated": 1682947834271, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 986, + "versionNonce": 1199646331, + "isDeleted": false, + "id": "M3XjYMBDJ_O_vQJBiTAWs", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4371.416667938231, + "y": 956, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 117.16666412353516, + "height": 48, + "seed": 1691914421, + "groupIds": [ + "Ase2aGMbsHlevpQKfR2nw", + "QoK6eREa_ePYx_Rj6lQrm", + "5WguThSEJnfFGKArOFipA", + "PU5_gU9DniHAvE1yFRmTS", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834271, + "link": null, + "locked": false, + "fontSize": 20, + "fontFamily": 3, + "text": "attribute \n#1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Rl8R705AptG4XrJDubGIU", + "originalText": "attribute #1", + "lineHeight": 1.2, + "baseline": 43 + }, + { + "type": "rectangle", + "version": 298, + "versionNonce": 1231475381, + "isDeleted": false, + "id": "lq9hZS3vRQuEg-Arui2uk", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4640, + "y": 740, + "strokeColor": "#000000", + "backgroundColor": "#fab005", + "width": 220, + "height": 240, + "seed": 455429877, + "groupIds": [ + "YfVQk-VsC0pghnr3GzFv4", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834271, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 388, + "versionNonce": 53255963, + "isDeleted": false, + "id": "GiKveL4U04qtP0-9lsAmV", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4660, + "y": 780, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 40, + "seed": 1340713045, + "groupIds": [ + "xz14vnmWjCsaawMzWxFU1", + "YfVQk-VsC0pghnr3GzFv4", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "id": "4jNK96AuucgVVOeg-t-vr", + "type": "text" + }, + { + "id": "nHRN30RItZew-q_dzotoC", + "type": "arrow" + } + ], + "updated": 1682947834271, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 417, + "versionNonce": 180663317, + "isDeleted": false, + "id": "4jNK96AuucgVVOeg-t-vr", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4667.158332824707, + "y": 790.4, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 65.68333435058594, + "height": 19.2, + "seed": 295425461, + "groupIds": [ + "xz14vnmWjCsaawMzWxFU1", + "YfVQk-VsC0pghnr3GzFv4", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834271, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "page #1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "GiKveL4U04qtP0-9lsAmV", + "originalText": "page #1", + "lineHeight": 1.2, + "baseline": 15 + }, + { + "type": "rectangle", + "version": 395, + "versionNonce": 2015364027, + "isDeleted": false, + "id": "CMXs-y4sJWT3ldMy1ZZSL", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4760, + "y": 780, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 40, + "seed": 727799573, + "groupIds": [ + "xz14vnmWjCsaawMzWxFU1", + "YfVQk-VsC0pghnr3GzFv4", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "id": "S8McMpZbxA0KMD0qvlmTL", + "type": "text" + } + ], + "updated": 1682947834271, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 445, + "versionNonce": 480209269, + "isDeleted": false, + "id": "S8McMpZbxA0KMD0qvlmTL", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4767.158332824707, + "y": 790.4, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 65.68333435058594, + "height": 19.2, + "seed": 1739566197, + "groupIds": [ + "xz14vnmWjCsaawMzWxFU1", + "YfVQk-VsC0pghnr3GzFv4", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834271, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "page #2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "CMXs-y4sJWT3ldMy1ZZSL", + "originalText": "page #2", + "lineHeight": 1.2, + "baseline": 15 + }, + { + "type": "rectangle", + "version": 387, + "versionNonce": 243127387, + "isDeleted": false, + "id": "BT0cdAXvE4NZfMlBfa5B_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4660, + "y": 840, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 40, + "seed": 642536917, + "groupIds": [ + "xz14vnmWjCsaawMzWxFU1", + "YfVQk-VsC0pghnr3GzFv4", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "id": "MzRUnvgsrI_Zv7YAIPu6m", + "type": "text" + } + ], + "updated": 1682947834271, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 413, + "versionNonce": 3961557, + "isDeleted": false, + "id": "MzRUnvgsrI_Zv7YAIPu6m", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4667.158332824707, + "y": 850.4, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 65.68333435058594, + "height": 19.2, + "seed": 843895605, + "groupIds": [ + "xz14vnmWjCsaawMzWxFU1", + "YfVQk-VsC0pghnr3GzFv4", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834271, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "page #3", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "BT0cdAXvE4NZfMlBfa5B_", + "originalText": "page #3", + "lineHeight": 1.2, + "baseline": 15 + }, + { + "type": "rectangle", + "version": 394, + "versionNonce": 102273275, + "isDeleted": false, + "id": "aj-d9LsEHSzI_DFPHcMG_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4760, + "y": 840, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 40, + "seed": 1477878933, + "groupIds": [ + "xz14vnmWjCsaawMzWxFU1", + "YfVQk-VsC0pghnr3GzFv4", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "id": "QGfV04iH1U832GDg3RgXb", + "type": "text" + } + ], + "updated": 1682947834271, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 420, + "versionNonce": 1915834421, + "isDeleted": false, + "id": "QGfV04iH1U832GDg3RgXb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4767.158332824707, + "y": 850.4, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 65.68333435058594, + "height": 19.2, + "seed": 996100597, + "groupIds": [ + "xz14vnmWjCsaawMzWxFU1", + "YfVQk-VsC0pghnr3GzFv4", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834271, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "page #4", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "aj-d9LsEHSzI_DFPHcMG_", + "originalText": "page #4", + "lineHeight": 1.2, + "baseline": 15 + }, + { + "type": "rectangle", + "version": 393, + "versionNonce": 7518619, + "isDeleted": false, + "id": "gfxo-IExXeUHiOYCMr1BW", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4660, + "y": 900, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 40, + "seed": 1831617365, + "groupIds": [ + "xz14vnmWjCsaawMzWxFU1", + "YfVQk-VsC0pghnr3GzFv4", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "id": "rZdQuiUIp3kQJxmX-E2yC", + "type": "text" + } + ], + "updated": 1682947834271, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 414, + "versionNonce": 6521237, + "isDeleted": false, + "id": "rZdQuiUIp3kQJxmX-E2yC", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4685.925000190735, + "y": 910.4, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 28.149999618530273, + "height": 19.2, + "seed": 1104351413, + "groupIds": [ + "xz14vnmWjCsaawMzWxFU1", + "YfVQk-VsC0pghnr3GzFv4", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834271, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "...", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "gfxo-IExXeUHiOYCMr1BW", + "originalText": "...", + "lineHeight": 1.2, + "baseline": 15 + }, + { + "type": "rectangle", + "version": 398, + "versionNonce": 1254018619, + "isDeleted": false, + "id": "1jEaJO6krdW488bJIz2dQ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4760, + "y": 900, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 40, + "seed": 1727607317, + "groupIds": [ + "xz14vnmWjCsaawMzWxFU1", + "YfVQk-VsC0pghnr3GzFv4", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [ + { + "id": "ZGDPSUHgCEniojbYvTZ5J", + "type": "text" + } + ], + "updated": 1682947834271, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 431, + "versionNonce": 1611171573, + "isDeleted": false, + "id": "ZGDPSUHgCEniojbYvTZ5J", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4767.158332824707, + "y": 910.4, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 65.68333435058594, + "height": 19.2, + "seed": 966010741, + "groupIds": [ + "xz14vnmWjCsaawMzWxFU1", + "YfVQk-VsC0pghnr3GzFv4", + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947834271, + "link": null, + "locked": false, + "fontSize": 16, + "fontFamily": 3, + "text": "page #n", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "1jEaJO6krdW488bJIz2dQ", + "originalText": "page #n", + "lineHeight": 1.2, + "baseline": 15 + }, + { + "type": "arrow", + "version": 292, + "versionNonce": 1742687963, + "isDeleted": false, + "id": "nHRN30RItZew-q_dzotoC", + "fillStyle": "cross-hatch", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 4700, + "y": 780, + "strokeColor": "#d9480f", + "backgroundColor": "#fab005", + "width": 140, + "height": 80, + "seed": 1650104469, + "groupIds": [ + "jFojfqkdzAggi6Nqgeyv6" + ], + "roundness": { + "type": 2 + }, + "boundElements": [], + "updated": 1682947834271, + "link": null, + "locked": false, + "startBinding": { + "elementId": "GiKveL4U04qtP0-9lsAmV", + "focus": 0.24999999999999997, + "gap": 1 + }, + "endBinding": { + "elementId": "yW-1hLZfuWdZb0EMLG290", + "focus": -0.8636363636363636, + "gap": 20 + }, + "lastCommittedPoint": null, + "startArrowhead": null, + "endArrowhead": "triangle", + "points": [ + [ + 0, + 0 + ], + [ + -40, + -60 + ], + [ + -140, + -80 + ] + ] + }, + { + "id": "6j1-cSu8U5QZvh_IXePcd", + "type": "rectangle", + "x": 5220, + "y": 500, + "width": 560, + "height": 460, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "#0000", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "seed": 210964053, + "version": 305, + "versionNonce": 1923646683, + "isDeleted": false, + "boundElements": null, + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "id": "GEBF_1cC836qz0YJYYctq", + "type": "rectangle", + "x": 5280, + "y": 840, + "width": 80, + "height": 80, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "white", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "E5TazMv7tUekOFrnJk0cg", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "seed": 1354356123, + "version": 128, + "versionNonce": 1303579221, + "isDeleted": false, + "boundElements": null, + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "id": "oWAqkMBwy1af2W2boUOqw", + "type": "text", + "x": 5240, + "y": 620, + "width": 16.399999618530273, + "height": 33.6, + "angle": 0, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "E5TazMv7tUekOFrnJk0cg", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "seed": 898727323, + "version": 128, + "versionNonce": 1654206843, + "isDeleted": false, + "boundElements": null, + "updated": 1682947865326, + "link": null, + "locked": false, + "text": "0", + "fontSize": 28, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "top", + "baseline": 27, + "containerId": null, + "originalText": "0", + "lineHeight": 1.2 + }, + { + "type": "rectangle", + "version": 135, + "versionNonce": 334034869, + "isDeleted": false, + "id": "vI2voJOEXzWVAdhJqpmJn", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5280, + "y": 760, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 922320181, + "groupIds": [ + "E5TazMv7tUekOFrnJk0cg", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 139, + "versionNonce": 889932315, + "isDeleted": false, + "id": "K-zlkMYVlCegeE-aWYMbb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5280, + "y": 680, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 866884539, + "groupIds": [ + "E5TazMv7tUekOFrnJk0cg", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 146, + "versionNonce": 1807366421, + "isDeleted": false, + "id": "XRcEZxTw9-8-tiBZOQmii", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5280, + "y": 600, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 2072334747, + "groupIds": [ + "E5TazMv7tUekOFrnJk0cg", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 180, + "versionNonce": 1861308091, + "isDeleted": false, + "id": "yzepAshBZtoxKzNf0bEvL", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5280, + "y": 540, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 80, + "height": 60, + "seed": 1371436821, + "groupIds": [ + "E5TazMv7tUekOFrnJk0cg", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "CgPLS5MBnz48voNfkc1-F" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "id": "CgPLS5MBnz48voNfkc1-F", + "type": "text", + "x": 5311.800000190735, + "y": 553.2, + "width": 16.399999618530273, + "height": 33.6, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "#0000", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "E5TazMv7tUekOFrnJk0cg", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "seed": 1553941947, + "version": 103, + "versionNonce": 781995637, + "isDeleted": false, + "boundElements": null, + "updated": 1682947865326, + "link": null, + "locked": false, + "text": "A", + "fontSize": 28, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 27, + "containerId": "yzepAshBZtoxKzNf0bEvL", + "originalText": "A", + "lineHeight": 1.2 + }, + { + "type": "text", + "version": 141, + "versionNonce": 1391312731, + "isDeleted": false, + "id": "v9S_XCdKOzXht9Szxb6jC", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5240, + "y": 780, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1143455253, + "groupIds": [ + "E5TazMv7tUekOFrnJk0cg", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "2", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "2", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "text", + "version": 136, + "versionNonce": 1800714197, + "isDeleted": false, + "id": "aqY6nUqHsCYYcf0nfWY2T", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5240, + "y": 700, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1411836443, + "groupIds": [ + "E5TazMv7tUekOFrnJk0cg", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "1", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "1", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "text", + "version": 146, + "versionNonce": 726866939, + "isDeleted": false, + "id": "37xARdXMHlg9Roj30lI5j", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5240, + "y": 860, + "strokeColor": "#d9480f", + "backgroundColor": "white", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1308771259, + "groupIds": [ + "E5TazMv7tUekOFrnJk0cg", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "3", + "textAlign": "center", + "verticalAlign": "top", + "containerId": null, + "originalText": "3", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 143, + "versionNonce": 1006171445, + "isDeleted": false, + "id": "VGRiWhXVJ7LBfunEB7kFQ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5400, + "y": 840, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 542169461, + "groupIds": [ + "MCLO1XLj5vLwtJt_qbh0X", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 150, + "versionNonce": 1411638427, + "isDeleted": false, + "id": "HEixO6LYKH5QBySP-DdzK", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5400, + "y": 760, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 1816126165, + "groupIds": [ + "MCLO1XLj5vLwtJt_qbh0X", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 154, + "versionNonce": 1542358677, + "isDeleted": false, + "id": "rxePNmGSLcPBH6uJPcIIb", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5400, + "y": 680, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 1816576053, + "groupIds": [ + "MCLO1XLj5vLwtJt_qbh0X", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 161, + "versionNonce": 85104955, + "isDeleted": false, + "id": "l7h4kD8406ZQPbcb5aeLs", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5400, + "y": 600, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 1984622997, + "groupIds": [ + "MCLO1XLj5vLwtJt_qbh0X", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 195, + "versionNonce": 2112547829, + "isDeleted": false, + "id": "XK-VYDzuyj5iUKScw0qU1", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5400, + "y": 540, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 80, + "height": 60, + "seed": 125957877, + "groupIds": [ + "MCLO1XLj5vLwtJt_qbh0X", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "llVTB0-ICvNpkj6G44Krw" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 119, + "versionNonce": 1535228379, + "isDeleted": false, + "id": "llVTB0-ICvNpkj6G44Krw", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5431.800000190735, + "y": 553.2, + "strokeColor": "#000000", + "backgroundColor": "#0000", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1517375573, + "groupIds": [ + "MCLO1XLj5vLwtJt_qbh0X", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "B", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "XK-VYDzuyj5iUKScw0qU1", + "originalText": "B", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 134, + "versionNonce": 1643357525, + "isDeleted": false, + "id": "eb1LkKEk_d9JOXPHLXWOs", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5520, + "y": 840, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 1251706069, + "groupIds": [ + "-NcAVPUDL0are1SEkgK06", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 141, + "versionNonce": 612615803, + "isDeleted": false, + "id": "fCxhgQpgjKiMtigr6n0B5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5520, + "y": 760, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 48112181, + "groupIds": [ + "-NcAVPUDL0are1SEkgK06", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 145, + "versionNonce": 727593653, + "isDeleted": false, + "id": "EICObflpjNcj06sEWBe8y", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5520, + "y": 680, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 1202066325, + "groupIds": [ + "-NcAVPUDL0are1SEkgK06", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 152, + "versionNonce": 1725644571, + "isDeleted": false, + "id": "RFj9Fcy6Cg2cTO71-x-N_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5520, + "y": 600, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 86563061, + "groupIds": [ + "-NcAVPUDL0are1SEkgK06", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 186, + "versionNonce": 1993348117, + "isDeleted": false, + "id": "h9WBBJ-8oOQxohSZiQx0L", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5520, + "y": 540, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 80, + "height": 60, + "seed": 82571861, + "groupIds": [ + "-NcAVPUDL0are1SEkgK06", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "__Gz-9VqsyEYdyJXoNDYl" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 113, + "versionNonce": 754623419, + "isDeleted": false, + "id": "__Gz-9VqsyEYdyJXoNDYl", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5551.800000190735, + "y": 553.2, + "strokeColor": "#000000", + "backgroundColor": "#0000", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1136975797, + "groupIds": [ + "-NcAVPUDL0are1SEkgK06", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "C", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "h9WBBJ-8oOQxohSZiQx0L", + "originalText": "C", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 208, + "versionNonce": 809421173, + "isDeleted": false, + "id": "2VaQ6J31SwPhTMa0A8SLQ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5640, + "y": 840, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 124376853, + "groupIds": [ + "pFwOfRmnHor-qhs1iBacF", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 215, + "versionNonce": 251950171, + "isDeleted": false, + "id": "7mda6oblptdSoWm2T8MPI", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5640, + "y": 760, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 782773365, + "groupIds": [ + "pFwOfRmnHor-qhs1iBacF", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 219, + "versionNonce": 686805717, + "isDeleted": false, + "id": "_dwSsm8qn03NuwP1oxR2v", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5640, + "y": 680, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 2050282965, + "groupIds": [ + "pFwOfRmnHor-qhs1iBacF", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 226, + "versionNonce": 2093691131, + "isDeleted": false, + "id": "7bBqZsbKAbaitDSgkrOG6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5640, + "y": 600, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 1965380405, + "groupIds": [ + "pFwOfRmnHor-qhs1iBacF", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 259, + "versionNonce": 1836625973, + "isDeleted": false, + "id": "iMj2wHZZ4fKK44GXnWWQ_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5640, + "y": 540, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 80, + "height": 60, + "seed": 736044181, + "groupIds": [ + "pFwOfRmnHor-qhs1iBacF", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "VIgUf7A3IkBmQqjhvQX1U" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 185, + "versionNonce": 1204902299, + "isDeleted": false, + "id": "VIgUf7A3IkBmQqjhvQX1U", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5671.800000190735, + "y": 553.2, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 16.399999618530273, + "height": 33.6, + "seed": 35113461, + "groupIds": [ + "pFwOfRmnHor-qhs1iBacF", + "x9y9kWX14CFlEKqy_tDfx", + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "D", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "iMj2wHZZ4fKK44GXnWWQ_", + "originalText": "D", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "id": "xylXMB1Amc9ZsMOR5YXhC", + "type": "text", + "x": 5220, + "y": 460, + "width": 114.80000305175781, + "height": 33.6, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "white", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "eIpINRWFD2ryKAmeVPFlW", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "seed": 1779436213, + "version": 109, + "versionNonce": 1539236245, + "isDeleted": false, + "boundElements": null, + "updated": 1682947865326, + "link": null, + "locked": false, + "text": "Offsets", + "fontSize": 28, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "top", + "baseline": 27, + "containerId": null, + "originalText": "Offsets", + "lineHeight": 1.2 + }, + { + "type": "rectangle", + "version": 276, + "versionNonce": 1833528891, + "isDeleted": false, + "id": "FCe8V9PRDRUOe_zBu0jSD", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5840, + "y": 500, + "strokeColor": "#000000", + "backgroundColor": "#0000", + "width": 680, + "height": 460, + "seed": 478297813, + "groupIds": [ + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 127, + "versionNonce": 2029512437, + "isDeleted": false, + "id": "VYBoNRFGSYwZEZV3ecgee", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5920, + "y": 840, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 226474325, + "groupIds": [ + "gf8uoNjvUohRbLB2LwVCx", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 134, + "versionNonce": 538308315, + "isDeleted": false, + "id": "RaGE4GX9BcJsTionFE54A", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5920, + "y": 760, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 1432823829, + "groupIds": [ + "gf8uoNjvUohRbLB2LwVCx", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 138, + "versionNonce": 128532565, + "isDeleted": false, + "id": "pFmnC-Z4RUdAl83IkgJTf", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5920, + "y": 680, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 1389583733, + "groupIds": [ + "gf8uoNjvUohRbLB2LwVCx", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 145, + "versionNonce": 315186043, + "isDeleted": false, + "id": "HXe1EJxnsSTrIB5QY2yB7", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5920, + "y": 600, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 869394133, + "groupIds": [ + "gf8uoNjvUohRbLB2LwVCx", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 185, + "versionNonce": 1571319221, + "isDeleted": false, + "id": "DM0yGmLjfHO7ojH0jERIg", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5920, + "y": 540, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 80, + "height": 60, + "seed": 2063090741, + "groupIds": [ + "gf8uoNjvUohRbLB2LwVCx", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "rhrNBdQCoaKoiYQvlAbkH" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 109, + "versionNonce": 27669531, + "isDeleted": false, + "id": "rhrNBdQCoaKoiYQvlAbkH", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5951.800000190735, + "y": 553.2, + "strokeColor": "#000000", + "backgroundColor": "#0000", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1009513877, + "groupIds": [ + "gf8uoNjvUohRbLB2LwVCx", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "A", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "DM0yGmLjfHO7ojH0jERIg", + "originalText": "A", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 157, + "versionNonce": 2048585493, + "isDeleted": false, + "id": "Tc2GiUUm3YzgSEaMMHF3O", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5880, + "y": 600, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 1241262453, + "groupIds": [ + "gf8uoNjvUohRbLB2LwVCx", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "qBumBNAv-4Sd9YBaHBu2B" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "id": "qBumBNAv-4Sd9YBaHBu2B", + "type": "text", + "x": 5891.800000190735, + "y": 623.2, + "width": 16.399999618530273, + "height": 33.6, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "gf8uoNjvUohRbLB2LwVCx", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "seed": 903583931, + "version": 35, + "versionNonce": 2090793147, + "isDeleted": false, + "boundElements": null, + "updated": 1682947865326, + "link": null, + "locked": false, + "text": "0", + "fontSize": 28, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "middle", + "baseline": 27, + "containerId": "Tc2GiUUm3YzgSEaMMHF3O", + "originalText": "0", + "lineHeight": 1.2 + }, + { + "type": "rectangle", + "version": 158, + "versionNonce": 1534477429, + "isDeleted": false, + "id": "Zp7cpoJYueMvgoxkvevLS", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5880, + "y": 600, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 1976748853, + "groupIds": [ + "gf8uoNjvUohRbLB2LwVCx", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "Fl7C83hlUAgtUlUZFKS4w" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 37, + "versionNonce": 1901472091, + "isDeleted": false, + "id": "Fl7C83hlUAgtUlUZFKS4w", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5891.800000190735, + "y": 623.2, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 673029269, + "groupIds": [ + "gf8uoNjvUohRbLB2LwVCx", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "0", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Zp7cpoJYueMvgoxkvevLS", + "originalText": "0", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 163, + "versionNonce": 360705493, + "isDeleted": false, + "id": "byJNmw6XaIX617ze_awmo", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5880, + "y": 680, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 1750493397, + "groupIds": [ + "gf8uoNjvUohRbLB2LwVCx", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "yaXZ5f2gGozrEWDHm52iC" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 43, + "versionNonce": 1964918267, + "isDeleted": false, + "id": "yaXZ5f2gGozrEWDHm52iC", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5891.800000190735, + "y": 703.2, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1872528949, + "groupIds": [ + "gf8uoNjvUohRbLB2LwVCx", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "byJNmw6XaIX617ze_awmo", + "originalText": "1", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 163, + "versionNonce": 659385141, + "isDeleted": false, + "id": "yS_bmObP5z-GDTVRgR0bt", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5880, + "y": 760, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 1880306523, + "groupIds": [ + "gf8uoNjvUohRbLB2LwVCx", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "xD9PG5_b1dwNs2-yjMWSI" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 43, + "versionNonce": 1324994203, + "isDeleted": false, + "id": "xD9PG5_b1dwNs2-yjMWSI", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5891.800000190735, + "y": 783.2, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1806307323, + "groupIds": [ + "gf8uoNjvUohRbLB2LwVCx", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "yS_bmObP5z-GDTVRgR0bt", + "originalText": "2", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 163, + "versionNonce": 289684629, + "isDeleted": false, + "id": "6Lfyxik77z_s1BmWFE-oC", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5880, + "y": 840, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 1356338549, + "groupIds": [ + "gf8uoNjvUohRbLB2LwVCx", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "3DeWXEc2zyx53qxDFEDXJ" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 43, + "versionNonce": 1100694331, + "isDeleted": false, + "id": "3DeWXEc2zyx53qxDFEDXJ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 5891.800000190735, + "y": 863.2, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 8363733, + "groupIds": [ + "gf8uoNjvUohRbLB2LwVCx", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "3", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "6Lfyxik77z_s1BmWFE-oC", + "originalText": "3", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 140, + "versionNonce": 723116533, + "isDeleted": false, + "id": "nMTI3Nx0PVOBpMmRFy1rs", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6080, + "y": 840, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 699851291, + "groupIds": [ + "xBEzErBQLueEQZ8Lir6OA", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 147, + "versionNonce": 358949851, + "isDeleted": false, + "id": "Uz8kr35XdYYWiri2BFwUU", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6080, + "y": 760, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 2053760699, + "groupIds": [ + "xBEzErBQLueEQZ8Lir6OA", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 151, + "versionNonce": 970185557, + "isDeleted": false, + "id": "lQ9cBqiNVB4lV5USzojtt", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6080, + "y": 680, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 328423259, + "groupIds": [ + "xBEzErBQLueEQZ8Lir6OA", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 158, + "versionNonce": 1651110011, + "isDeleted": false, + "id": "A24xnLlYG8mizfZSpeIg5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6080, + "y": 600, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 1938142203, + "groupIds": [ + "xBEzErBQLueEQZ8Lir6OA", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 195, + "versionNonce": 1170712757, + "isDeleted": false, + "id": "HT4Q9TBocKj39HfVNa0su", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6080, + "y": 540, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 80, + "height": 60, + "seed": 709065883, + "groupIds": [ + "xBEzErBQLueEQZ8Lir6OA", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "LToskAtNQnKzlCaVWRCuz" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 126, + "versionNonce": 443296027, + "isDeleted": false, + "id": "LToskAtNQnKzlCaVWRCuz", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6111.800000190735, + "y": 553.2, + "strokeColor": "#000000", + "backgroundColor": "#0000", + "width": 16.399999618530273, + "height": 33.6, + "seed": 595538235, + "groupIds": [ + "xBEzErBQLueEQZ8Lir6OA", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "B", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "HT4Q9TBocKj39HfVNa0su", + "originalText": "B", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 170, + "versionNonce": 815450645, + "isDeleted": false, + "id": "3X5yGtBkL4pZ9Hn_rxcFX", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6040, + "y": 600, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 815485403, + "groupIds": [ + "xBEzErBQLueEQZ8Lir6OA", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "XT_qHCIK-yZGH_bkGLBsj" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 48, + "versionNonce": 1390300603, + "isDeleted": false, + "id": "XT_qHCIK-yZGH_bkGLBsj", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6051.800000190735, + "y": 623.2, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1386897019, + "groupIds": [ + "xBEzErBQLueEQZ8Lir6OA", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "0", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "3X5yGtBkL4pZ9Hn_rxcFX", + "originalText": "0", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 171, + "versionNonce": 188923765, + "isDeleted": false, + "id": "DiQ8j6GQqgHIT94u-nL8c", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6040, + "y": 600, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 1148114715, + "groupIds": [ + "xBEzErBQLueEQZ8Lir6OA", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "9bv3Fok34YQaTopKE5vfz" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 50, + "versionNonce": 1323490907, + "isDeleted": false, + "id": "9bv3Fok34YQaTopKE5vfz", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6051.800000190735, + "y": 623.2, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1146829755, + "groupIds": [ + "xBEzErBQLueEQZ8Lir6OA", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "0", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "DiQ8j6GQqgHIT94u-nL8c", + "originalText": "0", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 176, + "versionNonce": 738527445, + "isDeleted": false, + "id": "2o2YIgTU49DQzufBRQe4Q", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6040, + "y": 680, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 512887899, + "groupIds": [ + "xBEzErBQLueEQZ8Lir6OA", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "aVfhIGb4m_qgMr-Lh1hqm" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 56, + "versionNonce": 1229740795, + "isDeleted": false, + "id": "aVfhIGb4m_qgMr-Lh1hqm", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6051.800000190735, + "y": 703.2, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1994770683, + "groupIds": [ + "xBEzErBQLueEQZ8Lir6OA", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "2o2YIgTU49DQzufBRQe4Q", + "originalText": "1", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 176, + "versionNonce": 74917429, + "isDeleted": false, + "id": "cUMyNtoze_-yr5_671vE6", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6040, + "y": 760, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 1389949339, + "groupIds": [ + "xBEzErBQLueEQZ8Lir6OA", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "SiXcBINAfXAqBBgZV6iI3" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 56, + "versionNonce": 2124235675, + "isDeleted": false, + "id": "SiXcBINAfXAqBBgZV6iI3", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6051.800000190735, + "y": 783.2, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1671300667, + "groupIds": [ + "xBEzErBQLueEQZ8Lir6OA", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "cUMyNtoze_-yr5_671vE6", + "originalText": "2", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 176, + "versionNonce": 931043221, + "isDeleted": false, + "id": "0s5lEmxzBSHt3ahshFUx2", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6040, + "y": 840, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 269977307, + "groupIds": [ + "xBEzErBQLueEQZ8Lir6OA", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "cHLF8qXVmeqJ4z5Z0h25q" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 56, + "versionNonce": 1997019195, + "isDeleted": false, + "id": "cHLF8qXVmeqJ4z5Z0h25q", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6051.800000190735, + "y": 863.2, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1054339963, + "groupIds": [ + "xBEzErBQLueEQZ8Lir6OA", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "3", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "0s5lEmxzBSHt3ahshFUx2", + "originalText": "3", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 151, + "versionNonce": 1867570421, + "isDeleted": false, + "id": "wOXzS2PIi9HB1W9Q6OXCY", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6240, + "y": 840, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 679099739, + "groupIds": [ + "6dd2ktobGUFb0zlMB23dW", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 158, + "versionNonce": 275732699, + "isDeleted": false, + "id": "DNNyit_gEz4Ugb0DYrvUP", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6240, + "y": 760, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 1453316603, + "groupIds": [ + "6dd2ktobGUFb0zlMB23dW", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 162, + "versionNonce": 1936946773, + "isDeleted": false, + "id": "AHEzkJ9GQRELkCKx9PxK4", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6240, + "y": 680, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 858317467, + "groupIds": [ + "6dd2ktobGUFb0zlMB23dW", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 171, + "versionNonce": 1214612859, + "isDeleted": false, + "id": "KCabWXJmvjmT1KK4cNSGs", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6240, + "y": 600, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 1992808251, + "groupIds": [ + "6dd2ktobGUFb0zlMB23dW", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 213, + "versionNonce": 2126242741, + "isDeleted": false, + "id": "dsZQztLeK0Mlcwhqki4xI", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6240, + "y": 540, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 80, + "height": 60, + "seed": 534722523, + "groupIds": [ + "6dd2ktobGUFb0zlMB23dW", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "c1CrrZDopHxGv-z5bYXaI" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 143, + "versionNonce": 1177361947, + "isDeleted": false, + "id": "c1CrrZDopHxGv-z5bYXaI", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6271.800000190735, + "y": 553.2, + "strokeColor": "#000000", + "backgroundColor": "#0000", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1015121019, + "groupIds": [ + "6dd2ktobGUFb0zlMB23dW", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "C", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "dsZQztLeK0Mlcwhqki4xI", + "originalText": "C", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 181, + "versionNonce": 1431282965, + "isDeleted": false, + "id": "3eIqYWUFWj8hFbZiSTHAD", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6200, + "y": 600, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 1953578267, + "groupIds": [ + "6dd2ktobGUFb0zlMB23dW", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "eD7qkMpcjxlVYu4yxhOVD" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 59, + "versionNonce": 616080059, + "isDeleted": false, + "id": "eD7qkMpcjxlVYu4yxhOVD", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6211.800000190735, + "y": 623.2, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1394663867, + "groupIds": [ + "6dd2ktobGUFb0zlMB23dW", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "0", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "3eIqYWUFWj8hFbZiSTHAD", + "originalText": "0", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 182, + "versionNonce": 446970485, + "isDeleted": false, + "id": "Vx-GcnSg5jpH10hnCfJqL", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6200, + "y": 600, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 1370681947, + "groupIds": [ + "6dd2ktobGUFb0zlMB23dW", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "QISkdSko8CeVzfmFdpQz5" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 61, + "versionNonce": 2091553627, + "isDeleted": false, + "id": "QISkdSko8CeVzfmFdpQz5", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6211.800000190735, + "y": 623.2, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 553250555, + "groupIds": [ + "6dd2ktobGUFb0zlMB23dW", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "0", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "Vx-GcnSg5jpH10hnCfJqL", + "originalText": "0", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 187, + "versionNonce": 1736385493, + "isDeleted": false, + "id": "HfmmtGNTg2oUBs0bE09OH", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6200, + "y": 680, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 863524763, + "groupIds": [ + "6dd2ktobGUFb0zlMB23dW", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "tx79XmgPU0cFVo-JDQCFi" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 67, + "versionNonce": 777351163, + "isDeleted": false, + "id": "tx79XmgPU0cFVo-JDQCFi", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6211.800000190735, + "y": 703.2, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 123776059, + "groupIds": [ + "6dd2ktobGUFb0zlMB23dW", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "HfmmtGNTg2oUBs0bE09OH", + "originalText": "1", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 187, + "versionNonce": 536207669, + "isDeleted": false, + "id": "BFrk5wbApolgHBkfebZOU", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6200, + "y": 760, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 815099099, + "groupIds": [ + "6dd2ktobGUFb0zlMB23dW", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "-zSRrIbbgawX9LzB8dJiB" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 67, + "versionNonce": 1807464603, + "isDeleted": false, + "id": "-zSRrIbbgawX9LzB8dJiB", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6211.800000190735, + "y": 783.2, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 581507451, + "groupIds": [ + "6dd2ktobGUFb0zlMB23dW", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "BFrk5wbApolgHBkfebZOU", + "originalText": "2", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 187, + "versionNonce": 158200469, + "isDeleted": false, + "id": "IsY-FYv4eS5aH6K6ZC3Oz", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6200, + "y": 840, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 987640347, + "groupIds": [ + "6dd2ktobGUFb0zlMB23dW", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "makkYVFOORiEsTRxWckiO" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 67, + "versionNonce": 42986811, + "isDeleted": false, + "id": "makkYVFOORiEsTRxWckiO", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6211.800000190735, + "y": 863.2, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 170342075, + "groupIds": [ + "6dd2ktobGUFb0zlMB23dW", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "3", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "IsY-FYv4eS5aH6K6ZC3Oz", + "originalText": "3", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 167, + "versionNonce": 547149813, + "isDeleted": false, + "id": "2phatq1-UZ4itNimSuR6-", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6400, + "y": 840, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 1224970171, + "groupIds": [ + "xIQFihM6HDMtf5Ej3ry5I", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 174, + "versionNonce": 1714720219, + "isDeleted": false, + "id": "M-H57SMeuE15HkMYpBLnQ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6400, + "y": 760, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 319807579, + "groupIds": [ + "xIQFihM6HDMtf5Ej3ry5I", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 178, + "versionNonce": 797446485, + "isDeleted": false, + "id": "WkZBsKYgDiELwyVunvjBU", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6400, + "y": 680, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 1149836539, + "groupIds": [ + "xIQFihM6HDMtf5Ej3ry5I", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 187, + "versionNonce": 2042370683, + "isDeleted": false, + "id": "qjOv9WQZAc45SKN1huHm0", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6400, + "y": 600, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 80, + "height": 80, + "seed": 955368859, + "groupIds": [ + "xIQFihM6HDMtf5Ej3ry5I", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "rectangle", + "version": 229, + "versionNonce": 595926709, + "isDeleted": false, + "id": "dBFJeAKV_lQoRX-pmMKR_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6400, + "y": 540, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 80, + "height": 60, + "seed": 2097896155, + "groupIds": [ + "xIQFihM6HDMtf5Ej3ry5I", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "qXIAXyUncAIaFL4w3rZe_" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 160, + "versionNonce": 434705179, + "isDeleted": false, + "id": "qXIAXyUncAIaFL4w3rZe_", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6431.800000190735, + "y": 553.2, + "strokeColor": "#000000", + "backgroundColor": "#0000", + "width": 16.399999618530273, + "height": 33.6, + "seed": 103892859, + "groupIds": [ + "xIQFihM6HDMtf5Ej3ry5I", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "D", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "dBFJeAKV_lQoRX-pmMKR_", + "originalText": "D", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 197, + "versionNonce": 590970901, + "isDeleted": false, + "id": "zQJ9lZ3ojUhWWQsUwHAqg", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6360, + "y": 600, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 422617115, + "groupIds": [ + "xIQFihM6HDMtf5Ej3ry5I", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "SmbS5eQep-GmjesYNLsyN" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 76, + "versionNonce": 1731065787, + "isDeleted": false, + "id": "SmbS5eQep-GmjesYNLsyN", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6371.800000190735, + "y": 623.2, + "strokeColor": "#000000", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 268166331, + "groupIds": [ + "xIQFihM6HDMtf5Ej3ry5I", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "0", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "zQJ9lZ3ojUhWWQsUwHAqg", + "originalText": "0", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 198, + "versionNonce": 1687860597, + "isDeleted": false, + "id": "-BOnaNJB4C0mknjFDhBZo", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6360, + "y": 600, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 1647678811, + "groupIds": [ + "xIQFihM6HDMtf5Ej3ry5I", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "5A0ReD4IwILeDjBbaqFSJ" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 78, + "versionNonce": 1336756315, + "isDeleted": false, + "id": "5A0ReD4IwILeDjBbaqFSJ", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6371.800000190735, + "y": 623.2, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1865429499, + "groupIds": [ + "xIQFihM6HDMtf5Ej3ry5I", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "0", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "-BOnaNJB4C0mknjFDhBZo", + "originalText": "0", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 203, + "versionNonce": 1122909909, + "isDeleted": false, + "id": "5shenzvN14G1Xsggg0Hqc", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6360, + "y": 680, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 133053083, + "groupIds": [ + "xIQFihM6HDMtf5Ej3ry5I", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "o56SdUkALyfuLVPy3ZV0E" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 83, + "versionNonce": 1496941819, + "isDeleted": false, + "id": "o56SdUkALyfuLVPy3ZV0E", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6371.800000190735, + "y": 703.2, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 958541627, + "groupIds": [ + "xIQFihM6HDMtf5Ej3ry5I", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "1", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "5shenzvN14G1Xsggg0Hqc", + "originalText": "1", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 203, + "versionNonce": 348757045, + "isDeleted": false, + "id": "2GKN3u30HNHKRPyVTSjTs", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6360, + "y": 760, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 1429114843, + "groupIds": [ + "xIQFihM6HDMtf5Ej3ry5I", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "LorVDMxW67NieRejfkVm8" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 83, + "versionNonce": 727002523, + "isDeleted": false, + "id": "LorVDMxW67NieRejfkVm8", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6371.800000190735, + "y": 783.2, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1042668667, + "groupIds": [ + "xIQFihM6HDMtf5Ej3ry5I", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "2", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "2GKN3u30HNHKRPyVTSjTs", + "originalText": "2", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "type": "rectangle", + "version": 203, + "versionNonce": 1108495765, + "isDeleted": false, + "id": "vESjUjlO1t6Kl09irvO2t", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6360, + "y": 840, + "strokeColor": "#000000", + "backgroundColor": "white", + "width": 40, + "height": 80, + "seed": 1875547419, + "groupIds": [ + "xIQFihM6HDMtf5Ej3ry5I", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [ + { + "type": "text", + "id": "-nDi0f0WSPHjJB_B7PbLS" + } + ], + "updated": 1682947865326, + "link": null, + "locked": false + }, + { + "type": "text", + "version": 83, + "versionNonce": 1496498747, + "isDeleted": false, + "id": "-nDi0f0WSPHjJB_B7PbLS", + "fillStyle": "solid", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "angle": 0, + "x": 6371.800000190735, + "y": 863.2, + "strokeColor": "#d9480f", + "backgroundColor": "#ced4da", + "width": 16.399999618530273, + "height": 33.6, + "seed": 1234123195, + "groupIds": [ + "xIQFihM6HDMtf5Ej3ry5I", + "rQiPkoA9PIPNfmsr6U-ED", + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "boundElements": [], + "updated": 1682947865326, + "link": null, + "locked": false, + "fontSize": 28, + "fontFamily": 3, + "text": "3", + "textAlign": "center", + "verticalAlign": "middle", + "containerId": "vESjUjlO1t6Kl09irvO2t", + "originalText": "3", + "lineHeight": 1.2, + "baseline": 27 + }, + { + "id": "3zKXbxsL6yx4fzZCTg_BJ", + "type": "text", + "x": 5840, + "y": 460, + "width": 196.8000030517578, + "height": 33.6, + "angle": 0, + "strokeColor": "#000000", + "backgroundColor": "white", + "fillStyle": "hachure", + "strokeWidth": 2, + "strokeStyle": "solid", + "roughness": 0, + "opacity": 100, + "groupIds": [ + "bUJHmEEsOsCKMl92VcI4U", + "9G2tPrgEFWrtP5W5ItpsP" + ], + "roundness": null, + "seed": 1345708245, + "version": 53, + "versionNonce": 436065013, + "isDeleted": false, + "boundElements": null, + "updated": 1682947865326, + "link": null, + "locked": false, + "text": "Embedded Ids", + "fontSize": 28, + "fontFamily": 3, + "textAlign": "center", + "verticalAlign": "top", + "baseline": 27, + "containerId": null, + "originalText": "Embedded Ids", + "lineHeight": 1.2 + } + ], + "appState": { + "gridSize": 20, + "viewBackgroundColor": "#ffffff" + }, + "files": {} +} \ No newline at end of file diff --git a/docs/img/decomposition-storage-model.excalidraw.svg b/docs/img/decomposition-storage-model.excalidraw.svg new file mode 100644 index 0000000..62496e2 --- /dev/null +++ b/docs/img/decomposition-storage-model.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO2da1PiytbH3+9PYXnebjx9v+x3gNxUUEBcdTAwMDR5nlNUhFx1MDAxMFwikGBcYlxinJrvflx1MDAxYWaUgCRBZ1x1MDAxY1pcdTAwMWSnambMhXQ3679+a2V1Ov/96+jo2J+PzON/jo7NWdtcdTAwMTjYXHUwMDFkz3g8/nu5fWp6Y9t11C60+n3sTrz26sie74/G//z73+szTtru8PtZ5sBcdTAwMWOajj9Wx/2f+v3o6L+rv9VcdTAwMWW7szx3Xk/A3kWzO6l3mncgU7zIIVx0VqeuXHUwMDBlemqMZ7Z9w7FcdTAwMDbmetdMbcdcdTAwMTKA51xyc7WBsfXvj3bH7y23kfW2nmlbPV9tJIFcdTAwMTO/f/A/R+stY99z+2baXHUwMDFkuN7y6v9cdTAwMDKrn/W174x23/LcidNZXHUwMDFmQ0BcdTAwMWJQvj6ma1x1MDAwZlx1MDAwNlV/vvrk47bnjseJnuG3e8dbV6n/aCba2v587thVg7o+S13W6jnmeLzRYndktG1/OVx1MDAwNDDQs2VcdTAwMWJHhc569Fdb77Puffeh31kkLctmpVx1MDAwN8ucT9nxj/3/XHReyOn8uJAzXHUwMDE5XGbW7TPN5XdcdTAwMDcpXHUwMDE2kiPM8fOetY1cYri9seQ6K3NcdTAwMTFcYnJcdTAwMDHVac9cdTAwMDfY41NlJv7qQ7vGYGyux3nZhMy2XHRcdTAwMDXNKGBKTr5SwqBS8JvmY+Kh1Vm4vpt+XHUwMDFlt1xyczI8z308ft7z7UXfJ6OO8b1BkFx0JFx0XHUwMDA3TGC8XHUwMDFl2IHt9LeHZeC2++s+rLZ++3vT5p+u75sz/3jHqEGAUdi4IYAhU+KAco+B+z5cIlx0WVx1MDAxY9JcdTAwMDd0OlrMXHUwMDA203rdPDenl1d6WehL7e3WNfo5cXaNO1x1MDAwMOj6mCffgJA8YcvTmVx1MDAxYXpcbilb9/HZVWB8wrZtnyFcdTAwMDaVXHUwMDBiQfCdpfZCXHUwMDAwv9JE14bgOn7VXqysTGxszVx1MDAxYUN7sPxcdTAwMDLWXHUwMDFhX9muXHUwMDFh09Nq8ejUXHUwMDFl94+q6otccvjl5f7kwLaclVWpdpvehqn7tqLE81x1MDAwMb47Wu9tqytcdTAwMWG2Y3qFznbLXc+2bMdcdTAwMThcXMdcXF312sw/fXPwXHUwMDA0XHUwMDA1rGJsLncu+8gjxbmDNUGFcrC9+UmhkHNlRoxcdTAwMDZ8X5xCKyPbxI5xlr9cdTAwMWY8IJG4KU3bslx1MDAxYaLQLZVcdTAwMWROm2RTm1x1MDAxY/yUNlx1MDAxZnu2b75UJtxFbVx1MDAxMbjSdyFKKZnEQKztc7dcdTAwMTBcdTAwMGK39WF+dJVrZKakXHUwMDA2RtNEybzrXHUwMDA34HB8Ta8uSa+fyDamrMhcdTAwMTduNVufZINcdTAwMDc0XFx8JXFcdTAwMWbyvDNcdTAwMWNW5pNCuu6Q4Fx1MDAwMVc12rJq8tSx88lpXHUwMDA2zrOV4XU1eMAvd1x1MDAwNrtpuFx1MDAxMzJcdTAwMDGba1xyO4tsyrXvhlx1MDAxN5lH3K00RlRQXHJhKFx1MDAwMVxyU1x1MDAxYaFcdTAwMTBIhMk+MURUpzVcdTAwMTdcdTAwMWGFJ1x1MDAwNDLGuMRcdTAwMDJhRDZlXHUwMDA32XvIXHUwMDBl8pPlJVx1MDAxOVEhXHUwMDFhVUhkL1VIxLZcbiHl6lx1MDAxNFx1MDAxYYxNvpBcZt+dyWBja1x1MDAwNJNcct/37LuJb1x1MDAxZf2/8y/4ViZcdTAwMGbtTidIv00sxzFrm9TrNlx1MDAwNVu0XHUwMDBmp1x0/ilOi+3Nz5zGXHUwMDA0Sk4kW/uXOPdBaa/rtSRcdTAwMTlmsqfwQpa5l3KF3u6DXHUwMDAwoVx1MDAxMacpVmlcdTAwMWZcdTAwMTIyLmD+lFx1MDAwZeJtnL7p1Go5IZOdzHm2UHQtt/2IiY6cXHUwMDBlz1mXXHUwMDExMedcdTAwMWNcdTAwMTG8t9J291pzpcmPXHUwMDAyakLQl1XhXHUwMDE3w3RcZrJ0wbRg25ufnFx1MDAwN1OGzTBA+9/vMslcdTAwMDWckyE4d9qy0ZtcdTAwMTYkmKc6mvtcdTAwMGVcdTAwMDTliVxc/6xcdTAwMTV7cGRzIDhcdTAwMDJcdTAwMDCtk6wv5CzehmyUuUxhez58OFx1MDAwM9NC7mZ0NmhmdLzPLIFcZlNcdTAwMWQkSpNcdTAwMDRysX9uvbvXmsuOo1x1MDAxM4KIUlx1MDAxY8JcdTAwMWNQuSm7wF3QXyc7TE8gVedCiqjgQoJcdTAwMWTEXHUwMDBlhFx1MDAwZU93mjFSXoHQP5n1QZF9cnLyTpyOgdY2pzdcdTAwMWGyXHUwMDBmnqH8XHUwMDE5PMvwLJor/VBcIsH+d7tBu5dcdTAwMTGJXHUwMDFhLi34sNl4xNn7WvlGc0eBqa58RoAwSlxiXHUwMDAzf+59P18mXHUwMDBl0PxmMZm0kvnp8HLUa/R4+8zsN3VcdTAwMDR0RE7NJJVMXHUwMDA0v/Y43e3utea641x1MDAxYjk13NSdRik1XHUwMDE0gFxiglx1MDAwNKdfUYb6XHUwMDEw+rck1TFcdTAwMDTTJamWobNvoODLSSRcdTAwMDDsf++7+8BylN8t8lNxXHIqbVx1MDAwM/jmdVlv7/GyRi1cdTAwMGVcYmpcYlx1MDAxMVx1MDAxNIKK2FwitdPrNlvzPpnJrNmfO8bFwvImQflmU6fNVMNhMptcdTAwMTh0+1x1MDAxN1x1MDAxMyPdalx1MDAwZYNcdTAwMDe47cdeJ9untd6ZNUW8V0y7I+8jgjrVs1x1MDAwNL2l16PKxMpcdJhvZFx1MDAxM9OMjqBGofevXHUwMDEwh5IrWO+vtN2d1lxcadFFaqlcdTAwMTGoKaVcdTAwMTBwXHUwMDE2XHUwMDBi6k8pwy9cdTAwMDbqXHUwMDE4aGlcdTAwMDPq8PtwXHUwMDAwI0DJayaT9WmmnLnHZ1x1MDAwYi+bylT9SWvSUCrW2n28LFJcdTAwMWZcdTAwMTTUyjswilx1MDAwMY2rj31KXHUwMDBm8TZQXHUwMDBiYFx1MDAxOFx1MDAxNHrns3pcIr8oZcFd9two6lxiavpimvqT1KSAXHUwMDAwYviK2WS7O6250qKL1Fx1MDAxYYGaUqm+kPg5nZ9ShV+M0zHM0oTTXG5cZmHOXHUwMDAzI8wk42L/KrU1z3dcdTAwMWFWr+i7d71cdTAwMTmZ8MSoMK5o7jyiq9SHZDZiVFx1MDAwMFx1MDAwMUVcXJX6UzqLtyF77EzdVvs6UVx1MDAxZFxyvMa1XHUwMDAwlWEnV9JcdTAwMTHZgUtsqU7FaUpyfP/YeHefNVx1MDAxN11UjVpcdTAwMTn9O4jubTVqKJhcdTAwMDDoXHUwMDBmrz9riTqGWIctUUNcdTAwMTieQyPKlFmyvZ41/e4nclx1MDAwYubkS6d2w1x1MDAwN/NStcla11x1MDAwNV7T3E9El6hcdTAwMGZcdGeCl5VKzuMmr3xKz/A2OE952az1qm7PT80n2VxcX9QuRlxcRziH59NQQVx1MDAwYlxuSV5Rod7da81lXHUwMDE3WaHWKJ9WcVx1MDAxMiTyTz79XHUwMDE18ulcdTAwMTh+aZNPhz7aXHSFij4xXCKvYHa2S3BiXlx1MDAxYqSAwVx0a/hcdTAwMTM4rbp6O49cdTAwMTdcdTAwMDVqwVx1MDAwZYhpyFx1MDAxMCNcdTAwMTKz2OdCMlx1MDAwNZaqPZw2vHRZNCqIgeHDxFxyylx1MDAxN1qpbrPRmVx1MDAxNcH0ZpGo9G5rLr5cdTAwMGZcdTAwMWVgJKlxXHUwMDAx0lafXVVNLz1IPVxmzj4kp8flYlx1MDAxYTf9mlx1MDAwZlx1MDAxM51k53pxma9XXG46cpqEJtEqOFx1MDAwNpC/XHUwMDA207s7rbnSXCJcdTAwMGLUguvDaXVcdTAwMTjkqplx9elPqcIvxulcdTAwMThm6cJpXHUwMDE4XHUwMDFh5COIXHUwMDA0g8vkbm/vwabJ/nmaXHS3jjL9i/Fpunl5o/n0llx1MDAxN/Xpw3KaY04kobE3uz+lh3hcdTAwMWKni+1FN0vnV1x1MDAwZiPcn7Py2G+1YEJHTrPQXHUwMDEyXHUwMDEzXHUwMDAyRGXbXHUwMDE00f1rTLt7rbnUXCJcdTAwMGLUOoFaJdNcYklcdTAwMTl7W+tTyvCLgTpcdTAwMDZauoBcdTAwMWGFzvhmXHUwMDEyYcDJKzg9upBn/N5NXHUwMDE1THJlVaeJy1xcXHUwMDA1a18riypQXHUwMDFmXHUwMDE22kBSjlx1MDAwNFx1MDAwNX+g/XyZOGi7+XSxVbrt9GzTycxM78G6QylcdTAwMWShTUiY7CBcdTAwMTZcbi6U4/2hvbvXmususkYt9KlRI4hcdTAwMTFcdTAwMTIkOFx1MDAxZP9cdTAwMGLJUFx1MDAxZmi/X5U6XHUwMDA2W1x1MDAwN65S44hMXHUwMDFhLJ+khmB/T7G4mDjl+/o0XHUwMDAx0mnbWlx1MDAxODafXHUwMDBm8pp7isgq9WFcdC05ZIgw/CVdw9tcYp3Aop24r95N68V0XHUwMDE5tVx1MDAxN1x1MDAwNGfQXFxHQoen1VAwKuRrXHUwMDE2Otndac1lXHUwMDE3VaXWKalW/o9AKuGf299fIKuOXHUwMDAxmC5ZNVxmXHLvMZLLZ3pfsYRoNW25NSt/Pk4uXHUwMDFjPHNcdTAwMWEla3Hf09t5vKhSXHUwMDA3f//9S4hcIsxcdTAwMDTnIK5InVx1MDAxY5vIyFx1MDAxNe/G+YE5XHUwMDFklc+7XHUwMDE15DxcdTAwMDbFW3bPmVnJXHUwMDE4LfPqdtaq3LNB2duYxkLr1uS6V82cOd1s7jzpXWbtUfIjUnrGXHUwMDEzXHUwMDBmKZq2szbMJ3Kdx1nFXHUwMDA0VzpSmkQ8XHUwMDA3iSRcdTAwMDeSsv2r1Lt7rbnSXCKr1Kr7+nBcdTAwMWFSXCLQxlx1MDAwYlxcvpBcdTAwMGW/XHUwMDE4p2OgpVx1MDAwYqdRxGpJXHUwMDAwXCKBXHUwMDE43N999Pzr09b1vNQ37bPTi9H8LuG2R3q7j1x1MDAxN2Xqg4J6OSVf/Vx1MDAxMFx1MDAxMlx1MDAxN8l/Slx1MDAwZvE2UudPrXGjbp2VMmZ+nEw4ZStz3taR1Dx0vVx1MDAxM1xiMVx1MDAwMUyyV5Spd/dac6lFlql1XCI1XHUwMDAzXHUwMDE0XG7A0ZeU4Vx1MDAxN1x1MDAwM3VcZrR0XHUwMDAxdfhcdTAwMTOdysSBwIKgVywnOlx1MDAxZZboWHBv2kw7w3FZXHUwMDE2XHUwMDFhSc3j/Og69WGprTy3QFx1MDAxY8W+0+5Tuou3UTvn0tni5rE1x7b1+DjoZm6vS1x1MDAwZjpSO/xhLcUxjoKLvMc+Ibmzz5qrLqpKLZk+VWqCVUTBIf2TW3/SXCJ1XGazXHUwMDBlXFykJuF5tERcdTAwMWNcdTAwMTCM4f6OojJcdTAwMTBcdTAwMTUltuTIz5GGd3Y6uctcdTAwMTU+9KPUh8XzsljJXHUwMDEw53FPcX5K1/A2PFx1MDAxN3Hj/raYOj1rXbam5bOUfZ2sj3XEc3hSjVx1MDAwMMX8da/j2N1rzXVcdTAwMTdVpdYpp4ZMQlx0XHT5mlGyPoT+PW+6jCaYXHUwMDFlSTVcdTAwMTLhr+hcdTAwMTBcdTAwMDItX81K97/5PXiQvWZcdTAwMTVPK+VJxkokvYmNJv1cdTAwMTDnodUr41x0217y++doXHUwMDFk8cr4XHUwMDFkvEbkXHUwMDA1sFx0pVx1MDAwNEnB40L52+5NuZ+4XHUwMDE5p8FIXHKBh3OL7JR8XHUwMDE4XHUwMDE1v91ucfhcdTAwMGJaXHTEr8xJ7fOpeUFqgDz4VyAhXHUwMDA34+RQ91x1MDAxN8swtmWv77JQj9hhrC9tdXnnnkNcZmIrNrNcdTAwMDUkU2dYv0+PXHLjsbioz7I1XHUwMDE4NNbfb827Q8PvdkHuS+eSJSeTtnVzc2laXHQ/MfU2I8WN2GxcdTAwMWRcdTAwMWH+XHUwMDFk9bFOvlLCoFLwm+Zj4qHVWbi+m979sYbnuTq+XHUwMDAxjoSvaKlCTiZcdTAwMDDDaP+5TdHjrKv+VPxH1VgjgdSo800xSnBC3kGOjJ4sv16sXHUwMDEyTUBcdTAwMDWV5KU6oVxmxFxiT1x1MDAwZi9IxVx1MDAxMkpYXFzQqaE83ztkXGaE7TEh48iwNiOzX7vwTjSCtmPFXHUwMDE3jdnr5lx1MDAwZf1cdNyK8CV3mHL/Ur7mUaV0sTFOzMn4rH6NXHUwMDA3neJcdTAwMWM2m9VcdTAwMGLNXHUwMDA1zzVcdTAwMDIuR5xLSWNv5mgo6CgwVkWxXVx1MDAxYzXvZklwXjxcdTAwMDVcdTAwMGbTwfD6Yi/easNFXHUwMDFjKlx1MDAxM1x1MDAwMlx1MDAxOFuuNrx/gTJ6OHRVycfBXCJULosyXHUwMDA2ZVxcjqWhjHTjXCJ6Jy7GkGI3XHUwMDE30W/kXCJcdTAwMGZcdTAwMGaEl+smXG6O91x1MDAxN3zqXHUwMDFhtDvJxjRDSs1ucZDqXHUwMDFhNNXSXFzw23moeJcqx35YZCrKXS5D91x1MDAwMfVcdTAwMWOFxeKiUnOm1tgrtJpTfpssXFxN2PBjYVx1MDAxMYSv9iooXHUwMDA1XHUwMDA0w1e8XHUwMDAxIXo8dJVJXHUwMDA0XHUwMDE3XHUwMDA11YqLgmChwFxiPuDdXHUwMDFj3bCI31x0izGk2I1F/Fx1MDAxYrEowle2gIxAQF/zRI5xn+jIi3EmX11cdTAwMTRap9mrfLuY052L2+niIblcYlx058tJRPiT5YvlXFz3XHUwMDA2XHUwMDEwO1x1MDAwZmtcdTAwMDKj3KmFK1bj7mOBXHUwMDExhs9oJYpcdTAwMTRSvOZVu9HjoatOPlx1MDAwZVx1MDAxOKVkqkf0T774ZFBvXHUwMDA3I3knMMagYjdcdTAwMTjJ71x1MDAwNGN4JFxmXHUwMDE4VrZcdTAwMTV8fWTsu8C6MzdRyMxcdTAwMWFmLW9f3qaLXHUwMDFlTNU1XHUwMDE3/HbCKMFcdTAwMDHBKPBy0WTMPmCoXHUwMDFiXHUwMDA1Rq/ZKU/sWmGE++Wz2bCRyKB5SIVRVzCC8Fx1MDAwMFx1MDAxMlx1MDAwMMhUeCX2XHUwMDA3Y/R4aKpcdTAwMTNBTyRazVx1MDAwMZeAXHUwMDA37iuvRFx1MDAwM99cdTAwMDeMSJzA5Tx3XHUwMDA1OkExQIFcbkP0rVSocnhcblx0/IBcdTAwMTGmPmh8x1dwRYPi5+eN/1x1MDAxNFx1MDAxMsNnoGFcYiUjXHUwMDE47i91eJ8xzi5Z3+vUiVx1MDAxMHdnhVx1MDAwNeqUNZf6dq54UCRypJrD8We7idrMnV5Va3krnXFs9/7udnrdpGdcdTAwMWZcdTAwMGKJ4Yv0UsxcdTAwMTiTguwvk+jh0FUmXHUwMDExqeJ7XHUwMDEx8a2polxucyHg5M+Um1x1MDAxZlx1MDAwNvX2VNF5JybGkGJ3quj8Ui5+n963Q+vKwsO0TiRZPub8ipfXRs831HlSNlx1MDAwN5tgjJpz01HjXHUwMDAyupFcdTAwMTJcdTAwMGadlL3/Q1RK1ISwuJX736DJNbKerFx1MDAwM/3Y8m3dpd9cItWxb3h+ynY6tmNtNsz8ful9ZqytxN2erL77k9Wjs4FcdTAwMWZcdTAwMWU4yjJGy0a/6KvpdOLbMK8nYO+i2Z3UO807kCle5JBcdTAwMDS72pBcdTAwMDAnguGNPy/agMCLRlxmjLGfdodD21dje+Xajr89hqvBSi5l3DONzvZe1YngvmPfs7fC4NHyQzetZ/2/o7VcdTAwMWVWvzz//z9/7zw6QTaOT7D4M+DWKVwicMpfwX+XYdDqQ46N0ajqK2N7/l6Op7b5mNolt9XP0u5XQ7r0NObK1r/99e1/WFtcdEwifQ== + + + + DSM Disk Spaceattribute #1attribute #1...attribute #1attribute #1attribute #1...attribute #1attribute #1attribute #1...attribute #1attribute #1attribute #1...attribute #1page #1page #2page #3page #4...page #n \ No newline at end of file diff --git a/docs/img/disk-operations.excalidraw.svg b/docs/img/disk-operations.excalidraw.svg new file mode 100644 index 0000000..d4622f1 --- /dev/null +++ b/docs/img/disk-operations.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1dWVfqyrZ+379ijXVfNznVN+dNXHUwMDA1XHUwMDE1XHUwMDA1RVFcdTAwMTDuPcNcdTAwMTEh9J1cdTAwMTBAPGP/9zuLtZRcdTAwMDBcdCGKXHUwMDFhXfJgQ0JSVL5vdjXnrP/+9ePHT3c2cH7++8dP56Fid5rVoT39+bd5f+JcZkfNflx1MDAwZlx1MDAwZZH5/6P+eFiZn9lw3cHo3//61+JcdTAwMTNWpd/99Smn43SdnjuC8/5cdTAwMTf+//Hjv/Ofnvu4zoM7P3f+7uIumPLVd8/6vflcdTAwMWSV0Fx1MDAwNFx1MDAwYo2ejzdHSbiR61ThYM3ujJzFXHUwMDEx89ZP5pSzk8Sl0pli86yQ6vZy7eLx4qa1ZqeTd2edX9/GrjTGQ2dxdORcdTAwMGX7bafYrLpccjOslfefPzfqw3dffGrYXHUwMDFm11x1MDAxYj1nZL75YqD9gV1pujNzXHUwMDFktHjX7tXn11i882DO4GLxhvmIUGjl5lx1MDAwN/1Of2hu/j9o/lrc/s6utOswhl51cU7NvkOIL86ZPn0lTiyKhVx1MDAxMFxcMM0wQ+L5lIbTrDdcXPPM2eLWznyeXHTGSkjC8GJQ5oaDdHX+sP/jnYle9fdM9MadzmKM5kDKXHUwMDAzkMVnxoOq/etxYqGIUIJcdTAwMTNO9WJcXJ1mr716uU6/0vZBQK3fc/PNRzO/XHUwMDA0Lb17aHebXHUwMDFkM7H0+e05XHUwMDE4Ya6Stmvf2SPnx2Gz44GCObzXadZccj5/dpzaMnDdJuD/+bDbXHUwMDFmLI5W4HZ2s+dcZtPV1WH3h816s2d3rjbfXHUwMDFhvrFz/PQ0sEU8T3rkmIPmbT1/85+//Zk2P8uXaXT13SemYSngKGVsMfVhXFyr8rPjicrVXHUwMDEzh92r4+ubWdPJ2U5cdTAwMDDXVjizJdOq9qjh7JZqlCxTjbySaqxcIpyaXHUwMDFm1ahnLM/k8tzrXHUwMDE3t7DESitcbmfHm1sj11x1MDAxZbr7zV612auvfsTpVVx1MDAwM4507JF70O92my5cZiPXb/bc1TPm191cdTAwMWJcdTAwMGX704ZjrzFcdTAwMDauXHUwMDFjeGxgLrfQNua1+OvHYqbn/zz//Z+/fc/2Pq2VXHUwMDBm/OX9XHUwMDFkRLhA1cZ1XHUwMDEw4ShcdTAwMDJBTOHhb823Yvr6XG7NXHUwMDBlXHUwMDFhYnIyzLf609tisX336XRb4q10XHUwMDFiUZZSIMIw0UpcdTAwMTGFXHUwMDE3gnODblOaIYXIglx1MDAxM7Fk34s02/64VnOGP3L9fud99ZrvjXeg1YZOxf1cdTAwMDUyXHUwMDFmpoF5XHUwMDEyqNqUIEqB1bM10yaXxdYsVWic3JFHfJ6XVXb1oD5cdTAwMDHTuCVcdTAwMTSXVCNKXHUwMDA1U1x1MDAwYrDPXHUwMDAxopBFuGJcZqBcYnpeXG6+MrLd0FBLbWnPayHeXHUwMDE2LFRralx1MDAxMMZcdTAwMDPsQHhxtpeHz8L4Z2bQK+P23uNthajRdSN5ct1cdTAwMWJVfz6J6Fx1MDAxZNOVXHRMotD15eDFXHUwMDFlXHUwMDBmZ9VcdTAwMDNcIlx1MDAwMlx1MDAwYkLx9i6QLJTO0pf5oyE9KkxcbuP73uimf7ZTs2z30FVoXHUwMDEzdFx1MDAxOdopdINMNuJnsVx1MDAxMbZcdTAwMDZWRbBWhGl/k21cdTAwMDHWQeX04HZsp067o8S9oI8nZ1ft4vNt31x1MDAwMs3Pl/7v81/PsMhkSVx1MDAwM1x1MDAxZN81XG7Z2/tuzu3bpzR15Vx1MDAxOc2qNfN84J+1XHUwMDAxvTFVgowpXCJcdTAwMDK9XHUwMDE3jTQnRPDtWbJ5OmLKXHUwMDEyLS02Z1x0IYwqSpZYwlx1MDAxMbWYhyXyVSSpOFVWtX3MLGHRuWBcdTAwMTdYcYqIpOucodRcdTAwMTKrpMFScVx1MDAwZZaWZrFjzS6B7WuyqaV3N5hsOMBQq8BQneFcdTAwMDZTrdusVr2qZdlaXHUwMDBiU1x0q1x1MDAwNlx1MDAxY45mtlx1MDAxMflcbs2nyOq7T5xmmGCqXHUwMDAw51tzWiX0UYrflc+rR+NCIztcdTAwMWRcdTAwMTVaaVx1MDAxY3dOv6fmXHUwMDBiXCK1WnzhXHUwMDA1idd8JUyIxDBcbrR4ZHGh8CbFlyd0pqpcdTAwMTelzoN0u0M7o64zp4VPpfhocFx1MDAxNIFcdES4INu7NptnI6ZcdTAwMWPB2EJcdTAwMTQ4XCI5klJovsJcdTAwMTH+XHUwMDFlXHUwMDFjkcii5tNcdTAwMTRxLLn0o8x6eEEgjZE3zFx1MDAxZVx1MDAxN8K8uc7bOkxx7NhVr27bqeJcdTAwMGLRXGKrim91LG9cdTAwMWW0QMHxeILAw0BcdTAwMDIvMFx1MDAxNUbtxrh3XyBOOdHHPNevlkTxjOl4U5uA9Po8jp/AUlDjZ4TQOXO0t5euTVxunMhcdTAwMTKSyVKmUbzHXHUwMDFmpv/qXHUwMDFkcslKx0631po1z1x1MDAxM4/dlugnt9J/f2+67HG7klx1MDAxMbn0RarL0uLs6H7W5F3tf1nbxPBjqFeJXGLUq5hjReeD2Zp+m+c5nvTDeMmjXFxmX8xcdTAwMWRKMFxiYNCchsZcZt+djWHAllx1MDAxMYD9OoeSvJFeXHJRNat6lURTqa9yKD1cdTAwMDGGVU5TprlQ2uO/hHE6dWff96+Ss2Jnb++6fSRROl2+iTmn31WlvtKjlFxcSKRcdTAwMDRcclx1MDAwYlxuxUujTvf1dVKgVPn+sMOn07K4mpyQrTTqlpovioB4keajMni1XGaD5YNcdTAwMDRcdTAwMTXbs2TzfMSUJfSz+pSYKYWkVjEkzZsrvnh4lSFa4cO9Slx1MDAxY2jWSiokpVRtz23UXHUwMDFlXHUwMDBlinayl7xuuFx1MDAxNznKJq3y8Tjm3Fx1MDAwNqvQq1x1MDAwMVx1MDAxN7NcdTAwMTFDn1x1MDAxMnOJmdZKhDmVR8Xj7v7lYeL8jmUqydZM27L+8GEqkMuLm273oFlcdTAwMTWTI07F8d1Rdb//qVQgUYFZxyAwlcSCbc+SzdNcdTAwMTFPllD6iX0/0JaMI896b1xcSFx1MDAxM1x1MDAxZt+PvpH2XHUwMDBi0Vxiq9qPRlN8r/H9XGJcblR8IGE5kyyCUes8lvpXo+5cdTAwMWV7rPQu3dvqUTt3e1x1MDAxYnNKv6fie53nJzhcdTAwMTZwi9BcdTAwMWOaeGk9h2cv7lx1MDAxMil3pu+vj5ziXHUwMDE1XHUwMDFh12bnn0rrUSWCKFwiMHg9SkXQepunI6ZcdTAwMTThXr9PrjAkvl5cdTAwMWZcdTAwMDVcdTAwMDHGXHUwMDE5J2Fr719Q48XD6Vx1MDAwYtFcdTAwMDfv4PRcdTAwMDVcdTAwMTZcdTAwMTkwufruczBHXGKwklxiU9svY+zvZ0rlm9zdQd9O5lp13tRcdTAwMTnuxpzUTGzQe/x9XHUwMDFjPkEtMrdlXHSVSCC+uMszq1x1MDAxObWwNzdar1x1MDAxYrZcdTAwMDTDXHUwMDE30JKHxnY+XHUwMDFii6lYendcdTAwMDOLLct6KYVfWrGwdMttmEr5a6zUwJQ3XHUwMDEzu+dcZlx1MDAwYr59zttem9Vue4nDQrf1WLwl5MC+d+Oez8PVJ1r0x+A3UK6DKvRcdTAwMTaUvJyW9u1aJnlcXJicV65cdTAwMWLXNaZm5Vx1MDAwZjNVi3ua2keVZrqdS9Svy65oXHUwMDE1XHUwMDA3zZ0uz7+9rerR/KtEwVRRjFwiXHUwMDE0q55cdTAwMWbh+5FcdTAwMThcdTAwMTF7bz+PMz3mnjRlLYAn8SnpgWm2pKBcdTAwMDKBXHUwMDA2XHUwMDE3RPCVVVxujC1KKKBTMi1cdTAwMTVfXHUwMDFk2I4qWZm0jK+GXHUwMDA0XHUwMDA2w1x1MDAxOXPhU1jnXHUwMDFipFx1MDAxMcBucChcdTAwMDLKxj+SOJugXHJT6Vx0K711kCbZNLqiP5y9t8rzufGbL81cdTAwMDensVxugbSQ3iWtMD6Pj08vklx1MDAwZrODnntqXHUwMDFm1U76Z6eDXHUwMDE5i7neXHUwMDEzm3O9xbvEZ5iP2vPRelxmS6J5XHUwMDFjtd676aXNYFx1MDAxNoHLXHUwMDA3zISnXHUwMDA1wHlrMNey591cdTAwMGKG9WzQqT9Ux6OeU9/rxFx1MDAxZMxcdTAwMWKrTWNcdTAwMDVms1TARHjB3lx1MDAxZotlXHUwMDE56JEojoSUNEJcdTAwMTHOMJ1cdTAwMTnM9lx1MDAxYanulTOY0NtiefZwWIw7ljdcbmZOlrH8Nmth20FZXHUwMDAxKpgmMiw+8OdCOTj9XHUwMDBmYaSZxlx1MDAxMbpJZcp3t+WbKb14TOVcdTAwMWVs/XCk3eo07ljeKJfjhGXM5v1PtPyWy0E2RnB+OtKa0ihy+eg4nWqXe7O9zkGj0y1eJMf7j/mYY1luTmWNk41B4OswrLhcbsvj+WPBLINrnVx1MDAwNEKC0VxigvnwvpEpnat7WyRQWp6elFSPZz41mGMlmDFcZoNRXHUwMDE22o7lz8Vy4Co61kIzXHUwMDE1KZSROTs86+nbxNFoL3dZczpuonlcdTAwMTD3Vlx1MDAxNCFcdTAwMTazilx1MDAxMZhcdTAwMTlDlFx1MDAwYinCVs7/XFwwqyAwwyCoQnx7KOPzs8fj7Oy4uVerpJN7qFstJi/iXHUwMDBl5c1cdTAwMDZzjKCsiFRsi6SpP1x1MDAxN8nBiVx1MDAxMErDOKIsrDZbtp3KXG57Nuimxo9Hqi3bh72YQznExIhcdTAwMTGUXHRYy0qCXHUwMDE2+TYx/LFM6YZ+hlxcgk6LXHUwMDEwX77IaCc7KU1u7mvXx07zXHUwMDAxtTN3n68rdsJcdTAwMGKjXHUwMDFktixcdTAwMTQrLVx1MDAwYvU6gH1aXHUwMDE2Mi0lUjRcdTAwMTTAY4RO67ncefr6KF1uuenhXHUwMDAzn6XeXG6fUTuMvkLW0mBcdTAwMTOYaFx1MDAwZc8uQmxiWtjvXHUwMDFlPJZcdTAwMWY47WXOyuJomMqwuMtarlbQSV6HztfmqUitJdfelFxifzy69d7oMdVcdTAwMDBxen3R7F9cZvfSyWTCK1B3XHUwMDBl2OdLv3uayk7pXHUwMDEwmH6JXHUwMDAzV1x1MDAwMimRoC8o2T6lOnFWXHUwMDE4y0z6epLge5eOfDxD15mT2EtqsdJU/W2YgMHnZMykTYKHTZi3zHFTuSx8XHUwMDAwK6FDa4Xen1x1MDAxOPHpXHUwMDE1XHUwMDFklobyVjsgvCxcdOU1xbE6MFxuScHg0ILjXGIh9TbCt+7DaeeidVNqj0+QclxucVx1MDAwZqlcdTAwMGK0TNVX2lSv81x1MDAwMqjA2uA9LDTzuan5XG6wXHUwMDA29/1cdTAwMDMnjjPsWTpcdTAwMGJcdTAwMDNrJYWTXHUwMDBmZ2637zyc2u3JWWLf7pXjXHUwMDBlVlx1MDAxMSOwYkrAwUah/Yb+VLBiXHUwMDE06Fx1MDAxMVx1MDAxMMSYIFx1MDAwMkeQrVx1MDAwNdtNnFxcXHUwMDFkXHUwMDFmnpNMXHRna07nstWO+1xuz6ps9X7kXHUwMDAzsp6kooLw0MZcdTAwMDJ/Ll5cdTAwMDPj3lx1MDAwNGmqmPT2klxu3TKi3Mo18tPmoD/JktbNLW1odVx1MDAxZne8ijjhlUuEXHUwMDE5XHUwMDE3odHtP1x1MDAxN6+BpqtU8GxcdTAwMTSLsFBzNFx1MDAxNTN1drl/28mWz1XtOHPfR62Yw1WSOFlcdTAwMDNSMo3Cc5f+XFy0XHUwMDA2rsVcdTAwMTCMmFx1MDAxNIJE2PpKXVx1MDAxNZh4OMvW0Xkq38lcdTAwMTbZae7g6JPB9WOlK1x1MDAxNprTeMZcdTAwMDdjXHUwMDAyWE+d0treiIRwRVWEXHUwMDE1l86JLDuzo0zvyp2dneuD03rRfow5YNfMV/GRgNWaMIpUaCX0n4vX4DJiqTlMXlx1MDAwNLhmcP9hlit2KqQ13TvlolBtl1x1MDAwNnGH66r1+qFwxVx1MDAxNOZcdTAwMWOZnVx1MDAwN7/xXHUwMDFhgNfAXHUwMDA1baKw6XVcdTAwMWbBfK1cdTAwMWW2Tlx1MDAxZivTR2eWyl/STut0lHFnMcfrmj3woXglmFx1MDAxMiWJ+LZcdTAwMDeC2jTwwPCAqYjiXFxGWOBcdTAwMTY4M+VcdTAwMDJlb/cuk/k71kw3ZeUy5nhVK+bARy9wgz7TQovQzVTaLbef025T57I36dRQdVt3dPCmgH2+tM9cdTAwMDL3XHUwMDAzJsnLXHUwMDE5Plx1MDAxZM9GY4FcdTAwMGXdXu5sP+9cdTAwMTnNj1x1MDAxZq9oXHUwMDE59i7r25RcdTAwMDRn1cGzI0rhXGKe3Ob5iClcdTAwMTM0ttRcdTAwMWPhWCNJV/pcdTAwMGIp6lmljEV3TKwlp4yHNoh+f6a8+Yr3h++MXHUwMDEwXCLpP3BnXHUwMDA0wlx1MDAwM1x1MDAxZFxcXCLNNrPbk7idPyjryfhqP5vXMpEh+jC1P4w7iXeszl6584EgXHUwMDE4XGZersNWXHUwMDEz46XNcDdP+9m6i1x1MDAwN+Ns4bpaSJJWY2ebyL6LNmNcdTAwMWK0menGKCSNsD/I5vmIK1x1MDAxMbhFTVx1MDAxYZVi0uyxucxcblx1MDAxY6Oel1hhojFcdTAwMGWPWX5BRbZ16tabNr1cZlx1MDAxMfRcdTAwMWa+00Fw41xuLFx1MDAwNeeKs1xipungJnflSppPTSu1xOnZsFO/XHUwMDFk7Xazn6o9aji73u1np2rNXHUwMDFk2r3RwFx1MDAxZVx1MDAwMm5e7qlcdTAwMTnaSvBccsJo+66q6233q9up7vp1fz+8i8DuXHUwMDE2xNTsXHUwMDEywlwibFi3Ofc6Uq4xXHUwMDBiQvxbhH3B5dFYKiSJRlx1MDAwMLQl+IPDtG1PgKpmXG7VNquzwJhcdTAwMDV4Zkhhk/hcZlx1MDAwM6FCyXViwFx1MDAxMFx1MDAwM4fye4mDmM68XCKgzPqja5c8XHUwMDEzZ1x1MDAwZt39Zq/a7NXh4IJbP51ft/6lKzZ3XCKdK7LK2IwygVx1MDAxNprAfGd7YEb5+43nTSd/Or1q+E03V454brrdPTv2yD3od7tNXHUwMDE35i7Xb/bc1TmaT8aeIWhcdTAwMDOU3epRXHUwMDE4s/dcdTAwMTiI0+aK8lx1MDAxYZiLLlx1MDAwYqvFXz9cdTAwMTZgn//z/Pd//vY9O1x1MDAxMYzD+eF1XGIurviX93d0SaSDy9NcYiWaaOpxN8Mk0WbZXHUwMDFjU0lEMGFcdTAwMTZcdTAwMDJcdTAwMDNaYiS04uSjJJEyXHUwMDA1XHUwMDBlUoBcdTAwMDLQRCGfIFG4JDKdSzRcdTAwMWP5XHUwMDFhkmjz7pReobArMbTZdIx4x08ohFx1MDAwMiA4P/xqITR3XHUwMDE0fGRcdTAwMTBWwVs4gURkJsZcdTAwMTJhp7PxQal096gvs9fo5KScmt52R4mgXHUwMDA0+TcovVp8JpJcdTAwMTCSgliMIEYk2ERcdTAwMWEtV3wnqIZng1x1MDAxOKecYkFcdTAwMTFdlY5cdTAwMGL5olx1MDAxNK7ZdLNcZrpz2F31zkdcdTAwMDZpZVx0ITlDXHUwMDAyrGBcdTAwMDCDj5dA4Vx1MDAxNKookVx1MDAxMmFcdTAwMTB3wlN8/nt5h5g9YZjnkb6lXGJ6sY++XCKCVolcdTAwMTdwZMeUXjq2WzJjgSxcZnRcdTAwMDYpjagyfPZ+njFcdTAwMGI8Tlxyz1x1MDAxMZtOXHUwMDE0jGxxPWIhyVx1MDAwMFx1MDAxNlx1MDAxYUlcZqbKkoVcdTAwMDL8tJQxXHUwMDE2XGJcdTAwMTjyVHLKwy+oLVx1MDAwZbJcdTAwMDSGRzRcdTAwMDOO06VcdTAwMDGu4yzsgphSi8JcYlx1MDAxMWOMSlx1MDAxOFx1MDAwN11cdTAwMWQgXHUwMDE46VpqJVx1MDAxNMNki8tcdItrMlx1MDAwZiRcdTAwMTLG5aJT0Hz+tIVcdTAwMTCgXHUwMDBmXHUwMDExLpBEXHUwMDFhh10u6OltXHUwMDE0nL+L/vfr7YYutdLnh+0zrM5nNffY4/z7XHUwMDA3SucyZUPZTZSm4EJ6XCI+6+JrXHUwMDE34cWProeNKKKeXHUwMDE36ChGhFGxltD90zRcdTAwMDJcdTAwMGLUaZKZvVwi5VabuaxKw6Vx7FBcdTAwMWU+hSFTXHUwMDBmTmXswmj/r5fq1Zc0duT1uVx1MDAxN3Y/91x1MDAwNFx1MDAxNT1cdTAwMDCOUI664TusRjI38C7ROpnQq3HpRHan5yN0lM+fT/LrvFtxrX5cdTAwMTFvpaeAWCdcdTAwMWVcdTAwMTE+MTi2yUxY45mSNX731Xjmscx/z/CTblpcdTAwMTjWz/RTXHUwMDFjXGZRgn3pXHUwMDE3uDwklGaay63c2vexRUI0f1x1MDAwMrOoljxj3lx1MDAwZiRY+EdcdTAwMThcblNRUY2gyMbVXHUwMDBivaFcclx1MDAxNJY3tyV01Ww2UaM16nS5W6n2fCjsozopW2Zwwk93eqK4/olcdTAwMWN/Kol9lSX4XHUwMDE1koD15cdWXHUwMDFhyFbNpJSYb7VDzHvryiPH/TGw685cdTAwMGbyoUrSXHUwMDEzg4mgJP1cdTAwMDa/lXZcZo0pbihwI4hcblxmXHUwMDA2U4ROKpqWj7O9tJvvl2qV6+LgqDdcdTAwMWJcdTAwMDUtzcemk8qaXHUwMDA1gDct571AXHUwMDA2bGtGPMVcdTAwMDWJUpyAU7RjTfzFfHWfXHUwMDEw2ys89lfr7Z2o7Vxy6rF5TVx1MDAwZeq9k5Pxde66e3haXHUwMDFhdO7Hua3UI1mFt/KxcKWypElPkVJcdTAwMTMtlPTZSfFbW1x1MDAwNmhLzjRcdTAwMTJcdTAwMDJcYuMjX0WwacslqFm1Va7EeyvLOVx1MDAwM53hXHUwMDBmt/95deaG71x1MDAxMMGxfFx1MDAxNPVDh+VOczNxo92H7PFJtZjdhnZYSGZhhoVcdTAwMTBcZlx1MDAxM8rp8jZyXHUwMDE0+dioWFrm/KdcdTAwMGbgxTNcXKiLxZyHU3CbNa6vQUHMQblSJNc9yTk/g01cdTAwMWNcdTAwMGXKX77Mv3xrXHUwMDEyZvp29Vx1MDAxN3T/XHUwMDBmdOZa067IiWuvJ1wiW1xcMFx1MDAwMlx1MDAxMUO+RyQ7NijDVFx1MDAwN+9AI021XHUwMDA013j7Qrduevp4dnxYSo5LrfvJwUP5Nj/k8WFIQI6O3ixvNti0L1x1MDAxMVx1MDAxM88yiyhLKUopJqZcdTAwMGVTYZ+YtM/G6lxcMqo9W2jHctnpRamhXHUwMDBitL+42uGlnf18b72DdNBq0+72e1U/3lx0XHUwMDE1SDxcdI9YoChlSq2HYvmwO1x1MDAxNfV96sr968OBPugl3yux+2VLwZiuLNsoZVFmtlwi18BEs01sIOsqmtjE3sy6WlXBy4d1fKV7sk9wi1x1MDAxM4tQOJFcdFx1MDAwZbJB6LX8XHUwMDEzQZRcdTAwMDQzxJOM7p8xmj7fu76tXGZcdTAwMWay/d6V41J7OkyAU//ksnwwWV9cblxcSYK3kjRcdTAwMGKTPEKXv5vrXHUwMDA3xieV3GnBrZ9kUlmRmyZyn1xmt5JbXHUwMDEyJLJcdTAwMDAtolx1MDAwNEaecrvY4ZZcdIVcdTAwMTnFyD8+8sVxq9CG9Fx1MDAxYoAtXHUwMDE2PEJcdTAwMGVgsTyx7XI3U8zX91x1MDAxMlxyVVx1MDAxMOOrg3fba29HyOXSRC44klxiI6lcYo8xcrGSYC9RxPzzbb46dFnwwlx1MDAwMVx1MDAwNqnDUVx1MDAwNOQm9zqFa/vMnuHD/avLM7tdbp++246nO0Luhl5qXHUwMDFmXHUwMDBlVbDpQdQoT+fmr4LUX/hpcHrC87zTc28zidpde3+KcX2ruFx1MDAwZd1cIpyKiUlIWpT7+VTeMWrhpadcdTAwMTQltvrnXHUwMDA0dkzNJKOKrWm9udtcdTAwMTIkT7g2eV5oq2ZM71x1MDAxZNbJOt2gOI5ne483jeN4vJJcYu7l6sAjXHUwMDA1bjaXXHUwMDE0rq8zP++FjThVgtLtNVx1MDAwM+7iYzlzyuNSXWWL/Kb38HAkX6JcdTAwMTlWXHUwMDFiTLxh7GZVM9CQNkWbmb98xkItSEvDTFNkdv/VXGb7XHUwMDE1LWhtYVwiXHUwMDExWFGYSm/ziydcdTAwMGJcdTAwMDZhQSX1Vjz461x1MDAwNZnvPoppv9tcdTAwMWOmXHUwMDBlcrXiyXlJXHUwMDE2j2OtXHUwMDE3wjLfOVx0XHUwMDA0qVx1MDAwNuOTc7FVjuAvkO5cdTAwMWQq1z1v3pTw+WmmlVx1MDAxOV3Q01xujj1IpVx1MDAwNdZcdTAwMDI2ebRcdTAwMTR7y1wi58aMYpapZ0FaXGJcZj+DzXBcdTAwMDbGOpfRlNdcIlx1MDAwNVaY8lx1MDAxZkTMLi9SUuRXXHUwMDAzOM9WJlxiSVxuXjySeC3tXHUwMDFkvEeKsKJhZji+uspcdTAwMTZSk6u7+0danY327lPt5IJZZqb2prlBsjd4XHUwMDE4n9qd9P5xMcNbU+9cdLGmgedcdH3p/HpkMVwitIk5Iy6Qwlx1MDAxZdSYXHUwMDE3RVx1MDAxNsCZUcmlVpjw8Fx1MDAwNHvJLJNcdTAwMWNlamEk0F57rya5hVx1MDAxOVx1MDAxMmYzQFx1MDAwNT9xaHI9XHUwMDA2S5BxxJBcdJ8zI5yXXHUwMDA2xyzMXHUwMDE5XHUwMDEwizDzk4aOLZghW82VxJYk3OxcdTAwMWSATYXLot2aeSVcdTAwMTizXHUwMDE4wlx1MDAxNEvDXHUwMDFl8zN06lx1MDAwM27+l/d3VElMN+xqzVx1MDAxNcwhZVx1MDAxMUqQXHUwMDFh3Vb9vjWwR7mzXHUwMDBlSl4y96F948ZcXFx1MDAxNMPTsUxrNmWWL+FBLUliXHUwMDBlilx1MDAxZZntpFx1MDAwMc1cdTAwMDLJN1x1MDAxMsSW1Fx1MDAxYziAwMEhXHUwMDE0jFx05ST8LFxuoi30q1xmilx1MDAxYuKR9TJIMEk0oV5J/i2Mv7Aw3lxmXHUwMDFj80qsY2ZXgkNcdTAwMDV6jFx1MDAwMuRcdTAwMTlI4u3dXGbHRZXzvpw8ujxxwU+647a6TcdcXGxQoUBsXHUwMDEwPS+8XCJcdTAwMWOvWnDckiDcXHUwMDE1TFx1MDAwNKhDb7nwbk04aoF2YqCalFRMepz0RXBcdTAwMDRbIFx1MDAxNYxcdTAwMWZcIuFWIFx1MDAxZNYsOEKYljRsXHTgW2Z8XHSZIamp4Fx1MDAwM50mQFwiKLHQIea1hpVtXGYuf1x1MDAwMJpcdTAwMTexMGVCKpM2gqhEnuLD18lcdTAwMWVcdTAwMTJcXGNcdTAwMDaeXG541SrKws31le5cYt45qKSvz5N26qF1uP+iXHUwMDFlaO9qtEhLKpDnWILhzD0hhLnVwoiFgFx1MDAwNFopLVx1MDAxOCfB7T1fI3zAnKbYgISC3aRcdTAwMDT1kT3gPVx1MDAxMkwwUpSYXHUwMDEzybr7aGBIXHUwMDEx8lx1MDAwNlx1MDAwNL7Fz1x1MDAxN1x1MDAxNj+BoDGvxDpediQxXHUwMDA0XHLe49ZUpFwiLLZcdTAwMGY4XHJzncJlO5kr0GIpfz7Iu/z2OPtcdTAwMTKB8Y5cdTAwMTltTClLXHUwMDEwXCLAqVx1MDAwM19TrVx1MDAwNJw45lx1MDAxNudaIFx1MDAwZS49J5663p1aK9JSTFx1MDAxOatcYrxKhoX2yW/DykKcXHUwMDEyRSSjXHUwMDEy46Wkn6f0VNAoYFaFhk2/JcaXkFx1MDAxOMhcIlxi8Ik0XHUwMDAz78UsstKlKIzJWOAmOlx0ypCaXHUwMDA266Emi7C4SSmjXHUwMDFhXHUwMDBi+KhY7jhFLJBcdTAwMDWSmohccmVcdTAwMDQpXHUwMDEyblx1MDAwMlx1MDAwNaJ6fkFcZuPnplx1MDAwNFx1MDAxMIEtJFx0XHUwMDE1oUGsN4nzgEFcdTAwMTckXHUwMDAwJcFmu1x1MDAxNby9xTSqlvVV0T5wSlR3k51k/obl92JuMZmIO9bC7ISE4emuuGuMWVx1MDAwMsEscIE1lt54/IdH3Fx1MDAxN2bVk1x1MDAwMDQ52EZYhFx0wEJmcohcdTAwMDZcdTAwMDcpmWud4/5d7+z+xkl9XHUwMDBiwKeLfVx1MDAxZVx1MDAwMVx1MDAxOCnkzkXYXHUwMDA1o4Tct/JcdTAwMDC3XHUwMDBmubPwy71jyD10NG9cIopZcFx1MDAxZnuYTFx1MDAxYcFcdTAwMTA9R+Navj2YXHUwMDFjJlOFa5oqXHUwMDBlLnuFw5jLYVx1MDAxM25cdTAwMDdcdTAwMWODqSko2HcrTVx1MDAwNzloZynAXHUwMDE45/DsXHUwMDAxLsEp3/FcYrhj8K45kZKHLX9+y+IvIYs/MuLOPJJhNc1eSrB8XHTbfqXupluYoXs6eUwm6s2bZJZP7lx1MDAwYi/aXHUwMDAx451D7sjY7lRcdTAwMWJTzZPh9cuG41x1MDAxNlx1MDAxM5RqXHSXXCKaorey4XZcdTAwMTByx5xjXHUwMDA1vnhA1da32PhiYuNLXHUwMDA03XWg+IGvJcCqwVx1MDAxMXbgOVx1MDAxZd6m945TxE5cdTAwMTFcdTAwMTdNXHUwMDBmXHUwMDEye9OL02rM5Y9cdLozgVx1MDAwNMNgm/DVJT/4/pYyW22BoWtW/N4o6M4tJYhAhIBraH761LWvRFGxXFxzIVx1MDAwNdjGYH/pb6vl6Vx0fWnxXHUwMDEzXGZcdTAwMWHzWo26XHUwMDAzXnYkMiRcbtyCknFMpd6qu9Xvni24PS2iuqudPFx1MDAxOaHm6K7cScd9h1+mtFx1MDAxMVx1MDAxOFJcdTAwMTBcbt6xh4Zze2VeY67nTWA1QVx1MDAxZVwi79RcXFx1MDAwMX9cdTAwMWWBuUEwXHUwMDA1p0tQv42LsLRM21jw4MH9lFxui3V7XHUwMDA1c1xyUlxyqy9or+yikftXXHUwMDEzXHUwMDE4XHUwMDExY+5qi8RMS5pccmeliasrtNyjOIFAcUqQPPN+50Sy8ChRIKrn11x1MDAwM9ZRMzrTp5ZqrD8m5C42lJdSxOe9mrdvpKFcdTAwMGJcdTAwMDXUbo7SV3V0QXvHqdaJe/qiwuh3ddiEpSSjjJjauFV/XHIxSyNccpKN4+XquDiG3Lkp6MahWVxu7eNUU13o/YNx7lIkhyf9/L26/5Z/T1x1MDAxN/s88u875L7tXFx9ipC7XG7e7Vx1MDAwN54vTCXf3nVtXlxyXHUwMDFlXHUwMDFmM9NcdTAwMTHBXHUwMDA3XHUwMDE5eXZyVCpcblx1MDAxY/+oO7IkyGHAqlwimK+sfkppIWF2XTad95i3vVM8o+5cdTAwMDI+T5hcdTAwMGVNc/+Wxl9CXHUwMDFhf2jQXVx1MDAwNzZawFhcYlx0XG4gglx1MDAxM3vwOL0tjUW2oq+7/X775PrqvLJcdTAwMWZz0WFcdTAwMTInJFx1MDAwMalhLCDizVx1MDAxM/9lxXFcdTAwMGL8W03MXHUwMDBlSuDvr3rXcVxuuoNcdTAwMTmqwVx1MDAwYsdhme7fYuNLiI2vXHUwMDEwdN+02zd4zFKD61x1MDAxYiHonptcXLrNvF3JlE5nicnewWPl8EWNXt456Fx1MDAwZVx1MDAxMp9cYlxmtjFcdTAwMTcrrVx1MDAxOEFcIllcdTAwMTgrXHUwMDA2c884TMjbXHUwMDE06O0m6Fx1MDAwZY5cdTAwMDJiymzr9C1/fj+iLy1/PizqTlx1MDAwM0t6QTwxqaPsQnDYp6Up76Cb5nB218jWLlx1MDAxYc1q91x1MDAxM4TdQWSA0KBUL7VRnYtcZnCQwTNcdTAwMDbsUlxmXlx1MDAwZtdvVJonLDBXXHUwMDE1w1pozqlifi1ChKU5XHUwMDEzXHUwMDFjNIpcdTAwMTBcYnl6Xjy356OCUFx1MDAxZZrp+S0xvoTE2H3YnVvGXHUwMDFmMk0oiSlH5UuBp1x1MDAwNDJhT1x1MDAxM5DioJmYwiy0XHUwMDA3QTCq51x1MDAxN1x1MDAwNN5xpTHHXHUwMDA2uFiF5uK/Ylx1MDAwZof2pDmbdVx1MDAxZe/TtcLxY+Ys17RcdTAwMTNcdTAwMDWPXHUwMDE42dB0zLN1xK+Fe5+mY8qEreCFXHUwMDAxq2Du+WxcYvqqnmNbXGJcdTAwMTZ3aPdGXHUwMDAze1xifFxuXHUwMDEwt5+m71x1MDAxOCg/03XKf1OH4E5A4GxcdTAwMWGffquktlx1MDAxNzRcdTAwMWV7kVx1MDAwMHpqPJZsjtqex/JZ2o4tXHUwMDBm27/p2F+/2frTXHUwMDFlXGbyLkzcz6ctcX5Oms5036974vxltMWcq1x1MDAwNqbOfCedf/765/9cdTAwMDHZXHUwMDFj4HoifQ== + + + + Database FileBuffer Pool1Header2Header3Header...DirectoryDirectory2HeaderExecutionEngineGet page 2Pointer to page 2Load page directoryLoad page 2MemoryDisk \ No newline at end of file diff --git a/docs/img/dsm-tuple-identification.excalidraw.svg b/docs/img/dsm-tuple-identification.excalidraw.svg new file mode 100644 index 0000000..2b54746 --- /dev/null +++ b/docs/img/dsm-tuple-identification.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1d127jWLZ9n69o1LyOak5cdTAwMGVcdTAwMDNcXFxciMo5WfHiwlCgJCpR2ZJcdTAwMWH970O5u22VLJqkqmRcdTAwMWXa6kZcdTAwMTe6qMRDrsW19z47/P6P3377tt7P9W//+e2bvuu2J0Zv2X769q/j8a2+XFxcdTAwMTnmzHpcdD3/fWVult3nd1x1MDAwZdfr+eo///73tL1cdTAwMWPr6/mk3dW/b43Vpj1ZrTc9w/zeNaf/Ntb6dPW/xz/z7an+P3Nz2lsvv7/+SEjvXHUwMDE5a3P552/pXHUwMDEzfarP1ivr2//P+vtvv/3+/OfJ2S317ro9XHUwMDFiTPTnXHUwMDBmPL/0eoJcdTAwMTjQ86N5c/Z8slBcIsxcYmNcdTAwMDK/vMNYRa3fW+s96+W+dc766yvHQ9/YXGKGupWNqNJSazt8TDX0Yrf3+rN9YzKprPeT59NamdZqXl9brZfmWK9cdTAwMWK99fDv63Zy3O5TS3MzXHUwMDE4zvTVcfng5ag5b3eN9f64XHUwMDA28Hr0z2tw+r6d9TeK0OuB40foyUf+/PGIObGutvXj/1x1MDAwNM//vP58p91cdTAwMWRcdTAwMGasc5j1fnzP6zue/lpcdTAwMTBlr9861I3BcG1cdTAwMWQkJ1x1MDAwN1f681VFXHUwMDEwSEZcdTAwMDB9vebH75+neq83+Pmonpqn8uV6PIqW+0x4qteK8Un95WetN8hcdTAwMDRaXHUwMDE3l4NYvL5cXFx1MDAxN2mdpizgXHUwMDE1v/31+v+fXsBZ769cdTAwMGI420wmr0s7vlx1MDAxMDtcdTAwMDHX62c28177T1xmQCaQJFxcMIpcdTAwMTF7eX1izMbnXzcxu+NX2DxcdTAwMWb9419X4Fx1MDAxNVwiYYtXXGYw5Vx1MDAxMiHoXHUwMDFhr4mYXHUwMDE2f4TdiMBscVx1MDAwMM10s9ldL1THq/hcdTAwMTGvgvxcdTAwMTRen4bWg+YtXsVcdTAwMDW4ijdohZhcdTAwMTJMXHUwMDE5RE5wjdGH9iG35euqPi7El7P0XHUwMDE4dFx1MDAwN6dw3cm9XHUwMDFj11x1MDAxYpBE4pNYZrF/XFxH+7vTN3xiwK/13foy1qUt1iGTiFFJ3GPdrIdcdTAwMTfjnPa0h+0+qqOOWS0snlTHOpbfpWSCXHUwMDEzXHUwMDAxjuv9XHUwMDAx+Fxm2Vx1MDAwM78nrU/0r1x1MDAwMT5k31x0YIi+hT/G39k5XHUwMDAxhFx1MDAxNFx1MDAxY3H8hfAvXHRcdTAwMDKUXGLBXHUwMDE58oD/V5iZs3XFOFx1MDAxY+/1yZP8eDTenlx1MDAxYZPjfX29ls/EsG7VyVx1MDAxM+x4KDwxXHUwMDA2R35861qnqi9/oM7asKyklzeszfnrq13rR9rGTF+meucnay6NgTFrT1x1MDAxZd7+oLU2Pfk3XHUwMDA04Hd0XHUwMDAyqZV+fPG4XHUwMDEy/lx1MDAxM4KGbVxyMIxcdMBEsNengFx1MDAxM8e3KbQ104VY41CvhXvD9GI+Tc9U5/iZnnHmn55Zxlx1MDAwM0ZcdTAwMDCK16fqZ6fzh9tv2FbThJDSepJC6lx1MDAxYe6Z0GEyzjVrk4g+0GOhdr2Z63RcdTAwMDJcdTAwMDZ3JvyDu7CcO0HoyS25w/1cdTAwMTfDnTA7uENcdTAwMDE4Zox4cFdcdTAwMWHlbqy1e3iSIVx1MDAxMVpcdTAwMWJaq1CaXHUwMDFhRtDw/nPu9U/hXHUwMDFkXHUwMDAxjixR5YTfXHUwMDAxfyvAn1xc9TeAZ5aLblx1MDAxOfLuXHUwMDAxvz/o8/BqqLXW5i5zyPdBJ7bNXHUwMDA2XGbw9Of883929Vx1MDAxZem13UH+bTxcdGJcdTAwMGVcdLZg8Fx1MDAxOU2al6/+/eX/frNxq09AXHUwMDE1XHUwMDE5XHUwMDE0s1x1MDAxNZrTZlx1MDAwN1witma+P+7CUPzby/v+eHNCfrn/gNhSiXBcdTAwMGKJXHUwMDEwcfe20uVVq00lXGbhd350/390/CnF38/P4lfEaL25/tA6XHJJoPxCYvLq+2NcdTAwMGbgf8XYNb5/+Frff2r0eqdcdTAwMWH1o/vvJC3nXHUwMDExgZPT+Fx1MDAwNVx1MDAxMVx1MDAwMVvKXHUwMDEzdH70hfKUckRcYnDP+K2sPDZcIr1M4dBcdTAwMTiuZeWw67BRRHHGv1x1MDAxYvDj77hKXHUwMDFmXHUwMDE18IOWmlx1MDAxMkqR41x1MDAwNs2d9X/j7Fx1MDAxYdajj474oY/hN+bnR//mN+dSXG7KqXt+t1x1MDAxN002qy6Sq0iz2e2DWb/eRFx1MDAwZoHm9zuu4Yfxm0AoMCPkK/KbnHLgpvyGXHUwMDFmzW/4Qfpty2+LXHUwMDFj0oKhl2g+5rtwudfIJSdcdTAwMDNZNkdcdTAwMThMUnRcdTAwMTRkgot3QvtcdTAwMWZGcFxmXHUwMDA051x1MDAxMNGvXHUwMDEz9PSD4PijXHSOfynBXHUwMDFkgrr4/OhcdMtcdTAwMTnkkFx1MDAxMPcyXkuUjfqwUUvzrNbfzGJcdTAwMWFcdTAwMWbHS4qznIBcdTAwMWZjXFx+5qBQgo5cdTAwMTBnTlx1MDAwMa5cXCRbgI3siG6zT+v0+nHRXHUwMDE5gkYg+fzhMV1qXHUwMDFm07XMJYZcdTAwMDVB3DXekzFjV2DZZiZJS9q+UlxmRXuHTMDw7udcdTAwMWU1XHUwMDE0kEHE4Im23lx1MDAwMf+rXHUwMDAxb1x1MDAxZnm1XHUwMDFlN5hcbsbdXHUwMDAzfrnTi/lpopLtXHUwMDE2tSTbpIvdVEr1XepzwPu5S31cdTAwMDQ8tVx1MDAxOOdcdTAwMThyuVx1MDAwM/5qwJ+o53lWXHUwMDA2hYBIXHUwMDBmYYlcdFx1MDAxZpJx1LJcYlirVOx0O7StZ1dBg7uPm9RQXG7CXHUwMDEwktJpX+FcdTAwMGX3q+EubXPuXHUwMDEwtFxcQ+tkkHs3vZFcdNWa0cNmP6JGNVPpPoFFXHUwMDE1XHUwMDA2XGbwPm9SW9445YJ/RsS/fLWnPerJpPaggVAqss3PxyOWICSzfFJxj1x1MDAxYdm7XHUwMDA2WHKIpEUo99JxcdWKM1x0K71HXHI55pTyr2M6+Vx1MDAxMezSbrRH7aAs5yGwk9O4fda6vYfEXGLGlFPk3mTUOzA7zsTGjz2ZLjSKyWyjXlDdZKRnZYO+lmEhi+eAXHUwMDAx5lx1MDAxNNNcdTAwMGXlu+FasVx1MDAxYc2C9lKHldh4kFx1MDAwMSyQNP/4RF5bXHUwMDBm6TlcdTAwMWFDXHUwMDA1cF8m24/shoPSfDDKXHUwMDE4ubUxWLJcdTAwMTnQaMDw7mdcYoxcYstKd67SuKP9erTbOkhcdTAwMWNxKjGj7tFcdTAwMWVLRVxunf5kPsp3R4CtYnVNXHUwMDE3+4Ch3df4XHUwMDE3XHUwMDAyXGIwhpFTwPeO96vxTu3z7jiijFx1MDAxMMrduzHl+EjGu3tcdTAwMTZcdTAwMTmg7kOBw9AulH9cZlx1MDAxYeB9jIBZN55h4Lihd4f71XBcdTAwMTf2VUlSYnzUV/f7XHUwMDFiQ1nXtHRImIXSzlx1MDAxY1ZaRmlcdTAwMDdUL9I4h7u/8S+BrMeL+JSAf/lqT+Gvx8fEISRri9U+1uzt01xyM1x1MDAxZm1OVFxmf0F7N1x1MDAxOFx1MDAxMc5cdTAwMTjCwn0g+fKqXHUwMDE1J1x1MDAxMlU5/Fx1MDAwNTGTnHLHrZQgMssp/EU9gP9cdTAwMTVj14S/Topcbn5p+MtBWM7DXyencevwXHUwMDE3XHUwMDAytl2IXHUwMDA0sG6BJZ/u/SNUa5dYXHUwMDFhw8pTcfiQa4OwqGRVT1x1MDAwMGPkR/30N/pFMGfCMT1gXHUwMDFlfyr0y9NZ0lxchlx1MDAxNsNcdTAwMTU0tHY3XHUwMDFlSJJ/tL2IoP1+KYWSXHUwMDAy6ME74tNem5mdyXzdq5j1KXpcdTAwMTC5YipgcPcz+MVcdTAwMDXiXHUwMDFjY8f0rzvcr4e7bY9cdTAwMTImmFx1MDAwMJax7t47euw9VVZTsZhcdTAwMDGc3zxcdTAwMTWhuSujbcDg7mf0yzJnXHUwMDAwslx1MDAxMHDH++3wjmzDXHUwMDAxXGJIy4S27GhcdTAwMGbP9462aK06mXCnbayjlcF4WUiwoFx1MDAwMd7X/C/rzlx1MDAwYnBa6XtcdTAwMDf8L1x1MDAwNjy1b6wosOW1U+nBfjdyI/SUbLVIP5MhJNGY1esl1cO954D3N/7FMVx1MDAwM4Q4b+hcdTAwMDVcdTAwMTHxL1/tKVx1MDAwMFZLXHKqfVx1MDAxZcapsTYtLUbDbalcdTAwMDGrKlx1MDAwNsDeiSRcdTAwMGIuOSVcdTAwMTK4t5Uur1pxJvHbXHUwMDA0wH5JsSOmlnQ7l0ZcdTAwMDWRV+qEv6I3XG5/OejKefjr5DRuWeFcZm1cdTAwMTM+XHUwMDExoviHMIxcdTAwMTPdd/tJI6fB8LQrW6tcXKFMm42hXYOSYbs73Cx1XHUwMDA1XGJveYffJVx1MDAxN1x1MDAxMDGKqPWM+4H25CaBXHUwMDAxXGLJd0Ewd1x1MDAxYvbmXFxcdTAwMTLMXHUwMDEwXGZKXHUwMDEz+VfWelx1MDAxMayfY22h31/p69W13L22TPnNz948VM3fUWiMKVx1MDAxMsJDQ754RFx1MDAxNzVZLEfL1YL+eNA2YFSJKk9ZcW7t3mTEXHUwMDAzu2TsXlx1MDAxOPHwXFxdYj1AnNjZqaaT01hsVVhFMrmJRLVuilR9YOfHj3iwbaKBXHUwMDAwkvQ53u/epmxqZr5cdTAwMWNPVJpPrVirhvXuQNdcdTAwMTW3KaVCucVcYjHCiXPy2aAvNmZ+tK2aw3Inq6HsUy3yg4m4LFx1MDAxOcWxXHUwMDE5lsVUMd+frpasXHUwMDFhikVP3/Bl8W6fS0+xwEB4aYldbidilq0otW569WB9UzxGSThgcPe1ut6CukD4tP7vjvdfjXf7XHUwMDExPsjyXHUwMDFmXHUwMDEwZe7xPo9PZ5FQi5SrvfBE4NR4kH7oXHUwMDA3XGbvviZcdTAwMTdjIanAXHUwMDFjO1kjd7xfjXf7ZHrryVx1MDAwZVx1MDAwNVx1MDAwM8S9z5xs6DCW3s1WlYdlSqOlJtprPGh49zW3WFx1MDAxZbv23uF+w+Ri+4mClENcZj1NaIvmwD4xzY76yVx1MDAwMjdHSTCKlVODgOHd381cdTAwMTVcdTAwMDRcdTAwMThcdTAwMDZcdTAwMTJw4lx1MDAxNFx1MDAwNVx1MDAwZVwi5F++2tPuynK4zGu9UsRsZ0yjWdpOwp1xUsXdXHUwMDE1+2Cr5Vx1MDAwNEtcdTAwMGWol1x1MDAwZfCXV604lZROL1x1MDAwNsA6P+zct1wiiMxSJ1J7q1x1MDAwZfBcdTAwMGXScttcdTAwMGXwXHUwMDBl5WjvRMCIoIJcdTAwMTLp3mR86KKEUa1OcfMwqMTauVxcMo5cdTAwMGKK8158yNQg4s5FQlx1MDAwNFwihohjgnFcdTAwMTBpfp2ALrTNVMuHtyFS6cmm1k5qXHUwMDFipCkooNh+74NcdTAwMDPOKEdcdTAwMWXmKVxcXrTiPJJcdTAwMTf1k6Gf1U87m9SbgkqAqcBcdTAwMTJ/RtNUXHUwMDFkXHUwMDAxvXp8qoOAOlxii59DVal9iJFiQjgnXHUwMDFlXHUwMDFhvLXmvDs3082NnttcdTAwMGXM3Xirb7NcdTAwMTXVia+SgErOuIX5u4C+QCo+4Vx1MDAxMYGHk2p4sK5Oqq14pkJU7O/2TqhcdTAwMWVcdTAwMDNBJefIvSF6edGK8+hcdTAwMWFcdTAwMDF1McvgXHUwMDE3XHQo41x1MDAxOCCJXHUwMDFjXHUwMDFiP1x1MDAwNZFZn19AXHUwMDFkhMVPXHUwMDAxZbYjXHUwMDBlMFx1MDAwM1x1MDAxY3hyQDv7dH76xFx1MDAxYe1Ug0F+0Fx1MDAxZttPU1N13n/ImGaX+skpsK43dixjXHUwMDBmXCLLr9PPfbvRon00SJiHZaxcdTAwMWVNTikyXCJcbuoneac/XHUwMDA0ZoxcdTAwMTHGPEzDvbhoxXl0WT85UEM/oeCIXCIhyVdcdTAwMTRQ7lx1MDAwMf0/J6BXj/tyXHUwMDEwUFx1MDAwN2W57Vx1MDAxMLBrXHUwMDA1lFGJXHUwMDA1PW0o6Uj8ymNnWuhcdTAwMTTpIZSIPtTKgzLorFUn/pmA3iapy6WAWieDXHUwMDAxo+jugL7UXkRlMUFcdTAwMWY7sPeUX6HQfpSrV1LBXHUwMDEy0ONY8+NTzH1cdTAwMDT38qJcdTAwMTXnkY2AXG5VXHUwMDA09JhewPGnpJY6XHUwMDAyevU8XFynKdjvK8ttp+ReK6CWvcaOM1LcR3BZtr/fXHUwMDE5Y85cdTAwMGaPK6hN6/FYyFTecj5cdTAwMTPQ21x1MDAxNFx1MDAwMbhcdTAwMTRQTFx1MDAxOcbHbedPyPLrXHUwMDA0XHUwMDE0R/V6I9ZFh/2O4sUuXHUwMDFhj0VcdTAwMWLpQFx0KOVcdTAwMDJYRPKQjHd5zYrT6LJ+XG6mhn5cbsy+VPK1XHUwMDFm4nn1LFpcdTAwMDfxdFBcdTAwMTVfJ9TaJlx1MDAwZXKEIbSePO7Dt7PcQ1xu53egWCto89y0XHUwMDFj38Ol4tM5XHUwMDE4+Fx1MDAxMPF0l3LOpLTcfSSdklx1MDAxY3Za7Fx1MDAxMFtqpexGj5VaXCJrLFkhXHUwMDFjSJJ/fIWFbb5cdTAwMWOmx+Cedf1dw716XHUwMDEw4yWmjV6zWTeWXHUwMDA20uJPVcWbkLyBu59cdTAwMTV01vNcdTAwMWTz4yxcdTAwMWEnW/GO96vxTm2H0UhcdTAwMGWgoJS6L5CelGRXW1x1MDAxOPmaRiY1Wq1cdTAwMWPM0Vrx4OJcdTAwMWK8+1lBh5EgXGKftlx1MDAxNLvD/VfD3T5cdTAwMGKFUVxiLcB4XHUwMDE4Mlx1MDAxOEZkN8tOmlx0MTVcdTAwMGX9VmWup1x1MDAwNopcdTAwMGZfeot3X/tcdTAwMTNiXHUwMDAxXHRCwMlpuVx1MDAwM/5qwNvPp4XHxGWIuIdcdTAwMDd88oGU5INmdjMjLJP9Wr5cclabgFx1MDAwMd7n/oRAXHUwMDAyRoX4jIh/+WpP0a/sg7lcdTAwMWGH1/nSLHOYRNq1ejmyOShcdTAwMTj9eqeXjFx1MDAwNPK5k4z7KPLlRatNJEtcdTAwMWTVLaCj0jpcdTAwMGaBsFNvmSDySp3w162m0zroip/Tablt+EtASihgxP2mMW7QfWKtjbNk3pLJ2eNy1403XHUwMDE0Zz34kH7W7vaOjldcXFj6fVx1MDAxN8+/XHUwMDEx1Xh4XFwkI6lMaN9KJFx1MDAxZjvjRFZbjVx1MDAxNFx1MDAxNE9i2yWbQkIpXHUwMDE0XHUwMDFldmAvr1lxXHUwMDE2XS4+V6V4XHUwMDBlYsHEMd7zdVwiXHUwMDBmfsjnrZL/XHUwMDFkdMXP5H9uXHUwMDFiXoRCSIS5h1x1MDAwNl1RoyRGLFFaXGaSqVx1MDAwN0k2oVlWdFUnvkLyXHThcVx1MDAxYSfh8DNcdTAwMWHJ1+mn7Gxx3Fx1MDAxY2PSLLVcdTAwMWbMeSZGt31cdTAwMTWdT/soPcSUMOKl8e7lNStOo2v081x1MDAwM1NcdTAwMTchOaKB08/IrM+vn1x1MDAwZcLiq37atp3gWFDEiVx1MDAwN/dcdTAwMTOZqJlcdTAwMWE8VImMllx1MDAwZZu+Vi7pRPHpkG/108fiOVxukYV38Sl3o6+Tz3atP0wlOmT6uFx1MDAxOOSWoexcdTAwMTBcdTAwMGVcdTAwMTdTXHUwMDE15fOdJkiCnlVtOdHo8qJcdTAwMTWn0WX9VKZ2TlpQ4IB9ym1cdTAwMTEn/Vx1MDAxNFx1MDAxZdD/c/p5q9o5XHUwMDA3YfGzdu5cdTAwMWT9JFx1MDAxMnrq3dKt5vb5tXnQXHUwMDFmQ/slfWRcdTAwMWNuY4pPI3wjn76WzmFLOp+Lzz8hya/Tz4rR6GqpfLjfXGIvNG3QqjEjhVx1MDAwM6Wfx5Mg7HTfzYlGl9esOI1s5FOVyjnrWYRcdTAwMDFgzKmrQ1x1MDAxMJmljnzeqnLOQVj8rJyzl0+JISDYS/9tsKKT2HR30CrJNW5cdTAwMGZXw3h1h1Qn/pl++lk5h5iUnGPwXHUwMDE5SX6dfHaT2bhYNGpTfZEmXHUwMDA32lx1MDAwMkNEXHUwMDE3gZJPXG5cdODHsi33VujFNSvOosvyqUrhXHUwMDFjtJTEskolu3uft5TPW9XOOeiKn7Vz72zbXGLGKVx1MDAwN8SDfj5cdTAwMTVcdTAwMWGHXG4qplxmmdRgXZZYoVx1MDAxMWkqznz0IfrpsniOS2ApqKP7yXo9NF6bnUQ13lx1MDAwMYdJTkO4V1x1MDAwZiTLXHUwMDE1qq44ppljdFrJ5bjbn8/vjfXjIHYg1UFcdTAwMDdEm8tttVx1MDAxODC4+zt+jmJcZlx1MDAxOXPMlrvj/Wq8M2SHdyixJbKMe7DswsnYYZyWiVI5llx1MDAxZEcyO1ncZUjAXHUwMDAw72f1nKBcdTAwMDJDTlx1MDAxY4Mgd7xfjfd3srlcdTAwMTAk7Dhz0f1cdTAwMDM+XHUwMDEzaXfqjfR0O5o+wEyGdPOVhOrNXHUwMDAw3uDd1+o5iVx1MDAwNFx1MDAxMIg6dVx1MDAwM7hcdTAwMDP+WsCfzr0/N2ieXHUwMDA3uSDuofdib9UqXHUwMDFk1lk9XHUwMDAzcpPu03AxNshO8Z5xb1x1MDAwMO9v9Vx1MDAxY8WEI+TcfDGIiH/5am8hMFx1MDAxOFkuW1FzntwltqFcdTAwMDPtNFx1MDAxYm1cdTAwMTWbL0L75lFcdTAwMDJYfrAgXHUwMDFlJpdeXrTiROJcblfPQVx1MDAwMKml4M75/0EkljpcdTAwMTGwk45OvzRcdTAwMDLmICznXHUwMDExsJPTuHlcdTAwMDRM2FuMXHUwMDA0W/ZcIpJcdTAwMWVcblx1MDAwMLCeWjTr1Xh9JIbxTsuoPCTDUdV5XHUwMDBmPsJidDs9h2LKXHUwMDA1+pQu0nX6qUf5Ypybd0e7Sa25IfvdsFCLKqifJ7bQm74lXHUwMDAyXHUwMDAxyLGHNmyXXHUwMDE3rTiPLlefq1NBJ1x0Y1h8Smqpo6A3q6B7X1n8rFx1MDAwMFx1MDAxMLYxRkKYPJrO7lx1MDAwNbS2XHUwMDBiJbqzyoCO5klcYoazSD+9yKpOfJVcdTAwMDRcdTAwMTRcdTAwMWaTlKEkn5Hl11x0aClVXHUwMDE59ypjU0T02qE/jffmpVx1MDAwM1VRQG1pRCWTkDNcdTAwMGaRy8trVpxG1+jnx+VgWH4wooA6XHUwMDE20Fx1MDAwNZFYn18+XHUwMDFkdMVX+bTNvbJsZoa9zT9P9qfTdVwi/zBAZlVbgU5cZshCUnXin+unj1x1MDAxNXSCYYpcYndMtFxuXCLLr5PP9Y7LxnRQrIJuvGaG0tFSJG6oKJ/2fTNcdTAwMDFcIlxiXCIvOYyXXHUwMDE3rTiNLuunMlx1MDAxNXTWXHLgXGY4to5cclwis9TRz1tcdTAwMTXQOeiKn1x1MDAwNXT2+kmxpS2cMfd2s1x1MDAxNl+O6VMnPDcng6Q27uudVkH1fujn8ulnXHUwMDA1nYBcdTAwMTTIY1x1MDAxMuMnJPl18lx1MDAxOTpUystUpzNoPzVk9qCJXtrQXHUwMDAyJZ9YWN4nXHUwMDEyyH1cdTAwMTPey2tWnEU26qlIXHUwMDAxXHUwMDFkPTKLky+USfOqntJcdTAwMDP2f049b1U/5yArftbPveN9UmFJXHUwMDBi8aCeqVUzXHUwMDE0b26JXqHtJMuwVlx1MDAwNFx1MDAxN1Tv23Sunn7Wz0lcdTAwMGLsXHUwMDA04Hvs9lx1MDAwNVHT9njcrMVcdTAwMGKFslx1MDAxMVs9lHf17tgoXHUwMDA0Sz25oMTD3PPLK1acQ5e1U5nqOctcdTAwMDW2xIR/xcjtx2nnrYrnXHUwMDFjRMXP4jlm73lcdTAwMTJcdTAwMGWJXHUwMDE00H3EXHTNh+31XHUwMDAyhqotYqzzxrSyKbOQ4rwnXHUwMDFmop0uc81cdTAwMTFcIsf+wNxx8lxcqlx1MDAxNDeGOZaM5tZ9XHUwMDFhXHUwMDFi4eWeplx1MDAwMsnyjy+usJ9PbsGdI4Cge2MxXHUwMDE3SlJeyembXHUwMDE4pMlxrjnXsjPVe/2dXHUwMDAz3s/qOVxmpbA0jTv2Krrj/Wq821p1XFxycmxq6z6xpT5uaatMc1x1MDAxMDVi2ad9bTPbjjTVI4vncPezdlx1MDAwZVx1MDAxZfVcdTAwMTRbN/+O95vh3T5cdTAwMTaAXHUwMDAwQfjH9odOgF+MXG5bWS+1wl1CK5k8XHUwMDFjbpJTXHUwMDEwNMD7WDx3XHUwMDFjXHUwMDE3xIRwXHUwMDFltXjH+7W1c8h+5oekXHUwMDEyMVx1MDAwZdybMz0tntbDmdrjpGSWXHUwMDFiofk0lyk/XHUwMDA2XGbu/pbOISC5kFxmOrcoXHUwMDBmIOJfvtpT+GvRSIVcdTAwMWL76qxcdTAwMWJOteNZ8oSXLf1RwfBcdTAwMTdk9kU00pJcdTAwMTXuZSb15UUrziSsdO1cdTAwMWNcdTAwMTZcdTAwMTJ9JSXxI/51koz/a0vn3lx1MDAxN5bz+NfJadw8/iXt41/SephcdTAwMDNcdNyz/lBKy0lcdTAwMGKbo+qwXi+tqk/J8GKgOOsx+1xic9Hd3lx1MDAxMUGIQVx1MDAwZZ0n51x1MDAwNJDk14lnZdqpUL2kz0OJ6UhfNfPZ1T6voHhyW1x1MDAxNmFLOSGX7lx1MDAxMy8uL1lxXHUwMDEyXS47V6VsXHUwMDBlMVx1MDAwMVx1MDAxOcP464SV/Vx1MDAxMM9bpf07qIqfaf/SPl/ZXCKDOGbKesi40lxus3Y+rZFcYpiOZ6N4dKi1TNWJr5B6QkY440LAz0jz6+SThkFZj5LUUyqrR0dap72IV9IqyqdtXHUwMDEwXHUwMDA3XHUwMDAySSGl1MPU88uLVpxH11xi6Fx1MDAwN2ZfWDAgXHUwMDE2XHUwMDFjnIdSXHUwMDA1kFqfX0FcdTAwMWSUxUdcdTAwMDVFwLb1XHUwMDE5hFxiyedEdPfMX1xy9dlhm4ckXHUwMDAxXHUwMDFiq8FgXHUwMDAwklx1MDAwYtVHt75RUFx1MDAxZlx1MDAwYucgxoBi4DxcdTAwMWYrgCy/TkBNyiq96jic3fc32Vpxj1s1XHUwMDEwU1BAxTtZXHUwMDFkkpPjv+7DOJdcdTAwMTetOI0uXHUwMDBiqCqFc5JcbkogQ45TNVx1MDAwMsgsdfTzVoVzXHUwMDBluuJj4dw7+omJeO7972Fya1wik8dcdTAwMWJcZpL5ZKZcXNzXXHUwMDFlKqNcdTAwMDfVW+Wey6evo+csXHUwMDEz+Tj9nNz1829IZc1lLZrb1Vx1MDAxOc9cdTAwMWJ6WVx1MDAxZvXHtalcYpZ+Qlx1MDAwNLFEp1PPnHh0edGK88hGP1x1MDAxNSmdg4BYt0C4mD1cdTAwMTdAaqkjoLeqnXNQXHUwMDE2XHUwMDFma+fedUCBIJJyXHUwMDBmrUO3scqoOppcdTAwMTTgmmUmQFx1MDAxYcttXHUwMDAxrVVn/pmC+lk8XHUwMDA3redcdTAwMGY9+iqfMc50nYKGZlFcdTAwMDP0Qb1STI7S2qPGi51sJVhcboo4opIjXHUwMDBmRaiXXHUwMDE3rTiPLiuoMlx1MDAwNXRcYlx1MDAxM+s/KD9jcoGDgnLgXHUwMDAx/T+noLeqoHNQlttW0NlOnLTl/HGCKFx1MDAwMl7mtOBDptHZrbJsvyP9QyvyMHjU7HZthu3ucLPU/Sc9XHUwMDE1WH6XXHUwMDE2XHUwMDA3XHUwMDAxpIiKk02q4+fJTXxRKNn304eMQ8NgQjlcdTAwMTCIOLH+K3M2Nu3ovZ7e++14Va6k79qc23H3h/M+J+rl3/bC2X/8dfm/tefzytq6kNZrfzLYutVG76+r8XpcdTAwMTLftob+pF3Qmf7zP8db+vxcdTAwMWM4Uk4/3qnf//jHXHUwMDFm/1x1MDAwNU2iLEUifQ== + + + + 0A213BCDOffsetsA00123B00123C00123D00123Embedded Ids \ No newline at end of file diff --git a/docs/img/dynamic-hash-chain.excalidraw.svg b/docs/img/dynamic-hash-chain.excalidraw.svg new file mode 100644 index 0000000..f870ba0 --- /dev/null +++ b/docs/img/dynamic-hash-chain.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1daXPiSrL93r/Cz/P1wq29VFx1MDAxM/FiwmDAXHUwMDFixlx1MDAwYl7wvFx0QoBcdTAwMDCxiUWsM/e/v1x1MDAwMtsghCQkW6LFdNPRtpGEVCqdPCczK6v494+Tk1Nz3tdO/35yqs2qakevXHLV6elcdTAwMWbL7Vx1MDAxM2040o2e3IVW70fGeFhdXHUwMDFk2TTN/ujvf/7ZVYdtzex31KqWnOijsdpcdTAwMTmZ45puJKtG90/d1Lqjfyx/3qpd7X/7RrdmXHUwMDBlk5uLJLSablx1MDAxYcP3a2lcdTAwMWStq/XMkTz7P+X7k5N/r35aWjfUqqbaa3S01Vx1MDAwN1a7Nlxy5MS+8dbordqKIGaIQVx1MDAwZfD6XGJ9dC4vZ2o1ubsum6xt9iw3nT5cdTAwMDFxPlx1MDAwMryCafemR1x1MDAxN6V6bvqa3Vxcta53Oo/mvPPeXHUwMDEzarU5XHUwMDFlWto0ModGW3vRa2ZT7oe27evPjVxm2Vx0m09cco1xo9nTRsv7XHUwMDA3661GX63q5nx5XHUwMDFlsNn63lx01uNm8lx1MDAxZFE275efQFxm2K6dNjqyt+W1/1x1MDAwNlavzdUrarXdkE3o1dbHmEO1N+qrQ/lMNsdNP+5KXHUwMDAxSWB9bbq2qemNprk6ZHN1bdXTXGJcdTAwMDBcYiDicNMny2v2L2urh/4va1/0alx1MDAxZn3RXHUwMDFidzqbZi53ZOxAsYLF8lx1MDAxMJVutpi4qUybXHUwMDAzYLTM/F2lcH+ZXt/KXHUwMDE2stTh0Jiervf89YfXeW/x/fCFZWrocfzayfTzb8+AjPyd9+OvzZ2O+zX1XHUwMDFkhpBcdFx1MDAwMoFCKYJcXFnv7+i9tr1cdTAwMTM6RrW9Qe5cdTAwMGZLg4NZXGZcdTAwMDTCzWQgkeZCXHUwMDAxhMK3ySxoLfOweLlsjzu9bmrI6zV4c31sJoNJdCbDRVJYXzyGJkPucWHYXHUwMDFm1Sfn6fYjac5y85yRXHLBZN5e5jg7gsNcdTAwMWObXGZEd9xoJWhBXHLhvFVQTF/C52r5ad7KXHUwMDE0lWLqdvCohHDeXGbKdTNcdTAwMTdAa19cdTAwMDO9kyqekdvz81xcXGLnjYqSXHUwMDFleXlcXOrTi/vBYtFcdTAwMWG+NFrpxOAqLEpijDBcdTAwMGJVREpJXHUwMDE2nNtVnFwiXCJcdTAwMDBQ/DNSpTx5nDRfZmphJGZme75YLCA6NkZcIujXXHUwMDE28do8/Vxc7yckZ1x1MDAxNF7PjY6izM9bnXiKranNTEfPXHUwMDE0ucqs7ElcdTAwMDVyXHUwMDBluW9QP1xcvz7UJpV6tzlcdTAwMWJcZl76jWflap6JPaiZzTNcdTAwMDXRgVrgJKe7QCaKXHUwMDFkyJBcIqpcdTAwMDDCiFxiXHLIrlCDSIFcbscwXHUwMDAw1DaP1OiZj/pixYFga2tW7eqdlduy3rzCoOyi1Fiey/y/3p2h90xcdLrTrSPOOnqjt9JPbbl3XHUwMDBitKYuo7P1XHUwMDAxptHf7K3Ka6p6T1x1MDAxYl7W7G03hnpD76md4t7ryzvXLj6fXG5MXCLLg1x1MDAxZWnLnSvS+7qEcGDf+GltXG5FmEuT929sV+xcdF5R/FArkVq5n0ikWsVaM+7Gxu1cblx1MDAxMp2tYVx1MDAwYiDXlrZl3Fx1MDAxZqYmO16RkmExTKuprSn7tNW4LFKYy169Xik3paJcdTAwMThIQLU+KT1G8eGhpcVcdTAwMTPxjLohXHUwMDFlYi5cdTAwMTQq20F9Q748bpznXHUwMDBizMh12+1madosn4NR7DNcdTAwMWZcbtiGfISJXHUwMDBmpDhAnu1cIl5hXFzBsut5PFx1MDAxMO/oo1hcdTAwMWX7q4bzXXORJYvKvNhPp1x1MDAxYfPXhlx1MDAxMUNfXG65xlx1MDAwN1x1MDAxMDEkXHUwMDA0XHUwMDEw2H+A4HzTzli3YfanIZ2xJOTSl6BbgOfYXCKkX4D83+qq9IbQLtwh4UlGXHUwMDE5cvCoME6y3eBcdTAwMDByXHUwMDE5LWKCXHUwMDBmXHL7fa5cdTAwMTdcdTAwMGWATEfXS9na6uV6nfznZKJ2xtpXfa6uXqtZmX7b7drH0Due2G5z/LhgiH9DkJh946eRUlxuKKGCXHUwMDA2XGLiu43e4G5Be7lW/2bQfnorXHLysXfB7HpcdTAwMDR/ZUGKh5PEXXPdSDZcdTAwMDTIrlx0XHUwMDEwXHUwMDE3LFx1MDAxML5cdTAwMThcdTAwMTRcdTAwMWLPXHJ8dX7++jR+S5vZctxBaY9cdTAwMGKswIl9YJB7vHxcdTAwMWSY5UzztlLElcLTeZ43XqJcblxmvpH9PbSf5I1518RcdTAwMTNXuOx1jP1DvtbCTVx1MDAwMorpXHUwMDEyazymUl2qXGZf55W4Q97OwzjCvFPYPHwgxO9cdTAwMGJcZniZ8FJGaLPb9l3+sZXLNFx1MDAwYqNiXGZcdTAwMDNcdTAwMDPs6nNcYoSwfFx0/1h3vue4Y905MsDwm6GBJ+iDhlx1MDAwN5xCRVx1MDAxMWBfdFx1MDAxMDr241x1MDAxM1x1MDAxZJxFXHUwMDFjXHUwMDFk7OFpe3Tg0Jyoo1x1MDAwM1x1MDAwYlx1MDAxN+xcZodgTIiwXHUwMDBlNu4zVfxy1rhP37avhuPJY+VcdTAwMWFVXHUwMDFl071cXOxN1SZL5LcsnVx1MDAwNJSlSq6ceFx1MDAwMKX+41ifvrz1XHUwMDA2iyzUUnGUJexcdTAwMDZ2jFxigZI5oW+sO9+zM9bjna5cIt9cdTAwMTWlsPJVXHUwMDEwXHUwMDAxiXzMlIPDfp9cIpFcdTAwMDDI/J5cIqUjVqQ9XHUwMDE0bVckh+ZErUiK+1x1MDAwMD2RXHUwMDAwYdhKi/us9K72cJm/muW0y1x1MDAxNCT0aaCpd7d63Fx1MDAxNcmeXHUwMDFioFx1MDAxMVadhJ5cdTAwMWKoXHUwMDE0Umqn3n8+I/1cdTAwMDZN5aYpw9BzUeVcdTAwMDaOqFx1MDAxZcXbXHUwMDBic1x1MDAxNSYu+1x1MDAxZFBcbv1cdTAwMGJTO53V31qT6lx1MDAwMF9cdTAwMTSaqDR/q91cZntxh7zdXHSjXHUwMDExjpOH7YSFjviYYNI1R6twhKAgzP849sXkXCKxyI+1mXqTYZ3yuNI36p1jwyT7jclcdTAwMDNg8p2nnfxcdTAwMDLiXlkhXGLl0jNcdTAwMTD+WdK7tjqmiLSK9b5Bg6pAKlK/jkhoXHUwMDE5XHUwMDE2XFwjXHUwMDEyXHUwMDAykkRC9rNcIoEoXGKweOqfXGKFSDAkQ1xuZ4Q6Q2+j7J8wQFx1MDAxZlv++lx1MDAxMlwiZVxmQVhcdTAwMTBEWnpRXHUwMDFkmim9V9N7je2GfUyIeveiU7edl4ReXHUwMDFmsOxTolqBZ7VrvdW1+Fx1MDAxZNLLr46XrUyAJFx1MDAxNkx2XG4khEFcdTAwMDE4xZajXHUwMDFhan/Z6J171Xq1/W3wnuKx3Vx1MDAwNsKBsuxcdTAwMTjCXGJcdTAwMDaMcD+N6KgjM210u7op+3ZVOWjvw1VnnS3ttampO0WI8ias+yTadJvW9Jcn3SauzV8nXHUwMDFi7K/erP/+11x1MDAxZo5HW/C6eruD1M1cdH5Yf1x1MDAwN+YhhlxcXHUwMDAzXHUwMDE0XHUwMDAxOVY4XHUwMDAx/mnIu+otlllcdTAwMDTKNtd6XHUwMDFmxoFJwSFcdTAwMTZcYlxiXCLNj9paXHUwMDEyiJJcXFNcdFxisiSnXHUwMDE0Y4ni1Vx1MDAxY4hN9mDDTowkXHUwMDE5XHUwMDAwTD5cdTAwMDPpNlx1MDAwYio2Yftnylx1MDAxYmKGXHUwMDAxXHUwMDEwXCJIlXHY7Fx1MDAxNFgvg7KT93xJXHUwMDBiM6yIgSAk42qCJDEoxHLQt8jJu1Z3q1x0lClcdTAwMTBIeiRcdTAwMTRcdTAwMDJMqbLTXHUwMDA0lESSPJlcIpZcdTAwMTlpSlx1MDAxOTt2qnLH8vKV2IVxWNTF3YtTV9bLMPfv03vPXCKLJXXZ/SfsUVx09Fx1MDAxZLKyVlx1MDAxOFmSKnY2XHUwMDEynFx1MDAwYlx0fFx1MDAxZWTuTuiuXHUwMDEyY1x1MDAxY25aXHUwMDE2Plx1MDAxOeVcdTAwMWZep7hriloqUdd6gN48TPiri5tcdTAwMDJtr5/iK9lcdTAwMWLxX+gqsa3jkeVcdTAwMDPf5Fx1MDAxN8U9RENcdTAwMTBcdTAwMTIqNcb/tH/v6aRHQTBeY4lcdTAwMDcgXHUwMDE4XHUwMDA0XHUwMDEwJZS4XHUwMDE1XHUwMDAwXHUwMDFmiGGkiilfXHUwMDFhQPHJMM9Mv5nMm41uelAvvfB+lz6IXHUwMDA3Z1/j51x1MDAxM8wvyC+JwFx1MDAwNFx1MDAxM3zuJllOilx1MDAwNlxu8O++gGuAi61CqkxcdTAwMGLXXHUwMDBinGiWjTwz480uxF6p8L1xIVd2kf4nplBcdTAwMTAsmOCIUYdQy4lriFx1MDAwMPIpKOFN4FxcoybcZT/+8DpvVGtcdTAwMThEtebCN9aI+DRFN+pcdTAwMGVp7Fx1MDAxYrKtreux743drMe+jU5HX1r1/7hcZn53tPo2L4QzPdbpuvZRbmqxpPUwNySeNPbl9V4olGGfQlx1MDAwMlReXdw+XFywKrytmHr5uTmtqrmM1CtnNotNOlx1MDAxYsJjLoInXCJntko0fXWlXlx1MDAxNK7uRDb9XHUwMDA00kcxxLJn0Vx1MDAwZndcdTAwMWaeyEZAgYV/XFz2q102eVaz53WKq93qzChkXHUwMDE3T7HHJTriSvXQYemsPvtKXHUwMDAyp2dUvVx1MDAxZD6J7u317H52czslJS2Oy4G4l1x1MDAwNFx1MDAxMlxmOFx1MDAxMCzA7Djne461S1x0UUSF6mHVXHUwMDA0Yo6gfFx1MDAwNsw5R/Yz2PjDLaJcdTAwMDGQ6eRcdTAwMTb5L1x0PI+4JHBcdTAwMGZH270lh+ZEXVx1MDAxMlxiXHUwMDAxt2+15JVcdTAwMThiJMA8cz2fZjT/llvk0/3My5ScJXqzs6OTpGOqUo+JJLVcdTAwMWVe7setu+fXkYZgOz+cNDpvWlxmJcniqNpcdTAwMDdpXHUwMDA041x1MDAxNONcdTAwMDDjy873fJSSXHUwMDE0mzJ1jphcdTAwMTDSRpxcdTAwMTNcdTAwMWS/hCRlXCKWpD1cdTAwMWNtlySH5oQgSaujnNTIY4VcdTAwMWZAXHUwMDA0hTDAKGpWrd9cdTAwMWH8qfmI1dpwJPJsNHv+Ulx1MDAxYZLYtq8/VTOWWeNw43Z7fPS9uN3VMJ10aFeG4NIgXHUwMDE1hn/mMGpoNVx1MDAxZPa8vcuekEdcdTAwMDS29oU6XHUwMDE2oLhcdTAwMWT+w/o78EgjZq5xm1wiXGLgNEh1sncuOZZcIrlTyeAxXHUwMDE0cICBRsIgpFx1MDAxOIqfWskgXHUwMDAzdrLh+fDHXHUwMDE5IVx1MDAxYj00U9ezRcOsoPR9935MZpNcdTAwMDOPM1x1MDAwNijt+j3OePJleqHUazF2oHBA/Fx1MDAwN5zeXHUwMDBimMSSXnZqPFx1MDAxNZykgGBcdTAwMTl+XHUwMDAwylx1MDAwNY+qxtOh5Nx2YbizcixcdTAwMTGEU8WaXHUwMDAxOGL5XHUwMDBmo75cdTAwMDAgzFx1MDAxMeeQMoUqjHHLUd+rcfBcXGdpq1xyXHUwMDAwXHUwMDExwTClXHUwMDEwSC3GXG7kflxuS4+MfSxoXb5cdTAwMTI7QFxyi4yYe46aXHUwMDEzhMRWXHUwMDA14d6VgzxnTFx1MDAxZVx1MDAwNVx1MDAxOVx1MDAxMYaTirR5LEEm/0NcdTAwMDXbmlx1MDAxMlx1MDAxNlx1MDAxYi2zXHUwMDAy0qlR3n9aapg2XHUwMDE151x1MDAxNCdcdTAwMDGRXHUwMDAxuGxcdTAwMDRmXG7aISdGOVwiiLqssfJfQk7eS/ufbM+GYYxcdEFcdTAwMDFDnKFl9WtY7OQ903u7XHUwMDExXHUwMDE0XG60XFz7hsrAXHUwMDE1cYB225DEhClcdTAwMDB+/FTo8ZOVXHUwMDFimJevXHUwMDFkXHUwMDE4XHUwMDA3pC7P5L07e8mrcdm9IECo5l3rXHUwMDE3S/pC9m+1ibDIgThEa2QnWlx1MDAxM4xcdTAwMDEq5TnqSq29q5lNaV6vzlx1MDAxN2mRzUIxTi1YK89cdTAwMGZQqPWJaa9Yklx1MDAxMlx1MDAxMSSd6mlcdTAwMWWuiX7XtZdcdTAwMTCQ1yfSifNcdTAwMWZlOHdmvC1DkCQkwJp4fzdcdTAwMTAlMlx1MDAwM4EwuT2ysElq7ExcdTAwMTbjXFx6ctRldCuW+XuwtdVrSDmivP1cdTAwMWV63lx1MDAxOUpcdTAwMGWWr/9wqb+kQu6Tx4WUIFwiXHUwMDFkXHUwMDEx/6ZWXHUwMDFhXHUwMDE3itnH+yaY5kpcdTAwMDKX8HiqatWYm9pcdTAwMDG/yOi4RFxiXHUwMDE1jPqiNZ6mqjetXFxcdTAwMWKUzapcdTAwMDGeY/JNX8gyUzsqXHUwMDExsjyZXHUwMDFk94xj6aKJXHUwMDAwX/Ll3JnxtlxmZ1x1MDAxMVwi6Fx1MDAxN1x1MDAxNSFcdTAwMTZcdTAwMDBw31x1MDAxM6FMRFwitIeed1x1MDAwNo9cdTAwMGYnQu7L4mJGkaJg5N/UxORJr9LyOczdXHUwMDBmnl/ZrJYlTzFfOWBHhFwiXFyI/7hESH+tauVcXDu9uGlrb7lS/7r+dPdcdTAwMThMLJBCaVx1MDAxMNv9klhg11x0WIzR1bLOXHUwMDAx6vBcdTAwMWPvOd5cdTAwMDB20Vxu9lsrXCLWimxEWrGHRe1akT2cVlx1MDAxMNfkXHUwMDAwXHUwMDE2eJnGY/5XwfReriiepnbAr08/Lq1o1Fx1MDAxZkaNXHUwMDE5nlx1MDAxNVJkXHUwMDA0M3onkb8v5mIwXXCpQculrlwiXHUwMDBmWNy/R1x1MDAwMyqUXHUwMDEwwvxrkHNfxtswnDVcYv3WoKg16CxcIlxy2sPOO19cdTAwMTJwOFxyYu5LMVNcZlx1MDAxMOSI+lx1MDAxNyHv8ql42pp96CbCSVx1MDAxN8clQmjU6pV4ZU7K9/1qq/hyQe5H5z97LnxUa1x1MDAwMkQrmjLo55FcdTAwMGY1Udf0t0IhYyTIN1x1MDAxZjg/+3hcdTAwMWKyy0hcdTAwMTP4RUWTXHUwMDA3wNv3RDNcdTAwMTWRaO5Rk53v3TycaFJ30UTLdYqlqPhcdTAwMTdN79XT4mlrdtGMcNns41x1MDAxMs3RQ4blau2UXHUwMDE43k1yL/Ns4l6dnlx1MDAxZEA0fYhcdTAwMTAhXHUwMDAwXHUwMDA2qZ3/klxiXHUwMDEx91m8XHUwMDA0UCqlMIA76dyZ8bZcZlx1MDAxN1x1MDAxNVwiv1UoYlx1MDAxNUpHpEJ76HlnoaFQVch9XHUwMDE5RuHq7WGEXHUwMDA0glx1MDAwMPv39ryHuGNpZzurMHooUOiTo3bnycdjXHUwMDE1RkZcdTAwMTTxJYPzWVx1MDAwNOw96npinVx1MDAxZID49j/LQYdahPFcdTAwMGJNOLKKX/vkKOY6OerHxzlO1X7/0ZSwWXexxKles5Ht6UTXpiknK1m9lm7Hqs+WzKCtkPzXj7/+XHUwMDFmXHUwMDFlhfnvIn0= + + + + BucketPointersB | valueA | valueC | valueCollision!D | valueE | valueDEFABC \ No newline at end of file diff --git a/docs/img/dynamic-hash-extendible.excalidraw.svg b/docs/img/dynamic-hash-extendible.excalidraw.svg new file mode 100644 index 0000000..490d83f --- /dev/null +++ b/docs/img/dynamic-hash-extendible.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1daXPaSlx1MDAxNv2eX5Hy+zJTXHUwMDE1eL0vr+rVlI0xxoBcdTAwMTdsjPHUlEuAXHUwMDAwXHUwMDE5sUqsr/LfpyFcdGAhgWRcdTAwMTBcdTAwMTZJcMUxkkDdrXPvuUv37X8+ff58Yk+6+slfn0/0cUUzjWpfXHUwMDFinXyZXHUwMDFkXHUwMDFm6n3L6LTVKTR/b3VcdTAwMDb9yvzKhm13rb/+/LOl9Zu63TW1ilx1MDAxZVx1MDAxZlx1MDAxYdZAMy17UDU68Uqn9adh6y3rP7Pf11pL/7vbaVXtfnx5k5heNexO/9u9dFNv6W3bUt/+X/X+8+d/5r9XWtfXK7bWrpv6/Fx1MDAwM/NTy1x1MDAwNlxu6jx43WnP21xuXHRcdTAwMDWSc0bl4lxuwzpXt7P1qjpdU03Wl2dmh05cbkCeW4CXMW1l23RaqqVGT1x1MDAxN8u71lxm07y3J+a3kdAqjUF/pU2W3e809aJRtVx1MDAxYrO7O44vPmd11CAsP9XvXGbqjbZuzfpcdTAwMGZcdTAwMTZHO12tYtiT2feA5dFvg7B63Vi9I2L5fv5cdFx1MDAwNlx1MDAxY/dOdEw12uref4D5a3n3slZp1lVcdTAwMTPa1cU1dl9rW12tr57J8rrR915cdFx1MDAxMFx1MDAwN6svvLiioVx1MDAxYvWGPb9keXd9PtJcYlx1MDAwMFxiIOJwOSaze3bT1flD/9/qWLSr38eiPTDNZTNnJ5JOoKyCZeUhXHUwMDE2q1x1MDAxZJ7h9VxcQ/BH2Vx1MDAxYlRIznzoLbryXHUwMDA2WVq/31x1MDAxOZ0sznz9/teyRYNuVftcdTAwMDZcdTAwMTfIJIFcdTAwMTBcdTAwMDNOXHRcdTAwMTGL86bRbjpcdTAwMWJrdirNJcLmR79+eVx1MDAwN7Ih8oY2Z4xcYoI59lxy7SmtJvPTYro5MNutsz6vVWE2c2zQRiQ8aHNcdTAwMTmXqy9cdTAwMWVBaIvWxUMsW1x1MDAxZTV6oPNq527LN3fphD9of9n0vWP7uXrFrVGuTzPdQk0+y1x1MDAxMa/sTWRcdTAwMDRQUnMgkVx1MDAwMZ5cIiOFXHUwMDEyXHUwMDE39Vx1MDAwM32LTPlleD9sXHUwMDE0x9qNJcd2czKdTiE6NpHB6Odng03gY4BcInxcdTAwMTjwXHUwMDAx6Fx1MDAwNT5cdTAwMGUkXHUwMDAynGP/6vq2mk/nrsYpPX2m7JhCT9dur42oY487sEdDxN4qrlx1MDAxN2hDbFxyblx1MDAxMGEuXHUwMDE02lY0UJhcdTAwMWHa5jeJdLY7aFx1MDAxNqb3ud4gn2WSob1pUlx0XHUwMDA0XHUwMDA1XHUwMDA3XHUwMDAxs2BeWMZcdTAwMTRcdTAwMTHCJfavR5uJXHUwMDBi4/l1WOnhy5tcdTAwMDYqTZ6r2X476lhcdTAwMTbAgeVcdTAwMTBNXHUwMDBmJFxcsOxcdTAwMDJlwbjAXHUwMDE0clx1MDAxZTKUfyDE1sf2W+x+e6CxZy11fpkrXGafmk9nXFzP6NZlklx1MDAwNEIyZIhhvi8kv2nnqkbGXiCGXHUwMDAwXHUwMDEziFx1MDAxOKP+UezeaXdcdTAwMTQ70PhhXHUwMDE45iSOV1x1MDAxNN9cdTAwMWPHXHUwMDE0x5EnkitcdTAwMTJpSHs/ktWTja+4LVx1MDAwYjBjXHUwMDFjZ2twxoxcdTAwMDBcYik5iCGA1SNf0VnbXHUwMDExt3yynbZ9b0z1uaC+OXqhtVxmc25kLVx1MDAwZc+hqEZcdCprXHUwMDAwxOPxkzdnTk2jPlx1MDAwM+ZJRbVY77/BrG1UNHNxQcuoVlc1c0XdTjPaej/tR6V2+kbdaGvmg2drVP/1y1x1MDAxZk9cdTAwMDeuIKKsWfrs5Ky3fFx1MDAwN/5cdTAwMTDOg1x1MDAwYtFcdTAwMTNcZkJGXHTzL3qXw8vYNDfQx1o2ycyXQbnbqZnHRiAsRGPo41xixFvikOSAssP4fd5ok1x1MDAwMkjGMaW+wVZcdTAwMWFqd/bD692o3M2dsZdq6+Y+kzg2sHFcdTAwMTB1sC2shZNGU6CXl7vWIFx1MDAxZntKpUB3imGj8MOa2DsmXHUwMDA15uggmITA0/pAXHUwMDAwc86FYP4j05ns1aut83zKXHUwMDEwuDatXHUwMDE1XHUwMDA2/KVcdTAwMGWibX2sxaV3w+RcdTAwMWakwvRcdTAwMWF1i0Ksw5GswfFgkbptxnNrMpj0a6BXSlhcdTAwMTfTTjd/OuX1p2BuIJtZM2FcdTAwMWLPyNNcdTAwMDNUpjulSrn7J3D3Plx1MDAxZkynwnfhl0JcdTAwMTKHXHUwMDA0MERcdTAwMWQwXHUwMDE2u8B4s/lcZuNcdTAwMWNcbu5iQCOypl9cdTAwMTmRcFx1MDAxNlk9XHUwMDA0mX8zn4MoTlfzXHUwMDE5vDm6wXxGIdnNW9So025GwVxmZih2oFx1MDAwYuiZ7cGAY4mQf3ErjFx0XHUwMDA1p9mn4Ut2kHzU27eVy4ZX8DBcImSB2V7JYrOUuYVcdTAwMGUjzFx1MDAxOOendKRcdTAwMWLF9HOqPaibXFxoXHTQwlx1MDAxMWRcZlxipFx1MDAxN4RcdTAwMDUjkEgq/Zvh7p2OOGVgQeKztOzhXHUwMDE4g4M4hm5cdTAwMTGXX4wwUmanrJkhscZcdTAwMTZ96mRccmdbQqdcdTAwMGXsnfXkgDGGXHUwMDEw8u9pjLT7ZvUx95B7trsxTFx1MDAxOGuNXHUwMDFmp1H3f52+XHUwMDA2XHSRPqKS9XQnk58rXHJcdTAwMDWpZ05cdTAwMTVcIkJYMCe6Mn3Mn4pB4lxcv1x1MDAxY6fZw8XwcVx1MDAxMqNRh7YzqVx1MDAxYVx1MDAxM+FB+1x1MDAwM5Oqm/BcdTAwMDY4W1FgoeKNeKtSxlx0IVxiQP92eJ1qxeLVc7s90ZNcdTAwMGaXXHUwMDBm+W5cdTAwMDKzYtTx5lxmJcZCnE54bInPIVx1MDAxNuNcdTAwMTS7SjaGqUpcbnUtvZd57Vx1MDAwN0t8XCK+XHUwMDFhm1xyK3ZDPFFcZpFEVFx1MDAxMu5cdTAwMWLE7n12XHUwMDA3cUScSSFQnHJcdTAwMDFcdTAwMWSRm1x1MDAxOGFxb0t859QndNr+m7OfSDJcblx1MDAxOMBHZI37zn5cdTAwMDIwzzeGZI5vUatOc3ytMWHnPiHZMO+Aqlx1MDAxZsyZf0d49JB+sFx1MDAwNlx1MDAxOT5cdTAwMWXS5E3ZrN/Weenx2Ejkp8x9bjLAd5iE/mXT9+4wU9fje7dx3uQ+le+dajrDyWyCnk+Zdt5IXHUwMDA34zxMyf7mYHpGn5Cn0Fx1MDAxMWWoXHUwMDAyZdr5n37p3uljJD1cdTAwMWPqdJ+AnIeV5aHaXHTl3mRwXHUwMDFi51x1MDAwNYHdjpxcdTAwMDdhiJy3hVx1MDAwNdY4z9mY8DlvQ1xminHAXHUwMDExXGYwXHUwMDA349Eq4PTFay6dRfeTV2BlOnkj8jPvnZxcdTAwMTdmXG5j33Mw4Jn9MmlccsbdR4vqlVx1MDAwMruvJNsknDlcdTAwMTiHdec3zVx1MDAwMFx1MDAxNVx1MDAwMEM1Or5RedMovY7o2fD+Qj5cdTAwMDBcdTAwMTPMVj/2ji58hH69OfnTXCJ7qnVtZJRShOnV3uM0n77bWzBUYHagWW5cdTAwMTB5TnNDWFxuXGZggMVNZ+XUXf0qXHUwMDAxK9OGnahorcpl09KjXHUwMDBl5jW34vek/MVcdTAwMDPNT4vgLi0vWaVcZjNcdTAwMTO9fnlRZ9NgdjrBgHygnc6Fco5hgNCUe5eP0UpH4c7KXHUwMDBmaKZcdTAwMGKKXHUwMDEwm7XyYGY6XHSAut3M9NlMeFx1MDAxOJqZvkWrrs3LdzYmdDNcdTAwMWR75tMwQZBcdTAwMTNcdTAwMTAgnUaty1wiu2uVeuNcdTAwMWN9XHUwMDFk1p7Ob0rTo5uWXHUwMDFm5vrYY6NcdTAwMTDR5clGXHSBXHUwMDA0JflmvXD7kCklgk00gkQg+pHrulx1MDAxOFx1MDAwMIhcdTAwMDNB/Id63DtcdTAwMWRtXHUwMDEycVnXhcNccvRcdTAwMDRY14VcdTAwMDBFUlxucJjk8MHpXHUwMDAzXHUwMDAwXHUwMDE4XHUwMDFlf2xRqev84WzNXHUwMDA3XHUwMDEyiPLqMOXKsvEve7UkIeys0zfPabaRlJfNxJBEvt6Ok0HCnGu07zjPVeFcXL9Kt5NcZvHYXHUwMDE1nlpVo6YndonzvI9o+K2dkNlhXqs366Xk80Xl1CpfXHUwMDA3I1x1MDAxYYrhXHUwMDAxXHUwMDE2XHUwMDEwe+dcdTAwMTQgJZwyXHUwMDEyYDaIe6ejTTTu3lxugVx1MDAxMfJWmODKcVx1MDAxNSvJnVx1MDAwM0E/SqRcdTAwMDRD5KQtStrFpzkwJVx1MDAxMW8ppYJjyTH279SMs5aZSdWvq0PEXHUwMDFi2Vq/3X5O3EZbSiF0hsV282l+lpV2tWmqf1x1MDAxNUvI15f2KHvzWn1cdTAwMWSwzlWw4C5cdTAwMTaIhM4yzHPlj5CMkCCJM/cuXHUwMDFmzKB636pcdDXQrivtXHUwMDEw+mVX2u3MXHUwMDFkXHUwMDFmvtJui1x1MDAxZf3IlXbe8lx1MDAwNolkyqpcdTAwMDPSv1V399J7veJyyMdjMTb5433srFSKOl9cdTAwMWMwJ3hsi+2MXHUwMDBlXHUwMDE42rie6d7cjTRg31dcdTAwMWHnNFx1MDAxN0HSUErJXHUwMDEzxVxiUyFcdTAwMDPYPO59jjprIFxi4lx1MDAxY+C1VEqIrEFFnEpXzyRcdTAwMTKsXHUwMDExJFxyvVx1MDAxYmtkO5XQVttt0ahO5nA0JXT2WHmea2U9mICScP9cdMxJ8eW8LPWX14b+em1b2VxcrdR9jjp5OFx1MDAwYuP9djbmj/JqQERjWCT5drkhW5f6xMTDYLyBOIKh88bKsK5cdTAwMTXmglxmQVx1MDAxY2RtiHuno05cdTAwMWNcdTAwMWXuXHUwMDA2/XXdjcNcdTAwMTFHWO7GXHUwMDE2TfqR7sZcdTAwMDaJg1x1MDAxMjHBgfSfMSmiiZ5HY/sh1X+6XHUwMDAzN7e9MixGfGL6mrtcdTAwMTFmWeBjczeIXmo+ZZ+yU/JcdTAwMTK7vusltUpCXHUwMDBi6G5cdTAwMWOENiD3rO2BleJkRFx1MDAwNNhmw73TUadcclx1MDAwZn8jTNr47W9cdTAwMWPA39iiUj/a38De0SpcYlx1MDAxMCNAIP9cdTAwMDbbtJMo5Z+kfX7bT3aTxu3o8dFuRZ0+nFx1MDAwYtJ3K4DwszhcdTAwMWPTKstQbPdS15Xxeb1fjV2M+mfBmIMoK3hve9l4MVx1MDAwN/UkXHUwMDBlXHUwMDA0XHRlTPnM/qOt7p2OOnN4OFx1MDAxYzHunUT/7XDsiTlgSKyxRZOuZcVcdTAwMGZcdTAwMTmh8q69XHKIYFx1MDAwMJFcdTAwMDC2Wq7JKD5/bvH7m6dhL1x1MDAwNko92fbKKEaGMVx1MDAwZVgy59hcdTAwMWOOxENcbp1iXGJtLV8zcCN5lbudXHUwMDA027vhMLSxIc5cbiWmUFk+XHUwMDAx7Fx1MDAxZfdeR503PDyOMHnjt8dxXHUwMDAwj2OLTlxy3+P4tszRReq8K1x0UmVMYCmYf5nbXFxcdTAwMDIjksxBXHUwMDFkVWjRhqm9u05zRG7EXHUwMDAxXeb2QsYoR1xcXHUwMDA2mU6/pIRcdTAwMWbPXHUwMDFjfT/yddngXHUwMDAwwqc8zWBBppVh0/r2mdGuXHUwMDFh7frbhn3f+PV7ic2NO6/OxbUymD/YOFFqkVwihlx1MDAxNUNcYkn4srLIbGS07qzRa33V29XtbdhcXGPhTVx1MDAxYiRcdTAwMTVslu6TjFLo1lx1MDAwNFx1MDAwNNbaYGqWnei0Woathva2Y7Rt51x1MDAxMM7H6nQmm1xyXas6z6o+rJ5T6DJcdTAwMWM2YHf2pW9tg+Vfn5dYn79Z/P2/L65Xr+Bz9oopaC4/8mn1/8BaxntcdTAwMWQzl4hcdTAwMDBcdFx1MDAwM+xrurkgznFomVxy5mkoWlx1MDAwNq3bp5AwJCVcdTAwMGJUjWz/SoZcdTAwMGLxroItPpXM5j1w31xiOFXqXHUwMDBly5mxi1x0X4mwXHUwMDFkTMfAOFx1MDAwMFJS5awp4mVcYlxuudaEn0/HKGDuS8dAbyeYXHUwMDExjPFcdTAwMWJC3Vx1MDAxYXbaWEHiKJRcZt5QxjNcdTAwMWMls6ZjuIBEOW4yiFx1MDAwYrx3XHUwMDFkXHUwMDAzyapccvt+XHUwMDFk41x1MDAxNJvtor+5fMxcdTAwMWLto1x1MDAxYStUY9Fst3FcdTAwMGX9KJ9jXHUwMDE3/L3JPfbetkZwzlx1MDAwMFx1MDAxNP6jzZuraFx1MDAxZoXYk1xyXHUwMDE1UkJcdTAwMTJ7l9hcdTAwMTcljCv5XHUwMDBiUvZt74KPgCRLbOzfuNhcXDd/RbxjyoXhXGZKsPhccujKZTuZXHUwMDE3m7eNdjRC2dmr/356LaOgXHUwMDE5UMt4XHUwMDA2J71cdTAwMTdBK6ORKs8wwO6WT/XC4+stfWZcdTAwMTM8PH1cdTAwMDBoTFieR1vLXHUwMDEwR0pcdTAwMTaG6MEwXHUwMDFhZ763lFx1MDAxNVhizFZXTEU+XCJcdTAwMTmgqHJYSzzfNHm9fPKeXHUwMDE3c76jqodCJFx1MDAxMkRcbv/Bx1x1MDAxN1x1MDAwZS9cbqm8fX9XP4vp14nnR7tnXHUwMDFkl1ChXHUwMDEwLfYgQkWlXHUwMDE0hFK8v8xVhGQqtGXTm2Vq31x1MDAwYqSDXHUwMDE3MFBuXHUwMDE4QFx1MDAxNFx1MDAxMv881clMuV60S3eT/LmVL5WvzcLt4LhEXG6HaFxyXHUwMDA3XHUwMDExKTnbiVZycLjE2bss33dcdTAwMTYj+Fx1MDAxMJHae7njd9RcdTAwMDTBglx1MDAwMCxZgOJTj6fPeMrzaVqQvUZcdTAwMTaLpMw0vEqoRVSmyIbZ3IeUKSZcdTAwMDGEXHUwMDAyscPR1Fx1MDAwMWXqY2hq73U8PPer8ZwjqFxcZFxmlar0L1Iy81RcdTAwMWPfJfP33en46jZVaUyxWYi2SK3S0pbdMnaVKOw9MdCVqDBcdTAwMTWzvUN/RqJqaFbjX0198u/Pf39cdTAwMDbzcvlcdTAwMWYhY1x1MDAxYltcdTAwMTFE5D59XHUwMDBmg5xo3e69rUb25EeYSD0zo+qYXHUwMDAwczI09NGZy+zo2vw1m1x1MDAxMDZcdTAwMTfimbzo83jc109f/1x1MDAwZlCvTrAifQ== + + + + 11010...2Global00010..01110..10101..100011..10111..2Local2Local1Local00..01..10..11..hash(key) = 0110... \ No newline at end of file diff --git a/docs/img/dynamic-hash-linear.excalidraw.svg b/docs/img/dynamic-hash-linear.excalidraw.svg new file mode 100644 index 0000000..b4c4204 --- /dev/null +++ b/docs/img/dynamic-hash-linear.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1da1PiSlx1MDAxYf5+fsWU+2W36sDp+2WrtrZcdTAwMTRcdTAwMTFcdTAwMTW8oYi4tWXFXHUwMDEwIFx1MDAxMq5cdFxibM1/31x1MDAwZTNcdTAwMDMxJJAoweA5WONIXHUwMDEySHfned/nvXX3/3779u3AmfaNg39+OzAmumaZ9aH2evC7e3xsXGZts9dVp9D8vd1cdTAwMWJccvX5lS3H6dv//OOPjjZsXHUwMDFiTt/SdCM7Nu2RZtnOqG72snqv84fpXHUwMDE4XHUwMDFk+9/u70utY/yr3+vUnWF2eZOMUTed3vDHvVxmy+hcdTAwMThdx1bf/lx1MDAxZvX+27f/zX97Wjc0dEfrNi1j/oH5qWVcdTAwMDNcdTAwMDX1XHUwMDFmvOx1522FhFx1MDAwMsk5o3JxhWlcdTAwMWar2zlGXZ1uqCZcdTAwMWLLM+6hg1xukMc24M+YdkpdOqs1XG6vXHUwMDBmJ8u7NkzLunWm1o+R0PTWaOhpk+1cZntto2rWnZZ7d9/xxefsnlx1MDAxYYTlp4a9UbPVNWy3/2BxtNfXdNOZut9cdTAwMDOWR39cZoL3uol6R8Ty/fxcdTAwMTNcZvjunetZarTVvf9cdTAwMDbmr+XdnzW93VRN6NZcdTAwMTfXOEOta/e1oXomy+tef/ZKgCzwvvDiipZhNlvO/JLl3Y35SCNcdTAwMDAggIjD5Zi49+yf1edcdTAwMGb9v96x6NZ/jkV3ZFnLZron8n6geMHieYjVeo9cdTAwMTd586Il+L1cdTAwMWOMdHJh3VxyXHUwMDE2XXmDLG047L1cdTAwMWUsznz/+deyRaN+XftcdTAwMDFcdTAwMTfIJIFcdTAwMTBcdTAwMDNOXHRcdTAwMTGL85bZbftcdTAwMWJr9fT2XHUwMDEyYfOj339/XHUwMDA3siFcboc2Z4xcYoI5jlxm7Vx1MDAxOa3ny7PqWXtkdTtHQ96ow1Jx36CNSHLQ5jIrvS+eQmhPnMf6ObdfL4a02K805KN85frWoC2AQveOoFxyQqEthYK1+oGRof38NL5cdTAwMWS3qlx1MDAxM+3Kllx1MDAxM6c9nc1mXHUwMDEw7Vx1MDAxYrQx+vpae1x1MDAxZPhcdTAwMTigXGLvXHUwMDA2fFx1MDAwMIaBj1x1MDAwM4lcdTAwMDDnOLpava6Xzy7OJ1x1MDAwNePsSNlcdTAwMWKVgaFdX5ppx1x1MDAxZfdhjyaIPS+uXHUwMDE3aENsXHUwMDA1blx1MDAxMGEuXHUwMDE02jxcdTAwMWEoSU3q8KvcWak/aldmt1x1MDAxN4NRucQkQ1vTpFx1MDAxMlxiXG52XHUwMDAyZsHCsIwpXCKES1x1MDAxY12PtnMn5uPLWFx1MDAxZuDTq1x1MDAxNqpNXHUwMDFm66VhN+1YXHUwMDE2wIflXHUwMDA0TVx1MDAwNCRcdTAwMDKwXHUwMDFjXHUwMDAwZcG4wFx1MDAxNHKeMJR/IcQxJs5b7P54oJlHrXB8elFcdTAwMTk/tFx1MDAxZo64UTTs0zyJhWTIXHUwMDEww3xbSH7TTq9GJuE+XHUwMDFjUV5cdTAwMWMmXHUwMDFjRUZxcKeDUexD46dhmJMs9ii+OY4pzqJQJOtcdTAwMTJpSHs/ktWTzXrci1x1MDAwNZgxzrJcdTAwMTU4Y0ZcdTAwMDCElOzAXHUwMDEw4JJcdTAwMTEmYlmhyyfb6zq35syYXHUwMDBi6pujJ1rHtOZG1uLwXHUwMDFjimqUoLJcdTAwMDZANps9eHPm0DKbLjBcdTAwMGZ01WJj+Fx1MDAwNrOOqWvW4oKOWa97NbOubqeZXWN4XHUwMDE2RaX2hmbT7GrWXWhrVP+N019PXHUwMDA3elx1MDAxMPGs2YZ70u0t/1x1MDAwMH9cYv/BhehcdFx1MDAwNiGjhEUnkNPxaWZ2MTImWinPrKfRc7/XsPaNQFiCxtDnXHUwMDExSLiOR5JcdTAwMDPKduP3haNNXG4gXHUwMDE5x5RGXHUwMDA2W22s3Th3Lzevz/2LI/ZU71xc3Vx1MDAxNnP7XHUwMDA2Nlx1MDAwZdJcdTAwMGW2hbVw0GpcdTAwMGL09HTTXHUwMDE5lTNcdTAwMGaFXHUwMDAy6M8wbFV+WVx1MDAxM1vHpMBcdTAwMWXOT9ZcdTAwMWTEYaBEXHUwMDAwc86FYNEjyMXS+Ytj8HLBXHUwMDE0uDFrVEb8qVx00m19rMSPP4bJv1x1MDAxMZ1cdTAwMTlcclx1MDAxYVx1MDAxNIVYhSNZgePOXCJqm4znznQ0XHUwMDFkNsCglrNPZr1++XDGm1x1MDAwZvHcQIYx3JpcdTAwMWJcdTAwMThmPCNcdTAwMWVcdTAwMDZfpVMpdp9XZPRcdTAwMDb3eWc6XHUwMDE1vlx1MDAwYr9cdTAwMTSSLCSAIeqDsfhcYozXm88wy6HXTF1GNohcdTAwMWbQkFx1MDAxMVx03cjqXHUwMDBlyHxb5jN4c3SN+YxcdTAwMTKymzeoUb/djOJcdTAwMTnMUHyALmBoVlx1MDAwNlx1MDAwM44lQtHt5cpEObeHpYfxU2mUvze61/ppKyx4mFx1MDAxMrLAbKtksV7KgkKHKWaM40P6apjVs8dCd9S0uNByoINTyFx1MDAxONBzXHUwMDBiXHUwMDFmhFx1MDAxOVwiQNmNXCI6ZVx1MDAwNHc65ZSBXHUwMDA1ybrp090xXHUwMDA2XHUwMDA3WVxmg1wiLqkgXGZcdTAwMTZcdTAwMDNyXHUwMDFmI4yC1XvWrIRYY4M+9bOGvy2JU1x1MDAwN1x1MDAwZc96csBcdTAwMThDXGJF9zRetdt2/f7i7uLR6WcwYawzuZ+l3f/1+1x1MDAxYSRB+khL1jOYTL5WXHUwMDFhXG7S0JwqRISweE60PrsvXHUwMDFmilHu2DidnLG7k/H9NEPTXHUwMDBlbX9SNSOSg/YnJlXX4VxycOZRYInijYSrUsZcdCFcYsDodniTatXq+WO3OzXyd6d35X5cdTAwMGWzatrx5lx1MDAwZiVmXHUwMDEyLPvbt8TnXHUwMDE4i0mBnedb44JeQH3bXHUwMDE4XHUwMDE0X4bxXHUwMDEyn4h7Y7NJxW7CK/xcdTAwMDTFQpniOHriM7jTwShOiTcpXHUwMDA0ylIuoC90kyEsXHUwMDFibop/OPdcdP3G//r0J5KMXHUwMDAyXHUwMDA28O7M8ThcdPdAczxy+lx1MDAxM4B5wjEhe3yDXvXb4yuNSTr5XHRJaOhcdTAwMWZcdTAwMDKqfjBn0Vx1MDAxM1Kvd2d39qjIJ2Oav3q2mtdNXrvfN1x1MDAxNvmSyc91XHUwMDE2+Fx1MDAwN6rFf1/3vVx1MDAxZijVXHL53k2kN70tlFx1MDAwN4eawXC+lKPHM6ZcdTAwMWS3zuKRXHUwMDFlpmR7RZih4adwoSNuxo1IXHUwMDBmKDZcdF1wp/eR9HCi9T4xOVx1MDAwZlNJVDuh3JpcZqaI8yBMkPM2sMBcbuf5XHUwMDFikzznrVx0QjFcdTAwMGU4gjGKMO7tXG4+O3m5OCuh2+lcdTAwMGKwi72ymfrSez/nJZnD2HZcdTAwMTFcdTAwMDY8cp6mndGkf29TQ6+wWz3fJclcdTAwMTRh7NafX2OJKUdcYkM1OpFRedWqvbzSo/HtibxcdTAwMDNcdTAwMTZwpylcdTAwMGX2Ln6E/nxF+bMqe2j0XHUwMDFkZNZcboRcdTAwMTn1wf2sfHaztWiowGxHZW5cdTAwMTCF1rkhLFx1MDAwNVx1MDAwNjDG7Kaj58JN8zxcdTAwMDf1WcvJ6VpHP23bRtrBvOJW/FWVv3ig5VlcdTAwMTXcnMlTpj/D4tRonp402SyenU4wIJ9opyMgXHUwMDExI4SRyCBcdTAwMGXu8z6a6SjZuvyYdrqgXGIxt5Vf0E53a+FhYnb6XHUwMDA2tbpSme9vTOJ2Olx1MDAwZc2oYYIgJyBGQo3ap1V206lcciZcdTAwMTf0Zdx4OL6qzfauMD/JXHUwMDE5svvGIaLP861cdTAwMWFcdTAwMDI5SsrtZuX6rljLxSs1gkQg+pkzu7iQmFBcdTAwMTSjOjW40+kmkYCZXTjZSE+MmV1cYlAkpVx1MDAwMLtIXHUwMDBmf1x1MDAwMn1cdTAwMDBcdTAwMDCT449ccip1lT/8rflEXHUwMDAyUW5cdTAwMWSmXFxZNtHnuTfyyt476lxyrWNaauXlaTs3JqlfXHUwMDE5x88gSVZcdTAwMWJtO9BzXjk2zs+6eYZ45lx1MDAxY8/sutkwclx1MDAxZlx09LyPaPi1k5OlcVlrtpu1/OOJfmg/X8YjXHUwMDFhiuFcdTAwMGWmXHUwMDEwh8ePmJBcdTAwMDIxRqJcdTAwMTNNcKfTTTTB3lxugSnyVpT6V56r8Fx1MDAxNOLtXGL6aVwiJZggJ21Q0lx1MDAwMT7NjimJIP/RhZRSwbHkXHUwMDE4R3dqJiXbKlx1MDAxNpqX9THirVJj2O0+5q7TLaVcdTAwMTD642JcdTAwMWbzab7KXFy7xqwwPM/k5MtT97V09VJ/XHUwMDE5sd55vOguXHUwMDE2iCTOMix0tVx1MDAxNcgpwJhcdTAwMTPKXCLjN7jTOzOp3jdzQlxydeBsO4T+tLPt4qxcdTAwMDZcdTAwMTjIXHUwMDFlnz7bboMm/czZdiy8QpJIxilcdTAwMDMyeirl5mnwcs7lmE8mYmLx+9vMUa2WdsbYYVpw3ybcmT0wdnCz2L+6edWAc6u3julFXG5pY1xyilx1MDAxMZBAcVx1MDAwN4bR63yDe5123kBcdTAwMTBkOcAr6ZRcdTAwMDR5g4oslYHeyZ+MN0o9PbE5d1x1MDAxYnSqnzt8TUmcP2jo6lxiXGIwXHUwMDAxJfE4f1x1MDAxYmtccqtPx8/SeHppXHUwMDE5L5eOXbpo1PqPaadcdTAwMGb/8nh/OVx1MDAxY/NHeT5cIqI1rpJy97klO6fG1MLjeMyBOIKJM4dcYo/hcqWrMEUwusNcdTAwMTHc6bRcdTAwMTNHiMNB/3I49tfh2KBJP9Ph8Cgyv8RBidToXHUwMDAzXHUwMDE5PWtSRVOjjCbOXWH4cFx1MDAwM66uXHUwMDA3z7Ca8ur0XHUwMDE1hyPJxYH3zeEgRq39UHoozchT5vJmkNf0nFx1MDAxNtPh2Fx0baxDsVsypP7FKN5cbu512nkjxOFIkjf+cjh24HBs0Kmf7XDg8IBcdTAwMTVcdTAwMDRK6oBA0T2OWS9XKz9I5/h6mO/nzevX+3unk3b+8M9L/9g6XGJfxeOY1VmRYmdQuNQnx81hPXPyOjyKR1x1MDAxZESZwVvbeiY0xbHG/lx1MDAxMVx1MDAwMElliUdnjuBOp505QjyOXGZcdTAwMGbPpH9xjyPOJKCPMVx1MDAwN0yINTZo0pXU+C5DVOFLcFx1MDAwM1wiXHUwMDE4QCTGXHUwMDBlZlx1MDAxN21G8fFjh99ePYxcdTAwMDdcdTAwMTlQXHUwMDFiyG5YUjE1jLHDlXP2zePI3Vx1MDAxNdAhhtDRylxyXHUwMDEzt/LnXHUwMDE319N4WzjshjbWoditNlx1MDAxNFCC6LxcdTAwMTHc67TzRojHkSRvpNzj2Fx1MDAxZG8k6XFs0KnJe1x1MDAxYz8mO1x1MDAwNkhd+IKCVFx1MDAxOVx1MDAxM1hcblx1MDAxNt3XWL9cdTAwMTBGKpmD+lx1MDAxNqNFa+p7P1rriIKIXHUwMDAzXHUwMDA2XHUwMDE0+ELGKEdcXMapqV9Swq9njn5cdTAwMWX5vmxwjJnbytOMXHUwMDE3ZfJcZps2dI7Mbt3sNt827Oc+rT9X2lxcu1HqXFxcXPXR/MFmiVKLXHUwMDE0MVxmKVx1MDAxN5Lw5fpcIu7IaH230St9Nbr1zW1Yv9LCmzZIKpib75OMUlx1MDAxONRcdTAwMDRcdTAwMDRW2mBptpPrdTqmo4b2umd2XHUwMDFk/1x1MDAxMM7H6tCVzZah1f1nVVx1MDAxZrznXHUwMDE0ukyfXHLYd7/0rW2w/OvbXHUwMDEy6/M3i7//+3vg1Vx1MDAxZXy6r4yC5vIjv3n/j61lwmczc4lcYpAwxjak65fF2Vx1MDAwZi2zxjxNRMugVftcdTAwMTRcdTAwMTKGpGSx1iTbvpLhQsSZhVx1MDAxY1fJrN+y9o2AU6XusHSNXUy4J8K2M1x1MDAxZFx1MDAwM7NcdTAwMDBISZWzpoiXISjkSlx1MDAxM76ejlHA3JaOgeHuXHUwMDAzI1x1MDAxOOM3hLox7LR2XHUwMDFkib1QMnjNap7JKJlcdTAwMTVcdTAwMWTDXHUwMDA1JFx1MDAxNFwiXHUwMDE5x1x1MDAwNd66joHEa8O+X8f4xWaz6K9fROaN9lGNXHUwMDE1qrHI3Vx1MDAxY5zDKMpn31x1MDAwNX9rco9DK+qR4JxcdTAwMDEoopf3rl9Mey/EnqxZJyUhsVx1MDAwZoh9UcK4kr84i79tXfBcdTAwMTGQ5F3bXHUwMDEyRDQu1i+f71x1MDAxMe+McmE4c8NXv35cdTAwMDPquexD5sX63aN9jVB2tvffl9cyXG6aMbVMaHAydNqZUFiXXGbFmFx1MDAxYvrQrNy/XFzTRzbF48M7gCaElXm6lVxm8WVkYYJcdTAwMGVcZqNZXHUwMDE2eWNZgSXGzLveYOpcdTAwMDOSMVZWTmqa55smr66hvOVcdJ3vWNlDKSdKSZx95544PKlcdTAwMTTKzu1N8yhjXFzmXHUwMDFl752BvV9ChVx1MDAxMjTY41xiXHUwMDE1lVJcdTAwMTBK8fZcdTAwMTJXKZKpxKZOr5epbU+Sfs/KyEBIzOPk0HrFXHUwMDE5N6pO7WZaPrbLtedLq3I92i+Zwlx0WsNxZEq6XHUwMDFi0kpcdTAwMGV2ljjzXHUwMDEwdPIrXHUwMDEyfIpMbX3R4/gyhVx0wVCg6Fx1MDAxMnV/+IhnvHxGK3LQKmGRl8VW2CpqKZUosqaYe5dcdTAwMTLFJIBq7NnOWGqXXHUwMDEy9TkstfWlPMIkKjzpjFx1MDAwMMVcdTAwMWMyXHUwMDEyw/KTxYfq5CZfvu3PJufXXHUwMDA1vTXDViXdMuVlpVxyW2Z8VKRweF1gIE9hKtxcdTAwMWREd8dTcbZo/5hUtTS79fe2Mf3Ht399XHUwMDAz8zXzP0PI1rZcIo7M/fYzXG5yoPX7t45cdTAwMWHZg19RXCL1zMy6r/7lYGxcdTAwMWGvR1x1MDAwMcXRjfnLrVx1MDAwN5tLsSsvxjxcdTAwMWP3/bfv/1x1MDAwN1x1MDAxYUs+uiJ9 + + + + 11010...2Global00010..01110..10101..100011..10111..2Local2Local1Local00..01..10..11..hash(key) = 0110... \ No newline at end of file diff --git a/docs/img/linked-list.excalidraw.svg b/docs/img/linked-list.excalidraw.svg new file mode 100644 index 0000000..fc6516f --- /dev/null +++ b/docs/img/linked-list.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1dWVPq2Fx1MDAxYX3vX2HZry2956HfkMlcdTAwMTH0yKDee4tcbiRAmIcgQlf/97uDXG6BXGZcdTAwMDRcdTAwMDFPOG1O1SnJuJN8a+1vzt+/nZycWtO+cfrXyanxWtXapj7UJqd/2OtfjOHI7HXVJjT/PeqNh9X5nlxyy+qP/vrzz+VcdTAwMTGxaq/zdpTRNjpG11x1MDAxYan9/qN+n5z8Pf9fbTF1+9iKbqJBpXr9PH6YpW/zT8XuRY7OXHUwMDBmne/0MZihUbW0br1tLDe9qvVcdTAwMTCBxe+p+s3Y8vfE1K2GvVx1MDAwZnDs1DDMesNSa4Vjz7dcdTAwMTP/dbJcXDOyhr2Wkei1e0P76r+D+bK8dkWrturD3rirL/epaVx1MDAxNVx1MDAwMFx1MDAxY0Ovme32gzVtvz1cIq3aXHUwMDE4XHUwMDBmXHUwMDFko3+7Qul9jGht/eK4UU890OVR6pL1RtdcdTAwMTiNVkbb62tV05rO73W51lx1MDAxZV//Ul8++fnaNC7P8tXR5Kwozlx1MDAxYlx1MDAxMyttXHUwMDE0UrfT0/ft/3NeqKu/X6g7breX4zNcZvu9IVx1MDAwMFx1MDAxMMdcdTAwMTJjstiylFx1MDAwZk7XV2Z73bmoQIBcdTAwMDGhmIPlXHKbo6SSXHUwMDExa37WmtZcdTAwMWVcdTAwMTnLh2yPIbWUn5VxjPu69nZcdTAwMTBkXHUwMDAyMcmlXHUwMDEwlPLF9rbZba1cdTAwMWbT7lVby+vM1/7zh5dQnlx1MDAxNbLDQqpzn74vp5vdNNYrWq9cdTAwMTBeKMWqUErkXHUwMDE2SoRAXGY4XHUwMDE37Fx1MDAxNlEs9i2ipMqMmp+IronaqoDCL1x1MDAxM9Dma7JcdTAwMGK0Ms5njVr+Nq81SsPmYHFcdTAwMDG1w1WTVlx1MDAxM2nt8llr4JHWSN1iLZl17rAnXHUwMDExV69RjVx1MDAxNlx0gjxEXHUwMDFjXHUwMDAz4S/jkGBJXHUwMDEwY5+Q8eWD+Hvx10IsOyVay1x1MDAxYnGtX3idWnVmtV/iN2nHnTtEU1x1MDAxYlx1MDAwZXuT08WWf/5cYjpvvYSeNC1lXHUwMDBl8tbL0yNPWenW08NcdTAwMWXOyzpPs4dcdTAwMWE2islxktfbzLJKaVx1MDAxNO68rrd1ULzTwrN+d6VcdTAwMTfr3Hq4eO3lfuDLq5xcdTAwMWLvlvFqrUJcdTAwMWSRNahcdTAwMTM31KWIXHUwMDExXHUwMDFimpBcIiq4kFx1MDAxZUDHMfaN9J+HdIG4ej3IXHUwMDEz6IhgP6AzReycMUg+gfM9z2VLUbVFVL2sXHUwMDBiQ9ONoeP997rWgzmzh43Eytq01jHb9lx1MDAwYsMrJ4m3zbp9/6dVNWLnmdRDsEyl5y12sHp9pyyOXGY13Pl1ljdQVdfR1Nrhpb5+XHUwMDFmvaFZN7taO+8zcPtkXHUwMDE3XHUwMDFmQIExXHUwMDE0gOJmNvuYgtlqr9n+kZRPk8dcdTAwMDJppELP2utQVvLrpUt6qJLOlXtB76RhWsY3dj+GXHUwMDFhiF0qKKOce+qhXGLy9bVcdTAwMWbYlZwwwCDY+1x1MDAxY01cdTAwMWX1S/E8RlpcdTAwMDPVXHUwMDFlyqz5fDUpdKM151x1MDAwNVx1MDAwMMH57PyVeKxGXHUwMDAymNJxQjy8d81cdTAwMDVUmuczvfxgXHUwMDE2tfHt7J6BynMrKlx1MDAxMu7GrCdcdTAwMWZAsk9Qh2aUXHUwMDBmbZQzilxihYhFXHUwMDFlmVvh5aKU+nH3WmSv2cldM09cdTAwMTLDVqJY2oPuaaTuKlx1MDAxN/FCXHUwMDBl9CqPqfbZ+FaOXHUwMDEz0yPEIZYsXHUwMDAwh5hAgqRcYo3DSue5MFx1MDAxYvVmSVPcpqyRnixY9DzaOKRrLlx1MDAxZc72q1x1MDAxOS8scrBmkTM3LpFw4Vx1MDAxMlx1MDAwMVx1MDAwMVx0pVx1MDAwZd3RXHUwMDFilnF59cifJtf1ZuvxuVxcpYl2KVx1MDAxOf/3wfJQpuZcdTAwMTFNu6tWpFx1MDAwM+nUZX8skC6gXHUwMDEwTM25Ydxmb1x1MDAwZqTUXHUwMDFjXHUwMDBmc+RcbjQr+qB8gcvF0Xj8XHUwMDFjcaRcdTAwMGJcdTAwMTlcdTAwMDNUMMQ5JYRTsYp7TmJYUiFcdTAwMTDmXHUwMDAyYIZcdTAwMGbCXHUwMDAyjMaoVIsgnEBcdTAwMDShm1x1MDAwM1aM9Vx1MDAwZlx1MDAxMsBEKllcdTAwMDGb5uYjI4FDg4o5nCFb2Lhb27L2XHUwMDAw77S6Y37dwcLdwpZdvea6JettM++gKWC4vvaDPzjFUJAwts7bi8/qOYunJq+d5rRWjFx1MDAwZqhU8qJHnDzW1HWBXHUwMDBloa1TXHUwMDE5k85lOSks+GF9l6WEfliskGHGIdxkYlx1MDAxZlx1MDAxOVlMRtalnlx1MDAxY7RfmtUrTieJ236z8/JzNYZoKfLE16BmXGZyLFx1MDAxOFx1MDAwNqFcdTAwMDHKn4agYlx1MDAxNns9dH9TfypcdTAwMTUms0xlXHUwMDEwbYCyqFx1MDAwMpSvXHUwMDAzVOFcdTAwMTNCiLlcdTAwMDO6v1x1MDAwNEJcdTAwMWZvRnqL/khcboR6mYTVMlLdTj1aSHpcdTAwMWLoXHUwMDFkNVx1MDAxZVx1MDAxZlx1MDAxYtPSRHbuy/HbxuB6KmRoRy7FMoaRIFx1MDAxOFx1MDAxMoBcYlwicEXslFx1MDAxMlx1MDAxZGNcdTAwMTBxQu1cYlx1MDAxZHPo3Fx1MDAwYo9cZvPQ+pQuXHUwMDE4IN+/po/354v3OyCVhEllXHUwMDFkYVfI1daY/GlcdTAwMTXaRlx1MDAwNP9cXK6BXHUwMDBmkDxtOIfkZvtcdTAwMTUzdfcwyNxI87qUXHUwMDFlyZfE5DXsTJfqg/jk8m42XHUwMDFkZePJydPrXHUwMDA1K+vjKOLT+y5d+HSHS6nkMakmO0ZcdTAwMThcdTAwMTBcZlx1MDAwMLlcbk1KY7ZcdTAwMTmlJkKirEDpQibBMY7thVxu+1x1MDAxNERcdTAwMTA3UFx1MDAxMVJWon1cdTAwMDVOXHUwMDE54IjuXHUwMDE5tr9XXHKd6No3cD+GXHUwMDFhXHUwMDFjnOGQKVPe5cGci4J/XHUwMDAyhW18XHUwMDBi7sR7dFx1MDAwMqtJzXK+/aUpXG5FjKmbXHUwMDAyWDKMJeZsZaedo6xcdTAwMWRT150zncNohMvntGqcbppI1+3V1XtcdTAwMGJcdTAwMTV53eTUgsT/NVOAgfovXHUwMDE0P7/naaC7TPFVr+Q1K3H79PR6OVM3XHUwMDFiXHUwMDE1LHqrvVx1MDAxMKzHkdBuiq+LgVx1MDAxNq4rXHUwMDFjQ3OFXHUwMDE2YVx1MDAwZVx1MDAxOKDLeXFBjopA4Yru6/JkYU5cdTAwMDVgyFx1MDAxMU71ppiv12z3Obd54Vx1MDAxN4dcdTAwMDKs/Vx1MDAwNmKx2Fd7klYuXHUwMDE5xpGEaSBcXFx1MDAwMy1VXHUwMDAyfMPmSqWSalx1MDAxMqcwvKlqtKZnqYlRXHUwMDFhNOP5XFy1UpxcdTAwMWFpelx1MDAxNW3MioiHnCBUXHUwMDAw5XRjKNi4rmNU/yHTN51cbmiWr63KVef62z49+bz+uzGGw/1jOJxcdTAwMDIqpNjCy1x1MDAxM3++yjzflUfFyzEtj+v38YvHXHUwMDE0jzh0jjaGXHUwMDAzgWRMXHUwMDEyKTZFcr9RteeZ9zuI4/RcdTAwMTL7z71YWb1QcFx1MDAxZT7dwyhOc9etbKdTy+HC60OVTLtmxNM9RFTdxK44XHUwMDBlpIxISJjcpCtcdTAwMWZcdTAwMTlhNFx1MDAxMjetp3jy3ixamkyOzKJea4/2XHUwMDEwyDlcdTAwMDL3VjiIMleu6bL0XHUwMDAzXGKO7Vk+NERbOtXrrcJzpZ/Jl+v67JGN9WG0ISqjXG5RVySHY8glglx1MDAxYlx1MDAwMzlcdTAwMTFEaDRkXHUwMDFkOSyf9aAlYUgqyyh8VsGgllx1MDAxNVI26/rImL1cXNQve4lCRkRb1MVaLGlF7v1DSXtMXHUwMDBm3lx1MDAxNIxaaK9cdTAwMTRcdGnXXHUwMDE3XHUwMDFkn6h7T1x1MDAxYZtCLanJuZnNZnJDdJchRdTl/etCNYImIYO+XHS8XHUwMDEyM66MlC0sQu+bjjaE1mI+q1x1MDAxNqFvzGefntHd4kZcdTAwMWZcYiPqXHUwMDA0kPJjtFx1MDAwZlx1MDAwZm3BfSr2ceqKOOxcdTAwMTZcdTAwMTFZi31smG22i314mXlQePJBmNTJNUV3XHUwMDA1L9hVh+ZRU+r0XG4uvVx1MDAxYShcYovrgNIlXHUwMDExoFx1MDAxNlxmqJpGXHUwMDExRZ/hXHUwMDE3srb+cMHOr4plXCJg5yCox+FVJcqAr01AKIdcdTAwMThK/pkq0Vx1MDAwMOBcboRcdTAwMDHk0CmxYYHb75nrM+/yr5Pla5j/WPz9vz8891x1MDAxNrvsfqZEdtNcdTAwMTFo90OQgMtDXFwvvq2NrESv0zEt9Xzv7Gfjklx1MDAwMEtcdTAwMWJa52ZXN7t1tW2ppnx0N7lcZlF/OifD6th+7mdgySi2XFxrffu1vq9YXHUwMDE40adGV9980eA8/9WLXHUwMDAyaquphFxuzDmQSpbdg6Ar/lmEXFyDmj+LuE1bXHJDcznP1JCd206tofnGRFx1MDAwMVRcdTAwMTnsoFxmokpcdTAwMGVWc7uER/dcdTAwMTdl/Xko0OSbKVx1MDAwZtg4XHUwMDAzcExcdTAwMDFzNsBw5H1cdTAwMDDfLHVcdTAwMDSJoNDZUmaPTLlk7Z/FlFjusPuZXHUwMDEy2Y20XHUwMDA3dz9cdTAwMDR8XHRTXHUwMDA2py87SFx1MDAwYsTw6uJBWZ/jzeDY2jHwZnBifFx1MDAxMG9SvJp4J7w0TOzBm1s1JPqmTXvZgjYpR1x1MDAwNCtzzKuVXHUwMDAxXHUwMDA1vl5cdTAwMDRcIlx1MDAwNcFOs3SPrLm02H5cdTAwMTZrnqEteXP9XHUwMDAw4TjicIxcdTAwMTZcXDH1JYxcdTAwMTbctGxlXGJArv5cdTAwMGIxhP3zV3A8KIi/RFx1MDAxOP7y0vvQt953QFx1MDAwMiN2XHUwMDAyXHUwMDA1Y57pvkT4qn2QK87DXGLuvydgZDhsW1xuW91cdTAwMWZt1uPO1lx1MDAxNLlwh/CYpFxmQlx0kJpCXHUwMDFj8878XGbgS3gzOEMhiDdcdTAwMWSj3Y03g5Ok1zRBuypcZlx0ylx0tVOMuFx1MDAwN3OiXHUwMDE4XHUwMDE2XHUwMDFjKW3RdjnbXHUwMDE5UFx1MDAwN6XScFx0nchcdTAwMTd8ykpTd1x1MDAwNFD4XHUwMDFjbExNWK2m+aR0R1x1MDAwNpk8Y/BMRqZcdTAwMWVcIlxcXHUwMDBikV1b+Vx1MDAxYyChXHUwMDEzQoFcdTAwMDHblNApei2ZvoZqZk9cdTAwMWGykL1cdTAwMDSFePJHXHUwMDE0g3dH14PHN6FT+Lb/Q1x1MDAxYyCAkVxmXHUwMDFmvXs8j7fLJdS/PZ+eX1ZfZjJcdTAwMTOv1FwiXHUwMDBlncB8TlxiaYRcdTAwMTM6McG2x1x1MDAxZW5cbol/o2pcdTAwMDdULaX3O6HTO1vM13BcdTAwMTdKQrmkofqHvr16SFJccuMxS59pLVN/LmTy9ftaO+JcdTAwMDTiKn9cdTAwMDI7zb2HTOhcdTAwMDRcdTAwMThcdTAwMDIhnPlcdTAwMTi/XHUwMDA0YVx1MDAxY0FcdTAwMWLmcFDy7yuPIIZIMLFFXdJtY5hs/JhQ1CxPnjsl8PJcXLiA0cbSelx1MDAwYo3oYMndQ0PpRkTZlPhcdTAwMTebfEtdelYu45fkYFxcafVy0+Z5rlE7QiwhfyxcdTAwMTGl0EG4TVlurZ5unM+mXdnMjV47I1x1MDAxNk9fVlwiXuJcdTAwMTfcJMTmkuikdkqEbE8k/WWgtCm1M3c/LbFy4qbJq3GY1M5Qs8RJ2DKDSaJcdTAwMTTvja2eVnmoXHUwMDE1qlx1MDAxNZRnhEdcdTAwMTShvimjXHUwMDBlXHLEVTRcdTAwMGZcdTAwMDGnkm5RXHUwMDA05P00o43OwD4hUJl1R5I0ioCkij7wxs6QXHUwMDExxO6/MWl0w0x2sKTRcG5cXOzf6ojZ31x1MDAxNlx1MDAwMc7Y8cZW0C/9i3qxUFx1MDAxZeQ6lVxca5w4f8hMI9OQKlxcXX7k/LiISkhcdTAwMDXYlCGObiaTUa4zqlX4dHZcdTAwMDf5eb6QSUdxoj46ndfXjSulL3QkXHUwMDAwtmNxiyqMPktf3rNxU2/0NLNi4usrs1x1MDAxMPHeysF1+dH243IlKELJyTes3pdvP677mlx1MDAwN/fjcl9cdTAwMDZBXHUwMDFjXHUwMDExRkmovNW3V59s3TdvJugmR1ghwzNP95evr1x1MDAxMY+hrtflR8f35Pbj2lx1MDAxNCbs0vxfizCOyLLd8ElcdTAwMTNf85bYuUBcdTAwMDCGN25cdTAwMWbFNYV5Usy/XHUwMDE0Ld14vFx1MDAxZk2GrUa0kbRePlx1MDAxZlx1MDAxZCS5vbhcdTAwMThywCTim1pcXERcdTAwMTBJ0ZB1JH1cdTAwMWJC2Vx1MDAxZnSSW3X9br1cdTAwMDBSy1x1MDAwZsovV4N4onrbTumJ86j3g1xuKqCPlJtVXHUwMDEwJlx1MDAxOUC/jpa5ycs6boFBqSdRbnjZ79NR9z7NOvVcYtpujPhqXlx1MDAxYzJCqdhC8/K+6WhDKLCA/oicofZ3sigmcmNMMIJcdTAwMTD7NzpDN0w3XHUwMDA3d4auZf47XHUwMDE4wV+BRJBDZVx1MDAxMmyRU1x1MDAxM2yG/+SEfm9G4GBdg1xm8IN+porB8ZV6j7mTuFx1MDAxY59QTfNcZoRw0URcdLhv1Vx1MDAwMcQpsWGBXHUwMDFiMrk9OMXk5CuKgoJdlY4hhCtzXFz1XHUwMDEyXCLOXFyjXG5ZXHUwMDE5sH36+2KPvZZmkF12XHUwMDBmVWGLdj/Eq1x1MDAxNOOTzMl9+1QwQLGad8K381xudkdEkjjdTqyA1nV7J07kQZxcXJmAkjsntGMhzmUscv/EXHUwMDE57Fx1MDAxZlxyXCLOvVVcdTAwMDVcdTAwMDVHgteIc1x1MDAxZlVBR0acZ1sy59r+oVxu1ND2hyg9esuaNk9cIlxykzhcdTAwMWJYYVx1MDAxZkQ0XHUwMDBikiBe2tV3XHUwMDEzp1x1MDAwM5ao2o1JuGSePZyof6M+Tri03bRhJsdPVKguT/vTKlR3QzPc3JPpXGbtfMjXVPJcdTAwMDfXWHzJ3Fx1MDAxM7qS/yxcIqX8wSVJW3W7g8KDKL263X33XCI5ZC9cdTAwMTJu+1x1MDAxNFxi8PzkXHUwMDFlkb496lx1MDAxNbtcdTAwMDJCiPhcZlFu1Dg/5WOLULM7sXXjuu2PIF/CkVx1MDAxZFBpns/08oNZ1Ma3s3tcdTAwMDYqzy1cdTAwMWaC2lunu+Dq2Vx1MDAwM7gyXHUwMDBlUafv+500f8NcXFx1MDAxOVx1MDAxN4yqJXxQPJ/q5c+K/XtSu4qPi5mXhpWTXHUwMDExL21yfSZN7JjaedCvpCl1Xk1cXFx1MDAxNG38hneUzPbvz6QtxGXTZ9I++tXXwUyfltPgoSDLhfPM02Pccms17s+cOnWY+WePPPtcdTAwMTN5hKVcdTAwMDVTpORcXLZQccKAoqZzXHUwMDAzfqr249dTcZhcdTAwMWQ0XHUwMDE1XHUwMDE4eXUrglx1MDAwZWC7Pk7KKeEwXFzM+Wd8nPTEzos8+W/3xlx1MDAxYznEcmtcdTAwMDR/XHUwMDEyrFx1MDAwZWxxv8+SXHUwMDA2Qtj/XHUwMDE2Qn2P9D0rbDZIaOctToZcdTAwMGaNy0H9apRcdTAwMDXpl88gXHUwMDE3Yo+WslDImLDRiYW0Q+FcdTAwMGUl+Vx1MDAxYsk/pTO33XFcdTAwMTN7qFBvb9BcdTAwMTfKdqlcdTAwMDbGXHUwMDEy7d2ts1x1MDAwNyinh4Yxx8HRXCLZ91x1MDAwZbZcdTAwMDCynizcoVxcXHUwMDFhVJ+To0zqelJcdTAwMWFPMq1QQF4rXHUwMDE1Yl7+V/iu6DFJXHUwMDA0XCJcdTAwMGWnoHc9wp6Qq1VcdTAwMDCgPshtaNXGeGj4YXc9P+5w2N2XXHUwMDFmgXHKJUDQXHUwMDBimv6fulx1MDAxM1x1MDAxNDFG5KfcXGJfMcfa2DhJm87gytZlXHUwMDEzu8NcdTAwMTIt72PLXHTWY/zeoPzt/WWfav3+g6VcdTAwMWXl6Yd9fvpiXHUwMDFhk3Mv+Z4vtqjMIW3Lt2G/l7//+e2f/1x1MDAwM5tcdTAwMTDCOCJ9 + + + + HeaderPageData...PageDataPageDataPageData...Data Page ListFree PageListDatabase File \ No newline at end of file diff --git a/docs/img/log-record.excalidraw.svg b/docs/img/log-record.excalidraw.svg new file mode 100644 index 0000000..115e4a0 --- /dev/null +++ b/docs/img/log-record.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO2bW1PiSFx1MDAxNMff51NQzMtu1cD0LZ3uqZpcdTAwMDdcdTAwMTVcdTAwMTS8oFx1MDAwM4qOW1tTMYlcdTAwMTBcdFx0hlx1MDAwNEHL775cdTAwMWRcdTAwMTBcdTAwMTJCXHUwMDAyXHUwMDExXHUwMDA3zOxcZlx1MDAwZpb0xb79z/n15fj0IZfLu6Oenv+Sy+tDVTFccs1RXHUwMDFl8p/89IHu9Fxy21x1MDAxMllo/L1ve446Ltl23V7/y+fPQY2iancntXRT7+qW21x1MDAxN+X+XHUwMDEx33O5p/HPUDuOrrqK1TL1cYVxVtBcdTAwMTTBMJpas61xs1x1MDAxY1x1MDAwMFxmiETorIDRL4nmXFxdXHUwMDEzubeK2deDXHUwMDFjPylvXGbuXHUwMDFmXG7X957pyNdo32vtK6dcdTAwMTdXQau3hmk23JE57lXfXHUwMDE2I1x08vquY3f0S0Nz29NcdFxipSfVcmyv1bb0vj96MEu1e4pquCORXHUwMDA2QZA6mYJwuaH4hlx1MDAxMVxuXHUwMDEy/CoyXHUwMDA1kcb3bNN2/MY/gvEnaP5GUTst0Vx1MDAwN0tcdTAwMGLKXHUwMDEwleq3UlDm4WVIJNSVtm602q6fXHUwMDE4bkxcdTAwMWbPK+JcdTAwMThgKoNg1v1cdTAwMTZ6VS1Y4cnqXHUwMDBlvp+3XHUwMDFhO1x1MDAwNVx1MDAxZN7snY+Ge253x6vmX/L/XHLPkKW9zJDlmWbQdz+jXHUwMDFjXHUwMDEyT1DH62nKZJEhZUiWXHUwMDE4plji8izfNKxO9M+ZttpcdHQxTn3+XHUwMDE0r0dXXHUwMDFmunFSRDJPklwiglxiUsxcdTAwMDFmqbVYpd9cdTAwMGVKilEr95pcdTAwMTd1gO7Rvnr4kHEtYlx1MDAxNtFcIniTXHUwMDE2XHUwMDFm2oarLyqRkVwi8etCXHRJTGY8Rpa4XGJ5+EOjKoXiLyBcdTAwMGU4JL+yTFx1MDAwMzXYltswXHUwMDFl/SXBdC51X+lcdTAwMWGmv1x1MDAxNniWPNavmN4zpVx1MDAxNZpdP3XHNFq+kvOq6K3uzIncNYTvnlx1MDAxNXDtXpCrinZcdTAwMTTD0p2qXHUwMDE27a/tXHUwMDE4LcNSzPPYNsVcYvXKdNFgXHUwMDExhcTQ1/1Mv99SrDFOjMSpXHUwMDE4+7uHZueofOBVXHUwMDBi6vEuXHUwMDFldENcdTAwMWRbQpCJ7yRcdTAwMTG9hvQ7VVx1MDAxYqZxfo8sMYW3K/19jXszhjDFXHUwMDAzoFBiXGKEXGYv8KAskeWQIIZcdTAwMDGU0/jPXHUwMDA1k5tccuJp9luSO1x1MDAwZmlr97FcdTAwMDc75UfDK3XJXHUwMDEwy9ctea+n5Gflnlx1MDAxN4a+Iews682C0ufZNFx1MDAxMbmMith3gphxSlhIulx1MDAxM8lLIbubilx1MDAxZXGR6rtYsbuQXHUwMDAxhkhatFx1MDAwMYyL9I9cdTAwMTWsbVx1MDAwNVxckmXIaIxcdTAwMTVAsJA6M1x1MDAwM4iFXHUwMDE1IGFBa9jBXFxHflwifKY8qdZcdTAwMWHl+nnO0L7CT7mBYn5ccukzXHUwMDA0KMTmUlx1MDAxM1x1MDAwMJVcdTAwMWVFXUPTwp49xFx1MDAwZVx1MDAxNIxnnlGrwFx1MDAxMcXWsqFFIbZ077j0LMNcdTAwMTL3j5BSzMR+XHUwMDA3oFx1MDAxNOs+cVx1MDAxOCee8e3cQYWC3qt6jELUPNS0rFx1MDAxOFfSWSbCY0Y2sX9cXEX06Vx1MDAxNpFcdTAwMTJhapyQYFx1MDAwMra0RVxcj1ePaqHk8VbFLldOXHUwMDBlhlxyYt1cZq+u3oFXq45JXHUwMDEwsiSZI4YoJZCD1CqPXHUwMDFmdMZVvlx1MDAxNMiMhIH881T/aqRPzVx1MDAwMEpcdTAwMDI5XHUwMDEylTaNxq2flNKBaN79o4n7v1n33Fx1MDAxNIVVXHUwMDA0SyucdjKWXHUwMDE2+5XmbIXk9WHFk2ElQU44l19x8aZdXHUwMDE29CPcJSNcdTAwMWReXHUwMDFlXGbq/KhwV7jMulx1MDAxOUdgxTdy2ZFcdTAwMTJWRGxccvwrpq1cdTAwMWLpeqzCTVDZOzy17j3ve/14Z2S1oFLLXCKriJSkclwi+kGgjNKLPH7Q2Vx1MDAxNjlGvMh87WIgQTl07JgofjOoglxmzFx1MDAwMTJ0a7pcdTAwMTRVmFx1MDAxMlxm5XDx345UpfJx+bzsXHUwMDEzgWxcYlErXFx1XHUwMDE0UbFcdTAwMWTaNJvEXHUwMDFlJ3GLiVx1MDAwMafgNY9CJ8TUa/D6rnXdqP9otFx1MDAwYrxSqUtcdTAwMTk32yibIEDvXGInXHUwMDA0uCQ2XHUwMDA0bOtPQuvBqXenXHUwMDFk3YG+1oK0a1x1MDAxZlx1MDAxZNfofq38LYNwQjhcdTAwMTFOXHUwMDEwXHUwMDAyxjiHPP17U/yoMy5zSiZcdTAwMGY9lFx1MDAxM0FjXHUwMDE01fxm8IQhLFK/MoVcdTAwMDBL4miUjk6CluJcdTAwMTQl8//di1N6Ol2clXZcdTAwMDRcZvyTylXuL8FcdTAwMDT896ZcdTAwMGVSy512lFJLO7Z5WuFoanDvR4TIhZDT23F5cKNVyWC3OTop3Vx1MDAxZN1UXHUwMDFlbsnpRdbteFx1MDAwMVfsPS/+ZICoRFx0+UV4XHUwMDA1+07ppl6w60rndESJolH77DKTvJKTdI6gkIAsk/TX2/GDzrjMl+OKZVxuV8JcbsSZT2Lyb3zvtz1erfDa2eJcdTAwMTVOvMCHgMhQZlLoXHUwMDFlamWck1ortC5cdTAwMWWbuNmkl5Z0eT2qXHJx1lxyOXr197aYuzeerpAsI1xmt2+n69GqVqi0K1x1MDAxNFx1MDAxZpw5ztFod8dRf7jDTlx1MDAwNmlcdTAwMDVpXCKtXHUwMDE4XHUwMDEzKpdcdTAwMDBIf4dcdTAwMTA/6IyLfOkzXHUwMDE1p1x1MDAxOXumokiCiDP0S8edvlxyV1t7plrhs7f0TPVcdTAwMTKzfX7i6YPdTlx1MDAwMd+NyO3JkDd71n2qwKhotCqEIbc+1SPFRTRcdTAwMGUhXHUwMDE1u1dAxYYoxiUnR5v+XHSLyr0qLIpcdTAwMTHMXHUwMDAxl+NiXHUwMDAzafIhXHUwMDE5QYYwIKkuu7ZcdTAwMWRcdTAwMTRVLFx1MDAxNmOjoNKF6a5cdTAwMTmQO1x1MDAxNz6bYMRLw3Tnelx1MDAxZFx1MDAxZuD04WVh80qv13DFtInMiWnmXHUwMDA3hv6wXHUwMDFi869cdTAwMDW3448vi7Ep+0rW/TV4ev7w/Fx1MDAxZnWGhUcifQ== + + + + PageINSERT id=1, val=aINSERT id=2, val=bDELETE id=4UPDATE val=X (id=3)UPDATE val=X (id=3)INSERT id=2, val=b... \ No newline at end of file diff --git a/docs/img/multiple-buffer-pools.excalidraw.svg b/docs/img/multiple-buffer-pools.excalidraw.svg new file mode 100644 index 0000000..54ca30c --- /dev/null +++ b/docs/img/multiple-buffer-pools.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1aaW/aSFx1MDAxOP7eX4FYrbQrXHUwMDE11nPPVKuVgIRcdTAwMWPtpuFoaVpVkYNccrhcdTAwMTib2IaQVPnvOzZcdDa+4qakgW79IVxuc3jGM8/zvMfM11x1MDAxN6VS2bue6uVXpbK+6KumoTnqVfmlXz7XXHUwMDFk17AtWVx1MDAwNYPfrj1z+kHLkedN3Vd//Vx1MDAxNfao9u3Jspdu6lx1MDAxM93yXFzZ7pP8XSp9XHL+ylx1MDAxYUPz++65fDg8aHTt6UFcdTAwMGJcdTAwMWRcdTAwMTmi25tf1oKuQaP7yTh631OtoamHVVx1MDAwYlkukKKsXG6uZVx1MDAwMaDh7ytD80ayXGbhsGykXHUwMDFiw5HnXHUwMDE3Rlx1MDAxYS5f/KpcdTAwMTSWuJ5jj/WGbdqOP/pvSvCEY1+o/fHQsWeWtt4mbDEwTLPjXVx1MDAwN++VSyWXpVx1MDAxY3t77256MFae1UtcdTAwMGU3XHUwMDFjWbrrrs3Unqp9w1x1MDAwYj49slx1MDAxNP7cpkdauOrLtk7b1WBrMHvLLj5Qc8TfYr1bvqv/XHUwMDFjXHUwMDFkyNLuXHUwMDA2smamXHUwMDE5zk/X/T1cdTAwMDOIXHUwMDBijIWAeFVcdTAwMTNig4N44YltXHUwMDA1MFx1MDAwMVxmQMZcdTAwMTTAwlx1MDAwZjbcPYlcdTAwMGYveOtANV09XFxgf1x1MDAwZfshdtbmMZtq6rJcdTAwMTOgXHUwMDFjXG5cblxi5ELwVb1pWON4XHUwMDFm0+6Pw3GC0tuXaYBcdTAwMWNp6vlH88zVen3okW7LeaNcdTAwMWS0v1x1MDAwMZB4XHUwMDFkkFBJXHUwMDAyXHUwMDEy0lx1MDAxNEDyXHLj8WpkePpG8aip7kjfSkByXCJcdTAwMThcdTAwMTWEpuCRsEw8XHUwMDAyQlx1MDAxNYVHN2O78JhcdTAwMDO18PtcdTAwMTjK/D5MXHUwMDA0VTiHvMD3LbFfca9cdTAwMGZqXHUwMDFktHfQgvOT49r0stNYbFx1MDAwZoaStEhlXFzUJHw/b4py9lx1MDAxZYpcdTAwMThxoGBcdTAwMTZcdTAwMTG5p4F+XHUwMDFjkJ8+b1x1MDAwNVx1MDAxY3mCg/dwhFx1MDAwMGFcYiBXcGE49t60x1x1MDAwN/jmXHUwMDFkXHUwMDAyoH1e+fD6rDmx6K7BXHUwMDExPytcdTAwMWNcdJKmmnCOfzo4LiFyXHUwMDAxz2tnteOLw8X0i9OavVx1MDAwM919uVGFrTWOuY+VVP9cdTAwMTGy5FpcdTAwMTOcXHUwMDAzhFx1MDAxZuk+gixsb6v7iFx1MDAxNCFccjbjIVx1MDAwMlwikUWmfFx1MDAwMKIoTC5RIWuWQOPqI76u/ltB6O0740R4cyiuLyve68ZcdTAwMThUxp3mat3WYKQ6jn1VXtXcvsx776XXO2u1m0eH9Xn931x1MDAxM9V16dGX8/T3evrCi7w2saRPSqH8ea7PMc5cdTAwMWVShSRGIIKrVIk8MMknQKskySiMqkBEXHUwMDFmuiVcZttBh5hcbkVQTkCaR8xcdTAwMTJhW+hcdTAwMTFDXHUwMDA0iFC2wCFcdTAwMGXh58NOrvXBfrfU3m+8be+V/ja0f1wi+2hbXse48eeP6FppU51cdTAwMThm4Fx1MDAxMa69rWZcdTAwMWFDf1x1MDAxZMp9OXXdWfNiPKOvmqtcdTAwMDZcdTAwMTND06Im40J1dTn1YKhcdTAwMTDAfTmUKkudo1wiXHUwMDE2yXaMoWGpZveh7/JcdTAwMDc6vOdcdTAwMDaowlx1MDAxY1x1MDAwNo8r71x1MDAxOT38yD5cInCjNJvae2f/XHUwMDEwXHUwMDE2YzBmVVx1MDAxYXBNYFx1MDAwZXGI9IDLMCV0XHUwMDE1pIr8XHUwMDBliFx1MDAwYoo5XHUwMDBlsbRcdTAwMTlcdTAwMWVrclx1MDAxZcrgXHUwMDE3j+94XGbkUFx1MDAwMJKIS1x1MDAxOXG1syNbRKDCpb+9TbbyXHSMWkIkRnIj//Bp9Gfp95L1QzTCs6ffJlx1MDAxMGvfXHUwMDEzV4OsXHUwMDBm+Fx1MDAwNjHYszhe7E3O+dWsdVx1MDAwNpyx5s0vKoXEgMVcIlx1MDAxN5CWumK4XG4lpzljQu5cdTAwMTlnv1xm+VNcblx1MDAwMJW6zDCKZFx1MDAxM1wima1sOy69a8BcdTAwMDVcdTAwMTePybTm8p/hg+7QeTOGX9RRr9E5q3xYXHUwMDFj8c3xX1x1MDAwNlx1MDAwNjCK+W/lf302XHUwMDE46E7p1LbNXHUwMDEy3EH6Z8y/XHUwMDEw+9OJXHUwMDFkcftEJlxcJI9cdTAwMDVSSCR/+lBmpm9cdTAwMWFQb9Ru2j33S92aLdzT9mSwNZQsmJlcdTAwMDHfl5mJydCGXHUwMDE08t7yQ0VGyFx1MDAwMIOdziM+noFxNoDyWvUjXHT6SCqCbCqmcz/HPOcraEw91/FLY8mqNPec56dcdTAwMDW31P5uQ6oqtHb3m1x1MDAwMO9Kblx1MDAxM+RcdTAwMDT+sYpcdTAwMDJo2lx1MDAwMaj02bOEVkZZXGIzwp9cIr5+rOmc2kbc7of/lcLlXHUwMDBmfqz+//wytTVda45cdTAwMWZsXHUwMDFmOVx1MDAxYy3Yga914JFcdTAwMGWJzTVV12vYk4nhyaU69T8z4WR5quPVXHJLM6xhvE63tLAmgo27+1xmR1x1MDAwNXztQOH6s1x1MDAwMMVVSFxiQpRLc6AwLGNtXHUwMDFhaTVUp/5WJuHmz6/mK8FIV1x1MDAxM4olZ1x1MDAxOK0re46xpHeO+uTHb7nqQ6hSJVx1MDAxOCM/U+BfXHUwMDAwWJOiSlqsoFQxlppFMMC+f8FcdTAwMDRcdTAwMGU1fiVOXHUwMDExt+SXOJU2IU5cZlBcIl1cdTAwMWSeJk5cYmR6gZRcIkxcdTAwMTSIijiBj1x1MDAxMKdw659LnCo5ePRcdTAwMWYmNikmWZKRn1x1MDAxZVxck1xmaWBcdTAwMDRcdTAwMDS+I0mFXHUwMDAwXGZcdTAwMTFcdTAwMTJpttRcZppAQSHdyk9cdTAwMThGJiHXXGZcIkFcdTAwMTlcdTAwMTZcXMZcdTAwMDdy9Vx1MDAxMEjM4Wl1q9Cps7TH2bEw9mObqCP9UHDTZMdIuenNmkR5TdX69U1ccl5NtkVSMmJcdTAwMWKWc1x1MDAwZm5zsc2DN+lCXHUwMDA3iVx1MDAxMUxcdTAwMTj8+Y6di92CyEzNYFx1MDAwNVx1MDAxMVx1MDAwNSikOFx1MDAxYdFiXHUwMDAwbFx1MDAxYnYuWlx1MDAxNa03wKqFW/POtofa8VRcInzWS1x1MDAxMFx1MDAwMkDEXHUwMDAx4E9gmHdcdTAwMDGN0f2KqyOXwsFcdTAwMTgqXHUwMDE0kizxqOpNY9709i5072Pz0mzog3et97uGx2e9I+bnhqDUR/4/hSPIvrKoyI2RjmihXHUwMDEz6Ds4wt4lsE/rp+rZm38v90fgpHns7lx1MDAxYVx1MDAxY5/3jphcdTAwMTCYcc7pzyePS4i8v6mr6odB9/A1XHUwMDFjo851zztWXZpcZnpTTsTiXHUwMDE549TrYVx1MDAxOFZhsEeMQoFcdTAwMDTe9InYU1x1MDAxZYnv3OUxqFxiQVx1MDAwNFx1MDAwMSjtRCxyXHUwMDE3KS4sVFx1MDAwNn2UgEJHXHUwMDFjP/pqSyuSX96Zo6pWTlJ8ycVcdTAwMTd3+1pWp9OOJ1x1MDAxN618XHUwMDFmkJbnhn5VT4HxIHh8VFx1MDAwNEz2gaxcdTAwMDfpj9tcdTAwMTe3/1x1MDAwMZkj5y8ifQ== + + + + GET RECORD <id>hash(<id>) % nBuffer Pool 2Buffer Pool 1Q1 \ No newline at end of file diff --git a/docs/img/nary-storage-model.excalidraw.svg b/docs/img/nary-storage-model.excalidraw.svg new file mode 100644 index 0000000..0a0cf47 --- /dev/null +++ b/docs/img/nary-storage-model.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1daXPqSLL93r/C4f72ovHUvkzMm1x1MDAxN2CDjTGL2e03XHUwMDEzhFx1MDAwMFx1MDAwMWI3XGIwnuj/PiV8r1x1MDAxMYuQwFx1MDAwNpevm1x1MDAxYtGNpVx1MDAxMqoq5cmTmZWV+s9vZ2fn9nxonv/97Nx8rlx1MDAxOV2rPjJm5384x6fmaGxccvrqXHUwMDE0Wvw9XHUwMDFlTEa1RcuWbVx1MDAwZsd//9vflldcXNRcdTAwMDa916vMrtkz+/ZYtft/9ffZ2X9cdTAwMTb/dd1nZNZso9/smotcdTAwMGJcdTAwMTanlrfCXHUwMDFjrlx1MDAxZk1ccvqL21x1MDAxMsRcdTAwMDSFXHUwMDA04rdcdTAwMDbW+Erdzjbr6mzD6I7N5Vx1MDAxOefQeTxcdTAwMWFPycwoZVnlslx1MDAxOZlYwJxW4su7NqxuN2fPu4te1UaD8TjUMuxaa9libI9cdTAwMDZcdTAwMWSzZNXt1s9pcFx1MDAxZH+7djxQs7C8ajSYNFt9c+zMXHUwMDAxeDs6XHUwMDE4XHUwMDFhNcueq2NcdTAwMTAsj75OhLvdszNcdTAwMGJMLFx1MDAwZjiXuP58vffloDtcdTAwMTg59/5cdTAwMWQsPsu7V41ap6m60K8v21x1MDAxMFBcdTAwMDOUL9vMfoxIouXvtkyr2bKdeXZ1b2wuJpcgxDCTgr+dcO4wjNdcdTAwMTeP+d/ukffrP0ben3S7y045J6LrouFcdTAwMTZcdTAwMGbXY7ONO1x1MDAxNJrfl8ZxM3ZcdTAwMGZ4/Pqpf5166/yKLFx1MDAxOaPRYHb+dubPP3b9buLpoTNJ3oaST7iTrKP+oFx1MDAxYkt2gv3uj2/LkU6GdeNV8CBcdTAwMTNIXHUwMDEyXHUwMDA2XHUwMDA1oFS8ne9a/c76JHRcdTAwMDe1zlJWf3N1eD+McE68MFx1MDAwMlx1MDAwMSZcXFxuXGJ4YJCER+PZk8lncTKopS7r+SE3m1lcdTAwMGaQrFx0+qfBg1x1MDAwM3mBOGSESVwisVx1MDAxNCtYgVxiXFxQLlx05EhcdTAwMDBAXHRj78HOrGXZ5iZyINmCXHUwMDFjsVx1MDAwMVx1MDAxYyghYFx1MDAwMGNKt1wi503AzkkoPkFPXHUwMDAzni/fUHrVXHUwMDFm1UKJUvF8Q+zeXHUwMDBisJ/yZZvP9qrkv1xuQ23QXHUwMDFlk0QoP70r9k1Z7j21pte9fXBApcScf1x1MDAxOFx1MDAwZVb66YJcdTAwMDBcdTAwMTPYXHUwMDBiXHUwMDAyiEnOXHUwMDAxhcFcdTAwMTGwfdCaI4CQXHUwMDBiiFx1MDAxNFx1MDAwMihBmEK5ilx1MDAwMFwijo9cdTAwMDBcdTAwMGUusHMtduaaclx1MDAwMTfxgMhcdTAwMDZcdTAwMWWIc1x1MDAwMSNoO5NcdTAwMWNcdTAwMTFcdTAwMGZcdTAwMWYpskvRXHUwMDE49O2c9bJcdTAwMTA7sHI0ZvSsrvMslnK6kGU1nzemUTdH5yvHw12r2V/Iouqv+6RcdTAwMTJu21JW1luDnlWvu2mhpm5mWH1zXHUwMDE0XHUwMDBmos1cdTAwMDcjq2n1jW7eoy9q7ObNz8dcdTAwMDcvkEsuxqZzcqHT3kFdXHUwMDAyrVx1MDAxZn2jLiGlsvCQXGJu39Wa1ceHp9lj4jmVe3wsT9O0UmppXHUwMDBlXFxBvlxidXGIXHUwMDEw5pIvVYvWzDWkRr1ZqM16VYNWXHUwMDEzg3bvsTNpachcXNxFTOtcYsCUXGJcdTAwMGUlooFcdTAwMTGwfdSaI4CBXHUwMDBiJlx1MDAwNFYsJTjDgKxCXHUwMDAws1x1MDAxM0BcdTAwMDDyXHUwMDBiyNSHQMWeij/ZJlwiiNhAhJBcYkPGT27L6cNdhm2PrOrENs/+1f9cdTAwMWRcdTAwMWWJw3zU+jqHLfvk7lFcdTAwMTAmI/hcdTAwMWRMJsH60TdcdTAwMWNTSpWUkD2YrJi9scHzpDyeXHIvXHUwMDBiIT6q5cKdjuY4luKLMFx1MDAxOVx1MDAxNMwxktHpjc7DqOyZN67QXXw4XHUwMDE2oUroftR97qZQWEcqw8xcdTAwMGJcdTAwMDJCWfmYMSRcdTAwMDMjYPugtUaA8mW+KJNcdTAwMTHAXHUwMDA05cCloL43k6EjMZmPWt/BZOiUTCbWjy4tUlx1MDAwMFx1MDAxMUeAXHUwMDA2x3FcZtWjs3o4wZLpx24nVq7b49KT5jiGaIXJllx1MDAxMNKNyZBQloX4Kjwm5HV6WpG2nSy1XHUwMDEyRqJcdTAwMWJcdTAwMWTOaFFHXHUwMDFlQ55rTlBSgpVE4ODRxO2j1lx1MDAxY1x1MDAwMFx1MDAwMl4wqUiEObZcdTAwMTLlq1x1MDAwMDhFNFx1MDAxMdNcdTAwMGJI1bWQXCIqlKNcdTAwMDW28NiWcKJcdTAwMTSMXHUwMDEzoNyy70tkXHUwMDE3XHUwMDE3XHUwMDE3R2IvXHUwMDFmVb7OXitcdTAwMWQ5diBRQG/3XHUwMDBiQklcYmE4eFx1MDAxOMW2a5lBtZGk5p1xk8+3ku2YXHUwMDAxNccsYl+EtCCg3PGHv0ok8W5Sq+NxXHUwMDA1lTKx6bj+8MxuJ7daRlx1MDAxMok3XHUwMDA01GMniEJcdTAwMTDcbts+as0hINz+XHUwMDE3WltcdTAwMDTT1/2CXHUwMDAySEFcdTAwMThi33hcdTAwMTVsxf/qXHUwMDFmicF89PpcdTAwMGX/q79cdTAwMWaV+fhfXlx1MDAxMCbcczlMXCKIlODKpWnqi+Bewnqo9W7HXHUwMDA1o1F9XG49z4b3Q6E5glx02lx1MDAxNUMkpyAxXGYvoFRcdTAwMWbVXHUwMDAzgVxiWlx1MDAwZf5ccsBcdTAwMThfuO78w1x1MDAxM1x1MDAwM8pWZkz4Llx1MDAwNmD5bPeuZOthJuJDet0rZPNcdTAwMTRoXHJhsXJ0XHUwMDA3hPOTYXc16L5cdTAwMWZ47cHQXHUwMDBiuSt9Xofp5n2DQFx1MDAxNPHDIOpcdTAwMWTnZ1RcdKbjsFx1MDAwNIZoa1x1MDAxNlx1MDAwM+WH2/FzJmv0261cdTAwMDJr9rrlr1xmUSz0hSikylx1MDAxM1Bd8o1y/vpcdTAwMTA9mF/fXHTRPVn0UIhcbs/4XHKHXHUwMDE4cM5R8JW4dMS6jsFZrzjodeaPketk956GvjJE0UlcXMFDWdRxXHUwMDBixV9cdTAwMTA9O3xcdOKdXHUwMDEw3XOh4WBcdTAwMTb1XmOAzmJcdTAwMTTjXCK4r1x1MDAxYcpaWSjCkUGnXHUwMDEwz0QjkVwiK9TyumOUg1eMUkCU8bjqq2JwXHUwMDAyjDqJZ4uLXHUwMDFkV1x1MDAxOStBXHUwMDBmSKNcdTAwMTJhIFx1MDAwMFx1MDAwNX7O6i+M0XfEWFx1MDAwZoXn3tHUXHUwMDAzkYkhXT+6zMjEzj933oRcdTAwMWYym6EwioR6NyyKalx1MDAxZCF4pHyX9spj0WzHXHLbwaHrjih9XHUwMDE3Pn9vXHUwMDE4VfUzm1xiRYrHmXM5g1x1MDAwMFNIWUBcdTAwMWGVSqNAp9dbXHUwMDEx+rWhl8olz66scecsp56meWpcdTAwMTR63f1cdTAwMWSAfFx1MDAwNYqJi5VsLTfLPjYqtdHIij093bZdo/uB2rpl9Fx1MDAwNn2XpC9kXHUwMDE1sdXdYcgl3m+ytC047z64iYOP2Fn2udy7p9j/ZDhlfEBcdTAwMGWQlG5cdTAwMDH6qVx1MDAxZoF3lF1dwVxiXG60IfGD1iZCXHUwMDBm4SfZXHUwMDFli1x1MDAxNGo+tNulUrFwYz5cdTAwMDfd/3asfXUgUU/SnDRJXHUwMDE5z66jz1x1MDAxOfFcdTAwMTDqJYL97oZ1cKS1lF2zt1x1MDAwMbpVqlxcIFx1MDAwZeN1g1xyu0D/XHUwMDEzc8JPX39cZuZcdTAwMDSqSWh6YK5l1FqTkflcdTAwMDVQp9hUuX5EbNhcdTAwMWZcdTAwMGLd6bnFUVx1MDAwMVX5XG5cdTAwMTJcdTAwMDaJuq2jbqVcdTAwMWZcdTAwMWbIbD/JKt6vu1x1MDAwNWpvwjt84WOFdzyYzo901slvbTTrnLdcdTAwMDNouzXNmjZYRVx1MDAxYYXgXHUwMDAycFx0XHUwMDA0wlxmMFx1MDAwNJZcdTAwMTO0mC4oL6QkQIlcdTAwMWaFQvLlUJeL0qpcdTAwMDVcdTAwMDJcdTAwMTJyhqWzf2VcdTAwMTOS6lx1MDAwNlx1MDAwMCp7jyDCVVNKiXu3oD9G65JcYtA4XHUwMDE2L5K145+HUOXycURcdTAwMTndRovulJtccrdB4Vx1MDAxYVx1MDAxMUmCOPR7IXT/TdZvh4dcdTAwMDNrnXiX386WXHUwMDEzuPjj7fu//9ja2lPGXHUwMDE2V2+TruUvbjBe11x1MDAxONuXg17PstVQM043N1x1MDAxZYdtjOyI1a9b/aY6t2Tgn8VcdTAwMTaCoHuheGpcdTAwMTNnXG5CTlx1MDAxN5WTgVxiVdaNoJhQJKmrYdNcdTAwMTguXHUwMDA06Fx1MDAxNYhcdTAwMDRcdTAwMTJcdTAwMDdsXHUwMDEwsFx1MDAxZi3erIFzs1/379fuKlxmq/1axFx1MDAxMJefZUb1W69cdTAwMTDY6MVifsKOLmmZxoZJr/roPnduj6xXiO/QX1PzapJJdsKp+zBcdTAwMTBNklx1MDAwMfmBvN/UX1sylFx1MDAxNjrMnVx1MDAxOONAMVx1MDAwNNGmgU7EXHUwMDE2XHUwMDAzXHUwMDFkfrSBvlx1MDAxNlx1MDAwYvqa5jmUTFxuurlxbkF2XHUwMDFi2unNUKBcdTAwMThi4PaKj26ez4el66eKmbq+T5ZbOVmXTesq+8uZ0dtHXHUwMDE5xIxGgF+I5aZxsYZcdTAwMTJcdTAwMDAusFx1MDAxYv5iXHUwMDAzNJiQ1yZYKNdLXHUwMDEwslx1MDAwNULqV1x1MDAwNHB9oCaI0ofYOUaCSyi2XHUwMDExu2ItT2LnXHUwMDAyYIZhoFx1MDAwNe9Tm9656F30Mn/2P2exbDp59lx1MDAwZtuods1//qtfuolmo2f/aFhmt/7Ps/89+79/9cOpK/eBzzbX5VIu1sx1XHUwMDFmXHUwMDE2WjfXP2BcdTAwMDb2MPF3a6udJj5eK25ENslxXHUwMDFiNaJ9qDGAjf4rXHUwMDAwmShbQ9noXHUwMDFitrhzXHUwMDBleFvoUln2XHUwMDAyXCJcdTAwMTgkuexUQP5QXHUwMDBifaU1RK72x7O/d8PVZee6Oudt1Fx1MDAwNjKtXHUwMDAzm/xbbikunFx1MDAxY2FcdTAwMGWVwndcdTAwMWMrIY5qV1x1MDAwN0rqZ3JcdTAwMDf3SFx1MDAwMTnEXCL4WtTo5aY6nYZxpCRvYnJitebZ8FRcdTAwMTdT+JDCVuhcdTAwMTSrxFx1MDAwMZP6sVI9XHUwMDAwMe63KHwzjFxcR0eZXCKcXGbHhVTMzlGWXGa5JfQ+XHUwMDFhao9il1fJdiHe6/SeZ6GbsTsofd6JVKZpUpmlesIo4FG8/PKSXHUwMDEz7lx1MDAwNijRzZRF9ImyULU7L1x1MDAxNmq5XHUwMDEy7rlcdTAwMWLg4nUtWo5cdTAwMTWua5PpYzgyeZiCxPPp91x1MDAxNSRcboVcdTAwMDej9ZBcdTAwMWFXSVwiVcc3t93GXHUwMDFjarivgFx1MDAwMc9t3crqJlx1MDAxNGNcdTAwMTY843H7oDVcdTAwMDfhrtpaXGLpWltcdTAwMGKrjlx1MDAwYlx1MDAwZem3hKQ+XHUwMDFiXHUwMDFijlrey4fTPr28XHUwMDE38EwmQVx1MDAxOFKkXHUwMDFjz+CZmJedfCo2L1x1MDAxNTLP0+yVddmo0ZfeUHPVsbO6l078zZVcdTAwMTNcdTAwMDaJYH578n5JZXFcdTAwMTh/Z4ft6FjwdH5a6c2vm5n25agsdeRv732BlFx1MDAwMlxuXGImwTdcdTAwMTVtXHUwMDFmtOYg3FlgTFx1MDAxMbuu+1x1MDAwMiVcdTAwMDWIMCy+JSj1YfCTXHUwMDE0OfNhN02KnEHPXHUwMDE4XHUwMDEyUVQuyD6VYexcdTAwMTR+wVx1MDAwZlVT4NuYcT29urNns6jmqmRnjTOd+JxyJ4QjXZ7CN1JcdTAwMWSH8fkwWS5HXHUwMDEyoFx1MDAxOeqy6WViNL1JM3yrI59vJmC8XHUwMDE51ZArr1x1MDAwZvDgQbHtg9ZcdTAwMWGEPmXWNOZzwZjAXFw9o+9cYkpN+fxYpd582E2TUm/ela5cdTAwMThcdTAwMDJcdTAwMDThfeLr1auUWYsmXHUwMDFlo4nL6qCCpyCSKVx1MDAxYZqrkp2V3nTic4GlUnTu3PJvpDpcdTAwMGXj8+sxXHUwMDFjV9pznkqlrlx1MDAxMG7Oorfooasjn1x1MDAxM+/Xt3DJXHUwMDE3hXuCo3D7qDVH4a5ycydcdLBcdTAwMWZWbk4gXHUwMDAyibN58juCUlx1MDAxZj4/XsU7XHUwMDFmSvvUinfK0vdUXHUwMDFiis2Iom5cdTAwMWXcXHUwMDE5L2TCmSl+Mu8yV1x1MDAwNaMxST7WsiNbc7Wxs+KdTuTNgSCcM/ot9cRh5F28XHUwMDE5W7fXsfm4NUehWSlzVzT7XHJcdTAwMWTJm3mjXHUwMDEwXHUwMDEwp1x1MDAxN26c+pb93zpqzVG4q+iexs44xJwsKlx1MDAwMv21Pq6PN36swn8+9Haywn8+q+WejoCkij5cdTAwMThcdTAwMDPBVUnvqdFPZ7K5TKTaXGK3c002JE81vVXJ7mw3zHRcInRcdTAwMGWpXHUwMDAyil+xPzSrP49CnUG+JJs9Y1JcdTAwMGL179tcdTAwMTk3rnO39j0pRVxmo12tNFx1MDAxZfqtxi25n61cdTAwMDD/XHUwMDAx9CCDrWK8Uma3hdGluDaBu0E6emtOrvv95P24WbVcdTAwMGKPXHUwMDEx2pRVd1x1MDAwM7tcdTAwMTZcdTAwMTfjXHUwMDAyrj73XHJajPdcdTAwMDbh0qiPPiG6PsfRYSiem8baclx1MDAxNK7Grqp9MtWR0L2XuDBwXHUwMDE4ju6R7bZ90JqDcFe2XHUwMDFiXHUwMDE2uma7Qc4kI1x1MDAxOH5PTOpD50dNd/MhtU9Pd4Peb7NUjFx1MDAwNoVcIrbgLrnMN/OZvIhlpvVUJVx1MDAxYquG4JNxr7ny2Jnvplx1MDAxM4M7gUYmue+LXCJ+SW1xXHUwMDE4g99djeN2t1pPVFx1MDAxYaJZqFx1MDAxNMf4Mn2pI4Pv2LGIpeMgMlx1MDAxMJzCt49ac1x1MDAxNO5MeMNcXFufXFxZWFhdQL4lKvXh8JMkvPnQmyZcdG+uSdt8p4bCXHUwMDE4YjR48ix5isliPDS3eapZnPJhWkbvvnTGm1aMLilcdTAwMTBcdTAwMWMh6Jct+0sqj8MoPTpcdTAwMTOxbKlcdTAwMWO56TzQfNm8g4lcdTAwMDGxdaR05rlcdTAwMDVccjJHOql7ccVcdTAwMGaG20etNVxmfXLeNKZ0yJSSkEqLfEtYasrpx0p68yE4XZLePGuPMylcdTAwMDR0appcdTAwMDTWJVx1MDAxNmllR+bAXHUwMDFj5Fx1MDAxZfqRUbNsXHUwMDE2h+UrzXXJzqQ3rShcdTAwMWRTXHUwMDAwJVx1MDAwNL7vxfoldcdhlN65Ked5bHiZt8qzQVx1MDAxZFxmXHUwMDFiiXmmryOlU++XrHIlls7W0OBZb9tHrTlcZndlvZ0k0H7gS1ZcdTAwMWRLXHUwMDFiQYL/irT/omlvPqT2uWlv3rtZXHUwMDE5cYxSyoM75FVcdTAwMTiz7yPG3VPRwOSZXHUwMDBmXG4tmIhorjZ2Zr1pxd5cdTAwMWNgp1x1MDAxZVx1MDAxNfXbg/ZL6onD2NvOTUrXd/FeZ/xwf5PPXybblWFIR/bm3nExKYhUXCLC9thcdLp11JrDcFfam8b+OFx1MDAxN5Q7hda/pUmtXHUwMDBmeZ8k682H3jTJepPe21+cuJ6gXHUwMDE0XHUwMDA3Z/Ruslx1MDAxN77JWfWbRDiGeY7MYPplrLcq8SnyXHUwMDE2/I2a+9e43JfRXHUwMDEx4k7BdV/LP1Ot51x1MDAxZuNP4Omxk7q6j9RrmeLtw+nZtHB/11x1MDAxYmVlrlx1MDAwMYudXHUwMDEwgo27Qimd1JBNd5XmxFhcdTAwMDLiZJFcdTAwMDeGwPZRa1x1MDAwZYGdSWcgsC98OFx1MDAwNFx1MDAwZUo6o1xuukw9XHUwMDFjv9j2h+NBXHUwMDFmXCI7ar6Xjzb/7HwvXHUwMDAxvPO9lGSgvZgrXHUwMDFhm9z3uqXR9fjyathFj/VQuqq5XHUwMDEx7FPeTCPmUja6elx1MDAxNpT4Wb2aXHUwMDEwV7ZQmsNMuPZcdTAwMThcdTAwMDK3qZtcXHb+aDeYjsS1Y+syJFx1MDAxMEMkgmdabVx1MDAxZrTmXHUwMDAw2F1aTFx1MDAwNnZcdTAwMDPfgYDDlmVcdFd8izj2XHUwMDBizvzC1HWSNCdcdTAwMWa1rkeak4Ce4Vx1MDAxY4mVkeNsk1x1MDAwYozjfDl7X1x1MDAwZV2Gr3k08dTvptFcdTAwMGLsXHUwMDBizXG8u66XRkSGlF6lVGLfxGVNmCxcXKyRhGhTWrY6o3H8XHUwMDBl9G7yOmZcdTAwMThx6p1hhClcIspDQcFcdTAwMDOa20etNVx1MDAwNPyqaulLZcqqU09cdTAwMDecXHUwMDFjXHUwMDEwmlx1MDAxMtmxcnt81LpcdTAwMWW5PVx1MDAwMnrm9lx1MDAxMOdcdTAwMDWSe5SnfC6r6Wo3w31cdTAwMWGr19qRa5tcdTAwMTcuda+Mt7uclUY0JrjgXGJzjzeUa8diLTB/nFx1MDAxNIuRpFxynvPRlpl+Sr7o6Y95JtVcdTAwMTDmrPzsQ2LbXHUwMDA3rTlcdTAwMDB25tScXCKOeFhOjWNfMCZPj1x1MDAwN31I7HjpLD6a/FPTWYR3MqpcdTAwMTJ3LiFcdTAwMTIyeFxmsVx1MDAwMk2SXHUwMDFlNqpkXGJrmdJcdTAwMTWBV/dcdTAwMWTd0+B2V3HSiLNcYlx1MDAwM4TCr1x1MDAxMkK8XHUwMDA2XHUwMDAzqzfM5XNcdTAwMTmrYrVbPM7z7c94RagvZbFdO6wghFxmoOBcdTAwMDDYPmrNXHUwMDAxsLOAkr5+l1JNiCNcdMRfntdx0zh8tLpcdTAwMWVpXHUwMDFjXGJ7vupHeSWSc7jHW0biN8+myVx1MDAxM3Y2c5eY3Kajt/NcXMdrLaw2XHUwMDFhjMehlmHXWlx1MDAxYYCZu5osLnGpt1x1MDAwM1K/fm9cdTAwMThVXHUwMDA1+03IXCK0hbNcdTAwMTDZJC2hOMvRXHUwMDFjPlx1MDAxOG1EXHUwMDA3XHUwMDE1llx1MDAwZplZ8tKZ3LBkwlx1MDAxODTmXHUwMDFmz1o/Xlx1MDAwMvf00Jkkb0PJJ9xJ1lF/0I0lO6skdvCbrVx1MDAxOVSM4qrh807a2inzXHUwMDE4eS5/cSFcYlx1MDAxM5BcdTAwMDZcdTAwMGab24ZyscDVoHo/vSPxcOK52WhhzanLvT36R9HN90i7XHUwMDA3PYktor4p6Vx1MDAwMlx1MDAxMGWcMd83WF2+VNDD5aPo5kNcdTAwMWR6WVx1MDAxYdWen4cr5fxOXG6FNImnM4+ixdgoKVx1MDAwN6hRXHUwMDE4vMRetkNhwTlLJPyx62ePizBcdDAjXHUwMDFmhTAvw1x1MDAxMFNPcFx0qlx1MDAxZbakgd47XHUwMDFlZJp1XHUwMDA1l7LKqMBY2VmKV9aqYkNwsf7e6Y/AXHUwMDFho8pcdTAwMTbFXHUwMDE4XHUwMDEzTFx1MDAwMVx1MDAxNdSVm7l88bZ0WVx1MDAwZj+zirnjvVHfWpqnXHUwMDA33y45djYm78NcdTAwMTTbbEWXrexjK1x1MDAwZY3m6qrux75vYjd9rFx1MDAxYolcdTAwMWKdXHRcdTAwMTTooO/gSuyZK4UlpFx1MDAwMKE9SmP1R5w3pJ1NwVJ8UrufxsJXtuavgiRCI65khFx1MDAxMMqo1Fx1MDAwZq67SK1UT09cdTAwMGKsXHUwMDAxR4XyINfld6BcdTAwMWSdTVx1MDAwMnFlXHUwMDAwTttXXHUwMDE3XHUwMDFjxmnCXHUwMDFiXHUwMDA0XHUwMDE0Yo7YXHUwMDFl8fnd06ErXGK+XHUwMDBlp0GAJUbAXe9TXHUwMDE3lOhGasdac/bR89tJbc/l5neRmrdcdTAwMDOoXHUwMDA0XHUwMDFjI0T3cFx1MDAwMOPP8fasedWO3t/krCqn82uR1Z3UNlx1MDAxY8D3hTveRWpcdTAwMTBcdTAwMDEmXHUwMDExh76vS9WL1bqWXHUwMDE1fim0+WSao+NovZw1r1aqx39cdTAwMDFWo95bsoFwKnJcdTAwMDUv5LB7NnRcdTAwMDXBLlLjWpFcdTAwMWFRXHUwMDE0jFx1MDAxOUd/cZpcdTAwMWan4SNxmo+a385p+ISchj1zSDBcdTAwMTZcdTAwMTCRfVxuLORewMMkYrzMr2klVunI8WNpTjSH84aj9omcxrD6x7CGcZVdlNbq3XRcIs9WJV3N11x1MDAxMvBqXHUwMDEwpvRcdHwxSvOsIcwxJVx1MDAwNMo9VrN2T4euIPg6nOZsXHUwMDFjlVxcXG6kn+HnJ8j7RNE/gtTIkUjNR89vJzVySlLzNFFcdKOcXGKJgm+wLqdxaViJ94z+ZVx1MDAxN/Gbq+TEaulOauuOXHUwMDFhRp/oqHFEXHUwMDA0k4LoZ4TuYrV+VDzkoalcdTAwMDQ9nYy18rH8Y6KZ/0hWO8GSmneulfM2I4j2SLXaPVx1MDAxZJqigNBcdTAwMGKJXHUwMDE26blcdTAwMTJwV8bK/FVHXFxcdTAwMTCw/MAjXHUwMDAwXHUwMDA0iVx1MDAwYkik+jAoKFx1MDAwNshV1sEnXHUwMDE2ySV2rtTPXHUwMDEw1IfijpdB7KPx359B/C5q80y8XHUwMDEyXHUwMDAwMk7wXHUwMDFlRVxiWFx1MDAwNVx1MDAxNbNcdTAwMTnw2OhGXHUwMDFmwe1kXHUwMDE24el7/U1Vjahcclx1MDAwMMaUOfq1mC2DukauVp03M1fGwEqmk/N2vfi1mI15ptEjXGKdlFAsgq+s7Z5cdTAwMGZdUbDDYVtQmz5cdTAwMGWbXHUwMDAwVF1GNLT/9CGzV1x1MDAxN+lYKcU+en67v7ZnNrFcdTAwMDepXHUwMDA1SVBbS05bM+LYWnzOXHUwMDA1jqBbOjZBdEA2/UZyrlx1MDAwZXnJbiRtR8CSXHUwMDAwfk4z+nHkz2V/foZcdTAwMWZcdMBcYoqNiPBcdTAwMDLYnmufXHUwMDA0M4QkXHUwMDA0QTTuOlx1MDAwNFdcdTAwMDC1XHUwMDAxQlx1MDAwNFx1MDAxOHeFefZcdTAwMDDhcGCtM+Hy29lyWlx1MDAxN3+8ff/3XHUwMDFmW1uHyEr7XHUwMDEw879cdTAwMDKuXVwiXFyXbCisrjG2L1x1MDAwN72eZavRZ5yer49ybFx1MDAxYiM7YvXrVr+5+kzN17lcZpJcdTAwMTW20EK1yUKsLtDCL1l+uKtV01x1MDAxODrPYENMzH7dv1x1MDAwZvFoPCUzo5RllctmZGJcdTAwMDFzWolv60NcYlxcXGLOOESKw378f6NcdTAwMGZcYmx0YjFcdTAwMTVhR1G0TKO+PlGqi+5z5/bIelx1MDAwNf+rcvrtx7SfXHUwMDFiw2HOVsL2NpDzqWXOXCLbUL/4ONcv+uCg3lxc4OrP3/78L1x1MDAwMlx1MDAxYS1KIn0= + + + + Headerattribute #1attribute #2...attribute #nTuple #1Tuple #nTuple #2...NSM Disk SpaceIndexSELECT * FROM <table>WHERE <field> = ?AND <field> = ?Headerattribute #1attribute #2...attribute #nHeaderattribute #1attribute #2...attribute #nHeaderattribute #1attribute #2...attribute #npage #1page #2page #3page #4...page #n \ No newline at end of file diff --git a/docs/img/non-clustered-index.avif b/docs/img/non-clustered-index.avif new file mode 100644 index 0000000..5c8ff11 Binary files /dev/null and b/docs/img/non-clustered-index.avif differ diff --git a/docs/img/non-clustered-index.png b/docs/img/non-clustered-index.png new file mode 100644 index 0000000..42adcb5 Binary files /dev/null and b/docs/img/non-clustered-index.png differ diff --git a/docs/img/overflow-page.excalidraw.svg b/docs/img/overflow-page.excalidraw.svg new file mode 100644 index 0000000..a83011d --- /dev/null +++ b/docs/img/overflow-page.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO2cWVfiSFx1MDAxYsfv+1N4eG+7mdqXuVNEXHUwMDAxXHUwMDE1sEHQnpnjXHRcdTAwMTBCNCSQhLVPf/e3XHUwMDEybVx1MDAxMsKq7Vx1MDAxMqeHPvaRqkpqe/7Pr1a/fzo4yPizgZ758yCjT9uaZXZcXG2S+Vx1MDAxY4SPddczXHUwMDFkW0Wh8LvnjNx2mLLn+1x1MDAwM+/PP/6Insi2nf7DU7ql93Xb91S6v9T3g4Pv4f+xfFxcve1rtmHp4Vx1MDAwM2FUlFx1MDAxNYM8XHUwMDE5WnbsMFssXHRUP5QsXHUwMDEymN6xys7XOyq2q1meXHUwMDFlxVx1MDAwNEGZw8rVdWtW7H4jY1xuQM1cdTAwMWaXXHUwMDFhY1x1MDAxMOXaNS2r5s+ssFSeo2pcdTAwMTLFeb7r3OtNs+P3fjZALHzTU64zMnq27lx1MDAwNbVcdTAwMDeLUGegtU1/psIgiEJcdTAwMWaaIJ5uXHUwMDFh5CRRXHUwMDE0XHUwMDEwPlwiXHRI5J5zLMdccnL/XHUwMDFmXGI/Uf4trX1vqELYnShccmkzvUujNJPHOpFYWXq6afT8IJDFMtPDhoVcdTAwMWNhLKiMtXuQxaDYifr4oc1vQbFx1upbbNZcdTAwMDDEXHUwMDFiN7+dNFx1MDAwNot8VYJSmdZ4pTApXHJPmvm7vHvTvWJ65jH+n3gj2p3HRrRHllx1MDAxNdUuiMgn7StuY7G+XHUwMDFmaqOSPFx1MDAxZZ5a7k29lCuWTysjJ16amEFqrutMMouYXHUwMDFmn7e9N1/tzLxy+1x1MDAwZZ9WtWnt7NSrT0/lfu9dqelo0NFcdTAwMWWsXHUwMDE3MoE4U31cclx0XHUwMDEzi3jLtO+TjWA57fvI4D/FXG68XCI0X5/66zRGXHUwMDA03qQxSbgkjFx1MDAwMLS3xk5cYmTNZmM+rOizpn4+XHUwMDFh93p9knaNXHSaXHUwMDA1yiNcdTAwMDAmXHUwMDE4I5QuXHUwMDBiTohfXHUwMDEy3KRn+vqq3Fx1MDAxMCdZJKVcdTAwMTScSySZ4HSN+nBcdTAwMTbK+IetiFx1MDAxMSPKKSWIpU6ML2nWkfk4tl8z56H7Z0uhJ1rftIL+imw5tHfVXHUwMDAzXHUwMDE1ZdRdy5lcdTAwMWNUNSPWXHUwMDEzQfShZVx1MDAxYYFcdTAwMDQybVVs3V1Sh28qmi1cdTAwMTL4MW+RaatcZjXT1t1iJ1lwxzVcctPWrPr2zFWd9cLPfoZZXHUwMDE0syBPXHUwMDBmXCKDmtC1cn7Q2fG8Z896pFP5WtHzo7x72a+fjmOV21xm191Y2YpcdTAwMDSxTU6/ro/3dVx1MDAxMO8knkc1XHUwMDEzXGaVXHUwMDE3YnEjfHTRXHUwMDEwyU0uWvknxlx1MDAwNI4/t9lH74nMtcSIXHUwMDE5X9O2xq2pPWpNcteGuCveXHUwMDE5o3Z5X2L+xiTe1nor0l3GdaBaXGZcdTAwMDTPolBSnCGJZYJUki1cdTAwMDNDrCia0SxccmNcYidcdTAwMTBBuCpvjLPsP4G/ksAhpFx1MDAxMFx1MDAxMtX8azVcdTAwMGXBJo1cdTAwMTNCkepdKJ4h8aVyvCCKf9L1WPO1WO9GgEZiKXRcdTAwMDOg9ydw3+x04lx1MDAxY4uRXHUwMDEyRZPEZTTvwmSS1suVSUJ66+h66zRcdTAwMTbHtJj031x1MDAxOHGsjILsP8YuTFx1MDAwZvNXXqs9cOvjm7J2aVx1MDAxYZ5ppkVhm8bYIDHg4OhVhtXrhiyQrMxiVXkgRbF5zXrHUFx1MDAwN4bfmFx1MDAxN+dcck+6hdr83DWKtlx1MDAxNndcZl/uxz7QJshpnnh16VxmzqRdKn6YcfVWg940XVRNt8mWXHUwMDE5IVx1MDAxMnH0hOniV+eLTZtcdTAwMTWnNDi/49Y1OS2CXHUwMDFj3WDKPa3dXHUwMDFiuXpcdTAwMWGMWcKsXGJtXHUwMDE0SsBxXHUwMDAyw5xvwvDL2TlkWfwwJYSCYqBcXMhcdTAwMGWU/yRcdTAwMTAhTFL521v+84FcdTAwMTV0Suu5s8gkw54wkWxt5tJ6JP5cdTAwMDKtXHUwMDEwTYZGtKLK8Fx1MDAxOcb7r7qe3GvD3iGZUHk1KOaG7DrfPDpOOa24eFx1MDAxM1pBtFx1MDAxZq0ohSRY5tml2fP7Uu/izP7qlidATE6PNJDT31ezi1e/7ERwpUTvxUK+eVxcJyDHXHUwMDAwwr1cdTAwMDbtXHUwMDBmXHLCj49mNzetplFcdTAwMWSceKeli3K1Ucaph6HAXHUwMDFmXHUwMDE2hlCoeTRcdTAwMTD4XHUwMDAzXG4rPTDU3lx1MDAwMYZbJmkvXHUwMDBlQ4aSoYtcdTAwMWRI1dxIXG60z8rbg8Lnt1x1MDAxM1aa4lx1MDAwNjzvTptVcWvM1L+Us5CSt5m5YZld2uyI5vTb0FxiXHUwMDExgkQpeOdcdTAwMGWIRZu38+tR+aw1NHv5+6LbI7nxv0fDz8OXgJtsXHUwMDFiXHUwMDAxyYHy51x1MDAxNOxt3EM+0iyn0IdkwO5uYFx1MDAwMVx1MDAxY86al6nHXHUwMDE3gyDLQ4NDmFx1MDAwM1x1MDAwNt6BX1JkSchPiqjgQq5cdTAwMWH++qlcdTAwMWNcdTAwMTNcdTAwMDRcdTAwMGJV6N/b8n+NXlx1MDAwNV3rxCn1ZlxiS2b82lx1MDAxYyNko9apwFjip3DMxpVB1Vx1MDAxODV4cd6xzpDGjup2yk/SYJiyXHUwMDE1SKDAXG5cdTAwMTiJeZT18r1cdTAwMWT1e0cnlW5pMHPmjfElLtTOT9I4q9u5a3iD9W7+dkZcbudSNoqDr+37ejWFk7r4tndyUlx1MDAwNyhQIz6G9l/hXFxf65RTXHUwMDExw50rnMnCvOdETlx1MDAxMqDqXHUwMDA0P6CS0lx1MDAwM8L26zBwXHUwMDE3KpJYbL9cdTAwMWRcdTAwMTGx2LzMXHQ5XHUwMDEwykPz/Vx1MDAxN29aZ+dDbIxcck/Orpu44n+B5zejlCNcdTAwMTG/XHJcdTAwMTL3XuZcdTAwMTRcdTAwMTBKznfJXHUwMDE4V0tgdmNVa3ddtzU9cZ2G03zn8ezzgCiPirOq5bVhXHUwMDFluHOv0KhNhzkrhUBEcOW8Qmw/XHUwMDAwSap4uD9cdTAwMTDX1zrlQqFcdTAwMWZcdIdcdTAwMDKo5Fx1MDAxNH9AXHUwMDFkpVx1MDAwN4edV8LhXHUwMDBlTCRx2HlDXHUwMDFjbjmjQlx1MDAxMKFcdTAwMWOJJ+z60eJdi1x1MDAxNq9cdTAwMGXbh7VKoXh10bBOecpXOjFJXHUwMDFlin1fXHUwMDFjslx1MDAwMIdAiF1b9Tfe8LJeNY5y7PKir9/P7HFnRD5cIlx1MDAwZnNcdTAwMTeMXFz58NJnvelsbFxcu32qXHUwMDBm0shDtHGCKFx1MDAwNcSck71cdTAwMGXjbqt0yoXCP1x1MDAxMlx1MDAwZSHhXHUwMDA0YfEhhZRcdTAwMWUgPvvmxFx1MDAwZSDuXHUwMDAwRVx1MDAxMohPvEOxXHUwMDAxiPtcdTAwMWNASFx1MDAxYz5YUlx1MDAwMFx1MDAxMslNMcHgisGKdX5cdTAwMWXKLer6d1x1MDAxZa9+qdPTiFx1MDAxMcDB6jHpsFx1MDAxMJtPYlx1MDAwNCfm1Vx1MDAwMF7ENkpe8Pg0j1x1MDAxZD5+glx1MDAwNlx1MDAwN46ZZGX020HU0OGXxe//fN6dWlnYrvRi81x1MDAwMyu9Ymmen3P6fdNXNa9cdTAwMDalXulcdTAwMWVfc/0j0+6YtqHiXCLk/7z8W9zjXHUwMDFjWOiA2qMlI1x1MDAwYlxmSlx1MDAxYlx1MDAwNK39XHUwMDE4sLhcdTAwMDCS0e3O7lx1MDAxY7dcdTAwMWb+fmKOYS1cdTAwMGZcdTAwMDNX0NO18PVcdTAwMWQnNjpQXHUwMDA1Wor0XfNB3lv8z/ZcdTAwMWIr2/xcdTAwMGbGK/e3Ys5mXHUwMDAxzHVbXHUwMDExv9/1rdmFY/fgkZSF0fCbYTSd9lx1MDAxOFx1MDAxNl6S2ovjRFx1MDAwNKvhXHUwMDFmWeugNu+0Q8a5oJCT51xc4PpcdTAwMTDuKdZFifSv521eVPtL3ma1NC/rXHUwMDE1ZmW3U78sXHUwMDFml5yJW7tsuUbRq96ueoU118NwYlBcdTAwMTKAb9UpXHUwMDEwkGWBrFx1MDAxOVxmqEhjx5uii8dcdTAwMTFL/3NcdTAwMTKPXHReykk8rHEjus5JcJJcZlxcOFx0rpSMMIf7rMC89Vx1MDAxNbBi98DzVZ/+bVx1MDAxZjiP151cdTAwMDOprJ1vgKXQX75cdTAwMTS2dC07Nu4n0Vx1MDAwYp9wJmNXRdZfXGL79Nj/XHUwMDE5bTCo+apxXHUwMDE3bikzNvXJ0Zo/wtFccj+B9YQ+IFCEXHUwMDFl9NT3XHUwMDFmn378XHUwMDFm/qU98iJ9 + + + + Overflow PageDatabaHeadercdeIf still overflowing \ No newline at end of file diff --git a/docs/img/page-directory.excalidraw.svg b/docs/img/page-directory.excalidraw.svg new file mode 100644 index 0000000..e3dcac2 --- /dev/null +++ b/docs/img/page-directory.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1dW1PiSFx1MDAxNH7fX2G5r4Pb98u+XHUwMDAxiiiKysVRt7askFx1MDAwNFxihISBXHUwMDAwwtT8901AISRcdTAwMDSCXHUwMDE3XGY7MlVT0EmnO+nvnO/cOv784+Dg0Fx1MDAxOXf1w79cdTAwMGZcdTAwMGX1J1UxXHKtp4xcdTAwMGW/ee1Dvdc3bMs9hKa/+/agp07PbDpOt//3X38telx1MDAxY6l2Z9ZLN/WObjl997x/3N9cdTAwMDdcdTAwMDc/p/+7R1xmzet7bIxh8aE8sOo5e4AktlElRaZdpye9TKanq45iNUx9cejJbYdcdTAwMTiBecPYbVx1MDAxML7fI0Nzmm6bhPJI+j/zM5q60Wg6gW6zYf4+WLT0nZ7d1rO2afe8ufxcdKafxUxqitpu9OyBpS3OqSs1XHUwMDAw6OKcumGaZWdszlx1MDAxZZiiNlx1MDAwNz3fvcxG+P48YVx1MDAxNGif9+vb7uNd9HKHbDQtvd9fmq3dVVTD8Vx1MDAxZVx1MDAwNlx1MDAwNItWb37dM22xXHUwMDBl09Zyz1x1MDAwMlC7yFx1MDAwZduTtipvh/xxeJo7fD7+r38gS3tcdTAwMWXIXHUwMDFhmOZifrquTVx1MDAwN+KIYVxuMJlcdTAwMWZZoFx1MDAwNVJcdTAwMTlsLdrWXHUwMDE0OVx1MDAxMlx1MDAwMEZcdTAwMTnhi25G/9hFjDO9al0x+/riIXtzOFmgaWlcdTAwMWWDrqbMOkEmXHUwMDEwk1x1MDAwMkD3XHUwMDFmnlx1MDAxZjdccqtcdTAwMWTsY9pqezHOtPXXt1VcdTAwMTAtX5f0lkpSvebVjVatptpFobXiQ5SKZYhCtFx1MDAwMqPYt1RzVGLx3qgkKtPrUahcZqBrXHUwMDE5k3BnmCS6fn/B9Fx1MDAxMn0qT3Li4mZyku9051x1MDAwM7gn5DJcdTAwMDST43GlwFx1MDAwYq2ry7N7q3Uub/0nvFx1MDAxM6opp1x1MDAxOFx1MDAxMEhXgVx1MDAxYWNcdTAwMThcdTAwMDVqKJFkgmGCXoHqf/7dXHKm7y8nNz1SOLEy1bHCjVxcylx1MDAxYaa78THNQFx1MDAwMNN+/L5gmq2ANHtnRI+ahqN/4TlcdTAwMTaeXHUwMDExQS6CoFx1MDAwNCvwjFx1MDAwNI3CM1x1MDAxN1xmuvhcdTAwMTOvgvP8Jn7Ov80xeJGbTC6qpVx1MDAwYtu8elK6o1TqPKNcdTAwMTV89+3DodLr2aPD+ZFfoXv/IGFZI1x1MDAwN75nXHUwMDE3fqJzXcBcYmBSXHUwMDAyXHUwMDE4h+FmTyU9UI6Htdt2XHUwMDBiXHUwMDE5aNJcdTAwMWG0TFx1MDAwYtnXSUF4WGan6oCvU1x1MDAwN2+X6phcbuVFbVNcIiFcdTAwMTJYJF4ud6/8Y+HZv3hBPLtcdTAwMDY3o1x1MDAwMIE4ymCG59s0bMLzk8fi/fVp+7HQXHUwMDE43qXvWcLxLJKEZ4ipa0swQvdcdTAwMTDQ69R/v5IqW0WHdlLXufNcdTAwMWFcdTAwMWFcXOVGRZws9T+baF40XHUwMDFiXHUwMDA1tetk4SWqldzFS2dqw7Ct5OhPTtBMXCJB05+EzSQo5JHw3FIsJCOC+Fx1MDAxNNdcdTAwMWNcdTAwMTVcdTAwMDRcdTAwMWbBJVx1MDAxN5Z9mVGfZUYxhiSBwGdcdTAwMGbFU52YuzzJMFxcnPFpzu5cdTAwMDK7XHUwMDFlZqdRXHUwMDE4j1x1MDAxMeze2IdcdTAwMDHbcsrGxJs6ZkutOaVjmN6i4aXrpE2j4T2DQ9WdtN5bYlx1MDAxNsdQXHUwMDE1c36CY3f9aOzr7oyn4yxsUNVcdTAwMWRHcVt7Z1rwVuye0TAsxaxEz927Xv5FduBcdTAwMTF6i23Holx1MDAxNlx1MDAxNHEouevMs1x1MDAxOOs5UyRNndWaXGZXO81s96J5ZdK7wdhOitRFUGHI0yOfSYVEUIrEl233ajxjXHUwMDEwiWdOKXVcdTAwMDGB4pt26im5VTNnNuqqJj3OiVx1MDAxYvhUaCRcdTAwMWPPIVflU/HsWtNcdTAwMDJcIu5cdTAwMGJcdTAwMTV94XlLPEdcdTAwMDaXXHUwMDE5ZZJBtoV+Ll9flke0WClcdTAwMTbuXHUwMDFieX591lx1MDAxY9V6SsLxXHUwMDFjclU+XHUwMDEzz1x1MDAxYyEpXHUwMDEw4nuonueXXuGpyMxZpdFtXHUwMDE4XFy/nVx1MDAxNIs5rlx1MDAwZrPjfVxmVGFcdTAwMTCyWV+EXHUwMDA1XHUwMDAzzKBgOI5xOnso1NRcdTAwMWZz6ZrTbaXa2dvzcVx1MDAwNptWKeHCXHUwMDEyMmboZyp/14tDXHUwMDAyS5h8z2f/lD+kxMsrcp8q2lx1MDAxOHhNm7hynoXVUo1cdTAwMWZrk1rBXHUwMDAyT99cdTAwMTNcdTAwMGXokDXzmYCWXHUwMDE0U0Dl/0z5XHUwMDE3eNe+PevkKnYqfXFbNUe4V1x1MDAxOO+j8oeRXHUwMDE5XHUwMDFliFx1MDAwMJFcYvBYoYnZU1x1MDAxOVx1MDAwMVOqok0qXHUwMDFkov5IXYxcdTAwMTRw2bpKuLCETKVP1f6cMyCZXHUwMDA0X6Z/VNxVXt2C21x1MDAxMjxOXHUwMDBmL/OgeaqKvooyW5RcdTAwMDax5eVcdTAwMTa+3y9r5Y/Hzlx1MDAxN1x1MDAwYv2WZVx1MDAxN2a/Xq/xXHUwMDE2YKVcdTAwMWKazdaGXHUwMDAzwU60neJsLlx1MDAxOdRdOkxWXHUwMDA2WGG4xGhcdTAwMWWPXHUwMDEzgDApYzH+Z0G6XCLztesquyqV+4/O+SDbgZ1sNlYqgVx1MDAwNFJcdEKE0SzIXHUwMDEx8cBcYimigotcdTAwMTV1blx1MDAxZp1H+JNcdTAwMDBcdTAwMTVQ/oX0eEiHUkh3qeiqilxmiCP5WiDpuVxyJE5kY9eZhGul4U8k7UtcdTAwMTJhedqx8lx1MDAwNzOJdp5I+rFUczpcdTAwMTcnaqvzvXrnQFx1MDAwN29BUoHiQLmKpFbVXHUwMDA2wt+wkioxgiuQazpKSlYylC9PXHUwMDFmZChIqKucXHSNY2fHdFJWUoZcdTAwMGafcnJxdnPfvmtcdTAwMTZTcHg6yfC7Qtby+SjfVl92byq01t1lLF7F/IhPqVx1MDAxMGFcdTAwMGVcdTAwMTigS+LoTlHMOPX5XHUwMDAzQ9L5Rbr7JbuSXG5GMWehPNhcdTAwMTRccmsqnyBzQVx1MDAxYi9CuvP0veIoOyHdjqFpflx1MDAwZYvDu5soMpTPX7qZd0zlw+iSbY4oXHUwMDAyKFaJ60zhXHUwMDE4XHJgiPHDvVLPtHr2hFaLXHUwMDAzkU2KXHUwMDA0RkW/g3tl2Pt6tbGd6nk2n0rq6d6FS7dad2RT7Vx1MDAwMblcdTAwMTMmuSw2Ko3q5bhC+lx1MDAwZsmNXHUwMDE4XHUwMDEyPe9YRYuQM+uprD2kgFrUL5LFmqtcdNEvK9GKUGJEkIRb5FVLXHUwMDBlMIssO+hcdTAwMTGl0To/zVx1MDAxN2vHxkmEsGzYXHUwMDFh9Ymxdb/H/Vx1MDAxZSz9Llx1MDAwNsSLKFx0TiGTlG2KJiZQlN5cdTAwMTPsr+fAsFx1MDAxM/hcdTAwMDZ39N1cdTAwMWPP1UT7XHUwMDA2XHUwMDBljFx1MDAwZZ9hV6SR5PFTXHUwMDAw43zOVO9cdTAwMWUt0CvmW8eiXG6L2t2PpFMgiXa33y9cdTAwMDOw0WGfb5tcdTAwMDSMXHUwMDAxLvD/hlx1MDAwMDd5o3fpkq7cnE1cdTAwMWHyXHUwMDExd1x1MDAxZibD26bR1uJ6o3uUiYvm1cjyO8FcdTAwMTinXHUwMDAybZGwXv0wk06rTL7S4U5cdTAwMWHnulx1MDAwZVx1MDAwM1x1MDAwM1x1MDAxOFx1MDAwYrgp4Z1A6U1cdTAwMGXnLnt7b/NGXHUwMDAzfudcdTAwMDaC2s7vfHcmptGF5cDbJ+Kan/Hd0a7dOL4x+lnOO80meDJo+ZqThHOxXFyTn/1cZndcdTAwMTRBhFx1MDAxOYP+yNBqeWbo8URr9Vx1MDAxZm/OxV39x4m8zpw99v8/8vw6YouGM2RcYlx1MDAwMyrlXHUwMDE21SXfVZr+zkCdjFjeXHUwMDEyxWH2XmuVk1xyZ1x1MDAwNNYkaJNGXVx1MDAxMkjhWVx1MDAxYr830L+cxVxyXHUwMDE0xSPLK13cXHS6TWl96/T62Cg177VcdTAwMDeVk+L1XHUwMDAzqnO7kGyJhnJNbvZcdTAwMTOcRc6J61wiXGKyh/Q0v/RWzmKGt0/Y1SDXSFcpcVr3l6N68Taus7hcdTAwMDe7izdyKoss15dcdTAwMTgyXHUwMDE3XHUwMDBmsSpA1j3MRFx1MDAwYiBcdTAwMDKvzc0mjm+lwJJysSk6m0DRTVx1MDAwZeF+oKe4gZ0+zFOcieaPar50UVx1MDAxNt9cdTAwMWabspo9/5Ht4vNWvOJcdTAwMDVcdTAwMTFkqFx1MDAxNUWBXGZcdTAwMWYhv1xm0a1cdTAwMDD8u5RcdTAwMTbtruRcdTAwMGZSQJZeXHUwMDBl5i8/iCz5w1JcdTAwMTIsX1c59NHVXHUwMDA3R0dHe1jxtzTrrapcZqL4XHUwMDFh+qQvtMNcdTAwMDJj4oog2MJirulnxYfv9LSgV1x1MDAwNlo/r+dcdTAwMGJcdTAwMDQmRYiiLOZcdTAwMWRtRn2TSpvvvVx1MDAxNpi6wrhxs+rvzLlLQrJcdTAwMWJcdTAwMWZ3rVxcbs2t692AgFx1MDAwYlx1MDAxMCDXQHxcdTAwMTLiXHUwMDE1L+/xv8tzXHUwMDExXFxcXCspQTnQJFx1MDAxMaD+MVx1MDAwNEpcdTAwMDLt+0+gXFxcdTAwMDDPXHUwMDBiXHUwMDBl72SeXG59ZOkthEBQXCLwq3aHfFx1MDAxNIF2bSPoIC++XHUwMDFkLFx1MDAxNmL6Y/79328rz/Yh8TXnp1xc0C66hJbFVPpO1u50XGbHvfdrb96h9XGUnpMxLM2wXHUwMDFh7rGFS/7yXG7omam9/nVwU42kXHUwMDBlpjA8woGP76SG0vVcdTAwMTbguWFcdTAwMWVcdDjULW3zXHUwMDE01lv7/imERkQgNOT0vtOe/mjqSki7uVx1MDAxM/JcdTAwMWY7dHrGTCOs0Vnrq67X6qzwe1lXvXBsZULkS2d9nM6CXFxyJsJcdTAwMWJcdTAwMDOmOis6cVwihGCSo1hv5NlLnZXyQfFVXHUwMDFkdqW11r8u2acyUlx1MDAxZqe21pdRL2lOXHUwMDE0XHUwMDFhcyeKa32BzlrFxVx1MDAwM7XJS3uz14bK8VZcdTAwMWKhvlx1MDAxNNdWb4x2fStGXGLjKzVX9EYnjFx1MDAwNFx1MDAwNPFqXHR34/y8q9ZcbmqgzUpLvLlcdTAwMGLe3Fx1MDAwN725XHUwMDA324kuXf+eld3o0vWlQZ9pXHUwMDAyblxuMlx0XHUwMDFjJXRcdTAwMTBcIiRcdTAwMDRBMv67xvtqRZd1TT2+vISd8/ux7FvZ/OsqXGI/4m+WRESZgn/zhb+x0lwi+Kda5nRcdTAwMDOfg0jMJVxyRHxm2IJ88FE4sERcdTAwMTHFRJKNdUR7XHUwMDE3N0JiqXVDrsZcdTAwMGLRXHUwMDFj5Fxmc+dVXHUwMDEyXHUwMDExg8eJJSE+XHUwMDEzyj+eXHUwMDE34FDpdsuO+yjnuuRwaOijzCpcdTAwMTRNP97yTUXaXHUwMDEzXHUwMDFl3VuVn7/++PVcdTAwMWbAT9BUIn0= + + + + DirectoryPageDataPageDataPageData......Database File \ No newline at end of file diff --git a/docs/img/page-layout.excalidraw.svg b/docs/img/page-layout.excalidraw.svg new file mode 100644 index 0000000..4d000a5 --- /dev/null +++ b/docs/img/page-layout.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1cXFtzokpcdTAwMTd9n1+Rcl5PPH2/nDdjnMSYycSouX11KoWCikEwiKNxav77XHUwMDA35lx1MDAwMlwiIF5iyJz4kIrdQDfda6+1e+9uf33Z28s5j1x1MDAwMy33z15Om7RcdTAwMTRDV21lnPvLK/+p2UPdMt0qNPs+tEZ2a3Zl13FcdTAwMDbDf/7+278j37L6T3dphtbXTGfoXvc/9/ve3q/Z30A7ttZyXHUwMDE0s2Nos1x1MDAxYmZVgaYkXHUwMDBil55Z5qxZJCCAXHUwMDA0QfJ6gT48dJtzNNWtbSvGUPNrvKJcdTAwMWO/MG7G/YNeaXr3eHZ38SB6XXPkt9rWXHKj5jxcdTAwMWGzXlxyLfdN/LqhY1v32pWuOt2XXHUwMDAxXGKUx91lW6NO19SG3tuD11JroLR059Etg8AvfVx1MDAxYYLgdVx1MDAxM68lSvxcdTAwMDLvXHUwMDE2gUCo8aJlWLbX+Fcw+/jNN5XWfcftg6n615BcdTAwMTbT2tS/Zvz8Spj5z+1qeqfreIWBxofabFxcXHUwMDE5IFRcYon9UfdaXHUwMDE4lFV/hmel9ZNWQ+dcdTAwMGbFwl1Fr1x1MDAxNWpnoEpcdTAwMWKl3HP9v8FcdTAwMTEy1edcdTAwMTEyR4bh992rKIXBXHUwMDEzXHUwMDA0UGBiO6pqXHUwMDFllsyrUXNiXFxXj++G9vG+8vqOc2hTbNtcdTAwMWHnXmt+/5X03IfW5PGIjcxusXJ2isz9PnRG1XTPXXjT0UBVnqBcdJlATEpcYlx1MDAwNOD++Fx1MDAxYbp5XHUwMDFmXHUwMDFlXHUwMDA0w2rd+2j+XHUwMDEy6PCCXHUwMDE1OdrEiTSggH2EXHJcYkIgMYM0vVx1MDAwNd1cdTAwMTeHrNFu2tXryYlcdTAwMDMua2r1Z/NcIuNcdTAwMTbExLxcdTAwMDVxtpFcdTAwMDWNu7qjLdqPIHni3Vx1MDAwYimiglx1MDAwYrloTFx1MDAwNOehXGZ+WNi2PERgzCRAuzaubcLUR4NlOjV9qs3YZa70m9LXXHJvLvBr8Vxmv+7wniudwOh6pVx1MDAwNUPveEjOtdzeavZcdTAwMWPIXHUwMDFk3VWc11x1MDAwYlx1MDAxY2vg17bcdlx1MDAxNN3U7LJcdTAwMWHur2XrXHUwMDFk3VSMemSb7lx1MDAxYmrHL5NcdTAwMDbzKFx1MDAwMIah5lV6/aaJxpgoaVx1MDAwNIJw6YtFQkA44ZRcdTAwMGK/0WVcdTAwMTbJrm/UXHUwMDA3VilePEyvxiNxe3ZRNnjGLZKHNFxyXHUwMDA279meScIoSWNcdTAwMGKKXHUwMDA2XHTjiFKERTYkLZLRXHUwMDAzM35bXHUwMDA249Px+bVcdTAwMDNuJ/LQflx1MDAxMMPaOcui8khcdTAwMTGHc1x1MDAwNIB0u8DSwzz6pdeAOdkhzOmcJshcdTAwMTDmIc6HbW4rqMfwSWeYJFx1MDAwMlx1MDAxMYRcdTAwMTZtXHUwMDAw4/yi9lx1MDAxME8oJZA7d+yWXHUwMDAxXHUwMDE1bqg9SMyVJmhPfTQwtL2vcF396euqXHUwMDFh5Px5XHRaRtVhVVrsTVx1MDAxYWVCfH1lQlx1MDAxMIVLX5VcdLtcYkaEXGJcdTAwMWY4y0z2cHKpjVx1MDAwN1x1MDAwNipcdTAwMTV6+mlD6oPrUX2wjsnCUPlcdTAwMGVXW2+kTCSdMEGJuXSJwq/5gCa5gaOEYFx1MDAxY1x1MDAxY5mElFx1MDAwM1x1MDAxOJDsZWg0vlx1MDAxZtLW5ejqcjpS6H31pGZcdTAwMTZcdTAwMDdroXGXa3+RJT9JcE9cdTAwMWVcdTAwMTDNyMp/mZt0XHUwMDA3aatQKFilb1x1MDAxZPvyW1x1MDAwNT5cXFx1MDAxNn9cXKdd+J/KwiU/gFx1MDAwZqjywyxcdTAwMTVcdTAwMTV9Opq2XG5bXfhvzYTi3C9cZmOth0LMoZArWE/0YGbb/aLyXHUwMDAzuV9eyEAyXHUwMDA2P70v9Ebe11x1MDAxMlx1MDAwMYjxvtDuvC+CY0PdXHUwMDFjY8jdZXP69Vx1MDAxMu1N5LWhXHUwMDE3yV2xYlTKhVx1MDAwM1qadDMud1x1MDAxY4TkXHUwMDBlkLeQO1x1MDAwNNJ5Xy5rQNfNoFx1MDAxZiQscPjA71m/KCqPl7R0XXe+71fJKK3etauyXHUwMDBlmC5cbmXjYMou9ptt2a1tIYB+omKpXHUwMDFiJrk5sM41ML0/bji91lx1MDAxNp57XFyrN3mxdqY6tdPexW3DPlx1MDAxYjv6XHUwMDA302dcdTAwMTRcdTAwMWKYx0894Onj8tGTn2195jhJn1x1MDAwMc2UPkNOXYGW71x1MDAxMCTMnEDjN1x1MDAxMuglklx1MDAxNSPQeHdcdTAwMDKNKY1dj1LkSjRC6aMjlc4xJ0c9ptFcdTAwMWZN0ySAosvqj1x1MDAwZlx1MDAxNlx1MDAxZNkwXHUwMDE3vWHYnkPKXHUwMDEwXHUwMDBlsmSm9XnEm0LVeaFtNXqgUj6+UUTlLoO65LZcdTAwMTSHcoi4y9NcZqV3Q6NfOtu6RDnI81mCXHUwMDE2YVx1MDAwZVx1MDAxOKDzmMdvo0tSLMtcdTAwMWZHyZL0NsC4XuqHjlx1MDAxMG6mSseaolx1MDAwNmVnq5q0hKXDmlx1MDAxNO7LWytcdTAwMTKU8Vx1MDAwMXtcdTAwMDAkQlx1MDAxMlx1MDAwNaCxzFhBs31wXHUwMDAwj0qT229twFx1MDAwZcXNzYXWy7gkhdeMm26PamkqUZVF80xcdTAwMTexR65cdTAwMGIgqET8Q9vj+nhEMFY7XHUwMDA0ZoxAgNPDXHUwMDExXHUwMDE14cFcdTAwMWQqXHUwMDFjXHUwMDFhgpV6jeJp/a5ayHr+KFxiv/eHI8FcdTAwMTJwXGZ3XHUwMDFmwchcYlx1MDAxYVH83lHgZZBcdTAwMDSR6eH4eNJcdTAwMWJcdTAwMWTphyejXHUwMDBl5b1+QW3/bNlqxuG44LCL94QjpFx1MDAwMDOMXHUwMDExytz2tlx1MDAxZOFcdTAwMTHEs6OgXHUwMDAwuIuZ9HBcdTAwMWNcdTAwMDNea1THomsz9VxilSv24e2glHE4hvd9vbNYU8aoJOy/XG5GXHUwMDFlXHUwMDA3RkqQZJikj2XoR+ft2/1cdTAwMDIuNau8eDpcdTAwMWONXHUwMDFj5Xst61hcdTAwMTRZwlwidHFcYlx1MDAxOYRcdTAwMWY7/7c+XHUwMDFhk1x1MDAxNzJCMO4qdmo82lftdq9KnCtidNTe6cRcdTAwMTl850rG8Vx1MDAxON7r8d5SzTnHlIP/KDvCgGO4yI5cYlK4wkKGnInyIa11e4OJ+aBQw7aV5lpBsFx1MDAxZMKRhVx1MDAxNzLvXGZHJFxidPGYkVjv07xeletDad1YR9+0faDURvf3xauf2UxCrutcbniDLrnrnKZcdTAwMDZ7q2lasn11Wse9wlx1MDAwMFx1MDAwZVx1MDAxYtfD09paXHUwMDFiXHUwMDBmdrlqZ1nyXHUwMDA1XHUwMDE49lx1MDAxMlx1MDAxYuRjZ1x1MDAxYSPR+ISQ4n2lXGbH5cK0ZmlMNm73p+awXHUwMDEyiN9G5idcIklcdMJcdTAwMDArvW7vgHilXHUwMDA071wiJjZcdTAwMGbqvy/K31x1MDAwNi6+Z4A5ZcGN4Fx1MDAwMdkk8bkj159cdTAwMTCI0lR7mMLQnOvIXHUwMDE2XHUwMDEzXHUwMDBlLzmEmmE57iP3vINgw8A0rpqPWPOo2lxcNuC1dIVcdTAwMDNsMf1cdTAwMGanXHUwMDFmXHUwMDEyjHIqL/nY6Vx1MDAxN/usV5qOm7Q+qFx1MDAxYtepjFImxJj8lK4v3J9WuFxyK/ROXG66us1cdTAwMTf2XHUwMDEweZU44eBcdTAwMTVEXGJcYpJqa9Fukn5BXHUwMDFi3Cu4vvHjXHUwMDA3NcBw51ewvuTz6yEvcs78MEhw1Fx1MDAwM7llTvxzx4FtLP7h5CQn6dNcdTAwMTSTTJFQQlx1MDAwNFx1MDAwN2AhgjHz5WJda1xiOCCMXHUwMDBiliausbIgXCK4ljFcdTAwMGUsPbzw8f/b81x1MDAwN3r25fX/f/9afvU+WXr9fixOZ7VY5jlcdTAwMDZQQkSZwIBI4j9wYdZcZmXoXHUwMDE0rX5f93Tx3HurhelzXHUwMDE02znQTVU3O+E6zVT9XHUwMDFhf+X38mMm5Vx1MDAxNL8mMuOp1shcdTAwMWLLfZBcdTAwMTfB95I8cFFHXHUwMDE5zJzWPKLg9UMofb7i93x/XHUwMDBiXHUwMDFlXHUwMDAzdDVlgZDcXHUwMDFlXHUwMDA363KOrT/ZcVx1MDAwMus8nKs/qDPuN1xuj0Vu98iJ3j09Xkvz51x1MDAwZSZ9iv5cdTAwMWIxjSvcXGZwRFx1MDAxN9R9xkLxREMxXHUwMDA1VFx1MDAxMJrmuM9KXHUwMDAxkLf/eZSNPIqnXHUwMDFkooeKo3xAj1wiqvMreFx1MDAxNMlTs5JHXHUwMDExbdxRhyg+nYhccpxcYsFcXJFcYlx1MDAwNNpcdTAwMDK2XHLij/JBLlx1MDAxMXRcdTAwMTdcdTAwMDJyXHUwMDFkh/7P9FwiXHUwMDAyk7Zwy+Z+Qpw3kCym895cdTAwMDBA3s6cwJ+Ao/PsXHUwMDEwwFx1MDAwNf3frk9cdTAwMDLyXHUwMDA0Qs5cYneVQSBMkVxc6Fx1MDAwMlx1MDAwMlx1MDAwYn3Yvlx1MDAwZpJ80DaJp1x1MDAxMFx1MDAwZq98WFx1MDAwNE1FhVxc0Uo8pUpcIkD7bXjqLVx1MDAwZde9LU+5kuz9PFHkYofKWFx1MDAxZlx1MDAwNHNcdCjhqbZbfXyWcqdjOUuRTW9B2yW21Vx1MDAxN0DJJ2qDlFx1MDAwN1x1MDAwM4Vx/LbALTnVXG6sO9Yhl+RTjcnkXHUwMDEyTlx0RZBL1DmVYEbik1v2VuJcdTAwMTYpOCAuwUT5QJTHZlx1MDAxNrjEQPB0XHT5P4Bb0HKiYJveId6ZWZKPXHUwMDAyZoBZks81JzKLXGKfWEjJLJ9ey/rMwoVwPW3GonKWVMQurlx1MDAxMGBcdTAwMTRcdTAwMTMkU/1cdTAwMWPjXHUwMDFmQC1sZaJY+Y53d1rSU1x1MDAwYvAjlbsll+RcdTAwMWY3SCRcdTAwMTdcdTAwMTdZc+RcdTAwMDJBXHUwMDA0u/CIw4Vbjtx8bStNXHUwMDAwaFxmu3SVVndka39cdTAwMGW/XHUwMDEwJlx1MDAwMGYgMjJL4ldF0Fv7XHUwMDAziflcdTAwMWbruuxjudr1PO76zbliY0ZcdTAwMDB5XHUwMDFj+qTghzlSWuzeVoMpyVx1MDAxYlx1MDAxMpOJg/lg8WxHRsR8P3njZbK3ltBh3lmLiM3GM96I3YLMpeuSSLhOPidcdTAwMDVr+MP4XqzxXHUwMDBlJJC8R3veLchcdTAwMGVcdTAwMGJ8eVx1MDAxZYucMlx1MDAxONRcdTAwMWN3Ll/fMPdT18ZcdTAwMDdRXHUwMDA2Nvt4989651x1MDAxOZjmvdev319+/1x1MDAxZpRcdTAwMDZRniJ9 + + + + PageTuple #1Tuple #2Tuple #3HeaderSlotted PagesSlot ArrayTuple Data \ No newline at end of file diff --git a/docs/img/static-hash-linear-probing.excalidraw.svg b/docs/img/static-hash-linear-probing.excalidraw.svg new file mode 100644 index 0000000..99358ee --- /dev/null +++ b/docs/img/static-hash-linear-probing.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1daW/izJb+/v6Knr5cdTAwMWFprvTCrX250mjEXHUwMDBlgbCENCRcdTAwMTldIbOEmM1glkDuvP99ytlwwDZ2J6adXHUwMDBlROpO7MIul89znnOqTp3z7z++ffu+2Ex73//57Xtv3dFGetfU7r//aVx1MDAxZF/1zLluTNQp9Pj33FianceWd4vFdP7Pf/xjrJnD3mI60jq9+EqfL7XRfLHs6ka8Y4z/oS964/n/WP+WtXHvv6fGuLsw49ubxHpdfWGYT/fqjXrj3mQxV1f/X/X3t2//fvzX1juz11lok/6o9/iFx1PbXHUwMDBlQkh2j5aNyWNnKYGIXHUwMDEzidlrXHUwMDAzfZ5Wt1v0uursrepyb3vGOvRcdTAwMWS1Jr1+K3V/o/rJUqXsZUJrbLZ3vdVHo/piM3pcdTAwMWFcdK1ztzRtfZovTGPYa+rdxZ3Vr53jr9+bXHUwMDFi6uLbb5nGsn836c2t51x1MDAwN69HjanW0Vx1MDAxN1x1MDAxYus6YHv0aVx1MDAxMOzt1uoviUlcdTAwMWNcdTAwMTHOsJRcdTAwMWNLKujrWev7XHUwMDA08jhcdTAwMDJEMPj82elXylx1MDAxOKk3ofr1N/D42fasrXWGfdW9Sfe1zcLUJvOpZqr3tW13//zEiGz7ddfT+3dcdTAwMGJ1kG2PzXuP4y64ZFx1MDAwNFDOX09YN5lcdTAwMTa6W1x0eDyaNdY3jc3mTis0S9XLVEe7vrhff38+/y/7+E26z+M3WY5G2+5bJzK7wmVcdTAwMTcw24u/z1TKMnW/7F/yXGa7zY1cdTAwMGJ8JnKvj/hGXHUwMDFhNdM07r+/nvnrT+frvjRf9NaLt1x1MDAxN3q6Y+GhWVx1MDAxMONLkF5cIpq4Oq/K6/qoYLvs3oMup13tSXIhk1x1MDAwNFx1MDAwMsGxeuni9fxIn1xmd8dgZHSGW2H/w9bfPZC96adcdTAwMWRfgLrhXHUwMDBiUskwJ0BcYt9cdTAwMDBzfuqIXHUwMDAzTLVAcSkhXHUwMDE3gEqxjzBcZuLEjjBcdTAwMWNcdTAwMWHEoOpcYoWQQ8HpPtYwjrNdtFx1MDAxMaBkRXBcdTAwMDSPjbaPXHUwMDE03K18XHUwMDE4k0Vdf7BeXHUwMDExXHUwMDEyb45mtbE+st7GdvBcdTAwMWYlWo1o8tv/fVtpo6VNkqxTiZHet1x1MDAwNPx7R3W5Z76R/YWuqOq1wVjvdu3k01H30/RJzyz4IVxyw9T7+kRcdTAwMWJdundHjUAv//JcdTAwMTZhXHUwMDFj2eRj3rNOWs/LPeHrzZFcdTAwMTjtXHUwMDFlfcGwolx1MDAwN8FcdTAwMDBjW1x1MDAxMj1cdTAwMDTh0rrYmSRrwypPXHUwMDE1hzKVTM5W807UIXyAI/mJI7048lx1MDAxMJdNW8VO7GFzma8szPRqXGZW1VwiS1x1MDAxY6bIpy/HVvWz1fp+lL24uVxcp0bnZ5Uxqb2Lep+um0wvafvKvJFocbbSrpKDXHUwMDE5mX7EdTP5XHUwMDExXHUwMDFkV1x1MDAxYbXB4Pp2XFzKwGrqXHUwMDAx8Vx1MDAwZrhuUdY3y2EmwVuFebbRT9+3ev2Zv+tGxlaAYPfoq62AXHUwMDA1ZUJK5N9WcJaqiCtcdTAwMWHVXHUwMDAyxqVQj8qVYiV7mkZcdTAwMWXRViBxiiBcdTAwMTFcdTAwMDT7NVx1MDAxNiCXiEFB5NH1TnSshUTI1sJcdTAwMDH63LVcdTAwMTZcdTAwMWO6XHUwMDEzvrXAdo++oFgyijFANnPiXHUwMDEwiGV/1u42l1x1MDAxN1d41CGxjZ4vt1x0iTqIva1cdTAwMDWKT9bCYY/6XHUwMDFkdPaTXHUwMDFldclA3c7DONc27/pl+aNcdTAwMTK7ijWxX/ZdPDRGaHRp3D40r6azea5ZWPyY/0bsSynBhDL/7Os8mlx1MDAxMVx1MDAwN+6jp46JREDB11x1MDAwMbl0h31DJF9cdTAwMWNXqPTtpmNFvZxi+IXd9FTIxHuAiXaJ16E74Vx1MDAxMy/fPfpcdTAwMDJgJVx1MDAxZFx1MDAxY1x0XGb9XHUwMDEz76XxUEhu8t3r8jKduTXa62tcdTAwMTOPoo7fXHUwMDAzxCtPxPsrprLfzZA/SeiJzlxiT9fQLJokI1x1MDAxYj+KqbLZrvntrlx0itowddPO0Vx1MDAwMuhl7nBfv+K9XHUwMDBmXHUwMDE4hqSScbOdX7JFuipcdTAwMWI0cVed65/NTVx1MDAwN2L36IueYVDJM0NcdTAwMDGmXHUwMDAznV9SxPXMo5eOXHUwMDAw4Iw4KVx1MDAxYVx1MDAwNo9nJ7A4kP5cdTAwMWR0oZpCivCWPr+cnZBcdTAwMGXZTjhAnLt2gkN3fuF0PqRcdTAwMDQwIFx1MDAwNfFv6KcveqvbpYiRKiqen+dcdTAwMDfG4K5zXHUwMDFldVx1MDAwMHtcdTAwMWJcboyeXGaFw4bCO5jsJ1x0fcx69byRXHUwMDFilCZcdTAwMGZ0vmxuXHUwMDA2XHUwMDE5vVx1MDAxYk2CxO5cdTAwMDBjjCOGoP+gXHUwMDEy56eOOMBUXHUwMDBiXHUwMDFjl5hCXHUwMDE3hPHjMSSIM+SXXHUwMDFmXHTgUvVL0mNcdTAwMDMtOvyYXHSZXHUwMDFmXHUwMDBm8MUuPzp0J3x+dIevolx1MDAwNoBcdTAwMDJNhE1bfJ2vXHUwMDE36S3ANWLS+UV7djaMOny9+ZGfYsLetd5N+kaT5ctcdTAwMTNtupF0U51cdTAwMDHSfWB+XHUwMDFkyFx1MDAxZsXkWXY0qNHmolu5xebN1YpffjZcdTAwMDfSNeZcdTAwMTIq91EyQVx1MDAxMfBccjDn0Yw4wFRcdTAwMGJcdTAwMTKHXHUwMDAyKleMI1x1MDAwN4TtxoSFyo/KIVA98cmRUklcdP3aU83ZkCnyXHUwMDAwZexSpEN3PoBcIl3BS1xcZ39cdTAwMDSmjCBJ/c8yXHUwMDBm8Fx1MDAxMk9A8ap5tdbmN6OcMc2WjKhjl/G35LhVZsFcdTAwMDKmO1x1MDAxMmlIe1x1MDAwN3RcdTAwMTGNY4xcdTAwMDB2xC7aduvFuqWSXHUwMDEzzlx1MDAwNd6ecYZuimv1aa5dP980a9Cczc83id7QRjGfXHUwMDEw2+DNUVx1MDAwZmzfafO7/1x1MDAxYfY2f//2n9/KLvhcdTAwMWX1blx1MDAxN1x1MDAxZeheXHUwMDE4Uzdov+n2Lo5dbu1cdTAwMDfLUHhi+clcdTAwMTBwXHUwMDAwM1x1MDAwMXD36Fx1MDAwYpiR5EBgyfxcdTAwMTOxdyReRMHMbVx1MDAxNuYjfFx1MDAwNdi591x1MDAwN1x1MDAwMlbiN4rDtl73XG5bKONcdTAwMWNCIVx1MDAxMFx1MDAwN8rMZrb4ridcdTAwMTAjSChcdTAwMDWE0Ui5qEQyTO1cdTAwMTLrXHUwMDE3o/OFZi6S+qSrT/rq5NbefdnX88SIs9kkv7qdXHUwMDE1c7WLVemhODZcdTAwMWHdUtqukW6NztLqZVxmxIFElEHlXHUwMDBmQGatRWydOWuotKnV6+dcdTAwMDOvhvb33qR7uFx1MDAxM96hV287XHUwMDAxXHUwMDE1TVx1MDAwMlxugXrlQlBcbul+J+LA9oFcdTAwMTDzvV6NtPlcImWMx/pCjXbV0CeL3VF9XHUwMDFjvoSF7ruetqdg1FPZzynh1Hec3ql10beCs/3t21x1MDAxNiqPf7z+/q8/XHUwMDFkW7uL99PZt4K9vdpcdTAwMWb2/1x1MDAwM6swjF03mChbxHImkP/VKO/Fz0+iwuzO08erMHJQhVx0XHUwMDE055JCJfiPXHUwMDFmaVx1MDAxYoknXHUwMDFkxlx1MDAxOVx1MDAxM4RhXHUwMDEwglxus2H3WXLQXHUwMDFlrIJpNk5tXHUwMDBm8PGabVnPmlx1MDAxZFHTi6mK6D9UkpXMuDxxUiogTjGjkFx1MDAxMISwelx1MDAwM1x1MDAxMiFbo3fpNe9ccihvu8DtP8xHXHUwMDBmPplcdTAwMGWjbuJtfWJsV7LJYZ3oecE9qHyUVkTMNVx1MDAxNohcbopcdTAwMTVD+taJ3lx1MDAxYiE+i05kv9aso1I5hVx1MDAxMnLAJKeUMrmrXHUwMDEzmVx1MDAwNWxLXHUwMDE2XCJl1ik9XHUwMDEzpvK7XHUwMDFiXGK5blbP7ju1ea1dSCWGm+TKWfMgTChW5lx1MDAwM1x1MDAwNJwjKpGDQVx1MDAxNbJVXHUwMDA34kr9YqxMNcaBQpCTXHUwMDAy/mI2XWxPrFx1MDAwM+ov91hk1z1cdTAwMDRcdTAwMTBcIlxmXHUwMDEwXHUwMDE00r9cdTAwMDZcdTAwMWLULoxy6c5cdTAwMThuOunVJFGfXmj5VtQ1mKBcdTAwMWazieC92o2ROCXOkchobyFGOTxcdTAwMTAhXHUwMDA2RKTU2EfMINlcdTAwMDTyzVxm0vZBX1x1MDAwM5GN0Ui3JPY/jjt95HTf3bkjalx1MDAxM4Pt5Fx1MDAxMflJXHUwMDFiQ7pOXHUwMDFlXHUwMDExpiBKcYCZYO/9XHUwMDFlXHUwMDExxSiE3HNfsO+A4/eC1GmZlO7ZXHUwMDE4XHUwMDEycCSQ6uwn8Lt+XHUwMDFhsz5NjyCTOfztR9havcv08N5S8Mb04Pjt5/fzvMib5uiwZWJvToNcdTAwMWFcdTAwMWVcdTAwMWUz4q7LW5hKouBcdTAwMTPA8PDe61x1MDAxZFGltus6MfBrXScp4lx1MDAwMkqpXGZqXHUwMDAyXHUwMDExXHUwMDA01GFK3IrHtpI1fVx1MDAwMr1GISNb/fvxei27bFSr+XyhXHUwMDBlx12Q7bZL2Um766xTMFx1MDAxNlhcdTAwMTE1pUhQNfxcdTAwMWY2n1x1MDAxNMCj4kT5dJCpwZGAgq1X/HU9qj1p/yjFhqT7rlxyQFxigTLA7jDvzTxcdTAwMTFVbFx1MDAwN6w16jvq+2StXHUwMDFk21rzbSmFaK15b+w4WWue7UOy1pB0nSeinClO4cL/4p/3lr+IKrU9a41cdTAwMWPPWrNFgm2ttTi35rGt9T1MmY1zXtb+1PdcdTAwMTFcdTAwMTDkU9hqhNumfUKIaqDmPV5ccquNVWJooFhcdTAwMDIl5pO5s0ZcdTAwMDGES4CostesXGJ0yiixNXuXWlx1MDAxM+k56k5LK6DfxLTq7XRWy3dMp05Y00dcdTAwMDRcdTAwMTCKXHUwMDE0K1x1MDAwMUkhclBrJG7N0iP62dWbu6Rbn9iukH+UOsPAddXOSvCAgWUs+9Zn3lx1MDAxYrRcIqrPXHUwMDBlXHUwMDE4aexo0ZUnIy2oOvNtIIVopHnvLjpcdTAwMTlpnu3fZ6S5ruW5XHUwMDA3aEGszFx1MDAxNSvLnX8jzZuuXCKq1LzX8thpLc//ruN35OXY69FppfBYK4XuKVx1MDAwMS3Ni1x1MDAwNFx0XHUwMDEwj+S9XHUwMDAxLqJcdTAwMWFgz01cdTAwMGI1zPxwjObOXFxcdTAwMTdcdTAwMTB7+7xcdTAwMTRcIpigjH9cdTAwMDbLhjJme8iPt2xSevq8MWLlRc1cdTAwMTTFS16sdLXm2MWyQVbNXGKlRaBEVDlq7MOm1b13hb3tXHUwMDA0XHUwMDE2XFxAiFx1MDAwNVx1MDAwNlxiSSqhXHUwMDFmb/GTXHUwMDE5N96Rlfvy/UHWXGZz31x1MDAxYq6UXHUwMDE4IcpD92/MLPRG/jZ7tlhJqK+Tmc5VTC93XVTZjkp6v1wi234n0OY39laRYY/5Jlx1MDAxZntT/9bpdUlXc1BiQMSFXGKwL1x1MDAxNUJJgZUh2nl3W1x1MDAxNGOK/O84LUzmXHUwMDE2+Vx1MDAxYpPjXHUwMDFhXG5cdTAwMGW3XHI9+Vx1MDAwMnffXHUwMDFiLiBAjMFcdTAwMDDJXHUwMDE3yr3rcim5WTVcdTAwMWGtPOxP8vO7S3ZcdTAwMTF1W1x1MDAwMVL5W1bk0WiL3OFcdTAwMWagu1x1MDAxNGYzTXLoej6jx8++sJi35+N5OaHTquw0XHUwMDEyiDBjNo9illx1MDAwNPdcdTAwMTB+5ZpcdTAwMDFrXCLd/95M54eOOlx1MDAxMJRYxYnS69Axzd5e4ZzQgFx1MDAwMFx0jzPqO42Q36I5XHUwMDFmXHUwMDBliOhcdTAwMTBW2EVzXHUwMDBlKPYoXHUwMDE0zXFfmlTa2yqqXHUwMDEwJDz2jm9+xMbZc7S4qZKhOW3VK5PIO72HiOyzls2JXGKRNUV+qMn0XHUwMDBmwkZ03LqeSFKnpt80Qll92ZnflktcIt2Q2XapJHnyYucukU8jxF19MY5cdTAwMTjFgdJYOlx1MDAwZmbUXHUwMDAxdoAgd6vFRIUgfVx1MDAxN4r5jVx1MDAxOTLsQjFcdTAwMDdcdTAwMTgjXG6FYjxcdTAwMTiSSEo4XHUwMDBlkFx1MDAwNaw/mqB8NXXTiJmt3I9cdTAwMGIjdp26rkRcdTAwMWW/3lx1MDAwNPlpK8VcdTAwMWOJIN/NZC5cZnmIeM1JJta4KI7K8+LifpVcdTAwMWOMhr22XHUwMDFlQYJE7rWNXHUwMDE5Q1x1MDAxMqAgpVedXHUwMDFmOupcdTAwMDBjhMaF4kCIXHSEe+XUjljQXHUwMDA1s7iA5Ck6ylx1MDAxZkn6renyXHUwMDFic+SlMW7PXHUwMDE3xiQsjjxAXHUwMDFhu1x1MDAxY+nQnfA50jVqX0lcdTAwMTPA1nKDf1xmXy94UVx1MDAxYtSbRZRH1+lr1OY/ZOQ3Qlx1MDAxZlwiyc9a1SVcIl5kPnWTurivdVx1MDAxZsqXncRcdTAwMDC0XHUwMDEy16i1jCCZQVvOjL2szFx1MDAxMDAhXHUwMDE58I9cdTAwMDTnp446XHUwMDEyvN29I5ZcdTAwMWRcdOju+S078lx1MDAxYlNZ2GVHXHUwMDBlqPYolFx1MDAxZJGuZUeQkn3AqS2j1EFcdTAwMDCD1LIk7zV6SUZN3FumuNFelCNcdTAwMGZgbyr7tHVHXCJCZcVcdTAwMWJ9lKuUusDsp1pcdTAwMWG/Orvo0WwkqczVL+NcdTAwMDJR68c/XHUwMDEwnFx1MDAxZjrqQDjAZMcrXHUwMDBmXHUwMDEykMn8XHUwMDE2XGL5jZks7Fx1MDAwMiFcdTAwMDc0e1x1MDAxNFxuhEj3IDAomJVkXHUwMDFi+Fx1MDAwZlx1MDAwMmtNcp2YnuJccq2av+K3KLHekMhX2jzAZJ+2QkhEmKxKZ6tiZd2vXjCqpdZ3q2X5Zlx1MDAxOJzJgiSa+Ekm89jbwZVZJ3GAvVx1MDAxZM5PXHUwMDFkdSR4U9lcdTAwMTEreVx1MDAwNKMyv3U8js5kP5VcdTAwMWQlknU8XHUwMDBlaPZfW8dcdTAwMDO5JzqClFxizFx1MDAxOFxmXHUwMDEwnzLOXHUwMDFi6cy4z1hmZjazV6o1vlx1MDAxYUdcdTAwMWW62LPM1W9QyYOsh8w8yzdQp3G3XHUwMDE5sumMzvpcdTAwMTc2wvmE6P7alTzcY2HcXHUwMDEzpjLIsEA2NFx1MDAxY5xb4Z2RqOUyxNCrsdk5z1x1MDAxNHPrTuTBrFxi+DdOmPrpgHraXHUwMDA2ue3vM0i5e3pcdTAwMDeGJKFcdTAwMTJcdTAwMDTI7uBcdTAwMWT2XHUwMDEwVZBcbm/G/aRcdFN/XHUwMDAynKFkd1xiM7GgdzzZt6Nkd/Ber7f14ZTdYb99WNlcdTAwMWTcV3VcdTAwMDDkXHUwMDE0SIL9u1x1MDAxMatRxrwuKKV2Xc6NzaXeSsBSxkWpRWRDJLRHKYa7I1KpTlx1MDAwNLiLl1x1MDAxMJE9kcfz3lx1MDAxZiXp6FtcIvfv+lx1MDAwMT66q8VcdTAwMDCJ60yzZIpMhVxmXHUwMDEwXCJbXHUwMDE1UEMyvTpf1NZcdTAwMGb5vNaaZC9lxMFFwFtw0fclI3ZcdTAwMDWX3T16hdS+tVx1MDAwZTmAgEpb2ORhPH06pjdcdTAwMGL9QcMoaFx1MDAxN21zrDdbnfP1eVx1MDAwZjuybFBef9vJz0W3Nlx02Wnviz89XHUwMDE3lKj7VFx1MDAxY1x1MDAwMlx1MDAxMlNcdTAwMWWk2slF/caQqVkh+1C9XHUwMDFkJbK0/+Pysn0smP/sRNxOVlx1MDAwMa+c4++dJ3cy/clcdTAwMWXUJbOqR2LqbPpcdTAwMWZvJUhcdTAwMTDtpli5J1x1MDAwZvnhdSaWm61qN+mLXGKuXHUwMDA0UVczXHUwMDEwXG7GpCQogFx1MDAxOej80Fx1MDAxMVx1MDAxN2FO4oqu7OsvT5IsQpNkXGLjXHUwMDFjOk807U1cdTAwMTlzXHUwMDBlrJJ9zuufkTRcdTAwMDR9T/SmXSzA9y7fXHUwMDFjUKR7luGHTvR68lx1MDAwNVx1MDAwN7tcdTAwMDdf02lxKVx1MDAwMJBcdTAwMDHCXHUwMDBmineUj5rraW3SnFx1MDAxN6et+bqSXcOoY22XLt7ncv1GdEGXLSFbXHUwMDAzXqtUM9rg4aJ6vs7lXCJIXHUwMDE37lx1MDAxMXBcdTAwMThAqlxc6Fx1MDAwMLHczs9cdTAwMWNxXHR2YVx1MDAwYnJii5DZXCJcdTAwMTNcdTAwMTJbXHUwMDFj0KN7YWvHY1x1MDAwYuZaplxyXG5cblx05Iz7N83WWsVcdTAwMTCZ6niZLtZw4lx1MDAxY5FcdTAwMGUpbqJcdTAwMGW2XbrwSL74teiiP1x1MDAxY+Zcblxy/a5JUrepYfZ83tqQdVx1MDAwNOmCuq9uXHUwMDAzJIlyL/xcdTAwMWI8zs9cdTAwMWNxXHR2oVx1MDAwYnGii5DpXCJcdTAwMWJcdTAwMTJdXHUwMDFj0KN7sWFHdC5cXE0zXHUwMDA0rVx1MDAxNdsgaYu8p1x1MDAxMiOKtVx1MDAxZLYgJ7Z4fpssp1x1MDAxYkNSXHUwMDFiVia1pLhllWa2bm78Jlx1MDAxY/JefXhz/59MOFx1MDAxNL7T4s5CnCOOMFxyUELNeTAjXHUwMDBlXHJnXHUwMDFhXCInXHUwMDFhXG6bhlx1MDAxMiHR0Fx1MDAwMVx1MDAwNb2XJeh4NCRcXNdEMKVcdTAwMWPRIEtcIvX1XHUwMDFk0df1Wba/mi8nl20+lyu33d6RwdpcdTAwMGVcclF0oqGntzlcdTAwMWPghD5ILjbl7MV0nutcdTAwMTZY92zyhWiIuyZCQFx1MDAxMFwiyVx1MDAwMFxisH3UeTAjXHUwMDBlXHJnXHUwMDFhouhEQyHTUDIkXHUwMDFhOqCg99K5XHUwMDFl0Vx1MDAxYnJcctlFXHUwMDEwMFwiKFxiku//slxmp3Ct18jljKPl8uyyNLqKOth2eYideOjpbVx1MDAwZVx1MDAwNkXtIU1KLFxypp1YrHu9yMWSUeRcdTAwMGLX+V+JldtC7Yk5XHUwMDBlSbDzM0dcXIJd6IKd6FwiZLpIhURcdTAwMTdcdTAwMDf06N5Gj+PRhU1b7WCNYFx1MDAwMrhcYrKumV02qtV8vlCH4y7Idtul7KR9tOowP4c1vlx1MDAxYq55mjt7fpmV63xcdTAwMTevibm5N3uxRSuTvK32K36dlkx+RMeVRm0wuL5cdTAwMWSXMrCaekD8w5xcdTAwMTZcbilcdTAwMDR2hIRBQtijblx1MDAxMpDqLeFcdTAwMDAs5DyY0UZcdTAwMDZ0JqEvOXUmkK1XnzU87IB6/oXhYdRcdTAwMTVrglx0SalcZlA4xrtGeTShtkNC7DRz9vwyjbLe0GJcdTAwMTjmzvIsdv0wO6vPNXRcdTAwMDRcdTAwMTLyvG64XHUwMDE1XSlcdTAwMDFcdTAwMTjakVx1MDAxN1x1MDAwNrlcdTAwMTH3LDhK2UFcYmmA+Fx1MDAwNOeXXHUwMDE0bcQ5k1x1MDAxYvuSXHUwMDEzckclt7Ci2Vx1MDAwZaj9X1x1MDAxOM1G3HPaI1xmIVx1MDAxN8I/uXnXdY0m1HbJ7TRcdTAwMWT3/DJcdTAwMGIl3Fx1MDAxOCXT5lmBXHUwMDE5pNNu1I1Wa3pcdTAwMDRcdTAwMTLyvK53sWrP6/ohN0YksSMvXHUwMDE0z829XGYh4khcdTAwMDBcdTAwMTIkT5TzS4o24lxcyO1LTlx1MDAxZlx1MDAxZZXcwoq9O6D2f2HsXHUwMDFkdTUkkWRcdTAwMTKiXHUwMDAws4ez2SS/up1cdTAwMTVztYtV6aE4Nlx1MDAxYd1SOuJI2+E2cuK2XHUwMDE3XHUwMDFhMZutXHUwMDAyXHUwMDFlPpxcdTAwMWJLaMr1TbXdmS79clBsVT9bre9H2Yuby3VqdH5WXHUwMDE5k9qHcZBiIFx1MDAxY0Ql/Fx1MDAxNFx1MDAwN1x1MDAxMXdcdTAwMGVcIlxmXHUwMDEzLILMXHUwMDFlOlx1MDAwZma0keHMQeTEQZ818O6Aev6FgXdcdTAwMWV1VjiXXHUwMDAyU1x1MDAxZSDnyLKeNTuiplx1MDAxN1NcdTAwMTXRf6gkK5lxOeLhRXtrWKdcXFx1MDAwNM8vczRGZuKsU0hcdTAwMWLDYqpY79RcdTAwMDaJXHUwMDFj98tC95lKWabul/1LnmG3uXGBz0Tu41iIY1u59LDiv11cdTAwMTd3ocRcdTAwMTJcYkBcdTAwMDPsu3ZcdTAwMWXMaCPDZVxy60umODgqXHUwMDBihVx1MDAxNXd3QD3/wrg76s5C1oy+ICxA/PfdQMh1s3p236nNa+1CKjHcJFdcdTAwMTHH2i5cdTAwMGKdUlx1MDAxY7ykXHUwMDFhv+8sUmwzZDC9vqxcdTAwMTnlTY93Z35ZKJle0vaVeSPR4mylXSVcdTAwMDczMv1AX4jYM1FcdTAwMWM901x1MDAwZedMXHUwMDAyglx1MDAwMlx1MDAxNIR0XHUwMDFly2hcdTAwMDPDhYS+ZOaEo5JQWNF8XHUwMDA3tPNcdTAwMDdF8/3xXGbd79p0Wl+ogfz+klx1MDAwMU+9XCK9uzNcdTAwMWHfV3rvPumQQPD28WOphUfcWlx1MDAxMOk9Zvn764+//lx1MDAxZlx1MDAxNOPWxCJ9 + + + + B | valueA | valueC | valueD | valueE | valueF | valuehash(key) % NCollision!Collision!InsertionB | valueA | valueTombstoneD | valueE | valueF | valuehash(key) % NCollision!DeletionDEFABCDEFABC \ No newline at end of file diff --git a/docs/img/static-hash-robin-hood.excalidraw.svg b/docs/img/static-hash-robin-hood.excalidraw.svg new file mode 100644 index 0000000..38d7898 --- /dev/null +++ b/docs/img/static-hash-robin-hood.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1d+1PiSFx1MDAxZf99/lxuz62ruqta2H4/tu7qioeKovhcdTAwMWN13JuiXHUwMDAyRIhcdTAwMDaCIaC4N//7dVBJXGIkJGiYuJqZcsYkJJ3O9/Po/nY3f37Z2Nh0xn198/eNTf2hqZlGy9buN3919490e2BYPXVcYk1+XHUwMDFmWEO7OTmz4zj9we+//dbV7Fvd6ZtaU8+PjMFQM1x1MDAwN86wZVj5ptX9zXD07uA/7s+a1tX/3be6LcfOezfJ6S3Dseyne+mm3tV7zkBd/Vx1MDAwZvX7xsafk5++0tl609F6bVOffGByyCsghCy4t2b1JoXFXHUwMDA0QISphNNcdTAwMTOMQVndztFb6ui1KrLuXHUwMDFkcXdtonpPb9dL91eqnKy0v31W0M7H3l2vXHLTPHXG5lNNaM3O0PaVaeDY1q1+YbScjluuwP7p51x1MDAwNpa6uPcp21x1MDAxYbY7PX3gPj+Y7rX6WtNwxu51gLf3qVx1MDAxMvznPajfJPF+dz9BXHUwMDEwXGLcu2SZqrbVvX9cdTAwMDGTzbt7Q2vetlVcdTAwMTF6rek5jq31XHUwMDA2fc1W78Q77/75qZDvXlx1MDAxZN1od1x1MDAxY7WT+e6nT+pWcMlcYqCcT1x1MDAwZrg36e+2Jm/5u//he63nh+9cck3TK5d7YCtcdTAwMThcdTAwMTn+6PC9tfutw5os3Vx1MDAwZttnfItd73R3+Z3YmZZ9JpQ027buN6dHfvy6+Lovpzv6gzN7oac77j5e7IruXHUwMDE5KFx1MDAwZlx1MDAxMS1cXFx1MDAxZVx1MDAxY8lvp+au77LP//NcdTAwMWV02G9pT2FcdTAwMDeZJFx1MDAxMDDOXHUwMDE5ZGh63DR6t8E6MK3mrVx1MDAxN6lffOWdQ8hMOeOBXHUwMDAzXCJKXHUwMDE4w8T3jpahY/FTZ1x1MDAxZFx1MDAxZFx1MDAxNOdcdTAwMTVcdTAwMDdgTmdBgnFcdTAwMWWlXHUwMDA3XHUwMDEzqK4uVFx1MDAxNc+DRd2XXHUwMDA14UKAilx0wVx1MDAxMXwzuIRHnuBcdTAwMWNcdTAwMTOaJPK8XHUwMDE3bPWcU+PRrWMkZvZua13DdKtcdTAwMTVPd09CUtVTceN/XHUwMDFiI81cdTAwMWPqXHUwMDFif4DvmzOHXHUwMDBiptF2o3SzqYqt2zNcdTAwMDHsXHUwMDE4SiymJ3SNVstP/011T83o6fZuXHUwMDFj2rZso230NPMsukiqJvTKy2uCvuhoaFx1MDAwM9096D43j8RhtFLhcDAyXHUwMDAxoPojvYBZXHUwMDA2xv2HarNXPL494qXqrSxcdTAwMTWLd6NBM/NgXGZKlfgwUrVMUvr1ajP3OD6rXHUwMDFjOnZ51Fx1MDAwNaOjKissV6qnXHUwMDBm50ane6OHe3P75OrsoWRcdTAwMWXsXHUwMDFkdsnxq1x1MDAxNPDpusXykDYu7SuJnL2Rdlm8uSP9t7juVsWk3cPz45ubb9fd/S14VHpE/FxyrluVp+Ph7VaB13dcdTAwMDfb5+3yfV1v373BdW1Q1W5LV41cdTAwMWS6XHUwMDBi9K1cdTAwMGVuXHUwMDFil1xcj3fdzFhcdTAwMDGEgntf2IdcIiYoxzy+T15cdTAwMWOsWSefXHUwMDEwJyAz5Fx1MDAwNCCXiEFB5NvR0TIrgFx1MDAxM0Te66xAYVxyVmCJLFx1MDAwNq1ASJHSt1x1MDAwMjy4d2pcdTAwMDWUOYNcdTAwMDLQ+E5Atu9cdTAwMWGti+HJJTabJDc2KrVcdTAwMDYhmVx1MDAwN2PAXHRQ8mGcQFpStcxh7Fuo1Xzs7jTsTrsmv1x1MDAxZeYuc1x1MDAxNziuXHUwMDAyOo/nJjLPrOvHi8v+3WDnYtf5OnhvXG6Iw0GHXHUwMDAxl1SiXHUwMDA0/nthbWZcdTAwMWR1iyWQ0lxmSSBWXHUwMDFhyCmG62tcZq9PXHUwMDAxS57cwLRcdTAwMTRwiVx1MDAxY1x1MDAwNFx1MDAxNTCkSOkroFxi7p2CkSPCIUQgfs/UmfW4W1x1MDAxY1da32rD8ta11Xj4ZmMz82BcZkggXHUwMDAzXHUwMDFmTFx1MDAwMt++3/bVWrWitFx1MDAxNpom7j9Au2qTLXn+tVqq2Y3jNTQuI69bVFx1MDAwMWo3KkPmlI/kOS10jlx1MDAwNkZMh5FcdTAwMTnJhqE+mSPVSkKYxCeJxS8p6ySxWLFcdTAwMTnMkGJDoYpcdTAwMDcpwp7gpS3ZZG2SveXpI0pLspfIV1CyQ4qUvmSH+mfEhGq2Slx1MDAxY98+l0/00fVQ5MhcdTAwMTGqXHUwMDFlXHUwMDFjVG6sm07zIPNgXGYqNvtgiv1cbklZUVm7TD+tWDs3+71HOlx1MDAxOF6Mb7aMVjaVKtTPSkxcdTAwMTjA8XVq8SNnXHUwMDFkXHUwMDFhITrFs6RTRDXyXHQgvizbX0enymvQqSWkXHUwMDFk1KmQXCKlr1MkuPdcdTAwMDWKglx1MDAxMyyBP0iXZzr4Q+W0Sq9cdTAwMDE+JjZcdTAwMWScNO72bjNcdTAwMGbGgE7xjzNcImiZnpC2dcEqtZ7WXHUwMDFmSzo+ulx1MDAwM6T1yOK2qL5Wi3vb5s0xvXBah9fYvrpcdTAwMWPxs/fWolxu71x1MDAwNOVAXG4qXHUwMDEztKhcdTAwMTZXZtbBsVipeJZcdTAwMDZcdTAwMDRJJVx1MDAxZnStfaDrXHUwMDEzqu01ZFx1MDAwMZewdlCoQor0XHUwMDA2Qlx1MDAxNVxuQ1x1MDAxMp5cdTAwMDBkXGJzXHRcdTAwMTGKj8NcdTAwMWI8xD1Qvby4fNBcdTAwMDZX5o7V3963so5DxklcdTAwMWVcdTAwMTHOsJRcdTAwMWNLKrxcYpxk5SHPI0BcdTAwMDSDz1soNJtcdTAwMTJpSFtcdTAwMWSakKI8Jn46mEJcdTAwMTN5ZXqxkFRywrnwWVxmPzKnfL9Z4tppf6dxejC+OIb23eBgXFzQb1/0IFxyXHUwMDAwc3/Yrlx1MDAwMmAwszdcdTAwMDLAXHUwMDFkbdD5x60+/ufG3zdqIVx1MDAwMDb1aydcdTAwMDK+jtVcdTAwMGbD7kyxg0Bccrl1XHUwMDFjoEJcdTAwMTFcdNQnvV6AVMJocO9cdTAwMGJSXHQmXHUwMDA0XGImvSpaXHUwMDA21OhxWlx1MDAxOVx1MDAwNSrHXCIvMYUhQFx1MDAxNSjPIVx1MDAxNoxcdTAwMDFcdTAwMDVl1dRNXHKoXGKAPGCKXHUwMDEyXHUwMDAwQFxmXHUwMDEw6Fx1MDAxYsQ6RSxURVVFIVJcYqHKg3219Fx1MDAwNGBcdTAwMDRcdKVAvdQ1tVx1MDAwMSVdXHKZXHUwMDAzR7OdotFrXHUwMDE5vXbwI3qv5Vx1MDAxZPFs6stMijhcdTAwMDNhJihvXHUwMDBl3fLnVK1yJlx1MDAxMZ7+5NJ3WlvrT0BcdTAwMDV8mzKR/PmMXHUwMDFm3oNoXHUwMDAzp2R1u4ajquDIMnpOsNyTZyq4QOvo2lx1MDAxY9bVU/mPqVgwXHUwMDAyTby+e9FZnvX+t+FF7eSX6f+//7rw7PBocre5OPIu98X/b2I6wSw871x0oMSKT1h84Y/OoGWVT4JDf1wiWqevXHUwMDE2dzmNZY8kXHUwMDA0yFx1MDAwYlxiXHUwMDA1XHUwMDA2mCEukPDq+5kkOGOCMFxmknCEXHUwMDBmh89BgOYgkog6XHUwMDA0xsB7KatTR1x1MDAxOEFcdTAwMTTK/c5uRVb6O6PLkt05LVx1MDAxNlx1MDAxYlx1MDAwN2hcdTAwMTFBgDzFjEJCXHUwMDEwwsqwSeRDylx1MDAwYj3MPWosjopcdTAwMWW3P1tcdTAwMDTu/+OpTERcdTAwMTHeXHUwMDE5IdFZO+x1XHUwMDE4u1uOKZWVSoPF0yYhWXY9X+hPrjBcdTAwMTf1b0ZpPsRcdTAwMDcpjUKh/qJcdTAwMDSUXHUwMDE2PeT8vVBaRGLo9ZSmtMm/zVx1MDAxM1x1MDAxY3XbTkxAXCKUL+PA52CfXHSOuWB242ktJkhA6cuOvD2TtU/4oGtV2qhaP7m7XHUwMDFjaeOSfneymEZcXFxuU9DCXGZcIlU9Pql9LZXFtlsgr7hcdTAwMTRQyqhcdTAwMDSAIO6JzF/YbIXGrLvl5sI1ITOF93WGNt0gUHekXHUwMDAwsviZgJvjXHUwMDEzq7bfsW7HzfKoVzjtn2iVetaJSVx1MDAwNFQlMO5cdTAwMTOvq5OFkbxqQUqCJZNcdTAwMWMx6rVcdTAwMTK9zpa5nIEyxFx1MDAxMClzLtbXXHK6XHUwMDEyTfl6UXzzbWd6UbwnmFx1MDAwZVx1MDAwNbVM03BD8m/r7UJZdN9g/1x09b1nr1x1MDAwM4WsaFx1MDAwZlhExoFIxiBLMPMoeth8RlGobFfAXHUwMDFmRFxm9Xwt1Fx1MDAxNuXjqGdcdTAwMTKmXHUwMDE5XHUwMDA2jpQvw96BtTdxkme8klx1MDAxYYMkfSB8dlx1MDAxM76zXmVcZqKHY89cdTAwMThcdTAwMDOOZ7e/Xlx1MDAxYofMnI6W+1x1MDAwNv/pVCb0XHUwMDA14X26PNxcdTAwMThgqmwxkD5gLKOk6MmsXHUwMDE5paRgiyVq8PlcdTAwMWFaLJLlOZOuKadMnTDXYEFQPVx1MDAxMiRcdTAwMTAlXHUwMDE5P/D2XTIqcNLkK/RwZYKarHeMgtxr3VUvdkBjbzFXYMQh51x1MDAxMlx1MDAwMYBUlXEvf7vGhlxmJ4hy5Vx1MDAxZjHlXHUwMDFjwEV89cFcdTAwMWEywSh+K77CPHTutjrkylWCkbfRsyMySlfzXHUwMDBlKsVcdTAwMWWWT1x1MDAwN5XcvaTooKJHx386qMjzU3JQXHUwMDE4yuDe6XBnSlx1MDAwNEOYxu/yjZ5cdTAwMDCVUUaaM1BcdTAwMTFcdTAwMTPY3yDzPc9IkMx1mHDCXHUwMDE5XHUwMDAygvxcXJPE/OPWUqCk0nW1ctVcdTAwMTjlOlx1MDAwZb9cdTAwMWWfWV+rd/cheStcdTAwMDIhZ4RcdTAwMDMqhFxuSLQgrZ26R1x1MDAxMohQpl5cdTAwMTWmblx1MDAwZlx1MDAxM4xThHfGSL7gdLeceti38z2hLFx1MDAwM5FcdTAwMTRcdTAwMTJcdTAwMTN/qC3NLEVOXskozcxcdTAwMTlcdTAwMWaWYrb80/gkN1x1MDAxZClcdTAwMWGf6OlcdTAwMTafxify/NdcdTAwMTmf0JRSxFx1MDAxY0hMXHUwMDEwQ0jG7zhcdTAwMTLlXHUwMDAxavX3R8C4ymlH1/2740rTzjohRWeU2IfLKE1cdTAwMDNrzcvGfearUspXIVx1MDAxNtG0oZxgjuNcdTAwMGb4jZ4xlFGIzzVtXCJW6UxlgFx1MDAxZZV5Ze9cdTAwMTBhRHJcdTAwMDCZmJtcdTAwMWajXHUwMDEwwFx1MDAwNPVcclT9KVxyXHUwMDFkXHUwMDAxyUpLXHUwMDA3xe1cci7VzrfrhUf77Ojoa7NcdTAwMDPYQeWwXHUwMDFlYkGU7lC3J1BKXHUwMDA0JFx1MDAwNDLO+LhYXHUwMDFlJHomzWwhsKCUMUTdXHRcdTAwMTKcXCLwXHUwMDE3XHUwMDFjpFx1MDAxN1x1MDAxOFQ3XHUwMDE3qG9kM1hofy9UXGZcdTAwMDSQwCC+zXCM88r19p4zktB4KG41L3NGrVx1MDAxNcJBXHUwMDAxLnk9XHUwMDAzeZ9JNDeIzTJcdTAwMTB+3eqAvzT1XHUwMDE2aWlcdTAwMGLYh/C8slx1MDAwZbEnkEOpmvFcbmOLZ/+kMSDFe81pz8vb7VxyXFzNVvG3Vn1fcNtcdTAwMTTn3ZHwsSiSuDPDSVx1MDAwMv9u5IqDvSNZXHUwMDEy9v4hv9zbZb2ro8P1iftq0IJonWNVkchLKlx1MDAxNWQkQCGT7OicS1efXHUwMDAwymf5XHUwMDFlJWWU+WrgbSfPzdvoXHUwMDAza6RvlDdcdTAwMDaGirr/9sp/wO9cdTAwMWL/2thcbl+yISXUxShGLJNNcCRcZiPXaYhYXHUwMDBlXHUwMDFmSCVwjMb32dGZ85Q1bkWXXHJcdTAwMDI4THEt/EVcdTAwMWR78+lcdTAwMDOpZJcyTJO46jTWaLi9yVls2ybialxiTsr08aq3V5NrWFr+xbJFeX5CcVx1MDAxMrJYSaRQaFx1MDAwM1x1MDAxNFx1MDAwYoFcdEQgfrZ/cV1mXHUwMDFiXHUwMDE4kOQhXHUwMDAxflf2hFx1MDAwZpFcdTAwMWE+IMxzKOJNXHUwMDAx51x1MDAxY7hTkNa0QDvDYqVk2kozu8shXCL06u9niWbnuXWDklnBJTO7IzWIhELNXSeKMJEgv1x1MDAxNJ2YzCbUXHUwMDAyXHUwMDFhXHUwMDE0lVxc+lhcdTAwMWFU7bDSQ/9W4bA6XHUwMDE47dTKPXFRXHUwMDEwP/vrTdLtT1x1MDAxNlxmyCTLwKykbVx1MDAwNIZcdTAwMDFcdTAwMGVcIlx1MDAwNDBFXHUwMDAyJZhcZrDwJWVcdTAwMWJxi8WNoU9xS1nctlJcdTAwMTK3JbQ/t3jrXHUwMDFhxS10Xi7GXGJKQVx1MDAxM3zJSHRndDahXHUwMDE2XHUwMDE0t1x1MDAxNFdrfV/iho19WS9cdTAwMWaMXG66TkTv7GpwXHUwMDAzL4yfvVxceZqL6ylx48I3qyAlcVx1MDAwYlx1MDAxZlx1MDAxY6DETXBJXHUwMDAxit+7uPglZVx1MDAxYnEh4sY+xS1lcdtOq+VcdTAwMTZN+3NcdTAwMGLprU/caKi4QcZcdTAwMThcdTAwMTFcdTAwMWMk6MmnZn1YqtSqxztb+HB7d3+HbjeKXHUwMDE5x1pA3cinuk0nuJhb/WG11Tl+dOrHl5Xjulx1MDAxY9VcdTAwMTNcdTAwMGWtSVxi3pXUXCI8XHUwMDE3RVxcwaJYxlx1MDAxZkK/+JmzXHUwMDFkwIvFgnyKRdpiUUhJLJaw6Nx3L65PLMLXcJSEq780wXCK6HWzslx0tWCqKcVvmnpfWtG4rzqt/VFcdTAwMTVd16xdeV9cdTAwMDff6nuVuC2WV3x/VVxmXHJcdTAwMTLuUoxpa1x1MDAxMFxyzcFSIVx0XHUwMDAwXHUwMDEyxtegxXWZbWCEpJrAp1x1MDAwNqWsQcWUNGhcdDtcdTAwMDc1qLg+XHKi4WtOQI4wQCTBeIfoJc+yibWgXGKl+I2/70uEajvHl9hs1IvwQe/fXHUwMDE05Fx1MDAwM+niYuxv+YtcXC9x5v6riFx1MDAxMCSJlu5bSYRI6JK4XHUwMDA0K3JWxFx1MDAxNF+EXHUwMDE212W2gVx1MDAxMVwiQuRThFJcdTAwMTahUkpcIrSEneemuKwmQl+eobup9funjqrIzZdh/OpcdTAwMTVcdTAwMTmtQG1sjlxm/b64YGz09WRzaWGCW1x1MDAxN1wi+mS+xI8vP/5cdTAwMGb75Op9In0= + + + + B | value [0]A | value [0]C | value [1]E | value [2]D | value [2]F | value [0]hash(key) % NCollision!Collision!InsertionMove D sinceD[1] < E[2]DEFABC \ No newline at end of file diff --git a/docs/img/storage-hierarchy.excalidraw.svg b/docs/img/storage-hierarchy.excalidraw.svg new file mode 100644 index 0000000..588d21c --- /dev/null +++ b/docs/img/storage-hierarchy.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1bW1vaSlx1MDAxN77vr/Bx31b2nFx1MDAwZr1DwEM9g9jq1/3whCSESEgwRFx1MDAxMfv43/ckKlx0SZBwsNrdz4uWzEzImpn3Xe9aa8LPT1x1MDAxYlx1MDAxYpvBeGBuftnYNO91zbFccl9cdTAwMWJtflx1MDAwZdvvTH9oe67qQtH10Lv19WhkN1xiXHUwMDA2wy9//1x1MDAxZN9R0r3+012mY/ZNN1x1MDAxOKpx/1PXXHUwMDFiXHUwMDFiP6N/XHUwMDEzz/FNPdBcXMsxo1x1MDAxYqKu+FGQoHTrsedGj0WSXHUwMDAzKqUkk1x1MDAwMfawqlx1MDAxZVx1MDAxN5iG6u1oztCMe8KmzVqn16pcdTAwMTj+bbNcdTAwMTFcXFx1MDAxYog+9O/aO0781I7tOI1g7DzNSdO7t37CpmHgez3zm21cdTAwMDTd0K5U++S+oadWIL7L926trmtcdTAwMGXD+YNJqzfQdDtcdTAwMTiH31x1MDAwM+LWp0VIjrtXV4zE1+FcdTAwMWQkcf307IrneH747L9A9Fx1MDAxNz+9rek9S5ngXHUwMDFh8Vx1MDAxOKIzs0PjMaPnXHUwMDE5Jb+3a9pWN1xiXHUwMDFiXHUwMDEzzzKjdYWAS4mRXHUwMDAwbNJcdTAwMTM+YbBvxFtcdTAwMWO1XHUwMDFl4uNTt9o5ceRZuyxHZ0dt3uWbz/3/JFx1MDAxN8g1nlx1MDAxN8i9dZzY9rCjlkZPXHUwMDEyQVMoXG7M+2AyqcSen54z87t1zi6csrWv1Vx1MDAwZbaaxpG5OVx1MDAxOfeYMeh2YGhPXHUwMDEwgkwgJjCkhLNcdTAwMThkju320rY6nt6LUVx1MDAxN7U+fs5H+5SdU0CXs4DOMGFcdTAwMTQxLlxuXHUwMDAzPX/Sv1xm6HApoFx1MDAwYoJKXHUwMDA0XHUwMDExxWiEOWCApmAvVoF94GvucKD5XG5MWehjWoJUfVx1MDAwM6SIXG4uZFx1MDAwMttcdTAwMTMmIJJhXHUwMDAygVxmMCnQrybCOrFcdTAwMWFjwnODhv1cdTAwMTA5VjDVuqP1bSfcXHUwMDAyPGmOQKxWtdGobk41llx1MDAxZNtcbtG8qStjTX9cbuiBrdRhMqBvXHUwMDFiRtLl6+pJmu2a/n5cdTAwMTFX7fm2Zbuac55niJq1ufeyb7CEXHUwMDEyuFx1MDAxOJphZ9gsX2XpXHUwMDFjTZpJVYhcdOSS8YRqzeOqNlx1MDAxZVZcdTAwMWaqx52v4HzQXHUwMDE0uiGr7f7od1x1MDAxMyWK3leUXHUwMDA0IZRIXGZjXHUwMDFmkc/F0ZV1tDvyXHUwMDAzo1XtX57pp/gq6L2DKO00v42rVV0xUXiHrHa6Q4ft2oKihDh+e1GiYibSOVNeWlx1MDAxMlBcdTAwMWPp+bP+rVWJolx1MDAwZqdKSEVcblx1MDAxNIpcdTAwMDQ4flx1MDAxMVx1MDAxNdaJ1tVkaa/6VrI0x1mnZWnKkDeXpUQmlFwiK4VMXHUwMDAyRGJcdTAwMDDNoypcdTAwMTheb9+I/p1oNeqH+tjzr09cZvfDi1x1MDAxMphcdTAwMTal5PUyolx1MDAwNFFbXGKWJWZS7CZMXHUwMDE0XHUwMDE5UcJAIIBcdTAwMDGcR0R6ddA9XHUwMDE437is58qdw6vtirTU/b9cXJOQp6Gb43Hlwj1q1bmHWoetSnMxTVwikrx9ooTATJhDXHRVXHUwMDAwJjEuninlz/qDa1x1MDAxMueoXHUwMDA00bRcdTAwMTKxN1RcIshpidMs5nPUh1NMMJNz1WftoF8nLldTn2MzXHUwMDE4eX5vo1x1MDAxMXi+ZplvpERzPHRaiWZcdTAwMWG1gio9MchvXHUwMDA1teaYO6Jj1q/9e6e8ZYFKYtLPdI6+alxuxZSlXG5biSV+QV7ShU9g91x1MDAxYT3WXHUwMDA1/fdWuCRrXG7Q4Zl+XGJQXHUwMDE1+1x1MDAwMVx1MDAwNDMuMsrZZvlNRFx0psqpXHUwMDE0XHTl08SbMiOHepAktnlcdTAwMDHqXHI8Oy1n8aeNeP2ii8nnfz7njk7AKDU+43FcdTAwMWNtXHUwMDE4VLx+31x1MDAwZdRETkMjMmtcdTAwMWRofrBtu4btWuk+0zVm9ER3lX3fXHUwMDFidU3NyLkv3fdcbuVcYuzf3zpf2+di19ZONctRkftRlnI50WKkXHUwMDFlYpp3KId3kOXwLpFcZq6FeH91tDZcdTAwMDD0Y5Iulqpr2Tw61dDZ/VnP947K2O7cfK0vIFXP3GRcXFx1MDAxMkohz6NmYkdS1CRcXN3EQZHIfU1xIG9Z9c5xPVx1MDAxOFxccsvbXHUwMDE3Ym/75LC1WFx1MDAxY8hcdIOxLi5cdTAwMTlcdTAwMDe+Zk1cdTAwMDbq08FilLdcdTAwMDNeQpzG6XNcbvM0i3lASyRM9JkkXHUwMDAyXHUwMDExXHUwMDA0ZZZcdTAwMDJkzVx1MDAxNHhcdTAwMTftmVx1MDAxN3S+KVxyoFx1MDAwNELQcEfyJGomXHUwMDBmoEphXHUwMDA1pJRcdTAwMTZcdO1cdTAwMTfUqEXhmon4KqfNjVx1MDAxZm7dtOyhiumGiZ1cXDR+XFw+PEyEayT+zlTQOEc40kFjOK+cWaVDxlfoXHUwMDBifYCbWu1r51ZB0/Lrx4zzanGlSlWZMcgqXHUwMDE1mlMh/pOUSkfbXHUwMDAzyVx1MDAxY1DDepue71x1MDAxZJrDk/7B4lx1MDAxNMWSU05IQnRihkqabpxcdTAwMDSRgODQz4plosgltepkr39z07q/6lxc7lx1MDAwMv9cdTAwMWU06Pi8er2gVqFkkXslrcq3ppBWwVx1MDAxMoGMqVx1MDAxMFx1MDAwMVx1MDAwYoRcdTAwMTNp9Vx1MDAxM+pFXHUwMDA29Vx1MDAxMPJSeFx1MDAwMyNcdTAwMTBhipVzzJIg8TV/mlatiVxiXHUwMDEwc8mwhFx1MDAxOVVcbvdsJlx1MDAxMbDSN4GXi9nmKdWCYM1VqoraJfPdRSpcdTAwMTFdpURqjmbkiVR6SoVcdTAwMTSqWFFcdTAwMWTMPutVQaLaaLrAe1x1MDAxObvVe6vaslx1MDAxZUZX5HvFXHUwMDAxPffiRi9/XHUwMDFjVZlRbUyV1TFbVUtVRI5yzrvyyurZs15KXHRcdTAwMDIwyYN8XHUwMDFm8NBccrytXHUwMDBl23d7fr2hNbUz/FBmv76srrVHut/2L09cdTAwMDf2Nlx1MDAxMHtmrXeia1x1MDAwYkpcdTAwMTSgTCax/SZHvYlcdTAwMTA4XHUwMDAzdJWEXCIo2Fx1MDAwMi815M76w6jGMke9mH24o16MsVx1MDAwMFx1MDAxOLJ5byCtnVxu60Tr8jpcdTAwMTQua72cLHyts8A+x1enZWjKkJWL6jtHd+hcdTAwMWOR476kg+NcdTAwMWXr7u95frNIKFx0XHUwMDAxSlX3WE7OXHUwMDA0QUkomKtoUzJcIkjivGxcdTAwMDI3jl5hy38thVogJEScXHRcdTAwMGVFboX9lZeVhVxia0q80MvKXHUwMDBiXHUwMDA2hcpcdTAwMWWw1OnWXHUwMDBihy48R1x1MDAwYmzH/PLD3dqoa67h9TfKuq5cdTAwMTYhbNhcdTAwMWVcdTAwMDfmVtkwfHWttZOEWT5wdMxOsFxc2Mj4XGa+Tk04Tc5lZ7hIpeOsLoFxXHUwMDA3vl9flO3yzq7Ypqc3hVx1MDAxOFx1MDAwYlPxXHUwMDE1yWMsQiVcdTAwMTYmfGqvVe5cdTAwMDfF/1x1MDAxOVuUsVxiICijKl9cdTAwMWVj8czwXHUwMDFlM1xmsVxuet4gjVx1MDAwYlx1MDAwZsVgXHUwMDEyZIsyVtm4NYXphnlzq55ta05cdTAwMTLX4bf87tRdeapcdTAwMGJw+LxiXHUwMDFjfK+KXVt3XHUwMDFlvKtBs0+07yjLYS08qUudZWNZksm/KUYzXHUwMDAxSkRRiTMoXHUwMDAwXHUwMDA1XCJe2lx1MDAxN37nnbahP7SIuTPufDPbwGifnHdcdTAwMWZcdTAwMGUvQc8sg8VrN1x1MDAwMlx1MDAwYoZcdTAwMDXOKnJcdTAwMTToz0x1qFTRt6A8tvL9Wb/Wo/Cp0VtcbmTxXHKZNV74LDzOjF9+9/VcdTAwMTRL98no9kzcXd/0XHUwMDA2ztFcdTAwMDA2j7qHXHUwMDE3u4lsWXlcdTAwMWX9NkrcSipcdTAwMTilSIRRKVx1MDAwM0RImFx1MDAxOGRpg3BcYi8pd46R5Fx1MDAxY0lcIiGgzyNcdTAwMWUnVk2dws+y6eDhnFx1MDAxY2LRXHUwMDExta9V3bxcdTAwMWFf+rVWL8+mLVx1MDAxOFx1MDAxZSRKXHUwMDA2XHUwMDEwZpRcdTAwMTFAIcpcdTAwMWFFSjRM4LDq5YrnUmaMyrxcdTAwMDCgUkI7VXdKvVx1MDAwNlx1MDAxMI94xWm9Po9XXHUwMDAyXHUwMDBmkspcdTAwMTQgycZcdTAwMWRFzkT/qLhj7X5KeVx1MDAxY8yFysbyzkMhmJlQYIpcdTAwMTHHmC7jqGaUsoqI4Fx1MDAxNKaehHDSU+hcdTAwMTXRVUOfXHUwMDFkLTyN/OE2+prjhFx1MDAxZmr3XHUwMDAz01x1MDAxZNp3v2V0U2Q2XHUwMDBiXHUwMDE1s2f/kiNzmlx1MDAxN5f3MOcqr8VFoGRcdTAwMTfw5+9O2PzyXHUwMDFlSZ0ms1x1MDAxNX+zlHZTLz5ToFx1MDAxMlCpXHUwMDFhXHUwMDA3XGJxXHUwMDE17fHXU7WXLIWobUBcdTAwMTjN+1Xtql7nv+Bcbpb7qaLjjUKCbduWXHUwMDE1/l9RXHUwMDFhO0jWXHUwMDA3V/FcdTAwMDNcdTAwMGIwfq5cdTAwMWRFaoeMf3pZ5WiFN7XBoFx1MDAxMaj1ncQ7m3e2OdrOQ230XHUwMDE37lTkQkKumiFcdTAwMTB+Pn56/Fx1MDAxNyNpXHUwMDA13iJ9 + + + + SSDHDDNetwork StorageCPU RegistersCPU CachesRAMVolatile:- Random Access- Byte-AddressableNon-Volatile:- Sequential Access- Block-AddressableFasterSmallerExpensiveSlowerBiggerCheaper \ No newline at end of file diff --git a/docs/img/tuple-layout.excalidraw.svg b/docs/img/tuple-layout.excalidraw.svg new file mode 100644 index 0000000..eebd9ff --- /dev/null +++ b/docs/img/tuple-layout.excalidraw.svg @@ -0,0 +1,16 @@ + + + eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO2bW1PiSFx1MDAxOIbv51dY7O3K9Pkwdygo6nh2PLC1NVx1MDAxNZJcdTAwMDCRkIQkIDjlf99OcEhcYmRAPMXZoUqr7O4kX7rft5/uj/bHp42NUjj2zNKXjZI50jXbMnztrvR3VD40/cByXHUwMDFkVYXiv1x1MDAwM3fg63HLTlx1MDAxOHrBl8+fkyvKutubXFxl2mbPdMJAtftH/b2x8SP+rWosI7p2r+KzW23H8Tvj6tXYXHUwMDE4orPNe1x1MDAxNF9cdTAwMWE3+lx1MDAxOYxv6qHmtG0zqVx1MDAxYUWRcEzLXHUwMDE4SkiExFxm8mnlWFVCjMC04M4ywo4q5ISUmVx1MDAwMIJCwLBAMrmkY1rtTlx1MDAxOF1HRDm+XHUwMDFiQFx1MDAxMHFGJZm2mYTwZSO5b1x1MDAxMPpu19x2bdeP4vxcdTAwMGLEnyTKpqZ32747cIykXHLRmdmiSZuWZdvn4Ti+s+pW1YWlzP2vXHUwMDFlo0eZ8ryr1Fx1MDAwM9tcdTAwMWTHXGaCmVhdT9OtMO5cdTAwMWGQlEbReXtGMkJx6fc71Dz0+rv+YOs77Fn6ba+9XHUwMDFiTlx1MDAxZqBcdTAwMWFcdTAwMWOdXHUwMDA3xs5207W3uVx1MDAwNc98eWfcjK9Kj/X/piNxjMdInIFtJy9gmpFcdTAwMDCgoEQyXHUwMDBleNLJidAgkNnSI9eJRVx1MDAwNzFknDEsxbSFXHUwMDE1VJXawvi2Lc1cdTAwMGXMZFx1MDAxMKIgalklptU4I7bQXHUwMDFjpV91qtXm7n7l8tBcdTAwMWaPUW2IKt6JwVx1MDAwZuhWadruYe7lXHUwMDA3nqFN4oFMKClBzFx1MDAwNE11vW053Wy/2K7eTV4hLn34e5FzXHUwMDE2RzPnnJmXmZhGSlRcdTAwMTZUUlx1MDAwZVx0ZFx1MDAxOGVdw3mZJVx1MDAxNsFzXHUwMDE2QkiWWaRyXHUwMDA2XHUwMDAxppAyNO8hjMvsZV1z17FCM8czXHUwMDFkTe9cZnzz/+NcdTAwMWFcdTAwMDFcdTAwMDWPpiawyDSY5plcdTAwMDZcdTAwMDFEXHUwMDEwwFx1MDAxY4I1TDNcdTAwMTPHvLIlXHUwMDA24inKToRcdTAwMWFcdFRcckYlXGZ9qzlcYs2Nqlx1MDAxNmqpkXad8Ny6j+NcdTAwMTczpTtaz7KjgcEzN6vYVjvqiJKuXCI3/VK6N0JLIWraoGdcdTAwMTlGXHUwMDFhKU0tMFXk8aNcdTAwMTJX6OpRmir191YhlutbbcvR7Islr1x1MDAxNT2nPkVOXHUwMDE5LXT6L/CXXHUwMDFh8FSs2Vx1MDAwMUdCza1cYrBcdTAwMTXGezKrhPrgwLpgNVx1MDAwMpTSXHUwMDBl+pe9yu3XelFQNT+RxPNcdTAwMTlJXHRvXHUwMDBl/M+faqbzXHUwMDFlnVlrXHUwMDAw+LS1w6N11aTLOSCpineaSl5cYoqjwV5cdTAwMTV5e1snmjuq1i/6N/vno7N3gOJi3qVcXMJRnktcdTAwMDSmXHUwMDE0o9U9sviVXHUwMDBig6ZcdTAwMWOXUCrKJKI+5oBCQknGM3nYfzlcdTAwMDNJXHUwMDE1QHQtpIhcbi7kvH1mllxyj4ZR6iBIiNQqoyiG+ZWm18bhk3FcdTAwMTd1eN3UjDTpnofBXGbwliAhXHUwMDBivGwsWdAtpu36+FPCzt0kQE5cdTAwMTCUVCRcdTAwMGZd5u1hc3Re7Y3rR5U7p3XbXHUwMDFhVnfN8XHB+SdIhn/0dfiXiiRcdTAwMDW81KNcdTAwMWW3dIip7Vx1MDAxY4BLXHUwMDExV3PcxmF/82pcdTAwMWZcdG5cdTAwMGU2QUs0zsC7OfZtKERzKcSBWpmTlZbmXHUwMDEzqd70Tvpj61x1MDAxYuFHJ1x1MDAxZH51y29cdTAwMDdd1yo8hiSGZVx1MDAxMWtcdTAwMTBKwFN7lYlyOS5ng3lcdO1CVsYy+jAoKFx1MDAwNojjeSkvgk+8zJPRtum31vLz6NN8XHUwMDFk8MzEm6VM8+1cdTAwMDBcdTAwMDNlrmdcdTAwMTlmlDJIV0lCTUzb93BrzFx1MDAxYsGme/Ntp8KaXHUwMDA0Xeq1gvOFozfhXHUwMDBiRKvxRTFdIElx0um/oyXXw1x1MDAwYslNXHUwMDA1qHFmiHGEyepalV0t8MOg/u1cdTAwMWFutlx1MDAwNrJ/sFM7KjxgOP9QgIGqtYB86fbmY6v5eYDR3lx1MDAwMTC/SNW9+Fx1MDAwZYbgbOnUtWohTZWQ6erLwlr12jy8sMCwtu/vXV9cdTAwMWRcXFx1MDAwZr5cdTAwMGW3XG5OmLlcZt4r7WCwLMv0Z2FcdTAwMDZvXHUwMDFlOJxcdTAwMTI1e/I/+5k56UKWuzaKMqWYQixXXHUwMDA3znHD+dqv1E/tI2CG3a1NMVx1MDAxY4Y3hVx1MDAwN1x1MDAwZaWgzGM5IcxcdTAwMDFcdTAwMDNvRJz1smlcYkKOXHUwMDExXHUwMDEwjP3WYn5cdTAwMWVvXjOd9kvovELuLM+5XGLmQ4dgXHUwMDEyfbf+hKViJzhcdTAwMTQn/KTT9WpdyJqd4NLjeduawjhcdTAwMTdD+pGWilx1MDAwMlx1MDAwMkY4XHUwMDE1f5yb71xc/Vx1MDAxZEyrv+FKMT9cdTAwMTVcdTAwMDFcdTAwMTVcdTAwMDVcIvjA1U2rXde/XHUwMDBmT4NvN4P+zf6lp51f1Op5XHTEgqxcdTAwMTQxKFiuXHUwMDFiXG6FfjWRLDtcdTAwMTnS9L/XjHY7XHUwMDFjub2vQfuwwS86+0HalG/v2umtn/R97852v8fortFAl4dnp2Er8Fx1MDAwZp29XHUwMDAyft+LUkm5OatINZHOXGbaMqssfuvC8+1j5dqB2uZKLsWyVEhcdTAwMDG99NtcdTAwMTNwXHUwMDE5LN5cdTAwMTOKqb1M9mRcdTAwMDeTXHUwMDE0syesY1x1MDAxOarKrWDc9ra3XHQn9Vx1MDAxZHBv+HrBkYjeXHUwMDA2iaum5yEmXG6IsoDp+fWAtyu14+pcdTAwMTaoNa+Pq6O+pd+HVzh8t1O/i6NJLJ976lx1MDAxNyO5Olxm1p7KX/2ob0GOx7+6eKdMZIBJQfDCk74g9+RcdTAwMGKGXHUwMDEwY0FXyr098aCvIELCdXD2k1CpgSja2d4l039cdTAwMTZyRj7knoEznjuqQlKqqtHqx5lOcdO7azfxTc+4bTT2kW2eOnlf4Vx1MDAxNYVnmFx1MDAxNYpnXHUwMDA0UYYxLuBcdJD1eNaoSutcYvQ9K9g5btqb4PpcdTAwMTQ54t14tjiaVXhG4Fx1MDAxZp4lkvkgPFx1MDAxM4RcdTAwMDHBXGJe/N9e+Vx1MDAwNzm5XHUwMDAwkKqfV+BZdFL3WTwzi8uzJdN/lmfmMp59elx1MDAxY+uS5nnnoepIVTkxdGlomXdbXHUwMDBi/tmxXHUwMDE1f1wipcRcdTAwMTNApH4zXHUwMDFhlVx1MDAxZlx1MDAwZp9cdTAwMWX+XHUwMDAzK9yKWCJ9 + + + + Attribute DataHeaderbaHeaderccde \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 304b62e..f4edf8d 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -85,6 +85,14 @@ nav: - Redis: databases/redis.md - SQL: databases/sql.md - MongoDB: databases/mongo-db.md + - Database Systems: + - Databases: databases/database-systems/databases.md + - Advanced SQL: databases/database-systems/advanced-sql.md + - Storage: databases/database-systems/database-storage.md + - Buffer Pools: databases/database-systems/buffer-pools.md + - Hash Tables: databases/database-systems/hash-tables.md + - B+ Trees: databases/database-systems/b+trees.md + - Table Indexes: databases/database-systems/table-indexes.md - Languages: - HTML: languages/html/html.md - Markdown: languages/markdown.md