diff --git a/0394-update-ai-model.patch b/0394-update-ai-model.patch new file mode 100644 index 0000000000000000000000000000000000000000..b3d1f67ae816fe2ed2d85eca6b22bc137c024f80 --- /dev/null +++ b/0394-update-ai-model.patch @@ -0,0 +1,678 @@ +From d3fb4531d50499713bc47add60dd45f8e5932d21 Mon Sep 17 00:00:00 2001 +From: yinchuang +Date: Wed, 18 Jun 2025 14:33:46 +0800 +Subject: [PATCH] Update ai model + +Modify the logic of model parameter reading +Remove optimize_maximum in pass_ipa_hardware_detection + +Signed-off-by: yinchuang +--- + gcc/ai4c-common.h | 181 ++++++++++++++++++ + gcc/ai4c-infer.cc | 335 ++++++++++------------------------ + gcc/ipa-hardware-detection.cc | 1 - + gcc/onnx.fdata | 2 +- + 4 files changed, 279 insertions(+), 240 deletions(-) + create mode 100644 gcc/ai4c-common.h + +diff --git a/gcc/ai4c-common.h b/gcc/ai4c-common.h +new file mode 100644 +index 000000000..a4042546a +--- /dev/null ++++ b/gcc/ai4c-common.h +@@ -0,0 +1,181 @@ ++/* Lightweight AI Inference Framework. ++ Copyright (C) 2024-2024 Free Software Foundation, Inc. ++This file is part of GCC. ++GCC is free software; you can redistribute it and/or modify it under ++the terms of the GNU General Public License as published by the Free ++Software Foundation; either version 3, or (at your option) any later ++version. ++GCC is distributed in the hope that it will be useful, but WITHOUT ANY ++WARRANTY; without even the implied warranty of MERCHANTABILITY or ++FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License ++for more details. ++ ++You should have received a copy of the GNU General Public License ++along with GCC; see the file COPYING3. If not see ++. */ ++ ++#include ++#include ++#include ++#include ++#include ++#include ++ ++/* Implementation of model operators. */ ++ ++void ++matmul (const float *lhs, const float *rhs, int m, int k, int n, float *out) ++{ ++ for (int i = 0; i < m; i++) ++ { ++ for (int j = 0; j < n; j++) ++ { ++ out[i * n + j] = 0.0f; ++ for (int p = 0; p < k; p++) ++ { ++ out[i * n + j] += lhs[i * k + p] * rhs[p * n + j]; ++ } ++ } ++ } ++} ++ ++void ++add (const float *lhs, const float *rhs, int length, float *out) ++{ ++ for (int i = 0; i < length; i++) ++ { ++ out[i] = lhs[i] + rhs[i]; ++ } ++} ++ ++void ++sub (const float *lhs, const float *rhs, int length, float *out) ++{ ++ for (int i = 0; i < length; i++) ++ { ++ out[i] = lhs[i] - rhs[i]; ++ } ++} ++ ++void ++sigmoid (const float *in, int length, float *out) ++{ ++ for (int i = 0; i < length; i++) ++ { ++ out[i] = 1.0f / (1.0f + expf (-in[i])); ++ } ++} ++ ++void ++relu (const float *data, int length, float *out) ++{ ++ for (int i = 0; i < length; i++) ++ { ++ if (data[i] < 0) ++ { ++ out[i] = 0; ++ } ++ else ++ { ++ out[i] = data[i]; ++ } ++ } ++} ++ ++void ++line_concat (const float *in, int in_size, float *out, int out_size) ++{ ++ for (int i = 0; i < in_size; i++) ++ out[out_size + i] = in[i]; ++} ++ ++void ++one_hot_encoder (const char *in, const char (*cats)[65], float *out, ++ int out_size) ++{ ++ for (int i = 0; i < out_size; i++) ++ { ++ if (i < out_size && strcmp (cats[i], in) == 0) ++ { ++ out[i] = 1.0f; ++ } ++ else ++ { ++ out[i] = 0.0f; ++ } ++ } ++} ++ ++void ++imputer (const int64_t *in, int size, float *out) ++{ ++ for (int i = 0; i < size; i++) ++ out[i] = in[i] * 1.0f; ++} ++ ++void ++scaler (const float *in, const float *offset, const float *scale, int size, ++ float *out) ++{ ++ for (int i = 0; i < size; i++) ++ out[i] = (in[i] - offset[i]) * scale[i]; ++} ++ ++int ++argmax (const float *in, int in_size) ++{ ++ int out_idx = 0; ++ for (int i = 0; i < in_size; i++) ++ { ++ if (in[i] > in[out_idx]) ++ out_idx = i; ++ } ++ return out_idx; ++} ++ ++void ++execute_sha256 (const char *input, char *output, size_t output_size) ++{ ++ char command[256]; ++ snprintf (command, sizeof (command), "echo -n \"%s\" | sha256sum", input); ++ ++ FILE *pipe = popen (command, "r"); ++ if (pipe == NULL) ++ { ++ perror ("Failed to run sha256 command."); ++ return; ++ } ++ ++ fgets (output, output_size, pipe); ++ pclose (pipe); ++} ++ ++/* Read float from onnx.fdata. */ ++ ++float ++read_float_from_file (FILE* file) ++{ ++ char hex_float[8]; ++ float result; ++ ++ if (!file) ++ { ++ perror ("Can not open model file."); ++ return result; ++ } ++ ++ if (fscanf (file, "%8s", hex_float) != 1) ++ { ++ perror ("Can't read hex from model file."); ++ return result; ++ } ++ ++ unsigned char bytes[4]; ++ for (int i = 0; i < 4; i++) ++ { ++ sscanf (hex_float + 2 * i, "%2hhx", &bytes[i]); ++ } ++ ++ memcpy (&result, bytes, sizeof (float)); ++ return result; ++} +\ No newline at end of file +diff --git a/gcc/ai4c-infer.cc b/gcc/ai4c-infer.cc +index 4cf040be2..cb9a791a1 100644 +--- a/gcc/ai4c-infer.cc ++++ b/gcc/ai4c-infer.cc +@@ -26,26 +26,31 @@ along with GCC; see the file COPYING3. If not see + #include "config.h" + #include "system.h" + ++#include "ai4c-common.h" ++ ++/* Input info. */ ++#define M_OPTION_SIZE 11 + #define M_MODE_SIZE 6 ++ + #define NATIVE_TUNE_SIZE 128 +-#define CATS_STRINGS_ROW 12 +-#define CATS_STRINGS_COL 65 ++ ++/* Dimension of model operator parameters. */ ++#define SHA256SUM_OUTPUT_LENGTH 65 ++#define CATS_STRINGS_ROW 35 ++#define CATS_STRINGS1_ROW 1000 + #define OFFSET_ROW 6 + #define SCALE_ROW 6 +-#define UNITY_ROW 1 +-#define COEFFICIENT_ROW 18 +-#define COEFFICIENT_COL 100 +-#define COEFFICIENT1_ROW 100 ++#define UNITY_ROW 1 ++#define COEFFICIENT_ROW 1356 ++#define COEFFICIENT_COL 10 ++#define COEFFICIENT1_ROW 10 + #define COEFFICIENT1_COL 1 +-#define INTERCEPTS_ROW 100 ++#define INTERCEPTS_ROW 10 + #define INTERCEPTS1_ROW 1 + +-/* Model info. */ +-static int64_t argv_hw1[M_MODE_SIZE]; +-char native_tune[NATIVE_TUNE_SIZE]; +- +-/* Intermediate computation results from the ONNX model. */ +-static char cats_strings[CATS_STRINGS_ROW][CATS_STRINGS_COL]; ++/* Intermediate results of the model, read in a fixed order. */ ++static char cats_strings[CATS_STRINGS_ROW][SHA256SUM_OUTPUT_LENGTH]; ++static char cats_strings1[CATS_STRINGS1_ROW][SHA256SUM_OUTPUT_LENGTH]; + static float offset[OFFSET_ROW]; + static float scale[SCALE_ROW]; + static float unity[UNITY_ROW]; +@@ -54,6 +59,10 @@ static float coefficient1[COEFFICIENT1_ROW][COEFFICIENT1_COL]; + static float intercepts[INTERCEPTS_ROW]; + static float intercepts1[INTERCEPTS1_ROW]; + ++/* Model info. */ ++static int64_t argv_hw1[M_MODE_SIZE]; ++char native_tune[NATIVE_TUNE_SIZE]; ++ + /* Model result. */ + static int64_t initialized; + static int64_t optimize_result; +@@ -87,38 +96,7 @@ set_cache_info (int prefetches, int l1_cache_size, + argv_hw1[5] = prefetch_distance_factor; + } + +-/* Read float from onnx.fdata. */ +- +-float +-read_float_from_file (FILE* file) +-{ +- char hex_float[8]; +- float result; +- +- if (!file) +- { +- perror ("Can not open file."); +- return result; +- } +- +- if (fscanf (file, "%8s", hex_float) != 1) +- { +- perror ("Can not read hex from onnx.fdata."); +- return result; +- } +- +- unsigned char bytes[4]; +- for (int i = 0; i < 4; i++) +- { +- sscanf(hex_float + 2 * i, "%2hhx", &bytes[i]); +- } +- +- memcpy(&result, bytes, sizeof(float)); +- return result; +-} +- +-/* To read model parameter information from onnx.fdata and store it into the +- appropriate arrays. */ ++/* Read model parameter and store it into the appropriate arrays. */ + + static void + fill_node (const char *file_name) +@@ -131,37 +109,53 @@ fill_node (const char *file_name) + return; + } + +- /* Read cats_strings from onnx.fdata. */ + char hex_string[2]; + for (int i = 0; i < CATS_STRINGS_ROW; i++) + { +- for (int j = 0; j < CATS_STRINGS_COL - 1; j++) ++ for (int j = 0; j < SHA256SUM_OUTPUT_LENGTH - 1; j++) + { +- if (fscanf(file, "%2s", hex_string) != 1) ++ if (fscanf (file, "%2s", hex_string) != 1) + { + perror ("Can not read cats_strings from onnx.fdata."); + return; + } +- cats_strings[i][j] = (unsigned char)strtol(hex_string, NULL, 16); ++ cats_strings[i][j] = (unsigned char) strtol (hex_string, NULL, 16); + } +- cats_strings[i][CATS_STRINGS_COL - 1] = '\0'; ++ cats_strings[i][SHA256SUM_OUTPUT_LENGTH - 1] = '\0'; + } +- +- /* Read offset from onnx.fdata. */ ++ ++ for (int i = 0; i < CATS_STRINGS1_ROW; i++) ++ { ++ for (int j = 0; j < SHA256SUM_OUTPUT_LENGTH - 1; j++) ++ { ++ if (fscanf (file, "%2s", hex_string) != 1) ++ { ++ perror ("Can not read cats_strings1 from onnx.fdata."); ++ return; ++ } ++ cats_strings1[i][j] = (unsigned char) strtol (hex_string, NULL, 16); ++ } ++ cats_strings1[i][SHA256SUM_OUTPUT_LENGTH - 1] = '\0'; ++ } ++ + for (int i = 0; i < OFFSET_ROW; i++) + { + float result = read_float_from_file (file); + offset[i] = result; + } +- +- /* Read scale from onnx.fdata. */ ++ + for (int i = 0; i < SCALE_ROW; i++) + { + float result = read_float_from_file (file); + scale[i] = result; + } + +- /* Read coefficient from onnx.fdata. */ ++ for (int i = 0; i < UNITY_ROW; i++) ++ { ++ float result = read_float_from_file (file); ++ unity[i] = result; ++ } ++ + for (int i = 0; i < COEFFICIENT_ROW; i++) + for (int j = 0; j < COEFFICIENT_COL; j++) + { +@@ -169,7 +163,6 @@ fill_node (const char *file_name) + coefficient[i][j] = result; + } + +- /* Read coefficient1 from onnx.fdata. */ + for (int i = 0; i < COEFFICIENT1_ROW; i++) + for (int j = 0; j < COEFFICIENT1_COL; j++) + { +@@ -177,141 +170,22 @@ fill_node (const char *file_name) + coefficient1[i][j] = result; + } + +- /* Read intercepts from onnx.fdata. */ + for (int i = 0; i < INTERCEPTS_ROW; i++) + { + float result = read_float_from_file (file); + intercepts[i] = result; + } + +- /* Read intercepts1 from onnx.fdata. */ + for (int i = 0; i < INTERCEPTS1_ROW; i++) + { + float result = read_float_from_file (file); + intercepts1[i] = result; + } + +- /* Read unity from onnx.fdata. */ +- for (int i = 0; i < UNITY_ROW; i++) +- { +- float result = read_float_from_file (file); +- unity[i] = result; +- } +- + fclose (file); + return; + } + +-void +-matmul (const float *lhs, const float *rhs, int m, int k, int n, float *out) +-{ +- for (int i = 0; i < m; i++) +- { +- for (int j = 0; j < n; j++) +- { +- out[i * n + j] = 0.0f; +- for (int p = 0; p < k; p++) +- { +- out[i * n + j] += lhs[i * k + p] * rhs[p * n + j]; +- } +- } +- } +-} +- +-void +-add (const float *lhs, const float *rhs, int length, float *out) +-{ +- for (int i = 0; i < length; i++) +- { +- out[i] = lhs[i] + rhs[i]; +- } +-} +- +-void +-sub (const float *lhs, const float *rhs, int length, float *out) +-{ +- for (int i = 0; i < length; i++) +- { +- out[i] = lhs[i] - rhs[i]; +- } +-} +- +-void +-sigmoid (const float *in, int length, float *out) +-{ +- for (int i = 0; i < length; i++) +- { +- out[i] = 1.0f / (1.0f + expf (-in[i])); +- } +-} +- +-void +-relu (const float *data, int length, float *out) +-{ +- for (int i = 0; i < length; i++) +- { +- if (data[i] < 0) +- { +- out[i] = 0; +- } +- else +- { +- out[i] = data[i]; +- } +- } +-} +- +-void +-line_concat (const float *in, int in_size, float *out, int out_size) +-{ +- for (int i = 0; i < in_size; i++) +- out[out_size + i] = in[i]; +-} +- +-void +-one_hot_encoder (const char *in, const char (*cats)[65], float *out, +- int out_size) +-{ +- for (int i = 0; i < out_size; i++) +- { +- if (i < out_size && strcmp (cats[i], in) == 0) +- { +- out[i] = 1.0f; +- } +- else +- { +- out[i] = 0.0f; +- } +- } +-} +- +-void +-imputer (const int64_t *in, int size, float *out) +-{ +- for (int i = 0; i < size; i++) +- out[i] = in[i] * 1.0f; +-} +- +-void +-scaler (const float *in, const float *offset, const float *scale, int size, +- float *out) +-{ +- for (int i = 0; i < size; i++) +- out[i] = (in[i] - offset[i]) * scale[i]; +-} +- +-int +-argmax (const float *in, int in_size) +-{ +- int out_idx = 0; +- for (int i = 0; i < in_size; i++) +- { +- if (in[i] > in[out_idx]) +- out_idx = i; +- } +- return out_idx; +-} +- + static void + preprocess (int argc, int64_t *argv, int64_t *in_modes) + { +@@ -339,86 +213,71 @@ graph_infer (int argc, const char *argv, int argc2, int64_t *argv2) + else + return 0; + +- int64_t in_modes[M_MODE_SIZE]; +- +- preprocess (argc2, argv2, in_modes); +- +- /* concat_result and encoder_out are intermediate computation results from +- the ONNX model. concat_result is a 1 × 18 matrix, and encoder_out is a +- 1 × 12 matrix. */ ++ static int64_t in_modes[M_MODE_SIZE]; ++ static char in_options[M_OPTION_SIZE][1024]; ++ strcpy (in_options[0], argv); + +- const int concat_out_size = 18; ++ const int concat_out_size = COEFFICIENT_ROW; + float concat_result[concat_out_size]; +- const int encoder_out_size = 12; +- float encoder_out[encoder_out_size]; ++ const int encoder_out_size = CATS_STRINGS_ROW; ++ const int encoder_last_size = CATS_STRINGS1_ROW; ++ int concat_size = 0; ++ const int size = encoder_out_size; + +- one_hot_encoder (argv, cats_strings, encoder_out, encoder_out_size); +- +- line_concat (encoder_out, encoder_out_size, concat_result, 0); +- +- float variable[M_MODE_SIZE]; +- imputer (in_modes, M_MODE_SIZE, variable); ++ for (int i = 1; i < M_OPTION_SIZE; i++) ++ { ++ float encoder_out[size]; ++ one_hot_encoder (in_options[i], cats_strings, encoder_out, size); ++ line_concat (encoder_out, size, concat_result, concat_size); ++ concat_size += size; ++ } + +- float variable1[M_MODE_SIZE]; +- scaler (variable, offset, scale, M_MODE_SIZE, variable1); +- float transformed_column[concat_out_size + M_MODE_SIZE]; +- line_concat (variable1, M_MODE_SIZE, transformed_column, 0); +- line_concat (concat_result, concat_out_size, transformed_column, 6); ++ float encoder_out2[encoder_last_size]; ++ one_hot_encoder (in_options[0], cats_strings1, encoder_out2, ++ encoder_last_size); ++ line_concat (encoder_out2, encoder_last_size, concat_result, concat_size); ++ concat_size += encoder_last_size; + +- /* This requires performing matrix multiplication between a 1 × 18 matrix +- and an 18 × 100 matrix */ ++ float variable[M_MODE_SIZE]; ++ imputer (in_modes, M_MODE_SIZE, variable); ++ float variable1[M_MODE_SIZE]; ++ scaler (variable, offset, scale, M_MODE_SIZE, variable1); + +- const int m = 1, k = 18, n = 100; +- float mul_result[n]; +- matmul (transformed_column, coefficient[0], m, k, n, mul_result); ++ float transformed_column[concat_out_size + M_MODE_SIZE]; ++ line_concat (variable1, M_MODE_SIZE, transformed_column, 0); ++ line_concat (concat_result, concat_out_size, transformed_column, 6); + +- float add_result[n]; +- add (mul_result, intercepts, n, add_result); ++ const int m = 1, k = COEFFICIENT_ROW, n = COEFFICIENT_COL; ++ float mul_result[n]; ++ matmul (transformed_column, coefficient[0], m, k, n, mul_result); + +- float next_activations[n]; +- relu (add_result, n, next_activations); ++ float add_result[n]; ++ add (mul_result, intercepts, n, add_result); + +- /* This requires performing matrix multiplication between a 1 × 100 matrix +- and an 100 × 1 matrix */ ++ float next_activations[n]; ++ relu (add_result, n, next_activations); + +- const int m2 = 1, k2 = 100, n2 = 1; +- float mul_result1[n2]; +- matmul (next_activations, coefficient1[0], m2, k2, n2, mul_result1); ++ const int m2 = 1, k2 = 10, n2 = 1; ++ float mul_result1[n2]; ++ matmul (next_activations, coefficient1[0], m2, k2, n2, mul_result1); + +- float add_result1[n2]; +- add (mul_result1, intercepts1, n2, add_result1); ++ float add_result1[n2]; ++ add (mul_result1, intercepts1, n2, add_result1); + +- float out_activations_result[n2]; +- sigmoid (add_result1, n2, out_activations_result); ++ float out_activations_result[n2]; ++ sigmoid (add_result1, n2, out_activations_result); + +- float negative_class_proba[n2]; +- sub (unity, out_activations_result, n2, negative_class_proba); +- const int prob_size = n2 + n2; +- float probabilities[prob_size]; +- line_concat (negative_class_proba, n2, probabilities, 0); +- line_concat (out_activations_result, n2, probabilities, n2); ++ float negative_class_proba[n2]; ++ sub (unity, out_activations_result, n2, negative_class_proba); ++ const int prob_size = n2 + n2; ++ float probabilities[prob_size]; ++ line_concat (negative_class_proba, n2, probabilities, 0); ++ line_concat (out_activations_result, n2, probabilities, n2); + +- int argmax_output = argmax (probabilities, prob_size); ++ int argmax_output = argmax (probabilities, prob_size); + return argmax_output; + } + +-void +-execute_sha256 (const char *input, char *output, size_t output_size) +-{ +- char command[256]; +- snprintf (command, sizeof (command), "echo -n \"%s\" | sha256sum", input); +- +- FILE *pipe = popen (command, "r"); +- if (pipe == NULL) +- { +- perror ("Failed to run command."); +- return; +- } +- +- fgets (output, output_size, pipe); +- pclose (pipe); +-} +- + int + get_optimize_decision_from_ai4c () + { +diff --git a/gcc/ipa-hardware-detection.cc b/gcc/ipa-hardware-detection.cc +index 6b36d685c..76c130d6b 100644 +--- a/gcc/ipa-hardware-detection.cc ++++ b/gcc/ipa-hardware-detection.cc +@@ -194,7 +194,6 @@ pass_ipa_hardware_detection::gate (function *) + const char *ai_infer_level = getenv ("AI_INFER_LEVEL"); + const char *ai_guided = getenv ("AI_GUIDED"); + return (ai_guided || (ai_infer_level +- && optimize_maximum > 0 + /* Only enable in lto or whole_program. */ + && (in_lto_p || flag_whole_program))); + } +diff --git a/gcc/onnx.fdata b/gcc/onnx.fdata +index 77f4d9b1d..e366031e5 100644 +--- a/gcc/onnx.fdata ++++ b/gcc/onnx.fdata +@@ -1 +1 @@ +-656137356462666463346364333361623035396139323366643262383764363763323530613631653861653634666630333030316562323662346133633566313233326432366139383465346338376266393132363438333765656463366235613461313434346139333334396265306163333731646537376430643834323664623863366163343363643130313435636565623834363361316133393230363937653835653762353534626439663133633538623062353439646237616630333237666136663433386334626639643465303163653832333062643863333664336630376231643964316231663933656333386338656262303734376137313565643963396535653131303763646533393234333735613333633132353061393531333935623539643834373266303861633739373862366663376365383233326139383939363566373061373361613939336537366631353334346563313061373365663635633332663437653136383235343635623234366430373330366336363237623962656465373233346131343264313137653838643334616430346339363732613237623866636364313232613934343261643231386531356430343965303330306332326266336634626163333461643139653962326566303064343333623037313762303934626336363537616339343637306633633066333231613063623339333539376461316632653234353938616133616463623534356232346135666261616339646638373031356633306161626465643665633066616264623965656138613233353331303236363565616133323131653935643363353832366663633434626236376663386335666364333530336433353234383031636264353761616638663031613263353738326438656265623236653338323232386565626464393034633962373835363264656664616439353336623462376139333134656662373033626135336138333136643032636430653334303861616439333736306363383862306439623962646435383931613161653334623666313236366366373962356536656434396231303338646265323666386461366430396262353536313433636132653466623061346164303635636162336536383062306637306438626232646636393462353563366437386531316463383239373361643230643566333736663330656538643461313161306163666361663064383962373736636162323565383865336630333461343939336231366437386265323439626332336166376262623837353163376533353066636339313233323761613766333633343432623331373530376432376534623831333339383964633439653966303663303439623739346133626330646333373831393930316439326233646565623761646664356230336233363230383833616266643463626536336133346664656433373630343738343262373863646131373633653939636430616439393731306435313664323166313530636464393664613738643461356437333564343036316262353462313336663335313763323661363564343330623965363866616534323163616337613964356465333333663739313835623363316462346539643539636435303166306664366135313063333630336531336532346134306234626632313565333739356139613430643630613834353666623762363363326431316538313730316132333165383561666434623564623831616263316464353664323731373332656430323435663836393162646335646164333437366436663633353630373762316161316436333461393763343130396235396237333534376639343063316463386432316330663138373338386632643361386565636665653766643836373930326664346163333162613163396664663531626161326134333762666330393261316637333265326138663036363736333734326230373730613665323665333266326265356534376133373330393466336639623431383863383433643563346265613561326134616334626262646637666163376365333962323036323537333737313534313066323364623937303534623665623237306566636366623763623431373666383236383134326365613136653238623231646339353938373030656631646238653961643434653765313834316231346231323563636633356131376538636666613866303638323362643436636638353665346166323633623861616639363862613835306234643961666662656334393366613066653061383333653965343633653837613263636530633863303861313363636361346132613431363962336539613463313366633934633761363761623039396365393263633638656134376162616631363838616238613137323032663864613035313363353335396432373530363233663234343136346339663435333834656630366537353336306137366434646264303466303633663630386363636337383066316631323836353135393134646139373035323637346164303965323536666335393864636364346433383564616435383862366464326130336536313934636139386438373462333162366230623165323533336263313430386430643661386261633061313631613639313232313734383136336464636231323130336231613131373336636238656635353635626666303535663331363332353338313363396334313631333034656133666365353561643830356565633137346638643739636136376432303761633436666465336232356236653164353163346461656165333038653266336161383966633961323462376262386430363536323932373263343731313562356139336265383765336139643837333966623265386131666561366161333138353261663139303338393733346335313934363761393137633266616431663436343236613231663865636236346133616662623761373633663830623231393063616534633032316538626436633731643261313866666339353836373133363939623966636239333637373764323863663964376134323134613133346335326162363334363334386666396666336534646565616264363966356566323465346538613762623864303766646338666264643466666537303263623162326539653435643130313061386235623631306232303139633962653661303038376162323666343263356465313035393535313531373665623537363237373934366266303434333463303562646535623762313565326631393061643033613838363963333933396162363834393636613136613036656435356339616665636134313034663335343465646335333738663063616330353634316466336438373835326638633037656234396239303730613338336332613839323837643561333235393366323531303032666436616435313137313166383433396531626137353932616538333330653164326438656166343339363262366264326632376564396434396333356565343733383137666333386462313164333630303936336137323863313634613031393931613164363237643262353162376133643935373036306336346161376563383862316365613139376535626535626234666331363163303835336362393535613530636234643633626364386566396132333232373733633230393865663664636334393131643133383736373833653261383661623632343237653937366164386564633433396130313166306430316134653864643263343835653438383687144d4395a52c41e3842b41b03f3743f207264565084e41e0fbdf3bd429b13da15eb33d7e47b93b309daa3890d2d93d0000803f2bd5bbb95024b1399db4d33b2956c2392e99b93969b868ba90d4eb3bd611a9b92d66c739a2115b3b1257b6b9ed46b2b917deac3b5b0d2a3c14887e3ce74b3eba00000000386ea33945cf5abb9cbce9ba3c4ff0ba5cc05b3bb4bc9eb91e09b03a6113e9ba3e17b539267dab397fdea9b906eea5397713973bfc7a2c3b51ff733b50c313bb000000003ea5d239842c8c3b6d275e3af5c58b394139b2391f56403bf47e56bb357a81bbc956923b57d2cc39909aaf3944807e3c4a78cbba9938a9b9d84ba7b99796bcb9d7bea5b925e37a39ff19a73ba25dc1397357b1b9c13cd6bb2d36423b6da35a3b90e500bbd402a0b95f930bbbbddfaeb9071fa9395281a6b934e3a23b0f238a3b93e1973964d9a9b98b2f273ceb4a9aba3ccab6b9e3ba033b48220ebb19fcaf3b6290a93b034407bb782fa1b89335943bb388a7b9655cc0b96a361d3c67b9b0b99e28cf39076f2dbaf05afdbafa6cb43962bc2e3bd590bebc30339f3b4476a23963e6663bd7ad183ca5c00cbb8a69c13956f574ba97dcf93b97098d3bd471ae3bcbb06dbbfddca9b9d7c803bc3eb703bc9bdaa8bb1c6718bc8e5bcebb224c013bcb7684bb4d85943b2ef403bcc090893bf736aa3beb62a13b3c1cb6bbb821a7bbaee808bbfe3dd33c0000008027b0f5bbd6e09d3ce2db183d576fb7bb3b9761bc4111813be54cbcbbab65043c93ce1cbce0b3c6bbca4e953bb347fabbc466ff3a88f532bc11bf4c3b72636dbc00000080850afebbaaba5e3b476f973c7ae755bbde44dbbbfac1633bab7793bbf3ae90bb010a84bb3a1c2cbc6597d6badcd277bbddbbfe3b5898933b6063903b0d8fb33b028d8e3b2adcdcba9f1585bb2e91b9bb582aa03b6334f8bb6e31333b5569253b1e71533b8e977e3bcaf945bba6b59c3b603ab2bb02c88e3b0ae4493bfc457ebb2ae3ddbbe8f9943b0c38a4bb160ed73b73adab3bb6100e3bf28fd83baa70603bad2683bb9d90033c52703a3c9546693b7d34903b63a6b83bf1af9cbb3b19a23bedd0f8bb58efb13b105b72bb17300abc025488bb0a5b543e33573a3b24eff2bb286f75bb5d55a9bbd8e4803beea116bca9cc2d3b1e1205bc1adf75bbfcaa413bf8b491bb3050903b6537a83c1736213cc6271abaf7b6293c98bae33be7b710bb07e333ba55389dbb41441f3c8bf89abbb9acb6bbdeb9acbb416e053be7a63fba124e36bc396d97bb000000809a5a083c15d242bca07d0abca36bba3c09ac8e3cf4ae85bb51f5cd3b8abb18bccc0f383c4a58dc3b335a9ebba65c0b3c2324d9bb35bbb83c748069bba62961bc000000003e13193c863f71bb752b1cbc578e6b3b5807f33b633e9abb9e8dac3c78dcb03c7b35193ac5df483cca37e83ad74a50bcbfd529bc33469cbb786498bbafc6c1bbe0f895bba7a7ed3a8ef7a339cb5ccd3be140abbbc2041a3ce9e950bb828f5ebbd63a6fbbdd1d85bb9d07a93cdc24a7bb765ac53b467b96bbe863b4bb083ea73a7869f83b4cf49dbb874003ba2440dfbb356db8bbf63d2abb79b4d5bb3b1bafbb27487139a45115bc45e7a8bcf34775bbfb9e98bb68e4c7bb1e930fb736e8acbb6c4b753cce27b5bb830ba83c91ce1b3cdc1def3ae198133ef5e688bb6b67073cdd1ac53a27b589ba81469fbbe150293c3c2884bba35bdd3b1583ba3ac3a194bb3debb13c495799bb078c2ebc384b7d3c97a8493cebb6853c73bb4d3c024dd83c696ca13b1cc702bc6847243ce3ac5dbcfa771abc96221fbc6147fabb3641023cb496023d28f266bb00000000bf65693ccfff0d3cbf68a8bb3b268bbc15de51bca098e1bb9c5980bdec61ee3c66cf983c1024423c51e0febb12336c3c25bd1c3dcebf50bc88eb4cbc0eaea73c00000000c56c163c597c5fbcaa7b593cb7d2e33b7b235a3c0c2447bc95c9edbba8320abc75b98b3cb7d19a3cf51d623bcd0a023d7e91ef3c725604bc91fafdbbdf1f21bc2f3bfcbb274a493b7c78393cdb0e213c01a719bc0a0368bd6ad23cbc210741bc0288df3c6303d1bb8c93bbbb97420fbcbe16353cc8bc18bcf9a61c3d62882a3c8a25683cff2e01bcb0580e3c5b11f33c47dd10bc5b522abc4230df3c6ca21c3d13c0103c8129e33c199e5c3c05752dbc9515f0bba0b724bcac0b383c1f2b12bcbe768d3c80baf23cd6fbc9bb1b04843c84da173cae2dbabc64e63dbc08d8613cbd872b3c029c2c3ce63be03c5e41853c608888bd90f692bd68bf2c3cd0f843bc4497bcbb3161e4bb4ede983c42e72bbc0283dd3b176925bcd6d71bbc7ba42cbb911a6a3dadca0b3c68582fbcc664f23c629c1b3c4f33133cd046413c7eb83c3ddbe0d1baf307ad3b00000080101215bcc0708e3ca925dd3b7899f33cfdb1493dc7bbf43bfb8b5dbb6ee9d2bb584924bcb3cf0abc0b6c0c3ce93e14bccd51943a3302dd3acfabb03ca9c22cbc000000005cb22abcaef7f33cdf6aae3ba949d6bb1ef214bc878db23c3863783b62c5363b67d0eb3c5e192dbc75b57cbb3d43ecbae55cd1bb0cd10a3c00d4083c8efd223cccb5063c1b2d70bb3abcbd3c883c14bc0f01133cee04963c6d7bad3c7480353cba707fbbc16cf63bcdd4a939ad1f123cde2f0cbc2c76053c59ff09bb009bba3cb24a0cbca7750b3c64f9493d982287bbbe111e3c7f48483cd59b5bbbea43e1baf906243d99f3e1bbbd01863c4f95d73c25a8073cfa81273c42548f3cef4b153c800841bc318aa9bb7c98873a55c218bc1338373dfa26bb3c22f2c53c6bbc0dbcc7900e3d0819da3ccec359bb9a671fbcfee714bcbb3f74bb8851ce3c1c76ac3cd7fef039437e0a3ccb42bcba11ea103a388af63b94700f3a4ef6293ad86816b900078b3bd1c62cba4ee1213a7a4b2a3bb98b30ba291c30ba4d97813b71c3033c9815a33b627549ba000000804646103a39a742bb747c0dbbe3ff41bb1186043b9aad27ba947610bad46e52bac8a9053acb9e223a86122dbafce80f3ae1144cba610bc73a34b4543be4f2bbbb00000000dbcd253ac4727d3bcf8cf33a44811d3ac114213ab973fd3a78684ebbfd3384bb29a1ed3a4a70063a11fb103a3f3aa83b629d2aba74f52cba6d1d2cba7aad31bab36e2bba566e013a79481d3b5c663c3a09cf2fba731f29bcc28e1c3b7067313b8bbaa6b9454d28ba15bab6bad4e82eba107a263a51992bbabaa220babbdc023bfd62103a28172dba1db3003cd7ef11b9c15330bae79bbc3a25ae20ba21b1feb95d37183be0206fba67882bbb784a883bba292cba034132ba4df5f43b60222fbaf5b10a3a75e20a3996f8f1bad29f0e3adb20b8397d2257bc2faa893ba3d90f3ab059bf3abba4db3b7757cdb9cde80d3a934d85bb4b8be639fadd0e3b2bb99b3b6dc792bb95cf2dbae68660be8b1d7f3e2632363e6a588c3e0dc7453e8a4979bd1d81593e87b001beae177e3e4f7449be4d9119be437e10bed7162dbe5e43333e3d94acbe80726ebd000000008bb1683edfc6573ebafeb0bdda2e62be36b673bed771d6bd2c5f453e93cd52be9a55963e74b73f3e90e102be14af6c3e2db5afbe2920f4bec3a4fabdc533b53e00000080be5a753e34650dbe4d70473f2edcce3d45ca513ebb4615be2b554bbf9d8900bf1c142f3e7350a23efc363f3dce2ea5bed70f5dbe30da00be4a45fabd5c2c24bebf70f5bdec31433dac40363ef82f333e4d140fbe16dca83e1aabccbd39e8c2bd7f85c2bd7d4bd7bd62b629bf3e2d0bbe0a0a2d3edcbcf6bd11c8c3be4ca7123e92f7543ea87e02be0c1d2d3e5f362abebc491bbe7f4c95bd614426bee96ed8bed1ba3c3e666850bee6ddd53eda2819be1c5efbbd970e2abed2e41c3e043410be6a7d983ecb6910be90d301bf8248823e5c5f1f3e50043c3ed31cfbbdb4c6663e1b1d083e27e14b3eee2aecbd72008c3eb518e03e444e783e3fe10a3e59940dbe1c03e6be9f11fdbd845eda3dbbd702beb486b7bdce1210be4662cabd997aff3ca8acd8bd5d06843d914d02beb963c83d9ca89c3d954a933d7154ab3da863b4bd1ba5283ef949f03c000000004c7ceebddd4ad1bdb34f333d5226db3d8e4ee83d5ec3593d8c34cabd488ed83de8691abe0e1ec4bd1041853dd79cf2bd503b2f3e7b316f3e4cdf7b3d0f623abe000000807d95fbbd06008d3ddcd1c6be1f1152bd17cdd6bd0a1d983d8d68d03ea043833eba4ab0bdf7d026be8359c0bc3967213e041ce33d3e29833d14a97e3d139ca73da1ae793d8060c4bc8356b7bde92cb7bd2ed5913d1c2d2abe50a24f3ddcf4463d94d5473d83a45a3dfce4b13ed5ce8d3dd2d1b0bdde047b3d6462433e65aa94bdaa15dabdfbda843ddf6caebd139fae3db36f9e3d67e8183d6bf4aa3d48e8573e985cbdbdc40fd63dbacb50be5309983d43cb7f3ddaafad3d4ad59ebd6bfe923d7fa51cbe58b4933de72d873e13a905bede95a0bd7d6cbabdcc197e3d5e80ecbd63418abd023cccbd87c7723da8b70fbe2a2867be97f7febde8028dbd3f9c8e3d8e4a6b3e19c6803d64c364be492c7e3ea28b373e97c28b3e8750453edc6c7ebdc7ad5a3ebebd01bead267d3ef16349beeb7919beaf7510be7b8e2dbe0fc8333e5bb5a0bea8de6ebd00000080e2f0673e49ed5b3e0ff5b0bdadf362be411c79be6dc5d6bd38f5473e5cfe52be16a8953ea54c3f3efbec02bec1e56b3ea8e6a6beceeefcbe360af8bde438b13e00000000fe7f743e219a0bbe578b503f0c26cf3d7a3a513e365516be9dbc4bbfd3f500bf66902f3e5686a13efa6a403dd3e599be7b1e5dbe9ce800be3b6cfabddc0224be459ef5bd6a68443da0f7363ee9db323ee40d0fbe9c41a63e8c16cbbd8073c2bdc758c5bd759dd7bd9bd829bf9d2c0bbe6ac32c3e52e9f6bd1dcdb9be9ba9123eaa61543eaa8a02beaf7d2d3ebbb72abe432f1bbe509694bd083127be2a22cdbec25e3d3e8c9950be2984e23e170217be3d83fbbd95da29be504f1d3ebd2b10bec5ca973e92d110be045402bf55c9813e1ceb1f3ed27c403ef27ffabd3b0a663e5ed4073e34104d3ecfe2eebde06a8b3e4098ea3e7f7e7c3ea2ba0a3ead3e0dbe56e6e7be4d34fdbda585d93d565202be9adfb6bdd9830fbe879ac9bde754003dfad4d7bd69c8833d9cc801bea9a2c73def389c3ddaed923dddc2aa3d3cc1b3bdc90c283ebfadf13c00000000f887edbd1c7dd0bd6f8b333d324cda3da364e73d3ead593d736fc9bd35b7d73d87d519bedf5fc3bd5c00853d67a4f1bd58a12e3e929a6e3ecf6f7b3da3c539be000000006f93fabd0aa88c3d88b0c6bebaf651bd98f4d5bd99ae973df84dd03e3efc823e46afafbd813726bec6c4c1bc63d1203e0f38e23d56ed823d85417e3dfb17a73ddb51793d9acec5bc5aafb6bd5682b6bd407b913d899329be5d954f3dedfb463d3dd9473dd18b5a3d75b6b13ebc7c8d3d7832b0bdc9a57a3d02c6423e454294bde339d9bd419b843d8dd4adbdce06ae3d31fc9d3d5952193d8662aa3d264d573eafabbcbdf03bd53d532f50be229b973dad607f3dfe20ad3d86599ebd9fa1923d940f1cbe814e933d2fe8863eda2105be8016a0bd11c0b9bd30a57d3d8f8eebbd6eee89bd1e75cbbdf16a723d0f290fbe186166be26f5fdbd51aa8cbd14418e3da3b26a3ef78e803db37c55be8869803e551f343ee1688d3ef091463e67047abd32cf543e448a01beb9c97f3e5edf43be38bb19bef68410be0e5427be2b1c313eda8aa5be8b506bbd000000001f106a3ea4754d3e08b6afbd824756be411864be609dd5bd781b453ed7a654beea8f973e7373403ecebe02be091e6e3e4d0aacbe8d43eabed2b3f5bd1d09b73e00000080f3ed763e3d9d09be7ae8433fd0eccd3d6ccb523eb88314bec41f4cbfad7a00bfb3112d3eafc0a33e9b7c3a3d956b9ebe160a5fbeb9af00beb8d9f9bd597c24bebbf7f4bd1724403d29fd333e8996323ec9160fbee170a63ea862cabde5e5c1bd27dfc3bdf772d6bd58af2cbf06240bbe0b7d2d3eae46f6bdbadcbfbe0ae7113eb604563e525a02be213f2b3e9a632bbe177c1bbef8df94bd6ac827be0811d4be4cee393eff3152bee817cd3eac6e14be13f6fabd0d742abe89e31b3e3a3e10be16c5993ea6e910be3fe703bfac2f833ef7a21d3e7909373e8ee3f7bdd21e683eddac073e9689483e3d17eebdeb118d3edf18e23eadd2783e23610a3e06310bbef644e6be7ea1fcbdd5fc54be10f67e3ee44a323e40788c3e81c4443ef9a975bd46e1523e93c9ffbdb4e77d3ea3f442be80fe17be65d30ebeed6f26be7f4a2f3efb84a4be77da67bd00000000242e683e481d4c3e10a2adbdd0c855be48bc62bef58fd2bdbc95443e4eb652be269f963eb89e3e3ea51801bec03a6c3ea7feaabef522eabedd0ff4bdd458b63e000000001c0c753eadc408beb11d433f38f3ca3d58f1503e7ba413beaa0b4cbff38300bfe6452b3e46cfa23e204c383d95699dbe50115dbe5e19febd0d9cf6bd6fb722be14bef1bdc62d3c3d292d323ee5ef313e1d660dbe7c24a63e8ad5c8bdf659c0bd7e0dc1bd856cd3bd5f882cbf457609be5eb42b3e130df3bd07cabebe3a36103e2128543ed9b400be3f72293eb79729be3bbc19bea27493bd7b0026be49f4d2be4216383e044450be0965cc3e0f9213bee4b7f7bd54ab28be262a1a3ef8880ebeb615993e2f3b0fbe2ec103bf733d823e33e41b3e43a3353ea33af6bd793b663e5506063e46aa463e6cffeabd171e8c3e1e40e23e3653783e79b8083e09560abe8942e6be3d6ff9bdbd38d93d863e02bebf73b6bd4a890fbed80bc9bdf4adfb3c5db3d7bd6f6a823d34b501be4a36c73d35f69a3d6f9f913d6f17aa3dd251b3bd7c66283ede43ec3c00000080903fedbd9345d0bdc3a9303d1506da3d815ee73d29ce563d1dc8c7bdcc47d73ddbee19beeecac2bdf8a3833d3564f1bd010b2f3e814a6f3e1579793d78ea39be00000080c45dfabda5c78b3d4464c7be72ac4fbd4780d5bde0c0963d090bd13e3866833e4436afbd9f6326be3986bdbc511e213eb3dbe13d858e813d097d7b3dc9e3a53d9088763de970c1bcde44b6bd13e0b5bd472b903d739129bee15d4d3dd9b3443d1167453db9af573d3f56b23eca288c3d9c79afbdb1db773d2c51433e6f8f93bd58cfd8bd553e833d5e58adbdba47ad3d43bc9c3d72ed163d379ea93dedf6573e1a4fbcbd4fc8d43dae9a50be7ecf963d489e7c3d47f5ab3d02bc9dbd1253913d5c271cbef35d923de557873e491805be1b819fbdf021b9bd76a77b3d5f44ebbdc82689bd8737cbbd642b703d59300fbe636d65beae3efcbd3fe88bbd665d8d3d2b616b3e6f5e7e3d33c4ef3d5a4ff3bd7221abbd56eb05be0ea3bcbdde3df03cb7dfc9bdeb15773d1eb0f2bd5dc1ba3dd366923d99b6893d81cd9f3d1c33a8bd0aed1c3e4f05e13c00000080dacfddbd5efae8bdeae7273d86fcec3d8ad5023e45194c3db68abbbdffc7c93d53820fbe25d1b6bddc5d793dd2a2e1bdba0d233ec440853ea3646b3d857249be000000007043eabd30ab833d07e5cfbe76a644bdd424c8bdbff98d3d7c0be53e2564933ec465a4bd3e031bbe2e56b5bcca32163e3192d33daa7b753da05e6e3def8e9c3d62bf693d4910b9bc23efaabdd2cfaabd035c883d22501ebef256423d6b493a3d002e3b3dc8e94c3de1f9c33ea59f843d07eda4bdcdfd6a3daec8353e0fc58abd45e9cabd99a0783d9faaa2bd18e4a23d8b0c943d8d7d0f3db27d9f3d48dd483e4686b0bdc977c73d3ebb61beade78d3d7a6b6f3da931a23d523394bd726f893d4b9311be6fee893da5ab933ee588f8bdb6d395bdc374c6bda6756d3d41f9dbbdec1c81bde952bebd800b633d339705bec81c70be3e29ecbd59ab83bdd329853df8b67e3eb00a713ddfe7da3d302f03bedef5b7bd617710be3adecabd9925003dac34d9bdff59843d94a402be1adfc83dc9099d3d93a6933da9bbab3dbad0b4bd7523293e061df13c000000803316efbdebccd1bd67cf333d53b0db3d8ee3e83d1c555a3dfab0cabd6816d93d61d91abe7895c4bd4295853d833af3bdefc02f3e6800703e197b7c3d20f43abe00000000ea3afcbd76558d3dc78ec7becc9652bde652d7bd9478983d8d2ed13eacb8833e0bb5b0bda74d27be3905c1bcc5dd213ed4ace33d817c833dbf4b7f3deb03a83de74e7a3d9a0fc5bc92c5b7bdcf9ab7bd5030923de4ac2abe712a503d8179473d7a5a483d66365b3d318db23ea6278e3d893bb1bd31a67b3db0fe433ee10395bd989edabd042f853df9d5aebd7b08af3dc5d19e3dd85a193d715bab3d3f9c583ee0cfbdbde795d63d457751bed464983d2137803d951bae3da5349fbd095a933dee161dbe810d943d77a7873e8b0306be42f6a0bd9eddbabd9fb67e3db718edbd44958abd3cbaccbd105f733df81b10bef0ee67be7fa0ffbd3c588dbd8ff28e3def146c3e0718813de067dc3d06c0edbd469cb0bdeadf02be9afab7bdf09be93cdb30d3bd137f703d05c5ecbd0b1cc03da3928e3dee15863dd94aa73dd501adbd8925193ee9f7db3c0000008069b6d8bd8bd8d8bd54ad233dc8f8de3d90f3ef3d7c8c463dcc09b7bd9ce5c43de6400cbe894cb2bd5ab9723da474dcbd0a1c1f3e7f24853e7081683d7f3629be000000806996e4bd6029833d2114cebebb803fbda83cc3bd89748e3d60d6fe3ef831963e57f5a8bdeb7f17be8437b0bc0497123e6177ce3db5ee6e3d23fd673d627f983d127a633d12e6b3bc091ab0bd9d90a6bd6dc3843dcf6f1abe97e73d3d42b3353db840363d7958473d2e08d53e711d813d78cea0bde6b0643d7357313eab9c8cbda337c6bd9000723d57d4a6bd08de9e3db62e903d2adc0a3dc98a9b3da3e4433e9761b6bda3a2c23d88e95cbe44258e3dc703693d85019e3d260797bd4ed0853dad460ebec774863d7b2d9a3e4bddf2bdaf889cbd62bdbebdd3b36a3d1eead6bd600882bd10dac5bd982e5d3d5b8d02be3cc450be27a8e6bdc1da84bd8da8843d7dbe813ec89a6a3d5d4fd93d504a02bef881b6bdda840fbe6651c9bd08e5fc3c039fd7bde720833dfabf01be1a5ac73de7b49b3d255c923dbf54aa3d0961b3bd2b1b283e27d3ed3c00000000bf63edbd2f3ed0bd8cc5313d5e17da3d593de73d7e1b583daf29c9bd3481d73d4fdc19bef20ec3bdf15a843dc583f1bd42b22e3e17b56e3ef0137a3d86d939be00000080327bfabd7f108c3d1eafc6be445850bdf2b8d5bd3027973d7c49d03e1809833e8d49afbd494426beb813bebcb2dc203eb50ce23d8f44823d19e57c3d21a3a63dc8ed773d3b12c2bc7b52b6bd2322b6bd84e7903d63a229be96fa4d3d0855453df235463de0fc583de3bab13e86e38c3d66c9afbd4844793d62dc423e51b693bdd100d9bd36f5833da96cadbd4d9fad3d067b9d3de17a173d2ef6a93d9f66573ea456bcbd4703d53dde4750be7513973da7067e3d68b4ac3dbbdb9dbdc20f923d03181cbe9ac1923db0f4863e731b05bec99b9fbd8f67b9bdef4c7c3d4e68ebbd955389bd3531cbbdf603713db5290fbeafa966be4ce2fdbd4e138cbdb0ab8d3d20cd6a3ebec67f3d9ef957bec152813e51cb353e30558e3ebd52483e7b4a7fbd8d69563e912703beafcb803e766246beae671bbe1e3012bed9ca29be58b7323e5333a6be425070bd0000000002d56b3e9e104f3eb773b2bd96c058be00b365bea4b5d8bd05fb473e264856be637f983e1c29423e675d04be1de46f3e63e3acbeebabebbed539fabdc7e5b73e0000008056b7783e41f20bbe89cb433f31f4d03db489543e23e316be25e44cbf124b01bfc8ae2e3e2cb1a43e2ba9403df0169fbee4a860be1f4e02be7910fdbd392e26befc28f8bd68ad443d439d353ed46c353e7ac010be6a06a83ec8a1cebdf813c6bd4ed7c6bd5a93d9bd51652dbfe8c90cbe592c2f3e997af9bd79a1c0beb47e133eabc4573e0df903be26d92c3ea30c2dbe23271dbe1b9e98bde47029bea0c8d4bef08a3b3e45d453be30e9cd3e5fcf16beb92dfebdf1282cbe84801d3e71e411bedab19a3e8e8e12be2aad04bfee17843efd391f3e6195383e086cfcbde1e1693e263f093eca2b4a3edc29f1bd7efb8d3e0590e33ef7c97b3ebbf50b3e55880dbe9ddbe7be46e8ffbd1e25dc3d43edebbdb496b2bde2cb01be45cbb6bd770cdf3c01c6d8bdc1256f3d43f5eabd8362c53d3cc28d3d4c54853dd29ba53d9770afbd10b4173ecd44da3c000000007929d7bda647d6bdc5a7223d5f05df3dcf97f03d8766453d51a8aebd044bb93dab090bbe092cb1bd0b5d713d14dcdabd85401f3ef69e863e5642673d834627be0000000027e2e2bd9f81833d66c6cfbe2b5e3ebd45efc1bd2f718f3db1c6033fe13b983e9b6eabbd711b16bea4adaebcd0d0103e190bc23db6976d3d9daf663d159c973d4532623dd556b2bc09a2b2bde48ba5bdf103843d55930ebecdbc3a3dfc6c323d04ba2c3d4a32463d0351da3ec763803dded69fbdad67633de850323e85e68cbd5ce2c4bd54a5703dbedaa8bd0bf1953d535b8f3da31c073d67eb923d5e27463e09a1b9bd6537b73d18d55dbe873e8f3d0bb5673df5129d3d348197bdfb0e853dd2060dbeb05e7d3daf629c3e4dfaf0bd170c9abdae6abcbde6c6693d0463d5bdf8c081bd8700cabdae54513df47a01be929b4abeac77dabd8ba984bd5f2e853dc5af833e124a693da068db3d435203beb583b8bd3e9310be5542cbbd5318013dc8b9d9bd6eef843d55bf02beff62c93d6e9d9d3d903b943d7c4bac3d1b60b5bdac48293e54fff23c000000800d6aefbdb152d2bd28e5343d122edc3df060e93d657b5b3d5716cbbda297d93decde1abedbfcc4bd882a863d5e8cf3bd52e42f3e28f76f3e889f7d3df5ae3abe000000000d91fcbd8ce78d3dd882c7be65b053bd17b2d7bd7b08993d5422d13e67b2833e2a45b1bdc15b27beeca6c2bc9806223ef729e43df711843d263b803d8595a83d58797b3d59b0c6bcfd53b8bd1a0fb8bd67c5923d5abe2abe1d48513d1a93483da975493de55b5c3de780b23ee0bc8e3dbaa9b1bda4d07c3d8618443e2c9895bd10fddabd50c4853da666afbd4696af3def649f3d875f1a3d24eaab3de3ac583eff5cbebd1d18d73de03451bef2f5983d2acc803dc3abae3dd1c79fbde8ee933da02a1dbe939f943df69f873ee62506be5d89a1bdf268bbbdc9d87f3de56dedbd112a8bbdd742cdbde882743d663810be419467be8de4ffbdfcec8dbd77838f3dfa106c3effac813dbb9bd83df8e801be3be5b5bd5c1f0fbe06acc8bdc9bcfc3cc8ecd6bd0ab4823d0c5f01be68b1c63dba2d9b3d33de913d7bc1a93d9ec6b2bd76ae273e0ec5ed3c00000000c2aaecbd1590cfbd9163313d7863d93de182e63df77c573d8680c8bddaced63d3f7419bedf6dc2bd69ec833df5c8f0bdb5442e3e68416e3e4a4b793dc16a39be00000000a3bcf9bd9f9a8b3dbc70c6befed24fbd1c0cd5bdaea5963d030ad03ee3ce823e66b2aebdb3d925be5c59bebc4671203edb54e13d8bd8813d0d167c3dea11a63d5025773d6255c2bcd7b5b5bd8f8ab5bd1b6b903d653529bedd6c4d3df0d3443de5b2453dab5b583d587eb13e516b8c3dc436afbdba79783d666c423e6c3893bd4e52d8bd1787833dfcd6acbd3f09ad3d1ff29c3d1640173d2f63a93dfdf4563e91b5bbbd4c52d43d74d64fbe0592963dcf357d3de31dac3dd9539dbd6592913d44af1bbe5244923d61ba863e42b904be32129fbd88c8b8bd8a817b3d3fb0eabdcee088bd3986cabd3046703d5bc40ebe001b66be521ffdbd859d8bbd10348d3dc4596a3e52f37e3dd45312bfaa602f3fe11df63ebb01413fd9d0073f7a322cbe4829113ff6b1b0be71a42e3fb04c06bf5589d1be8e02c5be4ccee5be0ce2f13e93a161bf7fa221be0000008066e21f3fe5430c3f2b1371be2dd712bf8b9d1bbfebcd91be8376073f3e0611bfeac64e3f7c9e033f4456b2be03a1223f78686abf9a0ca0bf4028a9bed568793f0000000054a3283f4649bdbe97d3044098a78d3eb917103f8020ccbea7380bc00f93afbf6e6cec3e44555f3fdc9c023e1ef757bfe81018bf1187afbe5e6baabecc24e0bec01aa7bed44b053ef6d5f53e55fcf53e6312c3bed4af633f98978bbe09c985be245586bef96492be41baedbf6cb8bdbe2880ed3e13f7a7be76a582bfc688c73edc3f123fd4cbb1be33ebe93eab18eabe37eed3be14f64dbe0e34e5be785690bfe6ddfd3ea95b0fbf14af8b3f3207ccbef42fabbe9c3ee8be041ed53e8aa7c4bea8cd513faa28c6beffc3b4bf8917333f1f72d73eb7f2f93ebba5aabe9d8a1e3fcd9fb93ef1dd083f7006a3bef684403fd48d9a3fe9ab2a3f1f4fbd3e516fbfbe72649dbf5459acbe3ce2d63ea5fae63e06cfa93e0415b53e83fcd73e8a1c973ee8499d3e09299f3e10e6c63e0965983e4656b23e3343b03e9e43b23e57bd953ee7f3f33e658b873e941a7bbe04d2bb3efa54463f9b0d723ede9fb43e4aa5163f555c8c3e7521803ed201e23e9267873eb546b83e07bcb03e8701af3ef7e2da3e2b1a333fcc08b23e71089b3e6536c2bdf12ce43ec3c4a43ec9deee3e6c04af3e90f0c53e19aa783ed7025a3f4a48103f9794d23ef147973ed7634a3e9084ee3ef8e9e73e1837a83e1fe2ac3e7ea6bb3e24ec9b3e3dc32f3e27f7bd3e2315cd3e3a67af3e5dde993e6209bd3e991da23e0112953eeb4cc73e4ea7373f4389b63e53e5bd3e38aba33ea7beed3e2dded33eadb68e3ecaeeb23ec79a963ef6c5d53ef7deb93e4ef4a53e4b2ec33e7825013f4d50bf3efc34e03e747f973e4718a23eeadfc03ea089cb3eab6da43e8e25a33ebef7e43ea9b3ea3eebbb0f3fcbaa8f3ef829043fcc263e3f917b973e8b8aa43ea938eb3ef7ec9a3e9acda03e25379f3ef927b13e73b5b23eedf0d13e6f15993ef928033fdae3d63e81e4963d +\ No newline at end of file ++3636326562343933656539363838623966626231343038656233323334613630666339356432646534663261326263313538316337636362396166303530326532333264323661393834653463383762663931323634383337656564633662356134613134343461393333343962653061633337316465373764306438343236646238633661633433636431303134356365656238343633613161333932303639376538356537623535346264396631336335386230623534396462376166303332376661366634333863346266396434653031636538323330626438633336643366303762316439643162316639336563333863386562623037343761373135656439633965356531313037636465333932343337356133336331323530613935313339356235396438343732663038616337393738623666633763653832333261393839393635663730613733616139393365373666313533343465633130613733656636356333326634376531363832353436356232343664303733303663363632376239626564653732333461313432643131376538386433346164303463393637326132376238666363643132326139343432616432313865313564303439653033303063323262663366346261633334616431396539623265663030643433336230373137623039346263363635376163393436373066336330663332316130636233393335393764613166326532343539386161336164636235343562323461356662616163396466383730313566333061616264656436656330666162646239656561386132333533313032363635656161333231316539356433633538323666636334346262363766633863356663643335303364333532343830316362643537616166386630316132633537383264386562656232366533383232323865656264643930346339623738353632646566646164393533366234623761393331346566623730336261353361383331366430326364306533343038616164393337363063633838623064396239626464353839316131616561373564626664633463643333616230353961393233666432623837643637633235306136316538616536346666303330303165623236623461336335663165333462366631323636636637396235653665643439623130333864626532366638646136643039626235353631343363613265346662306134616430363563616233653638306230663730643862623264663639346235356336643738653131646338323937336164323064356633373666333065653864346131316130616366636166306438396237373663616232356538386533663033346134393933623136643738626532343962633233616637626262383735316337653335306663633931323332376161376633363334343262333137353037643237653462383133333938396463343965396630366330343962373934613362633064633337383139393031643932623364656562376164666435623033623336323038383361626664346362653633613334666465643337363034373834326237386364613137363365393963643061643939373130643531366432316631353063646439366461373864346135643733356434303631626235346231333666333531376332366136356434333062396536386661653432316361633761396435646533333366373931383562336331646234653964353963643530316630666436613531306333363033653133653234613430623462663231356533373935613961343064363061383435366662376236336332643131653831373031613233316538356166643462356462383161626331646435366432373137333265643032343566383639316264633564616433343736643666363335363037376231616131643633346139376334313039623539623733353437663934306331646338643231633066313837333838663264336138656563666565376664383637393032666434616333316261316339666466353162616132613433376266633039326131663733326532613866303636373633373432623037373061366532366533326632626535653437613337333039346633663962343138386338343364356334626561356132613461633462626264663766616337636533396232303632353733373731353431306632336462393730353462366562323730656663636662376362343137366638323638313432636561313665323862323164633935393837303065663164623865396164343465376531383431623134623132356363663335613137653863666661386630363832336264343663663835366534616632363362386161663936386261383530623464396166666265633439336661306665306138333365396534363365383761326363653063386330386131336363636134613261343136396233653961346331336663393463376136376162303939636539326363363865613437616261663136383861623861313732303266386461303531336335333539643237353036323366323434313634633966343533383465663036653735333630613736643464626430346630363366363038636363633738306631663132383635313539313464613937303532363734616430396532353666633539386463636434643338356461643538386236646432613033653631393463613938643837346233316236623062316532353333626331343038643064366138626163306131363161363931323231373438313633646463623132313033623161313137333663623865663535363562666630353566333136333235333831336339633431363133303465613366636535356164383035656563313734663864373963613637643230376163343666646533623235623665316435316334646165616533303865326633616138396663396132346237626238643036353632393237326334373131356235613933626538376533613964383733396662326538613166656136616133313835326166313930333839373334633531393436376139313763326661643166343634323661323166386563623634613361666262376137363366383062323139306361653463303231653862643663373164326131386666633935383637313336393962396663623933363737376432386366396437613432313461313334633532616236333436333438666639666633653430383432636332303030653635353139336138646132393162303630376234313133653632633264666234386335663438393838366435363133643461323036386534353462333939633434303534393535323137643030656138323565613436336234623735303036336131346562623664383563306566373661323264666237313164613933626232343636366137616430363063643632626237306335353536396233353566633932393964346162636636376563656530396161306664656561626436396635656632346534653861376262386430376664633866626464346666653730326362316232653965343564313031306138623562363130623230313963396265366130303837616232366634326335646531303539353531353137366562353736323737393436626630343433346330356264653562376231356532663139306164303361383836396333393339616236383439363661313661303665643535633961666563613431303466333534346564633533373866306361633035363431646633643837383532663863303765623439623930373061333833633261383932383764356133323539336632353130303266643661643531313731316638343339653162613735393261653833333065316432643865616634333936326236626432663237656439643439633335656534373338313766633338646231316433363030393633613732386331363461303139393161316436323764326235316237613364393537303630633634616137656338386231636561313937653562653562623466633136316330383533636239353561353063623464363362636438656639613233323237373363323039386566366463633439313164313338373637383365326138366162363234323765393736616438656463343339613031316630643031613465386464326334383565343838366436326463393735666366333866653033616631663462326439303139353633386338316561653665623834646265633733363832333864653530363836393366373632343532613130323237303265373433623362623162633661633363303235613236383166313465396162353938363931613765316565313864313038393238623566386436663962663365636639383864313135306161396532353534653337323561646338346365303565306563613561383335343865666635346632323437643239326137353066363930376630633566663432376432663062613832346532393865383638653361663765646163613965653531353063396364626466613030376161643637346261326234313035356334336438663065363464613366386363306236303766636233353733376231623731613937616663616366623535373061643136373039653933616262326662353032306537353466656439373537333238303266656563646234383463626235663963373366643035323838393535623136363133383532626139353434616331333463663564623232323535393164356132663035316161646131326366376566666333663964616434653065353635323933393866343832333038613235313639353165376335383063383031623366653464386435333338363764613034383738336161316630653236646530333831643836303736323039396639613466613765396131323138653932333531356537393939383066383864616466376233366532303332363837356339316630303663653739343563613566656430393036353266666638623832303462346233303031666132396330653165383861373039306363656435383734313936613163393265336635323730633462353436653361316132303732313937353364316163366366376331373332613839346232666163393334353730656435393238323962323435353434633438333931616438373330343634373065626661376139373066653361333634663534376530353830646465363733353131646164383336393331646438363964396333646437386666333963313634313537323233356364316236323165326232613330643032646530333666303738336138383564313532643334336361303738646466663739616136383463333364333064316338636134636361396339333835623063333036373766663832666462653839316338303364363231303137633237313666373732366439623934386263656663613961323633393064383732363639366335666364623862666463613266376164373862346436626530383837313833323462363535333134343938356537656366326233383663333438666462626431303631626262633133623161366165633737626636316230616465643661383139656431396534373735663738353333306538363630333764623132323936376236363336386262613537393633313232633962396538363630643362663331383664373162303161633261306666363561663532356564656362313137316364623865643465626133343465326165643664613465613463626134663765316664623762376533626436356463663035623638366432376662383365373961653831343534326230353230613864373466383162326230663839356632643033653939636136356234393835636663353062656361386231623133386337343565356431346666356564313133323737363932376566643564363333343930383830353537653533636130623430376435383165643731313237333464636431633931393630626530333435396631343463653735336663366563333336383933613336306265306563333939623935313739653835613539333034343034636631623933363438343932303139663065613830373937396563643363303165383132323639386133663038643930383861333338353433383935343434353035373831653139376264323933666233376236373339653831663163633664326163643064646139313830663564343335343063376161343332636138346435643639373236613537303730383132386531303938363030386630633364633966633633356363383330643961373864383237346634663564663231663061663733633461303437376133643339363136623535633165346632316633343364306561343963613566383265373766646636656265313733383236343137333931326632303164386562636234336237383630343765386537353439366539386233656265356536333431333237343132366231313364643964363333666530336237393835333537626263623737323934323035643535313938333165643365303665343032323335646133616438636363343933636334396331663437373837386337663733376235346334626562343531626165663537386437653061363034333734363032363132386530666437316435626630333932303366623234363639323434353436373662303365623937656563373139313239613965336566643465633565303763373065653139396235343263313738623130303333616431356335303336316130323034633462393865663564613636336634323436386532343336396338623831313865633366396137393039383436386238626264643236343762613663396434383338343130343537366437326538633165326636383065356539336564346164333233306335353263373830373562666161393662366339393537303064333031303339663739636431353363643839616665303439313263346337303865326136353565656663373633343135346262663363333230393339306465633836623563323438316233623839353862393030653164623466393035376536616663393866323137393338626138306534383937396130363932356563333132303730383637353838663233333633643637663232333963623633623431646162383366313739316130343539383138366466306131356536336366663835636531336266616138613362613935396633333530626231356336626663383262366465363035653263383765323663303836313065326532376364616333303164663233633533633063656630326636306533393835616532666532666437326639363137653236316136306339373763656432616364616261353237353663633236636332663633663433626230363232616263646532323564613833643134333930376136393735326135366639303462613338656632396264323236336666656332393433613931376363383664383939316562646531373565643230386238323463396532313330353438643234373066303361316139653464383237396633306530653239373064316139306439383138323865613561353433336432623034316632363436633263366565376564343339626163303265396163313336356237303332316263386633346565346561383630356162383666626336336532346362663466613231393134306233353133323365333532356338303433356332666239386430393263353131383461346338366431343232313131343430373838386565303034333935343537353032623664376466666131313931383031373530623566386664393035353937656638643837303535646134373832373839353639643662306136656630353730326363663431316331613263663265356538383539653964383030333665383833656135316334633737393931336633346161613463353439383364373661303965623431363433616630376130386361653565316135353538643532613462633863623561643838616134636130323038656462633365663037653131653037623630373732643936396338613331396334316231613632356135626635383736386639353433393364613538363465396133616166376538323761363434633039663430346266653332626261633631636330663336666431363339623131616139636232343433613538663737383235653034306231353136343835393465653631613266653432633734323438663463383132313132663132623934343864393133346639363739366636363962373830626532386137303234383561376463353763626337323863646133313739616232336662663835646366383230343537353835336261633434313133663233626538376534346562353566326365373930323834636561343530383331623836323462383832376438333861373437626464336332616231316235343630626234353532373363613535316431356233326362363034363230623332636534323235376663656330303532353065663662623534663863376635653135333563646263343863613335613832306265313666383934643666336165646539393439656139316430633832383330336566316265643264306437636431313064633035636233656437323637616637316632393937383638653163333933366235333038326638653365623465386632646632663836646465666539643436623865373735316462303365303136316364353738353361613162363934333038636436633836633132363266356438343761336466343938323537633462303536306334643263383539623963373766616363636262343730383563336362653366316635396531323165626235346565356434623361316232306132356265646264343036366330346163616433383337613263376430313737646135383935383936643937653163623366656334323733663137303636636136666430363162383330386637366633326532643966396331663730646364363863393438616637316635633236613439623165353866626462326664383061366136393861306165316637353336616164373732653761643930646438616366373338346538313336343031333463623762363637306466366366666436653165353262326136346431646335343732646633623366313732643730643131323739353932306433316464333832356163316630623438666166623438633730373065366334356364626236653131323861313634653966373433306635386230623532353835336665333763323663323532643535306665653336633961313739376634326237353635646363386163343039623036356235373831636666636465343862373737343330366565393930333334393237323233616334303636306339373835343565323039363231663630656337623938333433386639626338363239663030626438366633323739343538626464633162303566383633613232623837623031626164366561363763333234383462633665663161393466393736653534653937623538646162633236666262646138333466313236323334356563343935323264653437333433616332396135666532343234663632346336383738353661643036306161346564383139633063623136363532363931316332353962373064376663326139393065633330343533666663393661663463326664303935653739643133303233303735333935303635653437393331653736373364303662323131353530613133346138363062623766636361373364626534343862343964393165663963633838366232366139323461306362383837386366633363613861316530633861646164646234363364353638326430336236613934623030646533343932323166333962633233343764313836396239383838666139663931366632343262376635316434356661346362316631613438383836386636643762363332383261333564343066653737613837303234666136663337656336343662643362643137666561663939346138303064386633643261633262663539396331653338376438646462343932366331613535653665326338323734623532656437383936656533383035646437323963613133393037666537393462336362333661313635636637343537376436636132663238633733353866313666376333653030616235386637343536393336656461386662633832363934326662376638326338313735623965383336646433333662313862383539366262663465336435326630636264343639633733663530393937653966636163633664353731343336343838373335303336623238313434313965666565613361303033333938653636373666626537313437373431373638353035383333633931623563653330633635396639663337653363323033623062313066383436373261613362336532643262386335613366316630383737376664666233393230623335353862666232646363623565663665366139656431623766396436333338333637373664333964303830386435613832303562613065383637633363396262333934313437613633323830353630613131333730353038636138353263386237663765316637623661613666626530623339363137373233643662643337346337313132663739336132646666356366323030366136373238306230653939323230656639613464366531386433643637636236353633393432343635353665303133383531643138366166333766346532363939616536313232626537393631376334363561373530316432333533663134343030633337663439653163326232636231313033333835343133373063623638613762646461643163313732646235616338633963323430393738646162306366306437663739653164333164333038643763393633386365373936666639346635306630316535366163316165626662303766303339613533313830653030616364663236623539303838656438333235386239343035393436633862616238353737626232303731333031393534346262666438306165336161313763623866623761626237303934336161343034343361303836336232653236353034656538623339383462326465393330643531306236663138656139386466356264613062623261306632386638303866396534303863386637316230356265346438616161366563386632383933663034336230633062663837646430333437616635616532626333646432643965623738373532326537666431386539313565396236633031353331373339633433333066633838373839336331636532653839643861366333666465383166666231633364636461313130623965303534366661333961386262613933366235323965613930353337346137333130303432646566666634646263666436336463363937303333323337613735346231653961386533353231363265333937376663383630336265343032653832323966366265383965343465396338316630366164656132626638616232653437636139386461316636666434303632363132356332643138633032366439393132643334633862396237646330333762396262303763343137323138313734633638643431646366393831366235363334663233353465643236663736613065336531393233323164613966316462343532396363616433376236353030633761383337366231366138653033653634376661326636653464303639383336613665633631643664353762646632646364376364366539363131396236663063653637366163633862376463306165363066313865306238656230663636343632353839346336303739316133656239386233333038393334643334646137633264616266626464313432613061363337386639343564613337333565346332393033626232353264306666303966313163343238636434633565356135663833393035656533386438633737336661363431326239343639396637376265323066356339393736663162323062353134653866373565663332343133346337623730616332613862343136333735653336373739396262363864636266346532353464623666333935313131646563373933353265623662356435613765626239343166316438663161623731336464656530633162316462313436306163376239623833373534643639636236366335396333353864623763363530343066663137303136393261643066613131656435303237346130376535653332353237356263333566333236383665393131393163396332323062356134363861353836633939656163663638613730363063366435373735343730626638343261666161343131633733623032653163336561326362613531653232633233313930373539633530643030316630626164386636333765303838343133343462633065653166323631303637616565623438663432653263616632643632303362323362386635623132313761656566383062623933646238653931303836326231323030313937313438383733313136326364616461643531663634326435313162313430633130326133643936323035323739316534636530643532313138623930653536303563666266333134323330663534303163623939313537373437633464383232333364323863323364316130386438626263626663306131383562333538616333633738356439353466396666636332343230333538386164656131316665356635313130303166323065313030646266393035616330363862613638636363333739353536666161356637656236313034646362663163343339663366616263613332666333616332643037373130633035336637303333643564663361303336346536623236353530633839663162363735363330343461633461313461366535363537646665646637666636303338643438303831393738633737616564316636366532663833613166336631653863326333376264373562623763313764646338376334363532343463626165646339343037333131616330326636333162323735656630643066313861623663386462656134353436376436336434633636396332353064346466373134656638656639393932653065643835363435333034353764323430653233303130666661313938303332363831636631363563343836326538316662623863336134376565643139343161643635653562336264633761393537363438633965633739633261623337653466303964353339336266613433386564363835356562363065626338356332393132396462396435306139323663643735656434353230636536356339326366613033306337616261333739656136346565313733653638663231613861346462346236656539363837353264326261663361313364653232303139316437343238353435363738643036383637383838323839316431333335396439346135653465616665353833396333666164353439366161376338653664636535396664363462326132323566363364306434333637653765616338646533613538393337303133383434343330386465323865636361363266343334383338383938343866623964313364383563363631343863366239626231306431663065666164666534393232383865306163323761623635343932363938383233326534303234313430643839663961336664613131353138343961666463303032643962643463636465303264306462643261623934373766363663373236626535363335623332626233623161303166653837656534626361306535316131623939623563383139363765386666346165383863363739653266343864323239643261323931663162366666623035656138393465663535383763643237323339313431323839623835343331326135333234376135313166363966643630343530343965396366336433623862316361386264373134393034656133333462633433313764333262373363376530363134343162373630636665633138346439383530653961393536373664393333613165663336633933353466653736393366306532363430633036653763323331303463653031343862623534646130373732646363626531636332353839653966383238363639333562616561363263613262313539323137376435656165366265653061316631633738356566373538356139376639643033363063376566646234376565366666346631373037333961343765613730313565343139663166343931623761373938363534663764343636616437636561373863323230313662636331306361656233656133306134323630646163353135633038383839366661303237373365356133363034616466663364626134643330386462316135353835646134666533356235656666356539373964393632363263323035633832623833346536626566616331336335363661353038666661623330373533333164303762323133356365333939653937323738646430373166333063303631396339326132343866336534353931313938303534363531653330363261666236656262636332313865643463646230643934663339333233346237333732383138393666376339306639333835353264306131613934356333633163613136616231323564643261353637633861346335666133386631653633386366646535643933303435626133626261373332613934626539376631666239306363303438616137633637653731346130323066363037623138306334393837303834623830366532666539613264663237656139366130643232326336643133306163663335643139646332643033666331376562393630323839623164333464303366313836396462666331386562353630373465656535323138396532346532643932663032643064616361336637376166333261376566663134636637626237346463306664613033626632613834616161343339343866393365323933353335663038326434623563393139613137326230363733373731653565393561333133366262613234316636396539326132316330393031373738336462363066646132333562616538323462623464643137383166613833626535303564663366656537343666643362626263326462346664626530373734346262616361643735663338653938363333633461616133336462383936316335636335663439366530353231353138373239316230643738656133323534376432656231623763663236323562646166313130636435383038373830663466323230343164343934623233643931623333613637636364636238393438336439393930653737396330353431656332313837396137636665653561353839643163386361653739663433363232306666623337366339613130643061343262653935393834356338393432396530343166366665633939366638396536346166393066326538353133356362356161316232633965323132313465663733656166343635323636333133303339613865333566346335353563343437366233656566623366386336376139313634666464663033613162653338613530653761313936636364393666613035386261353634363039386165343130663337646338353638646332613232646164396561346166313363386638393864336538626462616133306230333465303365633366386362343531353064643161666266313134646636396338373032313439376636316463303130336439356366653636356131373065303764663832373964613661373163613838643232386165383536633034636366613864646561353732643333303265323036333533326635353834306632636535633662636430636132653661636265343535303239316662356439373631636239346666613465643433626364313134333434333561333965383231613032663637326338393839643438663437353430373066356635643262346330633363386161623231643732393630623161626262633761613834306534626563663164663533386664393564626261333530356531343931393633343332313765316532323261383032356231633363623063333164373031373364636265393535346565326330363236336665336532656337663831666566663363336662303765316338353139373338656163306239623939646663366330616531366333363765363133653839313739653163666465363365656631343561653165363536353137643539353638666435303662616633366365636331326239303564333436653530343039366363323035383462386630376331313966356238633531313535353762653636323337363732396466326266303661356539306338376131623962633532326661333061656165353862393665376235366538666166613230333261653738656334373239326432613633343136626362303164346239386535656437393165623566383264383138376138363266396532393539333663666239333363363265656335373239326631323535306130363365366566643336356566656631323562666566316437633530343763636462333432333565353436316462663234653562383637373733376166303536343936356166666131306466343364626666626163623461393633323836363833646532396131373935343538373162396432616638393665383666366463383263396331306264613231326461303035623633316164383133376662343732613062353961643562353333373836663465363739346330343830393362633065666636386163613130656638646535343066343037343436383633623238333365306534306335343865303662646237613764346538303939373361666161346538343132353136313137396666396538333564393830333965363130313033343462396464653763383034653030653765666431653536633765366432346233383632396664333336346464643164643639613061626366616239613863353432626336663264373466613138656537623133353165336563343561666564333165353461626435613737366131383364303031353330356532343532393866376331306335353738353437633332323035363162623036393333363535383634353637666337366533666364306138646535653263333033303732353961343137346363393533386234633836656230643631363933363136346264666666663863643531336362313864333437386538616463316436323037363138643066626662383334353963366639336636623764326534323936613837623033356663633262376362346165663137326366653334323463336231376139393631343365613036346233373866326236633963616635373731303663663739613466613537633162613239386239653532366537343966613463636661613933356438626234376330343739336564373461626661623039336532363861393238393365396665343366323465383332333466353661313033353064656230663333323436656263396230616438613432396139656337363932653763653430646534303565373764393739663035353064663665346166363335343239623338363165336362333531343430666331663066633437373262323233653163616662666238393262333565313062396662343064323436653736626336333062363131373165656137623964336634396637386361313934666539343062653935386266663065626335666261386361663866333730396138383034333835653531386538366239373230383531373031663132643166653932333335326661626162353736326432366233333061303330613038636230346165653365373264366539643665383935666364356463316430323463346138303735646231646133343836386162643831313061616531396634666562313736623832346536666138313532653535306162316537343031306166623138363233623730623132316465303062383632616466306534363830306533316563643363633065313334326431313066323731663330326566646364643236333766366235333131373735346338326431376438666431393933656338393165623465613238613566626239636465376339613535313933386635363530373762313361623334633434386166383565323165396336306632353863653364356564383166396335333534393531656438313131373766303233653230666430613363343437326635656630626461303932313064643734363465303933643839666530376334636465383137366365666566653639356632653339306636333233633561316332313565643736326265383565336262373461363764366463356632643662663031356636623933646437636236626635396166363132363433363139356562363861396139326532356364646565633432353365323138306135356435643362306337643032633039393838643533663738373266396563326365323935333937633465616338316236653862646466386666353765396531346261393064306435663663643038316433333465336438313862383865663032346534376363653037636661396631336266326336363437616233303863616265663161663034646537616231623462646236346134343064626434623765653331376430303330623132613163633930346665393031653033653461363434623334313539313533643462326465623064353365313837663132613330633565613231363164653332366665623063643766326464623135393437346635663538363631663764373462353530396663656338343538313238376532633033623665313963376463626638353963396537636539633635623535393839326232616339396264613665386264383563636538313266663934613834333532633237633765643837376462323165313066323766643332646638396433393763316133373635626636613334363962663635663437336138393563396637613235313035393666613531363035313739346131623964343436653962356161343264656432383264653963393935663731343634653032653263363733666666663739663661333334356166326530333532663439326432353461383030636365333537343939303235323034646136356161396136666461633734323737356664313730326636353464663062613438656535366435333733323763653663363732383463346533633839313563363464663733666662356338363866633434353962363735333863643261356530393462643461386231646363363531643039393461336563653964306236373364313733383064633865343663323262386632633332383066326438326635316231396138386437353933613831326263613162373766323963383430666663663537353339323538633238613865386139633563666130663230633064653930343635343537613161373962383965386334656264393133653737313866633931626563303339383161386365343835356639363534656463333666353865323166333031393562396531373133353634616337666431326137636536333062653438626636376662306239323033626166616634646134386334633636336334323938346334666338333330306463353135336361363662613165316630376239316237636133666231623432616430323564376461636538303165313539376362373332633431643061643063393464643366306464626664623966653131633938336234666362653237356232656266373831666263376262346263363962376430363631643330613463396364346537653231353738326130363237313138386434386634356635303337383864393837316132633837643234636362383934346464623137376338323831333634643164633232323739323263383665363736326266376464613336313334316165393037383562363461366632663665316639323631353330656131623034373866656637653137616639333662333365323262376636363461356234333966333439356634366234353061346537656464313263393433663763313431633265666461613761356633313538303065333434656331306136323036343633656530373863323738353332333136363734343934343561393565636562623561343866386634656266663139323461393365323939663538336537643265343065386530356661376666613064363465643663383230343964343238653038376534393365653261613561626533383730383535613361636239326632623664633063636466363636323435373037323532623439643631663162353731353364626535356431636266626165303135653330396265633164616438306364386133616661396366356534386533393866343637356261616461613831353231613032396135323230373136303138306239323962343761313832633565396662323337363338633237393138396465306431313761643538666164316464393563663433333531636137653130363863383534636263663136333165316637653139643935653461656465613336653633643531336331653135366538656639616162643231383863373864333136663132333164396131653263333135323831653231333430613831366365636332656133623537306338383830303366353364383738396333316333393761393466643736636565646433633938613032613762646138376138653033653562646662323962623237396264653534626561366264626533373161646638343232623465373639383334343665356434636436343862326635656639393636653562326536333139306666303038393662353732653264376634646461386536303865626466303033383465663937323538323231386461653961363461396366343031393434663235643538666536326438666364366637613465323637393862626535306431306337613564303739323337316361656362333731343830643764346635646264613762376563313631633439623133306365373631326161393465623864353965643034306237323131333761323233636434653334316436326438333839376466333161653137376162376531663961383535343465633938333731393434376437663233313664353566356534383363613439343362303336623662323631623564663334643638333762663036666337376663326366366636626564383066663565633861626636643438663237303034653266653265386439316430623164363038363036633734613435323264373565346637343730343233363564613137643239306534653533393338663931643031643136626161613865623666353439396436393138613535646537353431393564363932373432383632613562356439636533346533363639646662313466343936323538303264366437333336626132313936323033393261393363643533373935623139646264363834343665646630616639666136616535343633363433343361376332363336656666363432663164623138633432316236313636636332386433343437383965323561316461376239653831653865343538366638363961343931633835616436313938626466356438623039326666336130346263626338653536663737396137356436303635353764663731613532323638333166396239383539636134653066653764313366383339303038343938353639303763336562346431623765346631386233646537633230373262623539616237333338373833336566656531643563616661363131353765353166346430663665646563366231393864303830363930356461333137383462333831623466393835306335353036383539373064303536333466373333303335373733303366356235616438613564393234323861666336363733366261356564616135663266336266633164643762366637353034666465333337353765663337383538386366656132396336643035306630383630343762663064656363386264636561353435306631353936623362653636636366613132366238366236623138393335663465316438353633623262393336323165636535653137366565323435623133353537383661666133643936396337326633313438343430393466303634663731386666373433366436393063626139623061333263633730383339383464636666366239346162613265373936656633323066343431306565646161343735393831323663626665323138666130653433323738396630633134333230333266393664353231613763386236383364393966383639376562633864643936373531336463386237633535336637313935393439373637653932626236376264653334363366633836313234333663663061396562343135336331663961633364663533663730666166613161636262386564306561613230643063313361333630616263616566336330343232336364656465613264303937656131643733323332616262613264633162313630313534626239303139646265326435363537613132633561646262653165663132616335653534323633633538336432303165386530336331663337303030376137303865313166313333653264653333313361336439393330613962386661333061653034343130306562396462326466663361623262613636383231323330343262313064613466376463363331373861613063316436373562303933396363356362313239616133373031336463643132346436623739363432653936623133336666303065646561383764363664323539343763646633343265376537306163393837393635366235303035613334643333653062623764333838363138333331313038303930326536396261343837656530386236653334313233306362303939613465663964336533303732626463636266303438663064346366356537383934633835313663663264326434616337373630303733373937653238616665636632356264386338626434643132323932663630336331393638303266396336353436633162326266333131306438303438646134313366656165376261656166303762316632356138666636373039383430613837323331373131633462383130363061663438373731363535633839366330366366313234653562343636343730323531336132303562323435623639336665373830333030303262303736383235336337636232393861393332396137323832336264303766316535303331313237313863646566656236363962363737306433383761353266616561613538613637633833343335623535363364663936346439616665366534386363346638666638386335326666313961613730316131663330363066363166626430363336396337616331336137343538303464323838613864666637383334313863393231623762303263333366313330336538383165343233626330616634616462623863333436656362393637386530616136343165343864333837623937376663396533336666383034336561646330376665613334383361386631343864633034616339616362376435613166333863323765636165616535306137616337343134366662353665313039636336613165336235616231663364313536396138383565663633303337643966636437393265393764346536373230346462353334306137663338636234303534386236663761666336623566646531303437623536363839396231386437366632336337353832313630333563643239313334356430363134653030396436303834633261656361366565356133356562656136616632393534316237323136616537613064653033303232356339653162633838316633373061613530313738316135336565363137336136633439386262373862333532353134613166303331623732653430326438326236663133613266386165646265626239356462373633646263313935326130653035623062636430343666643830613361636564666336373665333637366334616131613534316639383761373435333362633366363961353534366531663730633233633766326131323562326631316136353937363338343761393765623761376235663137353532613230336431313738393637306331363134633563646165643133313065386636656633393636373230396531343635643937663966306233656230393335633332613030333066353864383438353864643932386664393766393239633539613664373764306661323734376434626331303066323365383264613832383164646462623231653262356532613438316663326130366337396338616463623037376165643361323134633563643563663163366466653338336533396636376137616133323839633066666139313464343966643635343433313230303961633430653336373730333261366634383138363932653335653462353565303536623438373237323638323132613336623738633932366238393766616339346365363130616233376234343666643663343535643537343662393734626263343261346366383531663838623034666262633230353332623965653832356135343939633336303231663938396434323765383831636236323630326538656430313739623335646138316536396536616134623631646661363764643231316136633566323432366462303966383039363932653064643864613361323338333364633634336639366262353966393439303963326530393666336532303636376238623537373336616464373435376638326361323866353063653865383361396164393034363930666439636238326130373538353733376466366531383035353739343932646465333933386538636161373934393935313937386633356463336439346131633034376463656265623237656163346430656331643234353961626632613336393666393966373039613335393334623965353465646532333031613863366136666365316133666636383436636637623534346234356339653939393939623532653335343431396131306533623438383837663664396231663364613830653365353961326330313532663466663931346664626564306638643866333263396534353261363838323136633566613163376534393435343234353165373130656565613031323563616162386130666536313436346231653337643739636635616130366633393661353261386561343432646439313338353765653635633766633931643632333865643230313262313038653661613136663062373637393337316135313766313362653862636239353036666433306661666232623233646564396164363631396236653638336664363537373932663134313163366631343163386435373338363138333630306632323166363532333334663663396261666536373666303738323234336438643039363330373331613864626136303765313563636464633130333937353461646434616365613934366133626534373539353966366235396134633434323233303434313864663031353962666335343664306138333030633431333764313333666266383534666663383334333064386438616466633165353862393436323836663461626330383661356263643531366666386136653936323539353431323361343763633137613033363139383165376235326362313061353934323163663230663737636635356439646436326464666139666362373939303533323862303138376665663739363764356561346436343463653161316136336664613263343230613937316161643163343862653530656632386631643565316365363465656633656531643634333061346264393336616335343130363134636632303862613834313762373433323666363564653837653866613036386631646236313066613562373539356563636539393738656337343362343038663932326631613737363138643364663261666266666238613966353731333335383331326165326131363631616463663031346362303962666539313034666131303732343839636339383666306235616237366532653866356336313161626361626362306232623630653431343663653333363566363737303536343366623434396238303735353933333031303763393437353136333965623532646265383035633564643332366664313834386236346261663934346330643234643362663664306631316635646135646264313930366235343065353330396336353338613631383935333835623435623962336166323138303636363330653134353734343262373237623765313339656365336634653637646331666537373031373465333932306332393637366234366661643233333735363865663338613736323231393532653038356231386133346138333061376334306330626563393433646364643763666263393739353661323761633031366234373432323831383430663739616531356364633964616535336163396434356362666264353463386532636238363732343431373137623234386561623930356465373066336338643334366238376336646633306463303265636331363266626632393431306131333864656138656332333734643566343138613166643763373761323030663464363664373536653533343964353865343464623362383763646461323961363765376166366335623938616532643934336561643362643637356661353461323637323737656338343531323339333966326639373935393538393466393563383536376438343164336464633930343265643738653939316466376133363939316466303766613834333631643938326436613561306165383866363437383566356463323566376465303631323139316436656232653233343636343566663635393937353638633435383665396564646664643233383263623232373664626534373537343062323733323935326263303739333566623065393237636636396264386130353361373639326230346136373163623761303230306364393463396638326634383861613262613064363838343431353037366432633136356438363933353562393539326362656532633066663765303865386431343731623135356564346435643234393038326561353431613664323964313237653663636539313531623531623362326330343635356438386263376461313230363534393734306161373731616333346137346230343963366632613638646135303130313962383837363935396665366334326133613436343530356433393331343833396435366135663437326366663338653232643766326236613461333439656239323165353665396335353037323031346130363131306533376362656534626133356463666439316238333865636662636636323837383137336361323637373161393438376136303530373931316363383033663666303563653033626532316465396165393631623836636235396261336263393265376135366462633930313961313938396134653935313437613939323333353038316232616339616636316262343635386566626531623335353834633034326462326166663139386666633361333333366331336232636434636137346534393766656230663632326164326539313266353532346166306539366266336566613731646237356264346232616537343735653036623731393835633235633039643166383064623130623565633238636332343233393464383636313666303164313666346630373731346634656264396334336233623633356537363137626534363632616334613330613139653431303434313163346333323738616563626638343732663830313737383237373662333533663533323965613931306561363432646263663234303330643935316565653433643936316631313061636265303438343638356265353531396131333733613233613861326330343537363663366337303031626565343662373437393735666237633766323434306332333465643830353437346238663830323665336333633266643230323131306663356136633938343035306266383238363437313738623230623537313737616464653464356364663336663565336339396564303463303462363239613531646534663836373436366338343166666666663361653536363631326262303633626239343032643037613463323361623232333935616365663839333531643431646462633235353465656163666639653931336535303665373333353663323065623662643732333738343061343139303232343937353636613836333565653763393939306262633934643765663765643932633366363030323064303137613730336431636132356565663539653835326132623535353762383831373734653230363366623864336635316536616632636537383034343161306636623130363036633364376538613736373731616365396532656538363863626238633663633234396334366466323965346238626436616137646163656131376563313864373366656338383833656535303664306336393730663263333765303237306661613663343137363632653330303163656535633738373037666238306364643931326162303835373337353436306664313536623336306266383337376233316333663232313239663863646233663832646562336365343066343064363465393230636639613138326461386162633934356131373363303431613932613734386436383439616233613861633166306363393534666433333236616166353739623233376539386530333565393539333136623635366538333165636630376537636462613733313136316137373365313831653761346463376338383636376332373935386264636463653364373231343062326366653030333862626361393433633239623734363439323439613132373437326362383530633864353338333132646565656233363436316235393264303035363239333863363036616561613364663633623461386364383464663562346631376333373736373764393565663236373038306531333763666364306466643263303839643561623633383039393730383038613531333364396366303966323537343434323562366132363939386239313639383330323430633665656162313337666364666536376434633836323836373936343366346430303761353536323361366435666631643334666266646238383430653164386331353730613937313537326432373832303865623939653430353564616661316333363934643435633334653066653030316136653361616137316636326162383361323833353066313034643131653739383362616631313334386638623666353133633861616166383565336333323737306166376361356138383333323961383839653762333566623564643164366366653738646231336361313131646431636264653465306331613961356634306163633832316131373936353862656265316133396264613230643330303665343434616436613635353538623235323463373039363834643831383938613563636137346666623133336566343633353339323566386237316632326435623864633437393032666462366533623230666635373566616535646338363166313633396338393732393831656430626138303038383163346263353837613262376638336434343962613730626239666166383338353631636230653935643866316132663939333837653064663136323634653339643436373964323362623164623736623731656562333130306132636334323363303665643062343232336333613233313962333061663162626236313363636463666138656637623439386466333331663731666364653930333932316134616262613035363261373766313833353337643931666638636261343632326431653562386633316163646363376531623762366631616364323362373063663335356161303361373930386538316133666465373261616431313934326636653132356465356266383336366463353965353633626465353936626434353036613132393039363361356436626530653564313264646634346431623163336337666564313434363635623965653233646437323765303334316234626564333334616635386562323037326364316562313762353530306634633338313836343137363264643934373030653336313437303539666263393363363262343236663831616362613030336437613938633437383932613330366234353763373032636635623135363433633636316530386362343465343465643766656437373830346162616236333061393761666632343864393163643235346165366637386634626533633764626366343630353435383533353530633366613065646361303030326238613938623163303338333739666536363433316339613039393337633033303566303235303633656537303438303463646537343938613566666335623366663537353531666632633338333231346231663862313033303232323434626338623635626536663262333766313137646562343337653230333662326461623365303537353164313837393235666238646233346463336661323163653461623465343934663531336131303762633037666336383532636433373065333332653333393166356566343739613465316436613430386435376131336561383436646539646539613032616139373662343832623764393737343430323236666339346363643266646534376639643930656631373638346130356562663638336134626364633831636337396231396362653337643565333637663439383031306166303939323464326562343138336163303061616532616433646262376264646462396633643131373561313866363139623065386634353965346465316333353063356334326235353965643933333136663035353830646330326531616164336465353366303733313231303965343132373864653034383065363166663034663033643166616462353865636461373862316130386539656537616331346334356465396164393361613138623633323835343639306630346135343435663439376635363132333730346533646232663332343936336665323137383563633532616336353239326130636633643162646335303431666437643734626531626539353661316333643066343562656330616434396235663435616538633564356234333561366332613462383538333962303436323030373462393666356635393562616162356663623337353731653166653436386462376637363862356132333565643535656531383130333866373461373965623830626130643635333761323061623132366333353236663761303036636166653431353636323964353837366133373761366638316636366137393136656564666437316136636566333763333662393765623736316138353037373739343237616430656463353635613265343930623462363432643033646262653739393364393138653261656437363031326362343031373763333763333634373238366261363633333464666363643737633130333062396634323334396139393930316639363266336533343536653230393335306235306663366137646362636235346436363037313764396139323638663735373331636533313937643561613934306266613465323361613339653733333663613365313931316635616131363030313562336132663531646664643665396366656566356537636233356434633138366536626162346133353330376536373864326236323731656462653834303134643634353936353635346333626337306165353465363938643830623264343465613461313063386534373135333833343737333562363663656533396433313463303564626233326362316333396266343930613231373038643335393033373463323663393238646539386439316165323039396263656630666662626138393731636137393536653132326639663466396633353061666266393234383236366634616536313838643133373134383863303030383035653563363464333762376538643033396561653361323030343436613930306532346462633734356630393964356262386266313233653063356230646537316638623234393237306236373430383065363263653234653966323565643837393539343064396231633436306333343365393635643236356333653164656531333334356266373031373265343466646261316266616539303930613764623731653562323933323464303835666561356265623837356232636539633165656365363663393733656133383936353530343037653165626561336561366166343735356137653730643666343962373134653439656437656665626564613038393331333866616561363565313337336362356364363633353339316534616364636634346264326639623437653432316632343765666139323564336266326436353836333434333562366233393634346131333966303164636162363738313039393831336436383266313961363932613735323534343231613363636365366337633734333635333837303766386439316532336565376265643832393631316639343962333930313038663264633964363832623531393661366439396435623866313135346366386562363138626431353465353763353139616461366166626632343730303830626437366261663134376531333733326432366264653838383032666435646138643461346330373239343839313663656263336336313833623362633237326164303766656639333230643430626134653564613461326532316264343262613765643162333263666630636636616366353238336536653239666365623032353538646632666561336435343166343762336139373032303962353564623930613864376630643264633037626265303237366230643563383731653838633333643664663032613132396661313061386632613161663838336233626365303866626530646538323165363233396336653833636334376536646639356335613363636438376131323266393933636233656534363832316263393331316634376363383938353337613139373162623839303966313135343666326430666633373534323335363965386461643361333132326265623135306334643631303630346633653835643861656165336430303763363437383765383763646161336530666464376533393765303666393132346265323134346666386435343835663139633733326338366263363865656636333062363037366530343339363330626234653738396239626661616638333233643936306334653835663834303036333961356662303833346466656230623730663364636337343431623234623632313234353231633937326630343737373430336265366135326261356239393937666130306233653539623138613162396463613265316633373533633033313839613239636136333937393938633439376263336334366464646335643561353435323631623633363134666233646636303339633934656262373734643162313731383261313735656535653231343763636261636331663361373762343435616634396436653964366363333032376135633833313535643966623034613934626264343933323439373564363765396137623930633638303564653832316665623863613238396134643539316433363266343131393461363861303564643630353761343330333861313339663262373031363332616662653631343464363630333832343932373531663734653663383261643665343133623861373239363163643239623063616663663762326365373664396638326235613564313132633837653561366562623130646464386562313066346135663164313735663435663231663562303332646363626265666430656334633164326363376536633166393136333530376436383263636133613964613132626639653162366138633930633039353165333064336633653963643364393961623866643338646263306331386533653036653133306137646437306536623533333765393766623966346136323738613934373930643235353562383962303663313638636164636137306431383832336237316636616439633964343236343735343432323230366261623364363232613537313631303065396431386434633732366137336539363630376264303566656436373136353538653933356634643363616565306139663065356365393938653538303136353561336130646436323433626365613138383633356564353461653832366565303632373236316333333136366562396634613162373963393063663665663737633535323336643838343434383365346166653364653461353662333761373061343064646531633330393837666361326335663536343331316633626164363331326634333735653365313462663164356231613532303062303433623166303261633837376231666138663631373763323763623866626530316338353465626239663862633063393131323663306632643165336630346464613631623634353838303534656236373832353438396133363437386261316239326666393039366135323333363434356264393536633931323930323466653661333232626331663638346130303830623436386566363862333264363639373165626333313831373863663832646632343934326339303735643961656635363763376537663536333837343438653732326561373963383036326531336339306163653031393431663732633732383639393531653536343963623662396638366464346335373137326230636631663839306530383262373734336437616432666231353432346164626461363438633361663336336333366636386432386662396362306163633435373136363835323063383138393463653339306234336234366364366239303630306665643131393163623334383962616432323934393630643736303935363535323538356631633664313732376263646434623834333136623935646661323962313231373864356538356331623731646432306561383337666336303032393035333739336163623765356564393335373163353639366235633564653932656436396466386339366334636537663632653331393037376563363764633363643761646539386236313635363562383930623162353637343034666337366263353261666534366634343530353933373862653932333465356436393736643164613339306135353635653431313832643262316465636533643132353035306330303232663832613763323861373735373362366632363730663132636161616636366263656365313431653833306438653838636439623565356536343436393932646163656162653962393561326538306238376266343138316261643836663165316436383834663966383734356461303837613432363264346264336439333132306439646635383434333861383765363739613939356538353362623066363961623966633031666365663963386137353535376338316339353465653934663334323364306362303863323233323461623034326263616535336339643935613461366364373038366464323135366565343261346638333637303933653565623166653733663564643166313231396366613234643461303438383563633761626434333832623135373335326133653961333730613265653139313837393630636161356437623039663937666362363436363134663134366464363435366564396562613966633338346630363435316563643731623463626538313234323137646165343438656564373431643432646338323735613232636435653532356435616536383533646430653334393134343538353331343831623939356662663564633237336264353664656131313462333432383235306638303737653030333264336330636537613761383166373337366563666465333734616635633965326339633964623339316166386137333933663665343164633839623166393565393831656264633937326364363436626336353065386234356632326262613565306435613534613234643561346166363264643631643838646466346661346364353363333433356262313938346534383637353965643132373534613532633362623530333139393636326337636364313131613730393737653533666530306134306536626234616364346463336666616334323164303865653663323233613134653734346461663030373237623134353738386266376630356666373438633836646332653931643135343538633934636262366633323663336566383866643735373430333534663266326164353735323266313636613638316539373165636536313538363730646638323436633762396165396335343437396139303433303237633466653131613563356261646232653665323539633636343931623338623136393137643534643335353261663966653366666637343462663736373436366231326230336436373136363938393835353935613161303134653337356461393333366436323766363562653962383633373461626438653964306330303030383939636535343930646535326464393033663030653838383933343165333461323865653461343266633633333130656134353062623862633732373533396630636363373331333536633333393036653138643536666330613736633637326439656362646634343633346634313562643762633939363935323838376661656336383164386565323061646238383766646563343561383635633164373966326162346639323766326137346236643733646435616461653766613963323034343765663465376136303832376364383262643430643531373031623533646438643636613536666237636662646361343033346237376466666337623933326633326438663139666238313534396134333865663930396562386536613863313861313265373834333332643833646533373431353562303561333234306339393233306439653062633238366437616166646538666430343961663864346134663364386233666562363765666466323036376563303964386635623135346532353366333230383961646338323462303232366536623938636632356162386636386330373536646363363631613530643033366533663366393265336663636363326661616134396237636364336465636563396638653936363132356636666332313331613833376339373665646361623439336466393037636437346335653366653363323032346462333332363335313465373132396334356638333134383766373730356130633366666665363432326433643934666230643637366234323232363436616463363336393463613830626533326232383665663532626166366363346533323237313961363739636634636665613030363335323836346238353563633636333130653062623838623035316637353537343231323161623263663836366561393633623930383136653238666333383131633566343564613031316531663731626636376331313761643036626138393865323432393461353462323533333639363334373861306235323466316639373563636236373062363266616262313932326532666663323538383330316662333637346630333137383234656438613665666632636437646364356561323238633335643038373030336362373935623965616532646131366462616264313765313330653536393831303939626563613239326465323532303536323266626334653735363536303136316637633461633131636463393131313662613631616462306363396561633364656430376632616430303036363537623130613034316636323930396139333664636338303365343538613332306139653932616133613761376130646132393734376463633735306234373735373739666432646633666536353566343063343533343237353231626536373265306366646364313833333935393465383237373530303132336636376230613932616337383831373435633963373866653635666565623334646435663031333032303639613534313931343865643464653165376632373132356236333863653062363835633464663266343130353532623065303662613033316335623233396534383163346365373032366264303461353632616564383562306638326465363236623633343837346564633137613332373865323665333331363566376339303434663761646162373034633030356364616465383333323765633639666565353936636530396465383234626433326661383664636563383538306438313430396538323362313635323033623235323336316562393066316131393030656437386333353664623530353139363530363962336436336430643765663963393437636265613563383132376561623935373861323863646138366332386538356538353030323363326339366163363834356331343161303035323661366537383165666439633562383662366437346665663061383666656632613065363637373933656430383732393836666535623561333634383038646637343731363130313133333937313863356564366433343334656461643363656438623530613330336333326161396364653961323634376135643966656263313031663532363837316537363164336536306331653165343439383139356163316465356436396266376232343930613434613931653534646466316535393137663362313066326234316262386464363932653035323132366434313339333236643830656431326662336561366630393634653666316562363736326437313639343337353162613638393062633934613838333434623035633832643635663862373661653861363763326434653934353732336636393562623131393766656538323536336662356466363163323631663863313365393034396430306164633836323663656138373838613663343461346337633633626435626332353663333566616231313364343632326534653963343165653836333838336234613637336661316232356537623237306138616535656266373330386264333335346139633130656366646436303862623533346362666635613037353439346231306236643636666333626130343562323439323666323363313231626666636464363634396137383666333662633931363534316136623661386635363134376131646630626366316265383839646164373262663832646362643534373635313536383939643931623938333465643536623431333062643564633066306463313364316231323233323431353035653066306236316536623965306662376662353461336666613630323730393466316337313634616530363934666334303530666362613362626630643438633333343766633165366161373261313861626461333732643538663539393330383537393336643465326139313165353832396138366335623166393737623737646364633265663963343062613133613731656535616439393031333538623039306461343366346237626434373436316234303661633839303637613733623839306264333233333339643335306661306138623862323263373764303866666436613564333035386635626237643031663338303532643631393832613935626138333665306334303762386463363131643364343238656638393539666535353764613436343230666534393431333539366566336233616361313839343437333663646464663363653338643366346137366639613039353338653139376634353162653831666361663861636134633761313035303434636461393832396631653135633562393038646639623531336466323063376330663938343730363533663566373763393961336530383839353036356231343133323834646461613632643532366338373737633166313339626631336164326430633761653937653537313661393836636637366137373937303436656162343961663638333035626463373836373664303231363636623561396165646337613337633633393932363461363031396261373638316531623934343734666665346233666563646135306637326463623138386435646134633030376330653732356462383731623062376536356236396533383433646439396639346633626461316631323633303237346230313937386233626235616464643961613265373764333432316163323339346637336163306463663733656134333233313364376262326433376433323761376633343763633563366565666537396561343636353032333165663732623631323266336266346663643831306137653237346238343061323363313834343362626437643434643261666631626464383464636636363861366331303561386332623638336431616262393137643664343433646563633637306161643537353161646261363335633439316133663862333663653330633365343461303634663463383238366637313638376365383533323930346239323163656438396236613762653730656639326431616635303438663361666233326137343562656539616438663630383739616636613334376339383466313861623762356263353462376465343936623364366539323661326330376331313161663765343735316138623230646232323264313464326437643537373262343265383738343833623565613066373835616538623930636134363566623435373338623239306663366565653939346634343938303138326666633561643732363238363166643330633066346332323863356165373035306164323162646234626132663162383065613464323465323139356664613239626436643532373139386265383539353864336333356534366234396231346464656632613438653932346337623634386235666430386132396466663530333231336164633130626430623363366231623439666537376430356462643437646635663866373361386632313436336539386339353939616632386264326339353265316533656530393738363165633932643466623662343561356630633834393536633166653439643836323563363730346139363861623530386231396533333931353230393432326433393366343135666666653762343834313830613733623266663539373834393765323138326161353663646462363665333437643863643036353132313339373738363862653863353135623339383031346538383938623633636265326339653063393931633066386438366336616133376333643031663638366563633663643063626363616339343434383639653731653662343761383765646434623466653362633738343637366561366665626537333230376539373633666539343566663037613837326333646535623432616130666134656262613737633936326537643035373161623637393136616533303165336135643633376338323964343635653734386434393030353830323936623331653637353939393465386330373430323965316635303332393535303963666433386431633661613466363436616161656266326637326237326234643333626461383134663661623364373835303263623238326636353436333830383738626333386631356537643165616532353134306333656135343136306532663234623466376534376364343735306233636234336239323930323462666135363461363466326534323830393930383731336464323866316436336563343834633262653131336465663231353832383832326661613264643632363436373435613631356636646263356166333630313335616563373161666463303064303438366566346333663664636235633262333263656431393337383638376439373934313466643265386430646163376166336334646637363739306164643064666566313134643537396565306236336538336465626230346464393262623836373535623338633662666633663134303739613465363139343936646666303437353734313038656134623866333937313866356662633966316436346665343539343238376530313236396439633639313739366639616236313733643231376664323162326432393465306336373333393234343939653732373535646332353766366333333961313832346332623635653630613564656330336634323536376234333732643163376135303861616236363434306563383937396538353731653839666537356235303238623739366239386530613264383230623065343262323061626339663036333038393238616635356430656431613365613935386630626266316435616166623065356161366364643765666361666262373732343663376437306234613464646331386663376338626262363538623535313834613832613865323233353730666338363465666331663839313162353839616335353330323832613838646237306161636363313339313039356534373062616530336239653139373337356262343339383034626661306266316239343834316131323839303336343139623739363532646361373333373930333634646566666463656666393339623061303961313830363862323561323338623430393636663637323930646433373862343363633164363631613930363734363437623533333336316436376363306138333762343935343739356533373631386237383166346238376162346230313734346264393663323866356138333531333231393636333663386661626332306436623064643966356534316666373362646232366434626236643463373232326161643838663837643236303538646561373832363230346138356635363835616562333538616461393037323633653539383561306137373363333733306463613261343761383439316266336164666432393539356562653836663166646131313737623835656130616538323338653666626338343861636539386162616237383764353836323139353230666462306633386465373134323764616261616165323062306137313566363535636664346262613365623866316334343236363631313835336236363034643034373834613137373666306362353361643037376462326232386664366535383561376530393761623233343239376538633235306162396466376530643833656631326238336465663938303736366561396238346663313735633566343834643036366633623661343166363834643963303539336465646366633564333333383465376663303931383030316636393166346634633636383261623365366163386263366434396235363837323134363564656538636663666630326162393161356166313231646463643136373733303665333138306431666533623334663131663266356563326336306364316539366635303031646538376139646339393535386239313961663231633534343738643234343463643333353635313337363831383764663034616333666264383562366163646430633535343464313935626132353837343334333566643436313030353539663436636162623233653436306565373462346163633638373037663463363034376439333737326565336431393439323465343931636239353439346332636334356632663937616366393131353135333764363462643631343632353236353265376234386530323138613431303162333832633134393335333531366538396161353166343531343537623734313437303437353534303564323035376163336164396439623565353666396665633739323265376532396430363066623563666566366266373265393733643633356662646233303939393531356165326438326438306637356237356364663639316635643461653232613539336636366632303866323136656363336361376538653765636665366236653939333362333031366237343261363864383231656539663934643061396435383531663462303334646632316335363663326466386230333231343933666338356565663436313637363363386131313162363865373335346161623131316632376166353737663736356161616335393535393930303832393136316663393863306330303935326462663164363266316538313165303638363730616566623935643932353435346636613166373438373033336636303037393432336666623531386164646663383665643933383030633638653564313161353733383065323937373132306430383733623165646537303765393963626339613636633630326635396666656465353163626264386538363063346134643934313533376230363665623231663061336435343439393631373233306439373161356338336466623833373364373865376637656333393066353930393738343636386635623166343265323131653261376366626330306134316637363336623362373664306164303031646365323133656263396531646337663335313962653233663266616233346431623031636538663162383738383232633762633230363765653436613134306365653234333939336164366538366162356465393763633862613834316131316531663161663337636631336336343532373865633738623661663864653832346636303237393464623033393262313265356264626665363663643135663934653266663335356536643931333961666134613133373064623563636135303037663038613231636266346364343864326639313632366465316365363331353664396539343761383865313535366430633031626638313131666134636166343734393337633531353133393266333535626330626232306637636630623634326363393138323330313033373833386265343465306165373131386162333465303833366234656538383135346632343562396432623462323966626130313830643961303537373566363866643738653864613661643138303361303439613262363034343839316165373536373233373531333463653666353865616264653534333330656264396238373532653739613235303162303836633263353535323765366135353861633636383961613165356265623966353162303137663839663832346234386532643932646636643538396266656536353661353863373562376537353137383638366435666562636437626565343962636363363839333765373563343739633733393565306138616532333034666439316561383138333430363564663635666563663162306566363364303834363635313334613031666264626439643665626434333530306164393866653036353935616665333363333134653666623837353363363139333632613463663566316261373832383065316166643737643632636533643266633361383764306132623631613935343438363632373939653834663264303738393535383933313464653637623366646232313665363166333534356234363661623931366565303638656336643736333561303439343462323965376435353934366630393031633665363738656361656437386663656566663531336233666362623932373138613765383266323939353533313639383136366531316333306630393737396338323061303132366663363737303930323038323962643533663764653031343665313663616464626431323639643132666631613766346438613965353762316533326461613236313637653861336638663536633837656433313731353334336237646435623838663266636232376430346639326336346137373332623930313365646662653034616439343861363232316366373838643639313637333666303062343039613135636666613034656164383265623661633937343234373531306533363037653839656237633731373835356534316237633765333034313132656233373836313235376336636462383133356332346635363232373162316432663562323839376236383933663534306362353833343532633761333332636166313438646430656565626666336265646565313461363330373535356336303232393933393663633963613931346161626239326337643939663135363961353135336133383362383834396536616336653636663864653663373163316662666439383235383136626232656531656434383237616163333262653032346465653237653938643037613733303531666339386365363333316236326338383033353262653038643164316430363136393865386635636436366530626339393564666637383665383538353536373232393336646235613033613839363031376266383161646261353161663330613338323966373735623035653537383863626138653836663163646233653163363038643933306635353333386132393531333931333336333336646133373833396331326462646562613365653339373534626364373830616438623139643939393932303162306234613533646665346161633766336535656161633565353638633635646436353139363665386630326565343338356135393266623734353433396433616464343238636335353865353833633332393437643561343264316162313630656632336265656663323031383062306233336135386335363766626436663035313966623633393431666364646164376362653331373063303839613065386235393638643162633136343732353266393961333739666538623632363631393938636432643766643137313134396464356266353764313863656333353762366161396331636366623530303039373434643264646564323237373738363363656237393630306634653063353062363936613165363232336138623863313163643238303865386462663732393435323030623561393639623431383435356464643432356535356134383633373538373935303761663531656466306661386236393332343531363036306331306131393539626562343431643231663231336366363939313835313431326130393365663433636162636530383632333432653162363038326266366239383831336435323765626465383130376430306562353036616362663865333530396234363061626263323061373433323430393363353734373031393138333462396631653832316438373336323662326366313637643136373062393633306361303034616364653461636465633965383539313835343663386439643834383566623066376464303531633664633131376534643633333363306265373262326262373262653434623634393065393836343730396662313532643737366262393534323334303536663239363731376165393464383366336430623330646137613934396332616535626566303435613734343436646663633837323064633830653564646136626139633263336565393732383030636631393134366634336438656466626436643533656535346336373633663531313936303365646364393464626633306332363965323437343036383634366163366232353938653236333464386334613364623435346431313533636130346339643531363239366636323130633634333764366430613234363862663735626338373135313364313335633564396562616637313165306335346265383366646166633633663963326131616661623063626537363632336464346430323434363934643466626432336464343833386132313734366466343664363461373232626533356235343966646336663162313132303737396531656565376662373636376165343563346133663235393264633534363562363831363032383262663330313737626139646562646437336532626233313633666532343163323333373536643735343238353761623662333134386261663337343836373532373462316133653935376666643331363764363335383664306234616261306434333561646239636238323430313266616539656664623064343830343232373863363462613864373363316533613163613131623263383438613032666433326661326539326536653939616434396437613237663865653332623931303038316436626664643635383835663236653866616535383963663432656133393133326166616361333663643231613964323536353232663662616463363239373137623138653336326532343865333532353065616630353230383463376466346662613366333539353432336130326161616530353335326131663530636261333536393739383130313262323833323837336136623137363765613964623839626538363861666561376232646365383033383062316335316237383132306666386439376666643635623465363738346263613366646365616136313630303236633430666565333334333235333738363930623632333231383263313030373238643137363162353334336436633164616335633161653135313565386632346336613839656165636164623262656138323134323263306638613630303532383664646462346334363630633262373737323961613833633232316633633531303438613138373834363430336535353235653631303532376465316261323837323866643936383761363465326631643836636165623530653166313463376465363139386265313830316234356430316361366466623638613864303130636438366365633639616263393933303136326132353762343966343036626231366530623063346630623937383831343232636534313233613039623266666334643235663362386339343232346561663134373164313632343539643135363264306338333539643439356339313230383661663466386331383334346366646663313030353863613666616230633630643934353436363037333335633039623432333238653462316461363331363737363662323432333762353639313136666438623962343766356563303035343061383165313234316233366139306562333336333434396131346535663561373036653865363637363032323033393662353132353663376135376265323438393731633037633466353065626462346430643266313236383734663732353038636664366630316233333439613265633830346638346266316366323964613139326234613432633563313964383562336164356565643263626365323964323739303237623961323630346231356432393262303366323365366434363666313037623033323938326638373866623330626136626337663233353064313664343230646561656339306161343038353535313838353531363834363035333235613963636336373839633432353662643534623062393133306339616666343136373238326462666161396134353235353839623063316439623431613933303735646633313664633637376237303134393830336532316333363961343062303366333866336436333365636337633037393837626162643064343363306337333264393163313365616263366339383336633263353534333631656530393935343230303637393265306133326536636263613633613633373936333939313337366634353763646133366132666436663339613634663937653835643466313333663430646434656237303139393831343733386131346362343836653435376664383630646531376538653333303963336536333465643234623964646630353538366166396536373762666265306161353338633933656461323330353339313639656237316163373565333839626438303333626530383232306438643134383535376166303566373265663131303464613336303939373563366432613365623532396134363430653139306236386135613464346530373735333563646439643431303137653737633430323530633934666366616434303566333036653935316135356636393564393636373638643934303833353534623537333835616163613938656465643163313430613566343632353565303265353435306330363633626263663633623066333530613230646563326166316665393065623831386437623330633534383530326231356138323331343239343831663035363464646666313838613962626136636362663039663235376362323139613737383438313164623836363732376338373563323737616162626164356533663830613365303666376362336330633530376563626538663765326663306130373365326531356234633764326537363537616666396565363736663134326332336432393838663035346465663037313734653638306132663633353337336234306166613133373637666231333163653839383365303765663837623831373833336233616465663737313866343466356138346538373330373766313934383564623937363665656362363936373964383865323661383732613034643632333064346434346566393639316432386662313836366466343762353237353463643430353439613361636534333334343864633531626532383835353064343431633065626233336433653437393166666435386230343963646130666333316533376638376238633434396464313431313336366362666437393939623938643833653533643135656439666664666330393734336461373963643334653563613530373165643630646534613030366637336165373432623439333634663565313635346165303132633465373063366133663836393061616234383965363639623462623430376663616539373865366636396161663361663566326235636232636234356239353566386664653162316263633164656339346630313635656438323966306234353166646233333636346638613163316431393661626430623563346430306634376365373365396562646637346162666233356265396638343264313433623733636633303262303939653832393634656337366431346534633632383364396132633263663336316130633030346631373265353231643562643461656534646334373563363661323030333937343639396333653538333061376238643137303261623439343631643231313936616533323030326163356163356363663037656539366364646230656335346439633763326639616462366666343134353161396261373731383635326265656431323832353463633234386265343832303236656666336535643739623131363366356439623132303764353439353937353863313633616631316331353731616132303866376239623833306133356534613830393361633138643064653039366638363333353130333561333362393832303532376463323564306131373865363966613239306136616337393731643937313237626333653966306132636536663134336331643662646133613164633464316161663730393038663635326333333763343561393238343031303365666337386661346134373139393037373632326433306462323234383266336635313765663935636330633032306433363139386136386138633335313331646465373130643234653734363938373036323363633535356635336462626132343531303264663563616335626464393139646234313239366331366432313232343330626339303339383736306330316163656162323762333463333330383638613734353134353366346633383034313731636439313036636339376339346330313838393662303766613233356631323532373737633065366239316638366466626536343762656239616237666665643930306238366261616264663764396263663031663238353533666133613938383535666438356234616133613432366565366636366561316636353837333232356162366461323737303336366466373038663065313765623034366132663464613565613364396264356137623363356661633864383639373832316362613831306135303832373031633131633464313139343734663465343835313839646462656435663032623966353162373536373931616461306164666465393332666565346336316630313333353736333964323765623665653031623864363534303530363138623062326135633164653761373162356361663839366433323162326463636461366337633330326235633034646139316531353230636232343563616331353036356362666266323833653536633430666636666636376637333230343138656362333836306635336262343263623732646533633161333762396134343961313736653136363730346337333435663334636431306433623832323262336537636435656466306362313663333435333264346538373534323963313762353931393964306165333831326431323930323035343034653230373437613936616361616135336135373066313337656635303537383261666537386238326132663861373538633433623537333037303461336634613862646435643737626639303231346337646230396565653564653963396438343733313765323739336335363165383166633336336336643232343139396562396336353535353165353762663636353762356333633265623264383466333066666261623435633331376532316565613163303230386466313866373835626165363462396534623431646138306537313562633937343265343031356236373165656535346532386234303834623130303666323433663861666638616165316165303865663765663365656366396334663663316262326532383634383263666237383639323831396134623739643139303462396437343033663933336632356464366638653431363266636137353761306462396134613163373032646531396263623861373265383431393836376336303530646632646533636430663962326462316336303231313164656462373438383363396262333664313662373661653165393730316632653334623734616531336632616439643139373361323166336139316434343030353631363164373730383132663930353937386634316538623735376230633363366635393233323965306639623837393963366238396535643630653131316466303937333130383939613766396165663935656434623938363932636166363230363439663065366637626333356363633539353236303532653861393930303161363762383139663865393336313430366564386662323536633936643431626563353263393964366463366235323465313861343537316562643737333334616461323431323762653262376636306463353663313930303064326633616335363136393635316662326264626439356535636362313165343930343663616534653061616139316236663263316634646133613965346233363937633137646639386361613862346634333137356232663539663437623762336662316339643064353166356161343062333533386233346336396462303132376465623732636630393662386461663231643563666334366338383238643666396263326435323338376464653761336465623833396537383833313134323833653339386463366430666134333533303164633732633537373535376261373662666362623035353836623539373663393364343961383236336563353330373538373965346461353634633134646263373662393636343935333865393465313330356637633861636365343834393433353934393232663366343163623838346231396365333734366632383035376438646663323165313731663038336539383935383864386264386438386535353665626131623239353166386636353831623962343534613733383130303233386663336132336263663163373939313532373162363637613139343863353737333463643865666164363432363337316238306138386635346561623839393239386237313664653839386362313066316130363862643437636664303235306162303032353239646231373330303939346536633533326230653032663238623235373135323165626338353262313332323834363064336132393832646135346436356337636163306164316536363033313936336432333866356563306365653233636135666335323034333466626234633835323439336435666638313331356338383066393731633161393539396561616636356562356336306639356439353866336433326463303266373064353833373863666165656233333137653337633739313865376263353561386234643861663638613636376165346664623861623132636432396265363931663763383462313162373636616164616361396239303134316666323262386333373365316165383031653063353362353264626261323135643538613936656439396361353335316139666463653565633235656439356663383533396162353431313939373736393039616366643931643666333330626661616439356137386163343236366239653663623136653062396434383733626564396361326630313133396632623764363763636664366666316464376466313038356239313234373031356132666337623436653664303032393163303037633535633064636665333931623866393035663061623266393166633339303736643463353239633339666261363137326630636533313634326238343338366634656562376333396534613539626339303863633334366636386532393263393663353437366139616234373066373732363333363266396231316264633433626334623530316337393765666263646433373335316130616230316132393832366665346239653233623864393862316631323337366163313738336433643832343539383132393637646432383534333836393835313164376334373039316431333435393539363061333462613664663731303561656364656335366266373831663838346665653636303966653364623235346634313964303236363362383036633462663330613939643834633866633836306332353035643831333762356161623564363233313331646537613635343762313364623132323930343362326363616437616335353539376361386631343435373963323034623164323839366433663939303630633465363862393930613630643932653536353662353764393536346162653065376635346665323564643266333837323263356535653134636661633433643436353332313136303630346463356264386537366362326632303563646266636638356262323934363035373239363639373431343031353033366331376264313935666663366662363536346263346234663832306332373731376666356265396265633966613062313261643338326364343535383333343537636434393361323465656137623231653930636362393432326263643237623333313434313537666364383037363030343161626137626561383730386234366434663033623935663134333331336237356262376430323937376139623538616465623139623862643634643261336431623464613234616364653239346663646665633963363737663730616661363264383033323035663234383832383362353339393033303934336537656136656337303433373939333739393933616337343938363164346432373836623365653536306262346165663535393461353862336661643235336361346235646661643631646632636364353438323032343065383935613730623330303237383933306139383435343930373839623037386132353966363236366535373163623563383861336461313236366161653530383237646563656666303562396530613763376438666230373063633734643732626364616534636465303962313837666234633530613366663261643163316138323965346137376330343961616165643964376564316630393136316638653166313932666666663461343164393562363866363733386631313665663036373834333239393037663566626537613339356166323432653165636233326638613361663236386562313166613532303930663437363230353037346132363062363864343330396565313732323434656563346232653835653433393831666433643937336130363531376330363333363335353862316665306265343439346336633234373332356535313562323738613132313866326333393264396465636663363037323836656634363137613465373432383631666535323661633438333465616132346530363734663133343038326339386663336230623663336230306536663162376132386165343736633763383535303466386464613564393337636639323166353732653565363236376465383231383336643263353362653461313037616537376263353235346334366163626162306166636631343932313732396266633634613734663838313463616563656261643635623235373763643464316364333464393938666661316339346362363031396363373138633865616237656262663930623962393763666339363136616466653733306266643961633762323130613231343563633364306438613434343639303762316265306232323064373261666361333766633935343663646532306535363236396464373234633932366537323863383431636463383766653462653235383137386433333532393565393462313462353062353438656262613261653336333261366530303432626332313330313466633235383538346263643566616333333736303730623034386665306263383032396532326536373562323837376234376162646530623061333136626434373233643561616165373630653834303231623362636132623166626136656339336563343461353337663766636539366161656266633538666561333163363334353734373832643561363832353037656539343838333563616230396166323633633939613763323235326533306535636533653132626236323461656563653863643130346237656134616665343432663565383062383065623132366564626663613631623033323664313033313233356136356362616434613964666334623337623634323034343466623761623238316138663866363665333234333839663139363964313738653339613135633464393763313165653239646437613639303366626264633233646365616530333762633831663139666438613336386137383138643234383961636233383364363034616533613766393034333135663463313934303435623831396534613932396466336363393265373261383737313138323636653230383035653737623739326663616433353839363539643934666664343765633662303161643632316234356366336435333737386536636337366365306630366363633463633734373634366532643236363465616433343834633430623239343537663138653234306332626236326436333837343036373066613963396639646233336335346638336530366638376233623138383435613936303562376161663730343066356631326565663563663562356339653033646263666236656664343330626139396239313366383137313330646639326162373133356264313035626663336662393331666135383666653038326332306436653561346330396237376433333465333762336265363633333837333632653263326234353030656636633963326365336234343932306438643836353630626666663433643439623361386530383239666339363731623335363966633965383337623132366162643636666665643438636162633066653933663335383830663132363437316463656332623938336562626334323463656134663330626135646633336237313930633739633131623535333337313861386135326334633262653663373530326638353162656137373362356465613235663739653032646231343038643237333531346136613934613531383963363031346366393166336262646236313966313934653538313432646130376535643239373035653037616134376331333534353832656137616132393437393237383163313333383732643934396336373137323536393564393762353665386535386634363236383761643966373964303264343238643765393562313135636332616234396561323266623830376237306633343266383338306530643561633433663836353234393532643535313162306663386565366339343334353636333163336536326330633135636436613134366530636163653165336533396164636464633131613833326137663238613563656264323066616135316563666633363930323634383939353237373766373936656235626366303863613165353834346166343033303532623539623364393563333763613136353638663436353765363565323039336565373036376239646138303134623565383366633238313837633236663738616134626666636538356563306261643266383033353733386164633538353665313333356134633863613061333133353032636366653637343031383466343037656231313130636137386262366230343937653035373864306139653462353238306130343736383635613463373932613165313562636561393739323037366335383038333066353134616338663730306634666666643465393032623933356362623566643837323931633833333230366634323733366433643963316435383737323661643639363765313234653334343264396661373166323739653032626437633336353134643536376530383963663231626233366163636130333235313064656330383637376461346334386536366466333136343561613730613937393131383835353465383332383133633035326164623561653965343132333037666162623537373634613637623036346330363963643830323237313234643339386335326330373537366630313039313062323062646630643934336236653365643334393161666131616662303836353730616632366261663961313030636563626330663631626236386465336437333636363938383033633231396264653938356637666565353964323634383566323533343338363736396535613132623935366337353164653030373334336333333734643130396236663237376237643934386461633933643230353331653033353537356237343739306564306161626564643562396537626630323139646437653137383930663230346636346232343966616436643265663934333731666137653833393362353262323532663337346534393034306137313464353033386532393362666435393765393762623739653133366335363665333466316239366535366665633961306130353135623135616261613366363266313361386433633562656463326262356434333634653831393230663666623165353139323932313531653230323363613939303731313166343566343463646537326465373033323933623935653633376435376638626336336236333666663830303730633932343430313730633735343334323538646566626366366632353463393032373535653765336361333562363062306131666661653364633638393732363365313765636164663162666139653463343564323333646161343762663934613939666362386430323066393833623132613766636530396336316366373363306665373964393632623036613836643162646265326638333535643334633833356135663161396533373035316336613262323766643330316236336635663637313962313536613439393434363136323838646266353135313563666536303832316439313439306465623738643231663437313461333962373266376637323035386365333035323336316631306535306263396665323866396266383136373163653936633966363230323366626336633335613730363731333134363961333838326663336361313363373339616465366230633332613639323532643161613230386339306339373936303265313661373266343465633538363238306134346335313138386434633733656136313336666464646535623465616430646566613663316462613862386231633762616436636662623964623339393838613330646462396432336231343361386339333039663666636162613231626264366465393734373464353139386539393535326161643438636264633364646637353430626438353665613364363161353463643466396362353863363661336234623536343635323833333334343362396131313561323939333836636133373636336337306636666230623331373237313233356334316632393861326634613134623163643661636236303439376166303032343130633433666439383334313064646636663734646434633261336431386430393235326263396465633630386166643837613662653363303534393831383832366563646536636561626536346439613237613836356362336236613334373431383839323962633932366661636135646132313363613863313932666366363831623432323530366161366562613764666365393935316262353530623832386331653732306332396436366364306265373039383236393164626263303463323063636165623938666461343266326636366232376162656161623065333163646163333033326233666132366231613536663733663039643761656337353365316663326165306635396234393866356633376437313531386439646131616133363434336162663162393964313861333637663064623365356161656462316361313136326433313539383033646639663734326634373463333537623932663262626266353465313136343439383562316330626565313832303038373463323434316462633633373534643363656534326461316639663464643331643465373537656236366566323736383336313665663032653232376432616532386235386233306533316261663435363739353866383833633864663739316466366234306665396633303464636131643532383030386332623362663332653965306630393135393336396435376362303964643330643739663063653831313062323066373733366462393336393134313863343265333733326664323834633032366137646461356137346436376433363532363163383235643962343264343438383261383132646439386365636431653536376164343263653939613761353437646130343463353262383366653066303164323733363264633866336361396639643165346464323431303761396566363737373063326662393437623939653336333030383162306634313665326430356664663762323139643663373336643639393539326333653262366166646630313465386431626537383536646233323639393636366662616237613331666331323539313036393062656632646465386562633439336132643361646138636263386132353132323461613632383161353932666531383865666564656236363439303035643532393262393764343966323537356131323566646461333365386262333232376434386166663830336133666634303637613763393835356630383032383633373636333839663634656230323235353164663434316163323963363030666338386435626263656630383366386463323366663665333461386362653132623930343663373462613937613266383232613632366164336536396531653435383162306534623633336433313937616166346135326565356238613535626333343030373038346135366565356262333637326438356465373335303562316636616666353063643238663137313533353032363334313265656461303037383531383563326337373833323132633039666233646138303234656336336661656130373335363064633561363538633566633830383136366536333761383437643535313232326139333333313032623061336237643462383734343864363239393438396330653533303234313830366463393839313961363935646336363633616335396364626531633562633161316465623137366133363839363535373763646433636233373963663230303937663131386664623661333231343237303730643665646362636238366663376536303338396530383730366666393662346436383961613666356232363330636664366335663737323533666563623361366261396633653162343637666162366365376635616164643363333235653639653636663436616139366164356462653864636463616130616136323537626430363665663865386263396462653565386433313065633632643637363865336666313461366234326362623236363730303065643365336563353965633061343263646531383730396166383763303635323562313165383862333537636563626466383863313065306561626236303162373737386565313037636464636433656365613866306631396263353033326432363232373566656333633739346439343766376366386261383562663964353233313865656262616138356331386238373933616665366366613632333539623435386462396566663632316532386162313462373234646134343665393930646138613430643361396564306633353530386661336163633632313530313136643361383436626537336633316639633032343366356430356537316361666538376233663430326539336565383537323238353765336532613062636331666638383731306534353133663832343234393431383139383839613061313934383036383564626337323632356532373564303465663035666437616663666239326365666461353535653038656366303935623062323766353132643238613037646237613965663462623164653636353532303036666133613963383566653539313231663562636365656665633461623530636339346435343833346434383665623339356561643230333633393235333531376631636435363532643632653265356633323964626665363265653831316339626339646331663166343935656664376362626636373732343661623539633935663538646464666166313165303830626336363465643734663762383731373938663932343032366665663965343434313432316166353666346564653338386237316238356132656561386665373561326634393339636165333035306230316137336633613737666238396530303830363665313062663339316336653832373336333631666166393962306564353233656361393265313863626431656535373439636161376662626137396532363632376464343237353863363739666230643262613464666232353733356135323137616361626239613464366261303439623739656531626262613465663334633637373334346539346262653139303731343561323664666335383834386564653834396332616666626139396165646438306632383062393639363734633230383639366131623631333738646137663264396564396637363363363965626139373436323636313330303733653930623238653739333964613932616462666438333937306166363463666630663035623762316665393537363137636638353631333632623164303166666661646339303963306434653636333566333339383939396439623262306432656432653765313032373832346361356133376666373762313039353532313934656165353430656466316632366634623230626235663831653362313632653332383066363936366632383935323838326163366132666461613136626335353534636333313833343062306430383630303637616164353832656638616661626439396333313339663966353739313264633036623665613638643132333763326431626461333535643435366230303635313436396366663931346637346233613736356532653332613137616338343730646235313234353161313432663631373832623134303563326464366435663637663539313233356230393735613634623365656166623032646462393165633135383530653130616231306332363463383639373230386164663835313739363763313761363134343437623665366461356364333963376564306561376338326538363363613164646238303362366339653366623764653331643661616631396131663035366364643864356636643931363764626639663037316339356434366335663137363266393037666638313361653164616638303438663235333039303563323837656564363536363537623733366338623965326535313037316464616336313839643864623062656337653332626365633261343135323365656263653465316162633464643562613264633538663635376534633937346166323933633436366265633531326165316631373534373166666330663266343836623137633337356338633966313164663231303630613035316631363139353138306663303366646134623065396239616433333232313039663461636161343361313064353966336532336633643935626462653038383732323066353333316439363632343664303966376438626232396363346264316136393437303265363732373031643636363239636562663539393632303039316534636461613531343761336134386365333364636666383033373033393064373561613337376238333636353336666133396162303261396561386462616132316562333265323336346265316662666463643033353165316331643462633862336464643436353763363363373038343132393430346330393763633665633362646466383533333030623134386531343334336462643534643433643734636432666233643833373437653963633835373263396233346531623361303531366164303633396436343866396133303236623035666336316135376334653434343332353261383661663762643435386662323937623730373961306231313064663539316635306661396233323662663939623830646231363431663562333162623563653665663735376435386463666362613637346664633266633630333536343562343133663932653834666138623162313232623135616134333536353335396166336333303933383965633064393661393838316663366439363730643661366236373132383334323566663034306238333132613937616364336639306261356533663138336161356264333966653866663561643363346337383532383131353735663832363965343339633764653833643639353738633461353263363635323037363937333762633233343662393736313138303864306335616366636631646535393136626366336335396134653361633965326639303033326331363265623836303230383237386562616263313638326563356632626661633836616232663637313937333231376265346434616237613162653930353164623761356438343939666634666131643238646230346432616335353965393134643330616661616363333466323536643034373530373262356438373061636561316235393531396138656263633465616634316139316132613563343438353335343164613738643661396666363066386161376262663531633664316630326533653930343437353931316633396465663438386234663338626637643131376239353563373866646336343830396131653932616430333832333739633333363539363632616237383735393837623765663264643534376132623838633465386563366365633165366339303538646239393462393932333931386232353266346432616263323437663630626533346137636636386663663932613439643437303663316637333032313330653036373239303263393164313664316635653165366632393933646231396631313537363135636463653962663961343962343633373332626364633739653436323831383765646538373737313261636233323432613138353734353033636234363733303432653935303664366261376266663736343039366430396466633837643531366264363539653861663965326563613861353939653265636539373234623737323238616463396533333265383038626637303465356134386330326536656333323033303462646131343962343338333134613032633436333138366231383335353536653139376433303063333564343230353561633865323739626264386564626338353664666131666334653631313464653633396230613533366135336631316439626261666633616230343935373664613932653336643461333134663266386136356538366438323765393138663533326336343235643665633139393561396463636634373165323238383333313262396130613065393739656330386638373665653933343338653234386532663632396335373931303932373830643139663138623733626461626132653063353230313238363230316435363735646166306537653765383161376538653036666465326662323334366265613939663265346566336165383331343934303239646465393335323433383533646631306463653035306163323139316165663139653437333936663036343965303864393061316434323462393066633165646566393333666365613762333638346566626635646138346538376137633465376339333133623538346539393637616663613139613831343563333531343365323236346237353065613734646631626136363636326462666266623537303437303665343536663662326232363038326266333535343131306661323732396562613230383233643630613062336432353465323138376238343465353963643737333838313032366331616434646331656262373533363635633431383966336338623665313535623233636430626634373465613130613966313933306265363231636535616365373261643838636335306233313666303162333135663632343335393063643633613939656536396465656236303064613335336665313366343061643332336138613630636362623535343465306166336537353037613937333237653039396231323063613331303432316331626136333938656562313731643666626661666234313666663639376361643939613663373366663466373032653638316237316633343231663939633336333631313461643338373864303631306265353830313362323862633061326238363164386365616537653961333230326330303964343630613633623966306664386562353136363734326566656631623835386165373832633762316137343838613362303031626235326464356439656461666635613962616265663235323563666239353033616630376132663831616433303537643837373364386630303364663037306430346236383765366162363763356237666635393034616662346632356235636562623431316136613761306365393630613661383165393838376564346235626634346263636335643038633231396666326464313038353735666332323233623436656265336163356161313962343163616664646138346235643033373033396336303639313538353136343139636637633163373830333861396261336133373762326432373461353162643961363839323939613532643637316534346535376537383437353735323561306361326435613035663465373939653066313237373237303439393431333461613037326165336532373032633435376462616435383332306333353262303862353930626630626665363063353338633766386138393831363337616436623435383664303064356261323936303465343136633563353562653230303636393931356638343035616164333633366264663931353832613563383330313135366566323230653865366336666432313039383834333839666134613931353233613062306132356664636432346364363364663863656166363961653263643632613766393733346566326330386332306535663231633237303331326565336462353661636363376532613864383863353564643336643464326265323939613663626135303530346436346463373632303861396561323536303739653233336634663565303766303930363465613763363335626666396538336234653530373132613838393430633231633934626464363264336261626230633739373434343961636137623532303762343065616636626562306166643464646632373464333663623638323639383939633264643639326334383032303138656138366433626639393766343134346230356435383462303261633861386663313263663431653234303539356233363238316364626461373936666265383331313863393535633631303237373633663338383132333830653632653535396161323534323836393361626163396331656337376136376466346664643036336533656430353036666366366139313564666333393062326162363439346364386564363334623763373335323530633634383732333031383561316164356231373036386661666433623166383539343264626666333230636431643262376134653637633737616561303965623230626532313333353965303261326434643861326161366262643637336263323066356665616263366233626533653737383631383533393361383530346437643063646435343563633863316361616137623339373633656638363737616165376265363365323436353337613636303438633961616338326631643036346335633837646436326436373034393135373337323061643832653963383536343139396439633163616366376235383936323561336130313962393935613564333131663135363164386666363231626366343730383461323638383764666136373964643062323533363461623932653963343034346637383231323865383837306466653639346364306332653038643932396366623330326561666334373834623931313763653235353263613432653838643536366632326465373035336534376137653235356235663361313239643034616661366331356335626334343437616131353536366535373365363562346162636138323062303837373961333532326139653832613231356436373639393230353935373136643537656431626663343736333037343461663162386137336430336463366137333136386364613430646335396137626334623637376666626233303037663033373332646236306139363335346666316664333938316432323963656439616461643564316437313630623934636535653736386332663439383963373333313230636233363839393465373361393963353632613661386337393436316331383833643263653633616139643865326631383464623161363261323631323734643637383366376235383364656437363532396562346336303935326539313662303732363433323064303631613038386539643466363238613633663236346237646631646466366266633431666232353161633336633236343538663231646239313835616130653639363932346162313765663737363961393166653837646366636632653662306535353433386165633961313136393461346161613761306430626562323435643230393633346133656537306636313534633139356538616534363133303364656530316533363431346466313634343532653639626136613265333130316366653434343837666631353835383533356133326166666637306138646239396532636636653363656634336137376236623632373432633333643732613063373434393731663035656538383462643763373531616538323265366364323164636230326139336137326537643163373865363263653065356633386266383236646333353264313838393638383130363763643831343935356362653437626462306331643664663065613331376533613935633535393563353631333839346365663663353934636232323464663439326631373066316530326534313134323864646331386266386436646235353736373838616139393633643063616565613239373661383235356363613535383162306465343435613034353965373862663331386133373737303161343036326164363435663438383863663638346335666135653335613436393335643862646166653732626164313436663161346665653137386163353638656362656332363638383435346537326433303333393664613537393736653939393064666533303663636366376536666339663039613331313464363438623961623136666133633263313431623862343863663638323863346533626264373239303833306539663632663435643530646162633566316633643037313561656230633739386639353465326530613731623265633839666364343131366138623136343837616135333364653061333839653261313266626162643032303166663232366338326435663735613538383838306535623164376431383435316432373434653730326633346332393835323965643764333865333637356333396366656164653732623934376362623639303765626465366562306534333433663463633033366563646264383132663734643332613637393838613333646461643863386261646662386130333833326633636333623731636265376534346561666235363939626664613833386638363135353936306163653631373031383264623233343163613932343065623464376636313937613462346165643764396265343763616338383538343233613036636434363137303265396565313362363038313135653432316664373836333031626262353561613663366330663066373664633737653630303034613362326330626239353639336563393465636362326661663065616130323533343163323366383963633063626164633334356562386630666330613833633936366537663433383333636565333866366563306231636439363730336461343261356437336439613838373137396332343438653531663335376134356338613166353837303735323866393664323361346331623737653936613365623138336561396638386265656331343232623865633230656237393333366266656262623433666361343733396631333139626263326235383833353534636430383437653662346635653132346234633331363566386664616664336130663439313561343931613638666463303130346235343363666632313263633730383038616234303032623036376336613337316561383234656365636363306634313534656331323637363862656435333939343831343630306430666136366462343138326362346131326263643934373334373133636638333235333030656134393666343561366235663165363366636564366234663465343436323337386463393237373734633434666534643537666264613166383831366639356231663830623066343537386236333432323964376666613961636136363736333164636134333261363236373832353234303365353165643038336331303466623630336539666331353062663964383863333564633235646664383132333964386133623932333539353637643666323138636230623939623536663764643638383666653164343663643731623534316630386130383865626232303231306361353633653537323934356334326238303531663633373063613534366235323636326336643063336463303732646561353864386331373737656466306230386631356666396339333264346530323135363431306261313133363837613733313633353861306265643166653266613235613766346537396531333865653563616138376439356235303039386361626266633036633832363731316664653638313131383565316333306235363866383832383234346662306262316665343963386633376365323432306531616231393236393830656534623837306439653665656436326163643061323436626161386365646366386366623937366262386235356434623634356539663635303935613864336362626337303938653838333339656461333732643838666532623034663034656339653839663264326164666133303630363136616538303632313338343835636330333164343530623661616139343161663438393131333064653630366338326334626564353031613462636430616365653939313465626633313363356234373532646438626630363331303330373365313065616239306439393161393465303333623730303533353337353436306364323565346337323339316232373531303666616430333461383565623630323363393963393065363333353061623738636132366231373134373632376137656561303230316532643639613330626463303637636663383734353361653530653230386133653430623061653038656630313837383735633034663037313330643136646234393634383130303237383563383534396530653264616532303733636139396463313834633466353939663339656362643733316337613830343934353139386530363761376362386235353431616161343262633662303362613135666232653136663733383338326238366539633336643839613762333262323963633435343238303361653264343435666564336630346630353634663039636435396231363835323264346261653339393764323333356632356362313537313534393536366665333133636565313064663630363937393462363561356238366534356530666230653963633536383530313239643037643033396564313634306363656239373432636534313861643735333861653933303466613432633066323962386538646135626234373138343136373666663830643038303633646234316632303035343335356633363339326265613034336565656333613434303662613538656637396565646139623836643161666539666431313433393365653834633836666239303238316636373633366534303464326431666363643332633961623039363735636637393365646463323334393463336334353162646631303865336134356634376361623332363634373063323030313534646438613833616665303233323131613662366434323039616466623663323531383934333133636264663738663230306336626364616533313032646562623438643764366139353137336335393064376537313834373333666163623735373834653732366535383136383662343064383735363433373663663833306637643663623064653432336235383035393064643132363865336337366465626266653737356138356361386237623135343336306232646563326165316338326564343865353539633638333338356234396164643038653933333339353865306463633966393231373432313264373235633466386336633733363438666338303765643563353232663131386532376564393436313462346262373366393332356534333333383439323261366232666435373034303462613130303439663338316432333033303237396566303161373034623564633938646331653963636538313230666165623036343261333265363866336534333536323661376134396466386232363931633361303161353562666463643262653665313932623861393862656663643538353637326262393661373866626139376362333033323365373362663731616333643666356663633136346265636663663266336332326535333466373062653930343335633534653631323835653464326264303462333338323039613461306231386637376338316332356639323930666166373861336362666165333231336333393761303161393965326333333838616263346261363037306538646362626236323265336265613762636463346531363666626137326438643736636231396135623932336432393435626233313766636263666132666331346234656336316339373238666563333332626636386539666463393331616631306637333064333161666161626335393039356530376532393261643361633765636636636362653233393061363738643265613730626531386139383430396136366436663537363439346463336630626162326566663536636231336139613137323064383232666439613237323335643864323563363533616432343863623337396437653633643032306661333535656131613232386537663362336365616134343534383630653438303435323637343561326535636664353130376430623766623766333139383234656161346435626535633834643035343732666162613839643835616331386630383738396266613633613262363961666333386461303164303965643435323365353434633462383830386630386236333931633930316363386435336436363436303666346335653364316439623062383635633461386131343332306435366230613238663033616364353738353536356336666235343231363934616637653065653637616638376532323962343964353633373363626137323761623537316666616336363062346133663832356566363565323231346162363164623031386536383536626166636633353865633139616433333734643233326330636165643530663939396461333030353939313365303530363136643236396535346663613732353831633266346634653234633434623039333237343263363631303137633134363466623064643966323739353532613964653562646332343063393330653266653237393736323032326238643461663030633137323232663864633032616437626362663738366266356137323164343637373736373934623231646332303531363764323037653635656432633239663261666531643236616332323063663439323533333264306661613839396133626635323861376334383666633836613034373038303633666466343363613436393334346339356166326463313165323866323437373335376361353334303566363331393463363462323835363765613534343537306566373864663037386162386565366531653331326130383333333031383433363433333330356234333262396163323465383364376162363965386261336430323837656461383130326231376535373635386665363731663131343032616565393637393763373432346564613937616630343835663965376461333437646438326433303339316639383333336164393236396434356533333035323639313934613537326635303938646239383431623262336430643962663561343664306336653633633635613261633166326634363632303766383933333266313461326266326230633861366661363666643463333362633563333731383132653733616365306132623365313130383632663339383130353563303433383038346130373038323130353636313837353562623661336133303661336330303564623730333263373061353332366333666338353562303038353537646335383531623463383131393532656236633763363564633662376632626633656561303536306166363735616431643835393234343239343135616430636535383339303439376432323663653134643862626633623166386639613564333364616562353835303930383764313038613933356261626666373564633438646532633664643362366262633033666638386531373334633833376462653062353664373138363832343039653730623361633239636632373733346632623931333762306538333863306263623338313436363962643636653733373062646535653530346663633830373838656238643933613430633539303761663965626164663139366131363130663039616430373435393437613637353461663066353863333565343332633530626662663237636238306266626665326462353537323334636632396536626461393432653337613432616265393063343264306233376331366563626538633232326337336431333933306330343438306564623339363530613535363265363039396435656363356339616539643237343230643165333237393239393937653337316534393431393064313666393837356366626466386564643231393039373161613532383266316538383938326335353365616361623539663663373866373361323163626562336165653161666565386362636630373030653238313634313166306537643732666136363164333863313865323133643363393663663665366235306661623834386336643566393165623035376265303738663933336638376362643265313237643434366234306130643334333261643162633132663063373862623136313737633530616138333166383264616261383238616334643766303039346263373839306264663335663135663031653836343531336662356561373730393532393564666665336231333937383530313935363065633466316138653763663933626363303130616536613561303236613638616464303732613663666337636232376437643231666638333435626462386430333333636363373934326437653339656135663835663039646361366261323562396237373239393866313862633533376637643063393638653437336561623331353031613631656537646433653463323236616131316238653262316131353162643333613134323961373261636633333162626230373965313164383062373566313031363630366564396135663639623137353166363731313036393865363964613033386432303333393134386666623236373633643839666365626631386139633761666464363563366362303831623031386435653033633566343035663234613231323338373733396433353038333431386563383966323166376134303332616666336333343566323364376334626165643665303536623564653865656630366638383030616363643063353438383436303065316432313631343264623831313962373833666436626433393632316464383966356662323866356339386231306232626163663433303730623162663162643034613964343137323263303365356164303338303637626137303733376332656239616363633237633637636333343762633061306664623264383032316635333837346164373632373339326132616361306638396431326536336561356335376237643532613964663162373566373731366435313839393035393137326564626462343936396562313061386565353436396331316164323630316334656432313031363066663436343666633766363336666161326461663130313738346436396431376139363662646563303830643061656536666162383238333630346464386462656165306666373531363734353330393464353535616430653465373264326539366161653133636538303831313239306638646466626166393232306430376663663961333737326265363335373034346565323635383763363764376137326338356434646230663231363065326630333762663234353630646366633433303538396131363265353736633235333066303537313533353565396533646236636565386635666230633465313262636262663139623531363465616432373239333165653365323036376635393165306663356636633530646438353566336466353465303334383239373535363434316235326466623761393562353939313134613032323838336532396261656265633538303437666232363334333932363535636363663266323265356634323334323665653361653138666161626130383533656130323733363165626237616532346632383538643430346638366438343737383363366137373566613962626466383664353234386664396537653331653331643432393063666236353032653861346266653238386564376162396535356562383436323665313064386437333230353831623336626464393735393361326166616231623632316463613766353832623062303631613037616362663439386437303334633530383837646261326364376361366531316632376639333962366438653333346632306237306565333364306231653839303834646638306430653962336438383063373831626439636637356233653234343339663332333265353432663164303065373536373338336239656165383065386665313061633735313333373231633932366137306662306664316438653331633562616466666132353566666666636163643034616661613138663836383435636638313636356632353339626365613333353164636636363631376566623339306137636331353031376665356636666634313330353830616332653531326237626636646663636562633163383631343638323432666637323364343366326532343636616363303661363737323463373464383337623966653534666130643938656537333934343139313365636530306330623562646534666538303235336539346433643865363731353035393735386339353964333531396535343262643733323131616535373661363235383131363961356639396434373838613662356234326237336236356635306534333664633631656566366566343365666535386433616135613534373237333031626132616465643439643136326534636666663366353765326538386539303139643035326165633730373963326563643930616435623366393438613539653730343661316639616361326335666162373239366465616463356461313530343939303034343066323264663931363266313161663863646266373632313431343137366662326434653235653337383536643432313265396463306433636332633234333364656466313935323539333537613164663934393061356364373037336461303638313962383333353138346166303934343933376334313536323639643864356431316531313731343162626661306235343765633764613664666431653463363463373162393736656663343262633234656230646235636234623634316464393337386233646336613033383533656337323931616130313830356133613464346439393331373966386130623837613330643437373966346566666131353331313963626531393038373933373630643361653530313164383265333366656536653964633165666263313530326438383362663866393630663537373461353562663564313239643137656336373134643363643666343439376165383933393164363534623332333135343965326661626661633834653665353962636563303537656566333566663535363663343631376235613331323562316234383430613635613633383136306537353333616132643032396638333439333038643935633461373865623237366435326261343930336639356136373865376262313232356564613731323838363262353339636230393432346234353232656338353530306638373331316566373239363462633131356532656362346361303134356134666132366538383833653336616436656335656433396138376165653365643238393532346238643264356266363833373365383133303165383766633465663639633439633134393532383335313833343036663331313530303665613862366262616633343039663438306464646264353831303339366464376638373732633362666562386662636630626232373231656336303464326561316263613038306532393637636362373536616136643165366665666364373562376564323638313633323038363537393638633434333930616531303063396465383435333130343865383562613665353135323762316430363137323736393831643365626134393562636436313262376631633961666138643334363535333030376437323131613663633362336163376166343739316563363961643838313464663335646664313638643037386330623932646333636463336238393037623032386662353535613534646533306364313339313562323036393934333362353435393865323434383164366662616332393238343031363635376538383266656531643739336434393463643966306265396266373638303332666430636536376262343531383736333064363866316663323564663764666637336634656437306362326161383266623937653965396435343365353837336465326662623436326139343837383132346532323535353635653436386235316633353632316439633531643033316337656333383135346431643732666331383166643061373533646535623565666532616362356137303463376564323939383539386130356632333938353635383863386134666537346661383066636635386162353334633730343933613666356438383663656539373761616232346238633464313930626531383662386634633335646666363437326536666538656139636332333264646236373066343730643738616461323035663237306336393438323264663765633433316131313033363766303966373764663032626465666437623262393731626562363261383965666661363864666533386136383331663963383932626466336334616265356364666330636130633366336439356435386530326630353233386366366532353932666334623737303738633634613332313735363934333962316163643936626339613736626530663261356336333264383936666166323066343538643530386130373433383730613961613465333930346464613031346566616135353461623164313335343538323839623532356636303666663234303839373333613334343562333834346135333862303264666336353337616438623539313062666536636432643262373437396632323164346238613664343338376464646536363333333032316662326639333465363662656365373436383433306436666338663966346537643763616132373064313630663635636564653633616530376263373666323139636439633762363634646539303861326532336162633530343835396639323735333164623031373730663433623462626264626630343634346565646664653634636331663932616631643163343563313464666661366561373665623763623134663238323439636230656665316137313533663039633066626661343966316332303737316134623261633930613739313663303139396162656266366461373438613037666364363234393930613233323562366664383466306265326461313964393334303965343431373133663762663165653462383734626565303164376263306464356231613936313261646665366336346463376562303364373431636132323434353331333931633934306264656162386535313331343638393930633234383435343031343736343764653931616237613566373639373830376536326132396437393664626537356366613466373337643432306663353364346434363464373134306565333864306566643438643362636565653837333530653864336536363366623834386636333035383033643566383662383061383538343339616131346163323862366233626263313738373665363133316538386232376563373934323932333230626533653637396132396161306432376532353831356536396537333938363934336534353366373062323761626562353362643266313034313734373930326133616335613735633838363033343232386332393862666461646532656433356365386631366665356264386163333263363335346437346135613066633530323463366631356563343936343566376166363237376239373565316366336134663831363236636661613463333639356263373133363534623136333130643631333132396634343232653864323661343264653538666264396336643330393964653163343130646633613036306231376662353031353034313065633739353033316465343032313136396633393634393863666630613466313162633534353737386437303233343739383066303732343031383566666465643861626632353362646562653061663066366363613862646463313734363430343537333266633931343636613138656130613032393461326331323966613636646131333763373261343764343165623863323038326161633061646564343638633430303931643530613261393336643539643636313235666566366532396237343131306366623130646266663735316135326637376664613333653363366362343834376330653061346662366436653034303334353635326130663936373062616135623439363330393932383537613339626561363766353432373832626665356239636263303631653863636462643339666533393336396538646362343564646465343032363162396434326135663736346335306564343535353535343463646364393565623431326634643566363232663938623634646666373530333534663930656637623065633335356561376631663233363764393637306365366634616536323838373631323462303431353763636539623863303335376564376535656366643334393038656438323438623230383230666636313162356439313834373865306639643164666335633165376430356664653766643534333037613131333833666638323032323333363837656531663236363136376330353432303736313633333432363138323434633038346337666139386334663663643338623139633235303335643761343861623733633332326231313737333665383733303832383461613362363365333063386264356433633961383634356461653166646231656664633237303134363461623136383131633266303131663963646333346432333138636135393134383862316164383435666566306432643938623539623432613239666336306334636563633136636364363236306535343339316562386137616366353136656133323962343532613935666266653031356261376335663664333631386664396132383532326131323132636164386137643032653762366163656432663064316264313764333839626230326333363530316135626165356436333261653130393333653339653366346135633661323434363738636263613735646234666235353231363838373565663933663438313332313763366363316232613339636132386437613938626463333934656630333536373531616261393430363731396631393631623563643130626161636539623237663932393263336133643166663535376237306631346164313435363637663333653062373931316661386666343931636631303834373836316439383331666663383539656232313934623864343637623036383333353336373265376139343161373534386436353931626665323536636636343733316564396363376637313330326130343063646230383166383431356133643034363531653135386135333233336665336330613038313362386362613164323365333838343237393237636433633661303338333361376466653836633133613764623030393331396561666662326531376338633831313034636232383530646131356430633233363236333338623335303135353962346164633434333534303664396531393164333536326365396666613338303536653861633233623939333435663466373438646262353039396466666236363133353564636532343063623430306337323234396532393761306639373435303234326132663233346463313935333036643966666533643839623761373433353736333564396637376139343838636266353666666132626236363835346438633235366539386635393531363234653635636135666465393066663934313366323136363338613462666238343162323566653435646530636531653264303739633138323837616435386631346334346133306434623737356331336237633739306137353563626539623562396465653033336561613561366439636338633561636639666661363935353665623831623433393262383134383437663135356366633533303063326431303464666437316230643238653630663133386461643965616437656263353861323061336565663262383862326265323330336366333962626338343335306134346265333738626634393134663436313433383564353164653262363063646630323935646366353539643337653031323434626461623565353862376365636430396630663337646138386637393930653865346262343032336465343134376538623134323837383236363862353262663835353564333837613730333466323837373839643364383437333137323434626466376161323965393332623934346637656166633462663866366565326534363738363664326564313832626138373030636137633231356265633037323263623234313431303662646536356231366434663133366566343630653632383233383464333763626162373064616663613238363065373464636139326131303264646238646662393839636138373730343436633863323731653934653137303665383464306439636230363664373638343935376665343365646233336361633562663233623339636532313465333365633562336433306437303264666331643661373535373662313936303037656433636538353232643139626330636565643266623865646434666234656561373962643437396335303931323331616133623062643165623062336564316564313261633531616338356639623765633161663235663761636165376530613738633863613334343832326435373962336632623430643133393835653031376261626337666262663738366433386330343239323339313339383965663534303762316262373134363532306464386432333261626634383834336663616230313165353431636238663266303930393231363065656366303531643434383932383832646131363765356236623062636565376530613263623930633662616632303965373435343761316163616436653363663530623338336565353162646532313933343831396136616535643265616663336534396263353935376536613033373038656430316366353964303065623334653430306139633433333634633463663837333965616364623339386333653461356666313734333334656238663463333761393862643635663036316237363536363061666633333464653234623230383862663563646366373239616630353030633366383437383332613235363638623534313965653434346564623562363138633364653235663361333763373132376332616335333763383438393039373331393863366661333630373639306138653062386430633636353038316362333838333831343239376166386433393863373264653136653630643265303930623362383533306531653562643935383436356537633863356537663230323030393232386666313862613163393163636539363961303030393862366636306463363363396566653339663733316230363135383638326333623535616631383830626630663737323830373534386563303435663631353039306563613033623434616436663037373163323866613430373536633962366139643761373831326431316531393961383132313430326138383331303832343330666336336330633532666531383336306566393532373865663032366131386631313963306663663136376535663833346666393334316631633737303538333235326433356366643732636437663663306633376631633332623933383464373566353434346464393137333235626239333933633238393637626464303636353534626538383635653439323066333563653262363037373931666239376463356164376362303233326335386631626664643564346265303164633532646531643934333337653630353538613263623934363162626532633336333764636335313439353861656530306334336162303836323935353232663861346535653135383136323837646366393730323137646338653631633937303131326135363032646664303036386333653931343736353734363831323038323730316437666664643562343234316438383637373032333361313938353935613433396633646462633263613465386635376234343932333864306432383763653462666562323761333636643533353666393836306137306466303865343539633566333861386361623239343435383232313561373366666638656435623366323730356633646637633436333737343235393833616630373861303636323231616162393231343131313836623363663764376134636336356238653535363265643866373666656566373264653737306535363463643462616332616532643764323334626165646166646565373463336336356364396632386464373531653065623730353337616237323837653237326136613161623865333532633838333631393864363963366561656631383035653039346637333264313562626364393332646665376165623830303062643836386632383838626630316265373138396631323038306532643534386131313933383564636164643439313338636561623933353964643033363739666637623961323166623734636237343165313239393630346639646663666237643530656132343738316231663035666536343764656338306461633937373763613464323366633735623333623666313838353764386362663633633761613030353461363136623438666263383530303765313434623863363863363831366332623736383037346164663361396562303035313634343633623461666563663335633662306466353032626463363034656436343864313264666637656464373763303638646233626231636138376333623631303666373937343532623763376434343664323765313464633632656463373732653634386231393530636239393863393834323261353438393639336464666533356262343737323939613530616665383162386236653065343161663539363432626134323739653638313163663931303839393032333466656662373435346166303538326237383639383730336333373937396562383237356334373331313033306663616166636431373765323936633561643766323930313330356332653635323331373732646435363131303632646436343238396334356432636634336337363330343938646430323265393430613363326563643335393536353663336164356461633664663064386337646663373561343365633664376463363937373439333534383164323232356134396536313933316439376564646262653835316639303566343335383332313832393039313633306232356233356231393734393237666333336632313261646462333663303761636633636666653133346339653931646264353162313331353264316231626639353762333931376435303964666535376335326630343163363731373531343563346133376639636534383064383434303931303532643138643666333966313437613861343137633761623166643037366365393939383161386238303237346139383061613161626338383462653431626161386238393265356164313261383564326565323339656661386135393830313661666536633538626636623033666332653462616234353666343533336262333666633133313433356665316635613734396235613632306565393331623735316366356134393136653061663063626566306539646333393536656132336664633536326437346561343264643963333235636332383532303132343031333162333539353234376336393338303866326331616534663639363266633236666435346335633936626261376336373330316131376461346238663166646662306463623937313838346665373033656361626161303463666266303637616161646439396562336533653539633232356430636533376431306532373039373662643230353537366133653635396562303839666532666163373834653334373132643832383837353635643535663930376631623837366539316232613439343334613366636131346135373837373464326434306432623464623064653731653764626431333034333561646336326132313162663238376333356134633535303963653261303837353437646563646239653930336466356130666666303536353539326262306130316630653238636166373336313338663434336365373335383636313534343863373661626330303664623062348b9c464323022f41e1182e41dbf339436312354588d44841031fe23b24d3ab3dea0aab3d288cb13bc2dda2385040db3d0000803f3a54b9bc4907b0bcdf1ab4bcfdacf13cae39abbc1a78f33c74fcf33c4a76b9bc71f3fb3ccf8bb2bc4c82073bd4dd063b8586013ba9c88fbbcf940e3bda2c8ebb0cdba6bb5490f13aa061aebbc3e2eb3aa241cebb7d0ab7bb7b66e0bb79ae1c3b5c4aa6bbc971f43a97c9b63aaef1e5bb2c47a63a90cbaebb08622bbc249601bcc9a23cbc061924bbef2bd6bbb8b963bb0188dabb53fc2ebc05a802bce6df24bc0e8f653c82de373c7a6c483c545424bc907a383cd4f024bc054446bcf32c5f3c6cdb89bcebc7713c1f013fbca7da32bcdc2038bc323f8a3ce8b02cbcb67a8b3cb3cf8b3c2d033fbc8966913c212b36bc13ab3b3d550d293d705d363d37c11abdbe041c3d82b31bbd570c1cbdd5563f3d785020bddb142b3d1109113dd3a2003d01570c3d242ee8bca7d9ea3c7bc4e9bcac4deabcb84e143de38cf1bc9261023d65660f3d7f03f83c9ae4093deae9d9bcd8bedc3c08e5dbbc5a9cdcbc8b35133ddf8be5bcfc38fc3c87a73c3d32022a3d3359373dc3d91bbd8fe21c3d34cd1cbdde261dbd8d4b403d806e21bd2d072c3d4f4f373dd058243dfaf0313d047415bd8ee6163df66e16bde7c816bd96003b3dbc321bbd8667263d1c9d133d2a83013db96c0e3d11ebe7bc5929ea3cd4b2e9bc0a58eabc9b33173d5e6bf2bc4e73033db1b8353d6040223d3935303d4d5713bdbe8e143d395614bdceb314bd8d83393d482f19bd155e243d0f04fe3ca559db3c462bf43cc290c0bc8a06c33ccb51c2bcaeefc2bc0e6a023dcadfcabc1b21df3cd1d0203dabfa0d3d2e701b3d5031ffbc57e5003dcf8800bd10dd00bd9c89243d421e05bd8b01103d4085183d717a053d081d133dbe41edbc9417f03c1f34efbc7fe3efbc173c1c3dbfaff8bc7f8f073d998f073d8367e83c180d023d1e8ecabc7f3acd3cfb86ccbc5e3ecdbc045d0b3db824d6bcc799ec3c27b7363d0f5c233d403e313d8e4914bd2595153d3f4b15bd4ca915bdf1743a3d0a2f1abdcb77253d0b78263d9c3d133d3cfc203dc17b04bd38d1053d617405bd6cce05bdd6402a3d7a310abd6651153dd4152a3da4bf153de352243daa0906bd6f5e073d841507bd227507bd1f092e3d2a2d0cbd0ef6173d562ccc3ca888ab3cf7d0c23cbcc192bcebed943c316294bc8ffa94bc459fd23c02579cbc700baf3c1d40b03cf28d903c722fa73ca76171bc966d753cbf8574bceea775bc9a87b63ce9f281bca3ef933ce2392d3d4f5d1a3d6ddf273d70e90bbdb0140d3db7e00cbd14390dbd28e9303d099411bd416b1c3dcb0a0a3d1304f13cc707053de7ebd6bc75ced83c1aabd8bc6651d9bc707f0d3dbd36e1bc77caf43cb35d083d3912ec3cea26033ddd19d0bc2a50d23c7bf9d1bc24a8d2bc58f10b3d3a1cdbbc380ff03c7b21123d9f25013db34c0d3d3cb4e7bca066ea3c246fe9bce50beabc5674153dfedbf1bca0fc023d6d842d3d60c31b3d5277283dba410ebdf8560f3d4b280fbd177c0fbd7002313dfa8b13bdb5b01d3dd070033d9814e63c3485fd3c44ffccbc9629cf3c58a8cebca545cfbc3aaa063d59c4d6bcdf9fe93c8dda233d2c85123d72ed1e3d422505bd9a4c063d930806bd825a06bda53d273ddd5a0abd4e66143d4dcef93c2c35da3c90bdf03c0c30c2bc2e74c43c22bdc3bcd448c4bcc209003ded56cbbc1e98dd3cb5db103d2695fc3cf5910b3d7728e0bcb38ce23cea0be2bcb1bce2bcc87e143df240ebbcce4e003d2bed2b3d6b6e1a3daaf5263d03000dbda4100e3d89e60dbdc53a0ebdbb592f3d264812bd88551c3dea1aec3c5303c83ca8d3e13c4261acbc8cbaae3cda35aebcb7dcaebcd12ef33c2525b7bc4cebcb3c52048e3cd0e2573ce058843cbc6e23bc972b283cd8dc26bc260628bc2fbc943c9a9537bc79425f3ca0ee343dd33d223dec9e2f3dd89b13bd71fc143d539214bd5bea14bd7592383d8c4119bd9247243d0c18243d0a73123d63171f3d0cdf04bd8cfb053d26c705bde41a06bd9689273dd3300abd845d143d7745f13c9a93d13c333ae83c7e83b9bc1e72bb3c281cbbbc07b1bbbcfb82f73cf2e6c2bcb0ffd43ca24e2a3dbe08183dc218253d82f909bda7270b3d6ee90abdb0400bbdc5e12d3df8780fbd75021a3d4eb70c3dfbfcfa3ce759083dfd4fe4bc63fce53c5bcfe5bc005ae6bc20bc0f3d4623edbc623ffe3cef953c3dbf6b2a3d786e373db9601cbd25841d3d2c521dbdfaaa1dbdf91c403ddfe721bdbc662c3d2808103dee53fe3cca390b3dd159e4bc53b6e63cf70be6bc21a0e6bc7156133df150eebc7efc003de35d3b3dc242283dafee353de2c819bd72ea1a3de7bf1abdf3191bbd801b3f3d74741fbd29562a3dd8181c3dfcf30a3dae2c173d545afcbcda60fe3cad07febca9a2febc53801f3dba1e03bd0cc90c3dbb01013d54c3dd3c2db1f73c67e2c1bcd18ac43c60b4c3bc625bc4bc3f92043deb96ccbc3face13cd80ce43c2df1c03c8d0cda3cf0f5a5bcd88ea83c13b6a7bc8d53a8bc76f4ea3c1544b0bcd9b5c43c1e201a3d67b2093d7473153d892afabc194bfc3c3cd6fbbc1674fcbcf6541d3d03fd01bd937a0b3deb23263d025d133d79cc203dcab504bd0c15063d20aa05bd870006bdd3d3293d4e500abdb965153d69a6113d9870fd3caa420c3d758ee0bc3511e33c9575e2bcfe26e3bc665d153d59c0ebbcd3bd003d5c61193d4064073d5d44143da7e2f2bca665f53c22baf4bcd262f5bc94e01c3d94b0fdbccd56093d707c263da49f133d791f213d0de804bd1150063d4bdf05bdb33706bd0c2d2a3ddb920abdf5ac153d62b8243ded37133d51bb1f3dfdb105bd5ff6063d009306bdacdf06bd732b283d6bdb0abdf218153d5dcbfc3c26a0d43c2564f13c658db5bc7a3eb83ce29cb7bcdf5db8bce553023d65a8c1bc4dfdd83c315e2d3d2fc01a3d8b1a283d0d390cbd92780d3d5a300dbd098b0dbd7fff303d66e211bd1dc71c3de615143d9be4013d51e20e3d4f36e8bc488bea3ce708eabc99b5eabc77ad173deaeff2bc12da033d118b113d1c06003dce880c3d68a1e5bc31bbe73c3863e7bccb08e8bc87fb143dc7f7efbc52e9013d73e2263d45cc143d6dba213dcecf06bded27083decb807bd8a0908bd486c2a3d93290cbdfcc0163d823e333db869213d3f2b2e3dd3d413bd82ed143d0abd14bd961115bda7bd363d2f2819bdfd58233d0023f93c1d73da3cbe59f03c3840c3bc5d57c53c26c3c4bc0a4ec5bc5d33ff3c8528ccbc9bbfdd3cbc83133da0a7023d85b70e3da4a0ebbceeb1ed3c2c57edbca8f7edbc14d3163da7b1f5bc4b7c043d3341133d7aa1013dd0390e3db935e8bcd39fea3c73fde9bc0f9feabc24b3163dffacf2bc918a033d33801c3d53560a3d2459173da6a1f8bc85f0fa3c9581fabc852efbbc0507203d67d001bd884f0c3d0ed70e3d1c07fa3cb9be093d2e10dfbc9866e13c1dd6e0bcf978e1bc355f123d9581e9bccddbfd3cd1be073d99b9ec3c32cb023dfbfad1bc3047d43cc7bfd3bcda5fd4bc6a280b3d725edcbc9a7ef03c3699043da9cce43c64e4fe3c2975c8bc23fbca3c1957cabc3d03cbbc1827083dd480d3bc51c3e83c28461e3d10ab0c3d4a3f193d4977febc0f4f003d0a2100bdee7300bd69bd213dda7e04bdba930e3d65f9253dafe1133d8cd4203dd8d505bd9f14073d9ac406bda91a07bdc581293d244e0bbd08d7153df61e143d06ee033dec7e0f3d6717efbc527ff13ccdaff0bc253cf1bc4054173d177ef8bce8aa053dfdbc093df525f23c43f6043db27cd8bc5920db3c1e21dabccab1dabcaf0e0d3d7229e2bcaeb1f53c96f0043d6685e73c5b0a003dd735cdbcf067cf3c6bf3cebcf495cfbc734d083d3671d7bca53ceb3c509a163d7f63053db9b8113dc86ef0bcb25cf23cfa35f2bc35dbf2bc90f3193d43ddfabcad43073d4170043d4350ea3c2b13003da04dd3bc951ed53c33d3d4bcf25cd5bcf078073d3e41dcbc289fed3c38d50b3d5d94f63c6b1e073d28f5dcbc146ddf3c30a0debcab35dfbcbf140f3dd2c2e6bc5025fa3c1abf843c4092483c01f1763c5bde17bcf0c01b3c86141bbcda331cbc362f8b3c1cc82abc828d4f3c84371f3d665e0d3de12a1a3d900bffbc37a1003d017500bd12cd00bdebae223d8fff04bda6510f3d9ac3293d1d67173d0b8c243dd32b09bd29700a3d261d0abd2a740abd70562d3ddcb30ebd0067193d75ea2b3d782d1a3d3be1263dad670cbd71980d3df0520dbd51a90dbd445d2f3dbbca11bd141c1c3d8b69193df929083da782143d5bc0f5bcfe3cf83cf479f7bc4f11f8bcf0cc1c3d43e4ffbcd2040a3d4ce71a3d84aa093d5ffb153d320ef9bcc780fb3c86c3fabc955dfbbca44f1e3d518e01bde9840b3d829a3a3d496c283d7b6f353d2fb41abd75b41b3dbba11bbdd2fc1bbd7e2d3e3d7c2720bda9632a3d6e7f103db742003d09dd0b3d83b4e7bc46f4e93c2e53e9bcd3e7e9bcd1b3133d893cf1bc7700023ddb0c3a3d69ec263d05a1343ddc1f18bdd46e193d591a19bd737319bd05ca3d3d2cdd1dbd4802293db987243d850e133df28f1f3d927f05bd6eb4063d656506bde9b806bd5ef0273dbec30abdf2f4143dc6c6983ca826653c1be38d3cc4dd2abce7ba2f3c94b72ebcf01730bc3d41a03c658141bc39636d3ce7c1e23cbe38bd3c6f0dd83cd592a0bca031a33c4170a2bc1e18a3bc5525ea3c558fabbc9b41c13c39de073dd5e8eb3c13c2023dfd1cd0bc4a0cd33c46e6d1bc0184d2bc896a0b3de5a0dabc78c5ef3ca7cd1b3d59be093d71aa163d2cd6f7bc7348fa3ccfaaf9bc8d57fabcfc5d1f3d5b4c01bd6db10b3d5fed203d29690d3dbc631b3dbd69fcbc7d31ff3c0069febc1d21ffbcb2bc243d791104bd73870f3df8701b3ddadb093d4b6d163d7e9df8bcb738fb3c1860fabcddfbfabcb4e31e3d487b01bd86c30b3dfbcfd03cd49bae3c650fc73c665a94bc52e2963c4d0d96bc63a596bc8091d73cb25b9ebcf449b23cfe641f3d6d370e3def791a3d8a4701bd075b023d712102bd307102bd27cd223d954b06bd0710103d51d7203d0a180d3dfe361b3d03c9fbbcb86dfe3c4fccfdbcad87febc93b2243d26ce03bdb73c0f3d283a113d926ffd3cf0f30b3d76b7e0bce679e33ca397e2bc2243e3bc23d8143d68bdebbcb7b8003d311d0d3d999bf63cb610083d1af4dabc6375dd3cc3c9dcbca772ddbc5d94103d92b6e5bcad79fa3cf2fc093d5478ed3c7b83043de7accfbc2d4fd23c11a6d1bcab5bd2bcc9c00d3d8343dbbc69a7f13c2568153d939b033d2051103d210becbccc68ee3cb1d5edbcc37deebc77eb183d7b94f6bc9c84053d806e2e3dbe741b3de307293d43020dbd2f1f0e3d44fa0dbdcc550ebd8f25323dd4b212bd74831d3dc1e0193dbd63093d482d153d6bccf9bc10b0fb3c2978fbbc7212fcbc9a201d3da5ce01bdd42b0b3d5756133d8e8c013da5450e3dd710e8bc5333ea3cbadee9bc9186eabcead4163dd0abf2bc6079033d6a55223d7249103d13341d3d3cb202bd869c033dbd9f03bdeaf903bd84da253df32408bd3e41123d1e76293d9088173dc158243dd5120abdab110b3d39f90abd764d0bbd6ff82c3d435d0fbdc876193d5b1edf3cf543bf3cfdeed53c2ef5a7bc7596a93c8e80a9bccd12aabcac7ae53c0417b1bc7fa8c23cfc57263dd165143dc140213d109906bd9eb1073da38507bd2bda07bdf3d4293df6030cbd1757163d32b0003db05bdf3c11a5f73cf566c5bc3da0c73caa1dc7bc0fbcc7bc100b043dc17bcfbcd908e33ce385093de0d2f43c1430053d34fcddbcdefcdf3c5177dfbcb7f9dfbc7f8b0c3db8b6e6bc750ff83c5418ef3c7632ca3c0495e43ca61daebc5380b03c9ef8afbc7fa4b0bc5a4ff63c8208b9bca426ce3c04a50f3d93a0fc3c02ae0a3d102ce2bcad9ee43cb9e6e3bca684e4bc0413133d0a5aecbc1e2e003d134c1b3de6b4093d3f48163d699af8bcc9ddfa3c5062fabc4807fbbc34c21e3db48801bdb59b0b3dfcc6183d2a35083de90b143da464f7bcaa69f93c8a0ef9bc54abf9bc36091c3dae9600bdc3fd093da5dace3c07c5ac3cbb2bc53cf66992bc44d9943c0f2494bc61be94bc608fd53c0d909cbcbd77b03c7a97393d13da253d5df9333d04cd16bd8fec173d21d117bda03018bda6723d3de3c21cbd1f00283d32641f3d394f0f3dd5d31a3df1d802bd76ee033ddbab03bda0f603bd6c8c223de6ad07bd290f113d1c2a213dc1800e3d48da1b3d904d00bdc276013d3d3f01bd979701bd38d4243dbad905bdb487103d3e78f43cc534d03ca12cea3c2851b4bcfbd9b63c1327b6bca4cfb6bc468cfb3c2f1abfbc9821d43cc0ce203dc65b103da51e1c3d5ef203bd4de2043dd4c604bda81505bdf80a243df9d208bde420123d1d05183d4cb9053d84ce123d91c1efbc8cd5f13c9e9bf1bcc049f2bcb49d1b3de9a3fabc58b4073da0ea473d642f343ddb4d423da9ee24bdcc3b263dfff225bdda5226bd7fc04b3de5e42abd9954363d6a3b2c3dceb8193db4fa263d935d0bbd9ba10c3da1500cbd2ea70cbd83da2f3d75ef10bd58bb1b3d1d453d3d2e4f283d214f373de90518bd517e193dda1919bd597e19bd295a413de7581ebdbc972a3da8bd243dc7be113dc35b1f3d0cfc02bd3958043d52f503bd8f4e04bd0772283dc0b208bdabcd133de4aa2d3dcb721b3d8c7f283d13550dbdffab0e3dcc410ebd8f960ebd193c313decc212bd316b1d3dd2ba393d361b273df672343d15a618bd8bf9193d7f9a19bd2bf219bde65f3d3d953f1ebde720293d8ef4173d79d5073d455a133d1136f7bc8418f93caed7f8bc9b72f9bcc3291b3d876600bdfd92093dae1b143d5a19023dc8fa0e3dcb81e8bc201eeb3c5c4eeabc38f1eabc4fab173ddf16f3bc510b043df591143df57b023d516a0f3dff51e9bc96baeb3c1b23ebbcfecbebbc191e183d4302f4bc866f043d1f31263dc747123df485203db4fa02bd783e043dba0004bdbc6004bd36142a3dcefc08bddd72143d9535e53c2fc5c63c1079dc3c63eaafbc7cfdb13c5063b1bc69e5b1bcac43eb3c369db8bca105ca3c2c25043d12aae33c9ad2fd3c25d1c7bcc117ca3c3fa8c9bcff4ecabcd5be073dafa3d2bc109fe73c7bf40f3df923fe3ca9280b3d0130e4bcec4ce63cf0eae5bc6a8ae6bc7e42133d1058eebcabe6003dbc4c173d35be043d7c06123d5dc7ecbc6259ef3cfbaceebcd958efbce0ea1a3d80e9f7bccdc1063d8db1593cd0fa153c5d60463c8be8c5bbf66acd3b03b9ccbbc12ccfbbcbfd663ce901eebb01471d3c4185023d6e96df3c6859fa3c770cc3bcd191c53cd9ecc4bcc799c5bc9033063d6418cebcf4a0e33cb9691e3d726d0e3df3d8193dbf3d02bd2845033d710b03bde95503bd0391213d5af706bd6128103dce362f3df9761d3da2282a3dffd20fbd9a09113d26b910bdee0a11bdbbb2323dc01a15bd64641f3da8511c3d0b100b3d5e68173d5b21fcbce412fe3cb0defdbcc880febc68b21f3ded2d03bdf5ee0c3d3489023d865be33c2970fb3c77b6c9bcc5d1cb3c3169cbbc8709ccbc95d9053d6fb4d3bc23ffe63ce46b003daa3fe13c00c7f73c5771c9bc8e9ccb3c6cfdcabcde8acbbc968e033dc490d2bc1c9ee43cb34a2e3d741f1c3d721e293de03a0ebd6c480f3dbf290fbdba810fbda9d7313dedb413bd41191e3d7bbc293d15e6173d3ca9243dea1b0abd6d490b3d24070bbd1a5d0bbd1b372d3d04800fbd02d7193d85c1d93c6207b63c63a2cf3c4fde99bc9ec99c3c58b29bbc54549cbc3cb3e03c169ba4bc73edb93cbec3a73c1e21863c9c2d9e3c9d4958bcd8815d3c4ba35bbc4dc95cbc6d62ae3c04036cbcc7c0893c4ecf1e3db1150e3d33081a3d9f5501bdae6d023de42c02bdc47902bd0719223d294706bde0e30f3d0c49fc3cf58ed93c2d57f23c5244bfbcec9cc13c70fbc0bc9795c1bc2893013d9a5fc9bcfb47dd3ca16d373d1c79253dba55323d577517bd4ab3183dcc6318bd3bb918bdd8ea3a3d3cea1cbd396f273dd8f5083d3435f23c1c6c043dfc4cdabce360dc3c40dcdbbcda68dcbcc01c0c3d0d7ee3bc569af53c4ce2183da320083d701f143d7d94f6bc279af83c134bf8bc33e7f8bcae2d1c3d565100bd39f2093dc9f6013d806ae23c295bfa3c9e03c9bcc016cb3c6db4cabc4e53cbbc7045053d01f6d2bcc207e63c3c73153dc609033db939103d5a73e9bc9b16ec3cee54ebbc2bffebbc7411193dc67ef4bc2809053d62a5233d688f113dfe7d1e3deeb403bd55f5043d669d04bdd7f004bdc936273d220c09bd2383133d3926223d689e0f3dcadf1c3d256301bd789d023d0a5302bd73a902bd9acb253de3e406bd259d113d78c32d3d12911b3d5b8f283d09900dbdedc90e3d3f7d0ebd68d40ebdaf57313db20013bd96881d3d7f24223d6551103de60e1d3d45af02bdd6d5033d309703bd39ec03bdcca5253d360208bd713e123d95be183df965073d6ecb133d8021f4bcbb9cf63c76dff5bc4981f6bc2b291c3da760febcb346093ddc8d2d3dac331c3d2f97283d34f80ebdce2a103d27d50fbd6d2610bdf6fc303d810c14bdf00c1e3dd6cb863c7b82433cc369783c194c0bbcfdf20f3c52f90ebcec4310bc4d2a8e3c59f220bcd6784b3c56f4323da641203dbf9c2d3d382812bdeb46133dda1813bd8f7213bdb7a2363d98af17bd8946223d9439273d7504143d61c8213d895305bdb8aa063dbb4906bd62a006bd90fc2a3decfa0abd4716163dceab0b3ded29f53c17c9063db0fedabcfd4ddd3c8cb6dcbca556ddbc4e0c0f3d6519e5bcdedaf83c5ca03a3dc6cc283d8f91353d72e61abdf8361c3dfad01bbdc0251cbdc51e3e3d764520bdcbbd2a3dab20193dfd8a053d6b94133d9d98ecbc325eef3c7f9ceebcbe53efbc27f61c3dfd6af8bc34ad073daba3223d8d6f113d93bd1d3db23604bd175d053d001505bd426205bd4a06263d975009bdce46133d9897253d2c95133dad7d203d6ac705bd3bed063d60b306bd930907bd9617293d942f0bbd4e8a153d4e491d3dd88e0a3d85f5173d2d81f8bcd2bffa3c6d6afabc511bfbbca9f3203d91dd01bdff960c3d2a08f13ccbb5cf3caf86e73cb56db6bcb494b83c6917b8bcd1b3b8bc17a1f73c1c39c0bca747d33c1222163d57af043d1126113d2dfdeebcfb26f13cecbbf0bc855df1bc3190193dfe41f9bc8f90063db39b003dd7e0de3c4f6ff73c3ab0c4bc97f8c63c036cc6bca70dc7bc79f9033df6e2cebc1097e23c40c2193d5143083d17cc143dd781f5bcebccf73c244df7bc11eef7bc1a2d1d3dbe0300bd65280a3d2af5183d7507073d2bd6133ddf19f3bc982cf53c2fe7f4bc3b91f5bcb67d1c3d96b4fdbc9df5083d1097fc3ce5d9dc3c1b85f33c5e59c4bc5ce0c63c59eac5bc4c6ec6bc4e70013dd091cdbc943fe03c3745d83c925eb73c37d4ce3c06709ebcffb3a03cc50ea0bce1a0a0bc56d7de3c4bfda7bc10e5ba3cff801d3df0540c3d78a5183d53cefdbc5119003d8996ffbc7e1b00bd7fdb203d4b1f04bd98320e3d0494303dad171f3d9d982b3da4c711bd6fd2123d30ad12bd6c0313bd4cff333deb0a17bd89fc203df8ad013d2bf2e43c95aafa3c0484cebccfe6cf3c4308d0bc3c9ad0bcbeaf043d2572d7bc6d36e83c3507243daaa4133d61581f3d692e07bd2029083d200308bdda4f08bd463f273deb0f0cbd056a153df751fc3c44b2d73c22e3f13c3c7cbbbc4019be3ceb55bdbc6300bebc3ac1013deb5dc6bc88a6db3cc144063daaecef3c7c2b023d1861dabc7c32dc3cbdcbdbbcc251dcbcbc1c093d8cb9e2bc76fef23ccf42293d26c8173d2d48243d3f8a0abdc4970b3d466b0bbd00bd0bbd2fbb2c3da9b50fbda7ab193d7e15e73c2ddcc23c1ec4dc3c7809a7bcab7fa93cdddea8bc4f83a9bc422fee3c92d1b1bcdac6c63c2df2143d0216013d7e4d0f3d2668e3bc1332e63cec70e5bc082ae6bcd8d2183d2259efbc1f3f033dd53c143d0791013d6df00e3d62b5e6bc6be9e83cc19ce8bc864ee9bca1df173d86e3f1bcbb96033d5e7e0c3df61ef73c34ad073d2d13ddbc0974df3c00c9debc2464dfbcb5d10f3dbc21e7bc77cefa3c2f810a3d22edf33c80cb053d4707dabc2ec7dc3c98b1dbbc4345dcbcf3c00d3decd0e3bc5580f73c54c1103d2c2bfe3c02b90b3dc62be3bc0d9de53ca3ece4bc3c88e5bcb73c143daf7dedbc96fa003de32f243d1900123de2ff1e3d970a04bda647053d49f604bdfa4b05bd46c7273dd77309bd46f6133d50972a3d10ca183d0585253db7fe0abd65580c3d71e40bbd2c350cbdd51d2e3d6a4410bd13b61a3d1bd14f3cfd43063c6bf33a3c394e9abb1e44a53b91c1a1bbe455a4bb06325e3caa14c6bbd5390e3c9d4a003d6c97e23cafecf73c4c75ccbc6d6fce3ce4dbcdbc5b58cebcf24f033d10c3d4bc04bce53c4d83303dce5b1d3dda0d2b3d80ad0ebdcafb0f3ddaa50fbd8f0110bd0148343df06014bd676e1f3d4d7a0a3d09d0f03c2555053ddeefd4bcaeb5d73c2fbdd6bcef5fd7bc3d0c0e3dff89dfbc9ab2f43c6f771c3de9c70a3ddb6e173d4cc0fabc60c8fc3c3b8afcbc5930fdbcdff11f3dc8a102bd5db30c3df093ea3c153cca3c4454e13c9bbeb1bc0cf6b33cc556b3bcceeab3bc8b01f13cc424bbbc5eabcd3cb752af3ce0c08c3cd164a53c88bc64bc8a536a3c6e1768bca14869bc9832b63c498f78bc3875903cd078173de5f5043dda33123de86bedbca300f03c1a4aefbc93f3efbcd41e1b3dd866f8bcc7f3063d89ce203d1d610d3de5431b3dbce7fcbc07a9ff3c3adbfebc558affbc469f243d8d3004bd4a7a0f3dde2ee03c07e4b83cf600d53c128f9abc3c669d3c928a9cbc6d3e9dbcccdce73c4438a6bca420bd3ce3611b3dd2160a3d0f77163d61c3f9bc9ed4fb3cb586fbbc612bfcbc4ec61e3de70e02bdc0f60b3dcf390d3d2e2ffa3c2f9a083da000e2bcd6ede33cb199e3bc622fe4bcfc6b103d7b6aebbcf7a2fd3cdf711e3dd2970d3d2ca6193dceb600bd2bc6013d009301bd31e301bd2ac1213d1ac305bd5c680f3d39102a3d0c11183d1df5243dab310abd49640b3d651c0bbd57700bbd70972d3d58930fbd04071a3dc048093dc067ef3cdd45043ded49d4bcf0d8d63cfc0ed6bcacaed6bca8bf0c3d77b2debc0e35f33c752a253d43d8123d61f51f3d6fa704bdc7e2053d969805bd86ee05bd97c0283db92d0abdc0d6143d143c203d1bf10e3d144f1b3ddebb01bd20d2023d5f9d02bdcbef02bd599e233d5fe806bd4ed1103d331d213d3a3c0f3d7e0b1c3d6f6101bd0e9b023dec4c02bd4fa102bdaa99243d5ac606bdb52d113d2577073d9329ed3cf8a5023d1f8dd3bce181d53c8a46d5bc0aecd5bcddc50a3d46aeddbc24dcf03ca756153ddad6023dff12103db75de9bc91afeb3c023febbc18eaebbc77f7183d3268f4bcf7d5043d58e2253d2be6133d8fc9203d04eb05bd8f14073d97da06bd5e3107bd0c5f293d0e670bbd2cdd153dd830143d60e1033dec890f3d0209efbcc215f13c60acf0bc3747f1bc7768173de4abf8bc3da8053d4193133d344c033dd5f20e3d02a8edbcd2bbef3c0c50efbcade8efbcfdc0163dfd61f7bcff0f053daf271d3d9ca00b3d2a2d183da950fcbcea71fe3c021efebca5c5febc9495203ddc7103bdbc8a0d3d5b872f3d71891c3d53252a3dc5b90dbd02100f3dc6b40ebd990e0fbd3f3c333d7a7913bdd49a1e3d4aab1a3d014f083d996d153d6489f4bc4cdff63ce064f6bc630ff7bc90471e3da373ffbcf44b0a3df6541e3de4f60c3d3d61193d7f82ffbc12c9003d62a200bdf9f400bd6bbe213d79ec04bd16d80e3de5dc1a3d8d05083de97d153d4850f3bc75b2f53cee37f5bcf5e7f5bcbf8e1e3d3683febcd30f0a3d5e51123d9ad4003d51540d3d9d10e7bc395ae93c00d3e8bca975e9bca0c1153d8469f1bc7eb6023d5bd8233db42e113d0b901e3d53d102bd28f7033d65c803bde72304bd0f84273d817a08bd1b36133dd58e193de6dd073d3284143ddd7ef4bcacc9f63c974ff6bc7df9f6bcd6061d3d2226ffbc34ca093d4fef193d7d890a3d8192153dcd5cfdbcc037ff3c96f5febc818affbc3ef11c3d005c03bda6360c3d0217013def0dde3cbfcff73c0a1cc3bc273dc53ca9e2c4bc8d89c5bcf8ab043dcf96cdbc5dede13cdc1e043d5c4ce23c617bfd3cf0dac4bcaf92c73c08cbc6bc227dc7bc03d4073d2f3dd0bcfb69e63c2899193d5fdf093d4c1d153df10cfcbc9be6fd3c5d9ffdbca233febc6fb51c3d52a602bd86910b3dcf29c63ca0a5a33c3c4ebc3c9d0789bc5aae8b3c19bf8abcd3588bbc90f2cc3cd52393bc5a58a73c69e9223d86c60f3d017d1d3d40d600bd3237023d27d301bd752d02bd6da7263d2fa106bd17dd113d398c0f3dcfcefd3c0acf0a3d23fce3bc26bfe63c57a0e5bcf929e6bcafd5123d8fa4edbc17b3003d8b63173de6f8053d026a123dca99f1bc39cff33c8254f3bc28f6f3bc6fd31a3df6c8fbbc42d5073d2008263d7760133da4bc203d23e604bd442d063d52dc05bd843506bd85b4293d3f8a0abdeb66153dde5e383d7380253d2b02333d50f816bd2235183d21ee17bdcd4518bd14123c3d429b1cbdff8a273d7398363d2021223dc6c9303d796612bda1bc133d6d7213bd54d413bd2d993a3d218b18bda958243d09013b3dd2d3273d1791353da2e918bd6a3f1a3dc8e519bd9c401abdb7bb3e3da1b01ebd53eb293d8ae8233d12260f3d04081e3d1046febc9882003dbf3300bd3c9600bdc0ef273d746305bd9368113dfcd5ff3c85afdf3cf69ef63c3c38c7bce34cc93c28d3c8bc0367c9bcb217033d19abd0bce727e33c9a681b3d0367093d8446163d090cf7bc0ca4f93cf1dcf8bce680f9bc01f11e3d42dc00bd375a0b3db4b31a3d45be093da1e0153d2483f9bc9cb4fb3c3e3dfbbc0cdffbbcea071e3dd8d301bda1940b3d1b40193d21a4083ddf7e143da928f8bc095cfa3c1accf9bc1b5efabc1a871c3dd9e700bdb06c0a3d3be52a3d28f0163d5d37253dc7ae07bd86e9083d92b308bd3e1109bd43ca2e3d1eaa0dbd7f1a193d9441f83c8feed93cf194ef3cf651c3bca3f7c43cbcd5c4bc1866c5bcb345fe3cc93dccbc5737dd3c03222f3d57111d3d75012a3d95140fbd8a48103dad0210bd645910bd92a7323dec8814bd31081f3d7e93033d79a2e53c2c8efd3c9fc3ccbc8195ce3cfb6dcebc470fcfbc0ae7063d8c93d6bc703be93c6cb31b3de92c0a3d44b5163d4459f9bcb8bcfb3cef1ffbbc44c0fbbce3241f3d10e401bde9120c3d9a8d1b3da7cd073d18ec153dbb19f1bc7ae3f33c751bf3bceed1f3bc0a691f3d4ae3fcbcd8f0093d26c9fc3c87fbdc3c34b2f33c8bafc4bc36ebc63cef43c6bc93d0c6bcd187013d69fccdbc3765e03cfe6fd73cecb4b73c8e52ce3c8b00a0bc8ee8a13cc18da1bce01da2bc7bbbdd3c2f29a9bc6d16bb3c9474d23c7a19b23c352dc93cd94d99bc96de9b3ca2e29abcbc6c9bbcbae9d83cd5a0a2bcb890b53ccf3d2d3ddf401b3d4f1f283d8d420dbd18900e3d122e0ebd42810ebd14c0303d85a812bd0e341d3d90d5243dfd27133d97cd1f3ddbd105bd3dc0063d26b806bdc30c07bdbb4c283d131a0bbdd712153d26cd083da635ee3c56c6033deca2d2bcc728d53cdf75d4bce41fd5bc47420c3da457ddbcab0ff23ce8bd123d499e023d2c210e3d952dedbc11f3ee3c91c9eebc5765efbc99ed153d97a7f6bc8659043db4ae103df10efd3cb8880b3d9db8e0bc0756e33ce598e2bc6248e3bcbd35143d0dbaebbc5b81003d3442343d8a16213d45d12e3d774a12bd3a7d133d514813bd62a413bd3604383d9b1a18bde62d233d729c1e3db54a0c3deb66193dcf8afcbcc8d8fe3c3d69febca416ffbc9e31223d29c203bdba490e3ddc12153da45c023df5bf0f3d54ece7bc8b56ea3ce2d6e9bc4289eabcdac5183d2a2df3bc7965043d6bad353d9792233d8b8d303d0f8315bdd7ac163d227416bddacb16bd932f393d4a071bbd978d253d68b39e3ce5677b3cc343953c54444abcbed44d3c25864dbc91ac4ebc3743a53c80765dbc6840813c3c0a113dc07afa3cf5700b3dd46bdbbc7d5ade3cf677ddbc4231debc5ee0143d136ee7bcc0cbfe3ce92b3b3df0b9273df4a4353d74ae18bd07051a3d52ad19bda4081abd62fb3e3dd2851ebda1d5293d68cb003d4cd0e33c9afaf83c25cfcdbc63e0cf3c0334cfbcfeaccfbcbaca033dd310d6bcd5f4e63cb4fa0a3df303f23ca6d5053d7a9ad6bc1631d93c4a61d8bc2300d9bc8f890e3d3e11e1bceae0f53c38e31b3d37f50a3d7f11173d10b1fbbc1324fe3ca066fdbc1300febcef331f3d3ddd02bd93c90c3db4da263d1646153d6fd6213d19d907bd89ff083da6bc08bd310f09bd954b2a3dcc110dbd7b2d173db0c7233d7bd4113d24a51e3d045504bd5363053d0e3a05bdcb8c05bd0e53273d269909bd4dc3133df768143de7f6003dbcdf0e3dc09fe3bc0299e63c659be5bc7f52e6bc7c3d183d3d45efbcd10f033df71c2e3d7add1b3d03eb283dcbf10dbd30030f3d70e00ebdaa380fbdb1b0313d206b13bd6cd71d3dadf91a3d4f54093d7ef8153d433df7bcddc8f93ce80af9bc40aef9bc526e1e3d57e900bd9c3e0b3d857b0a3d3584f03cc047053d0a91d4bc9036d73c0064d6bc0f0bd7bc98130e3d934cdfbc4271f43c11e3173d3a46053dff99123d85dbedbc725bf03ceac0efbccb6ef0bc92841b3d2cfef8bc2f49073d9bab333da1f5213df9a42e3d476f14bd1e85153d455615bdf0a915bd0024373dd5ba19bd87e2233da7cc263dc4b3143dfbac213d06b106bd5deb073d18a007bdd4f707bd445b2a3d332b0cbdd7ab163df189083d68e5eb3cbb39033d94a7cfbc4e1cd23c1083d1bcac2dd2bcd1300c3d8997dabc63e7ef3cf813253da8c8143def69203da66d08bde473093df33d09bdd68709bd1c50283d53370dbdbb88163daad81c3dd3ef0a3d6fbe173d3b56fabcdcccfc3c7827fcbc41ccfcbc945c203d008102bd11e00c3d9947133d7255013d262a0e3d9d3fe7bcdba1e93c400fe9bc13b7e9bcc0d0163dd3e5f1bcac47033d6ea81a3d22760a3d2307163d8d8ffcbca957fe3c982dfebcf9c2febc3bdd1d3d040a03bd46350c3d7c01273df01e163d0037223d163f09bd46480a3d5a1a0abdc0670abd12542a3d19460ebd13f4173dbbd82e3d1a931b3dfe60293dcad40cbde6f50d3db5d20dbde92f0ebd4898323d79a612bde9ab1d3d7dda213d4f25103d8cd51c3dc74e02bd5d91033d573903bd2d8d03bdac4e253d13ae07bd6313123dd7c92a3c0189cd3b846a173c85414bbb51455d3b89eb58bbe5cc5dbbfc1f383ce5d18dbbe244dc3b66ec153dbeaa033d2bbc103d6a1bebbce88ced3c4dfcecbce6a8edbcb67a193d1a21f6bc05a7053d0a23043dce35e73c20d7fe3c01c0cdbcf62fd03c9a64cfbc13f5cfbc4d63073d6d6cd7bc29c2ea3cf75df93c4019d53c4c06ef3c9d6bb9bcbdd1bb3ce23fbbbc38e8bbbcae3f003d112dc4bca800d93c12bf1e3dc3c80d3d82e6193daced00bd64fa013d65c901bd861b02bda916223d88f905bdfe9c0f3d2fae1c3dd9bc0a3d088e173d3f36fabc4464fc3ca308fcbcc4b5fcbc3732203dd47502bd23ae0c3da4c1263d5b14153dcdba213d239907bdb9ab083d3c8008bde3d508bdfd3b2a3de8e50cbd0a02173de1a6193dad16073d6a5c143d92c2f1bcc51ef43c42a6f3bc7954f4bc1b4a1d3d08dcfcbc2619093dacfc293dba9d183dc00d253d4b3b0bbd05520c3d96200cbd00740cbde05f2d3df37b10bd1c831a3d7da0093d6986ef3c8f84043d5696d4bc3fabd63ca861d6bc630dd7bc97230d3d3c26dfbc7060f33ca5a8073d9c5aeb3c1585023d0842d0bce94dd23c0113d2bca5bfd2bca3340b3ddaf0dabcb944ef3cf5fec23c8a56a03c7820b93cff9385bcd718883ce05587bc7af787bc39c8c93c1de98fbc7f16a43c815dd53cc2f8b43ceb20cc3cac509cbcec889e3c11ee9dbc44829ebc08c4db3ca5d3a5bccb78b83c47bc353de62f213deceb2f3def2711bd6297123d4e3812bd299b12bde6bb393da66417bdaa6d233da210323dc2f41f3d35ec2c3df62112bd513f133d250e13bd446513bde99a353d628c17bdb1eb213d0c30183df608063d3307133d8fecefbc2d8ff23c88c3f1bc4b69f2bc28ba1b3df7b9fabc03ff073db671ff3c827cdd3cd2c9f53c1d41c3bc47a7c53c64fac4bcfa97c5bc3d0c033de161cdbcf726e13cee70193d0714043d8161133dcdbde6bc69fae93c81efe8bc45b6e9bc30991d3dc39ef3bc8b66063d5a6c293ddd03173d4f2d243de7d008bd73240a3d3bbd09bdbb100abd35112d3d983e0ebd21fa183db381373d0755243d8817323d295a15bd21aa163da55916bd48b516bd963a3b3db5321bbd006b263dfb36173df97a063dc570123d6c90f3bc67b5f53c573bf5bc45d6f5bc3d861a3de660fdbcb748083d791c113d4d42ff3c611d0c3d19fce4bc9615e73c3ebae6bc7f5ee7bca78e143d633eefbc8584013d33ef0d3d38ecf83c99f2083d6154debcf5b1e03c3e0de0bc47a4e0bc3e5f113db978e8bc2baffc3cf79c0d3dee5bfa3cceea083db6afe1bcad94e33cd350e3bc83e7e3bca0df103d0a49ebbc40e5fd3c4301183d7d65073d9344133dc750f5bcd5a3f73c65fbf6bcfb92f7bc5e481b3dd81cffbc7230093db2a22b3d8687183d2e36263dceab09bddd110b3d47a50abd35ff0abd635d2f3d8b640fbd62991a3d69a7ec3c54b1c73cff1fe23cac62abbca6bdad3c0c46adbc5cf7adbc84e6f33cea7bb6bc58b3cb3cc1020e3d9bf3f83c0006093d8113debc7c61e03c42dcdfbcb681e0bca96e113dfb8fe8bcc6befc3c97800c3de178f53c4f6f073dc50cdabc6c98dc3c5cdadbbc637edcbc9efb0f3d68a4e4bca659f93c073c053d5e87e83cd565003dcc27cebc51d7d03ca7decfbc6d7ad0bc0991083d4b3cd8bc7232ec3c9e44233dfcb2123df08e1e3d8dd205bd18f5063de5ac06bdb6fb06bd2887263d91d20abdfa7d143d335f213d20d60f3d13611c3daf6002bdfd8a033de44403bd669603bdd7cf243d559c07bd8bbb113d0fdc223d58a9103db2b01d3de8b502bd55c7033d9ca603bdd9fe03bd1c66263d1f3a08bd12a4123dad50da3c1e82b93c32eed03ca590a0bc55c8a23ce831a2bcbdc5a2bcc0cbe03c802aaabca80abd3c24872c3d420f1b3dcb89273decb60dbdbfd30e3d9b990ebdb4ec0ebdc8f72f3dd5ea12bdd1f11c3dee4a1f3d53100c3dded1193d18b9fabc5e21fd3c11affcbc1367fdbca50e233d191f03bdad250e3d31b9063dc87ee93c819d013d53c7cdbce712d03c6aa0cfbc5e4ad0bc843a0a3de19fd8bcf262ed3c3a88163d79ee053decc6113d8ac6f2bc2012f53c2c67f4bc30f8f4bc85cf193d745efcbc20b5073d09551e3df1760b3d76f5183d84d7f9bc195cfc3c7fc4fbbc4d74fcbc100f223d169302bd29830d3d49fb353c9b09f23b287d243ca9e198bba4cb9e3b0ecc9ebb7deea0bb2c11423c22cfbbbbbe30ff3bcdbb1a3d9408083db66c153da003f3bcfe8cf53cc4f1f4bc8ea2f5bce9611e3dec54febc98120a3da8680d3d5b28f73ca953083d655fdcbca651de3c502ddebc0dd9debc13ec103d55fce6bc1001fb3ca6551f3d43230f3de9b91a3d5b9802bd1ac0033db26a03bd17b403bdd182223de96a07bd45e8103d8cf3293de6fa183d8121253d16020cbdeffe0c3d8de10cbddd330dbd30452d3d0d2111bda9d31a3d321d1a3dd1cf083d642f153d0203f7bcad49f93c21c9f8bc2770f9bc25801d3d1ab600bd40b10a3d7f81ff3cdeb8de3c1a1ef63cbf27c6bc3c2ac83c44c6c7bcc85dc8bcfffe023d0eb4cfbcf83ae23c98201f3d74960c3d41db193dba9afcbca208ff3c7180febc892effbc0fc3223d35df03bd959a0e3d9faff63c5c20d23cdd41ec3c0d3eb6bca794b83c3e16b8bcc3bfb8bcccdefd3c6916c1bc9414d63ce0e3203df7880e3dfca91b3d562e00bd87b3013d8b1801bd5f6501bd4b83243d178f05bdfc82103dbfd3003d691ddf3c43c3f73c21edc4bc8b24c73c27a5c6bc1444c7bc723e043d5c0ccfbcbbd3e23cd1901e3de11a0d3d8d9e193d3224ffbc8cc5003d897700bdf7ca00bd69fb213d24d404bd7e000f3d4fb2043dc691e53c4019ff3ced87cbbc7e1dcd3cf548cdbc8cf2cdbcf642083dd9e2d5bc6d65e93c97d2383debcb243d4a1e333d5a7915bd31b0163d058016bde1e016bdb1b93c3d6d7f1bbd30f9263dfd520c3d95a1f33c860c073d4a8bd7bc8601da3c7263d9bca10cdabc61f70f3dbf66e2bce29ef73cf6a9ef3c1cb5c73c624de43cf9efa8bc72bdab3ce5f5aabc23aeabbc0076f73cd2d3b4bc1b0ccc3c995d0a3db25ff23cda72053d3b48d8bce088da3c71fed9bcc89bdabc07c30d3ddb5ce2bcd013f63c6eaf3b3d8347283d0e2e363d224c19bd7b8b1a3d074c1abdf5a91abdfe763f3d0c291fbd47642a3d8e32393dcd02263d75c3333d9e0a17bd7b70183d7a0718bdb96218bd04f03c3de8d41cbd6d18283da38a223dee70103d1e611d3dbb8902bd67dc033d477103bd60c303bd261b263d52dc07bd2e64123dfd53253d96b6123df00c203dfe1c04bd0571053dda1305bdec6c05bd9ff8283d70c409bd63bd143d21ac2c3d9c071b3daea7273da5730dbd58b50e3d99560ebd9ca60ebd0b23303d31a912bd4eef1c3d3ef22d3d64211b3dbf98283da0850cbdead60d3dc87d0dbd2bd70dbd509a313d9c3412bdcd2c1d3dc3d92c3d2264193d9a52273d86570abd0a990b3d51580bbda0b40bbdfea0303dd63910bd57811b3d3afd163d5b34063d3234123d3848f3bcf601f53ce2faf4bca39cf5bcde4a1a3da543fdbc7405083d8fe10b3d274bf53c19f6063daa33dbbc504cdd3c7feedcbc3b8dddbc13470f3d2161e5bc0804f93c3d0f1d3d993c0c3dc546183d4206ffbc9073003d1a5e00bd5aae00bd1459203d338904bd1d100e3dfb88e33c56f8c43cebc1da3cc03aaebc8b0cb03c7eb8afbccd44b0bccf9ae93c9b08b7bcd13bc83c63c3073de92cec3c39b7023d7405d1bcc99cd33c33c8d2bcb765d3bcae460b3db862dbbc7cfcef3ce45e243da9b9123dc45a1f3db62405bd2a57063d0c0a06bd1e5b06bd90d6273d6c670abd4fa1143d3f0ddf3b26cf3b3bb8d3b93b8d5dff371c975039473f25b9227268b932f9f83b9af48dba1a48573b7148303d29761f3d8b802b3dbe8c12bd2cab133d086713bd9db313bde392333d318e17bd4447213d82c11a3de782083d8695153d6a69f4bcf80ff73c8d4ff6bccefff6bcae4a1e3d588affbca4800a3d6ea6283d803e163d626d233d97fa07bd8c36093d7bed08bd5f4409bd8f3b2c3dcf8a0dbd4e3e183d64431e3d80cc0c3da94a193d70d7febc568f003dd14e00bdfba100bd4dae213d04a204bd31af0e3dedce2c3dd5551b3dccd9273d9cea0dbd1cf90e3d05d20ebd38270fbd5e34303d2b3713bda63b1d3d06581a3d90b8093de09e153de92ffabc6d48fc3c62dbfbbcfd74fcbcb49e1d3d890002bd06830b3dddbbd03c45d3ad3ca0d1c63c30a192bc1359953c5f6594bc500595bcfba5d73c09039dbcdf96b13c8ac6fa3c966cda3cb386f13c061fc2bc2f06c43c6ebbc3bc1852c4bc7b96003d229ccbbcb9e7dd3c8f9d033d2b07e33ca5e3fc3ce430c7bcfcb1c93c5904c9bcb7a7c9bcb729073de0ebd1bc3ef2e63ca100183d63e8043deb95123d701fecbc1bb7ee3cdd19eebcd1d2eebc86b61b3ddeb9f7bcf4fa063da0680e3d8753fc3c82c0093ddff4e3bc7af9e53cea8ee5bc9123e6bce9a8113d3266edbcc9cbff3c1874123d8f9d013dfda80d3dbf34e9bc5caceb3c83e8eabcf983ebbc32c0153d8735f3bc7f6f033d5d18f13cdbf6ca3c0434e63c3decadbc502db03c2eddafbc5b93b0bc77a6f83c3f55b9bc181acf3c8a5f9cbfe0d589bff11497bfe452773fc3b479bf2337793f5ce4793ff4fd9fbf0738813fc8d98bbf124c92bff00e81bf1b608dbf86c4673fbbf269bfb087693fed286a3f2baa95bf1b20723fb6ee82bfb4008dbf7ccd78bf024488bf3d625f3f538661bfa514613ff2af613fc93f90bfd05b693f97687cbf3e278abfc29a73bf8d7c85bf918d5a3f2cad5cbf203a5c3f37d35c3f2b598dbf2766643f5e2877bf0e7789bf67f172bfc6e484bfdca95a3fec855cbfb04e5c3f97e45c3f7c958cbf3055643f506d76bfce98bd3b6312a33b68f4b53b78a18fbb0af7903b1fef90bb496b91bbc6dec23bde5197bb06eaa53bfc6cc53b0f0ca63b595ebc3bfef28ebb1fd2903b3b7690bb510391bb70aecb3b56e597bb8465a93ba24ded3a5a2ccf3a25a9e43ada21b9bab952ba3ae5a6baba7f3bbbbae73ff33ae612c2ba696cd23a62482c3c07a61a3c294f273c6e200dbcc8ed0d3cd0110ebc116d0ebc1faa2f3c8fa312bcc6971c3cfd827a3b1d3b573b5b56703b65413dbbe8313f3b22fc3ebbbca13fbbf7c3803bf47647bb9e025b3b9cd6833bf28a673b37857e3be7814fbb1af9503b862851bbd6c751bbfff8863bf83359bbc4096b3bedfa8d3c07e0773c30e4883ce7a75bbc95eb5d3cc4905dbc9e425ebc1371913c94d566bc4cd97b3c4a18923b9c7d7f3b53d58c3bb65264bb5118663baf2a66bbacdb66bbd3b6953bf82b6fbb93b9813b3afa0c3cb906013c2f9e093cd979efbb219bf03b37c6f0bb1642f1bbf6410f3cae0bf7bbe959023c33e9783b08c25c3bd0e4703b078047bb3cef483babf348bb017f49bb71667e3b970450bb76d25f3b27ea0e3be8dff03a1369083b834bd0baec94d23ae474d2ba1941d3ba266a133bf314ddba75a9f53a25c5bb3bcaf1a33b23fab43bc22b92bbed42933be76393bb12da93bbe16cc03bb95599bbe787a63b1e1f053cf157f03b4f70013cc7c2dcbba302de3bf11adebb149bdebb0ba4073c5aa3e4bb5d2bf33b2fe2d53bb145be3b582ccf3bf085acbb4a90ad3be5bfadbb0836aebb4d78da3bfab6b3bb8ed9c03b1b8f973b8338813b7a1e913b2c1862bb1bff633be34a64bbe82065bbf2009c3b3a116fbbdf9c833b70cbb53bade79c3b94abae3bfb3d8abb87a08b3b907e8bbbd8f48bbb88b0ba3b729c91bb68989f3bf3089d3b204d8d3b8097983b555681bb38fb813bfd2c82bb347e82bb240fa03b703d86bb89088f3b957c493c68d6363ce642443c5d6928bc4327293c007029bce7d429bc3d074d3c8c632ebcd6e8383ccd89903b3069823b8f898c3bdb6c6fbb9b99703babeb70bbd27c71bb5244933b352c78bb25f6833bc57ae43b7245ca3b2301dd3bda9cb6bbcfddb73bf4f5b7bb5378b8bb539ae93b5386bebbb91ecd3b4781843b766e6a3b5226803b3a6453bb70e5543b40f854bb5e9055bb997c873bf6a65cbbcec26d3b0430213c49bb113c6cbc1c3c596e06bc731f073cf33207bcd37c07bc9542243c0df30abcdc63133cb48d4b3bba382d3bb4c1423b7a5c17bb2ddd183b65d018bb7b5a19bbcfa6513b60f41fbb5c71303b8f75603bd3f4443b7fa3583b267030bbcd89313be6dd31bb216a32bb01cf653be9d138bb67f4473b02703a3cf714223c5d89333c85fe0ebc65c8103cda4210bc95ba10bc4e243f3ce76d16bcd9bf243c61a4ff3bbc1fdf3bae59f63b9306c7bbfc74c83bbeadc8bbef4dc9bb4102033c86bed0bb75a5e23b119cf23b5352d83b3127eb3b6d46c4bb63a2c53b19a6c5bbbf29c6bb25b3f73b2153ccbba832db3b8929173b0d09083b43dd123b2b45f9ba8e91fa3a78dafaba6f72fbbaaf191a3b304501bb77b0093b5583873c3a96773cb93f843cf4fc64bce427663c9d4c66bcadcb66bcf2b6893c4b9d6cbc0e367a3c1ade2a3c7f99163cf921253c5afa06bc3f23083c810a08bc137008bc4fc62e3c57350dbcb5d2183c68bdc43b54c1ad3b8a36be3bd2819cbba2799d3b40b49dbb95289ebbae32c93b0f87a3bb2b44b03b7e6ece3be7b1b43b6d13c73bf9a9a1bba2c0a23b6ef9a2bb0b79a3bb317bd33b925da9bb587bb73b1791373bc7931d3b8916303bc9990abb8fcc0b3bf9e10bbbf65c0cbb5fb93c3b492912bb725d203b4d8e003c4857df3bfa78f73b554ac6bba0c2c73bf902c8bb3aaac8bb29dc033cf968d0bbca00e33bfcc0e73a8022d13a6f5ae13a93f4bfbaede8c03ad127c1ba719bc1ba2a1eec3a02f9c6baa29ed33a92da8a3bbad7613b555c833b03a93bbbcddb3e3bb8253ebbaf0b3fbb4c08903b0d624abb355f673b78a2fa3b6780de3b05abf23bccfac8bb9371ca3b0f75cabb6503cbbbdc08003c5ba2d1bb7495e13ba6934e3b66d9353bdd90473be1de22bbb344243b742a24bbfda724bb735c533b84762abb438e383b1d40563ccf1e433c67d7503cea8834bcee5d353c148e35bc57f135bc58f0593c457e3abcfe38453c76bf273cf4b3133c2d10223c130b04bc8472053c791705bcab7b05bc3aa02b3c77300abcffe5153c8ce5b13b1be9993b1306ab3b8c0b88bb1351893b8d3f89bbc9b289bbe09eb63b21218fbbca7f9c3b6200623b239e493bc60e5b3b406c37bba26e383be2ae38bb982839bb9dc1663b8ad03ebbc3454c3b45b5003b0c74db3a5867f63a6953c0ba8af2c13afb26c2bab6d6c2bab686043bd11fcbba667cdf3a59d4123b1a73f13a57280b3b84ceccbada9ccf3ae22ccfbab70bd0bae231183baee6daba5ae5f63a5744713ba391563ba39f693b3ad042bbedf9433b662b44bb00ae44bb2185763ba2c74abbfa74593b76fba03bbb88913b81a19c3b68a785bb1d58863b3c7c86bb95cc86bb69f0a33b76828abb8d3d933bff3d2d3c82381e3c46fd283c64ec12bcce76133cc2b713bc1c0514bc4224303ca69117bccdde1f3c355c7c3b924f563b3141713b2d5c3bbb01363d3bdd213dbbcbc83dbb3a0b823becdf45bb53515a3b15cfc83b2e16b13b2801c23ba6489fbb4caca03bcd78a0bba6e8a0bb3a7dcd3b7a46a6bb68a5b33b59633e3ab004123aa91f313a1f0ae8b9010eed396bccebb9592cedb9e4c4473a3395feb9c38a163a62318a3bd350723bc758853bac0a59bb354d5a3bbace5abb9a7c5bbbf0818d3b166863bb2f07763be6a9093c81f1f03be1c2043cf7cad6bba5d2d83bd58cd8bbaa31d9bb30060d3ce21ce1bbc2adf43b087f193c3f56073c074e143c3c50f3bbb15ef53ba726f5bb9ad4f5bb0d0f1d3c211efebbba4d093ce99d623be428453b510d5a3b21eb2fbbb870313b8e5331bb61d931bb2590683b413e38bb6248483bbfbe003c4222e73bbceaf93b309dd3bb56edd43b58efd4bb736dd5bb995a033c5361dbbbfef8e93be0cc0a3b1beee53ac3db033b3d73c3ba2656c63a1aaec5ba4e7dc6bab19f0f3b3faed0bac7f6ea3a4233913badb57e3bbe128c3b0a5d64bb2e16663b2a2666bb2dd166bbaabb943bdbde6ebba546813bfc1c7c3b0af7613bd1b1743bd4074ebb8e5b4f3bf8654fbb5ce84fbb0897803b610a56bb8dd3643b7411f53b98e8d83b1302ed3b8eeac3bb5e57c53b6056c5bbc5ddc5bbfa9afa3bbf45ccbbf4f3db3bd4636f3b0fd7543bb5d8673bcb9c40bb7809423bd2fd41bb748142bbd38b743b86b248bb33bd573b34718c3b694d783b38d9873bd69d5fbb40db603b445b61bbcd0662bb3c918f3bb8cb69bbbde37b3b90d5233b9af80e3bd5e11d3b5beefeba315e003b478800bb81ef00bbd9e9273b15bc05bb7d3c113b1bf24f3c8f2d353c2a51483c632b21bcff65223c028b22bc6f1023bcb22b553ca63c29bc7816383c97bd173ce9b0073c102a133cf761f7bba7cef83ba809f9bb96a9f9bb94e01a3c7e8b00bca16f093c78425e3c1831493c805e583c59c438bccaaf393c96ed39bcb55e3abc293e623c91883fbcd0894b3ce18fc93b2244b23b12f0c23b57b0a0bb86d0a13b43e5a1bbcf59a2bb3917ce3bd8c4a7bba4ceb43b6c46303c4dc2163c5bf3283c968403bc492d053c19c904bc0e3f05bc4b51353cbffc0abcab81193cd3f9183ca3820a3c14ea143c789efebbb9eaff3b9d1800bcb06400bc10bb1b3c14e603bc121d0c3c29aba53b8bd7923b8958a03b0cb584bbb15e853b75b485bbcb1686bb544ba93b9c8c8abbd2e8943be657e03b2c4ac93b37d4d93b9ca7b7bbc8bdb83b82e0b8bbfd55b9bbbbc7e43b01cebebb0dd3cb3b1814773b8d8f583b80596e3b0fbb41bb5351433bac4643bb81da43bb64127d3b24d14abb18dd5b3bd4cd833be837683bc5967e3bf23b51bb8093523b53ce52bb596653bb57e9863b917b5abb9b986b3b3409f83b1e86dc3bb73bf03bc9b9c7bbf5f5c83b4e2bc9bb1db8c9bb0e5efd3bf52dd0bb2688df3bc646db39d1f39a393f03c8393d845fb955136739cfd464b988ba66b92be8e83949817fb98e7ba139063d293cf934173cb724243c179909bc0d440a3c958e0abc95ec0abc4db52c3c51350fbc8030193c16c77f3bfb6c603b80d3763b28ec48bb8a834a3bab854abbc71f4bbb97f5823b225252bb21d3633b903b453c1ce82d3c349e3e3c56041cbc76551d3cec3b1dbc2ab01dbcaabf493cc92623bc4b75303cb8ab9a3b39e0873ba84b953b3ac073bba693753b02a875bbe85e76bba15c9e3bc3f37ebbf9e8893b0141133c46bb033cfddd0e3c13b3efbb5f31f13b6158f1bbfff6f1bbf53d163c0754f9bb0370053c8d22083c997af33b9a0f043c3d76ddbb85e6de3b0efadebb8b8adfbb90e90a3cb854e6bb4aa3f63b512aa33b5e19903b01c19d3be09181bb9b95823b139082bb95ef82bb10dda63b226487bb5c2e923b4703833bd183653b5db17c3b1d424dbb0e124f3bdde14ebbc77a4fbbec39863b04d156bb3e04693b5606713beca1513b720c683b2af939bb5fcd3b3b188f3bbb38263cbbad2f773b294d43bb6407553be6932439e2b1eb38666f16393e2eaeb83fbab338d9ecb1b84146b3b8f9a92e39c5c6c4b8b30ef538ca3eb33beacca13b3955ae3bb25d94bbf026953bab4e95bb1caa95bbae95b63b78dc99bb2abaa33b3dfe0f3c793f033c2f6a0c3c7e71f2bb6edbf33b2ed6f3bbe15cf4bb1e6c123cb98ffabb21a9043c0d16913bebd9823b60108d3bcbff6fbb6e3a713bd28371bbed1572bb4fd3933b13dc78bbe36a843bb868d83b1a92c23bdb45d23bf096b1bb3eb3b23befc4b2bba336b3bb9492dc3ba37ab8bbbafcc43bb69c0c3ad775e53925e2043a5adec2b9ee5ec539880ec5b90bdac5b9f412123ae4fdcfb96abdea394c5a033b72b6d93a178af93a94b3b9ba0236bc3aa3c7bbbacf8bbcba0bf1073b300cc6baa76fde3a815ad03b4741b63b2fe9c83b0bcea2bbb1fba33bac23a4bbb7a4a4bb1c74d53b70a5aabba716b93b1b7bcd3a76ccb33a931ec63a88aea0baf902a23aaff9a1ba1076a2ba828bd23a8d4aa8babe91b63a2c9aa23b99ff923baa399e3bc5e986bbab99873b51c387bb841588bb4791a53b1ddf8bbbe8ba943b8a43c13af9c7933a63b0b33a997f69bad2286f3a89546dbab8b16eba81d9ca3a323f80ba576c983a761e043ac321d2394848f8395d44acb9746faf399babaeb96388afb99cb5093aab9abab996bfd739bbd6cc3b8551ae3b9d09c43b6cd397bb358c993b8a5099bb34dc99bb8eead23b8a9da0bb7b95b13b183e7e3cb88d683c1730783c11b057bc7b7f583ce5e458bcd35a59bc6d2a813cc0b55ebc16fa6a3c90f4343cd465253c1d9a303cef5219bc6df2193c582e1abc75811abc6ee6373c15511ebc6d21273c18a7073c5a9ff13b3270033c2917dbbbd190dc3b21a3dcbb8237ddbb55880a3ce127e4bbb7ddf43b3977b53a94b1963a8f99ac3a85b17fba08c1813a485881ba54e481ba0495bb3a15b388baf0fc993a2785f83a2697d73a8a09ef3a0e63bfba190ec13ad102c1ba0f9dc1ba4910ff3af0f5c8ba311fdb3a16833a3be50a1b3bae6b313b420c04bb57c1053b819205bbd82306bb63cb403be60f0dbbbb661e3b9f62be3b20b3a53bf24fb73b328493bbc197943bd2c294bb793b95bb8a3fc33bc8d69abb695da83b80c03a3b2bd0283bd4b1353b8e1c1bbbd7d71b3bba121cbb486f1cbb6e303e3bf4ba20bb1ecb2a3b2c77853b2a6b5f3b6f5a7e3b0c533fbb6803423b506b41bb7e2c42bbc3d0893ba7b54bbbc80e643b83af1c3b5a8a0b3b82d1173b9aedfcba70c0fe3afdb5febacb5effba8f02203b74b003bb1e6a0d3b1d6c673ba1ee483b30a05e3bfca532bb3424343b7e2634bb57b734bb94806d3bb3803bbba2314c3be417a93b7bcd993b8dcea43b21f28dbbfd978e3b81c88ebb86198fbbdefeab3bd5d392bbac809b3b0335213b74f9093b37891a3ba4d1f1ba38f6f33a6a24f4bae707f5ba6bcc253ba482ffbac0790c3badbfc83b2e56b13b9513c23b8fad9fbb2fe5a03babe0a0bbd752a1bb5d51cd3bf2b8a6bbf4e1b33bec48453b9dd4303be0803f3b261421bbb826223bd82922bbef9122bb2139493b9c6c27bb2d14333b7479243ccb70113c58111f3c331a03bc19f7033c941704bc577704bc312b283c37e808bced84133c772ac13b07a6a83bc724ba3b8f0396bbf69f973b6e3f97bb8db297bbb4fec53bfb449dbbf64bab3b6d1abe3b569ba73bdbaeb73b12ca96bb14da973b63f097bb905e98bb3081c23bcf8a9dbb9b0caa3beda9393b7958203b5c5a323b43d60dbbcb210f3b00130fbb7c880fbb95b73e3b3b2315bb390d233b36bb3b3b2729253b4c4e353b244814bbc644153b7c7215bb90e315bb0921403b4c1f1bbb459e273b2cf6c63a8514b03aab6ec03aa2019fbaf806a03a702ea0badc9fa0ba0c70cb3a77e7a5baf290b23a73234f3b21d8323b480c473bddbb1dbb59301f3bc9291fbb78b31fbb4db1543b392526bb73e7353b00123e3cde05293c2e1b383c89ab18bcf8011a3c67c619bc4a2f1abced23423ce8231fbc5d542b3c74ff3f3b8049233b76a9373beda10ebb6c13103b320010bb158210bb47c7453b34bb16bb2555263b8d8d323bc6c4183ba61a2b3b16d905bb4c4a073b0e1a07bb059107bb44b4373b7c400dbb2d851b3bed42023a14b0e1394d82fa3965eec7b954c3c939b6a9c9b92b50cab9bcb6053a1722d2b9de6de539a26e113ca0a6013cbff70c3cc150ebbbebb8ec3be0fbecbbe99dedbb8f79143c0a15f5bb1462033c6670bb3b9381ab3b0bfeb63b951a9fbba6b49f3b27fd9fbb9252a0bb1a71be3ba441a4bb6449ad3bf946fe3b1699e23b9376f63b934ccdbbbcb7ce3bd7c4cebba952cfbb0fcc013c78e6d5bbb0a4e53bc380093b161aed3ab706043bff50d1ba5168d33aab28d3ba76d6d3ba814a0d3bd031dcba8125f13aae50c53a03deab3a93f9bd3a370199ba247a9a3a94419aba25b79aba9e62ca3abd61a0ba0f98ae3a0307fe3adcccda3a2ec4f33a6cadc1ba4150c33a305bc3ba70fcc3ba1c95023b1c9bcbba3b86de3ac0bcd73a3508be3a2a54d03a3007abba286bac3a5e4dacba9dc6acba40dbdc3a5587b2ba6dc9c03a6f33bd3b2729ac3bcb69b83bb5e69ebb77bc9f3bd1d39fbb542da0bbd572c03bb34da4bb8e0cae3bd9cdb03b207a9f3be8ecab3b293092bb02ee923baa1e93bbbe7893bb571eb43b56a197bb0b64a13b8befc53bfeb6ac3bbbbbbe3b61b799bbbf1a9b3bceff9abb8b7a9bbb2ee0ca3bed41a1bbf872af3b761ea23b4dd98f3b99f29c3b41f981bb3fce823be9ef82bbaa4d83bb68a5a53baf9d87bbfed9913bac52693a1e54413ab89d5d3a115425bac513273a0e3027ba5de327babf7d713ae65c30ba9c86453a168c483b9c9a303b00bf413b20c21ebb1fa41f3bd40220bbe47e20bb9f324d3bed1926bbbc37333bde3a273b96ec143b56f4213b816807bbf05b083b3d5108bb3ba708bbd0df2a3be5c10cbb40e3163b160a253c02de123caadf1f3cd33405bca304063ced2506bc388006bc3892283cd1ba0abca0d9143c07aea33ab7c5883a54df9b3a636d6abaa96b6d3ad4016dbaaaf66dba3318a93a85b079ba44a18b3a681b913b42a8793b2d478b3b2dbd5bbb5ad25d3b11c05dbbc6805ebb611f953b989867bb0d047e3b9c7d393c6e71213c28ab323ccaf90ebcb562103ce53910bc92b010bc01263e3c634f16bc9112243c50e8803be3b65e3b58c0773be6a744bbb87a463bc46846bb8a0f47bb615e843b81fb4ebb577f623b9bf1213c0dab0f3c24c81c3cc7c401bcd28f023c2cbd02bc091c03bc4075253cba7207bc5bad113cedf2983b2d06853b5a36933bb37e6cbbd1bb6e3b82776ebb85336fbbaae79c3bce1d78bbde29873b2de9633b7ee24a3bfdc75c3b8adc37bbec41393b432639bbe99f39bb28cb683bd16a3fbbd29b4d3b0795843b220e643b6e707e3b06f248bb14ee4a3b78be4abb95684bbb5d4a883be69153bb9a03683b3c7c0d3a7650d239a38a023af91da2b97441a6394a17a5b9a02aa6b93144153ac105b4b9baa3d939b7fa803b7a2b633bd625793b4c034cbb12c14d3b10924dbb6c264ebbbd01843b3f2b55bb9d7f663be7e4a73bfd26903bcb0ba13be3f27dbb01f47f3b6a2480bb2b9680bb569fac3b46dd85bba1b1923babfb923bbd6d7e3b9a438d3b33a061bb6bb2633bb18963bbbe3d64bbb0f0963b84eb6cbb5d52813b90061a3cb497053cfb2e143cdcceecbb18c5ee3b1ddfeebb5aa4efbb52091e3c8ef2f8bba1cd073c6979e33a877ac13adbb5d93adeb8a8baf71daa3a936aaaba2710abba4b32ea3acdb5b2baa122c53a15d2753bf1335c3bcc8f6e3ba0b248bb9dec493b7d0b4abbb68c4abb55c67a3b6e9550bb7d025f3b2e5ec23b3676ac3bc826bc3b5ae39bbb6fec9c3bb2079dbbbf759dbb5e9dc63b1495a2bbefdaae3be4ed9a3b5a8c893bb8fe953b46b078bbad6d7a3bbb807abb862f7bbb174d9e3b19a981bb92728b3b2441db3b391ebf3bc320d33b4f82aabbf9feab3bcfe1abbbe263acbb42dfe03b3f9cb2bbed1fc23b65d9b83b89a0a13bdc38b23ba06890bb3f62913ba59891bb220c92bbe564bd3bc36297bb6a25a43bb83fb73bea259d3b2ec7af3ba87589bba00f8b3b92c48abbfb3f8bbbe460bc3b2b2a91bb09f89f3b5bd2193c1685093cbb36153c5228fabbbfa0fb3bc9e4fbbb128ffcbbeaf51c3ce12702bc02500b3c3b7c3a3bf50a2b3b7e34363ba3d81ebb3a6e1f3b1ab91fbbf50d20bb075c3d3bccf023bba1c82c3b17a2fa3acc77d53a48e1ef3a765cbaba3550bc3a3e2bbcba7dd8bcbaae09013b8b09c5ba6a6ed93abec7763a0ae4523a67686c3a547438bab4913a3acc323abac4d73aba06f57d3aa0c042ba1db8563ab1fc493b0c16343b39a8433bc04d24bb372d253b816025bbc3c625bb7b5d4e3bfea02abb6e6d363b05991c3c8d36083c28d2163c80e5f0bb9572f33b3805f3bbafcdf3bbe289203c915afdbbdc710a3c7390083c242bf73b23e5043c3a79e3bb5e84e43b7cdae4bbce5fe5bb22100b3cd58aebbb3806fa3befe4c83a447aaf3adca7c13a325d9cba3b9a9d3a54ac9dba272b9eba23d9cd3a690da4ba963eb23a3485503af16a293a04f7443abc580eba386e103a011410ba52b410ba24a1583aeeac18bae1772d3a6ef9f23a0776d83a5b76eb3a5f7dc4ba528ac53a61e3c5ba176cc6ba5419f83ac6adccba285edb3a4a4c913bfaa5793b216b8b3b7cb95bbbaf715d3be9c55dbbef8d5ebb7958953bb7ca67bb970e7e3bb099f53b2cded13b925ceb3b5217b7bb1b29b93b7be0b8bb9a88b9bbc3a3fc3bfa9bc1bb14b9d53bd6a4133b373df83a69c50c3b8058d6bad931d93a8d8ad8ba7d58d9ba036f183b535de3ba6f30fd3a2b637d3b4c375e3bf58b743b38ca46bb7711483bdf6c48bb600e49bbecb5813b916050bb91a0613b13fe0c3cf8d4fc3bafd8083ce0b9e6bb1037e83bdf3ce8bb68cde8bb0ed40f3c6a96efbb9301003cd48f0c3c7bddfd3bedb8083cf1d2e8bbc220ea3b2e4aeabbfad7eabb8b2b0f3c0c63f1bb3470003cf2b22a3cb474183c0183253c61730abcfc8b0b3c32650bbc15be0bbc3e3f2e3c0efd0fbc54721a3c9547903bd4e77f3beeaa8b3b838f66bb5781683b824968bb0bef68bba46b933befaa70bb10bf813bc1ee9a3b666d833b5e1b943b499f64bb4859673b8cdd66bb4faf67bb3fab9f3b40e471bbd3eb853b3ddf0e3cb54c003cecc30a3c3b1feabb058feb3b19aeebbbde43ecbbc8a9113cbc3af3bb30e8013cbee1af3b01e59d3b25ceaa3bf81190bb04f0903ba70791bb456491bbe755b33b8fae95bb4be09f3bc787cd3bab13b53b0f92c63b67b6a2bb2cd9a33baef9a3bb0474a4bbed4ad23bbf1faabb93bdb73b9e71e23ac849c43aa7cfd93aa3e8adba175daf3a286fafbab403b0bae25fe83a80e2b6ba058cc73ad173053cdf47ee3bca64013ca770d8bb44e9d93bf2efd9bbf27edabb3439083ce835e1bbe269f13bd9f5aa397bab6a39e5be9a3941c424b969892a39fa0a29b9e3922ab92682b639ce9a3eb9786b75396371e93baacacd3b2678e13b838bb9bb8decba3bede6babbc767bbbb46f2ee3b3c8cc1bbfcc0d03bc308a33bb6ca8f3b14889d3b6c9281bbbb5f823b468d82bb57ec82bb2bd0a63b405487bb17e0913b29e0323b9adf193b00c22b3bbc6d06bbf54e083bc9b407bb8a2b08bb48bf373be5ef0dbbf5971c3b1e37013c40c0e83b1d3afb3bdecfd4bb4a02d63bb635d6bb5ebdd6bb1aa8033c21f8dcbb4099eb3b183e233bbf860c3bc0b31c3b37cff7ba97faf93a840dfaba33e5faba0fc1273be78402bb62f60e3b6b71013c3858e93be2b0fb3b73b2d5bbd4ddd63b7e11d7bbd095d7bb45e3033c73b5ddbb132aec3be6888a3b78437a3b29c1863bfaf765bbeae5663bbe6867bbe1f567bb391b8d3b0f626ebb3b387d3b893bf13ba2e2c73ba865e53bdda0a8bba74eab3bdcaeaabb516babbbbc5cf93b24beb4bb1659cc3b19a3fe3b00dce43b3c55f73b8c16d1bb317ad23b6070d2bb8ff0d2bb74cf013c5bffd8bb09afe73b2664f23bbdf2d93b0685eb3b21e1c6bb3535c83b3c32c8bb58b0c8bb8f0ef73b1c92cebb7aa6dc3b52296d3b5be5533baafe653bcbd240bb3aec413b852542bb13a542bb010e723bfa9248bb26a9563b7dcda93b2f5e973b1299a43be20889bb38188a3bb8048abb1e648abbc057ad3bf8c98ebb4866993b1bb0883b3c54703b07f7833bd1e857bb9146593be39759bb763b5abbe3ed8b3b32ce61bbd8e8733b2151c53beaf2ab3b300bbe3b704199bbb66a9a3b0c879abb7a019bbbd251ca3b39bea0bb1fafae3b09bd923b87d9823b593e8e3bb2886dbbf0f96e3bd6356fbb77d76fbb58cd953b285977bbe197843b77991c3cfe7b0c3c5302183c373d00bcf21d013c481201bc5d6101bc5ebe1f3c2b1e05bc463d0e3c8bb5b03b89a99a3b886baa3b451e8abb8a378b3b1d3f8bbba8ab8bbb8205b53baabe90bb2f0e9d3b3d3c043c51a3ea3b08ffff3bdb2ad4bb8e84d53bd1b7d5bb5f4dd6bb8d21073ca342ddbb27e5ed3bc4fb9e3b9d15893b94a7983b03f871bb217c743bf71774bb82df74bbe25ba33b9b847ebb196c8b3bc83c1f3c49190d3c461f1a3c510efebb5d06003ce0fdffbb225c00bc40b7223c5eb004bc22190f3c6f17213b2b10073b528d193bc8bfe8ba8921eb3ab240ebba8c31ecba0950263ba48ff7baafd4093b0324343c5fdb1f3cbd602e3c6a8110bcd07d113c728f11bc13f511bc2514383cb3b016bc8312223cb8ef803b6d93623bcbee783b353a4bbb4cb74c3b6ad24cbbdf6b4dbb7f00843b4e9954bb4ef8653b0dfb243c598f123cf7bc1f3c79a104bceb90053c069505bc10f005bc5991283c40360abc4291143ce545443b97e22a3bd4f93c3b2a4e18bb706e193b819119bbd10a1abb644c493b4fbf1fbba69d2d3b35f61c3c4a00083ca7f5163c47cff0bb77f7f23bcce9f2bb26b2f3bbcc15213cfb31fdbbdd430a3c7d3fb93b9a47a53b2898b33b4e0896bb0e05973b971597bbfe7a97bbaf1abd3bd6309cbb1078a73b3caac93bc013b23bb5f2c23b6059a0bb957aa13b7290a1bb6805a2bb5543ce3b3d7ba7bbf9a4b43bfe28543b674e2e3b5ffa483bd22914bba51e163bbed715bb947516bbb0005c3b622f1ebb953a323b4645bd3be12ea63bf6aab63bd7f694bb6720963b842196bbfe9096bba7cdc13ba6d39bbb6caea83b18cc033c1ba1ea3bab59ff3bafd3d4bb4637d63b2152d6bb26e1d6bb719e063c2a97ddbb84c8ed3ba1a3583bd3163e3b6802513b02af2abb8ac82b3ba7032cbbf5842cbb99e55d3b8d8332bb55f2403b6e5b9d3b539c8e3b612c993b0f6d83bb3814843bfc3384bb907e84bbd936a03ba2f887bb183a903ba744b13b3c8c963b969ca93b2c4182bbcc14843b199683bb0c1284bbe287b63bdb198abb416e993b7895873b1f78603bb0d4803b65583ebb1301413b979640bbc06941bb18418c3b479e4bbb7771653b18dd6b3bd359503bc101643bb2b63bbbbb133d3bd91e3dbbe4a43dbbf341713ba4f843bbe555533b6aef753ba530533b51f16b3b3c4a39bb89603b3b33013bbb6ba33bbbe6d17c3b476743bb13ec563bd327703b4ec1523be6b0673b821d3dbb8f993e3b6c913ebb981a3fbb9efe753bc3ac45bb2fe9553bc10cce3a4361b53a9df6c63ab434a3ba095ca43aa770a4baa3e6a4babaeed23abd77aaba0e09b83abf93d13b0e23b73bee0cca3b32e0a2bb737fa43be73ca4bb4fbda4bb55bbd63b27deaabb1704ba3b4054863ad920573a9ff37c3aca9e31baf96c343a460b34ba26ef34baf7cf8b3a9b0e40ba11b85c3ab560ac3a2e198e3a4c8ea33aae5270ba8a13743a912873baa33174bae782b23a089280ba174b913a8eb21f3cb67d0b3c2ef3193c0069f8bb807ffa3bf47efabbdc47fbbbf9a0233cc25302bc5db10d3c629c103c2dc6fe3b68b90b3c8490e4bb125ae63bdf5ae6bbdc05e7bba0f2133cbf10efbbfb44013c669bbc3b9642a23b0600b53b84f98ebb6c5f903bf64190bbc3bb90bb88dcc13b2c8d96bb8513a53bbdc6c53af4eaac3aad88be3a1f479bbadf519c3a06779cbad5e89cbac4d0ca3a1e4ba2baf88baf3afaf4433c7f86323c8c0e3f3ce71225bc01d0253cb90526bcef6126bc1648473c089b2abc3475343c98a7133a4245e339428a093aee50b4b90080b8397142b7b9a255b8b991c71a3a6aeec5b9f942ea39e03f593b24433f3b55cb513bf6272cbbd94a2d3bd8752dbb13f32dbb3e615e3b6ed433bb7710423b7828493b23862f3b7bbf413b4eb71cbb501b1e3bf3f71dbb0f6f1ebb97484e3bd71a24bb3343323b62f5c63b5916ac3bd745bf3b853c98bb9468993b189999bbb01d9abb6f3ccc3bf53ea0bb68feae3b75ef943b9707873b0d0c913bf74c78bb5796793b8ed579bb7a6a7abba190973b4a9e80bb0e94883bed49bf3bb562af3b73e1ba3b57c7a2bb156fa33b17aea3bbb704a4bb2c40c23b0404a8bb592db13b8cb2953bb5f37e3b23568f3bdf755dbb6a31603b99af5fbb148360bbe1109a3b57926abb34e0813b55d2963bb20b863b2209923bdbf372bbea8e743ba3ab74bb954f75bb111a9a3bbd097dbb3fde873b4cff383c18c32a3c080c353c5e8a1fbce707203c145c20bc58af20bc76a73b3c144a24bce75d2c3c44a4893b1fef753b9b78853b609e5fbb6727613b302461bbb9b461bb407e8c3b408b68bb3023793b24ad333c3239233cc3072f3c59a716bce35e173c498817bc72dd17bcdbd6363c93c91bbcfd08253c21a3b43b108e983bfaa0ac3bc10683bbcff0843b057284bbf1f484bb961fba3b7c608bbb3a9a9b3bf77bd33bde48be3b1174cd3b684caebbc446af3b4066afbb53cfafbb3c9cd73bcbbfb4bb1d99c03be5a8343ae529143a991b2b3ab0bdfab9be1cfe39bfb5fdb9f6d0feb9fd573b3a353206ba2e8e173a9cb1283bdbf10c3b33a9203b9988f1ba318bf43a8432f4ba112ff5ba7c402e3b15a600bbf5e50f3b6688653b75b1453b41485c3b16e72ebbee60303b116d30bb12ff30bb61f46b3b95e937bb8911493b8eab983bcf5c853bb928933ba0d46dbbadb46f3b5bce6fbb6e8e70bba3729c3b687079bb6175873b9e2df33b7589dc3bffccec3be917cbbb8e20cc3b3350ccbbddc5ccbbd183f73b3237d2bb6d09df3bbb35c73bdcc7aa3bde0fbf3bb19295bb571f973b72ff96bb998797bb0fd0cc3bbff69dbb01d9ad3b139d343b9bb2193b1ee02c3b690006bb263d073b5b5607bb10d807bbf5f1393bc4e00dbbde961c3b730aa53c4d79953c32b0a03c1bf488bc1b008a3ca2cf89bcbe208abc47fca73ceef28dbc4a35973cb404cb3bafd3b33b745fc43be087a2bb18bba33b07b3a3bb0a22a4bb3f96cf3bcd66a9bb1355b63bfc83c03bc2a2ad3b9936bb3b613b9fbb16d79f3b9044a0bb06aca0bbb61dc43bfd44a5bb65baaf3b583ad43b3847bf3b074dce3bdb5cafbb3943b03bf878b0bb4de4b0bb0a44d83be4dab5bb9d94c13b6748ab3b532b973bb492a53ba6dd87bbf8ea883b86e988bb204e89bb412faf3b4f008ebb9d5d993b334c743bb509553b164a6b3bed1e3ebbfbaa3f3b78a93fbb783c40bbd7837a3bd53447bb8363583bee089f3b533c8d3b8bf6993bcbe47fbb83b6803b6edd80bb703681bb6482a23b4f5585bb002c8f3b89bb7e3b18025f3b1998753b14af47bb9e49493b6a4049bb03d649bbc384823b2dec50bb5b69623ba302413ce02a293cea3f3a3c69c916bc2a3f183cd80618bc8e7c18bcc49f453c620f1ebc7cc62b3cb753083bb9cce63a9738023b971dc9ba2e11cb3a3017cbba82d5cbbafe930c3b6ed0d4ba6d36eb3a1f04183c2c7f0c3c2bcc143c137803bc32f8033ced1b04bc015a04bca8301a3c2c3107bcaec80d3c3552573c9b58453c9b48523c775937bce527383c705538bc01b438bc33bb5a3ce4153dbc7658473cf420dd3b38b2bd3be022d43b091ba6bb58e0a73b69afa7bb0644a8bb294ee33b5f67afbb2018c13b3424913bf3c6823be31a8d3b3b326fbb1cab703ba9bf70bbcb5471bb74e1933b7f4278bbd55d843b917c023c2819ec3ba9f3fd3bb4f0d8bbc52bda3bb844dabb87c4dabb85e0043c2bb3e0bb52d6ee3ba2d4e63a2169bf3a855edb3a2227a3bac926a53a2305a5ba2bb7a5ba2ac9ee3ada37aeba4c95c33a03250b3bd7ceef3aa28e053b661fd4bae009d63a60f5d5badda2d6ba72050f3b90fbdeba9ee3f33a1612ed3af856be3abb70df3a03099dba408d9f3aad349fbae201a0ba878cf63a71eea9baf342c33adeb75b3b44c6383b19a3513bcdca1ebb0502213b667e20bb871c21bbc5ae623bffd628bbfd823c3bbf38963ae0d07c3a80388f3a573d5bba9cdf5d3a4e695dbae6345ebaef1e9b3afe2468ba9ae4803a42900f3b84bde93a3fcc073b39d6c2baab49c63af857c5baed42c6baebf3143bfcb5d1bae362ef3acadd093b90e9e43ac809033b9b73c3baf4e2c53a92a8c5bad47cc6ba059e0e3b2688d0ba14dae93a450f2e3cde2a183c82d1273c89ad07bcf9d2083c1ecc08bc6a3709bca955323c61410ebcd18b1a3c7f51d53b53a9c13bfccdcf3b9370b2bb5048b33b1f83b3bb61eab3bb2a0ed93b91b1b8bbead7c33b854b9c3ac4c8823aeddb943a69bc61ba37c7633add2364ba070d65babc77a13a79fc6fba8779853ae889723b49ae583b96276b3b658b45bb298c463b87df46bb2c6047bb229b773bf0564dbbc17c5b3bcc5d6f3b73fe533b3c90673b46683fbbd1c3403b63d040bb565741bb9ab6743be5a947bb22f8563bd3c1ae3bd2189a3b0cd2a83b05ed8abbd3da8b3b9cf58bbb37598cbbf0d8b23b1e0291bb01529c3b616e7b3bbbc75b3b0053723bef7b44bbe90d463be40e46bb5ba646bb70db803bc6c04dbb732d5f3b9fe4bc3bdbbfa93bdd75b73b4f279bbb8c1c9c3b6a289cbb86889cbb8a9ac03b6608a1bb67d8ab3be446793b644b5b3bbdbd703b4fd044bb8d35463b065b46bbc6ef46bb961e7f3bc8dd4dbbab8e5e3befa4b03b80489a3b4242aa3b9e8e89bbc2ad8a3be2b18abb601f8bbb8806b53b9b3e90bbb0b49c3b98be903be1447d3b32888b3b34b062bb106c643be07b64bb6d2765bbe256943b31446dbb3c94803b8bcb963b6dfe833be86d913b7d066cbb14ab6d3ba8f36dbb9daf6ebb64799a3b935777bbd008863ba5afc33b089bad3ba063bd3b21e29cbb301a9e3b6b039ebb2e6e9ebb2600c83b7884a3bb9201b03b8380033ce83fe53be948fd3bcb4fccbbf027ce3bc8f9cdbb4f97cebbcbda063c191fd6bb83dee83b585f8e3b7684773bc2fd883b6a495cbba4525e3b53175ebbd5c15ebb6b18923b0cf166bba17c7b3b053a893b780d713b9d7b843b232558bb006e593b30e259bbba8c5abb2a788c3bbc5762bb82b2743b0d53ca3bb31ba73b1001c03b50ef8dbb6321903b958a8fbbdf1d90bb7f87d13b867c97bb88cbaa3b5d8c7a3a4fc5503af9626e3a6cf432bad8fd343aa7ee34ba75ac35ba1f80813abdab3ebaad2f553a4eb2ef3bb32ed13b3709e73bcfc7b9bb628fbb3be05dbbbb87f5bbbbe39cf53ba115c3bb1e84d43b95af963b795f823b6de3903bccac66bb3962683baebf68bb378b69bb17a99a3b5dde72bb5093843b142f813c76286f3c19057d3c4ade5fbc27cd603cb5f360bc7e5c61bcf3fc823c832866bcdb4f713c7fe3de3b0cb1c73bfd55d83ba6e0b5bb7406b73b261cb7bbda92b7bba259e33b2a16bdbb4e3eca3bc700bc3bcfffa43b5b6bb53bcbc093bb9302953bebe994bbbc5795bb3387c03bbe939abb507ca73b4d65a83b9654903b8983a13b43e87cbb2b3d7f3bae567fbb2d2180bb5d1ead3b169c85bbfeee923b88ff143b81d4f73a82bb0d3bae0dd3ba741ed63aaf74d5ba4e57d6ba70071a3bdc45e1ba1b2afd3ab663423cee9e2a3c54a13b3cc59418bc0cdb193cbdce19bcf9431abcf302473ca7c71fbc3c362d3c9e48fb3b0f69db3b4441f23bfb36c2bb9da5c43b66e2c3bb8c7bc4bb05b9003c1cfecbbbace7de3b35c36e3aac304f3a7aad653a3e4938ba9689393a88db39ba40753aba2a08753afd8a41bade93523a6aabb73a03f4a23ad3bdb13ac09493baa680943a7fa294ba9a0795bad1bdbb3a42c599ba6732a53a2be9343be9d5193b58ec2c3b140907bbd262083b014208bbe3b508bb1e843a3bc14d0ebbdaa51c3b2944013c1328e73b1ecdfa3bf83ed2bb217dd33bb5b3d3bb2641d4bbede5033c05c3dabbf02aea3be1e97c3c3f2e663c758b763ce73654bc4c82553c517555bcfdeb55bc289d803cbd765bbceeb4683c564d9c3be3b38a3b634b973bfbef7abb368b7c3b77c37cbb00747dbb2dbb9f3b3fd282bbbe9e8c3bba7d763be820583b0acc6d3b9ca141bbbe08433bd72a43bbefbe43bb5e777c3bd3a94abb15695b3bbd2aea3b43e1ce3bad6ee23b8e40babb2d79bb3b0eafbbbb013bbcbb6472ef3b29a4c2bb99ddd13b78138c3befed773b2a73873b62fc5fbb929c613b4f9c61bb733862bb6c438f3b688869bb4b677b3b8e34943bfcc57c3b21ee8d3b9dfc5cbbf4e35e3ba5255fbb53f75fbb9d87983b5bba69bba3ba803b3ee9a53bd5ff913b0e3ca03b160c83bb3f07843ba41184bb387484bbedcca93b030c89bbbf29943be5049a3cd7518e3c32c6963cb3e584bcdb84853c1d9085bc7dd085bc8e339c3cd1c288bc26a38f3c3b68933be918823ba2738e3bbd4e6abb171a6c3b1b106cbbbcb86cbbd6cf963bc39f74bb49f8833b9e55943ba0ee7d3b9f338e3bd5b85ebbd57c603b2cdc60bbe4ac61bb148e983b79516bbb6544813b80916b3bc3534d3bc6e9623b5c1f37bb2754383befa638bba13b39bb2583713b3d1f40bbd198503b52de8b3bf3c67b3bcfec873bb67666bb6096673b61f767bb578b68bb4a8d8e3b863d6fbbecdb7e3b7cd53b3c64ea283ca17e363c28691abc12481b3c026c1bbc20ce1bbc91773f3c1b5220bcedff2a3c4f8ddc3b79e5c23b7c46d53b6f63afbb87abb03bb8bab0bb373cb1bb4d85e13b6d3fb7bbcdb3c53bb2b0953bfc12853b53fa903b1b9870bb8e84723b015572bb48fb72bb79e8983b9cc67abb49e4863b8bdae63bffbfcb3bf028df3b9540b7bb5e86b83becaab8bb8034b9bb8e1cec3b628cbfbb0ab6ce3bdf70f43bbab7ca3b4d7ce83b8274abbb72f8ad3b1586adbbdd46aebbe5a7fc3b10a9b7bb4237cf3bc0957a3bd23d593b92e8703ba83441bb96d4423b9fcf42bb416943bb00a6803bf4b04abb6dc85c3b2d8b3b3b86dd1c3b77af323b6f8706bb5d15083b620508bb099508bbb0a9413b33590fbb5124203be0ed4e3adf2a2b3a6094443a32e810baee13133afba012ba2a4513ba3116563a00191bba41fa2e3af14ba03abc117f3a0ab5963ab6ee4fbac52c543ad9f052bac90554badffba63a51d161baaef8823a08947e3bdf045f3b388a753b1ca447bbf318493b7c3d49bbf8d849bb6965823be80a51bbd66d623b71e7d73b035dbf3b85ecd03bc7e6acbb050aae3bfd2baebb84a6aebbb6addc3b985ab4bbe609c23b4fa14e3bdc75373bc209483bb4ca25bb831c273b61fd26bbd56f27bbac24533b1ad12cbbcefb393bab6e093cfd58f03bdc82043c3980d6bbe228d83ba544d8bb48efd8bb8ecd0c3c8be2e0bb1f19f43bfee9f83b454cd83b9895ef3bd5b9bfbb899fc13b4b5fc1bba8fbc1bbf851ff3b3e69c9bb81d3db3b2198823bc9355e3b5bdb793b41d341bb762d443b70ad43bb425c44bbed86863b52ca4cbbf956623bb76b333bfcbd183b09a22b3bd9ed05bbcc17073b802e07bbfaa507bbb1d7383bf9590dbbc48d1b3bc7101d3bf6a1043b8004163bc097e5ba0903e83a13fde7ba9be4e8bab7ee213bbdbcf3ba3f3f073beb6d073cfaf4e83becff013cd7b9ccbbeabfce3b999fcebb5c54cfbb47290b3ccde6d7bbf10bed3b6cb4163ca03f033ce822113c6ab1e9bbba78eb3bdda8ebbb2767ecbb68871a3c3343f5bb3d5a053c7eef5c3c51613c3c9290533c1c9824bcef2e263c943026bc3cc926bc3a64633cea042ebc16df3f3ca473ba3b3733a53be564b43ba24f95bbb343963b5a6796bb7fd096bbc499be3ba1b99bbbff82a73bcf3a9e3b7d1f863be53c973bd55169bbd8eb6b3b359f6bbb32796cbb0d13a33b46f276bbf9ae883bce42ed3a007dc73a1d38e23ae3a4acbab79bae3a4967aebaf20dafba74f4f43af014b7ba1a76cb3af74a35385331b03767511838e89300b77dfb123724ac0db7b36c12b74d514a383bf350b7181dc237c6abd03b0d0db83b90a6c93b81a3a5bbfdcaa63b0ce6a6bbea5ea7bb417bd53be409adbbaab9ba3bae3ac43c59c4b13c98febe3c3dbba3bc3d9da43cd2b2a4bc650fa5bc30cdc73cee64a9bc13cab33cef7e063c9ff7ef3b745e023c0317dabb4972db3bb498dbbbd629dcbbbb51093cf6ebe2bbe121f33b2b6f3a3b594e1f3b649b323bf5870bbb0ad90c3b1cdc0cbb935b0dbb64d73f3b9c5f13bb2235223b8d33023c3719e23ba084fa3be4cfc8bb71abca3b4f7fcabbcf1ecbbb779c053cadc0d2bb8fc6e53b03be883b25b5723b1c53843b7add5bbb096c5d3bb1685dbb76fb5dbb79c88b3bf1f164bba806763bc8549f3beb9c8c3b7efa993b563e7dbb95207f3b7a257fbbe3db7fbb2602a33b153684bb7ba38e3b4adaae3b58e8963bfadba73bf7ce85bbe711873bcbee86bbbb5987bba8b9b33bb9778cbbe86d993bf571ea3be856cb3bac94e13b2849b4bb698ab53b8be1b5bb967db6bb2684f03bcea8bdbb0fb8ce3b3a72793b1659593b8946703bfc9641bb90f8423b273943bbffd743bb90bd7f3b3f314bbbecd25c3b5fc1f43bc313d93b3ccbec3bdabec4bb9c08c63b2120c6bbd5a4c6bb7b3efa3b02deccbb880ddc3b9c9c4e3cb5bf363c8dd3473c5ab224bc23e9253c9fed25bc396326bc2e40533ca0ec2bbcd959393c6584ea3bc3ffce3b75c3e23bb6fab9bbef1fbb3be375bbbb7609bcbbe3c8ef3beba3c2bb5c09d23b23c1013c542ae53b3ed7fa3b937ecebba0f5cf3b050ad0bb2f9dd0bb58ba043cd991d7bbb674e83bae40563b7849353b5dad4c3bc57f1dbb67491f3b990f1fbb69a21fbb0ae65c3bc6bf26bb1ac7383b2c312a3b0016133bac8b233bab1e02bb433e033b444303bb60b003bb83c52e3bf3db08bb7b91153bb972b13b7d4a9f3b854bac3b8c9191bbac62923bfc8392bb32de92bba2f7b43beb1d97bb0c47a13b4d05cb3add779d3a9497bd3aa81b7bbaf44e803ab1247fba374c80bafd6dd43a219a89ba8c31a23a0fc9413c69a2323c9b8e3d3c7eb526bc5361273ca68e27bc50e127bcc7a4443c82a32bbce353343c3ebfb63b0416a43bd365b13b243996bbb815973b7f2c97bb528897bbcb6dba3b16cd9bbb641aa63be0c2c83b0299a73bd72dbf3b103b8fbb3639913b6dd290bbf36591bb7e62cf3bbca598bbe121ab3b0b3e783cf3d95f3c3b55713c5b774dbc016c4e3c84c14ebc0d404fbc47f57c3c8c0255bc6286623cf1c1af3abc4f933aab7da73a50207dba4151803ac3d37fba386980baa97eb53a728f86ba3853963a05b5863bda63633b7eaa803bdace43bb7e95463b1be145bbf6a146bb7fde8a3b890750bbb7e7673b3176263b56ce0e3be99f1f3b7eecfaba9f93fd3a3f37fdba770efebab2302b3b3b3b04bb5d54113ba285003b3384dd3a79c4f63acf99c3bac779c53aac53c5ba3cf8c5ba7b14043b59cacdba504de13a9141cc3bbae7b63bb93bc63bcc7ba6bb1287a73b3c9fa7bb090da8bb6e5ad03b0b24adbbc241b93b1437a73b6eb6913bf313a13bd7a381bb8faf823b72bc82bb262683bb166cab3b571588bb9e0b943bfe3d253c183f153c15c2203cb9b608bc4e89093c8b9609bc2beb09bc8747283cedcf0dbcf805173ce9f7ad3b37f69e3bfbc2a93b9e4893bbe8f3933b331b94bb6e6a94bb71d1b03b761398bb3ba1a03b82b00a3b4924ed3a07cc043bf1c2d0bad0b6d23a5aa1d2bac052d3baf8cc0e3be2d8dbbac25df13a180e9f3bf3088c3b69a8993bda727bbb39197d3be16e7dbb2c307ebb86bda23b228b83bb2f1d8e3bc25db43bdd379a3bffcfac3bb42687bb1588883b4e6a88bb86e188bb5196b93ba79f8ebb12029d3bb8ce023bd608d73aa6eef73ae63fb6ba3ccfb83a905cb8ba5420b9bae596073bb8d0c2bad1e5db3a89ef083c8366ee3b0de5033cbaacd3bb7160d53b8382d5bba634d6bbbd610c3c8f72debb8b44f23bf24e703b93464f3b74b6663b6b7237bb402a393bd70439bb0c9839bb99f7763b55bf40bb4fc7523b12d0b43a28949c3a9adead3abe588aba1ec78b3a54918bba2e068cba2c96b93ae58791ba1a329f3ac32d453bc8d32b3b1eee3d3b28d018bba82f1a3bc5181abba2931abbe5274a3bb45c20bbf5912e3bb0d4e63b3553cd3b4497df3be30ebabbb23abb3b6a63bbbbabe3bbbba7c6eb3b02dbc1bbe91cd03b2f58bd3b71d8a43b4451b63b2c9292bbb3ec933b6fcb93bb5d3f94bb822dc23bedc699bbb77ca73b9154293cdadc173cac62243c1b7f0abc915f0b3cd66a0bbc3ec30bbc62b32c3c10e30fbcafc7193cd5ed8e3b529b7a3bd6e1893b101160bba01c623bc3d761bb707e62bbd765923bf4826abbcb6a7e3bcaa4a73a508b823a2fa89c3a8b3752ba821d563a477455ba12a156ba425daf3a9a9265bae85e863a0867bd3b99a9ab3b3663b83ba5269ebbe6e89e3b43189fbb0c739fbb8bd1c03bfbaaa3bb2e9dad3baf57bb3b65509f3bf54ab33b37788abb4f058c3be8dc8bbbf3608cbb95e2c03b23ae92bbba54a23b34841a3c7e9d0a3c4205163ce4c9fcbb316efe3b4d78febb8c18ffbb5d941d3c1f5003bcc35c0c3cfac1893b78d4733b3c41853b25f95bbba26f5d3bf89d5dbbb93c5ebb98d68c3bf99c65bbd048773b5bf8043cb480e53b228bff3be663cabb3312cc3bdf3dccbb1df0ccbb7888083cae47d5bb4974e93b8bc89d3b2a298a3bda1b983b81a077bb17c3793b028779bbe7397abb3cb5a13bf56c81bb0c418c3b3c6c9e3b3ff38c3b7a77993b0b697fbb2e88803b529e80bb3bf680bb70cea13bab0e85bb99dc8e3bd7a6183c9862083cb209143cb400f8bb8aa7f93bceb3f9bbeb56fabbc2cd1b3cc4fa00bcce290a3cf4f3c63b0a99af3b3b4bc03b150d9ebb58369f3b953f9fbb66b29fbb2f84cb3bb714a5bb9f22b23be0530e3c454cf53b96ae083c81d3d7bbad2bda3bf6c8d9bb3f82dabbd535123cb45ee3bbf989f93b60cd4e3b214a353b997d473bfe5522bb699d233b539e23bbd51824bb56d4533bcce129bb2a0b383b2da7c73b9af4b33b7913c23b8501a5bb06dda53bdd0ba6bbf36fa6bb1575cb3bd417abbbd21db63b10b5323ba1cb1f3b404c2d3bb69f11bb2192123bbd9612bb89f212bb196c363bc04917bb77d8213b94082a391013073970901f398c71deb80eb6e238966fe1b8968ce2b82c733139075af0b8aaa30a3929abbf3b7feba43b7efdb73bbe1291bb6a7f923bda6792bb33e792bbb2f3c43bceec98bbeacca73bb2e96d3b1c98523ba627663bd8d63dbbe63c3f3bf2423fbb55cc3fbb3236733b132e46bb4394553b2bcb613ba3d6453b69bf593b182231bb6ba4323b888532bb690a33bb4457673baa4f39bba3d7483b75562d3c8c351f3c9568293c12bf13bcaaa7143c2a8a14bc98d514bcddfb2f3cf55b18bca3cb203c4629f43baa84d73b7300ec3b3ee9c1bb5d62c33b2262c3bb5cefc3bbb5bff93bb28dcabb33a2da3be49a2c3b084f173bfe7e263bc79407bb3694083b94a608bb260d09bb5fcf303b8adf0dbbbf9a193b066f183c5560053c900c133c6ac1edbb6777ef3ba2c5efbbed8af0bb6f191c3c1391f9bb6f78073c3265cc3bbb89b23b0efec43bcf5e9fbb6d8fa03b88aea0bb982da1bb3e7cd13b1114a7bb2555b53b196f023c5a85e23b2119fb3bf1fcc7bb5c53ca3be6bfc9bbb663cabb4ec6053c9d55d2bb6e43e63b691f253c85d4133cdc3a203c4ba106bc9b73073c978b07bc5ae407bc7c75283c28fc0bbc5eba153c37dfb83bde02a33b7b99b23b5af092bb19e7933b900894bbf67094bbf42fbd3b706199bb4f5ea53b077f843bb26b683b98a87f3b3b3550bba9d3513b8fda51bb757952bbe9b4873b81e259bbd2ef6b3ba84d663b44f04b3b3acc5e3ba40838bb055e393ba56439bbe2e639bb19716b3b8d0240bb00cf4e3b8d50fd3b1424e03b9f0af53b2313cabba16acb3b9299cbbb652dccbb4a7b013c9703d3bbe554e33ba85ed83b3e22ba3bf7aecf3bb589a3bb2b5ca53bad08a5bb2d95a5bbbc59de3b935bacbbad62bd3b4405d83b9d70c13ba9a5d13b7012b0bbf632b13b7445b1bb1eb8b1bb2b5bdc3b8716b7bb1aedc33b1a63a83b0ba5913b7edba13b9ba080bb91fa813b5cc281bb702d82bbe2e1ac3b8d4b87bbc817943b00d2963b8386843bc091913bacff6dbbfec86f3b6ed46fbb4e8370bb5f6f9a3b63c678bb1b7f863b674fc73bb7d6ae3b4449c03b39c59cbbf3ee9d3ba0ff9dbb29769ebb3725cc3b67ffa3bbd579b13b30c6ad3b8bd79a3bf066a83b7a6a8cbbe1608d3beb678dbbe0c68dbb6571b13b323792bbe5e99c3b997e903b57f87e3bf5a48b3bc28065bbd213673bb24067bbd4e967bb16d2933b1ec56fbb3355813bcee9923bac607e3b97458d3b4ba460bbd4eb623b9da362bb8d6263bb49c9963be2636cbbf852813b8a83363b4d151a3b0f4f2e3b8ffb04bb60c9063bc15c06bb0ede06bb6d2d3c3b04230dbba21f1d3bc8de1e3c0b010f3c2f5e1a3c23d202bcc7b7033cffa503bca3f303bc0bf2213cbcaa07bc79bd103c3af1413bcec3273b33683a3b757f14bb82d9153b15ca15bb434516bb2123473b421d1cbbf6922a3bbf503d3ca795243c7740363c2c3a12bcf956133c457c13bcaaf613bc3829423cf79f19bc9343273c19593e3bbc07273b96b1373b436515bb55b6163b119616bbd50717bbf0e9423b67631cbb128f293b9553133c03ee043c02450f3c69bef3bb9c0af53ba149f5bb43def5bb7015163ca6c3fcbbcb84063ced8f943b3c0b7e3be26b8e3b0e775dbbefde5f3b46aa5fbb737c60bbdac4983b32666abbad5c813b020aa93b503e963bd9baa33bbbea87bba5c3883bf8e988bbe64a89bb2ca7ac3bc7c08dbb554f983bb984923b8ddf823bf60c8e3b7f376ebb4fd36f3b50d16fbb056a70bb8d95953b699c77bb2392843b904afe3b2adadf3ba49ff53b18cfc8bbd270ca3ba95fcabb05f5cabbca1c023ca0fed1bb1c2ae33b8e92a2392e49753925b79639a3d93db931064339dc4b41b90d8842b9beebaa39627a52b9597f7d39d8db9b3baf928c3bdb91973bc4b380bbad6a813bb28881bb51d981bbaac39e3b888e85bbe0448e3ba7b5e13bca3ac63b6fe0d93bf2aab1bb8df3b23bc813b3bbe39bb3bb5213e73b2cf2b9bb4937c93b4dd3863ba837633babad803bb06544bbe0c7463b4b6a46bbe42647bb36158b3b045a50bb89b9673b536aaa3b0f4a923b136aa33b44b280bb7017823b3cd981bbaa4382bb6d45af3bab8287bbf0d9943b9421913b669b823bfe008d3beb476fbbc99b703bfecb70bb0f5e71bb37f4933b7f2878bb6d31843b6d00483a44f41f3ad14e3c3a8bee02baec91053abac904ba077505bad924503a88f40dba532b243a43faef3a6292d13a2a40e73a10e9baba6198bc3a636ebcbab9ffbcba3ffdf53a74dcc3ba17d8d43afbc38e3ba50b813b53e78a3bc8f66cbba32f6e3b71716ebbd3ff6ebba963913bb09975bbcf8f823beb6ecd3bf2beb23b82c5c53be4df9ebb7e5da03b7633a0bb75b0a0bb13b5d23b54b0a6bb619eb53b31fc1f3cd87d0a3c8bd8193cc683f4bb6700f73ba9b1f6bb9e80f7bbfd31243c71aa00bc52d20c3c6de1a83bde20943b0af6a23bf97f84bbb296853bb38f85bb78f585bb19f0ac3b27bc8abbc561963b5267333c5135213cbf422e3c3c2513bc8826143c691b14bcf77514bc1de8363ca1c518bc6c35233cabed013c2572e73b05c4fb3bf40bd2bb256bd33bd883d3bb0611d4bb2cb3043c11a8dabbc589ea3b9a91b93b8cb4a63bff3bb43b7f5398bb2c2c993b965399bb02b499bb2234bd3b532d9ebb46c7a83baab3103a43a4023a7e9f0c3a302cf1b96617f2398591f2b97918f3b9eb88133a8c5ff9b97624043a9fb3b53b7fa5a43b28e7b03b148097bba542983bcc6b98bb67c498bbf4f5b83bf9df9cbb5088a63bcd6f2d3c337c1c3c92a9283c697a0fbcca37103c556310bc0dbb10bc0bae303c75cb14bc805b1e3c0ba99d3b79c6853bc3c3963b766268bbbe246b3b44b56abb7d916bbbc76ca23b431c76bbab53883b16f72d3aaba10b3a9adb233abd3ce7b9d7f4ea39b156eab9547eebb9090a353a3cb6f9b9da340f3af210683bd3424d3b0b66603b365b39bb42913a3bdab73abb173a3bbbc6546d3bcb5b41bb122a503b3a3eb33b0244a03b37ddad3b08d391bbafbc923bb7d292bb703393bbceeab63b98ab97bbc057a23bfff9703b55a04f3bce5a673b635137bbb1eb383b0af438bbd89039bbb89f773b5df740bb8631533b0bc3ae3b487f973b250ea83b1b5086bba29c873b8f7487bb4ae087bb3b64b33bf30c8dbb7cfd993bd408a83bd22e933b2d13a23bd89383bb68a6843ba7a284bb1f0885bb791fac3b38cc89bb2571953b9ba8193aa41fed39703e0f3a0554bcb9c1c4c039b862bfb9987dc0b900fd203af29bceb94d5af439d3d9183cbd6a053cab51133c235eedbbae7bef3b7d5defbb701bf0bb73a31c3c2218f9bb2888073caf0ac33b19c8aa3bf81cbc3be6b498bbe8e0993b28ef99bbef649abbf8cac73b30ed9fbbf968ad3b5c4e453c140e2e3c6fba3e3c5f4b1cbc256f1d3c8e851dbcaffc1dbc47ca493c2a7b23bc3d9b303cdfe6023c4c94e53be38bfc3b0e67cdbb5863cf3bba00cfbb7796cfbbed16063cfed3d6bb2e0ce93ba6fa8d3baa14813b65618a3b7ce86dbb5b136f3b9c566fbb70e06fbb7968903ba83c76bb9585823b5f97183b9cba033b4497123b6b6de8ba3cd6ea3a287eeabaaf42ebbacfb91c3b779af4ba65f8053b40a3733b9b8e523bac1a6a3b69503abb91f93b3b7af03bbbfa8a3cbb3e377a3b04e743bb281a563bf4fa8f3b211f6f3b07f2883bba654abb05db4d3b12c74cbbd3a44dbba8d4943b187658bbe25a743b36dad23ba760be3bb317cd3bd473aebb8182af3b718eafbb00f8afbb75c3d63b00e6b4bb50a4c03b05a8683ba0c6503b49db613b36e13ebb21e83f3b9b1e40bb919640bb14506d3b0e2546bbc060533b3d45183b6fba043b30ab123ba2c1ecba8667ee3aa5b9eeba4e79efba7e1f1c3bb457f8ba39d6063ba627123c3a5b013c71630d3cf0e9e8bb3ee0ea3b60a9eabb3c4febbb1669153ce928f3bb3c31033c3e20213bffeb053b9a27193bb1c0e5bab53de83a3145e8ba8938e9ba75b0263b04b4f4baf8c5083b2529793a5fa2403a6b41683a2cd51aba8baa1d3a193a1dba9e1d1ebae68e823ad73129baed64463a41245d3bfebb403b0aff543ba0702bbbb3152d3ba4dc2cbbda622dbb98be623b44cf33bb72cc433b8aa9ee3b8450cd3b211de53b429ab4bbee34b63b0a48b6bb4ceab6bba138f53b797cbebbd2ead03bafcd4e3c0867383ce066483c43bd27bc15c0283cf2e128bc975029bc3d33533c68732ebc3ad43a3cc58a013c05e0db3be3c5f73b4621bfbbc338c13b620ac1bb29bec1bbf172053c8f69cabb3c11e03b5837cd3ae867b23ad388c53a00589ebaa7d49f3a4db19fba0633a0ba017ed23af148a6ba964db53ad2ebfc3a8583da3af7f6f23a4593c1ba1e41c33ac63dc3bab1dbc3ba07e8013b576acbba3f2ede3ab3147b3a0860553a2edd6f3adbda3bbae1923d3ac7803dbacd1b3ebace7e813a92b045ba3640593afd655d3c30f2463cec0e573ce3bc35bc2fcb363c44ef36bc5a6337bc1bb7613c24bc3cbcb56a493c0bc4923b52fd803bcbac8d3b4e9767bbdc4c693b446269bb930d6abbbe43963b822272bb07e9823bb52d3a3cacfb213cfe4d333cb0530fbcd7e9103cd09110bcb80511bcd3df3e3c4fa016bc739f243c3e24233c7a1d123c01521e3c412a05bc6bf6053c040f06bc276406bc026e263cea650abc62fb133ceeaac83b32e1b13b5d29c23be7f1a0bb8feba13b211da2bbfb8ea2bb3121cd3babcea7bb635ab43b7cc41d3cbcc00c3c28f0183c608effbba0ac003cfba900bc4cfe00bca910213c87f804bc1c9d0e3c15befa3b7ab9d63b8d58f03b234cbcbb4f45be3b6b0dbebbb4b4bebbeef5003ce8a9c6bb5693da3b395c333c9f451b3c187a2c3c4a3c09bc19860a3c6e730abc74e70abc4e15383c6a6310bcf7e01d3c7447073c59e9f23bca5d033cc9ebddbbf224df3b0361dfbb57eddfbb3ff2093c9874e6bb0cf2f53b4f04cc3b036cb13b6a62c43b42b19dbbf0109f3b7a059fbb08849fbb1b45d13b6984a5bb9049b43bfb1d043c0c92ed3b565e003c50f8d8bb3837da3b8d68dabbd7f3dabb0ca9063c6b5fe1bb4485f03b48c6873b87b46b3bd8ae823b4c2950bb3062523bac0252bbf8b052bbcb408b3bb4045bbb169e6f3bdfd8c73bb8acb23b2fcec13b8e06a3bb08c1a33bb220a4bbae8ea4bb27fecb3be37aa9bb1efab43b7d0c2e3c24ff1b3cb7f5283cfd110ebc8af60e3ca7090fbc7d670fbc5882313c79b913bcc0fc1d3c6343253cd922143c7875203cb57706bc7f9e073c706507bcd0bb07bcda84283c27e30bbc8a09163c5ed47c3b40c65c3bff7b733b99e445bb4977473ba86847bbf4f847bbefa9813be3dd4ebb5929603ba83aac3bcd8c963b7706a63b297c86bb8c78873b919587bbf5ff87bbdd7db03b9df28cbb05e5983bdbc7f63bea6ada3b4dc3ee3bdcd1c4bb901ec63bf251c6bb4ee4c6bb963dfc3b379bcdbb7f88dd3bc0fa8d3b2b64763b7d8f883b95115bbba7c75c3ba7ea5cbbe39c5dbb0fb9913b5ef765bb83697a3bde25573c3a8a423cb353513c29d032bc1fb5333c78e933bca95334bc7f1c5b3c723c39bceece443c99c9493c6bfb343cf4e3433cfb1c25bcfb24263c083526bc779e26bc52d04d3c04842bbcbf42373c76e7963b0a34813bf2ae903be75861bbc259643b348663bb1f5364bb742e9b3b41296ebbe28b833b5ad51b3bb82f073b7ae2153b7f8df0bae321f23a0c99f2ba6e60f3baf0f01f3be59afcba1b66093baef8053c1899e83b4af7003cd16dcdbb1e72cf3b3d46cfbb62f5cfbb8d62093c2540d8bb4178ec3b17d60b3b02ade43acd33043b3d09c3ba761bc53ac335c5ba1809c6ba4d3d113b7b0ed0bab6dee93a6214883ba4635e3b69e8803b381a39bbdf8c3c3be8833bbb58603cbb4a078d3b4d5d47bb07b7633b4a130b3cecc2ec3b071e053c551fcebbf685d03b8f25d0bb86e3d0bbb62e0f3c3413dabbe532f13bb3f6cb3bd9c4ae3b0c98c33b5ab898bb079a9a3b6f2d9abb35b79abb51b7d13b8d4ea1bb50ebb13be7e6303cfe471a3c4a682a3c6aec08bc4ca40a3cea0e0abc387a0abce35e353cbb990fbcaeb81c3cd3f9203bc9300c3b4aff1a3b544ff9ba61d7fb3a305dfbbabd1cfcba2519253bedb402bb5d6c0e3b2e51493cf8a8343c917d433c41e924bcf5c4253c140426bcc96f26bccb474d3ca55e2bbcb2ef363c420e0e3a8467db39036c043acadbafb9a0eab23985a6b2b9c7b1b3b97cd9143a0894c0b93809e239b051a73bf9ca9a3bfadaa33bccc090bb374d913bdc7891bbdabd91bba0a4a93b26ec94bb87359c3bd5d5d73b2105bd3b823ad03b4122a9bbd7fda93b168aaabb2e16abbb5107dd3b0e60b1bbcbf3bf3bab5fb43b20679f3b4674ae3bdf4b8fbb3854903b9e6990bb1ad690bbd666b83bfad395bb0cb6a13b420f473bac7f2e3b3cf33f3b019a1cbb4ae71d3bfac91dbb7a3a1ebb50fb4b3be79c23bb851d313b2980593c30a3413cbdb8523c668b2fbcbbbd303c98c830bc4d3f31bcc9215e3c93cf36bc803e443cee52cb3b774ba93bea7dc13b6a1290bbc93e923b4cb791bb484e92bbd31fd23b5ec999bb26edac3b70f51e3cea1e103cecce1a3c34b104bc6633053cfe8205bce5d305bcbbc3213cde7709bc34c6113c0f46053c96fbe13bcddffe3b70d5c3bb2b40c63b6ed3c5bb1d8ec6bb034c093c4497cfbbc655e63b01b69e3b0cee8d3b3dff993b0cf880bb79bd813b58e081bbbf3882bbabe8a13b054586bb5cc98f3bc48b303bc530193be0ce293bed0908bbf548093bee2e09bb109c09bb2833353b7fca0ebb69b01b3b1daf463bf882313bb5a1403bb7bf21bb95b2223bc2d422bb943c23bbe0d64a3bc91928bbb9ce333b756f6a3b3935533b83c9633ba0ee41bb90fb423bd31d43bb058f43bb1b016f3b87e148bb44b9553b48c05d3ac7a52f3a042d503aa29e0fba50f7113aa6b011ba197412ba3441673a1ff61bba6f71343ae9d39d3ad2616b3accc6913a268735ba1b523a3a7ed638ba19033aba4560a63acd6e49ba8582733ae819803c3d88653cabaa783c241d51bca261523cda8752bc021153bcc9aa823cb36659bc0977683cac171a3c150f093c6243153c0437f8bb06e2f93b8efff9bb64abfabbaf631d3cdb5401bc41ec0a3c30d6803bb04a613bd073783bd46b49bba3864a3b30184bbbb7bd4bbb85fe833b6e3e53bb45d0643b51658e3c010c853ca0c88b3c899c7bbcd8357c3cf3a77cbc0e0e7dbcea28903cecd680bcd017863c36b5a83bdf83963b288ea33bb1b388bb9382893b1aaa89bb69088abb2239ac3b67558ebbb282983b31db3c3bd8be233b76a5353bc75511bb9b6f123b709712bb3c1113bb23d2413bdabb18bbec72263b478f503bffdc333b874e483b7f9b1ebbbb2a203b7a0720bb7e8e20bb833f563ba7fc26bb40f2363bb266813a5edb5d3a9b31783a4d1943ba0c67443aeef344ba1eab45baa10d853aef044ebaa5d5613abf8dbb3a6a56a53a0124b53a9f2495ba7526963aa83d96bad6a696ba75fcbf3af39b9bbaa7b7a73aedc6113c444a043ce6fa0d3c75c4f3bbabfff43b2f39f5bb15c6f5bb0c5b143c6a44fcbb24c8053c5194863b866a5a3be63c7e3b6fb036bb3caa393be5f638bb8bc739bb16cc8b3b113f44bb9ab35f3b3bfd923bf0007f3b5c5b8d3bf66c62bbbd8e643bfa5264bb410765bb65e2963b75a16dbb2795813bfa31803b9067653b1dc0783b0eeb50bb3020523bd45652bb74df52bbb9cc823be43c59bb5f5d683b4726b43a9e62983a070cac3a056a84bae2ff853ab4b785ba5c3286baf1cab93adf228cba9b4f9b3a121b703b8d79523ba7a0673bb5503cbb80e03d3b51cf3dbbe55c3ebb61ed753b531b45bb22ae553b0191733c78d65a3cf8916c3cc1e747bc8920493cf63649bc88b549bcba56783c44904fbc228d5d3c7a2a8d3b85ef693bdd17863b0e8f47bb42244a3b1ecc49bb0e9e4abbe017923b2cda54bb61056f3bad7b653b77f1453b69635c3be8b72ebbdc6e303b324430bb60d730bb18c36b3baad937bb1a52493bfb47fc3b55dbe63b644af63b5e2ad6bb5b0cd73b9059d7bb0bccd7bb752a003c0a10ddbbfd3ee93b13cd593bc6583a3b5fc2503b145023bb59c8243bf3de24bb4c7525bb9d07603b63802cbbbfb93d3b3c55c73bff04aa3b74cebe3bfb0795bb5f88963b4f6996bbaceb96bbcc40cd3b4e369dbb7e1ead3b372f503ca688393c29c8493cc03328bc0050293c4e6629bcc3d929bcd98b543c24362fbc71053c3c0390fb3b4d46dc3ba3adf23bcbb5c4bbff21c63bee55c6bb56f3c6bb36d1003cad3ecebb9bb0df3bb626c93b5cd2b03b5031c23b877c9ebbb5e19f3bd7b79fbb422da0bb96edcd3b61baa5bb9d74b33ba7d3c43bc1cbad3b733cbe3bc5979cbbc3c39d3b01c29dbb96309ebb595ac93b0c71a3bbd649b03b9d56c53b0d0eb03bbc4abf3bc503a0bb2cfaa03b0a1fa1bb1389a1bb9d78c93b3e80a6bbfe60b23bef210b3cf843ff3bd6ea073c333bedbbe24bee3b8380eebb07fbeebb764e0d3cd2a0f4bb3cea003cd31dcd3b3d38b13b320ac53bdec39cbb965f9e3b641c9ebb82999ebbe7b5d23bc5b6a4bbf230b43b2f00733b35ff4f3bfad7683b4b8e36bb0b85383b4f3a38bb24d738bb400b7a3b317240bb6db6533b406be53bf59dc73b0bfcdc3bbdb6b0bb0d63b23b0b45b2bb8fd7b2bb572beb3b1bd6b9bb0be2ca3b25aff53a205fcd3a81ece93a3eb2b0ba95abb23a2398b2ba3c4eb3ba02defd3a11f2bbbabd9fd13afbadca3bc42faf3bffc3c23b82ee9abb9a609c3b1c499cbb70c99cbbe422d03bb1eaa2bbe422b23b107a0a3c0061fa3b35c3063c06b6e5bb35cee63b032ee7bb78bee7bb5cfd0c3c5344eebbb256fd3b8700903b0ef87d3b46228b3b698264bb2747663ba73a66bb46dd66bb3658933bc79e6ebb85d3803b8701043b47d3e23a2542fd3a4e6cc7ba92a7c93a563ac9ba47e5c9ba1bba073bc114d2ba37cae63a67baec3b9453d43b9cd0e53bafc4c1bb27e5c23b270ec3bb7f8ac3bb3272f13b934cc9bb6600d73b4f7ab83a53bc993a227baf3a9cf083ba6892853aa95c85bab2e285bab3c1be3aad618cbaa6f59c3ad254b43bebd89d3b7ff4ad3b48078dbb32e58d3b54348ebb44a88ebb7eaeb83b39ed93bb954ea03b6faf2c3c6efa163c937c263cfbc306bc85d3073c6bde07bc034808bceaef303c41400dbcc554193c0f83393c47d9243c12ad333c0ffc14bc6206163cd41316bc2b7c16bc327c3d3c9b611bbce61e273c2d10aa3bf562953b092fa43b1ce585bb39c8863b55f886bbd16187bb8c15ae3ba1338cbb33a4973b193f4a3cb0ca373c5105453c5cbd29bc40942a3ce9b62abc2a142bbca7cf4d3cc5702fbc2ed1393cbc69943bb3a1823bc4508f3b612b6bbbc99a6c3bc9f76cbb91a76dbb79eb973b32be75bb0e8d843ba8965f3bddc3403b26be563b2de629bb78862b3b236f2bbb15012cbbd8ac653b98f132bbba15443b715a503bf7c53a3b32434a3b832a2abb663e2b3bf1502bbbfbbf2bbbea7f543b07e430bbee253d3bbe3f3d3cef79243cc92a363c4daf11bcda3c133cd5ee12bceb6213bc641c423c100719bc4e28273cd6e6ce3baf68b63bedf0c73b0be8a3bbb818a53be02ca5bbcda6a5bbb5a8d33bea59abbbf414b93b3f60b13b65419b3ba006ab3b30c98abb32f88b3bffe48bbbc54e8cbb89bfb53b1d4f91bbaca39d3bb278c53a9bb3a33ad2a5bb3a87248bba69388d3aa7bc8cba2b528dba674bcc3ae59694ba1e46a73a5199603b4e3f433bfc3c583b11592dbbc9a92e3b5dda2ebb686c2fbb5c53663bc43036bba96f463b0f502e3b6988153bf12d273bf6e602bbbc7f043baa2204bbe89704bb163c333be6290abb1132183b61aabe3bb409a43b7d0ab73b492b90bba197913b0b8291bbd30292bb16e7c33b8d0d98bb15eaa63b81b64f3c2a613f3c331b4b3c5ff732bc9f8a333c80d933bce43034bc55d8523c411e38bcf42e413c295fc13babfea43b0c3db93bc8ea8fbba267913b385691bb3fdf91bb13f6c63b694898bb300ea83b81ab433b6b3b253b92d53a3b7f2c0fbb25d9103b2da010bb892911bb3fcc493b43c417bb3076283b34d7d13a7163b03a0a22c83a5d1a98ba28f2993a20b499bae24a9aba9c93d83a1992a1ba3cf0b33af6af123b0d15003bb1520d3bdfede4ba89bce63af8c2e6ba4871e7bae963163b65bbefba9313023b7de23a3b108b1a3bed66313b28ba03bb676e053b103705bb31c505bb5581413b9d910cbb09ee1d3b09c8a63b38478f3b1601a03b04417cbb898a7e3bdb8d7ebb48687fbba975ab3b4bea84bb48cb913b4598143cdac3043c571f103c72b2f1bb5ac9f23b8262f3bbf508f4bb20a4173c3591fbbb8681063c7e3fe93b1a62ca3bb35fe03b415db3bb6d2ab53ba1e4b4bbef72b5bb4a5def3bb45ebcbb89b3cd3b08ec433c8a912d3cec9a3d3c87a91cbc7e8c1d3c42d91dbc144e1ebc7639483c439b23bc5006303c5ef4ec3bb95dc93ba1c5e23b888faebb76aeb03bdc58b0bb7000b1bbb3f2f33be014b9bb9736cd3b69f2763b2ce05f3b0273703be4254ebb1a264f3bbc634fbbecda4fbb905c7b3bad6555bbe06c623bf572fc3a97d3da3a92c5f23ae94bc2ba7dcac33a60f6c3baf896c4ba1590013b0c1dccba046fde3aac9b483b135a283bbc1c3f3b8eb911bbff7a133bd42f13bb22b913bb5a424f3b436b1abb1cb62b3bb9ffe13b40edce3bbaaddc3b4ef4bfbbaec7c03bf903c1bb186ac1bb9e96e53b2721c6bb810fd13b0095743b2e98563b640d6c3b195d40bb8476413b64ea41bb7a8242bba66a7a3b3a7949bb82dc593b0a0f2d3a9bd01e3abd04293add1e14ba1691143a24e214ba862c15ba97d12f3a039218ba6161203a90a9bd3a29bc923a9802b13a23cb68bab56a6e3aab9a6cba4df86dbace85c63ab7897fba6a31973a0e39883b42bf633bf0ab813bcfbc43bb2986463b2dca45bb5e8746bb49cc8c3bc3ec4fbbb96d683b443b553b539d3a3b437a4d3b31c027bba3d7283ba40529bb3a8029bbe39f5a3bb5432fbb386e3d3bc3d4253bbed6143b5ff9203b372d08bb2eec083bb20c09bbaa6009bbb92a293ba34b0dbbb1ae163b5f5e983bd991833b7c5b923b4f9068bbf2eb6a3b21966abbbe546bbb9b869c3b218174bb5bca853b6f68923b4846823b82d48d3b8f226cbb529f6d3b37d26dbb84746ebbe288953bdc0376bbf909843b2657653bf5953a3b16ea583b4da31bbbbf311e3b45a41dbb2f5e1ebb84f66d3b1d8827bb591b3f3b0faf2b3c3f37193c207a263cefe90abcdfe80b3c05e60bbcb4440cbc7e392f3c44ac10bc20401b3c3b3ddc3a0b9cbc3a9e18d33adda7a5ba0f31a73aa230a7bae0c1a7ba2790e23aecb7aebaebfbbf3acd738f3a3bab513aefbc833a2d7e1fbacdd4233a6e8b22ba1ba623ba39d0973a17f231ba6860593a258f383c67ad213cf5f3313c0af410bc9e20123c851112bcd17a12bc501f3d3c498917bcce1f243ca649d63b50bdbd3bf754cf3b820fabbb9743ac3be958acbb33d5acbb5308db3bda99b2bb946dc03bf7a4a43b6147893b9dbb9c3b9d4b6abb349c6d3b16ef6cbbc2e76dbbb81caa3be5e779bb8a328c3b87d5b43acb3b8d3ac32da93a5de962ba6f78673a9c7566ba26c167babbfcbc3ac31178ba035b913a4e132b3c656b153c96eb243c640705bcd021063c5f2606bcea9206bc3c482f3ce39b0bbc27c8173c67207d3b73625e3bc357743bce2947bbd1ef483bcab848bb0a4c49bb8593813b345350bb48b7613bb110ca3b647bb83ba21bc53bfb16abbbbcbdab3b6b09acbb0765acbb976fcd3b2d9eb0bb906cba3bb491c63bb494b23be9f0c03b2a04a3bbe41ea43b9816a4bb177da4bb1c65ca3b8547a9bb4bc9b43be983123cc468033ca8400e3cda95efbbb411f13bc731f1bb63ccf1bb7e6a153ca9fef8bb8e12053cf1f4973bcf6b843b2669923b713d6bbb49316d3ba7456dbb490b6ebbd8be9b3be02977bbea8d863b291a463bdedd2a3bfb503e3b47a516bb69ee173b5d0618bb398c18bb2d724b3be5c21ebb43d02d3b8646f43bd09ede3bb61cee3b6277cebb5544cf3bb998cfbb3106d0bb867ef83bff14d5bbf6fbe03b309e833b0afc633ba8117d3be9084abb38f34b3b93c34bbb6a674cbbf520873bd93b54bb00c2673b58361e3cf6a20d3c8486193c591501bc02c2013c5ef601bcfa4b02bc0868213ce43906bc05750f3c7f0bc53bbfc7a73b509ebc3b630c92bba9cf933ba57a93bb99ff93bb00dbca3bea7e9abbd2eaaa3badaefb3af795dc3a24b5f23a83bec5baf559c73aaf46c7ba6cd8c7ba94f1003bf0c4cebaf7e9df3a1600d43b42c5ba3b2cc9cc3b593ca8bb422ea93b6d85a9bb0a03aabbfef3d83b33caafbbca80bd3b1e16753a31c44f3a4a316a3a70f034ba7d16373a37b036ba545537badaac7c3a114e3fba2eb2533a2bd3c13bcec4a63b5916ba3b912992bbc5f6933baa8693bb180894bbe721c73ba2309abbb7b2a93b1d44b03b86cc973b2b3ba93ba0a985bb1e05873b16df86bb455187bb501db53b2bca8cbb326d9a3bffd5c83bf020b03b22d8c13b5c639dbba27f9e3b65b09ebbfa2e9fbb3a9acd3b9802a5bb77d6b23be5921f3bdc4e073bb27c183b7716ecba428dee3a9b5ceeba3534efbad582243baf90f9bacddc093b933a2c3bc4fb153b86ca253bdfd705bbedee063b49ec06bb055307bb82af303bbf370cbbc65a183b2aa4673aac8d523a86b1613a577642ba854a433a499843baa70444baeeaf6b3a371349ba7ee1543acf9e623b8da9453bf04b5a3bb83b30bb5ec0313bcaac31bbc33632bb485c683bc1b838bbeac5483b85c61a3c25f2043c5481143c3142e9bbd9e2eb3bf76aebbb7434ecbb83171f3c62fdf5bb5c4b073ca3a9823b2a755f3b155d7a3b6bfc43bb1bea453b49d045bb0b7e46bbf174863b92c94ebb5c7d633baf94c63aba84b33a8a2dc13a5110a5babee1a53a2e12a6bae072a6bac944ca3a36f4aabaf69bb53a1958bc3beae1a83badc5b63be1559abb034e9b3b78539bbbc8b19bbb0c2dc03b1626a0bbecfcaa3b5bb7d33b91ceb73b06adcb3b0683a3bb31b9a43b45e4a4bb3d6aa5bb4244d93b02a5abbb55ccba3bf4fd223c56e00c3cabb01c3c1af8f7bb04c2fa3b5739fabbd20dfbbba14e273cad9c02bc98470f3c83ffdf3840ee7638d69dc0386b1200b8f79b0938b5f406b8506b09b89bcff638c06f2ab80e13853861a4003c837de63b5eb6f93bb017d2bb5444d33b7883d3bbda0cd4bb8038033c0c68dabb7a6fe93bc378b03bb2139a3b021baa3b977a89bb01498a3bb5a38abb10168bbb45d3b43b984a90bb77849c3b35a69b3b7ccf873bc7fc953bc69671bbe0e4733b949a73bb695974bb4d879f3bdb6f7dbbb9f6893bc8c3103ccceefd3b80af0b3cb162e3bbf209e53b0f34e5bbb8e3e5bb603f143cf310eebbade5003cb9931f3c4d2a0c3c12151a3ce520fbbbf8a5fc3b7c2cfdbb02f6fdbba452233c878e03bc164b0e3c7ab2503bafb7383b92e9493b9eb426bbaa99273b98f827bbea7428bb8c52553b5f1e2ebbce583b3b9435cd3aa043ae3aa53dc43ae69c97ba9e73993a5d1899ba12a399ba886bd33a9e61a0ba4d8eb13ad8f32b3b6431133b09d4243b3bc500bbb53c023bf2fd01bbdc7102bb09dd303b9cf907bbd9d9153bae07ac3bafbd9a3b191da73bd7aa8dbb697f8e3ba4908ebb0be68ebb5b64af3b5ced92bbd8a09c3b5437533b651d423bdd754e3bc1a334bbda53353b599a35bb07f735bb216b563bc43c3abb1e09443b59c97639c04c313939d261391a5f03b90d5e0739c52f06b9ad3107b98fda8239a45614b9004a3839a9f63e3cd58b283c968c383cede117bc94f4183c1a0419bca47019bc4c5e433c298c1ebcc5f82a3c151d053c7e8de63ba203003cc1c5cbbbd1bbcd3bd993cdbb0541cebb059d083c2f64d6bbf469ea3b37b07c3c7104663c2f4a763c498154bcbea8553cc5b755bc462c56bca585803c99965bbcd683683c0768a03bcb308f3bfa8d9b3b74ff81bbd7c7823bdeea82bbf84383bb71b4a33b336087bb7b16913b5db24c3bfc4c2f3b0e36443bdcb119bbfe551b3b3a211bbb74aa1bbb9e8f523bbe2a22bb0b71323b6020333c1755213c111f2e3cc67b13bc026a143c777114bcf7cd14bce085363cc41619bc1c4d233c82a9833c6e66693c1bdb7e3c708d52bccb07543cb82054bc89b854bcbe8c863cfdc65bbc5bae6c3ca9f73a3bb772203bc14d333b3e120dbb77770e3beb5c0ebb79d80ebb0744403bfab214bba347233b53bfc03b8bbcad3b0063bb3bfc419fbb6502a03bc946a0bbbfa9a0bb6f64c43b1a36a5bb56d5af3b32dfbb3b26809f3b2fb7b33bb0408abb2e0f8c3bfea58bbb45278cbbf87dc13bba7c92bb278ca23be340313bc613183b1a0c2a3b788a05bb74a2063bcccf06bb914c07bb9f33363b37060dbb2bcc1a3b6e04373b4a06223b30f4303b07bd12bb8bb6133bfac413bbed2614bbbd353b3b7dd018bb2745243b44e8683c23e8593c59bc643c1c024ebc88a74e3c84db4ebc0b2d4fbc6eb86b3ce1ef52bc8d975b3c1abdf43b594cda3b1b3ced3bb25bc6bbe081c73b24bec7bb9644c8bb3fddf93b2078cebbac30dd3bf1ded63ba697be3bb2fecf3b3e18acbbd949ad3bc35eadbb0edaadbbf28fdb3bca90b3bb6440c13b5e15c83bbac4a93b2b54bf3b1ca193bb8c3c953b0c1995bb92a395bb4122ce3b034f9cbb4001ad3befec523c4156403c8ea34d3cf78232bce621333c4d7d33bce7de33bc5f8b563c893a38bcda5d423c7bcc403c6511273ce877393c7f4213bcf000153cd19214bcb50c15bc73d1453c8bfa1abcbedd293cdbf72737cefe7935e9a0ea3691436136ef7f4db6b9ab5236d3754d36b34e4e3742cd02360e2be6357d53cc3b5168b83b4aacc63ba62aa9bb2c39aa3bff35aabb6199aabbdb30d03b0147afbbf095ba3bc3cdf53ba115d43b38fceb3b86c0bbbb13b9bd3bf453bdbba6e5bdbb2da1fc3b0918c5bbefa4d73bbe48133c7429063c569c0f3cf9b9f7bbea07f93b712bf9bbb4b6f9bb5bc5153c431100bc339f073cdb0e323c2b791e3c6b812c3c8a870fbc0f88103c428e10bcf9f010bc02d9353c9d8a15bc1a9e203c0c7f853b93716e3b2e75813bf68b58bb00085a3b110d5abb039d5abbe33f883b465a61bb5a93713b03ab553c201a403cbe9a4f3c38742fbc9d73303c059e30bcc40e31bca3c8593cbb3f36bca37c423cd9fb673c8f4f503c3d47613c76013ebc016a3f3ca23f3fbcf5b53fbc2a8e6c3cc54845bc53e8523c041b623bdda3403bc769583b7c6228bba01d2a3bb8fd29bbf1942abb29d1683bf0e231bb5a33443b6a5b723babe6483b0a5e663b4c9a2abb5ff02c3b02992cbba9542dbb56a67a3b516736bb95514d3b23de193b4bfc023b774e133b329de3ba1a65e63aa4e5e5badebee6bacf601e3b0612f1baf273053b4e8e033c3e02ea3b9ee4fe3bcb8bd3bbb11fd53bbd16d5bb27abd5bb675a063c4493dcbb8135ed3b98b6113c5b99023cbe6f0d3c2001eebba291ef3bc099efbbef32f0bb41a1143c3258f7bbde41043c861fe33b2b9bd03b1cf4dd3ba918c2bb1ae3c23b0020c3bbf382c3bbed9ce63b0e15c8bb23add23b1002493a3c2b303a42e2413a67891dbae8f91e3abcc81ebafb3e1fbac4e94d3a90df24baacd8323adbc5283c98a4153c8c5d233c251707bc45f1073c9b1a08bc7d7d08bc0a752c3cdf050dbc6abe173c8468e13b816ac63ba69ad93b53ceb2bb4513b43b5c20b4bb009fb4bb8bcee63bb997babbac4cc93b03d4383b11af1c3b10a9303b085408bbdfce093ba5ac09bb1a2c0abbe37d3e3bdb4a10bb0bac1f3b33c5903b758c783b4edb8a3b297d5abb99a55c3b877e5cbbed3c5dbbd1da943bd75266bb1aef7c3be43e933b98e6833ba4de8e3b60cc70bbe033723b976172bb16fa72bba03e963bb4147abbf391853b0dbf503b775b2f3b8812473b482417bbadea183b66be18bbbe5619bb0c72573bcc9e20bb53e8323b9804413b79de1d3b1ac9363b5f7204bbe897063b631606bbb7ae06bb6220483b872f0ebb4794213b940e473bd069223b4f613c3bcf0308bbf12e0a3b29b909bbaf570abb207b4e3b4c2812bbbf46263bb13e003cbe56ed3b231cfb3b83cedebb0b47df3b1bdddfbb1d46e0bb1212023cecf3e4bb6c77ef3b1f4ace3b2060ba3bf3a7c83ba325abbbe814ac3b2d34acbbcf99acbbd820d23b9553b1bb8b90bc3b7e06143c1187003cd1670e3c873be4bbf26de63be925e6bbefdae6bb87e7173c7487efbbe29d023cceab073bd47de33a0b4d013bb8bac3ba993cc63a6dcdc5ba358ec6ba7d170c3bdc02d0baa822e83a922c3a3b7c34203ba1af323bcef70cbb8e820e3b1e3d0ebbb5b40ebb47583f3b567714bbeffb223bb4108b3bc1b1763b6996863b910c5fbbe891603bf3aa60bb054661bbc1218e3b168c68bb7a1d7a3b57c9653cdf6b513cc614603c019541bce679423cf7b242bc1a1f43bc56a6693ccd1748bc94af533cd27a9439c7225c3996ea8839e0c528b9e7682d39f6ed2bb9c6112db9ebb29c399fc33bb945e463396108ff3b7992e93b75eff83b8956d9bb5b47da3b5577dabbb9e3dabbe699013c96efdfbb86ebeb3b7f57863be40f6f3b851f823bc68758bb31305a3bf60e5abbc2a05abb113b893b597e61bb8249723b62c9b03b2278993bf50caa3be76688bb4ea4893b7b8989bbd4f489bb5771b53b211a8fbbc4f59b3b25b9483bb8ec2c3be2ac403b4ad918bbcc221a3b4b331abbdeb51abba84c4e3bd7d320bb75e22f3be664903c6fd67d3c616a8b3cc73263bcb94e653cbcfc64bc28a665bc21cd933cc4b56dbcf2d1803ce8c0273cae43163c0cd3223cfddd08bc6aa4093c96cd09bc54280abcf31a2b3c8e560ebc4831183c9fe3f03ba689d93b7555ea3bb270c7bb8a81c83bafb5c8bbb930c9bb2c55f53b42d9cebb8320dc3bff4b0f3b8ebcf33a331b093b62e7d3ba9ca0d63a4ffdd5baa5bfd6baf493133ba637e0bab350f83a6a0c773b828e593b4fa96e3b223943bb19be443b0fc044bb685345bb12ca7c3b252e4cbbf8c45c3b7cd2863b1e8b653bd503813ba16448bb10954a3b8a4f4abba8024bbbb4d78a3b8cbd53bb0dcf693b98d9ca3b4110b43bee51c43b9129a3bb6040a43b314fa4bb00bca4bbe256cf3b1fe8a9bb6f86b63b526e833bb4e1693b9d997e3b17dc53bb517f553b805955bb20e755bbe542863bd6995cbbad086d3b5371a13b48ca8d3b8fd89b3b9a287ebbcff07f3b9a1780bb047a80bb3046a53baa0685bbb3ed8f3b6f38dd3b1416bc3b669ad33b3503a4bb76e9a53b8996a5bb3f2aa6bb1fe3e33b4357adbb269abf3be90c673b4b0b493b5d685e3b69ea32bbe987343b1f6434bb0def34bb62036d3ba29d3bbbd9424c3bae4b2cb68a3bf5b50f1a1eb67668ac355348b2b55319b13565c9b235fcfb35b6425cc835eee2ffb54d16893c2387773cad58853c60a862bccc14643c651b64bc19a764bcab9f8b3cd51c6bbc927b7a3c4769753b25f35d3b34d16e3bbcdc4bbb39e04c3b28224dbb009d4dbb06e3793b154853bb0e8c603ba5f4bf3b46bda83bed4eb93bc64197bb1a9d983b666d98bb5fdc98bb0d86c43bc7239ebbb03fab3b554c843b05dc663b4bf07e3b94bf4dbb8e6d4f3bae734fbbf91650bb939d873bdfc457bbb9816a3b8916023cb940e93b808dfc3bab96d4bb5603d63bf501d6bb1f8ad6bb3fb0043caae4dcbb6834ec3ba292fc3bb1dbd43b1618f13bfb25b8bbad0dba3ba710babbfcc7babbf240023c2d7cc3bbad17d93b67a7fd3ba189de3b93b5f43b7499c7bbf820c93b6026c9bb0fbbc9bb96e8013ca6bad0bb4de2e13b1b845a3b01c63b3b578f513b3c9a25bbcc53273b290e27bb789627bbd9be603bd8332ebb37053f3be469b93b5fc0a33b0944b33b7b6d93bb4764943bb08e94bb55fc94bb9d9cbd3b620d9abb801ea63ba1f3a93be9e8933b89a7a33bd99b83bbbd87843bc1bb84bb052a85bb8a45ae3b2e388abb7a4c963ba1c9163b5dd7ec3a8b400d3b52b5bfba0d50c33a6f97c2ba45a4c3ba7a761d3bb0ead0ba0f91f33aa468403c696f2a3cb03b3a3c96cf18bc5a761a3c9afe19bce66d1abcff98443c1dba1fbc73de2c3c05ece93a05d0bd3a9914dd3a49bc9dba3495a03a26cd9fba5a8fa0ba9dd6f23a51ffa9bafa78c23a37815b3c0578483ca731563ccb9339bc71553a3cefa43abcad0e3bbc2d175f3c2ac83fbc2d994a3c3ec6593b67af3c3b1868513bba0127bb61bb283bca7128bb31f928bbec8a5f3b077b2fbb21cf3f3b9360ca3b335cb23b2089c33bbc2aa0bbe477a13b2d67a1bbb7dda1bb4410cf3be66ba7bbf2f8b43b1d8e6c3b8c834f3bf349643b097e39bb6f113b3b60fc3abb808a3bbb2436723bce4242bb22ad523bbec74a3909da0c39921a3839fde5c7b88805cf38c8e5ccb8eeadceb8711158399b0ce6b8a3141339aad8d53baf49bc3be48cce3b053ea9bb8363aa3b4c8daabb640cabbb2adada3b5ceeb0bb9b0fbf3be178ab3bfa8d9a3b77aba63bbbc68dbb80848e3b8ca98ebb80fe8ebbd8c0ae3b9ff692bbc7679c3baf81003cc85fe23b9539f83b569dcbbb3231cd3b5a25cdbb80b5cdbb8487033cb1a0d4bbb3ade53b1d82063c80bdec3b2ded013ce944d4bb98dfd53b2bf3d5bbec95d6bb91a3093cef1fdebbf343f03b34201e3c1c250d3c1c52193c10ffffbb34fe003c34e500bc803b01bc6e66213ce33f05bc72020f3c4cc2de3ba47cbc3bba01d53bee4da2bbf96fa43b680da4bb66b1a4bb0b6ee53b6f95acbb4837c03b565d2c3b301e023b0ae61f3bb16dc9ba1762ce3a3224cdba4579cebaaf19353befa0dfbab57e063b4acc0a3cda8cf63b595e063cef28dfbbfacce03b64bfe0bbef56e1bb14d60d3c0b7be8bb3debf93b1864fa3a2c66c93af01aec3a6770a6ba311aa93a96b7a8ba668fa9ba0829023bfcf8b3bad78fce3a2078483b9db62a3b01e73f3beff814bbe461163b797016bb2cfe16bbcb5f4e3b2ea11dbbd4e72d3b4252943baa7f873bf5a8903b1f727bbbe6df7c3b20c87cbb3a487dbb21d6963bbda081bbaae4883b09ee0f3c8bc6033c7d8b0c3c3967f4bb9975f53b32c3f5bb1046f6bb3636123c814ffcbb3823053c2df57f3c044a653cb970783c5b8350bc640c523c69ef51bc287752bc6888823c6ad458bc453b683cbea28c3b6f4c713b34ea863b8b7b53bb2d93553b357f55bb8d4156bb7b90903b2f575fbb9c9e753bc84eff3a0da6dc3a654cf53abe93c3ba6017c53a8146c5ba75eac5ba791d033b8598cdbac159e03aae85b53bac1ba13bcfbcaf3b537c91bbbe90923b738e92bbb1f592bbd077b93b6ec297bb3e58a33b87501f3cb6d40e3c6eac1a3c883102bc9ee8023c2e1403bc2d6a03bcc277223c125e07bc85a6103cd5d0083bc9e0e03ab399013ba624bfbafed3c13aa94bc1ba4115c2babce20d3b80fbcbbae5eae53afb5ba43be597913b5e089f3bbf9383bb1049843bb68e84bb90ee84bb3cffa73b2e5389bbfda4933b179aa33a42f6883af9d29b3a770d6cbab2c86e3a40886eba06716fba0204a93aa9c47aba50c48b3aa36a8f3bb587813bae828b3b4fa66dbb24e36e3b5e266fbb98b76fbb1b11923bf86876bb2e11833b96ee2f3c94091d3c449c2a3c51650ebc19610f3c82680fbce5c90fbca08c333c125014bc4a1f1f3c5ca60b3bfadaf23aca5b063b34bbd8ba7060da3aab7bdaba3e23dbba8f520f3bf714e3ba5eb9f63a2a2f903b0d7a783be7738a3ba43f5bbbb6075d3b373d5dbb5cfe5dbb0322943b5ff966bb85c47c3b990a913bcd16773b30c98a3b735b58bbcb6e5a3b48665abbdc295bbb8263953b1a7264bbf3a27b3bb9ebdc3b69fac43bd71bd63b6d06b3bb0f10b43b4344b4bb2fbcb4bbd994e13b284ebabbc896c73b937b8e3be5cb7d3b7e0f8a3bc40e66bb61a7673b78af67bb814b68bbb880913b8d986fbb3e9a803bbd82933b85e67f3bb4e08d3b1c5b63bbc122653b634a65bb860566bb0565973b74c36ebb960c823bf9af663cda15573c3c51623cc3d64abc74974b3c68b24bbcaa034cbc5fa5693c25d54fbcbfd2583cf5dda83b58bc943b8e1ba33b2d9485bb95b6863bf99886bb5af986bb6ad2ac3b28918bbb45ea963baeeac43b67b9af3bb7ddbe3b0ef19fbbc7dea03b2c07a1bbcc6fa1bb4d11c93b3851a6bb4306b23bb2ad693c4c23503c2068623c0bc53cbc14263e3c54153ebc07923ebc9ba76e3c817a44bc7beb523c0f1a6b3b1fbd503bb5a3633b40ed3cbbc6ed3d3be0503ebb8dd83ebb7330703b7f1045bb12a1533b9682aa3b6b31913b8d42a33bcc4c7cbb2c567f3bffd67ebbb0c97fbb557daf3b76a185bb80ed933b0d7c983b1114863b1f3e933ba97670bb1047723bfa5a72bb9c1073bbb0129c3b6d927bbbba14883bdb484b3c428b383c5d01463c970b2abcccf72a3c9e0d2bbca16e2bbc42df4e3c43ee2fbc309d3a3c7cd1313cce1d223c74592d3c105f16bc3dfc163c1e3117bcd78017bcbfe0343c512c1bbc68d4233cddbc333b078d183b8aec2b3bfa4b04bb46eb053b9fa305bb412306bb131e393b89370cbbed781b3bdad40b3b0847f73a8d2a073bfd6ddfba0114e13a8d08e1bad0a0e1ba650d0f3b58dfe8ba39c0fa3ae3e9db3b3c0ec33b4ee4d43b0903b0bb603cb13bf053b1bb30d3b1bb4cb1e03b99b7b7bbdec9c53b54aad23b24f9b23b0090c93bf63b9bbb9b369d3bc4cc9cbbb35f9dbb86eed83b0778a4bb9361b63b2152853aecfa6e3a2868813a35ca59baf02c5b3a05405bba6acb5bbacdfc873a365662bac004723aa9313e3ba828263b1b4e373b281314bb9b85153be24715bb05ba15bb1def423b852b1bbb21c0283bf8c3f83aa162c73a3c44ea3aa44fa4baef5aa73ad28ca6ba715ea7ba6d72013b56a4b1baeb8acc3ac878233b5b850a3beb371c3b86e4f0ba6aa9f33a8846f3baad29f4ba9d82283ba8fcfeba172a0d3b8187bd3be5b8aa3ba939b83bcb609cbb4e259d3bea629dbb00c59dbb3623c13b1b45a2bba9cbac3b8881d23be64bba3b0ca5cb3b30cea7bba012a93bbb12a9bbe88ca9bb6930d73bf33bafbb28f2bc3b6899723bfa6b573bccde6a3b85fc42bb0037443b796544bb6ced44bbafe2773b44414bbbca625a3be591193beabc013bbb9e123b0baee1bab7dee33a19eee3ba19c7e4ba7a671e3b1c03efbad440043bb55b1d3c687a0b3c2549183c05dcfbbb868ffd3b46bafdbbda6efebb4ad2203ca16703bc096f0d3c31a1223c3a30113c96a71d3c780904bcdeef043cfcee04bcea4405bc6d0a263cec4b09bc5c15133c18f9233cfae2133c2b701f3c6a7107bcfa43083ccb4d08bc4fa008bc4e0e273c39790cbc4aa9153c0d4d083b2fe5ed3aa856033bda20d4ba42bcd53ad2e3d5ba2c8ed6ba39b50b3bb27cdebacba6f13aaa93fd3b6a09da3ba172f33b3206bfbbac23c13b1cd6c0bbef81c1bb6241023cdcadc9bb51e6dd3b8974203cb4ca0e3c97731b3c516d01bcc330023ca55b02bcafb602bcbbde233c9be006bc23ba103c9f16883c91fc6c3c300d833c6f7052bc089b543c773354bcc2d854bc508c8b3ccecf5cbcb6c9703c01fa873b3652723b48c5833b01f55bbb75475d3b24815dbb1d165ebb87d98a3b590665bba58f753b80849e3b8128913bb9cb9a3bc8ae86bbf738873be36d87bbb8b587bb2e07a13b6a068bbb7ba7923bcf19c93a06faae3ad993c13af0cb9bbabe179d3a17169dba8a909dbabc4ace3a0566a3ba57c7b13a6b60eb3b4ebdd03b1fd4e33bbd61bcbb94c5bd3b2cc7bdbb5a4dbebb4e87f03ba58fc4bbd2a7d33bd271983afba16e3a68938e3ab76141ba7338453af03744ba863e45baa2689f3a515f52baf66a753ad176a93ca6459a3c3731a53cc75b8ebc603a8f3ce22d8fbc397c8fbc885dac3cb52593bccef39b3c00b3203c1836123c61a01c3c30f306bcd1a7073ca8bc07bcd60808bcb876233c318a0bbcd6d0133c20f9ec3b3756c43b7f3de13b636fa6bb34dda83b6564a8bb7e19a9bb3414f53bc403b2bb57acc83b8102813b465a643b8d90793b281d4ebb30814f3b5fa34fbb813550bbe0e7833bab0f57bb2394673bdaf8543c9761423cc5be4f3ccc3034bcccd6343c503435bc3e9935bca485583ca5193abc5570443ce20d143b7245013b97a50e3b7dd1e6ba17cde83a63ace8ba985be9baabc8173b36c0f1ba7e49033b7fb3c73b4e0eaa3b3830bf3bacf693bb34b3953b8b6d95bbe5f695bb548fcd3b079a9cbba73ead3b3207983b05188a3b1916943b6fe77ebb1817803b123180bb157880bbbfb69a3b87c683bb29a08b3b1cab003b6a1cd53a1c67f43a46dbb5ba9011b83ac0e8b7ba27adb8bae02c053bff0ac2baa4c1d93addaf9c3b8c63843b92a6953b743665bbbbfc673b548f67bb686d68bb578fa13b5b1573bbfef9863b964d2e3c17601b3c79f4283cf1d40cbcb4ca0d3cbfd50dbcfe350ebc36f2313c65b312bcb5741d3c4bb3aa3b5306953b3f7aa43b701c85bb1914863bf13186bb729a86bbf3fbae3b5d7e8bbbe25b973b4760e13bff39cd3b98bbdb3b895dbdbb0d6ebe3b9878bebba7e2bebb9f32e53be2cec3bb8377cf3b02dc023b5624da3a6302f93ac7b5baba0a50bd3a23bfbcbad97cbdba2048073b70c9c6ba38bcde3a9c223f3c472f243cea6d373c06f20fbc8b79113cec4c11bcf9cc11bc696c443cafec17bca119273c6b62793a2a3b3f3a7d20683a61b416ba458d1a3a4f3919ba33211aba74c3823aa8c625bac437453a3c12f83aee5dd23a2e24ed3a22b7b6baf603b93a9286b8ba1e32b9ba10a4ff3a736cc1ba7f60d63a5831ea3b6afcd13be65de33b5d6abfbbad87c03bceb5c0bb5c33c1bbf7d5ee3bf2fbc6bb4ea7d43be8e10c3b3ba2fb3a4e92083b2f3de5bab49ce63a01c6e6ba7e59e7ba5cd80f3b5b3feeba1ee5fe3a21776d3bbca24d3bbf61643b42ca35bb0760373bc86a37bbd50838bb46b1733b715a3fbb0017513bdfe8463b3e822f3b8a3f403b8afe1dbb85071f3b6e331fbbaea71fbbb3774b3bbe1325bbb20e323bb213513b8c603a3be4a74a3b0f1729bb051c2a3b984b2abb35c12abb3274553b3e2430bbccde3c3b4323ff3bff2ee03b975af63bee0ec9bbc03cca3b30adcabbcf4ccbbbb391023cc88bd2bbc690e33b853a913b1cf4823b67248d3b9abc70bbdff7713bbf3172bb54be72bba809943b824979bbbd7f843b312b3c3c9ee6273cb76c363ca36d18bcf173193ced7d19bcdbe319bca516403c3ea81ebc0b1f2a3cd0de4a3b196e373b755d453baa9d28bb6082293b12a529bbfa072abb7fa04e3be1a12ebb1a90393bc9b46d3b4ba74c3b9d28643b799b34bbf139363b5d3736bb55d036bbda4d743bb41b3ebb492f503b86f9c93a644db03a608bc23afe8b9dba2fe99e3ad5cb9eba44429fba891ecf3a36eba4ba2a0ab33a1dd3223cc21d113c51cc1d3c66a403bc8d8b043cbb9004bcdee804bc8242263c2f0d09bc310d133c2a5e7e3b96aa693b4683783b07c659bb1fc15a3b88e05abb31495bbb102e813b7d3760bb91f16b3b3d041d3b97da063b4286163bb43eeebaf7a1f03a0a4df0bab20ff1ba698c213b9770faba8a2d093bb0869b3cea58873c37d2953ce0186fbccad4713c5d3671bc17f971bce0699f3c3a7d7bbc0a90893c9ab5c73be591b03bda22c13b76e89ebb2733a03ba11ba0bb458ea0bbf233cc3bedf1a5bb4a18b33bb3ba3b3c20bf233c85f3343c811f11bc2c98123ce46212bcf9db12bcbf57403cb38618bcb061263c220d593b92803a3b5b48503b95e123bbe870253b426825bbd4fa25bb7c165f3bbbde2cbbbfca3d3bdb90493946e21239ce3f3939f839dbb82302e23823d5dfb82b7fe1b8011655393be4f6b8f8761839916e7a3b38a74b3ba9a56c3b84252bbb6db02d3b8e382dbbb7f82dbb840a823b368737bb9982503bcafa1c3b18990b3baefd173b768dfdba9d23ff3a014dffba82f4ffba346a203b4fea03bbbf780d3b06c5f83b4d95dd3b681cf13b6ed2c8bbdff6c93b8147cabb41d6cabb0dfafd3bdc57d1bb9094e03bce21c73815fd9638ec97b83839166eb817cb73383c0572b82c7773b8777dd13843e282b84bd49b389126993b45c4863b6ee6933b7ceb71bb7fd5733bacca73bb1f7d74bb68c09c3b4deb7cbbcac2883b3736a23a1933933ad4fb9d3a10be87bab24d883a6b8d88ba48db88bad515a53a6b788cbaefdb943abead1b3c473f0c3cb84b173c738e00bc024c013c295c01bccba801bc42ac1e3cd54305bc22ef0d3c6821a43bc3b98f3b3d4f9e3b1e5b80bbb36f813b4d6681bbd7ca81bba31ea83be17c86bbfaf0913bca21f53bd59fde3be3d0ee3b180ecdbbeb2bce3b0e48cebbccbdcebbcb69f93b2035d4bb351fe13bae9f803b0785643b1105793bb93d4fbb298c503bc9b150bbe53c51bb9473833b34c857bbfc9f673bbb6be63ab39cb43a1dccd73a3d7891ba9b5a943ae0b793ba608894ba51a3f03a56de9eba7acfb93a1c2b823b111f673be7087c3b7a0551bb0972523b108a52bbf41b53bbcc01853ba2eb59bb214f6a3bfb8ea33ba9e18b3be3a99c3b27df75bbb25a783b321878bb3fea78bbfd59a83bcc8581bb81618e3b32d10a3c143bf73b9a84063c93e6dfbb6c7ce13b9480e1bbab19e2bb13bf0d3c5747e9bb7591fa3bc2aa333ce235233c41092f3cbd7316bc1e41173c565717bc1bad17bca2cf363c32a41bbcff07253c4b02843b5cb3683bdd0e7f3b013c51bb12e5523baad152bbe76753bbdb15873bb08c5abb19176c3b35603b3c1c58283cd3f2353ce1141abcadf31a3c3b101bbc3b6f1bbc66183f3ca9d61fbc146a2a3c4f87ca3b7b5bb73b3220c53bd29aa8bbe37ba93b37a2a9bb0605aabb6433ce3b449daebb5a79b93b53f57b3b7a695e3baf84733b5c2548bb83c1493b6da649bb32354abb9fdf803bc8fb50bb029e613be7cf913b120c723b189f8a3b643a4ebb8adf503bfd9550bbf77351bba0cb963bb1315cbbd94e773bb779a83b01788c3b1746a03b5a1871bbbb51743b68aa73bb299a74bbe031ae3b683080bbbf678f3bab8c923bfdd9803b89818d3be41167bb3fd7683ba2e368bb159369bb2201963b5dc071bb94c6823bea72283cb138143c27b1223c46e104bce6fa053cefeb05bca14f06bc7f632c3c91fe0abc756c163ca138eb3b5a58ce3b5d02e33b3348b8bb5bf5b93b87c6b9bba255babbfad5f03bce0bc1bba27ed13bc460e73ba9dbca3b9a48df3b7d4bb5bb76a8b63b66c7b6bb2c57b7bbeee7ec3b1400bebb42f9cd3bce2c043c58f0e53bfc7dfe3b525accbbf61ece3b4e14cebb3cb9cebb0990073c5084d6bb44a7e93bae2be23b8bc2ca3bcc8fdb3b0ed3b8bb66ebb93b6312babb398bbabb3babe63b861ec0bb2b56cd3bfde7d03b3f72b93b963bca3b77d6a7bbcae0a83bbd0da9bb3d83a9bb9378d53b1df8aebb1c01bc3b5e4de83bc959cc3b9351e03b393cb7bb54d2b83b1aa8b8bb1e2fb9bbf7c6ed3bbc96bfbbe961cf3bdaa42d3b08b91d3b9133293b4e3511bb6af3113b2c1712bb516c12bbc0a4303bc55816bb2d801f3b2eb74c3b73c6323bfe47453b9faf1fbba5cf203bc4fd20bb9b7b21bbffd3513bcc5d27bb2193353bb50e953b00d8823bccd98f3bfd926abbf04f6c3b726b6cbbe21b6dbb56a1983b356d75bbf8d0843b0a86f73a390ed43a024bed3a8e1fbabaa5ddbb3a40debbbace85bcba9197fe3a126ac4ba19dad73a6e1aab3b7ae2913b49cea33bfb4a7fbba7e2803bffdc80bb8a5181bb7326b03b14d886bb4e92943b726fa53bc990903b737c9f3b101f81bb79f1813bd23082bb239982bbbe82a93b816787bb22d5923b4b5e8c3b592e7a3b6807883b223563bb6783643b2bcd64bb836765bb5d558f3be18c6cbb1a857d3b0f3a163cbc13033cc4bd103c5cafe9bb15a2eb3b2d9cebbb1155ecbbeffe193c6a04f5bb2325053c1b70003c173ce53b130bf93bc170d0bb2c85d13bd7e5d1bbaf74d2bb071c033c8ef9d8bbab43e83bf20c9b3b682c8b3b1193963b72317ebb1c6a7f3be2e57fbb614680bb39189e3b061484bbabec8c3bb79a9a3bcf7c8a3b3b0b963b21667cbb2de87d3be4197ebb8fbd7ebb88b69d3b1d2e83bbbc418c3bbfc0183ccdbe063c579d133c146cf2bb6143f43b7f43f4bb19f4f4bb53461c3c143dfdbb67b3083cf6c29c3b1c7e883bbcf7963b78f272bb07bc743beb0275bb99cc75bbf8bca03b51157fbb0eb08a3b9265b23b3b1b983beecfaa3bf8b584bb483f863b54fd85bb957586bb84a2b73b75438cbbc4ea9a3bd710183cc721083c648e133c430bf8bbfe79f93bbab9f9bbe15bfabbdf231b3c83f100bc63e1093c91ab103b50a6003b721f0c3bb217e9ba2f90ea3aa4c2eabae961ebba6dc6133baddef2bacd66023bb27b8a3b749a793bd19a863b96f064bbf20e663bd86166bbdfec66bb67218d3b1b616dbb639a7c3b1b3f113cf200ff3b5e340c3cfd6fe4bbf1e5e53b1c49e6bb8efee6bb62b1143cf946efbb5070013c6d65053c39eedd3bedeafd3b173bbcbb0727bf3b0a6fbebb9338bfbbced3093c513cc9bbd2c0e23beb42d43a5a3db63a159ccb3a3631a0ba29bfa13abdaaa1ba0137a2ba3e3bda3ab6e4a8ba0275b93af97e2a3cd9151b3c6832263ce3f90ebc29ab0f3cbbd50fbcec2910bc9c652d3c94f913bcf1ce1c3c96d2503b4552293b6e3f453b07490dbbe8930f3b1c160fbb61bd0fbbf3e5583b1b0118bb0c752d3bf7de323b391b1a3be8be2b3b0bca07bb8821093b810309bb387809bbe9c7373b6a020fbb41c41c3b87cf783b7a15563b40cf6e3be76b3cbb9d503e3b66233ebbc3c73ebbbeb57f3bdf8a46bb3ccf593bfa98343cfea9213c4d3f2f3c9a4013bc3515143cb54114bc0ca314bcee3d383cd32019bcadbe233c70d0783b80e0593ba3cd6f3badbb43bb8d39453b973445bb0ec045bb2a157f3b9e6f4cbb2a265d3b3526bd3bf469a43be70ab63b580c92bb6a5e933b174893bb29bd93bb960bc23b724f99bb7c13a73beb88023ca7d5e73b13cffc3bbc94d1bbcbe4d23b2721d3bbcbb7d3bb4e59053c22a5dabb820beb3b9a31cd3b707fbb3bdd2bc83b201eaebb86d7ae3bdd0dafbb4968afbb4ba0d03beb96b3bbe86fbd3b994d763bdb81523ba2f56b3be17638bb943d3a3bb6343abb80da3abbcb747d3b97bf42bb0054563be3eb883b04a06d3b86bb833bea7f52bbfb8d543b1a5154bb4afe54bbdc7c8c3b78325dbbea88713bfeedf23b2f9fd53b3b93ea3b6c5bbfbb9a10c13b1adbc0bbc368c1bbaaa7f83ba828c8bb34ced83b7b7cfd3bf225e43b504ef63bacfcd0bb1c0ad23b1354d2bb79d7d2bbde31013c40d5d8bbcbece63b8f2c343c4407223c950a2f3cd50214bc5609153c46f814bcd55315bc76ac373ca49e19bc0105243c6d11a83b18eb953baff5a23bfb2588bb76ca883be11f89bbd87f89bb8989ab3bdada8dbb2dec973b449eba3b2c13a63b09c0b43b8ace96bbedb4973b3ddb97bb4f4098bbf3a4be3b57f89cbb804da83b9f7b103c7e0bf73b1e6e0a3c865bd8bb9598da3b9e65dabb7526dbbb95aa143c6966e4bbd085fb3b57e24b3c6002383c2045463c7c9e28bc21bd293c04ac29bc1c102abc1db54f3cf1c62ebcbf313a3c72287b3bf9d3643b37e7743b708153bb616b543bc4bb54bba63255bb47647f3bf4a85abb1a50673b5c6e953b4409823bc0d78f3b397467bb2d8a693bd95d69bb93136abba749993b7aba72bbaf1d843bbe019e3bba9a8e3b84aa993b09d982bb3477833ba3ac83bb64fc83bb10f5a03b62ad87bbf54d903bc989f73a6428cc3a34dbea3a8d1badba7ca8af3a221eafbad3dcafba152f003b310cb9ba29b8d03a35160b3b12aef53a875e063be64bdeba14ccdf3a35dddfbafc71e0ba1f5c0e3bea8ce7ba3d22f93a3d4a6e3b2820563b2277673bc8cd43bb5bc1443b1c1745bbea9345bb96ef723bdc534bbbcac8583b983a2137efb19c3650c805377dcf15b6cdac213682831eb6c0bb21b638f935372f234db6d533ab366d03593b4be3433be90c533b65bd33bb75aa343b73dd34bba94835bb69125d3b20513abbf536463bd7d0f23bf65edb3b7e35ec3b5864c9bb6f68ca3b08a7cabb4421cbbb724ef73b52c1d0bb89f5dd3b83dc083cd9aef43b6abd043c36d8debba30fe03b9f5ce0bb3defe0bb69ad0b3ce5bbe7bb84dbf73bf902a53a59c38b3a99a59d3aed8d73ba8313763ae2ed75badecf76ba6023aa3a2ed080bad86c8e3ab88a1c3c3e010e3c936d183c2bcc02bc7d96033cf29003bc34da03bcd0581f3cc64a07bcd7990f3c333f233cffe0113ce5641e3c786b04bc8519053cf06005bcffbf05bc5b86263c19030abc9fd0133c71e98f3b87187f3b92368b3b97cc66bb3c7b683bcb6f68bbc40a69bba225933bf56e70bbc54f813b5100b83a7cdaa13a74a6b13ae07a91baee83923a769792ba0e0193ba915ebc3a300598ba733ea43a2c0a983c6ab8883cc0b5933cb3c079bcc7757b3c125f7bbc8ef77bbc1dfd9a3cb29c81bc8e678a3c2f24bb3b8871a63b5349b53b60ad96bb79a2973b4fc597bb152f98bbbf21bf3b1c149dbb2db7a83bd399693b24ae4c3b8061613bb39036bb1d44383bd90e38bb749d38bb55376f3b94543fbb11d64f3b78d02d3c9dad193cfa14283c97520abcf77d0b3cba5b0bbca1bd0bbc8dbc313cbd6610bc30df1b3c1130953ab5a1743a5a4c8d3a141d4fba97b5513a509151ba527b52ba56b39a3aa4b65dba4e3f7a3a1815d53be660bd3b4c59ce3bc17dabbbe797ac3b89b9acbbb630adbba3afd93bceb8b2bb36f7bf3b0774763b60a2573bee9b6d3b179c40bb2a5a423b5d2642bb2ab842bb7e8a7c3be5ac49bb87f45a3bcb3e003ce8d8e33bd067f83bb40ecebb7c48cf3b7f94cfbb2729d0bb0aff023c20f8d6bb79ffe63bd523483b8e7b213bd4ce3c3b234a06bb2165083b760a08bb8fae08bb050c503ba5b910bbbe85253bab943f3c39fe273cd5e3383cccf415bc3f40173c8b2e17bccca117bc7126443c8e241dbc70922a3cf90d343cfd3c203c75742e3c985911bc2b05123ca16712bc3ed012bca6de373c338517bc856a223c681e903b85777e3bc84f8b3b2b1365bb15ae663b63d166bba07967bbb568933bce4d6fbb7412813b0336903b39fe7d3b624d8b3b16eb63bb3bd7653bf7ad65bbe75466bb5693933b90426ebbd4dd803bdeddf13aafa1d43a6579e93a42d7beba946ec03a6b4dc0ba8fd7c0ba75a4f73a5f71c7ba88c8d73a184e273b0b7f133b459b213bf10105bb4fe0053b67fe05bbf75c06bb283c2b3b13d00abbfa9f153be8a2c43b5309a73be91fbc3bf5e190bb8bbf923b515792bb8bdf92bb4180ca3b6a7c99bb5337aa3bce7a8d3b3410763bcd34883b4b475abb92605c3bab245cbbabd55cbb0419913bb33f65bb100f7a3bc391053c7201f33b9e30023c0061e0bb3e49e13b76b4e1bbb535e2bb54db073c6e1be8bbc1b0f53bc4f1023c2400e93becbcfd3bd8c9d2bb5b38d43bb953d4bbf1e8d4bb73b7053c43cadbbb712eec3baf5a4d3c69d6383cda91473c34f928bc74082a3cdc112abc3c7b2abce049513c50612fbc66193b3cf3d78b3b3caf703b8d2b863bc4a254bb9eab563ba27c56bb002c57bbf5c88f3b12975fbbd5cf743bb7a2e53ae107ce3a13d5de3a8fb6bcba63c1bd3a0fe6bdba1458beba0957ea3acfacc3bab290d03a0579a73b1458943ba403a23b5a0586bb88ef863b430087bb4d5e87bb7437ab3b43c68bbb9d6b963b3238f73b3f88dd3b12f4ef3bfad5c9bb4f24cb3b4731cbbb4bb3cbbb1f2cfc3b5dc6d1bb255ae03b5e37bc3b87e5a43b3e8fb53bff7093bb399b943b87a094bb831195bb2bc8c03bf4689abbc86ca73b7786873bea096c3b616f823b6db152bb319b543b495d54bb0dfb54bb760f8b3be9925cbbaebf6f3b8167933bc79c843bd8338f3b07d472bb9c32743bb46074bbd4f574bb3347963b08e67bbb8b3a863b735f753b7e10503b75946a3b4ff434bb50dc363bfec236bb1b7037bbedd67c3b16a33fbb9c0a543b9f3a123c0027053c47930e3c77b4f5bb63fff63b5c27f7bb00b4f7bbf0b2143c0c24febb4e9c063c4613203ce9d30b3c985e1a3c5808f8bbeb74fa3be031fabbe902fbbb9af3233cc95702bcc70f0e3cd640d63b651fbf3b70b4cf3b0040adbb089dae3b2477aebbe4eaaebb7bb8da3bb55db4bb3da8c13bb61bfa3b7006db3b7c49f13b1983c3bba602c53b2421c5bb14bec5bbf910003c1400cdbbb26bde3b1430b83bcf0aa33bf42fb23be91d93bb7e0a943ba93894bb07a494bb6449bc3b609799bb5d5aa53b25fdc33a84e3a33a769aba3a8e2c8dbaa7ce8e3af0a78ebae6318fba7d87ca3a82f995babf42a73a705d113ceed2023c034a0d3c77dbeebb1967f03b0871f0bb080af1bbcb20143cbc19f8bbb56f043cb22aef3b2087d33b1f4ce73b48acbebb8115c03bb217c0bbe09ec0bb658df43beb01c7bb5389d63b28f7e13b8b9fce3b128adc3b8888bfbbb875c03ba796c0bbfbfac0bbd8a4e53b6fafc5bb5cc5d03b3621203c41fd0a3c2c1a1a3c0103f6bb6e59f83b0f2cf8bb28faf8bb6942243c575a01bc2c490d3c3d7af33a23c7ce3a50a1e83a8336b5ba513ab73af2dbb6ba6077b7ba5a18fb3a6802bfbaeb94d23ac09feb3b5884ce3bb95ee33b7109b8bb3dddb93b028db9bbf51cbabb1342f13b94eac0bb17b3d13b5bc85d3b9b0f423b2ccd553b6d7c2dbb56062f3b4ddd2ebbd7602fbbf64a633b9f9935bb4b09453bdd8ed73acc5eaa3ada41ca3a9faa8ababc408d3ab9b18cbac06e8dbad5dde03ad6c096bac612af3acfc2cb3a3a65a23ae593bf3ac7b285ba40ce873a908b87bae33688baeb49d43a29b690ba3db2a63a4312343b70871c3b8c4b2d3b33440bbba4650c3beb6e0cbb1bdf0cbb85bf383b172412bbd10d1f3b65459a3b5918883b681b953bd7b774bb1974763bbc9b76bbee5177bb1bcd9d3b3dcd7fbb50148a3bccc0863b0a4f6d3bed2e823b770d55bb2c79563be6bb56bbc75f57bbf4df893b18e95ebbe0d3703bbdfdc2388f1b6a384d01ab38c78909b8d8631138604c0fb8575c11b85a48d43895a62cb8b65579381e24243c03a70f3c334e1e3cda4300bcec45013c2c5001bc16b401bca022283c7b6c06bc7be1113c4f01823bf4e5673bb2f27b3b873353bb0e60543b02a054bb602955bba5c7843b93905bbbefee6a3b4a8fb23bdf45973b3ebbaa3bf9bf82bb017e843b351a84bb319984bb6ef1b73be0b98abb45369a3ba6348c3bc29d7a3b30fc873bd51164bbd256653ba4a465bb293e66bb09168f3b46476dbbc6e17d3b310e963b001b843b8fe6903b50b36dbb1c716f3b487e6fbbc02870bbd69a993bb94078bbeb09863bc086b63bf0ada23b3be5b03bec8693bb1d8f943bf19094bb03f594bbe45eba3b3c9d99bb23daa43be021803c9946663cabec783cb4f651bc6396533cfe5753bc1bdb53bc50a1823ce7085abc0223693ca0270c3c4470ec3b40d8053ca5adcbbb3c7ace3b54d2cdbb2098cebbfe80103cc655d8bbbf24f13b68d3a33b3b4d923b8fe09e3b7cdc84bbc5b6853bf5ca85bb1c2586bb2032a73b4a4f8abb843a943b1179f53a26e9d53af261ec3af6a8beba6f4bc03aed37c0badacbc0ba50befb3a9dd8c7ba4c4cd93ac649fa3b9f54dd3bcefff13baae1c7bb2235c93b4558c9bb92e4c9bba3fbff3b217cd0bb1376e03bf02bbf3b8238a83b53a5b83bf9c796bb8b07983b4af797bb6d6898bb85a2c33b01bc9dbbd5b8aa3baf640a3c33b6f33b78a2053c7b6fdbbb6bffdc3bfd13ddbb0ab1ddbbb8ac0d3cce1be5bbc243f73b43f3813b1e9e693b49757c3bd78b55bb47cd563b34f056bb907657bb757d843b04b05dbb1e806c3b40ec4c3baeed2d3bacf2433bff7917bbe709193bf8f818bb0a8819bbfa22533bff5120bb4b3a313b91b9403c75282d3c942f3b3cb0211ebc192c1f3c7c291fbc478c1fbcfe7f443c072a24bc354e2f3cdf27193b1c4a033bf3d6123b5ec9e6bad5e7e83a31ebe8ba1eb7e9baa4851d3b0a60f3baeb9f053bb615f83bc0cedb3b8712f03b4e64c6bbbbabc73b28e0c7bbef6fc8bba38dfd3b9a15cfbb55e7de3b9d0af63a6d1bd43a4040ec3a6241bbba9601bd3a7deabcba0988bdba1bcefc3aef0dc5baa2bcd73a515a123ce166013cee7a0d3ce3cde9bb697ceb3bc37cebbbfd1becbbcbb5153c80b7f3bb9339033cd77fb13bba6b9e3b071bac3b4aac8fbb50ba903b99af90bb531191bb712cb53b4f9995bbb984a03bb76cc63a0d20a43a285fbc3a4cef8bba17b08d3a86848dba231b8ebae070cd3a3f5695ba6fb8a73a1ec8a13b91c48c3b39c79b3b26497abb153b7c3b9b6c7cbb203c7dbb08e7a53ba46d83bb210b8f3b2934e03bdcbbbd3bdc45d63b9836a4bb993aa63b33e6a5bb3784a6bb620ee73b6a2aaebb2b6dc13b408d6c3bf7604e3b74d7633b134938bbb4c3393b7dc739bb9b583abb0593723b5a1541bbe59b513beab68f3b870a793b512a8a3b14105dbb03085f3b19ed5ebb179d5fbb638d933ba51068bb5b237d3be7edc33bf532a43b8dc4ba3bb9e88cbbbcba8e3b96718ebb37028fbbe541ca3be3fc95bb4b96a73b49e1c03be543a33bae47b83bf7f48dbbf3708f3b415f8fbb87e68fbbb0d8c63bb75496bb0668a63bd9574c3bb252343bb670453b0e7522bb4dc0233b7aa823bbbd1a24bb5519513bf18529bbc0e8363bb29f9e3b0cf27a3b12f5943b2f0f4bbbc54e4f3b701d4ebb47344fbb5a58a53bc8395dbb9ff6803b34c47c3bfda2583b5452723b833f3ebb1530403b60ff3fbb5ca440bbdafe813b7d9548bb807d5c3bbcc7113b5d35fb3ac9fc0b3b682cddbaed6edf3ab32edfba79eedfbaf5c4153b7002e9bab28cff3ae284863b52bc6f3b165d823ba1a959bb86e15a3b1f335bbb3ac85bbb155b893bbfaa62bb97f1723bf3f5573bd1b6393b440f4f3bbda724bb1424263b210626bb468726bb9a305e3b8fcb2cbbd8dd3c3bc9aebb3b22f3a83b3457b63b5fd99abbc3bf9b3b7dd19bbb2f2f9cbb1458bf3b7d87a0bb09fdaa3b6883d83aa485c13aaef9d13a146cb0ba1b3db13a409fb1ba4614b2baacfcdc3ab473b7bae607c43abc67153cb871043c7f97103cbc2befbb77d3f03b52f0f0bba69af1bb52b1183c1189f9bb4c4c063caaa7a73850105a380a749538f7b013b89bcb183851e917b8f07419b8f0dbb438967e2db82d6065389e5f2e3b68b3183b552c283bb4a008bb6c99093b5ebb09bb12270abb8ca1323b281e0fbb2a0c1b3be7541c3c61f80a3ce86a173ca080fbbb4223fd3b1455fdbb3606febb69ae1f3c081c03bcfcdf0c3c69a5413b7a8c223b3199383bd1630cbb60dc0d3b85dc0dbb36690ebb00ef473b571b15bbdcd5253b219e7e3b36fb553b1acd723b162638bb82dc3a3bc5123abbabc53abbae68833b958b43bb6f495a3b4379d23a3b1dbc3a9c28cc3a7eceaabaea0eac3a09feabba1f6facba82c6d63a1bbeb1ba6092be3a18c6af3b21dc973b01eba83b022586bbbf52873b7b5887bb6acc87bb257db43b2e378dbb83709a3b0ba925c078e211c03a0420c0af140340900804c0fe160440fb7504404a8729c022020940230814c06aa9873f0430713f8e21833fb5d81f3fe78b5c3faf43323f756a7a3fb27c8a3fa5e29f3fc5c4743fb4eaee3f +\ No newline at end of file +-- +2.25.1 + diff --git a/gcc.spec b/gcc.spec index 90ab7071121dd60a647972ae27fab148f7d06c41..c6cb6b8711b8d1ffb958ce9e561017cf14bb844d 100644 --- a/gcc.spec +++ b/gcc.spec @@ -2,7 +2,7 @@ %global gcc_major 12 # Note, gcc_release must be integer, if you want to add suffixes to # %%{release}, append them after %%{gcc_release} on Release: line. -%global gcc_release 94 +%global gcc_release 95 %global _unpackaged_files_terminate_build 0 %global _performance_build 1 @@ -503,6 +503,7 @@ Patch390: 0390-struct-reorg-Check-ADDR_EXPR-in-pointer-plus-assign.patch Patch391: 0391-oeAware-Fix-.GCC4OE_oeAware-section-dup-in-LTO.patch Patch392: 0392-Modify-cores-definition-for-hip-cores.patch Patch393: 0393-array-dse-Ignore-debug-stmt-add-testsuites.patch +Patch394: 0394-update-ai-model.patch # Part 1001-1999 %ifarch sw_64 @@ -4309,6 +4310,10 @@ end %doc rpm.doc/changelogs/libcc1/ChangeLog* %changelog +* Tue Jun 18 2025 yinchuang - 12.3.1-95 +- Type: Sync +- DESC: Sync patches from openeuler/gcc. + * Tue Jun 17 2025 huzife <634763349@qq.com> - 12.3.1-94 - Type: Sync - DESC: Sync patches from openeuler/gcc.