{ "cells": [ { "cell_type": "markdown", "id": "aeca6466-b231-478e-b8aa-490bcc67fd76", "metadata": {}, "source": [ "# PHASE 1: EXPLAIN & BREAKDOWN (LEARNING PHASE)\n", "\n", "## 1. Simple Explanation of Anomaly Detection\n", "\n", "Anomaly detection is the process of identifying data points that significantly deviate from normal patterns or expected behavior. Think of it like a security guard who notices unusual activity—if most people enter a building between 8-9 AM, someone entering at 3 AM would be an anomaly. In AI, we train models to understand what \"normal\" looks like in data, then flag anything that doesn't fit this pattern. This is crucial for fraud detection, network security, medical diagnosis, and quality control. Unlike regular classification where we predict specific categories, anomaly detection asks \"Is this data point weird?\" It's particularly challenging because anomalies are rare, making it hard to collect enough examples to train traditional supervised models.\n", "\n", "## 2. Detailed Roadmap with Concrete Examples\n", "\n", "### Step 1: Understanding Normal vs. Abnormal Data\n", "- **Statistical Approach**: Credit card transactions—normal: $50 grocery purchase, abnormal: $5000 electronics purchase at 3 AM\n", "- **Pattern Recognition**: Network traffic—normal: steady 100MB/hour, abnormal: sudden 1GB spike\n", "\n", "### Step 2: Statistical Methods\n", "- **Z-score Method**: Temperature readings—normal: 70°F ± 10°F, abnormal: 120°F (z-score > 3)\n", "- **Interquartile Range (IQR)**: Salary data—normal: $40k-$80k, abnormal: $500k (beyond Q3 + 1.5×IQR)\n", "\n", "### Step 3: Distance-Based Methods\n", "- **K-Nearest Neighbors (KNN)**: Email classification—normal emails cluster together, spam emails are isolated\n", "- **Local Outlier Factor (LOF)**: Manufacturing defects—normal products have similar measurements, defective ones stand apart\n", "\n", "### Step 4: Clustering-Based Methods\n", "- **K-means Clustering**: Customer behavior—normal customers form clusters, fraudulent ones don't fit any cluster\n", "- **DBSCAN**: Sensor readings—normal readings form dense clusters, faulty sensor data appears as noise\n", "\n", "### Step 5: Deep Learning Approaches\n", "- **Autoencoders**: Image quality control—trained on normal images, fails to reconstruct defective ones\n", "- **Variational Autoencoders (VAE)**: Medical scans—learns normal tissue patterns, flags tumors as anomalies\n", "- **LSTM for Time Series**: Stock market—learns normal price patterns, detects market manipulation\n", "\n", "### Step 6: Evaluation Metrics\n", "- **Precision/Recall**: Balance between catching anomalies and avoiding false alarms\n", "- **F1-score**: Harmonic mean of precision and recall\n", "- **ROC-AUC**: Overall model performance across different thresholds\n", "\n", "## 3. Key Formulas and Explanations\n", "\n", "### Z-score Formula\n", "```\n", "z = (x - μ) / σ\n", "```\n", "- **x**: Individual data point\n", "- **μ**: Mean of the dataset\n", "- **σ**: Standard deviation\n", "- **Application**: Points with |z| > 3 are typically considered anomalies\n", "\n", "### Mahalanobis Distance\n", "```\n", "D = √[(x - μ)ᵀ Σ⁻¹ (x - μ)]\n", "```\n", "- **x**: Data point vector\n", "- **μ**: Mean vector of the dataset\n", "- **Σ⁻¹**: Inverse covariance matrix\n", "- **Application**: Accounts for correlations between features, better than Euclidean distance\n", "\n", "### Local Outlier Factor (LOF)\n", "```\n", "LOF(A) = (Σ lrd(B) / lrd(A)) / k\n", "```\n", "- **lrd(A)**: Local reachability density of point A\n", "- **k**: Number of nearest neighbors\n", "- **Application**: Compares local density of point A with its neighbors\n", "\n", "### Autoencoder Reconstruction Error\n", "```\n", "Loss = ||x - x̂||²\n", "```\n", "- **x**: Original input\n", "- **x̂**: Reconstructed output\n", "- **Application**: High reconstruction error indicates anomaly\n", "\n", "## 4. Step-by-Step Numerical Example\n", "\n", "Let's detect anomalies in a 2D dataset using Z-score method:\n", "\n", "**Dataset**: [(2,3), (3,4), (1,2), (4,5), (2,4), (15,20)]\n", "\n", "**Step 1**: Calculate means\n", "- μₓ = (2+3+1+4+2+15)/6 = 4.5\n", "- μᵧ = (3+4+2+5+4+20)/6 = 6.33\n", "\n", "**Step 2**: Calculate standard deviations\n", "- σₓ = √[((2-4.5)² + (3-4.5)² + ... + (15-4.5)²)/6] = 5.24\n", "- σᵧ = √[((3-6.33)² + (4-6.33)² + ... + (20-6.33)²)/6] = 6.77\n", "\n", "**Step 3**: Calculate Z-scores for each point\n", "- Point (2,3): zₓ = (2-4.5)/5.24 = -0.48, zᵧ = (3-6.33)/6.77 = -0.49\n", "- Point (15,20): zₓ = (15-4.5)/5.24 = 2.00, zᵧ = (20-6.33)/6.77 = 2.02\n", "\n", "**Step 4**: Identify anomalies\n", "- Combined Z-score for (15,20): √(2.00² + 2.02²) = 2.84\n", "- Since 2.84 > 2.5 (threshold), point (15,20) is an anomaly\n", "\n", "## 5. Real-World AI Use Case\n", "\n", "**Credit Card Fraud Detection at Banks**\n", "\n", "Major banks use anomaly detection to protect customers from fraudulent transactions. The system analyzes:\n", "- **Transaction patterns**: Amount, location, time, merchant type\n", "- **User behavior**: Spending habits, typical locations, usual transaction times\n", "- **Device information**: IP address, device fingerprint, login patterns\n", "\n", "**Implementation**:\n", "1. **Training Phase**: Learn normal spending patterns for each customer using historical data\n", "2. **Real-time Detection**: Compare incoming transactions against learned patterns\n", "3. **Scoring**: Assign anomaly scores based on deviation from normal behavior\n", "4. **Action**: Transactions with high anomaly scores trigger alerts or temporary blocks\n", "\n", "**Results**: Reduces fraud losses by 60-80% while maintaining low false positive rates (< 1%) to avoid inconveniencing legitimate customers.\n", "\n", "## 6. Tips for Mastering Anomaly Detection\n", "\n", "### Practice Sources:\n", "- **Kaggle Datasets**: Credit card fraud, network intrusion, manufacturing defects\n", "- **UCI Repository**: KDD Cup 99, Covertype, Mammography datasets\n", "- **Real-world APIs**: Stock market data, weather data, web server logs\n", "\n", "### Key Resources:\n", "- **Books**: \"Outlier Analysis\" by Charu Aggarwal, \"Hands-On Machine Learning\" by Aurélien Géron\n", "- **Online Courses**: Coursera's \"Anomaly Detection\" specialization, edX MIT courses\n", "- **Papers**: \"Isolation Forest\" paper, \"Deep SVDD\" for deep learning approaches\n", "\n", "### Practice Problems:\n", "1. **Start Simple**: Implement Z-score and IQR methods on synthetic 1D data\n", "2. **Visualization**: Plot anomalies in 2D scatter plots to build intuition\n", "3. **Time Series**: Practice with seasonal decomposition and LSTM-based detection\n", "4. **Imbalanced Data**: Learn to handle datasets with <1% anomalies\n", "5. **Evaluation**: Master precision-recall trade-offs specific to anomaly detection\n", "\n", "### Common Pitfalls to Avoid:\n", "- **Don't use accuracy**: With 1% anomalies, 99% accuracy means catching nothing\n", "- **Validate on realistic data**: Synthetic datasets often oversimplify real-world complexity\n", "- **Consider domain knowledge**: Pure statistical methods may miss domain-specific patterns\n", "- **Handle concept drift**: Anomaly patterns change over time, models need updates" ] }, { "cell_type": "code", "execution_count": 1, "id": "40971b73-7dc8-4f95-be05-30a1209a5754", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2025-07-15 17:03:24,073 - INFO - Starting Anomaly Detection Suite\n", "2025-07-15 17:03:24,073 - INFO - Creating synthetic anomaly dataset with 1000 samples and 10.0% anomalies\n", "2025-07-15 17:03:24,076 - INFO - Dataset created: 1000 total samples, 100.0 anomalies (10.0%)\n", "2025-07-15 17:03:24,076 - INFO - Creating data visualization\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAGGCAYAAACqvTJ0AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzsnQeYE1Xbhl/sXVFRsSAIdhDE3gv23rD33j57w94VG2Ivn91PxYa994blB8WG2FCxYkGxN/iv+wzv7tlhkk2yyW6y+9zXlSubmcmZM2dmdzNPnvc57SZMmDDBhBBCCCGEEEIIIYRoRiZrzp0JIYQQQgghhBBCCAESpYQQQgghhBBCCCFEsyNRSgghhBBCCCGEEEI0OxKlhBBCCCGEEEIIIUSzI1FKCCGEEEIIIYQQQjQ7EqWEEEIIIYQQQgghRLMjUUoIIYQQQgghhBBCNDsSpYQQQgghhBBCCCFEsyNRSgghhBBCCCGEEEI0OxKlhGgjnHzyydauXbuS3nv99deH937yySdWKWibfbAv0bTzVSyrr756eDjPPPNM2Pedd97ZLPvfddddrXPnzs2yLyGEEEIIIUT1IFFKiCrnnXfesR133NHmmWcem3rqqW3uuee2HXbYISxvi7hg4g/GZM455wyiyplnnmnffvttyW2/++67QQwqt/jmop4/pplmmnAe1113Xbvooovs559/Lst+vvzyy9D/N954w6qNau6bEEIIIYQQomWQKCVEFXP33Xdb79697cknn7TddtvNLrvsMttjjz3s6aefDssHDx5ccFvHH3+8/f777yX1Y6eddgrvnX/++a1aOOigg+ymm26yq666yo488kibddZZ7aSTTrJFF13UnnrqqZJFqVNOOaVijrBTTz019Pnyyy+3//znP2HZIYccYj169LA333yzyecL4Yf+Fyv8PPbYY+FRSfL17eqrr7aRI0dWdP9CCCGEEEKI6mOKlu6AECKbjz76KIhBCyywgD333HPWoUOHunUHH3ywrbLKKmE9Ygbb5OLXX3+16aef3qaYYorwKIXJJ588PKoJjn+rrbZqsGz48OG2zjrr2JZbbhkEpo4dO1o1sf7669vSSy9d97pfv35BQNtoo41sk002sREjRti0004b1jXlfBXKb7/9ZtNNN51NNdVU1pJMOeWULbp/IYQQQgghRMsgp5QQVcq5554bRAOcQLEgBbPPPrtdeeWVQXA655xzJskhQpDZfvvtrX379rbyyis3WBeDEwfHEe3NOOOMQRj54osvwnZsny9TigwgxJQXXnjBll122VCShjh24403NtjHDz/8YEcccURwA80wwww200wzBXEGAanc9OzZ0y688EL78ccf7ZJLLqlb/umnn9r+++9vCy+8cBB9ZpttNuvbt2+D4+EYWQZrrLFGXakd5YJw77332oYbbhjK7igZ7Nq1q5122mn277//NqnPa665pp1wwgmhjzfffHPd8qzz9fjjj4fzOcsss4Sx5HiOPfbYsI5+LrPMMuFnXHXef8/ooryxe/fuNnToUFt11VWDGOXvTWdKORwb28w111xB2OT6GD16dINtuA7IhEoTt9lY37Iypbi2Dz/8cJtvvvnCeHOs5513nk2YMKHBdrRz4IEH2j333BOOj20XX3xxe+SRR4o4C0IIIYQQQoiWQKKUEFXK/fffH27UcQRlgbDA+gcffHCSdYgrCFpkLO21114594EYcPHFF9sGG2xg/fv3D4INwkuhfPjhh8GttPbaa9v5558fRDDajPOuPv744yAYIGBdcMEFodTurbfestVWWy2UdJUb+sNxxOVor732mr300ku27bbbhgynfffdN5REIpowTj6eCHSAEEOZHQ/KAQEBBSHosMMOs4EDB9pSSy1lJ554oh1zzDFN7jOON8hXQseYMoZ//vlnKANkvBGJXnzxxbCefrIc9t5777r+c1zO999/HwTBXr16BfEO8S0fZ5xxRri+jj766DA2iGJrrbVW0WWFhfQtBuGJYxswYICtt9564bpBlOLaYfzTIIwiOnJ+EWn/+OOP4JbjeIUQQgghhBBVzAQhRNXx448/YgeZsOmmm+bdbpNNNgnbjRs3Lrw+6aSTwuvttttukm19nTN06NDw+pBDDmmw3a677hqWs71z3XXXhWWjRo2qWzb//POHZc8991zdsjFjxkyYeuqpJxx++OF1y/74448J//77b4N90A7bnXrqqQ2W0R77ysfTTz8dtrvjjjtybtOzZ88J7du3r3v922+/TbLNkCFDQjs33nhj3TLaZBn7SJPVxj777DNhuummC8eYDx+/1157Lec2M88884Qll1wy5/kaMGBAeP3tt9/mbIP2c43haqutFtZdccUVmet4pMd4nnnmqbu24Pbbbw/LBw4c2OA62GWXXRptM1/feD/tOPfcc0/Y9vTTT2+w3VZbbTWhXbt2Ez788MO6ZWw31VRTNVg2fPjwsPziiy/OMVJCCCGEEEKIakBOKSGqEJ+NjZK6fPj6cePGNViOE6gxvLwJh0mMB3AXwmKLLdbAyUWZIY4W3FEO5VSTTTZZXTkY7hUvPRs2bJhVAtqPZ7TznCb4+++/Qx+6desWyuAK7UPcBm1/99134dhxWr333ntl73Ma+uplhOPHjy9pH5wLyucKZeedd25wDeJCI6froYceskpC+2SYuXPNoZwPHerhhx9usBz3FuWUzhJLLBHKROPrUAghhBBCCFF9SJQSogpxISCfSJFPvOrSpUuj+yDDCLEovS1iTaF06tRpkmWU8I0dO7buNQIKZVgLLrhgEEXIr0K8IqD9p59+skrwyy+/NBgTys0otfN8Iu8D2VOF9oHyuc0339xmnnnmIHjw/h133DGsK8dxpPucZptttrGVVlrJ9txzT5tzzjlDqdrtt99elEA1zzzzFBVqzjlL5zdxfVRqdsL42iS7Kz0eXkrJ+mKvQyGEEEIIIUT1odn3hKhCED5wpCDc5IP1CA2IJLlcPZUk14x8cRg1uVYEee++++4hGHzWWWcNYtghhxxSsuMnHzih3n///RB6Hbu/rrvuurDPFVZYIYwvAgvCTiF9QLwiA4txJhsJVw7B7risyFtq6nF8/vnnQdjKJwhyTpmF8emnnw45TzjdBg0aFILSyaIqZHbESlwX6TB2B1dcc83YWMh1KIQQQgghhKg+JEoJUaUQan311VeHEGefQS/m+eefD46VffbZp6T2559//iCmjBo1qoEjhvDycnLnnXeGQO1rrrlmEqEHx1K5YX84o9Zdd90Gy3bZZZcQDu4Qhk0fChFYmD2Okr+77767QTg3Y1cOCP2GuM9ZIOb16dMnPAj/RvA77rjjglBFCVuu/pfKBx98MInIw/VBeVzsSEqPo7uZmI3RKaZvXJtPPPFEcALGbikvk2S9EEIIIYQQovZR+Z4QVQozjeFsQXRKzyL2ww8/hNyo6aabLmxXCi6AXHbZZQ2WMxtfuV0sacfKHXfcYV988YWVm+HDhwc3FELJAQcckLcPHCdunpjpp58+PKdFFnfixG389ddfk4xdKTz11FPBQUYZ5Q477JBzO855GmbRA2bky9f/UrnxxhsblJAi7n311VdhBj8H19jLL78cxsN54IEHbPTo0Q3aKqZvzAbJubnkkksaLKcMFHEr3r8QQgghhBCidpFTSogqBffSDTfcEISKHj162B577BGEC9xRuI4I2r711lsbBDwXw1JLLWVbbrmlXXjhhUH0Wn755e3ZZ58NpW9QLtcNji9K3gjYXnHFFe2tt96y//3vfw1cNKWAUwy3k4env/jii3bfffeF0rzBgwfbXHPN1aAPuJFYRzj7kCFDghNnttlmm0TkQYDq379/KKcjf4ryOPqN0IXbivBtxob2ii0PI6Abt88///xj33zzTRCkHn/88eD8oe+UBOaCMaR8b8MNNwzbjxkzJohi8847b52TjmuBQPQrrrgiOIwQgpZbbrmCMsayoNSStjl39JdrhRLDvfbaq24bMq4Qq9Zbbz3beuut7aOPPrKbb755kuuymL5tvPHGwV2HC4zrvWfPnqFEkZB3RMdSr3khhBBCCCFEdSFRSogqpm/fvrbIIovYWWedVSdEIaRww37sscc2yE0q1QmDeIO4hZBDCRg5RcyMl08gKQb6+euvv9ott9wS2u7du3fIRDrmmGOa1O5FF10UnqeccsogdhCCfcoppwTBhBDymIEDBwaxCTEMIYvAcESpdLkcY4FowngjAiJ4URq3+uqrB/cPs78df/zxQaAi5JwyusZK7mIIWwfCxhF8EBsRehB9GptpcZNNNgkCzbXXXhuuA0ofybnimBHbfCwQMvv16xecdIhfZGmVKkpx7sgtYzxwTHG8CGE49ByOn7JIygkRjJZeeum6sYoppm+UKSLSMV5cM2zXuXNnO/fccydpVwghhBBCCFG7tJugJFghRMQbb7xhSy65ZHC75CsnE0IIIYQQQgghmoIypYRowxAIngbnDk6VONBbCCGEEEIIIYQoNyrfE6INc84559jQoUNDOeAUU0wRMo947L333jbffPO1dPeEEEIIIYQQQrRiVL4nRBuGkG0yid5991375ZdfrFOnTrbTTjuFgGlEKiGEEEIIIYQQolJIlBJCCCGEEEIIIYQQzY4ypYQQQgghhBBCCCFEsyNRSgghhBBCCCGEEEI0O20qNGb8+PH25Zdf2owzzmjt2rVr6e4IIYQQQhhJCj///LPNPffcYfZTIYQQQoi2QpsSpRCkNKOYEEIIIaqR0aNH27zzztvS3RBCCCGEaDbalCiFQ8o/9M0000wt3Z0240779ttvrUOHDvr2t4bQeatNdN5qF527tn3exo0bF740888pQgghhBBthTYlSnnJHoKURKnm+8D+xx9/hPHWjVbtoPNWm+i81S46d7VJuc+bogWEEEII0dbQJ18hhBBCCCGEEEII0exIlBJCCCGEEEIIIYQQzY5EKSGEEEIIIYQQQgjR7LSpTKlC8yH++uuvlu5GqxrPv//+O2RuVCInZcopp7TJJ5+87O0KIYQQQgghhBCiskiUikCMGjVqVBBSRHmYMGFCGM+ff/65YgGus8wyi80111wKiBVCCCGEEEIIIWoIiVKRePLVV18F1w3TMmv2o/KN6z///GNTTDFF2UUj2v7tt99szJgx4XXHjh3L2r4QohH+/NPs11/Npp/ebOqpW7o3QgghhBBCiBpDotREEE4QOOaee26bbrrpWro7rYZKilIw7bTThmeEqTnmmEOlfEI0B2+8YXbzzWYPPmj299/U0ZptuKHZTjuZ9ezZ0r0TQgghhBBC1AiyA03k33//Dc9TTTVVS3dFFImLiGRXCSEqzJ13mvXtm4hSOKUQgnnm9VZbmd11V0v3UAghhBBCCFEjyCmVQrlEtYfOmRDN6JDq18/s99/N5pmHX776de3bm33zjdkxx5h16ybHlBBCCCGEEKJR5JQSQghRGLihfv7ZbM45GwpSwGuWs57thBBCCCGEEKIRJEqJZueZZ54J7qYff/yxpbsihCgUSvTIkKJcNpc7keWsZzu2F0IIIYQQQog8SJSqcXbdddcg8Jx99tkNlt9zzz0qaxNClA9m2fNQ83yw/q+/ku2FEEIIIYQQIg8SpVoB00wzjfXv39/Gjh1btjb/4qZSCCGc6adPBKfGJhRgPRNGsL0QQgghhBBCtBZR6osvvrAdd9zRZpttNpt22mmtR48e9n//939WbdUtBx9sts02yXNzVLGstdZaNtdcc9lZZ52Vc5u77rrLFl98cZt66qmtc+fOdv755zdYz7LTTjvNdt55Z5tpppls7733tuuvv95mmWUWe+CBB2zhhRcOs9xttdVW9ttvv9kNN9wQ3tO+fXs76KCD6mYvhJtuusmWXnppm3HGGa1jx46200472ZgxYyo6BkKICjP11GYbbmj2229mEyZkb8Ny1rMd2wshhBBCCCFEaxClcAGttNJKNuWUU9rDDz9s7777bhBWEEWqAYQnKuj69zd7883kvoxnXrO8ksLU5JNPbmeeeaZdfPHF9vnnn0+yfujQobb11lvbtttua2+99ZadfPLJdsIJJwTRKea8886znj172uuvvx7WAwLURRddZLfddps98sgjIQ9q8803t4ceeig8EKCuvPJKu5Np4ify999/B4Fr+PDhNnjwYPv0009tt912q9wACCGahx13NJtxxmSWvbQwxWuWs57thBBCCCGEEKIRprAagfK0+eabz6677rq6ZV26dLFq4YknzJ580my++cxmmKF+ORNRPfWU2dJLJ+aBSoFQ1KtXLzvppJPsmmuuabDuggsusD59+tQJTQsttFAQ9c4999yQSeWsueaadvjhh9e9fv7554PAdPnll1vXrl3DMpxSCFHffPONzTDDDLbYYovZGmusYU8//bRtgz3MzHbfffcG52jAgAG2wgor2C+//BLeI4SoUXr1SlT2Y47BupqEmntJH0o8ghTre/Zs6Z4KIYQQQgghaoCacUrdd999oSSsb9++Nsccc9iSSy5pV199tVULjz2GY6mhIAXco7Gc9c0h3FFWN2LEiAbLeY3LLIbXH3zwQYOyO8Y3DSV7LkjBnHPOGcr2YnGJZXF5Hs6sjTfe2Dp16hRKARHE4LPPPivTkQohWowttzTDGbnTTgTamfE3hGdes5z1QgghhBBCCNGanFIff/xxcOwcdthhduyxx9prr70Wsoymmmoq22WXXTLf8+eff4aHM27cuPA8fvz48Ijh9YQJE+oexfLVV4kglfVW8n5ZX0KzBUOfV1llFVt33XWtX79+dWPix5I+rqzlCFDpbSiXTI9Hehmz/Pn4/frrr6EPPG6++Wbr0KFDOHcbbbRROBfx/kod66xj55F1XkVp+PnUeNYWzXbeevRIapNPPTVxSOGY8gwpXTMlod+5tn3edN6FEEII0VapGVGKD2w4echOApxSb7/9tl1xxRU5RSmCv0855ZRJln/77bf2xx9/NFhGmRr7+Oeff8KjWOacczJ76612Ntdck4osP//czjp3nmD//FP+D50uxHifyXJaZpllrFu3buE1ywkpf/HFFxscF6V5Cy64YPgw7cvjdvy1txEvi9+T7sM777xj33//fegH5ZZsO2TIkLp2eLg7q9SxTkMb7J/9IpiJpsN4/vTTT+H8TTZZzRgq2zwtdt5++qn59tVK0e9c2z5vP1PrL4QQQgjRBqkZUYpZ3Mgvill00UXDrHK5wDGEsyp2SiGU4N6hrCwGkYoPhVNMMUV4FMu665oNH272yy/tQsmew+dMtJ11121nU0xR/hsNPgTz8D4j1u2www526aWXhtcsP+KII2zZZZcNIh25T4hEuM7YJj7WuB1/7W3Ey3BGpZf5e8mQwr1G+/vuu28QDs8mY2ZiOzwIZo9fNxXaYP/MyjgNZUSiLDdanGd+V3SDXDvovNUuOndt+7zpf5cQQggh2io1I0qRgTRy5MgGy95//32bf/75c75n6qmnDo80LqKkl/HB0h/FsvbaZCkloeZoLpTs/fprErdCpBLrS2i2YOI+n3rqqTZo0KC65UsttZTdfvvtduKJJ9rpp58eBD62Sc+Ilz52/7mxZfE68r6Y1Y8SS2YD7N27d8i62mKLLSYZ31LHOmu/PLLOqygdjWltovNWu+jctd3zpnMuhBBCiLZKuwnlCPVpBsiQWnHFFUM53tZbb22vvvqq7bXXXnbVVVcFZ1Ah4JSaeeaZg9U+yyk1atSo4PQp9RtL4quYhY9Q86+/NptrLrN11jFba636uJW2hpf64WYqhwCVRTnOnZj023/C6xEZdbNUO+i81S46d237vOX7fCKEEEII0ZqpGacUOUmDBw8OJXm4fBAgLrzwwoIFqeYA4WnDDZOHEEIIIYQQQgghhGgFohQwgxsPIYQQQgghhBBCCFHbqEZACCGEEEIIIYQQQjQ7EqWEEEIIUV0Q0vjDD8mzEEIIIYRotdRU+Z4QQgghWjFvvGF2881mDz5o9vffZlNOmQQ17rSTWc+eLd07IYQQQghRZuSUEkIIIUTLc+edZn37JqIUDqnJJ0+eeb3VVmZ33dXSPRRCCCGEEGVGTikhhBBCtLxDql8/s99/N5tnHrN27erXtW9v9s03ZsccY9atmxxTQgghhBCtCDmlhBBCCNGy4Ib6+WezOedsKEgBr1nOerYTQgghhBCtBolSQgghhGi5EHLaIUNquukmFaQclrOe7RR+LoQQQgjRapAoJVqUzp0724UXXtjS3RBCCFFIid0RR5j16mW27LLJM6+HD29au7/+Wh9qng/W//VXsr0QQgghhGgVSJRqJVNZDxkyxCaffHLbkFmKhBBCiFoJIZ9++kRwQpjKB+unmirZXgghhBBCtAokStXCt8gFcM0119h//vMfe+655+zLL7+s+P6EEEK00RDyWWc1m3HG5JnXLCeEvNT/dVNPbcYXKr/9ZjZhQvY2LGc927G9EEIIIYRoFUiUagVTWf/yyy82aNAg22+//YJT6vrrr69b98wzz1i7du3sySeftKWXXtqmm246W3HFFW3kyJEN2rj88suta9euNtVUU9nCCy9sN910U4P1tHHllVfaRhttFNpYdNFFgzvrww8/tNVXX92mn3760O5HH31U9x5+3myzzWzeeee1GWec0ZZZZhl74oknch7H7rvvHtqP+fvvv22OOeYIopsQQrQV92ubCyHfccdE6GKWvbQwxWuWs57thBBCCCFEq0GiVC18i9wIt99+uy2yyCJBTNpxxx3t2muvtQmpD/XHHXecnX/++fZ///d/NsUUUwQByBk8eLAdfPDBdvjhh9vbb79t++yzj+2222729NNPN2jjtNNOs5133tneeOONsL/tt98+bNuvX7/QLvs88MADG4hl66+/vj3yyCM2bNgwW2+99WzjjTe2zz77LPM49txzz7DtV199VbfsgQcesN9++8222WabMo6YEEJUt/u1amiuEHLG9uyzzaad1uyLLxIREKGLZ16znPU9ezbpcIQQQgghRHUhUaoVTGWNiwgxChB+fvrpJ3v22WcbbHPGGWfYaqutZosttpgdc8wx9tJLL9kff/wR1p133nm266672v77728LLbSQHXbYYbbFFluE5TEIVVtvvXXY5uijj7ZPPvnEdthhB1t33XWDcwphC2eW07NnzyBade/e3RZccMEgauHGuu+++zKPA6dV2qV13XXXWd++fW2GGWYo65gJIUS1ul+riuYMId9yy2Tcd9rJbJppzP79N3nmNctZL4QQQgghWhUSpWp8KmvK8F599VXbbrvtwmtcULiK0uVuSyyxRN3PHTt2DM9jxowJzyNGjLCVVlqpwfa8ZnmuNuZEaDOzHj16NFiG0DVu3Lg6p9QRRxwRtmnfvn0Qlmgzl1PK3VIIUfDNN9/Yww8/3MDVJYQQrd39WlU0dwg5TqhzzzV7/XWzV19Nnnkth5QQQgghRKtEolRTaeGprBGf/vnnH5t77rmDIMWDfKi77rorOKbqdz9lg3woGD9+fFH7ymojX7sIUvfcc09wSBHATtkfAtVfjEMOKA/8+OOPQ17VzTffbF26dLFVVlmlqH4KIUTVuF9bQx5V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fphGddVVVw1T0K622mr2FeUGE2HGmN12263I3QshROVAjKlWscZLC/v3T0oKcUmNHZvED/HAHeUwqVeuib3QPNBOfvkl9/qJs0G3HqGnlnBnEsJUPljPRYBjqtLgWEKZxcGUFqZKdTbhfCPMndkJcVhxAfPMa5azXghRFXTu3LlOREk/WFessFSqoDRw4MBwL7H11ltbLbPNNtuE47jwwgut2jnkkENsySWXtCmmmCLzvI0dO9a23XbbIK4xq+iJJ544yTaXXHKJzTfffDbttNPaeuutZ59j7Y546623bMUVV7RpppnGFlxwQbvrrrsqekxCiDYkSh199NHWvXv3MPXxyJEjbcYZZ7SVVlrJPiMERQghqhDEmGoVa+LSwoUWMlt44cRQgisKcwkPwHAyyyzJg59jeM29/2abJc+51hPsLlqIYpxJyyzTPIJdpZxNteiIE6IN8tprrwURhQeiAqKQv2ZdczHzzDPbXHPNFcSNWob+cxwcT7Xzzz//2N57721rYcXOgHWISs8884xdffXVdsEFF9iVV15Zt/7BBx8MwtYpp5xiL7/8cqiUiUVFXm+44YZBtBo6dKjtscceQeR6++23m+X4hBCtXJR66aWX7KyzzrLZZ5/dunXrZvfff7+tu+66tsoqq9jHH39c2V4KIUQJIMZUq1iTLi2kZI8HkUuEm7/3ntkHHyQawRZbmG2+efIzy778sn7dmmuaHXaYWZ8+yWvWpdfn+OwpmotCnUmrr958faqks6ktOuKEqCE6dOgQRBQeU089dZ2owoN1MH78eDv++OOtY8eOwfHC5/03sfWmSu9uuOGGIFS40+rkk0+u2+amm26ypZdeOnyRjWCz1VZb2Rf+jUuZmDBhgp1wwglBBHFnDk4e5/vvv7ftttvO5plnnnCsCy+8sF1zzTV16+kv1R8LLbRQqAjBvUVfEVb+nWhZ5li559lll11suummC/dBHHMx0BZCDv3EhUTlyfDhwxtsc/vtt9viiy8ezsfcc89tu+++e2Y7OJNwNJUCY7PffvuFc53mu+++s7vvvtvOOeeccN423XTTsO3ll19etw0C1eabbx761rNnT7v00kttyJAh9gYWbzN76KGHgrjJdhzLMcccY7169bL//ve/JfVXCNE2mKyYPCmsng7/ePgjtfHGG4c/5pT3CSFENYEY42JNlpjTkmJNurQQ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zIXGUinEVSiEEKI6YVYzZs6ee+65qzITacUVVwzVGHdhjW7lDBw4MBzr1ltvbdUM93yIP127dg3GhPPOO2+Sbd56661w7qaZZpqQO5w+f3/++WeYIGuWWWYJj/333z/MUlcKiHfEx2y77bYNlr/77ru25ZZb2rzzzhv6eeedd2aKnsyMN/XUU4fn5/imsUioFJpvvvls2mmntfXWW88+50PXRK644gqbf/75bckll7RXyJzIwRFHHBEEyY/5MChEG6VoUerUU0+137hDSvH777+HdaK20E3lpFAahUCB2BPTkgHO7mij5ApRBmcQyzyoG9HBxQbEGP4nIm6kz2NjLjBoiiDn/UyLKbiIXnopEXzoj88WSA4UThtEIvKNXICjHI7+8PBjRMTiwecWnEycC5bTBm3hkkLA8jI+1i28cENxiXI7xD6EoKOOqhfBeEYUQ8RL/3njvLNfxpi+M/buwmI548W4IiLFx8sXnghklBgyLuyHPrItJXW43a69NnGxxf2gX0stlZTENUUs9usY8S49MyNjRlvFOv8q6SoUQgjRvHBDT6UDN9SvvvqqVePMZXPNNZfNSlBmK2fmmWcOx8q5qGa438Otxj0f/U3zxx9/BKcXQs3QoUNtjz32CILR22+/XbcNs9Hdc889du+994bH4MGD7aSTTipZzNt5551tMj4YRvzyyy+2wAIL2IUXXpj5vm+++cY23njj4LJ6/fXXwzOvceMVyoMPPmiHHHKInXLKKfbyyy+HY3dR8dNPPw0VRLfddpsdd9xxtueee+Zsh/Fce+217fLLLy9430JYWxel+MXjFz0NQhXrRG2hm8pJnT0EciMGIJbEThpEiGIC0yvhaEPUQBzhkf5S04Up3DwID/5lTXweG3OBIdqUKsgxjjiDCNGmRI8vfCjDwx1FXxBw2D9uJUruOBYcR7iSEInikjQXVPgcynEirNA/fmY5x+jHz34RiuLx4GcPUk/DeODail1oPCOKcW45zyNHJiWsDz1k9vjjSfvsF9GJ43BnFv3gZ9YhiLl4xPizHdcO+8OVhOjE8VBeiODEOU274XjmNe6qporFHAvh9PQNIdPddIyjh7s31flXLa5CIYQQxYMgwM3wOuusE36OOfnkk6179+7BCUNMBwLE1XwzFvHUU08FFwhOExwhuEac66+/3nr27GnLLbdccKvgGqEdXo/j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7r232aOPYtVOhDFu/A86iClwE8EqqxQQwQfBghwhyuwQkDwnCbGC14ghCC0IB889l7z2PiF4IAR17pxs6y4plhOajSjl5XG0iwiGkBQLJOmZ7eiPvye9Pi6zQ3DyNl1oeffd+jJElrkow3sQYOi39533Myacs/btc8+wl4WLaTyYwQ6xjtmoEcoKEaTia2mbbZJnXvu4xEImLjbGlH3h9KKk0ssquc7YZxYck5dS+lj7+Uzj5wcxj+ugUkHjsThKgDtCHs+IYbgI078zQgghWhe77rpruJFNPx555JGyl9fR7nf8U6tS7rnnHlt77bVDNm6197WaINKFGQ978WGoCMj/6tq1q00zzTQ277zz2gEHHBBmIC2UTz/91Hbaaafw3mmnndYWW2wxu+qqqxpsc/LJJ4fs4+mmm87mnHNO23HHHUNfywn7SP/+8HtVDJ9//rltueWWNttss1n79u1tww03tPfJg4jEv6zfU8YshmO78MILy3ZsQlS9U+qMM86wG264wc455xzba6+96pZ37949/DLsscce5e6jEDkdHjhREDu4wUcMQQBwRw95Qog/xWY+pfdH+wgFjz+eiEIdOyYCCvuIy8IQnP7736RkzZ0/9IkHzqC77krEjKz5AGjPnUaAoObCDyIG4ouXz9EHliMkIMS4COSB5mzDMo6dsaCEje1dFKIddxa5qONiEk4rBBMXyWI3Uxpf7kKKjxUiDkKYiy4cC31BlGE7nuMwcne3sRwXWJwj5bPppWfe8xI6fuaYEYRwjXlZZpbzB+JyNS8vRAikvfR70sHlwLlbfPGG5xBxjf7HGWUxjCnHjXuLz7mIdZwTP0b665laLl55fyoVNF7unDQhhBC1BzEcN910U4Nls/oMIW0IBJFVV13V1lxzTTv22GNbujs1A4LPXJQTFEnPnj2DSISo9OWXX9o+++xj+++/f5hBsRA++OADm2qqqcL9aJcuXez555+3PffcMwhUiFU+Mddll10W1v/444922GGHWd++fe2FF16wcrLwwgs3yDWjD8Ww8847259//mlPPfWUTTnllKGfW2yxhb3NN+7GDM1321/RbD5jxoyxJZdcMghZMZyHmflmXoi24pS68cYbgxq9ww47NJi6kj8w5EsJUUnSDg+evYQNYQVRJHaxcJNdTOZTlgBGfj/iCWV6iAejRiXCDaJFXOZEyR7CkosL/A+hP16ShlCDgJHlqsWh4gKSl8shTPivGD+zT9azPwQfnw2OQGwEDsQqBBp3+fB/kX25+OECUzxzXVyOx3oyjNgH/WZ/jcF2jK+LLPSXtvnZXVY+45xHznnpH/31UHVfznGlg9tdSEu/Zjv24eHhHGsu5w+CIeeyf/9EeGI/CE7MjMc5I5srfg/X2X77Ndye7Th/r7ySlOshLuHQw3FGlhTiU5abjmtz1VUTYZIvAjl/fi48MwtxCGGN84zAxWv6UakSunLmpAkhhKhNpp566nAzGz+42XfuuOOO8KUzN9qLL754mHE7rpzgi2hu+mmnc+fOdtZZZ03ikFqDmVyM2WQ7hNds51x//fWh6iKG9eedd94ky2j7wAMPDDfePC6++OK69YgPZNsiklBG9vTTTxctDFDxsQKW6CbA8V177bW27bbbhuOaffbZ7S6+kTQL4h99m3HGGUP/mXHtiyj41Mfif//7n80333zBOYMTJ4YyOfJ7OR9MNMX446SJKWQsfvvtt+DQ4bkl2G+//WzllVcO53XFFVe0vffeO4gyxYipVOf06dMniE+77LKLbbDBBkHAic8pIiPXJyIOYs9LL70UomfKyRRTTNHg96dYYeiVV14Jx899NI6v//znP/bOO+/U9ROROG4fJyOxOf57JUSbFaX4A8ofuzTjx48PM/AJUUmyHB7cRHPzjnsFkWPFFROXlLtO0l/iFFKylRbAyIVC5MI9QnkY+0M8iEUD3EoujLFfF6QQIHjGlUOGE19+8KUKDh3EKp4Rltge8caFJH6mTwgvPLxthCMEHT7L8OD4EURczOI125M5xftjQQe8rRjvpwdx+2t3fKXbiEGs8fI+z03iMy1j42HefhycI76EZR3HQF95+FjxP9jPA9u78JR2a7k7zrfFMYYYiRDHeBKujrPtxRfN3nknEZiYBZCxQxyMywt5jTuK93DO33oryfTic1wscnENkPHEtcd4IwASSH7UUWaXX55cF5wPhKq0YOW5Y4wp14aLgi5gcjxcT+yH4/C8qkrB70SuyIGs3xkhhBDVBTezCy20UBA+rrvuurK3j5hBedbRRx8dbpKPP/74cPPPfl2U4oYcMWXkyJE2cOBAO/300+ucV4gNlBS5KEMbvEZYKQXEFoSWl19+2R599NEg3AD7P+WUU+z8888P7hL6SAnUZ3wYaAGIOFlqqaVs2LBhQcSjJMsdLkcccUSYHIosJl4jnMQgRDz44IP2xBNPBEGK43qLDyXhc8/fwR2DSEjb66677iQut0LHgn4xfrHI2FJwX0k/GLOmgBvKxzrNDz/8EEwVjB0lg+WEGJu55547lCMittGPYlhllVXs3nvvtV9//TWcf35fENty9fO///1vXemtEG26fA8VF5tkOtz8zjvvDEq0EJUky+GBo4SyKG7w4y990plPxQY8F1PiRLsIHnE4eLrEzR1TCGeIUxyLl84BggTle4gF/n6ECv4vuaMGUYN9sQzhxEvfELAQSnzmQdpFXPDSMJ69ZM/7F7um4vIxd/CwDw8od8HMw7hzwbHQB2/HH7wHd5GX73GsnB/2jQjDvjh2tmPfiEt8tqCtOGbAx8XLGaF79+QaIL/r/vuT7V0Mc9eWv4frhPNL24yzZ4X5cgQy9sm55BjSLmxENULiu3SZNIA8V4A+Y4fbrmfP5Bhxt9G2u938PDMujANjxOtK5UnFMwpy7HHZYdbvjBBCiOoD5wdlTJ7Rs8022wTRphhwXcROJUqREE3g1FNPDa6NuBzqvvvuCwLYcsstFxxVV/Jtz0Rwvay33nr28MMPh/ewHmeHlwPOMcccQUArFfZPdEgaRBj6uummm4bX9PmWW24Jj2O8dr8ZoQzwyCOPDD8jGjqHH354g+3Yhj5TuoXTzIU+jpGyNs4F7q3/+7//sx49egQh7uuvv7ZLLrkkjOmiiy4aXFXVPBaNiYyIdL///ntwfdHHUmFshgwZEoTRmAceeCC41hB8ll9+eXuMD2hlhDbpN4IUOVBHHXVU+J1EVCyUQYMGhT7ioENoWmaZZcLvUBa4Dz/66KOic6uEaJVOqRNPPDHYZ/v37x/cUVglyZYia4p1QlSSLIeHz4DmmUWxSyXOfCo24LmYEqf0/x8vUYNYxEEk8SBzRAm+UOEzJI7x1VYzW3bZpNzLXUIIOhyXiwWAYOHvR3zCqUQ7tMsz48M2nrFFOy4wxVlVEOc3OezHSwF5RgRjewSaQr5gcsdVnEfFM44kxhsRJA5c9yB23sO+OSZ+5liySvf8OGiH89ChQ9IO7ifewzHRNuPjghvPLPPZ83zWwXQ/GTt/D32JnPU5z31j4NhycdOFRBc2fXZIjp9nMjjpA+V+lcqTAtru0yfb2ZX+nRFCCNE6QUB544036h6DBw+uW/fmm2/agAEDgmjlD1wcPsERXH755cHhgtjEekSrSs38haMkzc8//2yffPKJHXLIIQ36iRsr7mdzktVPeP3114P40qlTpyBAbL311jZhwoQgmDiIUwhSDsHruHwAsQNHTpz5RUllKWOBqMG+KyVu4MyK+5AWz4AYGK65+++/3z788MPgMCuFESNGhLYQ69KB65S4Me6IRJNNNpkdTGlEGUGE3WyzzYJoiIsNN9aTTz5p7/KBtEBOOumkIMxh+KC8kPNL9hXnJ83VV18dShe5hoSwtu6UQn3nDwhKPNNOIkT17t07LGPmCiEqSZbDg5t7IgooV+Pn4cOTErHNNktyn+ISu2LcTwhguKiy4DOEl2QhJvBlYSyeZLmJWI+LB9HFRQ/g8wbCCvtHXOM4OAYXZOJAbH8v2yAaIeiw3ssJEVp8Zjt3LblIwzOCF58XveyN9mL3FK8RjmiP97MPBDAeHtpeCO68io+dNhGD6Bvj4OIVriTfxo/XZ+1jv+lSQ38fx4Bzyd1l/j4vl8w6D748yoys6y/jxzP9c2caIlL6f3987gtx4NE/b4Pz4e43FxezRC+cWJXEZxTMcnblm61QCCFEdXDBBReEsOixY8faueeeW7RLCnhPViSHQwkZ2UcxHuSMwwMBhEmOEGIoN+I1X1gXSlYJUq73I9Dkgpt1XCsxM2EfbwGy+onwtM4664SMI0rVEPEQIXbfffcGx0s5ZJoscSIf1TAWiGcITg6z36XxbDDcZDyvttpqwf2XtW0ucA0h0uBCI5cpDfepCy64YHiwH8Qc3Fm4kSqBVwwxOyCVRY2BiIi7i1JLFxjJymL8KFONM84QJxGFCXcXok2LUqjshMXxD4R/Po/z9b8QzQw3zJTZ+Sxr3MAjInzySbIeBxT/exEp2IbPO3FJXjHup0JKnFyMGDIkETRw8KQFDyd2DcUldLSB02qDDZJj4ouejz5KHFD0CfEizl7yY+BzIe/n8w8Pyus8dyomLimkDdxTiCEIYbTlMx/zOYDcJAQUnDMIP15Sh4hSbB6m79czoTgnHmTOZ2eEqSzBycco7ZKKSw5d8OJcEDzPzHb00R1X+T7DeTvpc+O5V/SBseVccA5icpW3xQ68+Ppie84l7bKO42a8GYcsQYr9rrRSkoVFm5WcAY/fCdrXLHtCCFF7UELn5XuVAPcHn/1ziVbMYsZNMzk6Lp6MGjUq3CvEeHD6Px6mmBJwyNGhbI3Jk5hljKylQsFxRJwIzhwEumqFiaC+++67UGXiQe9xKHchIKwwUx3ihLulEDM8e6iYscDNRn/c4VZuENfyiZ1pOPdcPziGYshn4kEZaDpjCeEHkY+w9379+hW0D4idaeXGJ/yKw/yBa5zSS673WLREUE6Lsy5MpseC/DBENpxZQrTp8j3+GH6LPWMi1K5/g+1BiGbEHR6ESxMyzU0+IhT/U/lCAVElX0leuvwPgcGDsX1WNQ89L6TEycUID+8mb4jPXx4OHmcfOR4gHi/nV8tLxVjHAzEKoYg2gc9p/MrxuQ5BCYc4x8o+KPuijfTsbx6S7i4g9kmbzDaHAMI4IYLxMyLJRJd4cGzxHsaBZ/6HZnyBVxBeHsdY82D8OQ4PR/c+ZglFbOMzEHoJIefaRUbW02fGhnPruVhx+SSkSwDTuDPLA/M5nz6jYyHlbfkceGRmMfMe54ZrkjGNyzHjPiNoEoTPz2WOPhBCCCEKhkoIgrOZCY+8HMrAKLG6+eabw3qcJ5RGMWsa63G5ZIWLI1JROkX2LIIAGUoO5VaIEQg0POP+KnbSJPp59tlnB4cJzhlKoMj2KSbXB6EHZw9lZC728LpcpYg4dCjNw8WEcMdYXHrppUW1QbA54swBBxwQStZ4/3Bs9SWMBfvnvPDc3NCvY489NvQNYYmcJLKvqLpJizm48OgnrqF0ODqCFI/9998/CD48vNSR83bQQQeFtnEjEc5PqSLh7sxIGOOzRKZnOiyEQw89NFz/nFOfGADnFnlfMfSf4+B4YnBT0ScchpxLyv44Htxi6X5y7Wy//fZ1+WNCtFlRKm0ffeihhyqqNguRniXvwAOxkhPuaXbjjck2TFyCsweRJj0La1yS5+Bw8XBrnocN459F4mYhj4hyraOPTvZDzqCXx/F/jvW4cRHE3H3lYgSlT+6UQiRzJ4+XgTlxzlQslCA0MSENji9mi8OhwzJcQO+/n/SL/XsZHv194QUzvohCCEFQikO94/25y4r3cdxkVyEKIWLx+ZHPXIwf/efzGGVnxA94CDkCFT97+WCp+J8QF6nc0RRnOmVtH7upvCTRXWEu/jFu/iWsO7Hic5BLoIpFOz82xsizvnbbrV789Jn2Yuedk8+Bh0MKoQtBy8Pi+czt58r74yWYCGAcYzG5VUIIIUQ54YafEGfygHBNMYvbq6++GgK4YZ999gmlfVtssUVwTOFEIQsnTceOHYND6KyzzgpuHn8/4OxhHTfiCBKUsvmseoVCCRxtUMKIGEAfEDvSEzLlgywsSq/IyPUsIl4TMl4OOnToEMqubrvttiBEkH9EDEoxTDnllEFEQjCjb4R2b7fddg1EinKMRaWh/BMBhusGwwN5UFxfxMAUCtU6uPgQTbm+/EGb7jZCuMIxxvW2ySabhGuP96WdYX4vi+BXLKNHjw4h5eyDmQ5XWmmlomY05NwRak5/ueaYsRJnGMvikktC3Jm9kvMrRGul3YQCi5X5lgMVmtkzgF9u/qgwG0atMG7cuFC3/NNPP7VYrXlbgw8YWLG5briGCiWd0YMoQG4g4hAuFr6EcGECFwpfrkTZkHVwg897Bw1KXlMyhtP8mWcSMcZ1VbrGdjhxEDcQDXAh4Sri/5fP1Lb66ma9ezNVciIaUN5HORxiFbP2IjwgMiBqIBTxM8IOr+Mv/9Kz8wGChDt2sma588wn+oqLmfa93IwHYkxaJ3anFn30vCXaYBy9LNBnykPEQwxh2QYbjLexY8fY99/PYfPMM1lwkjHOtIFQl+HCrzh++cSzCXqfGQuO3/Oz0uOXLtnzcfOsKy+5ZDnj79cDpW3khTX25wLhFDEvmminDhxWXB/rr5+ImMyOzfjHuV4uirFvxpYJivhslZ7hL42XfnouVMeO461PnzG21lpz2LTTFj2PhajBv5WiZSnXedPnEyFEKTm/uGquuuqqZt/36quvbt27dw8CWy1z9NFHB+EVl1y6RLDWQKRjMrJKTTYgRCUp2PeAtTEdSJgVUChEOYgzehCKEH9w93DJ8YwwRZ4gggSuodGjs0WpdCD5gAGJOwihiFJuLw9jHwhQ3FMgILEOt1I8iQrLcWgRA4CzCLGK/SPS0A5OGpbTPqKDz6DHMsQT3Edpx46LIPTBxSXEk1gogTj0HHGLn322OvAA9Bh3Afk4sD2vY4cSY4IIxXjwP4zxJg7iggvMTj89Gdd0QDcCEGNRRJZpk2BsOE53PLloxDFzXO6YcjEqi/Ty2KUUr/O23HV3772Jm45zi2MsVxB4Y/ljCFJxftOtt9aLnYyrnycv7WSM07lVaXKFq3Nu6HOWo0sIIYQQtSs6IELhzKH8jaqVYsoUyw1iGH0itN1DvmsNyu9OOOGEmhekcICR25YVli9ELVDwletTh7pNlNC2fffdN4SuxRQb3CdEFl4Wh1jEBB5kB3Jz70HiI0Ykrid3B3EjjhuIwGsvl0uHUrvQRbkfN/Cfflo/cx1CD8ILy7nZR6xIf9HA/tgP27sjBoFn6NBEiEJ8wv1LCZwLRrTPOhdS0kJO7PqJZ9qLIhcalPwB29LfWEyJBaqs9t395eHo3q4HkPPMrzLZVD7ZB58vmM+AsUegY5x5P2PO/24vRas0HDeuJfblQh3Hw8+NZUXFx5l2W3Es/O/m+D3DCzEKkwLrERbZD6WBvKbM85ZbkjwuBB+EJhd9sgL4XTBLZ1BxPRLjwPnw7fw42B99Yh/p3Ko0WeHqtMPPOPmII1CIuRBCCNE6+P7774OAQsYv5Y6IQsxa1xLgLvIw7mJLLqsJstJaAz7boZzWotWLUtTKxlTzLBei9vGMHsrhvCTOA8RdnEBUYhuWc4PP32MEIEr7cJqkBYFcYdQuCCEOsA5hwEUC2mD/ZDrRNmIRzijynNgH4gxCBvlMuFQo4aPvLoKwvc/q5uVZ8Wx49J3X7Jf958pWcmHF++XPtMkxsQ8XoNwFxcOdWL5PLylMu5DcCcWxu4jH7LQsQ3SLQ8qB5YhwLtxUEvq44orJvhhfL2/0sckiLo/0Y/SfXYRk7BAocYMxVpwDd0hxLniwDdtyDbCO84VId/zxZuSLuhvJA/gRgryUDodelrOK15SBPvBAstzPPX3AZUWFNNuQX0U7CJ1Z7eS6nn3mQNZLlBJCCCFaB4cffnh4VAPzYB8XVUMxsx0KUdOi1HXXXVfZnggRwY04Is9339WLN+4eQiTwci5EEtZRfkauFKV8OKTIfUrfyKfDqAmfxhnk4o2LK+5oQoRA6HJRjP0ihvFgW5xZfEnEtjheeMZJ5WV5sbuJZ96DiIWYg4jlWULuBOK9uUg7gnxmuthd5fvxmfR8Zru4tC/OWvJMJT9exhJ3lIt4BK7TZ5bRX/K5OHb67GHjiB8uFuIkK4Ys55gfa1psYt/sxwXIxnABKt6PH7tfP4wR1xfL+DmapbfOveRuN9pwwcqDynFFxW4krrO4RC8XbHf55cnPZJvRlmeXIUpxjCxnnL0kj9JAnFhxSV6+cHWuRwWlCyGEEEIIIaodefxEVeKz5FE25oHcLgZ46VosMiCoIJRQvocgRUA04kDsLEHoikvymACG9YhdnkeEsMIzIgtlXAhS7qBxsYT3uPMGEYHliBuIYS6yID55KHksUPlseO5K8nIrjjMf3m5akEoHeruLjP0jJq2xRr3QkYW/HwGH97jowZg88khSuoaTiGNYdlmzlVdOysU8AwtXj5dUFkuWIJXlOmasyPhiFkI/N43F2fnY+Cx/vi/GjWPz8j/ajQPzXQxzgdLLLulD3B+fjTCe2bEYuLauvZY8BrPttjNbZpnkXPGIZ0Zk/DkvHTsmIlgcHZG+nmMQ1UqYSEYIIYQQoqCgc88bLtcshaJ0/FykZxcUolaQKCWqEtw6ffokogBCESJDXKaGUOCig8+4xux8OJ8QkvIJXYhHQOkW2VCebYi4wn4ITF9++aRcDMGCthGNYoHCXVpsg8PJZ03zMjfe4w4bRBTPHaT/vAfYBiEEFxCCGhQ6d0DsAorxAHScP2+/nQgZHrruohjvTe+HZZQ9kpOEILLBBknZHn1DlEIcoVyN/uIOQphiP7xmbOIMrELIOk4X8OJ13m+ER84F45SVnZVrHy66pcsevW1/7VliuIsQdDg3XgLqop0LVvQFZ1uWG4k2HnwwmY1vm22SZ15zDaeXIzBxnSOgMjvkOeckyxhzrlEfX9x6OADpayyCxdczz4hYL77I1MFmr76atHXAAcl+iz0/QgghWjfkxPqNbPx4hG+kysgzzzwT2v2Ob++qkLFjx4aM3C5duti0005rXbt2tTPOOCPMrCnys9tuu9lXX31lvXr1Kvg9hHFTgkhY+3TTTWedOnWyI444wn7zD8IFwnW61FJLhWxjMq3OOuusnNsefPDB4Rq8k0DPMkPg/CqrrBKOZbbZZrM99tijrGMxePBgW3XVVa19+/bhsd5669mbWOhTcB4uvPDCsh2XEM2NIvpFk0hPSZ8r/6ZYPKMHIeDqq+tFJD7TILK4MOGihQtChIwDIkB6Vm36RFj14MENRSZcUIhTtO8zrDHrHk4rsqTYhrbYD/8n3HnDzy6KIWrE7i13QbmQ4Z9tEDd4nztcvETMQbzKldHkwpaXn/n7YydWvD93lLGNh4K7UOZZU94nhDZKILfd1uy555Lx84lUPHPKZ+1j7BCuaMNFwnLhWVjgDjn2gaOpsRypGHeTxa/j8+E/e/g71y3iIucFIYjlsTvNHXRcKzwjXMYzO+abDY+Z8M47L2kzX0kev0eIT17G52PBvhEYKS90pxfbe7g67+M65bwgpDFmbIdAiyBF6DnXL33ON4OgEEKItsVaa61lN910U4NlszK9cRvim2++CQHil156qS2yyCL21ltvhRxdRClCxUVuEFLmKtKW/eeff4YxPvPMM22JJZawzz77LIhbiIPXXHNNQW18+OGHttlmm1m/fv3s9ttvDyHfiKxzzDHHJKLQ448/bsP5VrUCvPPOO+F3aJ999rHLLrvMppxySnsfW38Zx+KFF16wTTfdNAhOjPcpp5xia6+9tr377rtBBHM4DzN7zoQQNYicUqJk/Ca8f//kJhvhgmdes7yp7gxumvv1M9t7b7MuXZLcHS8zc2ElFldcaOAGfb/9svcfB2A7iADMdkb7CGsIbM8/b7bEEklOFTfwBG2TBcUNP/8D3Dnjgd84ZxANPHjcBYW4fMwFNC/zy3ILxblWHL+7uBBOvFTQXVIOfYhLBd3JFc80F4e3s+9YsGEdYgzCB/+3Ef3S5YKAsIVAwvjiKpt99kTsYH/FTPbB9vEx+Gv654/0cfAzY1Cok8xx0ZH3Mp7sJ35wHGSDMQY4wBAmY3eb9wtBCWGMsUHY4bjjmR251viSjnI8AvgRT2mT64o2EKZoD/Fz7rmTZ0SiuCSP644++rXDvhDI/Jpg/x9/XP+75cItjkLOjfeX4+W65bh4P85BwtlxvJXz91MIIURtw4za3MzGj6miev877rjDunfvHhxEiy++eBAAnH///TcIADiMaIfZ4GK3ijuk1qAu3fis1CG8Zjvn+uuvn6TciPXn8U1OahltH3jggeHGm8fFF19ctx5BgKBnbtqXXnppe5pvYwoEIYrj3GCDDWyBBRYIAgCiVCmziXN81157rW277bbhuGaffXa76667wjrEP/o244wzhv5vtdVW9kVk7fexYFY7nD8IDieffPIkM8UhXnA+Nt544zD+lNHFFDIWOHE+//zzot1J5QBn02OPPWZbbrmlLbjggtanTx879NBDixpvhKZZZpnFTjrppOBso62dd97ZrvZvsSfyww8/2P777z/J8nJx7rnn2sorr2wDBgywHj16hGtpk002KetYnH/++cFN1bt379A+53fMmDFBrBKiNSFRShRUfpR1AxtPSZ/vZpsb+oceKqzNNH7jzUxkPXokAhKCgH+GicUW3x7hiKDoOH/H+8vynj0TF9TGG5utt14iQtC/Z581GzXKjM8Pu+6abE++jweQc1zgzinEKYQZ9olws8giyRjEJXLeNy8Vc4HBZ4TL5Q5nvZclukiCcORuJYefEVz8M6TvI+0Ugsac6DhrKNNLE8/mhxOH9hFv6BNCGecC8QxhLp84xToXgfhizWetY1xZxjoXjlw48yB4H79iXFm0g7BIX+kbuNjENcL+6Df7YT3lgVyTvI9rGheU9zMOlOd4ES99ZkcXZ/nMg3sKEKVeecXs/vsTRxTjxrUVnxPGLs6lok2uH3dm0RbHTz/9eiAzLf7dom+IVfzeIaoiSHFs7o6jb55jxmfPrN9PIYQQtccrr7xiCy20UBA+KjEZEWIGro2jjz46OEKOP/74INawXxelpphiiiCmjBw50gYOHGinn356nfNqxRVXDCVFLsrQBq8RVkqBm3GElpdfftkeffTRINwA+8c9ws3722+/Hfq44YYbBtdJqfz444+hVKoUTjvttFBWNmzYsCDieTsICZRmDR061J599tnwGiEl5o8//rAHH3zQnnjiiSBIcVw4aeDvv/8O4gUiIW2vu+66k7jcCh0L+sX4xSJjS1LseP/111/BlRQzzTTTBEfUhOiDImWZuJgQfCoBwivCH2OMS2ullVYKyyo5FqyHUq9PIaoViVKiZOdTrinp45tt3kMJ97nnluamSpcHIvzwd5h9crPuYgUPxAZEIkQahLB0CHVWf/mSCgEBcWLMmMRNgvjA/zocQYg0DzyQiGiUrCECUCbF9vzs4gHuGT4fEQQ+//z1AgwCAMvZ3l0/LkjlI85/4r3pcrJ0sHm6LK0UvNyvMThuBEKEDt7jIfS+zh1ODsfgLh629VB6F5wQVXjNcfhshuC5TcC4sS93kHkpYy68LPKDDxLnkrvVeLAf+sC1xf7Yvx8/4pHPisi+uJY5n4hF7Jd2EDURSeOyO8RZ3ueuLLajbT47+EyICJzkQ8XnnnOLiwqhFvHKg/U9p8z7S3sIocz4mw5Y91n4fEwdrkt359E3/0I0LYYJIYSoPQ477DD74IMPQukZN9+luF7I5cGd4w/EFOfUU0+1//znP7bTTjsFB9F2220XSqZcAMNRdeWVV9pqq60WnEw4jMi7efjhh+vW47zyckBu2nmNY6oU6MM555xjiy66qC2//PKhL4AIQ1/ZP9vQ5549e9ott9xS0n4QgW677bbgTikF8n+OPPLIIBiuueaa4QG0h4OK5WQwsQ3CHyVcDkIfx0jGEMeBo8pDxBHivv76a7vkkkvCGOAai89XJcaiOfjyyy/DMRUz3owxLjNcZZRZIsANGjQoiHo/TwyORbD79NNPg/OoUiCyUvbJ7wDnZ7nllrP1118/uNAqNRbHHnusLbvsssGhJURrQplSItP5FAs3/H3HWUF5UzzdfSFT0tMeJWG06QJDvjZjsjJ6EIF4L8/cqHvZGjf9tM+DdVkh1Nzw85ntpZeSZ0QPtgV3pyAisS9Kp2jfRSSEBcQNygh33DEpiyJ7CUELIQABgvYRp5j9D7ECpw0CBZ+/aI8sq8YymNwlxDPvp0/swwWVuFzRiT+HNkcuJ8fAWCC6IdDF+UzuPkL08awtxpn3cK7Yxt1tnCMXbiAuL+Rn1vEcjxnj4s6leLbDGBco2Rdj0717Iih6HlPsIvOSR75EdEEzLZT6DIn0h8/WBJNniZ2IRlwX9AlBiLHwrDOg31wjXA+4t1g+YkR96R1iK8Kov/YcLK4v3kuOqAt78bWNmwuhl3F2gQ3clec5ZXHGWtbvhxBCiLYFN/dXUXc+kbh0jzDlIUOGNCiTw6ESl4tdfvnl9t///jfc/CMIILBwU14JCJNOgwDxySef2CGHHNLgRp6+UE5VLIg+iF20hfulXP2E119/3U488cTg5iEziJBrXD2//vprKH8Enud1W74RCzFLKEEDBMi55567QeYXJZXkKxU7FuQv8agUOLMWW2yxuteIlzvssMMk2/3yyy9hvBEzD2BmlgJZcsklQ8YSLijcYLgFEU8p+6SEcvTo0WEMEP0mT2delBEEMZxSR/FNpfGlZc8gaBKoznkohkLGAsESJxZuwcmKyc0QogaQKCWKcj7F/6P9ZjgLD4FG6IqDwPO1mXZFIQKQoYOo4Nl9OFbYL4HlOE9o00v2eHjpGu3H2Yu0zRcXI0cmN+/c6CMgcBPP+xEwPPAbQYX+u7uHtvgMwP90RAWENIQ2RARED4QjltNnD5Tu2zdx0gDCGg4Z2kbcyocLGAgTzMJG3xgHFyjimeAKnYWu3DDGuJPd6RSLSfSLz7ScC3c68eC8Ibgw/rHrKb4mXADkwfFzfLFzyvftwlIuQQridvkikesU15uXs7lwxXnlgVBE2whTHnQeu45cTMOpl8bFWcQ4BESfLTLOPKM/jAfLuQ4RpXBx8VmTQHnK6nzmRgQyjp9z74Hn7sSDdMA6uVa4rCgndTHVx4L3ek5V9Dl3kjaaawIDIYQQ5eGCCy6wHXfcMQgcZNtQ2lYsvIf8oVxQQkb2UQx5RoAzhRtvxAGEGMqneF3MrHUICGlyvR+BJhdkBuGeipkpPdtNIzA7IKHVPAieLpWsfiI8rbPOOsE1RckcIsrzzz9vu+++e4PjpRwyTVyOVgjlGIumgnhG+LgzJ/kCKX7//feQi4WDjrLDYjnooIOCWwy3Em3gMOI4yex68sknw/lMO8m23377kNdULucY5xHnm4NQNP/88zfICiuEQsaC8lUXpdiHEK0NiVKiKOdTjN8M41jh5tnxKepZT7k7N8tZAkrcZpYrirYRiLjZd5cI8P8exxLLeb+XWvkMaQgLiFgeQg3cYNMWgomLUj6TnLuluNlmGx7+OckziBCfXEi79trE3cP/BEQK/vf47GeICQRPe2kXZX8cE9tyvLjDcs2ul4Z9xLPGxY+WxsPTXSADjo/zRjA95wVHGusQQPhswvi428vL2/yzmAtFfNb1kkRvn3YR8/waylfy6X2JA+OJY3CBz2ch9H0hiPp1hUjEdUPfuSY8QJ62EKW47nbffdJ9ujhLqDmOLALjveyOPruw6TlZiF7siy83EcT8foDtuM4RyIjcYNwYT8QjRCnWx79bTjwLn7vUOIbYWeczS0JWGzG5ZhFMzxYohBCi5aBUCPdMpcBd8/HHH+cUrQhaXmGFFWw/ZpaZKJ6MGjUqBJ/HuPsKZ1CWgIOTh7I1HC04schaKhQECG7QceYg0JUKwh4zmiFiXHHFFVZu3nvvvSCS9O/fvy7ovdggdXKRKO/COeVuKcrWEAOLHQtcOfQHUSUdNF8OENfyiZ046nAFsR2uonQ+VJyfxIOyTz/OGESgeSZ+uMGhRBkdICwyO10MJY84qdIia1PAGcXviMPvAKV7sdsNuMZx4XG9p0XLQsaC8Hwy3Qh4J1NMiNaIvH+iwc01N7RZcIOcnvWVm2EEGEQZPhdx488zrz0EmvcgPjTWZlZoujugaC/9pQM3+TiDN9ooEQ7YB9tzQ8/fe/bNw8HxgTjGzTn7RSDhxt1dNzz4mWPw0kAvCeRn/wKS18xk5jfrPNMms/PhWF944Xr3le/Xt+XYcFcVOoOczw6HeBJ/eVYtwpQLSu4oY4x4RlBBUKPEj8+WXFOMiWdfeXA7Qk9a5EIwcTcTy2iP/+1cJ3H5J+T4DNMAxo5rh/ciONEuY+pB4PF1xTZ85tllF7Iv6mfd45nX5JFmVSUg7iDyIFzipvPwdHeR8Zq+8kUl1wXXAtshNnENx85yv56WW64+aJ3xwBUY/25RHeATEtAvxpnfxXXXTa4zRFBC3nnQd/aZbiP+/ShlAgMhhBCtF0rNcG1wI8809wSUE+J98803h/U4RChJe+qpp8J6Mq6ywsURqRAPuOHGMRRnKJGtxI08Ag3PuL8I9C62n2effbZdc8019tFHH9lLL70UyqkICy+EcePGBRcTLhVm+Pvmm2+CgPAt3zKViU6dOoXSPFxMCHeMBVlExUCwOeIMpV0jRowI76cUsJSxYP+cF56bGw9sR3ykdBTRifHmkQYXHv2kXC0N1yYlppQvkhvFtXjccceFdQhtzFQXP9zBxSPGZ4lMz3RYCMx+iFCEkEk/aAPRkOOLof8cB8dT7FiQm4UjjCw3BDhfj7tKiNaEnFKiKOdT1sx4lLN5mQ830nGZD8/8z6ONdE5V3GZW6aDPiBaXPDkIS9zYn3NOYWVGXlrHBBwIV3yBgvvGZyWLv8Bzl4s7qugDQgazr3ouFTPV4R5hOV9YuRPF3V9e/kTeJ6IMZV3c1PO/kBKrQkrvPHDdxbGJ2Y1161qCdJB6XEbHOWHMGSeuH8bG87AcxpljYnyzcDeRCzouINEeD3cxxRlb+caC88A2PLNvF8Y8QD6+rrykjc80iEKFlq65UwnBhnMbB8+7K4xrjT5wjXDN4tBCUMpV/so1xyzaiGDp3y0EqQEDGjqZuJ4ZN4Qp3Fzsx487/v1I/36Wo4xXCCFE64NSM8qczjjjjHCzT+g27iwyb4A8H0q0tthii+ByYqa+vn37TuJ06tixY3AIIfhQcoVAQ/YR4Oxh3f777x9mpqNNn1WvUCiBQ+iihBHXFkHqhEAXWuLETHYeJu6uG++b97Op0KcbbrghhFQjvDGOBJIXk+uEgwYRCSGETCVEKsLn41Kxpo5Fc0B/mWEQCGMvtVSR84YQSsD/EkssEdpkXIsFoRQQ/IqF653j4dqmL+RoPfDAA5M4pZoyFgiZCFAe7O8gUlUyF0yI5qbdhGKLlWsYvg3hn+pPP/3U7PXVtYCX7XBz7WVT/K3mZhdnRSllO7//Pt6uuGKM3XvvHOGbslxtbrNNIvbEX2DwWeDVV+tLrnCE83eeU8cNNrmChd4cuwDgpd+UllFGxXHiIPFg6VhQYJm7ZxAVEJdi8codP56hRN+4kV988cSdgmiAq9ddXJ4DxXFO/B+YF/qG0wfRhfbcMdMcgtRkk423pZYaY0OHzmHjx2cbKuMSRw8fR7jwTC7PmCpV8GJ8uR5icQQRibbjssZC8JkaPXic/lLmyXIEGgQ/Ptflu6by5SwBAuS++9aHnft58ixK+st7EJC4hvkcwiyUXDcIoHEZKH3cay+zfv0m/Z3z92VNSPDll+Pt8MPH2IYbJr9vpZD1u+jgJKSvgwaV1LTIA7ki3Mzxbb0CTNveedPnEyFEsTDLHnlNcVh9c0HgPaVkZDnVMkcffXRwI+F0yioRrCVwj+GqojxTiFqj5pxS2FX5BgDrIrW8zArC1Jii6RTifCqlTcq3cSg9/njuNtOh6dyU47LxYGvcNbiTRo9OyvN22il3+VEhLjBuumnTZ36jtA9hyV1NnmnkM/3F2UcuhLjjhr6yHNc6LixK1e65p76szcUZ9um5Vv6+xvD9Ij4w4Q0uJISuYoUpdx35vv2489FYeZyPA057Hn68HtgNnslUCGmByQU/h2NGHIxnpctyXPkMfT7bHnCvyPYuMPI+rifOOQIlbXNdMNM11376+kznLCEWMnMeLkCuR1xNiFw+y507/Hjt54p9087zzyfCV5wFhRjFdeYZVLTBctpIi8GNOZmGDk3e579vxYaUFzKBgRBCCCGaX3RAhFp44YVDad5DDz1UcJliJUAMo0+EtuPeqkUoPz3hhBNqXpCiZJHctqywfCFqgZq6cpnpA3sktbtYNKnNxb46cuTI8C2laDrctHLDXM7yHMSADTZI8p8KFY1wjeDKoDTOl3noOO0xoUYhN9hxGR0Olo8+qg9eRwRgvc8S57lSPqOfv45xQcR/dsHMg7FxuTAzHQIUGUaIH9zIs97dWI3NwBfvi/cjPuCmQaDp3TvJD0IEKqac3J1B9AWhpLGyNygy1iG06y44pxDxzGepc/GO8eWckL/Fufdz7iWfwGcHxoP3pEUvhBkXhHyGP7bD+cM14EHnsSMPkYlrjfOZFertOUtefsk6zqkH7HPOPTcrnv3On+kD48k14eVvLgKz7uqrk/PsszdSQcA1hGsRkTj+fcw3IQHHQbD700/Xz3pZbEh5sWW8QgghhKg833//fRBQyLsiMB1RyMO9mxvcRZ5rVGzJZTVBVlprwGc7lNNa1Co1JUpRh73XXnuFunVAnKIWl1kJjuFuS9QscS4PosKoUfXiDc6MePY9wpq56U6VV2cKUWyHKwghiv+ZtOEOLAQE/na7cIQ44DPveYaTCxhxflE6U8nL+NBFESw8VBthJRZluKH39xbilPISMIQuxsXdTh587rO75cOdSowJYlYsqFUCD4iPj6ExPDPLhRvGk3O+ySZmgwcnx89yP19+Hbg7Ky1KsZ07qPx42Zbj5zz7+WIcMVkiwAACDqITY8o1hhue6wghkOuR/jFjHk41rhPacDcW2yOccbweju65WODuMdqIw9URiBCzKCuNZhXOmeHEvvgMSJ8pA+QacxGLbXFc4XTiWo+D4bmWswSuQn4X0yW3xTgUhRBCCFEeDj/88PCoBuL8LdHy5JvtUIhaoGZEKaaJHTp0qPUjZGUiqMFM+zlkyJDM9xD2F8/yQWaDZ0DwEJWHcSa2rLHx5oaePB8cUAgB3PgjJHGj7jfcjs8kltUkp5sgaW6oETMQIhAPcMggAHBTTnkTpXa4UnCjcJMfB3JTjuU5Vi40uNsl6wsIF4sQG7ysCtGCh5f+sY2/191AhXyZ4ftFeHGBg/d56Hmu/nBsXlbIsTAuXrrHeCD4IZ7kKq0jU6pduwnhuX5ZMoZeQpfVT/+5WDgHjLW7eDbfnDr/5HqgpG7kyGQ8vaTQBTsXCxuDbTjX8blAOMSN5yWC/IzAw2Q2/EyfEKGYRZBJeLyc0Ms2PZ8KvOzOx9Nfx7MI8n76wLjH1y7XMgJU1rjF17pf2zi7aIftWYYQyvXbtSsC13hbaKEJNuOM/N7Vt8P1QDuU9GXNIJjvdxFnFm37bJv+OyFa5m+laJ3nTeddCCGEEG2VmhGlvvvuO/v3339DLXUMr997773M9zAbwimnnDLJcmyvfxRaQyWa/EGb4FY+tBdiKUU04kEpFTffWV/EcFPPRCKpCV4CuHBxtSyzTPJ+LhecHj4DGkIDy3A1caOO8MX27gRBdMB9gujDz3EuUT4QU3xmOd7jpWNpJ5MLXRxDllvJs5BiV1X8vqxytTTsFxcQ2yGE+MxztM1rF6Py3QO1azfeunX7CQnNJkyoP2+FlP2VCn3zkjNERMK8EaIQj7p3T66JQvOpstr293pJH+PBz1wPHnCPGMX+cUdxDTBWvOZ685n8IGsM4rLBtOjIa9phPwhf8bW72GLJtUoeWb5r3a9txCHysBgj3wfXNvtdZpnxNt98P9no0RPs998nqyvb5Dqnf2yf9XuT73cxBqFXVMffStG6ztvP8fSqQgghhBBtiJoRpUoBVxUZVLFTirpnpkjV7DbN94G9Xbt2YcyL+cCOKECGD0JAOtcGRxJOmqwYsUcfpa46ERi4gUcMwPnkQhOiAGITAg9CBc6Pzp2TNl98MRGDcIV43pTnBOXDHUS06SHauYidVPF7PR/KZ69Liy+xyOFCV77Z52iHNhB0cNLwntjx1Vj5XuKQamfDhnVoMPteITPeeV8LCXIHBDR3FiHMINogwOCWo/TSZ85jbIud0c/74+V0ybHVCzReasdrz6hiGX1if2RX8aeCfqQnM/F245wx2nDxyt19Lih6WSfHGF+7hV7rbIPDjz5xDSEQsR7XlL/322/H2/fft7OPPupgk08+WZ346bMY9uyZ/XsjavdvpWgd563WQ3aFEEIIIVq9KDX77LPb5JNPbt9QgxLB67kIUclg6qmnDo80fHDUh/7mgw/sxY752msnZXa5cm1Yn26OG3MCp3GRxEHllF7xfoQGbuB59gBxL8kjg2eRRRIhZPHFEzGKWdLcJZUlhCA2xDPENRZizvYuDvmzl3S5YOROqNiJE5d1FRo+zlhxj+PuLw/l9pI+F0zyOY8mTGgXBKlYlCoE9ocQiKjSWBg7ferb1+yddxIRcbnlkpI5xBZEIPrLsWSJS1ltpdf5uYmzrhCIWO6h5D4eLj6xnTuCaI/zw/osMc8FuHg54hDXAWPA+WJ/uLw6dUrGA4EovnYLvdZ9tsD4mvVsURxe9J2+zjBDO5tmmsmCKMU1QB8oQUSMyvq9EbX9t1K0jvOmcy6EEEKItkrNiFJTTTWVLbXUUvbkk0/aZhMTrvmGktcHHnhgS3dPlBmfmYzyIYKeybUh/Drf1Pbk3yAmIfTgSOEGnxInnv0mn5t0BAM+/+PIiUGswiWFIILY4C6T2BEDvNfFiI4dE/GENnk/4k8uJ4+LS2wfu3Z8P/5zWpDyTKJcWU1Z7iXGABGE8sc4cs37XorjqFDYJ2JPXI2SJRjRDz9PiIGM4bPPJuIK5wlBMH6Pi0K5wtr9ni4WidyVhjAUL2ecXeBjmZc1eqmj7ycuxfNt0sfgbbANYhfHz3XIhDjufPLwdAQ3fj744IbXciHXOto7M+k5tMO1Sri5506xb8r1RoxoWLboIqxCyoUQQgghhBDVRM2IUkAp3i677GJLL720LbvssnbhhRfar7/+Wjcbn2hdcDPOTGGNzRbmcENPdg7OKMQDXCUIHQhS3JjjIuHGHsHABRsHAQVhAXEAAYO2XnmlvtSPG34v/XOXDfugfS/z8rKtLMEnFpfcrcS2cc4R70s7i2IRJl85XFo0o48IGx6KXY4sqEJmDPQAcZw5LujQr3RYPGIJP1M6yTjjTGKZz4yYz3GWztpykc334Xlc/Ew78dhwffCaa8Jn8+M6W3HFJEzd++cCmIt4bMvxcy3E7jJvm/HmGkAQat8+KZNDLOI9LEckoowSxxSOLMQlZtBjljuuuUKudUQq3sO1SjkqZaqIUp5BRr9wTJFR1aNHfWkf+0OA5ZEl5gohhBBCCCFES1FTotQ222wTQspPPPFE+/rrr61Xr172yCOPTBJ+LmoHhBwcTu4QQTTK54bKB++nnMlnwvPAb8QKRAjaW2+95KaebB7cOelSKWYmYzv2f//99e0gRnhAuT98FjueaQeHT5ylhCARC1Sx68rb9PUu0vDedCaVz77XGB6mTRs+kx0CXSE5UIWQT5DyY2W/jK3v38csdh/5cSJecf4Rbzh+F5aKwdv098fH6cKSl0Mi5HCePEydZbioyHhCHEPQQVRie86l99nb9BI/3He+P565xjhWBCC/dg49NCn/5LoeNiw5p0suyZS99aWTXIeU7OGQKkR4pV1ELN6DsMq1yf5pz0sDEb68fwhtDi4tzd4shBBCCCGEqDZqSpQCSvVUrlf9AlGh+zv77CTA2QPAsxwkhfYbpwvCAiIDuT3uYuJnhItVVzW75JJJjzNdKuX9cgcKooq7b1xIArKnEDlw+iCsQJZDKg7D9owh3uf5QAgMXqoWu6ly4bMCxoHnPGgPJxCuo0UXNcNASDmcZ2lVcua8WBxiP+QXMe6ASMU4IwCxnuvK15MjhbOIPnOuShHPfNwYFx8/liEgcU3RLuIc4+V9cMHJyxyBMfLZF91Zx/miPc+U4hjpO0ImpXkIPYhDnD8yybhmXdh05xOlei6Qcq3QLvvAuUR7XIeFiFJxmd9xxyV9oi+04/3wTCx+9rwpxC+OnWtcCCGEEEIIIaqJmhOlRGUol0DU2D5iMQhnB26l7t0T14xTiIPE23r4YbOnn05uxr20ihIwRABu1FdYIREBuElHLIDGSqVol3FYdtlkRj7a89Iwd1yttJLZMsuYDRpU/75YUEHs8GUeuk7fEAfoG/33bKl0gHZjZXq0jeCCkEObtOdCiotjZBf161cf9l4pMcqhfUQXQMhBiOKB4LTwwmbLL5+EmXOecAy54HnddYmTiBI32shXtpcLL7FzNxnCEqIc+3GBj3PKdeXCoGeKIWB63hP7JxOMvpAtRt8JIGc5Y4joR5s8v/deImZyzBxbWryNr/W77qoPa6dt+oebieuK84g7q1D82r3xxkR0cuEPuN5pk+MhYwqBNnYBKk9KCCGEEEIIUW1IlBINhBhudBGknGJLjHLBTfo55zQUvRC8EGa4Ue/Vq76sCQcKP+dykMQCGiIHAhdCjQeZexkYLhzKphAXirkpZ7/sn/yfdddNxDkykrxUj5t/9nPVVfXtI4ggALjbx8Ui2mEbz1Vyxw14P9Nlfo2BqIK4Qv9oG9HNhScXnxhXBBafYa45YPz9+N2VxfXD2HkIOYIOYtqYMcn5p3/0kz4WOrMguNjEtYKgyXWAyOlh5IiQtO0uInKW6Evv3vUuwDXWSLa96aZEZPKMqQUXrA+8pz2fiY/xZh+MNzMG5hJq0wIv+2DfiKYuKCIishzxCNGuWNKh5z4m/B4xFohV7KOxyQGEEEIIIYQQoiWRKCUaCDGxIAXc2FJeRrkQ7oxSS/q4QU+LXu++W19qhGPFy6hcvEA8aExAo2/0A2ECUYFMHW7+EQZ4jThzwgnJsqOOKqwskW28j7haEOR4IIKQE8Q+PCgb4QXRgnFCtEAQcFeMO6DSuVK89hn3oBhByttE/EE8wX3k+Vb0z3OPGA/GtZIOqXg2QA8Dz+ovxGLZq68mjiNcXbh5EHq87K4QOGeIWL6952h52Lc72hCYcA5Rusc2CFIDB2YLRwhDiGMEwyOi4fLysjeuAdr0oPK4RK8QgRc3IPvgHNEvBM3071mxxKHnPsMfIJjR9qmnmm20kdV0ea8QQgghhBCi9SNRSkwixDjckPsMX9xUc5NdakkfN7Np0QshB0EC8QCBIhaluHnH5dGYgMZNOIITogaiAu/jNSVRCCDctF92WX2WUyFlibELhTHg+OkfAgfCBLlN7uxxVxQiEceD4MDPnkEVzwTns7q5gBQLO8WEkbvAw9h5H/zZHUk+JpUUpdKh4ll9zHoPQqJnXSF0+Hsbm9nPcfeRCz0+C6K70LycD2HOSwnJXoozlbKcgbiLOPcvv5xcNyz3metwW3kZqIe4Fyrw8jPHimjHMSJcuquNORoQvYolDj2nfQ/sp81NNzXr08dqrrxXCCGEEEII0faQKCVylgNxA+4lTHFwdSklfVmiFzf7CD0ICNzwO40FM8dtIQSRz+Mz7CEYcNPs5VEIFGQW4cxZaKGG+8g6Bm6+Kcd7//0klwkhgXa44eY9CFAIU54PFcP+3SXlpB1SPLujKBakXJRK50tl4e3gwHGxy/viogdCR6VzpJoC/URUo59xeWMheIkg54XrxgPoPQDey+08qJz2uV7i8s1czsBZZqnPx2KmxpjGykpzXesIRhwr7/cgchxXXP8sL2VWvDj0PA7sX3tts549yy8QVbq8VwghhBBCCNE2kSglcpYD4Q7ykjBuoIu9OU+LXsOHN1zGzTilVYg/iCuFBjPHApoLWx5iDe6ecVcSyxGuYrKOwd0g3IAjcNAuooE7c+gXN/vueGkMd0bFwpQ/xzPhIaj4ti7QZBG7qTyHCtJlc/SNca1mUQriGQSzcLEO4mNxIc7D5z28nHPqYfc4nDy/iWukY8f60jOE1iFDku0o1UM0cjdUYzMf5isrzSXw+jXKtUMfcdqtuGJyzSKclTorXlZgP2NCXle5S/Yo3+X3E5dbPFal/C0QQgghhBBCCEeilMhZDkQIMzfolNWl3RyF3Jyn28exFIte7IdAaZwvPpNZIcHMsYDmwhbZSi5SAOIW63A10U7sxMp1DO4GmX9+s0UWMXv88XonF23Tb1w4hYo9/r40XtbHehdRvOTMy+/S7/P14AHnLHNBKi18ebh5LH5VI37sucYpLkl0GIcePZJ1nD/P9WIsEKG4puLg/JEjzb76yqx//+S9vMdnqUN0QXj07Cl/Xy5h0MtK8+UrpQVev0YpI/TwdWb7q/ZZ8eKSPQQpF3fTY1Xs3wIhhBBCCCGEcCRKiZzlQJTrccMf3+AXkvkU39Qi7CBGvfVWckOOg4S8J27W3RWVbyazQgQ0cnkIqEYEQNjCFYOQhlDw9NNJyRTC10svNXR5pI/hoYeSbXGDIGLxjNsGUYT3e4ZToTRWhkf+FAIYTjEP7qb/XbokDh764OISggB9of/dupm98ELSn0IEp2LyqorZthzEuVu5SB8jLjZEJs7zEkskggnXGueGEk0C4P165ZpARAHK2hApyR7zUHrex7XItYeDCoGFLCp/bxwi7mWlzNqXL1/p0EMnFXjZhhJYnv0arPaQ8PSEAghSntMVT05QyN8CIYQQQgghhMhCopTIWQ704IOJuwRxJOvmPF/ZkbssuDHHucJr2id8HIEHYarU6eqzBDTKochYWnzxJBfIQ9oRHvgZYYP1OFS4sUa8YBn5UQcfnNxkI2B5/hAOJkQfRCHPqYpDuRsjn0PJBRNEJgQL8q+4scflw7HhUPOZ/eLteY2gMnp0YRlMvA/hgOOgPZ4bI+v4CnFb5XJ4FbK/eBa/XDBWnqXFeDFuCFMIkpx7Sk0RJoHz7MHfnHvOJ+Pq4hH743rmuuZ6pB3EQNrm+thjj2QbwtjjEHF3NkFj+UpZeU/VLkKliXO3vATRJwxgfBhzfn8a+1sghBBCCCGEELmQKCWKnuGrkLIjd1l46R/uFpwt3LgjAO22W9MyaNICWiyCUVqE2IDAANxA028vj+PmGnEHJxVOLvrGet6DMIGDKS4Z40YccSoOJC+ErG1pl/a9TcYCgQ7BxUUj+sLxgAti3h9ENvreWKaVCz2eidW5c3IeOC/FUqjQ5LMKFjqLnlPIeLpjzI+JXKZ41kaW4WBaf/1JhaDrrqsfT4Qo+oljymfw8xkUPTD9yCOT62u55bJFpaOOyg5JT+crpfOeao04sN1LELlePVgf8RTHWTWXIAohhBBCCCGqG4lSougZvgpxfOSa3axSwcjpvuLycjcRAg3CE8IDr7mpxm2DMEH5HK4pSvsQ3RCmKFVyV048Kx4UKkplZUIBogeuJRdBEEtwbuHu8jLDOA8K4YS2ELJiV5ELKLnKCVnPOHuJH/ukfMzfU+4yvXhWwXxwTPTLjx+BKBacGnsv70FYwt0UZ0lxXAcdlC0EcT148DjnHWGFcXbHD9cOjiufVfH55/OLSlkzSTqtKV8pDmznnFHGi/MOIRBBivJeBLpacn8JIYQQQgghqguJUqLoGb5yEYc/Dx5cn5FEiQ8hz5SdISggJiCMeElfJfpKjhXikucVIUoB+/Zwa7b3WflwJ7kQFTt9YuHGXTW0VYgA4yVn/l4/Znds0Rb7pQ9eYoibjNnT3Enls+y5MOVuNQ9Rb2y2ON7jIhhjX0ipXCl4P+LxQgByUS2eRY9j5zi4NhCH2CYuV8wiDoJnPzju+BlhCYEEYW/o0MQplb6m4uBxytAo74uD4ekLfaA9HFiNCabp2fViWlO+UjqwnXOMK43fZxxSCFK17AQTQgghhBBCtDwSpUTZZ+ri5tVLpMh1QkQg6BwQESg/Q4Rg+8YCzvPNcpbvfZ575YIIogOPeOY73C4+Kx/L+BmhhGffJhZ/2J7+ZIkn7gDy9nlN5hAOqFGjGuY5MTbkR7EdooyXDSLiMD6sd/GKY2R/7ubBGeQCl5efZTmmeC9CFOPAesSpESPqBaxyh5l7WSL7dOcSQgYCHscHrGP/lCsyljiW6CevuSZ45MLH3M+JHwPur8UWS8bzueeSa4VrI75mcPdwLhBGvRSSPtIXxpxnn62R9hpzOqXFmmKy1tpK+a4QQgghhBBCFIJEKVH2mboQHBAoEKQ8nBshAeEA8YR1zJDmodCx2yIWoRAtKBVC1MDBwvvjWc6yBC1/P24jF5zSIpILMvQLwQJc6PBnd+a4KOUlfPTfRadYKEF8oS++T5ZxE9+7dyImvfZa/fZs6yHqnlUVlzoyPhwzwo67j3iNkMLxeXYT5Mpw8v7SduwsQoTxkr5iQ8nz4blMvg+cS+wHEYMxY2xY5rMIMu445zhGxEsXixrrkx8X23I9rL12fRA8mUcPP5xcG/HMeO+8k/QNlw8iIdcUpZKcHxdbfEY8XFRcm9Ug1pQqyFZD+a4QQgghhBBCFIJEKVEW0hlSHow8cmS9qAKIDqzr1i0RAOJSqbTbihv9999PRBwXssixiWc5Swta/n4XP2Jnk4sX7uTyki3gGZcUwo+LHt7fOMsIcYObcYQIxBRwJ5Y7pTwsHaHDS544Ds95og365SVv/kBIo12EGtxD7I9jdXHJj8WzsRqDfnuWFnjpoQthXtZXLhAsOFZmwUP4cfcW44VAxYNxj91oXs6ZFqQay7xiHdean1Ng7IYPT96bNTMefdp+e7MNNkhmleT8lOJ0aqpYU4jYlP5d8JkD8wmyLV2+K4QQQgghhBDFIlGqDVNOJ0Y6/NmDkQmkRohARCCHxh0p7jCJS6XoC7PhsT0z5FFuhWiCiIFrCncNokcclh6XapEjhdDVtWviTsINE2coeTi4i0aeKcUsfS78+HLK6hBweLiA4g4p9k8facsDuxFUPLOJviGKcJwO29MmbTMOvPY8KxfCPPeJMVphBbO3307KHllOP4oVkuJZ+7xfHIM7e8qFlxBybnggrnFtuWuK84YoiYiHMMUxsDwWDtNur1yClGdssZ7x49zTFmNG2whLZB7lC9g/55ymO51KFWsKFZvSzkMnlyArhBBCCCGEELWIRKk2SrmdGFnhz7SL4wfhoUsXs+WXzx8K/dBDifjkwgXrfYY6RA8cOIgegJDAtvEx4IThPRyDu53iGescSrgQzFiPWNKjR33YNm4s9jFkiNmXX9Y7vAgg9zIzBA723717Ip59+GHSZ/ZDuxwrYhwCmQse9J/9MRYuSBHE7n1DWEF8A3eY8cz7EXUQpWgP3FUUlxdm4YIZffZtEV4Q7ADRzqFP/p40XsqYFo7oEyV5tMPxMf6MnQt6jCfvY2wolfRZ/7iuaMtzszxovJDweBekwAU6xpKwc8YQIbCxmfFasiytULGpuWevFEIIIYQQQoiWQKJUG3U8lduJkSv8GQEIAQLh4L77EiEBwYJ90rc11qjf9v/buxdgO+dzj+P/RBHVNEVTZKTEraKJCIKmRdL0VFBzwqFmUJcqqheX6Li0Z1xK3YnWJYJBe4ZTpUWPok1VUHdRDiWJII6hWj3jBOkUlZz5rrdP9rvfvGvvtddee629sr+fmTXZe613vdcVzfr1eZ6XUItB3iDYQIQ2HCOhB+uK1j5ei2NgncywIkTKDzKPO7yFT386pfHjs3VQIcXMpx/+sCOk47zcf3+2H7FtlmW/CaYIdEaP7ljfhhtm55uqJrY1cWLHMd1zT3Y9WIbnL788C3B4xKyouKMc62c7hCO0+j37bPY7g7c/+9ns+FhX3Lkwf26qifCG/SXQi3MWARNBVIRahIfsB1VO+WAqv0wEfewLAU/cXZD3co4JhgjyCNNYhnPFvhLcReAUrY75gfNxHvIDzMtE1Vdxmfx54PMWQWJRPgRtZFtaT/7+1Ro2FSsP84oVhpIkSZLUrgylBmjFU1dfjvmSP2tWz0KusuHPBFS04FE9QyiVDzuoEiK0mDs3pd12y9bL8hxPtNkRQhB2RGUQP1MdRXtWVO2wLQKQX/86C5IirOBP1sd6WVcsG+FPcX5QVM/wvquuys4Dg7Sj3ZC2Os4r1VIRvPF+grCXX85e51z+53+mdPPNKU2alNLMmdl64/rQGkgwkq8IYt/ZH46b/Wcod8ys4nlCIlr4qMCKFr4Q86vKxPljeYItgiAqurgGhEYR3sVdA9l23JGurNoqfx45TvYvBoTz+eA6Rrsec79i9hYhVbQORhgV1VtxDFzXCKW6miPF+WMfYwYVIWDcyTDa96JFsVl3xuvp379aw6ayysNqFYaSJEmS1K4MpdpcvRVP1b4c88Wd1jPCEdZRa8hV1hJFyEAwsNFGWSVRBBxRHUQF0X33ZcfAPvKlPD9fKZaLqiLCCKqYCCOYG0XQRfsY+0c1TsyCQoQ3rC/axQhVYoZU2fwgliMs23zzbP1x9z8ql+KOeKz/V7/qaJmL2UkRAsWd9W6/PXt9332z60NQw3mlmihfEcT78/sbbW0cI22FhF4Ee7TwMYsq7sIX7y/DvsQd+lgv15KWwr32ytroOB7WE8PCeUT1VhmWY5uEPzGT61Of6miljDlOJ5yQXUfOz4knZnfX4z2EKMUh5hEexXWNAK2rAe5xx0DeQ/jF3C2OKxCAcf6nTOn7O+PV+/ev1rCpWuVhX4VrkiRJktQKhlJtrt7ZM9W+HBPEEJxQxUQ4U/ySPW5cFkxUq6LKt0Qdc0wWfvBlm5CFfeRnHgQ3hCVUId15Z/Z+KmkidCgGLtG6xRdyvrizLSp/CCEIWmJWUVTS5GdJsV7CC7ZJmEHYU63yi2NiXwmDOBcxjJuKpQi8eA/rjDa6qNqJCiwCNR533ZWFPVGJxGsRxiB/jPFzVAzF/CWCH46TainaB2OWVFcVRVx7zgvbJEzjmAkM43gjNOKYImgqDj6PcxdzueKuf4R17A8hI+elLPDhT641gR7nPEKt/PHxXNwBEXFcXYllOTbu3sjyDz6YVanF4PSdd27uvKie/v2rNWwqqzzsy3BNkiRJklrBUKrN1Tt7ptqX4ximXWwPirY+WpWi5azWViUqf2K4d8w1AmECwQ+VJmeckdILL6wYQkWlFFgXIRZzg+bNy1rpotIoBnUTwhAeRfVNvMbsKPYnqnmqzQNiwDhBEutgexwn+024EmEX54L9iKHsMTCd42Fb0W5IWPbwwyntsENWNcTzXBOWq3YHPY6VoIjt0BLHz1HpxTaioqhaMMXr7BPXaMsts2MgSMwfM8e6zjrZuYrgLT93C7Hu/GBx9oE2Qs4JFWUEQWWBD3/STsf7OFbWwT7FfCrCJdbFPkb1XJyzkG/viwfvJRSLGVx89niOUI0glWvJfoHj3WmnlC66KKVbb03plluySrNp01KaPj07r634+1dr2NTKYeySJEmS1CyGUm2u3tkz1b4cE/RQJUXoUkTA8NJLWXsUVTgMz44g5qabsvCDL/35faPCJ9rOWDba3KKtLu6ax/wlvpgTlBBgxCBuXie44D0ROFEdE3d2A4EFQQfrZ3mWjZY6nudPvtQXK0zK5gERjNAGxnsILjgfhFT5cIawieVZJkKX/BBw8BzL8DrHF8cez3VVFcTxc8xxXThW1s37pk7NWhjZrwh0QgRWnDfCI/af4y62evEcr3GnQdoC466FbLcrcT3YJ+6kyID4avj8EOaxH1xLhtxzHmM4egRNDEmnyow2TNoKOdZ8+yHHGIEj63zssZSOOiprj+TzwINrzH5RVUarIyHj9ttnn1NCxqjK4pzNmJHSvfemdNttjQmmevr3rydhUyOHsUuSJElSf2Qo1ebqnT1T7csxwQyBU1Sq5DETidCF9q2osCFAIMwgMCHgiaHlsW+0wbFfMcA8KmJieHZUNRFGEF4RMrAvfKGPYCZCJtbD7CieZzmeI2xgHRFgsE6qgMBxEFhwxz0qpIpf+svmARHIMbic7VM1lg+jENVX0ZKIqORi+2wvWt54nXNEOMP6OU8EIbwerWhFvI/lYp4WQU4EcGzzkUeyUCzOAdcj2h7Bz2yX8x1BHBVDtOzlq8FYnmMlyOHBep54ouvPWgyjr2WmUfFzSThFCMp+s22Gr1PJFcEZ1+ess7KAJ3+HwWj75BwQSrE8lXLMI4tKrPxAeq4Z7aDnn5/dwZDPB8cW86j4PHGcVFCddlpqyd8/wyZJkiRJyhhKtbnezJ4p+3JMeHHuueVfsgl/CI4IpNhO3I0NhCa038XQ8vy+RUsg+0SIAIKC/F32ItChJYzZSVG1FdU57CtBSwzoJmDgvfzJfrJe3k94EX/yvs99LqWf/SylRx/Ngo/8HCzCi7J5QOwbx1vWHhdtgbxWnMPEa1GtxTrZPwKvqIzKV0ixDOuIQKvYjhdD0HnEXedYlv2PwDDmZ3GO2BbXhHPG8fMnvz/0UEo33JAFY6yH4Ib1UFHENmgtZH35uxxWw7mnDZHr2t1Mo+Lnkm1TDUV7HeefQIrwLV/BRvUTc8Y45gjlOEb2nc/FmDHZumnVI6zifHIMhHQEUIRt8TpVfDHrK399IjSkpa8RoZSznyRJkiSpfoZSba63s2eKM5Vo5yJIIbSIoCO+ZDPPh1AiKqTK9iU/2JnfCYJY/1NPZa1/vI8H4RYVOgQJhApUv0SgxOuEOhH+EDq98UY2mDsGYsecIpZhXXEHuQiwCLZoJfzmN1O6/PLOLXoxB4uwgzsD5hG4RYVW/BkhWIi7A0YwFj9HRVegeofzR/DDtaCSjOAuWv94H2FQ2WD3wLHG+uO4CaF48DzXLwK4CEXYBwIgrieVaixDqMM2ua6cG65xXEt+J8TpKpCK46YlrtodGLv7XO6+e/b5otqN68mw8vznlMot9iEqveL8E2hFZRfP027I54bl+AzEMPU4p3xW49rkB97n7/BHaNcIzn6SJEmSpPoZSq0E6m0HKpupRKUKX+wJjAiKCBDiSzaB0eGHd8xNCtE+xnuKg53ZtwkTUjrzzJTOOy8LQAihCBaYIUTlDKHK+PHZz4RC0ZbHcnG3PCp+qNQJ+bABbJ8g5t/+rfOsIyq/ii16oBKKgIhghvAosF+EILGtqGTKi1AKnAv2kXApqr9iWDkhHueDlkauDX8S0M2alR1PzEJi+WqhVH7Qe4jlo7qKB+uJOwJyHdgnzl9Uk8VsJq4HbZhbbdVRGUVAVxx0HuKYIvzjGtUatHT3uYxANCrYqHaKVs4IPjnWuGsiFVAsz7WJz2DMJmNdEVLGOYtZXLyeD6ZYlmNpFNvxJEmSJKk+hlIDWNlMpQhsCGf233/FO9URtHDnO0S1DkECbWFUrtCaVYYKG+Yh/cd/dAy8RrSlEZQQXsXgbeZBEUQcemh2FzqCiKiAQVREEZhESMGcouIMH6pXWJZ9o0ooho5H5RChW75VkdcILmKWVQQk+QAsgiDCKwIgQi3Ww4B0los2RQI+zuvVV2dBFNhPzjfbo4WsOLOqmvzd8PKD1SPAo+KL7UcgxnHmK6v4k4q3qEBjWd5DayXXlTlcnPOy4+XnaP2rdjfHnioLRAkICce4VjHonO1G6PTMM9n5izsHPvdcR0AXM6i4prxGIMcx876oTAPLcTz5gfySJEmSpNYwlBrAIrApzlQiMOH5fCtevlXp3/89+3JPIBVDpqvd6S3/3m23TemWW7KfeS/B0IgRWXUUIQphCQOsCR0IGnj95puzwepxB7WoLOIRc5BYF1Vde++94t31GGpN2EH7YMxnosWN1j3ezzp5PVoVWYbwhuPhzwiAIuCJFjBQbcPMKhA0EYpxHFT0xNwn1ksFEM+BFjRa19j/qLBCMfQKxSqpOP7A+2IGFteEn1knj7iLHccU54kAj8CGAIqqJ97HOtZaq6OtLd9OSEjFfo4a1XXo2IhANIJAjo/rmf9c8tliX/N3DuRzw/FE8BRtjbwv5n1Fm2dUi/En86ymT2/McUiSJEmS6mcoNYDxBT+++BMERDgUA6QJOfjCn2/XogWNgKc42Dk/sLqae+7JKqE237zz8wQTDCInkCBIoWqKyiO2H4ECYnA1QUmEOTxHBQ93U8vf+S8qcagEIoAhkCB8iRYvgi+OmWOgiouAhmPYZpvsPYQ0jz3WMYidfeGcEPrEHf6o+IoqK9ZD1RTvi0Bn3Lgs5CFU47hjKDftkCzHdvLtdSirmoo2vRhozoPnYmg315CAjNcJaTg3BEkEb1wffo/18xzHzbIccwye530xXDwfenFcEydmIVFXoWNxNlkMk682V6ksEOXc5ofIx2txnJxn1stMMMLMj3+8o6orP/yeY47gM84Tx8RrVOPddFMWbEmSJEmSWstQagCLL/h8YWcgNqFUzPIhyIlgJz/YujeDnfMhWB7hBBVSvJcHy8Ud5/LDt2MGU8wIIogg3LnkkhXn+UQlDhU1hEvRghZtbIQyBB0EG4QzMYcqjpn3E5JEiAUCMQIPKsMIfQimOGfFu65xjOxjDFVn29GuCNr6eI6AKOYe5QOp/J344r3Rppa/8x6vMUeLY+d52hOZVcXy0VLIMUQ7G/Jzr/LnNh9E5Qe2c8yc92qhI+eLuxjGEHeOm8CI5ZlVxZ3pygajl30WCNYIxzg2znvcUZH9JURiDhafM9ZLGBjHGMETf3IdCKNYN/tBhRrXisDS4eOSJEmS1L8YSg1g8QWfSh7CFb7IE2jwBZ8wgrujURFFAFVs46tnsHOEYGWVWYQbhAwEK4QoBBQEE1EJE7OUWC7mNhFWUMFTVp0VlTjMwKKyi3XxXt5D6EELHdsgpGE/8gELIRYBS1QXcU6o0iGEohoqWhUJWwjwiuHctddm62IfCU0Iqwhb2B+2He10+TlRyA8u52fOM+vgZ7bN+eG9VF8RGkZIFkEV+8X5YJ84Xn4nlGF9UTnEtghp+DmGn8dx5vcpQilCPwbNlwU67MsPfpDSj3+cHT/vISzimNk3Aj+qkqgYiyHvca64e17cUS/2n3NLUJdvxeMYuE4sy9372AeCLj6XnBdeJ3DjM8txcb4431TPce35TDNI3SHkkiRJktT/GEoNYPEF/8orsxCDgIYv9AQTfKmnyogWs+Jsqd6GYLS9EfpEZRYPtvv881mrGQEMCCUiqCGoiMCEMCRatZh1VCYqcXgfFTMM9mbdhELgeR4EcnGnvwsuSOm66zpa3CIII/AgjGEwOOcpqoaiXbB4bjhfVJ7Rhsh6CX2i6ipCNQIU9iWOKUI2lmOb0WJHaEMgtsMOHeFNVLax76yDY4sqrYMOyloQaZUkFPrUp7L3cN45X/xO8LdoUcecqRDhWLTCsY8EQfm7GeYR4BFI/eUvHe9nffm7E/LzWWdls73mzOlo2WPZl1/OXo9j4zNHSMmML64Z1XNxXHxWIxTLV+pxjISnnAvCumjnJBSrpaVUkiRJktQ6hlIDWHzBp4IlBo3H4HK+2EdbWqPuuBYhGNUzbC/CCR4EC1T1RFUR2823xEVQEmFSzD8iXCm2GBarsqjAIbgB2yQwYVnWz7rZHjOpGKpOIBXbIcSJge5UVhGmEYZ01wbG67QOEtbQXsf72Nd86EN1WGyH8Iff2Q4hE2EU6yaMYn8JtqhAogoq8B7eyzqoOtpii5S++tWOoKx4d7ljjsnOB+diwYKO4Kg4SD2wbdZJ0FPNNddkFVtRbRXtlYjfOX72j+OjYipa9gjb2AcCKK5lBFAcI216/EnFVVlraFmlXk9nWkmSJEmSWs9QaoDjCzuVNQQLxQHkICggGGjUtgiP5s7Nghp+J1yJEOyRR7L5TgQM0Y5FOBKDygNBCu9lf6u1GOZnD7FuAiaOJaqTojqLkIag5NZbsxApWhejfY3zQoUV26SCq1rVUB5BCOskeOP9VD/FfKT8MURbIq9FOESow/L8TmUVwRBBHnOouLsfx03VEecv2gppdyQ8ok2RUKpM/nxwXqMaKz9EPYacR1sk+xt32ysLfbiOMX+KcxRVb+C5ONesk/3Nz5DiOKmQinCRfap1NlmZeltKJUmSJEmtYyilToEFIUfgdwKFandcqwfhAaHP+PFZi1Ye4RQtfTEXKNrcCEfYF37nvcw5og2NQIlwgyqmYothfvZQVFcR3rBuQh9CFd5PYEWFFm2KMdQ8AqlAYEPAMm/eisdTrUJn/fWz4Id1sl22GVVYiH2K2U4h3wLHNjkPtA1Swcb+/td/ZcEd54XnYj4Wy7MfxXCu7HzkZ3JFiFQcrh7zp3hfDH+n+iva76i6IghjWWY+ERzmz1vMxsq3JFYbcM+x3Hhj958dSZIkSdLKxVBKKwQ4+ba54kyeRrRJ5Vvr8giIaPdiGwQZhC9U4BAKMTuIIIuApqisxbA4e4iqJY7t05/OXqedjzY25itxrFQrsS3EkO0IbAhUInDJH38Maqf9jyoqQiKOi4CPsCjCNzz4YBb0sC1CNtYX7YF5+cAo7qhHBRHrogrqlluyUI4gKLCOuAtdtflf+fPBLCjaHjnm/Dpi++wX54I2uilTOu5kOHJk52onzh+BXgR9Ma8rwqiYE9VV+2cjK/EkSZIkSe3FUEorBDj5O8nlw6ZqFTOEMIRaxblOPa3MIiSheopQhKHnrIvwhWUIXQhBCEZiblF3wUa+pYttsu+EURHgEDxxrBxXDEUnOIogjAqnmGVFiES7YP742S77RCDDsgyGZ/85Ls4LYVUcI8fGNlgfM6LyFVF5EYSxfZahGon5Sxwf1ybaC/M4X7yPbXUVABVb3Bg8TqjG+zi+aL9jvzgnhIIc6113dVzvvDFjsuqvuBNgHE8EUqNHZ3fAi7CvGZV4kiRJkqT2YSilmmfyVKuYIVwom+tUT2UWlVDclW3SpM7boHUu7jgXd5TrSbDBNm+4IQuLCJB48F5CHrbD7wQrzJUiDKLqJ+Y8RQsaVUEMaSeMoaKL6idaz3hQNTV8eNZiR/BCZRdhDM/HnQMJo9gOx8h2CXNi7lJUYsWAdUIpWv9inhXH95OfZPsaIU9ezMyKGVDdoeqKUIrjIvBiuwRM0SaJ555L6d57sxCvrEKNzwEPzlm0WcagdsI5zhEh2V57ZetkXd1V4kmSJEmSBg5DKdWMSp2yihlCGJ6v1jrWk8qsO+7IqpmK26AKiVY2KqgIcHoabLBNhnczwyjufsd62A5hEsELzxNMEQbF3eliEDfhDXOneI5gaeuts3UQBvFgGaqOCKXinBBMHXpoR4UT1UcMZudYotrrF7/IhoCzbLT3sW2WjzsTxvGxHvaX7fIe1sd7oqqKYKi7cC7aDznPf/pTVs3FOWR/CMn4kzCJ42U/mPNFEMhd8vg5L9rzqIgaNSoL4KKFj/fzWlTbgcHmXVXiSZIkSZIGFkMp1YwwoRgWdTXXqZbKLEKJmNFEJRBtfcxmYuYR4RQBTNyhj/Y5fh87tr5gg+CJ9RC2ECBR+UToxM9RfRSVT2yH5QigorWPIIgAiuUJsliO6iIQDOVnNEVLYVSfResj1WGEWxGqsT5+Zlv8zLYibCMg+9znOtoiJ0/OzhMVV3G3u6io4v0EYjvtVP34i+2XBEc8eD+hFutiNhbHRbjE8oRlPBdVVMX2O7Z75JG1hZHeHU+SJEmSlGcopZpVG1Be78DqshlVrIeKqAho4q51BEoERLvvntIPf1jf/hOwPPpoR6DDIyqTQChDhVJUKYGAhsHiVEIR3vCIYIqAi/1ieSqWCNOqtRRWqw7beeeUZs/Ots38KIItZkgxS4t9+MY3svdyrp54IjsXBEbREsi2o2KJwOj++6sHP8X2y5itFe2HPBehI+uNoI/jZF+iFdH2O0mSJElSIxhKqWbVBpTXO7C6bEYV1VHMKAJBDYEJCGsYvE2FUr14L8EPbXxRDUT7Wh7hUgRSoDqK4CYGrhNKERCxPwRBb7yRhWisi/CG9sJqYU3Z3C7WxfqpoGL/8oEP7491cK6YAcW+x935or2QoIg5W/zeVQtlsf0yQjXE4HaqogikWD8hHgjxdtklCwRtv5MkSZIkNYqhlGrW1YDyeipmymZUEYBQEUVYQ4BEhVIERVQsRYhSD95LuMQ24i57eTxXvLNfVFOxTxwvLXUEUoRQtP+x75/4RPYnIU9+jlItYU2tdz6Mc8W5ZlsR1oFZUMyHYhh53E0wWiL5nQo31hfVUCFCNZ7nPHNcDJmPc82ftAqyTQIp2+8kSZIkSY1kKKWaRNBBiEFYQRBCRc1WW2WBRT0VM2UzqgiKCET4k21SLUVbHIEPwQnbrxfv3XLLbP9pv+MYWD+i+ojghyAqfs+3+UU7IcuMH5/9zGvsX3Gwd0/ORS13PoxzlZ9jFWgnJFBiHxnkXmyJpOWSCjeCNLbFnfHA6wxsJ6h7+OGO88CxcG0XLMiqwA48sHctetVCMqusJEmSJGlgM5RSj2c/0UJGmEOAQZVQveFC2YyqCF1YP7OVJk7seI3WOO5eV6/YHgPT4y55VAkRgBFUcWxsn0CGkCcCKY6TZajcItghPJo5M6UZM8rDn0ceSWmbbVK6557GhTCx7/k5VoRR4GcqudhPWu6KLZHRYsn7aVekJZEKKII5jjPu4rfjjlmLYgx+5zpzzBxLvftdNjcszhNVdzHEXZIkSZI08BhKqa7ZTxF00MpH61k9bV1lM6qo4qE6J+YaPfhgFsRQjVTP3Kqutsd6qZ5ivYQnMaeJ3wmjCH3iTnwgKCNYIpBioHjZOSHw4S6Cv/hFNiOqUSFM7DvngYqsaLkD+0e1Ey2UzOMqtkSC4yWwYllCM/YzqsQ4Hxwv87K22CIL7Pid/ec1wrVp0/rXZ0eSJEmS1P4MpVTX7KcIOni+q+HaPZlRxbym+fOzgAhUJTEr6ZVXsqqdr3yld21kZdvjQRjDsVAdRBhG2DNqVPYgIKNa6DOfSenIIzuqnaqdEyqQCHxYhoqs3oYw0fp2xx3ZfrzwQhZAEahxbnidIImwa7fdUjrooBX3KXCMHB+vs38EcIRuhG+EUAyZp/ItqsjAHC2qvfrbZ0eSJEmS1P4MpVTX7KdGhBbFId9PPJGFJttvn4VFhCRU9lDRQ3Cy7ba9a/UqGypOIEIFET///vfZHf64Ax2VPYRVtM3tv/+KFU7Vzgmtb4QtBD69DWGKrW+ERQRmtDcS0lG9RBCVbwssa4kMzJziQQVUPjCjGo11Ekyx//lQiuUJ5/rbZ0eSJEmS1P7aIpRatGhROuOMM9Lvfve79Prrr6cRI0akAw88MH3ve99LqzGVWX2qu6CDu8XVizAlqp/uvTcLpQiGCCx22KHjbnjMk+pNG1ktQ8WLA7mZX1VtFlS1cxKtfoRShD38TjXS+utn1VJ33ln7nCmWvemm7JxEVRMVUqNHZ+sgkCoeR1lLJPidtkSeK4ZEMacq7sAXCOV62zLZl58dSZIkSVJ7a4tQat68eWnp0qVp1qxZadNNN03PPPNMOvzww9OSJUvSBRdc0OrdW+l1F3T0JrTIVwNRGUW1DlU7hCTMe+LucARTzaiqqeUueN2dE4IdwhYGp8cwco5l0aLsd6qwCH66mzMV54XKpWixi/PCTCmCpbKqq2KLIueN/eE6MXOKc/rHP3Z+D+vj+YULs/2PCjUqpiZP7l3LZF9+diRJkiRJ7a0tQqmpU6dWHmHjjTdO8+fPTzNnzjSUaoIIOqgiWrw4u4MbD4KSSZNS2mmn+tedH4RNhRTBy7BhWYDDMG9azQhH+ltVTbXwhzlYDEwngOE5REDFn1QOMcy9uzlTnBfmR7EOhpuHOC+cr7KQrqxFkfMWVVmsl0AsHxKx/5tsks3UYllaJ/l9ypTe3TGwlpCsN4GXJEmSJKm9tUUoVWbx4sVpbSY+q88RShx3XEoLFqQ0Z04WjBAuEGq8/HJKM2bUf1e5/CDsaCOLCqOYcbTWWv2vqqZa+ENVE/tNpRNDz5mHxYBygireQ/BTy5wpnmN5gqy8OC8MOWf4ek8rvroKifbdt+M6sl3u5NebQKqr89Rd62J3iq2WtbRDSpIkSZL6l7YMpRYuXJguueSSbquk3n333cojvEVKUKlcWVp5NBKboeKHL8rxJZkvyFSbrAxfku+7LwuIaOfKzySi4oZZTwwh51iL52DKlKVp3LhlVc/3n/+chTMELRFK0T7G+STIoa2M36mq4dHgy9YrBETMdeIRGIo+Zky2n1Q00QbH2DOOcciQ7Lho5SPg4y59zIpiXhbnddddOz4rnBfOB3ceJDBiW4EwiYqsf/mXnp8P1nPCCdn1iutEVRQVbzjxxOy59ddfmiZPXla5flRONfo8hXquJ+fwvPM6gjU+j08/ndKTT2aBG8e3Mvydqwd/z5Ytq/73Tf2X125gXzevuyRJGqgGLeNfUy1y0kknpXPPPbfLZZ577rm0Bfe8/6dXX3017bLLLmnSpEnp6quv7vK9p512Wjr99NNXeH7BggVpaH7ATS9R2XPzzSk99VQ2k4cv8QyJ5t+Y48altM8+nUOFdnTllVmYwvyhIkIj2slouyueg2XLlqYdd1ycpk4dllZffXC36+WcxewkQhuK4b7ylWy2VC3nkGtBOMEcI97PXerGj6/9/b1dZ9l5eu65LLwDAROBEuskiON4OV9UgxFM7bdftk7W89JLWWUV54NlCGB4P88RWJ19dmM+V2Wf37//fWkaPnxxWnfdYWmffQb3q8/vY4+l9POfZ3dNzAdmfN44V3vvndKECWlA4ostVaTDhg1Lg7mYahteu4F93d5+++20+eabV9b10XzPtiRJ0kqupZVSxx9/fDrkkEO6XIb5UeG1115LkydPThMnTkxX8q29GyeffHKaPn16p0qpkSNHpuHDhzf0H3133JHSrbdmwQxVGwQHVMcQRNx2W0qbbZbS7runtvbssx1VP0VUM1HtQ8hSPAfvvLM0PfLIoDRixPC0xx4r/oN9q62yQOShhzruMEegw+Xh94MOKj93ZZVpVPvMnZtVdUUFDbOvWI4qq3oqaMqqcrpa5zbbZK/xvsg9OW8EPoRRnBdCoHgPPxPmvfhiVhVF/srxxnq4ax8tgFF1xc8ERMceWx4QNu7zuzT94x+D0i9/OTxtttngfvX55bz8z/9klWdcizye5/VahtWvrF+QBw0aVPlvnMFGe/HaDezrNoT/oEmSJA1ALQ2l+Eccj1pQIUUgte2226Zrr722pn/8rb766pVHEe9t5D/6Z8/OKkyYz5OvO+MLPs/z+pe+lNpOfm7PE09koQghCmEIAU0gGKAzkmqfsnPw/vuD0t13D0577jl4hfUTIjE8nQfrZP4Sc6qoRiKQokWteKkiKCJ8iKCI0Id9JQhk1hJBT+hqoHh3eF8MYi+2LZatk/3lmPIzmzhvfN9gdhP7zvHEQPSYzcX5Y9B7fFaK64lh7zEgnFa4Rn2Eq31+11hjUOXvyezZg/vV55d5WsV9DYSavD6Qv9PzBbnR/41Tc3jtBu5185pLkqSBqi1mShFI0a634YYbVuZIvUFpzj+tR4lMi1Gpkw8s8vjyXHaXtP6O8OScczqCHwInBl8TlHD6aV3jecIZghKClWrngECm7BwQIt17bxYiEUoxsypfDUS1UFllU/6OfbFN9oE5TbT9sU5au2hxI0DraqB4Twax51VbZ7XB3lQ2nX9+1gYYy/HZ4EGFGcdL4Bfnqa8GhK8Mn1/+ynMHwTL97S6NkiRJkqQ2D6Vmz55dGW7OYwOShpwWjsRaqb8kF4MfQh8eVDExI4lWM049YQptc7TbzZtXvi5mIJVlhxH4UNXEg2qgQDsgA9SnTav+vnwgRdhDlRUzmqjcIughoIoArd5wpZ7Aptrd7zgezh/7mK/kAoEUx5Q/T13dRa+Zn99Ro1K/QjDHfC8C0fxouAhI+9NdGiVJkiRJ1bVFvThzpwifyh79AV+C+TIcw6xXhi/JxeCHn8eOzdrqmPVEuxmvrbNONseH33m+7BwQwlDd06gKneL7mLdElRXdD3wkCMF4xGs8CFeKwRjVYL/6VUrHHJMNGOdPfs/dsLHynuLcolC2zq7wOYjzRwgV+JnnCKpa8Vmp9vllcHizP7+1XJO4qyXXlfCSQfv8ye+0NpZ91iRJkiRJ/U9bVEr1d3wJ5lb0+TlC+fk/7fgluSww4jkCGlrjaMmL4yLMIJii0olwKH8OCKT+9V+zEKFRFWbF97FtlifYYXtsnxCDYIqfFy5MacSIzuFKtCdSEUbrIMfFg6HrVH7NnJlVfzWyKofzxZ3hfvKTrIqLNkVCNNZDWLXXXq35rJR9fmmj5HpyR8Bm7VOxZZTPH9eZ88/+0c5I9VgzWxslSZIkSX3HUKoBVsYvyWWBEYETbXExUDoQ1tDGR7Cy//6dzwEDu8eNKz8H9QY+xffRtke1EftAKBXzYtlXgilmYR14YOdwhTAqAila/Fh2jTWy6qDbb8+WueaaxgaOnIPvfS+blcW6o92RO+599avZ8PJWfFbKPr+bbJIFic38/JbNCqs2VL5ZrY2SJEmSpL5jKNUgK9uX5LLAiOoZwhuCn8Jor0pYQ/VP8RywLKFQmXoDn+L7okqKMIrqJsIl9jWeo8UwqmwC4UsEUgQgVC1F2EbINWdOFpJwLI0MHFmeOVlls7L60+c3rlszQ7KeDpWXJEmSJLU3QynVHBi9914WAG26aXZXu54MdKc1i3VFsEMlFsHOccf1PPApVvY8/XS2b8xkIpQiiCLIoHrqzTezfS2uK1oRCdkikAq0JlIxFSHIyhY49lftdhdASZIkSVLvGEqp5pau8eNTevHFrLWLoKrWdjvCofPO63pWUE8Dn3xQxLYZhk2rHkETIVPMlyKkon2wKAaYU1VVtr+GIM23Mt7FUpIkSZJUnaGUqipWCMUgaiqeaHurtd3uySez99QyK6gezGJ66qks8Prf/81a9wijaNtj33i9iACNoeZUROXnYxFIMXycSque3FlPvdfIofKSJEmSpP7PUEp9PtCdoKEvZwXlWw2HD+8clvFaWVjGc9xlj6HmzJCiZS8CKe4uSCugIUhzrYx3sZQkSZIkVWcopR6pZ77S//1f384Kqics47mZM7OfGWpOxRT7QlBGIFUtzFLfWRnvYilJkiRJqs5QSn3uYx/L5jf15aygesIyWvyuuSa7y15xALshSGs4VF6SJEmSBg5DKfU5BqQz5Lw/zgoyBJEkSZIkqTUMpdTntt46mwnkrCBJkiRJkhQMpdTnVl01pRNOcFaQJEmSJEnqYCilprBNTpIkSZIk5Q3u9JskSZIkSZLUBFZKSQ307rvezU+SJEmSpFoYSkkNDKTOOSe70yAD3T/ykZT++79T+sMfUnr88ZROOslgSpIkSZKkYCglNQgVUgRSI0dmgVR4++3szoMMenemliRJkiRJGWdKSQ1Cy15USOUNHZo9z+uSJEmSJCljpZTUoDlRvF1QG6gAAAwISURBVFYMpMKaa2avS5IkSZKkjKGU1KA5UYRVvFZmyZKUNt64qbsuSZIkSVK/ZvueVOOcqM03T2nEiOzPDTbI5kTxeqB66oMPshlSefzO87wuSZIkSZIyhlJSg+ZE0c43ZUpKr76a0vPPp/Taa9mf/P75z2evS5IkSZKkjO17Uhd6MieKNj7a+bjLXsyfomWvbP6UJEmSJEkDnaGU1IWezokieNpjj+whSZIkSZKqs31P6oJzoiRJkiRJ6htWSkldoO2Ou+wx1JwZUrTsUSFFIOWcKEmSJEmS6mcoJXXBOVGSJEmSJPUNQympG86JkiRJkiSp8ZwpJUmSJEmSpKYzlJIkSZIkSVLTGUpJkiRJkiSp6QylJEmSJEmS1HSGUpIkSZIkSWo6QylJkiRJkiQ1naGUJEmSJEmSmu5DaQBZtmxZ5c+33nqr1bsyYCxdujS9/fbbaciQIWnwYDPQduF1a09et/bltRvY1y3+XRL/TpEkSRooBlQoxT8cMXLkyFbviiRJ0gr/Thk2bFird0OSJKlpBi0bQP+3HP+P5muvvZaGDh2aBg0a1OrdGRD4f38JAV955ZX00Y9+tNW7oxp53dqT1619ee0G9nXjn2IEUiNGjLBSTpIkDSgDqlKKf+htsMEGrd6NAYl/rPtFq/143dqT1619ee0G7nWzQkqSJA1E/t9xkiRJkiRJajpDKUmSJEmSJDWdoZT61Oqrr55OPfXUyp9qH1639uR1a19eu/bkdZMkSeqdATXoXJIkSZIkSf2DlVKSJEmSJElqOkMpSZIkSZIkNZ2hlCRJkiRJkprOUEpNsWjRonTYYYelUaNGpTXWWCNtsskmleGw7733Xqt3TQWXXXZZ2mijjdKQIUPSDjvskB599NFW75K6cfbZZ6cJEyakoUOHpk984hNp2rRpaf78+a3eLfXQOeeckwYNGpSOPfbYVu+KavDqq6+mAw88MK2zzjqV/10bO3Zsevzxx1u9W5IkSW3FUEpNMW/evLR06dI0a9as9Mc//jHNmDEjXXHFFem73/1uq3dNOTfeeGOaPn16JTB84okn0rhx49Kuu+6a/vKXv7R619SFe++9N33zm99MDz/8cJo9e3Z6//330xe/+MW0ZMmSVu+aavTYY49V/vu41VZbtXpXVIM333wzffazn02rrrpquvPOO9Ozzz6bLrzwwrTWWmu1etckSZLainffU8ucf/75aebMmenFF19s9a7on6iMouLm0ksvrfxOkDhy5Mj07W9/O5100kmt3j3V6I033qhUTBFW7bzzzq3eHXXjnXfeSdtss026/PLL05lnnpm23nrrdPHFF7d6t9QF/nv4wAMPpPvvv7/VuyJJktTWrJRSyyxevDitvfbard4N/ROtlHPnzk1f+MIXlj83ePDgyu8PPfRQS/dNPf+7Bf9+tQeq3PbYY49Of/fUv/3yl79M2223Xdp3330rAfD48ePTVVdd1erdkiRJajuGUmqJhQsXpksuuSQdeeSRrd4V/dNf//rX9MEHH6R111230/P8/vrrr7dsv9QzVLcxk4jWojFjxrR6d9SNn/70p5VWWeaCqX1Q4Uul72abbZZ+/etfp6OOOiodffTR6cc//nGrd02SJKmtGEqp1y0MDObt6sE8qeJw2KlTp1b+H+bDDz+8ZfsuraxVN88880wl7FD/9sorr6RjjjkmXX/99ZUbC6i9wl9aLs8666xKldQRRxxR+d8zZiVKkiSpdh/qwbLSCo4//vh0yCGHdLnMxhtvvPzn1157LU2ePDlNnDgxXXnllU3YQ9Xq4x//eFpllVXSn//8507P8/t6663Xsv1S7b71rW+l22+/Pd13331pgw02aPXuqBu0y3ITAcKNQLUi14+5bu+++27l76T6n/XXXz9tueWWnZ4bPXp0+vnPf96yfZIkSWpHhlLqleHDh1cetaBCikBq2223Tddee21lXpH6j9VWW61ybe6+++40bdq05dUA/E7Yof6L+1UwjP6WW25Jc+bMSaNGjWr1LqkGU6ZMSU8//XSn5w499NC0xRZbpBNPPNFAqh+jPXb+/PmdnluwYEHacMMNW7ZPkiRJ7chQSk1BIDVp0qTKP9gvuOCCyt3BglU4/cf06dPTwQcfXBngu/3221fuALZkyZLKF2X175a9G264Id12221p6NChy2eADRs2LK2xxhqt3j1VwbUqzv1ac8010zrrrOM8sH7uuOOOq1T80r735S9/OT366KOV6l8rgCVJknrGUEpNMXv27Mpwcx7FtiKqPNQ/7LfffpXA8JRTTqkEG9ya/q677lph+Ln6FwYug+A3j4rE7tprJfXchAkTKpWJJ598cvr+979fqU4kxD/ggANavWuSJEltZdAyEwFJkiRJkiQ1mUN9JEmSJEmS1HSGUpIkSZIkSWo6QylJkiRJkiQ1naGUJEmSJEmSms5QSpIkSZIkSU1nKCVJkiRJkqSmM5SSJEmSJElS0xlKSZIkSZIkqekMpSRJkiRJktR0hlKS2tYhhxySBg0atMJj4cKFDVn/ddddlz72sY+lVrrvvvvSnnvumUaMGFE5tltvvbWl+yNJkiRJjWIoJamtTZ06Nf3pT3/q9Bg1alTqb95///263rdkyZI0bty4dNlllzV8nyRJkiSplQylJLW11VdfPa233nqdHqusskrltdtuuy1ts802aciQIWnjjTdOp59+evrHP/6x/L0XXXRRGjt2bFpzzTXTyJEj0ze+8Y30zjvvVF6bM2dOOvTQQ9PixYuXV2CddtppldfKKpaoqKKyCosWLaosc+ONN6Zddtmlsv3rr7++8trVV1+dRo8eXXluiy22SJdffnmXx7fbbrulM888M+21114NPnOSJEmS1FofavH2JalP3H///emggw5KP/rRj9JOO+2UXnjhhXTEEUdUXjv11FMrfw4ePLjyOpVVL774YiWUOuGEEypB0cSJE9PFF1+cTjnllDR//vzK8h/5yEd6tA8nnXRSuvDCC9P48eOXB1Os79JLL60894c//CEdfvjhlVDs4IMP7oOzIEmSJEn9l6GUpLZ2++23dwqLqCy66aabKlVRhEIR9lApdcYZZ1RCpwiljj322OXv22ijjSoVSV//+tcrodRqq62Whg0bVql4ovqqHqx/7733Xv472yWkiucIw5599tk0a9YsQylJkiRJA46hlKS2Nnny5DRz5szlv1N1hKeeeio98MAD6Qc/+MHy1z744IP097//Pf3tb39LH/7wh9Nvf/vbdPbZZ6d58+alt956q9Lal3+9t7bbbrtOs6Go1jrssMMq1VGBbRJ+SZIkSdJAYyglqa0RQm266aYrPM9sKKql8pVKgVY65j596UtfSkcddVQluFp77bXT73//+0po9N5773UZSlE9tWzZsm4HmUdAFvuDq666Ku2www6dlosZWJIkSZI0kBhKSVopMeCcWVBlgRXmzp2bli5dWmmnY7YUfvazn3VahhY+qquKhg8fXrnLX3j++ecr1VVdWXfdddOIESMqs6sOOOCAOo9KkiRJklYehlKSVkoMFKcS6pOf/GTaZ599KsETLX3PPPNMZXYUYRXVTZdccknac889K61+V1xxRad1MGeKCqe77747jRs3rlI9xePzn/98ZVj5Zz7zmUpodeKJJ6ZVV121232icuvoo4+utOtNnTo1vfvuu+nxxx9Pb775Zpo+fXrpe9j+woULl//+0ksvpSeffLJS2cWxSZIkSVK7ysoDJGkls+uuu1aGoP/mN79JEyZMSDvuuGOaMWNG2nDDDSuvEzJddNFF6dxzz01jxoyp3BmP+VJ53IGPwef77bdfpTrqvPPOqzxPddXIkSMrd/Xbf//903e+852aZlB97WtfS1dffXW69tpr09ixY9Muu+ySrrvuusrA82oIrbhTHw8QXvEzoZskSZIktbNBy4qDUSRJkiRJkqQ+ZqWUJEmSJEmSms5QSpIkSZIkSU1nKCVJkiRJkqSmM5SSJEmSJElS0xlKSZIkSZIkqekMpSRJkiRJktR0hlKSJEmSJElqOkMpSZIkSZIkNZ2hlCRJkiRJkprOUEqSJEmSJElNZyglSZIkSZKkpjOUkiRJkiRJUmq2/wfbwOpbV9y/PAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "2025-07-15 17:03:24,144 - INFO - Data visualization completed\n", "2025-07-15 17:03:24,145 - INFO - Data split: Train=700, Test=300\n", "2025-07-15 17:03:24,145 - INFO - Running traditional anomaly detection methods...\n", "2025-07-15 17:03:24,145 - INFO - Starting statistical anomaly detection (Z-score method)\n", "2025-07-15 17:03:24,146 - INFO - Statistical method: threshold=2.5, detected 26 anomalies\n", "2025-07-15 17:03:24,147 - INFO - Statistical anomaly detection completed. AUC: 1.0000\n", "2025-07-15 17:03:24,148 - INFO - Starting Isolation Forest anomaly detection\n", "2025-07-15 17:03:24,193 - INFO - Isolation Forest: detected 31 anomalies\n", "2025-07-15 17:03:24,194 - INFO - Isolation Forest completed. AUC: 0.9835\n", "2025-07-15 17:03:24,194 - INFO - Starting One-Class SVM anomaly detection\n", "2025-07-15 17:03:24,197 - INFO - One-Class SVM: detected 32 anomalies\n", "2025-07-15 17:03:24,198 - INFO - One-Class SVM completed. AUC: 0.9135\n", "2025-07-15 17:03:24,198 - INFO - Starting Local Outlier Factor anomaly detection\n", "2025-07-15 17:03:24,201 - INFO - Local Outlier Factor: detected 31 anomalies\n", "2025-07-15 17:03:24,201 - INFO - Local Outlier Factor completed. AUC: 0.6942\n", "2025-07-15 17:03:24,202 - INFO - Running deep learning anomaly detection...\n", "2025-07-15 17:03:24,212 - INFO - Using device: mps\n", "2025-07-15 17:03:24,676 - INFO - Starting autoencoder training for 50 epochs\n", "2025-07-15 17:03:26,252 - INFO - Epoch 0/50, Average Loss: 1.047947\n", "2025-07-15 17:03:26,757 - INFO - Epoch 10/50, Average Loss: 1.021042\n", "2025-07-15 17:03:27,221 - INFO - Epoch 20/50, Average Loss: 0.976606\n", "2025-07-15 17:03:27,733 - INFO - Epoch 30/50, Average Loss: 0.869147\n", "2025-07-15 17:03:28,239 - INFO - Epoch 40/50, Average Loss: 0.707226\n", "2025-07-15 17:03:28,697 - INFO - Autoencoder training completed. Final loss: 0.555299\n" ] }, { "data": { "image/png": "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kvY+M/v0ySefqGvXripWrJiqVaumr776KsPnr1+/Xtdff729v1SpUnr44Yd16tSpDI8ZN26c6tevb79W2bJlNWTIkAz3R0VF6Y477lBAQIBq1qyp77///gp85wAAJxGcAABFyosvvqi77rpL69at0wMPPKD77rtPmzdvtvfFxcWpS5cuNmitWLFCX375pf73v/9lCEYmeA0ePNgGKhOyTCiqUaNGhq8xfPhw3Xvvvfrjjz9000032a9z/PjxK/69AgCuHA+Xy+W6gl8PAIBc7XH67LPP5O/vn+H2f/zjH/YwM06DBg2y4SdNmzZt1KxZM3388ccaPXq0/v73v2vfvn0KDAy09//888+69dZbdfDgQYWHh6t8+fLq27evXnvttUxrMF/jhRde0KuvvpoexoKCgvTLL7+w1woAijD2OAEACpXrrrsuQzAyQkND0y+3bds2w33m+tq1a+1lM/PUuHHj9NBktG/fXqmpqdq6dasNRSZAdezY8ZI1NGrUKP2yea6QkBAdOXIk198bAKDgIjgBAAoVE1TOXzqXV8y+p+zw8fHJcN0ELhO+AABFF3ucAABFytKlSy+4XrduXXvZfDR7n8zyujSLFi2Sp6enateureDgYFWpUkVz5sy54nUDAAo2ZpwAAIVKQkKCDh06lOE2b29vhYWF2cum4UOLFi101VVX6fPPP9fy5cs1duxYe59p4jBs2DD17t1bL7/8so4eParHHntMPXv2tPubDHO72SdVpkwZ250vNjbWhivzOACA+yI4AQAKlZkzZ9oW4ecys0VbtmxJ73g3bdo0Pfroo/ZxU6dOVb169ex9pn34rFmz9MQTT6hly5b2uunAN2LEiPTnMqHqzJkzeuedd/Tss8/aQHb33Xdf4e8SAFDQ0FUPAFBkmL1G3377rW6//XanSwEAFDHscQIAAACALBCcAAAAACAL7HECABQZrD4HAOQXZpwAAAAAIAsEJwAAAADIAsEJAAAAALJAcAIAAACALBCcAAAAACALBCcAAAAAyALBCQAAAACyQHACAAAAAF3a/wFqZz9OvodK1gAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "2025-07-15 17:03:28,727 - INFO - Starting comprehensive evaluation of all methods\n", "2025-07-15 17:03:28,727 - INFO - Starting autoencoder anomaly detection\n", "2025-07-15 17:03:28,844 - INFO - Autoencoder: threshold=1.937576, detected 15 anomalies\n", "2025-07-15 17:03:28,845 - INFO - Autoencoder anomaly detection completed. AUC: 0.9573\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABv4AAASlCAYAAABgJa41AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAA8DhJREFUeJzs3Qe8VNXZL+D30BRQUFSKDXuvQURiQyViiYoSjSWKJRqJmijRGI2xKwZNbNg1YK+xRGPsihqxYWxo/GJFo2AHBQWBub+1veeEAwdkRs7U57m/fefMnn32rJl8wN9V3lWXy+VyAQAAAAAAAFS0FqVuAAAAAAAAAPD9GfgDAAAAAACAKmDgDwAAAAAAAKqAgT8AAAAAAACoAgb+AAAAAAAAoAoY+AMAAAAAAIAqYOAPAAAAAAAAqoCBPwAAAAAAAKgCBv4AAAAAAACgChj4A2bTp0+f7Jhflltuudh3332judTV1cWJJ57YbPcHACpHyhwpe8xPI0aMyPLG22+/PV/vCwBQyx555JEsY6VHAOYfA39Qhl566aX4yU9+Et27d48FF1wwllpqqfjRj34U559/fsM1p59+etx+++0Fv8crr7ySDZbNrw6sJ554Irvf559/Pl/uBwBUp/pBtGeffTbKzffNV80hDWKm76up4+uvv45yIxMCQHGMGTMmfvazn2V9RgsssEAsueSSsddee2Xny8Ftt90W2267bSy++OLRpk2brH277bZbPPTQQ1HuZsyYEVdddVX06tUrOnXqFAsvvHCsssoqsc8++8STTz6ZXfOrX/0qy2Ovv/76HO/z+9//PrvmxRdfbJTr+vbt2+T1l112WUPOK8esDFQOA39Qhp0lG2ywQbzwwgtx4IEHxrBhw+LnP/95tGjRIs4999z5OvB30kknNTnwd99992VHvu1O92uqk+e1117LwgsAQDmbU77ae++946uvvsomZZXCeuutF1dfffVsR+pEKzdzy4QAwPxx6623xg9+8IN48MEHY7/99osLL7wwDjjggHj44Yez82nQrVRyuVzWpl122SXGjx8fgwcPjosvvjgOOeSQePPNN2OrrbbK8kI5S4N6AwcOjG7dumUTmv74xz9mg5hp0O+ee+7JrkmDrMl11103x/tcf/31sfbaa8c666zTcC5N8E//O40bN26266+99trsdYDvq9X3vgMwX512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qjMFmJ133jkrkZCCxRNPPBE33nhjLLfccg17raTSBGl295///OdsX5c0GyuVCUgzv66++uqs/EPqiEkDZem6VJpg1rCTAlWqiZ46qNIM+FRGM5UomNXWW2+dbeScglyqnZ4CXOpcSp1a9TPLU3uS3//+91ld8tatW2ezm+o7f2aWwmda0Zc2Oa4vs5DC6d/+9re4+OKLY911180+R1rtl76H9D5p9nx6LX2mfEoyAADlLc3q3mqrrbIy5enf+VatWmWTg8aPH9+wh0palZZWlKVOqG222SYrt5RW26XOlVRaKpWpnJOUI1JeSr+XSiilvWkuuOCCrMNm1jJZc8pXs/o+7ZnfUt7aYostsgyWBjRTjkql3tNeNKl0VOoE+y5nnHFGNvksfdYDDzww+98hZbPnnnsu+z7Sz82RCQGA/KX999KKuLTKbO21144DDjggyywpB6RJSGlPurTibl4ywKzS76QVaCnnpPulAa30b3zqk0n57KCDDoojjzxyrvdIfT5jxozJBrNSvvjJT36S5Yc0oJYmXqVBv9TP1ZTUD5bakN4jleZMK+fS5KRZ90Wel/yYvqOUzVK/Urpnqo6QVkqme6aJU3Py3nvvZfsZpz6y9B6p7Sk/pu80TWJP+SrtGTiztBdh+q7q9/n7rjKf9dKqwRNPPHGergXISw4oK//4xz9y+++/f2611VbLLbTQQrk2bdrkVlpppdxhhx2WGz9+fMN1//73v3ObbbZZrm3btmn6Um7gwIHZ+c8++yy333775RZffPHs9/v165dd271794Zr6l122WW5FVZYIdeyZcvsHg8//HB2fvPNN8+Oepdcckn2XosttlhugQUWyK244oq5o446KjdhwoRG9zvllFNySy21VK5FixbZ/d56663sfFPv/cknn+QOPfTQ7Pr0GZdeeunsmo8//jh7fcaMGbnTTz89+930nuuvv37urrvuyq5J52aW3uuEE06YT/8LAADNafjw4dm/3c8880z2PP3bf8ghh2TZp3379rmOHTvmevXqlbvppptm+91hw4Zl17Vu3TrXpUuX3KBBg7LsM7OmssIVV1yRW3nllbNMkX4/tSFlh1n/c2hO+aq+zfXZJp/2pEy15pprzvZZmmpnU9I122+//Vyv+eKLL3JHHHFEbskll8zakj7rmWeemeWpmaXPkL7rpqScmV5bZpllsnt07do1t9VWW+UuvfTS+ZYJAYD558UXX8ztscceuW7dujX8252ev/TSS7NdW597Pvroo0bn55Rx/vrXv+Y22WSTLJulI+WdlBNee+21eW7fLbfcktt6661znTp1yrVq1Spr509/+tPcI4880nBN6oeauT8qeeWVV3J9+/bN+rRS39aBBx6Ye+GFF7LrUnvnNT8+99xz2fex7LLLZrmlc+fOuR//+Me5Z599dq7tnjhxYu7cc8/N+tNSX1X6bhdeeOFc7969s360WfNVvb///e9ZG9PnnD59esG5btasDFCIuvT/5TdUCAAAAAAAAJQbe/wBAAAAAABAFTDwBwAAAAAAAFXAwB8AAAAAAABUAQN/AAAAAAAAUAUM/AEAAAAAAEAVMPAHAAAAAAAAVcDAHwAAAAAAAFQBA39QZBdeeGHU1dVFr169mnz97bffzl4/66yzmnw9nU+vp+tmddttt8W2224biy++eLRp0yaWXHLJ2G233eKhhx4quL2nnXZa7LjjjtGlS5fsfU888cS8fn/KlClx9NFHZ21p27Zt9rnvv//+Jq994oknYpNNNol27dpF165d41e/+lV8+eWXRbknAFD+Ki1HzZgxI4YOHRrLL798LLjggrHOOuvE9ddfP8+/n/JNfY5ZdNFF4yc/+UmTbf/6669jyJAhscYaa2TXLrXUUrHrrrvGmDFjGl336KOPZrlumWWWydqTstE222wT//znP2e7Z58+fbLvatYjXQ8AVBYZqukMdeONN8bPfvazWHnllbPPl/JPU1KmStlqhRVWyO6ZPutmm20Wd95552zX7rvvvk1mqNVWWy3PbwGgcK2+x+8CBbj22mtjueWWi6effjpef/31WGmllb73PXO5XOy///4xYsSIWH/99WPw4MFZR84HH3yQBbCtttoq69D54Q9/mPe9jzvuuOxe6b733ntv3r+fAs8tt9wShx9+eBakUhu32267ePjhh7MQVu/555/P2rn66qvHn//853jvvfeyYPmf//wn/vGPfzT7PQGA8ldpOer3v/99nHHGGXHggQdGz54944477og999wz6/zZfffd5/q7d911V+y0007xgx/8ILvHxIkT49xzz82yzr/+9a9YYoklGq7da6+94m9/+1v2Pun6999/Py644ILo3bt3vPTSS9G9e/fsuv/7v/+LFi1axMEHH5x9xs8++yyuueaarOPq73//+2yDeksvvXQ2oDiz1JkHAFQWGarpDHXRRRfF6NGjs/f45JNP5njPd955J7744osYOHBgloUmT54cf/3rX7MJVZdcckkcdNBBja5fYIEF4vLLL290rmPHjnl/DwAFywFF8+abb+bSH7tbb701t8QSS+ROPPHE2a556623smvOPPPMJu+RzqfX03Wznjv88MNzM2bMmO13rrrqqtxTTz1VUJvr3+ejjz7K3uOEE06Y599N7znrZ/nqq69yK664Yq53796Nrt12221z3bp1y02YMKHh3GWXXZb9/r333tus9wQAyl+l5aj33nsv17p169whhxzScC7df9NNN80tvfTSuWnTps3199dYY43cSiutlJsyZUrDueeffz7XokWL3ODBgxu9T2r/kUce2ej3H3rooez8n//857m+z6RJk3JdunTJ9evXr9H5zTffPLfmmmvO8+cFAMqTDNV0hkrGjh2bmz59evZzyj0p/8yr1I511103t+qqqzY6P3DgwFz79u3n+T4AzUGpTyjyDKtUYmD77bfPygyk59/XV199lc3ETiUD6ksvzGrvvfeODTfcsOH5G2+8kR3zIs0IK1RaldeyZctGM59SiYYDDjggRo0aFe+++252Ls2+SmUYUnmFDh06NFy7zz77xEILLRQ33XRTs94TACh/lZaj0sz0b775Jn75y182nEv3HzRoUFaFIOWWOfn000/jlVdeiZ133jkrmVVv3XXXzSoZ3HDDDQ3n0uzzJJVln1m3bt2yx1QWfW5Suao08/3zzz9v8vVp06Ypkw4AFUyGajpDJan8eaqGUIjUN5V+f04Zavr06VnfFEApGPiDIkrhapdddsnCxx577JGVnHzmmWe+1z0ff/zxLNikkgcpdMyLVG4hHc0tlVBYZZVVGg28JfXBL5XiTFIJqtSptMEGGzS6Ln1P6623Xnaf5rwnAFD+Ki1HpazRvn37rJOpqcwytyyS9jOe06BdGqhLpTzHjRuXPV9xxRWzkpx/+tOfsn1mUodYKuOVynmmfXGaKoeVOqE+/vjj+Pe//x3HHntsvPzyy01+plQaNH2GhRdeOCvd9Yc//CHriAMAKocM1XSGKsSkSZOyDJUGMM8+++xsG5mmPlMqBZr6rVJ5z06dOsUhhxxiIhVQVPb4gyJJNcNT58r555+fPU+1xVMnTQpgqZZ4oV599dXsce21145yk+q61882n1n9uRS46q+b+fys1z722GPNek8AoLxVYo5KWSStwpt1BvysmaUp6fcWWWSRbF+cmaW9Z9Is9uS///1vNhjXunXrbI+Z1PGW9pmp16NHj3jiiSey+8xqt912a9i7OXUC/uIXv8gG9WaWBhS32GKL7LtJnVyp6sKpp56aDQbeeOONBX0nAEBxyVBzzlCF+M1vfpPt6ZeklYJpQHXYsGGztfO3v/1ttsfgjBkz4p577okLL7wwXnjhhXjkkUeiVSvd8UDzs+IPiiSFqhRAUgdKkgLMT3/606zMQFr+X6j6sgFpJva8evvtt7OjuaXSD2lD41ml0pz1r8/8OKdr619vrnsCAOWtEnPUvGaWpqSOpDQY9+CDD8YxxxyTzcxPHXdpwG7q1Kmz/X4q35UqGvzud7+L22+/PSu5ldq46667xtdffz3b/c8444y477774oorroiNNtoou2eqlDCz9NoJJ5yQdWilUl2p7NaBBx6YlUt/8sknv/PzAwClJ0PNPUPl6/DDD8+2lbnyyitj2223zb7D+vvWSyVQU9ZK75kqL4wYMSJOO+20bDAyTaQCKAYDf1AEKQikUJWC1ltvvRWvv/56dvTq1SvGjx+fBZJ81c98qi95Wb+/SzlJpRXqyyzMrL4Dqr70Qv3jnK6duURDc9wTAChflZqj5jWzzMnJJ5+c7WE8dOjQrMx5Kl+eZoinc0nasziZMGFCbLrpptG7d++so2mnnXbKZqOnVYCpDNfw4cNnu3caJPzRj34U+++/f9Z5lUqD7rvvvt/5mdJ9kwceeGAevwUAoFRkqLlnqEKkPQ379u0b++yzT9x1111Z+c4ddtghcrncXH/viCOOyAYlZSigWAz8QRE89NBDWamCFLhWXnnlhiPN/klm3lj5u2YwpTrhM1+XQkf9nnblJpU3qC+5ObP6c0suuWTDdTOfn/Xa+uua654AQPmq1ByVskjaQ2bWjqBZM8ucpBKcl19+eVbO6tFHH43XXnstK8+ZBvpSx9FKK62UXZcG+FLn3cxlPpPNN98865SbtdRVU++TfvfWW2/9zhnwyyyzTPaY9vQBAMqbDDX3DDU//OQnP8n2S0yl0OcmDVYutthiMhRQNAb+oAhSmOrcuXPcfPPNsx1pY+XbbrutIVwtscQS2YbDKZg0JZ1Pry+++OIN9dlTeafrr7/+e5VpaA5pNnkKP/UlIOo99dRTDa8na621Vjb76tlnn210XSqX8Pzzzzdc11z3BADKV6XmqJQ1UidZ/R44c8os3yWV50or+tKM9dTGtDdMmqlfP1s9Dfols7Y/dZalc7OW8GxK+v7S9d81a//NN99s+J4BgPImQ809Q80P9d9fGlScm5SxPv74YxkKKJ4c0KwmT56cW3jhhXP7779/k6//85//TFOYcjfccEPDuf79++c6dOiQe+eddxpdm56ne6XXZ3bGGWdk9/jNb36TmzFjxmzvcfXVV+eeeuqphuevv/56duTjo48+yt7jhBNOmOPrr776am7SpEkN55588snsd84888yGc19//XVupZVWyvXq1avR72+zzTa5bt265SZOnNhw7vLLL89+/x//+Eez3hMAKE+VnKPefffdXOvWrXOHHHJIw7l0/0033TS31FJL5aZNm9Zw/v33389y1NSpU+d6z/q23nLLLQ3n0s9NZbTbb789O59+p9748eNnu+dnn32WW2aZZbKj3oQJE7J8NbPU9p/+9KfZPUePHv2dnx8AKB0Z6rsz1KzWXHPN3Oabb97ka01lqPSeP/jBD3Jt27bNffHFF9m5r776qlEfVL2jjjoqe/9bb711ru0EmF9aFXGMEWrS3/72t2xmz6zll+pttNFG2YyfNBMrbbCcnH766dn5H/zgB3HQQQfFcsstl22AfOmll2b11NPrMzvqqKNizJgx8ac//SkefvjhrNRA165ds9IIt99+e7ZvyxNPPNFw/VZbbZU9zsumyldffXW88847DWUdUpmEU089Nft57733ju7du2c/Dxs2LE466aTs/fv06ZOdSzOpdt1112xD5Q8//DArp5A2QE7ve8UVVzR6n7TR8Q9/+MOsLFX6zO+99172ebbeeuvYZpttGq5rjnsCAOWpknPU0ksvHYcffniceeaZ8c0330TPnj2z+z322GNZe1u2bNlwbco1Kc+k/XdSe5NrrrkmK+O52WabZTPT054wN910U/z85z+PAQMGNPxu2ldmzTXXzPazSZktffa0f0/KZqlUVv1+Nsm2226btSvlqbQCYOzYsdkegKkU1o033thw3XPPPZetBEhHylppNntaFZDKhqbvNH23AED5kqG+O0PV93GlI/noo49i0qRJDX1e6ffTkfziF7/IKk+l50sttVT2GVNb/v3vf2efv34VYTq//vrrZxmqvhxqKjN69913Z/1QaS9mgKKYb0OIQJN22GGH3IILLthoJdys9t1332w208cff9xwLs1YSrOqO3funGvVqlX2uPvuu2fn5yTNXNp6661znTp1yn4nrXZL93jkkUcaXde9e/fsmBdptlP6q6Kp4+GHH264Ls0yn/Vc/WynI488Mte1a9fcAgsskOvZs2funnvuafK9HnvssdwPf/jD7PtaYoklstldTc2Uao57AgDlp9Jz1PTp03Onn356dn2bNm2ymeTXXHPNbNcNHDgwy1FvvfVWw7k0Q36zzTbLLbrootl3sO666+YuvvjiJmfUf/rpp7kjjjgit8oqq2TZaPHFF88+75tvvtnoumHDhuU22WST7PX0GVM2St/xo48+2ui69Hu77rprbrnllsveu127drkePXrM8f0BgPIiQ81bhqrvy2rqmLmawvXXX5/r27dvrkuXLtlnTPdOz++4447ZKin87Gc/y6pSpfyUcllqe/os37UqEWB+qkv/X3GGGAEAAAAAAIDm0qLZ7gwAAAAAAAAUjYE/AAAAAAAAqAIG/gAAAAAAAKAKGPgDAAAAAACAKmDgDwAAAAAAAKqAgT8AAAAAAACoAq2iCrVd/9BSNwGq1mfPDCt1E6BqLdiquv6t/Opf/r6oRHIUNJ9Pn/b3IjSXtq2r599KGaoyyVDQfD55+vxSNwGqVrvWdUV7L31RxWPFHwAAAAAAAFSBqlzxBwB8hzpzfwAACiJHAQDkT4YqGt80AAAAAAAAVAEr/gCgFtUVr4Y7AEBVkaMAAPInQxWNFX8AAAAAAADUhCFDhkTPnj1j4YUXjs6dO0f//v3jtddea3RNnz59oq6urtFx8MEHN7pm7Nixsf3220e7du2y+xx11FExbdq0KDUr/gCgFqmrDgBQGDkKAKCiM9TIkSPjkEMOyQb/0kDdscceG1tvvXW88sor0b59+4brDjzwwDj55JMbnqcBvnrTp0/PBv26du0aTzzxRHzwwQexzz77ROvWreP000+PUjLwBwAAAAAAQEWbMmVKdsxsgQUWyI6Z3XPPPY2ejxgxIluxN3r06Nhss80aDfSlgb2m3HfffdlA4QMPPBBdunSJ9dZbL0455ZQ4+uij48QTT4w2bdpEqZTPECsAUNy66s19AABUIxkKAKAs+6JSCc+OHTs2OtK57zJhwoTssVOnTo3OX3vttbH44ovHWmutFcccc0xMnjy54bVRo0bF2muvnQ361evXr19MnDgxxowZE6VkxR8AAAAAAAAVLQ3ODR48uNG5WVf7zWrGjBlx+OGHx8Ybb5wN8NXbc889o3v37rHkkkvGiy++mK3kS/sA3nrrrdnr48aNazTol9Q/T6+VkoE/AKhFZVRXHQCgoshRAABlmaGaKuv5XdJefy+//HI8/vjjjc4fdNBBDT+nlX3dunWLrbbaKt54441YccUVo5xJqwAAAAAAANSUQw89NO666654+OGHY+mll57rtb169coeX3/99ewx7f03fvz4RtfUP5/TvoDFYuAPAGqRPf4AAAojQwEAVHRfVC6Xywb9brvttnjooYdi+eWX/87fef7557PHtPIv6d27d7z00kvx4YcfNlxz//33R4cOHWKNNdaIUlLqEwAAAAAAgJpwyCGHxHXXXRd33HFHLLzwwg178nXs2DHatm2blfNMr2+33Xax2GKLZXv8HXHEEbHZZpvFOuusk1279dZbZwN8e++9dwwdOjS7x3HHHZfdO99yo/ObgT8AqEX2pgEAKIwcBQBQ0Rnqoosuyh779OnT6Pzw4cNj3333jTZt2sQDDzwQ55xzTkyaNCmWWWaZGDBgQDawV69ly5ZZmdBBgwZlq//at28fAwcOjJNPPjlKzcAfANQiZaQAAAojRwEAVHSGyuVyc309DfSNHDnyO+/TvXv3uPvuu6PclM8QKwAAAADzbMiQIdGzZ8+sRFXnzp2jf//+8dprrzW6Js1kr6ura3QcfPDBja4ZO3ZsbL/99tGuXbvsPkcddVRMmzatyJ8GAID5wYo/AKhFZVReAQCgopRRjkoz0dM+MmnwLw3UHXvssdl+M6+88kpWbqregQce2KjsVBrgqzd9+vRs0K9r167xxBNPxAcffBD77LNPtG7dOk4//fSifyYAoEqVUYaqdgb+AAAAACrQPffc0+j5iBEjshV7o0ePjs0226zRQF8a2GvKfffdlw0Upn1sunTpEuutt16ccsopcfTRR8eJJ56Y7XEDAEDlMMQKALVaV725DwCAatTMGWrKlCkxceLERkc6Ny8mTJiQPXbq1KnR+WuvvTYWX3zxWGutteKYY46JyZMnN7w2atSoWHvttbNBv3r9+vXL3nfMmDHz7WsDAGqcvqiiMfAHAAAAUEb7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zu3x7rjPStR6qHyffvpJTJ48OYZfcVn8cJNN46JLr8j2/0slQZ99pvEKc6DKSn0edthhseuuu8bFF188W23XNGPt4IMPzq4ZNep/q8DmddPrll16RutuGzZLu8nPOcfsFmuu1C222u/sJl9fcIHW8dNtN4gzLrun6G0DqGXqqlc2Oap2c1TaBzm54q+Px9V/ezL7+YXX3os+G64aA3fqHcef/7eStRegVpRTjrrooouyxz59+jQ6P3z48Nh3332zn88+++ysAsiAAQOyAat+/frFhRf+ryxiy5YtszKhgwYNygYE27dvHwMHDoyTTz45qo0MVdt9UX+59Z8NP495/f344OOJcc+lv8omVr313sdxyq92jNfeGh833P1MCVoN1bXiL+mzxZbxs32+/bdo1dVWjxee/1fcctMNsUFPf1fWqnLKUNWuZCv+0iyyI444osn/sdO59Nrzzz8/T5teT5gwodHRqkuPZmo1+Tj76F1ju03Xin4Hnhf//fDzJq/Zue960W7BNnHtXbPsJ/DJxOi82MKNznXu9O0M9fEff7vyD2jaoossmv3H+yeffNLofHq++OLfrhSBcpI6Tnr27JnNUu/cuXP0798/K0E1s6+//jqbdZ5WXiy00EJZx1X93jP1Usmq7bffPtq1a5fd56ijjopp06ZFNZKjajdHffDRtzno1TfHNbr+tbfGxTJdF23IUUt0apyjWrZsEZ06tJOjYB4tvvi3K2hnzVOffvJJLCZPUUbSYFVTR/2gX7LgggvGBRdcEJ9++mlMmjQpbr311tn27uvevXvcfffd2QqNVO7yrLPOilatSjZXvNnIUNVvXvqi6j3z0tvZ44rLfPt3/uY9V4ld+q4fXzxzbnb845LDsvPvPXxGHHfwdkVoPVSHRRddNPs3ZIUVV2p0foUVVoxxHzRdEQ6okoG/pjaPnll6rUuXLt95n1R2ItWdn/moa9FyPreWQoLWjluuG9v84rx45/3G/7E8s337/zD+PvKl+PizLxudf+rFt2KtlZbM9rGpt9VGq8WEL76araMLaKx1mzax+hprxlNPjmo02+qpp0bFOuuuX9K2UT5Sx0ZzH/Nq5MiR2aDek08+me0n880332Qlp1LHVL3UCXPnnXfGzTffnF3//vvvxy677NLweipvmwb9pk6dGk888URceeWVMWLEiDj++OOjGslRtZuj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ij8AqEEtTLMCACiIHAUAkD8Zqnis+AMAAAAAAIAqYMUfANQgk6wAAAojRwEA5E+GKh4r/gAAAAAAAKAKGPgDgBpUV1fX7AcAQDWSoQAAKr8v6tFHH40ddtghllxyyex3b7/99kav77vvvrPdf5tttml0zaeffhp77bVXdOjQIRZZZJE44IAD4ssvv4xSM/AHAAAAAABAzZg0aVKsu+66ccEFF8zxmjTQ98EHHzQc119/faPX06DfmDFj4v7774+77rorG0w86KCDotTs8QcANchkcgCAwshRAACVn6G23Xbb7JibBRZYILp27drka6+++mrcc8898cwzz8QGG2yQnTv//PNju+22i7POOitbSVgqVvwBAAAAVKBqLlEFAJCvKVOmxMSJExsd6VyhHnnkkejcuXOsuuqqMWjQoPjkk08aXhs1alSWneoH/ZK+fftGixYt4qmnnopSMvAHADWoRV1dsx8AANWonDJUNZeoAgCqSzH6ooYMGRIdO3ZsdKRzhUgZ6qqrrooHH3ww/vjHP8bIkSOzFYLTp0/PXh83blw2KDizVq1aRadOnbLXSkmpTwAAAIAykWalzzozPZWZSkctlagCAMjXMcccE4MHD250rqkMNS923333hp/XXnvtWGeddWLFFVfMVgFutdVWUc6s+AOAGlRXhCMfylQBAJWiuTPU/JypXsklqgCA6lKMvqg0yNehQ4dGR6EDf7NaYYUVYvHFF4/XX389e54mVn344YeNrpk2bVrWPzWnSVfFYuAPACg5ZaoAAP43U33ChAmNjnSu1kpUAQCUk/feey+bQNWtW7fsee/evePzzz+P0aNHN1zz0EMPxYwZM6JXr14lbKlSnwBQk9KKueamTBUAUI2aO0fNKS/VWokqAKC6FKMvKh9ffvllw+q95K233ornn38+mwCVjpNOOikGDBiQ9UW98cYb8dvf/jZWWmml6NevX3b96quvnk2yOvDAA+Piiy+Ob775Jg499NAsf5W6H8qKPwCgWShTBQBQXiqpRBUAQHN69tlnY/3118+OJO0NmH4+/vjjo2XLlvHiiy/GjjvuGKusskq2nUyPHj3iscceazRB69prr43VVlstm1CVJp9vsskmcemll0apWfEHADWoRV1lbaicZlDtsssusfzyy2ezrI499thshWAa8EthTJkqAKCaclQpSlSlzqxyKlEF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zPZT3mWXXebv9wEAMC/0RRWNPf4AAAAAykTa0zgdM1tggQWyoymtWrWKrl27znZ+woQJccUVV8R1110XW265ZXZu+PDhsfrqq2f7KW+00UbN9AkAACglK/4AoAbVFeH/AQBUo+bOUEOGDImOHTs2OtK5OfnPf/4TSy65ZKywwgqx1157xdixY7Pzo0ePjm+++Sb69u3bcG0qA7rsssvGqFGjivJdAQDU0xdVPFb8AQAAAJSJY445JgYPHtzo3JxW+/Xq1StGjBgRq666albm86STTopNN900Xn755Rg3bly0adMmFllkkUa/06VLl+w1AACqk4E/AKhBdSZBAQCUZY6aW1nPWW277bYNP6+zzjrZQGD37t3jpptuirZt2zZjKwEA8qMvqniU+gSAGmQ/ZQCAwpRzhkqr+1ZZZZV4/fXXs33/pk6dGp9//nmja8aPH9/knoAAALXSF3XiiSdGXV1doyOVRK/39ddfxyGHHBKLLbZYLLTQQjFgwIAsQ1UKA38AAAAAVeDLL7+MN954I7p16xY9evSI1q1bx4MPPtjw+muvvZbtAdi7d++SthMAoNTWXHPNrFR6/fH44483vHbEEUfEnXfeGTfffHOMHDky3n///dhll12iUij1CQC1yJI8AICKz1FHHnlk7LDDDll5z9QhdcIJJ0TLli1jjz32iI4dO8YBBxyQ7RfYqVOn6NChQxx22GHZoN9GG21U6qYDALWmjDJU0qpVqyarIEyYMCGuuOKKuO6662LLLbfMzg0fPjxWX331ePLJJysiRxn4AwAAAKhA7733XjbI98knn8QSSywRm2yySdYhlX5Ozj777GjRokVWnmrKlCnRr1+/uPDCC0vdbACAZpHyzpQpU+Zp/+T//Oc/seSSS8aCCy6YTYwaMmRILLvssjF69Oj45ptvom/fvg3XpjKg6bVRo0YZ+AMAylNduU2zAgCoEOWUo2644Ya5vp46si644ILsAACo9gyVBu9OOumkRudSRYS0p9/MevXqFSNGjIhVV101K/OZfmfTTTeNl19+OcaNGxdt2rTJ9k6eWZcuXbLXKoGBPwAAAAAAACraMccck5U5n1lTq/223Xbbhp/XWWedbCAwlU6/6aabom3btlHpDPwBQA2qK5+J6gAAFUWOAgAozww1p7Ke3yWt7ltllVXi9ddfjx/96EcxderU+Pzzzxut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Nj906tRpvtwHAKBUZCgAgMLIUQCVwYo/qFALLLBAdO3aNbp37x6DBg2Kvn37xt/+9reGkginnXZaLLnkkrHqqqtm17/77rux2267xSKLLJKFpp122inefvvthvtNnz49Bg8enL2+2GKLxW9/+9vI5XKN3nPW8gop6B199NGxzDLLZO1Js72uuOKK7L5bbLFFds2iiy6azbZK7UpmzJgRQ4YMieWXXz7atm0b6667btxyyy2N3ieFx1VWWSV7Pd1n5nYCAHwfMhQAQGHkKIDKYOAPqkQKJmlGVfLggw/Ga6+9Fvfff3/cdddd8c0330S/fv1i4YUXjsceeyz++c9/xkILLZTN1Kr/nT/96U8xYsSI+Mtf/hKPP/54fPrpp3HbbbfN9T332WefuP766+O8886LV199NS655JLsvil8/fWvf82uSe344IMP4txzz82ep6B11VVXxcUXXxxjxoyJI444In72s5/FyJEjG0LhLrvsEjvssEM8//zz8fOf/zx+97vfNfO3BwDUKhkKAKAwchTA/2vvPuCkKq+GgZ9dmoACotIsiBU1VjRIYkElYAmKYozRKEaiEUVFbMEYu2DQvBorMRqwYeyN+KpY0VjBGGuIEAwxClZUUJEy3++5+XZfFhaEYcvszP///e47O/feufPMkHXPd89zzlOYtPqEBi7NhErB1cMPPxzHH398fPjhh9GyZcu47rrrKtsq3HzzzdnsprQvzXhKUmuGNKMq9T/v3bt3XHbZZVlrhhToJCkYStdcmn/84x9x++23ZwFdmuGVbLDBBku0YmjXrl32PhWzsoYPHx6PPvpo9OjRo/I1KbhLgdquu+4a11xzTWy44YZZ8JekWWKvvfZa/OY3v6mlbxAAKEViKACA/IijAAqbxB80UGn2VJrRlGZQpUDqkEMOiXPOOSfrr77llltW6aX+t7/9LaZMmZLNslrU119/HVOnTo3PPvssmwnVvXv3ymONGzeO7bfffokWCxXSDKhGjRplAdLySmP48ssv4wc/+EGV/Wmm17bbbpv9nGZrLTqOpCIwAwBYWWIoAID8iKMAGgaJP2igUr/xNCMpBVWpf3oKjiqkWVaLmj17dnTr1i1uueWWJa6z1lpr5d3OYUWlcSR//vOfY+21165yLPVlBwCobWIoAID8iKMAGgaJP2igUkCVFjBeHtttt13cdtttWauDVq1aVXtOx44d44UXXohddtklez5//vyYNGlS9trqpJlcaXZX6ode0V5hURWzvNJCzRU233zzLKiaPn36UmdnbbbZZtnC0It6/vnnl+tzAgB8GzEUAEB+xFEADUN5fQ8AqH2HHnporLnmmrHffvtlCypPmzYt66d+wgknxLvvvpudc+KJJ8ZFF10U9957b/z973+PY489NmbNmrXUa66//voxYMCAOPLII7PXVFwz9VpPOnfunPVwT20gUq/3NMMqtXc45ZRTskWUb7jhhqy1w8svvxxXXHFF9jw55phj4u23345TTz01W4x57Nix2ULPAAB1TQwFAJAfcRRA/ZH4gxLQokWLmDBhQqy33nrZgslpJtPAgQOzvuoVs65OPvnkOOyww7IAKvUxT4HR/vvvv8zrpvYOBx54YBaYde3aNY466qiYM2dOdiy1Tzj33HPjl7/8ZbRv3z4GDx6c7T///PPj17/+dYwYMSIbx5577pm1W+jSpUt2PI3xrrvuygK4rbfeOlvYOS3CDABQ18RQAAD5EUcB1J+y3NJWSwUAAAAAAAAaDBV/AAAAAAAAUAQk/gAAAAAAAKAISPwBAAAAAABAEZD4AwAAAAAAgCIg8QcAAAAAAABFQOIPAAAAAAAAioDEHwAAAAAAABQBiT8AAAAAAAAoAhJ/AAAAAAAAUAQk/gAAAAAAAKAISPwBAAAAAABAEZD4AwAAAAAAgCIg8QcAAAAAAABFQOIPAAAAAAAAioDEHwAAAAAAABQBiT8AAAAAAAAoAhJ/AAAAAAAAUAQk/qDAlJWVxTnnnBOF6J133snGN2bMmMp9aaxpHwAAha2Q40wAAABqhsQfJSklrtKNj4kTJ0ZD9vHHH8epp54am266aayyyirRtm3b6NOnT4wbN26lrjt27Ni47LLLotBUJBmr20aNGlWj7/Xmm29m75eSnQBA/bv66quzv/ndu3dfqes8+OCDkl8AAAAUrcb1PQAgP5MnT4499tgjPvzww/jZz34W22+/fcyaNStuueWW6Nu3b5xyyilx8cUX5534e/3112PIkCHfeu6ZZ54Zv/zlL6MuXXPNNbHqqqtW2beyNwGrS/yde+650bNnz1h//fVr9NoAwIpLMU76m/ziiy/GlClTYqONNso78XfVVVdJ/gEAAFCUJP6gAZo3b14ceOCB8emnn8aECROqJL1OOumkOPTQQ+OSSy7JkoE//vGPa3UsjRs3zraa8uWXX0aLFi2WeU767GuuuWY0RMvz+QCAqqZNmxbPPvts3H333fGLX/wiSwKeffbZ9T2skvb1119H06ZNo7xcExkAAIBC4v+XBsvw17/+Nfbaa69o1apVVmGWKuyef/75Jc5LlXYp4ZZmoTdr1izWWWedOPzww+Ojjz7Kjn/zzTdx1llnRbdu3aJ169bRsmXL2HnnneOJJ57Ia1x33XVXVpGXKu0Wr3Rr1KhR/P73v482bdpUmcle0d508daVTz75ZLY/PSapwu3Pf/5z/Otf/6pso7msirelrfF38803Z5+3efPmWQvSgw8+OP79739XOSe913e+852YNGlS7LLLLllC7Iwzzoh8vfrqq3HEEUfEBhtskLU+7dChQxx55JFZS9TF/ec//4mBAwdGp06dsn+zLl26xKBBg7J/q/Rd/ehHP8rO22233Sq/h4rvqKLd2BZbbJG9Nl3juOOOy/53UJufDwBKVUr0rb766rHPPvtkE4DS82XFM0tbnzjFCanaL1m0ZXiFOXPmxMknnxzrrrtu9jc+tVNPk6lyudxKxTqpk0CKKVIssPbaa8fIkSOrTaSluGqTTTbJ4piOHTvGAQccEFOnTl3h8c2dOzeLTddaa61YbbXVYt99941333232u82xUQpXmrfvn12zRTf/PGPf6z2+/3Tn/6UdXtInyF9ls8//7zaawIAAFB/VPzBUrzxxhtZci4l/U477bRo0qRJllBLN3CeeuqpyoTb7Nmzs/Peeuut7KbJdtttlyX87r///uwGS6pMSzdFrrvuuvjJT34SRx11VHzxxRdx/fXXZ+vxpXZV22yzzQqN7YEHHsgeU3KxOim5uN9++8UNN9ywwq2wfvWrX8Vnn32Wjf3SSy/N9i3eVvPbXHjhhfHrX/86DjrooPj5z3+etSO94oorsuRXSqampGSFlJRLydV0s+ynP/1pdtPp23zyySdLJDvTzcDx48fHP//5z6z1aUr6pX/Da6+9NntMCduKG3vvvfdefPe7380SdUcffXR07do1u+l15513ZhV5aZwnnHBCXH755VmibrPNNsteV/GYbsqlNqC9evXKkoWp7WpqP/rSSy/FX/7yl+x/Kyvz+QCAqlKiLyXBUoVZiqcq/u7usMMOK3SdVC2Y4oAUM9x0001VjqXkWUqQpYlZaXJQis8efvjhbD3lFCdUxEUrGuukDg177rlnNv50foo3Tj/99Nhyyy2zGCFZsGBB/PCHP4zHHnssixlOPPHELF5M40yTvTbccMMVGl8aU0pMHnLIIfG9730vHn/88SxpuriZM2fGjjvumMVIgwcPzhKF//u//5tdP8Wvi7d9P//887N/g9RSPiUX088AAAAUmByUoNGjR6dp0bmXXnppqef069cv17Rp09zUqVMr97333nu51VZbLbfLLrtU7jvrrLOya919991LXGPhwoXZ4/z583Nz586tcuzTTz/NtW/fPnfkkUdW2Z+udfbZZy9z/Ntss02udevWyzznf/7nf7Jr3X///VU+87Rp06qc98QTT2T702OFffbZJ9e5c+clrplem85N16qQxrrof0reeeedXKNGjXIXXnhhlde+9tprucaNG1fZv+uuu2avHTVq1DI/y+LvtfhWMdYvv/xyidfceuut2TkTJkyo3Hf44YfnysvLq/33r/g3u+OOO5b4XpIPPvgg+99F7969cwsWLKjcf+WVV2bn//GPf8z78wEAS5o4cWL293T8+PGVf6vXWWed3IknnrjMeGZpsctxxx1XJXapcO+992b7L7jggir7DzzwwFxZWVluypQpecc6N954Y+W+FBN26NAh179//8p9KX5I56X4bWmxyfKO75VXXsnOO/bYY6ucd8ghhywRZw4cODDXsWPH3EcffVTl3IMPPjiLNStiq4rvd4MNNqg23gIAAKBwaPUJ1Uizrh955JHo169f1jayQmq5lGZOP/PMM5WtjVLbza233jr233//Ja5TUWGWKtIqZkQvXLgwq1ibP39+tgbfyy+/vMLjSzPAU9umZak4XtctmNLaO+kzphntqfKxYksVeBtvvPES7U1TS6lUobci0neeZsBXbBXtvlKrrUXbZaX3TbPYk4rvOY3t3nvvjb59+2bf/+Kqa1u6qEcffTRrB5pmwC+6pk2q5EzVoalN6sp+PgDg/6S/86liPrXKrPhbndYwTm0nU8xWUx588MEsZktV/4tKrTXT3KxUCZdPrJM6J6Sq/wopJkydB1KXgkVjm9Ql4vjjj19qbLK840vnJYuft3j1XnpNet8UE6WfF/0sqStF6gCxeJw6YMCAKvEWAAAAhUerT6hGateUWj6mdVMWl9o9pps9aQ2XtAZKWnelf//+33rN1Hbzt7/9bfz973+PefPmVe5Pa8utqJTUq1g/cFnJwYpz69Lbb7+d3TxKN76qs2gbzCStEbOibaJSG610c2xxKaGaWnCmG4EffPBBlWPp5lXFv21Khqb1dvKR1j5MFv/fRvoMKUlccXxlPh8A8F8psZf+rqek37Rp0yr3p5brKa5KrTF79+5dI++V/oandXsXj50qWn1X/I1f0Vgnrf28+MSi1KI8rU1cIcWTKbZo3LjxSo8vPabJSak96KIWj11STJTanqe26GmrzuLxVD5xKwAAAHVL4g/qQFpj5YgjjsgqCNM6LO3atctmbI8YMSK70bOi0g2eV155JaZPnx7rrbdetedU3EzafPPNl1nJVpMz5ZOUFE3vlWadp8+4uMXXC6zJWeNp5v2zzz6bfcdp3Zv0Xmk8aV2d9FgfzIoHgPyltenef//9LPmXtuqqAVPir67inHxinerOSf7b4b3+VMRGqRoxVfJVZ6uttqryXFwDAABQ+CT+oBprrbVWtGjRIiZPnrzEsVSxl2ZRr7vuutnzNJv69ddfX+b17rzzzqwaLLWGWvTG1Nlnn53X+H74wx/GrbfeGjfeeGOceeaZSxxPFW333XdfdO3aNTbaaKPKmeVJmtm9qMUr1Jan3eWypO8j3chKM8I32WSTqCuffvppNus/VfydddZZlfvTrPzF/21TS85v+zdb2nfQuXPn7DH9b2PRNrCp/WeqROjVq9dKfhIAYNHEXpowddVVVy1xLMVV99xzT4waNapG4pz0Nz619F68pXqK/SqO11ask675wgsvZF0hFq8YXNHxpceU1KuoIqyweFybYqJ0nZQcFb8AAAAUD2v8QTXSzOw0ezwlz955553K/TNnzoyxY8fGTjvtlCWPktTm829/+1t242lpM7krZnovOrM73dx57rnn8hrfgQcemFXyXXTRRTFx4sQqx9KNnkGDBmWJsEUTixXtniZMmFC5L93oqa61U8uWLStbY66oAw44IPu8KQG3+Ez29Pzjjz+O2lDdd5xcdtllVZ6npG2qvHzggQeW+O4WfX36Dqq7gZhujKXWnZdffnmV97r++uuz72yfffapwU8FAKXrq6++ypJ7acJTin0W3wYPHpwlwe6///4s2ZVigUXjnOTqq69e4rpL+xu/9957Z7HRlVdeWWX/pZdemiUL99prr1qLdVI8mdq4L/7eFddckfFVPKZYZVkxUfoM6X3TOn/VTYhKrUABAABoeFT8UdL++Mc/xkMPPbTE/hNPPDEuuOCCGD9+fJbkO/bYY7M1V37/+9/H3LlzY+TIkZXnpraSqaLvRz/6URx55JHRrVu3bK25dBMqzUDfeuutsxtW6cbV/vvvnyWGUmVYOpaSd7Nnz17hcafEU3rPPfbYIxvfz372s9h+++2zG1gpMfnyyy/HySefHAcffHDla9J6hDvuuGMMGzYsG1/btm2zllnz589f4vrpM9x2220xdOjQ2GGHHbKWVX379l2usaUEY/ru0vukpGlKsqXZ5Okzp+To0UcfHaecckrUtJSITWv/pX+bNFs+ra33yCOPVFkPqMLw4cOzY7vuums2ntQ6NbURu+OOO+KZZ56JNm3aZK1C0w2x3/zmN1lCr1mzZrH77rtnVQfps6WbfamF6L777pvNoE83FtN3ldplAQArL8VSKbGX/tZWJ8U1qWotVQX++Mc/zmKxK664IkuCpXhk3LhxS6xRVxHnJCeccEL06dMn+3ufYqYU66S1BH/1q19lMUyK4VK8kCaCDRkypHISVW3EOocffnjWySHFXi+++GLsvPPOMWfOnKzCL8Wh++2333KPL8UwP/nJT7LYJMUw3/ve97KuCFOmTFnifdMksieeeCJbM/Goo47KYtMUJ6ZYMr13+hkAAIAGJgclaPTo0Wnq9FK3f//739l5L7/8cq5Pnz65VVddNdeiRYvcbrvtlnv22WeXuN7HH3+cGzx4cG7ttdfONW3aNLfOOuvkBgwYkPvoo4+y4wsXLswNHz4817lz51yzZs1y2267bW7cuHHZOWnfotL7n3322cv1OT744IPc0KFDcxtttFF23TZt2uR69eqVu//++6s9f+rUqdnxdG779u1zZ5xxRm78+PHZez7xxBOV582ePTt3yCGHZNdLxyrGOG3atOx5+v4qpLFW95+Su+66K7fTTjvlWrZsmW1du3bNHXfccbnJkydXnrPrrrvmtthii+X6rIu+14cffljt8XfffTe3//77Z+Nu3bp17kc/+lHuvffeq/Y7/de//pU7/PDDc2uttVb2fWywwQbZ+ObOnVt5zh/+8Idsf6NGjZb4jq688srsMzVp0iT7LgcNGpT79NNPq7zHin4+AOD/9O3bN7fKKqvk5syZs9RzjjjiiOxvcYq5UnzQv3//LGZbffXVc7/4xS9yr7/++hKxy/z583PHH398FgOUlZVViWO++OKL3EknnZTr1KlTdt2NN944d/HFF2exXE3GOtXFgF9++WXuV7/6Va5Lly7Ze3fo0CF34IEHZvHbio7vq6++yp1wwgm5NdZYIxtb+i5TfFtdTDRz5sxs3Ouuu27l++6xxx65a6+9tvKcFAOl195xxx1L/bcAAACgMJSl/1PfyUcAAAAAAABg5VjjDwAAAAAAAIqAxB8AAAAAAAAUAYk/AAAAAAAAKAISfwAAAAAAAFAEJP4AAAAAAACgCEj8AQAAAAAAQBGQ+AMAAAAAAIAiIPEHdezqq6+OsrKy6N69e7XH33nnnez4JZdcUu3xtD8dT+ct7p577om99tor1lxzzWjatGl06tQpDjrooHj88cfzHu/ChQtj5MiR0aVLl1hllVViq622iltvvXWFrvHoo4/G7rvvHq1bt47VVlstunXrFrfddluVc2bPnh1DhgyJddZZJ5o1axabbbZZXHPNNd967aOOOir7Pn74wx9W2f/xxx/HxRdfHLvsskustdZa0aZNm9hxxx2XeF8AoOEotThq/PjxsdNOO0WLFi1i9dVXjwMPPLDasa+//vrZ51p8O+aYY6qc17Nnz2rPS1uTJk2qnHvSSSfFdtttF23bts3eP8Vm55xzThazAQAAULga1/cAoNTccsst2c2ZF198MaZMmRIbbbTRSl8zl8vFkUceGWPGjIltt902hg4dGh06dIj3338/u4m1xx57xF/+8pf43ve+t8LX/tWvfhUXXXRRlmDbYYcd4r777otDDjkku0F08MEHf+vrR48eHQMHDowf/OAHMXz48GjUqFFMnjw5/v3vf1ees2DBgujTp09MnDgxjjvuuNh4443j4YcfjmOPPTY+/fTTOOOMM6q9djo/feZ0I21xzz33XDb2vffeO84888xo3Lhx3HXXXdmY33zzzTj33HNX+LsAAOpXKcVR48aNi/322y9LvqVrfP755/G73/0uSwT+9a9/zSY2LWqbbbaJk08+ucq+TTbZZInx/PznP6+yb86cOVmCsHfv3lX2v/TSS7HzzjvHz372syzWSu+ZxpEmdE2YMCHKy80hBQAAKEg5oM7885//zKVfu7vvvju31lpr5c4555wlzpk2bVp2zsUXX1ztNdL+dDydt/i+IUOG5BYuXLjEa2688cbcCy+8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K6cmTZpUrrWXpOunm2trr7121nJz0dnrf//732PevHmV+1LrqOT666+v3JduFo0ePTratm2bJQaX5sMPP8xaSm211VaVib/dd989u7m3+JZuaKX2V+nnvn37Vl7jtttuixNOOCGbyZ7WuAEAGpZSjqOqc8kll2TnppabFVJF3+LrHKbrpE4HqWqwYl3ERaUOC+kzp3WWq5PWRK5uLCmRmaS4CwAAgMKk4g9qWboRlW5I7bvvvtUeT7OsU+IqzWavSJQNHz4827/ddtvF0UcfHeuvv37WxvLaa6/N1mxJxxeV1sN744034re//W088cQT2Y2wtG5eai917733Zjernn322crz99hjj+wxXXNZ1llnnaxS7uKLL85u/uywww7Z9Z5++ulsvIvOih82bFjccMMN2do7abwVN7zSe40YMSI++uijbG299PrUyvP3v/99NGvWrPL1u+66a/To0SNrW5XGnT7r7NmzY9y4cVk7q2S99dbLtsWlMaaZ8P369avclz7z4YcfHmussUY2hkXbgCXpZtuiVYgAQOEp5TgqJRzvuuuurB16qu5LnRBuv/32+PnPf15lreP0HV1wwQXZuFP3g5QITNV8r7/+evZZ02dZXEVctLQ2n6mqME2eStdMbVW/+eabbNwpCZuSfj/96U+X+dkBAACoRzmgVvXt2ze3yiqr5ObMmbPUc4444ohckyZNch999FHlvrfeeiv34x//ONeuXbtc48aNs8eDDz442780d955Z6537965tm3bZq/p2LFjdo0nn3yyynmdO3fOtuWxYMGC3PDhw7PzmzZtmttiiy1yN9988xLnDRgwIE2Rz02bNq3K/i+++CJ34okn5jp06JC9fsstt6z29SeddFJugw02yDVr1iy31lpr5Q455JDc1KlTl2uMaWz77LNPlX2jR4/OxrO0LR0HAApbKcdRL7zwQm6XXXbJrb766tl3sPXWW+dGjRqVW7hwYZXXTpw4Mfue1l577ew9Vl111dxOO+2Uu/3225c6pnTudtttt9RxT5kyJXf44YdnsVnz5s2z909jP/vss3OzZ89ers8OAABA/ShL/6c+E48AAAAAAADAyrPGHwAAAAAAABQBiT8AAAAAAAAoAhJ/AAAAAAAAUAQk/gAAAAAAAKAISPwBAAAAAABAEZD4AwAAAAAAgCIg8QcAAAAAAABFoHEUoebbDq7vIUDR+viFK+p7CFC0WjQtK6q/lV/99cpafw9qnjgKas+nL/nvItSWVRoXz99KMRQAACtDxR8AAAAAAAAUAYk/AChFZeW1vy2nESNGxA477BCrrbZatGvXLvr16xeTJ0+uck7Pnj2jrKysynbMMcdUOWf69Omxzz77RIsWLbLrnHrqqTF//vwa+8oAADIFEkMBAEDJtPoEAL5FWd21Ff02Tz31VBx33HFZ8i8l6s4444zo3bt3vPnmm9GyZcvK84466qg477zzKp+nBF+FBQsWZEm/Dh06xLPPPhvvv/9+HH744dGkSZMYPnx4nX8mAKCIFVAcBQAAi5P4AwDq1UMPPVTl+ZgxY7KKvUmTJsUuu+xSJdGXEnvVeeSRR7JE4aOPPhrt27ePbbbZJs4///w4/fTT45xzzommTZvW+ucAAAAAgPqmhwQAlKI6aPU5d+7c+Pzzz6tsad+3+eyzz7LHtm3bVtl/yy23xJprrhnf+c53YtiwYfHll19WHnvuuediyy23zJJ+Ffr06ZO95xtvvFGjXx0AUOK0+gQAoICJKAGAWpHW7mvdunWVLe1bloULF8aQIUPi+9//fpbgq3DIIYfEzTffHE888USW9Lvpppvipz/9aeXxGTNmVEn6JRXP0zEAAAAAKAVafQJAKaqDtWlSgm7o0KFV9jVr1myZr0lr/b3++uvxzDPPVNl/9NFHV/6cKvs6duwYe+yxR0ydOjU23HDDGh45AMAyWOMPAIACpuIPAKgVKcnXqlWrKtuyEn+DBw+OcePGZVV966yzzjKv3b179+xxypQp2WNa+2/mzJlVzql4vrR1AQEAAACg2Ej8AUApqoM1/pZXLpfLkn733HNPPP7449GlS5dvfc0rr7ySPabKv6RHjx7x2muvxQcffFB5zvjx47Nk4+abb57XVwQAUK0CiaEAAKA6Wn0CAPUqtfccO3Zs3HfffbHaaqtVrsmX1gRs3rx51s4zHd97771jjTXWiFdffTVOOumk2GWXXWKrrbbKzu3du3eW4DvssMNi5MiR2TXOPPPM7Nrf1l4UAAAAAIqFxB8AlKICWpvmmmuuyR579uxZZf/o0aPjiCOOiKZNm8ajjz4al112WcyZMyfWXXfd6N+/f5bYq9CoUaOsTeigQYOy6r+WLVvGgAED4rzzzqvzzwMAFLkCiqMAAGBxEn8AQL1KrT6XJSX6nnrqqW+9TufOnePBBx+swZEBAAAAQMMi8QcApcj6MQAA+RFHAQBQwESrAAAAAAAAUARU/AFAKbI2DQBAfsRRAAAUMBV/AAAAAAAAUARU/AFAKbI2DQBAfsRRAAAUMNEqAAAAAAAAFAEVfwBQiqxNAwCQH3EUAAAFTMUfAAAAAAAAFAEVfwBQiqxNAwCQH3EUAAAFTLQKAAAAAAAARUDFHwCUImvTAADkRxwFAEABU/EHAAAAAAAARUDFHwCUImvTAADkRxwFAEABk/gDgFLkhhUAQH7EUQAAFDDRKgAAAAAAABQBFX8AUIrKy+p7BAAADZM4CgCAAqbiDwAAAKABGjFiROywww6x2mqrRbt27aJfv34xefLkKuf07NkzysrKqmzHHHNMlXOmT58e++yzT7Ro0SK7zqmnnhrz58+v408DAEBNUPEHAKXI2jQAAA0+jnrqqafiuOOOy5J/KVF3xhlnRO/evePNN9+Mli1bVp531FFHxXnnnVf5PCX4KixYsCBL+nXo0CGeffbZeP/99+Pwww+PJk2axPDhw+v8MwEAsHIk/gAAAAAaoIceeqjK8zFjxmQVe5MmTYpddtmlSqIvJfaq88gjj2SJwkcffTTat28f22yzTZx//vlx+umnxznnnBNNmzat9c8BAEDNKZxpagBA3Skrq/0NAKAY1XIMNXfu3Pj888+rbGnf8vjss8+yx7Zt21bZf8stt8Saa64Z3/nOd2LYsGHx5ZdfVh577rnnYsstt8ySfhX69OmTve8bb7xRY18bAAB1Q+IPAAAAoIDW7WvdunWVLe37NgsXLowhQ4bE97///SzBV+GQQw6Jm2++OZ544oks6XfTTTfFT3/608rjM2bMqJL0Syqep2MAADQsWn0CQCkqoLVpAAAalFqOo1JybujQoVX2NWvW7Ftfl9b6e/311+OZZ56psv/oo4+u/DlV9nXs2DH22GOPmDp1amy44YY1OHIAAAqBu34AAAAABSIl+Vq1alVl+7bE3+DBg2PcuHFZVd8666yzzHO7d++ePU6ZMiV7TGv/zZw5s8o5Fc+Xti4gAACFS+IPAEqRNf4AAPJTQDFULpfLkn733HNPPP7449GlS5dvfc0rr7ySPabKv6RHjx7x2muvxQcffFB5zvjx47OE4+abb77CXw8AAPVLq08AAACABii19xw7dmzcd999sdpqq1WuyZfWBWzevHnWzjMd33vvvWONNdaIV199NU466aTYZZddYquttsrO7d27d5bgO+yww2LkyJHZNc4888zs2svTYhQAgMIi8QcApcgafwAADT6Ouuaaa7LHnj17Vtk/evToOOKII6Jp06bx6KOPxmWXXRZz5syJddddN/r3758l9io0atQoaxM6aNCgrPqvZcuWMWDAgDjvvPPq/PMAALDyJP4AAAAAGqDU6nNZUqLvqaee+tbrdO7cOR588MEaHBkAAPVF4g8ASpE1+AAA8iOOAgCggBVOfwoAAAAAAAAgbyr+AKAUFdDaNAAADYo4CgCAAiZaBQAAAAAAgCKg4g8ASpG1aQAA8iOOAgCggKn4AwAAAAAAgCKg4g8ASpG1aQAA8iOOAgCggIlWAQAAAAAAoAio+AOAUmRtGgCA/IijAAAoYCr+AAAAAAAAoAio+AOAUmRtGgCA/IijAAAoYBJ/AFCK3LACAMiPOAoAgAImWgUAAAAAAIAioOIPAEpRWVl9jwAAoGESRwEAUMBU/AEAAAAAAEARUPEHAKXI2jQAAPkRRwEAUMBEqwAAAAAAAFAEVPwBQCmyNg0AQH7EUQAAFDAVfwAAAAAAAFAEVPwBQCmyNg0AQH7EUQAAFDDRKgAAAAAAABQBFX8AUIqsTQMAkB9xFAAABUzFHwAAAAAAABQBFX8AUILKzFQHAMiLOAoAgEKm4g8AAAAAAACKgIo/AChBZqoDAORHHAUAQCFT8QcAAAAAAABFQMUfAJQiE9UBAPIjjgIAoICp+AMAAAAAAIAioOIPAEqQtWkAAPIjjgIAoJCp+AMAAAAAAIAioOIPAEqQmeoAAPkRRwEAUMhU/AEAAAAAAEARUPEHACXITHUAgPyIowAAKGQSfwBQgtywAgDIjzgKAIBCptUnAAAAAAAAFAEVfwBQikxUBwDIjzgKAIACpuIPAAAAAAAAioCKPwAoQdamAQDIjzgKAIBCpuIPAAAAAAAAioCKPwAoQWaqAwDkRxwFAEAhU/EHAAAAAAAARUDFHwCUIDPVAQDyI44CAKCQqfgDAAAAAACAIqDiDwBKkJnqAAD5EUcBAFDIVPwBAAAAAABAEVDxBwClyER1AID8iKMAAChgKv4AAAAAAACgCKj4A4ASZG0aAID8iKMAAChkKv4AAAAAAACgCKj4A4ASZKY6AEB+xFEAABQyFX8AAAAAAABQBFT8AUAJMlMdACA/4igAAAqZij8AAAAAAAAoAir+AKAUmagOAJAfcRQAAAVMxR8AAAAAAAAUARV/AFCCrE0DAJAfcRQAAIVM4g8ASpAbVgAA+RFHAQBQyLT6BAAAAAAAgCKg4g8ASpCZ6gAA+RFHAQBQyFT8AQAAAAAAQBFQ8QcAJchMdQCA/IijAAAoZCr+AAAAAAAAoAio+AOAUmSiOgBAfsRRAAAUMBV/AAAAAAAAUAQk/gCgRNemqe1teY0YMSJ22GGHWG211aJdu3bRr1+/mDx5cpVzvv766zjuuONijTXWiFVXXTX69+8fM2fOrHLO9OnTY5999okWLVpk1zn11FNj/vz5NfadAQAkhRJDAQBAdST+AIB69dRTT2VJveeffz7Gjx8f8+bNi969e8ecOXMqzznppJPigQceiDvuuCM7/7333osDDjig8viCBQuypN8333wTzz77bNxwww0xZsyYOOuss+rpUwEAAABA3bPGHwCUoEKaTf7QQw9VeZ4Sdqlib9KkSbHLLrvEZ599Ftdff32MHTs2dt999+yc0aNHx2abbZYlC3fcccd45JFH4s0334xHH3002rdvH9tss02cf/75cfrpp8c555wTTZs2radPBwAUm0KKowAAYHEq/gCAWjF37tz4/PPPq2xp37dJib6kbdu22WNKAKYqwF69elWe07Vr11hvvfXiueeey56nxy233DJL+lXo06dP9p5vvPFGLXw6AAAAACg8En8AUILqYo2/tHZf69atq2xp37IsXLgwhgwZEt///vfjO9/5TrZvxowZWcVemzZtqpybknzpWMU5iyb9Ko5XHAMAqCnW+AMAoJBp9QkA1Iphw4bF0KFDq+xr1qzZMl+T1vp7/fXX45lnnqnl0QEAAABA8ZH4A4BSVAeTyVOS79sSfYsaPHhwjBs3LiZMmBDrrLNO5f4OHTrEN998E7NmzapS9Tdz5szsWMU5L774YpXrpeMVxwAAaoyiPAAACphWnwBAvcrlclnS75577onHH388unTpUuV4t27dokmTJvHYY49V7ps8eXJMnz49evTokT1Pj6+99lp88MEHleeMHz8+WrVqFZtvvnkdfhoAAAAAqD8q/gCgBBXS+jGpvefYsWPjvvvui9VWW61yTb60JmDz5s2zx4EDB2ZtQ9u2bZsl844//vgs2bfj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LOl1HTp0qPbYW2+9FQ899FC89NJLsf3222f7rrjiith7773jkksuySoJAQAAAKDYqfgDgBKUJpPX9jZixIho3bp1lS3ty9eTTz4Z7dq1i0033TQGDRoUH3/8ceWx5557LmvvWZH0S3r16hXl5eXxwgsvrPT3BQBQobZjKAAAWBkq/gCAWjFs2LAYOnRolX3VVfstj9Tm84ADDoguXbrE1KlT44wzzsgqBFPCr1GjRjFjxowsKbioxo0bR9u2bbNjAAAAAFAKJP4AoASV18F08qW19czHwQcfXPnzlltuGVtttVVsuOGGWRXgHnvsUSPvAQBQKHEUAADkS6tPAChBZXWw1aYNNtgg1lxzzZgyZUr2PK3998EHH1Q5Z/78+fHJJ58sdV1AAIB8FFIMNWHChOjbt2+2nnFZWVnce++9VY4fccQR2f5Ft9RJYVEpXjr00EOjVatWWev0gQMHxuzZs2vgmwIAoD5I/AEADc67776brfHXsWPH7HmPHj1i1qxZMWnSpMpzHn/88Vi4cGF07969HkcKAFB75syZE1tvvXVcddVVSz0nJfref//9yu3WW2+tcjwl/d54440YP358jBs3LksmHn300XUwegAAaoNWnwBQgtJs70KSZpVXVO8l06ZNi1deeSVboy9t5557bvTv3z+r3ktr/J122mmx0UYbRZ8+fbLzN9tss+ym1lFHHRWjRo2KefPmxeDBg7MWoWkGPABAQ4mj5s6dm23L00I9rXmctmVJr1taB4S33norHnrooXjppZdi++23z/ZdccUVsffee8cll1wijgIAaIBU/AEA9W7ixImx7bbbZlsydOjQ7OezzjorGjVqFK+++mrsu+++sckmm2Ttp7p16xZPP/10lRtgt9xyS3Tt2jVb8y/drNppp53i2muvrcdPBQCw4kaMGBGtW7eusqV9+UprIrdr1y423XTTGDRoUNY1ocJzzz2XtfesSPolvXr1ivLy8njhhRdW+rMAAFD3VPwBQAkqL6yCv+jZs2fkcrmlHn/44Ye/9RqpMnDs2LE1PDIAgLqNo4YNG5ZNglpUddV+yyN1RDjggAOiS5cuWdeEM844I6sQTAm/NLlqxowZWVJwUY0bN87iqnQMAICGR+IPAAAAoEAsra1nPlLb8wpbbrllbLXVVrHhhhtmVYCpSwIAAMVHq08AKNG1aWp7AwAoRg05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++yzaNWqVX0PB4qK3y+A4ua/81B7/H4BAAANlVafAAAAAAAAUAQk/gAAAAAAAKAISPwBAAAAAABAEZD4o141a9Yszj777OwRqFl+vwCKm//OQ+3x+wUAADRUZblcLlffgwAAAAAAAABWjoo/AAAAAAAAKAISfwAAAAAAAFAEJP4AAAAAAACgCEj8AQAAAAAAQBGQ+KNeXXXVVbH++uvHKqusEt27d48XX3yxvocEDd6ECROib9++0alTpygrK4t77723vocEQA0TQ0HtEEcBAAANncQf9ea2226LoUOHxtlnnx0vv/xybL311tGnT5/44IMP6nto0KDNmTMn+31KN4UBKD5iKKg94igAAKChK8vlcrn6HgSlKc1O32GHHeLKK6/Mni9cuDDWXXfdOP744+OXv/xlfQ8PikKaqX7PPfdEv3796nsoANQQMRTUDXEUAADQEKn4o1588803MWnSpOjVq1flvvLy8uz5c889V69jAwAoVGIoAAAAYFkk/qgXH330USxYsCDat29fZX96PmPGjHobFwBAIRNDAQAAAMsi8QcAAAAAAABFQOKPerHmmmtGo0aNYubMmVX2p+cdOnSot3EBABQyMRQAAACwLBJ/1IumTZtGt27d4rHHHqvct3Dhwux5jx496nVsAACFSgwFAAAALEvjZR6FWjR06NAYMGBAbL/99vHd7343LrvsspgzZ0787Gc/q++hQYM2e/bsmDJlSuXzadOmxSuvvBJt27aN9dZbr17HBsDKE0NB7RFHAQAADV1ZLpfL1fcgKF1XXnllXHzxxTFjxozYZptt4vLLL4/u3bvX97CgQXvyySdjt912W2J/ukk8ZsyYehkTADVLDAW1QxwFAAA0dBJ/AAAAAAAAUASs8QcAAAAAAABFQOIPAAAAAAAAioDEHwAAAAAAABQBiT8AAAAAAAAoAhJ/AAAAAAAAUAQk/gAAAAAAAKAISPwBAAAAAABAEZD4AwAAAAAAgCIg8Qcs1RFHHBH9+vWrfN6zZ88YMmRInY/jySefjLKyspg1a1advzcAwIoSQwEAAFBfJP6ggd5MSjdx0ta0adPYaKON4rzzzov58+fX6vvefffdcf755y/XuW40AQCFRgwFAABAsWtc3wMA8rPnnnvG6NGjY+7cufHggw/GcccdF02aNIlhw4ZVOe+bb77JbmzVhLZt29bIdQAA6osYCgAAgGKm4g8aqGbNmkWHDh2ic+fOMWjQoOjVq1fcf//9la2lLrzwwujUqVNsuumm2fn//ve/46CDDoo2bdpkN5/222+/eOeddyqvt2DBghg6dGh2fI011ojTTjstcrlclfdcvE1VumF2+umnx7rrrpuNJ82av/7667Pr7rbbbtk5q6++ejZrPY0rWbhwYYwYMSK6dOkSzZs3j6233jruvPPOKu+TbsJtsskm2fF0nUXHCQCwMsRQAAAAFDOJPygS6QZPmpmePPbYYzF58uQYP358jBs3LubNmxd9+vSJ1VZbLZ5++un4y1/+Equuumo2473iNb/97W9jzJgx8cc//jGeeeaZ+OSTT+Kee+5Z5nsefvjhceutt8bll18eb731Vvz+97/PrptuYt11113ZOWkc77//fvzud7/LnqcbVjfeeGOMGjUq3njjjTjppJPipz/9aTz11FOVN9cOOOCA6Nu3b7zyyivx85//PH75y1/W8rcHAJQqMRQAAADFRKtPaODSjPJ0k+rhhx+O448/Pj788MNo2bJlXHfddZXtqW6++eZslnjal2aOJ6nFVZqZntaR6d27d1x22WVZi6t0wyhJN5XSNZfmH//4R9x+++3ZjbE0Uz7ZYIMNlmhp1a5du+x9Kma3Dx8+PB599NHo0aNH5WvSTbJ0w2vXXXeNa665JjbccMPsJlqSZtu/9tpr8Zvf/KaWvkEAoBSJoQAAAChGEn/QQKVZ6GlmeJqJnm5IHXLIIXHOOedk69RsueWWVdak+dvf/hZTpkzJZqsv6uuvv46pU6fGZ599ls0o7969e+Wxxo0bx/bbb79Eq6oKaSZ5o0aNshtNyyuN4csvv4wf/OAHVfanGfPbbrtt9nOa9b7oOJKKG1wAACtLDAUAAEAxk/iDBiqt25JmdqebU2kdmnSTqUKarb6o2bNnR7du3eKWW25Z4jprrbVW3m2xVlQaR/LnP/851l577SrH0vo2AAC1TQwFAABAMZP4gwYq3ZjaaKONluvc7bbbLm677basZVSrVq2qPadjx47xwgsvxC677JI9nz9/fkyaNCl7bXXSjPg0Sz6tK1PRpmpRFbPlFyxYULlv8803z25OTZ8+famz3DfbbLO4//77q+x7/vnnl+tzAgB8GzEUAAAAxay8vgcA1L5DDz001lxzzdhvv/3i6aefjmnTpmXr0pxwwgnx7rvvZueceOKJcdFFF8W9994bf//73+PYY4+NWbNmLfWa66+/fgwYMCCOPPLI7DUV10xr1iSdO3fO1sJJ7bTSmjlppnpqk3XKKafESSedFDfccEPWIuvll1+OK664InueHHPMMfH222/HqaeeGpMnT46xY8fGmDFj6uibAgD4P2IoAAAAGhqJPygBLVq0iAkTJsR6660XBxxwQDYjfODAgdn6NBWz108++eQ47LDDshtRaT2YdINp//33X+Z1U5usAw88MLvB1bVr1zjqqKNizpw52bHUhurcc8+NX/7yl9G+ffsYPHhwtv/888+PX//61zFixIhsHHvuuWfWtqpLly7Z8TTGu+66K7sRtvXWW8eoUaNi+PDhtf4dAQAsTgwFAABAQ1OWW9qq8wAAAAAAAECDoeIPAAAAAAAAioDEHwAAAAAAABQBiT8AAAAAAAAoAhJ/AAAAAAAAUAQk/gAAAAAAAKAISPwBAAAAAABAEZD4AwAAAAAAgCIg8QcAAAAAAABFQOIPAAAAAAAAioDEHwAAAAAAABQBiT8AAAAAAACIhu//AV73JGXnriarAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "2025-07-15 17:03:29,221 - INFO - Detailed evaluation results:\n", "2025-07-15 17:03:29,235 - INFO - Anomaly Detection Suite completed successfully!\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "============================================================\n", "ANOMALY DETECTION METHODS COMPARISON\n", "============================================================\n", "\n", "Statistical:\n", "------------------------------\n", " precision recall f1-score support\n", "\n", " Normal 0.99 1.00 0.99 270\n", " Anomaly 1.00 0.87 0.93 30\n", "\n", " accuracy 0.99 300\n", " macro avg 0.99 0.93 0.96 300\n", "weighted avg 0.99 0.99 0.99 300\n", "\n", "AUC Score: 1.0000\n", "\n", "Isolation Forest:\n", "------------------------------\n", " precision recall f1-score support\n", "\n", " Normal 0.97 0.96 0.96 270\n", " Anomaly 0.68 0.70 0.69 30\n", "\n", " accuracy 0.94 300\n", " macro avg 0.82 0.83 0.83 300\n", "weighted avg 0.94 0.94 0.94 300\n", "\n", "AUC Score: 0.9835\n", "\n", "One-Class SVM:\n", "------------------------------\n", " precision recall f1-score support\n", "\n", " Normal 0.95 0.94 0.94 270\n", " Anomaly 0.50 0.53 0.52 30\n", "\n", " accuracy 0.90 300\n", " macro avg 0.72 0.74 0.73 300\n", "weighted avg 0.90 0.90 0.90 300\n", "\n", "AUC Score: 0.9135\n", "\n", "Local Outlier Factor:\n", "------------------------------\n", " precision recall f1-score support\n", "\n", " Normal 0.94 0.94 0.94 270\n", " Anomaly 0.45 0.47 0.46 30\n", "\n", " accuracy 0.89 300\n", " macro avg 0.70 0.70 0.70 300\n", "weighted avg 0.89 0.89 0.89 300\n", "\n", "AUC Score: 0.6942\n", "\n", "Autoencoder:\n", "------------------------------\n", " precision recall f1-score support\n", "\n", " Normal 0.94 0.99 0.97 270\n", " Anomaly 0.87 0.43 0.58 30\n", "\n", " accuracy 0.94 300\n", " macro avg 0.90 0.71 0.77 300\n", "weighted avg 0.93 0.94 0.93 300\n", "\n", "AUC Score: 0.9573\n" ] } ], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from sklearn.datasets import make_classification\n", "from sklearn.model_selection import train_test_split, StratifiedKFold\n", "from sklearn.preprocessing import StandardScaler\n", "from sklearn.ensemble import IsolationForest\n", "from sklearn.svm import OneClassSVM\n", "from sklearn.neighbors import LocalOutlierFactor\n", "from sklearn.metrics import classification_report, confusion_matrix, roc_auc_score, precision_recall_curve\n", "import torch\n", "import torch.nn as nn\n", "import torch.optim as optim\n", "from torch.utils.data import DataLoader, TensorDataset\n", "import logging\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "\n", "# Configure logging\n", "logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')\n", "logger = logging.getLogger(__name__)\n", "\n", "class AnomalyDetectionSuite:\n", " def __init__(self):\n", " self.scaler = StandardScaler()\n", " self.models = {}\n", " self.results = {}\n", " \n", " def create_anomaly_dataset(self, n_samples=1000, contamination=0.1):\n", " logger.info(f\"Creating synthetic anomaly dataset with {n_samples} samples and {contamination*100}% anomalies\")\n", " \n", " np.random.seed(42)\n", " \n", " # Create normal data (90% of samples)\n", " n_normal = int(n_samples * (1 - contamination))\n", " normal_data = np.random.multivariate_normal(\n", " mean=[0, 0], \n", " cov=[[1, 0.5], [0.5, 1]], \n", " size=n_normal\n", " )\n", " \n", " # Create anomalous data (10% of samples)\n", " n_anomalies = n_samples - n_normal\n", " anomaly_data = np.random.multivariate_normal(\n", " mean=[4, 4], \n", " cov=[[0.5, 0], [0, 0.5]], \n", " size=n_anomalies\n", " )\n", " \n", " # Combine data\n", " X = np.vstack([normal_data, anomaly_data])\n", " y = np.hstack([np.zeros(n_normal), np.ones(n_anomalies)])\n", " \n", " logger.info(f\"Dataset created: {len(X)} total samples, {np.sum(y)} anomalies ({np.mean(y)*100:.1f}%)\")\n", " return X, y\n", " \n", " def visualize_data(self, X, y):\n", " logger.info(\"Creating data visualization\")\n", " \n", " plt.figure(figsize=(12, 4))\n", " \n", " # Original data\n", " plt.subplot(1, 2, 1)\n", " normal_mask = y == 0\n", " anomaly_mask = y == 1\n", " plt.scatter(X[normal_mask, 0], X[normal_mask, 1], c='blue', alpha=0.6, label='Normal', s=30)\n", " plt.scatter(X[anomaly_mask, 0], X[anomaly_mask, 1], c='red', alpha=0.8, label='Anomaly', s=50)\n", " plt.title('Original Data Distribution')\n", " plt.xlabel('Feature 1')\n", " plt.ylabel('Feature 2')\n", " plt.legend()\n", " plt.grid(True, alpha=0.3)\n", " \n", " # Data statistics\n", " plt.subplot(1, 2, 2)\n", " stats_text = f\"\"\"\n", " Dataset Statistics:\n", " • Total samples: {len(X)}\n", " • Normal samples: {np.sum(y == 0)} ({np.mean(y == 0)*100:.1f}%)\n", " • Anomaly samples: {np.sum(y == 1)} ({np.mean(y == 1)*100:.1f}%)\n", " • Feature 1 range: [{X[:, 0].min():.2f}, {X[:, 0].max():.2f}]\n", " • Feature 2 range: [{X[:, 1].min():.2f}, {X[:, 1].max():.2f}]\n", " \"\"\"\n", " plt.text(0.1, 0.5, stats_text, transform=plt.gca().transAxes, \n", " fontsize=10, verticalalignment='center', fontfamily='monospace')\n", " plt.axis('off')\n", " \n", " plt.tight_layout()\n", " plt.show()\n", " \n", " logger.info(\"Data visualization completed\")\n", " \n", " def statistical_anomaly_detection(self, X_train, X_test, y_test):\n", " logger.info(\"Starting statistical anomaly detection (Z-score method)\")\n", " \n", " # Fit scaler on training data\n", " X_train_scaled = self.scaler.fit_transform(X_train)\n", " X_test_scaled = self.scaler.transform(X_test)\n", " \n", " # Calculate Z-scores for test data\n", " z_scores = np.abs(X_test_scaled)\n", " combined_z_score = np.sqrt(np.sum(z_scores**2, axis=1))\n", " \n", " # Threshold for anomaly detection\n", " threshold = 2.5\n", " y_pred_statistical = (combined_z_score > threshold).astype(int)\n", " \n", " logger.info(f\"Statistical method: threshold={threshold}, detected {np.sum(y_pred_statistical)} anomalies\")\n", " \n", " # Calculate metrics\n", " auc_score = roc_auc_score(y_test, combined_z_score)\n", " \n", " self.results['Statistical'] = {\n", " 'predictions': y_pred_statistical,\n", " 'scores': combined_z_score,\n", " 'auc': auc_score\n", " }\n", " \n", " logger.info(f\"Statistical anomaly detection completed. AUC: {auc_score:.4f}\")\n", " return y_pred_statistical\n", " \n", " def isolation_forest_detection(self, X_train, X_test, y_test):\n", " logger.info(\"Starting Isolation Forest anomaly detection\")\n", " \n", " # Train Isolation Forest\n", " iso_forest = IsolationForest(\n", " contamination=0.1,\n", " random_state=42,\n", " n_estimators=100\n", " )\n", " \n", " iso_forest.fit(X_train)\n", " \n", " # Predict anomalies\n", " y_pred_iso = iso_forest.predict(X_test)\n", " y_pred_iso = (y_pred_iso == -1).astype(int) # Convert -1 to 1 for anomalies\n", " \n", " # Get anomaly scores\n", " scores = iso_forest.score_samples(X_test)\n", " scores = -scores # Convert to positive scores (higher = more anomalous)\n", " \n", " logger.info(f\"Isolation Forest: detected {np.sum(y_pred_iso)} anomalies\")\n", " \n", " # Calculate metrics\n", " auc_score = roc_auc_score(y_test, scores)\n", " \n", " self.results['Isolation Forest'] = {\n", " 'predictions': y_pred_iso,\n", " 'scores': scores,\n", " 'auc': auc_score\n", " }\n", " \n", " logger.info(f\"Isolation Forest completed. AUC: {auc_score:.4f}\")\n", " return y_pred_iso\n", " \n", " def one_class_svm_detection(self, X_train, X_test, y_test):\n", " logger.info(\"Starting One-Class SVM anomaly detection\")\n", " \n", " # Scale data\n", " X_train_scaled = self.scaler.fit_transform(X_train)\n", " X_test_scaled = self.scaler.transform(X_test)\n", " \n", " # Train One-Class SVM\n", " oc_svm = OneClassSVM(\n", " nu=0.1, # Expected fraction of outliers\n", " kernel='rbf',\n", " gamma='scale'\n", " )\n", " \n", " oc_svm.fit(X_train_scaled)\n", " \n", " # Predict anomalies\n", " y_pred_svm = oc_svm.predict(X_test_scaled)\n", " y_pred_svm = (y_pred_svm == -1).astype(int) # Convert -1 to 1 for anomalies\n", " \n", " # Get anomaly scores\n", " scores = oc_svm.score_samples(X_test_scaled)\n", " scores = -scores # Convert to positive scores\n", " \n", " logger.info(f\"One-Class SVM: detected {np.sum(y_pred_svm)} anomalies\")\n", " \n", " # Calculate metrics\n", " auc_score = roc_auc_score(y_test, scores)\n", " \n", " self.results['One-Class SVM'] = {\n", " 'predictions': y_pred_svm,\n", " 'scores': scores,\n", " 'auc': auc_score\n", " }\n", " \n", " logger.info(f\"One-Class SVM completed. AUC: {auc_score:.4f}\")\n", " return y_pred_svm\n", " \n", " def local_outlier_factor_detection(self, X_train, X_test, y_test):\n", " logger.info(\"Starting Local Outlier Factor anomaly detection\")\n", " \n", " # Scale data\n", " X_train_scaled = self.scaler.fit_transform(X_train)\n", " X_test_scaled = self.scaler.transform(X_test)\n", " \n", " # Combine train and test for LOF (it needs all data)\n", " X_combined = np.vstack([X_train_scaled, X_test_scaled])\n", " \n", " # Train LOF\n", " lof = LocalOutlierFactor(\n", " n_neighbors=20,\n", " contamination=0.1,\n", " novelty=False\n", " )\n", " \n", " y_pred_combined = lof.fit_predict(X_combined)\n", " \n", " # Extract test predictions\n", " y_pred_lof = y_pred_combined[len(X_train_scaled):]\n", " y_pred_lof = (y_pred_lof == -1).astype(int) # Convert -1 to 1 for anomalies\n", " \n", " # Get anomaly scores\n", " scores = -lof.negative_outlier_factor_[len(X_train_scaled):]\n", " \n", " logger.info(f\"Local Outlier Factor: detected {np.sum(y_pred_lof)} anomalies\")\n", " \n", " # Calculate metrics\n", " auc_score = roc_auc_score(y_test, scores)\n", " \n", " self.results['Local Outlier Factor'] = {\n", " 'predictions': y_pred_lof,\n", " 'scores': scores,\n", " 'auc': auc_score\n", " }\n", " \n", " logger.info(f\"Local Outlier Factor completed. AUC: {auc_score:.4f}\")\n", " return y_pred_lof\n", "\n", "class SimpleAutoencoder(nn.Module):\n", " def __init__(self, input_dim, hidden_dim=8):\n", " super(SimpleAutoencoder, self).__init__()\n", " self.encoder = nn.Sequential(\n", " nn.Linear(input_dim, hidden_dim),\n", " nn.ReLU(),\n", " nn.Linear(hidden_dim, hidden_dim // 2),\n", " nn.ReLU()\n", " )\n", " self.decoder = nn.Sequential(\n", " nn.Linear(hidden_dim // 2, hidden_dim),\n", " nn.ReLU(),\n", " nn.Linear(hidden_dim, input_dim)\n", " )\n", " \n", " def forward(self, x):\n", " encoded = self.encoder(x)\n", " decoded = self.decoder(encoded)\n", " return decoded\n", "\n", "class DeepAnomalyDetector:\n", " def __init__(self, input_dim, hidden_dim=8, lr=0.0001):\n", " self.device = torch.device('mps' if torch.backends.mps.is_available() else 'cpu')\n", " logger.info(f\"Using device: {self.device}\")\n", " \n", " self.model = SimpleAutoencoder(input_dim, hidden_dim).to(self.device)\n", " self.optimizer = optim.Adam(self.model.parameters(), lr=lr)\n", " self.criterion = nn.MSELoss()\n", " self.scaler = StandardScaler()\n", " \n", " def train_autoencoder(self, X_train, epochs=50, batch_size=32):\n", " logger.info(f\"Starting autoencoder training for {epochs} epochs\")\n", " \n", " # Scale and prepare data\n", " X_train_scaled = self.scaler.fit_transform(X_train)\n", " X_tensor = torch.FloatTensor(X_train_scaled).to(self.device)\n", " \n", " # Create data loader\n", " dataset = TensorDataset(X_tensor, X_tensor)\n", " dataloader = DataLoader(dataset, batch_size=batch_size, shuffle=True)\n", " \n", " self.model.train()\n", " losses = []\n", " \n", " for epoch in range(epochs):\n", " epoch_loss = 0\n", " num_batches = 0\n", " \n", " for batch_data, batch_target in dataloader:\n", " self.optimizer.zero_grad()\n", " \n", " # Forward pass\n", " reconstructed = self.model(batch_data)\n", " loss = self.criterion(reconstructed, batch_target)\n", " \n", " # Backward pass\n", " loss.backward()\n", " self.optimizer.step()\n", " \n", " epoch_loss += loss.item()\n", " num_batches += 1\n", " \n", " avg_loss = epoch_loss / num_batches\n", " losses.append(avg_loss)\n", " \n", " if epoch % 10 == 0:\n", " logger.info(f\"Epoch {epoch}/{epochs}, Average Loss: {avg_loss:.6f}\")\n", " \n", " logger.info(f\"Autoencoder training completed. Final loss: {losses[-1]:.6f}\")\n", " return losses\n", " \n", " def detect_anomalies(self, X_test, y_test, threshold_percentile=95):\n", " logger.info(\"Starting autoencoder anomaly detection\")\n", " \n", " # Scale test data\n", " X_test_scaled = self.scaler.transform(X_test)\n", " X_tensor = torch.FloatTensor(X_test_scaled).to(self.device)\n", " \n", " self.model.eval()\n", " with torch.no_grad():\n", " reconstructed = self.model(X_tensor)\n", " \n", " # Calculate reconstruction errors\n", " reconstruction_errors = torch.mean((X_tensor - reconstructed) ** 2, dim=1)\n", " reconstruction_errors = reconstruction_errors.cpu().numpy()\n", " \n", " # Set threshold based on percentile\n", " threshold = np.percentile(reconstruction_errors, threshold_percentile)\n", " y_pred_ae = (reconstruction_errors > threshold).astype(int)\n", " \n", " logger.info(f\"Autoencoder: threshold={threshold:.6f}, detected {np.sum(y_pred_ae)} anomalies\")\n", " \n", " # Calculate metrics\n", " auc_score = roc_auc_score(y_test, reconstruction_errors)\n", " \n", " logger.info(f\"Autoencoder anomaly detection completed. AUC: {auc_score:.4f}\")\n", " \n", " return y_pred_ae, reconstruction_errors, auc_score\n", "\n", "def evaluate_all_methods(suite, deep_detector, X_test, y_test):\n", " logger.info(\"Starting comprehensive evaluation of all methods\")\n", " \n", " # Collect all results\n", " all_results = {}\n", " \n", " # Traditional methods\n", " for method_name, results in suite.results.items():\n", " all_results[method_name] = results\n", " \n", " # Deep learning method\n", " y_pred_ae, scores_ae, auc_ae = deep_detector.detect_anomalies(X_test, y_test)\n", " all_results['Autoencoder'] = {\n", " 'predictions': y_pred_ae,\n", " 'scores': scores_ae,\n", " 'auc': auc_ae\n", " }\n", " \n", " # Create comparison plots\n", " fig, axes = plt.subplots(2, 3, figsize=(18, 12))\n", " axes = axes.flatten()\n", " \n", " method_names = list(all_results.keys())\n", " \n", " for i, method_name in enumerate(method_names):\n", " ax = axes[i]\n", " results = all_results[method_name]\n", " \n", " # Plot confusion matrix\n", " cm = confusion_matrix(y_test, results['predictions'])\n", " sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', ax=ax)\n", " ax.set_title(f'{method_name}\\nAUC: {results[\"auc\"]:.4f}')\n", " ax.set_xlabel('Predicted')\n", " ax.set_ylabel('Actual')\n", " \n", " # Hide unused subplot\n", " if len(method_names) < len(axes):\n", " axes[-1].axis('off')\n", " \n", " plt.tight_layout()\n", " plt.show()\n", " \n", " # Print detailed results\n", " logger.info(\"Detailed evaluation results:\")\n", " print(\"\\n\" + \"=\"*60)\n", " print(\"ANOMALY DETECTION METHODS COMPARISON\")\n", " print(\"=\"*60)\n", " \n", " for method_name, results in all_results.items():\n", " print(f\"\\n{method_name}:\")\n", " print(\"-\" * 30)\n", " print(classification_report(y_test, results['predictions'], \n", " target_names=['Normal', 'Anomaly']))\n", " print(f\"AUC Score: {results['auc']:.4f}\")\n", " \n", " return all_results\n", "\n", "# Main execution\n", "def main():\n", " logger.info(\"Starting Anomaly Detection Suite\")\n", " \n", " # Initialize suite\n", " suite = AnomalyDetectionSuite()\n", " \n", " # Create dataset\n", " X, y = suite.create_anomaly_dataset(n_samples=1000, contamination=0.1)\n", " \n", " # Visualize data\n", " suite.visualize_data(X, y)\n", " \n", " # Split data\n", " X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.3, random_state=42, stratify=y\n", " )\n", " \n", " logger.info(f\"Data split: Train={len(X_train)}, Test={len(X_test)}\")\n", " \n", " # Run traditional methods\n", " logger.info(\"Running traditional anomaly detection methods...\")\n", " suite.statistical_anomaly_detection(X_train, X_test, y_test)\n", " suite.isolation_forest_detection(X_train, X_test, y_test)\n", " suite.one_class_svm_detection(X_train, X_test, y_test)\n", " suite.local_outlier_factor_detection(X_train, X_test, y_test)\n", " \n", " # Run deep learning method\n", " logger.info(\"Running deep learning anomaly detection...\")\n", " deep_detector = DeepAnomalyDetector(input_dim=X.shape[1], hidden_dim=8, lr=0.0001)\n", " training_losses = deep_detector.train_autoencoder(X_train, epochs=50, batch_size=32)\n", " \n", " # Plot training progress\n", " plt.figure(figsize=(10, 6))\n", " plt.plot(training_losses)\n", " plt.title('Autoencoder Training Loss')\n", " plt.xlabel('Epoch')\n", " plt.ylabel('MSE Loss')\n", " plt.grid(True)\n", " plt.show()\n", " \n", " # Evaluate all methods\n", " final_results = evaluate_all_methods(suite, deep_detector, X_test, y_test)\n", " \n", " logger.info(\"Anomaly Detection Suite completed successfully!\")\n", " \n", " return suite, deep_detector, final_results\n", "\n", "if __name__ == \"__main__\":\n", " suite, deep_detector, results = main()" ] }, { "cell_type": "code", "execution_count": null, "id": "45ce0787-a386-4b4c-9e85-cfb657409d01", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from sklearn.datasets import make_classification\n", "from sklearn.model_selection import train_test_split, StratifiedKFold\n", "from sklearn.preprocessing import StandardScaler\n", "from sklearn.ensemble import IsolationForest\n", "from sklearn.svm import OneClassSVM\n", "from sklearn.neighbors import LocalOutlierFactor\n", "from sklearn.metrics import classification_report, confusion_matrix, roc_auc_score, precision_recall_curve\n", "import torch\n", "import torch.nn as nn\n", "import torch.optim as optim\n", "from torch.utils.data import DataLoader, TensorDataset\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "\n", "class AnomalyDetectionSuite:\n", " \"\"\"\n", " Comprehensive anomaly detection suite implementing multiple traditional methods.\n", " \n", " Design Philosophy:\n", " - Starts with simple statistical methods before complex ML approaches\n", " - Uses conservative thresholds to avoid false positives\n", " - Implements proper data scaling and validation splits\n", " - Focuses on interpretable methods suitable for beginners\n", " \"\"\"\n", " \n", " def __init__(self):\n", " # StandardScaler ensures features have mean=0, std=1 for distance-based methods\n", " self.scaler = StandardScaler()\n", " # Dictionary to store trained models for reuse\n", " self.models = {}\n", " # Dictionary to store results for comparison across methods\n", " self.results = {}\n", " \n", " def create_anomaly_dataset(self, n_samples=1000, contamination=0.1):\n", " \"\"\"\n", " Creates synthetic 2D dataset with clear separation between normal and anomalous data.\n", " \n", " Why this design:\n", " - Uses multivariate normal distribution for realistic data patterns\n", " - Creates clear but not trivial separation (realistic difficulty)\n", " - 2D allows for easy visualization and intuition building\n", " - Contamination rate of 10% is realistic for many real-world scenarios\n", " \n", " Args:\n", " n_samples: Total number of samples to generate\n", " contamination: Fraction of samples that should be anomalies (0.0 to 1.0)\n", " \n", " Returns:\n", " X: Feature matrix of shape (n_samples, 2)\n", " y: Binary labels (0=normal, 1=anomaly)\n", " \"\"\"\n", " \n", " # Fixed seed ensures reproducible results across runs\n", " np.random.seed(42)\n", " \n", " # Calculate number of normal vs anomalous samples\n", " n_normal = int(n_samples * (1 - contamination))\n", " \n", " # Generate normal data cluster centered at origin\n", " # Covariance matrix [[1, 0.5], [0.5, 1]] creates realistic correlation\n", " normal_data = np.random.multivariate_normal(\n", " mean=[0, 0], # Center at origin\n", " cov=[[1, 0.5], [0.5, 1]], # Moderate correlation between features\n", " size=n_normal\n", " )\n", " \n", " # Generate anomalous data cluster away from normal data\n", " # Smaller covariance creates tighter, more distinct cluster\n", " n_anomalies = n_samples - n_normal\n", " anomaly_data = np.random.multivariate_normal(\n", " mean=[4, 4], # Far from normal cluster\n", " cov=[[0.5, 0], [0, 0.5]], # No correlation, tighter spread\n", " size=n_anomalies\n", " )\n", " \n", " # Combine datasets and create labels\n", " X = np.vstack([normal_data, anomaly_data])\n", " y = np.hstack([np.zeros(n_normal), np.ones(n_anomalies)])\n", " \n", " return X, y\n", " \n", " def visualize_data(self, X, y):\n", " \"\"\"\n", " Creates comprehensive visualization of the dataset for intuition building.\n", " \n", " Visualization Strategy:\n", " - Scatter plot shows spatial separation between classes\n", " - Different colors and sizes make anomalies clearly visible\n", " - Statistics panel provides quantitative understanding\n", " - Grid and labels improve readability\n", " \"\"\"\n", " \n", " plt.figure(figsize=(12, 4))\n", " \n", " # Left subplot: Data distribution\n", " plt.subplot(1, 2, 1)\n", " \n", " # Create boolean masks for efficient indexing\n", " normal_mask = y == 0\n", " anomaly_mask = y == 1\n", " \n", " # Plot normal points (smaller, semi-transparent)\n", " plt.scatter(X[normal_mask, 0], X[normal_mask, 1], \n", " c='blue', alpha=0.6, label='Normal', s=30)\n", " \n", " # Plot anomalies (larger, more opaque for visibility)\n", " plt.scatter(X[anomaly_mask, 0], X[anomaly_mask, 1], \n", " c='red', alpha=0.8, label='Anomaly', s=50)\n", " \n", " plt.title('Original Data Distribution')\n", " plt.xlabel('Feature 1')\n", " plt.ylabel('Feature 2')\n", " plt.legend()\n", " plt.grid(True, alpha=0.3) # Subtle grid for reference\n", " \n", " # Right subplot: Dataset statistics\n", " plt.subplot(1, 2, 2)\n", " \n", " # Create informative statistics text\n", " stats_text = f\"\"\"\n", " Dataset Statistics:\n", " • Total samples: {len(X)}\n", " • Normal samples: {np.sum(y == 0)} ({np.mean(y == 0)*100:.1f}%)\n", " • Anomaly samples: {np.sum(y == 1)} ({np.mean(y == 1)*100:.1f}%)\n", " • Feature 1 range: [{X[:, 0].min():.2f}, {X[:, 0].max():.2f}]\n", " • Feature 2 range: [{X[:, 1].min():.2f}, {X[:, 1].max():.2f}]\n", " \"\"\"\n", " \n", " # Display statistics as text (no axes needed)\n", " plt.text(0.1, 0.5, stats_text, transform=plt.gca().transAxes, \n", " fontsize=10, verticalalignment='center', fontfamily='monospace')\n", " plt.axis('off')\n", " \n", " plt.tight_layout()\n", " plt.show()\n", " \n", " def statistical_anomaly_detection(self, X_train, X_test, y_test):\n", " \"\"\"\n", " Implements Z-score based anomaly detection.\n", " \n", " Method Overview:\n", " - Calculates how many standard deviations each point is from the mean\n", " - Uses combined Z-score across all features for multivariate detection\n", " - Threshold of 2.5 means points beyond 2.5 standard deviations are anomalies\n", " - Works well when normal data follows roughly normal distribution\n", " \n", " Why this approach:\n", " - Simple and interpretable\n", " - No hyperparameter tuning required\n", " - Fast computation\n", " - Good baseline method\n", " \n", " Limitations:\n", " - Assumes normal distribution\n", " - Sensitive to outliers in training data\n", " - May not work well with correlated features\n", " \"\"\"\n", " \n", " # Fit scaler on training data only (prevents data leakage)\n", " X_train_scaled = self.scaler.fit_transform(X_train)\n", " # Transform test data using training statistics\n", " X_test_scaled = self.scaler.transform(X_test)\n", " \n", " # Calculate absolute Z-scores for each feature\n", " # Z-score = (value - mean) / std_dev\n", " z_scores = np.abs(X_test_scaled)\n", " \n", " # Combine Z-scores across features using Euclidean norm\n", " # This creates a single anomaly score per sample\n", " combined_z_score = np.sqrt(np.sum(z_scores**2, axis=1))\n", " \n", " # Set threshold based on statistical theory\n", " # 2.5 standard deviations captures ~98.8% of normal distribution\n", " threshold = 2.5\n", " y_pred_statistical = (combined_z_score > threshold).astype(int)\n", " \n", " # Calculate Area Under ROC Curve for performance evaluation\n", " auc_score = roc_auc_score(y_test, combined_z_score)\n", " \n", " # Store results for later comparison\n", " self.results['Statistical'] = {\n", " 'predictions': y_pred_statistical,\n", " 'scores': combined_z_score,\n", " 'auc': auc_score\n", " }\n", " \n", " return y_pred_statistical\n", " \n", " def isolation_forest_detection(self, X_train, X_test, y_test):\n", " \"\"\"\n", " Implements Isolation Forest anomaly detection.\n", " \n", " Method Overview:\n", " - Builds ensemble of random decision trees\n", " - Anomalies are easier to isolate (require fewer splits)\n", " - Uses path length to root as anomaly score\n", " - Works well with high-dimensional data\n", " \n", " Why this approach:\n", " - Handles non-linear patterns\n", " - Robust to outliers\n", " - No assumptions about data distribution\n", " - Scales well to large datasets\n", " \n", " Parameter choices:\n", " - contamination=0.1: Expected fraction of anomalies\n", " - n_estimators=100: Good balance of accuracy vs speed\n", " - random_state=42: Ensures reproducible results\n", " \"\"\"\n", " \n", " # Initialize Isolation Forest with conservative parameters\n", " iso_forest = IsolationForest(\n", " contamination=0.1, # Expected anomaly rate (matches our dataset)\n", " random_state=42, # Reproducible results\n", " n_estimators=100 # Sufficient trees for stable predictions\n", " )\n", " \n", " # Fit only on training data (unsupervised learning)\n", " iso_forest.fit(X_train)\n", " \n", " # Predict on test data\n", " # Returns -1 for anomalies, +1 for normal points\n", " y_pred_iso = iso_forest.predict(X_test)\n", " # Convert to standard 0/1 encoding\n", " y_pred_iso = (y_pred_iso == -1).astype(int)\n", " \n", " # Get anomaly scores (path lengths in isolation trees)\n", " scores = iso_forest.score_samples(X_test)\n", " # Convert to positive scores where higher = more anomalous\n", " scores = -scores\n", " \n", " # Calculate performance metric\n", " auc_score = roc_auc_score(y_test, scores)\n", " \n", " # Store results\n", " self.results['Isolation Forest'] = {\n", " 'predictions': y_pred_iso,\n", " 'scores': scores,\n", " 'auc': auc_score\n", " }\n", " \n", " return y_pred_iso\n", " \n", " def one_class_svm_detection(self, X_train, X_test, y_test):\n", " \"\"\"\n", " Implements One-Class SVM anomaly detection.\n", " \n", " Method Overview:\n", " - Learns decision boundary around normal data\n", " - Uses kernel trick to handle non-linear patterns\n", " - Maximizes margin around normal data region\n", " - Good for complex, non-linear normal regions\n", " \n", " Why this approach:\n", " - Handles complex decision boundaries\n", " - Kernel flexibility for non-linear patterns\n", " - Well-established mathematical foundation\n", " - Good performance on medium-sized datasets\n", " \n", " Parameter choices:\n", " - nu=0.1: Upper bound on fraction of anomalies and lower bound on support vectors\n", " - kernel='rbf': Radial basis function for non-linear patterns\n", " - gamma='scale': Automatic gamma selection based on features\n", " \n", " Scaling requirement:\n", " - SVM is sensitive to feature scales, so we use StandardScaler\n", " \"\"\"\n", " \n", " # Scale data for SVM (distance-based algorithm)\n", " X_train_scaled = self.scaler.fit_transform(X_train)\n", " X_test_scaled = self.scaler.transform(X_test)\n", " \n", " # Initialize One-Class SVM\n", " oc_svm = OneClassSVM(\n", " nu=0.1, # Expected anomaly fraction\n", " kernel='rbf', # Radial basis function for non-linear boundaries\n", " gamma='scale' # Automatic gamma based on 1/(n_features * X.var())\n", " )\n", " \n", " # Fit on normal training data\n", " oc_svm.fit(X_train_scaled)\n", " \n", " # Predict on test data\n", " y_pred_svm = oc_svm.predict(X_test_scaled)\n", " # Convert -1/+1 to 0/1 encoding\n", " y_pred_svm = (y_pred_svm == -1).astype(int)\n", " \n", " # Get anomaly scores (distance from decision boundary)\n", " scores = oc_svm.score_samples(X_test_scaled)\n", " # Convert to positive scores\n", " scores = -scores\n", " \n", " # Calculate performance\n", " auc_score = roc_auc_score(y_test, scores)\n", " \n", " # Store results\n", " self.results['One-Class SVM'] = {\n", " 'predictions': y_pred_svm,\n", " 'scores': scores,\n", " 'auc': auc_score\n", " }\n", " \n", " return y_pred_svm\n", " \n", " def local_outlier_factor_detection(self, X_train, X_test, y_test):\n", " \"\"\"\n", " Implements Local Outlier Factor anomaly detection.\n", " \n", " Method Overview:\n", " - Compares local density of each point to its neighbors\n", " - Points in sparse regions have higher LOF scores\n", " - Good at finding local anomalies within clusters\n", " - Considers local data structure rather than global patterns\n", " \n", " Why this approach:\n", " - Handles varying densities across the data\n", " - Finds local anomalies that global methods might miss\n", " - No assumptions about overall data distribution\n", " - Intuitive concept based on neighborhood density\n", " \n", " Parameter choices:\n", " - n_neighbors=20: Good balance between local and global view\n", " - contamination=0.1: Expected anomaly rate\n", " - novelty=False: Use all data for density estimation\n", " \n", " Note: LOF requires all data at once for density estimation\n", " \"\"\"\n", " \n", " # Scale data for distance calculations\n", " X_train_scaled = self.scaler.fit_transform(X_train)\n", " X_test_scaled = self.scaler.transform(X_test)\n", " \n", " # LOF needs all data points for density estimation\n", " X_combined = np.vstack([X_train_scaled, X_test_scaled])\n", " \n", " # Initialize LOF detector\n", " lof = LocalOutlierFactor(\n", " n_neighbors=20, # Size of local neighborhood\n", " contamination=0.1, # Expected anomaly fraction\n", " novelty=False # Use all data for density estimation\n", " )\n", " \n", " # Fit and predict on combined data\n", " y_pred_combined = lof.fit_predict(X_combined)\n", " \n", " # Extract predictions for test set only\n", " y_pred_lof = y_pred_combined[len(X_train_scaled):]\n", " # Convert to 0/1 encoding\n", " y_pred_lof = (y_pred_lof == -1).astype(int)\n", " \n", " # Extract LOF scores for test set\n", " # negative_outlier_factor_ contains LOF scores (negative values)\n", " scores = -lof.negative_outlier_factor_[len(X_train_scaled):]\n", " \n", " # Calculate performance\n", " auc_score = roc_auc_score(y_test, scores)\n", " \n", " # Store results\n", " self.results['Local Outlier Factor'] = {\n", " 'predictions': y_pred_lof,\n", " 'scores': scores,\n", " 'auc': auc_score\n", " }\n", " \n", " return y_pred_lof\n", "\n", "class SimpleAutoencoder(nn.Module):\n", " \"\"\"\n", " Simple autoencoder architecture for anomaly detection.\n", " \n", " Architecture Design:\n", " - Symmetric encoder-decoder structure\n", " - ReLU activations for non-linearity\n", " - Bottleneck layer forces compression\n", " - Small hidden dimensions prevent overfitting on small datasets\n", " \n", " Why this design:\n", " - Simple enough to train reliably on small datasets\n", " - Bottleneck forces learning of compressed representation\n", " - Reconstruction error naturally measures \"normalness\"\n", " - Easy to interpret and debug\n", " \n", " Anomaly Detection Logic:\n", " - Normal data should reconstruct well (low error)\n", " - Anomalous data should reconstruct poorly (high error)\n", " - Threshold on reconstruction error separates classes\n", " \"\"\"\n", " \n", " def __init__(self, input_dim, hidden_dim=8):\n", " \"\"\"\n", " Initialize autoencoder layers.\n", " \n", " Args:\n", " input_dim: Number of input features\n", " hidden_dim: Size of hidden layers (kept small for this dataset size)\n", " \"\"\"\n", " super(SimpleAutoencoder, self).__init__()\n", " \n", " # Encoder: compresses input to bottleneck representation\n", " self.encoder = nn.Sequential(\n", " nn.Linear(input_dim, hidden_dim), # First compression layer\n", " nn.ReLU(), # Non-linear activation\n", " nn.Linear(hidden_dim, hidden_dim // 2), # Bottleneck layer\n", " nn.ReLU() # Non-linear activation\n", " )\n", " \n", " # Decoder: reconstructs input from bottleneck\n", " self.decoder = nn.Sequential(\n", " nn.Linear(hidden_dim // 2, hidden_dim), # Expand from bottleneck\n", " nn.ReLU(), # Non-linear activation\n", " nn.Linear(hidden_dim, input_dim) # Reconstruct to original size\n", " # No final activation - regression task\n", " )\n", " \n", " def forward(self, x):\n", " \"\"\"\n", " Forward pass through autoencoder.\n", " \n", " Args:\n", " x: Input tensor of shape (batch_size, input_dim)\n", " \n", " Returns:\n", " decoded: Reconstructed input of same shape as x\n", " \"\"\"\n", " # Encode input to compressed representation\n", " encoded = self.encoder(x)\n", " # Decode back to original space\n", " decoded = self.decoder(encoded)\n", " return decoded\n", "\n", "class DeepAnomalyDetector:\n", " \"\"\"\n", " Deep learning based anomaly detector using autoencoders.\n", " \n", " Training Strategy:\n", " - Train only on normal data (unsupervised learning)\n", " - Use reconstruction error as anomaly score\n", " - Conservative learning rate prevents overfitting\n", " - Small architecture matches small dataset size\n", " \n", " Why this approach:\n", " - Can learn complex non-linear patterns\n", " - No need for labeled anomaly examples\n", " - Reconstruction error is intuitive anomaly measure\n", " - Scalable to high-dimensional data\n", " \"\"\"\n", " \n", " def __init__(self, input_dim, hidden_dim=8, lr=0.0001):\n", " \"\"\"\n", " Initialize deep anomaly detector.\n", " \n", " Args:\n", " input_dim: Number of input features\n", " hidden_dim: Size of hidden layers (kept small to prevent overfitting)\n", " lr: Learning rate (conservative to ensure stable training)\n", " \"\"\"\n", " \n", " # Use Apple Silicon GPU if available, otherwise CPU\n", " self.device = torch.device('mps' if torch.backends.mps.is_available() else 'cpu')\n", " \n", " # Initialize model and move to device\n", " self.model = SimpleAutoencoder(input_dim, hidden_dim).to(self.device)\n", " \n", " # Adam optimizer with conservative learning rate\n", " # Low LR prevents overfitting on small datasets\n", " self.optimizer = optim.Adam(self.model.parameters(), lr=lr)\n", " \n", " # Mean Squared Error for reconstruction loss\n", " self.criterion = nn.MSELoss()\n", " \n", " # Scaler for data preprocessing\n", " self.scaler = StandardScaler()\n", " \n", " def train_autoencoder(self, X_train, epochs=50, batch_size=32):\n", " \"\"\"\n", " Train autoencoder on normal data only.\n", " \n", " Training Process:\n", " 1. Scale input data to have zero mean and unit variance\n", " 2. Create batches for mini-batch gradient descent\n", " 3. For each epoch:\n", " - Forward pass: input -> reconstruction\n", " - Calculate MSE loss between input and reconstruction\n", " - Backward pass: compute gradients\n", " - Update parameters using Adam optimizer\n", " \n", " Args:\n", " X_train: Training data (normal samples only)\n", " epochs: Number of training epochs\n", " batch_size: Size of mini-batches\n", " \n", " Returns:\n", " losses: List of average losses per epoch for monitoring training\n", " \"\"\"\n", " \n", " # Scale training data and store scaler for test data\n", " X_train_scaled = self.scaler.fit_transform(X_train)\n", " \n", " # Convert to PyTorch tensors and move to device\n", " X_tensor = torch.FloatTensor(X_train_scaled).to(self.device)\n", " \n", " # Create dataset and dataloader for batching\n", " # Target is same as input for autoencoder training\n", " dataset = TensorDataset(X_tensor, X_tensor)\n", " dataloader = DataLoader(dataset, batch_size=batch_size, shuffle=True)\n", " \n", " # Set model to training mode (enables dropout, batch norm, etc.)\n", " self.model.train()\n", " \n", " # Track losses for monitoring training progress\n", " losses = []\n", " \n", " # Training loop\n", " for epoch in range(epochs):\n", " epoch_loss = 0\n", " num_batches = 0\n", " \n", " # Process each batch\n", " for batch_data, batch_target in dataloader:\n", " # Clear gradients from previous iteration\n", " self.optimizer.zero_grad()\n", " \n", " # Forward pass: get reconstruction\n", " reconstructed = self.model(batch_data)\n", " \n", " # Calculate reconstruction loss\n", " loss = self.criterion(reconstructed, batch_target)\n", " \n", " # Backward pass: compute gradients\n", " loss.backward()\n", " \n", " # Update model parameters\n", " self.optimizer.step()\n", " \n", " # Accumulate loss for epoch average\n", " epoch_loss += loss.item()\n", " num_batches += 1\n", " \n", " # Calculate average loss for this epoch\n", " avg_loss = epoch_loss / num_batches\n", " losses.append(avg_loss)\n", " \n", " # Log progress every 10 epochs\n", " if epoch % 10 == 0:\n", " print(f\"Epoch {epoch}/{epochs}, Average Loss: {avg_loss:.6f}\")\n", " \n", " return losses\n", " \n", " def detect_anomalies(self, X_test, y_test, threshold_percentile=95):\n", " \"\"\"\n", " Detect anomalies using trained autoencoder.\n", " \n", " Detection Process:\n", " 1. Scale test data using training statistics\n", " 2. Get reconstructions from trained model\n", " 3. Calculate reconstruction error for each sample\n", " 4. Set threshold based on percentile of errors\n", " 5. Classify samples with high error as anomalies\n", " \n", " Args:\n", " X_test: Test data\n", " y_test: True labels for evaluation\n", " threshold_percentile: Percentile for threshold setting\n", " \n", " Returns:\n", " y_pred_ae: Binary predictions (0=normal, 1=anomaly)\n", " reconstruction_errors: Continuous anomaly scores\n", " auc_score: Area under ROC curve\n", " \"\"\"\n", " \n", " # Scale test data using training statistics (no data leakage)\n", " X_test_scaled = self.scaler.transform(X_test)\n", " \n", " # Convert to tensor and move to device\n", " X_tensor = torch.FloatTensor(X_test_scaled).to(self.device)\n", " \n", " # Set model to evaluation mode (disables dropout, etc.)\n", " self.model.eval()\n", " \n", " # Disable gradient computation for inference (saves memory and computation)\n", " with torch.no_grad():\n", " # Get reconstructions\n", " reconstructed = self.model(X_tensor)\n", " \n", " # Calculate Mean Squared Error for each sample\n", " # Mean across features gives single score per sample\n", " reconstruction_errors = torch.mean((X_tensor - reconstructed) ** 2, dim=1)\n", " \n", " # Move back to CPU for numpy operations\n", " reconstruction_errors = reconstruction_errors.cpu().numpy()\n", " \n", " # Set threshold based on percentile of reconstruction errors\n", " # 95th percentile means top 5% of errors are classified as anomalies\n", " threshold = np.percentile(reconstruction_errors, threshold_percentile)\n", " \n", " # Create binary predictions\n", " y_pred_ae = (reconstruction_errors > threshold).astype(int)\n", " \n", " # Calculate AUC score for performance evaluation\n", " auc_score = roc_auc_score(y_test, reconstruction_errors)\n", " \n", " return y_pred_ae, reconstruction_errors, auc_score\n", "\n", "def evaluate_all_methods(suite, deep_detector, X_test, y_test):\n", " \"\"\"\n", " Comprehensive evaluation and comparison of all anomaly detection methods.\n", " \n", " Evaluation Strategy:\n", " - Collect results from all methods\n", " - Create visual confusion matrices for quick comparison\n", " - Generate detailed classification reports\n", " - Compare AUC scores across methods\n", " \n", " Why this approach:\n", " - Visual comparison makes strengths/weaknesses apparent\n", " - Multiple metrics provide comprehensive performance view\n", " - Standardized evaluation enables fair comparison\n", " \"\"\"\n", " \n", " # Collect results from traditional methods\n", " all_results = {}\n", " for method_name, results in suite.results.items():\n", " all_results[method_name] = results\n", " \n", " # Add deep learning results\n", " y_pred_ae, scores_ae, auc_ae = deep_detector.detect_anomalies(X_test, y_test)\n", " all_results['Autoencoder'] = {\n", " 'predictions': y_pred_ae,\n", " 'scores': scores_ae,\n", " 'auc': auc_ae\n", " }\n", " \n", " # Create comparison visualization\n", " fig, axes = plt.subplots(2, 3, figsize=(18, 12))\n", " axes = axes.flatten()\n", " \n", " method_names = list(all_results.keys())\n", " \n", " # Plot confusion matrix for each method\n", " for i, method_name in enumerate(method_names):\n", " ax = axes[i]\n", " results = all_results[method_name]\n", " \n", " # Calculate and plot confusion matrix\n", " cm = confusion_matrix(y_test, results['predictions'])\n", " sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', ax=ax)\n", " ax.set_title(f'{method_name}\\nAUC: {results[\"auc\"]:.4f}')\n", " ax.set_xlabel('Predicted')\n", " ax.set_ylabel('Actual')\n", " \n", " # Hide unused subplot if we have fewer than 6 methods\n", " if len(method_names) < len(axes):\n", " axes[-1].axis('off')\n", " \n", " plt.tight_layout()\n", " plt.show()\n", " \n", " # Print detailed performance metrics\n", " print(\"\\n\" + \"=\"*60)\n", " print(\"ANOMALY DETECTION METHODS COMPARISON\")\n", " print(\"=\"*60)\n", " \n", " for method_name, results in all_results.items():\n", " print(f\"\\n{method_name}:\")\n", " print(\"-\" * 30)\n", " \n", " # Classification report shows precision, recall, F1-score\n", " print(classification_report(y_test, results['predictions'], \n", " target_names=['Normal', 'Anomaly']))\n", " print(f\"AUC Score: {results['auc']:.4f}\")\n", " \n", " return all_results\n", "\n", "def main():\n", " \"\"\"\n", " Main execution function that orchestrates the entire anomaly detection pipeline.\n", " \n", " Pipeline Steps:\n", " 1. Data Creation: Generate synthetic dataset with known anomalies\n", " 2. Data Visualization: Plot data to build intuition\n", " 3. Data Splitting: Create train/test sets with stratification\n", " 4. Traditional Methods: Run statistical, tree-based, and density-based methods\n", " 5. Deep Learning: Train and evaluate autoencoder\n", " 6. Comprehensive Evaluation: Compare all methods\n", " \n", " Why this pipeline:\n", " - Systematic approach ensures no steps are missed\n", " - Standardized data splits enable fair comparison\n", " - Multiple method types show different algorithmic approaches\n", " - Comprehensive evaluation reveals best method for this data type\n", " \"\"\"\n", " \n", " # Initialize anomaly detection suite\n", " suite = AnomalyDetectionSuite()\n", " \n", " # Create synthetic dataset with clear anomaly patterns\n", " X, y = suite.create_anomaly_dataset(n_samples=1000, contamination=0.1)\n", " \n", " # Visualize data to understand the problem\n", " suite.visualize_data(X, y)\n", " \n", " # Split data with stratification to maintain class balance\n", " X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, \n", " test_size=0.3, # 70% train, 30% test\n", " random_state=42, # Reproducible splits\n", " stratify=y # Maintain class proportions\n", " )\n", " \n", " # Run traditional anomaly detection methods\n", " # Each method represents different algorithmic approach\n", " suite.statistical_anomaly_detection(X_train, X_test, y_test) # Statistical approach\n", " suite.isolation_forest_detection(X_train, X_test, y_test) # Tree-based approach\n", " suite.one_class_svm_detection(X_train, X_test, y_test) # Boundary-based approach\n", " suite.local_outlier_factor_detection(X_train, X_test, y_test) # Density-based approach\n", " \n", " # Run deep learning anomaly detection\n", " deep_detector = DeepAnomalyDetector(\n", " input_dim=X.shape[1], # Number of features\n", " hidden_dim=8, # Small hidden layer for this dataset size\n", " lr=0.0001 # Conservative learning rate\n", " )\n", " \n", " # Train autoencoder on normal data only\n", " training_losses = deep_detector.train_autoencoder(X_train, epochs=50, batch_size=32)\n", " \n", " # Visualize training progress\n", " plt.figure(figsize=(10, 6))\n", " plt.plot(training_losses)\n", " plt.title('Autoencoder Training Loss')\n", " plt.xlabel('Epoch')\n", " plt.ylabel('MSE Loss')\n", " plt.grid(True)\n", " plt.show()\n", " \n", " # Comprehensive evaluation of all methods\n", " final_results = evaluate_all_methods(suite, deep_detector, X_test, y_test)\n", " \n", " return suite, deep_detector, final_results\n", "\n", "# Execute the complete anomaly detection pipeline\n", "if __name__ == \"__main__\":\n", " suite, deep_detector, results = main()" ] }, { "cell_type": "code", "execution_count": 2, "id": "666e9a5a-8f1c-43ba-aaa2-d26c540ae01d", "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "2025-07-15 17:11:05,446 - INFO - Starting Anomaly Detection Suite with file saving\n", "2025-07-15 17:11:05,447 - INFO - Results will be saved to: anomaly_detection_results\n", "2025-07-15 17:11:05,447 - INFO - Creating synthetic anomaly dataset with 1000 samples and 10.0% anomalies\n", "2025-07-15 17:11:05,451 - INFO - Dataset created and saved: 1000 total samples, 100.0 anomalies (10.0%)\n", "2025-07-15 17:11:05,451 - INFO - Creating and saving data visualization\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAGGCAYAAACqvTJ0AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzsnQeYE1Xbhl/sXVFRsSAIdhDE3gv23rD33j57w94VG2Ivn91PxYa994blB8WG2FCxYkGxN/iv+wzv7tlhkk2yyW6y+9zXlSubmcmZM2dmdzNPnvc57SZMmDDBhBBCCCGEEEIIIYRoRiZrzp0JIYQQQgghhBBCCAESpYQQQgghhBBCCCFEsyNRSgghhBBCCCGEEEI0OxKlhBBCCCGEEEIIIUSzI1FKCCGEEEIIIYQQQjQ7EqWEEEIIIYQQQgghRLMjUUoIIYQQQgghhBBCNDsSpYQQQgghhBBCCCFEsyNRSgghhBBCCCGEEEI0OxKlhGgjnHzyydauXbuS3nv99deH937yySdWKWibfbAv0bTzVSyrr756eDjPPPNM2Pedd97ZLPvfddddrXPnzs2yLyGEEEIIIUT1IFFKiCrnnXfesR133NHmmWcem3rqqW3uuee2HXbYISxvi7hg4g/GZM455wyiyplnnmnffvttyW2/++67QQwqt/jmop4/pplmmnAe1113Xbvooovs559/Lst+vvzyy9D/N954w6qNau6bEEIIIYQQomWQKCVEFXP33Xdb79697cknn7TddtvNLrvsMttjjz3s6aefDssHDx5ccFvHH3+8/f777yX1Y6eddgrvnX/++a1aOOigg+ymm26yq666yo488kibddZZ7aSTTrJFF13UnnrqqZJFqVNOOaVijrBTTz019Pnyyy+3//znP2HZIYccYj169LA333yzyecL4Yf+Fyv8PPbYY+FRSfL17eqrr7aRI0dWdP9CCCGEEEKI6mOKlu6AECKbjz76KIhBCyywgD333HPWoUOHunUHH3ywrbLKKmE9Ygbb5OLXX3+16aef3qaYYorwKIXJJ588PKoJjn+rrbZqsGz48OG2zjrr2JZbbhkEpo4dO1o1sf7669vSSy9d97pfv35BQNtoo41sk002sREjRti0004b1jXlfBXKb7/9ZtNNN51NNdVU1pJMOeWULbp/IYQQQgghRMsgp5QQVcq5554bRAOcQLEgBbPPPrtdeeWVQXA655xzJskhQpDZfvvtrX379rbyyis3WBeDEwfHEe3NOOOMQRj54osvwnZsny9TigwgxJQXXnjBll122VCShjh24403NtjHDz/8YEcccURwA80wwww200wzBXEGAanc9OzZ0y688EL78ccf7ZJLLqlb/umnn9r+++9vCy+8cBB9ZpttNuvbt2+D4+EYWQZrrLFGXakd5YJw77332oYbbhjK7igZ7Nq1q5122mn277//NqnPa665pp1wwgmhjzfffHPd8qzz9fjjj4fzOcsss4Sx5HiOPfbYsI5+LrPMMuFnXHXef8/ooryxe/fuNnToUFt11VWDGOXvTWdKORwb28w111xB2OT6GD16dINtuA7IhEoTt9lY37Iypbi2Dz/8cJtvvvnCeHOs5513nk2YMKHBdrRz4IEH2j333BOOj20XX3xxe+SRR4o4C0IIIYQQQoiWQKKUEFXK/fffH27UcQRlgbDA+gcffHCSdYgrCFpkLO21114594EYcPHFF9sGG2xg/fv3D4INwkuhfPjhh8GttPbaa9v5558fRDDajPOuPv744yAYIGBdcMEFodTurbfestVWWy2UdJUb+sNxxOVor732mr300ku27bbbhgynfffdN5REIpowTj6eCHSAEEOZHQ/KAQEBBSHosMMOs4EDB9pSSy1lJ554oh1zzDFN7jOON8hXQseYMoZ//vlnKANkvBGJXnzxxbCefrIc9t5777r+c1zO999/HwTBXr16BfEO8S0fZ5xxRri+jj766DA2iGJrrbVW0WWFhfQtBuGJYxswYICtt9564bpBlOLaYfzTIIwiOnJ+EWn/+OOP4JbjeIUQQgghhBBVzAQhRNXx448/YgeZsOmmm+bdbpNNNgnbjRs3Lrw+6aSTwuvttttukm19nTN06NDw+pBDDmmw3a677hqWs71z3XXXhWWjRo2qWzb//POHZc8991zdsjFjxkyYeuqpJxx++OF1y/74448J//77b4N90A7bnXrqqQ2W0R77ysfTTz8dtrvjjjtybtOzZ88J7du3r3v922+/TbLNkCFDQjs33nhj3TLaZBn7SJPVxj777DNhuummC8eYDx+/1157Lec2M88884Qll1wy5/kaMGBAeP3tt9/mbIP2c43haqutFtZdccUVmet4pMd4nnnmqbu24Pbbbw/LBw4c2OA62GWXXRptM1/feD/tOPfcc0/Y9vTTT2+w3VZbbTWhXbt2Ez788MO6ZWw31VRTNVg2fPjwsPziiy/OMVJCCCGEEEKIakBOKSGqEJ+NjZK6fPj6cePGNViOE6gxvLwJh0mMB3AXwmKLLdbAyUWZIY4W3FEO5VSTTTZZXTkY7hUvPRs2bJhVAtqPZ7TznCb4+++/Qx+6desWyuAK7UPcBm1/99134dhxWr333ntl73Ma+uplhOPHjy9pH5wLyucKZeedd25wDeJCI6froYceskpC+2SYuXPNoZwPHerhhx9usBz3FuWUzhJLLBHKROPrUAghhBBCCFF9SJQSogpxISCfSJFPvOrSpUuj+yDDCLEovS1iTaF06tRpkmWU8I0dO7buNQIKZVgLLrhgEEXIr0K8IqD9p59+skrwyy+/NBgTys0otfN8Iu8D2VOF9oHyuc0339xmnnnmIHjw/h133DGsK8dxpPucZptttrGVVlrJ9txzT5tzzjlDqdrtt99elEA1zzzzFBVqzjlL5zdxfVRqdsL42iS7Kz0eXkrJ+mKvQyGEEEIIIUT1odn3hKhCED5wpCDc5IP1CA2IJLlcPZUk14x8cRg1uVYEee++++4hGHzWWWcNYtghhxxSsuMnHzih3n///RB6Hbu/rrvuurDPFVZYIYwvAgvCTiF9QLwiA4txJhsJVw7B7risyFtq6nF8/vnnQdjKJwhyTpmF8emnnw45TzjdBg0aFILSyaIqZHbESlwX6TB2B1dcc83YWMh1KIQQQgghhKg+JEoJUaUQan311VeHEGefQS/m+eefD46VffbZp6T2559//iCmjBo1qoEjhvDycnLnnXeGQO1rrrlmEqEHx1K5YX84o9Zdd90Gy3bZZZcQDu4Qhk0fChFYmD2Okr+77767QTg3Y1cOCP2GuM9ZIOb16dMnPAj/RvA77rjjglBFCVuu/pfKBx98MInIw/VBeVzsSEqPo7uZmI3RKaZvXJtPPPFEcALGbikvk2S9EEIIIYQQovZR+Z4QVQozjeFsQXRKzyL2ww8/hNyo6aabLmxXCi6AXHbZZQ2WMxtfuV0sacfKHXfcYV988YWVm+HDhwc3FELJAQcckLcPHCdunpjpp58+PKdFFnfixG389ddfk4xdKTz11FPBQUYZ5Q477JBzO855GmbRA2bky9f/UrnxxhsblJAi7n311VdhBj8H19jLL78cxsN54IEHbPTo0Q3aKqZvzAbJubnkkksaLKcMFHEr3r8QQgghhBCidpFTSogqBffSDTfcEISKHj162B577BGEC9xRuI4I2r711lsbBDwXw1JLLWVbbrmlXXjhhUH0Wn755e3ZZ58NpW9QLtcNji9K3gjYXnHFFe2tt96y//3vfw1cNKWAUwy3k4env/jii3bfffeF0rzBgwfbXHPN1aAPuJFYRzj7kCFDghNnttlmm0TkQYDq379/KKcjf4ryOPqN0IXbivBtxob2ii0PI6Abt88///xj33zzTRCkHn/88eD8oe+UBOaCMaR8b8MNNwzbjxkzJohi8847b52TjmuBQPQrrrgiOIwQgpZbbrmCMsayoNSStjl39JdrhRLDvfbaq24bMq4Qq9Zbbz3beuut7aOPPrKbb755kuuymL5tvPHGwV2HC4zrvWfPnqFEkZB3RMdSr3khhBBCCCFEdSFRSogqpm/fvrbIIovYWWedVSdEIaRww37sscc2yE0q1QmDeIO4hZBDCRg5RcyMl08gKQb6+euvv9ott9wS2u7du3fIRDrmmGOa1O5FF10UnqeccsogdhCCfcoppwTBhBDymIEDBwaxCTEMIYvAcESpdLkcY4FowngjAiJ4URq3+uqrB/cPs78df/zxQaAi5JwyusZK7mIIWwfCxhF8EBsRehB9GptpcZNNNgkCzbXXXhuuA0ofybnimBHbfCwQMvv16xecdIhfZGmVKkpx7sgtYzxwTHG8CGE49ByOn7JIygkRjJZeeum6sYoppm+UKSLSMV5cM2zXuXNnO/fccydpVwghhBBCCFG7tJugJFghRMQbb7xhSy65ZHC75CsnE0IIIYQQQgghmoIypYRowxAIngbnDk6VONBbCCGEEEIIIYQoNyrfE6INc84559jQoUNDOeAUU0wRMo947L333jbffPO1dPeEEEIIIYQQQrRiVL4nRBuGkG0yid5991375ZdfrFOnTrbTTjuFgGlEKiGEEEIIIYQQolJIlBJCCCGEEEIIIYQQzY4ypYQQQgghhBBCCCFEsyNRSgghhBBCCCGEEEI0O20qNGb8+PH25Zdf2owzzmjt2rVr6e4IIYQQQhhJCj///LPNPffcYfZTIYQQQoi2QpsSpRCkNKOYEEIIIaqR0aNH27zzztvS3RBCCCGEaDbalCiFQ8o/9M0000wt3Z0240779ttvrUOHDvr2t4bQeatNdN5qF527tn3exo0bF740888pQgghhBBthTYlSnnJHoKURKnm+8D+xx9/hPHWjVbtoPNWm+i81S46d7VJuc+bogWEEEII0dbQJ18hhBBCCCGEEEII0exIlBJCCCGEEEIIIYQQzY5EKSGEEEIIIYQQQgjR7LSpTKlC8yH++uuvlu5GqxrPv//+O2RuVCInZcopp7TJJ5+87O0KIYQQQgghhBCiskiUikCMGjVqVBBSRHmYMGFCGM+ff/65YgGus8wyi80111wKiBVCCCGEEEIIIWoIiVKRePLVV18F1w3TMmv2o/KN6z///GNTTDFF2UUj2v7tt99szJgx4XXHjh3L2r4QohH+/NPs11/Npp/ebOqpW7o3QgghhBBCiBpDotREEE4QOOaee26bbrrpWro7rYZKilIw7bTThmeEqTnmmEOlfEI0B2+8YXbzzWYPPmj299/U0ZptuKHZTjuZ9ezZ0r0TQgghhBBC1AiyA03k33//Dc9TTTVVS3dFFImLiGRXCSEqzJ13mvXtm4hSOKUQgnnm9VZbmd11V0v3UAghhBBCCFEjyCmVQrlEtYfOmRDN6JDq18/s99/N5pmHX776de3bm33zjdkxx5h16ybHlBBCCCGEEKJR5JQSQghRGLihfv7ZbM45GwpSwGuWs57thBBCCCGEEKIRJEqJZueZZ54J7qYff/yxpbsihCgUSvTIkKJcNpc7keWsZzu2F0IIIYQQQog8SJSqcXbdddcg8Jx99tkNlt9zzz0qaxNClA9m2fNQ83yw/q+/ku2FEEIIIYQQIg8SpVoB00wzjfXv39/Gjh1btjb/4qZSCCGc6adPBKfGJhRgPRNGsL0QQgghhBBCtBZR6osvvrAdd9zRZpttNpt22mmtR48e9n//939WbdUtBx9sts02yXNzVLGstdZaNtdcc9lZZ52Vc5u77rrLFl98cZt66qmtc+fOdv755zdYz7LTTjvNdt55Z5tpppls7733tuuvv95mmWUWe+CBB2zhhRcOs9xttdVW9ttvv9kNN9wQ3tO+fXs76KCD6mYvhJtuusmWXnppm3HGGa1jx46200472ZgxYyo6BkKICjP11GYbbmj2229mEyZkb8Ny1rMd2wshhBBCCCFEaxClcAGttNJKNuWUU9rDDz9s7777bhBWEEWqAYQnKuj69zd7883kvoxnXrO8ksLU5JNPbmeeeaZdfPHF9vnnn0+yfujQobb11lvbtttua2+99ZadfPLJdsIJJwTRKea8886znj172uuvvx7WAwLURRddZLfddps98sgjIQ9q8803t4ceeig8EKCuvPJKu5Np4ify999/B4Fr+PDhNnjwYPv0009tt912q9wACCGahx13NJtxxmSWvbQwxWuWs57thBBCCCGEEKIRprAagfK0+eabz6677rq6ZV26dLFq4YknzJ580my++cxmmKF+ORNRPfWU2dJLJ+aBSoFQ1KtXLzvppJPsmmuuabDuggsusD59+tQJTQsttFAQ9c4999yQSeWsueaadvjhh9e9fv7554PAdPnll1vXrl3DMpxSCFHffPONzTDDDLbYYovZGmusYU8//bRtgz3MzHbfffcG52jAgAG2wgor2C+//BLeI4SoUXr1SlT2Y47BupqEmntJH0o8ghTre/Zs6Z4KIYQQQgghaoCacUrdd999oSSsb9++Nsccc9iSSy5pV199tVULjz2GY6mhIAXco7Gc9c0h3FFWN2LEiAbLeY3LLIbXH3zwQYOyO8Y3DSV7LkjBnHPOGcr2YnGJZXF5Hs6sjTfe2Dp16hRKARHE4LPPPivTkQohWowttzTDGbnTTgTamfE3hGdes5z1QgghhBBCCNGanFIff/xxcOwcdthhduyxx9prr70Wsoymmmoq22WXXTLf8+eff4aHM27cuPA8fvz48Ijh9YQJE+oexfLVV4kglfVW8n5ZX0KzBUOfV1llFVt33XWtX79+dWPix5I+rqzlCFDpbSiXTI9Hehmz/Pn4/frrr6EPPG6++Wbr0KFDOHcbbbRROBfx/kod66xj55F1XkVp+PnUeNYWzXbeevRIapNPPTVxSOGY8gwpXTMlod+5tn3edN6FEEII0VapGVGKD2w4echOApxSb7/9tl1xxRU5RSmCv0855ZRJln/77bf2xx9/NFhGmRr7+Oeff8KjWOacczJ76612Ntdck4osP//czjp3nmD//FP+D50uxHifyXJaZpllrFu3buE1ywkpf/HFFxscF6V5Cy64YPgw7cvjdvy1txEvi9+T7sM777xj33//fegH5ZZsO2TIkLp2eLg7q9SxTkMb7J/9IpiJpsN4/vTTT+H8TTZZzRgq2zwtdt5++qn59tVK0e9c2z5vP1PrL4QQQgjRBqkZUYpZ3Mgvill00UXDrHK5wDGEsyp2SiGU4N6hrCwGkYoPhVNMMUV4FMu665oNH272yy/tQsmew+dMtJ11121nU0xR/hsNPgTz8D4j1u2www526aWXhtcsP+KII2zZZZcNIh25T4hEuM7YJj7WuB1/7W3Ey3BGpZf5e8mQwr1G+/vuu28QDs8mY2ZiOzwIZo9fNxXaYP/MyjgNZUSiLDdanGd+V3SDXDvovNUuOndt+7zpf5cQQggh2io1I0qRgTRy5MgGy95//32bf/75c75n6qmnDo80LqKkl/HB0h/FsvbaZCkloeZoLpTs/fprErdCpBLrS2i2YOI+n3rqqTZo0KC65UsttZTdfvvtduKJJ9rpp58eBD62Sc+Ilz52/7mxZfE68r6Y1Y8SS2YD7N27d8i62mKLLSYZ31LHOmu/PLLOqygdjWltovNWu+jctd3zpnMuhBBCiLZKuwnlCPVpBsiQWnHFFUM53tZbb22vvvqq7bXXXnbVVVcFZ1Ah4JSaeeaZg9U+yyk1atSo4PQp9RtL4quYhY9Q86+/NptrLrN11jFba636uJW2hpf64WYqhwCVRTnOnZj023/C6xEZdbNUO+i81S46d237vOX7fCKEEEII0ZqpGacUOUmDBw8OJXm4fBAgLrzwwoIFqeYA4WnDDZOHEEIIIYQQQgghhGgFohQwgxsPIYQQQgghhBBCCFHbqEZACCGEEEIIIYQQQjQ7EqWEEEIIUV0Q0vjDD8mzEEIIIYRotdRU+Z4QQgghWjFvvGF2881mDz5o9vffZlNOmQQ17rSTWc+eLd07IYQQQghRZuSUEkIIIUTLc+edZn37JqIUDqnJJ0+eeb3VVmZ33dXSPRRCCCGEEGVGTikhhBBCtLxDql8/s99/N5tnHrN27erXtW9v9s03ZsccY9atmxxTQgghhBCtCDmlhBBCCNGy4Ib6+WezOedsKEgBr1nOerYTQgghhBCtBolSQgghhGi5EHLaIUNquukmFaQclrOe7RR+LoQQQgjRapAoJVqUzp0724UXXtjS3RBCCFFIid0RR5j16mW27LLJM6+HD29au7/+Wh9qng/W//VXsr0QQgghhGgVSJRqJVNZDxkyxCaffHLbkFmKhBBCiFoJIZ9++kRwQpjKB+unmirZXgghhBBCtAokStXCt8gFcM0119h//vMfe+655+zLL7+s+P6EEEK00RDyWWc1m3HG5JnXLCeEvNT/dVNPbcYXKr/9ZjZhQvY2LGc927G9EEIIIYRoFUiUagVTWf/yyy82aNAg22+//YJT6vrrr69b98wzz1i7du3sySeftKWXXtqmm246W3HFFW3kyJEN2rj88suta9euNtVUU9nCCy9sN910U4P1tHHllVfaRhttFNpYdNFFgzvrww8/tNVXX92mn3760O5HH31U9x5+3myzzWzeeee1GWec0ZZZZhl74oknch7H7rvvHtqP+fvvv22OOeYIopsQQrQV92ubCyHfccdE6GKWvbQwxWuWs57thBBCCCFEq0GiVC18i9wIt99+uy2yyCJBTNpxxx3t2muvtQmpD/XHHXecnX/++fZ///d/NsUUUwQByBk8eLAdfPDBdvjhh9vbb79t++yzj+2222729NNPN2jjtNNOs5133tneeOONsL/tt98+bNuvX7/QLvs88MADG4hl66+/vj3yyCM2bNgwW2+99WzjjTe2zz77LPM49txzz7DtV199VbfsgQcesN9++8222WabMo6YEEJUt/u1amiuEHLG9uyzzaad1uyLLxIREKGLZ16znPU9ezbpcIQQQgghRHUhUaoVTGWNiwgxChB+fvrpJ3v22WcbbHPGGWfYaqutZosttpgdc8wx9tJLL9kff/wR1p133nm266672v77728LLbSQHXbYYbbFFluE5TEIVVtvvXXY5uijj7ZPPvnEdthhB1t33XWDcwphC2eW07NnzyBade/e3RZccMEgauHGuu+++zKPA6dV2qV13XXXWd++fW2GGWYo65gJIUS1ul+riuYMId9yy2Tcd9rJbJppzP79N3nmNctZL4QQQgghWhUSpWp8KmvK8F599VXbbrvtwmtcULiK0uVuSyyxRN3PHTt2DM9jxowJzyNGjLCVVlqpwfa8ZnmuNuZEaDOzHj16NFiG0DVu3Lg6p9QRRxwRtmnfvn0Qlmgzl1PK3VIIUfDNN9/Yww8/3MDVJYQQrd39WlU0dwg5TqhzzzV7/XWzV19Nnnkth5QQQgghRKtEolRTaeGprBGf/vnnH5t77rmDIMWDfKi77rorOKbqdz9lg3woGD9+fFH7ymojX7sIUvfcc09wSBHATtkfAtVfjEMOKA/8+OOPQ17VzTffbF26dLFVVlmlqH4KIUTVuF9bQx5V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fphGddVVVw1T0K622mr2FeUGE2HGmN12263I3QshROVAjKlWscZLC/v3T0oKcUmNHZvED/HAHeUwqVeuib3QPNBOfvkl9/qJs0G3HqGnlnBnEsJUPljPRYBjqtLgWEKZxcGUFqZKdTbhfCPMndkJcVhxAfPMa5azXghRFXTu3LlOREk/WFessFSqoDRw4MBwL7H11ltbLbPNNtuE47jwwgut2jnkkENsySWXtCmmmCLzvI0dO9a23XbbIK4xq+iJJ544yTaXXHKJzTfffDbttNPaeuutZ59j7Y546623bMUVV7RpppnGFlxwQbvrrrsqekxCiDYkSh199NHWvXv3MPXxyJEjbcYZZ7SVVlrJPiMERQghqhDEmGoVa+LSwoUWMlt44cRQgisKcwkPwHAyyyzJg59jeM29/2abJc+51hPsLlqIYpxJyyzTPIJdpZxNteiIE6IN8tprrwURhQeiAqKQv2ZdczHzzDPbXHPNFcSNWob+cxwcT7Xzzz//2N57721rYcXOgHWISs8884xdffXVdsEFF9iVV15Zt/7BBx8MwtYpp5xiL7/8cqiUiUVFXm+44YZBtBo6dKjtscceQeR6++23m+X4hBCtXJR66aWX7KyzzrLZZ5/dunXrZvfff7+tu+66tsoqq9jHH39c2V4KIUQJIMZUq1iTLi2kZI8HkUuEm7/3ntkHHyQawRZbmG2+efIzy778sn7dmmuaHXaYWZ8+yWvWpdfn+OwpmotCnUmrr958faqks6ktOuKEqCE6dOgQRBQeU089dZ2owoN1MH78eDv++OOtY8eOwfHC5/03sfWmSu9uuOGGIFS40+rkk0+u2+amm26ypZdeOnyRjWCz1VZb2Rf+jUuZmDBhgp1wwglBBHFnDk4e5/vvv7ftttvO5plnnnCsCy+8sF1zzTV16+kv1R8LLbRQqAjBvUVfEVb+nWhZ5li559lll11suummC/dBHHMx0BZCDv3EhUTlyfDhwxtsc/vtt9viiy8ezsfcc89tu+++e2Y7OJNwNJUCY7PffvuFc53mu+++s7vvvtvOOeeccN423XTTsO3ll19etw0C1eabbx761rNnT7v00kttyJAh9gYWbzN76KGHgrjJdhzLMcccY7169bL//ve/JfVXCNE2mKyYPCmsng7/ePgjtfHGG4c/5pT3CSFENYEY42JNlpjTkmJNurQQ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zIXGUinEVSiEEKI6YVYzZs6ee+65qzITacUVVwzVGHdhjW7lDBw4MBzr1ltvbdUM93yIP127dg3GhPPOO2+Sbd56661w7qaZZpqQO5w+f3/++WeYIGuWWWYJj/333z/MUlcKiHfEx2y77bYNlr/77ru25ZZb2rzzzhv6eeedd2aKnsyMN/XUU4fn5/imsUioFJpvvvls2mmntfXWW88+50PXRK644gqbf/75bckll7RXyJzIwRFHHBEEyY/5MChEG6VoUerUU0+137hDSvH777+HdaK20E3lpFAahUCB2BPTkgHO7mij5ApRBmcQyzyoG9HBxQbEGP4nIm6kz2NjLjBoiiDn/UyLKbiIXnopEXzoj88WSA4UThtEIvKNXICjHI7+8PBjRMTiwecWnEycC5bTBm3hkkLA8jI+1i28cENxiXI7xD6EoKOOqhfBeEYUQ8RL/3njvLNfxpi+M/buwmI548W4IiLFx8sXnghklBgyLuyHPrItJXW43a69NnGxxf2gX0stlZTENUUs9usY8S49MyNjRlvFOv8q6SoUQgjRvHBDT6UDN9SvvvqqVePMZXPNNZfNSlBmK2fmmWcOx8q5qGa438Otxj0f/U3zxx9/BKcXQs3QoUNtjz32CILR22+/XbcNs9Hdc889du+994bH4MGD7aSTTipZzNt5551tMj4YRvzyyy+2wAIL2IUXXpj5vm+++cY23njj4LJ6/fXXwzOvceMVyoMPPmiHHHKInXLKKfbyyy+HY3dR8dNPPw0VRLfddpsdd9xxtueee+Zsh/Fce+217fLLLy9430JYWxel+MXjFz0NQhXrRG2hm8pJnT0EciMGIJbEThpEiGIC0yvhaEPUQBzhkf5S04Up3DwID/5lTXweG3OBIdqUKsgxjjiDCNGmRI8vfCjDwx1FXxBw2D9uJUruOBYcR7iSEInikjQXVPgcynEirNA/fmY5x+jHz34RiuLx4GcPUk/DeODail1oPCOKcW45zyNHJiWsDz1k9vjjSfvsF9GJ43BnFv3gZ9YhiLl4xPizHdcO+8OVhOjE8VBeiODEOU274XjmNe6qporFHAvh9PQNIdPddIyjh7s31flXLa5CIYQQxYMgwM3wOuusE36OOfnkk6179+7BCUNMBwLE1XwzFvHUU08FFwhOExwhuEac66+/3nr27GnLLbdccKvgGqEdXo/j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7r232aOPYtVOhDFu/A86iClwE8EqqxQQwQfBghwhyuwQkDwnCbGC14ghCC0IB889l7z2PiF4IAR17pxs6y4plhOajSjl5XG0iwiGkBQLJOmZ7eiPvye9Pi6zQ3DyNl1oeffd+jJElrkow3sQYOi39533Myacs/btc8+wl4WLaTyYwQ6xjtmoEcoKEaTia2mbbZJnXvu4xEImLjbGlH3h9KKk0ssquc7YZxYck5dS+lj7+Uzj5wcxj+ugUkHjsThKgDtCHs+IYbgI078zQgghWhe77rpruJFNPx555JGyl9fR7nf8U6tS7rnnHlt77bVDNm6197WaINKFGQ978WGoCMj/6tq1q00zzTQ277zz2gEHHBBmIC2UTz/91Hbaaafw3mmnndYWW2wxu+qqqxpsc/LJJ4fs4+mmm87mnHNO23HHHUNfywn7SP/+8HtVDJ9//rltueWWNttss1n79u1tww03tPfJg4jEv6zfU8YshmO78MILy3ZsQlS9U+qMM86wG264wc455xzba6+96pZ37949/DLsscce5e6jEDkdHjhREDu4wUcMQQBwRw95Qog/xWY+pfdH+wgFjz+eiEIdOyYCCvuIy8IQnP7736RkzZ0/9IkHzqC77krEjKz5AGjPnUaAoObCDyIG4ouXz9EHliMkIMS4COSB5mzDMo6dsaCEje1dFKIddxa5qONiEk4rBBMXyWI3Uxpf7kKKjxUiDkKYiy4cC31BlGE7nuMwcne3sRwXWJwj5bPppWfe8xI6fuaYEYRwjXlZZpbzB+JyNS8vRAikvfR70sHlwLlbfPGG5xBxjf7HGWUxjCnHjXuLz7mIdZwTP0b665laLl55fyoVNF7unDQhhBC1BzEcN910U4Nls/oMIW0IBJFVV13V1lxzTTv22GNbujs1A4LPXJQTFEnPnj2DSISo9OWXX9o+++xj+++/f5hBsRA++OADm2qqqcL9aJcuXez555+3PffcMwhUiFU+Mddll10W1v/444922GGHWd++fe2FF16wcrLwwgs3yDWjD8Ww8847259//mlPPfWUTTnllKGfW2yxhb3NN+7GDM1321/RbD5jxoyxJZdcMghZMZyHmflmXoi24pS68cYbgxq9ww47NJi6kj8w5EsJUUnSDg+evYQNYQVRJHaxcJNdTOZTlgBGfj/iCWV6iAejRiXCDaJFXOZEyR7CkosL/A+hP16ShlCDgJHlqsWh4gKSl8shTPivGD+zT9azPwQfnw2OQGwEDsQqBBp3+fB/kX25+OECUzxzXVyOx3oyjNgH/WZ/jcF2jK+LLPSXtvnZXVY+45xHznnpH/31UHVfznGlg9tdSEu/Zjv24eHhHGsu5w+CIeeyf/9EeGI/CE7MjMc5I5srfg/X2X77Ndye7Th/r7ySlOshLuHQw3FGlhTiU5abjmtz1VUTYZIvAjl/fi48MwtxCGGN84zAxWv6UakSunLmpAkhhKhNpp566nAzGz+42XfuuOOO8KUzN9qLL754mHE7rpzgi2hu+mmnc+fOdtZZZ03ikFqDmVyM2WQ7hNds51x//fWh6iKG9eedd94ky2j7wAMPDDfePC6++OK69YgPZNsiklBG9vTTTxctDFDxsQKW6CbA8V177bW27bbbhuOaffbZ7S6+kTQL4h99m3HGGUP/mXHtiyj41Mfif//7n80333zBOYMTJ4YyOfJ7OR9MNMX446SJKWQsfvvtt+DQ4bkl2G+//WzllVcO53XFFVe0vffeO4gyxYipVOf06dMniE+77LKLbbDBBkHAic8pIiPXJyIOYs9LL70UomfKyRRTTNHg96dYYeiVV14Jx899NI6v//znP/bOO+/U9ROROG4fJyOxOf57JUSbFaX4A8ofuzTjx48PM/AJUUmyHB7cRHPzjnsFkWPFFROXlLtO0l/iFFKylRbAyIVC5MI9QnkY+0M8iEUD3EoujLFfF6QQIHjGlUOGE19+8KUKDh3EKp4Rltge8caFJH6mTwgvPLxthCMEHT7L8OD4EURczOI125M5xftjQQe8rRjvpwdx+2t3fKXbiEGs8fI+z03iMy1j42HefhycI76EZR3HQF95+FjxP9jPA9u78JR2a7k7zrfFMYYYiRDHeBKujrPtxRfN3nknEZiYBZCxQxyMywt5jTuK93DO33oryfTic1wscnENkPHEtcd4IwASSH7UUWaXX55cF5wPhKq0YOW5Y4wp14aLgi5gcjxcT+yH4/C8qkrB70SuyIGs3xkhhBDVBTezCy20UBA+rrvuurK3j5hBedbRRx8dbpKPP/74cPPPfl2U4oYcMWXkyJE2cOBAO/300+ucV4gNlBS5KEMbvEZYKQXEFoSWl19+2R599NEg3AD7P+WUU+z8888P7hL6SAnUZ3wYaAGIOFlqqaVs2LBhQcSjJMsdLkcccUSYHIosJl4jnMQgRDz44IP2xBNPBEGK43qLDyXhc8/fwR2DSEjb66677iQut0LHgn4xfrHI2FJwX0k/GLOmgBvKxzrNDz/8EEwVjB0lg+WEGJu55547lCMittGPYlhllVXs3nvvtV9//TWcf35fENty9fO///1vXemtEG26fA8VF5tkOtz8zjvvDEq0EJUky+GBo4SyKG7w4y990plPxQY8F1PiRLsIHnE4eLrEzR1TCGeIUxyLl84BggTle4gF/n6ECv4vuaMGUYN9sQzhxEvfELAQSnzmQdpFXPDSMJ69ZM/7F7um4vIxd/CwDw8od8HMw7hzwbHQB2/HH7wHd5GX73GsnB/2jQjDvjh2tmPfiEt8tqCtOGbAx8XLGaF79+QaIL/r/vuT7V0Mc9eWv4frhPNL24yzZ4X5cgQy9sm55BjSLmxENULiu3SZNIA8V4A+Y4fbrmfP5Bhxt9G2u938PDMujANjxOtK5UnFMwpy7HHZYdbvjBBCiOoD5wdlTJ7Rs8022wTRphhwXcROJUqREE3g1FNPDa6NuBzqvvvuCwLYcsstFxxVV/Jtz0Rwvay33nr28MMPh/ewHmeHlwPOMcccQUArFfZPdEgaRBj6uummm4bX9PmWW24Jj2O8dr8ZoQzwyCOPDD8jGjqHH354g+3Yhj5TuoXTzIU+jpGyNs4F7q3/+7//sx49egQh7uuvv7ZLLrkkjOmiiy4aXFXVPBaNiYyIdL///ntwfdHHUmFshgwZEoTRmAceeCC41hB8ll9+eXuMD2hlhDbpN4IUOVBHHXVU+J1EVCyUQYMGhT7ioENoWmaZZcLvUBa4Dz/66KOic6uEaJVOqRNPPDHYZ/v37x/cUVglyZYia4p1QlSSLIeHz4DmmUWxSyXOfCo24LmYEqf0/x8vUYNYxEEk8SBzRAm+UOEzJI7x1VYzW3bZpNzLXUIIOhyXiwWAYOHvR3zCqUQ7tMsz48M2nrFFOy4wxVlVEOc3OezHSwF5RgRjewSaQr5gcsdVnEfFM44kxhsRJA5c9yB23sO+OSZ+5liySvf8OGiH89ChQ9IO7ifewzHRNuPjghvPLPPZ83zWwXQ/GTt/D32JnPU5z31j4NhycdOFRBc2fXZIjp9nMjjpA+V+lcqTAtru0yfb2ZX+nRFCCNE6QUB544036h6DBw+uW/fmm2/agAEDgmjlD1wcPsERXH755cHhgtjEekSrSs38haMkzc8//2yffPKJHXLIIQ36iRsr7mdzktVPeP3114P40qlTpyBAbL311jZhwoQgmDiIUwhSDsHruHwAsQNHTpz5RUllKWOBqMG+KyVu4MyK+5AWz4AYGK65+++/3z788MPgMCuFESNGhLYQ69KB65S4Me6IRJNNNpkdTGlEGUGE3WyzzYJoiIsNN9aTTz5p7/KBtEBOOumkIMxh+KC8kPNL9hXnJ83VV18dShe5hoSwtu6UQn3nDwhKPNNOIkT17t07LGPmCiEqSZbDg5t7IgooV+Pn4cOTErHNNktyn+ISu2LcTwhguKiy4DOEl2QhJvBlYSyeZLmJWI+LB9HFRQ/g8wbCCvtHXOM4OAYXZOJAbH8v2yAaIeiw3ssJEVp8Zjt3LblIwzOCF58XveyN9mL3FK8RjmiP97MPBDAeHtpeCO68io+dNhGD6Bvj4OIVriTfxo/XZ+1jv+lSQ38fx4Bzyd1l/j4vl8w6D748yoys6y/jxzP9c2caIlL6f3987gtx4NE/b4Pz4e43FxezRC+cWJXEZxTMcnblm61QCCFEdXDBBReEsOixY8faueeeW7RLCnhPViSHQwkZ2UcxHuSMwwMBhEmOEGIoN+I1X1gXSlYJUq73I9Dkgpt1XCsxM2EfbwGy+onwtM4664SMI0rVEPEQIXbfffcGx0s5ZJoscSIf1TAWiGcITg6z36XxbDDcZDyvttpqwf2XtW0ucA0h0uBCI5cpDfepCy64YHiwH8Qc3Fm4kSqBVwwxOyCVRY2BiIi7i1JLFxjJymL8KFONM84QJxGFCXcXok2LUqjshMXxD4R/Po/z9b8QzQw3zJTZ+Sxr3MAjInzySbIeBxT/exEp2IbPO3FJXjHup0JKnFyMGDIkETRw8KQFDyd2DcUldLSB02qDDZJj4ouejz5KHFD0CfEizl7yY+BzIe/n8w8Pyus8dyomLimkDdxTiCEIYbTlMx/zOYDcJAQUnDMIP15Sh4hSbB6m79czoTgnHmTOZ2eEqSzBycco7ZKKSw5d8OJcEDzPzHb00R1X+T7DeTvpc+O5V/SBseVccA5icpW3xQ68+Ppie84l7bKO42a8GYcsQYr9rrRSkoVFm5WcAY/fCdrXLHtCCFF7UELn5XuVAPcHn/1ziVbMYsZNMzk6Lp6MGjUq3CvEeHD6Px6mmBJwyNGhbI3Jk5hljKylQsFxRJwIzhwEumqFiaC+++67UGXiQe9xKHchIKwwUx3ihLulEDM8e6iYscDNRn/c4VZuENfyiZ1pOPdcPziGYshn4kEZaDpjCeEHkY+w9379+hW0D4idaeXGJ/yKw/yBa5zSS673WLREUE6Lsy5MpseC/DBENpxZQrTp8j3+GH6LPWMi1K5/g+1BiGbEHR6ESxMyzU0+IhT/U/lCAVElX0leuvwPgcGDsX1WNQ89L6TEycUID+8mb4jPXx4OHmcfOR4gHi/nV8tLxVjHAzEKoYg2gc9p/MrxuQ5BCYc4x8o+KPuijfTsbx6S7i4g9kmbzDaHAMI4IYLxMyLJRJd4cGzxHsaBZ/6HZnyBVxBeHsdY82D8OQ4PR/c+ZglFbOMzEHoJIefaRUbW02fGhnPruVhx+SSkSwDTuDPLA/M5nz6jYyHlbfkceGRmMfMe54ZrkjGNyzHjPiNoEoTPz2WOPhBCCCEKhkoIgrOZCY+8HMrAKLG6+eabw3qcJ5RGMWsa63G5ZIWLI1JROkX2LIIAGUoO5VaIEQg0POP+KnbSJPp59tlnB4cJzhlKoMj2KSbXB6EHZw9lZC728LpcpYg4dCjNw8WEcMdYXHrppUW1QbA54swBBxwQStZ4/3Bs9SWMBfvnvPDc3NCvY489NvQNYYmcJLKvqLpJizm48OgnrqF0ODqCFI/9998/CD48vNSR83bQQQeFtnEjEc5PqSLh7sxIGOOzRKZnOiyEQw89NFz/nFOfGADnFnlfMfSf4+B4YnBT0ScchpxLyv44Htxi6X5y7Wy//fZ1+WNCtFlRKm0ffeihhyqqNguRniXvwAOxkhPuaXbjjck2TFyCsweRJj0La1yS5+Bw8XBrnocN459F4mYhj4hyraOPTvZDzqCXx/F/jvW4cRHE3H3lYgSlT+6UQiRzJ4+XgTlxzlQslCA0MSENji9mi8OhwzJcQO+/n/SL/XsZHv194QUzvohCCEFQikO94/25y4r3cdxkVyEKIWLx+ZHPXIwf/efzGGVnxA94CDkCFT97+WCp+J8QF6nc0RRnOmVtH7upvCTRXWEu/jFu/iWsO7Hic5BLoIpFOz82xsizvnbbrV789Jn2Yuedk8+Bh0MKoQtBy8Pi+czt58r74yWYCGAcYzG5VUIIIUQ54YafEGfygHBNMYvbq6++GgK4YZ999gmlfVtssUVwTOFEIQsnTceOHYND6KyzzgpuHn8/4OxhHTfiCBKUsvmseoVCCRxtUMKIGEAfEDvSEzLlgywsSq/IyPUsIl4TMl4OOnToEMqubrvttiBEkH9EDEoxTDnllEFEQjCjb4R2b7fddg1EinKMRaWh/BMBhusGwwN5UFxfxMAUCtU6uPgQTbm+/EGb7jZCuMIxxvW2ySabhGuP96WdYX4vi+BXLKNHjw4h5eyDmQ5XWmmlomY05NwRak5/ueaYsRJnGMvikktC3Jm9kvMrRGul3YQCi5X5lgMVmtkzgF9u/qgwG0atMG7cuFC3/NNPP7VYrXlbgw8YWLG5briGCiWd0YMoQG4g4hAuFr6EcGECFwpfrkTZkHVwg897Bw1KXlMyhtP8mWcSMcZ1VbrGdjhxEDcQDXAh4Sri/5fP1Lb66ma9ezNVciIaUN5HORxiFbP2IjwgMiBqIBTxM8IOr+Mv/9Kz8wGChDt2sma588wn+oqLmfa93IwHYkxaJ3anFn30vCXaYBy9LNBnykPEQwxh2QYbjLexY8fY99/PYfPMM1lwkjHOtIFQl+HCrzh++cSzCXqfGQuO3/Oz0uOXLtnzcfOsKy+5ZDnj79cDpW3khTX25wLhFDEvmminDhxWXB/rr5+ImMyOzfjHuV4uirFvxpYJivhslZ7hL42XfnouVMeO461PnzG21lpz2LTTFj2PhajBv5WiZSnXedPnEyFEKTm/uGquuuqqZt/36quvbt27dw8CWy1z9NFHB+EVl1y6RLDWQKRjMrJKTTYgRCUp2PeAtTEdSJgVUChEOYgzehCKEH9w93DJ8YwwRZ4gggSuodGjs0WpdCD5gAGJOwihiFJuLw9jHwhQ3FMgILEOt1I8iQrLcWgRA4CzCLGK/SPS0A5OGpbTPqKDz6DHMsQT3Edpx46LIPTBxSXEk1gogTj0HHGLn322OvAA9Bh3Afk4sD2vY4cSY4IIxXjwP4zxJg7iggvMTj89Gdd0QDcCEGNRRJZpk2BsOE53PLloxDFzXO6YcjEqi/Ty2KUUr/O23HV3772Jm45zi2MsVxB4Y/ljCFJxftOtt9aLnYyrnycv7WSM07lVaXKFq3Nu6HOWo0sIIYQQtSs6IELhzKH8jaqVYsoUyw1iGH0itN1DvmsNyu9OOOGEmhekcICR25YVli9ELVDwletTh7pNlNC2fffdN4SuxRQb3CdEFl4Wh1jEBB5kB3Jz70HiI0Ykrid3B3EjjhuIwGsvl0uHUrvQRbkfN/Cfflo/cx1CD8ILy7nZR6xIf9HA/tgP27sjBoFn6NBEiEJ8wv1LCZwLRrTPOhdS0kJO7PqJZ9qLIhcalPwB29LfWEyJBaqs9t395eHo3q4HkPPMrzLZVD7ZB58vmM+AsUegY5x5P2PO/24vRas0HDeuJfblQh3Hw8+NZUXFx5l2W3Es/O/m+D3DCzEKkwLrERbZD6WBvKbM85ZbkjwuBB+EJhd9sgL4XTBLZ1BxPRLjwPnw7fw42B99Yh/p3Ko0WeHqtMPPOPmII1CIuRBCCNE6+P7774OAQsYv5Y6IQsxa1xLgLvIw7mJLLqsJstJaAz7boZzWotWLUtTKxlTzLBei9vGMHsrhvCTOA8RdnEBUYhuWc4PP32MEIEr7cJqkBYFcYdQuCCEOsA5hwEUC2mD/ZDrRNmIRzijynNgH4gxCBvlMuFQo4aPvLoKwvc/q5uVZ8Wx49J3X7Jf958pWcmHF++XPtMkxsQ8XoNwFxcOdWL5PLylMu5DcCcWxu4jH7LQsQ3SLQ8qB5YhwLtxUEvq44orJvhhfL2/0sckiLo/0Y/SfXYRk7BAocYMxVpwDd0hxLniwDdtyDbCO84VId/zxZuSLuhvJA/gRgryUDodelrOK15SBPvBAstzPPX3AZUWFNNuQX0U7CJ1Z7eS6nn3mQNZLlBJCCCFaB4cffnh4VAPzYB8XVUMxsx0KUdOi1HXXXVfZnggRwY04Is9339WLN+4eQiTwci5EEtZRfkauFKV8OKTIfUrfyKfDqAmfxhnk4o2LK+5oQoRA6HJRjP0ihvFgW5xZfEnEtjheeMZJ5WV5sbuJZ96DiIWYg4jlWULuBOK9uUg7gnxmuthd5fvxmfR8Zru4tC/OWvJMJT9exhJ3lIt4BK7TZ5bRX/K5OHb67GHjiB8uFuIkK4Ys55gfa1psYt/sxwXIxnABKt6PH7tfP4wR1xfL+DmapbfOveRuN9pwwcqDynFFxW4krrO4RC8XbHf55cnPZJvRlmeXIUpxjCxnnL0kj9JAnFhxSV6+cHWuRwWlCyGEEEIIIaodefxEVeKz5FE25oHcLgZ46VosMiCoIJRQvocgRUA04kDsLEHoikvymACG9YhdnkeEsMIzIgtlXAhS7qBxsYT3uPMGEYHliBuIYS6yID55KHksUPlseO5K8nIrjjMf3m5akEoHeruLjP0jJq2xRr3QkYW/HwGH97jowZg88khSuoaTiGNYdlmzlVdOysU8AwtXj5dUFkuWIJXlOmasyPhiFkI/N43F2fnY+Cx/vi/GjWPz8j/ajQPzXQxzgdLLLulD3B+fjTCe2bEYuLauvZY8BrPttjNbZpnkXPGIZ0Zk/DkvHTsmIlgcHZG+nmMQ1UqYSEYIIYQQoqCgc88bLtcshaJ0/FykZxcUolaQKCWqEtw6ffokogBCESJDXKaGUOCig8+4xux8OJ8QkvIJXYhHQOkW2VCebYi4wn4ITF9++aRcDMGCthGNYoHCXVpsg8PJZ03zMjfe4w4bRBTPHaT/vAfYBiEEFxCCGhQ6d0DsAorxAHScP2+/nQgZHrruohjvTe+HZZQ9kpOEILLBBknZHn1DlEIcoVyN/uIOQphiP7xmbOIMrELIOk4X8OJ13m+ER84F45SVnZVrHy66pcsevW1/7VliuIsQdDg3XgLqop0LVvQFZ1uWG4k2HnwwmY1vm22SZ15zDaeXIzBxnSOgMjvkOeckyxhzrlEfX9x6OADpayyCxdczz4hYL77I1MFmr76atHXAAcl+iz0/QgghWjfkxPqNbPx4hG+kysgzzzwT2v2Ob++qkLFjx4aM3C5duti0005rXbt2tTPOOCPMrCnys9tuu9lXX31lvXr1Kvg9hHFTgkhY+3TTTWedOnWyI444wn7zD8IFwnW61FJLhWxjMq3OOuusnNsefPDB4Rq8k0DPMkPg/CqrrBKOZbbZZrM99tijrGMxePBgW3XVVa19+/bhsd5669mbWOhTcB4uvPDCsh2XEM2NIvpFk0hPSZ8r/6ZYPKMHIeDqq+tFJD7TILK4MOGihQtChIwDIkB6Vm36RFj14MENRSZcUIhTtO8zrDHrHk4rsqTYhrbYD/8n3HnDzy6KIWrE7i13QbmQ4Z9tEDd4nztcvETMQbzKldHkwpaXn/n7YydWvD93lLGNh4K7UOZZU94nhDZKILfd1uy555Lx84lUPHPKZ+1j7BCuaMNFwnLhWVjgDjn2gaOpsRypGHeTxa/j8+E/e/g71y3iIucFIYjlsTvNHXRcKzwjXMYzO+abDY+Z8M47L2kzX0kev0eIT17G52PBvhEYKS90pxfbe7g67+M65bwgpDFmbIdAiyBF6DnXL33ON4OgEEKItsVaa61lN910U4NlszK9cRvim2++CQHil156qS2yyCL21ltvhRxdRClCxUVuEFLmKtKW/eeff4YxPvPMM22JJZawzz77LIhbiIPXXHNNQW18+OGHttlmm1m/fv3s9ttvDyHfiKxzzDHHJKLQ448/bsP5VrUCvPPOO+F3aJ999rHLLrvMppxySnsfW38Zx+KFF16wTTfdNAhOjPcpp5xia6+9tr377rtBBHM4DzN7zoQQNYicUqJk/Ca8f//kJhvhgmdes7yp7gxumvv1M9t7b7MuXZLcHS8zc2ElFldcaOAGfb/9svcfB2A7iADMdkb7CGsIbM8/b7bEEklOFTfwBG2TBcUNP/8D3Dnjgd84ZxANPHjcBYW4fMwFNC/zy3ILxblWHL+7uBBOvFTQXVIOfYhLBd3JFc80F4e3s+9YsGEdYgzCB/+3Ef3S5YKAsIVAwvjiKpt99kTsYH/FTPbB9vEx+Gv654/0cfAzY1Cok8xx0ZH3Mp7sJ35wHGSDMQY4wBAmY3eb9wtBCWGMsUHY4bjjmR251viSjnI8AvgRT2mT64o2EKZoD/Fz7rmTZ0SiuCSP644++rXDvhDI/Jpg/x9/XP+75cItjkLOjfeX4+W65bh4P85BwtlxvJXz91MIIURtw4za3MzGj6miev877rjDunfvHhxEiy++eBAAnH///TcIADiMaIfZ4GK3ijuk1qAu3fis1CG8Zjvn+uuvn6TciPXn8U1OahltH3jggeHGm8fFF19ctx5BgKBnbtqXXnppe5pvYwoEIYrj3GCDDWyBBRYIAgCiVCmziXN81157rW277bbhuGaffXa76667wjrEP/o244wzhv5vtdVW9kVk7fexYFY7nD8IDieffPIkM8UhXnA+Nt544zD+lNHFFDIWOHE+//zzot1J5QBn02OPPWZbbrmlLbjggtanTx879NBDixpvhKZZZpnFTjrppOBso62dd97ZrvZvsSfyww8/2P777z/J8nJx7rnn2sorr2wDBgywHj16hGtpk002KetYnH/++cFN1bt379A+53fMmDFBrBKiNSFRShRUfpR1AxtPSZ/vZpsb+oceKqzNNH7jzUxkPXokAhKCgH+GicUW3x7hiKDoOH/H+8vynj0TF9TGG5utt14iQtC/Z581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n6iMouLm0ksvrfxOkDhy5Mj07W9/O5100kmt3j3V6I033qhUTBFW7bzzzq3eHXXjnXfeSdtss026/PLL05lnnpm23nrrdPHFF7d6t9QF/nv4wAMPpPvvv7/VuyJJktTWrJRSyyxevDitvfbard4N/ROtlHPnzk1f+MIXlj83ePDgyu8PPfRQS/dNPf+7Bf9+tQeq3PbYY49Of/fUv/3yl79M2223Xdp3330rAfD48ePTVVdd1erdkiRJajuGUmqJhQsXpksuuSQdeeSRrd4V/dNf//rX9MEHH6R111230/P8/vrrr7dsv9QzVLcxk4jWojFjxrR6d9SNn/70p5VWWeaCqX1Q4Uul72abbZZ+/etfp6OOOiodffTR6cc//nGrd02SJKmtGEqp1y0MDObt6sE8qeJw2KlTp1b+H+bDDz+8ZfsuraxVN88880wl7FD/9sorr6RjjjkmXX/99ZUbC6i9wl9aLs8666xKldQRRxxR+d8zZiVKkiSpdh/qwbLSCo4//vh0yCGHdLnMxhtvvPzn1157LU2ePDlNnDgxXXnllU3YQ9Xq4x//eFpllVXSn//8507P8/t6663Xsv1S7b71rW+l22+/Pd13331pgw02aPXuqBu0y3ITAcKNQLUi14+5bu+++27l76T6n/XXXz9tueWWnZ4bPXp0+vnPf96yfZIkSWpHhlLqleHDh1cetaBCikBq2223Tddee21lXpH6j9VWW61ybe6+++40bdq05dUA/E7Yof6L+1UwjP6WW25Jc+bMSaNGjWr1LqkGU6ZMSU8//XSn5w499NC0xRZbpBNPPNFAqh+jPXb+/PmdnluwYEHacMMNW7ZPkiRJ7chQSk1BIDVp0qTKP9gvuOCCyt3BglU4/cf06dPTwQcfXBngu/3221fuALZkyZLKF2X175a9G264Id12221p6NChy2eADRs2LK2xxhqt3j1VwbUqzv1ac8010zrrrOM8sH7uuOOOq1T80r735S9/OT366KOV6l8rgCVJknrGUEpNMXv27Mpwcx7FtiKqPNQ/7LfffpXA8JRTTqkEG9ya/q677lph+Ln6FwYug+A3j4rE7tprJfXchAkTKpWJJ598cvr+979fqU4kxD/ggANavWuSJEltZdAyEwFJkiRJkiQ1mUN9JEmSJEmS1HSGUpIkSZIkSWo6QylJkiRJkiQ1naGUJEmSJEmSms5QSpIkSZIkSU1nKCVJkiRJkqSmM5SSJEmSJElS0xlKSZIkSZIkqekMpSRJkiRJktR0hlKS2tYhhxySBg0atMJj4cKFDVn/ddddlz72sY+lVrrvvvvSnnvumUaMGFE5tltvvbWl+yNJkiRJjWIoJamtTZ06Nf3pT3/q9Bg1alTqb95///263rdkyZI0bty4dNlllzV8nyRJkiSplQylJLW11VdfPa233nqdHqusskrltdtuuy1ts802aciQIWnjjTdOp59+evrHP/6x/L0XXXRRGjt2bFpzzTXTyJEj0ze+8Y30zjvvVF6bM2dOOvTQQ9PixYuXV2CddtppldfKKpaoqKKyCosWLaosc+ONN6Zddtmlsv3rr7++8trVV1+dRo8eXXluiy22SJdffnmXx7fbbrulM888M+21114NPnOSJEmS1FofavH2JalP3H///emggw5KP/rRj9JOO+2UXnjhhXTEEUdUXjv11FMrfw4ePLjyOpVVL774YiWUOuGEEypB0cSJE9PFF1+cTjnllDR//vzK8h/5yEd6tA8nnXRSuvDCC9P48eOXB1Os79JLL60894c//CEdfvjhlVDs4IMP7oOzIEmSJEn9l6GUpLZ2++23dwqLqCy66aabKlVRhEIR9lApdcYZZ1RCpwiljj322OXv22ijjSoVSV//+tcrodRqq62Whg0bVql4ovqqHqx/7733Xv472yWkiucIw5599tk0a9YsQylJkiRJA46hlKS2Nnny5DRz5szlv1N1hKeeeio98MAD6Qc/+MHy1z744IP097//Pf3tb39LH/7wh9Nvf/vbdPbZZ6d58+alt956q9Lal3+9t7bbbrtOs6Go1jrssMMq1VGBbRJ+SZIkSdJAYyglqa0RQm266aYrPM9sKKql8pVKgVY65j596UtfSkcddVQluFp77bXT73//+0po9N5773UZSlE9tWzZsm4HmUdAFvuDq666Ku2www6dlosZWJIkSZI0kBhKSVopMeCcWVBlgRXmzp2bli5dWmmnY7YUfvazn3VahhY+qquKhg8fXrnLX3j++ecr1VVdWXfdddOIESMqs6sOOOCAOo9KkiRJklYehlKSVkoMFKcS6pOf/GTaZ599KsETLX3PPPNMZXYUYRXVTZdccknac889K61+V1xxRad1MGeKCqe77747jRs3rlI9xePzn/98ZVj5Zz7zmUpodeKJJ6ZVV121232icuvoo4+utOtNnTo1vfvuu+nxxx9Pb775Zpo+fXrpe9j+woULl//+0ksvpSeffLJS2cWxSZIkSVK7ysoDJGkls+uuu1aGoP/mN79JEyZMSDvuuGOaMWNG2nDDDSuvEzJddNFF6dxzz01jxoyp3BmP+VJ53IGPwef77bdfpTrqvPPOqzxPddXIkSMrd/Xbf//903e+852aZlB97WtfS1dffXW69tpr09ixY9Muu+ySrrvuusrA82oIrbhTHw8QXvEzoZskSZIktbNBy4qDUSRJkiRJkqQ+ZqWUJEmSJEmSms5QSpIkSZIkSU1nKCVJkiRJkqSmM5SSJEmSJElS0xlKSZIkSZIkqekMpSRJkiRJktR0hlKSJEmSJElqOkMpSZIkSZIkNZ2hlCRJkiRJkprOUEqSJEmSJElNZyglSZIkSZKkpjOUkiRJkiRJUmq2/wfbwOpbV9y/PAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "2025-07-15 17:11:05,609 - INFO - Data visualization saved to data_visualization.png\n", "2025-07-15 17:11:05,610 - INFO - Data split: Train=700, Test=300\n", "2025-07-15 17:11:05,610 - INFO - Running traditional anomaly detection methods...\n", "2025-07-15 17:11:05,610 - INFO - Starting statistical anomaly detection (Z-score method)\n", "2025-07-15 17:11:05,612 - INFO - Statistical method completed and saved. AUC: 1.0000\n", "2025-07-15 17:11:05,612 - INFO - Starting Isolation Forest anomaly detection\n", "2025-07-15 17:11:05,671 - INFO - Isolation Forest completed and saved. AUC: 0.9835\n", "2025-07-15 17:11:05,671 - INFO - Starting One-Class SVM anomaly detection\n", "2025-07-15 17:11:05,675 - INFO - One-Class SVM completed and saved. AUC: 0.9135\n", "2025-07-15 17:11:05,675 - INFO - Starting Local Outlier Factor anomaly detection\n", "2025-07-15 17:11:05,678 - INFO - Local Outlier Factor completed and saved. AUC: 0.6942\n", "2025-07-15 17:11:05,678 - INFO - Running deep learning anomaly detection...\n", "2025-07-15 17:11:05,678 - INFO - Using device: mps\n", "2025-07-15 17:11:05,683 - INFO - Starting autoencoder training for 50 epochs\n", "2025-07-15 17:11:05,731 - INFO - Epoch 0/50, Average Loss: 1.109791\n", "2025-07-15 17:11:06,208 - INFO - Epoch 10/50, Average Loss: 0.984706\n", "2025-07-15 17:11:06,663 - INFO - Epoch 20/50, Average Loss: 0.876673\n", "2025-07-15 17:11:07,130 - INFO - Epoch 30/50, Average Loss: 0.757431\n", "2025-07-15 17:11:07,604 - INFO - Epoch 40/50, Average Loss: 0.603248\n", "2025-07-15 17:11:08,018 - INFO - Autoencoder training completed and saved. Final loss: 0.463137\n", "2025-07-15 17:11:08,018 - INFO - Creating and saving training progress plot\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "2025-07-15 17:11:08,125 - INFO - Training progress plot saved\n", "2025-07-15 17:11:08,125 - INFO - Starting comprehensive evaluation of all methods\n", "2025-07-15 17:11:08,125 - INFO - Starting autoencoder anomaly detection\n", "2025-07-15 17:11:08,129 - INFO - Autoencoder anomaly detection completed and saved. AUC: 0.9995\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAABv4AAASlCAYAAABgJa41AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAA73tJREFUeJzs3Qe8VNXZL+D30BRQUFSKDXuvQURiQyViiYoSjSWKJRqJmijRGI2xKwZNbNg1YK+xRGPsihqxYWxo/GJFo2AHBQWBub+1veeEAwdkRs7U57m/fefMnn32rJl8wN9V3lWXy+VyAQAAAAAAAFS0FqVuAAAAAAAAAPD9GfgDAAAAAACAKmDgDwAAAAAAAKqAgT8AAAAAAACoAgb+AAAAAAAAoAoY+AMAAAAAAIAqYOAPAAAAAAAAqoCBPwAAAAAAAKgCBv4AAAAAAACgChj4A2bTp0+f7Jhflltuudh3332judTV1cWJJ57YbPcHACpHyhwpe8xPI0aMyPLG22+/PV/vCwBQyx555JEsY6VHAOYfA39Qhl566aX4yU9+Et27d48FF1wwllpqqfjRj34U559/fsM1p59+etx+++0Fv8crr7ySDZbNrw6sJ554Irvf559/Pl/uBwBUp/pBtGeffTbKzffNV80hDWKm76up4+uvv45yIxMCQHGMGTMmfvazn2V9RgsssEAsueSSsddee2Xny8Ftt90W2267bSy++OLRpk2brH277bZbPPTQQ1HuZsyYEVdddVX06tUrOnXqFAsvvHCsssoqsc8++8STTz6ZXfOrX/0qy2Ovv/76HO/z+9//PrvmxRdfbJTr+vbt2+T1l112WUPOK8esDFQOA39Qhp0lG2ywQbzwwgtx4IEHxrBhw+LnP/95tGjRIs4999z5OvB30kknNTnwd99992VHvu1O92uqk+e1117LwgsAQDmbU77ae++946uvvsomZZXCeuutF1dfffVsR+pEKzdzy4QAwPxx6623xg9+8IN48MEHY7/99osLL7wwDjjggHj44Yez82nQrVRyuVzWpl122SXGjx8fgwcPjosvvjgOOeSQePPNN2OrrbbK8kI5S4N6AwcOjG7dumUTmv74xz9mg5hp0O+ee+7JrkmDrMl11103x/tcf/31sfbaa8c666zTcC5N8E//O40bN26266+99trsdYDvq9X3vgMwX5122mnRsWPHeOaZZ2KRRRZp9NqHH35YlDbM706kNPMMAKBStWzZMjtKJc3kTzP6m2M2+9SpU3UwAUAFeeONN7JJSSussEI8+uijscQSSzS89utf/zo23XTT7PW0yixdU2x/+tOfsgoPhx9+ePz5z3/OVq/NvAIuTV5q1ap8u6TTYGUaSE2T8S+99NJGr51zzjnx0UcfZT+n1YArrbRSNrh3/PHHz3afUaNGxVtvvRVnnHFGo/Mbb7xx1ud34403Zv971Xvvvffisccei5133jn++te/NtvnA2qDFX9QhgFuzTXXnG3QL+ncuXP2mELTpEmT4sorr2woAVC/h94777wTv/zlL2PVVVeNtm3bxmKLLRa77rpro5V9KYClc8kWW2zRcI/6mupN7fGXyoymdrVr1y4WXXTRbFVi/aymNPvpqKOOyn5efvnlG+5X/55N7fGXZoEfccQR2WtpYHDppZfOSiZ8/PHH2eupEyoFpx49emQDoe3bt8/Ca5oVBQBUlzTjOc0MT3kg5YI0u3qnnXaarTJB6oRJeaS+nFWaOT4vK8vOOuus+OEPf5jlopSPUr645ZZbGl0zt3w1pz3+5qU9KVOttdZaWbWFlLtSlkoDeUOHDo35JbX7N7/5TSyzzDJZW1IOTJ85zbif9TMeeuih2Wzy+nbXz1r/73//G/vvv3906dIlO59e/8tf/jLbe32fTAgAfH9nnnlmTJ48ORuUmnnQL0llNS+55JIsG8ycNdK/0fVlKVO+SX1Oqa8l5a90r1ldc801WV5KuSmVutx9993j3Xff/c62pQoJQ4YMidVWWy3LIjMP+tVLg5IbbrjhHO+RBr9Sn9Wyyy6bZZKUb1L/Ubp3vvkxlcvs169f9r2kz5LySco7c5MG61KGSgN0s0qfp75vrn7V37///e947rnnZrs25aN0/R577NHofJpwlVZDzrpSMA0gpmyV2gvwfZXv9AqoUamEVJoV9PLLL2edRE1Js6NS+c8UlA466KDs3Iorrpg9pllDqWRCCmUp/KTAc9FFF2WdTqnDKXXSbLbZZlnZgvPOOy+OPfbYWH311bPfrX+cVSrTma5P+w6m2UhpP5k0c+ypp56KPffcMwss//d//5eFlLPPPjsLVMmsAbTel19+mQ3ivfrqq1ngSmUo0oDf3/72t2yGU/r9iRMnxuWXX54FpDTL6osvvogrrrgiC0BPP/10VvIKAKgOAwYMyPajOeyww7JJQanKwf333x9jx47Nntd3WKUSkmlPlEGDBmWlxFPGSdnnn//8Z7Ru3XqO90/l0nfcccescyZNLrrhhhuyDqW77rortt9+++/MV03Jpz2fffZZbLPNNllmSnvbpEHHo48+Oiv9lMpGfZdvvvmmYXJUvZTp0pE6ptJnS5OjUomvlJHuvffebAAuDealbDaztK/OTTfdlA0ApsyVvt80s32jjTZqGBhMGe4f//hHdr+UydKM/ebIhABA/u68887s3+/Ur9KU1OeTXv/73/8+22sph6TBrzQ4lwarUr9LGshKpSxnrkT1hz/8Ibs2ZaO0wi1N/En3/de//tXkRPV6jz/+eHz66adZdii0WsLNN9+cDUamfJUmbaU+oPT+qb8ovTav+TE933rrrbMc8rvf/S5rd+ojS2VS56a+tHt6r5QXU96ak5QtUx5Mg3ipb6ve9OnTs7yV/jdKA5izSrkptS1N/q/Pm+keKWPNLdMCzLMcUFbuu+++XMuWLbOjd+/eud/+9re5e++9Nzd16tRG17Vv3z43cODA2X5/8uTJs50bNWpUmu6du+qqqxrO3Xzzzdm5hx9+eLbrN9988+yot9NOO+XWXHPNubb7zDPPzO731ltvzfZa9+7dG7X1+OOPz6699dZbZ7t2xowZ2eO0adNyU6ZMafTaZ599luvSpUtu//33b3Q+3euEE06Ya/sAgPIwfPjw7N/uZ555puHf9/Q8ZYk5+fDDD3Nt2rTJbb311rnp06c3nB82bFj2u3/5y18azqXMkbLH3PJRylVrrbVWbsstt5ynfFXf5vqck097UqaaNYeljNO1a9fcgAEDvuPb+jZHpd+f9ajPPrfffnv2/NRTT230ez/5yU9ydXV1uddff73hXLquRYsWuTFjxjS69oADDsh169Yt9/HHHzc6v/vuu+c6duzY8P1930wIAHw/n3/+efbvbPo3eW523HHH7LqJEydmz1NuSM9n7U/Zeeedc4sttljD87fffjvrjzrttNMaXffSSy/lWrVqNdv5WZ177rnZ+9x2223z9HlSn9SsfVNN9WsNGTIkyzXvvPPOPOfH1IaZM2c+9tlnn+x3F1100ew7Ouuss3Kvvvpqk9f27Nkzt/TSSzfKhPfcc0/2+5dccslsuW777bfP+rxSFjzllFOy86+88kp2/ciRI2fLygCFUOoTysyPfvSjbMVfmrn9wgsvZKUZ0iq3VBIqrYj7Lql0wcyzwz/55JOs5nia2dRU6YF5kX43zaxKM9jnh1SrfN11183qls+qvgxEmhlWv9dg2n8mzRibNm1aVk6q0M8BAJSflF3Sv/mp5HhaGdeUBx54IFupl2aPt2jxv/+ESVUBOnTo0OSM9lnfo156jwkTJmQzsAvNFPm2Z6GFFmq0R1/6vGll4ZtvvjlP75f2kEkz2Gc+Uon05O67785yU1qJN7NU+jON9aWVezPbfPPNY4011mh4nq5J2WyHHXbIfk4rC+uPlEHTd1X/Pc3vTAgA5CdVQ0oWXnjhuV5X/3pauT+zgw8+uNHzlIdSv1H9dWk1XOqDSav9Zs4EXbt2jZVXXvk7t1+pv893tW9ec1sqWZreP5VsTzklrTic1/xYvzIxVXhI/WP5GD58eAwbNixbHXnbbbfFkUcemVXJ2mqrrbKKCjNLGS/lo7TfYr20ei+1r36bnVml7Ja+41QlIUll2FNJ0zmt4gTIl4E/KEM9e/bMwlYKL6mkwTHHHJOFu7TkP5XrnJtU8zztjVe/x0sqsZTKGqT9ZlLHTSFSKarUYZU6qFLQS/vXpBJWhUqlDOZUxnRmaY+dddZZJ6t/nso7pM+ROtIK/RwAQPlJeSWVl0oDVGl/uVRGKk18Svu21Et7GCdp77qZpQ6VFVZYoeH1OUkdPqmUZcoUaZ+alClSWc5CM0W+7Unl12fd4ybt4TKnjqpZpTyXSorOfKT3qW9L2l9w1g62+hLus7YldWDNLJXvSjmxfp+gmY+0b06SSmU1RyYEAPJT/+99/QBgvgOEs5adTHkkqc8k//nPf7IBtvTv/Ky5IG3XUp8J0hYuKavVHylPJGkC1Ly0b25Sqc60D2HKbCl3pPdOE5eS+uw2L/kx/U4qB5pKcaYslfb/SwN6U6ZM+c42pIldKeeMHj06G3i84447svLsqWR62lpnZul5Gsir37MvlUJPg4Xp+vrvtymp3Gfq40uT/tPvpvs0tSciQCEM/EEZS51HaRDw9NNPzzqn0gylmeuZNyXVNk/12NPMoVRP/L777stmhaeBszRrqxCp4yjtW5P2w9lkk02yWeHp8YQTTojmkjaSTkEv1TpPe/vdc8892efYcsstC/4cAEB5Sivn0t5wab+ZNDiX9pVJ+aN+Vvf38dhjj2WVFNJ9L7zwwmyFXMoUqbPl2+qXzW9Oe9wU6/3nNIs+qc9Vabb6rKsK64+NN964ZJkQAPifjh07Rrdu3bI9ducmvZ4qR9UPxM1rJkm5IA0+1ffBzHpccskl2XVnnXVW1o76I/VdJauttlr2+NJLLxX0+dLeeKkSVpr0nSYc3X777dn7jhgxoqF985of0+dI+yqnqlppD+O0Um///fePHj16ZAOX8yr1p6UsmTJkGkxM+xjOPLEq7ZGY2pxyUeq3S3swpoHPtP/fd1V0SH1e6XO89dZbWTYFmF9azbc7Ac0qlbhMPvjgg+xxTrOAUqgZOHBg/OlPf2o4l2YbpZncM8t3FlH79u3jpz/9aXak0la77LJLNsCYViOmgJXP/VKwefnll+d6TfocaSZ7Wvk48711LAFAdUr5IJWnTEeabb7eeutleSZNBurevXt2TRp0ql/plqRMkjpK0gq4OUmdMCmr3Hvvvdns8Hppxves5jXPfJ/2zG+pLan0aOpgmnlW/7///e9GbZ2TNIs+/V7qaJuXds/PTAgA5O/HP/5xXHbZZdkAVJqA09Skp7fffjt+8YtfFJTH0iBgqhCwyiqrzPG6VHJ85veun1iUzqVVbqmE5bHHHjvHgcY5SQOGaTAvVYCqL2uepMG/fPNjvVT1IR0pr6SVdWlALk1i+vnPfx6F9M2NHDky65ubOWOle6bB0rQCMb1HGnBNZdS/yx577BGnnnpqNmCZ2g4wv1jxB2Um1UtvavZ3mlk0c0mp1Oky62BekkLVrL9//vnnZ505M0u/nzR1j1mleu+zrkRMe8Ok96mvk57P/VKphVTKIJU+mFV92+vD4cyf5amnnspmagEA1WPy5MnZJKVZO3HSYFR9KaY0IJXyx3nnndcoG6SqAKnk0/bbbz/H+6dMkQajZs5CqTMszSCf1Zzy1ay+T3vmt+222y77bGkfmpmdffbZ2edOZabmJn0/KZulAdKmJmbVl+5qjkwIAOTvqKOOygba0sDerP82f/rpp9k+fu3atcuuy1ea0JOyQSqPOWvfUnpe/35p4tPMJcjrqwOk900r9VJZ0PTYVP9WGpRL29o0pam+oPTzueeem3d+TOVLZ33/+sG1uZX7TOVCm9pmJ014evDBB7MyoCuttFKj1/r375999lRdIg3+pe8xTYj6LmnwMU1wn3nyPsD8YMUflJlUqjMFmJ133jkrkZCCxRNPPBE33nhjLLfccg17raTSBGl295///OdsX5c0GyuVCUgzv66++uqs/EPqiEkDZem6VJpg1rCTAlWqiZ46qNIM+FRGM5UomNXWW2+dbeScglyqnZ4CXOpcSp1a9TPLU3uS3//+91ld8tatW2ezm+o7f2aWwmda0Zc2Oa4vs5DC6d/+9re4+OKLY911180+R1rtl76H9D5p9nx6LX2mfEoyAADlLc3q3mqrrbIy5enf+VatWmWTg8aPH9+wh0palZZWlKVOqG222SYrt5RW26XOlVRaKpWpnJOUI1JeSr+XSiilvWkuuOCCrMNm1jJZc8pXs/o+7ZnfUt7aYostsgyWBjRTjkql3tNeNKl0VOoE+y5nnHFGNvksfdYDDzww+98hZbPnnnsu+z7Sz82RCQGA/KX999KKuLTKbO21144DDjggyywpB6RJSGlPurTibl4ywKzS76QVaCnnpPulAa30b3zqk0n57KCDDoojjzxyrvdIfT5jxozJBrNSvvjJT36S5Yc0oJYmXqVBv9TP1ZTUD5bakN4jleZMK+fS5KRZ90Wel/yYvqOUzVK/Urpnqo6QVkqme6aJU3Py3nvvZfsZpz6y9B6p7Sk/pu80TWJP+SrtGTiztBdh+q7q9/n7rjKf9dKqwRNPPHGergXISw4oK//4xz9y+++/f2611VbLLbTQQrk2bdrkVlpppdxhhx2WGz9+fMN1//73v3ObbbZZrm3btmn6Um7gwIHZ+c8++yy333775RZffPHs9/v165dd271794Zr6l122WW5FVZYIdeyZcvsHg8//HB2fvPNN8+Oepdcckn2XosttlhugQUWyK244oq5o446KjdhwoRG9zvllFNySy21VK5FixbZ/d56663sfFPv/cknn+QOPfTQ7Pr0GZdeeunsmo8//jh7fcaMGbnTTz89+930nuuvv37urrvuyq5J52aW3uuEE06YT/8LAADNafjw4dm/3c8880z2PP3bf8ghh2TZp3379rmOHTvmevXqlbvppptm+91hw4Zl17Vu3TrXpUuX3KBBg7LsM7OmssIVV1yRW3nllbNMkX4/tSFlh1n/c2hO+aq+zfXZJp/2pEy15pprzvZZmmpnU9I122+//Vyv+eKLL3JHHHFEbskll8zakj7rmWeemeWpmaXPkL7rpqScmV5bZpllsnt07do1t9VWW+UuvfTS+ZYJAYD558UXX8ztscceuW7dujX8252ev/TSS7NdW597Pvroo0bn55Rx/vrXv+Y22WSTLJulI+WdlBNee+21eW7fLbfcktt6661znTp1yrVq1Spr509/+tPcI4880nBN6oeauT8qeeWVV3J9+/bN+rRS39aBBx6Ye+GFF7LrUnvnNT8+99xz2fex7LLLZrmlc+fOuR//+Me5Z599dq7tnjhxYu7cc8/N+tNSX1X6bhdeeOFc7969s360WfNVvb///e9ZG9PnnD59esG5btasDFCIuvT/5TdUCAAAAAAAAJQbe/wBAAAAAABAFTDwBwAAAAAAAFXAwB8AAAAAAABUAQN/AAAAAAAAUAUM/AEAAAAAAEAVMPAHAAAAAAAAVcDAHwAAAAAAAFQBA39QZBdeeGHU1dVFr169mnz97bffzl4/66yzmnw9nU+vp+tmddttt8W2224biy++eLRp0yaWXHLJ2G233eKhhx4quL2nnXZa7LjjjtGlS5fsfU888cS8fn/KlClx9NFHZ21p27Zt9rnvv//+Jq994oknYpNNNol27dpF165d41e/+lV8+eWXRbknAFD+Ki1HzZgxI4YOHRrLL798LLjggrHOOuvE9ddfP8+/n/JNfY5ZdNFF4yc/+UmTbf/6669jyJAhscYaa2TXLrXUUrHrrrvGmDFjGl336KOPZrlumWWWydqTstE222wT//znP2e7Z58+fbLvatYjXQ8AVBYZqukMdeONN8bPfvazWHnllbPPl/JPU1KmStlqhRVWyO6ZPutmm20Wd95552zX7rvvvk1mqNVWWy3PbwGgcK2+x+8CBbj22mtjueWWi6effjpef/31WGmllb73PXO5XOy///4xYsSIWH/99WPw4MFZR84HH3yQBbCtttoq69D54Q9/mPe9jzvuuOxe6b733ntv3r+fAs8tt9wShx9+eBakUhu32267ePjhh7MQVu/555/P2rn66qvHn//853jvvfeyYPmf//wn/vGPfzT7PQGA8ldpOer3v/99nHHGGXHggQdGz54944477og999wz6/zZfffd5/q7d911V+y0007xgx/8ILvHxIkT49xzz82yzr/+9a9YYoklGq7da6+94m9/+1v2Pun6999/Py644ILo3bt3vPTSS9G9e/fsuv/7v/+LFi1axMEHH5x9xs8++yyuueaarOPq73//+2yDeksvvXQ2oDiz1JkHAFQWGarpDHXRRRfF6NGjs/f45JNP5njPd955J7744osYOHBgloUmT54cf/3rX7MJVZdcckkcdNBBja5fYIEF4vLLL290rmPHjnl/DwAFywFF8+abb+bSH7tbb701t8QSS+ROPPHE2a556623smvOPPPMJu+RzqfX03Wznjv88MNzM2bMmO13rrrqqtxTTz1VUJvr3+ejjz7K3uOEE06Y599N7znrZ/nqq69yK664Yq53796Nrt12221z3bp1y02YMKHh3GWXXZb9/r333tus9wQAyl+l5aj33nsv17p169whhxzScC7df9NNN80tvfTSuWnTps3199dYY43cSiutlJsyZUrDueeffz7XokWL3ODBgxu9T2r/kUce2ej3H3rooez8n//857m+z6RJk3JdunTJ9evXr9H5zTffPLfmmmvO8+cFAMqTDNV0hkrGjh2bmz59evZzyj0p/8yr1I511103t+qqqzY6P3DgwFz79u3n+T4AzUGpTyjyDKtUYmD77bfPygyk59/XV199lc3ETiUD6ksvzGrvvfeODTfcsOH5G2+8kR3zIs0IK1RaldeyZctGM59SiYYDDjggRo0aFe+++252Ls2+SmUYUnmFDh06NFy7zz77xEILLRQ33XRTs94TACh/lZaj0sz0b775Jn75y182nEv3HzRoUFaFIOWWOfn000/jlVdeiZ133jkrmVVv3XXXzSoZ3HDDDQ3n0uzzJJVln1m3bt2yx1QWfW5Suao08/3zzz9v8vVp06Ypkw4AFUyGajpDJan8eaqGUIjUN5V+f04Zavr06VnfFEApGPiDIkrhapdddsnCxx577JGVnHzmmWe+1z0ff/zxLNikkgcpdMyLVG4hHc0tlVBYZZVVGg28JfXBL5XiTFIJqtSptMEGGzS6Ln1P6623Xnaf5rwnAFD+Ki1HpazRvn37rJOpqcwytyyS9jOe06BdGqhLpTzHjRuXPV9xxRWzkpx/+tOfsn1mUodYKuOVynmmfXGaKoeVOqE+/vjj+Pe//x3HHntsvPzyy01+plQaNH2GhRdeOCvd9Yc//CHriAMAKocM1XSGKsSkSZOyDJUGMM8+++xsG5mmPlMqBZr6rVJ5z06dOsUhhxxiIhVQVPb4gyJJNcNT58r555+fPU+1xVMnTQpgqZZ4oV599dXsce21145yk+q61882n1n9uRS46q+b+fys1z722GPNek8AoLxVYo5KWSStwpt1BvysmaUp6fcWWWSRbF+cmaW9Z9Is9uS///1vNhjXunXrbI+Z1PGW9pmp16NHj3jiiSey+8xqt912a9i7OXUC/uIXv8gG9WaWBhS32GKL7LtJnVyp6sKpp56aDQbeeOONBX0nAEBxyVBzzlCF+M1vfpPt6ZeklYJpQHXYsGGztfO3v/1ttsfgjBkz4p577okLL7wwXnjhhXjkkUeiVSvd8UDzs+IPiiSFqhRAUgdKkgLMT3/606zMQFr+X6j6sgFpJva8evvtt7OjuaXSD2lD41ml0pz1r8/8OKdr619vrnsCAOWtEnPUvGaWpqSOpDQY9+CDD8YxxxyTzcxPHXdpwG7q1Kmz/X4q35UqGvzud7+L22+/PSu5ldq46667xtdffz3b/c8444y477774oorroiNNtoou2eqlDCz9NoJJ5yQdWilUl2p7NaBBx6YlUt/8sknv/PzAwClJ0PNPUPl6/DDD8+2lbnyyitj2223zb7D+vvWSyVQU9ZK75kqL4wYMSJOO+20bDAyTaQCKAYDf1AEKQikUJWC1ltvvRWvv/56dvTq1SvGjx+fBZJ81c98qi95Wb+/SzlJpRXqyyzMrL4Dqr70Qv3jnK6duURDc9wTAChflZqj5jWzzMnJJ5+c7WE8dOjQrMx5Kl+eZoinc0nasziZMGFCbLrpptG7d++so2mnnXbKZqOnVYCpDNfw4cNnu3caJPzRj34U+++/f9Z5lUqD7rvvvt/5mdJ9kwceeGAevwUAoFRkqLlnqEKkPQ379u0b++yzT9x1111Z+c4ddtghcrncXH/viCOOyAYlZSigWAz8QRE89NBDWamCFLhWXnnlhiPN/klm3lj5u2YwpTrhM1+XQkf9nnblJpU3qC+5ObP6c0suuWTDdTOfn/Xa+uua654AQPmq1ByVskjaQ2bWjqBZM8ucpBKcl19+eVbO6tFHH43XXnstK8+ZBvpSx9FKK62UXZcG+FLn3cxlPpPNN98865SbtdRVU++TfvfWW2/9zhnwyyyzTPaY9vQBAMqbDDX3DDU//OQnP8n2S0yl0OcmDVYutthiMhRQNAb+oAhSmOrcuXPcfPPNsx1pY+XbbrutIVwtscQS2YbDKZg0JZ1Pry+++OIN9dlTeafrr7/+e5VpaA5pNnkKP/UlIOo99dRTDa8na621Vjb76tlnn210XSqX8Pzzzzdc11z3BADKV6XmqJQ1UidZ/R44c8os3yWV50or+tKM9dTGtDdMmqlfP1s9Dfols7Y/dZalc7OW8GxK+v7S9d81a//NN99s+J4BgPImQ809Q80P9d9fGlScm5SxPv74YxkKKJ4c0KwmT56cW3jhhXP7779/k6//85//TFOYcjfccEPDuf79++c6dOiQe+eddxpdm56ne6XXZ3bGGWdk9/jNb36TmzFjxmzvcfXVV+eeeuqphuevv/56duTjo48+yt7jhBNOmOPrr776am7SpEkN55588snsd84888yGc19//XVupZVWyvXq1avR72+zzTa5bt265SZOnNhw7vLLL89+/x//+Eez3hMAKE+VnKPefffdXOvWrXOHHHJIw7l0/0033TS31FJL5aZNm9Zw/v33389y1NSpU+d6z/q23nLLLQ3n0s9NZbTbb789O59+p9748eNnu+dnn32WW2aZZbKj3oQJE7J8NbPU9p/+9KfZPUePHv2dnx8AKB0Z6rsz1KzWXHPN3Oabb97ka01lqPSeP/jBD3Jt27bNffHFF9m5r776qlEfVL2jjjoqe/9bb711ru0EmF9aFXGMEWrS3/72t2xmz6zll+pttNFG2YyfNBMrbbCcnH766dn5H/zgB3HQQQfFcsstl22AfOmll2b11NPrMzvqqKNizJgx8ac//SkefvjhrNRA165ds9IIt99+e7ZvyxNPPNFw/VZbbZU9zsumyldffXW88847DWUdUpmEU089Nft57733ju7du2c/Dxs2LE466aTs/fv06ZOdSzOpdt1112xD5Q8//DArp5A2QE7ve8UVVzR6n7TR8Q9/+MOsLFX6zO+99172ebbeeuvYZpttGq5rjnsCAOWpknPU0ksvHYcffniceeaZ8c0330TPnj2z+z322GNZe1u2bNlwbco1Kc+k/XdSe5NrrrkmK+O52WabZTPT054wN910U/z85z+PAQMGNPxu2ldmzTXXzPazSZktffa0f0/KZqlUVv1+Nsm2226btSvlqbQCYOzYsdkegKkU1o033thw3XPPPZetBEhHylppNntaFZDKhqbvNH23AED5kqG+O0PV93GlI/noo49i0qRJDX1e6ffTkfziF7/IKk+l50sttVT2GVNb/v3vf2efv34VYTq//vrrZxmqvhxqKjN69913Z/1QaS9mgKKYb0OIQJN22GGH3IILLthoJdys9t1332w208cff9xwLs1YSrOqO3funGvVqlX2uPvuu2fn5yTNXNp6661znTp1yn4nrXZL93jkkUcaXde9e/fsmBdptlP6q6Kp4+GHH264Ls0yn/Vc/WynI488Mte1a9fcAgsskOvZs2funnvuafK9HnvssdwPf/jD7PtaYoklstldTc2Uao57AgDlp9Jz1PTp03Onn356dn2bNm2ymeTXXHPNbNcNHDgwy1FvvfVWw7k0Q36zzTbLLbrootl3sO666+YuvvjiJmfUf/rpp7kjjjgit8oqq2TZaPHFF88+75tvvtnoumHDhuU22WST7PX0GVM2St/xo48+2ui69Hu77rprbrnllsveu127drkePXrM8f0BgPIiQ81bhqrvy2rqmLmawvXXX5/r27dvrkuXLtlnTPdOz++4447ZKin87Gc/y6pSpfyUcllqe/os37UqEWB+qkv/X3GGGAEAAAAAAIDm0qLZ7gwAAAAAAAAUjYE/AAAAAAAAqAIG/gAAAAAAAKAKGPgDAAAAAACAKmDgDwAAAAAAAKqAgT8AAAAAAACoAq2iCrVd/9BSNwGq1mfPDCt1E6BqLdiquv6t/Opf/r6oRHIUNJ9Pn/b3IjSXtq2r599KGaoyyVDQfD55+vxSNwGqVrvWdUV7L31RxWPFHwAAAAAAAFSBqlzxBwB8hzpzfwAACiJHAQDkT4YqGt80AAAAAAAAVAEr/gCgFtUVr4Y7AEBVkaMAAPInQxWNFX8AAAAAAADUhCFDhkTPnj1j4YUXjs6dO0f//v3jtddea3RNnz59oq6urtFx8MEHN7pm7Nixsf3220e7du2y+xx11FExbdq0KDUr/gCgFqmrDgBQGDkKAKCiM9TIkSPjkEMOyQb/0kDdscceG1tvvXW88sor0b59+4brDjzwwDj55JMbnqcBvnrTp0/PBv26du0aTzzxRHzwwQexzz77ROvWreP000+PUjLwBwAAAAAAQEWbMmVKdsxsgQUWyI6Z3XPPPY2ejxgxIluxN3r06Nhss80aDfSlgb2m3HfffdlA4QMPPBBdunSJ9dZbL0455ZQ4+uij48QTT4w2bdpEqZTPECsAUNy66s19AABUIxkKAKAs+6JSCc+OHTs2OtK57zJhwoTssVOnTo3OX3vttbH44ovHWmutFcccc0xMnjy54bVRo0bF2muvnQ361evXr19MnDgxxowZE6VkxR8AAAAAAAAVLQ3ODR48uNG5WVf7zWrGjBlx+OGHx8Ybb5wN8NXbc889o3v37rHkkkvGiy++mK3kS/sA3nrrrdnr48aNazTol9Q/T6+VkoE/AKhFZVRXHQCgoshRAABlmaGaKuv5XdJefy+//HI8/vjjjc4fdNBBDT+nlX3dunWLrbbaKt54441YccUVo5xJqwAAAAAAANSUQw89NO666654+OGHY+mll57rtb169coeX3/99ewx7f03fvz4RtfUP5/TvoDFYuAPAGqRPf4AAAojQwEAVHRfVC6Xywb9brvttnjooYdi+eWX/87fef7557PHtPIv6d27d7z00kvx4YcfNlxz//33R4cOHWKNNdaIUlLqEwAAAAAAgJpwyCGHxHXXXRd33HFHLLzwwg178nXs2DHatm2blfNMr2+33Xax2GKLZXv8HXHEEbHZZpvFOuusk1279dZbZwN8e++9dwwdOjS7x3HHHZfdO99yo/ObgT8AqEX2pgEAKIwcBQBQ0Rnqoosuyh779OnT6Pzw4cNj3333jTZt2sQDDzwQ55xzTkyaNCmWWWaZGDBgQDawV69ly5ZZmdBBgwZlq//at28fAwcOjJNPPjlKzcAfANQiZaQAAAojRwEAVHSGyuVyc309DfSNHDnyO+/TvXv3uPvuu6PclM8QKwAAAADzbMiQIdGzZ8+sRFXnzp2jf//+8dprrzW6Js1kr6ura3QcfPDBja4ZO3ZsbL/99tGuXbvsPkcddVRMmzatyJ8GAID5wYo/AKhFZVReAQCgopRRjkoz0dM+MmnwLw3UHXvssdl+M6+88kpWbqregQce2KjsVBrgqzd9+vRs0K9r167xxBNPxAcffBD77LNPtG7dOk4//fSifyYAoEqVUYaqdgb+AAAAACrQPffc0+j5iBEjshV7o0ePjs0226zRQF8a2GvKfffdlw0Upn1sunTpEuutt16ccsopcfTRR8eJJ56Y7XEDAEDlMMQKALVaV725DwCAatTMGWrKlCkxceLERkc6Ny8mTJiQPXbq1KnR+WuvvTYWX3zxWGutteKYY46JyZMnN7w2atSoWHvttbNBv3r9+vXL3nfMmDHz7WsDAGqcvqiiMfAHAAAAUEb7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zu3x7rjPStR6qHyffvpJTJ48OYZfcVn8cJNN46JLr8j2/0slQZ99pvEKc6DKSn0edthhseuuu8bFF188W23XNGPt4IMPzq4ZNep/q8DmddPrll16RutuGzZLu8nPOcfsFmuu1C222u/sJl9fcIHW8dNtN4gzLrun6G0DqGXqqlc2Oap2c1TaBzm54q+Px9V/ezL7+YXX3os+G64aA3fqHcef/7eStRegVpRTjrrooouyxz59+jQ6P3z48Nh3332zn88+++ysAsiAAQOyAat+/frFhRf+ryxiy5YtszKhgwYNygYE27dvHwMHDoyTTz45qo0MVdt9UX+59Z8NP495/f344OOJcc+lv8omVr313sdxyq92jNfeGh833P1MCVoN1bXiL+mzxZbxs32+/bdo1dVWjxee/1fcctMNsUFPf1fWqnLKUNWuZCv+0iyyI444osn/sdO59Nrzzz8/T5teT5gwodHRqkuPZmo1+Tj76F1ju03Xin4Hnhf//fDzJq/Zue960W7BNnHtXbPsJ/DJxOi82MKNznXu9O0M9fEff7vyD2jaoossmv3H+yeffNLofHq++OLfrhSBcpI6Tnr27JnNUu/cuXP0798/K0E1s6+//jqbdZ5WXiy00EJZx1X93jP1Usmq7bffPtq1a5fd56ijjopp06ZFNZKjajdHffDRtzno1TfHNbr+tbfGxTJdF23IUUt0apyjWrZsEZ06tJOjYB4tvvi3K2hnzVOffvJJLCZPUUbSYFVTR/2gX7LgggvGBRdcEJ9++mlMmjQpbr311tn27uvevXvcfffd2QqNVO7yrLPOilatSjZXvNnIUNVvXvqi6j3z0tvZ44rLfPt3/uY9V4ld+q4fXzxzbnb845LDsvPvPXxGHHfwdkVoPVSHRRddNPs3ZIUVV2p0foUVVoxxHzRdEQ6okoG/pjaPnll6rUuXLt95n1R2ItWdn/moa9FyPreWQoLWjluuG9v84rx45/3G/7E8s337/zD+PvKl+PizLxudf+rFt2KtlZbM9rGpt9VGq8WEL76araMLaKx1mzax+hprxlNPjmo02+qpp0bFOuuuX9K2UT5Sx0ZzH/Nq5MiR2aDek08+me0n880332Qlp1LHVL3UCXPnnXfGzTffnF3//vvvxy677NLweipvmwb9pk6dGk888URceeWVMWLEiDj++OOjGslRtZuj0vP3P/w8Vlmuc6PzK3XvHGM/+LQhRy3aoV22j3K9Pj1XyVYLPvPyO0X6FFDZllp66Wzw7+mZ8tSXX34ZL734QqwrT9W8cslQ5E+Gqm7z2hdVb91Vl84ex308IXvc48jLY8OfDoleu5+RHYNOvi473/eAc+KSGx9t5tZD9Wjduk2sseZa8c5b/9vWKXnn7bej25JLlqxdlF459UVVu5JN3zryyCPjoIMOyurLb7XVVg3BKs3eT5tOX3bZZdkMMyqzpEIq37nrEZfGl5O+ji7/f+XehC+/jq+nfNNw3QrLLB6b/GDF6H/Yt6VJZvbAqFezAb4rTh0Yvz/39myvmhMO+XFcctOjMfWb6ly9AfPT3gP3iz8ce3SsueZasdba68Q1V1+Z7fPRf+f/DZRAc0ulpNIxayfJrHvF3HNP43LPacAurdhLGSHtuZJmUF9xxRXZ3jVbbrllQ/mq1VdfPRssTPvT3HffffHKK6/EAw88kGWK9dZbL0455ZQ4+uij48QTT4w2bdpENZGjajtHnX3lA3HcwdvHS//336zM58926BWrLtcl9jzqiuz1VKLq3n+OiQv+sGf86rQbonWrlnH273aLm+99Lj746NuOLSBi8uRJ2Wrxev/973vx73+/mu311a3bkrHX3vvEZZdeFMt27x5LLbV0XDDs3Fiic+dsjxqgMslQtZuhUjnP9Pq9j4+JTz6fFGuvslQM/c0u8djo/8TL/3k/uzaV+5zZYot8Oxn932+OiwlffrtvJvC/HPXuLDnqtX+/Gh3+f44auN8BcfSRg+MHG2wQG2zYK554/LF4dOTDcdnwq0rabqgVJRv4SzP7U8m5VGs+1ZZPM/WTVJ6uR48eWaffbrvtVqrm8T38YrfNssf7Lz+80fkDj786rrnzqYbnaR+a/47/PB4Y9e/Z7jFjRi4G/PqiOPfY3eOREb+JSV9PiWvvfDpOvujvRfgEUPm22Xa7+OzTT+PCYefFxx9/lNVSv/CSy5WmokExJkE1tffJCSeckA3EzU0a6Es6deqUPaaOmbQKsG/f/3W0rrbaarHssstm+6+kgb/0uPbaazeaoZ32r0l71YwZMybWX7+6VmfIUbWdo4Zd90i2T/LQ3wyIRTu2ywYAfzxoWKPOqv2OvTIb7Lv7ksOyXHX7g8/Hb4beXORPA+VtzMsvx4H779Pw/E9Dh2SPO+y0c5xy2hmx7/4HZhOnTjnx+Pjii4mx/g96xIUXXz7bBBZqj8nklUuGqt0M9c0302LLXqvGoXtuEe3bton3xn+W5aMzLr+3RC2GyvZKlqMGNjz/09AzsscdduofJ592RmzZ90fx++NPjL9cfmkMHXJadF9u+Tjz7POyPEXtkqGKpy6Xir+XWOrM+/jjbzsqUgBr3br197pf2/UPnU8tA2b12TPDSt0EqFoLFnE6zkpH/qPZ32PMaVvO04q/maWytDvuuGN8/vnn8fjjj2fn0kq//fbbb7Z7bbjhhrHFFlvEH//4x2zm9jvvvBP33vu//3BPe9S0b98+269m2223jWolR0Hl+PRpOQqaS9vv989fWeWo18+q3txSTmQoqByfPH1+qZsAVatd67qq6ouSo75VFjs1p3DVrVu3UjcDAGpGMeqef9cg35xmYb/88ssNg358NzkKAIrL/jHVQYYCgOKSoYqnRRHfCwBgjg499NC466674uGHH46ll1664XzXrl1j6tSp2SrAmaW9WNJr9dek57O+Xv8aAAAAANQCA38AUIPSJKvmPuZVqjqeBv1uu+22eOihh2L55Zdv9HrabyXNyH7wwQcbzr322msxduzY6N27d/Y8Pb700kvx4YcfNlxz//33R4cOHWKNNdaYH18ZAECmXDIUAEAlKae+qGpXFqU+AYDaLa+QynumffzuuOOOWHjhhWPcuHHZ+Y4dO0bbtm2zxwMOOCAGDx4cnTp1ygbzDjvssGywb6ONNsqu3XrrrbMBvr333juGDh2a3eO4447L7p1vuVEAgErJUQAAlUKGKh4DfwBASV100UXZY58+fRqdHz58eOy7777Zz2effXa0aNEiBgwYEFOmTIl+/frFhRde2HBty5YtszKhgwYNygYE27dvHwMHDoyTTz65yJ8GAAAAAErHwB8A1KBymmSVSn1+lwUXXDAuuOCC7JiT7t27x9133z2fWwcAUL45CgCgUshQxWOPPwAAAAAAAKgCVvwBQA1q0cI0KwCAQshRAAD5k6GKx4o/AAAAAAAAqAJW/AFADVJXHQCgMHIUAED+ZKjiseIPAAAAAAAAqoAVfwBQg+pMswIAKIgcBQCQPxmqeKz4AwAAAAAAgCpgxR8A1CCTrAAACiNHAQDkT4YqHiv+AAAAAAAAoApY8QcANUhddQCAwshRAAD5k6GKx4o/AAAAAAAAqAJW/AFADTLLCgCgMHIUAED+ZKjiseIPAAAAAAAAqoAVfwBQg0yyAgAojBwFAJA/Gap4rPgDAAAAAACAKmDFHwDUIHXVAQAKI0cBAORPhioeK/4AAAAAAACgCljxBwA1yCQrAIDCyFEAAPmToYrHij8AAAAAAACoAlb8AUANUlcdAKAwchQAQP5kqOKx4g8AAAAAAACqgBV/AFCDTLICACiMHAUAkD8ZqngM/AFADVJeAQCgMHIUAED+ZKjiUeoTAAAAAAAAqoAVfwBQg0yyAgAojBwFAJA/Gap4rPgDAAAAAACAKmDFHwDUIHXVAQAKI0cBAORPhioeK/4AAAAAAACgCljxBwA1yCQrAIDCyFEAAPmToYrHij8AAAAAAACoAlb8AUANUlcdAKAwchQAQP5kqOKx4g8AAAAAAACqgBV/AFCDTLICACiMHAUAkD8Zqnis+AMAAAAAAIAqYMUfANQgddUBAAojRwEA5E+GKh4r/gAAAAAAAKAKWPEHADXIJCsAgMLIUQAA+ZOhiseKPwAAAAAAAKgCVvwBQA1SVx0AoDByFABA/mSo4rHiDwAAAAAAAKqAFX8AUIPMsgIAKIwcBQCQPxmqeKz4AwAAAAAAgCpgxR8A1CCTrAAACiNHAQDkT4YqHiv+AAAAAAAAoApY8QcANUhddQCAwshRAAD5k6GKx8AfANQgWQsAoDByFABA/mSo4lHqEwAAAAAAAKqAFX8AUIOUVwAAKIwcBQCQPxmqeKz4AwAAAAAAgCpgxR8A1CCTrAAACiNHAQDkT4YqHiv+AAAAAAAAoApY8QcANaiFaVYAAAWRowAA8idDFY8VfwAAAAAAAFAFrPgDgBpkkhUAQGHkKACA/MlQxWPFHwAAAAAAAFQBK/4AoAbVmWYFAFAQOQoAIH8yVPFY8QcAAAAAAABVwIo/AKhBLUyyAgAoiBwFAJA/Gap4rPgDAAAAAACAKmDFHwDUIHXVAQAKI0cBAORPhioeK/4AAAAAAACgCljxBwA1yCQrAIDCyFEAAPmToYrHij8AAAAAAACoAlb8AUANqgvTrAAACiFHAQDkT4YqHiv+AAAAAAAAoApY8QcANaiFSVYAAAWRowAA8idDFY8VfwAAAAAAAFAFrPgDgBpUV2eaFQBAIeQoAID8yVDFY+APAGqQrAUAUBg5CgAgfzJU8Sj1CQAAAAAAAFXAij8AqEEtTLMCACiIHAUAkD8Zqnis+AMAAAAAAIAqYMUfANQgk6wAAAojRwEA5E+GKh4r/gAAAAAAAKAKGPgDgBpUV1fX7AcAQDWSoQAAKr8v6tFHH40ddtghllxyyex3b7/99kav77vvvrPdf5tttml0zaeffhp77bVXdOjQIRZZZJE44IAD4ssvv4xSM/AHAAAAAABAzZg0aVKsu+66ccEFF8zxmjTQ98EHHzQc119/faPX06DfmDFj4v7774+77rorG0w86KCDotTs8QcANchkcgCAwshRAACVn6G23Xbb7JibBRZYILp27drka6+++mrcc8898cwzz8QGG2yQnTv//PNju+22i7POOitbSVgqVvwBAAAAVKBqLlEFAJCvKVOmxMSJExsd6VyhHnnkkejcuXOsuuqqMWjQoPjkk08aXhs1alSWneoH/ZK+fftGixYt4qmnnopSMvAHADWoRV1dsx8AANWonDJUNZeoAgCqSzH6ooYMGRIdO3ZsdKRzhUgZ6qqrrooHH3ww/vjHP8bIkSOzFYLTp0/PXh83blw2KDizVq1aRadOnbLXSkmpTwAAAIAykWalzzozPZWZSkctlagCAMjXMcccE4MHD250rqkMNS923333hp/XXnvtWGeddWLFFVfMVgFutdVWUc6s+AOAGlRXhCMfylQBAJWiuTPU/JypXsklqgCA6lKMvqg0yNehQ4dGR6EDf7NaYYUVYvHFF4/XX389e54mVn344YeNrpk2bVrWPzWnSVfFYuAPACg5ZaoAAP43U33ChAmNjnSu1kpUAQCUk/feey+bQNWtW7fsee/evePzzz+P0aNHN1zz0EMPxYwZM6JXr14lbKlSnwBQk9KKueamTBUAUI2aO0fNKS/VWokqAKC6FKMvKh9ffvllw+q95K233ornn38+mwCVjpNOOikGDBiQ9UW98cYb8dvf/jZWWmml6NevX3b96quvnk2yOvDAA+Piiy+Ob775Jg499NAsf5W6H8qKPwCgWShTBQBQXiqpRBUAQHN69tlnY/3118+OJO0NmH4+/vjjo2XLlvHiiy/GjjvuGKusskq2nUyPHj3iscceazRB69prr43VVlstm1CVJp9vsskmcemll0apWfEHADWoRV1lbaicZlDtsssusfzyy2ezrI499thshWAa8EthTJkqAKCaclQpSlSlzqxyKlEF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zPZT3mWXXebv9wEAMC/0RRWNPf4AAAAAykTa0zgdM1tggQWyoymtWrWKrl27znZ+woQJccUVV8R1110XW265ZXZu+PDhsfrqq2f7KW+00UbN9AkAACglK/4AoAbVFeH/AQBUo+bOUEOGDImOHTs2OtK5OfnPf/4TSy65ZKywwgqx1157xdixY7Pzo0ePjm+++Sb69u3bcG0qA7rsssvGqFGjivJdAQDU0xdVPFb8AQAAAJSJY445JgYPHtzo3JxW+/Xq1StGjBgRq666albm86STTopNN900Xn755Rg3bly0adMmFllkkUa/06VLl+w1AACqk4E/AKhBdSZBAQCUZY6aW1nPWW277bYNP6+zzjrZQGD37t3jpptuirZt2zZjKwEA8qMvqniU+gSAGmQ/ZQCAwpRzhkqr+1ZZZZV4/fXXs33/pk6dGp9//nmja8aPH9/knoAAALXSF3XiiSdGXV1doyOVRK/39ddfxyGHHBKLLbZYLLTQQjFgwIAsQ1UKA38AAAAAVeDLL7+MN954I7p16xY9evSI1q1bx4MPPtjw+muvvZbtAdi7d++SthMAoNTWXHPNrFR6/fH44483vHbEEUfEnXfeGTfffHOMHDky3n///dhll12iUij1CQC1yJI8AICKz1FHHnlk7LDDDll5z9QhdcIJJ0TLli1jjz32iI4dO8YBBxyQ7RfYqVOn6NChQxx22GHZoN9GG21U6qYDALWmjDJU0qpVqyarIEyYMCGuuOKKuO6662LLLbfMzg0fPjxWX331ePLJJysiRxn4AwAAAKhA7733XjbI98knn8QSSywRm2yySdYhlX5Ozj777GjRokVWnmrKlCnRr1+/uPDCC0vdbACAZpHyzpQpU+Zp/+T//Oc/seSSS8aCCy6YTYwaMmRILLvssjF69Oj45ptvom/fvg3XpjKg6bVRo0YZ+AMAylNduU2zAgCoEOWUo2644Ya5vp46si644ILsAACo9gyVBu9OOumkRudSRYS0p9/MevXqFSNGjIhVV101K/OZfmfTTTeNl19+OcaNGxdt2rTJ9k6eWZcuXbLXKoGBPwAAAAAAACraMccck5U5n1lTq/223Xbbhp/XWWedbCAwlU6/6aabom3btlHpDPwBQA2qK5+J6gAAFUWOAgAozww1p7Ke3yWt7ltllVXi9ddfjx/96EcxderU+Pzzzxut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Mr6KxxSrrComSp8hvW9a56+6CVGpFSgAAAANj4o/Strvfve7GDdu3Ar7TzjhhLjwwgtj/PjxWZLvJz/5Sbbmyq9//etYuHBhXHLJJZXnpraSqaLvu9/9bhx99NHRo0ePbK25dBMqzUDv3r17dsMq3bg68MADs8RQqgxLx1Lybt68eWs87pR4Su+51157ZeM76qijomfPntkNrJSYfOGFF+Lkk0+OQw45pPI1aT3C3r17x6hRo7LxtWnTJmuZtXjx4hWunz7D7bffHiNHjowdd9wxa1nVv3//1RpbSjCm7y69T0qapiRbmk2ePnNKjh577LFxyimnRE1Lidi09l/6s0mz5dPaen/729+qrAdU4aKLLsqO7bbbbtl4UuvU1EbszjvvjKeeeirWXXfdrFVouiH2i1/8IkvoNWvWLPbcc8+s6iB9tnSzL7UQPeCAA7IZ9OnGYvquUrssAOCrS7FUSuylf2urk+KaVLWWqgIPPvjgLBa76qqrsiRYikfGjh27whp1FXFOcvzxx0e/fv2yf+9TzJRinbSW4M9+9rMshkkxXIoX0kSwE088sXISVW3EOkcccUTWySHFXs8991zssssuMX/+/KzCL8WhAwYMWO3xpRjm+9//fhabpBhmp512yroiTJ06dYX3TZPIHnvssWzNxGOOOSaLTVOcmGLJ9N7pZwAAABqYHJSgm266KU2dXun29ttvZ+e98MILuX79+uXWXnvt3FprrZXbY489ck8//fQK15szZ05u+PDhuQ022CDXtGnT3IYbbpgbMmRI7oMPPsiOL126NHfRRRflunTpkmvWrFluhx12yI0dOzY7J+1bVnr/c845Z7U+x+zZs3MjR47Mbb755tl111133Vzfvn1zDzzwQLXnT5s2LTuezu3QoUPujDPOyI0fPz57z8cee6zyvHnz5uUOPfTQ7HrpWMUYp0+fnj1P31+FNNbq/lNy991353beeedcy5Yts61bt2654447LjdlypTKc3bbbbfc1772tdX6rMu+1/vvv1/t8XfeeSd34IEHZuNu3bp17rvf/W7u3XffrfY7/c9//pM74ogjcu3atcu+j0033TQb38KFCyvP+c1vfpPtb9So0Qrf0dVXX519piZNmmTf5bBhw3IfffRRlfdY088HAPyf/v3755o3b56bP3/+Ss858sgjs3+LU8yV4oPBgwdnMdt6662X+9GPfpR75ZVXVohdFi9enBsxYkQWA5SVlVWJYz799NPcSSedlOvcuXN23S222CJ36aWXZrFcTcY61cWACxYsyP3sZz/Lde3aNXvvjh075g466KAsflvT8X322We5448/Prf++utnY0vfZYpvq4uJZs2alY17o402qnzfvfbaK3fDDTdUnpNioPTaO++8c6V/FgAAABSGsvT/6jv5CAAAAAAAAHw11vgDAAAAAACAIiDxBwAAAAAAAEVA4g8AAAAAAACKgMQfAAAAAAAAFAGJPwAAAAAAACgCEn8AAAAAAABQBCT+AAAAAAAAoAhI/EEdu/baa6OsrCx69epV7fG33norO37ZZZdVezztT8fTecu79957Y9999422bdtG06ZNo3PnzvG9730vHn300bzHu3Tp0rjkkkuia9eu0bx589huu+3itttuW6NrPPzww7HnnntG69atY5111okePXrE7bffXuWcefPmxYknnhgbbrhhNGvWLLbeeuu47rrrvvTaxxxzTPZ9fOc736myf86cOXHppZfGrrvuGu3atYt11103evfuvcL7AgANR6nFUePHj4+dd9451lprrVhvvfXioIMOqnbsaxJHre41N9lkk+y7Wn778Y9/vIbfAgAAAHWpcZ2+GxC33nprdiPlueeei6lTp8bmm2/+la+Zy+Xi6KOPjptvvjl22GGHGDlyZHTs2DHee++97CbWXnvtFX//+99jp512WuNr/+xnP4uLL744S7DtuOOOcf/998ehhx6a3fg55JBDvvT1N910UwwdOjS+/e1vx0UXXRSNGjWKKVOmxNtvv115zpIlS6Jfv34xadKkOO6442KLLbaIhx56KH7yk5/ERx99FGeccUa1107np8+cbqQtb+LEidnY99tvvzjzzDOjcePGcffdd2djfu211+K8885b4+8CAKhfpRRHjR07NgYMGBDf+MY3smvMnTs3fvWrX2VJu3/84x/ZxKY1jaNW95oVtt9++zj55JOr7Ntyyy3X+HsAAACgDuWAOvPmm2/m0q/dPffck2vXrl3u3HPPXeGc6dOnZ+dceuml1V4j7U/H03nL7zvxxBNzS5cuXeE1v//973PPPvvsGo/3nXfeyTVp0iR33HHHVe5L199ll11yG264YW7x4sWrfH0aY4sWLXLHH3/8Ks+74447svHfeOONVfYPHjw417x589ysWbNWeE0aR58+fXJHH310rkuXLrn9999/he/6rbfeWuE1e+65Z65Zs2a5efPmrXJMAEBhKbU4aptttsltvvnmuYULF1bue/HFF3Pl5eW5kSNH5hVHre41k+riKwAAAAqfVp9Qx7PUU0ul/fffP2urlJ5/VZ999lmMHj06unXrVtm+anmHH354fPOb36x8Pm3atGz7MmlW+qJFi7IZ4xXS9YcNGxbvvPNOVlW3Ktdff302C/3888+vbEOVZtUv78knn8wel5/5np5//vnn2TiW94c//CFeeeWV+PnPf17te6eWWl26dKmyL4194MCBsXDhwnjzzTdXOXYAoLCUUhz14YcfZh0KDjzwwKztaIXu3btnbTz/9Kc/rXEctSbXXNYXX3wR8+fP/9LPCwAAQGGQ+IM6lG5QDRo0KLvZ8v3vfz/eeOONeP7557/SNZ966qnsRk5qG5XaaK6O1LIqbV8mtXxq2bJldjNoWRU3v9LxL1vbL91Ie/DBB7M1Z9L6fuuvv36cddZZ2Zo3FVIiLo192ZtQSVp7Jpk8eXKV/Z9++mmcfvrpWeuq1IprTcycOTN7TOv3AAANRynFUSk2Slq0aLHCsRQfvfvuu5UxzerGUWtyzQppfcN0bO21185arKa2oAAAABQ2iT+oI+mmy7/+9a/K2dhpLZWUDPuqs9Vff/317HHbbbeNmpbWtunQocMKs987deqUPaYbRKuSbsiltfyOOuqobO2cu+66K/bdd9+48MILszVvKmy11VZZZeAzzzxT5fUVM9j/+9//VtmfKgjTTauTTjppjT5PurH329/+NnbZZZfKzwAAFL5Si6PS69Zdd91sbcFlzZkzJ6vaWzY+Wt04ak2umWy33XZx7rnnZmsk33jjjbHxxhvHiSeemE2+AgAAoHBJ/EEdSTem0g2XPfbYI3uebgIdfPDBWVuldLMmX3Pnzs0eUzXd6nrrrbeybXXaXzVr1myF/c2bN688viqptedHH30U5513XpasGzx4cPY97LPPPtmM8VS5l6RZ9q1bt86Sg+PHj8/GdsMNN8S11167wvv8+9//zl576aWXVju2lUkVhocddlh8/PHHcdVVV6326wCA+ldqcVR5eXn86Ec/ikceeSRGjRqVTaZKyc/vfe97WevNZV+/unHUmlwzeeCBB+K0006LAQMGZNd+4oknol+/fvH//t//y1qVAgAAUJgk/qAOpBtS6cZUulk1ffr0mDp1arb16tUrZs2ald2AWVMVs8dbtWqVPVYk0WpSqqqraAu1rLReTMXxL3t9ktpxLSs9TzeWKlpcpXad6eZSeq+99947W5/v1FNPrUzQpfZSFU444YTYaaedsiTimhgxYkSMGzcuq/hLa9kAAA1DqcZRadLU0KFD45JLLoktt9wyevbsGY0bN872LRsfrUkctbrXXNl3lrotLF68OB5//PG8vhMAAABqn8Qf1IG0Pkpq95RuWm2xxRaVW5phnSzbpurLZoEvWLCgynlpDb3k5ZdfrvFxp1ZUaa2XXC5XZX/6LEnnzp1X+fqK42mG/rLat2+fPaZqwAq77rprvPnmm1kyMK23k1pN9e7dOzuWbkxVfI8peZeSfxWz7dOWbkCl7yv9XDFzf1mp4jDNer/44ovj8MMPz/PbAADqQ6nGUWnNvjRhKbUEnTBhQkyZMiUeeuih+OSTT7Lqvc0333yN4qg1vWZ1Ntpoo8r26QAAABSmxvU9ACgF6YZUSnZdc801Kxy755574t57743rr78+m/ndrl27WGuttbIbMdVJ+9Pxtm3bVq5xs95668Vtt90WZ5xxRjRq1KjGxr399ttnN4fS+jfbbLNN5f5nn3228viq9OjRI2sjlW4+bbrpppX7K9a0SZ91WWnsy17z4Ycfzh779u2bPc6YMSN7HDRo0Arvld4jzXC//PLLs/VnKqTvPK1PY00aAGiYSjWOqpAmUFVMokrVj6naLlU7Ll+d92VxVD7XXF5KLlYXwwEAAFBAckCtWrBgQW6dddbJHX300dUe//vf/56mgef+9Kc/Ve4bOHBgrlWrVrn//Oc/Vc5Nz9O10vFlXXzxxdk1Tj755NzSpUtXeI8//OEPuWeffbby+dSpU7Pty7z99tu5Jk2a5I477rjKfen6u+yyS26DDTbILV68uHL/u+++m3v99ddzX3zxReW+e++9NxvXGWecUblvyZIluZ133jnXpk2b3Oeff77S9549e3Zu4403zm233XbZayo+f7rm8lu7du1yPXv2zH5e9nOl77S8vDx32GGHVfu9AACFrZTjqOpUjPWuu+5a5XnVxVFrcs05c+ZUGV+Sxvatb30r17Rp09x77723ymsCAABQf1T8QS1La66kdWMOOOCAao+nNkxp1nSazX7wwQdn+y666KJs/ze+8Y049thjY5NNNsnaWN5www3Z+irp+LLSOi6vvvpq/PKXv4zHHnssDjrooGy9l9Re6r777ovnnnsunn766crz99prr+wxXXNVNtxww6xS7tJLL41FixbFjjvumF3vySefzMa77Kz4UaNGxS233JKtvZPGmwwYMCB7r9GjR8cHH3yQra2XXp9aUP3617+OZs2aVb5+t912iz59+mQtptK402edN29ejB07Nms9lWy88cbZtrw0xjRrfeDAgZX70mc+4ogjYv3118/GsGwbsCStE7hsFSIAUHhKOY764x//GHfffXfWxjNV4qUKvjvuuCN++MMfrrDW8erEUWtyzfS9X3jhhdl3kToqpNaeY8aMiVdeeSX7/tL3AwAAQIGqx6QjlIT+/fvnmjdvnps/f/5KzznyyCOzGeEffPBB5b406/vggw/OtW/fPte4cePs8ZBDDsn2r0yaqb333ntn1XTpNZ06dcqu8fjjj1c5r0uXLtm2OtIs8Ysuuig7P83w/trXvpb74x//uMJ5Q4YMyWaLT58+vcr+Tz/9NHfCCSfkOnbsmL1+2223rfb1J510Um7TTTfNNWvWLKvgO/TQQ3PTpk1brTGmse2///5V9t10003ZeFa2peMAQGEr5TgqVRnuuuuuufXWWy/7Drp37567/vrrq61KXN04anWvOWnSpOy7T5WJadxrr7121rHhjjvuWK3PDQAAQP0pS/+vvpOPAAAAAAAAwFfzf31fAAAAAAAAgAZL4g8AAAAAAACKgMQfAAAAAAAAFAGJPwAAAAAAACgCEn8AAAAAAABQBCT+AAAAAAAAoAhI/AEAAAAAAEARaBxFqMUOw+t7CFC05jx7VX0PAYrWWk3Liurfys/+cXWtvwc1TxwFteej5/13EWpL88bF82+lGAoAgK9CxR8AAAAAAAAUAYk/AChFZeW1v62m0aNHx4477hjrrLNOtG/fPgYOHBhTpkypcs7uu+8eZWVlVbYf//jHVc6ZMWNG7L///rHWWmtl1zn11FNj8eLFNfaVAQBkCiSGAgCAkmn1CQB8ibK6ayv6ZZ544ok47rjjsuRfStSdccYZsffee8drr70WLVu2rDzvmGOOifPPP7/yeUrwVViyZEmW9OvYsWM8/fTT8d5778URRxwRTZo0iYsuuqjOPxMAUMQKKI4CAIDlSfwBAPVq3LhxVZ7ffPPNWcXe5MmTY9ddd62S6EuJver87W9/yxKFDz/8cHTo0CG23377uOCCC+L000+Pc889N5o2bVrrnwMAAAAA6pseEgBQiuqg1efChQtj7ty5Vba078t88skn2WObNm2q7L/11lujbdu28fWvfz1GjRoVCxYsqDw2ceLE2HbbbbOkX4V+/fpl7/nqq6/W6FcHAJQ4rT4BAChgIkoAoFaktftat25dZUv7VmXp0qVx4oknxre+9a0swVfh0EMPjT/+8Y/x2GOPZUm/P/zhD/GDH/yg8vjMmTOrJP2SiufpGAAAAACUAq0+AaAU1cHaNClBN3LkyCr7mjVrtsrXpLX+XnnllXjqqaeq7D/22GMrf06VfZ06dYq99torpk2bFptttlkNjxwAYBWs8QcAQAFT8QcA1IqU5GvVqlWVbVWJv+HDh8fYsWOzqr4NN9xwldfu1atX9jh16tTsMa39N2vWrCrnVDxf2bqAAAAAAFBsJP4AoBTVwRp/qyuXy2VJv3vvvTceffTR6Nq165e+5sUXX8weU+Vf0qdPn3j55Zdj9uzZleeMHz8+SzZus802eX1FAADVKpAYCgAAqqPVJwBQr1J7zzFjxsT9998f66yzTuWafGlNwBYtWmTtPNPx/fbbL9Zff/146aWX4qSTTopdd901tttuu+zcvffeO0vwHX744XHJJZdk1zjzzDOza39Ze1EAAAAAKBYSfwBQigpobZrrrrsue9x9992r7L/pppviyCOPjKZNm8bDDz8cV1xxRcyfPz822mijGDx4cJbYq9CoUaOsTeiwYcOy6r+WLVvGkCFD4vzzz6/zzwMAFLkCiqMAAGB5En8AQL1KrT5XJSX6nnjiiS+9TpcuXeLBBx+swZEBAAAAQMMi8QcApcj6MQAA+RFHAQBQwESrAAAAAAAAUARU/AFAKbI2DQBAfsRRAAAUMBV/AAAAAAAAUARU/AFAKbI2DQBAfsRRAAAUMNEqAAAAAAAAFAEVfwBQiqxNAwCQH3EUAAAFTMUfAAAAAAAAFAEVfwBQiqxNAwCQH3EUAAAFTLQKAAAAAAAARUDFHwCUImvTAADkRxwFAEABU/EHAAAAAAAARUDFHwCUImvTAADkRxwFAEABk/gDgFLkhhUAQH7EUQAAFDDRKgAAAAAAABQBFX8AUIrKy+p7BAAADZM4CgCAAqbiDwAAAAAAAIqAij8AKEXWpgEAyI84CgCAAiZaBQAAAAAAgCKg4g8ASlGZtWkAAPIijgIAoICp+AMAAABogEaPHh077rhjrLPOOtG+ffsYOHBgTJkypco5u+++e5SVlVXZfvzjH1c5Z8aMGbH//vvHWmutlV3n1FNPjcWLF9fxpwEAoCao+AOAUmRtGgCABh9HPfHEE3Hcccdlyb+UqDvjjDNi7733jtdeey1atmxZed4xxxwT559/fuXzlOCrsGTJkizp17Fjx3j66afjvffeiyOOOCKaNGkSF110UZ1/JgAAvhqJPwAAAIACsXDhwmxbVrNmzbJteePGjavy/Oabb84q9iZPnhy77rprlURfSuxV529/+1uWKHz44YejQ4cOsf3228cFF1wQp59+epx77rnRtGnTGvtsAADUvsKZpgYA1O3aNLW9AQAUo1qOoVL7ztatW1fZ0r7V8cknn2SPbdq0qbL/1ltvjbZt28bXv/71GDVqVCxYsKDy2MSJE2PbbbfNkn4V+vXrF3Pnzo1XX321xr42AADqhoo/AAAAgAKREnMjR46ssq+6ar/lLV26NE488cT41re+lSX4Khx66KHRpUuX6Ny5c7z00ktZJV9aB/Cee+7Jjs+cObNK0i+peJ6OAQDQsEj8AUApKqC1aQAAGpRajqNW1tbzy6S1/l555ZV46qmnquw/9thjK39OlX2dOnWKvfbaK6ZNmxabbbZZjYwZAIDC4a4fAAAAQAM2fPjwGDt2bDz22GOx4YYbrvLcXr16ZY9Tp07NHtPaf7NmzapyTsXzla0LCABA4ZL4A4BSZI0/AID8FFAMlcvlsqTfvffeG48++mh07dr1S1/z4osvZo+p8i/p06dPvPzyyzF79uzKc8aPHx+tWrWKbbbZZo2/HgAA6pdWnwAAAAANUGrvOWbMmLj//vtjnXXWqVyTr3Xr1tGiRYusnWc6vt9++8X666+frfF30kknxa677hrbbbdddu7ee++dJfgOP/zwuOSSS7JrnHnmmdm182k5CgBA/ZL4A4BSZI0/AIAGH0ddd9112ePuu+9eZf9NN90URx55ZDRt2jQefvjhuOKKK2L+/Pmx0UYbxeDBg7PEXoVGjRplbUKHDRuWVf+1bNkyhgwZEueff36dfx4AAL46iT8AAACABii1+lyVlOh74oknvvQ6Xbp0iQcffLAGRwYAQH2R+AOAUmQNPgCA/IijAAAoYIXTnwIAAAAAAADIm4o/AChFBbQ2DQBAgyKOAgCggIlWAQAAAAAAoAio+AOAUmRtGgCA/IijAAAoYCr+AAAAAAAAoAio+AOAUmRtGgCA/IijAAAoYBJ/AFCK3LACAMiPOAoAgAImWgUAAAAAAIAioOIPAEpRWVl9jwAAoGESRwEAUMBU/AEAAAAAAEARUPEHAKXI2jQAAPkRRwEAUMBEqwAAAAAAAFAEVPwBQCmyNg0AQH7EUQAAFDAVfwAAAAAAAFAEVPwBQCmyNg0AQH7EUQAAFDDRKgAAAAAAABQBFX8AUIqsTQMAkB9xFAAABUzFHwAAAAAAABQBFX8AUILKzFQHAMiLOAoAgEKm4g8AAAAAAACKgIo/AChBZqoDAORHHAUAQCFT8QcAAAAAAABFQMUfAJQiE9UBAPIjjgIAoICp+AMAAAAAAIAioOIPAEqQtWkAAPIjjgIAoJCp+AMAAAAAAIAioOIPAEqQmeoAAPkRRwEAUMhU/AEAAAAAAEARUPEHACXITHUAgPyIowAAKGQSfwBQgtywAgDIjzgKAIBCptUnAAAAAAAAFAEVfwBQikxUBwDIjzgKAIACpuIPAAAAAAAAioCKPwAoQdamAQDIjzgKAIBCpuIPAAAAAAAAioCKPwAoQWaqAwDkRxwFAEAhU/EHAAAAAAAARUDFHwCUIDPVAQDyI44CAKCQqfgDAAAAAACAIqDiDwBKkJnqAAD5EUcBAFDIVPwBAAAAAABAEVDxBwClyER1AID8iKMAAChgKv4AAAAAAACgCKj4A4ASZG0aAID8iKMAAChkKv4AAAAAAACgCKj4A4ASZKY6AEB+xFEAABQyFX8AAAAAAABQBFT8AUAJMlMdACA/4igAAAqZij8AAAAAAAAoAir+AKAUmagOAJAfcRQAAAVMxR8AAAAAAAAUARV/AFCCrE0DAJAfcRQAAIVM4g8ASpAbVgAA+RFHAQBQyLT6BAAAAAAAgCKg4g8ASpCZ6gAA+RFHAQBQyFT8AQAAAAAAQBFQ8QcAJchMdQCA/IijAAAoZCr+AAAAAAAAoAio+AOAUmSiOgBAfsRRAAAUMBV/AAAAAAAAUAQk/gCgRNemqe1tdY0ePTp23HHHWGeddaJ9+/YxcODAmDJlSpVzPv/88zjuuONi/fXXj7XXXjsGDx4cs2bNqnLOjBkzYv/994+11loru86pp54aixcvrrHvDAAgKZQYCgAAqiPxBwDUqyeeeCJL6j3zzDMxfvz4WLRoUey9994xf/78ynNOOumk+POf/xx33nlndv67774bgwYNqjy+ZMmSLOn3xRdfxNNPPx233HJL3HzzzXH22WfX06cCAAAAgLpnjT8AKEGFNJt83LhxVZ6nhF2q2Js8eXLsuuuu8cknn8SNN94YY8aMiT333DM756abboqtt946Sxb27t07/va3v8Vrr70WDz/8cHTo0CG23377uOCCC+L000+Pc889N5o2bVpPnw4AKDaFFEcBAMDyVPwBALVi4cKFMXfu3Cpb2vdlUqIvadOmTfaYEoCpCrBv376V53Tr1i023njjmDhxYvY8PW677bZZ0q9Cv379svd89dVXa+HTAQAAAEDhkfgDgBJUF2v8pbX7WrduXWVL+1Zl6dKlceKJJ8a3vvWt+PrXv57tmzlzZlaxt+6661Y5NyX50rGKc5ZN+lUcrzgGAFBTrPEHAEAh0+oTAKgVo0aNipEjR1bZ16xZs1W+Jq3198orr8RTTz1Vy6MDAAAAgOIj8QcApagOJpOnJN+XJfqWNXz48Bg7dmxMmDAhNtxww8r9HTt2jC+++CI+/vjjKlV/s2bNyo5VnPPcc89VuV46XnEMAKDGKMoDAKCAafUJANSrXC6XJf3uvffeePTRR6Nr165Vjvfo0SOaNGkSjzzySOW+KVOmxIwZM6JPnz7Z8/T48ssvx+zZsyvPGT9+fLRq1Sq22WabOvw0AAAAAFB/VPwBQAkqpPVjUnvPMWPGxP333x/rrLNO5Zp8aU3AFi1aZI9Dhw7N2oa2adMmS+aNGDEiS/b17t07O3fvvffOEnyHH354XHLJJdk1zjzzzOzaa1J1CADQkOIoAABYnsQfAFCvrrvuuuxx9913r7L/pptuiiOPPDL7+fLLL4/y8vIYPHhwLFy4MPr16xfXXntt5bmNGjXK2oQOGzYsSwi2bNkyhgwZEueff34dfxoAAAAAqD8SfwBQggpppnpq9fllmjdvHtdcc022rUyXLl3iwQcfrOHRAQAUbhwFAADLs8YfAAAAAAAAFAEVf9S4U47eOwbu2T223KRDfLZwUTz7zzfjZ7+6P974z+zKcx76zQmxa88tqrzuN3c9Fcf//E/Zz21at4ybfj4ktt1yg2jTeq14/8N5Mfbxl+Lsq/8cn87/vM4/ExSyyZOej9/ffGO89tqr8cH778f/u+Lq2GOvvpXHd9i2W7WvO3HkqTHkqKF1OFIKiZnq0DDjqI07tYkpD1bfwvawU2+Mex7+R/bzRh3Xi1+dcXDs1nPLmPfZwrj1z8/GWVc9EEuWLK3TzwMN0Z/G3Bq33HRjfPDB+7HlVt3ip2ecFdtut119D4sCIo4CAKCQSfxR43b5xuZx/e0TYvKr/4nGjRvFecP7x9jrhscOgy6MBZ9/UXnejXf/PS64bmzl8wWfL6r8eenSpTH2iZfivGvHxgcffRqbbtQurvjp9+Kq1i3jyDNurvPPBIXss88+iy237BYDDhwcJ584YoXj4x97ssrzvz85Ic4758zYq+/edThKAGoijnpn1kexSd9RVV5z9OBvxUlH9I2H/v5q9ry8vCzuuXJYzJozN/Y48pfRsV3r+O0Fh8eixUvinKv/XE+fDBqGcX99MC67ZHScec55se223ePWP9wSw340NO4fOy7WX3/9+h4eAADAl5L4o8YNGH5tlefHnvPHePvRi2OHbTaKv78wrXL/Z59/EbPmfFrtNT7+9LP4zZ1PVT6f8d5HccOdT2Y3tYCqdt5l12xbmbZt21V5/vhjj8aO3+wVG260UR2MjkJlpjo0zDhq6dLcCvHTAXt0j7vHvxDzP/vfBKu+fbaOrTftGPv/+KqY/eGn8dK//xvnX/uXuPD4AXHh9Q9mCUCgen+45aYYdND3YuCBg7PnKQE4YcLjcd89d8fQY46t7+FRIMRRAAAUMmv8Uetard08e/zokwVV9h+8X8/sRtakO8+I80ccEC2aN1npNTq1ax0D9tw+npz8Rq2PF4rZnA8+iKeefKLyZhYlrKwONqDW4qgKO2y9UWzfbaO45b6Jlft6bdc1Xpn6bpb0qzD+6dej9TotYpvNOtXBqKFhWvTFF/H6a69G7z47Ve4rLy+P3r13ipf++b82upARQwEAUMDqteLvgw8+iN/97ncxceLEmDlzZravY8eOsdNOO8WRRx4Z7dpVrVKpzsKFC7NtWbmlS6KsvFGtjZs1mwl56SkHxdP/mBavTXuvcv/tf50UM977MN57/5PYdovOceEJA2LLLu3jkFN+W+X1t4w+Mr6z23axVoumMfaJl2PY+WPq4VNA8fjzA/fFWmu1jD21+YQGTxxVunHUsoYM7BOvv/lePPPP6ZX7OqzfKmYvVxU4+8O5/zvWtlXElFoeODRQH338USxZsmSFlp7p+fTpb9bbuAAAABpExd/zzz8fW265ZVx55ZXRunXr2HXXXbMt/Zz2devWLSZNmvSl1xk9enT2mmW3xbMm18ln4MtdMep78bXNO8URP72pyv7f3fP3eHji6/Hq1HfjT3+dFEPP+kMM2Gv76Lph2yrnnXbZ3dHn0F/EQSf+OjbdsG384uRBdfwJoLjcf+/dse/+34lmzZrV91AogIRCbW/UHnFUacdRFZo3axIH79uzSrUfALVPDAUAQCGrt8TfiBEj4rvf/W68/fbbcfPNN8cvfvGLbEs/z5gxIw466KDsnC8zatSo+OSTT6psjTv0qJPPwKpdfvp3Y79dvh79jrky/jv741We+/zLb2WPm21UtTohrWHz77dmxV+eeDlGXHhb/Oh7u0bHNFMdWGMvTJ4Ub701PQ4c/N36HgrwFYmjit/qxFEH9t0+1mreNG4d+1yV/bPmzI32669TZV/7Nv+Ln2Z98L/KP2BF6627XjRq1CjmzJlTZX963rZt1QmKUCjSJJ4dd9wx1llnnWjfvn0MHDgwpkypWtr9+eefx3HHHZdVr6699toxePDgmDVrVpVzUvyw//77x1prrZVd59RTT43FixfX8acBAKBBJ/7++c9/xkknnVTtbLa0Lx178cUXv/Q6qWqlVatWVTbtqQrjZtUBe3aPfX50Zfzn3ar/w7k63bfaMHuc+cEnKz2nrPx/f1eaNqnXDrXQYN13z12x9TZfi6226lbfQ6EAqPhr2MRRxW1146gjB+6UTY764KN5VfY/+9L0+PrmnaPdemtX7turd7f45NPP4vU3/9cWFlhRk6ZNs1jp2Wf+r4p26dKl8eyzE2O77jvU69goLIUUQz3xxBNZUu+ZZ56J8ePHx6JFi2LvvfeO+fPnV56T4oI///nPceedd2bnv/vuuzFo0P9100ktblPS74svvoinn346brnllmwy0dlnn12j3xsAAHWj3jIoaQ2a5557LmtFVZ10rEOHDnU+LmqmLVVqO/Xdk26IefM/jw7//4zzT+Z9Hp8vXJS180zHH3rq1Zjz8fzYdssN4pKTB8WTk9+IV954Nzu3387bZDPTJ7/6n5i3YGFss1mnuOikgdkaN2ltQOD/LFgwP96eMaPy+X//+05M+dfr0ap16+jUqXO2b968eTF+/EMx8pTT63GkQE0RR5VuHFVh043axs7f2CwGjrhuhWukduopwXfjhUPiZ7+6L1vz75zjvhO/vmNCfLFI9QasyuFDjoqzzjg9vva1r8fXt90u/viHW+Kzzz6LgQdacoDCNG7cuCrPU8IuVexNnjw5awOeqvlvvPHGGDNmTOy5557ZOTfddFNsvfXWWbKwd+/e8be//S1ee+21ePjhh7P4Yfvtt48LLrggTj/99Dj33HOjadOm9fTpAABoUIm/U045JY499tgsGN1rr70qb06ldhOPPPJI/OY3v4nLLrusvobHV5DacSbjf3tilf3HnP2H+OOfn41FixbHnr22iuGH7hEtWzSNd2Z9FPc98mJc/NuHKs/97PNFcfSgneKSUwZFsyaN451ZH8f9j74Yl/1ufJ1/Hih0r736Shxz9JDK57+89OLssf8BA+P8n//v54f++peIXC722Xf/ehsnhUVBXsMmjirdOKrCkAF94r+zPo6HJ/5rhWssXZqLwSdcF78645B4/OaTY/7nC+PWPz8X51/3lzr4BNCw7bPvfvHRhx/GtVdfGR988H5s1W3ruPbXv431tfqkDuOohQsXZtvyVfqrs053SvQlbdq0yR5TrJCqAPv27Vt5Tpo4tPHGG8fEiROzxF963HbbbatMGurXr18MGzYsXn311dhhBxWvAAANSVkul8vV15vffvvtcfnll2eBaGotkaQ1FXr06BEjR46M733ve3ldt8UOw2t4pECFOc9eVd9DgKK1VtO6y8Ztfspfa/09pl62b62/RykTR0HD89HzV9f3EKBoNa/Dac21HUf9YO1n47zzzquy75xzzsmq71YltaY94IAD4uOPP46nnnoq25cq/Y466qgVEonf/OY3Y4899sjWCE6Tif7zn//EQw/932TcBQsWRMuWLePBBx+MffcV0wEANCT1uljawQcfnG1p9tkHH3yQ7UuLpjdp0qQ+hwUARc8afA2fOAoAijOOGjVqVDaJZ1mrU+2X1vp75ZVXKpN+AACUpnpN/FVIN6g6depU38MAAGhwxFEAUFxWt63nsoYPHx5jx46NCRMmxIYbblhlXeAvvvgiqwJcd911K/en9uDpWMU5aX3gZaXjFccAAGhYyut7AABA3UsT1Wt7AwAoRoUUQ6XVW1LS7957741HH300unbtWuV4agGeJgmlNYArTJky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zZtXA98UAAD1QeIPAGhw3nnnnWyNv06dOmXP+/TpEx9//HFMnjy58pxHH300li5dGr169arHkQIA1J758+dH9+7d45prrlnpOSnR995771Vut912W5XjKen36quvxvjx42Ps2LFZMvHYY4+tg9EDAFAbtPoEgBKUZnsXkjSrvKJ6L5k+fXq8+OKL2Rp9aTvvvPNi8ODBWfVeWuPvtNNOi8033zz69euXnb/11ltnN7WOOeaYuP7662PRokUxfPjwrEVomgEPAFCMcVRa8zhtq5Jar6+sA8Lrr78e48aNi+effz569uyZ7bvqqqtiv/32i8suu0wcBQDQAKn4AwDq3aRJk2KHHXbItmTkyJHZz2effXY0atQoXnrppTjggANiyy23zNpP9ejRI5588skqawjeeuut0a1bt2zNv3Szauedd44bbrihHj8VAMCaW7hwYcydO7fKlvblK62J3L59+9hqq61i2LBhWdeEChMnTszae1Yk/ZK+fftGeXl5PPvss1/5swAAUPdU/AFACSovnInqmd133z1yudxKjz/00ENfeo1UGThmzJgaHhkAQN3GUaNHj866HSzrnHPOiXPPPXeNr5U6IgwaNCi6du2adU0444wzsgrBlPBLk6tmzpyZJQWX1bhx4yyuSscAAGh4JP4AAAAACsSoUaOy7gfLWrbLwZpIbc8rbLvttrHddtvFZpttllUBpi4JAAAUH4k/AChBhbQ2DQBAQ1LbcVRK8uWb6Psym266abRt2zZbWzkl/tLaf7Nnz65yzuLFi+PDDz9c6bqAAAAUNmv8AQAAAJSAd955J1vjr1OnTtnzPn36xMcffxyTJ0+uPOfRRx+NpUuXRq9evepxpAAA5EvFHwCUIAV/AAANP46aN29eVr1XYfr06fHiiy9ma/SlLa0VOHjw4Kx6L63xd9ppp8Xmm28e/fr1y87feuuts3UAjznmmLj++utj0aJFMXz48KxFaOfOnevxkwEAkC8VfwAAAAAN0KRJk2KHHXbItiStDZh+Pvvss6NRo0bx0ksvxQEHHBBbbrllDB06NHr06BFPPvlklVait956a3Tr1i1r/bnffvvFzjvvHDfccEM9fioAAL4KFX8AUIKs8QcA0PDjqN133z1yudxKjz/00ENfeo1UGThmzJgaHhkAAPVFxR8AAAAAAAAUARV/AFCCygtnojoAQIMi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jgEAUJy0+gSAUqQkDwCgIOOoUaNGxciRI6vsa9asWbXn7rvvvpU/b7fddlkisEuXLnHHHXdEixYtanegAAAUJIk/AChBZTJ/AAAFGUelJN/KEn1fJlX3bbnlljF16tT49re/HV988UV8/PHHVar+Zs2aVe2agAAAFAetPgEAAACKwLx582LatGnRqVOn6NGjRzRp0iQeeeSRyuNTpkzJ1gDs06dPvY4TAIDao+IPAEpQmYI/AIAGH0edcsop0b9//6y957vvvhvnnHNONGrUKL7//e9nawMOHTo0axvapk2baNWqVYwYMSJL+vXu3bu+hw4AQC2R+AMAAABogN55550syTdnzpxo165d7LzzzvHMM89kPyeXX355lJeXx+DBg2PhwoXRr1+/uPbaa+t72AAA1KKyXC6XiyKzYFHRfSQoGOWFNL0VikzzOpyO8/q782v9Pbbu3LLW34OaN2f+4voeAgCssfVbNi6aOEoMBQDAV2GNPwAAAAAAACgCWn0CQClSvAsAkB9xFAAABUzFHwAAAAAAABQBFX8AUILKTFUHAMiLOAoAgEKm4g8AAAAAAACKgIo/AChBZSaqAwDkRRwFAEAhU/EHANSrc889N8rKyqps3bp1qzz++eefx3HHHRfrr79+rL322jF48OCYNWtWvY4ZAAAAAAqRxB8AlKCyOtjWxNe+9rV47733Krennnqq8thJJ50Uf/7zn+POO++MJ554It59990YNGhQjX8nAACro5BiKAAAWJ5WnwBAvWvcuHF07Nhxhf2ffPJJ3HjjjTFmzJjYc889s3033XRTbL311vHMM89E796962G0AAAAAFCYVPwBQCmqg5K/hQsXxty5c6tsaV913njjjejcuXNsuummcdhhh8WMGTOy/ZMnT45FixZF3759K89NbUA33njjmDhxYp19XQAAlZT8AQBQwCT+AIBaMXr06GjdunWVLe1bXq9eveLmm2+OcePGxXXXXRfTp0+PXXbZJT799NOYOXNmNG3aNNZdd90qr+nQoUN2DAAAAAD4P1p9AkAJKquD6eSjRo2KkSNHVtnXrFmzFc7bd999K3/ebrvtskRgly5d4o477ogWLVrU+jgBAAotjgIAgHyp+AMAakVK8rVq1arKVl3ib3mpum/LLbeMqVOnZuv+ffHFF/Hxxx9XOWfWrFnVrgkIAAAAAKVM4g8ASlBZWe1v+Zo3b15MmzYtOnXqFD169IgmTZrEI488Unl8ypQp2RqAffr0qZkvAwBgDRRqDAUAAIlWnwBAvTrllFOif//+WXvPd999N84555xo1KhRfP/738/WBRw6dGjWMrRNmzZZ1eCIESOypF/v3r3re+gAAAAAUFAk/gCgBBXSZPJ33nknS/LNmTMn2rVrFzvvvHM888wz2c/J5ZdfHuXl5TF48OBYuHBh9OvXL6699tr6HjYAUKIKKY4CAIDlleVyuVwUmQWLiu4jQcEo13sGak3zOpyOM232Z7X+Hpu1b1Hr70HNmzN/cX0PAQDW2PotGxdNHCWGAgDgq1DxBwClSA4fACA/4igAAAqYxB8AlKAyd6wAAPIijgIAoJCV1/cAAAAAAAAAgK9OxR8AlCDLdQIA5EccBQBAIVPxBwAAAAAAAEVAxR8AlCAT1QEA8iOOAgCgkKn4AwAAAAAAgCKg4g8ASpGp6gAA+RFHAQBQwFT8AQAAAAAAQBFQ8QcAJajMVHUAgLyIowAAKGQq/gAAAAAAAKAIqPgDgBJUZqI6AEBexFEAABQyFX8AAAAAAABQBFT8AUAJMlEdACA/4igAAAqZij8AAAAAAAAoAir+AKAEWZsGACA/4igAAAqZij8AAAAAAAAoAir+AKAkmaoOAJAfcRQAAIVLxR8AAAAAAAAUARV/AFCCrE0DAJAfcRQAAIVMxR8AAAAAAAAUARV/AFCCTFQHAMiPOAoAgEKm4g8AAAAAAACKgIo/AChB1qYBAMiPOAoAgEKm4g8AAAAAAACKgIo/AChBZVanAQDIizgKAIBCJvEHAKXI/SoAgPyIowAAKGBafQIAAAAAAEARUPEHACXIRHUAgPyIowAAKGQq/gAAAAAAAKAIqPgDgBJUZqo6AEBexFEAABQyFX8AAAAAAABQBFT8AUAJKrM6DQBAXsRRAAAUMhV/AAAAAAAAUARU/AFAKTJRHQAgP+IoAAAKmIo/AAAAAAAAKAIq/gCgBJmoDgCQH3EUAACFTMUfAAAAAAAAFAEVfwBQgspMVQcAyIs4CgCAQqbiDwAAAAAAAIqAij8AKEFlVqcBAMiLOAoAgEKm4g8AAAAAAACKgIo/AChB1qYBAMiPOAoAgEKm4g8AAAAAAACKgMQfAAAAAAAAFAGJPwAAAAAAACgC1vgDgBJkbRoAgPyIowAAKGQq/gAAAAAAAKAIqPgDgBJUFqaqAwDkQxwFAEAhk/gDgBKkRRUAQH7EUQAAFDKtPgEAAAAAAKAIqPgDgBJkojoAQH7EUQAAFDIVfwAAAAAAAFAEVPwBQCkyVR0AID/iKAAACpiKPwAAAAAAACgCKv4AoASVmaoOAJAXcRQAAIVMxR8AAAAAAAAUARV/AFCCykxUBwDIizgKAIBCpuIPAAAAAAAAioCKPwAoQSaqAwDkRxwFAEAhU/EHAAAAAAAARUDFHwCUIlPVAQDyI44CAKCAqfgDAAAAAACAIiDxBwAlqKwO/g8AoBgVYgx1zTXXxCabbBLNmzePXr16xXPPPVfjnxsAgIZB4g8AAACggbr99ttj5MiRcc4558QLL7wQ3bt3j379+sXs2bPre2gAANSDslwul4sis2BR0X0kKBjlZap4oLY0r8OVdz9fXFyfh5ozZ34d/OUAgBq2fsvGRRNHrWkMlSr8dtxxx7j66quz50uXLo2NNtooRowYET/96U9rZ5AAABQsFX8AAAAABWLhwoUxd+7cKlvaV50vvvgiJk+eHH379q3cV15enj2fOHFiHY4aAIBCUZRz8ddqoiKpoUj/42X06NExatSoaNasWX0PB4qK3y9WRTUehVAxwVfjv/NQe/x+UZ9x1LkXjo7zzjuvyr7UxvPcc89d4dwPPvgglixZEh06dKiyPz3/17/+VbsDBQCgIBVlq08ajjRzsXXr1vHJJ59Eq1at6ns4UFT8fgEUN/+dh9rj94v6TjwvX+GXEtDVJaHffffd2GCDDeLpp5+OPn36VO4/7bTT4oknnohnn322TsYMAEDhMKUbAAAAoECsLMlXnbZt20ajRo1i1qxZVfan5x07dqylEQIAUMis8QcAAADQADVt2jR69OgRjzzySOW+pUuXZs+XrQAEAKB0qPgDAAAAaKBGjhwZQ4YMiZ49e8Y3v/nNuOKKK2L+/Plx1FFH1ffQAACoBxJ/1KvUviQtUr66bUyA1ef3C6C4+e881B6/XzQkBx98cLz//vtx9tlnx8yZM2P77bePcePGRYcOHep7aAAA1IOyXC6Xq483BgAAAAAAAGqONf4AAAAAAACgCEj8AQAAAAAAQBGQ+AMAAAAAAIAiIPEHAAAAAAAARUDij3p1zTXXxCabbBLNmzePXr16xXPPPVffQ4IGb8KECdG/f//o3LlzlJWVxX333VffQwKghomhoHaIowAAgIZO4o96c/vtt8fIkSPjnHPOiRdeeCG6d+8e/fr1i9mzZ9f30KBBmz9/fvb7lG4KA1B8xFBQe8RRAABAQ1eWy+Vy9T0ISlOanb7jjjvG1VdfnT1funRpbLTRRjFixIj46U9/Wt/Dg6KQZqrfe++9MXDgwPoeCgA1RAwFdUMcBQAANEQq/qgXX3zxRUyePDn69u1bua+8vDx7PnHixHodGwBAoRJDAQAAAKsi8Ue9+OCDD2LJkiXRoUOHKvvT85kzZ9bbuAAACpkYCgAAAFgViT8AAAAAAAAoAhJ/1Iu2bdtGo0aNYtasWVX2p+cdO3ast3EBABQyMRQAAACwKhJ/1IumTZtGjx494pFHHqnct3Tp0ux5nz596nVsAACFSgwFAAAArErjVR6FWjRy5MgYMmRI9OzZM775zW/GFVdcEfPnz4+jjjqqvocGDdq8efNi6tSplc+nT58eL774YrRp0yY23njjeh0bAF+dGApqjzgKAABo6MpyuVyuvgdB6br66qvj0ksvjZkzZ8b2228fV155ZfTq1au+hwUN2uOPPx577LHHCvvTTeKbb765XsYEQM0SQ0HtEEcBAAANncQfAAAAAAAAFAFr/AEAAAAAAEARkPgDAAAAAACAIiDxBwAAAAAAAEVA4g8AAAAAAACKgMQfAAAAAAAAFAGJPwAAAAAAACgCEn8AAAAAAABQBCT+AAAAAAAAoAhI/AErdeSRR8bAgQMrn+++++5x4okn1vk4Hn/88SgrK4uPP/64zt8bAGBNiaEAAACoLxJ/0EBvJqWbOGlr2rRpbL755nH++efH4sWLa/V977nnnrjgggtW61w3mgCAQiOGAgAAoNg1ru8BAPnZZ5994qabboqFCxfGgw8+GMcdd1w0adIkRo0aVeW8L774IruxVRPatGlTI9cBAKgvYigAAACKmYo/aKCaNWsWHTt2jC5dusSwYcOib9++8cADD1S2lvr5z38enTt3jq222io7/+23347vfe97se6662Y3nwYMGBBvvfVW5fWWLFkSI0eOzI6vv/76cdppp0Uul6vynsu3qUo3zE4//fTYaKONsvGkWfM33nhjdt099tgjO2e99dbLZq2ncSVLly6N0aNHR9euXaNFixbRvXv3uOuuu6q8T7oJt+WWW2bH03WWHScAwFchhgIAAKCYSfxBkUg3eNLM9OSRRx6JKVOmxPjx42Ps2LGxaNGi6NevX6yzzjrx5JNPxt///vdYe+21sxnvFa/55S9/GTfffHP87ne/i6eeeio+/PDDuPfee1f5nkcccUTcdtttceWVV8brr78ev/71r7PrpptYd999d3ZOGsd7770Xv/rVr7Ln6YbV73//+7j++uvj1VdfjZNOOil+8IMfxBNPPFF5c23QoEHRv3//ePHFF+OHP/xh/PSnP63lbw8AKFViKAAAAIqJVp/QwKUZ5ekm1UMPPRQjRoyI999/P1q2bBm//e1vK9tT/fGPf8xmiad9aeZ4klpcpZnpaR2ZvffeO6644oqsxVW6YZSkm0rpmivz73//O+64447sxliaKZ9suummK7S0at++ffY+FbPbL7roonj44YejT58+la9JN8nSDa/ddtstrrvuuthss82ym2hJmm3/8ssvxy9+8Yta+gYBgFIkhgIAAKAYSfxBA5VmoaeZ4Wkmerohdeihh8a5556brVOz7bbbVlmT5p///GdMnTo1m62+rM8//zymTZsWn3zySTajvFevXpXHGjduHD179lyhVVWFNJO8UaNG2Y2m1ZXGsGDBgvj2t79dZX+aMb/DDjtkP6dZ78uOI6m4wQUA8FWJoQAAAChmEn/QQKV1W9LM7nRzKq1Dk24yVUiz1Zc1b9686NGjR9x6660rXKddu3Z5t8VaU2kcyV/+8pfYYIMNqhxL69sAANQ2MRQAAADFTOIPGqh0Y2rzzTdfrXO/8Y1vxO233561jGrVqlW153Tq1CmeffbZ2HXXXbPnixcvjsmTJ2evrU6aEZ9myad1ZSraVC2rYrb8kiVLKvdts8022c2pGTNmrHSW+9Zbbx0PPPBAlX3PPPPMan1OAIAvI4YCAACgmJXX9wCA2nfYYYdF27ZtY8CAAfHkk0/G9OnTs3Vpjj/++HjnnXeyc0444YS4+OKL47777ot//etf8ZOf/CQ+/vjjlV5zk002iSFDhsTRRx+dvabimmnNmqRLly7ZWjipnVZaMyfNVE9tsk455ZQ46aST4pZbbslaZL3wwgtx1VVXZc+TH//4x/HGG2/EqaeeGlOmTIkxY8bEzTffXEffFADA/xFDAQAA0NBI/EEJWGuttWLChAmx8cYbx6BBg7IZ4UOHDs3Wp6mYvX7yySfH4Ycfnt2ISuvBpBtMBx544Cqvm9pkHXTQQdkNrm7dusUxxxwT8+fPz46lNlTnnXde/PSnP40OHTrE8OHDs/0XXHBBnHXWWTF69OhsHPvss0/Wtqpr167Z8TTGu+++O7sR1r1797j++uvjoosuqvXvCABgeWIoAAAAGpqy3MpWnQcAAAAAAAAaDBV/AAAAAAAAUAQk/gAAAAAAAKAISPwBAAAAAABAEZD4AwAAAAAAgCIg8QcAAAAAAABFQOIPAAAAAAAAioDEHwAAAAAAABQBiT8AAAAAAAAoAhJ/AAAAAAAAUAQk/gAAAAAAAKAISPwBAAAAAABANHz/H7PQUAosoO/3AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stderr", "output_type": "stream", "text": [ "2025-07-15 17:11:08,681 - INFO - Detailed evaluation results:\n", "2025-07-15 17:11:08,699 - INFO - Best performing method: Statistical (AUC: 1.0000)\n", "2025-07-15 17:11:08,699 - INFO - Creating project structure information\n", "2025-07-15 17:11:08,700 - INFO - Project structure information saved. Total files created: 31\n", "2025-07-15 17:11:08,700 - INFO - Anomaly Detection Suite completed successfully!\n", "2025-07-15 17:11:08,701 - INFO - All results and models saved in: anomaly_detection_results\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "\n", "============================================================\n", "ANOMALY DETECTION METHODS COMPARISON\n", "============================================================\n", "\n", "Statistical:\n", "------------------------------\n", " precision recall f1-score support\n", "\n", " Normal 0.99 1.00 0.99 270\n", " Anomaly 1.00 0.87 0.93 30\n", "\n", " accuracy 0.99 300\n", " macro avg 0.99 0.93 0.96 300\n", "weighted avg 0.99 0.99 0.99 300\n", "\n", "AUC Score: 1.0000\n", "\n", "Isolation Forest:\n", "------------------------------\n", " precision recall f1-score support\n", "\n", " Normal 0.97 0.96 0.96 270\n", " Anomaly 0.68 0.70 0.69 30\n", "\n", " accuracy 0.94 300\n", " macro avg 0.82 0.83 0.83 300\n", "weighted avg 0.94 0.94 0.94 300\n", "\n", "AUC Score: 0.9835\n", "\n", "One-Class SVM:\n", "------------------------------\n", " precision recall f1-score support\n", "\n", " Normal 0.95 0.94 0.94 270\n", " Anomaly 0.50 0.53 0.52 30\n", "\n", " accuracy 0.90 300\n", " macro avg 0.72 0.74 0.73 300\n", "weighted avg 0.90 0.90 0.90 300\n", "\n", "AUC Score: 0.9135\n", "\n", "Local Outlier Factor:\n", "------------------------------\n", " precision recall f1-score support\n", "\n", " Normal 0.94 0.94 0.94 270\n", " Anomaly 0.45 0.47 0.46 30\n", "\n", " accuracy 0.89 300\n", " macro avg 0.70 0.70 0.70 300\n", "weighted avg 0.89 0.89 0.89 300\n", "\n", "AUC Score: 0.6942\n", "\n", "Autoencoder:\n", "------------------------------\n", " precision recall f1-score support\n", "\n", " Normal 0.95 1.00 0.97 270\n", " Anomaly 1.00 0.50 0.67 30\n", "\n", " accuracy 0.95 300\n", " macro avg 0.97 0.75 0.82 300\n", "weighted avg 0.95 0.95 0.94 300\n", "\n", "AUC Score: 0.9995\n" ] } ], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from sklearn.datasets import make_classification\n", "from sklearn.model_selection import train_test_split, StratifiedKFold\n", "from sklearn.preprocessing import StandardScaler\n", "from sklearn.ensemble import IsolationForest\n", "from sklearn.svm import OneClassSVM\n", "from sklearn.neighbors import LocalOutlierFactor\n", "from sklearn.metrics import classification_report, confusion_matrix, roc_auc_score, precision_recall_curve\n", "import torch\n", "import torch.nn as nn\n", "import torch.optim as optim\n", "from torch.utils.data import DataLoader, TensorDataset\n", "import joblib\n", "import json\n", "import os\n", "from datetime import datetime\n", "import logging\n", "import warnings\n", "warnings.filterwarnings('ignore')\n", "\n", "logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')\n", "logger = logging.getLogger(__name__)\n", "\n", "class AnomalyDetectionSuite:\n", " def __init__(self, save_dir='anomaly_detection_results'):\n", " self.scaler = StandardScaler()\n", " self.models = {}\n", " self.results = {}\n", " self.save_dir = save_dir\n", " \n", " if not os.path.exists(self.save_dir):\n", " os.makedirs(self.save_dir)\n", " logger.info(f\"Results will be saved to: {self.save_dir}\")\n", " \n", " def create_anomaly_dataset(self, n_samples=1000, contamination=0.1):\n", " logger.info(f\"Creating synthetic anomaly dataset with {n_samples} samples and {contamination*100}% anomalies\")\n", " \n", " np.random.seed(42)\n", " \n", " n_normal = int(n_samples * (1 - contamination))\n", " normal_data = np.random.multivariate_normal(\n", " mean=[0, 0], \n", " cov=[[1, 0.5], [0.5, 1]], \n", " size=n_normal\n", " )\n", " \n", " n_anomalies = n_samples - n_normal\n", " anomaly_data = np.random.multivariate_normal(\n", " mean=[4, 4], \n", " cov=[[0.5, 0], [0, 0.5]], \n", " size=n_anomalies\n", " )\n", " \n", " X = np.vstack([normal_data, anomaly_data])\n", " y = np.hstack([np.zeros(n_normal), np.ones(n_anomalies)])\n", " \n", " dataset_info = {\n", " 'total_samples': len(X),\n", " 'normal_samples': int(np.sum(y == 0)),\n", " 'anomaly_samples': int(np.sum(y == 1)),\n", " 'contamination_rate': float(np.mean(y)),\n", " 'feature_ranges': {\n", " 'feature_1': [float(X[:, 0].min()), float(X[:, 0].max())],\n", " 'feature_2': [float(X[:, 1].min()), float(X[:, 1].max())]\n", " },\n", " 'creation_timestamp': datetime.now().isoformat()\n", " }\n", " \n", " with open(os.path.join(self.save_dir, 'dataset_info.json'), 'w') as f:\n", " json.dump(dataset_info, f, indent=2)\n", " \n", " np.save(os.path.join(self.save_dir, 'dataset_X.npy'), X)\n", " np.save(os.path.join(self.save_dir, 'dataset_y.npy'), y)\n", " \n", " logger.info(f\"Dataset created and saved: {len(X)} total samples, {np.sum(y)} anomalies ({np.mean(y)*100:.1f}%)\")\n", " return X, y\n", " \n", " def visualize_data(self, X, y):\n", " logger.info(\"Creating and saving data visualization\")\n", " \n", " plt.figure(figsize=(12, 4))\n", " \n", " plt.subplot(1, 2, 1)\n", " normal_mask = y == 0\n", " anomaly_mask = y == 1\n", " plt.scatter(X[normal_mask, 0], X[normal_mask, 1], c='blue', alpha=0.6, label='Normal', s=30)\n", " plt.scatter(X[anomaly_mask, 0], X[anomaly_mask, 1], c='red', alpha=0.8, label='Anomaly', s=50)\n", " plt.title('Original Data Distribution')\n", " plt.xlabel('Feature 1')\n", " plt.ylabel('Feature 2')\n", " plt.legend()\n", " plt.grid(True, alpha=0.3)\n", " \n", " plt.subplot(1, 2, 2)\n", " stats_text = f\"\"\"\n", " Dataset Statistics:\n", " • Total samples: {len(X)}\n", " • Normal samples: {np.sum(y == 0)} ({np.mean(y == 0)*100:.1f}%)\n", " • Anomaly samples: {np.sum(y == 1)} ({np.mean(y == 1)*100:.1f}%)\n", " • Feature 1 range: [{X[:, 0].min():.2f}, {X[:, 0].max():.2f}]\n", " • Feature 2 range: [{X[:, 1].min():.2f}, {X[:, 1].max():.2f}]\n", " \"\"\"\n", " plt.text(0.1, 0.5, stats_text, transform=plt.gca().transAxes, \n", " fontsize=10, verticalalignment='center', fontfamily='monospace')\n", " plt.axis('off')\n", " \n", " plt.tight_layout()\n", " plt.savefig(os.path.join(self.save_dir, 'data_visualization.png'), dpi=300, bbox_inches='tight')\n", " plt.show()\n", " \n", " logger.info(\"Data visualization saved to data_visualization.png\")\n", " \n", " def statistical_anomaly_detection(self, X_train, X_test, y_test):\n", " logger.info(\"Starting statistical anomaly detection (Z-score method)\")\n", " \n", " X_train_scaled = self.scaler.fit_transform(X_train)\n", " X_test_scaled = self.scaler.transform(X_test)\n", " \n", " joblib.dump(self.scaler, os.path.join(self.save_dir, 'statistical_scaler.pkl'))\n", " \n", " z_scores = np.abs(X_test_scaled)\n", " combined_z_score = np.sqrt(np.sum(z_scores**2, axis=1))\n", " \n", " threshold = 2.5\n", " y_pred_statistical = (combined_z_score > threshold).astype(int)\n", " \n", " auc_score = roc_auc_score(y_test, combined_z_score)\n", " \n", " statistical_results = {\n", " 'method': 'Statistical Z-score',\n", " 'threshold': threshold,\n", " 'auc_score': float(auc_score),\n", " 'anomalies_detected': int(np.sum(y_pred_statistical)),\n", " 'training_samples': len(X_train),\n", " 'test_samples': len(X_test)\n", " }\n", " \n", " np.save(os.path.join(self.save_dir, 'statistical_predictions.npy'), y_pred_statistical)\n", " np.save(os.path.join(self.save_dir, 'statistical_scores.npy'), combined_z_score)\n", " \n", " with open(os.path.join(self.save_dir, 'statistical_results.json'), 'w') as f:\n", " json.dump(statistical_results, f, indent=2)\n", " \n", " self.results['Statistical'] = {\n", " 'predictions': y_pred_statistical,\n", " 'scores': combined_z_score,\n", " 'auc': auc_score\n", " }\n", " \n", " logger.info(f\"Statistical method completed and saved. AUC: {auc_score:.4f}\")\n", " return y_pred_statistical\n", " \n", " def isolation_forest_detection(self, X_train, X_test, y_test):\n", " logger.info(\"Starting Isolation Forest anomaly detection\")\n", " \n", " iso_forest = IsolationForest(\n", " contamination=0.1,\n", " random_state=42,\n", " n_estimators=100\n", " )\n", " \n", " iso_forest.fit(X_train)\n", " joblib.dump(iso_forest, os.path.join(self.save_dir, 'isolation_forest_model.pkl'))\n", " \n", " y_pred_iso = iso_forest.predict(X_test)\n", " y_pred_iso = (y_pred_iso == -1).astype(int)\n", " \n", " scores = iso_forest.score_samples(X_test)\n", " scores = -scores\n", " \n", " auc_score = roc_auc_score(y_test, scores)\n", " \n", " iso_results = {\n", " 'method': 'Isolation Forest',\n", " 'n_estimators': 100,\n", " 'contamination': 0.1,\n", " 'auc_score': float(auc_score),\n", " 'anomalies_detected': int(np.sum(y_pred_iso)),\n", " 'training_samples': len(X_train),\n", " 'test_samples': len(X_test)\n", " }\n", " \n", " np.save(os.path.join(self.save_dir, 'isolation_forest_predictions.npy'), y_pred_iso)\n", " np.save(os.path.join(self.save_dir, 'isolation_forest_scores.npy'), scores)\n", " \n", " with open(os.path.join(self.save_dir, 'isolation_forest_results.json'), 'w') as f:\n", " json.dump(iso_results, f, indent=2)\n", " \n", " self.results['Isolation Forest'] = {\n", " 'predictions': y_pred_iso,\n", " 'scores': scores,\n", " 'auc': auc_score\n", " }\n", " \n", " logger.info(f\"Isolation Forest completed and saved. AUC: {auc_score:.4f}\")\n", " return y_pred_iso\n", " \n", " def one_class_svm_detection(self, X_train, X_test, y_test):\n", " logger.info(\"Starting One-Class SVM anomaly detection\")\n", " \n", " X_train_scaled = self.scaler.fit_transform(X_train)\n", " X_test_scaled = self.scaler.transform(X_test)\n", " \n", " oc_svm = OneClassSVM(\n", " nu=0.1,\n", " kernel='rbf',\n", " gamma='scale'\n", " )\n", " \n", " oc_svm.fit(X_train_scaled)\n", " joblib.dump(oc_svm, os.path.join(self.save_dir, 'one_class_svm_model.pkl'))\n", " joblib.dump(self.scaler, os.path.join(self.save_dir, 'svm_scaler.pkl'))\n", " \n", " y_pred_svm = oc_svm.predict(X_test_scaled)\n", " y_pred_svm = (y_pred_svm == -1).astype(int)\n", " \n", " scores = oc_svm.score_samples(X_test_scaled)\n", " scores = -scores\n", " \n", " auc_score = roc_auc_score(y_test, scores)\n", " \n", " svm_results = {\n", " 'method': 'One-Class SVM',\n", " 'nu': 0.1,\n", " 'kernel': 'rbf',\n", " 'gamma': 'scale',\n", " 'auc_score': float(auc_score),\n", " 'anomalies_detected': int(np.sum(y_pred_svm)),\n", " 'training_samples': len(X_train),\n", " 'test_samples': len(X_test)\n", " }\n", " \n", " np.save(os.path.join(self.save_dir, 'one_class_svm_predictions.npy'), y_pred_svm)\n", " np.save(os.path.join(self.save_dir, 'one_class_svm_scores.npy'), scores)\n", " \n", " with open(os.path.join(self.save_dir, 'one_class_svm_results.json'), 'w') as f:\n", " json.dump(svm_results, f, indent=2)\n", " \n", " self.results['One-Class SVM'] = {\n", " 'predictions': y_pred_svm,\n", " 'scores': scores,\n", " 'auc': auc_score\n", " }\n", " \n", " logger.info(f\"One-Class SVM completed and saved. AUC: {auc_score:.4f}\")\n", " return y_pred_svm\n", " \n", " def local_outlier_factor_detection(self, X_train, X_test, y_test):\n", " logger.info(\"Starting Local Outlier Factor anomaly detection\")\n", " \n", " X_train_scaled = self.scaler.fit_transform(X_train)\n", " X_test_scaled = self.scaler.transform(X_test)\n", " \n", " X_combined = np.vstack([X_train_scaled, X_test_scaled])\n", " \n", " lof = LocalOutlierFactor(\n", " n_neighbors=20,\n", " contamination=0.1,\n", " novelty=False\n", " )\n", " \n", " y_pred_combined = lof.fit_predict(X_combined)\n", " \n", " y_pred_lof = y_pred_combined[len(X_train_scaled):]\n", " y_pred_lof = (y_pred_lof == -1).astype(int)\n", " \n", " scores = -lof.negative_outlier_factor_[len(X_train_scaled):]\n", " \n", " auc_score = roc_auc_score(y_test, scores)\n", " \n", " lof_results = {\n", " 'method': 'Local Outlier Factor',\n", " 'n_neighbors': 20,\n", " 'contamination': 0.1,\n", " 'auc_score': float(auc_score),\n", " 'anomalies_detected': int(np.sum(y_pred_lof)),\n", " 'training_samples': len(X_train),\n", " 'test_samples': len(X_test)\n", " }\n", " \n", " np.save(os.path.join(self.save_dir, 'lof_predictions.npy'), y_pred_lof)\n", " np.save(os.path.join(self.save_dir, 'lof_scores.npy'), scores)\n", " \n", " with open(os.path.join(self.save_dir, 'lof_results.json'), 'w') as f:\n", " json.dump(lof_results, f, indent=2)\n", " \n", " self.results['Local Outlier Factor'] = {\n", " 'predictions': y_pred_lof,\n", " 'scores': scores,\n", " 'auc': auc_score\n", " }\n", " \n", " logger.info(f\"Local Outlier Factor completed and saved. AUC: {auc_score:.4f}\")\n", " return y_pred_lof\n", "\n", "class SimpleAutoencoder(nn.Module):\n", " def __init__(self, input_dim, hidden_dim=8):\n", " super(SimpleAutoencoder, self).__init__()\n", " self.encoder = nn.Sequential(\n", " nn.Linear(input_dim, hidden_dim),\n", " nn.ReLU(),\n", " nn.Linear(hidden_dim, hidden_dim // 2),\n", " nn.ReLU()\n", " )\n", " self.decoder = nn.Sequential(\n", " nn.Linear(hidden_dim // 2, hidden_dim),\n", " nn.ReLU(),\n", " nn.Linear(hidden_dim, input_dim)\n", " )\n", " \n", " def forward(self, x):\n", " encoded = self.encoder(x)\n", " decoded = self.decoder(encoded)\n", " return decoded\n", "\n", "class DeepAnomalyDetector:\n", " def __init__(self, input_dim, hidden_dim=8, lr=0.0001, save_dir='anomaly_detection_results'):\n", " self.device = torch.device('mps' if torch.backends.mps.is_available() else 'cpu')\n", " logger.info(f\"Using device: {self.device}\")\n", " \n", " self.model = SimpleAutoencoder(input_dim, hidden_dim).to(self.device)\n", " self.optimizer = optim.Adam(self.model.parameters(), lr=lr)\n", " self.criterion = nn.MSELoss()\n", " self.scaler = StandardScaler()\n", " self.save_dir = save_dir\n", " self.training_history = []\n", " \n", " self.config = {\n", " 'input_dim': input_dim,\n", " 'hidden_dim': hidden_dim,\n", " 'learning_rate': lr,\n", " 'device': str(self.device),\n", " 'architecture': 'Simple Autoencoder',\n", " 'optimizer': 'Adam',\n", " 'loss_function': 'MSE'\n", " }\n", " \n", " def train_autoencoder(self, X_train, epochs=50, batch_size=32):\n", " logger.info(f\"Starting autoencoder training for {epochs} epochs\")\n", " \n", " X_train_scaled = self.scaler.fit_transform(X_train)\n", " X_tensor = torch.FloatTensor(X_train_scaled).to(self.device)\n", " \n", " joblib.dump(self.scaler, os.path.join(self.save_dir, 'autoencoder_scaler.pkl'))\n", " \n", " dataset = TensorDataset(X_tensor, X_tensor)\n", " dataloader = DataLoader(dataset, batch_size=batch_size, shuffle=True)\n", " \n", " self.model.train()\n", " losses = []\n", " \n", " for epoch in range(epochs):\n", " epoch_loss = 0\n", " num_batches = 0\n", " \n", " for batch_data, batch_target in dataloader:\n", " self.optimizer.zero_grad()\n", " \n", " reconstructed = self.model(batch_data)\n", " loss = self.criterion(reconstructed, batch_target)\n", " \n", " loss.backward()\n", " self.optimizer.step()\n", " \n", " epoch_loss += loss.item()\n", " num_batches += 1\n", " \n", " avg_loss = epoch_loss / num_batches\n", " losses.append(avg_loss)\n", " \n", " self.training_history.append({\n", " 'epoch': epoch,\n", " 'loss': avg_loss,\n", " 'timestamp': datetime.now().isoformat()\n", " })\n", " \n", " if epoch % 10 == 0:\n", " logger.info(f\"Epoch {epoch}/{epochs}, Average Loss: {avg_loss:.6f}\")\n", " \n", " torch.save({\n", " 'model_state_dict': self.model.state_dict(),\n", " 'optimizer_state_dict': self.optimizer.state_dict(),\n", " 'config': self.config,\n", " 'training_history': self.training_history,\n", " 'final_loss': losses[-1]\n", " }, os.path.join(self.save_dir, 'autoencoder_model.pth'))\n", " \n", " with open(os.path.join(self.save_dir, 'autoencoder_config.json'), 'w') as f:\n", " json.dump(self.config, f, indent=2)\n", " \n", " training_data = {\n", " 'epochs': epochs,\n", " 'batch_size': batch_size,\n", " 'final_loss': float(losses[-1]),\n", " 'training_history': self.training_history\n", " }\n", " \n", " with open(os.path.join(self.save_dir, 'autoencoder_training.json'), 'w') as f:\n", " json.dump(training_data, f, indent=2)\n", " \n", " logger.info(f\"Autoencoder training completed and saved. Final loss: {losses[-1]:.6f}\")\n", " return losses\n", " \n", " def detect_anomalies(self, X_test, y_test, threshold_percentile=95):\n", " logger.info(\"Starting autoencoder anomaly detection\")\n", " \n", " X_test_scaled = self.scaler.transform(X_test)\n", " X_tensor = torch.FloatTensor(X_test_scaled).to(self.device)\n", " \n", " self.model.eval()\n", " with torch.no_grad():\n", " reconstructed = self.model(X_tensor)\n", " \n", " reconstruction_errors = torch.mean((X_tensor - reconstructed) ** 2, dim=1)\n", " reconstruction_errors = reconstruction_errors.cpu().numpy()\n", " \n", " threshold = np.percentile(reconstruction_errors, threshold_percentile)\n", " y_pred_ae = (reconstruction_errors > threshold).astype(int)\n", " \n", " auc_score = roc_auc_score(y_test, reconstruction_errors)\n", " \n", " ae_results = {\n", " 'method': 'Autoencoder',\n", " 'threshold_percentile': threshold_percentile,\n", " 'threshold_value': float(threshold),\n", " 'auc_score': float(auc_score),\n", " 'anomalies_detected': int(np.sum(y_pred_ae)),\n", " 'test_samples': len(X_test),\n", " 'config': self.config\n", " }\n", " \n", " np.save(os.path.join(self.save_dir, 'autoencoder_predictions.npy'), y_pred_ae)\n", " np.save(os.path.join(self.save_dir, 'autoencoder_scores.npy'), reconstruction_errors)\n", " \n", " with open(os.path.join(self.save_dir, 'autoencoder_results.json'), 'w') as f:\n", " json.dump(ae_results, f, indent=2)\n", " \n", " logger.info(f\"Autoencoder anomaly detection completed and saved. AUC: {auc_score:.4f}\")\n", " \n", " return y_pred_ae, reconstruction_errors, auc_score\n", "\n", "def evaluate_all_methods(suite, deep_detector, X_test, y_test):\n", " logger.info(\"Starting comprehensive evaluation of all methods\")\n", " \n", " all_results = {}\n", " \n", " for method_name, results in suite.results.items():\n", " all_results[method_name] = results\n", " \n", " y_pred_ae, scores_ae, auc_ae = deep_detector.detect_anomalies(X_test, y_test)\n", " all_results['Autoencoder'] = {\n", " 'predictions': y_pred_ae,\n", " 'scores': scores_ae,\n", " 'auc': auc_ae\n", " }\n", " \n", " fig, axes = plt.subplots(2, 3, figsize=(18, 12))\n", " axes = axes.flatten()\n", " \n", " method_names = list(all_results.keys())\n", " \n", " for i, method_name in enumerate(method_names):\n", " ax = axes[i]\n", " results = all_results[method_name]\n", " \n", " cm = confusion_matrix(y_test, results['predictions'])\n", " sns.heatmap(cm, annot=True, fmt='d', cmap='Blues', ax=ax)\n", " ax.set_title(f'{method_name}\\nAUC: {results[\"auc\"]:.4f}')\n", " ax.set_xlabel('Predicted')\n", " ax.set_ylabel('Actual')\n", " \n", " if len(method_names) < len(axes):\n", " axes[-1].axis('off')\n", " \n", " plt.tight_layout()\n", " plt.savefig(os.path.join(suite.save_dir, 'methods_comparison.png'), dpi=300, bbox_inches='tight')\n", " plt.show()\n", " \n", " summary_results = {}\n", " detailed_reports = {}\n", " \n", " logger.info(\"Detailed evaluation results:\")\n", " print(\"\\n\" + \"=\"*60)\n", " print(\"ANOMALY DETECTION METHODS COMPARISON\")\n", " print(\"=\"*60)\n", " \n", " for method_name, results in all_results.items():\n", " print(f\"\\n{method_name}:\")\n", " print(\"-\" * 30)\n", " \n", " report = classification_report(y_test, results['predictions'], \n", " target_names=['Normal', 'Anomaly'], \n", " output_dict=True)\n", " print(classification_report(y_test, results['predictions'], \n", " target_names=['Normal', 'Anomaly']))\n", " print(f\"AUC Score: {results['auc']:.4f}\")\n", " \n", " summary_results[method_name] = {\n", " 'auc_score': float(results['auc']),\n", " 'anomalies_detected': int(np.sum(results['predictions'])),\n", " 'precision': float(report['Anomaly']['precision']),\n", " 'recall': float(report['Anomaly']['recall']),\n", " 'f1_score': float(report['Anomaly']['f1-score'])\n", " }\n", " \n", " detailed_reports[method_name] = report\n", " \n", " final_summary = {\n", " 'experiment_timestamp': datetime.now().isoformat(),\n", " 'dataset_info': {\n", " 'total_test_samples': len(y_test),\n", " 'true_anomalies': int(np.sum(y_test))\n", " },\n", " 'method_summary': summary_results,\n", " 'detailed_reports': detailed_reports\n", " }\n", " \n", " with open(os.path.join(suite.save_dir, 'final_summary.json'), 'w') as f:\n", " json.dump(final_summary, f, indent=2)\n", " \n", " best_method = max(summary_results.keys(), key=lambda x: summary_results[x]['auc_score'])\n", " logger.info(f\"Best performing method: {best_method} (AUC: {summary_results[best_method]['auc_score']:.4f})\")\n", " \n", " return all_results\n", "\n", "def save_training_plot(losses, save_dir):\n", " logger.info(\"Creating and saving training progress plot\")\n", " \n", " plt.figure(figsize=(10, 6))\n", " plt.plot(losses)\n", " plt.title('Autoencoder Training Loss')\n", " plt.xlabel('Epoch')\n", " plt.ylabel('MSE Loss')\n", " plt.grid(True)\n", " plt.savefig(os.path.join(save_dir, 'training_progress.png'), dpi=300, bbox_inches='tight')\n", " plt.show()\n", " \n", " logger.info(\"Training progress plot saved\")\n", "\n", "def create_project_structure_info(save_dir):\n", " logger.info(\"Creating project structure information\")\n", " \n", " files_created = []\n", " for root, dirs, files in os.walk(save_dir):\n", " for file in files:\n", " file_path = os.path.relpath(os.path.join(root, file), save_dir)\n", " files_created.append(file_path)\n", " \n", " structure_info = {\n", " 'project_name': 'Anomaly Detection Suite',\n", " 'creation_date': datetime.now().isoformat(),\n", " 'total_files': len(files_created),\n", " 'files_created': sorted(files_created),\n", " 'file_descriptions': {\n", " 'dataset_X.npy': 'Feature matrix of the synthetic dataset',\n", " 'dataset_y.npy': 'Labels for the synthetic dataset',\n", " 'dataset_info.json': 'Dataset metadata and statistics',\n", " 'data_visualization.png': 'Visualization of the dataset distribution',\n", " 'statistical_*.npy': 'Statistical method predictions and scores',\n", " 'statistical_results.json': 'Statistical method results and metadata',\n", " 'isolation_forest_model.pkl': 'Trained Isolation Forest model',\n", " 'isolation_forest_*.npy': 'Isolation Forest predictions and scores',\n", " 'isolation_forest_results.json': 'Isolation Forest results and metadata',\n", " 'one_class_svm_model.pkl': 'Trained One-Class SVM model',\n", " 'svm_scaler.pkl': 'Scaler used for SVM preprocessing',\n", " 'one_class_svm_*.npy': 'SVM predictions and scores',\n", " 'one_class_svm_results.json': 'SVM results and metadata',\n", " 'lof_*.npy': 'LOF predictions and scores',\n", " 'lof_results.json': 'LOF results and metadata',\n", " 'autoencoder_model.pth': 'Trained autoencoder model with full state',\n", " 'autoencoder_scaler.pkl': 'Scaler used for autoencoder preprocessing',\n", " 'autoencoder_config.json': 'Autoencoder architecture configuration',\n", " 'autoencoder_training.json': 'Training history and hyperparameters',\n", " 'autoencoder_*.npy': 'Autoencoder predictions and scores',\n", " 'autoencoder_results.json': 'Autoencoder results and metadata',\n", " 'methods_comparison.png': 'Visual comparison of all methods',\n", " 'training_progress.png': 'Autoencoder training loss progression',\n", " 'final_summary.json': 'Comprehensive results summary',\n", " 'project_structure.json': 'This file - project structure information'\n", " }\n", " }\n", " \n", " with open(os.path.join(save_dir, 'project_structure.json'), 'w') as f:\n", " json.dump(structure_info, f, indent=2)\n", " \n", " logger.info(f\"Project structure information saved. Total files created: {len(files_created)}\")\n", "\n", "def main():\n", " logger.info(\"Starting Anomaly Detection Suite with file saving\")\n", " \n", " suite = AnomalyDetectionSuite(save_dir='anomaly_detection_results')\n", " \n", " X, y = suite.create_anomaly_dataset(n_samples=1000, contamination=0.1)\n", " \n", " suite.visualize_data(X, y)\n", " \n", " X_train, X_test, y_train, y_test = train_test_split(\n", " X, y, test_size=0.3, random_state=42, stratify=y\n", " )\n", " \n", " split_info = {\n", " 'train_samples': len(X_train),\n", " 'test_samples': len(X_test),\n", " 'train_anomalies': int(np.sum(y_train)),\n", " 'test_anomalies': int(np.sum(y_test)),\n", " 'test_size': 0.3,\n", " 'random_state': 42,\n", " 'stratified': True\n", " }\n", " \n", " with open(os.path.join(suite.save_dir, 'data_split_info.json'), 'w') as f:\n", " json.dump(split_info, f, indent=2)\n", " \n", " logger.info(f\"Data split: Train={len(X_train)}, Test={len(X_test)}\")\n", " \n", " logger.info(\"Running traditional anomaly detection methods...\")\n", " suite.statistical_anomaly_detection(X_train, X_test, y_test)\n", " suite.isolation_forest_detection(X_train, X_test, y_test)\n", " suite.one_class_svm_detection(X_train, X_test, y_test)\n", " suite.local_outlier_factor_detection(X_train, X_test, y_test)\n", " \n", " logger.info(\"Running deep learning anomaly detection...\")\n", " deep_detector = DeepAnomalyDetector(\n", " input_dim=X.shape[1], \n", " hidden_dim=8, \n", " lr=0.0001,\n", " save_dir=suite.save_dir\n", " )\n", " training_losses = deep_detector.train_autoencoder(X_train, epochs=50, batch_size=32)\n", " \n", " save_training_plot(training_losses, suite.save_dir)\n", " \n", " final_results = evaluate_all_methods(suite, deep_detector, X_test, y_test)\n", " \n", " create_project_structure_info(suite.save_dir)\n", " \n", " logger.info(\"Anomaly Detection Suite completed successfully!\")\n", " logger.info(f\"All results and models saved in: {suite.save_dir}\")\n", " \n", " return suite, deep_detector, final_results\n", "\n", "if __name__ == \"__main__\":\n", " suite, deep_detector, results = main()" ] }, { "cell_type": "code", "execution_count": null, "id": "005a8200-19dd-4dcc-84e6-7394a0f38413", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.13.5" } }, "nbformat": 4, "nbformat_minor": 5 }