In the bustling world of data operations, handling large volumes of information
is an everyday affair. Each day, countless bytes of data move around in systems,
challenging organizations to maintain data accuracy, efficiency, and
cost-effectiveness. Amid this vast data landscape, one concept has emerged as a
critical ally—deduplication .
eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1cXFtT4spcdTAwMTZ+n19hcV5cdTAwMDd23y/7XHLxXHUwMDAyXlx1MDAwNlx1MDAxNVDx1C4rJFx1MDAwMVwiIYkhoLJr/vvp4IyEhIwgXHUwMDEzXHLjYaYo6U7Tt2+tr9fqtfj3y85OIXjyzMLfO1x1MDAwNfNR12zL8LWHwtewfGL6I8t1VFx1MDAxNZp9XHUwMDFluWNfnz3ZXHUwMDBmXHUwMDAyb/T3X39pnleatyrp7vC5pWmbQ9NcdEbq2f+qzzs7/87eI335plx1MDAxZWhOzzZnXHJmVfPuIGLx0m+uM+tcdTAwMWFSgCTEgqKXJ6zRnuovMFxyVd3V7JE5r1x0i1xuXHUwMDA33X7xqXZ7XHUwMDBl7epYm9rmbbFcdTAwMGZO5t12LdtuXHUwMDA0T/bzxDS9P/Yjg1x1MDAxYVx1MDAwNb47MK8sI+iHvcfKX9qNXFy1XHUwMDA081a+O+71XHUwMDFkczRaaON6mm5cdTAwMDVPYVx1MDAxOVx1MDAwMC+lz6vw98685DF8Qsw/hy1QpMVz31x1MDAxNdd2/bDv/4DZa957R9NcdTAwMDc9NVx1MDAwNMeYP6ObXHUwMDA2MbT5M1x1MDAwZj9mXHUwMDE06aZvWr1+oMpIpCtztqxQYCYoiCx6+P1ezZjt8D/ztfS1oVlcdTAwMGJbOGPbji6HY/xYjoWKTlixXHUwMDFmXHUwMDA3S1x1MDAxNDBcdTAwMGKgXHTMx+BlXG6RXHUwMDFkblx1MDAxNr1joYuzqWxcdTAwMWa1r5rBYHrV01xuL899//HXfJxjz9CeXHUwMDAxXHUwMDAzOYRcZjAgJSBz0NmWM4iP1Xb1wVx1MDAxY2Oz0u9fl4N7YZxRXFxcdTAwMDOcimspXHUwMDExlUxcIrIyrpfPOue4Rlx1MDAxMJdcYlFwRYRAXHUwMDAyXHUwMDE4ojGY81x1MDAxMt1cdTAwMDToga85I0/zXHUwMDE1oJJgV31DtdCSQrXtgtMk9CPDeYE+XHUwMDExjDBIRMbYX6jcXHUwMDFjoPNxuU7QsKbmbHVcdTAwMTdKXHUwMDBmtKFlPy1s5VxmuWpcdTAwMTnLhYWism31Qlx1MDAwMFx1MDAxN3Q1WNNfwHZgKf3/8sDQMoyoUtdVP5rlmH5tXHUwMDE1Xez6Vs9yNLuZXHUwMDFjhpqxWf25TbCE6C8l8Nf0gkG89EVcZpGAhErOV6eXaf3eXCJnxUbzdPjYJ0A/rZ9ccnu5XHUwMDE3Q5YremFcdTAwMTAoOeNsrvxyxS+1QcPcK+/u86dpfTi+cy7s/oW9XfxCXHUwMDExhYygiFx1MDAwNnhcctfLJ513XFxLVOJYwVx1MDAxNWPKJMYshvJM2YWUKFbsgpFgUL1BlMT+XHUwMDEyfsFcdTAwMTRcdTAwMDNcdTAwMGVkRFI+XHUwMDAxv+xmxC+vKOM4v+xmwy/kXHUwMDE3/Fx1MDAwMlx1MDAwMUfqbX6aeE1cdTAwMGWvXHLSuL6hfXlweDG6bGvk8dImeZdDTPLEL1x1MDAxNCmIKzHL+lxi90Z6uS5cdTAwMTbtUbnygKf1snnUNrvDXCL/lkd6gan0os7UnFC+hvWyfNJ5hzXHJcpcdTAwMTRaqTJcdTAwMWakXHUwMDEwOFx1MDAwNvJM6Vx1MDAwNZVUn1JIhlxiQJhgkYT+MnqBkGKMIctcdTAwMTj7uaKXSkb08ooujtNLJVx1MDAxYnrBJF76U1xmkVCmLVNcdTAwMDfplcXQw+c1rfHtfF/WYf9SlCdkep1764WgPLFcdTAwMGJEgHGKqcxaxN5IL9g5Olx1MDAwNZ70alx1MDAxMyh1z7k5XHUwMDEwXHUwMDA3yM0jvaRbL1xiclx1MDAwZYVcXMMqXz7pvOOaolx1MDAxMlxu4aqolDPM+HvSXHUwMDBiLVFlvEggXGLhiFG2kvXCgVx1MDAxMEKx4adil72M2OVcdTAwMTVdXHUwMDFjZ5e9bNiFoHjpTylkXHUwMDE0Q06jMH7Vh2DUrvdccqdz1DJr9slcct6jXHUwMDA2OMy7XHUwMDE0Jq5eyGbs0u1cdTAwMWFcdTAwMDR33soumDFJXHUwMDE0xLN2jf1mXHTbXHUwMDA0gKmXf1hccoQpXGKufrw5XHUwMDFjOlx1MDAwZWvdXHJ4IOue67fqntVMuyPRfXc0Kva1QO9/PFxiXHUwMDEzXHUwMDBl2lxyQSiQLqH55iOO4lx1MDAwNIXDbfNRbVx1MDAwMkKeXHUwMDA2QqhcdTAwMDBcYiRcdTAwMTVsdVx1MDAxN87eSXl0d+V7ZrO2P6lcdTAwMGVccse+XHUwMDFk9/OuXHUwMDA2XHUwMDEzLpxcclx1MDAxMSg5p923XHUwMDFmsnFIPMrk/jxcYkxVg4JcdTAwMTOFQbz6Ydj0ar5jXHUwMDFkPuCnx2Jjf1x1MDAxY1x1MDAxMFxu9/g2aMGEofexWpBJSTCLXHUwMDBl6k9cdTAwMDchTXU1qMFwXHUwMDBlJEOrq8FRXHUwMDBiNVx1MDAwN8Zpv6Jcciu7hl7dr7eOR3lXg4nToNhcZoJcdTAwMWE1RLf7ZlxicsYplVHy+eMhmM7ElCBKlJ28ute5VfOA/zCu+lx1MDAxNdA4YnZAjI6nb4MmTJxcdTAwMDc3hOFmmlx1MDAxMKlcdTAwMDNcdTAwMTCTlHxcIkUoUlFcYoDiXHUwMDA1XHUwMDE2XYzXUHhqu97Vt1x1MDAxYX7S/Mlg73x88jTq5N4sTpxcdTAwMDc3RGC3K7jgb7dIXHUwMDA0Ruo/+zxcdTAwMTCMTDV5q8ywXHUwMDA0eI0jYfno+pxcdTAwMWW0dptdSG5cdTAwMDeH49PaZV9ug1wiTFx1MDAxY1x0P1RcdTAwMTFiiCWmRGZcdTAwMWRcdTAwMTibXHUwMDFmXHUwMDE0kvQ7YIRcdTAwMDHFeFxyJ/1V/7onv8G9O7fs0ys88lx1MDAxOJ6wvOvB+IFcdTAwMTCjzVx1MDAwMLipXYwphVx1MDAwNJBP5Fx1MDAxZkw9XHUwMDEwSqpEXHUwMDExrlx1MDAxM7xpnja/VdCp/TCo1Xf30bDpn7Rr26BcdTAwMDbj58FNUbihZYxcdTAwMDTjQjD4ifQgTUMh5UzZJWs4qaeX09tGu2JcdTAwMWXdtFx1MDAxZseP9cakWD9u5l1ccsaPg5tcdTAwMDJws1tcdTAwMTJOXHUwMDE5oFx1MDAwYldTfzz+0lxyXHUwMDEywpRcdTAwMWVE65xcdTAwMDbh9HH/7Na777evnzp2XHUwMDBiNu9b5+fboFx1MDAwNuOnwVx1MDAwZlaDUCpcdTAwMWTI/1xmL/UzMm5cdTAwMGVaJ2fOXHR06r5cdTAwMDNuiX6N3OYkcv/9XHUwMDAzq5rvu1x1MDAwZoWFraFcdI9cdTAwMDUsXHUwMDAxzqFkXHUwMDFjISGRTCwyREtWebGRkPhcdTAwMTeIiO84NMN/61x1MDAxZL/WxTrKXHUwMDAw679cdTAwMDc0P0EpiWJmQZNByYWFiI6Ec40xosybVZTIe0VreK5cdTAwMTWPhJr/tTNcdTAwMDfC7MPL3/98Xfp0XHUwMDA0beGrmFx1MDAwMNr8XHUwMDBivsS+qGBro6DiXHUwMDBlh1agZnZcdTAwMTaOKrH4geZcdTAwMDe7lmNYTi9eZzpGSs2sVTmUpb6pJXZatYvWXHUwMDE1XHUwMDAy33qWgU1oJDXaXHUwMDAzMizCZIbVnat31Wr1wLOfqq27iyN3v1GGrNLJ+zmG5ypSXHUwMDFkXHUwMDEyiLlcdTAwMWG0yGkm1ODBPD67aaLx+f1gXHUwMDFmNItcdTAwMTVxoZ/mMZZcdTAwMTDBVFxcXHUwMDBiRIHAZI1cZvLls847sHks0zZcdTAwMDbzvCXaXCIkJZGUZ55j/jvBOVx1MDAxZlWesmxfUcTvlGWbXHUwMDFlwFx1MDAwMCXkXHUwMDAwYLnGxd1uQLtcdTAwMGZORzu9LnadzlPxqD5spjlqciOCXCJXceqYMSBcdTAwMDTMa5j6Qbt91zjWJ8HUOrprXHUwMDFmuq3qeHC8XdSCMIJcdTAwMWNcdTAwMGKxOqyXTzrvsKZbl2RLKaZUXHUwMDEylHlcdTAwMDZgfsglq1x1MDAxNNtXNPE7pdjSdHJcdTAwMTFcZlAlpGL1wKRereG0nc6uhFcjr1bpXHUwMDAwcZr/ZFx1MDAxMVx08kQulFNcdTAwMDQgyF7A3kYu/atif9Sy2Vx1MDAwM1x1MDAxZe5jwET1Sjua5JFcXHC63UIwk1xik9VhvXzSeYc13rpcdTAwMTRbwVx1MDAwNKE0euPzx5NLVlx0tq9o4ndKsKWpkTZcdTAwMDRDJsA63FI2b5rNx3K1Rk5M3j25vLvY83KfYCtz9etzXGJCJDDJPNTrjdxiXHUwMDFm33e1u1x1MDAxZbvsVPX7vWlNllxymktuSTdcXISQVFxuXHUwMDFl2Y7XYL180jmHNVx1MDAwNHDbXHUwMDEybFx1MDAxMWCIXHUwMDBiKD6T5ZJVfu0rqvid8mtZ+o1cdTAwMGJcbq1cdTAwMTbA13CLdVx0MKo3rNV2ztpGXHUwMDEx3Fx1MDAwN0ExqOZdXGZcdTAwMTNXLlx1MDAxZppgXHUwMDBiXHUwMDA1YIywaD7VXHUwMDE2SNgmXHUwMDAwTDWdXHUwMDE5leF1wVx1MDAxYSk9jTHWz4PO7SCA9bvbtlx1MDAxY3eKXHUwMDEzulxygSNcdNfsh2aWSUIw4PjzQDA1hFx1MDAxM2FcdFx1MDAwNVx1MDAwNWu4UHv2+OCoWS5cdTAwMGbGTWtXXHUwMDE396Tr9Vp5V4FcdOfNxybX0vBSVKLMf2QgN/hLVYFcXFKIJFxcw8uCJjXvoLiH/a55bjtB8bLILlx1MDAxYdugXHUwMDAyXHUwMDEzRt5cdTAwMDcn16ozLufZ/1BZ9lx1MDAxOHzGRdFcdTAwMThcdTAwMWXik+J94Jqntd5V1z25XHUwMDFmPSYj51x1MDAxNq21WeBcdTAwMWORJVx1MDAxNr00f95cdTAwMWNY4jLyXHUwMDEyiXWGXHUwMDA0lKK/pz1cdTAwMGahkyX0XHUwMDBiLPw/am5J1Fx1MDAxYyNCIJ5cZrJccvdHxlx1MDAwYl/yXHUwMDBmXGJQTVb7kd33ipn7aVRcdTAwMTmmMfZsZS5cdTAwMDXmzu5OxLaJmGhcdTAwMTHZWzDR8MK3rW6PXHUwMDA1rpdmjC1cZj1ueaWONW6HPYvfl1x1MDAxZs6VguZ5jUA1UpXPwliYWObD7lKTIXyFTpqZ8Ib4NcNd+Pf7l+//XHUwMDAz7eC3XHUwMDFlIn0=A B C D A B C D deduplicate B, D
Deduplication, the process of eliminating duplicate copies of repeating data,
isn't just about reducing storage needs—it's about clarity, precision, and
reducing computational overload. It refines data to its most essential elements,
allowing us to gain vital insights with fewer extraneous distractions. And as
our data continues to grow in both volume and complexity, the need for effective
and efficient deduplication strategies cannot be underestimated. To make this
task of deduplication easier, we're introducing an efficient and robust tool:
the deduplicate
operator. This operator serves
as a powerful ally in the fight against redundant data, enabling easy removal of
duplicate entries directly within a data stream or data set—delivering cleaner,
leaner, and more useful data that holds the genuine insights your business
seeks.
Join us as we dive into the world of deduplication, explore the mechanics and
benefits of the deduplicate
operator, and
understand how it can redefine the way your organization approaches data
management and analysis. The journey towards more effective and efficient data
operations starts here.
Available in Tenzir v4.12
We're releasing Tenzir v4.12 next week, which will include the deduplicate
operator. Until then, you can play with it on the main branch on our GitHub
repo . Stay tuned.
Why Deduplicate? Deduplication of operational event data is vital in various contexts dealing
with large volumes of data, as it helps streamline information, eliminate
redundancies, and save storage. Here are three reasons for why you may want to
consider deduplication as central tool for your data operations:
Enhanced Monitoring and Analytics Deduplication plays a crucial role in system and network monitoring, increasing
the visibility of genuine operational patterns. In anomaly detection and
intrusion detection, deduplication refines the focus towards unique
inconsistencies or intrusions, paving the way for precise identification of
threats, and thus, enhancing the accuracy and effectiveness of monitoring
systems.
Efficient Threat Detection & Response Deduplication filters out multiple instances of the same security alert,
enabling a focus on unique threats. This allows for a swift, focused respons to
actual incidents, minimizing the distraction caused by redundant alerts and
enhancing overall operational efficiency and mean-time-to-respond (MTTR)
significantly.
Cost Optimization For log management and SIEM systems, deduplication decreases ingest volume to
reduce costs associated with ingest-based pricing models. Additionally,
deduplication reduces storage demands, optimizes search performance, and enables
more effective threat detection, thus achieving both economic efficiency and
operational optimization in SIEM operations.
How Tenzir solves Deduplication Let's dive deeper into the deduplicate
operator. It functions by marking out
duplicate events within a data stream, scrutinizing these duplicates based on
the values of one or more fields. This discernment allows the operator to
differentiate between truly repetitive data and individually unique events. You
can alter this behavioral pattern to suit your specific needs by manipulating
three primary control knobs: Limit , Distance , and Timeout .
The diagram below illustrates these knobs intuitively:
eyJ2ZXJzaW9uIjoiMSIsImVuY29kaW5nIjoiYnN0cmluZyIsImNvbXByZXNzZWQiOnRydWUsImVuY29kZWQiOiJ4nO1d13LbWpZ9v1/hcr82OSeHqepcdTAwMDfmnDOnZlhcZmDOmezqf59cdTAwMDPZXHUwMDEyKVx1MDAxMoAhmrQgXrirb9lMgsC19tlx7X//9e3b9/Vhrn3/72/ftX27OVx1MDAxZXSWzd33f+qPb7XlajCbqqfQy79Xs82y/fLK/no9X/33f/1Xcz73nt7lbc8mP96pjbWJNl2v1Gv/R/3727d/v/xXPTPo6O9cdTAwMGZcdTAwMDWKdDoor4vl5JCOKk1cdTAwMWb0d8HLW19e9HpBzeVytjs9vFePMVx1MDAwMt7+fVD/xmf/3lxyOuu+euzsob426PXX6rHTQ81pb6y9e2S1Xs5GWmA2ni31n/pcdTAwMGao6f87/dxWsz3qLWebaeftNetlc7qaN5fqlzy9rjtcdTAwMTiPXHUwMDBi68P4xy1qtvub5dmn/PgplZ/XXGIvXHUwMDFlf3vfaqZu5uld6sf2+lNttXr3ntm82Vx1MDAxZaz131x1MDAxZoLT76Ff4zzWebnr/3u6qmVzosX02z7djMfnXHUwMDFmPO38/OB3T6w0TX8xXHUwMDE0lDNChSBvz5zhXHUwMDAxsctH07PpXHUwMDBiNiBBjEjO5elcdTAwMTWDVVBcdTAwMDFi/fKx3eZ4pZ3urH5cdTAwMTGhXHUwMDEzWN5dyGbeaf54XHUwMDEz5Fx1MDAxMFJcIqCQXGKfbsJ4MFx1MDAxZF2+Zzxrj1xmfs58NjhHo/7n9LdvJyi8/OPt7//7T8NXXHUwMDEzs5f/dfG27+Pmalx1MDAxZJhNJoO1+j2y+jVcXN3sdXO59lx1MDAwZqadwbSnnvv324e9Uujli/s+2qay0tOJ91x1MDAxNo2x1izvZlmea34/Xcb37qy9WZ2DWodDc67fu59cdTAwMGb85+1natPO6SdeX41PJ11fa14hRr3v/DnFgcFcdTAwMGYunW7zXHUwMDBmQqjn/u/7X2c/9IL9qVxcNdzpZYNcdTAwMWFdb2LjQjlcdTAwMTAvhcvX7F9q7fXFXHUwMDBm2L+w+8JcdTAwMDKga1x1MDAwYoBcZixcdTAwMDC5s1x0+EdcdTAwMGJ1UatlQv9cdTAwMGJcdTAwMWF/MfJLjlx1MDAxOGD8iuTqKVx1MDAwZS5cdTAwMWZ8Yz6lkiCIyMliOID5b5BEycSe1Cr+vrasXHUwMDFjXCKz2bZcdTAwMWaTeSuYZuf+3lwiOCFkQNrRjpbG69g0YFx1MDAxZqbIhemjYUo4XHUwMDEwmDEmXGZwyrgpTtXpXHUwMDA1sIKqcCROK2vAcvOqIP52KDGPRuE2XfBb4TRcdTAwMTbstWU4mo00dp56qt7urOP9qH2cXjpULk7vjlOJOabk3DCe4VSa4pRLopwwXHUwMDAynGlPcTLUyvpS3UptovlcdTAwMTa5cbIx0/ZWOM1V5vXqppuuXHUwMDE0qu1QiFx1MDAxNUJtOCrZxylzXGJOu12tLeVT4lx1MDAxNDJcdTAwMWSpiED0sYNfXHUwMDAxilBMOXIkUIfbwLEtpslBxzNcdTAwMWT6S8eSx9foWVx1MDAwMZUuN8NMXHUwMDBi9WdcdE9kPco1e/l2MGFcdTAwMWaowiFAbdKO6HafXHUwMDEzqFx1MDAxOHAkXHUwMDE5M7So/Fxuva9AxVJIyqBDYbqcw9VhXHUwMDE4Ke3HxXg5XHJBc90sWsF0IEF4Uq+Xipmellx1MDAxZoHBtNr01WzDlDoljHpie8qBxIBcdTAwMDFjlEIzlEJGKcfCqXHUWtNynMebnXGdguqCN1M1vLPCaS3aqXjwodVcdTAwMWWXUGWXPm7HXHUwMDAzlrePU6fEUU+MU0hcdTAwMDVARFxudnXEW5pTXHUwMDE16kOhXFxU4MxAqlesJ3B9t2vw9iivxckkwHyWXHUwMDA2tUMqqWxcdTAwMWbFj6NdKzKCa1+gXHQ99oF6XHUwMDFkSHlcdTAwMTGCXGYgdV9cdTAwMDGiXHUwMDAwX+FcdTAwMTZKr1x1MDAxMFx1MDAxMkpBmZSCXHUwMDEzyq9xjKWXc4Elh1hKTiS/M6yf2UtgXGJcbkjPP/9cdTAwMDRrYVxua1x1MDAwMlx1MDAwMedcdTAwMTI7K4H9hmplfENlXGZxK1x1MDAxM033e+mQpz8rcStUj2e8VYetOp1o49lCyyyHPM/to9opYddcdTAwMTOnXHUwMDA3IFx1MDAwMlx1MDAxOFx1MDAxMGRsfc3TWFx1MDAwMFJcdTAwMGVcdTAwMTDGznRnYbkxaK5cdTAwMGI75PdcdTAwMTf3q0gutFx1MDAwZVx1MDAxZT1WOOWxbKftazS3oV603NSO60huyezj1ClR11x1MDAxM7tcdFx1MDAwNCp0XHUwMDAwZJhu5dRcdTAwMTSnXHUwMDEyUipcYnQoTjvx6bY2ipR7clx1MDAxN/HzZCdW7GWOVjhcdTAwMWT1x6K+7s9cdTAwMTMsPqq18sHEpu+zn25lTlx0u57ZnqroXHRKSoxccqpp5Vqoc1x1MDAxZlx1MDAwMShcdTAwMWPqzfbT8d5cdTAwMGWlS4XuoFx1MDAxMcol+vFazdKbta5cdTAwMTn/XHUwMDEyp05cdLue2D+VkmDBqFGyVVxc2dhXlDIuXHUwMDE55+Sm5MCpi+HUaPDNXk/OO8z86Mt5e+Y/P//2v49lwK62KW5cdTAwMTAqxWmgVFx1MDAxM9t6fp49tKxcdTAwMTiQXHUwMDE4VfrLXHUwMDFjXHUwMDFmlyrtXHUwMDAzOuxcdTAwMWKZnD9cdTAwMTe6vc9AuJb63lxmwJwjyE3qXHLmLUYqpkZAXGKHXHUwMDE2cPvx3jovq6iQrniycpeeoyZcdTAwMDaWljrhZ/GJXGZcdTAwMWS2M7HNjY6haGxcdTAwMWW+vTD2WTh9Ys9cdTAwMTdcdTAwMTIuXGL+aIRGXHUwMDExJVx1MDAxMp5/P06CaXpSKcU88c4+XHUwMDE3nfnSaeX4ritbK5hW64KsXHUwMDAz20hnPexJTJODMV9+XHUwMDAwppdcdTAwMDHaZ8H0iVx1MDAxZFxuQrFcbrQgNerbXHUwMDEyV9h9hSlcdTAwMDJMXGIpnVx1MDAxYaDJUJuXSmLt56tZcrysR/sgiaxwXHUwMDFhLaVLRTZccmxb/doosJn4PePDXHUwMDA3XHUwMDEyXHROOfaf2Jxcbr2tRVx1MDAwMGSYSDDvh0FcdTAwMTRcdTAwMTBMoHCmPVx1MDAxZGanx+moOKbB9m5cdTAwMTVfZzKHXHUwMDAwXHUwMDFjWOE0o4H2XG5OwniaWFbLNS3voaXi7eVcdTAwMDbXnt5cdTAwMWSnkEmo57yMXHKqeVx1MDAwMVx1MDAwMeipWVx1MDAwZZyJ07Em0o3KcJI8lFCTJvG2XG6COSuc9ofzOp00+aro2TbWMohcdTAwMGXratc+Tp3inj5xXHUwMDE4XHUwMDA1iV5cdTAwMTmE0rjQZZ6ZpYRcdTAwMTDAqEMzXodStFx1MDAxZUjS1qRei+9cdTAwMGWHYepcdTAwMTjsTq2Amk5u2LJZqtfjo+QmO1x1MDAxZi4j4a39XHUwMDA2w6tcboJ78N9cdTAwMWaoXHUwMDEwQ93RRIZAxeZAVSZYXHUwMDAyh8b7y90yJI71wSpcdTAwMWVcdTAwMWHlg9VcdTAwMDYpR+NLy4Of5TbVRn/QXHUwMDAxo1x1MDAxOK/4/VVRXHUwMDE12dsrXGKuQb0/Tqmyiszk3L/q5nqDqWCSK2A51EEl3eh8klx1MDAwYpSiq01vmlx1MDAwYuPGaNyzrHSlK9VMuFx1MDAwN8CQLlx1MDAwM4XiZtCPJ2Pz2ytcYq6D+lx1MDAwMJxKwlx1MDAwNMfMqMPQvIYgXHUwMDEw4lxiXCJx91x1MDAxYUJZrI7xzNTTaC9cdTAwMWKsclx1MDAxOJXWm+2pJfVcdTAwMWRqPqeG0M/RbnlbllEhXHUwMDE2XHUwMDFkkahccjuwU7biQLB4zEfKickmmJ702GHUKs7jvZtrXGLEYFrZtdWv13RcdTAwMWJcdTAwMDdcdTAwMThAWO9BNKSAefdcZtPb6ahDY7RjdJNuNvqTQHcy3Vx1MDAwNmaRQ3bQtVx1MDAxY1ko5ZIkXHUwMDFlSoa6hdFkI1x1MDAwM9kxpix4c1x04dNg+sSur1x1MDAwMJBLKlxme8Etqr1SUEmlQydrjqntNDNcdTAwMWSmYn1GutPiMFxy29LSo1x1MDAwMKNKtrdcdTAwMGJsKlx1MDAxMlx1MDAwNsOxdGTeWoY3N5dcdTAwMTA+XHKmT+1RYCZcdTAwMDQkhk1e0nRmXHUwMDAxQcxcdTAwMTWeKHRm0yyYe1wiXHUwMDA0XHUwMDFm98t9k/TrkXpcdTAwMTeCsrCUKPBtYS8651x1MDAwMvk9keKxsCebwc42UC9zsy5QXHUwMDFmXHUwMDAwVCl0J9Z4+Fuap1x1MDAxMlx1MDAxMOSAXHUwMDEy7tBcdTAwMTjtwDx1lO3vo8PFNrTdNFZcdTAwMGLfSrPscVml+otAXHUwMDE0XHUwMDE2Z8W4WO1jZJqCuZuTs65/+lx1MDAwMKBcdTAwMDKKL8ZcdTAwMGXPgGre5FwihGBcdTAwMTAw6cyjvzqL5bUgx53lwVx1MDAwN1x1MDAwM4Ngw49LXHIroIZWh5TskUm+iuqpXHUwMDBlKvTBJPyB4Vx1MDAxYadcdTAwMWP9z+yhUlwiicTXjVx1MDAwMjpOzZNeKvRSSMXOPPh5jPrna7ZcdTAwMGVwXzld8JQ7qyxcdTAwMTlbwXSYw2vW8M+D0X6sslkkfan9ZH9zzss9+O9cdTAwMGZTZVx1MDAxM1x1MDAwNaLCOOdlMOt1qspKplwiqZuGXHUwMDE1LZNe4URsMFx1MDAxYcb6w2OU71KRXHUwMDE4yHZnp1v/XHUwMDBlNp+T9CqEj6vwfDHp7PaTRF/iQqeDqlYkyIc201xcZTes7nzRZPRcdTAwMThLZI5HcU2CtbZfv8c/YtRLXHUwMDA1XHUwMDAyXHUwMDAwXCJcdTAwMDRcdTAwMTAk4lx1MDAxZFx1MDAxYrBcdTAwMDReXGZcYj87XHRfSSGpVz0uKcGEcoDPXvHGXHUwMDExdH9T3iHYzOf46vJ9SN1EyDg2cjowNLXmTH1cdTAwMDOYgJsyw4+y5i8wU7e2M1gpm9vWvv3rXHUwMDFiPPvWZtN1YXD8kdN792i4OVx1MDAxOYxcdTAwMGbvbrz+Ub7xoKffhe9jrXtcdTAwMDZfdSPWg3Zz/Pb0enZW62irz2tcdTAwMGWm2vL6m5gtXHUwMDA3vcG0OS5aXqb6fbXoK5ShXHUwMDE3nYryJ56W18v4bC5XQoZDoVBsXHUwMDBlQTpu2UF0yC1cdTAwMGWl3ZRqzWp1nGpcdTAwMTdBUOTi9niKvCpcblI8xVx1MDAwNCFBT3fo5dSiwKvPJSin68efXHUwMDEzXHUwMDFh3iaXXHUwMDAx8lLEXHUwMDE1YfUxRHb267h8vXFmiXAggeEwXGKS5iP4XHUwMDFjXHUwMDAyjqWjollcdTAwMDO+oq/BV/QxvubXXHUwMDEzPlx1MDAxZiVH0ymbJsP1RKDE1I+z4Gt1XHUwMDEwyVx1MDAxZcrVUrpcdTAwMTZcdTAwMWFlp3mPLI6bXHUwMDFmXHUwMDEwXHUwMDE2uigmnVx1MDAxNy/cYP0+NKRcYkGMhHFSyfTUXHUwMDE0mFx1MDAxM+X6Iyex8Fx1MDAwNNNBdVx1MDAxOKjBTLV5ZNnqOERwz1x1MDAxM1x0WsFcdTAwMTT5cSHUnqX6w2ktWVx1MDAxZPaOoWHfflx1MDAwM/VlMenTYPrEobr6YE65wIZccn/StOFPSCY5P8/tO1x0p5mp5svCTifOatPdPjbS/P542rLoOd1vPaNBNVx1MDAxYZrstXY62p7JrLSPU+FcdTAwMTCcPnGszlx1MDAwMFwi9J2Uir1QXYUgXG6l1Jmpz71fXHUwMDA0pVx1MDAwN/ZnU7bCk0yYlFx1MDAxYlnLqmdhU0+Ng8KzKEb24MjSXHUwMDEzLd1cdTAwMTnenKN3j/3741RBlGBjnSBcYsxrSfq7gFx1MDAxMFx1MDAwZbWngb1W641mbHNcZid3x2owXHUwMDE1SreJXHUwMDE1TuFCXHUwMDBiJeu9TYpq080xWN/kd7H0zblP157eXHUwMDFmp1x1MDAxMFx1MDAwYlx1MDAwNVVcdK812V5+qmlcdTAwMWJcdMFCXHUwMDAxXHUwMDBi3Vx1MDAwNFTL3GcvXHUwMDAxYotQeN1cdTAwMWQ21v5yLlGp53N1J+U+x1x1MDAxMZ5cdLOVbzfrt4Mjf7Ka71x1MDAxYy1jtHZkgGXbj1x1MDAxYutlflx1MDAwZlqhULWVxnZzKljFXHUwMDAw6sgjQH1FZzXoXHUwMDE3OkDgZVx1MDAxMPPXpFxuvFwih55TXHUwMDAxXHUwMDE4SlxuJSBIsrOuIDepcmvplVx1MDAwMMyM9Vx1MDAwNc51ta91Ylx1MDAwNVx1MDAxMoQ7qaZlkFU5g6WTsypnl2knq1IpeuKFQHtXXGKV/f1iPlg/1IZJy/k0sNZcdTAwMGXLUD+xisNsmaLtkoZcZnp1XGZcdTAwMTgrmFeFUVIyIDFi8NQs+lKtwNBLXHUwMDAxZ1RARjBcdTAwMDZnTuwrYyn2Qqjernzcl8/gblx1MDAxYfR3XHUwMDE5S5AygMZCXHUwMDBilJpcdTAwMDZcZlBcdTAwMDAqXHTByIl1i1dqOJit15doh6nJmjbKtip+32KzyGqTKW9EO5ZKwNlJMFx1MDAxNpCNUkrWhlwi4aejSVtcdTAwMTRuz38yN1x1MDAxMLo7/zhXcVx1MDAxMKEmXHUwMDBlpoXIXHUwMDFmJpyA88bHzyfgWVxuNFx1MDAwMpfasr/azzxF/6g+WsTmPUukkt7ikFlooL1cdTAwMTRcdTAwMDRn4/X4ser7XHUwMDAwUi9D9s9C6jOnQClXXjSWJkg17atDum+OXHUwMDEwdGinciU6rOc3o+ZcItJpjlk9MILNouXQM2k3krvkPlBbXHUwMDFmXHUwMDBic9RJZmk7XHUwMDEyuz1cdPpZSH3ioF0yzJVzcl3E1X8oNF9cdTAwMDOgl9dcdTAwMDUmXHUwMDBlrSpNeXqz3LJcdTAwMDEs9fAgXGJSh8wy0bTcquJPpMSBjbMwX1qzQjNcdTAwMWOcxFxymorsZkHdw//uQEV6lkhfWGFcYlTTUTpBVIyEwf1cdTAwMTUpY5F0IVx1MDAxYjj6dqV5SkTgyi+X+KRcXP5cdTAwMGU1n5NcXFx1MDAxYeCo1va09mSJXHUwMDEyYjRcdTAwMGVpxWEpZdld2suXV+VatejjnW5kmVx1MDAxZq6TXCJiK1Sl1Muw3lcnf/xh79nAgZfoXCJeXHUwMDA2nTqQelVgKjHggum1bXhNXHUwMDEyN0b9UI9cdTAwMDCWXHUwMDE0I0yMelx1MDAwNDA1la9cIio+5VxiOmri1CCpRP5JXHUwMDFkXHUwMDFjqJpdqJ1w1XOsd+aZYqrnl+k2qqWDh2ozbMVW62n2j2ypJlx1MDAwNrVcdTAwMTB3S/VdXG5cIlx1MDAxY1xuRVx1MDAwMmhUYUbEtHSneKgsKVx1MDAxMY5K8X71LdXWeiHfnLelutlb5300Nq+SVnqZnfVcdTAwMWHLfThrZVx1MDAxMaxb/T9kXHUwMDExXHUwMDE48GKGXHUwMDA0YIQhROVZ6tjSQFxcvImcjlx1MDAxYtdivH7wr2pClFx1MDAwMMRccrV90PWhfrJcdTAwMThcdTAwMTAzKIizXHUwMDA2nVx1MDAxZWcxPNdQ+1x1MDAxMzbEev7q3IZ4gbouXHUwMDE1rmCsvlx1MDAxN6p845Mt/2Szss/F5r6sZ1dcdTAwMWS0tWy8XHUwMDA2+6G4x3KI17qK/lx1MDAxMbNC0fuv7Vx1MDAwNGfXqjw0JpBQUIxccpOR6Lqp/6RCw4nQXHUwMDA18ZxUt3o+o2Ld2PRFjEpvvisnu8NcdTAwMTHczKutyGpMta1lrsE6e2JlVC6HramBcts5k9zw5TfCXHUwMDE3XHQpMFZbQcy03IYg4VxiSEflXHUwMDEy7mo2zu74xetcdTAwMWZnJaxcdTAwMTPUXHUwMDBlXGZfuvNo5uiTOUonpUltXHUwMDE5TOeGxYSVSVhVXHUwMDE3XHUwMDAxeMhOa9vQgra6vjnKXHUwMDFmXGY2OOjJlIsy0eVcXPvn5DP+QTrNVpebXHUwMDE4g6+dfJe6JUDCUFx1MDAxM5+Y19319jb+bonUk1mCXHUwMDA35jEuiXdcdTAwMGbCvnvuRNVEbJtIbofJXHUwMDE4aiT821QmNq7vXHUwMDAylro+nWXhuM6uVpsy1rrH6SzZmY9uoqpBocyl6s9runGtu/L1qclWXHUwMDAw81x1MDAwNILeXCJDXHUwMDE4Rn+XXHUwMDA0wlel6qzvXHUwMDBihVx1MDAwM7VYeFx1MDAxYVx1MDAxM/VMiSU6cmi5visy76U8g9KYjfC+tCvEw9tjn9xC1fNV9y5V7+NgK9ZxXHUwMDA2TI5V81UzVOr75Zizei9cXK7+vFx1MDAxMSddx/AsXHUwMDEyqK+DiVx1MDAxMVx1MDAwYmR3lVU1R/2Wu0zGx3JmiFx1MDAwZlx1MDAxZNlcdKLD2Fx1MDAxM9mt163GTVxcNYiJXa7+vKZbh0VcdTAwMDFcdTAwMDKQXY9l6LfbXFx/jKGXXHUwMDEyoLOWmLhU/XkjToNYcIzTlUPzKGfLXqnfXG5N/N2a5SBWcNcrtOe5VLfYXTVHi/aq1zDYPnBN1ctccm5GVGV/gKpP3CnGkOTYpOp+3T72RlVCXHUwMDA0XHUwMDA34Lxz5smoyp6CqjNZ55FkbLdcYsRG1UyCh2qLcciKqoJUY836jGNx5KFZelx1MDAwZpae/vgmqlwi4CVAXHUwMDA1V1x1MDAxOEmEMLhcdTAwMTaK+1x1MDAxM8R94jNcdTAwMTZRwqg05q1pJzKhXHUwMDAwUy5cdTAwMWZAW1x1MDAwNJg8W/vk0vZ3aCvEujdblbN0XHUwMDE0XHUwMDEw6UW/q9HUzlI/XHUwMDA1bkBhM0ikXHUwMDE2MTxTuJC4xVx1MDAwN35btL0sXHUwMDEwuYHrvYlcbplkXHUwMDAyYWPV6Oty0Wm6XHUwMDA1XHUwMDEwxoR0vWFnc/Wwblx1MDAxNcu94Vrz730wW6KwdizXrbiaa047XCLarO54XHUwMDA2ZHvLXHTkXHUwMDFloyWcvz5i9cYzZXVcdTAwMTlT3ymSXHUwMDE42Ow7c5lrm7lScMqI4T5cImqeXHUwMDFk5lxmU1x1MDAwMlx1MDAxY6Yl41x1MDAxMvfnjThpPlx1MDAxZVx1MDAwYtXVKjZcdTAwMWQn8zw7XGL647t11nJcdTAwMWK5jMxz3Ua6OmlcdTAwMWVi/lx1MDAxNKOFYJv1bVx1MDAxMddGzdVo4uk9vYnC4snbc8n7y4ZcZr2cqpholC9m5kpQKiAmXHUwMDE40ZvExb9cdTAwMDR70fuXX2Psi/J5RGts7Gu00ZEsp7JTTXZcdTAwMTYjbMxnY6qeba43nZBjXHUwMDAwUGBTXHUwMDFm9Oeg2KpcdTAwMWQ5jPKz0ChcdTAwMTj35dKChEG64Fx1MDAxNMZdW1x1MDAxMaO9tLqjgfRVUpzrcVx1MDAxZZJcdTAwMTdX8ns251ZcdTAwMGL4Vlx1MDAxN4KAcyrO3Ov72JE/Re7bXHUwMDE4Y5OJt3HKKebmRO5dLdNZbHbLxrA5p61MZlSJNyxcdTAwMGbrQjJcdTAwMTUrXHJcdTAwMWLZ1rbs67Zo4Vx1MDAxMO9XVzdcdTAwMGKUMIOw2J1Rfr2mm/dcdTAwMWFcdTAwMTCpjFxuNpRcdTAwMTS9jpZfTbByylx1MDAxMeNcdTAwMGVcdTAwMTV9wEN+TFVzhyBccrRK4JD3tdo+y3Wfnclm3+5cdTAwMDThfNWZtYaL4iTQzlx1MDAxYsxcdTAwMTHblCf5NJw+sTxcdJZQcIVV41l6c+U5XHUwMDBlgcTQWfNcdTAwMDBvOK2NY9lZqiorwUx92mZcdTAwMWFcdTAwMWOKo6Xy7TZfXHUwMDBlhGqB9ozEWTNdXHUwMDE165ZMbG9cdTAwMTYn+TScPrM4yctMunEvXHUwMDFiRFfofdN84CrWXHUwMDAxt239stR8SFx1MDAxNfzbZr3e9VxyaTlcdTAwMTHS2rw/mZWdpPlwXHUwMDFjlDe77aq1KnBcdTAwMTlNUN4tRjp+K1x1MDAwZdSa3VxcJVx1MDAxMZiX68Xg4lx1MDAxOMA9edxcdTAwMDZsaT4w9KL5XHUwMDAwKOaAXHUwMDAxSvBcdTAwMDVcdTAwMWKkl0rEXHKKZFx1MDAxMMBcdTAwMTfNXHUwMDA3Zeh13Vx1MDAxOegqif4uTSDnjGJivL7ZQvRBn+2A9FxcruPz7bmB6MPZdlx1MDAwNydLPpxdplx1MDAxZMGHUpN1J8dxa7rPXHUwMDA0XG6p4DRcdTAwMTDz95eWW38tjY/lyNSl62+w+Fx1MDAwZlxuo1j1viz8XHUwMDFijEzpXG7LUMprsWudiVx1MDAxNu3XVFx1MDAxOUvA8Vx1MDAxM89MXHSz11+djHebmbJ28L45b2bKx6qVUDnS87VcdTAwMTJEW+1wPznLWnZ3L1x1MDAxM7Vp4did78eDPlx0rdtl2Vx0XHUwMDE0b+lcdTAwMTg1Mlx0bqnt5zXdvFx1MDAwNlx1MDAwN2KEz8en7fSzQOW36ovDb1Is+1x1MDAxMqbgOWptmz1YdlA70jjsJyFU6Vx1MDAwNJPNPbd0tVx1MDAxNzDY9SdcdTAwMGJaiVZcdTAwMWHT4n7P+cggfXfNVXxcdTAwMTFpYlx1MDAwM65cdTAwMWFnmqH+R1x1MDAwMqhP8UOCyVx1MDAxZq21tZez1crTb67b/a/LYcJUeMOR4VxiNDXlsIp7qKT4eftcXC4z4FdA+6qkjuz6W196NUUziIc9XzW4XHUwMDA2eStS4+ZcIlx1MDAxY0KjXHUwMDExXHLme8l4P3lI7bCBbuivSW2/gO6S+jdJjfS9XHUwMDFigFx1MDAxYq6SN1x1MDAxZuWQkFx1MDAxMMVr+LSzzM/K6fkqsFx1MDAxOc3HPFNbXHLCwVGqlS/mLXNiKzYrx/Gk1GWbpCaiIVk69G051VectilcdTAwMDNcZrxIXHUwMDFkXHUwMDE2XFzdZFx1MDAwZSSF5Cxf4FL69YOtz2khIIXGXHUwMDFiJ81HPiTi+P0+jyen9CXMviijg9jv4YtibrU6NjOT43KOksIydVx1MDAxNilm27nqMrgsJae7ZSOzXGZuXHUwMDA29Fx1MDAxNkZcdTAwMWL1kv/6lFx1MDAwNoKx07HhUvr1g61Fy1xiXHUwMDA2lFx1MDAxOGfSmLlmmS4/TdFcdTAwMTOLXHUwMDBmWVx1MDAxZNMvQPuipM5cdTAwMTSbnZasbHpRONyyTS3YkFx1MDAxM8tcdTAwMDFcdTAwMTHQa47L2WW3tN1TXFxe9MZxRmyNYF6R2mBcdTAwMDTTJfVjzmmmL8Ni1ND3NldcdTAwMTSDnDCK1LH1t1xmqL8yq1PzXHUwMDA1giRcdTAwMTNDkc04w0aegOarmXSw/mD1LFqKT1wiTVx1MDAxMVx1MDAwZvZGSOvN2XxcdTAwMGbQLaw2ymi7rH5cZqtcdTAwMTFcdTAwMTJCUnLdkfHdalx1MDAxY4xiJChl4mlcdTAwMTPdz0pqre9riVi81CxcdTAwMTZ9PFx1MDAxNvcne3RFrUjt8ZdcdTAwMTPLUTZT4e1gJJjtXHUwMDA294Wjwe5mg9I1hFx1MDAxN7Vro+S3u6zgPiSWipDcUCWYYFx1MDAwYpE/Rlx1MDAwMVx1MDAwN7etb/5cdTAwMTI0/oRlXHUwMDA1Puxbt9iIXHUwMDA0ZUEuJ61cdTAwMTBcXMSjJ4G9b86rXFxcdTAwMTdcIj1cXIvV95lYqT2C8cZB61x1MDAxMcv1JVx1MDAxYcetucdfb/Zb8VxcRn31pXjJ/sIteWlcdTAwMTU+q/lSk1pbe87mS8hcdTAwMTiQXHUwMDEyMm7UfSktNsNcdTAwMTGBOXbYtNlcdTAwMWJQUTKxJ7WKv68tK4fIbLbtx6RlhSdcdTAwMTBcdCVZXFxcdTAwMGW3+0IhiLOjdXna9dlcdTAwMDcqcYH6XHUwMDA31jJzKFx0NFx1MDAxNFx1MDAwZTFcdTAwMDcqwVx1MDAwMOn7nJ3U/Xg2dZFcZrWyvlS3UptovkVunGzMtL1lOmQ6XHUwMDBi5sOLLVx1MDAwYvJIXHUwMDA3b4aebm3Ztlx1MDAxMzhcdLe94LOQKyDkhFJpXHUwMDA03Guze/K4OJdUvdNRXHUwMDE21i1F/jpwWnVhdor2bfXdoVTw0FxyXHUwMDA2y37L3St4XHUwMDFm6lxmM+lNWuxJg/PlsJZcblx1MDAxOFx1MDAxNC6u2/MleN+Pj8SpXHUwMDBi/LR80Vx1MDAwYlx1MDAwMJfKXHUwMDAyXHUwMDAySpg4W/J0W1x1MDAxZr5gQpPsb05pXHUwMDE1XHUwMDBlXHUwMDExSKlxx5Awb1x1MDAwMCZcdTAwMTRcIsCpo06j11584OBcdTAwMDb8s2uz03X/Yf3kWnC2jJTYbrEu5YKx/HhcdTAwMWJcdTAwMTONgS1cdTAwMDaezZSbMZB4MaZSXG6KKaRcZrlcdTAwMDS8x2wjXHUwMDAwXHUwMDAyXHUwMDFh7yyBXHUwMDE2dUPK1bdAnDWD+8o/6GD+wVx1MDAwN/OP+VJEy7en++00OVx1MDAwMcvltINSXHUwMDA2XHUwMDFi5Fxy+EdsnYBYQkVAJCFwXHUwMDE5eC9cdTAwMDYyZdSocX9cdTAwMWRcdTAwMTSm02iKfZxcdTAwMDKMndRg98pA5GBcdTAwMDaiXHUwMDA3M3BYz/uSx3yI5pp+1muuXHUwMDAx2ERcdTAwMGW2XHUwMDE4eFbQNWUg8FxuqY8gXHUwMDAyiV1cdTAwMDf0Pq1wUrmfRFx1MDAxYY6dQIu8nXpcdTAwMTNcdTAwMTBcdTAwMThcdTAwMDEnleNe+YdcdTAwMWTMP/xg/o2LYlx1MDAxY1xc4uWi121cdTAwMWTDPLNk06I9XHUwMDBm9KyyasE/hKWUXHUwMDAwYeJcdTAwMTLwPlx1MDAwNFx1MDAwNIRcdTAwMGLIgLFcdTAwMGIqTV1Qilx1MDAxNG85dFTn2iv/iIP5R1x1MDAxZcy/Kszkc8VMb9/a8epgks9qw17TXHUwMDBl/9RX+etcdTAwMDNQeoXgKlx1MDAwMkRI3kVcZsGl4MtZJlx0JYBjo1o2lOa1bEYgl1g6SuHmlYPUwVx1MDAxY6RcdTAwMGbm4CRUjkZkuNGeJ0swXFyZRlx1MDAxNqGZwVx1MDAxNisjXHUwMDBlXCJbTqh7XGLeecZcbkKCXGIjhvtyoDRcdTAwMTWj1KVcdTAwMGZcdFx1MDAwMdCRmiROXHUwMDE2XCL5oPrIh1x1MDAxOSj9/nx62iiIeCuaPFx1MDAxNv31ZHFtSyhIfZ+nXHUwMDFiZMZA4WVAnYKMUPXVU3w2ZOdy8De0vlx1MDAxMdKFu1xyXHUwMDEzMeh6VupMplx1MDAxZlxuzp2l8/bKQe5gXHUwMDBl8lx1MDAwN3Nw1UlUSvNhN6FVl0dcdTAwMDHYSozaSXtcdTAwMWNkNpKhyD1cdTAwMDXv3kKFyIu2p+FcdTAwMDZ1YK7YTSCh0llDTK9cdTAwMDRcdTAwMTRcdTAwMGUmoHgwXHUwMDAxp5Mqy1x1MDAwN3t5MMvmintt2lx1MDAxZcxcdTAwMDJcdTAwMDZ7LoxcYih+TUDp5Vx1MDAwNEshwFx1MDAwZp1Nl4J3WYess49cdTAwMTlcdTAwMTcjXHUwMDEwMu+xoVxm4JdFq1x1MDAwZaSgdDBcdTAwMDXlgymYLPhD2ck84dk1tfawmlx1MDAxZfY8XHUwMDAzaYeCnGKvPvjMKZFcdTAwMDSLs+apl6Y3ed30JrlcdTAwMTdD5Y5cdTAwMDImML1cdTAwMDNcdTAwMWbdljf9jmGkbqXhoD6yXGJcdTAwMGJcdENMXCLiKPWNVzquXHUwMDA3XHUwMDEzbbZZf/vXN7i6XHUwMDA3M9vqurXlXHUwMDAzuGl8oVc0tWBfq51hmdJcItzG+eY61T2ki4d+0HYzNFx1MDAwNFx1MDAxN6pzbjf0y6P3PfBcdTAwMDRVXHUwMDFlPDScm1duhVx1MDAxOcOEPl8rXHUwMDFjJkD5dkz0+ul4b4fSpUJ30Fxi5Vx1MDAxMv14rVa0OiasXHUwMDA3aH5cctTLnmhcdTAwMTeod1x1MDAwNyqkQF+/go2RXG7NgyOFKsZcdLpJINFS3tt6TPFcdTAwMWRwPkfe+8M02Fx1MDAwNNZcdTAwMWTaXHUwMDBmjEee2G5cdTAwMWZg7W5+XFzcXFzT4HooQF5sYcBcdTAwMDQoZ1xicVx0XGKhUMoznSzL5bfv34Tl2XJcdTAwMDGXIL90lYRiiHEr4/VcdTAwMDK/V3pwrq/4e5j2ILpcdMGP24frMYDY6Vx1MDAxM65o+VTTXHUwMDAx1WkxveynquxcYju77Xbo22b6NTvshuByLO2T5H+fmL2QXG7BXHUwMDA0QEbslabs1Vx1MDAxM+9cZkj2KE2yz6fvc6j/fpir+1x1MDAwMWzlsod+PrTH2100c1xcx9DRVupcdTAwMTBcdTAwMDLuXHUwMDA1nFCGXHUwMDEw0lNcdTAwMTGXTV3CS8mPXHUwMDE1j0zQM03aV1x1MDAxZWPi1Zc8cKzOXHUwMDEyvbT2XHUwMDA30oq/VkuwkcpAXHUwMDE3jzuP4eqcVV8/MNyCfX6fLzmOJVx1MDAxMYDd1mn5P79yMW9i+GsqY6W175LCeFBy8f3lfSRxseFcdTAwMDXfpLJcbldL8Lioldiwk1xuXHUwMDFijFx1MDAxMVx1MDAxOCmQXFyelUZcdTAwMWGA51x1MDAxOHMlSG5PXajj0kyBhJl7vFx1MDAwMunT38/r8Z7d8IvX//6ZaaZAklx1MDAxY68or/cj62E135pMRqHlYp08i4W/vlx1MDAwMkkgXlx1MDAwM/HiXHUwMDE2zKLx2cRX05q+RKVkO0V0qUByvmPHzVx1MDAxMN3HXHUwMDFlMIBcdTAwMTlcdTAwMDTyo2tcbqFUnpC+XHLrQf0rt1x1MDAxOYTbXHUwMDE1SIbJZTBcdTAwMTaHTU/0mNxEVylMYlmDpPuvlVx1MDAxZFxc9do/XHUwMDA2XSglXHUwMDA2XHUwMDE4XHUwMDE5L3+Rpll4XGI54pidXHUwMDFmgVx1MDAwZYCuq4n3gIDQ+oD9cCnNPX9eXHUwMDFlvbdcdTAwMDQ1Zlx1MDAxNFDD+Fx1MDAwZVt0byEhXHUwMDA1QfRcdTAwMTZcdTAwMTJbXHUwMDE2KKyjmHe4ubFA8Ztn24dcdTAwMGJcdTAwMTQzXHUwMDEwa+NDIIxcYo96QktcdTAwMGaoXHRcdTAwMTK1VaC4xP8nRWXPjH9IKWNcdTAwMTiZTLJdy229NVx1MDAxMKtgjFx1MDAwMoaf91x1MDAxNHtkRObkQ2tcdTAwMTmrxrbBWjYqOrvZJNOlsJW2NYfDKfBcdTAwMDJcdCRnXHUwMDFjUiD4e21cdTAwMTRcbqFcdTAwMTfpPT5cXP74c8qdnbiMvUKXeVx1MDAxM4gg+PtiRa6Xqlx1MDAwN1j6XHUwMDA2YCmuZ1LVc1x1MDAxOJtcdTAwMDZYTCBcdTAwMDA4fpRW0W9lME89TvirNGPhXHUwMDBm5zSNj8Wz6rBpI1x1MDAxZMdcdTAwMWNAdv6Nm391Pyi/4FreU89cdTAwMDf8h76c98OJ6b5w9DjluLvmuZFvoDcvIKRsnDI9XHUwMDE4kLPWz3tcdTAwMWP4v9jsdP5zlVx1MDAwNTy7XHUwMDBir04m4eh8Ruc+XGb/U7y77fCyeSjedrw9Llxc9Vx1MDAxOHyf10e/xfnJ02nSS1x1MDAwNqIlXzaUS5JGrMKXXHUwMDBie2WISyF0XHUwMDAyoFx1MDAxN1Aq1OVIXHUwMDAxMb0+Mo1cbvhcdTAwMTfvXHUwMDAxjFtwyS1SXHUwMDE4OcWIM6Q4ayjaSaC5wlx1MDAxZkZcdTAwMDIpxDBHZSVcdTAwMWZX2fdcXEPtnl6yWd1iNy6lY+1Qvlx1MDAxN2niznzSTlx1MDAxNWv7smHdwlx1MDAwYlx1MDAxOFVfXG6R6kTE4mxS+dtcdTAwMTcrZGxT6dkk5dHyi2OmXiCTaIb2/TdcdTAwMTcysM1tSG5cIulcdTAwMDOFTVwiIebUsJBxbUfeXHUwMDA00SDE5GFcdTAwMTNIf7qKgcrHZadcdTAwMDD8cFuf78opvI7PZ1x1MDAwNuuv7eqouyi9O0oh0bVcdTAwMTeYYbbHXHUwMDFjpVAgXHUwMDA0+Dv1dSfh9MM66nH/JNHJ1kf1aFx1MDAxMGdoIbPE47WtXHUwMDA1VJfVNnej81x1MDAxZkOuIOpmXHUwMDEzYdwpbap4J6XEjMpHyah/vkPmyqi/LpvZJFx1MDAwZfFVvo5L011yiFedQHlcdTAwMTD5jbE19/D5dvfDXHUwMDA3qJNHueKGO+Ssmj1cYlx1MDAxM7qT9Kgtcn+6IGZcdTAwMWS/fHxwzYXq/aGKXHUwMDE4UbGjicIqNG/uwLq8qjj/Su5UXHUwMDE3tk4rvVx1MDAwM85cdTAwMTepXHUwMDBiZ1x1MDAwMtFcXDw5Oe76XHUwMDFksan5+0OR6Fx1MDAxOCht/HpwTTlcdTAwMDbu4NqfT5FhjExEN8xcdTAwMDXA9cX0XGZC8Kgh/893yNzRtVd+Q5hcdTAwMDeNXjKZr86Lue50v8ntNlx1MDAwNt1PNkbXjMIsd3Tt5zXdLFvFKeDSsFx1MDAxMd+qeVx1MDAxMVx1MDAxMz3je9P59iX4+7ebXftVodlcXM1cdTAwMWHq849cblxutvzyn1x1MDAxZJGjxpb2XHUwMDAznV5xmMWRebdTnY1cbk4hmL1Ks+5tOLbSrC88VNQ+XZNbaf5NSjm40lx1MDAxY6uOUuVGeO9fdSOzxWQ4XHUwMDBmNaOd61x1MDAwM9agU4tIryBIcsogI+dcdTAwMDOlL1x1MDAwMNefRYCddb+eOrSIXHUwMDE3My4pIFiSO4i4uqnNXHUwMDFmvjTRXHUwMDFkw2vBXHUwMDA3/XZy0yFTXHUwMDAyXHUwMDEwIcxZvvR1j1x1MDAxNvoqPVroxrlT1u7EK91NOjBcdTAwMGbXcbqikUPUZyCbbKvhg7lcclx1MDAxZp+0XHUwMDA3m0PJ5PXyxlx1MDAxN3to2mqHMcGMOmxcbu3p+j263Vx1MDAwMm7jQrtcdTAwMWQmo36Z+zaeRnv/3P1cdTAwMWXz0iS6XpYznVKjjPx1f3DVmlx1MDAxYUhJ2Oz3IDbXPbtcdTAwMTli+yZcdTAwMDNDXHUwMDA2pDivLNqKn1x1MDAwNSRcdTAwMWMj9qhcclxcf7rjo72ZaYdGPZdcdTAwMTXpScPT6lx1MDAxNVx1MDAwMM1sb6qkM3tcdTAwMTB1K+l3KMNRXHUwMDAwoTi/43ZEx1x1MDAxMEBcYkvusCqcW0t/QOY2sVhlZKDui0Bam8fT0cBhXHUwMDE5sS+bcFVLd4+fl0fv21x1MDAwZcO48sTk9YDeS1hhPlx1MDAxYlx1MDAwMqSK4eGjXHUwMDE2sP7pXHUwMDEyorVn+OFKulx1MDAwYtT7XHUwMDAzXHUwMDE16SvagPpjWElHpp1bXHUwMDA0YSbBbWLFloV063D9XHUwMDFkbr5IIX3WWk3LPTrrtI5oXHUwMDE4PFx1MDAwNsOjfthjx1x0u0ptXHUwMDFiOGHugPXrNd0oMEChhIhhI0NtsaWQMM6U2/GoXHUwMDFkaZ/vbP1dx6vxPl1cdTAwMGX6Kp5DmFxyVyGansS08ey2qrhcdTAwMDFb3ar4z2u6Ve5R30to5lZcdTAwMDHzSighVCDBn5euf7uy+M9lXHUwMDE46868k4/Msnid21x1MDAxM19cZs/oeb3aWlxmgajvTkGCXHUwMDEwzul7RVfKpHpcdTAwMTaLs1Xt51wiXGJIX26LsELU70u5uimPXHUwMDFmXHUwMDFmjF8y10a8xtczW2+85pJgKNhNMj9/rsRGvkqJjdxaYutcdTAwMDMtW1x1MDAxMI1tNVx1MDAxYV1tXCJZX3JcdTAwMTfK2iqxXWlcYlx1MDAxOTVLXHUwMDFiJlx1MDAxYe/Lsb9BXHJccnCul9FcZlx1MDAxN3LTa1x1MDAwMeU3jiFClb2jjpJcdTAwMWG5b15cdTAwMTE97vA0q5m18HCUx9V2elx1MDAxZavMPLtmXHUwMDAyL4LnUe7X13a1/lxyP6ztarP+4KZ+PmBcdTAwMTEox1xcXHUwMDEx0ERbzEpGgehV5vuL61mfI+9w8zm5n1x1MDAwZlx1MDAxN+DIvHRIdVx06Vx1MDAxN1l5X1hcdTAwMWOP9XZ1fEtcdTAwMDHO8GD8ZVx1MDAwMc5cdTAwMTWOvUk4VlCBJTDMXHRZRJlI3W9EMH1eXHUwMDE1dFc59ietXHUwMDA3XHUwMDExuNSW/dV+5in6R/XRXCI27+1sxZ2cevUpSyYoZpifXG5BP1bcqbBcdTAwMTMjhK7DTorVzZYqWKXqP/fYTGyH6d1uh+DWk/rDTCrsMm7oXHUwMDBlXHUwMDEzaa4sXHUwMDBi1NcjxHlM8vkkf1xyOV8jO0eHm9dcdTAwMTdpZ0txsqaNsq2K37fYLLLaZMpcdTAwMWLRzs6Koj2YjGeX0aW/U1x1MDAwM+narJlcdTAwMTj5+nE7XHUwMDE0JVx1MDAwNHm5XHUwMDAwXHUwMDAwvyfn+ebAt2RcdTAwMTAlirBSXCJcdTAwMDZcdCeKl6c00skjPf0292FlXHUwMDBidVHLjJWWXHUwMDFlqfPX+UjGJYeMXHUwMDE4XHUwMDE1I7nF1Fwiw4jrwu1cdTAwMGXkZHCgTij9Oo04iVx1MDAxZMLJ64v8SPonx3hsXHUwMDE3WnT226pWyK/x3r/AXHUwMDA2m16vqXZcdTAwMTnlXHUwMDE5coxcdTAwMDAvUFx1MDAxY2OI68u1zpp9XYrdVEKhXFyFbsbaedQ05tMniTm/beHro1x1MDAxOVb8kb90NMGurvFDK7+z+fhsj1xuu1x1MDAwMmpsmvv9XGa0Vlxye1x1MDAxM1xmZ9I7Zksm8cmuutnV22eEsL5IWVx1MDAxOGqnIGbuTlwiLJjyKfH9s6tcYkB59t1+Vsx4uoSLl/918bb7JVd5qZyOjbI7f6nYJJlVONrL1k/W/Jvzkqv/Z+XI5rtcdTAwMDF/Vqv5j6lsYc4nbS2cWvBr9pskUj2XW6Q/a4367Weq48kviHJNsGFTgvl0tlx1MDAwNIzok1x1MDAwNo/gvTiLXf5MnrNS35ePo2NhW8731pFhZJeYblx1MDAwZvZBeikt6YL0/iCVXHUwMDE0YFx1MDAwNFxy/T5zQVx1MDAxOE5cdTAwMTHmhD9AWfJcdTAwMWUwraxcdTAwMDHLzauC+NuhxDxcdTAwMWGF23TBb2lLXHUwMDBi5Vx1MDAwNV7uXHUwMDAyxzybhEM95Vxug23YPkwvRehcXJjeXHUwMDFkprovpP7PXGY3Pp3141xc4FSoQEJcbqfi9MNcbqjl1lx1MDAxOKWTiYmnXHUwMDFlmVx1MDAwNzpiWO1cdTAwMDd5xjZOXHUwMDFkgtJuV2tL+ZQopYAxXHUwMDA2TbqGzVspXHUwMDE45IwpR+H+UfQ9UDrcXHUwMDA2jm0xTVx1MDAwZTqe6dBfOpY8vkbPsrE9Uyykx8WIf+zvXHUwMDA2u360yKSiTdsodYoxbdKO6D5rhVx1MDAxZlx1MDAwMUC4NCxySIvtrYRjXGLJXHUwMDAzalx1MDAxY3fB6XJcdTAwMGVXh2GktFx1MDAxZlx1MDAxN+PlNFx1MDAwNM1103JcdTAwMDDj2MpEXCLd0cYz3KRzO9xcdTAwMWaMcDNnXHUwMDFip07xTZ/YnCpoSKmXzlxy7alp8kQ5XHRYYMadeeivNS3HebzZXHUwMDE51ymoLngzVcOWXHUwMDE1q6En2OtccktcdTAwMDU5PVx1MDAxY4rFyKidTVx1MDAwZUK2YeqUOP+ZYUohkZBcdTAwMWIn+czNqYr0gT624Exr2ivWXHUwMDEzuL7bNXh7lNfiZFx1MDAxMmA+S2uahIXJpFiu7Nv71iy5JMFOu2ZQ7TGB6aU4MtJVtiBcdTAwMDNIqJuEVIh6hVoovUJIvSmHSam3nVx1MDAxOVSAsPRyLrDkXHUwMDEwS8mJvLPCzjP7XGJE1+5WYb7h/Of1VOip9V5gQvEjXHUwMDE2jN5cdTAwMDPVyvSGylx1MDAxOOJWJpru99IhT39W4laoLqR9/u2h1oXFwGHviVx1MDAxMMRcdTAwMGVz+8b3UijKzVxm3Fx1MDAxZqhcblx1MDAxYUwor9Q4M2CawaJEn+NxaqJcdTAwMTWWXHUwMDFig+a6sEN+f3G/iuRC6+DRY4XTRsw/bzePeeLLpdZaMM3a00zKPk6dXHUwMDEydD2xl4BUjK/vxzV0XHUwMDEyTJVcdTAwMWYgpoRcYs6JM3HaiU+3tVGk3JO7iJ8nO7FiL3O0wmkz3pcgMlxcXHUwMDA2XCKxXlx1MDAwZVx1MDAwNFx1MDAxN4FcdTAwMTjbXHUwMDFidEia4dQpQddcdTAwMTPbU04gJpxcdTAwMWGXrUxcdTAwMWJBsESIUf6AXHUwMDFl57s4s1x1MDAxZtVmsC5cdTAwMTX/XHUwMDEypk5cdLqe2D9F+p5cdTAwMGYo0PWEmv5ToWlFXHUwMDAwXHUwMDAyXGK4iijQLclWyylcdTAwMTXrdpx3uPn4lMo9WLCrbYpcdTAwMWKESnFcdTAwMWEo1cS2np9nXHUwMDBmLStcdTAwMTZ40jRSL0Q3cFx1MDAxMNr0e9HjNMVcdTAwMWJRW1xyRjY2XHUwMDAxnJ+EboPR7ZtcdTAwMDGx4FRcdTAwMDDDXHUwMDExaWTeXHUwMDFiiyRcdTAwMTdcdTAwMDDeJNPzXHUwMDBic434ubTxp+mUXGKz119x7W79RfPknPQ8h2x11SvKXFw8SVx1MDAxNzPteGZcdTAwMDBcdTAwMWPXX9TsrfM+XHUwMDFhm1dJK73MznqN5T6ctTJcYqFcdTAwMTRMbn2b1IiAbijcjG260ayBwpxRx+GVZLKBRXBcdTAwMDe675G4wVx1MDAwMDJofC6i6+jjJHGKVXiCxFx1MDAwM1p51adydurF/jST8Fx089zpynJcdTAwMTisTkO4NsO+XFwkjjyLQtjIJHiAXHUwMDE3XHUwMDAwSjmQWIV7XHUwMDAyck7lWYfkp5qJfS4292U9u+qgrWXjNdhcdTAwMGbFPZZjcJN0OVx1MDAxM1x1MDAxYqA03Tf8SYZQNEo0e7pcdTAwMGbwcrxcdTAwMTVcdTAwMDEvZlxutoyoz6Fn8YeldNK793BKTsega0ReP9haJplSXG4xN1x1MDAxNFZH14++JdUkpFiwx1x1MDAxNIglOd1cdTAwMDJn6Cl5roH2J4xKvpf3zcudzqzULNTXXHUwMDEw+Pr1IDD0M7xAXVx1MDAxN8dcdTAwMDBjzNQ3XHUwMDAzztzEz7YpvfmunOxcdTAwMGVHcDOvtlwiqzHVtikrm1x1MDAxMttth0dQqMbyeL7M9ceVTbpjsDXlemLec1lasqlcdTAwMTaqblx1MDAxZVx1MDAxNUzdO0JcYtbvXHUwMDFkXHUwMDEz954nev6ReUykXCJcdTAwMDU3LOBz01wiktDrTug2XHUwMDEx0Yclk1x1MDAxZTkwf420e9qRPzgxv4ns+ltfejVFM4iHPV81uFx1MDAwNpZccuLZ5La03Ear0S2uZ0rd3Vx1MDAwZXWP+Fx1MDAxNlq7O91/PPonRuSZpPq6ViPn4DpcdTAwMGZx6lx1MDAxZeNcdTAwMWNDXHUwMDAwnVXJcIXof03q+SqwXHUwMDE5zcc8U1tccsLBUaqVL+Yt2+nj7XVfLELreCxcdTAwMWXLXHUwMDFlgpE2rjHfTaS2vV5Cl11EXHUwMDEyU6FcIlx1MDAwNnq+fMvl9OtcdTAwMDdbO/xcXDmKXGJcXDcp68exeeey5IJJxp3VufxITl/i7ItSOoj9XHUwMDFlvijmVqtjMzM5LucoKZZWlFx1MDAxNuNEvCPa21VExVx1MDAxYvVYrSnEXHUwMDFj3UJparNcdTAwMTbmXG5W/f40giTq1lx1MDAxOeikfrdeXHUwMDE4Q6Eg71x1MDAxMohPzulnkavKXHUwMDE0m52WrGx6UTjcsk0t2JCTtKVcXFVGXHUwMDA2S7NJxOOb7zRcdTAwMDFTg0pwxm5cdTAwMWYhtilF5zZj2KewVDTEXHUwMDEwXHUwMDE5XHUwMDFly1x1MDAxNmtcYvRcblx1MDAwMOdObS3+8Fx1MDAxNHFqsPTM28XlioTTh1CF0KQvbCB0YW/s7bNQ+sytbVx1MDAwMCm0IVx1MDAwZYxOmuvJ4pP3XGKJXHUwMDAwlElHnTS3z71Z138/Ovf2WTh94p4hXHUwMDE1hmPGuXE60ry3TVx1MDAxZpeD/MatLpYtQ9ZccjbvUHNDy1x1MDAxMGKY3yb0cvtMXa/YpGhXTsxLi1x1MDAwNIlcdTAwMDTSxdWqYCBsa9Ol+LTNXk/sUiCCXHUwMDE4UFg2XHUwMDFl7DDtXHUwMDBmYFxmXCKBiENt9YddiuCgUYyEWsFto1x1MDAxZlxuRTQ5y6TbXHUwMDEz+zi97G9zcXp3nFLAXHUwMDE5xCY+hXm/PFTRK6CPUKT7XHUwMDE0ZZLmbMjbM1BY546eQm1cdTAwMTbulLE/eKPr+2kofWLXXHUwMDE3XG5O9Z2HhrOfXHUwMDE25pRcdTAwMTJA3m/dcFx1MDAxMkw/7PpcdTAwMGWLS7nSksOZVpyUoYzud7Q0v9X1/TScPrPrS3TlYklccsePrFakqTcxjFx1MDAxZJZccrzdP81GaLs/y4/9hdhmfOC1nq9cZlxy8tj2NFx1MDAxZlxcg/pcdTAwMDCgKsBJdYRfJ6hffqrpXFxcdTAwMDdVtlx1MDAxNIFHrPL7XHUwMDE00Vx1MDAwN+vG0Vx1MDAwZk7TK5y60/Sfi2okXHTiwrihXHUwMDEyQlMpXHUwMDEzjjDkQt7UM2GZebDu5H+HsVsyXHUwMDBmKlL805P6YrZMlVx1MDAwYp6hP55eVWR3RWujmEEnkc3MXHUwMDAztdlO5EZ0XHUwMDFm6DFQblx1MDAwNKTGo0qWrjJXrlx1MDAwYkPOXHUwMDFjLf1w5mFeXGLANa9OsqmOZ1x1MDAxZUiGtUC5s7858+Di9P44pUx5y1x1MDAxMFx1MDAxOeLUalJcdTAwMWZwXHUwMDBlXHUwMDFlsHL0U/JcdTAwMGWBarjv4+VZPZ6cXHUwMDFjSXvUjU1cdTAwMGV5+yi9XFzf6aL07ijFgChfjFx1MDAxOfrJ5rInkCk3kFx1MDAxMO7QxMOHXHUwMDE1UWvFXHUwMDA2mY9Wiy7JSbSf0Hhz37CPU4eg9InDOUxcdTAwMDXBwGSXpPmZXHUwMDBmVcjCVEDygO2yn5JcdTAwMWZry1x1MDAwM/STSmFSnNdnu2BvslxiMHJrfuzTcPrMXHUwMDAxmq4mIYVxs5xVfkzhXHUwMDE06CObXHUwMDBlXHUwMDA16kfzY5PG2DOvlJto1W4t4/3V3MeG8Nb8mGtQ71x1MDAwZlSujm/4rrXLVnpMXHUwMDAwyfQ+bWeWxT6cXHUwMDFlm25JOdPTeKtOXHUwMDA3geSuPt7zon25M6fE+k9cZlOIXHRcdTAwMTVcdTAwMDCYtVx1MDAxOZjaU06ZhJw8Zu/Rn1x1MDAxN0XN52Ol8GpcdTAwMTA+TDuDwUYrlaKT3ODWNK7CqZvG/VxcVHO9q1x1MDAxNlwiw0WU8Fpy49SQK4Vwpun9cJ7Vevr8o9Jori/7XGKUXCIoXHUwMDAxP9c2PUepeW6AQqrvqyO3ZFotq1xy1oIg73DzRaTRQHLDqoviQW6rXHUwMDAzXHUwMDE4W2zw1Fx1MDAwNzfXLLjebXpcdTAwMTHLXHUwMDE5rTZcdTAwMTXAa7XP211r+oH0XHUwMDAzRJRcdFx1MDAwZVxm01x1MDAwZtf8eJNm16HlrH0sr1tNk4PJwNk7TS+u8CNcdTAwMWJNj7N9q1A+5jogUPV7VlJ2jtuEXHUwMDFkVnn0ldtcdTAwMDAjXHUwMDAwKFZgouJ0L34001x1MDAwYi+XXFw9KTBlTFx1MDAxYXhOXGZ49VxmXHUwMDAwI8p4Mi6ZwfZTdH//v0OwXHUwMDE58b66hJBEuvZcdTAwMDcwdJXO5eGvdMiAVM6ts8Q/Xsk31qH97V/foCFcdTAwMDGhQ1xiaHCVVyQ0OFx1MDAwM8vrZXw2lyshw6FQKDaHIFx1MDAxZFx1MDAxZlidgcvSbpdcXLRJvVx1MDAxMy4mu7VIcpiVM5ts5V6qYlx1MDAxOH3UVDnU4qy2+6NfRXox1Vx1MDAxNdB+0PX6iGTcq5iq2Eo4p1iC05132XpbzVx1MDAxM6pcdTAwMWIuqOFkzLlEyqXsM2GKWbf1p/wpsqIvQVb0MbLm11x1MDAxMz5cdTAwMWYlR9MpmybD9USgxNTPsiBrXGa391u6nk9cdTAwMWLIP0x2U7J0XHUwMDAwPdtkVX5cdTAwMTRcdTAwMDBcdTAwMDRcYokpPevs+Vx1MDAxMcFJL1x1MDAwNMpZtVwiq1xuLaTy+1x1MDAwNUBcdTAwMWOfnVxiLllvXHUwMDBi8CTHSDm1hmfrec7nkq2YSvVcdTAwMWTeJH39p9iKv1x1MDAwNFvxx9haKXrihUB7V1xilf39Yj5YP9SGSSu2biPlSFmmXHUwMDA3pWanlFxy7nfrilx1MDAwZlx1MDAxYSRZXGbZXG68SMWO+lxmjFR+1Fx1MDAxOUZePGF8nW+h2Fx1MDAwYqGKN62CTpegXHUwMDFm67ZXRynkxnlCaj5pqlx1MDAwYtNThm9KwDyaoK9UcDQ/ry/SXHUwMDBlPZM1bZRtVfy+xWaR1SZT3oh2LMtPzd5gVlx1MDAwYi5G8eWi2+1cdTAwMTWque0ybzDuYqCGcy2M71XHKtKVl1x1MDAxNWHhXHQv1vq2XHUwMDA06PqsSFwiXHUwMDE1KCEsz1x1MDAxYYj/gDbO186OMspcdTAwMDGWxrtPhYVWXHUwMDAxZoCoSONcdTAwMDHUhFx1MDAxNNHPV8y/kra9wtjpXHUwMDEz/rr4JEfL4lxise7NVuUsXHUwMDFkXHUwMDA1RHrR72o0tbOUxdn3mqHsut/aXHUwMDA3Ztv9Pj3SXHUwMDA24VTaXHUwMDBluy9F7nX1amt2M1x1MDAxM3af3oNcdTAwMDX9o1x1MDAwMpVfm9xcYnHKqWHR2UKHXHUwMDA0Mlx1MDAxNZvwh2yJh5yd/a6fxW12ze33XGL7u1DbM1x1MDAxMtFa27evbaA/imHKXHUwMDAzXHUwMDEzPVx1MDAwM7/a4OC+nFHV88VIKE+bXHUwMDAyXHUwMDA0sXK3r7htrGr37k3k3rX3J6a25IhcdIhcclVnITTvJFx1MDAxNYzposqPKL+/n/t2hpyd51xuYn9cdTAwMTduN0tTlKhcdTAwMDUgbiaP9Y5vPe2XXHUwMDBmXHUwMDA1O9y+XHUwMDE0nflBbVxmOFx1MDAxM0SQM466zH5cYrPVXHQk38sr2ZqNVE8ph1xc3CbL9CtmXHUwMDEzQG6TTnKZ/VvM/uvnL/G9OZ9cdTAwMTfW6lv5/rpcdTAwMDfj+3ag7fyGmST9j/7+XHUwMDE3u6AzQ9O/gX//56///D/kmFx1MDAxYjMifQ==distance = 1 distance = 2 distance = 3 original distance = 4,5 distance = 6 0 1 2 3 4 5 6 7 8 9 timeout = 1s secs timeout = 3s timeout = 2s timeout = 4s original Distance Timeout Limit limit = 1 limit = 2 limit = 3 original
Here's a more in-depth description of the controls:
Limit : This knob controls the quantity of duplicate events that are
permissible before they're classified as duplicates. Setting a limit of 1
allows the emission of only unique events, making it the most stringent level
of deduplication. A limit of N allows for the emission of a unique event N
times before considering subsequent instances as duplicates. For instance,
given a data stream AAABAABBAC
with a limit of 2, the output
post-deduplication would be AABBC
.
Distance : This knob is a measure of how far apart two events can be for
them to be regarded as duplicates. Deduplicating a stream AABABACBABB
with
a distance set to 3 would yield ABC
. A low distance value means that only
closely placed events will be considered duplicates, while a higher value (or
0 for infinity) broadens this criterion.
Timeout : This parameter introduces a temporal aspect to the concept of
duplicates. The timeout value dictates the duration that needs to elapse
before a previously suppressed duplicate is considered a unique event again.
If a duplicate event occurs before the specified timeout, the timer resets.
You can decide the fields to apply these knobs on by specifying a list of field
extractors. By default, the operator works on the entire event.
Let's make the abstract concrete and dive right in! Read our user
guide on deduplicating events for hands-on
examples.
By bringing together these strategically implemented parameters, the
deduplicate
becomes a flexible, customizable tool for decluttering your data
streams. It makes the daunting process of manual deduplication a thing of the
past and allows data operators to focus on the rich insights that uniquely
occurring events can provide.