{"cells":[{"metadata":{"trusted":true},"cell_type":"code","source":"import pandas as pd \nimport numpy as np\nimport pydicom\nimport matplotlib.pyplot as plt \nimport re\nimport random","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Prepare data and image paths","execution_count":null},{"metadata":{"_uuid":"d629ff2d2480ee46fbb7e2d37f6b5fab8052498a","_cell_guid":"79c7e3d0-c299-4dcb-8224-4455121ee9b0","trusted":true},"cell_type":"code","source":"# data paths \n# (put img_paths into df table so can be sorted and join with patient_paths id)\n\n# img_train_paths\nimg_train_paths_df = pd.DataFrame(columns=['id', 'img_path', 'path_num'])\n\nimg_train_path = '/kaggle/input/osic-pulmonary-fibrosis-progression/train/'\n\nfor folder in os.listdir(img_train_path):\n    id_folder = str(folder)\n    for file in os.listdir(img_train_path + folder):\n        path_file = img_train_path + str(folder) + '/' + file\n        path_num = int(str(file).replace('.dcm', '')) # cast to int\n        img_train_paths_df = img_train_paths_df.append(\n            {'id': id_folder, 'img_path': path_file, 'path_num': path_num}, ignore_index=True)\n\nimg_train_paths_df = img_train_paths_df.sort_values(\n        by=['id', 'path_num'], axis=0) # IMPT: sort by id then path_num for sequential cross-section scan img for each id\nimg_train_paths_df = img_train_paths_df.drop(columns=['path_num'], axis=1) # drop path_num used for sort\nimg_train_paths_df = img_train_paths_df.reset_index(drop=True)\nimg_train_paths_df","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# img_test_paths\nimg_test_paths_df = pd.DataFrame(columns=['id', 'img_path', 'path_num'])\n\nimg_test_path = '/kaggle/input/osic-pulmonary-fibrosis-progression/test/'\n\nfor folder in os.listdir(img_test_path):\n    id_folder = str(folder)\n    for file in os.listdir(img_test_path + folder):\n        path_file = img_test_path + str(folder) + '/' + file\n        path_num = int(str(file).replace('.dcm', '')) # cast to int\n        img_test_paths_df = img_test_paths_df.append(\n            {'id': id_folder, 'img_path': path_file, 'path_num': path_num}, ignore_index=True)\n\nimg_test_paths_df = img_test_paths_df.sort_values(\n        by=['id', 'path_num'], axis=0) # IMPT: sort by id then path_num for sequential cross-section scan img for each id\nimg_test_paths_df = img_test_paths_df.drop(columns=['path_num'], axis=1) # drop path_num used for sort\nimg_test_paths_df = img_test_paths_df.reset_index(drop=True)\nimg_test_paths_df","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# patient train test paths\npatient_train_df = pd.read_csv('/kaggle/input/osic-pulmonary-fibrosis-progression/train.csv')\npatient_test_df = pd.read_csv('/kaggle/input/osic-pulmonary-fibrosis-progression/train.csv')\n\n# IMPT: get first week of patient data only because CT scan images done on first week\npatient_train_df = patient_train_df.groupby('Weeks').first().reset_index()\npatient_test_df = patient_test_df.groupby('Weeks').first().reset_index()\n\npatient_train_df = patient_train_df.drop(columns=['Weeks']) # drop Weeks\npatient_test_df = patient_test_df.drop(columns=['Weeks'])\n\n# rename Patient to 'id' for join\nrename_columns = patient_train_df.columns.tolist()\nrename_columns[0] = 'id'\n\npatient_train_df.columns = rename_columns\npatient_test_df.columns = rename_columns\n\npatient_test_df","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# change id string to float (not int as it will cause overflow) for faster join\nimg_train_paths_df['id'] = img_train_paths_df['id'].replace('ID', '', regex=True).astype(float)\nimg_test_paths_df['id'] = img_test_paths_df['id'].replace('ID', '', regex=True).astype(float)\npatient_train_df['id'] = patient_train_df['id'].replace('ID', '', regex=True).astype(float)\npatient_test_df['id'] = patient_test_df['id'].replace('ID', '', regex=True).astype(float)\n\npatient_test_df","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# left join subset patient_train_df with img_train_paths_df by id\nX_train_df = patient_train_df.merge(img_train_paths_df, on=['id'], how='left') # merge joins on non-string columns vs join which throws error \nX_test_df = patient_test_df.merge(img_test_paths_df, on=['id'], how='left')\n\nX_test_df","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"## Exploratory Data Analysis (EDA)","execution_count":null},{"metadata":{"trusted":true},"cell_type":"code","source":"# plot lung cross-section scan of following categories:\n# (1) Healthy and never smoked (benchmark): a patient with FVC percentage='high' >= 70 (i.e. no pulmonary fibrosis), and SmokingStatus='Never smoked'\n# (2) Healthy and smoked: a patient with FVC percentage='high' >= 70 (i.e. no pulmonary fibrosis), and SmokingStatus='Ex-smoker'\n# (3) Not healthy and smoked: a patient with FVC percentage='low' <= 50 (i.e. have pulmonary fibrosis), and SmokingStatus='Ex-smoker'\n# (4) Not healthy and never smoked: a patient with FVC percentage='low' <= 50 (i.e. have pulmonary fibrosis), and SmokingStatus='Never smoked'\n\n# (1) Healthy and never smoked (benchmark): a patient with FVC percentage='high' (i.e. no pulmonary fibrosis), and SmokingStatus='Never smoked'\ncategory_1 = X_train_df[(X_train_df['Percent'] >= 70) & (X_train_df['SmokingStatus'] == 'Never smoked')] \n\nimg_plt_df_1 = category_1\nplt_index_1 = random.randint(0, img_plt_df_1.shape[0])\nimg_plt_df_1 = img_plt_df_1[img_plt_df_1['id'] == img_plt_df_1.iloc[plt_index_1]['id']]\nimg_plt_df_1","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# (2) Healthy and smoked: a patient with FVC percentage='high' >= 70 (i.e. no pulmonary fibrosis), and SmokingStatus='Ex-smoker'\ncategory_2 = X_train_df[(X_train_df['Percent'] >= 70) & (X_train_df['SmokingStatus'] == 'Ex-smoker')] \n\nimg_plt_df_2 = category_2\nplt_index_2 = random.randint(0, img_plt_df_2.shape[0])\nimg_plt_df_2 = img_plt_df_2[img_plt_df_2['id'] == img_plt_df_2.iloc[plt_index_2]['id']]\nimg_plt_df_2","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# (3) Not healthy and smoke: a patient with FVC percentage='low' <= 50 (i.e. have pulmonary fibrosis), and SmokingStatus='Ex-smoker'\ncategory_3 = X_train_df[(X_train_df['Percent'] <= 50) & (X_train_df['SmokingStatus'] == 'Ex-smoker')] \n\nimg_plt_df_3 = category_3\nplt_index_3 = random.randint(0, img_plt_df_3.shape[0])\nimg_plt_df_3 = img_plt_df_3[img_plt_df_3['id'] == img_plt_df_3.iloc[plt_index_3]['id']]\nimg_plt_df_3","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# (4) Not healthy and smoke: a patient with FVC percentage='low' <= 50 (i.e. have pulmonary fibrosis), and SmokingStatus='Never smoked'\ncategory_4 = X_train_df[(X_train_df['Percent'] <= 50) & (X_train_df['SmokingStatus'] == 'Never smoked')] \n\nimg_plt_df_4 = category_4\nplt_index_4 = random.randint(0, img_plt_df_4.shape[0])\nimg_plt_df_4 = img_plt_df_4[img_plt_df_4['id'] == img_plt_df_4.iloc[plt_index_4]['id']]\nimg_plt_df_4","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# plot img_df\n\ndef plot_img_df(img_plt_df, title):\n    f, plots = plt.subplots(2, 2, figsize=(15,15)) # set figsize to clear (15, 15)\n\n    # get four cross sections: 1/4, 1/3, 1/2, 1/1.5\n    ix_1 = int(img_plt_df.shape[0]/4)\n    ix_2 = int(img_plt_df.shape[0]/3)\n    ix_3 = int(img_plt_df.shape[0]/2)\n    ix_4 = int(img_plt_df.shape[0]/1.5)\n\n    img_1 = pydicom.read_file(img_plt_df['img_path'].values[ix_1])\n    img_2 = pydicom.read_file(img_plt_df['img_path'].values[ix_2])\n    img_3 = pydicom.read_file(img_plt_df['img_path'].values[ix_3])\n    img_4 = pydicom.read_file(img_plt_df['img_path'].values[ix_4])\n\n    img_1_arr = img_1.pixel_array\n    img_2_arr = img_2.pixel_array\n    img_3_arr = img_3.pixel_array\n    img_4_arr = img_4.pixel_array\n\n    plots[0, 0].set_title('1/4 from top', fontsize=15)\n    plots[0, 1].set_title('1/3 from top', fontsize=15)\n    plots[1, 0].set_title('1/2 from top', fontsize=15)\n    plots[1, 1].set_title('1/1.5 from top', fontsize=15)\n\n    print(title)\n\n    plots[0, 0].imshow(img_1_arr, cmap='bone')\n    plots[0, 1].imshow(img_2_arr, cmap='bone')\n    plots[1, 0].imshow(img_3_arr, cmap='bone')\n    plots[1, 1].imshow(img_4_arr, cmap='bone')","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# (1) Healthy and never smoked (benchmark): a patient with FVC percentage='high' >= 70 (i.e. no pulmonary fibrosis), and SmokingStatus='Never smoked'\nplot_img_df(img_plt_df_1, \n            title=\"(1) Healthy and never smoked (benchmark): a patient with FVC percentage='high' >= 70 (i.e. no pulmonary fibrosis), and SmokingStatus='Never smoked'\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# (2) Healthy and smoked: a patient with FVC percentage='high' >= 70 (i.e. no pulmonary fibrosis), and SmokingStatus='Ex-smoker'\nplot_img_df(img_plt_df_2, \n            title=\"(2) Healthy and smoked: a patient with FVC percentage='high' >= 70 (i.e. no pulmonary fibrosis), and SmokingStatus='Ex-smoker'\")","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### As you can see, not healthy lung has larger areas of aveoli strands (not bronchi strands) for large vertical areas i.e. for longer video seconds (video below) vs healthy lung as the unhealhty aveolis are inflammed or enlarged and more spread out vs healthy","execution_count":null},{"metadata":{"trusted":true},"cell_type":"code","source":"# (3) Not healthy and smoked: a patient with FVC percentage='low' <= 50 (i.e. have pulmonary fibrosis), and SmokingStatus='Ex-smoker'\nplot_img_df(img_plt_df_3, \n            title=\"(3) Not healthy and smoked: a patient with FVC percentage='low' <= 50 (i.e. have pulmonary fibrosis), and SmokingStatus='Ex-smoker'\")","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"![mcdc7_pulmonaryfibrosis-8col.webp](attachment:mcdc7_pulmonaryfibrosis-8col.webp)","attachments":{"mcdc7_pulmonaryfibrosis-8col.webp":{"image/webp":"UklGRsytAABXRUJQVlA4IMCtAACwpQGdASp4AmYBPikQhUIhoQ03+g4MAUJY278V3lRxWQ6f8exbzx+0Pzn5Qflv8pXKPYn6L+4/qj+7fuB97n8Ts/96/2/7IekDzp/u/8P+QH0F/4n7Ne5j+v/4//p/5X4BP1Q/3P9u/137P/GL/0v837o/3S9Qv9O/vv/h/0f7//NR/yf2h9z3+H/0f/Z/03+x+QD+l/4j/x+1t/6P/r7kH+C/6//q9wf+d/5L/x+uj+23+9+UH+vf7D/6/6z/d///6EP6L/g//n+3v//+QD/j//b2AP+v6gH7/+3/2z/qP4ye6X4r+3f1/++/rT+7fq3+LfOP23+3f5X/L/2z/3f7X5G/63yGep/zv+8/yf7he4/8d+0/4T+4f5v/Yf279v/uX/K/8L/M/j16a/HD+//x/5X/IL+L/yb+7/2L9rv7Z+5X2P/K/7//S+AJuX+0/7/+v9gv2Y+j/5f/C/6L/e/3D9u/a7/nfyo/eD5c/U/8l/pvya/un/w/AH+W/0X/B/4D9qP7j/9vqf/n+Gx9//6n+9/Hf6Af5d/Tv8V/g/9F/o/8N//ftb/pv+p/lv99/2/8p///f1+hf5P/lf5X/Q/+P/R////ofoP/Jv6P/kv7r/kf+N/fv///1fvY/8HvE/Yj/ufn/9Hv6w/6n8+TBjF2BtOg9c/ti7A2nQeuf2xdgbTxeqULNXrPJDdEgoLy882d6XT8qwdznl3sTMR01gNnW1LT1phN3xEvYFgSAy1/DcNkUO3SB8//aH2JOc5kM9UqNRlPyhLLCPgI4n3Rz0hKUCW9PgPCD5ApkMdF2UxAB84xfWVqe7ujIZQAIr5rzF51mP//MMiV3zv6gS9iPbX6Q9ovsSc5znOc5zmOpVamRN3lD3R3RO9U2EWIhyvGwjcgNGO0CTX1yqemv0gqW2ryUt4d0Nbn6avP9VoEzXhDdb96J7xlwajiacYpF24/BgzEeGvzBkNTrPHNdWAWNZgqy6VThh6STeLOwnXLKfLEFS9NYi+ZiMMeUEyTRY3gARxTUMies11TNeskdc3Vm9AXHErgvrhHf7UirLILYEFoEyrHn21CevQhDMd/pq6O7Euq0J5c2hq22HwqT5p8nTsQU8VgqSH7bvkHy4XPdmF/IOPaUTAchTPMuZPXfBHMSy2wQTegLLerQE4W1lzLYBEJVrIOvdgyZIIrL30BLtLX5TwY3rsP6qkV7KyD9R6ecWbjUbBQjihKCd7r/y0lp4+jV8qm4pmXxA42FfAYzeffBFysyjtoLBG6NPlZkYSqENS6tb+BTjbEzsd0+viOWnGERhDIco2XyX+HZhK6lF4f7tZ386E9/VZdjmCPHwW8K/A48AqmWQq+q6obUkWj9+BxhSJeqk4CtCm1MKFBZDzELRT7Nhj/En1jvQAqSyQx4e4YOi8aFZNhvVmENPt7EAmDdgCLJcTiboGM6bGP1pZKl84tfddtG/r8fomYhZsUYxUcctRz/tJ2NfV/0rEX2O1A8c4UczfvH2USi5MsRgn8mCGPqcT7vEt6kMG6rT+65vC7Vq+B1QJFNlGAu9JsdpQK/+PlEOtPYnqrmIUmAsryZjClKQKoh5+On7QvN9TZUGmphU/EqtOttlVdecqaXedSJZ9PAasNtCFxwxEZNjPBtb0tZqPCgt8TcJcZL+js2e81JicQkxmTjgmrL8emqH5p1WrZQ4CX/UL6oq+u101drgY3occn+PnOamok2qscFsbE0LLJQayS0X8rACsVF2iIkYrr6xEyq3hvPJouraSJytt43uUJn/YchKLKRO2UM/BbLfJsq6S+pZodMFb9aL+EJvWfaZMi2KH1uyBSiND1Wzo56ZCWD/8fgK/Rdds7ymJy12wuKszs+aUj3sN8EhJuWpk2MHnnNuRgqa7+jRNdE5lHVEq6086fp33A7CqnBBztdZLmPNH8KEepI0l1dzen1lx+nWNCDfOp+oHlNPC/g43dJbExZ6sfHNe3WIQ5m9rBf6TlyjtuIP28O4+IBCC7QsbVplb6nRrumdCkNYYXDD9t7PIJ5R6Sd6BrH5ADP1zV/CYvGE93zQxshcfva2ypbwWxCioga0znKxhvmpCHjW0PdwL1GGKr9bl6eo5UgFhosEfLQKMOaFb5HzVYNk63MuhYT4fTPB4K4WRoykzqUHPY4uO9Z8SXjawHdrfXURndOUVRBomo1lKb6aUdK/cBUNk/0x8ThZJAjbhWQIkkwcTXPHPOyUlBTp93hy3dURJ18+XC1PXPJ3IFPfuVLwosnugIrTJaBu339LfyYS1jk9xFMgjnKuwacxSHV3D6YcbFU+xAitB6kwlvdUOKDcaGz9zKxNKGY4BcMjh91wVje/VH54e5NPF7j2lRHWLPBir2bpDskFXOwtwOkVSYLei7STaSnApOzoYM4GwhCBp3rVTRuoVGiN0VacucVInPv/nnLWKPzQa0cd5QS2vBW3TwVmW3N+if2QUKGLsuoL3ElZHhNBsIOFpRwAzNbAIOu3E089a02pRteso3ltcnyBaQ/KsXzJRZq3zATHOVp0tlXoD48jN458yKOWT2nIK/auKpfzocx7UmDmgqgFWKiwxFPQ7eVLS//CiES+59J4Fwe084rEWMYLnaGAp1p+AMg1teAq17bxBbLE4X2KwPDDrmLb6vbkSVBG/0elu1gIQBe9cH5F4+VKqJPuUUWCwkVTI+CUjO4hIQcOjHOzTBJZfDg8b/6pXUYbg/S7qSeMIPt0Ee1LzJzBnMCFVTRwOrjABxioEgJEmwdW5HT/z5fB6V5BNhZq+ZZ+rqMsNMR28xnVC8jn6HxxHAc2Yul10SQeeShuwLC2g0nRMYg4vprs1LQY53mGd+Oyiw9K2Qb9iVUccG9gOS9BACU6mA5LtwZlfkas6thWMWL3SjHxYpMiueCO8+upjUFpSkUpi/Cy0QpsvcXLj7w3YZl/STCV7DO+L7eYqe6uwLOvTS4c1UJ9Ab0/lqeon3jdhV+VQU8lwBPE5URvyWZqatjPJtikZkMw4/VIV/xZtk67Vp1hBXpZahaqs87k+xUMvlUH6frs+HhGKcYjuev5GWsm1ebD/zehMQGT7C2FYRZ6fpb0JMUIxvm6rZJ/14uDw9JHOTpl1bVn1fJRbo9k4tMWSnDhwPT56ikybS8mO92lWePQQ57vRf8SFJ7mLKZap64fCj+VirdgvzVt6LcFOdzI3K1wha3B3EQA+3fWiRPmBsQKv0+y6Jc3L1pdqS5N9H+aMHYpjXdvdHODnfHN71pXOF95mSFizy4Qny2m2GtR3SlzF9VD++m/emV0s/PIqOcGI8IKB4lbA60Tc3Ake4NSvJiwaVkoHQnHUsBzCeiDiGQ2cZgB6QbOAq+p81FaD5DvSePOlFT+CqTQobaT0VaPOWZvUWTTpdT0Uc14pRVq8USdsaba6JmxhhuczgBfY6KgKhWChH/ia3De0Zj0p1bEZzxWHLuK8E7wTPDDLaWeKekJ8L2tqCicAk539v3vMjqAOLS9qyOUHXMRMq0pR7LqjeMzaeyGmHQ+MBfkDNeVWHB9S/8UjNajUwAk9G9T/GIkDz5Tqc5n9tAKI25eMN+W1SmRtWErgxWajd/ndWC0LW49U16zCPm49lr3okxdv1socnWj5lZnbupsm4cUc7z4yRr5x4ZM6oGBXPETPkNUXfyK4JGxiHHdQlVSxTFbjTgzT713ytM7AJpl4liiktgGt4skpkGo8BvgBtwvuggijW7PQT43/qEaMocHX01HyHQaOVfg0A2pVEQzJvRZBnf2H1T3/Y7c3annFJbdAq/T4mJSSkN2BdakAKPPn6KwBzn8jlq6kpTTgzNp8SbQz2PdOmAATmQr8SNbLEbZMe6/SFQz8JLea49eKTPkiZj2yqXhfjr1aaJy/mxaoMdG1xhfwHSnm+a4QOXm+15lddZUGdTLIpdNr3Bqnq68PYFxp281+kP9VPVyaOJex2Xyj1UOxJ8YRspE0xrNIFTNJonUvLiwm6vXSbjjkDqMqkik5znTq0pkBo04MzafLS+2xTq3p1QlKazcLgdWgEwlpkxdt7Cr5GKgURbRK34Vp+wUlvtUY4ygnQXfHCeWeY+64IsA94d5AdYhKN/e+PNxreXl6vEml9tinVvTTg2Sj/blAuxlbL9oRJHcgtwPX/FLZLOlbixxCi+nOjTPXLXlDrt+XZ1k+k0UEZxyNOb1Vg3TNhVANJbeVglu9bJz2tZ2JGCEf32+KOz8/3xS3HavIvARLiE8Jk0c1RFYSSXTZODtoSdj/7jIapZ7xtl0UqrDEvcWc2f2bq00yuRBsJQm3chLkaTlvE81/IUi6QJcVTpOetkDExJzviXRo0TXqzJ9rm65sMqGJCEGQB4sIUoImF2dJ7ZAW8wAvsCNAwf2U4ZMRlH7wgVwZk/MZO/ft3jCgzv/bea9FUO2zSV4dT34JqFDhuqoyvFgjHdfut+QFoSPedlY2k6xWfO5xO5SfVTVsUeKM/ulqwgQVJVB+eWDbyJXPckcmXcoDTq3ppwbHAAP79/9gAAAAABH7x3lJ3cw1monUQwPQP6ldKEgB0Y+bD/gdDNhgWtwkd/0TOf5s57dJ/e5OtTNH9OSTfHOGhUktBiXDmhfQB8Q98sojhUhFvcucAapVwuyZ5Z1+qXyJbFNt7eBthw74nPNJm736b2TN9Rt6cNBNwXmEDBTk5HZlEamSA+Yo4PBBXXBv4jtOGyr2i+puhXdvzP49mtSCtuhNtERkFDfd4u+pAmkXMuTv8AAadbZxlnFHNZU2yDcLKzccSQXoR8B9W+lmVg11cdWDVQM+7p53KIRkvsvFVjWI1SwoUzN6unIzzEs1Qh/iigUQo7vvPc+n/aWbV5ZOrCyRthfo8h41aM++popo4h98ive/i+fi75AEW8z+31AaSLWCGM29+1YUojESNwCnZpLr77oxGchyEoud7eRGDfPID161HpN7L6FVEpQKcGuPZgQ7qdc2OXus45zoZindwcGORiAu0VZVwSlgeGAb0L4DqxXEwGo7episzXdKIhItXn6uWeZ3Wx8SqmDbAapcsHxBuz4RkeY/3I2W++C4buJwvuLb/ZF6/p8SELx+G/asQGEy2zVL35s8hzTnIhQTDlccDxtovGfHrB2raFyivWVKOh9HcD8qegrtRHcdVgp013BonpRWN3c//AheTPl4gZ6rDy5YLGUIt0PKcFuIh0JRnmQUSDb/u8cuS65LrS4hs1uBOXnBCseCvghRQcIRQZ+GplhrBrunn1GBptKrMPnnxjTufrk+dXOzaTjjiAp93p+jWZg0tmfgFPLAVN5R0BIDnZnQ1e/fIGbL7BH+5LciOo16J7uCLK5CS3bGVTglNpTlZMggMJFVIto75lHGP8QAFOU5svRDVqroyUZ9sj5LWadRK9w16btD8C4oaKS8sf5SI866+9aWORV1aBdfEw/4gzwp4+4fpv8cj/u6fHdnY5KC0AAaSt9Z/OlxzzWbnsJFvmxGXM4FfYdK/HF6NRx7N52c/qKyo8FT8rCSd41P2NOQUVYRt3321vMjNkomn3MbBVUKfhdBDmsssk5Uu9PHRPwqG4F/E0pSdOsdadELUUAT7URV9KH/k8Pgb+s/5A1DA4NNUUHu0juU2o9X/IrYAvBks6Spf74qnwm5c5w1bwe3o5YwIK/d+TheJyueUIkcr8FY07v+ITPH5oUsMHveaFCah7gzHWbamLlH769CqpFr0sHChCzAdkV2WFyPupq/n2a32GS2oAG3xMIPQ8e/Kl7iTLF74IWUmUY+Wbl/VgTG99dnRxFIGJk/Uptvp6ME600rj/9UuMp4j63IMPXPHaJNMH519OUZjEkblc4IBrv9mD/xGQrsWQvnYuQVEQ5VInjH/lk69xtab1Zeh2joRBJ54iroyPxA770pp3z35geKx4uwwTZ/f6CB2TZIVxELR08RY+Of2w09aAX65D780Pvod+G/IcNxPTKf04VQhSt57QcFaRqITOY/lusBtrkEjMh7jI3aXovbw0hFZwBvDkgHEEYKleHr9cM7UQ3XJqNb22Z+fXcOKjkju5yY33zYZNQa0yXaREyGjY8ufafELlHwUSljXIZ87VHh9A+CPJT30PFjZhhmBGc+AdIRVdLvNJnNZabH3yNTfjSgRa9we12t2m/yOX/8F9iV0ZBQr/hRT7rzqTH5e0cPRnfzmhNeQAmGAwgg5cHI2BFs6suNGjEGGaeAfjU4SOGHXrIjR61I67fJB+uC0FtWdTTxZCCSskci2wHuqFp8MANUm/FaW9MhXvoG5bo9ceiDEij6KvmoH0kbLH9RhCM03yOf/1EDygJQFDwLXrUcc1LCPUeuc/0FmR01AdE17HFs0E+llZUzwFKXGp2lam/6wGqREmxzq9pnIxfZhDrm1g5gTn/wBDUSpTkRtpLQ32MvYdgkZeLENzATrE8aAD+HpcHD5oqekA2jgX2Co8MTaNFE1X5c4WOUT1QpfV1qbxdiWCgS5ir1tizz6FqEsJgvdV5ZMhcxIP2A+iEXWUiV1zTB4adni69uZfAFnHaHFVaHLncnZR7Px0uKa+0A3lJlffaszKSn+PTr72VcuP1Wi+L7pbyXp1VEL+t3m7L8cGEgO72tH1jE351YjGyMM7sm6X4l+vOClzIfg44PeJzWGOuaIjvPiwhpjSUBwB4+DlA+aihiWTFqpaxESFTd1+kCeRxXLOJbSsNljjelKjYfRLVhDTdIgtAtNKetbFcIll3c8R0ZSlP/Db7NC8zuimlRnF+6itmhJYzLwapzVjp9+DCTJ07sDJnCtHe3tTH5tDN5mZqWwlN5pO//b648tdPiFydvuvBN3qRhBK58n8+pPqYvJQ6Etwfi0mBGe+LSXw6/Y+5B6wumlneMSJgzHTDJRfQRIdf8eYLjAuF8G6xlFoOiG1++I8xaZgX73dU6Z0v4d4w7el5t4zoeKs29Ys5wZf0t3NW0u5zF1G6h2sCJxTF+f3PQ7PbTaRxD41jwQ11SpFO5OFjL2qe3vHtOY6rKqafM0Qqiiv+YIpxH120zSEvorQwUtiDeGf/svtF+A+ZwpITcFFQXd7y/q13QKLdzG/r/ZypAsCOPvWEEpZbfSRgl8NHv3yHEMSo6glLB6iaUApE7LkU18IDU044AundG/Dn+f9rvHXo7sqi7Bp1AmKS53CAzccNr/2Xqh9Zic6DJqgT8ofLY/oLFSHvIbHm30GEZRjZGw8+ElbaxOsTjAQ3ehREg7kAAALjYsr+lrMzBu8C8nj5Gaop96pOS+H3+bjtG1dIcLx9hWCsjx6llf9aEzfg6E7FqyWfJaVHyUVy3n/pbMc8OND/7Z1WLo7nxJki4iQoRePFVtc0yIYil1GiFv5TwXpPsdN1XQgU1kayr6rDwhm2G+q5uogndZdeJYGFlAXetXYsrBpGZOT5p/1gAihVkLu1VcosMQmjtI4fo26VLzsx0auA7RijMXBeMT637pUz4oCYcwX6es83Oy+QXBg6pKZrRQJrUMHAiPPZGSjMVT60ervIs3AzsvDRTnGzJy5AsNcoMGHmR4LvVZoDCjnAETBFg+stPmk6GWY7IkEn+hRh4gAAH9CM2ILUlY+8NdUMYsfAELpjJ+WpIdRkUphWZuP+c++IxAAVlfNU7K0AFLahuADxqLIGvtr4w7Pqp56bf8tx7S+/K7CcN8eU5peEgqAf+gWDDC6AgS53IQlRvo+1Me40psXYJq8vW+TyUfE5xA/5+rBxC+ZJkqFXUpSEDdeuB50/hSNPYT/VgSFJ22Z2a0AMkWTgObag/2RFfGYfS1ozy8UvVrJRL2lTtfXfXv7Y2DIDM88bwU/3dmtPg+LUuKvtYkKfsAyDhWZDx4gFaIdxp7AvJD1wvSGN7/q7XIvucNeWwwbQU3JOABPrPpt/5ITdQ4d2/TLHetU4xiQB7pvDsZWeAsUoIf8Sos5HUIOxMY0MhZFwRaN/+b9BYfGfXoflRYMmlvUNkWYD99qqZ12n1c6H3fljRSTL8B57NbL4akWxnK49733Ot7X0btRmx0DbZZ2rQnBfluIoz2ZZ0iW8EWBzYKYs35208xQB6ehTaM+Q9WtNoEQRR8KhxUqjuiICLZs3p2HBZWeLJIMq2U72tpDVAQSR8wQfzgtXolcK3ON5T6QO8SgkB99ej6cxJFLDTHLNRQJwihMi1yKmeBbYgGMRWZHcBSUHixxTkwpI4ImILPn+GKtR0WX3X4VzBVEJYkTVrg4X75fO7sFskXdX4PV4liqcWvO8LVI+U2DZQUHv/HEk9TEZuEc5F8k3dd/+3Cm76L9W624niT4yBhE/feKgnAxYqmdL9tm1R340Pwf9B1AcV1DmaDdT0RCVTioRsgSw6cc4YzUcAVd75JH9MjMAL6nH6FtZb0zePTC07zzI+vunWCjhmDJPjcYUlw7luk+foeJ/cdUd5we8SM9wTWSqTlZaHYMOwT2YwYHps1m3PCHY0Qv7nEFz8AB1SsRiFAWnPSlXc9Gl4Fd30bA6fcmAnQzOXK1atn5B8Nsvd5SXh5G/kbELMQKW0btGggWh4O6rs88JMRk00c5O0GPFvqWjQrEeRI3KzQPJpkxTkwvP4jIPV5vX6sq7iAxwceYLRhE7exyWE8fKVMukpYoBMF4iyow5qZjthqHuU5Ry9vW4C6UQ7OzdLTeCms3lqzK6LmoR0rT1KAB1MWXi3gBN+pc8pB5XGn9uM/5RKVhevQtDhSUZvRxoY0uugXxjoUXYFHtTiYvoZQ3yOH1kNFRqCtnxpHrYlBEL13vvifpcSKf1e9YRbG0jUzSSo1UprecvK06y6VHWpzjgg1ZnT7JRaWn19CIwX0+wWBOou8qWzvAlRq7baLnDvGHmMCPnMyZFUBkqi7tG5jDTbGYUD562k87ct0auhnPx1Bn9/cFo1+NAZ5TUjZix9ZxEsAr/tqOPp1/Q5N/j8H6hzYr5oZBOfkbNTX9RGgsifte9APxsMYTHp0fpeb3sLbikDRxV5ynMUtoKWDPL8f4mkWbU9SeuCjcVLpWxxyhlnjWbKYAuU0H8uYzXzDABlerObNPzrLpxAAp8KTAkwMS2UGITItYUimljD0L2MRCX6Ip7Kt3htm3Tdu3GuZF3pyuNgb2GX5+PTVvLjReRL/ajgjhbF7468a/VraP3tIZKvqu8o9HApjw0++p3TcAnKkILgLFZB1V6jsgZh/K+QaPxv4S4x0za8Lfc7Wyhpne4zJrsCZDKbv/8YkJtORmhz7dZ4Vo56vRycpqE1UEcS0AQgmjhVzgPOg3k1XP6i9fqHVLxtVNXQPKSphmhA8aLsUBN3TuE2dO2THQe+p7bRLi+Y1av11i8jysEgqAkui9/otridBAytksMlOR9wuPkfk+hRVINadnpnB71yFhkId8ZwtKGXPcV1vPwTJ4VdaqjCP9ZFsUWLppTTsWIDce+CGnGez3REixcfWIo8JATp6VlY4ecG6NiyentOsbqiJ2bfSqxjUM7D5CbZqUCLuMxsLz73Ucq1DjDZAaOGEB1qGT9FU4/7VnRCxXAEJy/yr4lTfK0djJw/sJQDyKDQDTsTYTef0kmWzdEO+7c0iOLUbu7riCJZpvUiQ2yT0vZpJkNh6KyrAxeR4BuGEfBtWORjif8wCMErMGR0xTy96U0VLbce1MerLPwqXIcSu6JrG0h2TRj/eIXV9Jn9s2TPKIsXeIsiQO+aQQANi9IzYZfi+/EezVhURwO06vdF/IHVo0jxlgSMuH493Of0/8LxIunHkMdwuSjhkEF+weDeZOuJrbl3uB+P8zWihnT44AtEIwSBrWIXqbuMrlpYldMoaXjmT+BX3dc0hE/1sBqluL9y8WA0CIcAqeXG1kBRYzdSRiPsl/kKkkU3zR4XBw46Zv+XnUz+jPXagDCfpQdE1uNYu6exXqzJgA+KVBZEok0GBCLkmjlOopYIeJ9sTkSHnS7Z8jklnTIZXCUNeJpnsacMgC2mrtvn+3ez5vcMdd1OqcmCwDJPLBk0+drF/YCRL+I7ogsMLR1jrRiLp0/SB6u9kJ60/HpCsIc3HYH6q70nkDQzezuClHT1a7mCvl5pKTPH8o+7ZVwbi11Q9ILVNsw6YuUwdOgwkpqaO9Rk11qInDtN8q8lxYAw5EbHe+pwiUsWOgd5l7QN/MlYnES8qoYbfx55treWx06Euru7untGvtqjgfO5kWoubCQVuELAeKVA3Xve3gUAIM7P+3JPMbYEJeR3BuRKjhVoCB572vDmbdLPLVQUYxpPgefFQ1FkgPTai9Ql5d/dcq0xF64rN4p6Oz4UN4qxV+L55N3XnEDaBEsXOSI4x9ue8bOapMfpUDorkkLGJu5Zr6ZKFB41xrCFlcl7/PPu5AeKWlsO1+XzYNnCmOfCSd5Zv4TArhZ+3BF1E7OB9emniWURdiqb30kR6FPFCbfuJzy8M+mFW45ogsZVu4098VbMy+W7bVg/XHyMs/s+dyX+PUWk1Dwe2vUoHPg2IzqTsibehF9uMUoi0AVl4UxKVTJL0PkzBDjGU8DN/jw2DzA9C75SaLuoNHUCBNklfvFOgrndYvvZrxUbuAavGxmz1i3Wr4FLg110lQiXoXNiODxQrGG7NoAp/iK/gnksJ+a4JjiQhyB7hxuasPDtXxzFfTbDPuNUw/q2zNG/5ofCFLq5inRTznNdoOVO5/by5+Ot2MQ/Rx+5KCo6+aUZ1lcpx9JDeJQK5jkGvK0qKIBsXZrWWMRB8ploh+1K98Uy9V/VJksVInbIFZoZNwXoqW9MFfeMsPbhXG1ms92f/BhviQ+kCEXYWxY0MwzuWgY8fOcpNcNlKsI2r+g1UElJZfu1511Rzh9Ya8sBAaqzrNZqASO+zIT7pb0Fv5kh6AW+w4X2Qz0yAhUkz3nNffTfEJhsIzMHx5MdsosRV1OvDXEffD3EIk4jdWg5h/I3nlOXjZW/i/7gLq7yrC9e9RhSazNiTR5pdA9UxmLw01SOIiRUFRL1QyQOOQLfCmW43H5DEHWZoZvqNYiu1B+2Hi9Gp/uiIb4TGOKlXsyPVglmmnd8bQfx0Lx/TI0pBG5kEbT0cs+ZNCxNEZd7x2izOWnKEo1QC57JRlnkUMtv62UYSGBeE6O4LPa0A78MJaWyPL/rzorO9E90ve3vhaMqM4pVefYXXau4D7vos7eTdbtt8Q+PfT0x5FM6mbin8ddzKdsSFr62EzCR7SpqXNaDp6n4Ppf0mURYlPZZ+xAQSNNP6QSSNUKLp6Ccow5OgwR1XBCIjuIwZXqo6sxzgnKKTJcoj7sXBxUUE8eObp2up1iNIHPl/oGXQZ9+zCtsFhyGXY3f1wqwXZco8QmJUqAHAiB/H4dKTgJ9dyQ/0pgWfHGtpiAjVd82U9knzKSDa0dwkkeZgr2MgIivc22GTZZktG2XwJxGBuGxXNMWm96hPDiwHtp/FnokiCIWamqMfVO+X6jTIXS5qNB7NTIDRshYTQdNI0SDkK+3IVXXZcWl6rkAYW7KAfIwMEW+FXEqgHvXe9Vig9TCDldYX2R0cXIxQf6t7+EoZZsDjr+XXcsuap47R7JMrWuVK/ct8JasRLuRhvfquqpiyshDQPT1wfd/N8x8dDrzbr6+amEz0pduFPw8TrQrY3kNmywVVj+Q0DCOK7aeQMHENZju97W4vluYHHvqYKvfO8QGOfjf07WTQI5pLd+kYwceo0QzigPz5mP/F5BPAYg+hKmMG8xN9poFWdD677VqTiZEj8Sy+VH2WoRFOW2vgnJatQe2lV4llIlRfzZl6L903xsOZdYb2V/mR5UYGN7HPq15FeDB35RH2DbC5vUs3xYJiNS/ICHuSpWrxBGlQgS4Myg05lreRpX4WbSfJ0sciyLb2uhDDj6Pcem/ar12rLFoyS16IB5RqDnvqTtM94axeQy9vq58vPP/MxaaD2F1vv/C/26RwKrAoXWanP9DDcfXC9bVOHFX4GS0hBUykFGDvm2a4FoOLGe3pP9UGvg90TKrql2k6tt4EfUoI00sEZTF0sDR7xIPff47eyNgsSxw0ahwLgzeOLQJ1LT1LM46zoE8BT0TlxR/hw4ZS+/ARUvI4xj5e0Q9S2PdfvGSEC1FQd3DIljboMc6k3nor6mhwb+qlRpMz4FMT/g7BUTvmtbgnFHfn3rtY/sAD9d/iWN4CmAxB9muYGdGc3Z4obuVum6ZlF769Y6CdR8/5EGw9X+Gs6rX62lJ240hDmEkzKwObDIHWIBsEtHHx18R0rVRr8lKRn3lUyJRJNoXAZHtP2e6Sz77d2y5Tydqqqs9bvlubXNRhvhq1irNed7P/d997N5VSJycTiFVvvks1AdIiH0SDH02ye9TPlOJEmxLhorV1Y4WcW9+8U5Atb+zA2OKHlKkkDRBH22RXtpNSERb7wHinO2yC35SV9cQcSPei4knL/qwZ2n1m5OXrgD22AN9TTrJqTxp6dWR+fLpfGWTQNMKuGLcvF272z8p+0ToBPEghrvQJQ3N4cn/OcrJouhhk6UPMGQ8dG8+PgK41xVr6E5ZeNpMMzl7WrrMt934DYS2bab85i2W15wG3bqCAgENKyo+ZRBgeJQorP3VR7uwKD3Jpd9cMmuN8iHQX7fwceaSPwHoLUPZ9jbwy9gq0S+I5E8O/ZQKTClQTPhEm/VZsocgAuG8B6KlvNLpS9R6Ift0nZ9dGVYcloi/pmf2rJw9SnspEUQMWmc/gcjzI/Xghs5S+Qg8tGyOtppYwnnshIOPR6XWOp6qdBsbA+i+F8F70bVWJacUGk1dRLMcm/DBuFrtVE6DHjHEujkYpRjxptEETEVunOT+QBB8Y3w8lT5FOOphxdzvySrPI9wCBcqmtTKeNbvE5kE3+wlc7L7st2yy56tSdiDl0OYpvPRPVzo9F1UNFlBVqypbjkCjXQmYvmfjEQDvwt71914YDMle0quRY7R5mH4usx3lrxqCPqDAOR8v/wPM98oeiq+0spUaHPXR45iAjZ+7ZEtB8S5K4UcNVS9uUW+R5c6y/DhQF5T5+LjK/cc3nft+Af2eo2Wdc2vFH7q0s+EsdsH7OP26BzJFWFIZtKXhfklxbXyPkEucrAF+CYfoPbkNXWfaN/bnpYamTf6RPiGzIw/Bbg4wOPrUwFKlCIBhDUUYgClnhimhZBDY2Gm0eyH8D0EA4v064uRyJ+WGYd8pVRHkbc192i2Tn3DkMQH9Qy0w3Nm27qywEAsVInIaip9mOtjcNqxMAbjzFkbEDBYOBLGgub5IJOoBgKeyDolZmWfcqD6xz9S9dbBe1UBOQKg4ggEJL6RFp+5RwrCa5VFoEjGHeraZjEsXjtM3fxGSiCQq+3wajWhmQTfttB48BANY5VaYPZ+W+51F1FxTWn5+ybKiMFgsz06z1lOH1yzm+pTqkww8A577P/MSFtCrXAyKNrIZdE93GkXCvP2qUsC17pBQsjCfAadD4QTi3s+i7pw0mloexpP5oJU2V2wuIfpmPVVD05swK3aJHZmr88jNFetGYcJRzicmJLd14QSwM5GihjOOn/NbdddGSFVXv2me2rsGts84JD88Rejcvr4WWc/pTa+kSZhNoBrnnMks5VPPQ7w4CtCwb6ZxF8C9UVYDCRSG1HUsdh68BSZq3GKiSOq+gGTL/yUykzwDIGZnRy1bayNrBhy6ixolr6W7hUo0V27BU6XOp6qUaEYBb2Gx0lIPMWoTrKqTHi3vVsWIeFXggWG303w4tCS8fq1mWw7jPrDVUs0Nte+oYM45l7cSBAO+kS8I61jtMKxSpyuABqsr5H1M3BdRcE3u9nDvfgPp/dbYQpnLoIusbJIzVsym7Dx73ZLl1xaNtrX6DmWKcMjXqOvGIXWCtYNd08+owNNpaNjYod+x6L+vdf4i7vekOeq67rhZLQgnO7JMXTVN/Al3uMM/0j0GEXr9VAUwuaqAUpDo07gl8v/c2Oh7IiJ8xFfaEd8c4MJC/oQMW5X4erhx2Bgo31sEfTod7A3aM1z8RMmCuE8QauLxi+yMtMlszuXvLT/nJ+QRJ4HAKtORCVvmfPDI8GPdaBq2fWTV8ZFwcu1r2qci1O9Snpddg+q84cxfzwPh5hZNGglyfzLwu8adN3NFXmi4ypPQqabLVPA7u01ygC5rNRIzI89X6RDuYCpsFJeMOOH42pEBPFo3AN2mZr4Ga++Nz3H9D4xvbY+83tBkPnd7oUWXHfuuqbrw37XG+DupXC4mBUI40MRcPT4hSwWdb/0cwIW5ELxI52dg1/CwgjYhJyKa5JJkRLulQW5SoYUndas6m4cyBEZPOqTWlXJqck+E4qSxqoLdbagVfj8PTb1O0IcTDqjkHCxgv/GGCIkivZ8kZLRkNP8ainbotPeHEIYZuygnfB6v9WVZevaUMeeMK6dhSDe/P8gb2V1Lz/tNpCjoE4I0qXU9iTRo1CF8NrP2ZlBA/aooL3ZkGdyEXKwojFDKTWjdx6OXg9yfRQlk6LparpC+tstm3GiTHUOGZizI0o86PIAFz+5yCUY4ZwaA1anEImeWdexPokgqmXCndeML7Tezu4fztE9H6EMcRs9ydiQ3+O1D3viUgxxslxz948uMI8XefWDAdPy0GeL3hYhqakWedp1Gpt1W7Ih/WFmgg4rlhHQb2zk1st8okb4I4xXzbI0Ym/s3ytaKnsaUEYBODIOKfw1D70LxwoO8DIU2JDG09zEf3TeV5QIFHU8P8tvqB7gN74TlovGDXzYtTEQEFkcvfC/Kpn6nHeBUCD0Hcr6FZbXCFamxJ/3aXi/hY/JNUQHkWXDtW01q89Oj4oeOdbAW40E38/vIkHw2lniXvIAJM1IOA8YqDbJchH1MbOwhDkQNdPBwhGWIgrIA0HGdDJS2rRC3U48CKbVjsWJvKfCuN1R+0l2aX/ivLyQsy8Uk4ZwX80QuTHji5iUc2Daw1p7N8yHNOg/wez6cZL6HtYG/41EsPHQNR+g/wys+3dm0jQdhi1gfCrDRRoo9993L+pMTGKJABxYbX+Ms40d7j6S8ieVWFsE5MSMaAjhz/XI3rXFSIh/gnqhwc3GqHK76LNnw3sEzMiUcLeHSNsXvXVXI64lwLfDFaCbAL1aOepq/MLNCe6/+dUSnzdGoVdAp15j9BNkqRexqAs3uHI+86IgIvm9+T5jp8FAhdCgyHxXGu8ezbPe+rdLFhTUell4UlOZxtb23JGyDJSCdc2BjWtKX41roTbxLhN9bkGM96V1bEXjXy7Y6orssX4vIDRG/E82X7DnJU++k9RGmOOBLjcL6MdQSl6C4WbTP+kzv3AZOv9VAuQWFIEWaIrSJYzubzffzS7qkTqgp04u0vAMOGoI9abc33RhOPYFTMays1nNWkox7mMrhcFvL7cxMW1TVL43IslhdKUJPiuiTxh3Z6g2zG7fjO41S2y+2IqJiSdSiUmhOqSS+pD8lPZjW8r8Fnl4zUfmJwKgNzVSbIlgzwV2pO3atzJTNT62jNWZcXYuJ7P0OOSPB5o4towG9XbrJ2OphlsohY5VnDcEnuLrNWEUKj3MhhHfiZt7ztYXtrFHdBLDIVKFlqzw4nRzxPJ4jucYsPEBE5a2xfWXkAHWb0gDtaZgRswIHZvDpnbJcaS3+UuvhxWvDAzqXDlb57MExHcRq2A0mL2PB/GWBhjQ6kLrcxFu9+PSf2XkG6sj205OztxW25KaKm2Eyr7a3Wth4+8NnQ96Lg8MUeJYnyYSGI0TrvMXiOAzADV6pVRmP/lccI2gkTm0bqEO46bHOx/uAGu9yVOMI7Nld1Fmb+qMnWcFSyevSr5hvWtretNnlQB9PNdtsCZM6CmBS0ztT32pGQ2yvGBOJe+sxs+7c92/qyKXOxf874muqZNxJYYrfBERxMzGFmGgl8OKpC4L4LRRAo4IElfmpsJrit8jXQ+khDC1hcrVRKqviW/H8AI669W97QK4ylELSQswegwuMWjzxUMTFM343YzqhjzKClHSwAOGpGUERSU14+VBuo/2xbceoAx/LfqcC7gVHxhCeta1pWONY4u5Ib9SgyniaBt1KuCR6NfJj/nrFnRpsRIZS14jIxk9ia6E3HOyMT2Wy6hhXYCQ4Cp1L15Z3DmM5NYJkQVRLTgwLxwjhAxawYMh8x1CM7cqP3lbzhtcetrm2NhKlcZ4XSyrCSkHt/ZA0TJoxhmIG+Nto97Dfqq5/XSrgUOMlt6qLUdj4QyJTyZtgHM6IbpiVkS/O/rq1AcFFpn7ryXYDRsnLRjlGmIkMSW1nR9r4OyHQdqicV//CU+GES+mNbYeHmW2CJiH0QlCpWVAcpJ2VjrvJpaFN/KSH9KYcD7SCo7VN83HAoj24whcjR6w/c+UuVmsgTErJfAQnXB+GpKbqfc6CsnbTuj1LwmaBx1vQhrbnfSxlJZjmKFkRrbI0sNomyX3a28n5lZSbdUJyTGaNkFsCPF3+b20mMIuhgcgeOcHXtV3QMDpqHaEkHuQOqhB4LYkPV8BvwlGtUUvAp1RyvEbV8BRItG/CelX3KlJqZBTswGpyThUUyQuWwTwdHZk+qf7zgmdvsEMYO4+XMjdKisB+OtrEX/LNlDZPSaQGXGCSTDOwHVDMEi3VqAXeub8Tqx19TqoPaVA8xaDWQaz79U91ZuRUC8GaV2139LY8Ke6sRparh+lw8TsKoufmPba/pW8a3H9JSfskb47McH+xZ2Um8RvLnO91HsT3y2NI+p/AcAVKgPlp9ZcC2NtmTCDU5L+dqcGUQsP7qMVjDndz4w9JE04Yb1+7AP2yjwqfssnwK2Qn/V0/3OjIi4KYjQp6bYmndDX8l44VtMuOqIZT6O61Cm5v2HDL1ymUo0RiSzfJinBcsbftb7bKtz1SIciUzheifZw1un92+L8xMtXdwqmWyBnTXmTweTRbkB+FFQP+3aRHCzdqIaJkMs4pLEg7Weu9KlWsP5qNvggTHq/orauV95tdGbWNyiOZkCv4AIh3rA3x5RCGbtV0x+RsMmOLONcWBfc9TH5lxdgBUpKrR2biRd1eubrUpfXWn4vvz6sc5p2JOzOpm3puYBlSmaQ4c9ZJ5aI26oBuc2draCZPTzWjqZYNEeuDZsN/qFFmHhVLoHB0wF3QxI8l2lqCGOSU3RcqfVXlsocLWBWT812g3FzjG4eJdpJqN+tZ6P5TOSynokNI7wjlkudanBAWvcJ9mf9syaKwMA5x1p5GfcutbQKMJWPM93jmZym0Yhif112ARUqUnczGMWKLPktOuH7GJkyrUbgm3bbRDmP+62nxR3o8ILVlpYVxqfBfvJfyiR4r1zCy8s6Hn4vkYyZq0MNTliunQS4Q1fohz4mOqRyT9OLsh2Ck2A0mnXl0BeZAMkCQZ576kRmvhquXtA6zHlclwkvv+f/Fg3slzkopQwQoUF1WtVaZjcU6yecE7qpPGU5v8iMHUu9smboNdExCYJa7AfyicENR89z2YwRfRYn9SaY5M2ZvB8pVFAJ66Khx1HywMShBcFYaQg2ya5jg83D9u4eLlfTl+cKHZYZ1U4O+w46ArvPwKdJqQIPfU8CZcXGOyU6Wbw6fOJWG27a3jfWA36q0+6qPr+B6vPsozo86bW6lpN1SOGY0zesMk1SCCe5CR+KVtBswIM+L/drmBhWTZX8JEcdp++N3lLzKEK87FEU62u11zHC6pIkfcxKEftLyO5FOfqv/jhVJAn2dLxPX+81ROPFHHSfrtjNvlV/Day1AKXvsCfgYL8IPvRXUl456VFJ2/qbO0nQbhpcYAuxTErPVuqI3uqZyyxG/XGwRZajYZEa2DOC2ha2GZui/10Xls+/0LfdGxWt3tw4lo/oJty/svPOtgaJF/4XqkTWZBpxb+ItE6ewE3dDKlQSKn5hNU08CRvyBGgG/DSo7QfjkdYF7ajvVN/rwAfuD8Xp+/HkOv3qFwkJZMKlMTZOvihU9YmgCtVvmu1wLEqpnzfEj5MOxvU6bhWWWpnR1waEUFq5YnnbsgsbhIWzqiSedqmeg8uDChz7ZIZ7/wUTlIOOClLj4ya1MHlq26Dhwh65AGxr/OUHFDJC3WCuHZRXnJn6Z96SwE9m7wN1KDFSX7AjNFZkwqeUQH56d1CHFjc0yl6pGAazXS64mfDQQaGZz46RVM74cDri3EYvfdtWI4qISK097rUXthYwPKgswKpQ7JKmr7+jESY08kjF7Qx6LVbMeTGRQXqFm8tlXGJ/TWYW7rxhOkC/hGy9tSMcXWl5mASvpHHULOuUwpDs6Y/2YE/+lbMXJiuToTLoF2EjcGZdTgeRKZKBEtXmvx0YT5DXH2li/unCXY2mN4vYA3pcyOzVAdJJdeMNvsxJ6REOVg0xqiOVHVY17mD1ZGn5B6g3hRVQ+6n5PsXtiPSGJeb7YgPJrhIf7XkrBrZMePjvW7RW5dGm4uqYoZGBiMCCsAYfT/LTi7u0LgG3l2UMMBL3B+O1Q+4PwwMHky3JranDHBJZpRBWKt79AYn/4xxC0SaQ+Hr1JfQm+aS7IX64uwiV/184RyAVusnBIDQputus6VWroXbzcQiTO5hyt0yKqsXnBvae9uAPdqjYPhzHS7Tr8k9KSc9CIMmC4Rwbmh/rXssapqWs8WhGBcwboAXINYPbjp53ciQHcnEHafBMLEtgEYyFqv7/As3R9vyHzQu4B9r7rVql6xoqCgQME3+N3krTtXGBDuA84I5dxlMirwsbQAoPF2OTKQekj1il/x5LFgcNBZEiMLCgKz268cpAAAiou0k7sCEIILTigS4VH/cCVUgZz+dMy4UtI9wvUA69AO1zqZO2C+09VVXT68TSlvtCUAYrscABQ9toHFfvySj/U1v6Br4REBJ4Objl44KjSsvPdFGMovkU78qRZ65OEDnvw/h19yxmoWPPDByofcHdC2IYDSLjPYo2/OGouOIyvX3Hb1nEiS3+eK5U1hGVLFc7txD2MCTuMmCWNam6vMwbuVfL6KRvyRKvO6TDQwnto8GB2g2OITV/VT8fCMmp6tk6E/rWMOIjB2GjW7KRocdXGvtMHQCF06StGq+6HmztB7TWtr+At59vNDdHSCpksIYSBoqMyzf+wAyn23oPT5ejhWsM+AMZybDATW9RGqtv2CodapeWL/03imReGTZGfKy/uUjYNROoaAqNwySFTxQ+Av6lHrdDAEWzydG02D2G8v6YaZF7GHdqREozgtmmDb1mlNOsZj0RL6ps3D+ub9YpQP3goHeMHfALzHhk1uWqbMCmFQR99uX+0eFVzOqTy1rhh3y2brkPReHs/E4EdHypI6WWYR3Oz0jm9ltcUxEOYaZ7yrNrebIoF+pNE60IIgHkFfl6Xv+nR+A3yE3hQvza8eVL7K99dmQ5aP9xRkWD6iFKC9jroxRf/e/psnw2ssZgVBFUrPc9F9Whg/CbidDAkYtcTL0KNjd/JuktPRDbcXAXi+c1sGHx299Ugxn3R0u4A9EZDYf2ox8yiBbQ1CylOF+aF6KK1JLW7ziY/53nPCZQVu5h1ywOR/W/358Pl5CrfE2GUMdyMxHclY48ocwQY1OncuD8ygrydl5oM94/7DdomM5MALzxdbjCI6LLStZeEs204Ble8x4OjOiNQ4daTkgAFALFdyI5UiMKxP4N1okByNBlaMpLct/J+I804bG+eb7XYbn2tFBEX2zaYdiKn7g3PxnL3rAbJF97+S/dNTiPwlkW5BptucXdIooWmlX6gO2yjA9oeR/d1wjFg0fcSsFGehvVbkZOqbpxKoqJ4xptLBosg41wsZ+Za4dJTX5FhTlowBn3wdmfaiJ9nwpTeAJwGFYu5ogVAzGYj9ty2vnXYWswyQe+cO1aVUzK20xxbwW1xbEF6aXV703Sdp1YLrdxDpKdzDgcmsdbZXPhI5iM1FLSP2VwYVQpF5J+XKpZsN+JW1Nhs/HCrpGf1ENYo5fVC3YB5OBB8i8zMJBas5rD/ozQ4bKHRBAnLXGLp0VEHSm2B/uxcfHcxlGmiYab/DL0be82le6K91X60jwCvlZ0rV31E2uNDwNGx33A4mfR4VxByWISufqgR81y6UFbKxqfKCBvJD4tHI8+pFAC+VVvS7X+SdUviZ6YYm1LisJkgPNIWVwh7WNlY5DPaVUA+iooSwMEkdIcU3bO+oF1cTmngaEjz11kzvJJO2C4dvVGju2Ygnof3VeS+K9XanIMtWch8pyAghGIe/OF1MlqDme5/HPDS2QlBF3UjnwoUQ5EKfTnegYrqTjuMbzknxv51/k07kNuVpqBlD8e+UMpUtA4oreDGbuaUg+wfvi8IkUUNs1Am12urJpVbEr7FGqHiER3AuXHt2+e73g0QfT/IpdxLQ0EsB+gsJGtNnrvezl1GmyWLkOzBvcJSS3SYX673ncRkabcekgMZKdJsxmvhYoPlAtzoqu4BfCr84qwywkmJ4MgDM+p/UmtKmM6KvmWmx03F+7jRYUF5stdJEbYURT5KFQcFx0U+81dUtMypm0Jgnv5neEPNdLq+6IVWZpiu/axZPQLxJF3EIWqFhkgs6OAeEHHWa1T7/bDHFtkAUTR0aKylo//3Bb6oQz7EnaAXyJ0C12BpvNsjVpThsHp4wZev8X5Y7b36dFzbrlIw3IyNQAX91BJX2taaK2Cs00HtpwRtQS+frQ6T3j8YXSJ9G0xJQn/zzgrOIiBqEB4jxDCiPsIKeNnh+LEZfD7VNr2ojDK9XchsTEIOAgNlOISPKEAkiIm+8IRweh2Coxms4KpFdrZGgiOm+C2qMgo4hkG+zk8v20Ios6UWN6zDZpgk9u1Us27Ih5v86PMez+uplGkO+F3eBekQxo1660fIYqS/nxYyIcd0HZZr03QvoXwxXF0MsU8a+gAFh6yGp66Iryn1Szrps3dInAIY/MkBWSlwZuIRp1WXeGBUNp0PCI3Slqym1zi3gNzqbiW4ck6k5bXZu/fh9hviwWBmSmQP1JdhrLuAxeI/91GelLIhpcJH10jCGxGi+/lObOILeeJgZ8HtLTASGsTvT4fCwDqPV4uUH7UU5MSgLKh0apBgI/bOZK9jg4Qfo89WavN0uxQ7uqkSVhQu57pSVd9ZJZVndPddbn8jKkkVfG9XMysd2WEEd37/P6fNVuHH2k/fbJXZTOdU8jzBJfpCboZJ1m/qUIbZAUm3JCUH6bzGv5iRC8t4pRBgyfCAViJ/2Yu9soEq/c9TsKLCwnBAjGiY+cKdc0n6lCsq96CvJuTMUPKIkYjkbfdalkfgMVoVqpEjNKDoOc7HrlYKet3PJA+1cOxVVY3oXrSv0McofRmd/TE+wJji/dym//74E986OontsT25bB8iovcaROTLoNb8rIoFyhgBYVjvjR15Ce00yEp8YsWat/gtWAgD5CASEeyuiG7NfBy+bQmwGpQENyVgg5aq/wlLVt84HkwzdL+E9wKWRsTybZ+8fRfWWamiQd+RRz+cIWnA29WGk6Fhlc/+rnOL9OcrxOkljX+T2be9Wm4nVDP2jcBpUYNO/JmRkRPtn7Dx/EsF+vsDIZjP8HsDRGc9azJC8TqMtf3C66w0KPj7x6gGXdpPKEddc41atoysYnhDLmtm9eawIWlAXVSIlzLfGhetDBNqb0uJxCgAmW0ZVeAx8gU5kdon/reaeorXmImgwoAkg891/EkcwjGSd3tUXGqQRszgRDi08I8Yl/7BJdz5xFvHBLG5JqogIAkTIlK4d0TWRee8Emc5yzfKhuR4/rhM9o871IrheOlG65kaux5lTPyHVoFMOehzY6I1q9mCTN85PHlbQrDtFszDsYy4dE1A65/37ZtbCd8L55hZOVFX9US5aDUxPgHTtOjCFaKishvTUnjdZgxDLcTmZsIbIJ22GzGz/H0uF5irnyltNlmj0cf1CGBinTZeMT5aZY4IpzMW6YGICveMQDTUzjVLeSJWR8wmwpXdj0JhJ/TBcnjivxpDI7V6fmH9oFCba6Z869zEIXC6wRcofhRbI4uKf7ePe8i0LQ+/exRryp4B3iy22iRhHCOEciOIkW1HkGhBPuioy6Memvz1Ju8EnVT/VsyFk20W18Xqwy0RgT736pqj+rVk9DOzWG63DTwmZFg+uj6D/SpG9iEfZMjFpD0EUxmzaX1nc3WX4ZvRsR5mdXNzxHF1NxSDSMKMqdMTCa5SFYO6zdnf/S9rCDIDSXZase8fPZbHVCVkAo6fCcRsFDB5m2B0TfgZ2EHIneHz/z/kEhOK2G3vLbYItmZoXoEpKHBpvT+IIKp9ydbrXrqFCG6rrrAUvXID6zq0kcgGT4TZTFzdTApjyxba0pwDag/3z/ZqLI6FNnjLz0ptkeq+6aVF3+OAwPZexKlKIVCcX293wWlNuVu8ZBrxa6iX5OLBaZmiMCs8UwCHMsp7OMCvo2IPE5f/Z4TKhuGVPFRFzf7kCVN4VFt79XuFRVA7jTHq0fDOEtisKQH70ujZT8ku1xpvdpV6MFlw/GUcB2Bmwtq1jHaWUJCxuNiUismgaNoS6hKVOeedCl9joBjRdglCL2WM+fI1/7P6BfSbA2Io+Js0zcENq8MxrRjx0ZTUsY/rgjbuHbpEpHSz9gqs3H8o182gqlwQP2jAq/S48VMi8nyMrrwHX+dd/xhB9erwNaIv1orD04c9BTuqtmo9jMP+c09W5d2s0XZfEmDrWmi+3JWzLaknhd4GmpxK2CMKlR/LoK4dmjXYnm7PKteLKIU3jtRJ4d5rem8DoAlcUB8FY8D8gOz2MMQCult/wrls0MThUpOVL7XcttHXinMaFqLgDtMbUL6sILafSwDSaIGPma7N5Y4nqMt9dHJ5CHneXzqBWgxzb1r/uCDZcix4hpOH3feAEkyMXPMF8p8jq6xlqy0kItTlHTf3FKLNsG5CfDB4HTOeXAjabQbVNksdQ1JlpluF0U2GVggiQjb8tiUa70Uh5ndMyaJeWeYDhB4LSYRvXymPSKDeuOQmnddZ2TCxtzbGCrUa9Y4ct0XwlHUNP08XU6apatRsaaIrzJ50E+uqO8SGmHU7k9A4mIjHk7xoDPHen9PqJdCatZKGOh/BZa8RnAZSrEus4PcxoVIAHmh0VWog4zdy017uf1hupd7bPtgNv7qbsAIr0chFwGLFLWmLGA9KUfVuq1H33sqJfXEYfrcsjBRXHQ/yCPQL4/L0Ue9sBzh7IBBnwhFp4wONdICjt/e2N0cojbJuvtIqUC0LElugt6ntj4jCM/qMhAANeZEI5tXAA5r3dIzo+0vNfgP3VqeTFtSgZho2E/x1f2yIF5ktDesnA48wC8fDyg+jkPpgYRoZQJfyKI3unp7Er+w4+B3pfm5BiqrNGmZp5FL8Z2zfqjAADHCOibLUHTO8Zkkc3CJ3P1k8Mwl+Za94oBPFYWpUx6JS7uFiV+o2fH11za4xOcvKt+eXq6JFqoA65vik4NQjHf4nlO5j4tB1VwhK1/JSc12iG+rMNtDkFSpUbZK0aAhQ0WT+PaxxLrUJRSSUt9q8Hp1/kvYa+q6yYAEOS/RvqGe2ccUUAxb2BxXj7/giLnXrolZPlT3sE5xF7fh0EyRll8oQn4QFc3wZc0b7aeSAP3VfaaXRcoaiF84JE2HXnSDTehErlz/p+FXvT3FQoE+bunnWhFKWJ+P0bacjrI3mN8K+lrHe4d8pmvr5wsSiPIMfcq1WrUC0kpLjoXxIGyq9O8JdIgai0K/zuncGc0Fwr/ihPb9Weh8Uv625dBTzjnUvk/lMUz5mlp06UYUtQs2EmzClXQLOMI2LRCvBDDtxIFHPUEnun8GioKPw8TAlqE+mm5wR+GCnJZVTaV2/zexwj/ZjP/MAf6kcohHv89ic+6CW9k6jGP6GRkdDAjHc4JyyVsVlaQzTnuyuih2xhe8pHfeZgHMOLWGRw7pjIWYnMpbtTI8Kcdc+KKx/DQNaUpq3caCdjTSPfhHRfxTotDNp5RJXBls7V8PonFiVlbMtQ/wuB6nONL5mrBKClyYkYAKf7QAER8tSDV4Zc0MTPqq3Cjb86Qmh6iCdGyeQFmtHM+9FfZWD6YfUq11bgyaXiDCoNE+9o1EPyD615iq0WVO8zCtgZr1BJdWOye3J9UibWHcO/k8m5SpbC1n+2CCgL/dS3QPyXYj4YQFjhKfDGFI0efZzqrGfaciaXZR+se0HBLpj2er410/LsDzHrHcNf5bd4jYynSLPvDLRzeEZ3pPtlnCcIdG4lBI3tPjMCUzIm6lM+fjPfSBOGA2SfQNQdwl6TM8f3P2KnFgvfFlEs7Ec6vUXaVx1ikqMEYXR/bdR9IfJ+U6OAMFi86FF8yj83Cv2HGLnzlCaEzGF1zySJe43UbaH7Zp2EcYXkmKLAz/vQAvuXvOvwvn5+AyfDgqsEUKE2iu+W47foosaC4oLqpCgalSq8s/SePZt+P3lAwdGZ9JlMfSFPOIal1GsUhNnDAB1I2d8PhHxsAeicNg2Tamm2fhIUTucFBENVFrX6BKhWlM93XRkUozMdY8lbJXxSxqOcwh3hxElxpnEATrcLdSc1gUQhOgE05rdX+e7aF5xagOHfjqPWoK8MOsliwdppoGmVwu8qvqmf45Qwh2SVk6iUodnOV4qQroYqte9WuCB3Mrb5AfRYA533WnFL9PXRJxFD1ph6w/cKO8X/13hsBgQk/vUMliilKmrKmW24gVJu3EpuHBbBb/FmALE+0tz0s8r/7hG2vnevnR+go/sqQ51Y1P7hsgX7864R89cQvym6YCC2KcmniniiP0eNPt7XO41KTYsUqLs/jvdTOXISQdDmev4uyoFhEQseVzu6h0QvpEsx58Yl0d/9DYOSl4O29uEik86ymDDTBqtNeT6htYKEmTp7XRLPXv9olTUkJuhTYXz1xXAyAdq+Z9k2UljxTaLBD3o44v69RjfFgiXkcrSkLL6ITB71yc8bl8zB2oFN6xDoh7j8KgPnAWBiyzEsgcXik5op7K+5bcmLpIDYRMJt+vqpOLV3dJRrRu4JQt/cPg53nesQP4qFg/3HO5K+Xx4ZeUUcSGbgPd46ZviNYLcL2F7NrhfwaSQmsDRBVb15AG9ES5/h74Wq/HOQtWfcncz++sISSokNZOkFCLFGeExVkPrVR9Mg7hilRFWclllELlN7IYqnE3i4taJcbo0TNwue+KM5bMaBlm/wSHWCUEMDS7u2l+3oK/+EGXZKM0azHP2l7O8fCKMytJnVViR+o8z544kHy3q+Fj0BPL2WGt4cf0DfhbSgJ9+BjakOCUcKgvX0xsavAkkcchUl29aOTGWViYSZNstvcX+6iHYVWUBQkw5IILcApB70s2sdf4aEVt2RtOnf0zVVQpIP5WHN5tCEOm01XRllDqbsH55ilJE1ydUC/QqgrR3arNjt0QwGRujouPiysDAckd4mkp5+58epCydijG5ptaxcoRplWaMYbwE3hvABvFmsC7GEkTxQwaygMC6YirWTRl3nuCi2IJkY2oJAo6IPdsNQHfDflFBVWDTHF+jmmzRJox96iHPLyYdkAwok0iUpZv10f2s3aSDrrvLexku05uDfON92ViE8zYHPrnhvVvXFCaF/jj6+btLzUiQRvTp2GeiwFaFRcKHkNSNyDUcR9nlzwn9smkaSKClnFvapLt+fv7PIocmrRW7G9RN0nB3NV7krKCiHcKhHPHW6ObydVt51t7N4WB3bIhWtQnbqfgv7aD5SHwU7sn9f8yZpBiyTU5Qy/o3LgGyAsCLq1p3QDuHt+o0NlaLk7H3AWBIs754yfPT21zRlOD87lR19qghL8pw0U/054le+A91iI35vRwYLMT3E44lWpZ4OOCSgrIRzFblSOZ7lqfyWCLn0wenNui/XHqN/Cg1ft2pb7MHUCLC1VyqKroZhNj7J4gXtiOxvWg0cYoe1X/g/a7moK/4Zx/TM437eIitHN3j6wFVORNPSKyBw1Du53JakjjH8aV98xvBNSaDyj9ehB9HXdVQtE7JeUdMY6JxqVrD34iIsSOQpOHCq/oBRyhGaV49XB9tbNwMd1Cq7rQqWN2JYpT1+9aX+RRYNETGsD+fqJPsngfoYH76MobzzyZ3UYjCPETDlyXErycJeyAObI+e4FDRjq8CLhBJS/AbhPg9EYnl9I83R+dclan0WCJK0bkQGFLKFVi0JtSj/DWYmOgu7QBjig6F6I+eFGtLpTmXMuI1849FyPSsKS3sW9qnjVXmCcHca9FIZznfxAd+c9RrDn33BlZCG4JMc4uOT8lX9YGtziULIixiVWrCZy1xNmsolUJvWxXkl5l66qvvgzjMMACOTPxZASl7vTpB4Ix9GFsl/lqKmKILJInyeRixMmZUqUeG86BrLqM27MQ30tAW0sqE8uIPGO7+VQ9GPwa0tR81EMaDa5aTT/IbiKV7BL7GnJGHGjxpfCc2YQpSPHW0aUpnwQ0t6981Skl+4hLh7DgRe4tObKTldix9D6VBb4XnGCcb7/xNanPHJxnv8tqhHyLv4YRZ3ODWYUdbY3lL49t6yIAqDULKi3UGImHWJLFIel12xUKj7N6rQNdbRezzTAZhhGhnHcSowm/QdgUyd7zvgFYoGxZocyffJy+9f7Z8awdXhecshv51k49AalW74BLi74+IiIU74HVL9sQwxTpSa/2FD5Owm8Z6BHw0kmA8zwpGT6OqZr5MiwG45sM0CD4CmZ4rSwab9lfosp6oC7Dp1fTet3I2Z+ULcMtuVLxAHXM4nfch5b9DsgJyP8p0kY9pTIddeSeVtBxTqYHMmpfUI9vuIXrYn2njoh1iqpAeE2MuZdsepbzbFW/E/+/RpiZGzRv2NU4ZTer//9Woo+Mly9xLXeyRchuHBKrEZRvdx2uZAD+O0i0o+iZWdHAq5Gdz0CKTvzcjHeVPrALI9oky28ugcHgcd9fmqHHd7w3Yq9ZDfaw6n0tMtz8Q7/+HPo3PDiYY6m9ni9QMHCnjfdyMaNlBrz7oZ6K0OWAk9Xp7DMN6xxTebV05t8oWuo7dVmKd4HupJQXM4cL39C48NDs8/GRZPfxQeuIlr1qlY0yI8elp2loLTxAgKKC2G/VmZpksnTU3553giXm1v03ovcy23ozcdhHQbWKPiaPuHw/5JrGK4EuEuWy0ZRloejNycRJd46zk78iU5gtfGmNUiKI1wjB3i1+fbIdc1fSlhzGw7zXMw5kIcUk2DvcqOvhT7L1sNswmDKjc+W8Vg/30L7WxBuRCBGP+VxC43piwP/4MyYX5u3trwVcxpzG1HIXlIxk6n41ZfoPlsArbKnTn+rem9K2XWFzMJ5opPtQByD83ZRnJGn5SkGZzj46t0OmRQqbyhBC9WKyA7nUl8HBq4KTJr0W8TtZA1kPRr7UZVRIoMTGBD8Qc1IDsaoWAFTF0WS4B2/IZYwItjngsmRYK8N7R0RxHD7fsXws+6xpDir+l02YCs1Zg2S83snKrtAk8VyTrMxSppG5P3YTY4nv70nHPbtQ7+60eTz4UcXgur6SXMglEECxE1IFbchYxjox2+rbg/M1AGcZgmk1b+9SWZMuLW82ZWHmVeiCLgkevopcfDl5PVmDL9SJKKHC36f662RZ9t8EuGdK4P6uwRj56IWJo17NKQdj6JgYZfekdCyTph48BI7b74Bg8P6K2rs7xQvpyTsynYT2mkIsyvzMJKkBjXS9uwJeyAGWTz6WfG1fP8/eDhTB4CETy7iRRqb7BU9AGYoQWqjLHYpMtluJ/bthcmLUyHsQb/edIrcETcOBSqtk5PBUFExabJaKhXLhun7s9sEOHTCcWFnnPLDhcLeoUhaG18lGWBOEZRTzO9SOFSLGVshBqjCK19ufWA9VAjI0u29iyC2IG+uSSt8VW12hN27nVF2QwwjfRrzrDD1vAfLwNNPEXbqzk9awK9eBzzVhikM8D7IYOLG5co3ekW6w2sPLZ8r44TYZw18dahT6upBs0rBEFBRKafonn3hWQMEZpF2hLOf0JlbltkSaGGZCkhXUQ2ULK/H5NzH30FdmbVmmCH6iDY0IptGj6bVWVPv7dFDmq/CN9VsyFQKdXhv01D/48ul/cPLBNBKpqlqbZwGgCz1REFT/Tc9olfnLpAqpGfN+HkWVEvmtpnkoNaKJaDzOfS+9w0WHsirPev0ubysABkAf40WYhk0hjqwhGRh0oZPvDrscosTxC8SxZzNBP6thLaA5dwEBEIp92ddetYbOfYqS6Rp29BvuFE+BXzxILyDI1FLmaI+6PHurdWQ8duW3mUd/N9XJbEaIcNbhsjmMbLSttRvRWiLtY8DJF7bNKLwIBbUOGK/X5G7sg+VcERjQxzWTD3t44ibx/fuhVMFR3b9FtO7Ea/tNDzKR3c3y5VjuMBGsBfIP0Y26vw8QAB8QdZyMXv/TaGL0m+kCxeqkDD6FcKQ2+2Hj4KyUuBrFleh0x29DnvVBBIZx0HmTbXhrji/7SVxWCgrXMjsrK4PgipyOhbhHlm0p236YJPAr+P20nqMeBduaU+CELvvrBT3gDPEkWCYoe1gTLceEG2pOviLB7rrLV1Y0pou6kMdX6jNcf261VWQjAZO859MbH2nvF8DJMY9tBQIsYof0W+UMsL/qrlklolBQCGYaaep0T5pTMqs6NXq2t2YBLcoll57CFRTfb+LPEAzcKYuNKSRK5i2J17vDBMdO/KtRvRxOJHemx2pK1FwlCNXA4wagBE5zDBt9QVlHTIcgd+QfLXeA7or+zUJEkpmJEon/R7HvphuyaHgRTOmgNC6J+z51aBzfsGMKWB7v+/o2PnHfh+V0n1Q/mhpCN7ojAWZRpfhcBKkywt1IdyW4pIV+5gETRU8ZdBx2g6+FqlXJ0i5UClGZU975tiHghY1hMKDzjgPnBOGcXjpefaGIm0VfyBO7YdeHIKZr30OXLEBGiMoXy1XjxsBhyur/MZJAHjfRIUVKdIg0UoBtNnItpZCzTKy1PRLDpQ65fQJH/HDFkzcRIVWByp+FbUf2gZcchks+HR0CFHlMR/2z/PAZNgZz2EEU+zsnj4ALM3iKKmtaipkp9apUckPJafv+In1cFH3Ejsctbzje0LktqJYCL8ac789LRQVprs9yPHMGBo4JVNFmdXwZ/f4Q4iP+PPmW6So7Qkz2N/zkla4iQjjH8zayorU+puid+1RIRTRTxo/kwwifzuBz1WjoEllG91a55xqBbERUctw3+QSBdQgAHfeYBYxtKX42P90AipMoJtcqt0VFKlCzbAL+WSbEllLa0hUWQWgdewtfdUKtCPr7tzEKMCRaqJ0UQvsDMZKPAyl6jYb/S0LTJ7+3N3WvdgffmpDQZ9bLDVemuqJNmfeYZGn9n1WFlsWqrIUEpkpGFX4b4RYnaQEsg7elylVEVjKXbyoQlmtGd25A8n5chQLV7+1EnKLA5aiYj6q3XV4FAKsir0+so4nSi/LajdJn3F3OMBuyW3DMIyvdQfeGy+M+8MnFMEmzeE/TzbHGC7HjNJ56+WxDQRs7us9lIDoft0rUo8Y32/lDp/eYBEyxrrMx0a6kTBn/PF8lFNEx5VeYF0djhd+tnf5D+EInC+WJzC3UlursvMbEI0cYlSCV9B1S2D8ERyLYtgxFCugnnGzDRxczfXYvaS70IB3iYL588WQbiZ3uK0HRit9x9a4AQKEqgisnE0LC1C1m3jxDzvGfrUTx1ash2a9Cf5ospbW6puQup0pCv4qUIbeTbXPoGcJE/BDwx8DBHFL7+H53KNoG3gMhg45GcNIzeAgOKWXcwZ/OlXjepcYu2i9cbYRJSlme3f+lSa5i4x/k8/ezuELVyz0OlCAVb4LXxP/r9FBnb9LaRiXuRENdf7ZbmqNEVJO9qjToFll/bvijyLJbX6tvvYMsYU1cAHpOENIH7l4EgmZemx3YkyKXpo9n5TVCFzmwV6czv0hQOgyi+DzabrvRndjqfI80eISWW24i04rRC7qwLj6BYEkmjMEUGs3msAEvL0FlVtUzuSjoOjOftk+5YYt9RBa0Vq9yZhIfsa2/qFg/He8Qz3pf6iOE+CN9bISvaXY32fx9t5jxTTSxLs8CzeVy8AsFCQzD6s0Ynd7MlFwLl/x5yXWPlBAq0x8Z9hFo06Mm4enbiR1/pgL2HBbcmNoSAcPtBUTfhqGAhJbAYLAYD0AcHgdPQE28OuuUMDdyuLelmtknLBDw9UlUPraYfC+oDBaDQgQd8c3204btdN726eD6Z1jlJDWDLY8VRD5Gcd7kHZIzOGsfwlpDsyLYo6/t2fNyoRM6lhlD/IJmvPD19l/Xg3gKg+83RAd+D9mS6Yxs2mJ+rEDTLMYRWQruYNgv8+z1OvaCbBi855QqhHX+334FN7dUk3XgA6W75nuCCCaqN1Um1JFQQVn1PSiVd89ozsKGHZ4SqSNLItvsdNy1nrf+zcl05i/mcJ5UEN4RcdBC3V04iJVK9gV6zn1VtVyZzPPe7hsVpu2IFXS1P1NwzthrMuysOuTFs2yJ3pZyXKwyar9F6mALmFWiG1rG28Y10eoFtexfoSkZvraAXBWviRVHMJTxrnOhcBsezoAPC6mhtkIWZNKCag94CUPpMdUfJBeRqpg01GGT7URzkXeEGkoTwXT909tEI6mjoDaAqoNxfhk+9arhEyr+Vtitc0VfJfaC2QMEi8Bs5E7nlfL++84YPdb5xNijN7AiC3Yw6uc9YvdBmv3OG6QB24Tv/QK7Pe0WycEfoc+gPdws4K5wCLNIONO+woG093ZHXpJ1BJ1oNAXcgwUA5ggbvnEZ7wk7oCXeLRW6agpymDccTOg71c/62CVWQKBT77Vd9lS0Xs+lJnjKdpueBe7h9PrHFZVgwAITC7OdK35n7D1KYDWJVEPJHnvSqKm5uq7thMdm3i3xpN4p44GQFQBOkFOWeNmIG9/qlKZQcU1DRcYs7BrPnTuiu6FYnQSzxVm6+D2dgmNYF1Ww0X/nDQDJq4IJxtEaOiEElxWC+BJcc4pA2OrZ+sV7AXVIHiHjY7HHO1PyCHveiODR+AVIG9Rz6lYrkKVDDitZgNTj249U+1ne+FkrY+Nx1hbZs+ZpR9QneNXnqJ+BKWC4wW6W85iPHxEpaJLWJfCAUAjnxEJNuJOgUTjssKgIKbEgL5q126D6Oan7THl4MhA8IdybgiOs56GAci59kTzdLt/HTFdWV7L9XevmynCPmBOJerYIqP90rC9VLGb5emryHosqxdZnOOkKnPORN85bkZL/OyBxQ5k0PF0bdDWlxOAwglluYPErw2B9jA9q0Kt/16RyXa7YGubYryMExEv4BtffjWYyBZ7gjE1+5RB3D59uJdbJsDmuyTBnqFxYYAvs3UqtRSkLrj24bSEOtxMQBIwMrQyEJYrLDFVrnPL4gU2FGnXqtS4A5yHG7UYt9Qb0s2R0HEOJJ9u3DjKbE/LGG5GqPqAut0Z2Gn1B2BYuLzOeFIy5OP52xlMYDbbm8P4LKLfkTtXaoAA7HieeY9QZyn/2oST94+nLN06R/h8f48s+NUInAyUCyw+2W7YdEKPg+VFHb0MCr9f4T4dCuaO/jdH7cL1vxCmUsglgvFyUYqncjInNmYh79BYoV7MmmY3z5fnN93szUy+Qtx5Lu+q+UfmsGiM4d6It5kmd2MsePU2vSrR6c0Qzc03BIvshPc9vVAU3uQVTGkY1x+vaD0PeRG9uj9iC+SxLwt9x7Xrt27/mjU88E50HYAd8AAU7BkOruwB1SFPiWpQFOEHfM+4qAJ5T1czV9oTRTOKR21pdzrW7EEGoUjg/YOngj1t8j+vF16XWMQgk+nK8Z8lMdNoTO6vDKZHCpkGBN35MLwBd9C4u9mE51S6U+GYEk9wrhwbh1TMAkS9wkw7LXUnXD3fAs5hGTl/jyW0UC9+gO8GydI0tZ3qV/0UMK+rg6P/RKFHv9nL+OL5+Mc4WRPOyl5bLjwJrsu4FV8Asm/TYccNeLy0IBjNfkzGBAkq/KT6AiMIIIJb/IBFVprex4va2OO5X7GtQfMyIJNA6yhNYuHCVoE6PQU50nhHedTkl3NbvgTUEil6eEvuIw14UhZB5wQI1LGN65ckUZHieh4y1uhtFklPKelGnNUYq4jKH8+OFm+TiBv4bBFxrnieFOUqYgMZGocsoqVRwXPTr4TmEH1Z941sF4W9lXy6ZivZoGATBypQk60Zw1koqUhlxs6d+hHMDHGCH1EcFnZ3yvtL10RVUwO4TWlMKfYCPYm1Nf6yuVYN9xxmULH80bI8TLH5B6+GQMoJpF0auj/SLYSmQ1X7pScqGD7WyRHN9Iugasq/29Iq9/2yTJ+Y2kwW1gHEzduBgET3AJ16xh1EAXN3iOKRYqc9vG2qohkoSuqDqyhEV6rVYrmEIZnKgAjyTr51t2iIYHSdDifstdy6p3ml9iQyYgiIaQcMJw0Odt1IcJCMd3KjkfGMX57fi7OV4JaUcghxH/lfrRwyZGw1Gxjru3BR1LnuTiAOXoQpRPY3Plfesnar7rLHwFSg9p6LWp3lMZR1CXlI6VJBQ+ekbHDcvZ/KYByCIlSyvFBY3GcULNdcENtvkRs69jRXc/4hIc7fxXyuQjLWZSlqfYg2rSWcdVcGRtGCw+RP0gwB2hvsyWlXzOvu4XqAbH46D3t5klzZagUwft9HSufZ58pJ3sMuZdR/ZdiO3ZnIBx1htN8zzaKcTe0NjlpthVE6yyX3vjy7TGhkVrU5RCV8+EfzHbvQceJiY/Ov1kN4KvmFEvV+xX8Ibeln+PvO/7G6qj7rm/E2RhNvNrMQjBeqm5/Y56jHFytADw7lNKuENQnOu7dzn2iiQfUIafiPiJ9+nhxjXNiwy2yUybpZIqELoMr0cJn3x3QcdG8ltqBQFgAjwqeZbnRypowKRgVH7N7oBEVRM9TUlFVd/6vO1G9G5GeESj7pROVBuekhkLDbMsH4O5VUbxQWqMH0hYSMK0sWevnrJK63Fcj303P7ASwrcwPc1/MOjw5uu/Up+Sn5WhW88emeMKBInGfouFG/GSDuxWcIkMtlWP3/t9heX+AEUielZEhHwxLB+ONPzIbmWYfZQLc3QicS0aHdtOj0V6+650ZbcqtMzZ0gHrUpbyVwiClMX2waqaSynGxrQHf0e5FSRymxECSPlxzAARYDmTh7dGG501aVzjo0yERtB0EVAy/IZibUzG8exYSY+JR6FKBO6zFozHO9KKi8AULwSrd4maiLVwuj1PNZ/Qhe0AvcitFNI1t9rqJF90WTxIPHH1hLK0UuRLGSnYSd2GHbh2ggFoB2ijdITtq4M95uval6J1/NshH7EScoY3toTwCBBppuqHAELk6t4gy2qqSfLbB3Bt/Yw/761Ik/nLe8b2osj4a1kUyIwJRPLA1tWBQF3i/oKdJ+B+nlaED9xco4c/tyFPddu7gO6tAAK7K7NOV9/guigqtTWmN1ckWTi/GY84ecQorwrzluiP26iq/X2P6L4dh9QKXXspce7WuqC6dmTSXlROxIa172BzWr5JRAbYWvMIdKqDrm/Dx09yazMFohP3D9+MUzzWEc/f1ErHJmalbN6jsm8nxPXxHVJ/b1gbHeY1MsGktF9qDp1g/STtE07IfIi65Jf7/XEvaX0yCoV4l5NQAqdWjtKAcMLiXwLQZB4MjmrBAzlxotvOdOvTky6I/CI2Q+RPFptFDGT1vQbQbArne1gISlQp1BVgp0EY9FeCAr1vF2igd8HeNoCGS1s9pBWyElZvGZl1jUyK4ie8qTTmDiI5Spr79RhuX0PRBT98vIjEc1gpgQeikBfXgSTODv/18+opLhJ4/PnXlg6GiG/mWUvVFK/HcU5Amrl0WIj0eIycYHI3sYU2AkeBpoiCgKP7T5K7B4snAoOHENCf9QUc4nDzezzx3EUbNozB8GDiRkG20fwFvenTPTw2NAQfaNP0rxs9wds95M48eAEjkMCgREjByngqwSNTGa7Z9BssOjXqx8SDO1j10hjoHEHPcr+Ol9tIYOyXUH+jPa+PQrlLk2TJ8u/GCXQidUmZgFdqZFT1MMWBy3e8lzZvzIg4Yd14+w5ubyUCB0ti6NP24XlvP1GxyBcDbpU2ZBCdEd73vshYrQzFDxbGhFRx33C/ETpSERlwBgfR8S2Fa6zOnbJFJ+SacV4WU2z0TGBOt9T41i2y77nrwtTd2CzPwpdX0VAW0DYMw1rOvTZAR/N3URx5i9GHvrvUYK/x2mD2wg70a65SNSflPqIv9+kJC1ns1ugP/jPK5Nw3YIlhtmVloVg4/Lj6Tu/V/Aa6zXk/IWvFFUA9fBJEugh4iXkGpZrC9MOilT5qA3JSReY3XK2HO1IFHClW7HwvfMIE8Nxx20Fdf89LRAkJgJjLOTssL+BK5zX7Qb15TcI4Rl/UrGah0DBVmHbxxgVwFcYNzA1vrxgQ+0OpdCgagmUWZOLOS9r2129lvDJCJw6amcrBJ16AvXD4RAMZS2IqHGJgDfW3OZXSeVTKsaDBG4GhQaci2Rg3ZYYeFbECmjZsNpzmHXF3VUZNZB7CrAV1LjTJTQt81CAXbZME66Vcyqah5+TuXVwXvFxxK+LtzoysIFFsCiSkBbm2jE087amS14s1d66IWb95XcWGo4/Duax7FJe8qacxlzLz9yGNoFkHqwGo7wIef1FJHd/cfyfegpAja2mmlDqIImRNZWltFTM7zOLWs4KUeY9HU8ZtyGDo355Bv/8WOLHh5taZcv48u3OPvkk6ekxJm+JbY0pDSg+YmzgUMcAhtQUQHVZkOGS2YJ5CyfxyeDFOghUKl1gZQJcVnGo+aC1jCPRa3WGilhIaC574vSVc6dDtGR5+FsnaAWg8/IgRlyAXT/qOQModNIg1AdMq8ZyGnCb7k4mPtrlzv/yaIMOpenRIgO4mL3NLX+KZOj8VUZb77QjeN5MznSB6mEKcE54PMnTa3YzDEhbUeWxTIY+ku0vKB0+yqJd+DJlat7e5OFFmIu4gIglWx0x5yMN/IIpN+6IuI2p5A0Lgs/uewpjt7UfOTM9Y6zgWvmKrc+8kqG0BXdyxy2ntB4sHevXU1t5Rf1Y7MMse8eWZVU6vqjeS3a5h/9GzXDXxFEAPb8Q7JfAi+2KxVPolMwIhlKyTD+3zBqdLJaSFarI1TPr3GxoQEyyi1KPHkGwbv+omY8UcHb4+6uT36KgDY5yNT061qS1RSrNBr4/pb0tScegxRdK3sB/2RjhmIQQuhBgENX7pD9BdalsdDPFDZU4LeWzqvTeqRiKhpCieAMFDucupOUKip9RZuY4RTd8CQy5Jjc/YMiqkbiDDpOsDqiZBIWbr5brSAM0dvsx/JCBQl9/hR2/6EGSFkiUltEO55n8tAsT2JJp6FOMr6lUqFS9vzxVi6k5SlYQurE11xn0rFLG8GMGv1auxKZW5b1k9BHzmUf/P6Ple+7/u3icjgEhub4OCjVE5PSu+LcWVWek4JDxIjPWQjIezNvFQt6I6TChyWchQ9zZprzZ0XI87uMXL9+6/zFX8LcwPDzU+oFUUHeewKgPwGABduu0vDK3DXnDyzobnwwsc4DN/4t19cqB73XhGW88VcdzB6CeyqVOS3u/u3DNN2SG1BuQkiFPpIpx2R8D/EuffaV5qK/W1spDpW2So8JtdtPTdm9bRfCoTOGAhTlJ3U0QipbQb1yvACKeezgrXHZCo3HzHIUkfBw6CAVS13lgie+OEYKhPXH+HxUnzwD1K843I9JCN7B14uPvtbE6PFjjnMuROGkOwr2x+0UX9JZMFpAhE++sCW1BkNAgfri4PyuMA5GAyTqtlVaqPbBHNaxI+Op5V13QcG543BQFwmcHhQQop7uZxl8fe1/joAe3pI4LCffnZEsNMUqI7LB5oXmlDHYvanGbcwRtpjmhud/tAH9i3L6z8kn61KAkUbtEPVreY0js1iir2UfesXyMsajNAVD3Yk6zGxSFcn4w+3RqaX6vnZN9AvcpqGLQ1f0+P3CVR6UszD2dE75WswDQ+1VaFGS8cWjkLD/OPzPh3xjolXOGEtbbiuKbwpD/LsZBepvK1BzyMRsl1gMMM+8KTcGrUhsNK6apim0Cuznsc+ZNT/SOXz1cSwhADqr0WvtiNPA719wgvIrOow1pSh7YN9h01Hf4GgOglRbkwV91F4tIMjaVqnWQ4WLTapKewEy6cquzb6jTBVEOybf2k2u4FoAsmEJSY3GM1xE9ahzoVtJFhMAU0h2mKRQXi9ZgKbwhWOkNm+8IE6YLtLdBNBxEp+WmvMRhWui93KbQD7eYQ6xAGrWztbCM5mWW6IywQzSQj7kRwi0LtSIxTe0WH8/tbOJRKCkrmNt9E/h779WwvweIdGmv1mGq18/vGFV75CaabHgHdkhAX+bCSF606i4FcEWG0Z8iQRmj9E/rmmkEJ4dv/YWsYaoee5SKTfq666K1J6aCZCT3CV1UI1KTytRl4LwL6tMPO+9UHdKl/fLr2gChNo0Bt77AZ1crxWItUW7nfjlZVbDOiYYh/NnwLrLhEe8Lp7vjgTS62OZzJyWZKMZlFm/eRVs01wP3ce5BiIuZLqCZmU08Kt5BVqrtdKz5R0ICDjEtOOaxIUGd+L9zu8eB8KcjCwkbExClJZfLrKUXWJrkUYX44NJ3rpJQU5BrL4rHAObxBqGfLCLApL4vUn59fbY04dbA9vCzK7XLB32PJ4fWkEpjKjo4SWGq2WNBqBxxMv0odtPOah167JpnIYi2yzsREkYZGGbEhGoTuFqolMDFOQIPjuz1de8BIZXqlIhr8Xe0zvQF+bPcn1SKLENZ3gdnwi2bEwYLCMwhCUXkE1YKIcMWiSVYju0erjBXXyC4iZJTqiiPCZcMTtoTLI8e3KCJVz5L3hCK8B1rsCU9C7fDFRdcOSlta6ZXLxMS1R5usi9GR4TjPN9TEHzrmH917hDwB+szi7cD5yNb+yYl5H7VFTl1//v8gmPkZB1NjrL2uuyVgi7qkETvrxYP4226mDR0sR1XfU/aZ7FEoRe2PZMm6yM0cwW4eQADLNFbCkjYWJYp2tvSUuKq+J6geCL0UatMCKS4PNDf9T77oxtrqluFkcre339338qHTw8fYFv/VpkLVTYxfst/iyRkfvHyt4obVEC2sIJG60Z0AG9FHIS/dZL/ZkL+6HFeUHgk+faj0CGyMYPZujk6htSfAy6rGJ1wEGTUpjD13mL9tJ59x+7mHJ6ZoQqD+k7PRkPDmZl6fK33P2Wk2bUQ2qEmzLIaUVG5ZJuCnk5rcagAExaBCEcPAtv1c6ThOicjauFbYsTadbj8KZto57XrbyxjUUesFYto4vrbZOSG8lml8GgVHyMdzpwLOWGOS1k10TxZMtI4d8IPvw+h3KPFBWrvVGHI5SsZv6sCvQxSD4Q3HKacAgLK8cun+f02dpXcmiXAxpdJGqTiGENHDIaLBiGeZkt3nhwMfdFfg5pfPzInJYLUUWG5BPDIWeTsbNxJ/HXJS1J4Q6/sQ2wK2/w+3xVNgeLivUb915+7JoTHfAE2adqTuE3JdHUdCY+hxqU+zkdPRz9wMa4FNFtwSikGGv08wnQQOICCNnpLFa7A/QiGK0JTqk2L67IMWl5mHNlE7GmoSBKXIHGEb7sZCLwAyH1+4CDToaLPgR9g+HFlDLYCCwP5DitxDGlaKDJt/N0UF4UnDB3ngWEuSv0QpFojEGEGEXkOx7rd17TjrgL0e6+YgbCb68Du4QsebaKj9sn1QkaDRmvSZwiYsRfXvxIQO2lxBr/jqiZV16H80DKzVOfBwA7eDMidMc1TdIDdnvBFI6jMrm+fFMqZyOI1Qf6tn2zs72xTlS9AeYRVJE7W0HyYeY3IV++P+lAQY4Vd5cLnMnoSYMzuodTgQhfX+JG/tJ6Jv57AK8e3H05NgLvedOAuiS9RSBLUewvEh5OYYSO36IjNNf2SknWZDzouGAFlfzDc2FyRDNRwp2O+0Rlxg4seK3pCjFhzpyralPzAyQaSWUuwUXWAen1Rjqs+Omzm38JRwcC4hwfUWQWO/fV+DRx9I9l4bwnt7M0x0wUHOF0h+RUEOow/iwOQOmMp0/dmkDtpaPSDmnx819/G3GCFOL1XsP8Y2mgkB1CKx40ii1CmpTAn4p/pNTTwxrww2nVVVP4lWDVanoX5sxNdWIwW4T1LvnUwTEWyDFp+6jUeoUliPknSjTAw5EFGaT0Ej5+DydLZHDFs6BvOjPw5SgSU72mxOTEg4FxGdMjiNAuZ1EfdOe32O2I76IB64gEfYbrNCx7qVMJj/x1Sf2/Qg56ZItLNcED6TilDfvcsEIW5tB8lijq+TPSi1ph29+Bewd3rwZpHDpk47mmvicq/2l2MESn+RxG4PZ4rEmLdsAIhW9vUMXJfWFVNQs7Iq6nv0/NK5nJ/poptZqhftD3NHFhrLugDpKXyNQY3aTKo1+Hcdxiiz/3rDep3lb3ycsV6fBmFNI6uAwB7FfEk1MTv6UUKxHqXSg7l5pSn4ir3rPPRJRhXhMX435NGRW7WJztKG+KKeghGjksTrqs3vimj5jX2FWL0RjXnVdMX+s4I44KTIuyGxTsLI3Q8TunND1joVCSJIz6Rl/JLv3C7LcUEcW+5lh8kdZ1wpxqwaQ3OmuOBqeVqRD6AXDXOXqz0/crd8be3kNJLX4AImyYoWwESLLzBrab6BAYq776wnnMtlXRMhboj+fdiYPGOJAgy0L/UZ7cPS9PkQ0rGQKKxbzPPTMPXIuxDwS7QKQ8Uc8+VAfOtlo+XcaIXu76krLjT4qSsNvieBqG0cFsOa/Et7SaruMKj2yRyHuGAFCScNg4XR6Kd006I7j9+j/H5eABnLuMtJmkidKY/NvZLGXBIuEFKyIFC0iJuc2T83GDq77katAvLFcwB6ubSquUY5j4eeV7BkEXbp2FtRlSGxzDSsAuca+x1lYhof0gONjlhv/meJyfeqqCkynNoGI7yrD0F6YCKPaoth1KRRiyTBBF5c5m0LpQ+R6ufSXMdXfjFQwUJQW+aJehumlGgZUw/GsiRDU+xbqy8zgwwlUpLKlE5toIIliC1ylc6qVc8ZmWyie2ssow/HvyhfnS1rbl1OTrHPhtLMYktidwEcUFQ5+dMIuu5roME1PUIsyl8n7P3j9HdbIFRpOHo6fBlCRYFQuRk0QXEUeGEYphO0eU4PBeAFOfZ7r+Dz9uxT6eQ4WCTssx/bfD4/hbhv+0rZG1TaaAZfMPkyAHQmz5jeTDUcSdaFO6X9xTszPueWlvFVmk+WYRbZ6XwKNLfIzET4deMD60j2ubz6VNQA/ymSIasZyTHeEY9QUB21OUTITwUrh8aJCBZAqOPP8NEmN2Xi70e7zesXo4sfdhzgyBRIGfOxNzHEAnkLX4CJexvbVgdMk++YkOYII3060zFBJpatBqi2yyyMOfHP+6vsO3vnBe9m1dmQzn/19065/1XYDc97whJ+mHlKsPEnzMRx1mKhWWHexBZK4CDiA9YQuO+NOZw+OfE8a7AbfumaQ3cM3snD4GgHrNH5NcMjVQ9U+VkzgePvYwGChfmI8YTemNKqFrCEUBNDAzXSCd0/i/eaobEWy0tIR31UueYe2lqB32Z8xfcIky9grBjQwlWFRb7qTYHSy/DqoL6IEXDeqDGk3ZI9q2tas3yH+zfkJAn3xgBfnB7TZvntjabh9yBHUWS5GeTAusVVU5GqUzTdgi8CF9W4MpKBLkCDqUIP03NRIvNxxAIoDqsaYst7bXdGEcdfJLIAEiFKVexfNJ6zDSiDeYmUQEJEujBn6L3ucHszxXf8Ybk41bSjiJHOagMsrXI3j+eH8QJ9/ar8M+S/pi+3Rvk8GQKjU2FU8AnBZhyb6vegotOYduKeBWDf0JKnXF2c29Nqe0BYLAbP9PcLUr7cfUzkLTOHzBo5+XFq1mtaqgT7H5kTE1Q4HYunrwN0OFgnHeuYwVWpXVyXTpRbhpTBORYsXx20u5GpGrdYsDWTkzqqfdVJCe3cw37+dmFmjA9gP46O78TutETICWuTM0TavBmMsqCcSPGq2FC0m1S/oftZ6dAn+Zv5SQCi1SSK9x/4vfvoZcvRfMN6s6RpqNsmrjtyyTiqLHGK41i1vcTBInAHPwLUaxubAzONFbnaDFtfy6vHEqCODK0JSPUrxVqHQ8PRUKQACra0RThTgPWgaIgJOwgkP1uZSOF2mSzBk45nNWHbA58GPNHnAJyaZfCPdEWslGsVoIBr0Sb65085aqek1dWobxGZRwvBrYiNzQPxzWncDfk+bB11E+OB5p5G3H4zt9vzntr5v8y1KuGY1eCZqLVRUHmervk8Fvfu8tb6qRpSmkY/JjdhCXk/r+5l4GrYwjysSJfK48Wb3ULfx38dnAfysmYJJouZ03huM8Vio6QyqhI+NSOEzVUN031sUJJcn2drHeWuOtJBIMF3e6KdlBT/8hrdM1fncPSeHNhDXXdtWkeOzxnP8qOzmOBW9JutbLF8PhNwEvPLUfXo7v0MeDxfwvJ2l8WRoKpldzNMWxn+F6CFZm3SokcDWy9i3Osk4tdQfz7j5RVYt335J4iKSqH3t5pejwWSOTVrfZ4Zu4G0yq9VlT0yL5LpOO2TdVshp7c6Z7QVhP1vghZMnCFp+J9OITrM+gEuoOewyKhPwC+S/+SvQKw68ToILs7BzE/bYFWY9hs9jCO6tHt8cUJhpAuEiL0/eRS5dTrewOpBXU5ot0GA5YiZgZR1bOg+FdTt/8DNqq+Gc0vT85sNuvStkEtL+VZxFJ6rqU8ZWJ+n036w7yejYa3q+SUNc/wC+fITKVvI+ab/bK3HT+1EGxkiU1FdiZ6Ap2G2N50dfFFqD2KX8c2t9FshaiZg/uiw15AO48V/5WzRDlOhdbjSFZnBvD9NMJAbO8RJtV774+thFbmBjZnUYvhnZxixB6EWJ9/qmj6V/EfsLBU7NBhq+N3hyJdMsfaRsqxuhSp1huM1u6oIXlbRnlqiSb60/9F9sNtstqe6pI1653x+m9iYes/DAXggF9Yf0eU5oose8fnBwobgtLCMiPnkSY6SyCL8Bkq4pKlVg7B57rSzSNe8lS29oh8Iwzdvt0AiJmtPB0qMy7nkh7NFDwA1rCVu2XVFVvrmZzwXyrwgSYrii6cQbaArwcEs6NJAQ2RBvBLSvLAlN0HxUFB/xUepJqYGPmDlWUwB56/mIuOdrlr42DRT6qjQlh49j33M1KNlD75l1nFnwtOqc7JF4cVFp/Qcb00Lucnxa1lxu95JqWl2wNYraqlQRuBM/1SiM/sXf3EwsRcOtE/uXUwgxAPvrGURAbVeDQu7tSCbGcnyVk1ARrkEUtY4IXCtuPej5nV1cjvqRwqI03YLrAum8Y6eSK75mVk0ZK3T/S+naasidAtTdGHW/fiyLXHxTmbz2Opr6e3CdCMYawaII9udQ+zJZs8MgjVhe9gyqK1rmiQeY07sI0SQRZMMPJ9p6BaTdr7dq0Yg32i9wic16VDeWuhVC3QVjhFpIJtrspizxgOR4Iu/3nQw1J0Ocd5dTfDMdD8YvqK3RXXT5JeLETjmUjNGCLrQfosAIndc+oKxV+I8OkMd6n9SEQ2YuNLZ7/UgRZZYSjLZN1wYhFro8C2Gtewt8GiLzbTezUmkOp7x6QpKWgmdeESj9KDalW9zDrobnC2fPpPckEzhNahcHyGqAiHV0UFmKScXxJlIwBKSKPG7oZlfHejuq4h1J83AOwIRp+WWfZBbQxDxSeofOwFyl2nX5nkj1YgcJM7GCr79HTg+dNQBwK3HnJ8j9Zpls5UPc64Kco2WLH7uE13D+jPoKWJb4pWQfya70d7fMqUGWrMS5b/HXB0MlNT/NSysBocbfVsJwLQroXJxgai3ioB5xeGIr6Yb+s1kUFAlvHT9RqRvj/haehp3QbXLjx3ihz72nvgSOGLI9a3EiRj7ZgNOuAUDBI9hJx+x1A5ZKJIU8bP2G1urqkKF2OT3pgcE50Vlhu5w1Y7MJouocMNcXmNWWqvAz4W0JhMFtkp8zep86fNskv5bhgHiAU5TMjATzEmSruxqrG76PzGUkfUe9PJA/fp0aTgpi91d4w+tgI4epZfUlaCNqPAG37tID9ueRfVSKsHyI0v4kMEoZhdgVZmz2IvT5tzfBzpVEqoSvFCgfNXJZnRHdQDNDMpZ1LeMN9lOgvmVRlLrL3oFXRAKDQ+49ebYXa/UdWRHjCY1Il5gf6kkOjWf1omgIPeq7godRdYQ5qzrER6AA778nzKDtpXlhAP7K9WMVF2so7+N1WtZMKa0N7G+4zK79lsHb3lTCjryIjWX9VRqEzk/wVSayUdPN4knJ3gWua2YA8A/d9nAmTczeMn2acZ3R+Y0CgSDknIrhTn1fHTOeE7Y6yyVcz6r3ouK2qBvG6g8FNzXRFjGqcrJAqy9VZ1/LvapouqBHANtsryWFpuUqKuxYkcfAw1mFoJZ7SPqhwPvDq0KeXinYPSkF3zTiXAam8c/00fUPfunPR+8gbD219hefOrLPZ7rQHXALPqL3tAFMP0/S7Xu9viT3KslRW5zrM/0c57+fRoTD22Vjcfkn6IB9Lledjj6drdJ2RxfRsck10nN9/GXiehisMCntVkFdeAs2FcvEFkLejX8wRUTpKWEiasof4ecUjVR2LajfyyRWgGg4Jf1nwJ5/1Z8m0h/zy3QD/54HB6pP6Cx6DPDWdf8I4Ui4VcOXxabCw38O32BxVTzWTVSKnRNK+2wxAw7XX6V84o9tgGhJyYVqF9LXU+0WoVXFNv2x4vTFH9aLqej8biVH1VrUaVwimQr+1ny0oYSGNz9AN7z9YU6k1idhhYjJ2mCda5BW/9ze+9dlQK+XMEYMO3W5gpDuO57OtNu7y/kKZxg1VL5MaklT337QhJURWLOwyJ8cd8e290Vh31QdtMMnF5nBkMKQsUdV6xbx5ZOBir0rLEcosjfP5HEjd+BubmPywnaJlxTIHLwFsPbk/qqe7VFige2dge0RNt3BIR2hJaFjWBkLh3WmkH5lyHuOUG/pnT6xbhrks2HSBYwF1UyEHNhlwFaW6T0YQjoF93cPEyUu60QABzY+jR/r/h40n/njx9OywGm92ec0LE1U1RI4qmL8MH43ab3WhYa2lcV2neRutLoRvyoXZtngC9QEhiCpSrynz9GFTubBvUu5NMKHND6pwdgjuvsFxUvuHijg/DI3U22cDOuvsbjnKZ7Q1y0djt6C+voxw84DbOAXVdkkUorg1jqbPZpgj0Vyp5BaYtCir5V8LY5M+mc3Ul4bggeMCVS7ItE2SbFF1XD5UO4HARAFdwMnU5ARh0MvcMDbMQz683xpA6S8KEqEd+dk49bIFs7jtZda1qaHwbDH4EiaSodgXoAPZ+Vwb7/oRQA9s7qYqehfIInlOsCI32BiaEyPmJeRfc0cmc08lVyWYxu9H5XlsUH9wzYo/qEh1+thEWYi9chpSqAcUnVe9/bibEXiA5vFzJEMmViTre0R/O5myouMxnkveUb65WAwcqYF4FMXWFzgC+ezXA5IgJmz6R1PV/I5sqt31mP6EP0xx8wS1Y5C6Zww1uG/10vUbWVUxur/Y9A+IOlIQaxcv6HDEGxQ98SyqIah9FotfRO5PJI/wnsBikABFXOKQnxiqDlLUErwwJA5qRBiVr2chFJBeVuzK2Iez2g13rQoBT0m5fsVNd4+XofBL1TyIswy2o34abauDkkTL7PVVzWVm/Xctuy3Y/onAfKvMk8LcE7D2PMhqVcVUXIXNliCFL3HzyvadGWQBS7fSPDB7yaNlYF4wIA9biYx6C7ZT9Wph3OcTKZgSB/Arw/WEwMNse8c1Monma0OceQXwuqS0IVGQ8czfoVi4/heOcFz9HcOuiMy9o1ra4bBnD4MXKFsbgf+63NGyeeoNuZ7QrUW8fJw0oBvzDUIgP/5VPexsGY/TWomiyxsu5wJlvXrowQXG6smdvEyzB+FI4OyQq9U+2PhnFnAlXTAWtxG8hxnJN6vg2zsEaFJImbfukWpsKEf0EIOF3GL/YZtQIgw5Tsk1vJcPvokH/5dCatuBivnUrsUWtdYh786ih0ByugVeGEim8fCqWob4Xy780ImPavLk8YlIBrBxi0MgAlVHcqFGQPLYvP+soM8iVmaPvW8H4vNiB+awnJhiA8RmihDlfXKopSDBpxd75jRf63e5RyXRVG5ULnyRPTgEYm05khXeLcDsY2mgXvwMRdLfpaROnDU05+CWpzuTFvGW0J6WwJmc7AZiZ9czYjxFF/Wpd2zp+duRkiotSSiqXmXSCBsauPD1cQAG9sSPLo8c1evtaHePXgYdK3Xkwztgi8u2wLDVXI3Clh8lraxrmGnY+b9oeWeMbxVVwczQhQbmOh2JMSv2Urg/fpCwffkXFiOux2hk3YXWA9Az+O4HFhybqjlBuhotMA5/pm2FLottfZQmVEvxCT/uE4AOLqtWAky+hYtO/aqlgA1/JoXqFzW6EpVBvT7KSXPnu0CZRexfRbB5XIa39ys4SiCCEFd0g6tZQeJFxNrxavru9U5YsK0dMdVhT/TJtzPkQbzgBdeH3MtQ8JLx7dV01syuhDDvhTnntzMNv2vkmwBjyQ4h7FbQE47Pf9GcD0cLdLX7lvrSM0KM0kUVnVNlMfcjFI0jsNaK2IfpVfrgh2EoysVMK/lvXO7p4NjJ0rxyYjRLZf6WKrcJF4MeAG0t5JitCEMJyEqcqMJT5xe979Z5sAIIdYAN56Tv5/eJVsJSAZK7GUQYOz2cKr4azbO3oc5HNyIawLNBrNmwCF3HbbIytmh88SQElQB71R7iNT7DnUOGXvYhzSgDLhS064h5UkLFSntB0RFPZjsT4nLmE3SDnGTyiJso3MIoQuD8IW1BMgdOCcI0JYhOphqAJG3rwwCQWEUgHWnriVZZxv1r/fDBSSTDnlbs7VOcnS3GgRZjcZMIHorvdv3MnZDlfqN+msp6ci3Sw/47IUoHXC7k3Jvvude5n9x0LsbsIXM2P89F3lvu43DzO3wGmgFw39szvqF+Rcpd0phw/dci2fOdIY//XjSs5fjSH0oxBqISJiYIwa8zSzyIxHEnJvZfLfF01RZo5mHnYsTnuG0Ip1mw+D8feAyGbXjSrxs+maG6SvQqdKCyXRU+8SdHtdgyOZmOm4suwj8Eiv4fyJnmSoOkr3wlJ+vzL2PhKrwlwo3CUAfN+5UOksHsd2NdTihIZ/k+T/ZuzPDB2I3tkbSfwXJ67OthlPXcUQo2YzRYXcpHn3XwRu1MZ+dBiP5e74qiNaqGyR42/VVRAbyLY0QrlOIMVpnZsqaY7Vo8qD+szbsCKV/5h1aLvhqKentd/PMRodSIPOGSau+fKltG3PSIuQc9jU7diXJWuFpHoecgtZUO9ecjQIQSNtzA4eOAiq6PXDElzKTOsGj7jBBM+GONdaQqLaXC2mnw06PeNfPjBC2PkiSbCBdLD+VjFPWcN1k/q4oi3dmHoXZLYIXLXpDbSzwIHXngHBuR9jJfDtOEQ2zJH8NGkvHZd4f5y8Mq60JL44vznb6ncT1jP5NqtTSfN38/sZLH4+QydLWsl94ZkXfMQH2k3gELoX75yobpxCHkHFSRiwT5vKRRDaD3uzHF4Wmm1b0YB4AzYbVCkrOZkQNU+Uqozo+69KksxuxbvYVEvaIjtyjOU0P6Hth/hPb1RiYJvSohcwgI+F6iGROjQ3O5+C946GlJStN4LK9l4hKvq9MWvL4rp46p5RPTSxGWvl/x+R4jupWorO3ETv0MBkjw8DE2u/32gIwgezq919CuIM9OAlLpA/sR3NSlAcr9TW+A7w8+BEtkyD3iU1GcqPFuHLiG67SgpRZwvlvVRi+2/rCko9HTIMjoTtQxu4QBQ+25YALHAgbLT60ixPdbMtmOkApQKZA1FxFtLY4itkDlE7U8Cf7BG1QG1IaJxn7Y2gyCMrAJCw+0OKEE9K0d8QMRnOkjn03gisjmYdrwTE0SzhQbIQmCH2qeLDHa8xh6h5qLjrOu03gLxhIeEFaAoQ5fHLSYA/Br7pzYlZat5JCbr3WMID2yxl44DFaEJj1oDEvyQ7Q2CdGOtLi+G/GNza+w4CRmhj4ao9JALIDBEFu+7Yd2LVxeptjnt1Mczf/M0aVLM054GpwyGvy0jxubsq8s1yu7DpWR+ejt2b3Jl5CNs1JiPUP1Vy0dmXa/GcMeOREznTdUu3lUXkeFAvqGu4Abdd/ycebO/uWnjMgvmCxfv8j/nXJjozshCHNtAGxMhc11NYtey3ZFKqSDB3Zknq8RzNFdoooY/PyF2EpWp03VCKQLAyXZft0MwREivEi1S5q7nWk/mmHcjmKaFSeFgrltUCVix2byepYbwIge87ENzQI5YPvRFXXhDEP47fb3q2gRQgAbH31JCQ5+gJI4dygxQtSK4ITsxn0+MXVu7LU0P7lDPvDLy48an3h0h+fxTM3uXRv24xdDF9hlp/ArduksjOHe7PTyWHgTj41DbyW46WsuZgnGK31wlAqtSdHFqhMbSHXgX1Fot8nu119WPuk6W4BOqQgWEWZMByF82T/Lq5HQ+HOyoOwnsURCLcwn0hw2KZ9bABk7MXBMrnwnmR8obm8KIUdDYrbc4t2gC5xclwPfWbV6rfehCBGYAblBc4XDzuyeUFABM9LZLOu/53Ylel2aQaEC2gcTSpBhJBPzdKVguvWOrEQrTxHvP3PGZlPcGmJDCURvTCwftBRO72SxoY20uwQJXKOTtvfdWHRNzNwSULDOVv+477W3LPyC3vJYLhaCW792m1xxRvEqfaQPbkbhRBSr5LqK6usUAZQ5jAqYy89F5hXO2DaxVTJ2nppS/B9bI8NV20VEEFO0EX66hqcCYtk6Hl/3wfbCjUq0kj046L6JHD7J6qbZB7bFd5LDyj6ZLHc3qZBoeREebOLB7H9lSRgFmzA572NheJGWyHGz3KjOKsSI1oJECbzpPg6noHcbFBBWePvSDOa+lkInuzWb7W1aXIyC9cOb5AUWLRGsncYuNexNcIh0MUvxFGhC4uLVa4r/CAy1XaA/gP9/JSRJPs0nVpVS9Kl6qvsg9lZmEFf9BilEFho+Ub9diW4MsguIQKh0OgFh1cmQDYmg2MQFTWZeAonQDSphWjv8DDo99aefHnGGDTtg9U0wmN0iQ9/yn+WDkPC251lkrFmDSyXubWtcTI7DNRYFPAIQmVr2HlQy8mOvtHLdXvcOtCpjUXyAZOmRrG4fXMeMblaLwV5U9Md1XhO19VbNJMIEs15YP9984//A1xWajlxfdaldkamiq3NGNc7QpR7N7IV1KDVBMY1u/0omwnAkpwv8gkLGdO8zjFCpW6P7c4qnlu4yUugDiw8yPFr+SNUEV+WnHoYNfhEjYJe2WT5+5GXI5Wu3y7LuBRARBuBL5fX/Bm86V8Z0XF2jXk0zOMiZGnsDwengnKLn+7NKmAFMqEU2Zf018pMkU7JCqf3ehUFy3LgOwtTyS6udeILkMI2ut05iW0Dtqx8qzeyNYereS8yTWj64oAWJAhZsxYDDk4LGEJOP0Beyi1EFj47qormBsmNLaCxYHndfwRhoXcEviHBvHVmFGQH5rNPYEMWSPj+BHiwYlQ11lRI1AFM5Me2cUFktp42Ytd2HJpGn+ioi83mhmCaq3JGzOjXU1sYK1e4dCwi846thr/JoEY2UG5o+/du8akqwnPd25HMf4eMjTD3smVjKynbf4E/xdWSBU91QYReZzyDjvOunbDN1jeBd1Yhz/5A33n8YAmoofxCnE7Ja8NZcty8xXhIU3a1gNcb8VMiGt9iO6utjPzadKQpFYVONPmdDHTmulVir0Ak1b0nEnM/DkngGy2B+ODAZwtaOvn57M7WKkPRwrksCSpANz2hKvDi79SQbIFg7kfa8gIbeYSZcLIetZwVZ7AlAuiLdzBqYbeOMKp1OTxPI/g5/8WPZHSvVkzVpMT4jc/VRXbRZpdoFgeF5GBmPGXWDV18oX+rnt7M9NjQvhyQMEZLR23uI2wlDsMlk68hBDB7/Wmnp7rSEj+tskYDSrTuey3HfmqzZNsKC9gkQEWsGrGNReT2Zmyxt9XxHBD92CoQzuvcippSwdMUDDRczRCrreKmCGPrah8ppZG1zsHVVBcxsULqWR8Tm0HFQ36b+wMCUGuVcb2TuCh01/mbJY7ud3UarwZtUXKilbhNjYImce1+BWoBz6MbcXqqCsyoaxcbyMEiYn00yvCwt8hvRTHnBQqcwLvOMk0FzR7BR/mr+kjeqeHIu4w7/VayjcuFnSibQ01Zeczc8r14AVb8JZkLrgee1A0QJACwCO3XnpkV3EP7PQIAzRT51OW7LCz9gtRDsL9bRNhCZE0toNZ0sRWEHbr5NEzQo3EM1rk9ZmtEwAtN46eIOSUt8KA0q+Pmy0JPn+45FD2hZeG7JRu/1zRKRjJEISvmlo1H+uC11ETruFTVUvkAESvZ4MUUI/LhN01MoTh7Y/GDsYMNcm8KX6uBqvfha3lks2MxZ8jGpOB9oBl/1ZPTRdq9iYghiQTRocLhE417d6EsBL2za5I/Nqv9i14/pnvghwLEthDygQDYJogxifhFlMUqlK1sWiAhYuA7BcPET1eMfwmjx09vrQawhnrEO0teqXDiH3n280C+EdjtPk48q1nOR+WKNrKZkGEKd15mrzJkpTDiH/YyQtXS2e8+Yxyc5pCu3RO1qvyJKpTuu3rDU/yb8tX2ye0g9CQA5KA3+Ka2KHpOUoapgqIpcueAB4VXkIC0xaetfR9OJQ7KmvQaqdIoKT3Ba+9HLekrD2h2+n+Cn5cuX9uumt3EHr4rhZ/3riRSHEmWNUtKqVwW39rQtJY1HRQogpOhj+reUsxKooXLEcrfL8/ueUJx6SSunw7Q5zm8y8ZvL7qIjF4Je+IgejDHsPHxBARTQEfTU/szD0jfhnKGHdxazGJ9ASS6r83Bu5hp9ptmyrUUHHIwH/L0e7+nCLKGl2e7kIH70uxepkAuTPe7ROzh459TsA5JQwzMXWGK08HpnTsBsk0pXn5S9gXMGa+9yg3V28UbdxFBDQRFeWZt0nG9faXUjK7VdeWBxhwHtYVy0DcqS08xyebOTs+5zDGBohGeELjhbAs97/WEvnPLuPvSOCpgxFnhlkv2IsScYpyd77vkJJA1DSYyCijrw5+GYwRC5Nkkd2MP8LvKuXEM7gLkOcjEKYqwrJgrwgFWZyLUPAVfulAWk6Ow4hpKlLuAp0JJW5TjfHuPzOTy78L5wJAakNH016YjDD7RMX/SVE/S/dbk8O5LBxzh4Nm4NcLRa9/u0cLSz3NsySwkewH5ss0MPRJJBop0jICr+wGYjcx/O01ARaHf6TO3+6ELtObnVqWpy5ZEfOomwAVYOsW9s4cqsdSyxdXVah022vs6B4D3S51KzrxHo3VjhloeiO2wadAxlUUWel5ip7dCOGZVVpQ1PR2V8nHA1+kcRJAQQIOkuX38i7qrKHfpzq66dFx+1CCwNpWd7JCDShk8Yuhl/QN5Lrfkwg6S+W03GMbheNVgSdmdm5bkkq+p+9H0KcfPrsb15g53Z6YJmIphTWmqizPR+vIyYNW7Lyq1g4qagwncfVL61jxZfcnRQbeRY3MzvzdCCdqtOs6b6AW9W1wZZw/gtBdZ+jCk2nu+DYQwALCVOtG7OPcPM746zueHXL87dtcHyLimwMIfJnA79anOchfN1TQ8TodFvVIe4PqrU0IzM1RHlGHmqfat6Yfte/RXCgGlj8EkWW4rmIiJILDMpmOFOgBhme24qMiXNWIxWrWq8fEQYETMtWR3U0KUb2ORuQgFxmuDtB2h2gFbsCo3pmfZtXNbdHS6V5E5mpAGRwvh845SYcWFqKAvnx3M6p96ZWIyGXP7cZ8EQBaiPpLq8mEKB3nTLRJtTTXngiUR1SNBluBXhfltgAGNpofnIDegT6Q3a8fMpQ098YhCXVYmUQZx9bM47ONPezLVicKNuxkUc+tCB5ygEcGYjn9RRG8ES9k865cPo29+VK03dh+inwj4ceVqss7ntt+iwIrvFYZR5gLCFfvTNB5G34Tdc0LLLOOVaZn3NcbUNSCnr9VmwkrpPgKOlAoi0gtvhiUSeqahOLOE/JmI63G8Erq2YMa5eGTsvBmFGAudoBk1wvHm0V55HTsBZc4v2bbp2N7pu4gRo8UNfV4/7x7Gs1yKiC69D5rj/8cP33sz7hhuPXeNPHYWi60+lEJth860IEmC1cIhWSTtgcQ9vkAs47wMzWS4jc9C/0ip0u5hhOikC+ts3onal0xT2y3r5OgSUXB0rOXK5CmXMkndjk1EKTAnTawLgyg+q4+mY0c2KWrE6JRGycwWoPtTQoqibFG3Ml8akKEXi6GWqtImQBN4+8ERe5zvuev/w+SE+i7fxcEAEInaFb2nLHP3LUMGA2ar+mqVA99Y/xiTSl81L9ej3qrhfFcYk0lGNGWpHKMfvYFV0uDtOcdCPDZpf+J7xJFRe1mEfZ5ZDyRgwXRIEbre8GUgmmlroLrUpRLgbB5TxqUsFlOhNjFPq1oJMFKe/MqY4m4Z0oe3fzpxAx8PWq4miXcTDQDVXRuf3fI1/uUI/JzbUWdRMgdOfMCJcKNdOFwkIBMPxbYSi1+LXjFHlIVU/FkT1ZCxABuVxAeWkAqlbAoQM/pkU4e4IlB4o1201CHAHZrRgGDA5+kBSubtedUeYeZ4dQdajUR0Kf8KsKi9hvO0xpog3M37ppRyMsh2Evjw1hZofWOossJP8VmG9LlQM9tg41DAMsW0c7V+aptVElntoA/LzYit1DFHFzAN2SoZUAFE0JFAz6ZapIZ80w3gb40CLGXZXE1tonS1iaNvfnf0IJrGZ2BVtLMcNEoybaV6ImNUit9Jr/TxtCChA2yYFgak1tfJ+6PpK2sLwohEZfy2Y1kSgCIhnGCXFMTmsj499kNZ0pmiZzLV1E3uPq2NhGH1J/hqXpPRLRfodFllSPYGE52I4ehlNiCs9wVtldLDhrrjbJ1Gntx8aG5sKzhIg3bb4K3QyH8Wdbv3ZxgnxhjutKuGeuZcvMFOJivGFU+pG7AunE+AreDkxm3JRvvuWbEi78YzY0XlRPjqDYTj6dfQ4YwYA/oKvZkAvCfDNGAnfPJ0RPWtQY7CujUAdA+ee+iNDOubskPIdF8c/1BY3eMHiXTIAUoz9qJyZh5o3Ud/REhR45QBX04dQKJU9VAsQKjWA3V07YSceFWw7ufL92il3/WJ28uEFuWrsBw9cARQzU2pgfssh4wYJZHMgvY7/ozWE1ZgCmABtw7hd/rv/72LzEzf9/q+t4fu7CUGunm0dfZiYeRLM2g88baH7p6mX1xlrGxytH/RnW7M3OFjiIx3gZfJUNKTjz0LFgsRpjJ7sUb8fmdtNz4Edn7UosHNSYcckMd1/29f/rg8QpvT9nuxVlrenEOpgbrHyJkq9HegCfGlbX4CfYlna+2gO+pqj/9YO2Uaof9aVtfDDF15/OurrYa2X26pYdFANfAJCvOoxDOIXI7k0/bxgGFOfm3Nv4WBmsYOaG4CrWmMS5YEWeBvX9KnQ4yqLbrx00FFSaMIvMDbQRoR3m3hf0pCrmCetA4GVzGPI5N2ym4WIxvw74GBG3Yr5SBqb65JDA0gga2UF1+6CKXtwQt0qj6MD9TQc2mPOBn4NoJ+vJQ7t03kU0xz2Z+zMtuYkgjhK5mmzu3qu+EkWrdpoMQY6pVkEJoyBCHvy5qVfJiR98vgvXsYj/Xz4CfGM7qKMShteg4aMX1KidNJL0odJvCVmlZXTiE34YqExlXo4n9TvLrwXFB0ljmb3BVpk/6VPq21B8LVMt4kzdWubkgcYsR6T6ryj7vvGveLNFA0u5+i3dQu6KfHXYSz36jQGws3UNYUhuiJe8EJ2yAytHnJGc0H1Bbp5CaSmqcmUa/UlDQ/YkvCBpH4lupfNLTmvE/EEwWjGo4uS4zEqLNw/zU30M0zsm3PEkgnxYqn5RwZ9G6HgrlLyq8gxpA2STT4IezEQZYb0tdPdcQIm/DoghmOLHxWCULE+pcNmv0ALFLxxqIkoTrOOEkwhMd7Wt4AoNW33vPlEYJvPlEYIz/T895pPIhUDvcO2BEHgup04dLZCbEPMjAohsnYmoNlgPX2Bzbl9g3jleDZGCD4rrR6b1lGTGklthIlddEYkdkALuf0AndeJvAdb6jQN1DHXx8p0TK7ynSCW5/Nve+7L9zebl5etzT91OZPp1sOfO7n4LbRkDyG3xZmiWAUcRV4yGSx0b4IaLEOCXsCO6BqK5NV1GOofA4TPwdxbXaLFX4Uiy/dzrd4Ff80fBd9Xr2hjySPwOdchrGLVBo1Cu+Og/ofBHLdUmH/k+em1WZP9jEDeyWcn7Ov3LyMei2RgnxfZRNHB1DITH0XKWuepN+/1uW5e/9vAEQ2ePKdKPSQJ2XpXk8j6b8cBnheyaxBE0nRq3P7YfO6Wu7aIgaGHW8OeIKWHnQtHVdwhB9V7dBHSFiAMxjZ4u22OtHu/H28t6Zs7iNxPUlkWbaOMmqIb6XIvQP4AFTrH1dOOPF7xJJtXM+jyDsNyFR1V8E4jalAN+tiQC+Wi4JYoHjSeEIz5WjVcbrt+lSaAn7hU22wnNIxhvVRaSASiFD4Nf7KU0g0Uy/5Go/DdM4IV7Si8Et35syyijTB/cWTTuJpULLOQtEwV+dDjHFfqyswVj+2vyAwFvDU1+vDa8xA8CLGR7QVPx4JAwOG5wxCX/kN4exLjW49J1ZPgY8wkT5lTe3WDBedvVoIi5CgTpy2GAXLC5o4BaUW4nnExK6ggqbOqTneu5fCMMFQa4nPomDngwLf3dI2rEyXnxUdiTPv4BryaKKn6XlTOyfxdIOIOvadOyO4jBpUR4nre0rssZNlP/WRFXs9U0J2krQJm8xDhr7by1Rh0Q9/sRyvnwzl3h8J/WrGbnPG39ucvskVPZ/RBLyV8tWo9pLXQ2xN2sZqllAGzjmQIeRxTqirjySNVmmp4jJ/faS3ORvDiVbfJBROC36yWEgg0keA5glp3W0hAPrc1qWRqM0a2oTaSbNUSeXBprkaAlAowJcV9s7eeh3+PlwcuX8hf2vZVHIir9nP3ycwBrN0d5l/ZL/pFhrRb+v4n+Avht7sKbKdgryvy9I1vVmkDQwkRQkOEp7QBPNaQOLMux9Ab4Wj50zM4WqORu3fQQJ35VmKXlR7UV5eDYRhKfC0UrPGJsw5s//ncCFUnEQstO6gI2snFHiLEk5HribSPQXDKQL7YsUYFXNDACX5yYr4QNI0qkRfNdEzrq9RhmfGNYmkJJG3+o7pftlRQHVdvLGfMTk+RmaecgWBkZyQJVBR9SF9q8WWjZEx9EEtmM+Nz9QD7SE6PvcjF1mFJWbHZW4xAUomni9sHt6kuIFzmXzWmiAKZtQml4wmGEG+BGBcY0JlWlg05SoiFIZkcp6FjjOYfosuimb2R0Vb3t0IpqOnoBUAWvfEXIp8vaCkzlldPca8ABoWnBxQ+BWrohfJJkAnNKVgGrevY/ZGO1+RzR7XuwzS2j1OqbvVpqclIkGNIFxpVOo03op7nQGLIs3oXFIxvyxWL4gQTABqdV1btelTVXAlhQC1A/4Z+OqgNzKhZwJvJGVMkQ53A+cKLjNmLAuy84qdqSuvb+0601qAyIHn2yuCBLZsulv8/O+7xKANSMVqHDZN0CkU4XPuYaRgLL9mhkZeAHnuszG+ncx8FQalXOEWyhsDekmDhBbs0KWmOZMJ7+KtLfkBCvDupzaIIXwacNssZNn2VZZToLovmPjGiFDri0Ha4mtJREEodV6yzNIIAvJceh2OfODOGL66dVf4MMOphCZwGufYcPFkBNjkfPYGEWD+H+EWr1yXZrB6oTHRsXj3lWJ2fvAFj5pZbvOvf/BXYRwjGMHYQsH9lVDIQHUuwxfZsfOHNU1k8cUUhEfFBq4JFKq8J/MvmgkqVQbdcvJNPTNO3M0O1eUmduUXR+TP8WYSMNgJdWiK6+8wbt8aYRfUbiKX6gilWGRTseXf4b1fXsdDNuawmchDsynB2L8szjagE8oOxV5JdnkBgvAVxxJ2FKlIrAtGqAOC95Ym6BRXW0RH/gj7vZlUFug+0YXUdTWv7PfL01roUUlNXE0Xt8eM8H95508F9xZOMFHcm+sMVrSeYARfv286kNPTaTrLSGFNwP4ShHmDSAB21sSonZV336+cfC+lhczMSyvzdgGf5BHIGnLvvUeUEiO2PCVv68q9MJQvCHjy+36B77aEiEhASKsfuwWlPC2jz2WplZEFOfzd9Ins86FyH0DL5ar04suca5We2QHd1lDD0SSQaKfZHNnyS03eU7466pdGbTo+Nm/k0E3nWqietKv9/BGndx8tswCpk0w5C3XGFWdillzq4bQejgZom5u1jAl+ytClupwwIKyFauuMUYjjJGZrqHEsgJ3IBPs8wn5Khx/dRmsrX52hjcefaKL6IP8hp/UtQFjFLHrbGQa0/eUDNdhfYfq4Ys4eymoQQsQBWfoqb2uSYucKZchS+ilZdNA9BYURIYefS32GtjhfkaOQn9OdlSxrItfw7WASl0GgybZdFvlIpssv6PX6tOS6jH187Kld3uGeED+zyP4fA4n6nFm3uBWUg46kziUqQHFF9TNgwws0PInKb1JwR7lkUX/3TKb9EtgEF5yEghYnkA6SM0z8965W2aTucqY6mfbBp6bubvZgSewv2u2ay9aLxRBWUxdLdEbnXoNe5JOn/j63Q19xlOEZPSaVTHOa3lZVMkzdWx3OdHrog2ZXR0d04jTg8Wv+eGI5pMdruOyXeDtrvom3qjGG3j4LxehGP4+7ZhRn5HcQy17JXVnnAZfa4SVrvLFv6J83s/Xylhfe/ER4EzZRA9S/R84vkMfMabvkAr4YinWIQWJE7edkarb+WuqMOzz+aiMWuLB9tKfa1gnD5HfiM6qQDMD243W5OWfG9O3W9cZd00764WNXzeNQ365xIAddRT4hCQhGBH1a0dt9FcInNDB+9+UzVAGwkYVHtgzbzdsc+KdSLl83o76mRBBz0fypiY9mFMWkZsnSd8TPFfDvaTT65fOWEq16K42mWONtLpP6uu7PzQa3Hnjua3lLjE2/OUtYVKbQoAcDSrCAGwfNcR+IV4RuEfpDD4GlK9SkzjQoZ6dTOL6/rVOp4dZSnNgG/7wflY7i83z108pKBuQJQ/eyNONkqm3k86vHzlmdrpqKyboAtdvwwkKLaaS7a/MzpX09qlQaTUSYyGxrdgLplfcDTld0FoqyQKOi6SR687CyotdHcxvf6zyeHFTFwlSk1qJYsKqQBbEyui+IsGlKL+BwG1waLOWdBL1TIh2t2PI66UmTqWbaPtKSPMnWGIIOmJC3++spDX5EVc3vKWOn4D5/HVMFiwEF1K5clKYKZUogfVYy4A//h9JpKRp1ScP41ib81DFvVFwzTsjWHkXCBN/2WwyFTvD3V+DLGSFzGakjv6HUgNaFQgVzn8Xwm2q6q6G4WQrRhX9esZOmGx5QJt9oniJrZdNEHI0JqG+KSpvPPk1x0V6GFjyAQI17dYWd13VzZ/a2dnV1i8yAmsMGzQNYxGwYMl7Ef1Bg5ZTUEgyHdJmWLXRj8/pwkT5mCAZbYKoE5Amt8jzU3zGqm3v2x2xEL94MyPx/FUGYdQ8328HjCmIE5LHLhKvYmD6xs1X+LoLGO/VlzBuO8OewRAnoU/HHiI90qFKD9AHlDjpzUnU9pnQUyKijo01pnkUxp3kBt71rQ91UlWbWKoAMRU1DGm84RgVWJ6vsS4dplTyOVRDdx8C3Eh1NJLwNoyecCQVP941R5/Ke1KkawosIbz5qJkthIKKdvV9Mcifisywn4byQqrpp6VcObnvOxRjF8lKtu31Shmb25T6kEDa+KglfSXs1M/sPs4hfuuHQmB8nYNEksXKDP7ofrojJLUknAQIicwyu9gjLhdVpMPDU3WK6Hkhx8cFV2gNozR/ct8lDQ9obUCIwm4oNDxzpeVrhvisMNdd70VOSCgJ3a978Km9BXYzwgTkllXEfkVFavUtMTxAiHXigLZInVquMGKhg2J2Y6BfdityiU1+jVqPDOEBcWH4o7xeWB2070q/C3u8UtEibcxq4V5PaXJ96X8sQh1MFsceYyTg2KqxWs7/LRQP0wKYqaY+kKKq8vk1ZdwFJeI9+rBTgw30tNxnUWhg569RM+9pSAe7ovUx/JSNSg4zCnNHFWLIxzxVHsMBYgPcy2wIRloPVY0k7lm/ZjUIY/AgUO9wSRXtl3vf4yajjzEN5NxyzbGmHwMgZceTOXY3s4bjnHetS9xwoUiRe9hKsS6IIGhOmi5XZ/PsBf1U16KyY1ubi+kuVDrdH+x+k/Z/DQ80oaZOlpJAVmlKCkwFE8w95K+rqyqUproJwMKe1s0kEGNqu5K/vdRussxHdmOhwIKmCMBbFfQsIO5OlRxZoRHeq1+aHZaDED5w6vL1BebcbMIFwNNby3KiJXbcUCyQBnOcy2l9PRln1YCQcNRTAgIxsTdYJH/oR/lYRBrispP+bTRLpi2I+YM4mS5Hzu1eGLTBm+bsKj6w4dOYd4RQTG84OqXU6alcrSI0TRq0wVvgzlVV92ZSY7pmNqzY9CqxjlBcaxHNLBh6SJdN25AZ/gyKAWdotXh7Ddo8KTmG3ObD9+YKi++Km6B4uXjVNX5X479nu/FhKcj17Xk4NiHgJsz9nvBQI/0WyDgbVx7qWS6ci8XF1VsSjwmzlqxYlj3gzolS0GJ6i/ayWfHdTbenkhl4w/TqQDdEQL/lAeI774C50r/juutRGw/7kR2NH+yLd/8xVzJDn4C4YKWjMm1LwyLEBJ802L65QDr1msgrGBfTXSInJieXvu/x++08qorN9V+AkjjEnnugdxOamGSLnocLQoRPfmLHURLX+ssE/1SOiqQ56ZRgJzRUOAfDAz/B1a3OrAUtnc1ZjEB90LNnLXr6EFeVvGQKh+noeW6DFfuhnSdKLqpAFdbEOoP03uCYW2UYlyM/FHn3QTHKe81wPtqBABWv6op6lzSGlwn/SBXPryletPrKvi7YYuYSlf19eB5tW/+mwiVQHAgf/mBqeqZWN8f91YwD3OWPHDHXn+YY9EzMDTSIA1YTmChpvejRZ9MWNNYNPib7sAXldgPs0YOSv3Mi912Wd1y5ZrIlDJ6a1cSI28YYmbj5kk3v5HsZCqsbEsCmG+sswo179I6EDOWCViPy2ttVBajRwfktRg9CMpAFDmLQI+943uNHgsO/+0w9HBOyANtqBL/6kV4bZ2cTHIz34a08WCFcNzrp66Gpsdo3sjI2EEeFz0xWQBZpcPzi/vJ4lBF8UUyIos4asRWgPAtvpOw7C6IfKpTl2ZTKYj6zYa4FsMesYwq4CfNwf6h6wRN3X1i3bzWPtWaFW3mCqcGllX2aqrWL1Hq1HQ1qF8a1iDTNunSuP6LY6jVtryY15A/8vpO3y3C1QzXEvzOwQtxOXJbgMIWpWoyF8n4wGkABsAKDywYJKsU4rDftCas6eK4Zhk1YZOCp8AxROY3xzVNmqF9xALNJTaqZhMH8IJo5z/uccaaJhPh95d1iI7+S0JKlpVvKhlDfkDMzF1vD/n2a7WWRMgFllSgPiP6Z6zrARwLBwBwZQhyxbO245sUaDy/bNQ0n5muaBV8mCHL2/pRBdbWNLPhwIzLt8kFxhDn5GV02RJ27HD2qWCTXrxC8tpuZMvF4e/1c/AQ/0n1THf2EDi/n9byUXaiV+2fl+gdnifi16J6XBYY9p+9jejcSFaMLDAvNJs5ixBU5TV16qJCRll1+NKov6zafF9rxLVxjqdSvaIUZnHSrWScc5oEn7HxfVTUkaozMmgABYH38BT4gKNa0T1xs3WCemNw5j8Lr/exj2K3xw2X4KY16FffW0XxHz1G0D6GBZEhy9HQjK+0EwEmBYxMxPj/giKZFZrXdOvnr6ajzpZKGbUFNUMHroRoyVHRZmEKC1N61FHSWggZ+MVTAzvQ5dprqYhsloqbmyKLK6Yrn22G+ZFviqyTeJ2MQqZmXx7/d2gm/LVeW4qBSZix5yi6taOwPe8w8BDdkk0WM6eANydB2AvDTprCLu7gCdWjO9cpp6ZsE7LEFEHMzO1UBXILG2NrVFI74Mb2vsDTKX7vHwkSccufVAKWuRCDYzuwJB/9KcuJF4z+NGoGY7mamGK2JhJIPjY4uSIolCjYrXoQr1S0Ph+OLfg18dGkAN+R2N1xD8gAO4bzOp4ySvbSXi7i9vUD2gEAYTBD86QJnb+kMNxbt1inb/y0Ud7Pljq35zkCp2sYtf9RdCbLRDkEId33uxOxfWErMuapPxKr//94DVpuFThJC9Hhhf1w4ti41oXmqgiz+iAD2nhFzErKaRUyM8lsOjWByZInlUTtYunvHlEiZXmiztsZ+Uu2rgZHiJCnAKk2EfPE2H2e+kToQh7svshqQnZ9kj9LQlSnbEA/yLHeVc+nfHOJ4dTQsAgDZqRFNPTIJfqsK6nrVdyYoNkABPfILTUsu+l7u3QQWGIo4Rti2L5EhBpF3n2AtfDquXUq8HPofzpTZLxuIcgKGvv4ncPKH+Su8UHvsBHrsvG+e7hbQQnRlPkMTM6Cld0Etb66SzGUH6FhVFmoiRE7KLtVL6l/t5sIkN74FBqLCYH9RBrXlzPXt6tIXj51LKQQjXd+m83E1Y9DYcoHp1tRJSlKJ9K2wkVGqnAwlzUWqWC0Qiz8ULcvKF3I7QSgTvfpbM5KMfKx0rRx9zE+QQOIpnc+CmcRw/9eB6/MX4URqNzvrpIg8qv6ovRGxlTG6W29EaibJTUv+8peLoVZfXg30kbnx0SO2tNSjzVU+ZpzAnaej0WVGhiLkxEhRX/I9olRLQuRSMO4JxT/4hGg+1NmgyRi+b9OxaYiWgc3RfMmR/BtEwVOXNrx8d2+qAqQ4ud1dqWNkA9VmBjBUWZjuEHTq6WYPzvtIqkNWYHm7OApHwj+jy8qSHiHAXOm5FNMYLbWerIvorUaLSzfwTOzy2Dgc1ekJMAMOboWWJfud9AlBOKEtvJ3DnxprwUxCadLb4vLbz62v7zeJoQv/NQepz1VeOGPKbcNFSwQThU056ovlC/9+6Is/XKqEeAygZ8HVFdIzE+Z9kuaArFEVhen6bvbPHW0eL0GLYlzPAAOjXdWJcCG+5/XpST64954j2yAuHD50yR7E6sz0DBpdVWUPTgzx/bbzhdAlS8Mf7s9EYEyhiW5SXWzRxV3ZWqWLsK0xduLmTeu233GVAegO7hqzSu47P2TTTWHCYe43a2CJeSZeKiiBrgea2BKNSXfYXVcYcmZX2gbUsqe0cq2zEXNa7nnsz44//LdoTI7BjAxHWY9TvD1UBwT6HNg5HyRYYRBsSGlUcssQIka5wtfC5vv+RG+yEZ1WILR9nBKBPQ9WVsgKcJxLfJar3abK1JcZASkJQHiNrAW8qoX1eOQ8EvTeKGqBH1FsZS6ZQH39zo+U6l0ZtOn2W8EtzI8iQAA=="}},"execution_count":null},{"metadata":{"trusted":true},"cell_type":"code","source":"# (4) Not healthy and never smoked: a patient with FVC percentage='low' <= 50 (i.e. have pulmonary fibrosis), and SmokingStatus='Never smoked'\nplot_img_df(img_plt_df_4, \n            title=\"(4) Not healthy and never smoked: a patient with FVC percentage='low' <= 50 (i.e. have pulmonary fibrosis), and SmokingStatus='Never smoked'\")","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# make video of lung cross-section scan of patient\nimport matplotlib.animation as animation\nfrom IPython.display import HTML\n    \ndef create_img_video(img_plt_df):\n    fig = plt.figure(figsize=(7, 7))\n\n    imgs_anim = []\n    for index,row in img_plt_df.iterrows():\n        img = pydicom.read_file(row['img_path'])\n        img_arr = img.pixel_array\n        img_anim = plt.imshow(img_arr, animated=True, cmap=plt.cm.bone)\n        plt.axis('off')\n        imgs_anim.append([img_anim])\n\n    anim = animation.ArtistAnimation(fig, imgs_anim, interval=25, blit=False, repeat_delay=1000)\n    \n    return anim","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# (1) Healthy and never smoked (benchmark): a patient with FVC percentage='high' >= 70 (i.e. no pulmonary fibrosis), and SmokingStatus='Never smoked'\nanim = create_img_video(img_plt_df_1) \ntitle = \"(1) Healthy and never smoked (benchmark): a patient with FVC percentage='high' >= 70 (i.e. no pulmonary fibrosis), and SmokingStatus='Never smoked'\"\nprint(title)\nHTML(anim.to_html5_video())","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# (2) Healthy and smoked: a patient with FVC percentage='high' >= 70 (i.e. no pulmonary fibrosis), and SmokingStatus='Ex-smoker'\nanim = create_img_video(img_plt_df_2) \ntitle = \"(2) Healthy and smoked: a patient with FVC percentage='high' >= 70 (i.e. no pulmonary fibrosis), and SmokingStatus='Ex-smoker'\"\nprint(title)\nHTML(anim.to_html5_video())","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Not healthy lung has larger areas of aveoli strands (not bronchi strands) for large vertical areas i.e. for longer video seconds vs healthy lung as the unhealhty aveolis are inflammed or enlarged and more spread out vs healthy","execution_count":null},{"metadata":{"trusted":true},"cell_type":"code","source":"# (3) Not healthy and smoked: a patient with FVC percentage='low' <= 50 (i.e. have pulmonary fibrosis), and SmokingStatus='Ex-smoker'\n# \n# (as you can see, not healthy lung has larger areas of aveoli strands (NOT bronchi strands) for large vertical areas i.e. for longer video \n#  seconds vs healthy lung as the unhealhty aveolis are inflammed or enlarged and more spread out vs healthy)\n\nanim = create_img_video(img_plt_df_3) \ntitle = \"(3) Not healthy and smoked: a patient with FVC percentage='low' <= 50 (i.e. have pulmonary fibrosis), and SmokingStatus='Ex-smoker'\"\nprint(title)\nHTML(anim.to_html5_video())","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# (4) Not healthy and never smoked: a patient with FVC percentage='low' <= 50 (i.e. have pulmonary fibrosis), and SmokingStatus='Never smoked'\nanim = create_img_video(img_plt_df_3) \ntitle = \"(4) Not healthy and never smoked: a patient with FVC percentage='low' <= 50 (i.e. have pulmonary fibrosis), and SmokingStatus='Never smoked'\"\nprint(title)\nHTML(anim.to_html5_video())","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# plot histogram of above categories of interest:\n# (1) Healthy and never smoked (benchmark): a patient with FVC percentage='high' >= 70 (i.e. no pulmonary fibrosis), and SmokingStatus='Never smoked'\n# (2) Healthy and smoked: a patient with FVC percentage='high' >= 70 (i.e. no pulmonary fibrosis), and SmokingStatus='Ex-smoker'\n# (3) Not healthy and smoked: a patient with FVC percentage='low' <= 50 (i.e. have pulmonary fibrosis), and SmokingStatus='Ex-smoker'\n# (4) Not healthy and never smoked: a patient with FVC percentage='low' <= 50 (i.e. have pulmonary fibrosis), and SmokingStatus='Never smoked'\n\ncategory_df = X_train_df\n\ncategory_df.loc[category_1.index,'category'] = '(1)' # IMPT: use 'category'.index not img_plt_df\ncategory_df.loc[category_2.index,'category'] = '(2)'\ncategory_df.loc[category_3.index,'category'] = '(3)'\ncategory_df.loc[category_4.index,'category'] = '(4)'\ncategory_df.loc[pd.isnull(category_df['category']) == True, 'category'] = 'Others'\n\nplt.hist(category_df['category'])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# get % counts \n\nprint(\"Category\")\ncategory_df['category'].value_counts() / category_df.shape[0] * 100","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# plot histogram of variables\n\nf, plots = plt.subplots(3, 2, figsize=(15, 15))\n\nplots[0, 0].set_title('FVC', fontsize=15)\nplots[0, 1].set_title('Percent', fontsize=15)\nplots[1, 0].set_title('Age', fontsize=15)\nplots[1, 1].set_title('Sex', fontsize=15)\nplots[2, 0].set_title('SmokingStatus', fontsize=15)\n\nplots[0, 0].hist(X_train_df['FVC'])\nplots[0, 1].hist(X_train_df['Percent'])\nplots[1, 0].hist(X_train_df['Age'])\nplots[1, 1].hist(X_train_df['Sex'])\nplots[2, 0].hist(X_train_df['SmokingStatus'])","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# get % counts of discrete variables\n\nprint(\"Sex\")\nX_train_df['Sex'].value_counts() / X_train_df.shape[0] * 100","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# get % counts of discrete variables\n\nprint(\"SmokingStatus\")\nX_train_df['SmokingStatus'].value_counts() / X_train_df.shape[0] * 100","execution_count":null,"outputs":[]},{"metadata":{"trusted":true},"cell_type":"code","source":"# print mode\nfrom scipy import stats\n\nprint(\"Mode FVC: \", stats.mode(X_train_df['FVC']))\nprint(\"Mode Percent: \", stats.mode(X_train_df['Percent']))\nprint(\"Mode Age: \", stats.mode(X_train_df['Age']))\nprint(\"Mode Sex: \", stats.mode(X_train_df['Sex']))\nprint(\"Mode SmokingStatus: \", stats.mode(X_train_df['SmokingStatus']))","execution_count":null,"outputs":[]},{"metadata":{},"cell_type":"markdown","source":"### Data have a lot of Ex-smokers, mostly Male, mostly Age 69","execution_count":null}],"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat":4,"nbformat_minor":4}