0% found this document useful (0 votes)
31 views35 pages

Sentiment Analysis - Ipynb

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
31 views35 pages

Sentiment Analysis - Ipynb

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 35

{"metadata":{"kernelspec":{"language":"python","display_name":"Python

3","name":"python3"},"language_info":
{"name":"python","version":"3.11.11","mimetype":"text/x-python","codemirror_mode":
{"name":"ipython","version":3},"pygments_lexer":"ipython3","nbconvert_exporter":"py
thon","file_extension":".py"},"kaggle":{"accelerator":"none","dataSources":
[{"sourceId":10172688,"sourceType":"datasetVersion","datasetId":6282898}],"dockerIm
ageVersionId":31040,"isInternetEnabled":true,"language":"python","sourceType":"note
book","isGpuEnabled":false}},"nbformat_minor":4,"nbformat":4,"cells":
[{"cell_type":"code","source":"# This Python 3 environment comes with many helpful
analytics libraries installed\n# It is defined by the kaggle/python Docker image:
https://github.com/kaggle/docker-python\n# For example, here's several helpful
packages to load\n\nimport numpy as np # linear algebra\nimport pandas as pd # data
processing, CSV file I/O (e.g. pd.read_csv)\n\n# Input data files are available in
the read-only \"../input/\" directory\n# For example, running this (by clicking run
or pressing Shift+Enter) will list all files under the input directory\n\nimport
os\nfor dirname, _, filenames in os.walk('/kaggle/input'):\n for filename in
filenames:\n print(os.path.join(dirname, filename))\n\n# You can write up to
20GB to the current directory (/kaggle/working/) that gets preserved as output when
you create a version using \"Save & Run All\" \n# You can also write temporary
files to /kaggle/temp/, but they won't be saved outside of the current
session","metadata":
{"_uuid":"8f2839f25d086af736a60e9eeb907d3b93b6e0e5","_cell_guid":"b1076dfc-b9ad-
4769-8c92-a6c4dae69d19","trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T14:05:42.004668Z","iopub.execute_input":"2025-06-
21T14:05:42.005006Z","iopub.status.idle":"2025-06-
21T14:05:44.412986Z","shell.execute_reply.started":"2025-06-
21T14:05:42.004973Z","shell.execute_reply":"2025-06-
21T14:05:44.411842Z"}},"outputs":[{"name":"stdout","text":"/kaggle/input/sentiment-
and-emotion-analysis-dataset/archive/combined_emotion.csv\n/kaggle/input/sentiment-
and-emotion-analysis-dataset/archive/combined_sentiment_data.csv\
n","output_type":"stream"}],"execution_count":1},{"cell_type":"code","source":"df1
= pd.read_csv('/kaggle/input/sentiment-and-emotion-analysis-dataset/archive/
combined_emotion.csv')\ndf2 = pd.read_csv('/kaggle/input/sentiment-and-emotion-
analysis-dataset/archive/combined_sentiment_data.csv')","metadata":
{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T14:18:04.041602Z","iopub.execute_input":"2025-06-
21T14:18:04.041911Z","iopub.status.idle":"2025-06-
21T14:18:04.990563Z","shell.execute_reply.started":"2025-06-
21T14:18:04.041889Z","shell.execute_reply":"2025-06-
21T14:18:04.989589Z"}},"outputs":[],"execution_count":5},
{"cell_type":"code","source":"df1.head()","metadata":{"trusted":true,"execution":
{"iopub.status.busy":"2025-06-21T14:18:09.958037Z","iopub.execute_input":"2025-06-
21T14:18:09.958349Z","iopub.status.idle":"2025-06-
21T14:18:09.967611Z","shell.execute_reply.started":"2025-06-
21T14:18:09.958328Z","shell.execute_reply":"2025-06-
21T14:18:09.966667Z"}},"outputs":
[{"execution_count":6,"output_type":"execute_result","data":{"text/plain":"
sentence emotion\n0 i just feel really helpless and heavy hearted fear\n1
ive enjoyed being able to slouch about relax a... sad\n2 i gave up my
internship with the dmrg and am f... fear\n3 i dont know
i feel so lost sad\n4 i am a kindergarten teacher and i am thoroughl...
fear","text/html":"<div>\n<style scoped>\n .dataframe tbody tr th:only-of-type
{\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n
vertical-align: top;\n }\n\n .dataframe thead th {\n text-align:
right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n
<tr style=\"text-align: right;\">\n <th></th>\n <th>sentence</th>\n
<th>emotion</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n
<td>i just feel really helpless and heavy hearted</td>\n <td>fear</td>\n
</tr>\n <tr>\n <th>1</th>\n <td>ive enjoyed being able to slouch about
relax a...</td>\n <td>sad</td>\n </tr>\n <tr>\n <th>2</th>\n
<td>i gave up my internship with the dmrg and am f...</td>\n <td>fear</td>\n
</tr>\n <tr>\n <th>3</th>\n <td>i dont know i feel so lost</td>\n
<td>sad</td>\n </tr>\n <tr>\n <th>4</th>\n <td>i am a kindergarten
teacher and i am thoroughl...</td>\n <td>fear</td>\n </tr>\n
</tbody>\n</table>\n</div>"},"metadata":{}}],"execution_count":6},
{"cell_type":"code","source":"df2.head()","metadata":{"trusted":true,"execution":
{"iopub.status.busy":"2025-06-21T14:18:12.224659Z","iopub.execute_input":"2025-06-
21T14:18:12.225568Z","iopub.status.idle":"2025-06-
21T14:18:12.234477Z","shell.execute_reply.started":"2025-06-
21T14:18:12.225539Z","shell.execute_reply":"2025-06-
21T14:18:12.233358Z"}},"outputs":
[{"execution_count":7,"output_type":"execute_result","data":{"text/plain":"
sentence sentiment\n0 So there is no way for me to plug it in here i... negative\
n1 Good case, Excellent value. positive\n2
Great for the jawbone. positive\n3 Tied to charger for conversations lasting
more... negative\n4 The mic is great.
positive","text/html":"<div>\n<style scoped>\n .dataframe tbody tr th:only-of-
type {\n vertical-align: middle;\n }\n\n .dataframe tbody tr th {\n
vertical-align: top;\n }\n\n .dataframe thead th {\n text-align:
right;\n }\n</style>\n<table border=\"1\" class=\"dataframe\">\n <thead>\n
<tr style=\"text-align: right;\">\n <th></th>\n <th>sentence</th>\n
<th>sentiment</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n
<td>So there is no way for me to plug it in here i...</td>\n
<td>negative</td>\n </tr>\n <tr>\n <th>1</th>\n <td>Good case,
Excellent value.</td>\n <td>positive</td>\n </tr>\n <tr>\n
<th>2</th>\n <td>Great for the jawbone.</td>\n <td>positive</td>\n
</tr>\n <tr>\n <th>3</th>\n <td>Tied to charger for conversations
lasting more...</td>\n <td>negative</td>\n </tr>\n <tr>\n
<th>4</th>\n <td>The mic is great.</td>\n <td>positive</td>\n </tr>\n
</tbody>\n</table>\n</div>"},"metadata":{}}],"execution_count":7},
{"cell_type":"code","source":"# Strategy 1: Outer merge (keeps all data)\
nmerged_outer = pd.merge(df1, df2, on='sentence', how='outer')\nprint(\"Outer merge
shape:\", merged_outer.shape)\n\n# Strategy 2: Create separate datasets with
unified structure\ndf1_unified = df1.copy()\ndf1_unified['label_type'] = 'emotion'\
ndf1_unified['label'] = df1_unified['emotion']\ndf1_unified =
df1_unified[['sentence', 'label', 'label_type']]\n\ndf2_unified = df2.copy()\
ndf2_unified['label_type'] = 'sentiment'\ndf2_unified['label'] =
df2_unified['sentiment']\ndf2_unified = df2_unified[['sentence', 'label',
'label_type']]\n\n# Combine both datasets\ncombined_df = pd.concat([df1_unified,
df2_unified], ignore_index=True)\nprint(\"Combined dataset shape:\",
combined_df.shape)\n","metadata":{"trusted":true,"execution":
{"iopub.status.busy":"2025-06-21T14:18:55.252761Z","iopub.execute_input":"2025-06-
21T14:18:55.253196Z","iopub.status.idle":"2025-06-
21T14:18:56.642879Z","shell.execute_reply.started":"2025-06-
21T14:18:55.253147Z","shell.execute_reply":"2025-06-
21T14:18:56.641910Z"}},"outputs":[{"name":"stdout","text":"Outer merge shape:
(426055, 3)\nCombined dataset shape: (426055, 3)\
n","output_type":"stream"}],"execution_count":8},{"cell_type":"code","source":"#
Create emotion to sentiment mapping\nemotion_to_sentiment = {\n 'joy':
'positive',\n 'love': 'positive',\n 'surprise': 'positive',\n 'fear':
'negative',\n 'anger': 'negative',\n 'sadness': 'negative',\n 'sad':
'negative',\n 'disgust': 'negative'\n}\n\n# Apply mapping to emotion dataset\
ndf1_mapped = df1.copy()\ndf1_mapped['sentiment'] =
df1_mapped['emotion'].map(emotion_to_sentiment)\n\n# Combine with sentiment
dataset\nall_sentiment_data = pd.concat([\n df1_mapped[['sentence',
'sentiment']].dropna(),\n df2[['sentence', 'sentiment']]\n], ignore_index=True)\
n\nprint(\"Combined sentiment dataset shape:\", all_sentiment_data.shape)\
nprint(\"\\nSentiment distribution:\")\
nprint(all_sentiment_data['sentiment'].value_counts())\n","metadata":
{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T14:19:54.164678Z","iopub.execute_input":"2025-06-
21T14:19:54.165340Z","iopub.status.idle":"2025-06-
21T14:19:54.348068Z","shell.execute_reply.started":"2025-06-
21T14:19:54.165305Z","shell.execute_reply":"2025-06-
21T14:19:54.347129Z"}},"outputs":[{"name":"stdout","text":"Combined sentiment
dataset shape: (411083, 2)\n\nSentiment distribution:\nsentiment\nnegative
231783\npositive 179300\nName: count, dtype: int64\
n","output_type":"stream"}],"execution_count":9},{"cell_type":"code","source":"from
sklearn.model_selection import train_test_split\nfrom
sklearn.feature_extraction.text import TfidfVectorizer\nfrom sklearn.linear_model
import LogisticRegression\nfrom sklearn.multioutput import MultiOutputClassifier\
nfrom sklearn.preprocessing import LabelEncoder\nimport re\nimport nltk\nfrom
nltk.corpus import stopwords\nfrom nltk.stem import WordNetLemmatizer","metadata":
{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T14:20:38.749342Z","iopub.execute_input":"2025-06-
21T14:20:38.749834Z","iopub.status.idle":"2025-06-
21T14:20:38.755716Z","shell.execute_reply.started":"2025-06-
21T14:20:38.749796Z","shell.execute_reply":"2025-06-
21T14:20:38.754546Z"}},"outputs":[],"execution_count":11},
{"cell_type":"code","source":"#
Download required NLTK data\nnltk.download('stopwords', quiet=True)\
nnltk.download('wordnet', quiet=True)\n","metadata":{"trusted":true,"execution":
{"iopub.status.busy":"2025-06-21T14:21:01.589749Z","iopub.execute_input":"2025-06-
21T14:21:01.590110Z","iopub.status.idle":"2025-06-
21T14:21:01.796633Z","shell.execute_reply.started":"2025-06-
21T14:21:01.590084Z","shell.execute_reply":"2025-06-
21T14:21:01.795482Z"}},"outputs":
[{"execution_count":12,"output_type":"execute_result","data":{"text/
plain":"True"},"metadata":{}}],"execution_count":12},
{"cell_type":"code","source":"def preprocess_text(text):\n if pd.isna(text):\n
return \"\"\n text = str(text).lower()\n text = re.sub(r'[^a-zA-Z\\s]', '',
text)\n text = ' '.join(text.split())\n return text","metadata":
{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T14:21:14.079174Z","iopub.execute_input":"2025-06-
21T14:21:14.080140Z","iopub.status.idle":"2025-06-
21T14:21:14.085323Z","shell.execute_reply.started":"2025-06-
21T14:21:14.080081Z","shell.execute_reply":"2025-06-
21T14:21:14.084078Z"}},"outputs":[],"execution_count":13},
{"cell_type":"code","source":"merged_clean = merged_outer.copy()\
nmerged_clean['sentence'] =
merged_clean['sentence'].apply(preprocess_text)","metadata":
{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T14:21:28.488029Z","iopub.execute_input":"2025-06-
21T14:21:28.489154Z","iopub.status.idle":"2025-06-
21T14:21:30.604350Z","shell.execute_reply.started":"2025-06-
21T14:21:28.489113Z","shell.execute_reply":"2025-06-
21T14:21:30.603153Z"}},"outputs":[],"execution_count":14},
{"cell_type":"code","source":"merged_clean['emotion'] =
merged_clean['emotion'].fillna('unknown')\nmerged_clean['sentiment'] =
merged_clean['sentiment'].fillna('unknown')","metadata":
{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T14:21:42.024781Z","iopub.execute_input":"2025-06-
21T14:21:42.025227Z","iopub.status.idle":"2025-06-
21T14:21:42.103347Z","shell.execute_reply.started":"2025-06-
21T14:21:42.025201Z","shell.execute_reply":"2025-06-
21T14:21:42.102241Z"}},"outputs":[],"execution_count":15},
{"cell_type":"code","source":"emotion_encoder = LabelEncoder()\nsentiment_encoder =
LabelEncoder()","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-
06-21T14:21:50.633767Z","iopub.execute_input":"2025-06-
21T14:21:50.634121Z","iopub.status.idle":"2025-06-
21T14:21:50.639634Z","shell.execute_reply.started":"2025-06-
21T14:21:50.634097Z","shell.execute_reply":"2025-06-
21T14:21:50.638547Z"}},"outputs":[],"execution_count":16},
{"cell_type":"code","source":"merged_clean['emotion_encoded'] =
emotion_encoder.fit_transform(merged_clean['emotion'])\
nmerged_clean['sentiment_encoded'] =
sentiment_encoder.fit_transform(merged_clean['sentiment'])","metadata":
{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T14:22:12.322622Z","iopub.execute_input":"2025-06-
21T14:22:12.323037Z","iopub.status.idle":"2025-06-
21T14:22:12.485163Z","shell.execute_reply.started":"2025-06-
21T14:22:12.323007Z","shell.execute_reply":"2025-06-
21T14:22:12.484203Z"}},"outputs":[],"execution_count":17},
{"cell_type":"code","source":"X = merged_clean['sentence']\ny_emotion =
merged_clean['emotion_encoded']\ny_sentiment =
merged_clean['sentiment_encoded']","metadata":{"trusted":true,"execution":
{"iopub.status.busy":"2025-06-21T14:22:23.365806Z","iopub.execute_input":"2025-06-
21T14:22:23.366444Z","iopub.status.idle":"2025-06-
21T14:22:23.371660Z","shell.execute_reply.started":"2025-06-
21T14:22:23.366413Z","shell.execute_reply":"2025-06-
21T14:22:23.370427Z"}},"outputs":[],"execution_count":18},
{"cell_type":"code","source":"X_train, X_test, y_emotion_train, y_emotion_test,
y_sentiment_train, y_sentiment_test = train_test_split(\n X, y_emotion,
y_sentiment, test_size=0.2, random_state=42\n)","metadata":
{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T14:22:33.214147Z","iopub.execute_input":"2025-06-
21T14:22:33.214490Z","iopub.status.idle":"2025-06-
21T14:22:33.285015Z","shell.execute_reply.started":"2025-06-
21T14:22:33.214467Z","shell.execute_reply":"2025-06-
21T14:22:33.284083Z"}},"outputs":[],"execution_count":19},
{"cell_type":"code","source":"# Create TF-IDF vectorizer\nvectorizer =
TfidfVectorizer(max_features=10000, ngram_range=(1, 2), stop_words='english')\
nX_train_tfidf = vectorizer.fit_transform(X_train)\nX_test_tfidf =
vectorizer.transform(X_test)","metadata":{"trusted":true,"execution":
{"iopub.status.busy":"2025-06-21T14:22:41.494723Z","iopub.execute_input":"2025-06-
21T14:22:41.495127Z","iopub.status.idle":"2025-06-
21T14:22:57.649548Z","shell.execute_reply.started":"2025-06-
21T14:22:41.495096Z","shell.execute_reply":"2025-06-
21T14:22:57.648607Z"}},"outputs":[],"execution_count":20},
{"cell_type":"code","source":"# Train separate models for emotion and sentiment\
nemotion_model = LogisticRegression(random_state=42, max_iter=1000)\
nsentiment_model = LogisticRegression(random_state=42, max_iter=1000)","metadata":
{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T14:24:25.314290Z","iopub.execute_input":"2025-06-
21T14:24:25.314656Z","iopub.status.idle":"2025-06-
21T14:24:25.319859Z","shell.execute_reply.started":"2025-06-
21T14:24:25.314634Z","shell.execute_reply":"2025-06-
21T14:24:25.318647Z"}},"outputs":[],"execution_count":21},
{"cell_type":"code","source":"# Filter out 'unknown' labels for training\
nemotion_mask = y_emotion_train != emotion_encoder.transform(['unknown'])[0]\
nsentiment_mask = y_sentiment_train != sentiment_encoder.transform(['unknown'])
[0]","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T14:24:31.399858Z","iopub.execute_input":"2025-06-
21T14:24:31.400681Z","iopub.status.idle":"2025-06-
21T14:24:31.406716Z","shell.execute_reply.started":"2025-06-
21T14:24:31.400652Z","shell.execute_reply":"2025-06-
21T14:24:31.405630Z"}},"outputs":[],"execution_count":22},
{"cell_type":"code","source":"# Train emotion model\
nemotion_model.fit(X_train_tfidf[emotion_mask.values],
y_emotion_train[emotion_mask])\
nsentiment_model.fit(X_train_tfidf[sentiment_mask.values],
y_sentiment_train[sentiment_mask])\n\nprint(\"Models trained
successfully!\")","metadata":{"trusted":true,"execution":
{"iopub.status.busy":"2025-06-21T14:28:14.194126Z","iopub.execute_input":"2025-06-
21T14:28:14.194458Z","iopub.status.idle":"2025-06-
21T14:29:24.357127Z","shell.execute_reply.started":"2025-06-
21T14:28:14.194437Z","shell.execute_reply":"2025-06-
21T14:29:24.355274Z"}},"outputs":[{"name":"stdout","text":"Models trained
successfully!\n","output_type":"stream"}],"execution_count":25},
{"cell_type":"code","source":"from sklearn.metrics import classification_report,
confusion_matrix, accuracy_score\nimport matplotlib.pyplot as plt\nimport seaborn
as sns","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T14:31:55.326789Z","iopub.execute_input":"2025-06-
21T14:31:55.327144Z","iopub.status.idle":"2025-06-
21T14:31:55.813655Z","shell.execute_reply.started":"2025-06-
21T14:31:55.327120Z","shell.execute_reply":"2025-06-
21T14:31:55.812545Z"}},"outputs":[],"execution_count":26},
{"cell_type":"code","source":"# Evaluate emotion model\nemotion_test_mask =
y_emotion_test != emotion_encoder.transform(['unknown'])[0]\nemotion_pred =
emotion_model.predict(X_test_tfidf[emotion_test_mask.values])\nemotion_true =
y_emotion_test[emotion_test_mask]","metadata":{"trusted":true,"execution":
{"iopub.status.busy":"2025-06-21T14:32:04.381021Z","iopub.execute_input":"2025-06-
21T14:32:04.381534Z","iopub.status.idle":"2025-06-
21T14:32:04.406489Z","shell.execute_reply.started":"2025-06-
21T14:32:04.381507Z","shell.execute_reply":"2025-06-
21T14:32:04.405244Z"}},"outputs":[],"execution_count":27},
{"cell_type":"code","source":"from sklearn.metrics import accuracy_score,
classification_report\n\n# ✅ Define the full set of labels using the LabelEncoder\
nlabels = list(range(len(emotion_encoder.classes_)))\n\n# 📊 Evaluate the emotion
model\nprint(\"=== EMOTION MODEL EVALUATION ===\")\nprint(f\"Accuracy:
{accuracy_score(emotion_true, emotion_pred):.4f}\")\nprint(\"\\nClassification
Report:\")\nprint(classification_report(\n emotion_true,\n emotion_pred,\n
labels=labels,\n target_names=emotion_encoder.classes_\n))","metadata":
{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T14:36:03.822258Z","iopub.execute_input":"2025-06-
21T14:36:03.823204Z","iopub.status.idle":"2025-06-
21T14:36:04.029958Z","shell.execute_reply.started":"2025-06-
21T14:36:03.823168Z","shell.execute_reply":"2025-06-
21T14:36:04.028791Z"}},"outputs":[{"name":"stdout","text":"=== EMOTION MODEL
EVALUATION ===\nAccuracy: 0.9057\n\nClassification Report:\n precision
recall f1-score support\n\n anger 0.92 0.91 0.91
11991\n fear 0.86 0.86 0.86 9911\n joy
0.92 0.94 0.93 28528\n love 0.81 0.78 0.80
6944\n sad 0.95 0.95 0.95 24158\n suprise
0.77 0.71 0.74 3025\n unknown 0.00 0.00 0.00
0\n\n micro avg 0.91 0.91 0.91 84557\n macro avg 0.75
0.73 0.74 84557\nweighted avg 0.90 0.91 0.91 84557\n\
n","output_type":"stream"},{"name":"stderr","text":"/usr/local/lib/python3.11/dist-
packages/sklearn/metrics/_classification.py:1344: UndefinedMetricWarning: Precision
and F-score are ill-defined and being set to 0.0 in labels with no predicted
samples. Use `zero_division` parameter to control this behavior.\n
_warn_prf(average, modifier, msg_start,
len(result))\n/usr/local/lib/python3.11/dist-packages/sklearn/metrics/
_classification.py:1344: UndefinedMetricWarning: Recall and F-score are ill-defined
and being set to 0.0 in labels with no true samples. Use `zero_division` parameter
to control this behavior.\n _warn_prf(average, modifier, msg_start,
len(result))\n/usr/local/lib/python3.11/dist-packages/sklearn/metrics/
_classification.py:1344: UndefinedMetricWarning: Precision and F-score are ill-
defined and being set to 0.0 in labels with no predicted samples. Use
`zero_division` parameter to control this behavior.\n _warn_prf(average, modifier,
msg_start, len(result))\n/usr/local/lib/python3.11/dist-packages/sklearn/metrics/
_classification.py:1344: UndefinedMetricWarning: Recall and F-score are ill-defined
and being set to 0.0 in labels with no true samples. Use `zero_division` parameter
to control this behavior.\n _warn_prf(average, modifier, msg_start, len(result))\
n/usr/local/lib/python3.11/dist-packages/sklearn/metrics/_classification.py:1344:
UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0
in labels with no predicted samples. Use `zero_division` parameter to control this
behavior.\n _warn_prf(average, modifier, msg_start,
len(result))\n/usr/local/lib/python3.11/dist-packages/sklearn/metrics/
_classification.py:1344: UndefinedMetricWarning: Recall and F-score are ill-defined
and being set to 0.0 in labels with no true samples. Use `zero_division` parameter
to control this behavior.\n _warn_prf(average, modifier, msg_start, len(result))\
n","output_type":"stream"}],"execution_count":29},{"cell_type":"code","source":"#
Evaluate sentiment model\nsentiment_test_mask = y_sentiment_test !=
sentiment_encoder.transform(['unknown'])[0]\nsentiment_pred =
sentiment_model.predict(X_test_tfidf[sentiment_test_mask.values])\nsentiment_true =
y_sentiment_test[sentiment_test_mask]","metadata":{"trusted":true,"execution":
{"iopub.status.busy":"2025-06-21T14:36:28.907467Z","iopub.execute_input":"2025-06-
21T14:36:28.907785Z","iopub.status.idle":"2025-06-
21T14:36:28.915915Z","shell.execute_reply.started":"2025-06-
21T14:36:28.907761Z","shell.execute_reply":"2025-06-
21T14:36:28.914930Z"}},"outputs":[],"execution_count":30},
{"cell_type":"code","source":"from sklearn.metrics import accuracy_score,
classification_report\n\n# ✅ Ensure proper label alignment\nsentiment_labels =
list(range(len(sentiment_encoder.classes_)))\n\n# 📊 Sentiment Model Evaluation\
nprint(\"\\n=== SENTIMENT MODEL EVALUATION ===\")\nprint(f\"Accuracy:
{accuracy_score(sentiment_true, sentiment_pred):.4f}\")\nprint(\"\\nClassification
Report:\")\nprint(classification_report(\n sentiment_true,\n sentiment_pred,\
n labels=sentiment_labels,\n target_names=sentiment_encoder.classes_\
n))","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T14:37:57.552470Z","iopub.execute_input":"2025-06-
21T14:37:57.552800Z","iopub.status.idle":"2025-06-
21T14:37:57.570065Z","shell.execute_reply.started":"2025-06-
21T14:37:57.552773Z","shell.execute_reply":"2025-06-
21T14:37:57.569118Z"}},"outputs":[{"name":"stdout","text":"\n=== SENTIMENT MODEL
EVALUATION ===\nAccuracy: 0.7829\n\nClassification Report:\n precision
recall f1-score support\n\n negative 0.76 0.82 0.79
325\n positive 0.81 0.74 0.77 329\n unknown 0.00
0.00 0.00 0\n\n micro avg 0.78 0.78 0.78 654\n
macro avg 0.52 0.52 0.52 654\nweighted avg 0.79
0.78 0.78
654\n\n","output_type":"stream"},{"name":"stderr","text":"/usr/local/lib/
python3.11/dist-packages/sklearn/metrics/_classification.py:1344:
UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0
in labels with no predicted samples. Use `zero_division` parameter to control this
behavior.\n _warn_prf(average, modifier, msg_start,
len(result))\n/usr/local/lib/python3.11/dist-packages/sklearn/metrics/
_classification.py:1344: UndefinedMetricWarning: Recall and F-score are ill-defined
and being set to 0.0 in labels with no true samples. Use `zero_division` parameter
to control this behavior.\n _warn_prf(average, modifier, msg_start, len(result))\
n/usr/local/lib/python3.11/dist-packages/sklearn/metrics/_classification.py:1344:
UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0
in labels with no predicted samples. Use `zero_division` parameter to control this
behavior.\n _warn_prf(average, modifier, msg_start,
len(result))\n/usr/local/lib/python3.11/dist-packages/sklearn/metrics/
_classification.py:1344: UndefinedMetricWarning: Recall and F-score are ill-defined
and being set to 0.0 in labels with no true samples. Use `zero_division` parameter
to control this behavior.\n _warn_prf(average, modifier, msg_start, len(result))\
n/usr/local/lib/python3.11/dist-packages/sklearn/metrics/_classification.py:1344:
UndefinedMetricWarning: Precision and F-score are ill-defined and being set to 0.0
in labels with no predicted samples. Use `zero_division` parameter to control this
behavior.\n _warn_prf(average, modifier, msg_start,
len(result))\n/usr/local/lib/python3.11/dist-packages/sklearn/metrics/
_classification.py:1344: UndefinedMetricWarning: Recall and F-score are ill-defined
and being set to 0.0 in labels with no true samples. Use `zero_division` parameter
to control this behavior.\n _warn_prf(average, modifier, msg_start, len(result))\
n","output_type":"stream"}],"execution_count":32},{"cell_type":"code","source":"#
Create confusion matrices\nfig, axes = plt.subplots(1, 2, figsize=(15, 6))\n\n#
Emotion confusion matrix\ncm_emotion = confusion_matrix(emotion_true,
emotion_pred)\nsns.heatmap(cm_emotion, annot=True, fmt='d', cmap='Blues', \n
xticklabels=emotion_encoder.classes_[np.unique(emotion_true)],\n
yticklabels=emotion_encoder.classes_[np.unique(emotion_true)],\n
ax=axes[0])\naxes[0].set_title('Emotion Model Confusion Matrix')\
naxes[0].set_xlabel('Predicted')\naxes[0].set_ylabel('Actual')\n\n# Sentiment
confusion matrix\ncm_sentiment = confusion_matrix(sentiment_true, sentiment_pred)\
nsns.heatmap(cm_sentiment, annot=True, fmt='d', cmap='Greens',\n
xticklabels=sentiment_encoder.classes_[np.unique(sentiment_true)],\n
yticklabels=sentiment_encoder.classes_[np.unique(sentiment_true)],\n
ax=axes[1])\naxes[1].set_title('Sentiment Model Confusion Matrix')\
naxes[1].set_xlabel('Predicted')\naxes[1].set_ylabel('Actual')\n\
nplt.tight_layout()\nplt.show()\n","metadata":{"trusted":true,"execution":
{"iopub.status.busy":"2025-06-21T14:38:10.873901Z","iopub.execute_input":"2025-06-
21T14:38:10.874814Z","iopub.status.idle":"2025-06-
21T14:38:11.703404Z","shell.execute_reply.started":"2025-06-
21T14:38:10.874770Z","shell.execute_reply":"2025-06-
21T14:38:11.702235Z"}},"outputs":[{"output_type":"display_data","data":{"text/
plain":"<Figure size 1500x600 with 4
Axes>","image/png":"iVBORw0KGgoAAAANSUhEUgAABagAAAJOCAYAAABSnuBAAAAAOXRFWHRTb2Z0d2F
yZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/
AAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzdd1xN/x8H8NctbZVSKaJJtmxJhBSy188W2ZXtS/
bO3pFZvsjemdlfm2yRLauyGtrj/P7o2+WqS77Uqbye38d9fLuf8znnvM/
pun3u577P+0gEQRBARERERERERERERJTLFMQOgIiIiIiIiIiIiIj+TJygJiIiIiIiIiIiIiJRcIKaiIiIiI
iIiIiIiETBCWoiIiIiIiIiIiIiEgUnqImIiIiIiIiIiIhIFJygJiIiIiIiIiIiIiJRcIKaiIiIiIiIiIiIi
ETBCWoiIiIiIiIiIiIiEgUnqImIiIiIiIiIiIhIFJygJspnnj9/DolEAj8/
P7FDyTWnT5+GRCLB6dOnf3pdPz8/SCQSPH/+/LfH9btdvXoVdevWhYaGBiQSCW7evPlbt/
8r57GgMjU1hYuLi9hhEBERkYhcXFxgamoqdhgFxq+MryQSCaZMmfJb48kJnz9/Rt+
+fWFoaAiJRIJhw4b99n1wnCprypQpkEgkYodBRDmEE9RE+DKJKe9x6dKlXI/
J398fixcvzvX9fo+LiwskEgm0tLQQHx+fafmjR4+k52z+/
PkiRPjrbt68ie7du6NkyZJQUVGBrq4uHBwc4Ovri9TU1Bzbb3JyMjp27IiPHz9i0aJF2LhxI0xMTHJsf7nN
3t4eEokEpUuXznJ5YGCg9LWzc+fOn95+cHAwpkyZki+
+iCAiIvqT3blzBx06dICJiQlUVVVRokQJNGnSBMuWLcvR/
b558wZTpkz57QkAuSUuLg5TpkzJdqJBRmKCRCLBpk2bsuxja2sLiUSCihUr/
sZIc090dDSmTp2KKlWqoHDhwlBTU0PFihUxZswYvHnzJkf3PWvWLPj5+WHQoEHYuHEjevTokaP7y01ffzY+
d+5cpuWCIKBkyZKQSCRo0aLFf9rHrFmzsHfv3l+MlIgKkkJiB0CUl0ybNg1mZmaZ2i0tLXM9Fn9/
f9y9ezfTt/
EmJiaIj4+HkpJSrscEAIUKFUJcXBwOHDiATp06ySzbvHkzVFVVkZCQIEpsv2rt2rUYOHAgihUrhh49eqB06
dKIiYnBiRMn4Orqirdv32LcuHE5su8nT57gxYsXWLNmDfr27Zsj+6hfvz7i4+OhrKycI9v/EVVVVTx+/
BhXrlxBrVq1ZJb96msnODgYU6dOhb29/U9lQIWEhEBBgd/
VEhER5YYLFy6gYcOGKFWqFPr16wdDQ0O8fPkSly5dwpIlS+Dh4ZFj+37z5g2mTp0KU1NTWFtbyyxbs2YN0t
LScmzfv0NcXBymTp0KIP2L/+xSVVWFv78/unfvLtP+/
PlzXLhwAaqqqr8zzFzz9OlTODg4IDQ0FB07dkT//v2hrKyM27dvY926ddizZw8ePnyYY/s/
efIk6tSpg8mTJ+fYPsQep2a8durVqyfTfubMGbx69QoqKir/eduzZs1Chw4d0KZNm2yvM2HCBIwdO/Y/
75OI8jZOUBN9pVmzZqhRo4bYYXyXRCIRdSCpoqICW1tbbNmyJdMEtb+/
P5ydnbFr1y6RovvvLl26hIEDB8LGxgaHDh2CpqamdNmwYcNw7do13L17N8f2HxERAQAoUqRIju1DQUFB1Ne
OhYUFUlJSsGXLFpkJ6oSEBOzZsyfXXjuCICAhIQFqamq/
NLAmIiKinzNz5kxoa2vj6tWrmcY8GWMhMYiV+JEbmjdvjv379+P9+/
fQ09OTtvv7+6NYsWIoXbo0Pn36JGKEPy8lJQXt2rVDeHg4Tp8+nWkCdebMmZgzZ06OxhAREYHy5cvn6D7EH
qc2b94cO3bswNKlS1Go0JepI39/f1SvXh3v37/PlThiY2OhoaGBQoUKycRBRAUL08aIfkJG/
ef58+fD29sb5ubmUFdXh6OjI16+fAlBEDB9+nQYGxtDTU0NrVu3xsePHzNtZ8WKFahQoQJUVFRQvHhxuLm5
ITIyUrrc3t4eBw8exIsXL6SXV2VkhcqrQX3y5EnY2dlBQ0MDRYoUQevWrXH//n2ZPhl1ux4/
fgwXFxcUKVIE2tra6N27N+Li4rJ9Hrp27YrDhw/
LxHz16lU8evQIXbt2zXKdp0+fomPHjtDV1YW6ujrq1KmDgwcPZur36tUrtGnTBhoaGjAwMMDw4cORmJiY5T
YvX76Mpk2bQltbG+rq6mjQoAHOnz+f7eP42tSpUyGRSLB582aZyekMNWrUkKkBFxsbi5EjR0pLgVhZWWH+/
PkQBEFmPYlEAnd3d+zduxcVK1aEiooKKlSogCNHjkj7uLi4oEGDBgCAjh07QiKRSDNj7O3ts8ySyapW4tat
W1G9enVoampCS0sLlSpVwpIlS6TL5dWg3rFjB6pXrw41NTXo6emhe/
fueP36dab9FS5cGK9fv0abNm1QuHBh6OvrY9SoUT9V+qRLly7Ytm2bTJbSgQMHEBcXl+kLDwB48eIFBg8eD
CsrK6ipqaFo0aLo2LGjTCkPPz8/
dOzYEQDQsGFD6b+ZjOM0NTVFixYtcPToUdSoUQNqampYtWqVdFnG71UQBDRs2BD6+voyH5KTkpJQqVIlWFh
YIDY2NtvHSkRERLKePHmCChUqZPmFvIGBQaa2TZs2Sccourq66Ny5M16+fCnTx97eHhUrVkRwcDAaNmwIdX
V1lChRAnPnzpX2OX36NGrWrAkA6N27t3SskDGe/nZc9bvG/
IcPH5aOzzU1NeHs7Ix79+7J9MnOGOv58+fQ19cH8GXMmt1aza1bt4aKigp27Ngh0+7v749OnTpBUVEx0zop
KSmYPn06LCwsoKKiAlNTU4wbNy7TmFwQBMyYMQPGxsZQV1dHw4YNMx1fhsjISAwbNkw6dra0tMScOXP+U+b
6rl27cOvWLYwfPz7T5DQAaGlpYebMmTJtv2u8mzGefvbsGQ4ePCj9XTx//lzuvW+yGoM/
evQI7du3h6GhIVRVVWFsbIzOnTsjKipK2ierGtTZ+UyVsb/
t27dj5syZMDY2hqqqKho3bozHjx9n9zSjS5cu+PDhAwIDA6VtSUlJ2Llzp9zPfPPnz0fdunVRtGhRqKmpoX
r16pnK90kkEsTGxmLDhg3S85dxnBmfV4ODg9G1a1fo6OhIf8ff1qD29fWFRCLB+vXrZbY/a
9YsSCQSHDp0KNvHSkTi4wQ10VeioqLw/
v17mceHDx8y9du8eTNWrFgBDw8PjBw5EmfOnEGnTp0wYcIEHDlyBGPGjEH//
v1x4MABjBo1SmbdKVOmwM3NDcWLF8eCBQvQvn17rFq1Co6OjkhOTgYAjB8/
HtbW1tDT08PGjRuxcePG79ajPn78OJycnBAREYEpU6ZgxIgRuHDhAmxtbbOsydupUyfExMTAy8sLnTp1gp+
fn/SSwexo164dJBIJdu/eLW3z9/dH2bJlUa1atUz9w8PDUbduXRw9ehSDBw/
GzJkzkZCQgFatWmHPnj3SfvHx8WjcuDGOHj0Kd3d3jB8/Hv/88w/+
+uuvTNs8efIk6tevj+joaEyePBmzZs1CZGQkGjVqhCtXrmT7WID0SyZPnDiB+vXro1SpUj/
sLwgCWrVqhUWLFqFp06ZYuHAhrKysMHr0aIwYMSJT/
3PnzmHw4MHo3Lkz5s6di4SEBLRv31762howYIC0dMiQIUOwceNGjB8//
qeOITAwEF26dIGOjg7mzJmD2bNnw97e/
ocT9n5+ftIPJ15eXujXrx92796NevXqyXwBAQCpqalwcnJC0aJFMX/
+fDRo0AALFizA6tWrsx1n165d8fbtW5kBur+/Pxo3bpzlB9OrV6/
iwoUL6Ny5M5YuXYqBAwfixIkTsLe3l36pUr9+fQwZMgQAMG7cOOm/
mXLlykm3ExISgi5duqBJkyZYsmRJpkt7AUgHuAkJCRg4cKC0ffLkybh37x58fX2hoaGR7WMlIiIiWSYmJgg
KCsrWVWkzZ85Ez549Ubp0aSxcuBDDhg2Tjte+HaN8+vQJTZs2RZUqVbBgwQKULVsWY8aMweHDhwEA5cqVw7
Rp0wAA/fv3l44V6tev/90YfmXMv3HjRjg7O6Nw4cKYM2cOJk6ciODgYNSrVy/
T+PxHYyx9fX2sXLkSANC2bVtp/
O3atfvheVRXV0fr1q2xZcsWadutW7dw7949uZOMffv2xaRJk1CtWjUsWrQIDRo0gJeXFzp37izTb9KkSZg4
cSKqVKmCefPmwdzcHI6Ojpm+0I+Li0ODBg2wadMm9OzZE0uXLoWtrS08PT2zHDv/
yP79+wEg23Wff+d4t1y5cti4cSP09PRgbW0t/V1kfIGQHUlJSXBycsKlS5fg4eEBb29v9O/
fH0+fPs0Uz9ey+5kqw+zZs7Fnzx6MGjUKnp6euHTpErp165btOE1NTWFjYyPz2jl8+DCioqIyvRYyLFmyBF
WrVsW0adMwa9YsFCpUCB07dpSZRN+4cSNUVFRgZ2cnPX8DBgyQ2U7Hjh0RFxeHWbNmoV+/
flnuq3fv3mjRogVGjBgh/
eLqzp07mDp1KlxdXdG8efNsHysR5QECEQm+vr4CgCwfKioq0n7Pnj0TAAj6+vpCZGSktN3T01MAIFSpUkVI
Tk6Wtnfp0kVQVlYWEhISBEEQhIiICEFZWVlwdHQUUlNTpf2WL18uABDWr18vbXN2dhZMTEwyxZoRg6+vr7T
N2tpaMDAwED58+CBtu3XrlqCgoCD07NlT2jZ58mQBgNCnTx+ZbbZt21YoWrToD89Tr169BA0NDUEQBKFDhw
5C48aNBUEQhNTUVMHQ0FCYOnWqNL558+ZJ1xs2bJgAQPjnn3+kbTExMYKZmZlgamoqPReLFy8WAAjbt2+X9
ouNjRUsLS0FAMKpU6cEQRCEtLQ0oXTp0oKTk5OQlpYm7RsXFyeYmZkJTZo0kbZl/
G6fPXsm97hu3bolABCGDh36w3MgCIKwd+9eAYAwY8YMmfYOHToIEolEePz4sbQNgKCsrCzTlrG/
ZcuWSdtOnTolABB27Nghs80GDRoIDRo0yBRDr169ZF4fQ4cOFbS0tISUlBS5cWfsI+M8JiUlCQYGBkLFihW
F+Ph4ab+AgAABgDBp0iSZ/
QEQpk2bJrPNqlWrCtWrV5e7z6+Po0KFCoIgCEKNGjUEV1dXQRAE4dOnT4KysrKwYcOGLM9BXFxcpm1dvHhR
ACD8/
fff0rYdO3bIHNvXTExMBADCkSNHslzWq1cvmbZVq1YJAIRNmzYJly5dEhQVFYVhw4b98BiJiIjo+44dOyYo
KioKioqKgo2NjfDXX38JR48eFZKSkmT6PX/
+XFBUVBRmzpwp037nzh2hUKFCMu0NGjTINC5ITEwUDA0Nhfbt20vbrl69mmkMneHbcdWvjvljYmKEIkWKCP
369ZPZT1hYmKCtrS3Tnt0x1rt37wQAwuTJkzPFn5Wvx1UBAQGCRCIRQkNDBUEQhNGjRwvm5uaCIMiO0QRBE
G7evCkAEPr27SuzvVGjRgkAhJMnTwqC8OVzjbOzs8x4fNy4cQIAmfHV9OnTBQ0NDeHhw4cy2xw7dqygqKgo
jUsQhGwdY9WqVQVtbe1snYecGu+amJgIzs7OMm3yPnd8Owa/ceNGluP+b307Ts3uZ6qM/
ZUrV05ITEyU9l2yZIkAQLhz585395txHFevXhWWL18uaGpqSsfkHTt2FBo2bCj3HHw7dk9KShIqVqwoNGrU
SKZdQ0Mj0xhcEL58Xu3SpYvcZV97+/
atoKurKzRp0kRITEwUqlatKpQqVUqIior67jESUd7DDGqir3h7eyMwMFDmkZF58bWOHTtCW1tb+rx27doAg
O7du8vUxapduzaSkpKkl48dP34cSUlJGDZsmMwNL/
r16wctLa0sS178yNu3b3Hz5k24uLhAV1dX2l65cmU0adIky0ubvs4OBQA7Ozt8+PAB0dHR2d5v165dcfr0a
YSFheHkyZMICwuTm4Vx6NAh1KpVS+YSvMKFC6N///54/
vw5goODpf2MjIzQoUMHaT91dXX0799fZns3b96UlhP58OGDNNs9NjYWjRs3xtmzZ3/
qcsGM486qtIe841FUVJRm7WYYOXIkBEHI9JpxcHCAhYWF9HnlypWhpaWFp0+fZjvGHylSpAhiY2NlLsH7kW
vXriEiIgKDBw+WqU3t7OyMsmXLZvl6zOq187PH0bVrV+zevVt6iaCioiLatm2bZV81NTXpz8nJyfjw4QMsL
S1RpEgRXL9+Pdv7NDMzg5OTU7b69u/
fH05OTvDw8ECPHj1gYWGBWbNmZXtfRERElLUmTZrg4sWLaNWqFW7duoW5c+fCyckJJUqUkGbFAsDu3buRlp
aGTp06yVzZaGhoiNKlS+PUqVMy2y1cuLDMTQCVlZVRq1atXx5r/
dcxf2BgICIjI9GlSxeZ+BUVFVG7du1M8QO/
Z4wlj6OjI3R1dbF161YIgoCtW7eiS5cuWfbN+OzwbWbzyJEjAUA6Psz4XOPh4SFTduHbG7wD6eU17OzsoKO
jI3M+HBwckJqairNnz/7U8URHR2d73C7WePd7Ml5TR48e/akyi9n9TJWhd+/
eMjdHt7OzA4CfOpZOnTohPj4eAQEBiImJQUBAgNzPfIDs2P3Tp0+IioqCnZ3dT43bgcy/
A3kMDQ2ln+Ht7Oxw8+ZNrF+/
HlpaWj+1PyISHyvME32lVq1a2bpJ4rdlIDIGGSVLlsyyPePGIy9evAAAWFlZyfRTVlaGubm5dPnPkLdNIP0
StKNHj0pvLCEvfh0dHWmc2f1j3rx5c2hqamLbtm24efMmatasCUtLyyxLirx48UI6oP82vozlFStWxIsXL2
BpaSkzyM3q2B49egQA6NWrl9z4oqKipMf1IxnHHBMTk63+L168QPHixTMNjL8+nq9lVTZER0fnt96QZvDgw
di+fTuaNWuGEiVKwNHREZ06dULTpk3lrvO9107ZsmVx7tw5mTZVVdVMly/
+l+Po3LkzRo0ahcOHD2Pz5s1o0aKF3A8Z8fHx8PLygq+vL16/fi1T4/vrGn0/
YmZm9lMxrlu3DhYWFnj06BEuXLggM9gmIiKi/
65mzZrSL6pv3bqFPXv2YNGiRejQoQNu3ryJ8uXL49GjRxAEAaVLl85yG9/
e1NDY2DjT+FFHRwe3b9/+pVj/65g/Y6zaqFGjLLf77Xj7d42x5FFSUkLHjh3h7+
+PWrVq4eXLl3InGV+8eAEFBQVYWlrKtBsaGqJIkSLS8WPG/
7/9Henr62cagz969Ai3b9+WWwbjZ2+Q+TOJHmKNd7/HzMwMI0aMwMKFC7F582bY2dmhVatW6N69u8wXIt/
K7meqDN/7zJdd+vr6cHBwgL+/
P+Li4pCamiqTTPStgIAAzJgxAzdv3pSpWf7tv88f+Zmxe+fOnbFp0yYcPHgQ/
fv3R+PGjX9qX0SUN3CCmug/yOpmIt9r/3pSLS/
4HXGqqKigXbt22LBhA54+fZqtm7T8LhnZ0fPmzcuyljCQnk2QXZaWlihUqBDu3LnzO8LL5FfOt0QiybLftz
cmNDAwwM2bN3H06FEcPnwYhw8fhq+vL3r27IkNGzb8t8C/Ie84fpaRkRHs7e2xYMECnD9/
Hrt27ZLb18PDA76+vhg2bBhsbGygra0NiUSCzp07/1SW/
M9OMJ8+fVo6qL5z5w5sbGx+an0iIiL6PmVlZdSsWRM1a9ZEmTJl0Lt3b+zYsQOTJ09GWloaJBIJDh8+nOX4
49txXk6Nwf/rmD9jjLJx40YYGhpm6vd19vX3tvc7de3aFT4+PpgyZQqqVKmC8uXLf7f/
z04ofk9aWhqaNGmS5X1lAKBMmTI/tb2yZcvixo0bePnyZaYvC37Vr/
wu5J2zrG4ovmDBAri4uGDfvn04duwYhgwZAi8vL1y6dAnGxsb/OYav/a5/F127dkW/
fv0QFhaGZs2aZXmTUwD4559/0KpVK9SvXx8rVqyAkZERlJSU4OvrC39//5/
a58+M3T98+IBr164BAIKDg5GWliZztTIR5Q+coCbKRSYmJgDSb9hmbm4ubU9KSsKzZ8/
g4OAgbcvuoPDrbX7rwYMH0NPTy7Ebu3Xt2hXr16+HgoKC3BtlZMQoL76M5Rn/
v3v3LgRBkDn+b9fNKJehpaUlc87+K3V1dTRq1AgnT57M1kDXxMQEx48fR0xMjEzm77fH8zvo6OhkmSGSVba
9srIyWrZsiZYtWyItLQ2DBw/GqlWrMHHixExZMF/
HGRISkinDJyQk5Lcex7e6du2Kvn37okiRIt+9gcnOnTvRq1cvLFiwQNqWkJCQ6QYyv/
ND1Nu3b+Hh4QFHR0coKytj1KhRcHJyytHzQURE9CfLuILx7du3ANLHeoIgwMzM7KcnL+X5nWOFH8kYqxoYG
PyWsSrw6/HXq1cPpUqVwunTpzFnzhy5/UxMTJCWloZHjx7J3HA6PDwckZGRMuN2ID07+uvPNe/
evcuUoWthYYHPnz//tnPRsmVLbNmyBZs2bYKnp+d3++bmeDcjQ/
nbcaq8q2QrVaqESpUqYcKECdIb3Pv4+GDGjBlZ9s/
uZ6rfrW3bthgwYAAuXbqEbdu2ye23a9cuqKqq4ujRo1BRUZG2+/r6Zur7O/
89urm5ISYmBl5eXvD09MTixYv/0803iUhc/
FqJKBc5ODhAWVkZS5culfnmet26dYiKioKzs7O0TUNDI1slDIyMjGBtbY0NGzbIDIbu3r2LY8eO5ejdixs2
bIjp06dj+fLlWWaHZGjevDmuXLmCixcvSttiY2OxevVqmJqaSjM4mjdvjjdv3mDnzp3SfnFxcdK7ZmeoXr0
6LCwsMH/+fHz+/DnT/t69e/fTxzJ58mQIgoAePXpkuc2goCBpJnLz5s2RmpqK5cuXy/
RZtGgRJBIJmjVr9tP7l8fCwgIPHjyQOaZbt27h/
PnzMv0+fPgg81xBQQGVK1cGAJnL675Wo0YNGBgYwMfHR6bP4cOHcf/+fZnX4+/
WoUMHTJ48GStWrJCpjfctRUXFTFkey5Yty5SJkvElzPfufJ5d/
fr1Q1paGtatW4fVq1ejUKFCcHV1zXNXQhAREeU3p06dyvLvaUbd44wyDO3atYOioiKmTp2aqb8gCJnGPdnx
O8cKP+Lk5AQtLS3MmjULycnJmZb/
l7Gquro6gP8ev0QiwdKlSzF58mT06NFDbr+Mzw6LFy+WaV+4cCEASMeHDg4OUFJSwrJly2R+R9+uB6TXMb5
48SKOHj2aaVlkZCRSUlJ+6lg6dOiASpUqYebMmTKfLzLExMRg/
PjxAHJ3vJvxxcTXNbVTU1MzfZaJjo7OdMyVKlWCgoKC3HE7kP3PVL9b4cKFsXLlSkyZMgUtW7aU209RURES
iURmnP78+XPs3bs3U18NDY3f8m9x586d2LZtG2bPno2xY8eic+fOmDBhAh4+fPjL2yai3MUMaqKvHD58WPo
N9Nfq1q0rkxnwX+nr68PT0xNTp05F06ZN0apVK4SEhGDFihWoWbOmzM1dqlevjm3btmHEiBGoWbMmChcuLH
dAMG/ePDRr1gw2NjZwdXVFfHw8li1bBm1t7RwtvaGgoIAJEyb8sN/
YsWOxZcsWNGvWDEOGDIGuri42bNiAZ8+eYdeuXdJLsPr164fly5ejZ8+eCAoKgpGRETZu3CgdkH+937Vr16
JZs2aoUKECevfujRIlSuD169c4deoUtLS0cODAgZ86lrp168Lb2xuDBw9G2bJl0aNHD5QuXRoxMTE4ffo09
u/fL81maNmyJRo2bIjx48fj+fPnqFKlCo4dO4Z9+/Zh2LBhMjdE/
FV9+vTBwoUL4eTkBFdXV0RERMDHxwcVKlSQuall37598fHjRzRq1AjGxsZ48eIFli1bBmtra5nsl68pKSlh
zpw56N27Nxo0aIAuXbogPDwcS5YsgampKYYPH/
7bjuNb2X1ttmjRAhs3boS2tjbKly+Pixcv4vjx4yhatKhMP2traygqKmLOnDmIioqCiooKGjVqBAMDg5+Ky
9fXFwcPHoSfn5/08sply5ahe/
fuWLlyJQYPHvxT2yMiIqIvPDw8EBcXh7Zt26Js2bJISkrChQsXsG3bNpiamqJ3794A0if6ZsyYAU9PTzx//
hxt2rSBpqYmnj17hj179qB///4YNWrUT+3bwsICRYoUgY+PDzQ1NaGhoYHatWv/
9H0qskNLSwsrV65Ejx49UK1aNXTu3Bn6+voIDQ3FwYMHYWtrmynR4UfU1NRQvnx5bNu2DWXKlIGuri4qVqw
oU3P4R1q3bo3WrVt/
t0+VKlXQq1cvrF69GpGRkWjQoAGuXLmCDRs2oE2bNmjYsCGA9M81o0aNgpeXF1q0aIHmzZvjxo0bOHz4MPT
09GS2OXr0aOzfvx8tWrSAi4sLqlevjtjYWNy5cwc7d+7E8+fPM63zPUpKSti9ezccHBxQv359dOrUCba2tl
BSUsK9e/fg7+8PHR0dzJw5M1fHuxUqVECdOnXg6emJjx8/
Sm9M+e1k9MmTJ+Hu7o6OHTuiTJkySElJwcaNG6GoqIj27dvL3X52P1PlhO/
d+yeDs7MzFi5ciKZNm6Jr166IiIiAt7c3LC0tM9WDr169Oo4fP46FCxeiePHiMDMzy7K+9vdERERg0KBBaN
iwIdzd3QEAy5cvx6lTp+Di4oJz586x1AdRfiIQkeDr6ysAkPvw9fUVBEEQnj17JgAQ5s2bJ7P+qVOnBADCj
h07stzu1atXZdqXL18ulC1bVlBSUhKKFSsmDBo0SPj06ZNMn8+fPwtdu3YVihQpIgAQTExMZGLIiCnD8ePH
BVtbW0FNTU3Q0tISWrZsKQQHB8v0mTx5sgBAePfuXZZxPnv27LvnqVevXoKGhsZ3+8g7R0+ePBE6dOggFCl
SRFBVVRVq1aolBAQEZFr/
xYsXQqtWrQR1dXVBT09PGDp0qHDkyBEBgHDq1CmZvjdu3BDatWsnFC1aVFBRURFMTEyETp06CSdOnPjpY8s
QFBQkdO3aVShevLigpKQk6OjoCI0bNxY2bNggpKamSvvFxMQIw4cPl/YrXbq0MG/
ePCEtLU1mewAENze3TPsxMTERevXqJX0u7zUkCIKwadMmwdzcXFBWVhasra2Fo0ePCr169ZK+JgRBEHbu3C
k4OjoKBgYGgrKyslCqVClhwIABwtu3bzPt49vzuG3bNqFq1aqCioqKoKurK3Tr1k149eqVTB95v/
uM19SPNGjQQKhQocJ3+2R1Dj59+iT07t1b0NPTEwoXLiw4OTkJDx48yHT+BEEQ1qxZI5ibmwuKiooyx2liY
iI4Oztnuc+vt/
Py5UtBW1tbaNmyZaZ+bdu2FTQ0NISnT5/+8FiJiIgoa4cPHxb69OkjlC1bVihcuLCgrKwsWFpaCh4eHkJ4e
Him/rt27RLq1asnaGhoCBoaGkLZsmUFNzc3ISQkRNpH3hjj27GSIAjCvn37hPLlywuFChWSGU9/2/
d3jflPnTolODk5Cdra2oKqqqpgYWEhuLi4CNeuXZOJM7tjrAsXLgjVq1cXlJWVBQDC5MmTM633o1i/
ldX5S05OFqZOnSqYmZkJSkpKQsmSJQVPT08hISFBpl9qaqowdepUwcjISFBTUxPs7e2Fu3fvZjlOi4mJETw
9PQVLS0tBWVlZ0NPTE+rWrSvMnz9fSEpKkvb70XF97dOnT8KkSZOESpUqCerq6oKqqqpQsWJFwdPTU2YMLA
i/
f7wrb3z55MkTwcHBQVBRURGKFSsmjBs3TggMDJQZmz59+lTo06ePYGFhIaiqqgq6urpCw4YNhePHj2fax7f
nMTufqeT97uV9jvyWvNfzt7I6B+vWrRNKly4tqKioCGXLlhV8fX2zPH8PHjwQ6tevL6ipqQkApMcp7/
Pq18sytGvXTtDU1BSeP38u02/
fvn0CAGHOnDnfjZ+I8haJIPCaZSIiIiIiIiIiIiLKfbzegYiIiIiIiIiIiIhEwQlqIiIiIiIiIiIiIhIFJ6
iJiIiIiIiIiIiISBScoCYiIiIiIiIiIiIiUXCCmoiIiIiIiIiIiIhEwQlqIiIiIiIiIiIiIhIFJ6iJiIiIi
IiIiIiISBSFxA4gJyw990zsEP4ofWuZih3CH0MikYgdwh+Dpzp3paYJYofwx1BU4Is7N6nmkZGWWlX3HN9H
/I3lOb4Pyl8kTYzFDoGICoD4Iw/
FDoGI8jlVRXWxQwCQO2MjIfBVju8jJzCDmoiIiIiIiIiIiIhEkUfyeoiIiIgox0iYk0BEREREJCpeqi0XP6
0QERERERERERERkSiYQU1ERERU0DFbg4iIiIhIXEwTlounhoiIiIiIiIiIiIhEwQxqIiIiooKONaiJiIiIi
MTFqxrl4qcVIiIiIiIiIiIiIhIFM6iJiIiICjpmaxARERERiYtDcrmYQU1EREREREREREREomAGNREREVFB
xxrURERERETi4lWNcvHTChERERERERERERGJghnURERERAUdszWIiIiIiMTFNGG5eGqIiIiIiIiIiIiISBT
MoCYiIiIq6FiDmoiIiIhIXLyqUS5+WiEiIiIiIiIiIiIiUTCDmoiIiKigY7YGEREREZG4OCSXixnURERERE
RERERERCQKZlATERERFXSsQU1EREREJC4FplDLw08rRERERERERERERCQKZlATERERFXSsQU1EREREJC4Oy
eViBjURERERERERERERiYIZ1EREREQFHWtQExERERGJi1c1ysVPK0REREREREREREQkClEnqFNSUjBt2jS8
evVKzDCIiIiICjaJJOcfREREREQknyQXHvmUqBPUhQoVwrx585CSkiJmGEREREREREREREQkAtFrUDdq1Ah
nzpyBqamp2KEQERERFUysQU1EREREJC6FfJzinMNEn6Bu1qwZxo4dizt37qB69erQ0NCQWd6qVSuRIiMiIi
IiIiIiIiKinCT6BPXgwYMBAAsXLsy0TCKRIDU1NbdDIiIiIipYmEFNRERERCQuJlDLJfqnlbS0NLkPTk4TE
RERFTxeXl6oWbMmNDU1YWBggDZt2iAkJESmj729PSQSicxj4MCBMn1CQ0Ph7OwMdXV1GBgYYPTo0ZnubXL6
9GlUq1YNKioqsLS0hJ+fX6Z4vL29YWpqClVVVdSuXRtXrlz57cdMRERERERZE32C+msJCQlih0BERERU8Ch
Icv7xE86cOQM3NzdcunQJgYGBSE5OhqOj
I2JjY2X69evXD2/fvpU+5s6dK12WmpoKZ2dnJCUl4cKFC9iwYQP8/
PwwadIkaZ9nz57B2dkZDRs2xM2bNzFs2DD07dsXR48elfbZtm0bRowYgcmTJ+P69euoUqUKnJycEBER8R9P
NhERERFRFiSSnH/
kU6JPUKempmL69OkoUaIEChcujKdPnwIAJk6ciHXr1okcHRERERH9bkeOHIGLiwsqVKiAKlWqwM/
PD6GhoQgKCpLpp66uDkNDQ+lDS0tLuuzYsWMIDg7Gpk2bYG1tjWbNmmH69Onw9vZGUlISAMDHxwdmZmZYsG
ABypUrB3d3d3To0AGLFi2SbmfhwoXo168fevfujfLly8PHxwfq6upYv3597pwMIiIiIqI/
nOgT1DNnzoSfnx/mzp0LZWVlaXvFihWxdu1aESMjIiIiKiAkCjn/
+AVRUVEAAF1dXZn2zZs3Q09PDxUrVoSnpyfi4uKkyy5evIhKlSqhWLFi0jYnJydER0fj3r170j4ODg4y23R
ycsLFixcBAElJSQgKCpLpo6CgAAcHB2kfIiIiIqLfIo9d1ZiXiH6TxL///
hurV69G48aNZeoKVqlSBQ8ePBAxMiIiIiLKrsTERCQmJsq0qaioQEVF5bvrpaWlYdiwYbC1tUXFihWl7V27
doWJiQmKFy+O27dvY8yYMQgJCcHu3bsBAGFhYTKT0wCkz8PCwr7bJzo6GvHx8fj06RNSU1Oz7MNxKBERERF
R7hB9gvr169ewtLTM1J6Wlobk5GQRIiIiIiIqYHKhHp2XlxemTp0q0zZ58mRMmTLlu+u5ubnh7t27OHfunE
x7//79pT9XqlQJRkZGaNy4MZ48eQILC4vfFjcRERERUa7IvwnOOU70Eh/ly5fHP//
8k6l9586dqFq1qggREREREdHP8vT0RFRUlMzD09Pzu+u4u7sjICAAp06dgrGx8Xf71q5dGwDw+PFjAIChoS
HCw8Nl+mQ8NzQ0/
G4fLS0tqKmpQU9PD4qKiln2ydgGERERERHlLNEzqCdNmoRevXrh9evXSEtLw+7duxESEoK///
4bAQEBYocn15uQO7hxdCcinj9CXNRHNHObBPNqdaXLBUHAlX0bEXz2MBLjYmFkWR4NenigSLES0j7vXjzCh
Z3rEfHsISQKCrCoXg+2/+sPZVU1AEDC52gErpmD9y+fISE2Buqa2jCraoM67VygrKYBAIiN/
IDz29cg4vkjREW8QeXGrWHXZSD+NNu3bcHObVvw5s1rAIC5hSX6D3RDPbv60j63bt6A97LFuHPnNhQVFFDG
qhxWrFoLVVVVAEBUVCTmzJqBs2dOQaKggMYOjvhr7Dioq2uIckx5WdC1q9jguw73g+/
i3bt3WLjEG40ay9b4fPrkCZYsmoega1eRkpoKc3MLLFi8DEZGxREVFYmV3stw8cI5hL19Cx0dXTRs5IDBHk
Ohqakp0lHlD+vWrMKJwGN49uwpVFRVYW1dFcNGjIKpmblMv1s3b2DZkkXS17tV2XJYuXqd9PVOWfNZsQyrV
3rLtJmammH3gcMA0ksYLJw3B8eOHERSUjJsbG3hOX4yiurpZdpWZOQndG7fBhER4Thz/
go0v7q5G2VPamoqVnovw8GA/fjw/
j30DQzQqnVb9B84GJJ8fIdqUfxijejsyE45jwyCIMDDwwN79uzB6dOnYWZm9sN1bt68CQAwMjICANjY2GDm
zJmIiIiAgYEBACAwMBBaWlooX768tM+hQ4dkthMYGAgbGxsAgLKyMqpXr44TJ06gTZs2ANKv4jtx4gTc3d2
zdSxERERERNnCzzByiT5B3bp1axw4cADTpk2DhoYGJk2ahGrVquHAgQNo0qSJ2OHJlZyUgKLGZihXzxGHva
dnWn7j8A7cPr4PjV1HQUuvGC7v/
RsHFo5HlxmrUUhJGbGfPmDffE9Y1mqA+t0GIyk+Due2rsLJ9QvQdPCE9I1IJDCztkHttr2gWlgbURFvcHaz
NxJiY+DYfywAIDUlGWqFtVGjRRfcOrYnN09BnlKsWDF4DBuJUiYmgCDgwP69GD7EDVt37IaFZWncunkD7oP
6obdrf4zxnABFRUU8DAmBgsKXD+zjxozG+/
fvsHL1eqSkpGDyxHGYPmUSvOYuEPHI8qb4+DiUsbJCm7btMWJY5g/
wL0ND0btnV7Rp1x6D3IZAQ6Mwnjx5BBXl9ImLdxEReBcRgRGjxsDc3BJv377GjGlT8O5dBOYvWprLR5O/
XLt6Bf/r0g0VKlVCakoqli1ZiIH9XLF7/0Goq6sDSJ+cHjygL/
r0HYCx4yeikKIiQkIeyLzeST4Ly9JYuWa99Lmi4pc/lQvmeuHc2TOYs2AJChcujDmzpmPUcA/
4btySaTvTJk1A6TJWiIgIz7SMssd33Rrs2LYF02fNgYWlJYLv3sWkCZ4orKmJbt17ih0e/QI3Nzf4+/
tj37590NTUlNaM1tbWhpqaGp48eQJ/
f380b94cRYsWxe3btzF8+HDUr18flStXBgA4OjqifPny6NGjB+bOnYuwsDBMmDABbm5u0onygQMHYvny5fj
rr7/Qp08fnDx5Etu3b8fBgwelsYwYMQK9evVCjRo1UKtWLSxevBixsbHo3bt37p8YIiIiIqI/
kOgT1ABgZ2eHwMBAscP4KSaVasKkUs0slwmCgFvH96BGiy4wr5qeoePgOhq+wzvj2fULKF3bHs9vX4ZCoUJ
o0M0Nkn8njex7eGDr5EGIDH+DIsWKQ1VDExUbtpBuV0uvGCo2bIGbR3Z+1WYIu66DAAD3zx3NqcPN8xrYN5
J57j5kOHZs24rbt2/BwrI0Fsybjc5de6BP3y/1LL/
OOH369AkunP8Hm7buQIUKlQAAYzwnwGNwfwwf9RcMDGRvnvSnq2fXAPXsGshdvnzpItSzq4/hI/
+StpUsVUr6s2XpMliweJnMMvchwzB+7GikpKSgUKE88daUJ61cvU7m+bSZs9HQzgb3g+
+heo3096R5c7zQpVsPuPbL+vVO36eoqAg9Pf1M7TExMdi7exdmzZmHWrXrAACmTPdC+9bNcfvWTVSuYi3tu
2PbFsTERKPfQDecP3c2t0IvcG7evAH7Ro1Rv4E9AKBECWMcPnQQd+/cFjew/CiPZWusXLkSAGBvby/
T7uvrCxcXFygrK+P48ePSyeKSJUuiffv2mDBhgrSvoqIiAgICMGjQINjY2EBDQwO9evXCtGnTpH3MzMxw8O
BBDB8+HEuWLIGxsTHWrl0LJycnaZ///e9/ePfuHSZNmoSwsDBYW1vjyJEjmW6cSERERET0S/
LWkDxPYTpdDoh+H4a4qE8wLv+lhraKugaKmZdF2JP7ANIznxUVC0knpwFAUSk92+fto7tZbjf20wc8vX4ex
a0q5WD0+V9qaiqOHD6I+Pg4VK5ijY8fPuDO7VvQ1dVFr+6d0biBLVxduuPG9SDpOrdv3YSmppZ0choAatex
gYKCAidCflJaWhr+OXsaJqamGNTfFQ3r26B7l444eeL4d9f7HPMZhQsX5uT0T/
ocEwMA0NLWBgB8yHi9Fy2Knt06o2H9uujTqzuuB10TM8x8JTT0BRwb2aFlUweMHzMKb9+
+AQDcD76HlJRk1K7zpZyTmbk5DI2K4/atm9K2p08eY43PCkybNQcKChyB/Apr66q4cukSnj9/
BgAIefAAN24EyZRvovxJEIQsHy4uLgCAkiVL4syZM/
jw4QMSEhLw6NEjzJ07F1rflMoxMTHBoUOHEBcXh3fv3mH+/PmZ/
o7Y29vjxo0bSExMxJMnT6T7+Jq7uztevHiBxMREXL58WVrvmoiIiIiooPLy8kLNmjWhqakJAwMDtGnTBiEh
ITJ97O3tIZFIZB4DB8qWFg4NDYWzszPU1dVhYGCA0aPTkw9/
hugzQTo6OlnWkZRIJFBVVYWlpSVcXFzy1WWWcVGfAADqWkVk2tW0iiAuOn1ZibJVcH7balw/
sgNVHNogOTEBl3at/
3f9jzLrHVvlhWc3LyElKRGmVWqjocvwnD+IfOjRwxD06t4FSUmJUFNXx4LFy2FhYSmdOFq1cjmGj/
wLVmXLIWD/Pgzo64Idew7AxMQUH96/g25RXZntFSpUCFra2nj//r0IR5N/ffz4AXFxcVi/
bg3cPIZh6IhRuHDuH4wc5o416/9GjZq1Mq3z6dNHrFm1Au06/
E+EiPOvtLQ0zJ0zC9ZVq6F06TIAgNevXgIAfLyXY8Tof1/v+/
aiv6sLdu0LgImJqYgR532VKlXB1OleMDE1w/v3EVi90huuvbpjx579+PD+HZSUlDLVki5atCg+/
Ps+kZSUBM+/RmLoiNEwMiou/X3Qf9Onb398/
vwZbVo0g6KiIlJTU+ExdDicW7QSO7T8JxdqUBMRERER0XfksQSmM2fOwM3NDTVr1kRKSgrGjRsHR0dHBAcH
Q0Pjy/
3Y+vXrJ3OVYkZ5USA9SdTZ2RmGhoa4cOEC3r59i549e0JJSQmzZs3KdiyiT1BPmjQJM2fORLNmzVCrVvrE1
ZUrV3DkyBG4ubnh2bNnGDRoEFJSUtCvX79M6ycmJiIxMVGmLSUpEYWUs3eTHrEULWGKxn1G4dy21bi0yxcS
BUVUbtwKalo6kHzzIdK28wDUbNUdkeGvcHGXL85vXY0GPXjjnm+Zmplh6849+BwTg+OBRzFpwlis9d2INCE
NANC+4//Qum17AEDZcuVx5fJF7NuzC0OGjRQz7AInLS39fNs3bIwePV0AAGXLlsOtm9exc/vWTBPUnz9/
hsfgATC3sMDAwXxd/4xZM6biyaNH8NvoL23LOP8dOv0Pbf59vZcrVx6XL1/E3t27MHQ4X+/fY/
tVZm4ZKytUqlQFzk6NEHj0SLZu/rZs8QKYmVvAuSUnUH+Ho0cO49DBA/
CauwCWlpZ48OA+5s32gr6+AVq1aSt2eERERERERPnWkSNHZJ77+fnBwMAAQUFBqF//
y2djdXV1GBoaZrmNY8eOITg4GMePH0exYsVgbW2N6dOnY8yYMZgyZQqUlZWzFYvoE9Tnzp3DjBkzMqWHr1q
1CseOHcOuXbtQuXJlLF26NMsJai8vL0ydOlWmrWnvIWjWZ1hOhv1d6to6AIC46EhoFCkqbY+PjoReyS91YM
vUaYgydRoiLuoTCqmoQiKR4NaxPdDSl/
2la2jrQkNbFzpGJaGioYk9s0ehRssuMtsmQElJGaVKmQAAyleoiHt372LLpr/
R2zW9Dq+5uaVMfzNzC4S9fQsAKKqnj48fZDPXU1JSEB0VBT09vVyIvuDQ0dFBoUKFYGFhIdNuZm4hU1YFAG
JjP2PwgL7Q0NDAwiXeUFJSys1Q87VZM6bh7JnTWL9hE4p99YdCTz+9drJ5Fuc/
7N9SFZR9mlpaKGViipehL1DbxhbJycmIiY6WyaL+8OEDiv77PnH1ymU8fvQQNQPT7wkgCAIAoFF9G/
TpNwCD3Ibk/
kHkY4sWzEUf1/5o1twZAFC6jBXevnmDdWtXcYL6Z+WxGtRERERERH+cXBiSZ5XIq6Kikq2Eq6ioKACArq5s
hYHNmzdj06ZNMDQ0RMuWLTFx4kRpFvXFixdRqVIlmfu3ODk5YdCgQbh37x6qVq2K7BD9es+jR4/
CwcEhU3vjxo1x9Gj6B/
zmzZvj6dOnWa7v6emJqKgomUeT7oNyNOYf0dIzhLq2Dl7dvyltS4qPRfjTBzC0KJepv7q2DpRV1fDoyhkoK
imhZIVq8jeelj7ZkZqS/LvDLnAEIQ1JSUkoXqIE9A0MpDVMM7x48RxGxYsDACpXsUZMTDSC732p/
331yiWkpaWhYqXKuRp3fqekpIzyFSrh+bNvzvfz5zAqXkL6/
PPnzxjU3xVKSkpYvGxltt4sKX3Cc9aMaTh5IhBr1m+AsXFJmeUlShinv95/
cP4pe+LiYvHq5Uvo6eujXPkKKFRICVcuX5Quf/7sKcLevpHeIHHeoqXYunMvtuzYgy079mDilOkAgLV+m/
C/
zt3EOIR8LSE+IVMdb0VFRaT9+7eQiIiIiIiIvvDy8oK2trbMw8vL64frpaWlYdiwYbC1tUXFihWl7V27dsW
mTZtw6tQpeHp6YuPGjejevbt0eVhYWKabi2c8DwsLy3bcomdQ6+rq4sCBAxg+XLau8oEDB6Qz9rGxsdDU1M
xy/ay+BSik/CFngv1KUkI8oiK+ZCNGvw/
Du9AnUNXQhGZRA1RxaIuggC0oUqw4tPQMcXnP39AoUhRm1b7cXOv2if0wsiwHJRU1vAy+jgs71qFO+95QUS
8MAHh++wrioyNhYFoGSqqq+Pj6BS7sWAcjy/
LQ0vuSMfku9AkAIDkhAfExUXgX+gSKhQpBt7hJjp+HvGLp4gWwrVcfRkZGiI2NxeFDAbh29QpW+KyFRCJBL
xdX+KxYhjJWVrAqWw4H9u3F82dPMW/hEgCAubkF6traYfrUSRg/cQpSUlIwe9Z0ODVtDgODYj/
Y+58nLi4WoaGh0uevX7/Cgwf3oa2tDSOj4nDp7Yq/Rg1HtRo1UbNWbVw49w/OnjmFtb5/
A8iYnO6DhPh4zFwyD7GxnxEb+xkAoKOjC0VFRVGOKz+YNX0qDh8KwOJlK6ChroH3794BAAprakJVNf1KDJf
erljpvQxWVmVhVbYc9u/bg+fPnmLBoqUiR5/3LZo/B/
UbNIRR8eJ49y4CPt7LoaCogKbNWkBTUxNt2rXHgnlzoKWtDQ2NwpjrNQOVq1hLJ6hLliwls73IyPT7DpibW
2SqXU0/1sC+Idas9oGhUXFYWFriwf372LjBV1quiX4Ca1ATEREREYkrF65q9PT0xIgRI2TaspMQ6Obmhrt3
7+LcuXMy7f3795f+XKlSJRgZGaFx48Z48uRJpivnf4XoE9QTJ07EoEGDcOrUKWkN6qtXr+LQoUPw8fEBAAQ
GBqJBgwZihpnJu+cPsXfeGOnz89tWAwDK1nVAY9dRqNqsI5KTEnBqw1IkxX2GUekKaDl8Bgopfam9EvEsBF
f2bURyYgJ0DI1h38MDVnW/
ZJMXUlZB8NnDOLd1FVJTklFYVx8W1WxRrXknmVi2T3X7EteLR3h0+RQ0ixqg59y/
c+rw85yPHz9i4vgxeP/
uHQpraqJ0aSus8FmLOnVtAQDdevRCYmIiFsydjajoKJQpY4WVq9fLTCbNmjMPs2dOx4C+LlBQUEBjB0f85T
lerEPK0+7dvYt+fXpKny+Ym/
5tXMvWbTF95mw0cmiCCZOmYN3a1ZjrNQMmpmaYv2gpqlarAQC4H3wPd27fSl+neROZbR88egIlShjn0pHkP
9u3bQEAuLr0kGmfNsMLrdu2AwB07+mCxMQkzJvrhaioKFhZlYXPmvUoWapUpu2RrPDwcHiOGYmoyEjo6OjC
ulp1bNi8DTr/fmE68i9PSCQKGD18KJKSk2BTtx48J0wSOeqCa+z4CfBeugSzpk/Fx48foG9ggA4d/
4cBg9x+vDIREREREdEfJrvlPL7m7u6OgIAAnD17FsbG35+PqV27NgDg8ePHsLCwgKGhIa5cuSLTJzw8HADk
1q3OikTIKJApovPnz2P58uUICQkBAFhZWcHDwwN169b9wZpZW3ru2Y870W/
Tt5ap2CH8MSSsIZpreKpzVypLNuQaxTx25+iCTlX0VIB0as0W5fg+4g8P/
3En+qNImvALZyL6dfFHHoodAhHlc6qK6mKHAACQuJbN8X0I6x5kv68gwMPDA3v27MHp06dRunTpH65z/
vx51KtXD7du3ULlypVx+PBhtGjRAm/
fvoWBgQEAYPXq1Rg9ejQiIiKyPVmeJz422drawtbWVuwwiIiIiIiIiIiIiAo8Nzc3+Pv7Y9+
+fdDU1JTWjNbW1oaamhqePHkCf39/NG/
eHEWLFsXt27cxfPhw1K9fH5Urp9+vzdHREeXLl0ePHj0wd+5chIWFYcKECXBzc/
upTO48MUGdlpaGx48fIyIiAmlpaTLL6tevL1JURERERAUEa1ATEREREYkrj12qvXLlSgCAvb29TLuvry9cX
FygrKyM48ePY/
HixYiNjUXJkiXRvn17TJgwQdpXUVERAQEBGDRoEGxsbKChoYFevXph2rRpPxWL6BPUly5dQteuXfHixQt8W
21EIpEgNTVVpMiIiIiIiIiIiIiICp4fVX0uWbIkzpw588PtmJiY4NChQ78Ui+gT1AMHDkSNGjVw8OBBGBkZ
scYuERER0e/G8RURERERkbg4JJdL9AnqR48eYefOnbC0tBQ7FCIiIiIiIiIiIiLKRaJPUNeuXRuPHz/
mBDURERFRTmENaiIiIiIicfGqRrlEn6D28PDAyJEjERYWhkqVKkFJSUlmecZdIYmIiIiIiIiIiIioYBF9gr
p9+/YAgD59+mRaxpskEhEREf0GzKAmIiIiIhIXh+RyiT5B/
ezZM7FDICIiIiIiIiIiIiIRiD5BbWJiAgAIDg5GaGgokpKSpMskEol0ORERERH9R6x3R0REREQkLo7J5RJ9
gvrp06do27Yt7ty5A4lEAkEQAKRPTgNgiQ8iIiKiX8USH0RERERE4uL8tFyif1oZOnQozMzMEBERAXV1ddy
9exdnz55FjRo1cPr0abHDIyIiIiIiIiIiIqIcInoG9cWLF3Hy5Eno6elBQUEBioqKqFevHry8vDBkyBDcuH
FD7BCJiIiI8jdeTkhEREREJC4FjsnlET2DOjU1FZqamgAAPT09vHnzBkB6beqQkBAxQyMiIiIiIiIiIiKiH
CR6BnXFihVx69YtmJmZoXbt2pg7dy6UlZWxevVqmJubix0eERERUf7HGtREREREROLiVY1yiT5BPWHCBMTG
xgIApk2bhhYtWsDOzg5FixbFtm3bRI6OiIiIiIiIiIiIiHKK6BPUTk5O0p8tLS3x4MEDfPz4ETo6OpDwmwU
iIiKiX8cxFRERERGRuDgkl0v0Ceqs6Orqih0CEREREREREREREeWwPDlBTURERES/
D69KIyIiIiISF8fk8vGOOUREREREREREREQkCmZQExERERVwzNYgIiIiIhIXx+TyMYOaiIiIiIiIiIiIiET
BDGoiIiKigo7JGkREREREomICtXzMoCYiIiIiIiIiIiIiUTCDmoiIiKiAY707IiIiIiJxKXBMLhczqImIiI
iIiIiIiIhIFMygJiIiIirgmEFNRERERCQujsnlYwY1EREREREREREREYmCGdREREREBRyzNYiIiIiIxMUxu
XzMoCYiIiIiIiIiIiIiUTCDmoiIiKiAY7YGEREREZG4OCaXjxnURERERERERERERCQKZlATERERFXRM1iAi
IiIiEhUTqOVjBjURERERERERERERiYIZ1EREREQFHOvdERERERGJi2Ny+ZhBTURERERERERERESiYAY1ERE
RUQHHbA0iIiIiInFxTC5fgZyg7lvLVOwQ/iiBIeFih/
DHcCxrKHYIRDmCf6ZzT2qaIHYIfxi+uomIiIiIiL6nQE5QExEREdEXzNYgIiIiIhKXhMkrcrEGNRERERERE
RERERGJghnURERERAUcM6iJiIiIiMTFMbl8zKAmIiIiIiIiIiIiIlEwg5qIiIiooGOyBhERERGRqJhALR8z
qImIiIiIiIiIiIhIFMygJiIiIirgWO+OiIiIiEhcChyTy8UMaiIiIiIiIiIiIiISBTOoiYiIiAo4ZlATERE
REYmLY3L5mEFNRERERERERERERKJgBjURERFRAcdsDSIiIiIicXFMLh8zqImIiIiIiIiIiIhIFMygJiIiIi
romKxBRERERCQqJlDLxwxqIiIiIiIiIiIiIhIFJ6iJiIiICjiJRJLjDyo4kpKSEBISgpSUFLFDISIiIiow8
tqY3MvLCzVr1oSmpiYMDAzQpk0bhISESJd//
PgRHh4esLKygpqaGkqVKoUhQ4YgKirqh8e1devWn4qFE9RERERERIS4uDi4urpCXV0dFSpUQGhoKADAw8MD
s2fPFjk6IiIiIvqdzpw5Azc3N1y6dAmBgYFITk6Go6MjYmNjAQBv3rzBmzdvMH/+fNy9exd+fn4
4cuQIXF1dM23L19cXb9+
+lT7atGnzU7GwBjURERFRAccMZ8oOT09P3Lp1C6dPn0bTpk2l7Q4ODpgyZQrGjh0rYnRERERE+VteG5MfOX
JE5rmfnx8MDAwQFBSE+vXro2LFiti1a5d0uYWFBWbOnInu3bsjJSUFhQp9mVYuUqQIDA0N/
3MszKAmIiIiIiLs3bsXy5cvR7169WQ+QFWoUAFPnjwRMTIiIiIiyo7ExERER0fLPBITE7O1bkbpDl1d3e/
20dLSkpmcBgA3Nzfo6emhVq1aWL9+PQRB+Km4OUFNREREVMDltXp3lDe9e/
cOBgYGmdpjY2P5OyYiIiL6RbkxJvfy8oK2trbMw8vL64expaWlYdiwYbC1tUXFihWz7PP+/XtMnz4d/
fv3l2mfNm0atm/fjsDAQLRv3x6DBw/
GsmXLfurcsMQHERERERGhRo0aOHjwIDw8PAB8uQx17dq1sLGxETM0IiIiIsoGT09PjBgxQqZNRUXlh+u5ub
nh7t27OHfuXJbLo6Oj4ezsjPLly2PKlCkyyyZOnCj9uWrVqoiNjcW8efMwZMiQbMfNCWoiIiKiAo7Zr5Qds
2bNQrNmzRAcHIyUlBQsWbIEwcHBuHDhAs6cOSN2eERERET5Wm6MyVVUVLI1If01d3d3BAQE4OzZszA2Ns60
PCYmBk2bNoWmpib27NkDJSWl726vdu3amD59OhITE7MdC0t8EBERERER6tWrh5s3byIlJQWVKlXCsWPHYGB
ggIsXL6J69epih0dEREREv5EgCHB3d8eePXtw8uRJmJmZZeoTHR0NR0dHKCsrY//+/VBVVf3hdm/
evAkdHZ2fmihnBjURERFRQccEasomCwsLrFmzRuwwiIiIiAqcvHZRo5ubG/z9/
bFv3z5oamoiLCwMAKCtrQ01NTXp5HRcXBw2bdokvekiAOjr60NRUREHDhxAeHg46tSpA1VVVQQGBmLWrFkY
NWrUT8XCCWoiIiIiIoKDgwO6d+
+Odu3aQUtLS+xwiIiIiCgHrVy5EgBgb28v0+7r6wsXFxdcv34dly9fBgBYWlrK9Hn27BlMTU2hpKQEb29vD
B8+HIIgwNLSEgsXLkS/
fv1+KhZOUBMREREVcKxBTdlRoUIFeHp6YvDgwXB2dkb37t3RvHnzH9YZJCIiIqIfy2tjckEQvrvc3t7+h32
aNm2Kpk2b/nIsrEFNRERERERYsmQJXr9+jb1790JDQwM9e/ZEsWLF0L9/
f94kkYiIiIhyDCeoiYiIiAo4iUSS4w8qGBQUFODo6Ag/
Pz+Eh4dj1apVuHLlCho1aiR2aERERET5Gsfk8rHEBxERERERyQgLC8PWrVuxadMm3L59G7Vq1RI7JCIiIiI
qoDhBTURERFTA5edsCso90dHR2LVrF/z9/
XH69GmYm5ujW7du2LZtGywsLMQOj4iIiChfU+CYXC5RJ6iTk5NRtmxZBAQEoFy5cmKGQkRERET0RytWrBh0
dHTwv//9D15eXqhRo4bYIRERERHRH0DUCWolJSUkJCSIGQIRERFRwcdkDcqG/
fv3o3HjxlBQ4G1qiIiIiH43JlDLJ/ro083NDXPmzEFKSorYoRARERER/
bGaNGnCyWkiIiIiynWi16C+evUqTpw4gWPHjqFSpUrQ0NCQWb57926RIiMiIiIqGFiDmuSpVq0aTpw4AR0d
HVStWvW7r5Xr16/nYmREREREBQvH5PKJPkFdpEgRtG/
fXuwwiIiIiIj+OK1bt4aKior0Z35wIiIiIqLcJvoEta+vr9ghEBERERVonHQkeSZPniz9ecqUKeIFQkRERF
TASXhjGLlEn6AuyLZv24Kd27bgzZvXAABzC0v0H+iGenb18eb1Kzg3dchyvbnzF6OJU1Ps37sbkyeOy7LPi
dPnoVu0aI7FntelpaYicLsfrv9zDDGRH6Glo4ca9k3RuEPPLD+E71q1AJcD96OlizvsWnSUtr978xIH/
16J5yF3kZqSDCMTCzh27gPLitUAANdOHcZ279lZxjBp3V4U1tbJmQPM44KuXcUG33W4H3wX7969w8Il3mjU
+MvreeL4sTiwb4/MOnVt62HFqnXS50PdByLkwQN8/PgBWlraqF3HBkNHjIKBQbFcO478KujaVfit/
3L+Fy395vyPG4v9WZz/
lavXfbsp+o71a1dj2ZKF6Nq9J0aPSX8v3rVjGw4fCsCD+8GIjY3F2fNXoKmllWndf86exmqfFXj0MATKyiq
oXqMmFi31zu1DyDd8/z3XXb461wBw6+YNeC9bjLt3bkNRQQFlrMrBe9VaqKqqAgCGeQzCw6/
eR2rVscHQ4SOhz/cRov/
E3NwcV69eRdFvxpiRkZGoVq0anj59KlJklF+M7eyGdvWaoWxJS8QnJuBC8DWMWTsLD1/
JvnbqlKuGmb3HoHbZqkhNS8XNJ/fg5NkdCUkJAIDSJcwwr/
8E2FaoCeVCSrj97D4m+s3H6VsXxDgsIhLZyuU+8FmxSqbN1MwU+w7uwevXb9C8iXOW681bOBeOTZvkRohE9
IvyxAT1zp07sX37doSGhiIpKUlmWX6udVesWDF4DBuJUiYmgCDgwP69GD7EDVt37IapmTkCT/0j03/
Xju34228dbO3sAACOTZujbj07mT6TJ3giMTHxj56cBoDTe/1x8dg+/M/
dE8VKmuLVkxBs954NVXUN1HPuINP37uWzCH0UDC1dvUzb8fUaCz0jYwyYvAiFVFRwLmAHfL08MXa5PzR1iq
JK3Uawsq4ls84279lISUr6YyenASA+Pg5lrKzQpm17jBjmnmUf23p2mDrDS/
pcWUlZZnmNWnXg2m8g9PT1EREejoXz52LU8KH4e/PWHI29IIiPj4OVlRXatGuPEUPln/9pX59/
ZeUs+1HW7t29g107t6F0GSuZ9oSEBNS1tUNdWzssW7Iwy3WPBx7F9CmT4D50OGrVqo2U1FQ8efQoN8LOl+S
d61s3b8BjUD/
0du2PMZ4ToKioiIchITI3cKtRszb69B0APX19vIsIx6L5czF6xFD4beL7yLeYQU3Z8fz5c6SmpmZqT0xMxK
tXr0SIiPKbBpVt4L1/
A66G3EIhRUXM6jMWx2b7o3zfhohLiAeQPjl9xGsTvLZ4w8N7IlJSU1DFvDzShDTpdgJmbMCj18/QaPT/
EJ+UgGHtXBEw3Q8WvWwR/
umdWIdHRCKysLTA6nU+0ueKhRQBAIaGxXDiTKBM3507dmHD+r9Rz842V2Mk+hGOyeUTfYJ66dKlGD9+PFxc
XLBv3z707t0bT548wdWrV+Hm5iZ2eL+kgX0jmefuQ4Zjx7atuH37FiwsS0NPT19m+amTx9HEqRnU1dNvFKm
qqirNEgOAjx8/4srly5g8bUbOB5/
HPQ+5hwo1bVGuug0AQNfACDfPncDLxw9k+kV9eId965bCdeI8+M4aK7MsNjoS79+
+QsdBf8HI1AIA0Kz7AFw8uhdhL59BU6colFRUoPRvXUYA+BwViSd3r6PDoL9y+Ajztnp2DVDPrsF3+ygpK2
d6jX+tR08X6c/Fi5dAn779MHyIG5KTk6GkpPS7Qi2QsnP+lZWVoacv//
yTfHFxsRg3dhQmTp6OtatXyizr1qMXAODa1ctZrpuSkoJ5s2dh2MjRaNvuy5dlFhaWORdwPhYXF4vxcs71g
nmz0blrD/Tu21/aZmpmLtOn+zfvI71d+2PEUL6PZIWDYfqe/
fv3S38+evQotLW1pc9TU1Nx4sQJmJmZiREa5TPNxnWXee4ybzje7byN6qUr45876X87Fw2agqV71mPOti9X
Fn2dYV1USwdljM3humAU7jy7DwAYu9YLbq1cUNHUihPURH+oQoqK0NPPnHSmmEX7yeOn4Ni0CdQ11HMrPKJ
s4ZhcPoUfd8lZK1aswOrVq7Fs2TIoKyvjr7/+QmBgIIYMGYKoqCixw/
ttUlNTceTwQcTHx6FyFetMy4Pv3UXIg/
to007+DSMDDuyFqpoqHJo45WCk+YOpVQU8vnMd7968BAC8ef4Yzx/cgVXV2tI+aWlp2LpsJhq07gzDkpk/
VKlrakO/eCkEnTmKpIR4pKam4PKx/
SisrYMS5laZ+gNA0JmjUFJWReU69jlyXAXJtatX0LC+DVq3cMLMaZMRGflJbt+oqEgcCjiAKtZVOan0m1y7
egX2djZo5eyEGT84/
yTLa+Y02NnZo45N3Z9e98H9YEREhENBIkHnjm3RpKEd3Ab2w+NHD3Mg0vxv9sxpqGdnj9rfnOuPHz7g7u1b
0NXVhUv3znBoYIu+Lt1x43qQ3G1FRUXi0EG+j+QXXl5eqFmzJjQ1NWFgYIA2bdogJCREpk9CQgLc3NxQtGh
RFC5cGO3bt0d4eLhMn9DQUDg7O0NdXR0GBgYYPXo0UlJSZPqcPn0a1apVg4qKCiwtLeHn55cpHm9vb5iamk
JVVRW1a9fGlStXfvsx52Vt2rRBmzZtIJFI0KtXL+nzNm3aoHPnzggMDMSCBQvEDpPyIW2N9DJYH2MiAQD6R
YqiTrlqiIj8gPOL9yJs+w2cXrATthVqStf5EP0JD0Ifo2eTDlBXVYOigiIGOHdH+Kd3CHp0R4zDIKI84EVo
KBwaNEFzxxbwHD0Ob9+8zbJf8L1ghDwIQdv2bXI3QCL6JaJnUIeGhqJu3fQPpmpqaoiJiQEA9OjRA3Xq1MH
y5cvFDO+XPXoYgl7duyApKRFq6upYsHh5lpl0e/fsgpm5Baytq8nd1t7du9CseQuZrOo/
lX3bbkiIj8P8oT0gUVCAkJYGpy59Ua3+l/pSp/
f6Q0FBEbbNs570l0gk6Dd5ATbMmYCJPZpBIlGAhnYRuI6fC/XCmlmuc/
XkQVS1ayyTVU2Z2draobFDE5QoYYyXL19i+ZKFcBvYD39v3gZFRUVpv8UL52Hrls1IiI9H5SrWWOrt852tU
nbVrffv+TdOP//LFi/
E4AH9sNFf9vxTZkcOH8SD4GBs2rrzP63/6lX6l2Y+K70xcvQYFC9eAhs3+KJfn57YG3AE2tpFfmO0+dvRf8
/1xizOdcZ5XLVyOYaN/AtWZcshYP8+DOzrgh17DqCUiam075KF87Fta/
r7SKXKVbCE7yNZy2PJGmfOnIGbmxtq1qyJlJQUjBs3Do6OjggODoaGRvqVZMOHD8fBgwexY8cOaGtrw93dH
e3atcP58+cBpH/57+zsDENDQ1y4cAFv375Fz549oaSkhFmzZgEAnj17BmdnZwwcOBCbN2/
GiRMn0LdvXxgZGcHJKf0L/
23btmHEiBHw8fFB7dq1sXjxYjg5OSEkJAQGBgbinKBclpaWXlrBzMwMV69ehZ5e5gw1op8lkUiweNAUnLt7
Bfeep38BZW5kAgCY0nMERq2ejpuP76Fnkw44MXcrKvZ3wOPXzwAADmO6YO/UtYjZF4I0IQ0Rke/
R1LM7Ij8XnAQmIsq+SpUrYvrMaTA1M8G7d++xasUq9O7RB7v275SOGzLs2bUX5uZmsK5qLU6wRN/
BBGr5RM+gNjQ0xMePHwEApUqVwqVLlwCkf6AQBOGH6ycmJiI6OlrmkZiYmKMx/wxTMzNs3bkHf2/
eho6dOmPShLF48uSxTJ+EhAQcPhTw3ezpWzdv4NnTJ2jTVn6fP8ntC6dw459AdBk6EUPnrkEnd0+c3b8N10
4fAQC8ehKCc4d2oZO7p9xLKARBwN41i1FYuwgGTV8G99k+qFirHvxmj0P0pw+Z+r8IuYuIVy9Qs1HWN2CgL
5o2d4Z9w8YoXcYKjRo7YKn3Kty7ewfXrspmpPXq7YptO/Zg5er1UFBQwATPMdn6d0/f16y5M+wbfTn/
y1Zkff5JVljYW8ybPQszZ8+Hyn/8Ekr4d5Knb78BcGjihPIVKqbXYpdIEHj0yO8MN1/
LONcz5Jxr4d86pO06/
g+t27ZH2XLlMWqMJ0xMzbBvzy6Zvj17u2LL9t1YsWodFBUVMWncWL6P5ANHjhyBi4sLKlSogCpVqsDPzw+h
oaEICkrPko+KisK6deuwcOFCNGrUCNWrV4evry8uXLggHSseO3YMwcHB2LRpE6ytrdGsWTNMnz4d3t7e0nu
a+Pj4wMzMDAsWLEC5cuXg7u6ODh06YNGiRdJYFi5ciH79+qF3794oX748fHx8oK6ujvXr1+f+iRHZs2fP/
vPkdFZjcqTx3+KfzNtjJiqaWqHzzC9lGxX+HZevOrgJfke34+aTexjhMxUhr56ij9P/
vlp3BiIiP8BuRDvUcm+BveeP4sB0Pxjq/hlfGhGRrHr168GxaROUsSoD23p1sdxnOWJiPuPokWMy/
RISEnD44GG0YfY0Ub4jegZ1o0aNsH//flStWhW9e/
fG8OHDsXPnTly7dg3t2rX74fpeXl6YOnWqTNu4CZMwfuKUHIr45ygpKaNUqfRMgfIVKuLe3bvYsulvTJg8T
drneOBRJMQnoEXLNnK3s2f3TliVLYfyFSrmdMj5wsGNK9GwTTdY12sMADAysUDku3Cc2r0ZNeyb4tn924iN
+gSvgZ2k66SlpSLg7xU4d3AnPFduw+M713H/
+kVM9QuA6r91v43NR+DhrWsIOn0EDdt2k9nnlRMHUdzUEsYWWZf/
IPmMS5aEjo4OXoa+QO06NtJ2HR1d6OjowsTUDObmFnByaIDbt26iinVVEaMteDLOf+g3559k3b93Dx8/
fkDX/33525OamorrQdewbctmXA66/
cMM9Iy63+ZfXSmjrKwMY+OSCAvL+jLEP1HGue6WxbnevmUzdh84DAAwN5e94sjM3AJhb2XPo46ODnR0dGBi
agYzcws0a2LP95Es5PV6dxll3XR1dQEAQUFBSE5OhoODg7RP2bJlUapUKVy8eBF16tTBxYsXUalSJRQrVkz
ax8nJCYMGDcK9e/dQtWpVXLx4UWYbGX2GDRsGAEhKSkJQUBA8PT2lyxUUFODg4ICLFy/
m1OHmabGxsThz5kyWNy8fMmSI3PWyGpPDTBOw0MqJMCmPW+Y+Ay1qO6D+yPZ4/f7L+/
bbjxEAgOAXsjcPvh/
6CKUMSgAAGlW1RYvaDtBpVwExcZ8BAG7LxqNJ9fro1aSjTO1qIvozaWlpwsS0FF6+eCnTHnjsOOLjE9CydQ
uRIiP6vrw+JheT6BPUq1evll5WmFFn8MKFC2jVqhUGDBjww/
U9PT0xYsQImbZUiXKOxPo7CEJapsH+3t070aBhQ+mHsm/FxcUi8OhheAwdkeXyP1FyYiIkCrL/
sCUKCtKsu2oNHFG6cnWZ5WtnjEa1+o6o0bBZ+jaSEtLXk2SxnbQ0mbbE+DjcunAKzbr1B/
288LAwREZGfvemfRl3bv/23wf9uozzr/+dm1YSUKtOHezYvV+mbfLEcTAzM4dLn77ZKo9SrnxFKCsr4/
nzZ6haLf09KDk5GW9ev4aRUfEciTs/qlWnDrZ/c66nTBwH03/
PtbFxSegbGODF82cyfUJfPEfdenZyt5vxPpKczPcRMSQmJma6ik1FReWHVySkpaVh2LBhsLW1RcWK6V/
Eh4WFQVlZGUWKFJHpW6xYMYSFhUn7fD05nbE8Y9n3+kRHRyM+Ph6fPn1Campqln0ePJC98fKf4MaNG2jevD
ni4uIQGxsLXV1dvH//
Xlrj+3sT1FmNybXblsvpkCkPWuY+A21tm8J+VEc8D5OdPHoe9hKv34fBylj2prdljM1x+OopAIC6ihqAL6V
nMqSlpUFBgR/
siQiIi43Dy9BXcG4pe3Xz3l17Yd+ogdy5FSLKu0SfoFZQUICCwpdKI507d0bnzp2zvX5WH3zikvLG5YRLFy
+Abb36MDIyQmxsLA4fCsC1q1ewwmettE9o6AtcD7qGZStWy93O0SOH0+sstmiVG2HnC+Vq1MXJXZtQRK8Yi
pU0xZtnj/BPwHbUbNgcAKChqQ0NTW2ZdRQVC0GziC4MSpQCAJiUqQA1DU1sW+4Fh469oKSsgsvHA/
Ap4i3KVpfNMr114RTS0lJlalz/yeLiYhEaGip9/vr1Kzx4cB/
a2trQ1taGz4rlcGjihKJ6enj18iUWL5yHkqVMUNc2fWLpzu1buHf3DqyrVYeWlhZevQyF97IlKFmyFLMesy
Eu9pvz/+oVHtz/6vyvlD3/ixb8e/6/M7FHgIZGYViWLiPTpqamBu0iRaTt79+/w4f376Xn/
9Gjh9DQ0IChkRG0tYugcOHC6NCpM3y8l8HQ0BBGRsWxwS+9TEATx6a5e0B5WHbOdU8XV6xasQxlrKxQpmw5
BOzbi+fPnmLuwiUAvryPVK1WHZpaWnj18iVWLl8C45KlULkK30e+lRvZGlll0E6ePBlTpkz57npubm64e/
cuzp07l4PRUXYMHz4cLVu2hI+PD7S1tXHp0iUoKSmhe/fuGDp06HfXzfLLCE4m/
nG8PWaia6M2aD3ZFTFxn1FMJ/3L8ajYGCT8mxwyb/tKTO01Eree3sfNJ/
fQq0kHlC1piQ7T0pOTLgYH4dPnKGz4azGmbVqE+MQE9GveDWaGJXHw8gnRjo2IxLNg7kI0aFgfRsWL411EB
FYu94GiogKaOX8ZX4e+CEXQtevw9lkmYqRE38cMavlEn6AGgH/+
+QerVq3CkydPsHPnTpQoUQIbN26EmZkZ6tWrJ3Z4/9nHjx8xcfwYvH/
3DoU1NVG6tBVW+KxFnbq20j779uxCsWKGsPmq7Vt7d+9Eo8ZNoKnFSyQztHYdimNb12HPmkX4HP0JWjp6qN
2kFRw69Mr2NjS00m+IeHTLWqyeMhypqSkoVtIUvf6aieKmspeVXz1xEBVr1YeaRtY3T/zT3Lt7F/
369JQ+XzDXCwDQsnVbjJ84BY8ePsSB/XsREx0DfQMD2NS1hZv7UCgrp1/
doKqqihPHj2Gl9zLEx8dBT18ftrZ26DtgsLQPyXfv3l307f3l/M//9/y3at0W4ydNwcOQh9i/L/
38G2Scf4+hPLe/wc7tW7Fq5ZdLi11dugMApk6fhVZt0stVDBsxGoqKipjgOQaJiQmoWKkKVq/
zg5a2dpbbpKx169ELSYmJWDB3NqKio1CmjBVWrF6PkiXTv2RUVVXFyROBWLViGeLj46Gnr4+6tnaY038QX+
siySqD9kfZ0+7u7ggICMDZs2dhbGwsbTc0NERSUhIiIyNlsqjDw8NhaGgo7XPlimxt/
fDwcOmyjP9ntH3dR0tLC2pqalBUVISiomKWfTK28Se5efMmVq1aBQUFBSgqKiIxMRHm5uaYO3cuevXqla3y
e/
RnG9wqfSx+ZoHsDXBd5g3HhmM7AABL9qyDqrIqFg2cDF3NIrj1NBhNxnTB07cvAAAfoj+h6bjumNn7L5yct
x1KioVw78VDtJ7sittP7+fuARFRnhAeHo6xozwRGRkFHV0dVK1mjY1b/
pbJlN67ex+KFSsGG1uWNCTKjySCyHcS2rVrF3r06IFu3bph48aNCA4Ohrm5OZYvX45Dhw7h0KFDP73NvJJB
/acIDAn/cSf6LRzL/
nkflsXCLzZzVxpvpJVreKZzl4Zy3ngzsRx1OMf38Xh+s2z3FQQBHh4e2LNnD06fPo3SpUvLLI+KioK+vj62
bNmC9u3TbxAdEhKCsmXLSmtQHz58GC1atMDbt29hYJB+47TVq1dj9OjRiIiIgIqKCsaMGYNDhw7hzp070m1
37doVHz9+xJEj6TcurV27NmrVqoVly9IzrtLS0lCqVCm4u7tj7Nixv3RO8ht9fX1cuHABpUuXRpkyZbBs2T
I4OTnhwYMHqF69OmJjY39qe5Imxj/uRET0A/
FHHoodAhHlc6qK6mKHAAAoszDnr6p9OOJIju8jJyj8uEvOmjFjBnx8fLBmzRooKSlJ221tbXH9+nURIyMiI
iKinODm5oZNmzbB398fmpqaCAsLQ1hYGOLj4wEA2tracHV1xYgRI3Dq1CkEBQWhd+/
esLGxQZ06dQAAjo6OKF++PHr06IFbt27h6NGjmDBhAtzc3KSZ2wMHDsTTp0/
x119/4cGDB1ixYgW2b9+O4cOHS2MZMWIE1qxZgw0bNuD+/fsYNGgQYmNj0bt379w/MS
KrWrUqrl69CgBo0KABJk2ahM2bN2PYsGHS+uBERERERL+b6CU+QkJCUL9+/
Uzt2traiIyMzP2AiIiIiAqYvFbvbuXKlQAAe3t7mXZfX1+4uLgAABYtWgQFBQW0b98eiYmJcHJywooVK6R9
FRUVERAQgEGDBsHGxgYaGhro1asXpk2bJu1jZmaGgwcPYvjw4ViyZAmMjY2xdu1aODk5Sfv873//
w7t37zBp0iSEhYXB2toaR44cyXTjxD/
BrFmzEBMTAwCYOXMmevbsiUGDBqF06dJYv369yNERERER5W95bEiep4g+QW1oaIjHjx/
D1NRUpv3cuXMwNzfPeiUiIiIiyreyU2FOVVUV3t7e8Pb2ltvHxMTkh+Xg7O3tcePGje/
2cXd3h7u7+w9jKuhq1Kgh/dnAwEBaBoWIiIiIKCeJPkHdr18/
DB06FOvXr4dEIsGbN29w8eJFjBo1ChMnThQ7PCIiIqJ8j9kaRERERETiymtXNeYlokxQ3759GxUrVoSCggI
8PT2RlpaGxo0bIy4uDvXr14eKigpGjRoFDw8PMcIjIiIiIvrjVK1aNcsPThKJBKqqqrC0tISLiwsaNmwoQn
REREREVFCJcpPEqlWr4v379wAAc3NzDBw4EB8/
fsTdu3dx6dIlvHv3DtOnTxcjNCIiIqICRyKR5PiD8r+mTZvi6dOn0NDQQMOGDdGwYUMULlwYT548Qc2aNfH
27Vs4ODhg3759YodKRERElO9wTC6fKBnURYoUwbNnz2BgYIDnz58jLS0NysrKKF++vBjhEBERERH98d6/
f4+RI0dmKrM3Y8YMvHjxAseOHcPkyZMxffp0tG7dWqQoiYiIiKigEWWCun379mjQoAGMjIwgkUhQo0YNKCo
qZtn36dOnuRwdERERUcGSj5MpKBdt374dQUFBmdo7d+6M6tWrY82aNejSpQsWLlwoQnRERERE+Vt+znDOaa
JMUK9evRrt2rXD48ePMWTIEPTr1w+amppihEJERERERABUVVVx4cIFWFpayrRfuHABqqqqAIC0tDTpz0RER
EREv4MoE9RAeo07AAgKCsLQoUM5QU1ERESUQxQUmK1BP+bh4YGBAwciKCgINWvWBABcvXoVa9euxbhx4wAA
R48ehbW1tYhREhEREeVPTKCWT7QJ6gy+vr5ih0BERERE9MebMGECzMzMsHz5cmzcuBEAYGVlhTVr1qBr164
AgIEDB2LQoEFihklEREREBYzoE9RERERElLOYrUHZ1a1bN3Tr1k3ucjU1tVyMhoiIiKjgYA1q+RTEDoCIiI
iIiPKGyMhIaUmPjx8/
AgCuX7+O169fixwZERERERVUzKAmIiIiKuCYrUHZcfv2bTg4OEBbWxvPnz9H3759oauri927dyM0NBR///
232CESERER5Vsck8vHDGoiIiIiIsKIESPg4uKCR48eQVVVVdrevHlznD17VsTIiIiIiKggYwY1ERERUQHHZ
A3KjqtXr2LVqlWZ2kuUKIGwsDARIiIiIiIqOJhBLR8zqImIiIiICCoqKoiOjs7U/
vDhQ+jr64sQERERERH9CThBTURERFTASSSSHH9Q/
teqVStMmzYNycnJANJfN6GhoRgzZgzat28vcnRERERE+ZtEkvOP/
IoT1EREREREhAULFuDz588wMDBAfHw8GjRoAEtLSxQuXBgzZ84UOzwiIiIiKqBYg5qIiIiogGOGM2WHtrY2
AgMDcf78edy6dQufP39GtWrV4ODgIHZoRERERPkex+TycYKaiIiIiIgAACdOnMCJEycQERGBtLQ0PHjwAP7
+/
gCA9evXixwdERERERVEnKAmIiIiKuCYrEHZMXXqVEybNg01atSAkZERs3yIiIiIfieOreTiBDUREREREcHH
xwd+fn7o0aOH2KEQERER0R+EE9REREREBRwzYSk7kpKSULduXbHDICIiIiqQOCaXT0HsAIiIiIiISHx9+/
aV1psmIiIiIsotzKAmIiIiKuCYrEHZkZCQgNWrV+P48eOoXLkylJSUZJYvXLhQpMiIiIiI8j+OyeXjBDURE
REREeH27duwtrYGANy9e1dmGS9JJSIiIqKcwglqIiIiogKOk4uUHadOnRI7BCIiIqICK6+Nyb28vLB79248
ePAAampqqFu3LubMmQMrKytpn4SEBIwcORJbt25FYmIinJycsGLFChQrVkzaJzQ0FIMGDcKpU6dQuHBh9Or
VC15eXihUKPvTzqxBTURERERERERERPQHOXPmDNzc3HDp0iUEBgYiOTkZjo6OiI2NlfYZPnw4Dhw4gB07du
DMmTN48+YN2rVrJ12empoKZ2dnJCUl4cKFC9iwYQP8/
PwwadKkn4qFGdREREREBVweS9YgIiIiIvrj5LUM6iNHjsg89/Pzg4GBAYKCglC/
fn1ERUVh3bp18Pf3R6NGjQAAvr6+KFeuHC5duoQ6derg2LFjCA4OxvHjx1GsWDFYW1tj+vTpGDNmDKZMmQJ
lZeVsxcIMaiIiIiIiIiIiIqI/
WFRUFABAV1cXABAUFITk5GQ4ODhI+5QtWxalSpXCxYsXAQAXL15EpUqVZEp+ODk5ITo6Gvfu3cv2vplBTUR
ERFTA5bVsDSIiIiKiP01ujMkTExORmJgo06aiogIVFZXvrpeWloZhw4bB1tYWFStWBACEhYVBWVkZRYoUke
lbrFgxhIWFSft8PTmdsTxjWXYxg5qIiIiIiIiIiIgon/
Py8oK2trbMw8vL64frubm54e7du9i6dWsuRJkZM6iJiIiICjgmUBMRERERiSs3xuSenp4YMWKETNuPsqfd3
d0REBCAs2fPwtjYWNpuaGiIpKQkREZGymRRh4eHw9DQUNrnypUrMtsLDw+XLssuZlATERERERERERER5XMq
KirQ0tKSeciboBYEAe7u7tizZw9OnjwJMzMzmeXVq1eHkpISTpw4IW0LCQlBaGgobGxsAAA2Nja4c+cOIiI
ipH0CAwOhpaWF8uXLZztuZlATERERFXCsQU1EREREJK68NiZ3c3ODv78/9u3bB01NTWnNaG1tbaipqUFbWx
uurq4YMWIEdHV1oaWlBQ8PD9jY2KBOnToAAEdHR5QvXx49evTA3LlzERYWhgkTJsDNze2Hmdtf4wQ1ERERE
RERERER0R9k5cqVAAB7e3uZdl9fX7i4uAAAFi1aBAUFBbRv3x6JiYlwcnLCihUrpH0VFRUREBCAQYMGwcbG
BhoaGujVqxemTZv2U7EUyAlqBYW89Y1EQedULvs1ZejX6NR0FzuEP8bbC0vEDuGPolyIFadyiwL4N/
JPlMeSNYiIiIiI/
jh5LYNaEIQf9lFVVYW3tze8vb3l9jExMcGhQ4d+KRbOCBARERERERERERGRKApkBjURERERfZHXsjWIiIiI
iP40HJPLxwxqIiIiIiIiIiIiIhIFM6iJiIiICjgmaxARERERiYsZ1PIxg5qIiIiIiIiIiIiIRMEMaiIiIqI
CjtkaRERERETi4pBcPmZQExEREREREREREZEomEFNREREVMAxW4OIiIiISFy8qlE+ZlATERERERERERERkS
iYQU1ERERUwDFbg4iIiIhIXByTy8cMaiIiIiIiIiIiIiISBTOoiYiIiAo4ZmsQEREREYmLY3L5mEFNRERER
ERERERERKJgBjURERFRAcdkDSIiIiIicXFMLh8zqImIiIiIiIiIiIhIFMygJiIiIirgWO+OiIiIiEhcHJPL
xwxqIiIiIiIiIiIiIhIFM6iJiIiICjgmaxARERERiYyDcrmYQU1EREREREREREREomAGNREREVEBx3p3RER
ERETi4phcPk5QExERERVwHAsTEREREYlLgWNyuVjig4iIiIiIiIiIiIhEwQxqIiIiogJOgSnURERERESiYo
kP+ZhBTURERERERERERESiYAY1ERERUQHHZA0iIiIiInHxqkb5mEFNRERERERERERERKJgBjURERFRAcd6d
0RERERE4uKYXD5mUBMRERERERERERGRKJhBTURERFTAKTBZg4iIiIhIVMwSlo/
nhoiIiIiIiIiIiIhEwQxqIiIiogKO9e6IiIiIiMSlwDG5XMygJiIiIiIiIiIiIiJRiJpB/
fTpU5ibm4sZAhEREVGBx2QNIiIiIiJx8apG+UTNoLa0tETDhg2xadMmJCQkiBkKEREREREREREREeUyUSeo
r1+/
jsqVK2PEiBEwNDTEgAEDcOXKFTFDIiIiIipwJLnwHxERERERyacgkeT4I78StcSHtbU1lixZggULFmD//
v3w8/NDvXr1UKZMGfTp0wc9evSAvr6+mCH+kqBrV+G3fh3uB9/
Fu3fvsGipNxo1dpAuFwQBK5Yvxe6dOxATEw3rqtUwftIUmJiYSvtERUZi9qzpOHP6FBQUFNC4iSPGjB0PdQ
0NEY4of0lNTcVK72U4GLAfH96/h76BAVq1bov+AwdLL6uYOG4s9u/
bI7NeXdt6WLl6nRgh5wmj+jiiTaMqKGNaDPGJybh86ynGL9mHRy8iZPrVrmyGKW4tULOSKVJT03D74Wu0HO
yNhMRk2FUvjWNrh2a5/Xrd5iIoOFT6fFiPxujT3haljHTwITIWq7b/
g7nrjgIADPW0MHtEO1QrXwoWJfWwYssZjJ6/K+cOPg+4EXQNmzasx4P79/
D+3TvMXbgUDRp9ed84dSIQu3dsw4P79xAdFYWNW3ehTNlyMtvwmj4ZVy9fwvt3EVBTV0elKtZwHzoSpmZfS
iotmDMTt27ewNPHj2BqZo5N22X/HfyJ1q1ZhZPHA/
H82VOoqKqiinVVDB0ue95ehoZi0fy5uHEjCMlJSahbzw5jPCegqJ6etM/94HtYsnAB7t27A8V/37dH/
jUW6up83/5a0LWr2OD75W/kwiWyfyMnjh+LA1m8P69Ylf7+/
Pr1K6zxWYErVy6lv8frG6B5i1boN2AglJSUc/VYiIiIiIiI6L/
LEzdJLFSoENq1a4cdO3Zgzpw5ePz4MUaNGoWSJUuiZ8+eePv2rdgh/
ifx8XGwsrKC54TJWS73XbcGWzZvxITJU7Bpy3aoqalhUH9XJCYmSvt4jhmFJ48fw2etL5Z6+
+D6tWuYNmVSbh1Cvua7bg12bNsCz/GTsOfAIQwbPgp+69fCf/
NGmX629exw4vQ56WPOvIUiRZw32FWzhM+2s2jQcz5aDFqOQoUUEbDSHeqqXyZ8alc2w77lg3Hi0gPYdZ+He
t3nwWfrGaSlCQCAS7eewtTBU+axfvd5PHv1XmZyesFfHeDS1gaei/agStsZ6DBsFa7dfSFdrqxUCO8/
xWD22iO4/
fB17p0EEcXHx6F0GSuM9pwoZ3k8qlStBvehI+Vuo2y5Cpg4dSa27g7AkhVrAAEYMqgvUlNTZfq1bN0ODk7N
fmv8+dn1a1fxvy5d8bf/
NqxcvR4pySkY1L8v4uPiAADxcXEY3N8VEokEq9f5wXejP5KTkzHUfRDS0tIAABER4RjYtw9KliqFjf7b4O2
zFk8eP8ak8Z5iHlqeFB8fhzJWVvAcn/XfSCD9/
fn46XPSx+y5X96fnz97ijRBwIRJ07Br70GMGuOJndu3YtniRbkRfr6jIMn5BxERERERySeRSHL8kV+JmkGd
4dq1a1i/fj22bt0KDQ0NjBo1Cq6urnj16hWmTp2K1q1b58vSH/XsGqCeXYMslwmCgM0b/0a/AYPQ8N/
syBlec9Gofl2cPHEczZo74+mTJzh/7h/4b9uJChUrAQDGjpsAt0H9MWL0XzAwKJZrx5If3bx5A/
aNGqN+A3sAQIkSxjh86CDu3rkt009ZWRl6+ThT/3dr7b5C5nn/
yZvw8uRsVC1fEuevPwEAzB3ZDiu2nsZ830Bpv68zrJNTUhH+IUb6vFAhBbSwr4yVW89I26zMiqFfBztU7zh
Tuu6LNx9k9h369iNGzUvPmO7V2uY3HWHeVrdefdStV1/u8uYtWgEA3ryWP2HftkMn6c/
FS5TAALch6N6pLd6+eQ3jkqUAACPHjAcARK78iMcPQ35H6Pme96q1Ms+nzvRC4/
p1ERx8D9Vr1MTNG9fx5s1rbNm5B4ULFwYATJs5Gw3q1sKVy5dQx6Yu/jlzGoUKFYLnhElQUEj/
Dnj8pCno1K41QkNfoFQpk1w/rrzqe38jMygpK0NPL+v3Z9t69WH71b8V45Il8fzZM+zYvgUjRo/
5rbESERERERFRzhE1g3rhwoWoVKkS6tatizdv3uDvv//
GixcvMGPGDJiZmcHOzg5+fn64fv26mGHmiNevXuH9+3eoXaeutE1TUxOVKlfB7Vs3AAC3bt2AppaWdHIaAG
rb1IWCggLu3L6daZsky9q6Kq5cuoTnz58BAEIePMCNG0GoZyc7+Xft6hXY29mglbMTZkybjMjIT2KEm2dpF
VYFAHyKSs8i1dcpjFqVzfDu42ec8huB58dn4djaoahrbS53Gy0aVEZRbQ1s3HdJ2uZcvxKevX6P5vUr4n7A
FDw4OBUrJnWFjpZ6zh7QHyY+Pg4B+/ageAljFDM0FDucfOXz5/
QvWbS1tQEASclJkEgkUFb+cjWBiooKFBQUcPN6UHqfpCQoKSlJJ6cBQEU1/d9QRh/
KvmtXr6BhfRu0buGEmdl4f/
78OQbaWtq5FF3+wmwNIiIiIiJxKeTCI78SNfaVK1eia9euePHiBfbu3YsWLVrIfKgHAAMDA6xbV/
DqAb9//w4AUFSvqEx70aJF8f79ewDAh/fvoaurK7O8UKFC0NLWxod/1yf5+vTtD6dmzdGmRTNUr1IB/
+vQBt179ILzvxmoAFC3nh1mzJqDNev8MGzEaARdvYrBA/
plKoXwp5JIJJg3qgMu3HiC4CfppXbMjNNr7Y4f0Bzrd19Aa7cVuHn/
JQ6t8oBFqawzHXu1sUHgxft4HREpbTM11kMpI120c6iKvhM3ot+kTahariT857nm+HH9CXZu2wJ7m+qwt6m
Bi+f/wTKftazL+xPS0tIwf/YsWFetBsvSZQAAlSpbQ01NDUsWzkd8fDzi4+KwcP4cpKamSt/
Ta9Wugw8f3mPD+nVITk5CdFQUli5aAAB4947v2z/D1jb9/Xn1Wj8MHT4aQdeuwm2g/Pfn0NAX2Oq/
Ce07dc7lSImIiIiIiOhXiFri49GjRz/
so6ysjF69esldnpiYKFOzGQAERRWoqKj8cnyUvx09chiHDh6A19wFsLS0xIMH9zFvthf09Q3Qqk1bAECz5s
7S/
qXLWKFMGSs4N3XAtatXULvOn1FS4nsWe3ZCBUsjNO79paarwr+FRtftOoeN+9Mzom+FvIJ9LSv0am2DScv2
y2yjhEERNLEph+5j1su0K0gkUFVRguvEjXgcml7iY9DUzbi4ZSxKmxhkuikj/ZymzVugVh0bfHj/Hpv/
9sW4v0Zgjd9mvjdmk9eMaXj8+BF8//aXtunq6mLugsWYNX0qtmzeCAUFBTRt5oxy5ctDIkn/
ctXCsjSmzfTCgrlzsGzJQigoKKBLtx4oWlQv0xew9H1Ns3h/btEs6/
fn8PBwuA3oiyaOTdH+qxI39AUTnImIiIiIxKXAQblcotegjoyMxLp163D//n0AQIUKFdCnTx/pJdU/
4uXlhalTp8q0jZ84GRMmTfndof5WGTU1P7z/
AH19A2n7hw8fYFW2LACgqJ4ePn78KLNeSkoKoqOiUFROTU76YtGCuejj2l86CV26jBXevnmDdWtXSSeov2V
csiR0dHQQGvrij5+gXjSmI5rbVYSD62KZzOe376IBAPefhsn0D3kWhpKGOpm206N1HXyIikXAGdmyNGHvo5
CcnCqdnAaAB8/CAQAlDXU5Qf2LCmtqorCmJkqZmKJi5cpwsLPB6ZPH4dTM+ccr/
+Fmz5yGf86cxroNmzKVRbGxrYcDRwLx6dMnFFJUhKaWFhwa1INT05LSPs2cW6KZc0t8eP8eaupqkECCTX/
7wdi45Le7op+Q8f788pv354iIcPTr0xNVrKti4pTpIkZIRERERERE/
4Wo6VzXrl2DhYUFFi1ahI8fP+Ljx49YuHAhLCwssl132tPTE1FRUTKP0WM8czjyX1fC2Bh6evq4fPmitO3z
58+4c/
sWKlepCgCoUqUqYqKjEXzvrrTPlcuXkJaWhkqVK+d6zPlNQnyCNNs3g6KiItLSBLnrhIeFITIyEvp/
+BcAi8Z0RKtGVdB0wNJMNy588eYD3kREooypgUy7pYkBQt/KfqECAD1b1YF/
wBWkpKTJtF+8+RRKSorSkiEAUNokfZtZbYf+O0EABAhITkoSO5Q8TRAEzJ45DSdPHMeq9X4oYWwst6+Ojg4
0tbRw5fIlfPz4AQ0aNszUp6ieHtTVNXD0yGEoq6igjk3dLLZE2ZXx/vz1TW3Dw8PRt3dPlC9fAVNneDFL/
TsUJJIcfxARERERkXy8L4x8omZQDx8+HK1atcKaNWtQqFB6KCkpKejbty+GDRuGs2fP/
nAbKiqZy3kkpORIuD8tLjYWoaGh0uevX73Cg/
v3oa2tDaPixdGtR0+sWbUSJqVMUMLYGN7LlkDfwACNGjsAAMwtLGBbzw5TJ0/
EhElTkZKSDK+Z09G0mTMMDIqJdVj5RgP7hliz2geGRsVhYWmJB/fvY+MGX7Ru2x5A+u/
HZ+VyODRxQlE9Pbx6+RKLFsxDyVImqFvPTuToxbPYsxP+16wGOg5fjc+xCShWVBMAEPU5AQmJyQCARRuOY8
JAZ9x5+Bq3Ql6he8vasDIthq6jZevF29cqAzNjPfjuuZBpPycvh+B6cChWTemG0fN2QUFBgsVjO+H4xfsyW
dWVy5QAAGioq0BPpzAqlymBpJRUPPgmg7ugiIuLxauv3jfevH6Nhw/uQ0tbG4ZGxREVFYnwt2/
x7l36OXrx4jmA9MnQonr6eP3qJQKPHkZtG1vo6OggIjwcf/
uuhYqKCup+dYPQl6EvEB8Xhw8f3iMxMREPH6RfxWJmYfHH1qr2mjENhw8FYNFSb2hoaEjrShcurAnVf290u
G/PLpiZW0BHRxe3b93EvNkz0a1nL5iafblJ6Fb/TahiXRXq6uq4dPECFi+YB49hI6CppSXKceVVcXHf/
I18/QoPHqT/jdTW1obPCtn358UL/31/tk1/f06fnO6B4sWLY/ioMfj06csXW3p/
+JeMRERERERE+YlEEAT56aQ5TE1NDTdu3EDZf0taZAgODkaNGjUQFxf3n7abVyaor165jL69e2Zqb9W6Lab
Pmg1BELBi+VLs2rEdMTHRqFqtOsZNnAxTUzNp36jISHjNnI4zp09CQUEBjZs4YqznBKhraOTmoeRLsbGf4b
10CU6eOI6PHz9A38AAzZo5Y8AgNygpKyMhIQHDPNzw4EEwYqJjYGBgAJu6tnDzGIqieno/3oEIdGq65/
g+4m8sz7K936SN2HTgsvT5qN5NMKBTfehoq+POw9cYv3gvLtx8KrOO3ywXlDLSQaOvalh/
zUhfGwvHdETjOmURG5+EY+eDMXbhbnyK/vJvP6t4Xrz5gLLOk//L4WXb2wtLcnT78gRdvYLB/
VwytTu3bINJ02chYN8eTJ88PtPyvgMGo98gd7yLiMDMqRPx4H4wYqKjoFtUD1WrVYfrgMEw+eq9ZZBrL1wP
upppO3sOBqJ4iRK/
9ZiyQ7mQ+JmvVSuWzbJ96oxZaNWmHQBgyaIFOLB3D6KiolC8RHF06NQZ3Xu6yHxTPcFzDM6dPY24uDiYmpm
jp0sftGjVOleOITskyBvfql+9chn9+mT+G9mydVuMnzgFw4d8eX/Wz3h/dv/y/
rxv725MnpD1FVM374bkaOw/Q01J7AjStV8flOP72NWneo7vg/IXSRP5V6IQEWVX/
JGHYodARPmcqqK62CEAADodGpjj+9je3CfH95ETRJ2gLlasGDZu3AhHR0eZ9qNHj6Jnz54IDw//
T9vNKxPURL9bbkxQUzqxJqj/
VHlhgvpPkVcmqP8UnKCmPxknqInod+AENRH9Kk5Q532ilvj43//+B1dXV8yfPx9166bX5jx//jxGj
x6NLl26iBkaERERUYGRn+vREREREREVBByRyyfqBPX8+fMhkUjQs2dPpKSkQBAEKCsrY9CgQZg9e7aYoRER
ERERERERERFRDhN1glpZWRlLliyBl5cXnjx5AgCwsLCAunreSL0nIiIiKgiYQE1EREREJC4FDsrlyvWin+3
atUN0dLT053bt2qF79+6YPHkyJk+ejO7du0vbe/
bsiTlz5iAqKiq3wyQiIiKiHHL27Fm0bNkSxYsXh0Qiwd69e2WWu7ik33z060fTpk1l+nz8+BHdunWDlpYWi
hQpAldXV3z+/
Fmmz+3bt2FnZwdVVVWULFkSc+fOzRTLjh07ULZsWaiqqqJSpUo4dOjQbz9eIiIiIqK86Efj8m/
H5BmPefPmSfuYmppmWv6zlTFyfYJaW1tbWgdRW1v7u4+UlBT4+PigR48euR0mERERUYGhIJHk+ONnxMbGok
qVKvD29pbbp2nTpnj79q30sWXLFpnl3bp1w7179xAYGIiAgACcPXsW/
fv3ly6Pjo6Go6MjTExMEBQUhHnz5mHKlClYvXq1tM+FCxfQpUsXuLq64saNG2jTpg3atGmDu3fv/
tTxEBERERH9SF4bkwM/Hpd/PR5/+/Yt1q9fD4lEgvbt28v0mzZtmkw/
Dw+Pn4oj10t8+Pr6ZvmzPMHBwahZs2ZOhkREREREuahZs2Zo1qzZd/uoqKjA0NAwy2X379/
HkSNHcPXqVdSoUQMAsGzZMjRv3hzz589H8eLFsXnzZiQlJWH9+vVQVlZGhQoVcPPmTSxcuFA6kb1kyRI0bd
oUo0ePBgBMnz4dgYGBWL58OXx88ucd0ImIiIiIsutH4/
Jvx+P79u1Dw4YNYW5uLtOuqakpd+yeHbmeQf2zrKyscOHCBbHDICIiIsq3JLnwSExMRHR0tMwjMTHxP8d8+
vRpGBgYwMrKCoMGDcKHDx+kyy5evIgiRYpIJ6cBwMHBAQoKCrh8+bK0T/
369aGsrCzt4+TkhJCQEHz69Enax8HBQWa/Tk5OuHjx4n+Om4iIiIgoK/LKZfzOR04KDw/
HwYMH4erqmmnZ7NmzUbRoUVStWhXz5s1DSkrKT207z09QKyoqosr/2bvv8Ciqto/
jv00lCUkgtBB6F6SjQuhNSpAuUkKTjvQiiCgCAqFIFwhNmlRBEJEqHQSkN5H20Am9JoEQkn3/4GVlDaFINp
Ms34/XPFf2zJmZe4Y8m7P33nOmQAGjwwAAAMALBAUFxZiuLSgo6D/
tq0qVKpo9e7bWr1+vYcOGafPmzapataqioqIkSVeuXFHq1KmttnFycpKPj4+uXLli6ZMmTRqrPk9fv6zP0/
UAAABAYhLXRSPPmjVrljw9PVWnTh2r9s6dO2vBggXauHGj2rZtqyFDhqhXr16vte94n+IDAAAA8cvW1RSS1
KdPH3Xv3t2qzdXV9T/tq0GDBpaf8+XLp/
z58ytbtmzatGmTKlSo8EZxAgAAAEb4L3NEv66goCANGDDAqu2bb75R//7933jfP/zwgwIDA5UkSRKr9mc/
A+TPn18uLi5q27atgoKCXvnzAAlqAAAAvDFXV9f/
nJB+maxZsyplypQ6deqUKlSoIF9fX127ds2qz+PHj3Xr1i3L3He+vr66evWqVZ+nr1/
W503mzwMAAACMEpdFI8/aunWrjh8/roULF760b9GiRfX48WOdPXtWuXLleqX9J/
gpPgAAAPBmHEy2X2zp4sWLunnzptKmTStJ8vf31507d7R3715Lnw0bNig6OlpFixa19NmyZYsiIyMtfdatW
6dcuXIpefLklj7r16+3Ota6devk7+9v2xMCAADAWyc+ngvj6uoqLy8vqyUuEtTTp09XkSJFXmka5gMHDsjB
wSHGlHwvQgU1AAAA4lVoaKhOnTpleX3mzBkdOHBAPj4+8vHx0YABA1S3bl35+vrq9OnT6tWrl7Jnz67KlSt
LknLnzq0qVaqodevWCg4OVmRkpDp27KgGDRrIz89PktSoUSMNGDBALVu2VO/
evXXkyBGNHTtWo0ePthy3S5cuKlOmjEaOHKlq1appwYIF2rNnj6ZMmRK/
FwQAAAAwwIvG5RkzZpQk3bt3Tz/99JNGjhwZY/
sdO3Zo165dKleunDw9PbVjxw5169ZNjRs3thSFvAoS1AAAAHYuPuagfh179uxRuXLlLK+f3obYrFkzTZo0S
YcOHdKsWbN0584d+fn5qVKlSvr222+tqj/
mzp2rjh07qkKFCnJwcFDdunU1btw4y3pvb2+tXbtWHTp0UJEiRZQyZUr169dPbdq0sfQpXry45s2bp6++
+kpffvmlcuTIoWXLlilv3rzxcBUAAADwNomPOahf14vG5TNnzpQkLViwQGazWQ0bNoyxvaurqxYsWKD+/
fsrIiJCWbJkUbdu3WJMM/IyJrPZbP7vp5EwPXxsdASAbSR/
v6PRIbw1Qv4Ya3QIbxUXJ2acii8mJbxBkT1zczY6gica/3jQ5sf4sfHLb/
fD28X0YXqjQwBgBx6sPmF0CAASuSSO7kaHIEn6dF0nmx9jxofjbX4MW6CCGgAAwM4lwGINAAAA4K2SECuoE
wpK1gAAAAAAAAAAhqCCGgAAwM4ltDmoAQAAgLcNY/LYUUENAAAAAAAAADDEK1VQL1++/
JV3WKNGjf8cDAAAAOKeA8UadoExOQAAQOLFHNSxe6UEda1atV5pZyaTSVFRUW8SDwAAAIDnYEwOAAAAe/
RKCero6GhbxwEAAAAbYb47+8CYHAAAIPFiRB475qAGAAAAAAAAABjilSqo/y0sLEybN2/
W+fPn9ejRI6t1nTt3jpPAAAAAEDeo1rBPjMkBAAASD+agjt1rJ6j379+vgIAAhYeHKywsTD4+Prpx44bc3d
2VOnVqBsMAAACAjTEmBwAAgL147Sk+unXrpurVq+v27dtyc3PTzp07de7cORUpUkTfffedLWIEAADAG3Awm
Wy+IH4xJgcAAEhcGJPH7rUT1AcOHFCPHj3k4OAgR0dHRUREKEOGDBo+fLi+/
PJLW8QIAAAA4BmMyQEAAGAvXjtB7ezsLAeHJ5ulTp1a58+flyR5e3vrwoULcRsdAAAA3pjJZPsF8YsxOQAA
QOJiMplsviRWrz0HdaFChbR7927lyJFDZcqUUb9+/
XTjxg3NmTNHefPmtUWMAAAAAJ7BmBwAAAD24rUrqIcMGaK0adNKkgYPHqzkyZOrffv2un79uqZMmRLnAQIA
AODNUK1hfxiTAwAAJC4O8bAkVq9dQf3ee+9Zfk6dOrVWr14dpwEBAAAAeDHG5AAAALAXr52gBgAAQOJCgTM
AAABgLO46jN1rJ6izZMnywgv6v//9740CAgAAAPBijMkBAABgL147Qd21a1er15GRkdq/f79Wr16tzz//
PK7iAgAAQBxxoFrD7jAmBwAASFwYk8futRPUXbp0eW77hAkTtGfPnjcOCAAAAMCLMSYHAACAvYizBzxWrVp
VS5YsiavdAQAAII6YTLZfkDAwJgcAAEiYHEwmmy+JVZwlqBcvXiwfH5+42h0AAACA18SYHAAAAInNa0/
xUahQIasHspjNZl25ckXXr1/XxIkT4zQ4AAAAvDmeGG5/GJMDAAAkLozJY/
faCeqaNWtaXVAHBwelSpVKZcuW1TvvvBOnwQEAAACIiTE5AAAA7MVrJ6j79+9vgzAAvIpL28YaHcJb49z1c
KNDeKvk8vM0OgTArsXZnG5IMBLDmPziL9uMDgGAHXDr9L7RIQBI5MwTjxodgiTJQVRQx+a1P684Ojrq2rVr
Mdpv3rwpR0fHOAkKAAAAccdkMtl8QfxiTA4AAJC4MCaP3WsnqM1m83PbIyIi5OLi8sYBAQAAAHgxxuQAAAC
wF688xce4ceMkPcn2T5s2TUmTJrWsi4qK0pYtW5jvDgAAIAFySLzFFPgXxuQAAACJk0MirnC2tVdOUI8ePV
rSk2qN4OBgq1sHXVxclDlzZgUHB8d9hAAAAAAkMSYHAACA/XnlBPWZM2ckSeXKldPPP/
+s5MmT2ywoAAAAxB0qqO0HY3IAAIDEycRDEmP1ygnqpzZu3GiLOAAAAAC8IsbkAAAAsBev/
ZDEunXratiwYTHahw8frnr16sVJUAAAAIg7PDHc/
jAmBwAASFwYk8futRPUW7ZsUUBAQIz2qlWrasuWLXESFAAAAIDYMSYHAACAvXjtKT5CQ0Pl4uISo93Z2Vn3
7t2Lk6AAAAAQd5iD2v4wJgcAAEhcHBJxhbOtvXYFdb58+bRw4cIY7QsWLFCePHniJCgAAAAAsWNMDgAAAHv
x2hXUX3/9terUqaPTp0+rfPnykqT169dr3rx5Wrx4cZwHCAAAgDdDsYb9YUwOAACQuJhev074rfHaCerq1a
tr2bJlGjJkiBYvXiw3NzcVKFBAGzZskI+Pjy1iBAAAAPAMxuQAAACwF6+doJakatWqqVq1apKke/
fuaf78+erZs6f27t2rqKioOA0QAAAAb4b57uwTY3IAAIDEgzF57P5zbfmWLVvUrFkz+fn5aeTIkSpfvrx27
twZl7EBAAAAeAHG5AAAAEjsXquC+sqVK5o5c6amT5+ue/
fu6ZNPPlFERISWLVvGw1gAAAASKGa7sy+MyQEAABIfExXUsXrlzyvVq1dXrly5dOjQIY0ZM0aXL1/
W+PHjbRkbAAAAgGcwJgcAAIC9eeUK6lWrVqlz585q3769cuTIYcuYAAAAEIco1rAfjMkBAAASJ5MYlMfmlS
uot23bpvv376tIkSIqWrSovv/
+e924ccOWsQEAAAB4BmNyAAAA2JtXTlAXK1ZMU6dOVUhIiNq2basFCxbIz89P0dHRWrdune7fv2/
LOAEAAPAfOZhMNl8QPxiTAwAAJE6MyWP32s/
M8fDwUIsWLbRt2zYdPnxYPXr00NChQ5U6dWrVqFHDFjECAAAAeAZjcgAAANiLN3qoe65cuTR8+HBdvHhR8+
fPj6uYAAAAEIdMJtsvMA5jcgAAgITPZDLZfEms3ihB/
ZSjo6Nq1aql5cuXx8XuAAAAALwmxuQAAABIjJyMDgAAAAC25ZB4iykAAAAAu+AQN3XCdokrAwAAAAAAAAAw
BAlqAAAAO8cTwwEAAABjJcQ5qLds2aLq1avLz89PJpNJy5Yts1rfvHnzGMeoUqWKVZ9bt24pMDBQXl5eSpY
smVq2bKnQ0NDXioMENQAAAAAAAAC8ZcLCwlSgQAFNmDAh1j5VqlRRSEiIZfn3Q7kDAwN19OhRrVu3TitWrN
CWLVvUpk2b14qDOagBAADsHAXOAAAAgLH+S4WzrVWtWlVVq1Z9YR9XV1f5+vo+d92xY8e0evVq7d69W+
+9954kafz48QoICNB3330nPz+/
V4qDCmoAAAAAAAAASOQiIiJ07949qyUiIuKN9rlp0yalTp1auXLlUvv27XXz5k3Luh07dihZsmSW5LQkVax
YUQ4ODtq1a9crH4MENQAAgJ1zMNl+AQAAABA7B5lsvgQFBcnb29tqCQoK+s8xV6lSRbNnz9b69es1bNgwbd
68WVWrVlVUVJQk6cqVK0qdOrXVNk5OTvLx8dGVK1de+TgJZoqPx48fa9OmTTp9+rQaNWokT09PXb58WV5eX
kqaNKnR4QEAAAAAAABAgtWnTx91797dqs3V1fU/769BgwaWn/Ply6f8+fMrW7Zs2rRpkypUqPCf9/
tvCSJBfe7cOVWpUkXnz59XRESEPvzwQ3l6emrYsGGKiIhQcHCw0SECAAAkWiZR4gwAAAAYKT7moHZ1dX2jh
PTLZM2aVSlTptSpU6dUoUIF+fr66tq1a1Z9Hj9+rFu3bsU6b/XzJIgpPrp06aL33ntPt2/
flpubm6W9du3aWr9+vYGRAQAAAAAAAAAuXryomzdvKm3atJIkf39/3blzR3v37rX02bBhg6Kjo1W0aNFX3m
+CqKDeunWr/
vjjD7m4uFi1Z86cWZcuXTIoKgAAAPvAHNEAAACAsRzioYL6dYWGhurUqVOW12fOnNGBAwfk4+MjHx8fDRgw
QHXr1pWvr69Onz6tXr16KXv27KpcubIkKXfu3KpSpYpat26t4OBgRUZGqmPHjmrQoIH8/
PxeOY4EUUEdHR1tmVz7WRcvXpSnp6cBEQEAAAAAAACA/dqzZ48KFSqkQoUKSZK6d++uQoUKqV+/
fnJ0dNShQ4dUo0YN5cyZUy1btlSRIkW0detWq2lE5s6dq3feeUcVKlRQQECASpYsqSlTprxWHAmigrpSpUo
aM2aMJXiTyaTQ0FB98803CggIMDg6AACAxI0KagAAAMBYCfG5MGXLlpXZbI51/Zo1a166Dx8fH82bN+
+N4kgQCeqRI0eqcuXKypMnjx4+fKhGjRrp5MmTSpkypebPn290eHFm+tTJWr9urc6c+Z9ckyRRwYKF1LV7T
2XOkjVGX7PZrA7tWmv7tq0aPW6CyleoaEDEidvePbs184fpOvbXEV2/fj3GdTSbzZr4/Tj9vPgn3b9/
TwULFVbffv2VKVNm44JOoPbv3aO5s3/Q8WNHdePGdQ0dOU5lyj3/
d3LY4P5atmSRuvT4Qg0Cm1raa1erqCshl636tu/UTU0/bS1Jmhb8vaZPmRhjf0mSuGnjH3tjtNurRbMna/
GcqVZtfhkyacwPSyRJU8YM1uF9f+rWzRtK4uamXHnyK7BVZ6XLmNnS//
C+P7VwVrDOnzkl1yRuKvNhNTVs8ZkcHZ1iPYYkuSZJojm/brPdySVCkyaMV/
DE763aMmfJol9WrJYkRUREaOTwoVq9aqUePXqk4iVKqu/
X3yhFypRGhGuXrl69qjGjRmj71q16+PCBMmTMpIGDhujdvPmMDg0AAAAAEAcSRII6ffr0OnjwoBYsWKBDhw
4pNDRULVu2VGBgoNVDExO7Pbv/VP2GgXo3Xz5FPY7S+LGj1K51S/28/
De5u7tb9f1x9qx4ebqnPXvwIFy5cuVSrTp11b1LxxjrZ0yfqvlz5+jbIUOVLl16TRg/
Vu3btNTS5Stt+sTTxOjhw3DlyJlLH9Wsoz49O8fab9OG33X08EGlTJX6uetbt++kmrU/trx29/Cw/
Nyo6aeq/XF9q/6d2rVQ7nffviRUhsxZ9fWwf5L1Do7/vFVnzZFbJctXVcrUvgq9f08/
zZ6sQV900IQ5y+Xg6Kizp08o6KsuqtOwhTr2GqBbN65p6tggRUdHq2nbrpKkGvWaqNJHda2OObDXZ8qWM0+
8nF9iky17Dk2ZNsPy2tHJ0fLziGFDtHXzZo0YNUaenp4KGvytunfpqFlzFxgRqt25d/
eumjduqPc+KKoJwVOV3Ce5zp87Jy8vb6NDS3QYUwAAAADGcjAliJmWE6QEkaB+
+PChkiRJosaNGxsdik1NmjLd6vXAwUNVrpS/jv11VEXee9/S/
vexY5o96wfNX7hEFcqWjO8w7UbJUmVUslSZ564zm82aO2e2Wrdtr3Lln1QCDwoarvKli2vD+t9VNaBafIaa
4PmXKC3/EqVf2OfatasaNXywxkyYoh6d2z+3j7u7h1KkTBXrOnf3fxLWJ0/8rTP/
O61eX37z3wNPpBwcnJTM5/kVuBWr1bH8nNrXTw0+/
Uyft22oa1dD5OuXXn9sWqdMWXLo4yZPKtN902VQYOvOGj2oj+o1aS03dw8lcXNXErd/vhQ7e/
qELp77n1p36WPbE0uknBwdlTJVzN/b+/fva+mSJRo6/DsVLeYvSRo4aIhqVQ/
QoYMHlL9AwXiO1P78MH2q0vj66tvBQZa29OkzGBgRAAAAACCuJYjUferUqdWsWTOtW7dO0dHRRocTb0Lv35
ckeXn/
Uwn24MED9enVQ19+1e+5CRHEjUsXL+rGjesqWqy4pc3T01P58hfQoYP7DYwscYqOjtbAr75QYNMWypotR6z
95sycqsrl/
NW0YR39OGu6Hj9+HGvf5UsXK2OmzCpY+D1bhJygXbl8Xm3rV1HHJjU1Lugr3bh25bn9Hj54oI1rliu1bzql
TJVGkvQ48pGcXVys+rm4uiryUYT+d/LYc/
ezYdUypU2fUbnzFYrbE7ET586fU8WyJRVQuYL69OqhkMtPpqr56+gRPX4cqaL+/
7yPZMmaTWnT+unggQMGRWtfNm/coHffzaue3TqrbCl/
fVK3lpb8tMjosBIlB5PtFwAAAACxM5lMNl8SqwSRoJ41a5bCw8NVs2ZNpUuXTl27dtWePXuMDsumoqOjNXz
YEBUsVFg5cuS0tI8YFqQChQpZqnphGzduXJckpUiZwqo9RYoUunHjhhEhJWpzZk6To5OjPmkY+10QnzRsrG
+DRmrC5JmqVfcTzf5hqiaMHfncvhEREVqzaoWq16z73PX2LMc7efVZz/76Mmi8WnX+QteuXFa/
bq30IDzM0mfN8p/UpHopNa1RSgd2/6Gvhk2Qk7OzJKnAe/46/tchbduwWtFRUbp145qW/
DhNknT7Zszf7UePIrR1w2qVr1Izfk4wkcmXP7++HRykiZOnqe/X/
XXp0iV92jRQYWGhunnjhpydneXl5WW1jU+KFJb3GLyZixcvaNHC+cqYKbMmTZmuT+o31LCgQVq+bKnRoQEA
AAAA4kiCmOKjdu3aql27tu7fv6/Fixdr/
vz5KlasmLJmzarGjRurX79+sW4bERGhiIgIqzazo2uCn0N4yKABOn3ypGbO+ecpl5s2rNfuXTu1cDEfvJF4
/P3XUS2aP0cz5y154bd1DRs3t/ycPWcuOTs5a9iQAWrfqZtc/
lXxu3nj7woPD1dA9bcvaVrogxKWnzNlzaEcufPqs8CPtGPzOpWvWkuSVKpCVeUvXFS3b93Qrz/
N0ehBX+jbMdPl4uKqAu8VU5PWnTV1bJC+H/
aNnF2cVTewlY4d3i8Hh5jfSf65baMehoepTKWP4usUE5VnpwnKmesd5ctfQFU/
LKc1q1cpiWsSAyN7O0RHm/
Vu3rzq3LW7JCl37jw6deqkflq0QDVq1TY4usQlERdTAAAAAHbBJAblsUkQFdRPeXp66tNPP9XatWt16NAhe
Xh4aMCAAS/cJigoSN7e3lbLiGFBL9zGaEMGDdSWzZs0dcYspfH1tbT/uWunLlw4r5L+76tw/jwqnP/
JA8t6dO2kls2bGBWuXUr5//Mg37xx06r95s2bSpny+XP/4vkO7N+r27duqXZABZV8P59Kvp9PV0Iua/
zo4apdLfY7Ad7Nl19Rjx8r5PKlGOuWL12sEqXKyCcF/xYeST3llz6Trly+aGlz90iqtOkzKk/
+wurRb7guXzirP7dttKz/6OPGmrlskybOXaHpi3/Xe/
5Pkqyp06aLsf8Nq35R4WKllCx5ihjrEJOXl5cyZcqsC+fPK0XKlIqMjNS9e/
es+ty6edPyHoM3kypVKmXNls2qLWvWrAoJuWxQRAAAAACAuJYgKqifevjwoZYvX6558+Zp9erVSpMmjT7//
PMXbtOnTx91797dqs3smDCrp81ms4IGf6sN69dp+sw5MR701KJVG9X+uJ5V28e1qqtn7z4qU7ZcfIZq99Kl
T6+UKVNp164deid3bklSaGioDh86qHr1GxocXeJStVoNvV/
U36qta4fWqlqthqrViL3C8eTxv+Xg4KDkPj5W7ZcvXdS+PX9q+OgJNok3sXn4IFxXQi6qlE/
Ac9ebzWaZzWY9joy0ajeZTPL5/yTp9o1rlCJVGmXN/
o5Vn2shl3T04B71GjjKNsHbofCwMF24cEHVaqRSnnfzysnJWX/
u3KGKlSpLks6e+Z9CQi6rQMGCxgZqJwoWKqyzZ85YtZ07e1Z+fjG/
bMGLOVBCDQAAABiKMXnsEkSCes2aNZo3b56WLVsmJycnffzxx1q7dq1Kly790m1dXWNO5/
Ew9ueuGWrItwO0auUKjRk/UR7uHrpx/
ckcpUk9PZUkSRKlTJXquQ9GTJvWL0YyGy8XHham8+fPW15funhRfx87Jm9vb6X181Ngk6aaOnmSMmXMpHTp
02vC+LFKlTq1yldg/u9/Cw8P08UL/1zLy5cu6cTxY/Ly8pZvWj95J0tm1d/J
yUk+KVIqU+YskqTDBw/o6JFDKvL+B3J399CRQwc0duQwVQ6oLi8vb6ttf/3lZ6VImUr+JUrZ/
LwSotmTx+i9YqWUMk1a3b55XYtmT5aDg4NKlqusqyEX9cemdSpQpJi8kiXXzetXtWzBTLm4JLGaGmT5otkq
+H5xmUwm7dq2UcsWzlS3r4bKwdHR6lgb1ixXMp+UKvR+8X+Hgf83csQwlSlbTmn9/
HT92jVNmjBejo4OqhrwkTw9PVW7bl19N3yovLy9lTRpUg0dMkgFChZS/
gIFjQ7dLjRu2kzNGjfUtCnBqlS5qo4cPqTFixepX/
+BRocGAAAAAIgjCSJBXbt2bX300UeaPXu2AgIC5Pz/D/
uyN4sWzpekGNN1DBwUpJq16xgRkl07evSIWn3a1PL6u+FPpn6pUbO2vh0yVJ+2bK0HDx5oYP9+un//
ngoVLqKJk6cl+PnLjfD3X0fVoU1zy+txo4ZJkgKq19LXA4a8dHsXFxf9vmalpk+eoEeRj+Tnl071A5tazUs
tPXl46Mpfl6la9Vpy/Fcy9W1x68ZVjR3SV/fv35WXd3K9k7eABo+bKa9kyfX48WP9fXi/
Vv48X6Gh95QseQrlzldIg8ZOl3fyfyrR9+/+Qz/
P+0GRkZHKnDWHeg0YaZXAlp5c681rV6hspY9iJK7xj6tXr+iLz7vrzp07Su7jo0KFi2jOvEXy+f/K/
897fykHk4N6dO2sR5GPVLxESfX96huDo7YfefPl16ix32vcmFGaPGmC0qVPr169v1S1j2oYHVqi40CxBgAA
AGAo5qCOnclsNpuNDuL+/fvy9PSMs/
0l1Apq4E2FR0QZHcJb48LNcKNDeKvk8ou7vwFAQpIkQZQCSOO2nXl5pzfUuWQWmx8Dicul8LNGhwDADqTvW
c3oEAAkcuaJR40OQZI08cg4mx/
js7ydbX4MW0gQH5s8PT0VFRWlZcuW6dixY5KkPHnyqGbNmm9tFSUAAEBcYbo7AAAAwFjMQR27BJGgPnXqlA
ICAnTp0iXlypVLkhQUFKQMGTLot99+U7Zs2QyOEAAAAAAAAAAQ1xyMDkCSOnfurGzZsunChQvat2+f9u3bp
/PnzytLlizq3DlxlqYDAAAkFA4y2XwBAAAAEDuTycHmS2KVICqoN2/
erJ07d1oeOiVJKVKk0NChQ1WiRIkXbAkAAAAAAAAASKwSRILa1dVV9+/
fj9EeGhoqFxcXAyICAACwH0x3BwAAABjLxF2HsUoQtd8fffSR2rRpo127dslsNstsNmvnzp1q166datSoYX
R4AAAAAAAAAAAbSBAV1OPGjVOzZs3k7+8vZ2dnSVJkZKRq1qypMWPGGBscAABAIudAsQYAAABgKAdua4xVg
khQJ0uWTL/88otOnTqlY8eOSZJy586t7NmzGxwZAAAAAAAAAMBWDEtQd+/e/
YXrN27caPl51KhRtg4HAADAblGtAQAAABjLxJg8VoYlqPfv3/9K/
fjHAwAAAAAAAAD7ZFiC+tkKaQAAANgO3/cDAAAAxnIQg/
LYOBgdAAAAAAAAAADg7USCGgAAwM45mEw2X17Hli1bVL16dfn5+clkMmnZsmVW681ms/
r166e0adPKzc1NFStW1MmTJ6363Lp1S4GBgfLy8lKyZMnUsmVLhYaGWvU5dOiQSpUqpSRJkihDhgwaPnx4j
Fh++uknvfPOO0qSJIny5cunlStXvta5AAAAAK/
CZDLZfEmsSFADAAAgXoWFhalAgQKaMGHCc9cPHz5c48aNU3BwsHbt2iUPDw9VrlxZDx8+tPQJDAzU0aNHtW
7dOq1YsUJbtmxRmzZtLOvv3bunSpUqKVOmTNq7d69GjBih/v37a8qUKZY+f/zxhxo2bKiWLVtq//
79qlWrlmrVqqUjR47Y7uQBAAAAWDGZzWaz0UHEtYePjY4AsI3wiCijQ3hrXLgZbnQIb5Vcfp5GhwDYRBLDn
vZh7Yfd521+jBbvZ/xP25lMJi1dulS1atWS9KR62s/
PTz169FDPnj0lSXfv3lWaNGk0c+ZMNWjQQMeOHVOePHm0e/
duvffee5Kk1atXKyAgQBcvXpSfn58mTZqkvn376sqVK3JxcZEkffHFF1q2bJn+/
vtvSVL9+vUVFhamFStWWOIpVqyYChYsqODg4P96KfD/
LoWfNToEAHYgfc9qRocAIJEzTzxqdAiSpFknptn8GM1ytrL5MWyBCmoAAAC8sYiICN27d89qiYiIeO39nDl
zRleuXFHFihUtbd7e3ipatKh27NghSdqxY4eSJUtmSU5LUsWKFeXg4KBdu3ZZ+pQuXdqSnJakypUr6/
jx47p9+7alz7PHedrn6XEAAAAA2B4JagAAADvnEA9LUFCQvL29rZagoKDXjvXKlSuSpDRp0li1p0mTxrLuy
pUrSp06tdV6Jycn+fj4WPV53j6ePUZsfZ6uBwAAAOKKg0w2XxKrBHLjKQAAABKzPn36qHv37lZtrq6uBkUD
AAAAILEgQQ0AAGDn4uOJ3q6urnGSkPb19ZUkXb16VWnTprW0X716VQULFrT0uXbtmtV2jx8/1q1btyzb+/
r66urVq1Z9nr5+WZ+n6wEAAIC4Eh9j8sSKKT4AAACQYGTJkkW+vr5av369pe3evXvatWuX/P39JUn+/
v66c+eO9u7da+mzYcMGRUdHq2jRopY+W7ZsUWRkpKXPunXrlCtXLiVPntzS59njPO3z9DgAAAAAbI8ENQAA
gJ0zxcPyOkJDQ3XgwAEdOHBA0pMHIx44cEDnz5+XyWRS165dNWjQIC1fvlyHDx9W06ZN5efnp1q1akmScuf
OrSpVqqh169b6888/
tX37dnXs2FENGjSQn5+fJKlRo0ZycXFRy5YtdfToUS1cuFBjx461moakS5cuWr16tUaOHKm///5b/
fv31549e9SxY8fXPCMAAADgxUzx8F9ixRQfAAAAds4hgd1OuGfPHpUrV87y+mnSuFmzZpo5c6Z69eqlsLAw
tWnTRnfu3FHJkiW1evVqJUmSxLLN3Llz1bFjR1WoUEEODg6qW7euxo0bZ1nv7e2ttWvXqkOHDipSpIhSpky
pfv36qU2bNpY+xYsX17x58/TVV1/pyy+/
VI4cObRs2TLlzZs3Hq4CAAAA3iZM8RE7k9lsNhsdRFx7+NjoCADbCI+IMjqEt8aFm+FGh/
BWyeXnaXQIgE0kSSClAD/
uvWjzYzQukt7mx0Dicin8rNEhALAD6XtWMzoEAImceeJRo0OQJM07NdPmx2iUvbnNj2ELCeRjEwAAAGyFWg
0AAADAWA6MymPFHNQAAAAAAAAAAENQQQ0AAGDnmO4OAAAAMJbJRJ1wbLgyAAAAAAAAAABDUEENAABg53hiO
AAAAGAsE3NQx4oKagAAAAAAAACAIaigBgAAsHNUJAAAAADG4q7G2PF5BQAAAAAAAABgCCqoAQAA7BzVGgAA
AICxmIM6dlRQAwAAAAAAAAAMQQU1AACAnaNWAwAAADAWdzXGjgpqAAAAAAAAAIAhqKAGAACwc1RrAAAAAMZ
y4L7GWFFBDQAAAAAAAAAwhF1WUEdFm40O4a3C9z/xx9WZ75TiSy4/
T6NDeKukCpxldAhvjetzmxkdAgzAXw8AAADAWNzVGDs+rwAAAAAAAADAW2bLli2qXr26/
Pz8ZDKZtGzZMsu6yMhI9e7dW/ny5ZOHh4f8/PzUtGlTXb582WofmTNnlslkslqGDh36WnGQoAYAALBz/
x4w2mIBAAAAEDuTHGy+vK6wsDAVKFBAEyZMiLEuPDxc+/bt09dff619+/
bp559/1vHjx1WjRo0YfQcOHKiQkBDL0qlTp9eKwy6n+AAAAAAAAAAAxK5q1aqqWrXqc9d5e3tr3bp1Vm3ff
/+9PvjgA50/f14ZM2a0tHt6esrX1/c/
x0EFNQAAgJ0zxcMCAAAAIHbxcVdjRESE7t27Z7VERETE2TncvXtXJpNJyZIls2ofOnSoUqRIoUKFCmnEiBF
6/
Pjxa+2XBDUAAAAAAAAAJHJBQUHy9va2WoKCguJk3w8fPlTv3r3VsGFDeXl5Wdo7d+6sBQsWaOPGjWrbtq2G
DBmiXr16vda+meIDAADAzjFFNAAAAGAsUzzcd9inTx91797dqs3V1fWN9xsZGalPPvlEZrNZkyZNslr37PH
y588vFxcXtW3bVkFBQa98bBLUAAAAAAAAAJDIubq6xklC+llPk9Pnzp3Thg0brKqnn6do0aJ6/
Pixzp49q1y5cr3SMUhQAwAA2DkHZokGAAAADOWQCG9rfJqcPnnypDZu3KgUKVK8dJsDBw7IwcFBqVOnfuXj
kKAGAAAAAAAAgLdMaGioTp06ZXl95swZHThwQD4+PkqbNq0+/
vhj7du3TytWrFBUVJSuXLkiSfLx8ZGLi4t27NihXbt2qVy5cvL09NSOHTvUrVs3NW7cWMmTJ3/
lOEhQAwAA2LlEWKwBAAAA2JX4mIP6de3Zs0flypWzvH46n3SzZs3Uv39/LV+
+XJJUsGBBq+02btyosmXLytXVVQsWLFD//
v0VERGhLFmyqFu3bjHmwX4ZEtQAAAAAAAAA8JYpW7aszGZzrOtftE6SChcurJ07d75xHCSoAQAA7FxCrNYA
AAAA3iYmbmuMlYPRAQAAAAAAAAAA3k5UUAMAANg5ijUAAAAAY5moE44VVwYAAAAAAAAAYAgqqAEAAOycA3N
QAwAAAIZiDurYUUENAAAAAAAAADAECWoAAAA7ZzLZfoF92Lp1qxo3bix/
f39dunRJkjRnzhxt27bN4MgAAAASNweZbL4kViSoAQAAAGjJkiWqXLmy3NzctH//
fkVEREiS7t69qyFDhhgcHQAAAOwVCWoAAAA7RwU1XsWgQYMUHBysqVOnytnZ2dJeokQJ7du3z8DIAAAAEj+
TyWTzJbEiQQ0AAABAx48fV+nSpWO0e3t7686dO/EfEAAAAN4KJKgBAADsnCke/
kPi5+vrq1OnTsVo37Ztm7JmzWpARAAAAPaDMXnsSFADAAAAUOvWrdWlSxft2rVLJpNJly9f1ty5c9WzZ0+1
b9/
e6PAAAABgp5yMDgAAAAC25ZB4iykQj7744gtFR0erQoUKCg8PV+nSpeXq6qqePXuqU6dORocHAACQqCXmOa
JtjQQ1AAAAAJlMJvXt21eff/
65Tp06pdDQUOXJk0dJkyY1OjQAAADYMRLUAAAAdi4xz0eH+PPjjz+qTp06cnd3V548eYwOBwAAwK6YmGk5V
lwZAAAAAOrWrZtSp06tRo0aaeXKlYqKijI6JAAAALwFSFADAADYOZPJ9gsSv5CQEC1YsEAmk0mffPKJ0qZN
qw4dOuiPP/
4wOjQAAIBEz8FksvmSWJGgBgAAACAnJyd99NFHmjt3rq5du6bRo0fr7NmzKleunLJly2Z0eAAAALBTzEENA
ABg55iDGq/
L3d1dlStX1u3bt3Xu3DkdO3bM6JAAAAASNcbksaOCGgAAAIAkKTw8XHPnzlVAQIDSpUunMWPGqHbt2jp69K
jRoQEAAMBOGVJBvXz58lfuW6NGDRtGAgAAYP8cKNbAK2jQoIFWrFghd3d3ffLJJ/r666/
l7+9vdFgAAAB2wZSI54i2NUMS1LVq1bJ6bTKZZDabrV4/
xdPDAQAAANtzdHTUokWLVLlyZTk6OhodDgAAAN4ShkzxER0dbVnWrl2rggULatWqVbpz547u3LmjlStXqnD
hwlq9erUR4QEAANgVUzz8h8Tv6dQeJKcBAADiHmPy2Bn+kMSuXbsqODhYJUuWtLRVrlxZ7u7uatOmDQ9kAQ
AAAGxk3LhxatOmjZIkSaJx48a9sG/nzp3jKSoAAAC8TQxPUJ8+fVrJkiWL0e7t7a2zZ8/
Gezy2MmPaFI0fO0oNGzfV572/
tLQfPLBfE8aP0ZHDh+To4KCcuXJrwuRpSpIkiSSpWuXyCrl82Wpfnbp016et2sRr/
AndooXztXjhfF2+fEmSlDVbdrVp10ElS5WWJA0a0E+7du7Q9evX5OburgIFCqlLt57KkjWrJOnOndvq+8Xn
OnHiuO7euSMfnxQqW668OnbprqRJkxp2XonBv3+37969o+AJ47Vzx3ZdCQlR8uQ+Klu+gtp37CJPT0/
LdoXzvRNjX0HDR6py1WrxGX6iM2nCeAVP/
N6qLXOWLPplhfUdJ2azWR3atdb2bVs1etwEla9QMT7DTJB61Mqr6h9kUk4/
bz189Fi7TlxXv7l7dTLkniQpuYeLvvykoCrk91P6lB66ce+hVuy+oEEL9+veg0jLfgpnS6EBDYuoYNYUMpv
N2nv6hr6eu1dHzt2OccysaTy1bVh1RUWblaHFfEu7k6NJPWrlU6PS2eXn466TIXfVb+5e/
X7wcox9vC0WLZinRQvn6/KlJ+/j2bLnUNv2n6lkqTK6e+eOJk4Yrx1/bLO8r5SrUFEdOlm/
ryB2THeH2IwePVqBgYFKkiSJRo8eHWs/k8lEghr/SVRUlGYF/6jfV67XrZu3lSJVClWp/
qEat25kmdpxWL/vtObXdVbbvV+8iIZNGGJEyAAM9kXlVqpT8EO9kyaLHkQ+1B//O6DeS0fpxLWzz+2/
skOwqr5bSrUmd9IvBzfEWO/j4a2DX/6s9Ml9laxHMd19cN/
GZwA8H3NQx87wBPX777+v7t27a86cOUqTJo0k6erVq/
r888/1wQcfGBxd3Dh65LCWLF6oHDlzWbUfPLBfndq31qct26h3n6/k6OioE8ePy8HBeuaV9h06q/
bH9SyvPdw94iXuxCRNmjTq1LWHMmbKJJnN+nX5MnXr3EELfvpZ2bLnUO4876pqtepKmzat7t69q+BJ3+uzt
i21YvXvcnR0lIPJQWXKVdBnnbooeXIfXTh/XkMHD9Tdu98oaPhIo08vwXre7/b1a9d0/
fo1de3RS1mzZVfI5csa8u03un79mkaMsq7M6v/
tEBUvWcry2tPTK95iT8yyZc+hKdNmWF47OsW8FfvH2bP44/
cvJXL7auqav7X39E05OZrUv0FhLev7od7v8YvCIx7L18ddaZO7q+
+cPfr70l1lSOmhsa2KKW1yNzUZvVmS5OHqpKV9Kmrl3ovqPn2nHB0d1LdeAS378kO989lPehz1z/
MUnBxN+qFLaf3x91UVzZnaKpZ+9Qupfqls6jT5D524fFcVCqTTvJ7lVPHrVTp09la8XpeEInUaX3Xp1lMZM
2WS2WzWr78sU5eOHbRwyVKZzWZdv3ZN3Xv2VrZs2XX58iUNGthf169d08gxL674BPBiZ86cee7PQFxZMHOR
li9eoS8G9lTmbJl0/OhJDe8/
Uh5JPVSnUS1Lvw+Kv6deA3pYXju7OBsQLYCEoEz29zVh83ztPndYTg5OGlKzi9Z2mqo839ZQ+KMHVn27lm9
q9Uyz55ne+FsdunRC6ZP72jJsAG/A8AT1Dz/
8oNq1aytjxozKkCGDJOnChQvKkSOHli1bZmxwcSA8PEx9v+ipr7/5VtOmTLJaN3LEUDVo1MSqGjpzlqwx9u
Hu4aGUKVPZPNbErEzZ8lavO3bupp8WLtChQweVLXsO1a1X37LOL116dejYVfU/
rqnLly8pQ4aM8vL21if1G/
7Txy+d6jVoqNkzfoi3c0hsYvvdzp4jp74bPd7yOkOGjOrQqZu+6vO5Hj9+LCenf952PD29+N3+D5wcHZUyV
ezX7e9jxzR71g+av3CJKpQtGWu/
t02doN+tXrebuE1npjVQoawptP3YVR27cEeNR22yrD9z9b4GLNyvaR1LydHBpKhos3Km85aPZxINWrRfl26
GS5KCFh/Uru9qKmPKpPrf1X+qMfrVL6QTl+5q85GQGAnqBqWyacTSQ1p74Em18PR1x1UuX1p1+iiPWn+/
zUZXIGErW876fbxTl25atGC+Dh08oDp162nU2GfeVzJmVKcuXfVl75jvK3g+vq7Cqxg4cKB69uwpd3d3q/
YHDx5oxIgR6tevn0GRITE7evAvlSjjr2KlikqSfP18tWH1Rv199LhVP2cXZ/mk9DEiRAAJTNUJba1eN5/
dV9eHb1ORjHm09dReS3uB9O+oR4Vmem9YfV0Zuvm5+2pXqr6SuXlq4MpgBeQtbdO4gZdxMOZRgImC4Vcme/
bsOnTokH799Vd17txZnTt31ooVK3T48GFlz57d6PDe2NDBA1WyVFkV9S9u1X7r5k0dOXRQPj4+at64gSqWK
aFWzRtr/769MfYxc/pUlStZVA3r1dasGdP1+PHj+Ao/UYqKitLqVb/
pwYNw5S9QMMb6B+HhWr7sZ6VLl16+vs//
BvXatava8Ps6FXnvfRtHm3jF9rv9PKGh9+WRNGmMJNLQIQNVvlQxNWlYT8uWLnnpN9944tz5c6pYtqQCKld
Qn149rKYBevDggfr06qEvv+r3wiQ2JC93F0nSrdCIWPt4u7vo/oNIRUU/
+d08efmubt57qKblcsjZ0UFJnB3VtHwO/X3xjs5dD7VsV/
pdX9Uqllk9ftj13P26OjsoIjLKqu3Bo8fyz5XmTU/LLkRFRWnVyifv4wUKFHpun9D7oUr6nPcVAP/
dgAEDFBoaGqM9PDxcAwYMMCAi2IN3C+TRvj8P6MK5i5Kk08dP68iBo/qghPU4+8CeQ6pT/
hM1rdVSoweP090794wIF0AC5O32ZEq3W2F3LW1uzkk079Ph6rBwkK7eu/Hc7XL7ZlO/
gPZqOutLRZuj4yVWAP9NgvhUZzKZVKlSJVWqVMnoUOLUmlW/6e+//tKcBYtjrLt48YIkafKk79W1Ry/
leie3Viz/Re1aNddPS39VxkyZJUkNGzXRO3nyyMsrmQ4d3K/
xY0bpxvVr6tGrT3yeSqJw8sRxNWvcUI8eRcjN3V0jx3yvbNn+
+ZJj0YJ5GjPqOz14EK7MmbNo0tQf5OzsYrWPL3p11+aNG/Tw4UOVLltO/QYMiu/
TSBRe9Lv9b7dv39bUyZNU5+NPrNrbd+is94sWU5IkSbTzj+0aOmiAHoSHqWFgU1uFbRfy5c+vbwcHKXPmLL
p+/bomT5qgT5sGaskvv8rDI6lGDAtSgUKFVK48c06/iMkkDWv2vnb8/
aRy+nlSeLqqV538mvH7CUtb6MPHqjpwjeb3LKfedfNLkk6H3FetIessSWyfpK4K/qyEWn+/
Tfefmbv6Wb8fvKyO1d7V9mNX9b+r91U2b1rV+CCTHB3e7jrXkyeOq0mjBnr0KELu7u4aPW6Csj3ny+rbt29
pSvBEq7tj8GIOTPmDV2A2m587PdTBg0+KKoD/ouGn9RUWGq7mtVvJwdFB0VHRatmhuSoG/
HPnzPvF31PJ8iWUNp2vLl8M0fTxM/RFx776ftYYOTrGnMoMwNvDZDJpzMe9te3UPh0NOWVpH/1xb/3xv/
1afmjjc7dzcXLW/BYj9PnS73ThdoiypkwfXyEDsWIaztgliAR1WFiYNm/
erPPnz+vRo0dW6172MJaIiAhFRFhXvz02ucjV1TXO43wdV66EaMTQIZo45YfnxmL+/2/
v6tSrr5q160qS3smdR3/u2qFfli5Rp65P5l9r3OxTyzY5c+WSk7Ozhgz8Rp269pCLi0uM/
b7NMmfJogWLlyr0/n39vm6N+n31habNmGNJUletVl1F/YvrxvXrmj3rB/
Xu0VUz5sy3+vfp2auP2rbrqHPnzmr82FEaOWKovvzqG6NOKUF62e/
2s0JDQ9WlQ1tlzZpNbdt3tFrXut1nlp/
fyZ1HDx480OwZP5CgfomSpcpYfs6Z6x3ly19AVT8spzWrV8knuY9279qphYuXGhhh4jCqRTHlzpBclb5Z9d
z1nm7O+ql3Bf198Y6GLD5gaU/i7KgJbYtr1/FrajFuixwdTOr80bta/
EUFlenzmx5GRml8W3/9tO2Mth+7Guvxe8/8U+PbFtfe0bVkNj+ZTuTHTafUpFziv3PoTWTOnEWLlixTaOh9
rVu7Rl9/2VvTZ/5olaQODQ1Vx/
ZtlTVbNrX7rOML9gbgVSVPnlwmk0kmk0k5c+a0+vAUFRWl0NBQtWvX7oX7eN6YPCIqwvA
xOYy3ae0WrV+1QX2HfKHM2TLp1PHTmvhdsFKkSqHKNT6UJJWvUtbSP2uOLMqaI4saV2+ug3sOqXDR599JA+
DtMKH+V8rrl0MlRzaxtFXPV07lcxVVoaCPY90uqGY3HbtyWnP/
XBEfYQJ4Q4YnqPfv36+AgACFh4crLCxMPj4+unHjhtzd3ZU6deqXJqiDgoJi3HLY56t+6vt1fxtG/
XLHjh7VrVs3FVi/jqUtKipK+/bu0aL5c/Xzr0+SIlmzWicjsmTNpishIbHuN1++/
Hr8+LEuX7r43Pmq32bOzi7KmDGTJCnPu3l19MgRzf9xtr76ZqAkydPTU56ensqUKbPyFyig0iWKasP6daoa
8JFlHylTplLKlKmUJWtWeXt7q0WzQLVu216pUqV+7jHfRi/
73d6595AcHR0VFhaqju1ayd3dQyPHfi9n5xc/6CZv/
vyaOnmiHj16xJcvr8HLy0uZMmXWhfPnderECV24cF4l/
a1vme3RtZMKF3lP02fOMSjKhOW7T4uqSuH0qtJ/
tS7fCo+xPmmSJw9CDH0YqUYjN1o9+PCTklmUKVVSVfh6pZ7OSNNi3FZd+KGBqr2fQUv+OKvS76ZVQJEM6lz
9XUlPqrUdHRx0e14TdZ6yQ3M2ndKN+xFq+N1GuTo7yCdpEoXcDtfARoV19mrMW+vfJs4uLk8edqun7+OHNf
fH2erX/8n7eFhYqD5r20oeHh4aPW7CS99X8A9qNfAiY8aMkdlsVosWLTRgwAB5e3tb1rm4uChz5szy9/d/
4T6eNybv9mUX9ejb1RYhIxGZPGaqGn5a35KEzpoji66GXNO8GQssCep/
80ufVt7JvHXpwmUS1MBbbPwnffVRvjIqPaqZLt35p/ijfK6iypYyg+58t8Oq/5LWY7T11F6VG/
OpyucsqnzpcujjQk/u1H/65euN4ds0ePUU9f9tQvydCPD/
TIzKY2V4grpbt26qXr26goOD5e3trZ07d8rZ2VmNGzdWly5dXrp9nz591L17d6u2xybjk1sfFCumRT8vt2r
r//WXypwlq5q3aKX06TMoVerUOnfW+mnp58+dVfGSpWLd7/G//5aDg4N8fFLYJG57YjZHx6jI/2fdk/
+JjGW9JEVHP6lyf1Gft9HLfrcdHR0VGhqqDm1bysXFRaPHT3yl6qnjf/
8tLy9vktOvKTwsTBcuXFC1GqlUuXJV1f64ntX6j2tVV8/efVSmbDmDIkxYvvu0qKp/
kFEBA1ZbzRn9lKebs5Z9WVERkdGqP3yDIiKt56pzc3VStNmsZ6dLjzabZdY/UyhU/
HqlHJ6ZqqPaexnUrUZeVey3SiH/SohHREYr5Ha4nBxNqlE0k5buOBtn52oPoqOjLe/BoaGhat/
myfvK2O8nUZUJxKFmzZpJkrJkyaLixYv/py9/
njcmvxEVe9EF3h4RDyNi3NLs6OAgc3Tszx65fvW67t29x0MTgbfY+E/
6qnbBCio7urnO3rxktW7o2mmatt16uskjX/
+ibouH6dfDmyRJdad2lZvzP+PF9zPl1Yymg1VqVFOdvn7B1uEDeE2GJ6gPHDigyZMny8HBQY6OjoqIiFDWr
Fk1fPhwNWvWTHXq1Hnh9q6urjE+pIY9Mv5Bax4eSZU9R06rNjc3N3knS2Zpb9q8pSZPHK+cuXIp5zu5teKX
ZTp75n8aPmqsJOnggf06cviQ3v+gqNzdPXTo4AGNHBGkgI+qy+uZyhZI48aMVImSpZU2bVqFhYVp1coV2rP
7T00MnqaLFy5ozZqV8vcvoeQ+Prp69YpmTJ8qV1dXy3QJW7ds1q2bN/
Ru3nxyd3fX6dOnNHrkCBUsVFh+6Zir6lkv+90ODQ3VZ21b6uGDBxo0dITCwkIVFvYkEZg8uY8cHR21edMG3
bp5U/
nyF5CLq6t27fhDP0ybrCbPTGmD5xs5YpjKlC2ntH5+un7tmiZNGC9HRwdVDfhIPj4+z30wYtq0fkqfPoMB0
SYso1oWVb0SWdVgxAbdfxCp1N5JJEn3wiP1MDJKnm7O+qXvh3JzcVSr7zfJ081Znm5PkjQ37kUo2mzWxkOX
NSjwPY1qWVSTV/
8tk8mk7jXz6nGUWVuOXpEkHb901+q4hbOmULRZVnNdv5c9pfx83HXo7C35+birz8cF5WAyaczyI/
FzMRKgsaNHqmSp0vJNm1bhYWFa+duT9/FJU6Y/mV6gdQs9fPhAQ4aOUFhoqML+/0FuyX18mJ/
0VVCsgVjcu3dPXl5ekqRChQrpwYMHevDgwXP7Pu33PM8bk98PvxV3gSLR8i9dTHOnL1CatKmVOVsmnfz7tH
768WdVrfWkqvFB+APNmvyjSlcoKZ+UyXX5Qogmj52mdBn89H7xIgZHD8AIExp8rUbvBajm5E66HxGuNF4pJ
Ul3H9zXw8gIXb1347kPRjx/
O8SSzP7fDeskdMqkySVJx678T3cf3LfxGQDPxxzUsTM8Qe3s7CwHBwdJUurUqXX+/
Hnlzp1b3t7eunDBvr/
VCmzSTI8iIjRy+FDdvXdXOXPm0sQpPyhDhoySntxSuWb1Sk2e9L0iHz2SX7r0CmzSTI2bksT7t1u3bunrvr
114/p1JfX0VI4cuTQxeJqKFS+ha9euav/
evZo3Z7bu3bunFClSqHCR9zRzznz5pHhSiZ4kiat+XvKTvhsxVJGPHimNr6/KV6ikFi1bG3xmic/
fx47qyKGDkqSaAdYPPl2x+nf5pUsvJydnLVowTyOHB8lsljJkzKjuPXvHeJAiYrp69Yq+
+Ly77ty5o+Q+PipUuIjmzFvEw6teQetK70iSVvevYtXebuI2zd18WgWy+Oj9HE8S/IfGWX85+m7HxTp/
PUwnLt/TJ8PXq8/HBfT7twGKNpt16Mwt1Qlap6t3np/
QeR5XZ0d9Xb+QMqf2VNjDSK05cEmtJ2zV3fDnP1TxbXDr1k191ae3rl+/pqSensqZM5cmTZku/
+IltPvPXTr8/+8rH1W1vh185dr1SscXicB/ljx5coWEhCh16tRKlizZcz84PX14YlRUlAERIrHr1Psz/
TBxlsYM+V53bt9RilQp9NHHAWraJlCS5ODgoP+dPKO1v65T6P0wpUiVQu/
5F9annzXjzjrgLfVZ6QaSpM3dZlm1N5/
dV7N2LjMgIgC2ZjKbzYaWG1eqVEnNmzdXo0aN1Lp1ax06dEidO3fWnDlzdPv2be3ateu195kQKqjfJnz/
E3/4zY4/jg78ZsenVIGzXt4JceL63GZGh/
BWSWJ4KcATu07ffXmnN1Q0G3d3JUabN29WiRIl5OTkpM2bN7+wb5kyZV64/
t8uhZ99g8gA4In0PasZHQKARM488ajRIUiSdl/fZvNjvJ+qpM2PYQuGf2waMmSI7t9/
cnvF4MGD1bRpU7Vv3145c+bUtGnTDI4OAAAAsF/
PJp1fNwENAAAAxAXDE9TvvvuunhZxp06dWsHBwVq6dKny5MmjggULGhscAACAHWC6O7yK1atXK2nSpCpZ8k
nlzYQJEzR16lTlyZNHEyZMUPLkyQ2OEAAAIPEyMQdBrByMDqBmzZqaPXu2JOnOnTsqVqyYRo0apVq1amnSp
EkGRwcAAAC8HT7//
HPdu3dPknT48GF1795dAQEBOnPmjLp3725wdAAAALBXhieo9+3bp1KlSkmSFi9erDRp0ujcuXOaPXu2xo0b
Z3B0AAAAiZ8pHhYkfmfOnFGePHkkSUuWLFH16tU1ZMgQTZgwQatWrTI4OgAAgETOZLL9kkgZnqAODw+Xp6e
nJGnt2rWqU6eOHBwcVKxYMZ07d87g6AAAAOwAGWq8AhcXF4WHh0uSfv/
9d1WqVEmS5OPjY6msBgAAwH9jiof/
EivDE9TZs2fXsmXLdOHCBa1Zs8YyEL527Zq8vLwMjg4AAAB4O5QsWVLdu3fXt99+qz///
FPVqlWTJJ04cULp06c3ODoAAADYK8MT1P369VPPnj2VOXNmFS1aVP7+/
pKeVFMXKlTI4OgAAAASP6o18Cq+//
57OTk5afHixZo0aZLSpUsnSVq1apWqVKlicHQAAACJm8lksvmSWDkZHcDHH3+skiVLKiQkRAUKFLC0V6hQQ
bVr1zYwMgAAAODtkTFjRq1YsSJG++jRow2IBgAAAG8LwxPUkuTr6ytfX1+rtg8+
+MCgaAAAAOxLIi6mQDyLiorSsmXLdOzYMUnSu++
+qxo1asjR0dHgyAAAABI37jqMXYJIUAMAAAAw1qlTpxQQEKBLly4pV65ckqSgoCBlyJBBv/
32m7Jly2ZwhAAAALBHhs9BDQAAANsyxcOCxK9z587Kli2bLly4oH379mnfvn06f/
68smTJos6dOxsdHgAAQKLGc2FiRwU1AAAAAG3evFk7d+6Uj4+PpS1FihQaOnSoSpQoYWBkAAAAsGckqAEAA
Oxd4i2mQDxydXXV/
fv3Y7SHhobKxcXFgIgAAADsh4kHw8SKKT4AAAAA6KOPPlKbNm20a9cumc1mmc1m7dy5U+3atVONGjWMDg8A
AABxbMuWLapevbr8/PxkMpm0bNkyq/
Vms1n9+vVT2rRp5ebmpooVK+rkyZNWfW7duqXAwEB5eXkpWbJkatmypUJDQ18rDhLUAAAAdo757vAqxo0bp
2zZssnf319JkiRRkiRJVLx4cWXPnl1jx441OjwAAIBELSGOycPCwlSgQAFNmDDhueuHDx+ucePGKTg4WLt2
7ZKHh4cqV66shw8fWvoEBgbq6NGjWrdunVasWKEtW7aoTZs2rxUHU3wAAAAAULJkyfTLL7/
o1KlT+uuvvyRJefLkUfbs2Q2ODAAAALZQtWpVVa1a9bnrzGazxowZo6++
+ko1a9aUJM2ePVtp0qTRsmXL1KBBAx07dkyrV6/W7t279d5770mSxo8fr4CAAH333Xfy8/
N7pTiooAYAALBzJpPtF9iH6dOnq1atWqpXr57q1aunWrVqadq0aUaHBQAAkOglxArqFzlz5oyuXLmiihUrW
tq8vb1VtGhR7dixQ5K0Y8cOJUuWzJKclqSKFSvKwcFBu3bteuVjUUENAAAAQP369dOoUaPUqVMn+fv7S3ry
oaNbt246f/
68Bg4caHCEAAAAeJGIiAhFRERYtbm6usrV1fW193XlyhVJUpo0aaza06RJY1l35coVpU6d2mq9k5OTfHx8L
H1eBRXUAAAAds4UDwsSv0mTJmnq1KkKCgpSjRo1VKNGDQUFBWnKlCmaOHGi0eEBAAAkaiaTyeZLUFCQvL29
rZagoCCjT/2lqKAGAAAAoMjISKvbM58qUqSIHj9+bEBEAAAAeB19+vRR9+7drdr+S/
W0JPn6+kqSrl69qrRp01rar169qoIFC1r6XLt2zWq7x48f69atW5btXwUV1AAAAPaOEmq8giZNmmjSpEkx2
qdMmaLAwEADIgIAALAf8TEHtaurq7y8vKyW/5qgzpIli3x9fbV+/XpL271797Rr1y7LdHD+/
v66c+eO9u7da+mzYcMGRUdHq2jRoq98LCqoAQAAAEh68pDEtWvXqlixYpKkXbt26fz582ratKlVNc6oUaOM
ChEAAABxJDQ0VKdOnbK8PnPmjA4cOCAfHx9lzJhRXbt21aBBg5QjRw5lyZJFX3/9tfz8/
FSrVi1JUu7cuVWlShW1bt1awcHBioyMVMeOHdWgQQP5+fm9chxUUAMAANi5hPbE8P79+8eYL++dd96xrH/
48KE6dOigFClSKGnSpKpbt66uXr1qtY/z58+rWrVqcnd3V+rUqfX555/
HmIZi06ZNKly4sFxdXZU9e3bNnDnzP1/Dt8GRI0dUuHBhpUqVSqdPn9bp06eVMmVKFS5cWEeOHNH+/
fu1f/9+HThwwOhQAQAAEp34mIP6de3Zs0eFChVSoUKFJEndu3dXoUKF1K9fP0lSr1691KlTJ7Vp00bvv/+
+QkNDtXr1aiVJksSyj7lz5+qdd95RhQoVFBAQoJIlS2rKlCmvFQcV1AAAAIh37777rn7//
XfLayenf4al3bp102+//aaffvpJ3t7e6tixo+rUqaPt27dLkqKiolStWjX5+vrqjz/
+UEhIiJo2bSpnZ2cNGTJE0pPqj2rVqqldu3aaO3eu1q9fr1atWilt2rSqXLly/
J5sIrFx40ajQwAAAEA8Klu2rMxmc6zrTSaTBg4cqIEDB8bax8fHR/PmzXujOEhQAwAA2Ln/
UExhc05OTs99cMrdu3c1ffp0zZs3T+XLl5ckzZgxQ7lz59bOnTtVrFgxrV27Vn/99Zd+//
13pUmTRgULFtS3336r3r17q3///nJxcVFwcLCyZMmikSNHSnpy+
+G2bds0evRoEtQAAACId6971+HbhCk+AAAAEO9OnjwpPz8/Zc2aVYGBgTp//rwkae/
evYqMjFTFihUtfd955x1lzJhRO3bskCTt2LFD+fLlU5o0aSx9KleurHv37uno0aOWPs/u42mfp/
sAAAAAkDBQQQ0AAGDn4qNWIyIiQhEREVZtrq6uz31qeNGiRTVz5kzlypVLISEhGjBggEqVKqUjR47oypUrc
nFxUbJkyay2SZMmja5cuSJJunLlilVy+un6p+te1OfevXt68OCB3Nzc3uh8AQAAgNdBBXXsqKAGAADAGwsK
CpK3t7fVEhQU9Ny+VatWVb169ZQ/
f35VrlxZK1eu1J07d7Ro0aJ4jhoAAACA0UhQAwAA2DuT7Zc+ffro7t27VkufPn1eKbxkyZIpZ86cOnXqlHx
9ffXo0SPduXPHqs/Vq1ctc1b7+vrq6tWrMdY/
XfeiPl5eXlRPAwAAIN6ZTCabL4kVCWoAAAC8MVdXV3l5eVktz5ve43lCQ0N1+vRppU2bVkWKFJGzs7PWr19
vWX/8+HGdP39e/v7+kiR/f38dPnxY165ds/RZt26dvLy8lCdPHkufZ/fxtM/
TfQAAAABIGEhQAwAA2DlTPPz3Onr27KnNmzfr7Nmz+uOPP1S7dm05OjqqYcOG8vb2VsuWLdW9e3dt3LhRe/
fu1aeffip/f38VK1ZMklSpUiXlyZNHTZo00cGDB7VmzRp99dVX6tChgyUp3q5dO/3vf/
9Tr1699Pfff2vixIlatGiRunXrFufXFwAAAHiZhDYmT0h4SCIAAADi1cWLF9WwYUPdvHlTqVKlUsmSJbVz5
06lSpVKkjR69Gg5ODiobt26ioiIUOXKlTVx4kTL9o6OjlqxYoXat28vf39/
eXh4qFmzZho4cKClT5YsWfTbb7+pW7duGjt2rNKnT69p06apcuXK8X6+AAAAAGJnMpvNZqODiGthj+zulBK
0xPv9TOLDb3b8cXTgNzs+pQqcZXQIb43rc5sZHcJbJUkCKQX463KYzY+Rx8/D5sdA4nIp/
KzRIQCwA+l7VjM6BACJnHniUaNDkCSdvGv7OHJ4v2vzY9gCU3wAAAAAAAAAAAyRQOp6AAAAYCvcEwIAAAAY
y2RiVB4bKqgBAAAAAAAAAIagghoAAMDeUawBAAAAGIxBeWzsMkHNw83i1+MoHt0XXxy45wF2igf3xZ874ZF
Gh/
BW8fVyNjoEAAAAAEjQ7DJBDQAAgH+YqNYAAAAADMUc1LGjHhMAAAAAAAAAYAgqqAEAAOwcxRoAAACAsbirM
XZUUAMAAAAAAAAADEEFNQAAgJ2jVgMAAAAwFhXUsaOCGgAAAAAAAABgCCqoAQAA7B3FGgAAAIChTDwYJlZU
UAMAAAAAAAAADEEFNQAAgJ1jvjsAAADAWIzJY0cFNQAAAAAAAADAEFRQAwAA2DmmuwMAAACMRQV17KigBgA
AAAAAAAAYggpqAAAAO0etBgAAAGAsE7c1xooKagAAAAAAAACAIaigBgAAsHcUawAAAACGYg7q2FFBDQAAAA
AAAAAwBBXUAAAAdo5qDQAAAMBYzEEdOyqoAQAAAAAAAACGSDAV1KdOndLp06dVunRpubm5yWw2880CAABAH
GBIBQAAABiLuxpjZ3gF9c2bN1WxYkXlzJlTAQEBCgkJkSS1bNlSPXr0MDg6AAAAAAAAAICtGJ6g7tatm5yc
nHT+/Hm5u7tb2uvXr6/
Vq1cbGBkAAIB9MMXDAgAAAOBFGJXHxvApPtauXas1a9Yoffr0Vu05cuTQuXPnDIoKAAAAAAAAAGBrhieow8
LCrCqnn7p165ZcXV0NiAgAAMDOJN5iCgAAAMAuMCSPneFTfJQqVUqzZ8+2vDaZTIqOjtbw4cNVrlw5AyMDA
AAAAAAAANiS4RXUw4cPV4UKFbRnzx49evRIvXr10tGjR3Xr1i1t377d6PAAAAASPZ4YDgAAABjLZGJMHhvD
K6jz5s2rEydOqGTJkqpZs6bCwsJUp04d7d+/
X9myZTM6PAAAAAAAAACAjRheQS1J3t7e6tu3r9FhAAAA2CWKNQAAAACjMSiPjeEV1KtXr9a2bdssrydMmKC
CBQuqUaNGun37toGRAQAAAAAAAABsyfAE9eeff6579+5Jkg4fPqzu3bsrICBAZ86cUffu3Q2ODgAAIPEzxc
MCAAAAIHaMyWNn+BQfZ86cUZ48eSRJS5YsUfXq1TVkyBDt27dPAQEBBkcHAAAAAAAAALAVwyuoXVxcFB4eL
kn6/fffValSJUmSj4+PpbIaAAAA/53JZPsFAAAAwItQQx0bwyuoS5Ysqe7du6tEiRL6888/
tXDhQknSiRMnlD59eoOjAwAAsAeJd7AKAAAA2AMTVR2xMryC+vvvv5eTk5MWL16sSZMmKV26dJKkVatWqUq
VKgZHBwAAAAAAAACwFcMrqDNmzKgVK1bEaB89erQB0QAAANgfijUAAAAAJFSGJKjv3bsnLy8vy88v8rQfAA
AAAAAAAMC+GJKgTp48uUJCQpQ6dWolS5bsuXOwmM1mmUwmRUVFGRCh7ezds1szf5iuY38d0fXr1zV63ASVr
1BRkhQZGanvx43Rtq1bdPHiBXkmTaqi/
sXVpVsPpU6dxuDIE7bJE8drSvAEq7ZMmbPo5+WrJEkXLpzXmJHDdWD/XkU+eiT/EqXUq89XSpEipaV/
t07tdfz437p966Y8vbxVtJi/OnftoVRc+ximT52sDb+v09kz/
5NrkiQqULCQunTrocxZslr6LPlpoVb9tkJ/H/tLYWFh2vLHn/L81xdOx/
46qrGjRuro0cNydHBQhQ8rqUevL+Tu7hHfp5ToXb16VWNGjdD2rVv18OEDZciYSQMHDdG7efMZHVqitmjBP
C1aOF+XL12SJGXLnkNt23+mkqXK6NKliwqoVOG5240YNUaVKleNz1ATtB9nTNWWjb/r/
LkzcnVNorz5C6ptx27KmDmLpc/yn3/S+jW/6cTxYwoPC9OKDX/
I09P6PaN+jUq6EnLZqq1Nh64KbN7K8vrPHds1Y8oEnfnfKbm4uKpAoSL6rOvnSuuXzrYnmcBRQA0AAAAYy5
TARuWZM2fWuXPnYrR/9tlnmjBhgsqWLavNmzdbrWvbtq2Cg4PjPBZDEtQbNmyQj4+PJGnjxo1GhGCYBw/
ClStXLtWqU1fdu3S0Wvfw4UP9fewvtWnXXrlyvaN79+5pWNBgdenYXvMX/
WxQxIlHtmw5NHHqD5bXjo5Pfr0fhIerQ9uWypnrHQVPnSlJmjRhnLp1aq+ZPy6Ug8OTqdjf+6CoWrRqq5Sp
UunatasaM3K4evXoohlzFsT7uSR0+/bsVv2GjfRu3nx6/
DhK348drfZtWunnX1bIzd1d0pPf5+IlS6l4yVIaP2ZUjH1cu3ZV7Vq1UKUqVfVF368UFhqmEcOGqF/
fPvpu9Lj4PqVE7d7du2reuKHe+6CoJgRPVXKf5Dp/7py8vLyNDi3RS53GV1269VTGTJlkNpv16y/
L1KVjBy1cslRZsmTV+k3brPov/mmhZs2YrpIlSxsUccJ0cN8e1a7XUO/
kyauoqMeaOnGsenZqo1mLfpGb25P3jIiHD/WBf0l94F9SUyaMiXVfLdp21Ee1Pra8dvdwt/
wccumi+vbspHqNmuqrb4cqLDRU348arq97ddW0H3+y2fkBAAAAQGKze/duq8LgI0eO6MMPP1S9ev
Usba1bt9bAgQMtr93d3WULhiSoy5QpI0l6/PixNm/
erBYtWih9+vRGhBLvSpYqo5Klyjx3naenpyZPm2HV1qfv1wpsUE8hly8rrZ9ffISYaDk6OSplylQx2g8c2K
eQy5c0b9FSJU2aVJI0YNBQlSv5gXb/
uVNFixWXJAU2aW7ZJq1fOjVv0UY9unZQZGSknJ2d4+UcEosJk6dZvR4wOEgVShfXX38dVZH33pckBTZpJkn
a8+eu5+5j6+ZNcnJyUp+v+lm+JOjbr78+qVNT58+fU8aMmWx4Bvblh+lTlcbXV98ODrK0pU+fwcCI7EfZcu
WtXnfq0k2LFszXoYMHlD17DqVMZf2es2H976pUparcPbgL4Fkjxk+2et3nm8GqWam0Thz7SwUKvydJqteoi
SRp/94/X7gvd3cPpUiZ8rnrjv/9l6KiotWqfWfL+0r9xs3Vt2cnPX4cKSent/e9nDmoAQAAAGMltArqVP/
6PDt06FBly5bNkreVniSkfX19bR6Lg82P8AJOTk4aMWKEHj9+bGQYCVpoaKhMJlOMqREQ0/
lz51S5QinVqFpRfb/oqZD/vw088tEjmUwmubi4WPq6urrKwcFBB/
btfe6+7t69o1Urf1X+goVITr+C0ND7kiRv71ev2H306JGcnZ0tSSRJck2SRJJi/
XfB823euEHvvptXPbt1VtlS/vqkbi0t+WmR0WHZnaioKK1a+ZsePAhXgQKFYqz/6+gRHf/
7mGrX+fg5W+NZoaGhkiTP/1DlP2/WNFWvWEItAz/W/Dk/
WI0hcr2TRw4OJq36damioqIUGnpfa1f9qiIfFHurk9MAAAAA8CKPHj3Sjz/
+qBYtWlhNxTx37lylTJlSefPmVZ8+fRQeHm6T4xtSQf2s8uXLa/PmzcqcObPRoSQ4ERERGjPqO1UNqGap/
MXz5c1XQP0HBSlz5iy6fv2apgZPUKvmjbXo5+XKl7+gkri5adzo79ShczfJbNb4sSMVFRWlGzeuW+1n3Ojv
tHD+XD18+ED58hfQmO/
jfl4dexMdHa3vhg5RwUKFlT1Hzlfe7oOixTRqxDDN+mG6GjVpogfhDzRu9EhJ0vXr11+yNZ518eIFLVo4X0
2afaqWbdrp6OHDGhY0SM7OzqpRq7bR4SV6J08cV5NGDfToUYTc3d01etwEZcuePUa/
pUsWK2vWbCpYqLABUSYe0dHR+n7UUOUrUEhZs+d4rW3r1A9Uzndyy8vLW0cOHdCUCWN188YNdezWS5KUNl1
6fTd+ivp/
2UMjgwYqKipK7+YroGFjJ9niVBKVhFatAQAAACDuRUREKCIiwqrN1dVVrq6uL9xu2bJlunPnjpo3b25pa9S
okTJlyiQ/Pz8dOnRIvXv31vHjx/Xzz3E/DbHhCeqqVavqiy++0OHDh1WkSBF5/Ou26Bo1arxw+
+ddeLPjyy98QhcZGanPu3eR2WxW334DjA4nwStR6p/
5XnPkzKV8+QqoWpXyWrdmtWrV+VjDvhujoEEDtGDeHDk4OKhy1Wp6J3cemUzWNxE0ad5SNWvXVUjIZU0Jnq
B+fb/Q2O+Dn/
sgTzwRNGigTp06qRmz573Wdtmy59DAwUEaOXyYxo8dJQcHBzUMbKIUKVJaVVXj5aKjzXo3b1517tpdkpQ7d
x6dOnVSPy1aQII6DmTOnEWLlixTaOh9rVu7Rl9/2VvTZ/5olaR+
+PChVq1codbtPjMw0sRh9PBBOnP6lMZPnf3a29YPbGb5OVuOXHJydtbIIQPVpkNXubi46OaNGxoxpL8qV6u
pCpUD9CAsTD9M/l7f9O6ukROm8l4OAAAAwK4FBQVpwADrPOI333yj/
v37v3C76dOnq2rVqvJ7ZnrhNm3aWH7Oly+f0qZNqwoVKuj06dPKli1bnMZteIL6s8+efJgfNSrmQ9RMJpPV
ZN3P87wL3/frb/RVv/5xFmN8i4yM1Oc9uirk8mVNnTGL6un/
wNPLS5kyZdaFC0+eRupfvKSWr1yn27dvy8nRUZ5eXqpUrmSMeXqTJ0+u5MmTK1PmLMqSJZsCKpXV4UMHlP8
5t/
NDGjp4oLZu3qTps35Umv8wJ1HVatVVtVp13bxxQ27ubjLJpB9nz2T+5NeUKlUqZf3XH4esWbPq93VrDIrIv
ji7uChjpidzoud5N6+OHjmsuT/OVr/+/
zwoYt3a1Xrw4KGq16hlUJSJw5jhg7Vj62aNnzJLqdO8+Txmed7Nr6iox7py+ZIyZs6iZT/
Nl4dHUrXv3MPSp+/Aoar3UUX9deSQ3s1X4I2PmWiRmwcAAAAMFR8FM3369FH37t2t2l5WxHvu3Dn9/
vvvL62MLlq0qCTp1KlT9pegjo6OfqPtn3fhzY6Jt3r6aXL6/
LlzmjZjtpIlS250SIlSeHiYLl64oICPrCvwkyd/cj3/3LVTt27dVOmy5WLdR7T5ye/
mo0ePbBdoImU2mzVsyLfasP53TZ0xW+ne8CGnTx94tuznJXJxdVUx/
+JxEeZbo2Chwjp75oxV27mzZ+Xnl86giOxbdHS0Iv/
1vrDs5yUqW668fHx8DIoqYTObzRo7Yoi2blqvscEzlDZd3DwY+dSJv+Xg4KDk/3/
dHz58GOMODEdHxycxvOF4AwAAAAASuleZzuPfZsyYodSpU6tatWov7HfgwAFJUtq0af9reLEyPEH9pp534R
8m4GcuhoeF6fz585bXly5e1N/Hjsnb21spU6VSz26ddezYXxo/YbKio6J04//n4vX29pbzMw/
5g7XR3w1T6bLllDatn65fv6bJE7+Xg6ODqlT9SJK0fNkSZcmSTcl8fHT44AF9N2ywGjVppsxZskqSDh86qL
+OHlbBQkXk5eWlCxcuKHjCWKXPkJHq6ecIGjRQq1au0OhxE+Th4WGZyztpUk8l+f8HHd64cV03b9yw/
L6fPHlCHh4e8k2bVt7eySRJC+b9qAIFC8nd3V07d/
yhMSNHqFPX7jwU9DU1btpMzRo31LQpwapUuaqOHD6kxYsXWVX44r8ZO3qkSpYqLd+0aRUeFqaVv63Qnt1/
atKU6ZY+58+d0949uzVh0hQDI03YRg8bpPVrVmrwd+Pk5u6hmzduSJKSJk1qeTjqzRs3dOvmDV268OQ943+
nTsrd3UNpfNPKy/vJnNPHjhxWoffel7u7h44ePqjvRw/Xh1U/
sjxs0b9kaf00f7ZmTp2kipUDFB4epqkTxso3rZ9y5MptzMknEBRQAwAAAPi36OhozZgxQ82aNZOT0z9p4tO
nT2vevHkKCAhQihQpdOjQIXXr1k2lS5dW/vz54zwOk9lsNsf5Xl/
T+vXrNXr0aB07dkySlDt3bnXt2lUVK1b8T/tLyAnq3X/uUqtPm8Zor1Gzttp16KiAShWeu920GbP1/
gdFbR3ef/I4yvBfIfXp1V379u7W3Tt3lDy5jwoWLqLPOnVVhgwZJUnjxozUil+W6u7du/
JL56e69RoosElzy+0VJ08c13fDhujkib/14MEDpUyZSv4lSqlVm/
ZKnSaNkadmJaFMzVwo7zvPbR8waIhq1KojSQqeMF6TJ014YZ+v+vTWti2bFB4ersxZsqpp8xb6qEZN2wX+G
hwS2Vy1mzdt1Lgxo3T+3FmlS59eTZp+qrr1PjE6rETvm6+/
1J87d+r69WtK6umpnDlz6dOWreVfvISlz7gxo/Tbr8u1at2GRDF/+p3wyHg/Zpn38z63/
Yt+g1S1ei1J0owpEzRzasyHGT7tc+LvvzR62CCdP3tGjyIfKa1fOlWqWl2fBDaTyzNf4K5fu1LzZ8/
QxfNn5ZrETe/mK6C2nbopU+asNjm3l/H1cjbkuP929Z7t/
93TJJBzRcJxKfys0SEAsAPpe764og8AXsY88ajRIUiSbkZctfkxUri+Xg5r7dq1qly5so4fP66cOXNa2i9c
uKDGjRvryJEjCgsLU4YMGVS7dm199dVX8rJBUaHhCeqJEyeqS5cu+vjjj+Xv7y9J2rlzpxYvXqzRo0erQ4c
Or73PhJygtkcJIUH9tkgEuS+7kdgS1MCrMiJB/TZLKAnqa/dt/+
+e2jNhnCsSDhLUAOICCWoAbyqhJKhvRVyz+TF8XFPb/
Bi2YPgUH0OGDNHo0aPVsWNHS1vnzp1VokQJDRky5D8lqAEAAAAAAAAACZ/h9Zh37txRlSpVYrRXqlRJd+/
eNSAiAAAA+2KKh/8AAAAAvIgpHpbEyfAEdY0aNbR06dIY7b/88os+
+ugjAyICAAAAAAAAAMQHw6f4yJMnjwYPHqxNmzZZzUG9fft29ejRQ+PGjbP07dy5s1FhAgAAJF6Jt5gCAAA
AsAsMyWNn+EMSs2TJ8kr9TCaT/ve//
71SXx6SGL94SGL84SGJ8YeHJMJe8ZDE+JVQHpJ4PdT2g6NUSQ2ve0ACw0MSAcQFHpII4E0llIck3o64bvNj
JHdNZfNj2ILhnyTOnDljdAgAAAB2ja/cAAAAAGOZKISLFfWYAAAAAAAAAABDGF5B3aJFixeu/
+GHH+IpEgAAAPtEsQYAAABgNAblsTE8QX379m2r15GRkTpy5Iju3Lmj8uXLGxQVAAAAAAAAAMDWDE9QL126
NEZbdHS02rdvr2zZshkQEQAAgH0xUa0BAAAAGIoReewS5BzUDg4O6t69u0aPHm10KAAAAAAAAAAAGzG8gjo
2p0+f1uPHj40OAwAAINFjDmoAAADAaAzKY2N4grp79+5Wr81ms0JCQvTbb7+pWbNmBkUFAAAAAAAAALA1wx
PU+/fvt3rt4OCgVKlSaeTIkWrRooVBUQEAAAAAAABA3DBxW2OsDE9Q//
bbbzKbzfLw8JAknT17VsuWLVOmTJnk5GR4eAAAAAAAAAAAGzH8IYm1atXSnDlzJEl37txRsWLFNHLkSNWqV
UuTJk0yODoAAIDEz2Sy/QIAAAAA/4XhCep9+/
apVKlSkqTFixcrTZo0OnfunGbPnq1x48YZHB0AAAAAAAAAwFYMn0MjPDxcnp6ekqS1a9eqTp06cnBwULFix
XTu3DmDowMAAEj8TDwxHAAAADAUY/
LYGV5BnT17di1btkwXLlzQmjVrVKlSJUnStWvX5OXlZXB0AAAAAAAAAABbMTxB3a9fP/
Xs2VOZM2dW0aJF5e/
vL+lJNXWhQoUMjg4AACDxYw5qAAAAwGimeFgSJ8On+Pj4449VsmRJhYSEqECBApb2ChUqqHbt2gZGBgAAAA
AAAACwJcMT1JLk6+srX19fq7YPPvjAoGgAAADsS+KtpQAAAADsA2Py2Bk+xQcAAAAAAAAA4O2UICqoAQAAY
EOUawAAAACGMvHgllhRQQ0AAAAAAAAAMAQV1AAAAHbORAk1AAAAYDDG5LGhghoAAAAAAAAAYAgqqAEAAOwc
090BAAAAxmJIHjsqqAEAAAAAAAAAhqCCGgAAwM5RrQEAAAAYjVF5bKigBgAAAAAAAAAYggpqAAAAe0exBgA
AAGAoEw+GiRUV1AAAAAAAAAAAQ1BBDQAAYOdMlFADAAAASKCooAYAAAAAAAAAGIIKagAAADvHdHcAAACAsb
irMXZUUAMAAAAAAAAADGEym81mo4OAFBERoaCgIPXp00eurq5Gh2PXuNbxi+sdf7jW8YvrHX+41gBgn3h/
B/CmeB8B7AMJ6gTi3r178vb21t27d+Xl5WV0OHaNax2/
uN7xh2sdv7je8YdrDQD2ifd3AG+K9xHAPjDFBwAAAAAAAADAECSoAQAAAAAAAACGIEENAAAAAAAAADAECeo
EwtXVVd988w2T+scDrnX84nrHH651/
OJ6xx+uNQDYJ97fAbwp3kcA+8BDEgEAAAAAAAAAhqCCGgAAAAAAAABgCBLUAAAAAAAAAABDkKCGXTCbzWrT
po18fHxkMpl04MABo0N6azRv3ly1atUyOgy7VLZsWXXt2tXoMPCGTCaTli1bZnQYdmvTpk0ymUy6c+eO0aE
AAGykf//
+KliwoNFhAEhAXnUMmDlzZo0ZMyZeYgLw35Gghl1YvXq1Zs6cqRUrVigkJER58+Y1OqS3xtixYzVz5kyjww
DwlipevLhCQkLk7e1tdCgAgDjwvC92e/
bsqfXr1xsTEIAE6d9jwJkzZypZsmQx+u3evVtt2rSJ5+gAvC4nowOA7URGRsrZ2dnoMOLF6dOnlTZtWhUvX
txmx3j06JFcXFxstv/
EiqQQAKNERkbKxcVFvr6+RocCALChpEmTKmnSpEaHASABedUxYKpUqeIhGgBvigrqOLB69WqVLFlSyZIlU4
oUKfTRRx/p9OnTkqSzZ8/KZDLp559/
Vrly5eTu7q4CBQpox44dVvuYOnWqMmTIIHd3d9WuXVujRo2K8e3fL7/8osKFCytJkiTKmjWrBgwYoMePH1v
Wm0wmTZo0STVq1JCHh4cGDx5s83NPCJo3b65OnTrp/
PnzMplMypw5s6KjoxUUFKQsWbLIzc1NBQoU0OLFiy3bREVFqWXLlpb1uXLl0tixY2Pst1atWho8eLD8/
PyUK1eu+D61ROHZKT4iIiLUuXNnpU6dWkmSJFHJkiW1e/duSU+mYcmePbu++
+47q+0PHDggk8mkU6dOxXfoicrt27fVtGlTJU+eXO7u7qpatapOnjwpSbp3757c3Ny0atUqq22WLl0qT09P
hYeHS5IuXLigTz75RMmSJZOPj49q1qyps2fPxvepJHiLFy9Wvnz55ObmphQpUqhixYoKCwvT7t279eGHHyp
lypTy9vZWmTJltG/fPqttT548qdKlSytJkiTKkyeP1q1bZ9BZGCO2a/
e86Wpq1aql5s2bW15nzpxZ3377rRo2bCgPDw+lS5dOEyZMsNrmeX/n/
n1757lz51S9enUlT55cHh4eevfdd7Vy5UrLPo4cOaKqVasqadKkSpMmjZo0aaIbN27Y6pIAQKJRtmxZde7c
Wb169ZKPj498fX3Vv39/y/
o7d+6oVatWSpUqlby8vFS+fHkdPHjQah+DBg1S6tSp5enpqVatWumLL76wmprjZX9LM2fOLEmqXbu2ZVwvW
U/
xsXbtWiVJkiTGbf1dunRR+fLlLa+3bdumUqVKyc3NTRkyZFDnzp0VFhb2xtcJwKsrW7asOnbsqI4dO8rb21
spU6bU119/LbPZLOnFn3GkF4/rnh0Dbtq0SZ9+
+qnu3r0rk8kkk8lkef96doqPRo0aqX79+lYxRkZGKmXKlJo9e7YkvTSXAMA2SFDHgbCwMHXv3l179uzR+vX
r5eDgoNq1ays6OtrSp2/
fvurZs6cOHDignDlzqmHDhpbk8vbt29WuXTt16dJFBw4c0Icffhgjubx161Y1bdpUXbp00V9//
aXJkydr5syZMfr1799ftWvX1uHDh9WiRQvbn3wCMHbsWA0cOFDp06dXSEiIdu/
eraCgIM2ePVvBwcE6evSounXrpsaNG2vz5s2SnvzRSZ8+vX766Sf99ddf6tevn7788kstWrTIat/r16/
X8ePHtW7dOq1YscKI00tUevXqpSVLlmjWrFnat2+fsmfPrsqVK+vWrVsymUxq0aKFZsyYYbXNjBkzVLp0aW
XPnt2gqBOH5s2ba8+ePVq+fLl27Nghs9msgIAARUZGysvLSx999JHmzZtntc3cuXNVq1Ytubu7KzIyUpUrV
5anp6e2bt2q7du3K2nSpKpSpYoePXpk0FklPCEhIWrYsKFatGihY8eOadOmTapTp47MZrPu37+vZs2aadu2
bdq5c6dy5MihgIAA3b9/X9KT95U6derIxcVFu3btUnBwsHr37m3wGcWfF127VzVixAgVKFBA+/
fv1xdffKEuXbrESPK/7O9chw4dFBERoS1btujw4cMaNmyYperuzp07Kl++vAoVKqQ9e/
Zo9erVunr1qj755JM3O3kAsBOzZs2Sh4eHdu3apeHDh2vgwIGW9+F69erp2rVrWrVqlfbu3avChQurQoUKu
nXrlqQn447Bgwdr2LBh2rt3rzJmzKhJkyZZ7f9lf0ufFjbMmDHDMq7/
twoVKihZsmRasmSJpS0qKkoLFy5UYGCgpCd3V1apUkV169bVoUOHtHDhQm3btk0dO3aM+4sG4IVmzZolJyc
n/fnnnxo7dqxGjRqladOmSXrxZxzpxeO6ZxUvXlxjxoyRl5eXQkJCFBISop49e8boFxgYqF9//
VWhoaGWtjVr1ig8PFy1a9eWpJfmEgDYiBlx7vr162ZJ5sOHD5vPnDljlmSeNm2aZf3Ro0fNkszHjh0zm81m
c/
369c3VqlWz2kdgYKDZ29vb8rpChQrmIUOGWPWZM2eOOW3atJbXksxdu3a1wRklfKNHjzZnypTJbDabzQ8fP
jS7u7ub//
jjD6s+LVu2NDds2DDWfXTo0MFct25dy+tmzZqZ06RJY46IiLBJzPaiWbNm5po1a5pDQ0PNzs7O5rlz51rWP
Xr0yOzn52cePny42Ww2my9dumR2dHQ079q1y7I+ZcqU5pkzZxoSe0JXpkwZc5cuXcwnTpwwSzJv377dsu7G
jRtmNzc386JFi8xms9m8dOlSc9KkSc1hYWFms9lsvnv3rjlJkiTmVatWmc3mJ+8XuXLlMkdHR1v2ERERYXZ
zczOvWbMmHs8qYdu7d69Zkvns2bMv7RsVFWX29PQ0//
rrr2az2Wxes2aN2cnJyXzp0iVLn1WrVpklmZcuXWqrkBOMF127p7/
Lz6pZs6a5WbNmlteZMmUyV6lSxapP/fr1zVWrVrW8ft7fuY0bN5olmW/fvm02m83mfPnymfv37//cGL/
99ltzpUqVrNouXLhglmQ+fvz4y04RAOxamTJlzCVLlrRqe//99829e/c2b9261ezl5WV+
+PCh1fps2bKZJ0+ebDabzeaiRYuaO3ToYLW+RIkS5gIFCsR6zH//LTWbzc/9u/
nNN99Y7adLly7m8uXLW16vWbPG7Orqavlb0LJlS3ObNm2s9rF161azg4OD+cGDB7HGAyBulSlTxpw7d26rz
yC9e/
c2586d+5U+47xoXPfvMeCMGTOscihPZcqUyTx69Giz2Ww2R0ZGmlOmTGmePXu2ZX3Dhg3N9evXN5vN/
z2XAODNUUEdB06ePKmGDRsqa9as8vLystyKdv78eUuf/PnzW35OmzatJOnatWuSpOPHj+uDDz6w2ue/
Xx88eFADBw60zL+WNGlStW7dWiEhIZbb9yXpvffei9NzS4xOnTql8PBwffjhh1bXa/
bs2ZapVyRpwoQJKlKkiFKlSqWkSZNqypQpVv9mkpQvXz7mnX5Fp0+fVmRkpEqUKGFpc3Z21gcffKBjx45Jk
vz8/FStWjX98MMPkqRff/
1VERERqlevniExJxbHjh2Tk5OTihYtamlLkSKFcuXKZbm2AQEBcnZ21vLlyyVJS5YskZeXlypWrCjpyXvIq
VOn5Onpafn/
hI+Pjx4+fGj1/4u3XYECBVShQgXly5dP9erV09SpU3X79m1J0tWrV9W6dWvlyJFD3t7e8vLyUmhoqOV949i
xY8qQIYP8/Pws+/P39zfkPIzwomv3qv59vfz9/
S2/40+97O9c586dNWjQIJUoUULffPONDh06ZFl38OBBbdy40epvwzvvvCNJ/
P8AAGT9mUV68rnl2rVrOnjwoEJDQ5UiRQqr99AzZ85Y3j9f5TPNy/
6WvqrAwEBt2rRJly9flvSkertatWqWKRIPHjyomTNnWsVauXJlRUdH68yZM691LABvplixYjKZTJbX/
v7+OnnypP7666+XfsZ50bjuv3ByctInn3yiuXPnSnpyN/wvv/
xiufviVXMJAOIeD0mMA9WrV1emTJk0depU+fn5KTo6Wnnz5rW6bf7ZhxU+fXN+dgqQlwkNDdWAAQNUp06dG
OuSJEli+dnDw+O/nIJdeXq7zm+//aZ06dJZrXN1dZUkLViwQD179tTIkSPl7+8vT09PjRgxQrt27bLqz/
WMe61atVKTJk00evRozZgxQ/Xr15e7u7vRYSV6Li4u+vjjjzVv3jw1aNBA8+bNU/
369eXk9ORtPjQ0VEWKFLEMxp7Fg0P+4ejoqHXr1umPP/7Q2
rVrNX78ePXt21e7du1S+/btdfPmTY0dO1aZMmWSq6ur/P39mSLl/
73o2jk4OMSY6uPprZuv62Xvy61atVLlypX122+/
ae3atQoKCtLIkSPVqVMnhYaGqnr16ho2bFiM7Z5+eQwAb7N/P2DdZDIpOjpaoaGhSps2rTZt2hRjm38/
N+dFmjVrFid/
S99//31ly5ZNCxYsUPv27bV06VLNnDnTsj40NFRt27ZV586dY2ybMWPG1zoWAOO8aFz3XwUGBqpMmTK6du2
a1q1bJzc3N1WpUkXSq+USANgGCeo3dPPmTR0/flxTp05VqVKlJD15IMfryJUrV4z51f79unDhwjp+/
Djz9L6CPHnyyNXVVefPn1eZMmWe22f79u0qXry4PvvsM0sb34i+mWzZssnFxUXbt29XpkyZJD1JQO3evdvq
4WgBAQHy8PDQpEmTtHr1am3ZssWgiBOP3Llz6/Hjx9q1a5eKFy8u6Z/
3njx58lj6BQYG6sMPP9TRo0e1YcMGDRo0yLKucOHCWrhwoVKnTi0vL694P4fExGQyqUSJEipRooT69eunTJ
kyaenSpdq+fbsmTpyogIAASU8eOvnsw/
Vy586tCxcuKCQkxJLs3LlzpyHnYJTYrl2qVKkUEhJi6RcVFaUjR46oXLlyVtv/
+3rt3LlTuXPnfu04MmTIoHbt2qldu3bq06ePpk6dqk6dOqlw4cJasmSJMmfObPnyBgDwcoULF9aVK1fk5OR
kuVv0355+pmnatKml7d+faV72t1R6kiSPiop6aUyBgYGaO3eu0qdPLwcHB1WrVs0q3r/+
+ovPTkAC8O8isKfzz+fJk+eVPuPENq77NxcXl1d67yhevLgyZMighQsXatWqVapXr57ly7lXySUAsA2m+Hh
DyZMnV4oUKTRlyhSdOnVKGzZsUPfu3V9rH506ddLKlSs1atQonTx5UpMnT9aqVausboPp16+fZs+erQEDBu
jo0aM6duyYFixYoK+++iquTynR8/T0VM+ePdWtWzfNmjVLp0+f1r59+zR+/
HjNmjVLkpQjRw7t2bNHa9as0YkTJ/T1118/9yEseHUeHh5q3769Pv/8c61evVp//
fWXWrdurfDwcLVs2dLSz9HRUc2bN1efPn2UI0eOt2oKhP8qR44cqlmzplq3bq1t27bp4MGDaty4sdKlS6ea
NWta+pUuXVq+vr4KDAxUlixZrG6XCwwMVMqUKVWzZk1t3bpVZ86c0aZNm9S5c2ddvHjRiNNKkHbt2qUhQ4Z
oz549On/+vH7+
+Wddv35duXPnVo4cOTRnzhwdO3ZMu3btUmBgoNzc3CzbVqxYUTlz5lSzZs108OBBbd26VX379jXwbOLXi65
d+fLl9dtvv+m3337T33//rfbt2+vOnTsx9rF9+3YNHz5cJ06c0IQJE/
TTTz+pS5curxVH165dtWbNGp05c0b79u3Txo0bLUnuDh066NatW2rYsKF2796t06dPa82aNfr0009f6QMNA
LytKlasKH9/
f9WqVUtr167V2bNn9ccff6hv377as2ePpCefaaZPn65Zs2bp5MmTGjRokA4dOmT1meZlf0slKXPmzFq/
fr2uXLnywqmiAgMDtW/fPg0ePFgff/yxVXVj79699ccff6hjx446cOCATp48qV9++YWHJAIGOH/
+vLp3767jx49r/vz5Gj9+vLp06fJKn3FeNK77t8yZMys0NFTr16/XjRs3rKZC/
bdGjRopODhY69ats0zvIb1aLgGAbZCgfkMODg5asGCB9u7dq7x586pbt24aMWLEa+2jRIkSCg4O1qhRo1Sg
QAGtXr1a3bp1s5q6o3LlylqxYoXWrl2r999/
X8WKFdPo0aMtlaqw9u233+rrr79WUFCQcufOrSpVqui3335TlixZJElt27ZVnTp1VL9+fRUtWlQ3b960qqb
GfzN06FDVrVtXTZo0UeHChXXq1CmtWbNGyZMnt+rXsmVLPXr0SJ9++qlBkSY+M2bMUJEiRfTRRx/
J399fZrNZK1eujDF9UMOGDXXw4EGrgZYkubu7a8uWLcqYMaPq1Kmj3Llzq2XLlnr48CEV1c/
w8vLSli1bFBAQoJw5c+qrr77SyJEjVbVqVU2fPl23b99W4cKF1aRJE3Xu3FmpU6e2bOvg4KClS5fqwYMH+u
CDD9SqVSsNHjzYwLOJXy+6di1atFCzZs3UtGlTlSlTRlmzZo1RPS1JPXr00J49e1SoUCENGjRIo0aNUuXKl
V8rjqioKHXo0MHy3p8zZ05NnDhR0pN58Ldv366oqChVqlRJ+fLlU9euXZUsWTI5ODAkAoDYmEwmrVy5UqVL
l9ann36qnDlzqkGDBjp37pzSpEkj6UnCuE+fPurZs6cKFy6sM2fOqHnz5lafaV72t1SSRo4cqXXr1ilDhgw
qVKhQrDFlz55dH3zwgQ4dOhRj3JM/
f35t3rxZJ06cUKlSpVSoUCH169fP6jkRAOJH06ZNLePjDh06qEuXLmrTpo2kl3/
GedG47t+KFy+udu3aqX79+kqVKpWGDx8ea0yBgYH666+/lC5dOqtnKEkvzyUAsA2T+d+TQiJBaN26tf7+
+29t3brV6FCAF2rYsKEcHR31448/vvI2W7duVYUKFXThwgXLhxoAb7fMmTOra9euVlMCAQAStw8//
FC+vr6aM2eO0aEAMEDZsmVVsGBBjRkzxuhQACRwTMCYQHz33Xf68MMP5eHhoVWrVmnWrFmxfjMIJASPHz/
WiRMntGPHDrVt2/aVtomIiND169fVv39/1atXj+Q0AACAnQgPD1dwcLAqV64sR0dHzZ8/X7///
rvWrVtndGgAACCB437WBOLPP//
Uhx9+qHz58ik4OFjjxo1Tq1atjA4LiNWRI0f03nvv6d1331W7du1eaZv58+crU6ZMunPnzgtvuQIAAEDi8u
w0IEWKFNGvv/
6qJUuWqGLFikaHBgAAEjim+AAAAAAAAAAAGIIKagAAAAAAAACAIUhQAwAAAAAAAAAMQYIaAAAAAAAAAGAIE
tQAAAAAAAAAAEOQoAYAAAAAAAAAGIIENYC3XvPmzVWrVi3L67Jly6pr167xHsemTZtkMpl0586deD82AAAA
YCTG5ADw9iJBDSDBat68uUwmk0wmk1xcXJQ9e3YNHDhQjx8/tulxf/
75Z3377bev1JcBLAAAAOwZY3IAgK05GR0AALxIlSpVNGPGDEVERGjlypXq0KGDnJ2d1adPH6t+jx49kouLS
5wc08fHJ072AwAAANgDxuQAAFuighpAgubq6ipfX19lypRJ7du3V8WKFbV8+XLLLYCDBw+Wn5+fcuXKJUm6
cOGCPvnkEyVLlkw+Pj6qWbOmzp49a9lfVFSUunfvrmTJkilFihTq1auXzGaz1TH/
fTthRESEevfurQwZMsjV1VXZs2fX9OnTdfbsWZUrV06SlDx5cplMJjVv3lySFB0draCgIGXJkkVubm4qUKC
AFi9ebHWclStXKmfOnHJzc1O5cuWs4gQAAAASCsbkAABbIkENIFFxc3PTo0ePJEnr16/
X8ePHtW7dOq1YsUKRkZGqXLmyPD09tXXrVm3fvl1JkyZVlSpVLNuMHDlSM2fO1A8//
KBt27bp1q1bWrp06QuP2bRpU82fP1/
jxo3TsWPHNHnyZCVNmlQZMmTQkiVLJEnHjx9XSEiIxo4dK0kKCgrS7NmzFRwcrKNHj6pbt25q3LixNm/
eLOnJoL1OnTqqXr26Dhw4oFatWumLL76w1WUDAAAA4gxjcgBAXGKKDwCJgtls1vr167VmzRp16tRJ169fl4
eHh6ZNm2a5jfDHH39UdHS0pk2bJpPJJEmaMWOGkiVLpk2bNqlSpUoaM2aM+vTpozp16kiSgoODtWbNmliPe
+LECS1atEjr1q1TxYoVJUlZs2a1rH9662Hq1KmVLFkySU+qO4YMGaLff/9d/
v7+lm22bdumyZMnq0yZMpo0aZKyZcumkSNHSpJy5cqlw4cPa9iwYXF41QAAAIC4w5gcAGALJKgBJGgrVqxQ
0qRJFRkZqejoaDVq1Ej9+/
dXhw4dlC9fPqs57g4ePKhTp07J09PTah8PHz7U6dOndffuXYWEhKho0aKWdU5OTnrvvfdi3FL41IEDB+To6
KgyZcq8csynTp1SeHi4PvzwQ6v2R48eqVChQpKkY8eOWcUhyTJwBgAAABISxuQAAFsiQQ0gQStXrpwmTZok
FxcX+fn5ycnpn7ctDw8Pq76hoaEqUqSI5s6dG2M/qVKl+k/Hd3Nze+1tQkNDJUm//
fab0qVLZ7XO12L4lwAAAn1JREFU1dX1P8UBAAAAGIUxOQDAlkhQA0jQPP6vvfsHxX2P4wD+NqlzekwiKX/
K4FFSz2Yx20Q2SZGSdE5CWQwnhd1wjCyKUk9i51gYmElSslkMlIFz7nR1bx333jO4T51er/
Hbp0/9vtOnd59f348f09bW9p9qS6VStra2UldXl5qamp/WNDQ05OTkJD09PUmS5+fnnJ6eplQq/
bS+s7Mz379/z+Hh4evvhH/157bIy8vL61lHR0eqq6tzc3Pz5pZHsVjM7u7u386Oj4///SMBAOB/
ZiYH4D15JBH4bQwNDaW2tjZ9fX05OjrK9fV1Dg4O8unTp9ze3iZJPn/+nJWVlZTL5Zyfn2dycjL39/
dv9mxpacnIyEhGR0dTLpdfe25vbydJmpubU1VVlb29vdzd3eXh4SGFQiGzs7OZnp7OxsZGrq6ucnZ2ltXV1
WxsbCRJJiYmcnl5mbm5uVxcXGRzczPr6+vvfUUAAPCuzOQA/
CoBNfDb+PDhQ759+5ampqYMDAykWCxmbGwsT09Pr9sbMzMzGR4ezsjISLq7u1MoFNLf3/+Pfb9+/
ZrBwcFMTk6mvb094+PjeXx8TJI0Njbmy5cvmZ+fT319faamppIki4uLWVhYyPLycorFYnp7e7O/v5/
W1tYkSVNTU3Z2dlIul9PV1ZW1tbUsLS294+0AAMD7M5MD8Kuqfrz1CgEAAAAAALwjG9QAAAAAAFSEgBoAAA
AAgIoQUAMAAAAAUBECagAAAAAAKkJADQAAAABARQioAQAAAACoCAE1AAAAAAAVIaAGAAAAAKAiBNQAAAAAA
FSEgBoAAAAAgIoQUAMAAAAAUBECagAAAAAAKuIPqGdpzLvLS2EAAAAASUVORK5CYII=\n"},"metadata":
{}}],"execution_count":33},{"cell_type":"code","source":"def analyze_text(text):\n
\"\"\"\n Complete text analysis function\n \"\"\"\n # Preprocess text\n
cleaned_text = preprocess_text(text)\n text_tfidf =
vectorizer.transform([cleaned_text])\n \n # Predict emotion\n emotion_pred
= emotion_model.predict(text_tfidf)[0]\n emotion_prob =
emotion_model.predict_proba(text_tfidf)[0]\n emotion_label =
emotion_encoder.inverse_transform([emotion_pred])[0]\n \n # Predict
sentiment\n sentiment_pred = sentiment_model.predict(text_tfidf)[0]\n
sentiment_prob = sentiment_model.predict_proba(text_tfidf)[0]\n sentiment_label
= sentiment_encoder.inverse_transform([sentiment_pred])[0]\n \n # Get top 3
emotions and sentiments\n emotion_top3 = sorted(zip(emotion_encoder.classes_,
emotion_prob), \n key=lambda x: x[1], reverse=True)[:3]\n
sentiment_top3 = sorted(zip(sentiment_encoder.classes_, sentiment_prob), \n
key=lambda x: x[1], reverse=True)[:3]\n \n return {\n 'original_text':
text,\n 'cleaned_text': cleaned_text,\n 'emotion': {\n
'predicted': emotion_label,\n 'confidence': max(emotion_prob),\n
'top_3': emotion_top3\n },\n 'sentiment': {\n 'predicted':
sentiment_label,\n 'confidence': max(sentiment_prob),\n
'top_3': sentiment_top3\n }\n }\n\n# Test with various examples\
ntest_cases = [\n \"I'm absolutely thrilled about this opportunity!\",\
n \"This is the worst day of my life, everything is going wrong\",\n \"I'm
feeling quite anxious about the upcoming presentation\",\n \"The product quality
is decent, nothing extraordinary\",\n \"I can't believe how amazing this
experience has been!\"\n]\n\nprint(\"=== TEXT ANALYSIS RESULTS ===\")\nfor text in
test_cases:\n result = analyze_text(text)\n print(f\"\\nText:
'{result['original_text']}'\")\n print(f\"Emotion: {result['emotion']
['predicted']} ({result['emotion']['confidence']:.3f})\")\n print(f\"Sentiment:
{result['sentiment']['predicted']} ({result['sentiment']['confidence']:.3f})\")\n
print(\"-\" * 60)\n","metadata":{"trusted":true,"execution":
{"iopub.status.busy":"2025-06-21T14:38:31.199943Z","iopub.execute_input":"2025-06-
21T14:38:31.200275Z","iopub.status.idle":"2025-06-
21T14:38:31.224282Z","shell.execute_reply.started":"2025-06-
21T14:38:31.200252Z","shell.execute_reply":"2025-06-
21T14:38:31.223267Z"}},"outputs":[{"name":"stdout","text":"=== TEXT ANALYSIS
RESULTS ===\n\nText: 'I'm absolutely thrilled about this opportunity!'\nEmotion:
joy (0.991)\nSentiment: positive (0.531)\
n------------------------------------------------------------\n\nText: 'This is the
worst day of my life, everything is going wrong'\nEmotion: joy (0.272)\nSentiment:
negative (0.777)\n------------------------------------------------------------\n\
nText: 'I'm feeling quite anxious about the upcoming presentation'\nEmotion: fear
(0.681)\nSentiment: negative (0.512)\
n------------------------------------------------------------\n\nText: 'The product
quality is decent, nothing extraordinary'\nEmotion: joy (0.493)\nSentiment:
positive (0.624)\n------------------------------------------------------------\n\
nText: 'I can't believe how amazing this experience has been!'\nEmotion: suprise
(0.860)\nSentiment: positive (0.615)\
n------------------------------------------------------------\
n","output_type":"stream"}],"execution_count":34},
{"cell_type":"code","source":"import termcolor\nfrom colorama import init, Fore,
Style\ninit() # Initialize colorama for Windows compatibility\n\n# Define
comprehensive emoji mappings\nlabel_emoji = {\n 'joy': '😊', \n 'fear': '😨',
\n 'surprise': '😲', \n 'sadness': '😢', \n 'sad': '😢',\n 'anger':
'😡', \n 'love': '❤️',\n 'disgust': '🤢',\n 'positive': '👍', \n
😐
'negative': '',\n 'neutral': '😐 '\n}\n\n# Color mappings for different emotions
and sentiments\nemotion_colors = {\n 'joy': 'green',\n 'love': 'magenta',\n
'surprise': 'yellow',\n 'fear': 'red',\n 'anger': 'red',\n 'sadness':
'blue',\n 'sad': 'blue',\n 'disgust': 'cyan'\n}\n\nsentiment_colors = {\n
'positive': 'green',\n 'negative': 'red',\n 'neutral': 'yellow'\n}\n\ndef
analyze_text_with_visuals(text):\n \"\"\"\n Enhanced text analysis with
visual elements\n \"\"\"\n # Preprocess text\n cleaned_text =
preprocess_text(text)\n text_tfidf = vectorizer.transform([cleaned_text])\n \
n # Predict emotion\n emotion_pred = emotion_model.predict(text_tfidf)[0]\n
emotion_prob = emotion_model.predict_proba(text_tfidf)[0]\n
emotion_label = emotion_encoder.inverse_transform([emotion_pred])[0]\n \n
# Predict sentiment\n sentiment_pred = sentiment_model.predict(text_tfidf)[0]\n
sentiment_prob = sentiment_model.predict_proba(text_tfidf)[0]\n sentiment_label
= sentiment_encoder.inverse_transform([sentiment_pred])[0]\n \n # Get emoji
and color for emotion\n emotion_emoji = label_emoji.get(emotion_label, '🤔')\n
emotion_color = emotion_colors.get(emotion_label, 'white')\n \n # Get emoji
and color for sentiment\n sentiment_emoji = label_emoji.get(sentiment_label,
'🤔')\n sentiment_color = sentiment_colors.get(sentiment_label, 'white')\n \n
# Create colored output\n emotion_display =
termcolor.colored(f\"{emotion_label.upper()} {emotion_emoji}\", emotion_color,
attrs=['bold'])\n sentiment_display =
termcolor.colored(f\"{sentiment_label.upper()} {sentiment_emoji}\",
sentiment_color, attrs=['bold'])\n \n # Get confidence bars\n
emotion_confidence = max(emotion_prob)\n sentiment_confidence =
max(sentiment_prob)\n \n emotion_bar =
create_confidence_bar(emotion_confidence)\n sentiment_bar =
create_confidence_bar(sentiment_confidence)\n \n return {\n
'original_text': text,\n 'emotion': {\n 'label': emotion_label,\n
'display': emotion_display,\n 'confidence': emotion_confidence,\n
'bar': emotion_bar,\n 'emoji': emotion_emoji\n },\n
'sentiment': {\n 'label': sentiment_label,\n 'display':
sentiment_display,\n 'confidence': sentiment_confidence,\n
'bar': sentiment_bar,\n 'emoji': sentiment_emoji\n }\n }\n\
ndef create_confidence_bar(confidence, width=20):\n \"\"\"\n Create a visual
confidence bar\n \"\"\"\n filled = int(confidence * width)\n bar = '█' *
filled + '░' * (width - filled)\n percentage = f\"{confidence:.1%}\"\n \n
# Color code the bar based on confidence level\n if confidence >= 0.8:\n
color = 'green'\n elif confidence >= 0.6:\n color = 'yellow'\n else:\n
color = 'red'\n \n return termcolor.colored(f\"[{bar}] {percentage}\",
color)\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T15:20:14.655175Z","iopub.execute_input":"2025-06-
21T15:20:14.655523Z","iopub.status.idle":"2025-06-
21T15:20:14.675865Z","shell.execute_reply.started":"2025-06-
21T15:20:14.655500Z","shell.execute_reply":"2025-06-
21T15:20:14.674821Z"}},"outputs":[],"execution_count":44},
{"cell_type":"code","source":"def display_analysis_results(text):\n \"\"\"\n
Display analysis results with beautiful formatting\n \"\"\"\n result =
analyze_text_with_visuals(text)\n \n print(\"\\n\" + \"=\"*80)\n
print(f\"📝 TEXT ANALYSIS RESULTS\")\n print(\"=\"*80)\n \n # Display
original text\n print(f\"\\n💬 Input Text:\")\n print(f\"
'{result['original_text']}'\")\n \n # Display emotion analysis\n
print(f\"\\n🎭 EMOTION ANALYSIS:\")\n print(f\" Prediction: {result['emotion']
['display']}\")\n print(f\" Confidence: {result['emotion']['bar']}\")\n \n
# Display sentiment analysis\n print(f\"\\n💭 SENTIMENT ANALYSIS:\")\n
print(f\" Prediction: {result['sentiment']['display']}\")\n print(f\"
Confidence: {result['sentiment']['bar']}\")\n \n # Display interpretation\n
print(f\"\\n🔍 INTERPRETATION:\")\n emotion_interpretation =
get_emotion_interpretation(result['emotion']['label'])\n
sentiment_interpretation = get_sentiment_interpretation(result['sentiment']
['label'])\n \n print(f\" {emotion_interpretation}\")\n print(f\"
{sentiment_interpretation}\")\n \n print(\"=\"*80)\n\ndef
get_emotion_interpretation(emotion):\n \"\"\"\n Provide human-readable
interpretation of emotions\n \"\"\"\n interpretations = {\n
'joy': \"The text expresses happiness, delight, or positive excitement! 🌟\",\n
'fear': \"The text shows anxiety, worry, or apprehension about something. 😰\",\n
'surprise': \"The text indicates astonishment or unexpected reaction! ⚡ \",\n
'sadness': \"The text conveys sorrow, disappointment, or melancholy. 💙\",\n
'sad': \"The text conveys sorrow, disappointment, or melancholy. 💙\",\n
'anger': \"The text shows frustration, irritation, or strong displeasure. 🔥\",\n
'love': \"The text expresses affection, care, or deep positive feelings! 💖\",\n
'disgust': \"The text shows distaste, revulsion, or strong dislike. 🚫\"\n }\n
return interpretations.get(emotion, f\"The emotion '{emotion}' was detected in the
text.\")\n\ndef get_sentiment_interpretation(sentiment):\n \"\"\"\n Provide
human-readable interpretation of sentiments\n \"\"\"\n interpretations = {\n
'positive': \"Overall, the text has a positive tone and favorable outlook! ✨\",\n
'negative': \"Overall, the text has a negative tone and unfavorable outlook. ⚠️\",\
n 'neutral': \"The text maintains a balanced, objective tone. ⚖️\"\n }\n
return interpretations.get(sentiment, f\"The sentiment is '{sentiment}'.\")\
n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T15:20:58.131687Z","iopub.execute_input":"2025-06-
21T15:20:58.132125Z","iopub.status.idle":"2025-06-
21T15:20:58.142564Z","shell.execute_reply.started":"2025-06-
21T15:20:58.132100Z","shell.execute_reply":"2025-06-
21T15:20:58.141221Z"}},"outputs":[],"execution_count":46},
{"cell_type":"code","source":"def analyze_multiple_texts_visual(texts):\
n \"\"\"\n Analyze multiple texts and create a visual summary\n \"\"\"\n
results = []\n emotion_counts = {}\n sentiment_counts = {}\n \n
print(\"\\n🔄 ANALYZING MULTIPLE TEXTS...\")\n print(\"=\"*60)\n \n for i,
text in enumerate(texts, 1):\n result = analyze_text_with_visuals(text)\n
results.append(result)\n \n # Count emotions and sentiments\n
emotion = result['emotion']['label']\n sentiment = result['sentiment']
['label']\n \n emotion_counts[emotion] = emotion_counts.get(emotion,
0) + 1\n sentiment_counts[sentiment] = sentiment_counts.get(sentiment, 0) +
1\n \n # Display individual result\n print(f\"\\n📄 Text
{i}:\")\n print(f\" {result['emotion']['display']} | {result['sentiment']
['display']}\")\n print(f\" \\\"{text[:50]}{'...' if len(text) > 50 else
''}\\\"\")\n \n # Display summary\n print(\"\\n📊 SUMMARY STATISTICS:\")\n
print(\"-\" * 40)\n \n print(\"🎭 Emotion Distribution:\")\n for emotion,
count in emotion_counts.items():\n emoji = label_emoji.get(emotion, '🤔')\n
bar = '█' * count + '░' * (len(texts) - count)\n print(f\"
{emotion.capitalize()} {emoji}: [{bar}] {count}/{len(texts)}\")\n \n
print(\"\\n💭 Sentiment Distribution:\")\n for sentiment, count in
sentiment_counts.items():\n emoji = label_emoji.get(sentiment, '🤔')\n
bar = '█' * count + '░' * (len(texts) - count)\n print(f\"
{sentiment.capitalize()} {emoji}: [{bar}] {count}/{len(texts)}\")\n \n return
results\n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T15:21:08.103093Z","iopub.execute_input":"2025-06-
21T15:21:08.103433Z","iopub.status.idle":"2025-06-
21T15:21:08.113902Z","shell.execute_reply.started":"2025-06-
21T15:21:08.103411Z","shell.execute_reply":"2025-06-
21T15:21:08.112652Z"}},"outputs":[],"execution_count":47},
{"cell_type":"code","source":"# Test with enhanced visuals\ntest_cases = [\
n \"I'm absolutely thrilled about this amazing opportunity! 🎉\",\n \"This is
the worst day of my life, everything is going wrong 😞\",\n \"I'm feeling quite
anxious about the upcoming presentation\",\n \"The product quality is decent,
nothing extraordinary\",\n \"I can't believe how incredible this experience has
been!\",\n \"I'm terrified of what might happen next\",\n \"This makes me so
angry and frustrated!\"\n]\n\nprint(\"🚀 ENHANCED SENTIMENT ANALYSIS DEMO\")\
nprint(\"=\"*50)\n\n# Analyze individual texts\nfor text in test_cases[:3]: # Show
first 3 in detail\n display_analysis_results(text)\n\n# Analyze all texts in
batch\nprint(\"\\n\" + \"=\"*60)\nprint(\"📈 BATCH ANALYSIS SUMMARY\")\
nprint(\"=\"*60)\nanalyze_multiple_texts_visual(test_cases)\n","metadata":
{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T15:21:15.752909Z","iopub.execute_input":"2025-06-
21T15:21:15.753253Z","iopub.status.idle":"2025-06-
21T15:21:15.935625Z","shell.execute_reply.started":"2025-06-
21T15:21:15.753228Z","shell.execute_reply":"2025-06-
21T15:21:15.934581Z"}},"outputs":[{"name":"stdout","text":"🚀 ENHANCED SENTIMENT
ANALYSIS DEMO\n==================================================\n\
n================================================================================\n📝
TEXT ANALYSIS RESULTS\
n================================================================================\
n\n💬 Input Text:\n 'I'm absolutely thrilled about this amazing opportunity! 🎉'\n\
n😊EMOTION ANALYSIS:\n Prediction: JOY 😊 \n Confidence: [██████████████████░░]
94.6%\n\n💭 SENTIMENT ANALYSIS:\n Prediction: POSITIVE 👍\n Confidence:
[██████████████░░░░░░] 73.1%\n\n🔍 INTERPRETATION:\n The text expresses happiness,
delight, or positive excitement! 🌟\n Overall, the text has a positive tone and
favorable outlook! ✨\
n================================================================================\
n\
n================================================================================\
n📝 TEXT ANALYSIS RESULTS\
n================================================================================\
n\n💬 Input Text:\n 'This is the worst day of my life, everything is going wrong
😞'\n\n🎭 EMOTION ANALYSIS:\n Prediction: JOY
😊\n Confidence: [█████░░░░░░░░░░░░░░░] 27.2%\n\n💭 SENTIMENT ANALYSIS:\n
Prediction: NEGATIVE 👎\n Confidence: [███████████████░░░░░] 77.7%\n\n🔍
INTERPRETATION:\n The text expresses happiness, delight, or positive excitement!
⚠️
\n Overall, the text has a negative tone and unfavorable outlook. \
n================================================================================\
n\
n================================================================================\n📝
TEXT ANALYSIS RESULTS\
n================================================================================\
n\n💬 Input Text:\n 'I'm feeling quite anxious about the upcoming presentation'\n\n🎭
EMOTION ANALYSIS:\n Prediction: FEAR 😨\n Confidence: [█████████████░░░░░░░]
68.1%\n\n💭 SENTIMENT ANALYSIS:\n Prediction: NEGATIVE 👎\n Confidence:
[██████████░░░░░░░░░░] 51.2%\n\n🔍 INTERPRETATION:\n The text shows anxiety, worry,
or apprehension about something. 😰\n Overall, the text has a negative tone and
unfavorable outlook. ⚠️\
n================================================================================\
n\n============================================================\n📈 BATCH ANALYSIS
SUMMARY\n============================================================\n\n🔄 ANALYZING
MULTIPLE TEXTS...\n============================================================\n\n📄
Text 1:\n JOY 😊 | POSITIVE 👍\n \"I'm absolutely thrilled about this amazing
opportu...\"\n\n😊Text 2:\n JOY 😊 | NEGATIVE 👎\n \"This is the worst day of my
life, everything is go...\"\n\n😨Text 3:\n FEAR 😨 | NEGATIVE 👎\n \"I'm feeling
quite anxious about the upcoming prese...\"\n\n😊Text 4:\n JOY 😊 | POSITIVE 👍\
n \"The product quality is decent, nothing extraordina...\"\n\n📄 Text 5:\n
JOY 😊 | POSITIVE 👍\n \"I can't believe how incredible this experience has...\"\n\
n😨Text 6:\n FEAR 😨 | NEGATIVE 👎\n \"I'm terrified of what might happen next\"\
n\n😡Text 7:\n ANGER 😡 | NEGATIVE 👎\n \"This makes me so angry and
frustrated!\"\n\n📊 SUMMARY STATISTICS:\n----------------------------------------\n🎭
Emotion Distribution:\n Joy 😊: [████░░░] 4/7\n Fear 😨: [██░░░░░] 2/7\n
Anger 😡: [█░░░░░░] 1/7\n\n💭 Sentiment Distribution:\n Positive 👍: [███░░░░] 3/7\n
Negative 👎: [████░░░] 4/7\n","output_type":"stream"},
{"execution_count":48,"output_type":"execute_result","data":{"text/
plain":"[{'original_text': \"I'm absolutely thrilled about this amazing
opportunity! 😊\",\n 'emotion': {'label': 'joy',\n 'display': 'JOY 😊 ',\n
'confidence': 0.9460806479029898,\n 'bar': '[██████████████████░░] 94.6%',\n
'emoji': '😊'},\n 'sentiment': {'label': 'positive',\n 'display': 'POSITIVE 👍',\n
'confidence': 0.7311514200039302,\n 'bar': '[██████████████░░░░░░] 73.1%',\n
'emoji': '👍'}},\n {'original_text': 'This is the worst day of my life, everything is
going wrong 😞',\n 'emotion': {'label': 'joy',\n 'display': 'JOY 😊',\n
'confidence': 0.2715053650041215,\n 'bar': '[█████░░░░░░░░░░░░░░░] 27.2%',\n
'emoji': '😊'},\n 'sentiment': {'label': 'negative',\n 'display': 'NEGATIVE 👎',\n
'confidence': 0.7767289237913576,\n 'bar': '[███████████████░░░░░] 77.7%',\n
'emoji': '👎'}},\n {'original_text': \"I'm feeling quite anxious about the upcoming
presentation\",\n 'emotion': {'label': 'fear',\n 'display': 'FEAR 😨',\n
'confidence': 0.680867352654903,\n 'bar': '[█████████████░░░░░░░] 68.1%',\n
'emoji': '😨'},\n 'sentiment': {'label': 'negative',\n 'display': 'NEGATIVE 👎',\n
'confidence': 0.5115438603111293,\n 'bar': '[██████████░░░░░░░░░░] 51.2%',\n
'emoji': '👎'}},\n {'original_text': 'The product quality is decent, nothing
extraordinary',\n 'emotion': {'label': 'joy',\n 'display': 'JOY 😊',\n
'confidence': 0.49254480644862336,\n 'bar': '[█████████░░░░░░░░░░░] 49.3%',\n
'emoji': '😊'},\n 'sentiment': {'label': 'positive',\n 'display': 'POSITIVE 👍',\n
'confidence': 0.6239737758858585,\n 'bar': '[████████████░░░░░░░░] 62.4%',\n
'emoji': '👍'}},\n {'original_text': \"I can't believe how incredible this experience
has been!\",\n 'emotion': {'label': 'joy',\n 'display': 'JOY 😊',\n
'confidence': 0.5231554499161496,\n 'bar': '[██████████░░░░░░░░░░] 52.3%',\n
'emoji': '😊'},\n 'sentiment': {'label': 'positive',\n 'display': 'POSITIVE 👍',\n
'confidence': 0.5410188855266971,\n 'bar': '[██████████░░░░░░░░░░] 54.1%',\n
'emoji': '👍'}},\n {'original_text': \"I'm terrified of what might happen next\",\n
'emotion': {'label': 'fear',\n 'display': 'FEAR 😨',\n 'confidence':
0.997604459364241,\n 'bar': '[███████████████████░] 99.8%',\n 'emoji': '😨'},\n
'sentiment': {'label': 'negative',\n 'display': 'NEGATIVE 👎',\n 'confidence':
0.5388865841048835,\n 'bar': '[██████████░░░░░░░░░░] 53.9%',\n 'emoji': '👎'}},\n
{'original_text': 'This makes me so angry and frustrated!',\n 'emotion': {'label':
'anger',\n 'display': 'ANGER 😡',\n 'confidence': 0.9912232215087549,\n
'bar': '[███████████████████░] 99.1%',\n 'emoji': '😡'},\n 'sentiment':
{'label': 'negative',\n 'display': 'NEGATIVE 👎',\n 'confidence':
0.5808650615033469,\n 'bar': '[███████████░░░░░░░░░] 58.1%',\n 'emoji':
'👎'}}]"},"metadata":{}}],"execution_count":48},{"cell_type":"code","source":"# Now
save all the trained components\nimport joblib\n\n# Save models and encoders\
njoblib.dump(emotion_model, 'emotion_model.pkl')\njoblib.dump(sentiment_model,
'sentiment_model.pkl')\njoblib.dump(vectorizer, 'tfidf_vectorizer.pkl')\
njoblib.dump(emotion_encoder, 'emotion_encoder.pkl')\
njoblib.dump(sentiment_encoder, 'sentiment_encoder.pkl')\n\nprint(\"✅ All models
and encoders saved successfully!\")\nprint(\"📁 Saved files:\")\nprint(\" -
emotion_model.pkl\")\nprint(\" - sentiment_model.pkl\") \nprint(\" -
tfidf_vectorizer.pkl\")\nprint(\" - emotion_encoder.pkl\")\nprint(\" -
sentiment_encoder.pkl\")\n","metadata":{"trusted":true,"execution":
{"iopub.status.busy":"2025-06-21T15:22:23.753975Z","iopub.execute_input":"2025-06-
21T15:22:23.754295Z","iopub.status.idle":"2025-06-
21T15:22:27.703196Z","shell.execute_reply.started":"2025-06-
21T15:22:23.754273Z","shell.execute_reply":"2025-06-
21T15:22:27.702010Z"}},"outputs":[{"name":"stdout","text":"✅ All models and
encoders saved successfully!\n📁 Saved files:\n - emotion_model.pkl\n -
sentiment_model.pkl\n - tfidf_vectorizer.pkl\n - emotion_encoder.pkl\n -
sentiment_encoder.pkl\n","output_type":"stream"}],"execution_count":49},
{"cell_type":"code","source":"def load_saved_models():\n \"\"\"\n Load all
saved models and components\n \"\"\"\n try:\n emotion_model =
joblib.load('emotion_model.pkl')\n sentiment_model =
joblib.load('sentiment_model.pkl')\n vectorizer =
joblib.load('tfidf_vectorizer.pkl')\n emotion_encoder =
joblib.load('emotion_encoder.pkl')\n sentiment_encoder =
joblib.load('sentiment_encoder.pkl')\n \n print(\"✅ All models loaded
successfully!\")\n return emotion_model, sentiment_model, vectorizer,
emotion_encoder, sentiment_encoder\n \n except FileNotFoundError as e:\n
print(f\"❌ Error loading models: {e}\")\n return None\n\n# Test\
n","metadata":{"trusted":true,"execution":{"iopub.status.busy":"2025-06-
21T15:22:42.891887Z","iopub.execute_input":"2025-06-
21T15:22:42.892219Z","iopub.status.idle":"2025-06-
21T15:22:42.898859Z","shell.execute_reply.started":"2025-06-
21T15:22:42.892197Z","shell.execute_reply":"2025-06-
21T15:22:42.897669Z"}},"outputs":[],"execution_count":50},
{"cell_type":"code","source":"","metadata":{"trusted":true},"outputs":
[],"execution_count":null}]}

You might also like