From 1317059d036d7f6ba4afffcf40f510bb6447c37f Mon Sep 17 00:00:00 2001 From: Bernard Giroux Date: Thu, 19 Dec 2024 11:03:13 -0500 Subject: [PATCH] bump required numpy version to 2.0.0 needed for backward compatibility --- examples/example1.ipynb | 72 ++++++++++++++++-- examples/example1.vtr | 25 ++++++ .../example1_rays_raypaths for shot no 1.vtp | 56 ++++++++++++++ ...ample1_rays_spm_raypaths for shot no 1.vtp | 56 ++++++++++++++ examples/figs/example1_tt_fsm.pdf | Bin 0 -> 10589 bytes examples/figs/example1_tt_spm.pdf | Bin 0 -> 10506 bytes requirements.txt | 2 +- 7 files changed, 203 insertions(+), 8 deletions(-) create mode 100644 examples/example1.vtr create mode 100644 examples/example1_rays_raypaths for shot no 1.vtp create mode 100644 examples/example1_rays_spm_raypaths for shot no 1.vtp create mode 100644 examples/figs/example1_tt_fsm.pdf create mode 100644 examples/figs/example1_tt_spm.pdf diff --git a/examples/example1.ipynb b/examples/example1.ipynb index 97a7fb89..5ed3a0cd 100644 --- a/examples/example1.ipynb +++ b/examples/example1.ipynb @@ -2,7 +2,7 @@ "cells": [ { "cell_type": "code", - "execution_count": 1, + "execution_count": 4, "id": "secret-calculation", "metadata": {}, "outputs": [], @@ -12,7 +12,7 @@ "import matplotlib.pyplot as plt\n", "\n", "plt.rcdefaults()\n", - "plt.style.use('seaborn-paper')\n", + "plt.style.use('seaborn-v0_8-paper')\n", "plt.rc('font', **{'family': 'sans-serif', 'sans-serif': ['Helvetica']})\n", "\n", "from ttcrpy.rgrid import Grid3d" @@ -30,7 +30,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 5, "id": "available-dutch", "metadata": {}, "outputs": [], @@ -79,10 +79,19 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 6, "id": "choice-murder", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/kd/v1qqm8qd15506q5jp_2tz_bw0000gn/T/ipykernel_33100/3904946752.py:15: DeprecationWarning: Conversion of an array with ndim > 0 to a scalar is deprecated, and will error in future. Ensure you extract a single element from your array before performing this operation. (Deprecated NumPy 1.25.)\n", + " tt, rays = grid.raytrace(src, rcv, return_rays=True)\n" + ] + } + ], "source": [ "# Define the source location\n", "src = np.array([[0.5, 0.5, 0.5]])\n", @@ -279,10 +288,59 @@ "print('Compute time: ', compute_time3)" ] }, + { + "cell_type": "code", + "execution_count": 3, + "id": "8bf80c5a-02c4-4509-9cad-b8d6883273d0", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "['Solarize_Light2',\n", + " '_classic_test_patch',\n", + " '_mpl-gallery',\n", + " '_mpl-gallery-nogrid',\n", + " 'bmh',\n", + " 'classic',\n", + " 'dark_background',\n", + " 'fast',\n", + " 'fivethirtyeight',\n", + " 'ggplot',\n", + " 'grayscale',\n", + " 'petroff10',\n", + " 'seaborn-v0_8',\n", + " 'seaborn-v0_8-bright',\n", + " 'seaborn-v0_8-colorblind',\n", + " 'seaborn-v0_8-dark',\n", + " 'seaborn-v0_8-dark-palette',\n", + " 'seaborn-v0_8-darkgrid',\n", + " 'seaborn-v0_8-deep',\n", + " 'seaborn-v0_8-muted',\n", + " 'seaborn-v0_8-notebook',\n", + " 'seaborn-v0_8-paper',\n", + " 'seaborn-v0_8-pastel',\n", + " 'seaborn-v0_8-poster',\n", + " 'seaborn-v0_8-talk',\n", + " 'seaborn-v0_8-ticks',\n", + " 'seaborn-v0_8-white',\n", + " 'seaborn-v0_8-whitegrid',\n", + " 'tableau-colorblind10']" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "plt.style.available" + ] + }, { "cell_type": "code", "execution_count": null, - "id": "horizontal-naples", + "id": "d92e3c00-4aa3-4367-91cb-7ddfda2ba91c", "metadata": {}, "outputs": [], "source": [] @@ -304,7 +362,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.9.7" + "version": "3.13.1" } }, "nbformat": 4, diff --git a/examples/example1.vtr b/examples/example1.vtr new file mode 100644 index 00000000..1d637294 --- /dev/null +++ b/examples/example1.vtr @@ -0,0 +1,25 @@ + + + + + + + + + EAAAAACAAAAAUAAATQAAAFYAAABOAAAAVQAAAFUAAABNAAAAVgAAAFUAAABMAAAAVAAAAFMAAABMAAAAUgAAAE0AAABUAAAAPQAAAA==eJztxTERAAAIBKBo5vRb2sAzh7CQPlOxbdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bfvxC5dldHV4nO3FMQ0AIAwAMGnoZJqGGBIELDOxcLRPY7e7wrZt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Ztj32yPdu2bdu2bdu2bdu2bdu2bdu2bdu2/dEF2Jfn7Xic7cVBDQAACASgaPbfvDYGcOYQPqTPVGzbtm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3bfvwCWVDFknic7cUxDQAgDACwOcN/srnh4CSbAASQ9mll26ts27Zt2/a3xzi2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bfvxBRzg+6V4nO3FsQkAIAwEwN8p9u6/kWAj2SGNcNdc0s6Obdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdsee1W7tm3btm3btm3btm3btm37ox+cGn94eJztxTERAAAIBKBQ/m7/TC6eOYSF1JmObdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bduPX9Ot0jt4nO3FsQkAIAwAsKPs7jf1/1mQ0hs6CcmSWO3usG3btm3btm3btm3b336yPdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2PbgA0A9PHHic7cUxDQAgDAAwnIEaZhYsLcsccJP2aeyWM2zbtm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3b9vP3tLFs27Zt27Zt2/Y/FzkIWKN4nO3FQQ0AAAgEIKPZf14nZw7hQ+ZUx7Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27btxy+zu5SxeJztxTENACAMALBlyqYGtZsnAh5IONqn00fU2LZt27Zt27Zt27Zt27Zt27btb19X2rZt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27bth2+SB7VJeJztxUENACAMBDCyIAw1518CYY+ZoP00eerEtm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3Pq23btv3RF2rAAFl4nO3FMQ0AAAgDsB0Iw7+qBR20T5MzG9u2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2H1/wLUA9eJztxbERACAIBLAvdC/WxGk9pqBJmiTjVGzbtm3btm3btm3btm3btm3btm3btm3b9tqvx7Vt27Zt27Zt27Zt27Zt27Zt27Zt27Zt24t/9dwB8Hic7cUxEQAACASgyV7W9NN65hAWMqc6tm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm3btm0/fgHR38OUeJztxTENACAMALCLIIgJwCZTu+ybB9qn+dq6adu2vzlO27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zt27Zte1wZagOHeJztxTERAAAIBKDRQH4A+6fyDOEGC+lTE9u2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2bdu2/fYC9/TE0w== + + + + + AQAAAACAAABIAQAAYQAAAA==eJxNxykOwlAUQNEnEAgEIaQhDWmAzsyTb5fGUlkCEon4R3DNyY347z0kP/wyxsSEU84454JLZlwx55oFN9xyx5IVazZs2bHnngceeeKZF16TL8bNM+6e8fCM5/gD74oTzg== + + + AQAAAACAAABIAQAAYQAAAA==eJxNxykOwlAUQNEnEAgEIaQhDWmAzsyTb5fGUlkCEon4R3DNyY347z0kP/wyxsSEU84454JLZlwx55oFN9xyx5IVazZs2bHnngceeeKZF16TL8bNM+6e8fCM5/gD74oTzg== + + + AQAAAACAAABIAQAAYQAAAA==eJxNxykOwlAUQNEnEAgEIaQhDWmAzsyTb5fGUlkCEon4R3DNyY347z0kP/wyxsSEU84454JLZlwx55oFN9xyx5IVazZs2bHnngceeeKZF16TL8bNM+6e8fCM5/gD74oTzg== + + + + + diff --git a/examples/example1_rays_raypaths for shot no 1.vtp b/examples/example1_rays_raypaths for shot no 1.vtp new file mode 100644 index 00000000..f5285ed2 --- /dev/null +++ b/examples/example1_rays_raypaths for shot no 1.vtp @@ -0,0 +1,56 @@ + + + + + + + + + + + AgAAAACAAAAsBQAAlFQAABoEAAA=eJyE3Xc81n/7P35lttAgsioZDaNFSZ7H0aBB9G7QIqU0qRRts5BZKJX2oihpKintMivaSpuKFC3C73Qc5+fT9btun+91/XHeHufbJV7jeNzP5+vl5JKRuSJk6CEjmozDJBkgYppu2TTnqo1Lxa2JBTbN/9vfR1fgh4x4+6RFc8L47W+bPweWtP4jDjx6bfNPyi36mnbtb9s0p0XKOZHQ8rrN26mR9PV/TEmmr583eqE4Fnb2377+TOCHjLg9AiUJ4JdXbdOck9NsQKN7tU1ldHfahtDDZTbN2XmSDjT2emnz7K4sbU/qMdpmUG31S6zWz7N5NOYubc8/PzNpexRanhF6587YlBRE0fZ88tlL21M1ar44PO/kv21PLPBDRuxYFSDJAKhZ+qP586FOzh8MDX7YrKp2p22evfezTXOeb5oBL2o+2dx6O4y2/2jOK9r+Ry2Hws3dZTa5L/Rp++f7lND2o4w2LEt5YBOWK0fbP6XoJm3/LIUfokrjus3z5Fza/lUfTtP2O6aeEgZb023GR0fT9ofs20XbP3bUPJH67MS/bX868ENG+CzaK8m9cCygzqY55TbvAYspdTYr7/A+tiqotWnODX1jwNar1mZdr0Da3w2TK2l/V+5cB50uf7bR7jab9tduyjvaX7m70yHd+61N+NvhtL8jNZ/T/ibLWIPm9ac2V9J60P7ikHu0v9P7asEdu0KbIQvkaX/ln1yj/bXMrxWbGq/YfAvMo/0Nb8jg/X2eIeq3HLe5JxtD+3tjcxLt76A0T5Ht++/7WwT8kBFnRl2R5BUwTfrd/HXg9JnL8Cbst03eHj4mr9Z8t2nO0OknYPHE7zat//DxObL1Kx2fpsbd8PGfrzatxmym41PoXEnH58fxaJj95LNN2E4+PguHfaDjk3p2LcyIe28j/5aPz4G1ZXR8TstPB3n/lzZLw0bQ8Zk//jEdn9zpQyDz40Ob+H4GdHyGzC+g41OU1gW6zs2zcSji4+NfmkPH5658rdCszbapapdPx2fI2ZN0fFKcM4QxpNk8duTjs+X5Tjo+D0d7igt9//34VAM/ZMRzizJJlsHWCfKiOa1uv4TKifIicxUfw/OH5el4uoQUwtMEeRFzno9nspds8/eHl8MvQ+g4WWEqf5KOZ/Ypnrfg78fBI0RGHO2dBh4dUul7lU7YR8fW+1Q9HVurw7shdUC9jU8iH1vZwu90bAvdoiGwzXcbhzI+to39q+jYTu2zFvrYVNqETvWgY6uq/J6ObeeYadDz1lubF5/42E49xLMnW2cFobVPbboE87EN28+zF+PaBQZOLrSxUFbgruldp2N7JqpG5FZfscmYxcd2V89TdGwnKWWIHN/jNm9W87E9l8qz96G9p+gsn/5vx1YJ+SEj9ivINCfqyovm/w2TvjVB5mAhlgzg4x/5aR2diwW5X+Bu5XoRePsLXIv70rzP4rLg83Iu4DCdl6zsl6DV9Yho3ekhDEwoaT4HIjaJz9GclCI6R+buhdDH5b5Y+IDP0bs99XSOfva8DG2XNYhJJdlwvv4S7fM5WT5f534oUyr/Og6uc1Vg70g+R7Wz1CgbTu8GT381OL6Bz5FJhDqluk80fHdThxlFfI7Gbe9Eed1hLTh26gRpffgcHS5Roex5dhqsv6cM/Rr5HMV/VKTMLbOCJ4MU4EOwKeR8N6Zti7nM52vLjl/0WvNQpQsod6kRc0/w+erQ5Unz8YRQjW/id9ci4buiQhy7/pTOmeGgQko1l2OUCbLponbFbtHLeJeYczmCzt8p382U0fMXUF46PlW4eo0W///zqIH8kHREVVWSqpg7coVozqoqFRxk7yvOzVTBvQ4q2Pw1ZE34vAcbZNIMONxXxGOJF8R5F0VcaayIzdsSZM/zcKS6juahi0cT9O72RxyXa4Tebg20b4rveTai27el9FT/Ap92t4UF3V9xT8PVKO8+eQG33qnBl8n3aAb2TetCCQcLIGNjF+gQnUMzoD1Ym1J5UTZEDdeGcbf4vMtFaVNa9DsOh1ZoQ5sW++l8V6ZoUXb9tQuG+WjBrH5b6HyXlmlS3r4RBe1WaEL0giA633+OqVPu0FwDN9+qQazlHDrfJWPaUx48NhWe1amA67ORdL5fyraibKdgBT4yilCa0QdaTzGkfa9baUjnPXBzHZ33g1M0YdzcWnHNWpH+9wGPn9J5n6T0VbgZ3hN6OuVirc9jOs+xskWUFi9SKb1sT4jRI/eIbfOSREevTXSe7eW3UMYdWkSpfGOK0PUc82/n3Rj5ISNOaneVZFd0v+HbvD347rUeuqxcKd4F6GGNux6d95rBPCcPR5yjmTG80RnH/zovDqt2xg731em8D5rC81N9+BvNz9xDKthWs1aYqrbD2pS2SPvuy/PTcVXzviqhdagiXlFWAuMEnpkS0+bjKYPd7jXCwoPtYY3nV5qPhdadKV/HVUmOW2fYsp3nRDzqQjnY/QX8VtSCDnk8J8d2aVNuMy0Ah3RtmP2b5yTbVIfSQSYb7vTUAfOeGTQfOd95TuyL0iDnnjYMncJzYvKM56Tz3l3QPVELDAN5TrrW85ws9YuCQ/6a8OUEz0nLLJ6T5zGrweylGvRM5znZNInnRH3AVPhUrgKNwpbmI70Nz8n8A4Ph8gcFuP2jD9y24zkpv8Nz8mUvz8mr1pJ5NK0V71bxnGSW8pwYx1eL8FdFwm1VuTDw4jnZ48Jz8uY1z8m3X8fFydZ7RElSkrCVzsnYfjwnM6Vzkr9uitAw+vc5GYT8kBFfNcwlaY6Rm31Ec2a9N8ONdcuF8lAzxG5mNCfv+vFcpVdn0IwtyzNCC9fTwt7dEKcZG9KclNvzvN2P/0TzZpKhh1MqPovAnVo4H7RoTsI9eN7U2zavCzTQdEdnhFh5aL+eZ2zS0GZvVdE6QAXvHVCBadt5riKD1WiuTnoo4oAiNTiQwXN1e6omzVVlQiOIzZrQbifP1asTWpRqM6vAtlgLTO7wXPWQ16HU6PsC1qnrwNk6nivlOB3KD0354JSgA4Y9rtI8nd/Oc7W+5BJcjNABayeeK98eOpSuKWmAddqwdC3PVcBXniuVdbtARWLRrr08V2aKXSjRJQrsN2jCkVyeqzXXeK4aXVZDixdqMKOM5+roVJ6rlXJTYf9rFRg8j+cqXIXnSnftYNj/QgG0VE2gjeC5GvWR5yo0medqzScNKJD0dMYWniuvVzxXxXOqReytImGVVC5ez+e5Orma56rPe54rxafHRVLtbhGRniQ6LOa5WjaC58r/CM9VD/cporPKv8/VKOSHjDihIbkskAGMP7NENKfCB4Gb2i8T1S0F1ry3obkKM+c5nPbnBM3kqwJL3D/+pDhcMRBlMwbSXA0YzfO57dgHms+vZ8xwiEKFUFHpjX3P9qK5muYudc+u+frDGM/sMkK7fDkYsJxn8nBT8zqhK8Zu0sPxripwP5znUM9Bjebw8PLOuDNKDd7u4Tns+FGD5tDEVQV9NDVh7XmeQ52+WjSHXiMVUXaiFpwq4DlMP6BNc7htRiO8uaANNfk8h8brdSgVTapgg2R+7H7xHJZW8Byea/ECHD/rQDej+zR/137xHIY+yAelGh0osuc5nHOT5/BN6iXYckoHTFfwHLYdxHO4OyQNzrbSgaO7eA471fMcqk7fBVOOa8HIbJ7DBW15Dj9ZRcHbEE24/o7n8NxNnkMPg9XwzxM1yG03l18Hp/Mcpj2aAhZPVcAgmufQtD3PoYHzYDArVoCFfUxg4hCew2tKRjSHfVJ5DuvzNeBdy1oxN4Xn8LJ0DsdbVQut1CLRNqdctFzAc3h6B89hiHQO21w6LuaW7haTbySJSVLfhk/iOZwt9e2E7RRx5vu/r39ckB8yoriTkySdcJxi8+ugE/756IhV1n5Cfr4j7v7HkebwhSHP7Zi7Z2iGyx7bYfiXs2Jkni22OWBLc5g+gOdZJvgrzXPvXIFrd3wTG5YOxVKroTSHvoN5niv920BzKt20RK2yNuA9lmf4yPbmuTLHH6fM8E2RBlRO47md2V+X5tbugBE2WeuC9mKe2y1fdGlukzfr4bKPuuAaIn29jtGluTVf3RlTInRBYQfP7YVJujS32h4qmDtZF45kSP300KW5dRmriD09JR+/zXOrGqhLc/tgfiNckjyvy+G5PbZRl7Ld4CpwD9GFnpU8t+peupQ32r6AVpKvE6/Dc9t2gC6lamk+pPXUBZ0RPLfHynhuo85cgpJcHZizmOc2azjP7ZTINHjfSQfOb+W5TZDRpqyZtQv0T2uBxnme21kqPLdyGAWXwzTBuYzndtttntsu5qsh47kaTJHjuTV35bmtL5sCx0tVYNhGntuBHXhui10HQ8ojBZinbwKVg3hufVry3Jal8dyqFWuAcutaceAgz+3PNzy3DsOrReOpIhFwtlx8n8tzqxfPc+tTznPbcPW4aPF2t5h9OUmMW8RzWz+e5/ZJMs9t0dgpok3Dv8/tPOSHjKgMcsdXoe40n5J9wWXyM7FGKUZE1Llh838PFTFiYadpuEZ7GvL9Lxf0VHTBNJeXYscvZ5r/6O0vxeqREzHGfiLNZ/P8J8g54csUFfCud6ReqGaqQLr6WMTOY5tnDvTkuQv3ypqvZ0bhozo7/PnFGCok85+lRx2AlWrchYxl0Hw8cdJHgU1XADSNef7HTp1B8x/0yBK/1cyAg36WeM/Bsnm7wduau3Cw01rqQsZVM5wbuRZmW5vihl8mzfsLlVO5F5eHb6BetD9ohFv8N8CzJdwLhdmbqBftovWwPGITmEt7McM0inoxTNKLoSOi4NpO7sXUpdHUiz2zVHDm6mgYls69WPMimnpxxEERTSXPf93iXqx6FE29+GdRI8Tci4ag09wLv63RlFtsq6BbaDScLONe7JKJprTo8gKGv4qCdW25F7KfIyltqvJB/lwkBPbjXkyGCMpHNy/B5YpN0MqDe2F7JozSND4N9HqHQUU898KrMYTSwH0XwKAQWHePe1GrFQBNoVtg3JkY6kHzx650jwK19uvBrkMwfSx8mQ9l6eVVENN+CVinc0fG27tD7isP6NTTFf7nnmVT3ymQsHQ61BrbUU/6nxlNuSttECyaMRw2ulvDsLoB9DGtx9yXFz59KJ1+dYadmQbQa4BkHSbfnj6WsF6JulOj2YHScEWVGLm3NYQWlYu0zQ+pT4NT7lNn7qR+pHyclCrm1zwU7/ulioi2ifSxo6fjqTPVn/ZRxlyeKII7hoo09BHbHO0Fd+Rfe7QS+SEjBv5airM/LqUe6XdYIskl+Nu2+estwXOV3vhOKUGMrF+IKWULqUe53bmDY70qqI/Vzz0x7tBHMXP7HNy4dA71KKvfTOpgtn/z+mEmlua5oXp/dRhiOQOXNU6nHtkN59cg9fnm0JymWc7oPbov/N46AduNmUA9Up/Er03XVMdSN5+mOKKXuT080B+D3y6Mpr6kLuY+Fj+bQ33U32yH0008YW0wd3Di/nXUweFrBMqsXA/3FQSe8Kf1Fczaxn2ckRNCfezjaYknO2wA36PSNf+nMOrgkQlm2K9nOPhe4d7dOBNBvXsx1AizXkfAs3vcO/+AKOqdTx89vJoUBRNfce+8N0RT7/Zrd0aFuGhIruHenf7JvfNorYKm9dHQT7YV9W6wcgz1bl6dAj5qFQPxai2od4squHey9xrg88toWDzyG/Xtzy7uXeyZSpgRHg175r6mvq2Q496Fx5fCledRcCuUe3esintn55MPJWmRcOwA927wMO6d7uRLkmvATSCfy73bdJZ7t8MkDearh0Hbb9y7xU3cu1i5XZCpGwILe8RRxy5oB0DA4y3Q6tTf3vkXRcKsh+tgyDTuXe587l2q2Soou+gN+009qWNdrdxhyMo5sHXY396dOuMC6YrTIS2Oexe7nXvXx3YQBJYPA/mX1rBQbSB9zM7EmLrVzY179+BwZ3CcbQDacZLeaXLv6i9z73SVuXdr6yuF8azW4DW2Qqgd4d6Ft3xA3VqRxL2bPS5VbIh/KOz8U0VKF+6dygfu3bNS7l3k8omi05ON4tJeH3F9zP/VuxDkh4xY+DMAU6sDqHdFSpS4a09c879Byyp/LHCJFxsfr8GvWWuod9f0ubP6Sh+ov8+f+WG8XbmwnrgC841XUO9GDOb+3u/efL9uCXa76Y27KjtB6rNF6LJ9EfXusz3317vOFCgzPFHplxkI/dnolDuLeqfoyv1Fw9HU3+773DBo6hi4MnsK3v3uQr1rv4T7O0x9NvVXPsYZWy71AO8A7mxb/TXUWf/1jjhHYS2UH3fAYGMH6h1s5s5mXQ+mzsYstsM56iFwaR93do1OGHW2fLrAF5PD4FcG97T68SbqaehYSxQtI6D6Gve00/5I6qmplRkOuhIJLR5xT+3uRVFP0cgI7d9HwfIP3FPP2Gjq6WV1PSySdMfoB/fUWCaGenpdsTMWyseAs2J76umEXjHU0xM/lDGnZww8UOOeTu3GPb3+QQG/domBVkbc00/V3FPT4w0w8H00tJ3LPR2xj3uqmFAJThHRcDOEe9pHQdpT31KIkPQ0/AD3NO8L9/SYcz7Yp0aC8SXuaavh3NNC60swTnJMLF9zT43PcU83q6eBbocwUFQ8QP38Ie3pzS9J8I9mCGhack/76gTA84otkH3yb08VsiMh9846OLqQexo3j3s6WmUVzEvxBp2x3NNaC3d4mjgHFOz+9vTmdhe4Xz0NLh7jnrrGc0+rTQcBFg4D/TprmNCFe7oSuKcLp3FPN8Z3hkInA0g4ogk7tbmnZwu4pxptuacmZZWicGJr+DSnQhw5yj09qs49zd3OPb1unSqMAx6K9JhU0aTNPV38jXsa9ox7mjp7otibt1F0POMjqkb9Xz2NRH7IiL3a4WirGy5dZ4ZhfYswnHooUcg3hmLzfzvcSxQGVhtR0XqjdJ0ZggmyIRi05atY/CeY+j64+KuotwhGLatg6TozAMNbBuDBdC2oqvOn7o+6pgV3HqzH24/XI//8dSVWya1E4wmDQKvej7q/3GMQFD9YgbIlK6inHorc9zFTJ1Lf43954/LlE0Hp0iI0yVhEPQ1V4b7fHb+E+r6s2hPPrl8CaXtn4dboWdTHqA7c96EXg6jvUyvdUCM/CE7pcMe/z9hEHdd77Yw9vDdBZU/ueMLnaOr4zRJHdKqNhnXGY9Crpvl1ORYyBnHHD7eJpY7fv2mHyyTPFfYDXnMB+pzuY7jv//yJob7rnRE4+HcM7HPlvjsmx1DfvfZaYtnhGChYxn13iIihvn+NMMO1m2LgSBj3XWVdDPX91wojLF4TA/13cd8fLIihvg9310MHyfOe6dx3Mw/ue5NDZ3w2KwZW3ODX5b4Tue/HB6lgy/ExUPuI18NBfbnvWQaKOK53DNhX8no49wf3PaRbI+ypjIZxdbwefnyA+75fpgombo6Ggd2473MVue+ZT0rh9JsoeGPHfe9VzX2vzMiHMWciQX4+972HtO9+sZcg8O0mOJjAfR8u7fuZWWng3T0MbuTw6/Ivad/9B+yC6j4h4PWb18M9JX2PT90CDf/Sd7X6SLD/sQ4WDOS+P/bmvk9cvQquVkj6Xsnr4boR7gDGc8Cl/9++q/5wgddiOkyZzn3vk8J9z1wzCCYYDofkJGtQUOC+d2vBff+4gPve8l5nKI81gIczNWF3O+672m7u+49O3PflVlXiR1BrWNG6QpzYwX3HYl4P/zrEfa/zTRVJNx+KqsmS9XAH7vuPPO577Tvu+/idE8W3nxvFMi8fEWH/f/U9HvkhIw4Gb8Y1kgd/TixqSx7dFI6It00xzTOLv5WOiAlKMbhPKYb6HhQbid02R0p7HYmHJY/Tj+VhalMEGWL3Uh5cF4bj44Xh0l6H4SDJ40tVH7jdxIZUV/eBoI8bsKXk0Xys7rXgdYJqznhoTtPGYGx/fzwYrA3CN6uCqNfZsrxm2LTejzzx/+WPFjv9IKBgHa6/sY56raHMawa39pvIkydf/dDVaBOYwHIsN1lOHSxWZ0M+1SWQIT/KvVFobwXPIfPRvNN8bJ4jtV5syKLb+8iQVSWeeEx5PywS7MaTxuPkxo/Lbrht0QnoeMwNLRY0X4enw+wJbEh5XhYZcvOYM5ZrXQLFtxPxYmjzdfcViJ7PngxfeY08MU1wRMesa7AgkA2pX3+bDAldZ4dpZ2/Dic3sRm5xLrnxc5HAbT9zYfNBdqPn0Xxy490USzTMzodJ59iNG1sLyI0hdmb4bk8B2NxiN7S+F5AbppZGOOdHAXx8yG70aCggN8YbSdz4WQAXPrAbCVcLyI0Q9c5Yc64AznxnN2pmFpAb/yipYKp9AbyT53WCxsl8cmPYLwV0i8yHHR15nZC6IY/cCH/QACZj8mCyA68TFLLvUi5Jq4Qes+/CNB9243O/25RZG0rh8olb8GgXu9F08zpl1NR8uNLhOnQpYDdqPa7A/KQcWH83m/67+aHZ8xK8X3EZWjayIV/KLlBO+JkKngsyoedAXjNkXs6gTMtOgnYp6SBa7YFN13fS5wYu4vVD0ucjlCUbI+G16SFYcCscFAdvpH+ntI89WbVxB6XCvpXQfdk2WKzhBYrec+nfdc3htcSkFVGUx7u4wMbRmyANR7EZrgGw3MsO5hoLqVcADzdbwvZpq+BwDXtyY+JsONjBEMao6Ehd6goDn6tDx3suMPxKG7javyX9u8ikVmTKpCZrylLjz+JBuhns6Fou+mY+oHta7VKKyY+Xezs2HysRWnBUaNkowM/XZ8VUt33kj0voVvJD4cJ9sUEvQix1mif4dT9ApB93EgPijonJq5zE9yG6/4czScgPGXF853Y8I3k0f84wuURJJuLa4qOiOc/Wb0MLu2Oi65Bt6DpwGzlT+Twej9wno6CkDXt17EGzl/HYqTYOjzu2gh/Fm/HE9c3kzNmOseSVw+Pm6+tYNPgcg6u29oWtgdFYtSCanJmnxeucZ/2cya45byPwrbULzO8fgU7qEeTM0+5hZJT1+3Vk17vnoWj4cT1MeRqKP8+GkjOTerFX832iyCvXkmA0/B0FWVODsco0mJxJ7Mte9T+xnbzqmuSPVqN2QPHYtTjh1RpyJnspexXY8jB55Rwl8SrjMITWLcUxa5aSJ4uD2CsfuwzyauJab7zR8hTIb2WjfrtfIqPy53li44tLYD9tDj7P9iBnHA+xV5kW18gr9yluqLX5GvicYaPMfG6RUS1GO6Pn+VuQfpNdivS8Sy4dtXTEkUl3we8Ru3R/eR651NbIDnfszAPNd+zS9pJ8cslWU+CFz/lwqIZduphYQC4Ft7bEUYcK4EHLvuSSbT27lFhvil1kCuEflZ7kUn/tQnKpocoQM7sUwlKtbuTS6LaF5FLWa11cI1sIqcaa5JLPHXYpukQd11wsAPX+fP2y2INdks1Vxr5jC2CzYJfgFLt0MVsBn2/Mh8zR7NKoUHZpvWcDZEAe1J9kl9ZcZpf6ja6EZ5PuQl4Ru9R3ALu0wbgUXHbfAt1adsnqNruULpcPuQ3XYLTONTJowtwrYP4+Bzbd+OvS6KdZkD/jMsyxPUXGhD5nl+aeSIWLwzNhsy+71OYsu/RwXRJUr0gHs4l74Hchu9T/CLtU/J5dqrOPhP31B+GG/CbojexSWjG79M2fXbo9ZCV8xW3gu9YL1vmxSzma88gS32XsUr/rzuDTYxOcimCXlkwLAMVsO1hj+telzDGW8ExjFVib9iSDlo6aDfGTDUGry1+Xlh5Uh7QQF9D+0waykF26fIddivrMLimVfBIL5plB2tpyYVjILh36wC4tiGeX8hKPinuqClDX7Zwo9mKX1h9ll9qn3BfH7CKE75y/Ls2VeGQy6Zh4cshJWI/9Ty5dEa0kJr3ZsZ2ciZZllzKtmtdnibjwzzZscG0PCbFb0WTTVnJGQ2pR+MBBZFGxxKKJewfB2yFxONUsjpwx6cAWGfu5kkUnKmOwxMANHCpisOhhDDkzLCES+62NJE/ad2GXnucEkkuZ7yLQXy8ITKUWpf+Ige56kjXUn1Dk926GYUJpKJq5xcLInmyRp3YSWbTwYTB+2ZEE8W+D8NH5IHLmmjlbVO+QTBZd3uWPs18lw9jRa7CydDU501FqUfio02RRy2g/PFV6GuID2R/PiGzyx3WdNz6pzgbZnV7opeZFzrzfzBb1t7xOFikv9sS6wOvgspf9WWt6m/xZ7eqG12fdhhkn2J/MU3fJHxNHZxzx9C70vcL+FHrmkT+jbRyxSLJm8Cxif3bsyid/upjaYafT+bD/BfszaGkB+XNdT6DP+gKYUMn+VLxhfx6qWuKXjwXw5g+vixaSM+a4oYUZhukWQk4r9qekJ/sTWWuINkaFYK7O/tS0Z3/qP+hisVIhnNFnf+py2Z/gp+rYKrsA5pqyP+fnsD/phcqYI1kX9RzC/jRI/dG9poBdw/Jh20j255LUnyzvBviJeTDmKPtzS+rPI6dKQOe7kHyH/fGU+rPPrBR+7rkFGyvZHzepP0Pb5MPupmtg3Zn9mSfx58/LHJjyL/7Yl2XBPbfLUArsT9tS9ufN6VR4YSvxZyn7Uyf1505QEiitToe+4/ZASQH7c3Y/++P1gf3xGB8Jp5sOwgOZTTAd2J8LRexPYgD7Ezh8JVwduQ1ClntBuC/786cD+5Mr9efuXWeYJVm3t93I/lyS+JN1zg7yTP76Y+BkCbq6kmu2nuxP9OjZYDPeELpp/vXnZLI6HN3kAgt+toEIYH/sb7I/hlXsz6Jnn0RHLzNYvqJc2OWzPy9esz+rEtifd0lHhWsnBWilc04ELWZ/Co+wP4FHJeuiERHixOy//viucxJKU4+JqfudxI/R/8kfyTZmJWJMViK5USvD/uzuZ0f+tG6S+DPEDmTXJKCZbwK5sUqB/Wnj5EX+BP2OQ69wLyhX2CK5LqHrOHiixP7Ix4SSP3o/Y1D+eCi47YnCEfFRZEhDWzbnbE08mVP1LQIztBPgZGQYyq4OIzfmdGR/nq3cR+as+xyKg87sgyhNNqfv0zQyx+59MGYbHYd+HsG4cHQwedK/K5tj/ziTzBl42R/fdbsAR/NXY0TIanJjqQObk9X2KplTcdIPb4+8Cptc2Zyp92+ROXf3euP8hlvQejE7kzY1l5wx2+KJy5bmQtAaduZ+TR45Exfshpeb8iB5EzsTT71zwa7LnXHspXyYk8TO6EABOTN+liO+HSVxI42dmZleQM6MGm+HEZLrnamX2Jl3LQrJGWMU+Ei+EOblS+/TkhuD8JG5JT7oXQiJL9iZyUPYmRI9M2wjed6ykq+/EizYGcf2RujQvxAq6/j665/O7IyNrB4eVC6Et63YmZEF7Mz4WnV0zpE8V2dnyuayM63LlfGiYwFY92BnEk+zM7+eKODJiHzoaM7OKIWxM4d2NMBO2zwYHcTOPJE6c2RlJejPuAshB9kZd6kzRyaWwsQjt2BILjsjpM44m+TDKKXrcO3nVTLFQOLMvZwc8L3515kdTVlweP5l6NyDnVF5yc4sv5cK6yZnwhZndqbDRXYmPCkJtkang5r5Hvh5h52ZFcHOfK5gZ1znRQJ2OgTFH8LhkzU70z+LnZkRzM6cW7gSVKZsA097L7i3jJ25+oWvvzosZ2e6VzqDtcUm2DOPnfk4PQCeb7OD7r3/OjNrkSU8GLQKVnVgZ/aNmw3qFoaQ1umvM4+y1cEkxQWCXraBF1bszKTT7MzN7+zM2T+fxI9NZnDUqVxMv87ONNxhZ0J3sDNWGUfFMkMFeC57Tlh5sjOPtrMzM0/eF2sGRIje0/46s3uLk7iz7JjYHCvJ4f/JmZnwptV2LG5F119kS3/Jo9gvBPKbtpE5h1eGQAfLBHxgkUA+TJXeI3q8NJ6cOdwUhwY+8dD3ZSzavowlH5ptWSV5VFkdgFDp/aJ06wOwIyYSvWIjkX9PIxLfSB63emSAjvQekaJxBjwbHIZBVmHIcxKGmyWP7H1XwFt6j8jxwBVQlt4XenEyl5z51hiMZqdzoaR1EG5s1by2KYKIFuzMlksPyJkPf/xx2ZUH4N6KbZnQ6xnZsuOHHz4a8AxMLvpg4QkfbJ7r4tbsTOGHt+RMr+/eaP/jLaS3YWesdn4hZ6xrPfFw6hcwvO2JTRc9sbkrk7qwOZs21pM57u/ccNKBevgkMx11n02jvt03ZX++/G5BebnIGbe0bYnhyP581pCnfHLJEYcbyGPsRPZnZKwCZeZROzy1VQGvzJH+bNdQkXL0doGBxor4YiX7Y+yoSNmwwRINxymiWST742utSBm5zAxVBiviz13sz+JWipT7Zxqhe0tFtE9nfz4cU6C0HqeHffco4KorfP+nvJMC5eGhnbGbjALOKub7P6/7y1Me6qmC3zrK45P3fN94e50spZm6IkbnyeJjGfZnsGtLyuJfDeCt2xI7mLA/JtNl6Jjm51bCfCUZXHDnC4THV5JVoW5skcezesrHiaUQ9aAOdOPYoj/HaymVZufDB7Ma2HjpLnRtd5u+bu4ddmn9zY+UB/tcAtnr5ZDY7zTcszhJX6+2ie8LfWh8Qdn5eyqMC3wOjYPZpT3692HUrL0Qp7UL+Pdw9kLiuSQ4crYQjvmzS2luNykzlkSC5v5rMGZhBMy6HUrfc8s1dkmuhF4H4fo/K8F89ln4+WQZDPy8gL6nhjavf/RHHqW8cN4ZFI8dgn6+k8Gl5Tj6nmPS2Kh1btso5+pbwsT+WyTXitag6dSfvr/cXDaqT1UIqNp2g+TTnaWOdYUOnuowbfF6CNdpTR6Zd54N29sqwe+rzb9XQb+fBg0jPokllydA4awP4r1R831ngJ4eJeRNm63mUN4lRyhOOCb4vq7ELfOjwk5TDyo/bhcFqsHk1ddK9kr9eh3l8Swn8fbHPbHjordI1RD0tYaFW4m8GPn/4FUs/B6SiFeHJJIzTtJ10WrZfWRXusSsh3L7AKPj8UlkPDlzoQV7NXVpBnk1sjEOz63MgH+KY3FXUSw5EyPH66JWx6+SXYvrY/B41lWYoMRroXUrC8mrQz8jcFtMIax4FIFfCyLIGd+2vBYa6fOUvPKuCcXXW5/CZ62NaNdmI3kyUo29Mhn6nryK+BiMO9e/h/LyAEzKC6AZN9Blr5JDv5FXfa75Y9jLbzBsHHtVVt1AXilI1kI9zRtBPnMF7vKgn3fjS3f2KvNVC8quu7zxYUMLXOnLXml2k+P1UZgnyg+Ww+IQNqrHaXnO1W545LrEmXh2yeOoAuX0Bc64/LQCDjrALk0yU6ScN80RAwYoouZpdunsIkXKI2PsMNFLEUdcZZcK/dmlYdYClSTPPe+xS7kr2KU2JpbYtFQRT5axS/0c2aUMHTN8PkoRZ1SxS4c6sktyqkZ4SkkRk/+wSwYZ7NKpFnr4UeLSRyVeF2lqskttvqtj2h95vKvB66I/FuxS93fKqNpOHt2NeF3UqoFdWlqigEFXZdFsKLv0z0x2STOgAVp0aIkNu9iljq4y2KNnNbiEsEXNH7s5tRKm1DRB9G12KaSUXaqWXIvNSKmTLOLZpVFH2aXGFvnQWPMNJvbIhZ/q7FIH/Wtkw+kcdunOgywYF1AOgzefhhPD2SXr8bxeWlLLLs08mArRA5/D2GB2aWa3++CfuhcUdf+6VOGVBPv9C+H0FXbp5Qx2aaV5JKz0vgbaKRFgd4ddOvSHXRomdSnltR8E9z0L5sN9oFcVu2S8nl3yHsEuaUxxBrcVh2B50WTYKcsuLWhilx65sksHii2gWm4LDIi1hhXj2aUTR9glNYlL+4O7gd+/uJRsrA5O3dfDUid2qU+b2eBtqwRTHvx1afOHj6Kt9wRIzvkgBg1il0qPsksuYeagPTdHpM/661JaTYrY8VwXZPR3iB167JKG+jbyBo+xSyMCnITqsXuiTaO3cOjNLvVItxLVO/+TS+kwxysRJ3klkie/pC4tXZZDLilIXDq+IgcuKrFFO04VkEUDfsbh17wC0N4ah0GRceSJrSpbdL7jU7Io6UsMpg17CuUto/FpVRR5UtqZXbLc8Y5c+vIhAj1evgO/wDA86h5G83i4K7s0SOsruaTyMhQX+H2Fu9L7QvP7/CGLXpUE402fP5D2OhCHng6keT8tvUctp9GCMm+n5Bqtfwu868MW3RstSzkywg/zZ8ri4BD2x+yRHGXqam/8UCGH7RLYnzNf5Sm/zvdEJ8k6wXs/+3PgtAKl23Q3DMpWwEkn2Z8VfRQp1zg4I/ZTxLJs9qdpIfuzUzjiMYkzuQXsz5WN7M9rMzscH6qI356xPzmb2J/A7gL7hStibQX7c3g1+7OskyV291VEnV/sz/7x7I+1ghmGjlHEI3J8/6elGvtz4bchykvWSA/a8/2fFqfYn/DPumgn8adJm/3JkPrzs0wd+9bLY05v9meFJftjdl8ZC1vLo+1g9sdb6k/4NQVcd1kWPzqwP2ek/pxxbYC5yi3R4RL7s1LiT/mIatAK/OtPyJBKePixCQ69Y3+KpOui2g6l4LmzDgxVHpAHkYfZH/MPeVBf9g2uj8iFUzrsT94Q9qfxEvtjfTELBiwsh93HT4PvGPYn25P9qahif9SiU6G37nPYto39ydC9D6nXmh3668+jqUkQ4lUIZ++zP0ensT8XdSPhmds1GJAVAWG57M/StiFkwLsH7M/Za34wtftZGDLbB45+ZX/st7M/t4exPydtnEF7ziEo/DQZXBXYn+7q/DP4MTPYn/JsC3jzYzMsOWINPyewP48z2R/5yhCw29oNVM/+9WdJZ3U40mY9BLqyP9XysyHDWQnWPf3rT3H+R6HrPAFqSj+Ipzbsj3s2+/M+yBz2rc0Rd+f99afidYpYe1cXivvvEO0M2B/TbuyP/n72Z6+3k+gef08Yd1gipvVjf75dtBIr9v4nf4pgutQchz3PyJwDEnOm7n0Gpv5bcfHareRGnPQeUcfeH8ifWb/j8MfQDzChJhYLPsTSHGm3Y3+ubPxG/uR/i0GvlG/QvhOb01umgcy58ykCo/UbwGjGJnwxchPN6VotNmfS3haUY96GYkJ6CyzTZ3OwRpby7bNgXCgjhyt7sTP+s+QpVxz1R/2F8hgxm53JNVGgPLfTD1cPUMAjy9iZ3eTGEvSJ9EaTCwoYHcTOHKGezsMNaz1RqYsipsWyMzEuipT9vNwwZJoiLtnLzvwOYGeWuDpjXJAi7jvOzujHszMVjo4YIXk++zI7Y5/IzowXdnhvm2Sdk8/OjN7CzgzqK9A9VhFrnrEzHdazM6u6W+KuVYp47SM7Yz+BndnZ0QxX2ks+/yevcz5LnVmsYIRLW0s+X56diZY6s+2XLh7YK9nf9uyMShd2xvOzOp6TrHNqurIzZ6TO1D9XxsS28tjJjJ3ZJXUmK18Bd+TIovsIdqZI6szFpQ1wQ7UlrjjGzgRLnJncvxrM/sWZCQ6VMKi6CdqXsDOzpOscP/1S+HWgDu438TrHJYWdWfEjD9Z//gYGfXPhrAY7c8aEncm9ws4MupMFn/zK4XPSaTg0kp35NJWdefSNnbm9IxWs+jwHxUh25n7X+3D6TLM3f52xnZsExZK1+vLb7MxC6TqnxDgShsy/BtnpEZAsXecslWVnNKTrnMklfrCg91no7OQD16XrnIfh7Exv6TrngoMz3PM6BGufTYZWcuxMv1bszA7pOscu1wLsmjZD9HZreCld5wSeYGdqJM4YRXSDA/+yzhnaTR16aa6HgMnsTFir2eDroAQJJX+dWfX8oxg3ZwL0yv8gZlmxM3an2JlNG83BxjtHZHn8dcbnc4qAEl2413OHCOrGzrzsws60T2ZnNFY5icf77omuCkvEGRN2puy0lQjY9Z+ckbzOSJ3J0WkkZ9ZKnDHQa4Ru47aht8M2mqM66T0iLZSjVGiKw17D5FA5KhaTI2JpBlNbsDPHlypRTmiMwdY+Shgtx84sTm9DuaQ+AlecboOzFdiWd4NVKHf9DsW2qIKlk0JxjWMozXuNPDvjUNGRUqkuGJdWd5Ss2wNwbEIAdcW3NZsz6ZYG5c2P/ni/WAMX9JP+LsATHcoB+X4YU6ODVZrL8cRLH+rfO2R/4r53o9xzyRvtVbrjMSf253FLA8rLxz3xYnsDnOzG/pQtNaSs2+OGeqsMsZ0X+7ND0YhSebMz6rc2wrnr2Z/N/Y0oEwMc8VI/I8yOZn+G9DCi7LHEDrO7GqHVbvYnodqQMnSmwCUVhhh8nP0p32xIaeJkieEbDNHiEvuzo8GAcgCaocxHAwwsYH/OGxhQ5poZoYuSAV5/wddZcQ36lB919dCoWB871PL9n3dru1OeaNUZH4/ojjoK7E/8vq6U334oo+aUrnj9ujIOOd+Ovoa8NluUMU2XsqxMAV2rdHB1P7bI3FSLTdrSAHNiuuCWgB/gXlMDzd8nbxu7tOO2Os3igZmV8KRaDc/eZItkNran17ki81Io8lNFrfwXYFPX/Hqoio9/sEubJrSh10uVpjzoCK1x/7k7MHBfsxNKeLw3u6RzttnPK1AlcSkjQQ4/ubJFj5Vl8JvFKVjy6ITUw3Rwjk+FyKQGWLmDXRr/voby66QkuB9aDY4r9kDp7Z203ZovpeufuLeUmqqRoIVlUHIrBtQfRdA+xOuwSyt87sPGp4GwePYaqW8B8HynH9yWKYD+JezSjdU50MVkLrwZMwP4fulMUGyYDAXhWXDx6hgIob8rlA7hIWzUYf0TlN/HWEBcQDI4zh0Ai1b2ou2NNuhFHnX5tY0zWQ3cHGPhbLwe1Fip0fb+OctGTd0SAEt/tYJav0bBjsnAuD8VIih1CUx48Ulc2FlCdrXyfUiuLL9lD5kqd0TPhRlkV/PHHA1TxNeHFtBbPkVcCN1Mdu3LYaPyh6lAl5AwYXR8JtnV/LF1D8YJv+eVwnSZi+g6uQd9XW0/C/YpNFqkzu4jter/ZZcS+kjtyjBvRxkpscuhbzuc+zEB279PoJmtVGS7MjM7UMr+isPeNzpga3fJNdn4WJr3Pyps16FVGpRvJNdopbEaCBps17X+upQxkuuyHqN0ce2XcHx1n973iInS67LKvt0oNSTXZe9GdMPB0vcOnVmjT+kruS4ritLH89JrsZO9DCg/SK7FqgYZ4MMl7FXTKEPKsdF+eOgfQ1wWwEZVfDOkTFnvjTd+GWJcNBt11d6IcuoST9zqaIR3drFRY3yMKM3d3bBJ8rzDMTbqw2o26twEZzy6ygjtM9moGwvYqCUjHVHf0win3mKjHJCNcrS0w2FDjNCnmI0Kb2FE2aOXwFk/DdH1NRt1N0lqlLYl+kcaYnYVG9VL3pAyUsUMZ302wBMNbJRnbzYqQMYIZykaYGobXiNptuxB+eKrLq4s0sdEXV4jpQawUR1fqmNb0R09pD+LLznIRm0pUMYV47ti7UtlTD/GRv1ENircjY16L1ljKr7VwY6T2ag+5mxU0NgGmOzfBQNzfsDDajZK7SkbFX6HjfLTrYQDz9VwnNwb6vewDWzU7Jrn0HGmKuq0fgmPpEaVmvE12lGpUUNu5sHP3q2x9NMd0N7DRnWbyUZ1OcdG3U/IgogQOcyMZqPqVWRw9+xT4Fj816iPHqkwbW0DxN1go8reslHjeifBbLdqSN69B+ZJjVomH09dvxLPRo36GAFvNMog7GMMhBSzUU6CjXL2vQ/PfwVC3Yy/Rt2b4gcFZfmQqTyfPOq/Lgec3OeCm+1fo1xuTIabi7PgQ80YODOSjTI7zUaVdWejLHQs4NLMZJDdPAA2rmKjwJ6NcvjJRvkGq0Fi/1jofUEP1luzUZYlbJTH5gDI7Nwa1q7+a1TctQpxOmAJjO/wWYTuYqMG7Wej1tywh8bBd8TJxX+NOiyTIhRPWICiQYq4Fs5GKT5jo6pBBYp2hIkOGX+N6pQ2Tqw9WSm6xrsIO1c26mAYG9W0Plqs9/1vRmngMqlRKeN1KKMkRqn8o4Ot5RLQoiGe5jNXeh8pZHdXSoOfcXjkQFccKL13FFLVnTJZ4tKr2u64R+qS3poelGYSlzICe+BWqUXLwgwoDSUWJUQb4H1jtugfW0PKFw+DsXasIW6Rvl+ozz1Dyn67/fFJiSGWe7FF8/saUQ6J9cMtA4zw9Hq26Md8I0rPAG+8stAIW0exRX4b2KKXSz1RfqMRJiSxRY8j2aLZs9zQq/n5UbZo20a26M5EZywJMUKH82yR3xK2yNvWERMXGeG8m2zRxBFs0bBBdmhqY4SRD9giR1m2qE1vgd1/G2LQK7boyy62qJWOJaZEGeLnSrbop9QiV1UzHFppgB/+sEUt+rBFoyS2dZSslypbs0XxUot2fdPFjvf08Y0OW6QayBbdlli0VWJRpglbZHyILRpaqIw1EousXijjzqNs0WSpRVelFoVeVMD1EovWTmKLfKUWnbRvgC8Si/Qv/4C4L2zRn8dsUYXUohi9SphRqoajZdmiVKlFnrXP4aXEog5KL+HOb7bokylb1GoiW9TnVh4c6dMaO328Axa72aLhbmzRbKlFx7dmge4GOfwSxRYNVpVYOesUHHzw16JTc1LBY10DlF5ni7zesUUt+yRB4sxqWLxrDzy7xRYVybFFFglsUbnEIqUuZRBREQM9pBbl2LBFmRKLfv8MhFH/YtGHqX6Q9SofbrVji0IkFj1wmwv5I/9aNOzmZNjilQUh38aAhtSieaek947+Z70kseiIezLciRkAP6Xrpd1j2aIMqUUqIWrgMSAWOmfqQeMQtiizmC3KkFj0UL01pK76a1Hw9QpRE7gESlQ/ixdJbNHafWyR/E17uDXojuj6LxbZtkgRpukWoNUjRYyXWrTrKVvkhCrQQ2LRrJN/LcqQWHQlQ2JRnItInsEWuUot2uYfLb6s+G8WGWOPFmzRV81elM8at+HGLr1QQZ79Mereh/J7XRy2NOiD16TvL+o315Ry0M8YzF5oig6BUajiF0UdCm7DFpWVmlPOqo1AzbfmmNWJLdot05+y+6dQnNe6Pw7UYos+lQ2gzHobjLZfBqCdDlu0tsmCcs0Nf/zU3hK3qKzDSSVrqcc2Q9mlN9sGU7pc9UOFo4Mxdwy75F89hPLsaW+0U7DGVi7s0uhhNpRuRzwx29UG9zfMwlFJ9Duh+G4OG7X/M1D6bHfDJ60Qry9joxK6D6f0iHRGI/Ph+DqQjeqtNIJy8DpHVGozAjfEsFFNfUZQjva2w02GI/DAXjYq+u5wSmVXgZsvDMcP6WzU7t/DKOc4WGLQy2G48zobZXoLKfcPNsMO+xDVH7JRfSyAcr+REda1BMyvMcJxWuzf5k98fRcwyoaytr0eZv0Yip1asFcjvIdQptero+lPK9zwvD2eu65K379Ek+2SibGkNHijjGfLLbBeeq/pdm4/yrg8BUyv64vK5vIYVitL2zjZlu0q0zChfLagAX7274NOJTUwsHPzzyuMcUwO23X5kBHZdciiEs5kG2Jp1WvqfZtl3cmu+YqlELi8G9449wyGnXwMdL+sG9s1s50O2eX2IA/mFGuhqmQNpTz+Gtm4dQrb1cGf/n4Z+G7PAizvhLG/zoCgvz+iij3i2TGz88pkl8eMVCgvbotjkw9D1cv9ZKBJMTtmuK35XtxeON8lCZakyuG5y1vh5Ikt5N4hXXbslGig9MyPAOfbv+CqQxhsbQym/Vzqyo45qnyi9OjiB6NnvIP7Wivho6o37XOFPTtmGlkC0MkdEg44S62bCTM2TYY6u0JQKZXej9pwBTZ2GQ1hg4XUOoDyrwPhaXYmWJzqB8dWGNO+xU1jx1ZgCmXJCjXAdXvBbbkeNH3oRPuWeqyd5Jq3JW27+hs2zXhXFOWSixVinMTgV31/CIuSl+Sb2MuOfdvnAf2a7olpYy9K72VdERN/JYu8AAd4fOeUaOGZRL79WZ8onvQJINPmTUgkk7IL9MixARUO4pS9HGzoskqYBtiSbw1bbcViHVX6HqtmWZJbzlsOiXvvuv8X0wbhUOn6qt3boZRXJesrlDxvF5GAOqEJ1IuW0mtAHUWk/CK5BlzUBnG89LrPxnc4ZXx1DLZeNxxnqrNpLpYjKddWRODuoSPxiTabNuQfW8rK16FYN9kWH/dg00b9tKV89zQYF9fZStYTbJqnvR3lpCP+2ORgh9ae7Fj7JXaUKol+OFny3GoFO7ZiuR3lt3Bv9POxw6XB7JjNLDvKg2s8caObHeZuZrvaWNpRjlrshkH97HDgbrZr3A9bysyZznizyhZNUtmu31tsKS/844gPNtrigfNs18GmkZQtbO1wQOVIzLvFdmWZjaS8biHwTaeR2P4h2zVTYwSlqrElzqwZji3K2a4ZGcMoO6ubYZ/AYVghvR/+s57tOiIvub68BPiyqwFO0OtBX3uA9Lpvymu2q59krXUizAb76LFdX7WtKReXquPj7UPwmQV7dcR9EFZFq+KiySrIf9tOFVVuKuOYY5boPpbtenioP6X2SQUsu9YPz7aRQ7OMlrSN42ayXSsb2K5HFg3QvrEPBn9jr8qcjXHsp6/w63sV8N9YrIZg+Urwn26EKdq87vJS0Se7kp88h9ZN3fBAv6eQUPeQ7Bpgz3YZJLJdZcl54DVeG5Vm3IDpr3PILt1Atut1985kl+qyLFi3Wg3b5Z6GWrWTZJdsJtv1fqEK2ZU7KBVgUTv0SjsEH7P3kV3B39muzd0Vya4Tv3eCmr486pcnwMEzm8kuMYTtumrVSPk8PQI6Jf+GaRtC4YUG2/Xdj+0q7P6Zcmu5L0Q5vgdx3hcG+y2mfV6yku2yTnhIGTpzMnjoFcGwe25Qbz6Z9tlOZgw5tXBqDqxuPQqWydj8r10j7w+EwKUXYPuFvqA/w4j2rbMv27Vb/Sil5Qw1uGi1D/z36YLH7460b9O/toX3cmzX4x/Sn+WNod9ThjGJFeKfghAIqakVjstekF0+WWxX+bE5YN7+njg89ML/2qX7IllETxsHF1qdEnXhO8mu5XPZq/GJXcGvbJsY/Hm99D58gAi74iCWFMnBW8eV4tP6kXwfXttWtPRToe/x2Z/tGrLysPiU8t/sGoVaUrv8XttRvpPY5St5PkiOvVp/x44yp17ileT5p9bslcJ5O8rG2hj8fc4Ox3VkryafsqPc/DkCh0qeK3Zhr/oet6O89i4UO0me23RnrwpT7CiDSoMxRvI8tSd7NW0/eyWb6o9f99lhF+nP7wYlslcDkvxwyTY7nLpU+r7KUPbqUZQ3Om60w0v+7NWQRezVNH9PdJhvh0OjpWsta/bqyRI3bCe5lru7g7268Ju9MvJwxhHfbPFtMnuFCeyVwmRHtA23xTVnpO+fbGFL2We0HWp9GYk3rrNX9ebsVf5ggUHqI7H3A/ZqliZ79buXJT6rHY7W79gr81Ps1UsNM4wOGoYjvrNXR/6wV+OUjPB4NmCplgG+1GavTiqxVy+kXp2t1cXWm2zwrvQ9A+k67FWR5Nrw2M4huHsAe3VglmRbIlTx9MS/XtnfVsYdaZY4cjR71eIIe2V5SgFX3eyHbxTlcHo6ezXBlb262che5Vk1QJaMCRZXsVd3XIzx69uvMKzmr1fmrSoh3tUIrTTZqwGq7FWn0ufwVaY7Opo8heBf7JXiaPbqrtSrVql5MHqCNvZwuQEeZezVgPXs1Q199ur78izIXKuGc26ehqqO7JXbWfbq1yL2at6QVDjo1Q4DUw7BjEvsVY8a9mq8Pnul+Gcn/OwhjyffJsD40+yV7mD2SsOavfqREQEHjv2GHkGhENeZveroy1659mCvhn/2hWUT3sPGDF/4uJy9GrCCvbq0lb06MnsyvOxeBJ3y3OChKXu1pYHXWgen5UBrhVGQ0jj0f716VzwQFi+/AKFn+8L8aezVIx/26mtn9mqymxrkD90H6rt1QeGX1KuqtpAqy151/M5e1Y5lr7bsrBD7i0LAp6pWjFnCXpVmsler0uaAfrt7Qtn6r1eOZclipNs4WKdwSuwNY69+eLBXO7Z3hWel20RFxV+vtl91EJvvy8E++5XCdR179aSLrVDyZa9aSr1KXHVYvE7+b1654AipV4nXplNmSbx6Jnl+/1w8DjkVT52+JL2W3HZ4JuVgybVk9LGZOKEt23W9kwdlYk0Mzu3igQOkdp16PYcyXWLXh/eS55rS9ztdnktZ9D4UfXPmYlhXtuuIhiclvAzGeZqeONyI7Wpl5kn5Md0fx5h6YpsZbNeJLp6Us/b74WzJv50+n+2y/DCX8m2CN557PRdf+El/9yR6LuWUUE8s3TgXv0nfYxmiOJdSdrUbDq2fg5+l77HcPmoOZdN8Z0SLObhN+h7Lb6M9KGumOqKuuQdel9rlIzebMm+UHa57NQv33mC7zFa6U64aJLDjWHccu9AKtbcOZi8fs2MHtrlRdjCwxJipbhj1mR2Ls51BeVvVDAd8nI69Zfn9TuM6T6WcXmeIBfFTsKmmB55/r0/bWyf93bf+9yZR6r/XxSijSXi1Nzs26pMT5esidVTRdEL50s7on6ZO+/RjGJu2athYypuZyqjgNQZnjWiL52tb0/45ObNpZ3rYUj44qIAtR0vW0oulvxOngpRPtRrAXxfQ8mAT1Gc3v5cN0L1NDfU7unAIOXb742eYk2SFirsrwGZF83tvB2HcEDZtlNlAMm185nMoT+uPFeMew/LKYmg+HlFL2TTFDSZkmldQHrwu6I0hg27Dlj3Xycl5yWxa0gMDNm10FoR36IHKW87BtounyEalt2xae/p5UDosb5cKif21JV8nGcJ7HiQba3QOUu+1Y9XItJX3doKyUkecbLMTrtZvJRt3u7NpJxc334uLBe3ICDiSpITZijHgGbuJbDy0k027vawFbpgcBDs81pCHzR/TP+QL/8g0wEaPRdCYOYuOkf4Z9m3Pz0pKVf3JULHxPVg/dYb05w50jD6Y8npMY18x5M4dATXaVsDXmwDKBwbC/uA8MAVzWHTIgI7F8xPs29nIi5SPuqvBi60ZkGeiAzdGdqBjsbZHW9jzR4b2+U/vNuSaWdNuygkjKoTZ2jj4LPdb+Ax8Lehvsl96LML355B1r7o9IocaPNaTbxt9kkWBhid0ep0p+vfdT+4lDN8jVP9sJOtSY9i6srMWMPddqCizmPG/1r32tBffSzvB/g6zRbS5CVknlzGYDGs97Yqw2ThYdDrQRP/fCAMKuwil5dk2/2/r5uEKqXXw1JNyk8S6oZLne6X36p9f8aR0/BmHpyXPx//P+zyPe1JGfYnBUMnzA9J79cn7PSkHfohAT8nzT7rsW49ET8qnZaG4bZsnbjVk3+5vYN96PQnGWyGeaGrCvt2bz761POSPTzw9MWYe+1Zuzb4VbfXDY4M9ccNy6d9M+8O+pW7yRp+fc/GI9L1V7rvYt5C1npgUPxenx7Bvph3YtwhvN7wtJ3FPei1Z5MS+fXFzxu5D5+CQNOnfSnJi33C8I/Ya6IFy0vdWNbVi34KF5Hr03SwMLGDfSteyb5FmAjMc3LHC3Qobg9m3KdL79hpJ7FuYtiVmTXfD1Fr2bdBY9m23khnmfpqOr1uzb6202be93wzxRsIU7PWtB9qVsm9OuuzbiIfs2+0XumhtPAnP9WPfLKvZt+Z76hYS3wqfd8Z/DrNvoaPZt+F27NuAU8q4QOLb5+Ft8Xkl+xY8g317Ycy+7dmtgH0lvqX6sG/hHdm3gaoN4CPxbYbEt6BT7NsYdfZN9gH79urlZzix0wo/76mALYvYt8sj2beqfuybyYnnUJnaH9uPfwxv37Fv31azbxfD2Df1VXnwIr83rrW6DUmJ7JviSfbtzkP2zROzIKl9D6yNOwezz7BvLz5Jf+Y4kH07LZ8KKf200dUqGdr1YN9kDdg3qzj2LfDuTvil0BHbw06484N9++DJvt1Ywr593hAByTuVcFyrGHgSwb713ce+zVjRAuucgyB8+l/fpu7whXWNf2CZ5yLoeYp9S8lm3478Yd9eak6G+pD3sP+5M0x6yL5VWrBvVYeK4ca8EdC581/fPHcOBG2J+1VoDk572TfPs+xbYiz7lq6tBpcTMkDOTAcagH0LM2gLy3+xbxp92TcP2T2UTVYVQntNHPxW+C02mLJvIZcfixNJ7Nvgnuxb+gL2bcTiZGEp8S1W4tvF3uzbG4lvx36yb5/i2De3LAs4JPFN1fyvbyPd7cV+iW/tO84Wyb3ZN98z7Fuy2xWxPHSwcNvNvhVIfMte+p98W4njpb4ZTltDeVzim7vkeWvpvbKu1uspK3/F4T5cj3E3NuPdi/R7x6glXcthdgDlPclazupqAF7pwNZ9ot/Zi8RulRF4qm0QonQtp7MniHKrZC13aG8QZumxdYHPgihblQVj9v/X152H5ZS+cQAfMlHRok2D0CoRI0nCuW9rhBaVkLIla6ko26jeN5U2baPhJaVJWZqxJGYUqdAoDGOJKfpFJGE0Gn4t0+903+dn/pu/vs/1Xl1X59zvdT7v85zznOcR24Okvpx2vYxyxukwfFgnw/Ql0nz1EhnlmexQvF4sw5D1bJ3mThllWWoAHg+Rod12tm6BjozytOioing8dvFs3eWYCMqTQT7YsDMC3Q6ydV2PwylhxUK0rAzHHGkeqaGa2HZxRrMjtH44fVbi5ISezWEYcIXdm2q2i10Qx7iKhm+w+gG7t8J/B6WVuYCJmjsw3cIOfWACncdjaR57Rm0o5R1tW3zqHYqvOtm9NxHBlCu6rPDqsyDMD7REz1Uj6FyXa0sGLven1GgyQ//jG9HMjN0rHLWWMueBIYZsXYPW9kOwQMOQ6tFvEhvo77mKMrFEHKumrcSyKf0R32lSbXa6soEqa30oRx1TR8M4b9y2nt2z0l5MOS9JGee0eGJDtTKe8/2S6ucmZwOfRiyg/OtdB0wf6op/BrdDrfsn6K6fti0buLznXDLwx+Jm2Cifg1kxTRBt3T2v2QHb17OBar9M5z5eTA3Y203Dvh+rYavffbL05WE28ETMZDIw2K0Kll6yxzuXKsCkvZwsffwbG+gylfYYgNmGRbBM1Rq/bf4ZLn0sJEsv9yug6/5NgSUZeKD+BFhPtcDV9fmgUnyMLP3dgQ38j5sRblmeCdkqB8lPWoPjqAI2XR2C6pFs4Df3B+CEBalgfoPXyqV33tbEwR9HdHHuvBhI/k5OZlqUsIex9v3IwFWLQ8BcoYLLzu2A9Z2BZKZeFxtouqEHGtuuhmEWXpKZy0DxyB1ezm+HyDMuEOE6i2rauIM9vH72FaXOAht4b1sH1VcFOKdvQzWtHz4aLIxMqHZ+upbk4LXZVZTeF3XAclQprMoYDFGu/al2ew37wo+ZX1CNXoSxh7c96Hkw6JxpFAp6Z8Phi23CvCXPhO567Fv9VFiUeZ1sjPuVPXxXHgdBL0uFLT8dl56flggJZblCyNGdIChyhesvEsnGwe/Zw9Yv50J2S5Kw0jFAen4aLnhucxQqdplAYfJ24ULaDHLy/Qo3wV59ENlYrGJP5mVY3xWW5IwV+vd7SzbqP9MXOq+c+xcbIzFNsvFpg5xyvWhjrdjuK9n46b6cslG0sU5sP5Lm2G+qoDWhUK1lL44T2yd12cPh5+WUVk1x+EOhHBOk5winM+WU055F473DcjSR5tVnRfD6mooaOeqFy3G7NK/+kJucctfxMGxzkePEFexhno6cstehUNyqKcfX0n25l0Xs4cyEAPymUIbLwtnDNw7sYcQuP8wXZKifwh4+LmAPr27wwR55EfhXFnto8UUE5bdeC9HzXTgaFLCHWpZs4Kw5Tvi1bjgWLXDCgIPz6RgzpDkbJ73Zwzm2s7Df4F1YI73LY/wDe2hqJOCH+Tvw4Fs2cMGIraidOQFPnbJFXst7AvbRsMW+x0IxTFpX6tgd9rCizQonfx2Mi/8cgePrLNh+ffaw4QJ7eKzBDMd1bkS3Eeyhawh7uPmuIVYVrUGHW4YYeGgw1eOdwB5eSmcPjxXp4fFfV6LaCy38LZk9VPVgD/2z2cPvctRRs9wbn/izh8tc2cPGeGUsGL0ItROU8Xtd9lAexR46lrCH+151wAgvV7zQ0gZ3qz6Sh1qT2cN3wB6eON8MnUVz0E+7CSoLX5CHFwPZw7ed7GGarAZ8103DKcnVcLXtHnnolMMeul5gDw2cqsCu2R7HrqyA8fvZw+vV7OG3Ieyhn0ERaE2yxs7vfoaRGezh1P7s4ZFX7KHJkxNwI9AC96flw5m17GHtXPbwboQRBg3KhEOXFZ89LD2igCdvh2BmNHs4U8kAtXRTYWn0Px6u9Y2D6pu6+KJ/DFxbxB7+UMYepq9jD30XhIBXuQpWz9kB1rHs4ZQv15GHu1J64ORHvpBVtuSzh/t/c4fg1HbYs8gFElpmUk3tI9jDiUpNlJ3zRANldfBkqwAa5eOopknPrCD4oTHV7qEBe2gVxx4anteBe76lkLx8MFRqsofxr9Qg0489nCRnDwtS2EPjk6KHU7IhwatNGNdaTx6W938q2M9kD0c8ZA8tWuPAP6tUMN/wj4dFxblCeetOuO2ZKwgZ7OHGVvZQbelcOFecJPS47//Zw9uBjkJpqQlsnrpd8LVlDzeMchPeVw0kD4002UMn2V1h4J6xwrzSN+Thmwf6Qt9D/+ZhPH7//3m2S+MpvUQPi8R2hXSv76f98ZSj2lLxgdi+KPUPk/PjKS3F/qGN2P4gvXNkl8TZKHq4MTEeH0rvGeXZxlO+Ez3cYB2PuWeisDo1iv72b8nGwtg4you/y/GWLA4rLdlGm2OxlOdzw7D2YCxekJ6x9o7ZQxmUHorKIXtw0Fa2scY4hvK/UQHYUy0GXSoD8LlLAP3/PdHs5NFtUZSOoX6YujwK9fazk0o6uymv+PpgQXsk9ru+CCuHLqLjKstjMzfdk1Oecl+IOT/L0fsim5l6SEbZa5oTngyToeZNdvLdwgjKyjGzsHVcBMZ/AkzQAzqnsfVsZs3HMErxK0V7cfx/7AOb6dbB82O6+tjihpidqNKHnVxktI3SsdUKIWYrzh40GidqWFE96gexk9fdN1POrzPDhrRg9LtlhD2P8PsQB8ewmUY3/ClNqwxxfNNG/GuGtF5Nn7WU8YV6CBZrcGKZPhpu06OaVS5hJ3/JW0n56LA6Ks6vwMUGfVE1X5XqdyqYzdxm5E1pGqOMwapL8UBcD7xM17En1saymR5dCylT6zogUOGBZTPZyZRiZ5x79z04R70lP+mdpvxmKNNwEn872cnIHxzQVb8eIlKeAO9TVQfDN9eA6t8zUeMcO9mijvg29g6Y3OY1Duk+oVAFNlMEfPSCnVQdY4cL712B5oZi4Gc3JfBatQhK3ozHrMUF4D/xFJmpOozNdH48msxMuH0CgsxHYWdLLmjnZJOZaxezmV9fMyUnX6cpoFHTGPUHKsD80D7y8/S3bOai+oHkpI1HHCRcGIDJSnuh0D2W/Bz2gJ3U26qJtyASLvy6i/zs/sxgZAjk7u2LjzZvBoOAdWSmhyWb2danFzm5Pd8dLut+gUEVPqC/xZ38HLHIEb47D1TfvO/ZTE+vd5QZljZgk98AywdPBNVRo6m+K8eykzqmd6B3pwUcucr7ApGZGTowLf4azNMxAP2MflTHyens5AThLDyO7wM/PfyvIO31C0NjG4VAxVGw3fdBWNdRQ2bWtj8SPLuukJmJSrz3zuqaRHJyQGquMKylez33S8KwDznk5+vwbOFIWiyZeVx7P5k519sFug4kCP4Gaz6b+WCSoxDQOhxk0VsEvXqBzFzc4Syc0R5AZoIzm9lXHMd73hgjnF3xiswcrasvnA4++y9mpmGAZGZFciplkmjmFbHdIpmZ4JxK2VM0c5LY/o/Uh9z7VSplL7EPeccgFQulPuTI5ymUZqKZv9SnoJvUh/z1SArlFtHMuMwUVJfmojxzTqH8UXTSdl4K7pKczG/kMfysvDA0f5aMgnT/8PHqZMrX+0KxwTsZT0tOht5IopwmOhl9OQntY9nGJrrfuQYTNvvh1J5J+LLJD6f78L1Pd2ner8yW1kDE4St8cP3QvZgtrQeo9WUi5bX5C7GjPgGFUrYRguMpP9g7ofn0ePRrno/3TefTeV+7x06WBsdSalnMwnzbWPz+FduoMSYGe7kB9lkrUD26P0MdAcufR6NtBzvZM2s3JfawRYX7bvwUbo1nQ8ZSnRw0pTVL58opXzRbYWinDPNN2cn2rnDKIQ/NcE9eOBZWmuL4QyZUy5N27GQMfEP5R6khmm/ciaGZBjjcZQDVdbwzm/nn5VDKnif1cPmZELy5mp18Oy+QUpGmjo0qm3B6qwYW71Gn2o8JZyfHqayj3LFDGeUX16CJWW/86jC/ix+Szk56TV5JaXm9A9JrlmNMYTukbuoeay/DXj5s5rAlXuTkxLRmcay2GJ9GNcF65e6xtic+SmczB3q4kZOBXjVwzcMV9734HdJtqsnYg5XSM+JJjuTkBbMq2Kw7G/W0bkHzmBtk7HGlcrrWk32nkpN/vL4IZUPE37SKyxB29iIZu382O7lyrR0GDDwD5b/kS66egg1HT8CYA+Px6bijUFeYRa7mRbKZG69akZl6axVQILPEq70VoLR0H7k6qZzN1M8zJjM3mMdBvvNQdE/cCz+e5f2jhqjtJjPtYwag54pIGHt8l9QXDYf+FVugn78OGkdsgeIh68lS4z1sZrG5Gs4auRJ8YzyB90teBl85u4NanjJqOTnDtlUzyM/aDjazLqidcs7dcfAw6z3ccpkC5obW9B1sVbOC4VlGVOvwQPbzo10tZdA6HdAVLb1UbwiD5mhTrX0cNCAnWolqeuo6+3nUv4jyi1GNgmn3vqddXULJyEayVKn5uXDz9yry0xzZzN9upYPVh0ohKeiswOuLlgifbHMFn8Ux0F/5rLC9jayEyCEHhBl3aP8xOOzGfv5U4Q2Jq3cLp8s8PvuZbuwoOBfbQK540T23Gkt+th9wEBy2qJOfkSXsZ0vdc2HQLUth8t815OeTZzpCi1v+v/h5EG9KfhoOUlB+Lfr5ZqACi1XYz/8B6bFk23icNdJ7UJRVGAZwCDMSKFBAZFIgAxYIWRJxict5H1FANFHipo1yCQlBhpsRUQRyCeK6xAosF2NCM4GSUsaIcKjMAgoZQG2IRBKDrUgmpaZkqHPOTH/s/OZ9v5n9znmez8CpEXp6Grj9WYvjDo2YM1PzWY2dG7XShflqXN2gxYB1BZ8r0GPfIF11pxzbbBpw6I1y1MSV810Dsu1KuaVY7V4v3XGzBL8r6pHiVMTnIgx61UkDrxciz60OHyjz+ZyPX3xOSG+25CFaeQLd6dl8zkabp0aaWPkK/Bw1WDuVBa+kLHne9uNp3DTobGulW3NTgcdroahN5HMiHI3flmqSX0LKXzUYORXD5xj4zqul7+yPRt+4GtGpB/Be73551xcvRnGjUNNbLV0KiMT6lmr0DOzl8144x1VJMzxC0O1ZBYvJID4HIaytQjpoF4i7iRUYfT0Aw407ZE737xKX0JFWJp0wYWh1KEOlnRdetVHJnGIe8uKq4LhYInV64In4phK0WbjzWYnnvIulb85ugt1PReh81hVD1k/LLNudnbgKhH9aIDUddcCZFwoww+z4bIvbW/KRqrXF5UgbmbHYtX+2AZnNeXgmYh2frRCmek26fNoSvypzoPCxQPjEGpn92aNmXFOYDB+Tdlc9hvCyTKSsM0ZH0yqZ/XzRo1xDGBWnSL/MWonvrI5CU2OAPQ/0ZQ8bm4V6OO2bIM3oWyKbwXj8nbhIIyv+INGJS/I97gLpLKIhTCv5jR7JOYjgqzN0xHmaRCdn37/NvUWbDkVCiF2TFBsZjmbtdbK8Mkqin4XJMe4IuUbsgVBh8S0dXrEbAZsH6LzyKxJdWZpf5vZToJHoqZ+CJ3vJqHMbtmf2UqrPRRJdXQi9wO2ixSveEOpaOijQwAtFuR/SuEU7ia76Kk5xW6llqzvW//wunQs9SaIrsbsR00Te13hXaxooLryWRD/jQxqumgzb7cU3Rym25VTn/SQ+0VXQtaUSEv20GRVz8+lYkDXGlAU0p8oh0Y/YZX/9MulcLfFRfDpN3Usg0YmiNEnkRw06Y/Ft05Z94eTvb4jW+GgqOB9GopPKO7tpah4ksq//N1jcj8YilqWbhz1oufo+Ge70puSVStnB6kwXcRYycLhFSyEudHzSRuYudv5J5jTdO0ah6U+Q/qipzNpmrQklRunLTFVfGIn3kN7JS1J7zzn2lu/HZOmxxLbHzjCRZXvVNDPOH2AipxCP77n97OEJLT1lOMDO5XYxkY3YBfieYYetymihqYsNF9YzkYFmn1bIQtSxFBHSwG7ocpm4t8tsIcvQPs/EncTzAy67mO6IiuibBNZ0yY2JsxdYB7KDnxszca68IW8hC22eZT0/OLN/Wib8xDvNss3Zj4pOP/Ef4vn/v/8Aq2WxYA== + + + 0.86602540378 + + + 33.774990748 + + + + + + + AAAAAACAAAAAAAAA + + + AAAAAACAAAAAAAAA + + + + + AQAAAACAAADIWAAA6BAAAA==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 + + + AQAAAACAAAAwAQAAdAAAAA==eJwtxa0Ng1AARlF+S4EO0Jomz5EugMGwAwSDr2w6AwKFQHUCwg44Qki6QQfAlxUQ3z3meJZc+MoJZ1zwmz88887G1hX3/GPj6BcvbFzd8Ma5pwcOfP3klR8n3fGfy0BPfD/rlneuQ/3lNNIj32J9AIZUEWI= + + + + + AAAAAACAAAAAAAAA + + + AAAAAACAAAAAAAAA + + + + + AAAAAACAAAAAAAAA + + + AAAAAACAAAAAAAAA + + + + + diff --git a/examples/example1_rays_spm_raypaths for shot no 1.vtp b/examples/example1_rays_spm_raypaths for shot no 1.vtp new file mode 100644 index 00000000..4b0b336d --- /dev/null +++ b/examples/example1_rays_spm_raypaths for shot no 1.vtp @@ -0,0 +1,56 @@ + + + + + + + + + + + AQAAAACAAABsbAAAQg8AAA==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 + + + 0.86602540378 + + + 33.774990748 + + + + + + + AAAAAACAAAAAAAAA + + + AAAAAACAAAAAAAAA + + + + + AQAAAACAAABISAAAyg0AAA==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 + + + AQAAAACAAAAwAQAAbgAAAA==eJwtzqsRg1AABVHCH4ePQGQQaBwFIPCvBTQzpAYkjgLyXAoAjU4XtACSYYK4u+bYDRyV4gsrNPjGCVfcsXjIFr+449OVNfZo8cDGkx880fhywSyQI/6xDPlAixvmkexwxgvrWA74wySRN7jDEzg= + + + + + AAAAAACAAAAAAAAA + + + AAAAAACAAAAAAAAA + + + + + AAAAAACAAAAAAAAA + + + AAAAAACAAAAAAAAA + + + + + diff --git a/examples/figs/example1_tt_fsm.pdf b/examples/figs/example1_tt_fsm.pdf new file mode 100644 index 0000000000000000000000000000000000000000..014c363e99eaea52321333c683bfb0830cc33641 GIT binary patch literal 10589 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 literal 0 HcmV?d00001 diff --git a/examples/figs/example1_tt_spm.pdf b/examples/figs/example1_tt_spm.pdf new file mode 100644 index 0000000000000000000000000000000000000000..a6a3eec9ecd79890c77b2426387bd441e92dafa9 GIT binary patch literal 10506 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.20.1 +numpy>=2.0.0 scipy vtk