From c816503cac4d6d9f39dc20eec304cbb01f8bd367 Mon Sep 17 00:00:00 2001 From: Wang Yefu Date: Tue, 27 Aug 2024 14:55:00 +0800 Subject: [PATCH] Add getting-started.md --- doc/index.rst | 1 + doc/markdown/getting-started.md | 69 +++++++++++++ doc/markdown/media/bench_result_20000_vectors | 81 ---------------- doc/markdown/media/bench_result_3000_vectors | 91 ------------------ .../media/vector_insertion_20000_vectors.png | Bin 39137 -> 0 bytes .../media/vector_insertion_3000_vectors.png | Bin 40207 -> 0 bytes .../media/vector_query_20000_vectors.png | Bin 60191 -> 0 bytes .../media/vector_query_3000_vectors.png | Bin 59378 -> 0 bytes 8 files changed, 70 insertions(+), 172 deletions(-) create mode 100644 doc/markdown/getting-started.md delete mode 100644 doc/markdown/media/bench_result_20000_vectors delete mode 100644 doc/markdown/media/bench_result_3000_vectors delete mode 100644 doc/markdown/media/vector_insertion_20000_vectors.png delete mode 100644 doc/markdown/media/vector_insertion_3000_vectors.png delete mode 100644 doc/markdown/media/vector_query_20000_vectors.png delete mode 100644 doc/markdown/media/vector_query_3000_vectors.png diff --git a/doc/index.rst b/doc/index.rst index 0e0e025..f625395 100644 --- a/doc/index.rst +++ b/doc/index.rst @@ -12,4 +12,5 @@ Welcome to vectorlite's documentation! markdown/overview.md markdown/api.md + markdown/getting-started.md markdown/news.md diff --git a/doc/markdown/getting-started.md b/doc/markdown/getting-started.md new file mode 100644 index 0000000..94331a4 --- /dev/null +++ b/doc/markdown/getting-started.md @@ -0,0 +1,69 @@ +# Getting started +The quickest way to get started is to install vectorlite using python. +```shell +# Note: vectorlite-py not vectorlite. vectorlite is another project. +pip install vectorlite-py apsw numpy +``` +Vectorlite's metadata filter feature requires sqlite>=3.38. Python's builtin `sqlite` module is usually built with old sqlite versions. So `apsw` is used here as sqlite driver, because it provides bindings to latest sqlite. Vectorlite still works with old sqlite versions if metadata filter support is not required. +Below is a minimal example of using vectorlite. It can also be found in the examples folder. + +```python +import vectorlite_py +import apsw +import numpy as np +""" +Quick start of using vectorlite extension. +""" + +conn = apsw.Connection(':memory:') +conn.enable_load_extension(True) # enable extension loading +conn.load_extension(vectorlite_py.vectorlite_path()) # load vectorlite + +cursor = conn.cursor() +# check if vectorlite is loaded +print(cursor.execute('select vectorlite_info()').fetchall()) + +# Vector distance calculation +for distance_type in ['l2', 'cosine', 'ip']: + v1 = "[1, 2, 3]" + v2 = "[4, 5, 6]" + # Note vector_from_json can be used to convert a JSON string to a vector + distance = cursor.execute(f'select vector_distance(vector_from_json(?), vector_from_json(?), "{distance_type}")', (v1, v2)).fetchone() + print(f'{distance_type} distance between {v1} and {v2} is {distance[0]}') + +# generate some test data +DIM = 32 # dimension of the vectors +NUM_ELEMENTS = 10000 # number of vectors +data = np.float32(np.random.random((NUM_ELEMENTS, DIM))) # Only float32 vectors are supported by vectorlite for now + +# Create a virtual table using vectorlite using l2 distance (default distance type) and default HNSW parameters +cursor.execute(f'create virtual table my_table using vectorlite(my_embedding float32[{DIM}], hnsw(max_elements={NUM_ELEMENTS}))') +# Vector distance type can be explicitly set to cosine using: +# cursor.execute(f'create virtual table my_table using vectorlite(my_embedding float32[{DIM}] cosine, hnsw(max_elements={NUM_ELEMENTS}))') + +# Insert the test data into the virtual table. Note that the rowid MUST be explicitly set when inserting vectors and cannot be auto-generated. +# The rowid is used to uniquely identify a vector and serve as a "foreign key" to relate to the vector's metadata. +# Vectorlite takes vectors in raw bytes, so a numpy vector need to be converted to bytes before inserting into the table. +cursor.executemany('insert into my_table(rowid, my_embedding) values (?, ?)', [(i, data[i].tobytes()) for i in range(NUM_ELEMENTS)]) + +# Query the virtual table to get the vector at rowid 12345. Note the vector needs to be converted back to json using vector_to_json() to be human-readable. +result = cursor.execute('select vector_to_json(my_embedding) from my_table where rowid = 1234').fetchone() +print(f'vector at rowid 1234: {result[0]}') + +# Find 10 approximate nearest neighbors of data[0] and there distances from data[0]. +# knn_search() is used to tell vectorlite to do a vector search. +# knn_param(V, K, ef) is used to pass the query vector V, the number of nearest neighbors K to find and an optional ef parameter to tune the performance of the search. +# If ef is not specified, ef defaults to 10. For more info on ef, please check https://github.com/nmslib/hnswlib/blob/v0.8.0/ALGO_PARAMS.md +result = cursor.execute('select rowid, distance from my_table where knn_search(my_embedding, knn_param(?, 10))', [data[0].tobytes()]).fetchall() +print(f'10 nearest neighbors of row 0 is {result}') + +# Find 10 approximate nearest neighbors of the first embedding in vectors with rowid within [1000, 2000) using metadata(rowid) filtering. +rowids = ','.join([str(rowid) for rowid in range(1000, 2000)]) +result = cursor.execute(f'select rowid, distance from my_table where knn_search(my_embedding, knn_param(?, 10)) and rowid in ({rowids})', [data[0].tobytes()]).fetchall() +print(f'10 nearest neighbors of row 0 in vectors with rowid within [1000, 2000) is {result}') + +conn.close() + +``` + +More examples can be found in examples and bindings/python/vectorlite_py/test folder. diff --git a/doc/markdown/media/bench_result_20000_vectors b/doc/markdown/media/bench_result_20000_vectors deleted file mode 100644 index 95df25a..0000000 --- a/doc/markdown/media/bench_result_20000_vectors +++ /dev/null @@ -1,81 +0,0 @@ -Using local vectorlite: ../build/release/vectorlite/vectorlite.so -Benchmarking using 20000 randomly vectors. 100 10-neariest neighbor queries will be performed on each case. -┏━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━┳━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┓ -┃ distance ┃ vector ┃ ef ┃ ┃ ef ┃ insert_time ┃ search_time ┃ recall ┃ -┃ type ┃ dimension ┃ construction ┃ M ┃ search ┃ per vector ┃ per query ┃ rate ┃ -┡━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━╇━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━┩ -│ l2 │ 128 │ 100 │ 30 │ 10 │ 187.41 us │ 46.58 us │ 29.10% │ -│ l2 │ 128 │ 100 │ 30 │ 50 │ 187.41 us │ 95.16 us │ 70.20% │ -│ l2 │ 128 │ 100 │ 30 │ 100 │ 187.41 us │ 179.51 us │ 85.70% │ -│ l2 │ 512 │ 100 │ 30 │ 10 │ 820.80 us │ 105.80 us │ 18.10% │ -│ l2 │ 512 │ 100 │ 30 │ 50 │ 820.80 us │ 361.83 us │ 50.40% │ -│ l2 │ 512 │ 100 │ 30 │ 100 │ 820.80 us │ 628.88 us │ 67.00% │ -│ l2 │ 1536 │ 100 │ 30 │ 10 │ 2665.31 us │ 292.39 us │ 13.70% │ -│ l2 │ 1536 │ 100 │ 30 │ 50 │ 2665.31 us │ 1069.47 us │ 42.40% │ -│ l2 │ 1536 │ 100 │ 30 │ 100 │ 2665.31 us │ 1744.79 us │ 59.50% │ -│ l2 │ 3000 │ 100 │ 30 │ 10 │ 5236.76 us │ 558.56 us │ 13.80% │ -│ l2 │ 3000 │ 100 │ 30 │ 50 │ 5236.76 us │ 1787.83 us │ 39.30% │ -│ l2 │ 3000 │ 100 │ 30 │ 100 │ 5236.76 us │ 3039.94 us │ 56.60% │ -│ cosine │ 128 │ 100 │ 30 │ 10 │ 164.31 us │ 25.35 us │ 34.70% │ -│ cosine │ 128 │ 100 │ 30 │ 50 │ 164.31 us │ 78.33 us │ 71.20% │ -│ cosine │ 128 │ 100 │ 30 │ 100 │ 164.31 us │ 133.75 us │ 87.60% │ -│ cosine │ 512 │ 100 │ 30 │ 10 │ 711.35 us │ 100.90 us │ 19.00% │ -│ cosine │ 512 │ 100 │ 30 │ 50 │ 711.35 us │ 406.08 us │ 51.10% │ -│ cosine │ 512 │ 100 │ 30 │ 100 │ 711.35 us │ 582.51 us │ 71.50% │ -│ cosine │ 1536 │ 100 │ 30 │ 10 │ 2263.96 us │ 283.88 us │ 22.60% │ -│ cosine │ 1536 │ 100 │ 30 │ 50 │ 2263.96 us │ 919.98 us │ 54.50% │ -│ cosine │ 1536 │ 100 │ 30 │ 100 │ 2263.96 us │ 1674.77 us │ 72.40% │ -│ cosine │ 3000 │ 100 │ 30 │ 10 │ 4541.09 us │ 566.31 us │ 19.80% │ -│ cosine │ 3000 │ 100 │ 30 │ 50 │ 4541.09 us │ 1672.82 us │ 49.30% │ -│ cosine │ 3000 │ 100 │ 30 │ 100 │ 4541.09 us │ 2855.43 us │ 65.40% │ -└──────────┴───────────┴──────────────┴────┴────────┴─────────────┴─────────────┴────────┘ -Bencharmk hnswlib as comparison. -┏━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━┳━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┓ -┃ distance ┃ vector ┃ ef ┃ ┃ ef ┃ insert_time ┃ search_time ┃ recall ┃ -┃ type ┃ dimension ┃ construction ┃ M ┃ search ┃ per vector ┃ per query ┃ rate ┃ -┡━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━╇━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━┩ -│ l2 │ 128 │ 100 │ 30 │ 10 │ 23.06 us │ 39.96 us │ 29.60% │ -│ l2 │ 128 │ 100 │ 30 │ 50 │ 23.06 us │ 75.02 us │ 69.80% │ -│ l2 │ 128 │ 100 │ 30 │ 100 │ 23.06 us │ 160.01 us │ 85.40% │ -│ l2 │ 512 │ 100 │ 30 │ 10 │ 146.58 us │ 167.31 us │ 18.10% │ -│ l2 │ 512 │ 100 │ 30 │ 50 │ 146.58 us │ 392.12 us │ 50.80% │ -│ l2 │ 512 │ 100 │ 30 │ 100 │ 146.58 us │ 781.50 us │ 67.20% │ -│ l2 │ 1536 │ 100 │ 30 │ 10 │ 657.41 us │ 298.71 us │ 12.70% │ -│ l2 │ 1536 │ 100 │ 30 │ 50 │ 657.41 us │ 1031.61 us │ 40.60% │ -│ l2 │ 1536 │ 100 │ 30 │ 100 │ 657.41 us │ 1764.34 us │ 57.90% │ -│ l2 │ 3000 │ 100 │ 30 │ 10 │ 1842.77 us │ 852.88 us │ 13.80% │ -│ l2 │ 3000 │ 100 │ 30 │ 50 │ 1842.77 us │ 2905.57 us │ 39.60% │ -│ l2 │ 3000 │ 100 │ 30 │ 100 │ 1842.77 us │ 4936.35 us │ 56.50% │ -│ cosine │ 128 │ 100 │ 30 │ 10 │ 19.25 us │ 23.27 us │ 34.20% │ -│ cosine │ 128 │ 100 │ 30 │ 50 │ 19.25 us │ 72.66 us │ 71.40% │ -│ cosine │ 128 │ 100 │ 30 │ 100 │ 19.25 us │ 134.11 us │ 87.60% │ -│ cosine │ 512 │ 100 │ 30 │ 10 │ 112.80 us │ 106.90 us │ 22.70% │ -│ cosine │ 512 │ 100 │ 30 │ 50 │ 112.80 us │ 341.23 us │ 54.20% │ -│ cosine │ 512 │ 100 │ 30 │ 100 │ 112.80 us │ 609.93 us │ 72.40% │ -│ cosine │ 1536 │ 100 │ 30 │ 10 │ 615.04 us │ 268.00 us │ 22.50% │ -│ cosine │ 1536 │ 100 │ 30 │ 50 │ 615.04 us │ 898.82 us │ 54.00% │ -│ cosine │ 1536 │ 100 │ 30 │ 100 │ 615.04 us │ 1557.51 us │ 71.90% │ -│ cosine │ 3000 │ 100 │ 30 │ 10 │ 1425.49 us │ 546.18 us │ 20.60% │ -│ cosine │ 3000 │ 100 │ 30 │ 50 │ 1425.49 us │ 2008.53 us │ 49.20% │ -│ cosine │ 3000 │ 100 │ 30 │ 100 │ 1425.49 us │ 3106.51 us │ 65.00% │ -└──────────┴───────────┴──────────────┴────┴────────┴─────────────┴─────────────┴────────┘ -Bencharmk vectorlite brute force(select rowid from my_table order by vector_distance(query_vector, embedding, 'l2')) as comparison. -┏━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━┓ -┃ distance ┃ vector ┃ insert_time ┃ search_time ┃ recall ┃ -┃ type ┃ dimension ┃ per vector ┃ per query ┃ rate ┃ -┡━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━┩ -│ l2 │ 128 │ 0.93 us │ 2039.69 us │ 100.00% │ -│ l2 │ 512 │ 2.73 us │ 7177.23 us │ 100.00% │ -│ l2 │ 1536 │ 4.64 us │ 17163.25 us │ 100.00% │ -│ l2 │ 3000 │ 6.62 us │ 25378.79 us │ 100.00% │ -└──────────┴───────────┴─────────────┴─────────────┴─────────┘ -Bencharmk sqlite_vec as comparison. -┏━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━┓ -┃ distance ┃ vector ┃ insert_time ┃ search_time ┃ recall ┃ -┃ type ┃ dimension ┃ per vector ┃ per query ┃ rate ┃ -┡━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━┩ -│ l2 │ 128 │ 3.49 us │ 1560.17 us │ 100.00% │ -│ l2 │ 512 │ 6.73 us │ 7778.39 us │ 100.00% │ -│ l2 │ 1536 │ 17.13 us │ 26344.76 us │ 100.00% │ -│ l2 │ 3000 │ 35.30 us │ 60652.58 us │ 100.00% │ -└──────────┴───────────┴─────────────┴─────────────┴─────────┘ diff --git a/doc/markdown/media/bench_result_3000_vectors b/doc/markdown/media/bench_result_3000_vectors deleted file mode 100644 index 9f90b75..0000000 --- a/doc/markdown/media/bench_result_3000_vectors +++ /dev/null @@ -1,91 +0,0 @@ -Using local vectorlite: ../build/release/vectorlite/vectorlite.so -Benchmarking using 3000 randomly vectors. 100 10-nearest neighbor queries will be performed on each case. -┏━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━┳━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┓ -┃ distance ┃ vector ┃ ef ┃ ┃ ef ┃ insert_time ┃ search_time ┃ recall ┃ -┃ type ┃ dimension ┃ construction ┃ M ┃ search ┃ per vector ┃ per query ┃ rate ┃ -┡━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━╇━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━┩ -│ l2 │ 128 │ 100 │ 30 │ 10 │ 62.41 us │ 12.96 us │ 56.40% │ -│ l2 │ 128 │ 100 │ 30 │ 50 │ 62.41 us │ 42.95 us │ 93.30% │ -│ l2 │ 128 │ 100 │ 30 │ 100 │ 62.41 us │ 62.06 us │ 99.40% │ -│ l2 │ 512 │ 100 │ 30 │ 10 │ 146.40 us │ 38.05 us │ 46.60% │ -│ l2 │ 512 │ 100 │ 30 │ 50 │ 146.40 us │ 95.96 us │ 86.50% │ -│ l2 │ 512 │ 100 │ 30 │ 100 │ 146.40 us │ 148.46 us │ 96.70% │ -│ l2 │ 1536 │ 100 │ 30 │ 10 │ 463.56 us │ 124.51 us │ 38.10% │ -│ l2 │ 1536 │ 100 │ 30 │ 50 │ 463.56 us │ 355.70 us │ 78.50% │ -│ l2 │ 1536 │ 100 │ 30 │ 100 │ 463.56 us │ 547.84 us │ 92.70% │ -│ l2 │ 3000 │ 100 │ 30 │ 10 │ 1323.25 us │ 391.57 us │ 36.60% │ -│ l2 │ 3000 │ 100 │ 30 │ 50 │ 1323.25 us │ 1041.37 us │ 78.60% │ -│ l2 │ 3000 │ 100 │ 30 │ 100 │ 1323.25 us │ 1443.10 us │ 93.10% │ -│ cosine │ 128 │ 100 │ 30 │ 10 │ 59.75 us │ 15.27 us │ 58.30% │ -│ cosine │ 128 │ 100 │ 30 │ 50 │ 59.75 us │ 36.72 us │ 94.60% │ -│ cosine │ 128 │ 100 │ 30 │ 100 │ 59.75 us │ 63.67 us │ 99.30% │ -│ cosine │ 512 │ 100 │ 30 │ 10 │ 148.19 us │ 36.98 us │ 51.00% │ -│ cosine │ 512 │ 100 │ 30 │ 50 │ 148.19 us │ 102.46 us │ 88.10% │ -│ cosine │ 512 │ 100 │ 30 │ 100 │ 148.19 us │ 143.41 us │ 96.90% │ -│ cosine │ 1536 │ 100 │ 30 │ 10 │ 427.21 us │ 106.94 us │ 42.10% │ -│ cosine │ 1536 │ 100 │ 30 │ 50 │ 427.21 us │ 285.50 us │ 83.30% │ -│ cosine │ 1536 │ 100 │ 30 │ 100 │ 427.21 us │ 441.66 us │ 95.60% │ -│ cosine │ 3000 │ 100 │ 30 │ 10 │ 970.17 us │ 289.00 us │ 42.20% │ -│ cosine │ 3000 │ 100 │ 30 │ 50 │ 970.17 us │ 848.03 us │ 83.90% │ -│ cosine │ 3000 │ 100 │ 30 │ 100 │ 970.17 us │ 1250.29 us │ 95.60% │ -└──────────┴───────────┴──────────────┴────┴────────┴─────────────┴─────────────┴────────┘ -Bencharmk hnswlib as comparison. -┏━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━━┳━━━━┳━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━┓ -┃ distance ┃ vector ┃ ef ┃ ┃ ef ┃ insert_time ┃ search_time ┃ recall ┃ -┃ type ┃ dimension ┃ construction ┃ M ┃ search ┃ per vector ┃ per query ┃ rate ┃ -┡━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━━╇━━━━╇━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━┩ -│ l2 │ 128 │ 100 │ 30 │ 10 │ 12.84 us │ 12.83 us │ 56.90% │ -│ l2 │ 128 │ 100 │ 30 │ 50 │ 12.84 us │ 41.93 us │ 93.60% │ -│ l2 │ 128 │ 100 │ 30 │ 100 │ 12.84 us │ 65.84 us │ 99.40% │ -│ l2 │ 512 │ 100 │ 30 │ 10 │ 29.34 us │ 47.37 us │ 47.00% │ -│ l2 │ 512 │ 100 │ 30 │ 50 │ 29.34 us │ 126.29 us │ 86.40% │ -│ l2 │ 512 │ 100 │ 30 │ 100 │ 29.34 us │ 198.30 us │ 96.80% │ -│ l2 │ 1536 │ 100 │ 30 │ 10 │ 90.05 us │ 149.35 us │ 37.20% │ -│ l2 │ 1536 │ 100 │ 30 │ 50 │ 90.05 us │ 431.53 us │ 78.00% │ -│ l2 │ 1536 │ 100 │ 30 │ 100 │ 90.05 us │ 765.03 us │ 92.50% │ -│ l2 │ 3000 │ 100 │ 30 │ 10 │ 388.87 us │ 708.98 us │ 36.30% │ -│ l2 │ 3000 │ 100 │ 30 │ 50 │ 388.87 us │ 1666.87 us │ 78.90% │ -│ l2 │ 3000 │ 100 │ 30 │ 100 │ 388.87 us │ 2489.98 us │ 93.40% │ -│ cosine │ 128 │ 100 │ 30 │ 10 │ 10.90 us │ 11.14 us │ 58.10% │ -│ cosine │ 128 │ 100 │ 30 │ 50 │ 10.90 us │ 37.39 us │ 94.30% │ -│ cosine │ 128 │ 100 │ 30 │ 100 │ 10.90 us │ 62.45 us │ 99.40% │ -│ cosine │ 512 │ 100 │ 30 │ 10 │ 25.46 us │ 38.92 us │ 50.70% │ -│ cosine │ 512 │ 100 │ 30 │ 50 │ 25.46 us │ 109.84 us │ 87.90% │ -│ cosine │ 512 │ 100 │ 30 │ 100 │ 25.46 us │ 151.00 us │ 97.10% │ -│ cosine │ 1536 │ 100 │ 30 │ 10 │ 77.53 us │ 119.48 us │ 42.00% │ -│ cosine │ 1536 │ 100 │ 30 │ 50 │ 77.53 us │ 340.78 us │ 84.00% │ -│ cosine │ 1536 │ 100 │ 30 │ 100 │ 77.53 us │ 510.02 us │ 95.50% │ -│ cosine │ 3000 │ 100 │ 30 │ 10 │ 234.79 us │ 453.12 us │ 43.20% │ -│ cosine │ 3000 │ 100 │ 30 │ 50 │ 234.79 us │ 1380.79 us │ 83.80% │ -│ cosine │ 3000 │ 100 │ 30 │ 100 │ 234.79 us │ 1520.92 us │ 95.70% │ -└──────────┴───────────┴──────────────┴────┴────────┴─────────────┴─────────────┴────────┘ -Bencharmk vectorlite brute force(select rowid from my_table order by vector_distance(query_vector, embedding, 'l2')) as comparison. -┏━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━┓ -┃ distance ┃ vector ┃ insert_time ┃ search_time ┃ recall ┃ -┃ type ┃ dimension ┃ per vector ┃ per query ┃ rate ┃ -┡━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━┩ -│ l2 │ 128 │ 2.38 us │ 299.14 us │ 100.00% │ -│ l2 │ 512 │ 3.69 us │ 571.19 us │ 100.00% │ -│ l2 │ 1536 │ 4.86 us │ 2237.64 us │ 100.00% │ -│ l2 │ 3000 │ 7.69 us │ 5135.63 us │ 100.00% │ -└──────────┴───────────┴─────────────┴─────────────┴─────────┘ -Bencharmk sqlite_vss as comparison. -┏━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━┓ -┃ distance ┃ vector ┃ insert_time ┃ search_time ┃ recall ┃ -┃ type ┃ dimension ┃ per vector ┃ per query ┃ rate ┃ -┡━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━┩ -│ l2 │ 128 │ 395.24 us │ 2508.52 us │ 99.90% │ -│ l2 │ 512 │ 2824.89 us │ 1530.77 us │ 100.00% │ -│ l2 │ 1536 │ 8931.72 us │ 1602.36 us │ 100.00% │ -│ l2 │ 3000 │ 17498.60 us │ 3142.38 us │ 100.00% │ -└──────────┴───────────┴─────────────┴─────────────┴─────────┘ -Bencharmk sqlite_vec as comparison. -┏━━━━━━━━━━┳━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━━━━━┳━━━━━━━━━┓ -┃ distance ┃ vector ┃ insert_time ┃ search_time ┃ recall ┃ -┃ type ┃ dimension ┃ per vector ┃ per query ┃ rate ┃ -┡━━━━━━━━━━╇━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━━━━━╇━━━━━━━━━┩ -│ l2 │ 128 │ 10.21 us │ 202.05 us │ 100.00% │ -│ l2 │ 512 │ 14.43 us │ 989.64 us │ 100.00% │ -│ l2 │ 1536 │ 31.68 us │ 3856.08 us │ 100.00% │ -│ l2 │ 3000 │ 59.94 us │ 9503.91 us │ 100.00% │ -└──────────┴───────────┴─────────────┴─────────────┴─────────┘ diff --git a/doc/markdown/media/vector_insertion_20000_vectors.png b/doc/markdown/media/vector_insertion_20000_vectors.png deleted file mode 100644 index 7380f1ce213efa097c84d5b214ca09269735f7a6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39137 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 %ITv%0AJ)Rc3`SA~cv`F$ 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 A2mk;8 diff --git a/doc/markdown/media/vector_insertion_3000_vectors.png b/doc/markdown/media/vector_insertion_3000_vectors.png deleted file mode 100644 index 27591c592e12934a486c6c750487ec96615c595c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40207 zcmeFa2T+yi)+LOowY7z|%>gig3MiNW$!0x>qGX9GB1wXzLk1&lLOliy1QjF)k(}vP z5m9oKtmG_N@~nOAd;8AJoxi@BshO(3=Ci7+6*%vC&+|Ud-fOS5_U78LqX*~DT``w~ zgJVA9&^{#&jv1}=-<+TDl_UNojrgC0&3+9VWs9>m%u`kd97j&sSe~=6IcI!&wVi>L zwXucyc3}zOZJSmb+1OZGONxk?{qqNeEvyVh)*PMj85jB4^3Vxu4i2tU^xw2#xgcW> z4sU11zTGPJ-kmiL+Dn=yr+SAszy7#(uAuza^sg76Bux{(mU!Pd@=;=dZBF&JTnlrf zCZ&fDH+U_Hxc9QjH}Kl}?z@^sf+3F&^BbA}%35zZHTmtmclV67k;C@GjVsYx7tOb(6;)iq8_*?;4hgAa>8kET!KX8&d3>Sr_PFDIwZv|)ci z!QGvc{^I`guLaZSFI%Qfm!$u5tlzb3HvK*>m3eU(YmH5suTK79 z))S`aCo8BFklnS^V0ujoQ@uP=r%UH2j$Jr;ncQ~mB?3ntZP|V8+O;9!cd?v2(!oD3 zT;Gb<*SXUjyR53}||zt?Q$*w{9cl8u{nl2x3ByVHcmW^*iB zg+pn1&_~i%J~}$uZeHuDQ>RAz^W_#VS#s8^Vd>jHF3n!Na^+LQdd&>iw6Z8Yx1JlU zfp<&wS__`hnU1Gh!h_9PYHpJwLB951e|GX>1&vQ19ZVNt?x{((Rn2g9IpQZf z5!uPhamw;Uq6@Y zC#QGh$&TY~MK8Oo#--L|^jv#)`tH-GPrbdpyHD+J9vrqVjWbo>tQG&Mx$Gy7%rwJv zw=@op?%(+jKg>QIZPeeKn^czTBc;CN#{RM49`Q=o@!o?nliwS#?Due)_VTDG)iAZD z%Av3CZmbYH_vqrKOHJ+Vq1y~{f|)(Fl1@Y6UmF@qpY5K(P^wFJF^JZ%s_7paY4How zO>?wjGSz#(zAFt=7nvBUvJiWpos==$TIg?56(5nBn!1RaTj$yN7F#aIefut(l!b>} zn#~pJ(BItm?b|VY9#ON(Sna9|yfXB-|5a&eX_Z)`*kxI!#z>I@yloD<{pVNEid!nbu}v9&@$OxuIHwMRZ+e&cQIY}r}-<4u%*PMExbhZ z%93q6NGyA64rtlg#XGyW zG&ME`+*m5IqDwjGsOpzLubBOLYIpkWc}q5JNpHxP?!P&G`gD~*g~uIb-sLi_0s;c< zRS8i!_XXCetE)c{RF%IiJ8EA>})vN8DpJO!ROdhyS460*y9a*^HXi4Jvh8>pmyF^XP6j=C& zKBIiPDs~iYts}nDCxR6H%04~b9_KP<=Q1@h+&4HVYVzsRCzUg20-lJOh0;^w;o(WJ zmBmMYCT3O{jKyxRj0=0X>BNiU{s#p3`1Tz?ew-D+taDMvJ}YauEf=|F@7316rjL~g z7Jk3|_FGAep(3NGtvF~9&+-G#M!~b)eZ#}$SfA1iH@BBBUmD{$i@o>RVa&qv>^S{) zj!u%*{s^svvid(R4Pu|QO-=SpsYGasGPX?)yG`H}T>t&|0!6urfZdmV3eiro8pSg# z4N~OQNwq(|_v$avZBrjM__f}an=DXPl;KAJG%gMd!HtjNrA?ik&NclphWR`bgXMa2 z=g&|3k|gai8oNT=JpAU(U*_{jYrMO@xEK#C_#ltNzQYeU73$xXS&xgXKk~%r7>}P0&u&b<~7M#ED9y`n`ci>t_8{Xem zKYKQC{ZVhD0jKtmpqo9DSPk3GimlighwI#?(&8=ZgbfW1b02MelQ=x}(o2`cN85C< zpi1`eSfAh2_`$7Pw_<0Pl!PchxO?~c=NQ8Ro?(Rr@gcivR z4tJ;Qxg3@nGL8eUewsN`WBc~)x8fTc&zL^nb0r-6Xh)@H{5j+KKmQ!9o9_JC=wn`9 zyqI})g=UBnzrR^^;(0YjnZd`0O_FLjn}Bkf%&tm<2WNcb+|qMLGbTqruK4xWlMyFk z0tfTurgl`SN9me9IKwS&?p?TK;X?ffXIy&UEwym`^i<63wft-I%GeJ^^SHPY5#RG2%?d^%X>fy2SA6i9n3V+IjXQLAZCPyWjxgLb zkCfdf!4I0@8e2O?`deZG*O!NP8`#j5*AF^}H8dsot`@%OE>To9Q;aTf}T zoF3O%o2F%$=UuoxUwR#asDB#17pfT-nmf?CYHGAR!`z_40TAPN$H8`kO(}_qt$)ns zEy4ac7dtXKN(m#a`@SXO{>#H&p?f_zv7%W?lo{8qTle6}lhB^@vAnZSA3a)@l#)_s zRio!R@>2fcrVt(($7N=Dd3h_O?OzoY7hBi-SrDNmzId}{iALVzci)E3H#b!$S+mZ> zn7N9|;Axm(xeL_-4lS6!YUi={w|UC}I&SG38WIhgM#y$}>4a6GDvxa)= zqA2Ou)_xk^`rduo4D+^hGZlrZ-f`uMqN=97*@6FV*_1k%V z4-#t5U_pwvK;D#7EsuTu1#SKND)k&D6MkbsQR>RNZnvkjl#Psnk_O~H?+ref&3y}>RJtROyX+4Ej8nC zPr2b#FfH>!QgU*r{(Dc&bmyd6hZb%hSr^T!1dH;psC1Ko4-TQXoN$t@WG=w%9gshMmOLRY!9Qv4|JYgSTwX_(jP z)2I8Y^&&Lm&ONkfX&;H$n7y-K2{DCHesSDq^xf|lqw|Q^Q`_fi zea6sGX!Yt{^Og#KvUbT!w6Lu!iW@6H@_KCQ^5xI?sZS||`6XB8Ema9odinQ;s>iDX zx#Y%=trRy`QBq=stA%Y%(_x*TRq*-q$W_H}k;k52%)M9FZO}|1nql zX*wce$`@x$pN^91d6IRDpoD}( z`B28xWJ+%f(!FU) zFIOCh5Aq&+Wu2Iq7>sC$NSEw57>Zh>B+1$k1=EgvJ(ckZ?WPvTmW?82Rq?9WHMwSU zA3uKVIM$V*8gS^Ywqk3BDniS>8#iv)_0;M-dy+meq}5fORBV)D)5Zcw52~*}sT!qQ zV?^;RQakCz^6h7X5rhs@oWmC;`~9X`ffTYPT8eUAcrDZq9Jng1mwv8T?fITrc#xl+ z5B6_2E!)(PuNI~nb2gWSZ45*p&{jG2F6Q;?9mYig+Er)Io~?AAEiEI{KYmoZXY9A- z%LObfEYe2X!|-uTBD>6+wYjD3j{)(E)h2RqyyA*{HpBgrwVj<>&{3aQqr$ZS{*0)M zNykXpsmbAt(pY2VE0-@DA#DljrKcYClZ`;Wp~O&Ho94vN5J~-Zk#MN6PI9nbhHI#L zly9D&9Mx6ESYTwLctJc?Jw3hL$J-C;>gobStKh*S=}FM$av2*^wYN`n9B4h2dUo^9 zof`OFN_o(FFYK?dGap#kAlKyYZ+spQz(<&?t1|8$U_GBPY6t}4dvu7W&G?C)m!#Wd zYWi5Wlv%~A-AI%fU(O>kuiLO;1HDa1NQjlKt?G>>n-~51>z%M3;6PDkxAtIL@j<7d z&f}Jrujn%Xg_&mETz)_&;Ug+1q?)p;^H-kJUGUIrsh;z3KiAQa7cXAyu>W>)WMri6 z4VPR=wEp{8n>MAVLKC-Eh$^A{vBi-@3M(+;LfAwh!2edjTn6uXGB@Du)1V;NK110y{=JUT*x ze2W@C+x+dDmUkge z0EljL8agM_`*tCKw(4+qO%p&dLYD~^l$JMFw(tebgCi<2}(*yX`%WwLv~8D1x^v0z?n1TM&^yP zX)97gA#eJ4n?X1buviqgR+81rI6S5@eDW5@rb-;)2wKJ2#teRmg>F=3=FJ1 z#~d9n?uf~kHJv|q?rZkFJ=|n$_WAWo+uBrzr1tNqPx{0AYnXL$4}nYDfvc5!rqa)D zZn4KEj9Vh2TiyQk>uI3t4}&XGyw!hi8qC?kC_@%+Iq|-ZNCuN=jc}9;vBpz%<>4nH z%F{&v!V*i%%gfuFo6ov@`(t)Qn0i#6b;kS^JAiT5^YJY+1MCh{Wr=RwxG~>sZlB91 zhulh_H}johVWPvPWqH0brY_)tB5+*d9334s2|CYTDHiLBFN#;I=P?IBDU{)PYspAU zhx5zdf91(5S8JbJU6=b*JYO?PS0*eaC8hM^$B!$1`|UKhgjK*G;>Q8M`}Y@_5<10! zQ)7tLT>=0NFEg!+%g#O&cKi12(%jr!O~e#aKUtUX6lPDJYR}+~a}@=Zxc`-&D>*Eg zC&J67OGhr|;MkcO9=-`7O9!|y*IHg|mGbG+FZS%+JBWo0L6{#Bp3N~?Nc?W*D}>~U z4!xJ3y5#f>EEDi+8S3Vt5t8kDU!)zLX6f~PbTkyvQ2JNAapsvht*`Db%tP91{PN`w zx%z3d@oA{KL`i#yCI3LspyfKQ^Nl&vX4&i4uWwrF0{J+3&8Qc)WHP<@d?c(7Oq(`M zfeCJY%L1O?X7A0DX#u}r7dbPt=6?V7JnQv%^`|TDp4yMfICqM~@-Bc;ZK?iGvu9K6WDYLFi#g1>xUTKJFf${u*_XTH`+d9NPK{a7C;yl} zpIdSuGR@Ka^J@buJ3Fz5mo8lr1>Q(mQkjpWfwN``+Dp=*FJOFPqBL6nAm~2^P&>2f z5&Nn)-8rk*oj7sAp?0jJrG=^3vD3EwJ~rV?q$3^R!SZVhHw+9ED|X-zXudx4K_+4r zUYF^%^&R(c8rU}hJZ_LmVqM^!f=35CHZU|1mav_)cn{8e25{`|opn0N9c1wtIT%SH+tVg;ZTrvv|>>08~C5;77$> z(up?wtLzFzq|=NwdakbPuwT!)_e!n=DJ_;33kuHH;iqpP@CJdrSZ+ooA^;`m#|Y%F zP|%nwww?K%xM9E}6Wo$x(*t!r1{UG^_3K4If`iB$9bh${Y%{n{SO@GB*o?i{@bbnoCtt=0B0N4Xt(Rk>TEHxeMEB#M1x| zS5P_dCebFV6j`1;GNHs-S-0d78AWFs;K>*S6ti&^0(VYTmDZJc+e7F`y;?dc>N%#1 zI%x6Y#V-|QNA@A^-sjtV;`P3FH=hfK*SaKNzv4Mw?t+U9GIFSUB>zz3UZy!&_U88swc`%0D2=RX|!=8+rEO)2CIN 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 diff --git a/doc/markdown/media/vector_query_20000_vectors.png b/doc/markdown/media/vector_query_20000_vectors.png deleted file mode 100644 index a0f92fbcc13674b0fe9d8965b937afb7e7bce658..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 60191 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 e4AmP}hKrix=D}Y{`+?!+8SDC!th~|jrOZoi# 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 diff --git a/doc/markdown/media/vector_query_3000_vectors.png b/doc/markdown/media/vector_query_3000_vectors.png deleted file mode 100644 index 7106b9ba9fb4f9972d23e687013d20128625970c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 59378 zcmeFa2UJyCwk^7im^oqq1VKd<6-9ysNqSUJ5HSKuk_?h_1~ZaHl8Azes3?M4l$?~D zMU)^(*yJcV!|xMMRo(ll>fWmR>c0Q~YnRqe1KW3JUqsK{=hy{3q78#rxw-VBFoK=U$mr9=rzbc3tmdTFrZM{ z)lVEfeBSP1Prbd8!ncOGfw9$vTOzntZ1><=^OA`x@8R8tzf}mFsNi~Wc9&d%*cJI( zPjw6=q>arSxC=NUHy_}9v3(t#0PEzn6)nS$6|O&jd6QMTuaSMaE@K(p>95LV?bfO) zijHqSRL#aX-%xCHe3KSmU?dp2_ScUeU18T@x-Hv&{m6Vic69!S`#OWwAD>wHc(LlQ zUuG}lI?VX%w^YhsK6>?kKKef^@INc?f87eOX=F?fuC%eS*}iipi_RjtHQ9N2?H`w1 z@Nsf-ViGp{p*psXk3`78QpI^@k1fY}+>GL)O>+$Ekzb z$>-?)bZaI3!JDEMBV8Bvsi!+t&2X!w-e0j{_vbXnF^fB09~0}--hTKHshQ(3#=EU( zq`h%W!g%0gJG@TyR+B#ZQFKRrzl8+FQhuv-qJnUeyEN7?+n+BGowRg zl0!XlWzB7Ew;w&)ToNj@bL-Y8*-7oCk7y%R>Unv2bjr%gSH8YHJU2Td;yfvUHCRkX zw`jlq=Pf69tlQ!5o|q_1n|7V)Ru?d=T;=HK_)6hT;Yyy=Ow)`Rg`Q31-ISO6aY*}o z{$Qy1@ZrNdUS8ZI)fE*L294?Bqobo=U!J*P+vprzCOOCIUyxlMA?_XZWWv$L~n8y0arsAm&2V!H6^{KuM_klC3j%h8@1hF)Aix;Ea}+{`Sq zpuqh_n1jdguvLW1kIZXMlbtUpx&6Z0exl@5{{aus%L!m;ZZQm5t zBQJfx;-ATSX<8Z0Y+_;(ed)ui^R$g?*A|^_noo{Fw5S(hpRmNS8M6;;dcSXYt(G^=0?HabuCX>&yXh$5HKx!B(-MVtz_XdwWH^u`(Y& zKeL$K{=Qj5W5m6!;fEIN;gRqCHzSHzAproVUP*yfw0JpNZ3zi#Kg74K+C*J+mP)Ff-;*P5nudn5B@YhRw}t2_;UVY7^CaKK#|wUU8TqD&lcVgiz`V6^0~R4? zPi(41tx}0Dzr5s(K&YT`b7Zhu^FSVZdrE>>1M{G-GCzgSQd77LZWTpD`!FlQGTbI#t`4 zUsR-pKr=mDA#c_7wKKlmmx*_wqN3uCQxEg6Euy>6ueT=8XEVpHUCaFo7H3M%O~@}@ z#dJtXiRs*nQ<0A!Ulp-z`}|yvWq$p}$H(^@RqrRUL{oFy+;qF7_iTNAeF&}*n>x6n zOl)XXn#0J#EnBuwxMmu^S;wYN?(XaB!xjus;$^@NHnKc~V6^N$(9-NP^$eG`E8kv) z#HyuT3DD8g3w;wEUF^R@j<4{bRmWwMFVEa3nsYp*E^25zNxJY_L03{zGJ<=@j@(uE z6{D5TG+(-P>y~a@jZwn~!(it9JSvHAm1bItf=j-=y1*}FQdd2Vm8|7bPjmRdygx5H zn@MNU(pCExwGGhng6)gT%gc2$AKtsC8SvuZ#zamG}i zDF0=(1QS*2;MJ=X%M_bl6OrdxZuFrGhVs~5Ri2t;UR}_JL&Kc6M=?fVQ5#}Qf>MfJ zxO1fuUr4bVJ-c9N$=safr4*Ytn&B%@*M zxm@UjaEGp_vyZ0qRx<9x^>j-fgz%`R8wJRR3YK7<-dxhb7270d$Fq96x~{PCX&jj5xd&=2IqQAN6K!m*?c8FA%UlU^>1s} zdOqgtLt-knEECU*I`_iE`0@v%8om`PSK9X_wNvs-N?P66T^`GaOH5-MlS5kZLf*2i znEBJEPr_Cmcd3h=aij%|zrW8eX1`o~yrCF@OvJitJ=q{gFj5oe44Q z@5kX8m@$yca=%1ZE6U;WUI^wpbzI+1zxp(yB6b|(7w^nRWO0n5Xad&rrC~E8DGBde>#q-050|@Miul3T4 z25qhD?`}Qf@g`Q-{{zpVHM+Wc7T-N13F3ShsH5*6gDxV$;J!8R@R#IaBrc z@FJ{{LUc54Dkm&!Z;|z-_xfj^PD@qoeS_;#ZTlNScRYA;>d|f+6>L!kT#(qbRL?d7512aE;7H>A8|8$-N@dfgt}Yo`u6GUMFj5B{SJ30& zsx&U|yLW%{VHNrG>cZ>lw;GF9Zsfk4>&0CBNHiE1p75DU>znMKC6QK4Oibph;!Csk zIYaB6u8IlCig>Qbvyn2k){;Pgv-9AHQ*5lx(rF-v(WoxbuekVRv2GkSb#rD_72{Qp z4ST*&wepllFW_Zrie@zCm*|cobS+t*);$@^A4Io?b$?es(&7h`#O;%r*A{UW?pBN` z25#{PR84mZ>FMdw)B!x%Dk(V^Kh|!uNyy|Rj=;dc00BOpkM1BcFOo^!Go&+*7`l?=qEDZ!$tf=ms18AkYy?N`_ty0(3V%5Ys&bSSx zFh;hvwdEo)GYRPbHZd`A^XAR{=FQn>IXm3eY;G>t87|;6G&EFDTKXKv{!qCR1xsgB zJ5bj%HmTdHGm)~}J35+MYs1Yucf?qSS0&%M6Y!a;C5?KU& z>6aNc@2eAuQA@kjHBR=mpiy;ZaR`6Z*~k@5O-%{nF93f9OdB57r`R^e8&}1sCfW3E z3U?YjK^kF9{``9IC%`Z6@81igBg+EEUy818oSU^}U|{H| ze8U1L|LkI%u1ccWHRq{ODzcLgoA{;XhoSbf6Yb2ne52FQYJe0Os$8*2B%)F3NTqVF zVY$h3$FV-Ki57qI|AE^BkW}AkWG%(@k6Bs0=QUh)tUxDDw`3eA!Q1xnk@8iOw^lM@ zxqf$FoF<0XGCno6ZqueKsdP@r*4)bRUTZm|0=lM)f_W;Q9HE=UJ|QSe+z}wmS!R`Enm4Z3pD~FA`YK# zMusHG3qY@lNlE32=2|$cDqR_`Yir{4=#!F?hC9k>Yx!J z3)G`Ut7}WuJX#?fkEew6wHh z&P3d{Cx8VTgT)vNqBA-+CZzcC^pos8RYChyudG?MN}v{ZSYKCH?C0m#2KfG=`T*eL zWg9cIMA`t7d{teHs%YG!M~^0`d2IahVPZAYHG1KJb|v4DfQu12`GHZssUYQ8DklXupk()t+V0=i1#CuL49=dt+<`S|5C<+4fGYl$rkjJUX$;mO&)6HB}oz0E;mq z#TA#{4^_oL#=8Cm=X(MTYZFX`gbXW-@u=sT0}Uf5Qj*#FV^mX2gu_rLg&0;w+h>)@ zA3e$)Twt^>XEX++uKdNdi zx9$AGNw^0|7cm?zhtExS?i^?CU?xQ6%HT(jP_!75{aEDGcXRo=>JNsD1qB6TTllC) z0V#p`F*9uyUo{GmVpk(R>+MMYV) zwYB+cTRxs6mzaEKgZItZG5p_HVfQ+ z;mcg6r`YeniYQ(m9<*LTk(V!{WA!7;GabTU#S4g5a=i5Q`KZCiS!?|qGaDM%uAdf8{M-Ts-TluFFlV%-t9EzL$=4?s21==@u%b*G>-lE6My$MD&pK$i` z!^9o)OH11b92n(Xx}I}p-Hww#TxZ)|g>Cy-0qb;uf&ohdWsB!uBK-s1&&T@w0ZYy( zDJeazD=AsMbLWexjd||tb_#=_Lu}Lo`IMcLLv@*PP;=;vv`EPXqx5rl_!$D0ot@q3 zC!gMAtV~6MMOtk|dQCG3HK=$#P%h2R3+C_a*|TP5W?Q(qy*wFtf|Toied|32EBlTT z5D`2)u?z*KzHH)5U_dCZ72a&);#wvuD(d9y?C$N|3ZN}j3k<`Hviy}|tPfZ+Zx$il zk*;ssIXQVjgO!F$`W9$^(&pneZ$3&X4HK8e-A1V-@nNfM6BB!gdVtwEHz$W6+24O( zI6FIA{r$Ve^!Nb7z?{9iqrN^D*a1Se3B}mfqpHxajo*uCh=am!(Q-)y1CIhI*#ME>=9@PQ+N9P&AAU%YP9hI z8i*`JCzD!rJ3Hb2^r?NI5sFuLgC0RJZRt&De2#3rc=6)5`sLfeJbc8#mlY+k3uWo^ z#j0!$sE^wKxQxEPFW@S|z5uv5Dkb&Kx?5p#tiKF=TYi52<%U#yyrY2z$NmMUm6VR- zt8k(SUFqeuN@D!SqUbko48FbEfUnF3LDth_^e!$A@NCuTfIEE+X`vvUYWDq>hVkFE8lq>^%Qkp*KkDB2{zAfh%7xe|dHycjU3YR5J24&dgieel=vv zLM$E=ujbLDx~!r0G8!tJ+7J`2NxlfcmBmY!zH=Nisf<-G1K2{2qo)9JXyQTyhvR0z z8d+Bj=;-M9`THNi3-RV-WMo89_YoMhFWGf|F=QVjlsr*HW&9~CYXY&W^YfEMl%k-$ z5vT|V!m;YB3jzDVe>syv!S*4iMJvyT93!W>nX#U_B!5&F*id@!lS*@PmiQOot+}1C z>G-@A80+|{Q_r!VDd4hcy}c!P37z#RLZ^qrI)OhbKs289&cWF*G&BT_>Y>^X_H8F0 z-sK-+nWzqRGn2YV|jy;elCnbmKx$H@)T;NUzk z7Pm4oGN@J=0#t0h<{Vy~>(` zp%+n;MFo2_7K26?b{OU&Iz@f`X08XVjj8thbo6Y`!0I40F|1p6BRE(wWNHq4*zpr5 zG(ggPeWT1MFE3AP2cwbHJE5kghNET)A`a_x5_}KQMZSI8u;;bt)J`4b1#%fCre&EO z}+%*^&Xwi5)hr1Jcb1&KzHjg@RE0gD@q}h}y?*)f zW$5UJ4I3`B&HAuQx)hDaNa{gwLJb^#DkafVtmT1_sfkgH0^1I`2if;|wM>+3cglw2 zZJ01OJ`$6LfQFB9frlBq8wWBpp(=I(g1t8)YM`>~hTZ46s>aC%KFW6CQuF+Ew{6p0 zK-97MA0^5kP!K2$IPTXk=Wmi+_m7X(>5~^2D0johX+*4b*Pl1RbtFr^4E%qizD-1h$=Jq`f@GwurzZN zaRaVlYN*^$6lZ13j_|0cs33PPhPbdzL?lT?6A}}2gwOA@k^YfQ^NNZ*K{ac(lC%Ev z$43egO%R;GZ~Yt@;S>}MdaW3{$++y1Xddd4muhJT5p)Gi>h6QI^A8Bf1}h=#IxDur z9~wwDZf=3F<0$vc)YuD)*243z&b$BoX@+Q^J@sGMQ8O3l$5C>P2f;?=GT;n;VXSy@@*6GPEc z6GQD2h)EEeW)CBF89<1`LD$CroF1q7>ZH?=eWo*D@ReR@X6-I{89;=p6kAh(+$_{x zUhl9m06XNhwYP)wj&z-y_1bj61DFVvm^AiOf7%!u1wsp;fImo9=rINP`9E&ZOJt(% z2PMF3*>)1r6qvgmqN1U^TDg>C?j5N62^|ESf;ubNrWasA(Mxy*Wa@*~yTOKT0e_AY zRBypefW4IWrjri@3KH4YmmEi>dh5=eWrVQ@DOVG3%)%k%#TD#mH#=>QuaPaj)R+(U zQXlHaaMASV9X#CrL5W32V)5Sb#6zvY>R&+OP!KPrutn_$ z3wCzaCGq23=z$lZj89JTK_1HW*<6Iec^oQAO_Jr#kdP2C-DUcgk3i*POVQKQNAv*b zY~Q~9?!$*h+%z9w-@Mw|P%O$9ya`H-O46sEnm7Xpl2N%t>4s=Pc=nhvTyPyTvqACu zsfh_vE|h~y0n)wk=u!RV2617aXmH=Updccz%z;Dwjfp9ru;A~AT5W1-x`s{cI8KZi zNVxCcldG9bB0)0(1fR)paR$0Y`4EXs+S8c9zH{eJ3k!?4RO-iX-#%2^WBcJZFTQGR zm=DL=*ff5>F*6rHz92+ae0)4WQAL8OI&=e2s~jRCHTQYlp0Lf7ytv8|Kip3pvd@aw^hYr{cMs@WF#YFGW#!g!Iv@!LH`I(k)(0u8!@L zgTq$>+T(oN?5~gv8%3)htO&LUp`cK<3Jc#yeaEMjyNUvcMIIk;lCv}}E-tH~VKyvB z$JEp{%e$#?x1?k^5mDL*Rr$C5BHw zhgP(B$&v-XtzVxFuJEODLf`7L)ytOszylo!(whtP_FfIzc#lHmTa6=Nk7Q(IJgC_- zK+~+kW)xS~xs**s-Z6~p*8?==%H^F_u(!7d6|4b0`uE>|4++YrTe5`eG+}`vOJ<~a z@=<Ugs!g)k{l5#E{8q!1@4aHml6eA!>Xk1@7=DS7*TQ*xo%1soiFeD|;v zKamN@mJEQPO6oD#0#3-w@5Ec?lnwd`6t(Cx_9(s;&$@+|*AJ{c*y=pwmupYQ?zOkK z$Ki`kg-gg`m$-lKCyvwJ%@3*frf^wCkbf0VCw8dS~V3x$RYs|A{J+Sv10z zMaTz;h+i{%+1YdFM65b~Ln)jbA=f-OIM{(B$+%DDM_ic%2M>=g3I%Lt87E#d4k)iX zg@l5!zEs1ieMFLh;F^bMFJnFH4fu2$juOk^jx$8n=Pwhxfs==Hx5#63fn8^0Fq60g zQRg+mEUelja0fwPFngVRUHO4uk-{6OS{pH(O-M+Hcxd2NF%59Lb&KjSas?W|ApjeB zv4O?V@gE~lN`(RruVZCBnc*_?b8JknrEOtCtRLhGae&lGC@g`kfP_~8hUxUpy$E;N z#>sgL$np%7Xrx!~aL7)r@$HWG_I?QBU|z|R$vqI*dhp;TSOKD=`+C9yz?24JrATx@ zG(7@-V4m|HSX6wU_Xe~yY=*Bl$jPVMC3p+{9p z`*6wCW}x{PilvvTDWj^rEB0**lAA|sI+m};9?^%_&Pqs~O*aW-$-nVro`fX(jJPFR zwkDuJV%@yibn=|SnKNgEdiU(!{i=9ov!u&(&;b53wbcf?9g>NztmjVo( z$U|)N-A(k@`JcZ>)BQV^>)(8|FAhicOProOO&G#cM@NUFgB&|MJ6I%p`PczH6ppZl zkf>guy}PO^(|!K-UkyJvuq$wfx`Ilzh{R?5#ID|+(0Y8fAcU^3Gr{QvGqKyUwtY>9q zUAA&1jkrES^Yf3R>N|1rq&8S1qndZOu#Q2siSwbokCU@w@N=l7s|4OP=eh2RVGMb+sAATt5$_AnX zW;}pW%0qF-AV|UIz@hBE@aiZ?BFK|`lU|;lS>L_|f&)S>g8JMF(u%WrZirzF948o< zT!>gED*egGrsWVqQO6IAj_S7L`$3I*Qatt=96q;t`a{4X5UrcPCzzH&M##fTEBA!e z72*ql5%OS?!fg#Td-7O-9C@t2e2%;h08HMHlOXu(;xm9k8=S{f!Sjc(REC!5VviLd zI?90@T()f4%iqyRCOuv5e_2;R{N#tiO@?`{It2V7B^-}LnJ9ODR7 zJdj>*Az4IlBUS=WA;1?PYIinfNJ1_EyK)2PY%L>W9`2g%kcP%qBwoVw+YM-<`X2`x zgwKhPLnv9+f&K=z03HO-!F%Y;wq)>HpadYd)8Q!A1ES#_R8l*_%dmZPwhEe!8WPp`eU)apoi zFsYMwf;r7%fSC@7x@t%auz*{`t>#f&%#vh7HZ$o9;}F_z}$AGP_gd>R3p z4_e*9hPvnPPiRL9BzI7%aqu5FjPZgnd${POYKfjPNKxRL5Y7?c3j!V&aco8UN21>EIBEp@le@3)3ka7=7ccq+1xZ<0yyMkcbFA!! zI(!j$ugK3)P!9bb221Jc?!d(!19nPXL_T?`o*@BrEENJkvtYpjTk&)dGQj$>#Hphz z7z(k5kU1z)8_r|^#E6Z2J%>VzMRrVfT@k7klf;4VpwkAT@& z{qf^Rqx$4P(6*Gj;ox9E#Q zK9kclU&#)L&j8-USCV6MFGH0ZdrA+!F3v9G(0;C<+9Zi}u2@~oDq;JcBOvK1?u!JvUY8N1!Sbn)V! z2pyY>;^qngh_OjG>@lo?M_Vd${Wm!WJ#d8lA^Bqr}_&Z9?cC_QRDc zyHS}ODt~T<|H_RSg9O#lp-)082~Y{9>?pv&Box`HJD>m|R)izBS7{)7AlMP$NoeKZ z;Hu3zoaA6wNRqcKg+dz|C=KsaY;Jl;${w@`xCUKZ0F>Mi@Zx^d8>min-jm87J9N0a zir&@L6-A@r_E0!;w(Z{S(H`cw2AB?8d}$^;)uf0ABO3t}jsm(8j8|7=vko&NNRzVDh_n?-N`DC?xiUg@xso!3t_oJCv51 z3KG8!0fPtu;JZK#d4tVRP_P}9FT^QYzG~I>{ri8riWkMAm1+WnnmYR3aMk960Y83R zM#Xdydze}?2ZDW*fc_z5#*XhF_Q2Jk0VUXWy+7GM`7^qF@Eg)?zF8-UU6+`c$Q1i+ zG7i)cDeHh_`>!aPt)&`GDg$oq3YCv=Ni?Ycnbg~_wY{}lA?cbJ(}RE4DZ^#~Rw4(! z=;x9;VDYRg(gBwX>l%?3O_>`<+KcA{!EA*AqphEt3h=OZ$+yBR@R>}2-K)F%v^&8d zR_&!#EHxqTY}+wVb7Cz>&_%r?h7^?a5lB6)mFh6>6&{cvu+C39Feve#q3_6J$E}0D8y^bJk6pWUQ=)7kRdu%vg&BZ2?^j!l&uSkE^d=ci&heO;F6U^YbXMc#wYMw2vQ0*f`5ErL+3t+l z?&rn`MWpycnTHe-r&F{Mbnc}v4YGLouEPKSL1^d45cy@jScKMqG(mcc!np}|9t}Yb z8q%GG1q79}=ZhCRLHqF7xDqZ1$l`56!V3@@Rz20_iKE^@Jur{l1G`C(K2$UFvRS7L z6kR$X-_31oo}(6f78x0Mh1;yVtOA8CYQZ>^&*)JA_nT_$3f9+)T{3KEm|gSj5u`{0 zp_i=ONFWOFsly3Y43if0=A%)>UXK=x4P<@0A;CeD(Ey&7x@cmu51|*L+dZ%xU!W-f z`y7*!T8dM_v2ULbm`3`m5V0T*o;Y<%cc3{(TU-0*M>_V)#>R3erXkVqC@n1|dkU5i zP~otkS%KmJZS__wZw)vU5NfTU@}yW1&rd!&7>FCZ8y4nLTT{1TkHYB)snv)n+A8!O zx;Im-I^h;r3}QzIVU#E@^QI`ak^aVTSbjZxB_{76jeuj+<1U$n#7iOxVk6dwSFe;+ zVycIqgk=hlWM@?@`wcq!9l%h}o^1z=vM$o;Rd*U#vS!U1B(?p<-v#isM>RDysbxLL z#?i_NK4>8TmvR&l3eM!TUL}(;`#wlBV68vDkY~q5Lk<`!MD>-wL5N#~`j=<`0oFa$ zYxnHg1EK3rg6e1fj=^OwA(aELIZd<%TXlS1!1Z7NG5h~pxX&OQT1^Xp#10%q0N5a= zM(~L!LE0d!0&kYX4@@ewL~|OtCANYZMTYtU)Q7aRd*%+XHNn)z6D1^ zEV4+{)!;KhRe!3i+;|lfKEbEh|2DNcG{~0;(_%3HqaMm>Xh^RXPh}Ai5#dZ%i8}pc zA>v3&OG`k}f%$UnA3=~=EBTS%fY>#QI+0G~AifeWBfvFrSrelp+ChlE2LeeJJKWTvB*Uks zqQW258naeGSs6L#Ip3$J8t2*o8HF;I&z1E`l;M~4@$}>{u9bxehHW|EVjisGx+R;g z-?%|6!N@_BEg%yiU}EE5Xcj~HiQLnFQ3Y@`hoMn45Eu!91e1t`wtF&MSPg==Q#5cK z(Odybm>xg`soRJ%5nCM=%3hYRp?1~I1t)j-Q>BTBjPwqlN1$-5Kxj#Q-%u(e9K~Kd zOfi2(q_Xpf^eMSLRK*aSJ+V-0*dHB`w=l!B(8v*f!I0b6$dz1PH_wO?i+E%F1DGR(-5vx2(cWj~a zFHbLEXAc)WIHwTap7wVE>zVnyTetdO1XyjBl$Dj~L7*W`1*l@sM1`B8BM1;`4g%A_ zrsP8bM#7kL5!6Zec$WW2i#3(nlDsU5a!@65#fh1}%63 zlw=K@<-pE50H9=pKnt0QZ*RmNScf$PD`tU?0Sf$p(pRp$q8h0Fhlo~Pk(|?(GICIf z9|aCm^BxY#|h-M6<0B^&@cd-W%00#MKl7fy#3C?|Xg1e}_59S5#OxQc^@u z3lx!jOGFDSIKiSjc0B)D&_v9#qcwW==%OwPayfZLsLW# z6(55d=m*phzk@C(R6NQF!MT~nIXOGK@y*_4+I-~CfSo43Nw7*0C}N3f2i~P|boz@^ zn9czhvKB5{MC>FKIM|_D-@AMF@_SP7!mEe`a1Eu!7qmmceC?W7HE;Bo*yBH;&@XdO z`jna)8|-I2GtP$n2>|zZ@5$@?kW$mrD+MD1G@{*A67yiXZ^^%o3#Hpw zRzKNo$9)()1IiY7!51hhR?%(tA!qk^R0lNd-QiL*W{oiioJ^*sY~Fmi0~z|@!3QYv z>iuU)n^%u>9gYw%v82F>DF}S~LrdrndTD}PI*cAX6mqCB>f)WDoTDdkp8|;Y{cWX> z3|S%eKU7q+zlA6dyqkY@!6G}DoT5%2p7SCU^6`n!a~D18c4DJsY4ZgVI@6I-9uWRz zd*)azI0jN2L!gM1(1Ue^$dke`=cDcoG~)B~EsfB3Ks*5{$-&(gr9|C!?)k}GRn=q# zTO@;thG>ea$j;uLxCWzBaZp#Wi7{Qp@jxTzO;7{yC8E)mSZgAB!TB=5@Pkv9S6b?W zqB#x{0>UlXrtM|ndD?t1uadq#3TY34MtdG?6w=RHHnvi*qFxfT=4LQhU;-APvIK$^ zahbMrAD>Ij76&H{rE_4iJC>y?#RLb7G)kfmHZ?7cS;S&HWD~A$;!w625c%L_{Zk_= zI?{B%nl_|{WX$xM!VuWp*;xS6)3ZJtHEH>?6YG%1NP`1>`vNh}5u8)7y=VhXA#f0O zt1eEmu^+LG8AUB*ThdI6G#$BVW!>b^Ff2DPtiaf_3}QP9CfRR#kurflfBxL>g3o#< z!{Kt*&+j8hV0$D#P@{U_Tu3{rO1e|hSM&MWtj+`COUHjRcd7Yb=Pp0}P3}_0+Lt&I zNt28;yYo@7W5|_R<>hOyk`7Zu76#};5Jb^A*90s=gGFcwQL>@R@Pgh(8!TAsr(lN? zR4QlT5BTxp#~~Q05CFAc6-2z;I8}@?GY73KMCL}nEQwg44{Lo|ZNl5}1%%>)xapBL;sJ1;#|;FrZu)kMm>8a<+1N^45@Go+0dJ|LNt8=X#&vzt#@iT z-+9oCl;9RU{l2p<+}|=&xD*`Lw_jk{MEW1`G)A8uJ~{9&^fbzq$;ru)j&wLp>#evU zymH4sOb1Xy3-%D;$`^Eng7_xY0u&lT!ii1w#32q%Jg=JWzAr8=j)uel-XJimuh3B) zU6L_3V+z65Vkq?ITwUML^iUiva-^MS33k?X)Y728e*jCPV0%$KGcStOEk{LryrUsa z6gmN%G}~%Gs4r`NmynRrlxwE*F9gxCM^ozCFS5nB z4iNN2fQg$M9T$~Jf^DUo53^D1G|W^${f#~x=9RtQV-;i_1IUnw|rQ01@U2sZqz zLsdmu)q!d3vMySoWWf^l;q0fB#Ng+>okk!~7wyGVm9+ z*Cr-v6f+WY)0RYX7zAENC)ZKX>aaY+KKl+%um+bYV+s(CG?ZZ!LWn^i`bYp$%5V`s z{eF)fiWC+h6XIk-Yw3^nc4R_vCcrDCB96U#y&2W)uAvRd3kqJ{H(@vws^96XB<=4| zGL~MhOEfoXOn(IO;O>J5g-CTuh*eR7?nB5SFyJ7i-iJ~`s6{yap}=otCZQVolW|!F_Jso6y&A|xD6ZX51OOQxLh^?hj5nyuwy%yExtH|+!O1|{0_~=H z6PP8O5(il4jUV~-FcJEC;i5EjLgM_}!R6{bi1?}yt5yOvf{ZLczcc9+&AqKhLFu#; zh82YVCivzcD0yG(K@3^DVM7j@u-yQd5%w2d#`pnZ;eb3}ju%RdE>$smsi`T^#LtLQ zg81>__B&M0JqNZ$#O~)7h?Jbr%kVOZ=k#0qe?PvC&XzI~I{Tn3jvKCG;*ugBs@0nW zes~Kt0F_<`O0U${LNhjSI2B4FAV%uXPb-J}8#AgMD}I5}paQ4YwwwhVf0zu=)u7%Z zUPk!~#15{FOWmevKb!y;=2<}kDl3wkENdI{ju%$Fu~=lkA4KQ;-u~s!6l+1_vPVP& zP0p1~5M^m{r_${7gQPDWzP=d-uH+YV9P^DkN&Me)U`(jOXcDce0qKv}>q!9EtGi`} zye8GfXND_s8WiXBY*W;)&VyR}KY2wnUc|DdH1=7=C4`bTNT_!zQ}gvg5+iJj1iho3 z=ARr4^;g|B>`G#`-LW+4V$^)-j$Dr3R=AMZ|LAjyd|DNKB5Hcfvc9kOLxWQCWV-5W z0kn+~`!RZn#-7cAxLfbYp75)!hF>nKbTWhJb89N>Y;e*Zxi$b8~9q#V%mU&uA(|1^!au&3EJ4|D1Kc^0mFS zwLHmEkMIdN!s9=)=tF>)VGZR8<|XMRKZ3aNhf%iq!piL4lJGx>{O==j(^_>aD*@2m z?FdMT8qNT!V3zehUSINFzx+BHS%0D#HV)Artm1-0FtG*msJFrX^x{l})NpTYFzTm4 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Ȫ#8I|(RhNp+uN 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 sxARw8;h!OtO4Y!Bxf)fz;&