diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 952c32f..e0bc570 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -78,6 +78,16 @@ Testing is made easy by using our `Makefile`. From there one founds convenient functions `make test`, `make test_file` and `make test_function` to make testing more rapid. +Git issues +---------- + +Have done local changes, want to get latest updates and get "Cannot pull with +rebase: You have unstaged changes. Please commit or stash them." + +http://stackoverflow.com/questions/23517464/error-cannot-pull-with-rebase-you-have-unstaged-changes + +Solution: git stash + git pull + git pop + Use of UTF-8 characters in program code --------------------------------------- We have decided not to use them. See issue diff --git a/docs/tutorials/2015-11-03-constitutive-modelling-using-juliafem.ipynb b/docs/tutorials/2015-11-03-constitutive-modelling-using-juliafem.ipynb index 45ebd40..9ce5a4c 100644 --- a/docs/tutorials/2015-11-03-constitutive-modelling-using-juliafem.ipynb +++ b/docs/tutorials/2015-11-03-constitutive-modelling-using-juliafem.ipynb @@ -41,7 +41,7 @@ { "data": { "text/plain": [ - "JuliaFEM.DefaultDiscreteField(JuliaFEM.TimeStep[])" + "JuliaFEM.DefaultDiscreteField([JuliaFEM.TimeStep(0.0,JuliaFEM.Increment[[0.0]])])" ] }, "execution_count": 2, @@ -61,7 +61,7 @@ "ip.fields[\"young\"] = Field(200.0e9)\n", "ip.fields[\"poisson\"] = Field(0.3)\n", "ip.fields[\"yield stress\"] = Field(200.0e6)\n", - "ip.fields[\"plastic rate parameter\"] = Field() # material parameter" + "ip.fields[\"plastic rate parameter\"] = Field(0.0) # material parameter" ] }, { @@ -101,7 +101,7 @@ }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 118, "metadata": { "collapsed": false }, @@ -112,7 +112,7 @@ "calculate_stress! (generic function with 1 method)" ] }, - "execution_count": 2, + "execution_count": 118, "metadata": {}, "output_type": "execute_result" } @@ -121,16 +121,32 @@ "\"\"\" Ideal plastic material model. \"\"\"\n", "function calculate_stress!(ip::IntegrationPoint, strain::Matrix, time::Number)\n", "\n", + " dim = size(strain, 1)\n", + " \n", " poisson = last(ip.fields[\"poisson\"])[1]\n", " young = last(ip.fields[\"young\"])[1]\n", " mu = young/(2*(1+poisson))\n", " lambda = young*poisson/((1+poisson)*(1-2*poisson))\n", + " if dim == 2\n", + " lambda = 2*lambda*mu/(lambda + 2*mu) # <- correction for 2d\n", + " end\n", "\n", " # yield function\n", " function f(stress)\n", - " stress_dev = stress - 1/3*trace(stress)*I # stress deviator tensor\n", - " stress_v = sqrt(3/2*trace(stress_dev*stress_dev')) # equivalent tensile stress\n", + " # https://en.wikipedia.org/wiki/Yield_surface\n", + " # https://en.wikipedia.org/wiki/Von_Mises_yield_criterion\n", + " #s = stress - 1/dim*trace(stress)*I # deviatoric stress tensor\n", + " #J2 = 1/2*trace(s*s')\n", + " #stress_v = sqrt(3/2*trace(s*s')) # equivalent tensile stress\n", " stress_y = last(ip.fields[\"yield stress\"])[1]\n", + " #k = stress_y/sqrt(2)\n", + " #return J2 - k^2\n", + " s1 = stress[1,1]\n", + " s2 = stress[2,2]\n", + " s12 = stress[1,2]\n", + " stress_v = sqrt(s1^2 - s1*s2 + s2^2 + 3*s12^2)\n", + " #s1, s2 = eigvals(stress)\n", + " #stress_v = sqrt(s1^2 + s2^2 - s1*s2)\n", " return stress_v - stress_y\n", " end\n", "\n", @@ -163,7 +179,7 @@ " => dσ - λ⋅tr(dϵₑ)I - 2μ⋅dϵₑ = 0\n", " \"\"\"\n", " function residual(params::Vector)\n", - " stress = reshape(params[1:9], 3, 3)\n", + " dstress = reshape(params[1:prod(size(strain))], size(strain))\n", " gamma = params[end]\n", "\n", " strain_prev = last(ip.fields[\"total strain\"])[1]\n", @@ -171,33 +187,51 @@ "\n", " dstrain_total = 1/dt*(strain - strain_prev)\n", " #dstress = 1/dt*(stress - stress_prev)\n", - " dstress = 1/dt*(stress_trial - stress)\n", + " #dstress = 1/dt*(stress_trial - stress)\n", + " stress_tot = stress_prev + dstress\n", " # derivative of plastic potential ψ(σ) w.r.t 2nd order tensor σ(ϵ)\n", " # https://en.wikipedia.org/wiki/Tensor_derivative_%28continuum_mechanics%29\n", " # \"Derivatives of scalar valued functions of second-order tensors\"\n", - " dpsi_dstress = derivative(psi, stress)\n", + " dpsi_dstress = derivative(psi, stress_tot)\n", " dstrain_plastic = gamma*dpsi_dstress\n", " dstrain_elastic = dstrain_total - dstrain_plastic\n", " dstress_elastic = lambda*trace(dstrain_elastic)*I + 2*mu*dstrain_elastic\n", "\n", " stress_delta = dstress - dstress_elastic\n", - " return [vec(stress_delta); psi(stress)]\n", + " return [vec(stress_delta); psi(stress_tot)]\n", " end\n", "\n", " \n", " # solve equations using Newton iterations. Jacobian is calcualated\n", " # using automatic differentiation as usual.\n", - " params = [vec(stress_trial); 0.0]\n", - " for i=1:5\n", - " A = ForwardDiff.jacobian(residual, params)\n", - " b = -residual(params)\n", + " stress_prev = last(ip.fields[\"stress\"])[1]\n", + " #initial_stress = last(ip.fields[\"stress\"])[1]\n", + " #initial_gamma = last(ip.fields[\"plastic rate parameter\"])[1]\n", + " initial_gamma = 0.0\n", + " params = [vec(stress_prev); initial_gamma]\n", + " #info(\"initial params = $params\")\n", + " dparams = zeros(5)\n", + " l = [1, 4, 3, 5]\n", + " #l = [1, 2, 3, 4, 5]\n", + " for i=1:20\n", + " A = ForwardDiff.jacobian(residual, params)[l,l]\n", + " b = -residual(params)[l]\n", " dparams = A \\ b\n", - " params += dparams\n", - " norm(dparams) < 1.0e-7 && break\n", + " params[l] += dparams\n", + " solution_norm = norm(dparams)\n", + " if solution_norm < 1.0e-7\n", + " info(\"norm = $solution_norm\")\n", + " break\n", + " end\n", " end\n", - " stress = reshape(params[1:9], 3, 3)\n", + " params[2] = params[3]\n", + " #info(\"params = $params\")\n", + " dstress = reshape(params[1:prod(size(strain))], size(strain))\n", + " stress = stress_prev + dstress\n", + " #info(\"f(stress) = $(f(stress)), dstress = $(vec(dstress))\")\n", " push!(ip.fields[\"stress\"], TimeStep(time, Increment(Matrix[stress])))\n", " push!(ip.fields[\"total strain\"], TimeStep(time, Increment(Matrix[strain])))\n", + " #push!(ip.fields[\"plastic rate parameter\"], TimeStep(time, Increment(params[end])))\n", " end\n", "\n", "end ### END OF CONSTITUTIVE MODEL" @@ -212,7 +246,7 @@ }, { "cell_type": "code", - "execution_count": 3, + "execution_count": 119, "metadata": { "collapsed": false }, @@ -223,12 +257,86 @@ "text": [ "INFO: time=1.0: no yield\n", "INFO: time=2.0: no yield\n", - "INFO: time=3.0: yield, f(stress_trial) = 2.0e8\n" + "INFO: time=3.0: no yield\n", + "INFO: time=4.0: no yield\n", + "INFO: time=5.0: no yield\n", + "INFO: time=6.0: no yield\n", + "INFO: time=7.0: no yield\n", + "INFO: time=8.0: no yield\n", + "INFO: time=9.0: no yield\n", + "INFO: time=10.0: no yield\n", + "INFO: time=11.0: no yield\n", + "INFO: time=12.0: no yield\n", + "INFO: time=13.0: no yield\n", + "INFO: time=14.0: no yield\n", + "INFO: time=15.0: no yield\n", + "INFO: time=16.0: no yield\n", + "INFO: time=17.0: no yield\n", + "INFO: time=18.0: no yield\n", + "INFO: time=19.0: no yield\n", + "INFO: time=20.0: no yield\n", + "INFO: time=21.0: no yield\n", + "INFO: time=22.0: no yield\n", + "INFO: time=23.0: no yield\n", + "INFO: time=24.0: yield, f(stress_trial) = 5.438631395957261e6\n", + "INFO: norm = 6.327290296460759e-10\n", + "INFO: time=25.0: yield, f(stress_trial) = 1.4370745804477155e7\n", + "INFO: norm = 2.5368436951508793e-10\n", + "INFO: time=26.0: yield, f(stress_trial) = 2.330286021299705e7\n", + "INFO: norm = 2.1402519744192276e-10\n", + "INFO: time=27.0: yield, f(stress_trial) = 3.2234974621516943e7\n", + "INFO: norm = 9.421226040685514e-10\n", + "INFO: time=28.0: yield, f(stress_trial) = 4.116708903003678e7\n", + "INFO: norm = 2.5732227717057695e-8\n", + "INFO: time=29.0: yield, f(stress_trial) = 5.009920343855673e7\n", + "INFO: norm = 2.5811234708594938e-8\n", + "INFO: time=30.0: yield, f(stress_trial) = 5.9031317847076595e7\n", + "INFO: norm = 2.572690677593919e-8\n", + "INFO: time=31.0: yield, f(stress_trial) = 6.796343225559643e7\n", + "INFO: norm = 1.6939240257439999e-9\n", + "INFO: time=32.0: yield, f(stress_trial) = 7.689554666411638e7\n", + "INFO: norm = 2.6531859781938224e-8\n", + "INFO: time=33.0: yield, f(stress_trial) = 8.582766107263625e7\n", + "INFO: norm = 2.6549753353863674e-8\n", + "INFO: time=34.0: yield, f(stress_trial) = 9.475977548115605e7\n", + "INFO: norm = 2.6269774232540882e-8\n", + "INFO: time=35.0: yield, f(stress_trial) = 1.0369188988967597e8\n", + "INFO: norm = 3.943829269565131e-10\n", + "INFO: time=36.0: yield, f(stress_trial) = 1.126240042981959e8\n", + "INFO: norm = 2.672625454866766e-8\n", + "INFO: time=37.0: yield, f(stress_trial) = 1.215561187067157e8\n", + "INFO: norm = 2.6724023527734252e-8\n", + "INFO: time=38.0: yield, f(stress_trial) = 1.3048823311523557e8\n", + "INFO: norm = 4.0424078932575624e-10\n", + "INFO: time=39.0: yield, f(stress_trial) = 1.394203475237555e8\n", + "INFO: norm = 2.7378636631817178e-8\n", + "INFO: time=40.0: yield, f(stress_trial) = 1.483524619322754e8\n", + "INFO: norm = 1.634965889399672e-10\n", + "INFO: time=41.0: yield, f(stress_trial) = 1.5728457634079528e8\n", + "INFO: norm = 2.757582543090421e-8\n", + "INFO: time=42.0: yield, f(stress_trial) = 1.6621669074931514e8\n", + "INFO: norm = 2.7149985332652483e-8\n", + "INFO: time=43.0: yield, f(stress_trial) = 1.75148805157835e8\n", + "INFO: norm = 2.7222211807288396e-8\n", + "INFO: time=44.0: yield, f(stress_trial) = 1.8408091956635493e8\n", + "INFO: norm = 2.7731830203746644e-8\n", + "INFO: time=45.0: yield, f(stress_trial) = 1.9301303397487473e8\n", + "INFO: norm = 2.7741353645150486e-8\n", + "INFO: time=46.0: yield, f(stress_trial) = 2.0194514838339472e8\n", + "INFO: norm = 2.7680252846576977e-8\n", + "INFO: time=47.0: yield, f(stress_trial) = 2.1087726279191452e8\n", + "INFO: norm = 2.7789819953233903e-8\n", + "INFO: time=48.0: yield, f(stress_trial) = 2.1980937720043445e8\n", + "INFO: norm = 2.7842679685856577e-8\n", + "INFO: time=49.0: yield, f(stress_trial) = 2.287414916089543e8\n", + "INFO: norm = 2.7835836044051844e-8\n", + "INFO: time=50.0: yield, f(stress_trial) = 2.3767360601747423e8\n", + "INFO: norm = 2.8328177662423844e-8\n" ] } ], "source": [ - "function run(steps=3)\n", + "function run(steps=50)\n", "\n", " # initialization\n", " ip = IntegrationPoint([0.0, 0.0], 1.0)\n", @@ -248,10 +356,12 @@ " # set up strain etc.\n", " time = Float64(time)\n", " poisson = last(ip.fields[\"poisson\"])[1]\n", - " strain = zeros(3, 3)\n", + " strain = zeros(2, 2)\n", " strain[1, 1] = strain_11\n", " strain[2, 2] = -poisson*strain_11\n", - " strain[3, 3] = -poisson*strain_11\n", + " #strain[2, 2] = strain_11\n", + " strain[1, 2] = 1/3*strain_11\n", + " strain[2, 1] = 1/3*strain_11\n", "\n", " # calculate stress\n", " calculate_stress!(ip, strain, time)\n", @@ -272,56 +382,111 @@ }, { "cell_type": "code", - "execution_count": 4, + "execution_count": 120, "metadata": { "collapsed": false }, "outputs": [ - { - "name": "stderr", - "output_type": "stream", - "text": [ - "INFO: [0.0 200.00000000000003 200.00000000000006]\n", - "INFO: [0.0 1000.0 2000.0]\n" - ] - }, { "data": { - "image/png": "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jkRERER6hIWgHps0aRISExOxb98+tGrVSu44REREpGdYCOqpjz/+GJ988gnWrFmD7t27yx2HiIiI9BDPEdRDX3/9NSZNmoQpU6Zg1KhRcschIiIiPcVCUM+cPn0agwYNglKpxOLFi+WOQ0RERHqMhaAe+f3336FUKuHu7o7NmzfDxMRE7khERESkx1gI6onCwkL07dsXpaWl2L17N6ytreWORERERHqOF4vogYqKCoSHh+PUqVM4cuQImjVrJnckIiIiMgAsBPXA/PnzsW3bNsTHx8Pb21vuOERERGQgeGhYx23atAkLFizAwoUL0b9/f7njEBERkQFhIajDjh49isjISIwcORIzZsyQOw4REREZGBaCOurSpUvo27cvOnXqhFWrVkGSJLkjERERkYFhIaiDbt++DaVSiUaNGiE+Ph7169eXOxIREREZIF4somNKS0sRFBSEP/74A6mpqWjUqJHckYiIiMhAsRDUIUIIjBs3Dt999x0OHDiAFi1ayB2JiIiIDBgLQR2yfPlyrF27Fp999hm6desmdxwiIiIycDxHUEfs2rUL06ZNw8yZMzFixAi54xAREZERYCGoA06ePInQ0FD069cPUVFRcschIiIiI8FCUGY3btyAUqlEq1atsGnTJigU/CshIiKiusGqQ0YFBQUIDAyEJEnYtWsXLC0t5Y5ERERERoQXi8ikoqICw4cPx88//4yjR4/CxcVF7khERERkZFgIymTOnDnYvn07du7cCU9PT7njEBERkRFiISiDDRs2YNGiRVi6dCkCAgLkjkNERERGiucI1rGkpCSMGjUKo0aNwuTJk+WOQ0REREaMhWAdOn/+PPr3749u3bphxYoVkCRJ7khERERkxFgI1pGcnBwolUo0btwYX375JUxNTeWOREREREaO5wjWgZKSEvTv3x85OTlITU2Fra2t3JGIiIiIWAhqmxACo0ePRkpKCg4ePAh3d3e5IxEREREBYCGodYsXL8aGDRuwadMmdO7cWe44RERERCo8R1CLvvrqK8yaNQtvvvkmhg4dKnccIiIiokpYCGrJ8ePHMXToUISEhOCdd96ROw4RERGRGhaCWpCZmYnAwEC0adMGGzduhELBHzMRERHpHlYoGvbXX38hICAApqam2LlzJywsLOSORERERFQlXiyiQeXl5QgNDcWlS5fw/fffo3HjxnJHIiIi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", + "image/png": "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A7hlkZGRtoclODk5af369ercubPZsQAAgMkWL16sxYsX52u7dOmSSWlu8Y3kfyQ5Odluswh16tSRr6+vkpKSChxLTEy0vd9Dkpo3by5JSkpKUrdu3Wztu3btUl5eXr6+vzd9+nS1aNGiBJMDJScyMlIrVqzQpUuXVKlSJXXv3p2CAwAASCr8F+V79uxRy5YtTclTpKLjiy++0BdffGF7lO3s2bO1adOmAv3S0tK0adOmG75joyQ89thjmj9/vk6fPm17bO7XX3+tY8eOafz48bZ+wcHBqlGjhj788MN8RceHH34oT09PPfroo3bLCNiLYRhau3at7TcW165d03fffWdyKgAAgMIVqeg4cOCAoqKibM/6T0hI0O7du/P1sVgs8vT01IMPPqh33323WKFmzpypixcv2p4stXr1ap08eVKSNHbsWFWtWlUvvfSSli5dqqCgII0bN04ZGRmaOnWqmjZtqqFDh9rO5ebmptdff12jRo1S79699cgjj2j79u1atGiRpkyZwosB4XByc3M1ZswYXbhwQe7u7srMzJSvr6+sVqvZ0QAAAAplMf7oDXx/wMnJSQsWLLDLOy4aNGigEydOSJKtwDEMQxaLRT/88INuv/12Sb++I+TZZ5/Vjh075OrqqkcffVTTpk0r9BGhc+bM0bRp02yfHz16tMaOHVvo978+9bR7926WV6FMSUlJUUREhOLi4jRr1izt2LFDsbGxslqtvGUcAAD8ITN/xi120VGeUXSgLDpw4IBCQ0P1yy+/aMWKFerQoYPZkQAAgAMx82fcEttIfujQIS1dulTnzp1T48aNNXToUFWtWrWkTg9UaGvXrlX//v3VoEEDxcTE6I477jA7EgAAwE0r0ns6Zs6cqYCAAKWkpORrX7NmjZo1a6bXXntNs2bN0jPPPKPmzZsX6AegaAzD0Ntvv62wsDB16tRJsbGxFBwAAMDhFKnoWL16tRo2bJjvfRdXr17V8OHDValSJX366af65ptv9Oabb+rkyZOaPHlyiQcGKoqsrCwNHjxYEyZM0KRJk7R8+XJ5eXmZHQsAAKDIirS86uDBg3riiSfytcXExOjChQuaOHGiBg8eLEm67777tH//fkVHR+tf//pXyaUFKojk5GSFh4dr//79Wrx4sfr27Wt2JAAAgGIr0kzHzz//rHr16uVru/6ejvDw8Hzt7du3tz2B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", "text/plain": [ - "PyPlot.Figure(PyObject )" + "PyPlot.Figure(PyObject )" ] }, "metadata": {}, "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "(0,250)" + ] + }, + "execution_count": 120, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ - "function plot_stress_strain_curve(ip)\n", - " steps = length(ip.fields[\"total strain\"])\n", - " eps11 = zeros(steps)\n", - " sig11 = zeros(steps)\n", - " for i=1:steps\n", - " # extract from integration points -- too complicated\n", - " # field -> timestep -> increment -> (vector of tensors, take first) -> (first component)\n", - " eps11[i] = ip.fields[\"total strain\"][i][end][1][1,1]\n", - " sig11[i] = ip.fields[\"stress\"][i][end][1][1,1]\n", - " end\n", - " eps11 *= 1.0e6\n", - " sig11 *= 1.0e-6\n", - "\n", - " PyPlot.figure(figsize=(7, 5))\n", - " PyPlot.plot(eps11, sig11, \"-ko\")\n", - " PyPlot.title(\"Stress-Strain curve\")\n", - " PyPlot.xlabel(\"Strain [ustr]\")\n", - " PyPlot.ylabel(\"Stress [MPa]\")\n", - " PyPlot.ylim([0, 250])\n", - " info(sig11')\n", - " info(eps11')\n", + "steps = length(ip.fields[\"total strain\"])\n", + "eps11 = Float64[]\n", + "sig11 = Float64[]\n", + "principals = Vector{Float64}[]\n", + "for i=1:steps\n", + " # extract from integration points -- too complicated\n", + " # field -> timestep -> increment -> (vector of tensors, take first) -> (first component)\n", + " strain = ip.fields[\"total strain\"][i][end][1]*1.0e6\n", + " stress = ip.fields[\"stress\"][i][end][1]*1.0e-6\n", + " push!(eps11, strain[1,1])\n", + " push!(sig11, stress[1,1])\n", + " push!(principals, sort(eigvals(stress)))\n", "end\n", "\n", - "plot_stress_strain_curve(ip)" + "#PyPlot.figure(figsize=(7, 5))\n", + "PyPlot.plot(eps11, sig11, \"-k.\")\n", + "PyPlot.title(\"Stress-Strain curve\")\n", + "PyPlot.xlabel(\"Strain [ustr]\")\n", + "PyPlot.ylabel(\"Stress [MPa]\")\n", + "PyPlot.ylim([0, 250])" ] + }, + { + "cell_type": "code", + "execution_count": 121, + "metadata": { + "collapsed": false + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAaIAAAGaCAYAAABNIkevAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAIABJREFUeJzs3XlcjdkfB/DPc9tVUhElS1GSLYlBSNmyhmxZ02AmW2IWy8xYxzKY7NuQapB1hqwpg9JESmUmMkJIoU2K9s7vj373jjvdSOo+d/m+X69e7j3Puc/zfW653/ucc55zOMYYAyGEEMITAd8BEEIIUW6UiAghhPCKEhEhhBBeUSIihBDCK0pEhBBCeEWJiBBCCK8oERFCCOEVJSJCCCG8okRECCGEV5SIiNQIBAI4OjpK9Zi9e/eGQCD9P/Pk5GQIBAJMnTpV6sdWNs2bN4eZmRnfYZBPQImISBXHcVI/nrSP+d/j1zT64K2Iz98x+XSqfAdAlEdiYiLq1Kkj1WMGBAQgPz9fqseUBvrgJYqEEhGRGktLS6kfs0mTJlI/JiHk41DTHKng3f6NxMREDB8+HAYGBtDR0UHPnj0REhJS4TV+fn4QCATw9/fHhQsX0Lt3b+jp6Yn1z0jqI1q2bBkEAgGuXr2K48ePo0uXLtDW1oahoSHc3NyQmpoqMcasrCwsWbIEbdu2hba2NurVqwcbGxssWrQIb9++FdWT1Ed05coVCAQCLF++HJGRkejbty/q1auHunXrwtnZGTExMRWOl5qaihUrVsDe3h6NGjWChoYGGjdujAkTJuDu3bsf9f5Wxt/fH927d0eDBg2gpaWFpk2bwtnZGUePHhWL+8mTJ6LfkfDn3b4o4fv84sULTJs2DY0bN4aqqir8/f1FdW7cuIFRo0aJzqVp06b48ssvkZaWViGuhw8fYsaMGWjZsiXq1KkDQ0NDtG/fHp6ensjKyhLVKyoqwpYtW2BrawsDAwNoa2vDzMwMw4cPx6VLl6r0Hri7u0MgEODRo0f4+eefYWVlBS0tLTRp0gTz589Hbm5ulfbz+vVrrF+/Hk5OTjA1NYWGhgaMjIzg4uKC69evS3yN8H3LzMzEjBkzYGxsDE1NTbRt2xZ+fn6VHis4OBiDBg1C/fr1oampiZYtW+Kbb75BTk5OlWIldEVE3uPRo0fo3r276EMnNTUVR44cwcCBA3Ho0CGMGTOmwmuOHz+OCxcuYNCgQZg5cyYeP34str2yJqUdO3YgKCgILi4ucHR0xPXr13HkyBHEx8cjLi4O6urqYnE5OjriyZMnsLOzw8yZM1FWVoZ79+5h06ZN8PT0RNOmTT94zBs3bmDNmjXo168fZs+ejfv37+O3335DWFgYLl68iB49eojqhoWFYd26dXBycoKtrS10dHTwzz//4Pjx4wgKCkJERATat2//Ue/vuxYvXoy1a9fC3Nwc48aNg56eHlJTU3Hz5k0cP34cY8aMgZmZGZYuXYpNmzYBALy9vUWvt7GxEdtfVlYWunbtCl1dXYwaNQoCgQCNGjUCAPj6+mLGjBnQ0tLCsGHD0KRJE/zzzz/Yu3cvTp8+jevXr4uuJNPS0tC5c2fk5uZi8ODBGD16NAoKCvDw4UMcOHAAc+bMgYGBAYDyJHL48GG0a9cOU6ZMgZaWFp49e4aIiAgEBwejT58+VX4/5s2bh/DwcIwdOxb16tXDhQsXsGnTJoSHh+PatWvQ0NB47+vv3LmD7777Dg4ODhg6dCj09fXx+PFjBAUF4fz58zh9+jQGDBhQ4XWvXr2Cvb09NDQ0MGbMGBQWFuLo0aPw8PCAQCDA5MmTxeovX74cy5cvh6GhIYYOHQojIyPEx8djw4YNOHfuHCIjI6Grq1vl81ZajJD/ePToEeM4jnEcx7755huxbdHR0UxNTY3p6+uz169fi8r379/POI5jKioqLDg4WOJ+OY5jjo6OYmVLly5lHMcxPT099vfff4ttGz9+POM4jh09elSsvFu3bozjOLZ27doKx8jMzGQFBQWi5w4ODkwgEIjVuXz5suj8tm/fLrbt1KlTjOM4ZmFhwcrKykTlL1++ZHl5eRWOFx8fz3R0dNjAgQPFyoXv4dSpUyW9FRUYGBiwJk2asPz8/ArbMjIyxJ43a9aMmZmZVbov4blNmTKFlZaWim27d+8eU1NTYxYWFiw1NVVs26VLl5iKigobMWKEqGzLli2M4zi2ZcuWCsd5+/atKN5Xr14xjuNY586dxd43oczMzErjfdeUKVMYx3GsQYMG7MmTJ6LysrIy5urqyjiOYytXrhR7jaT3IycnR+IxU1JSmImJCWvdunWFbcL3bfr06WLncOfOHaaqqsqsra3F6v/xxx+M4zhmb2/PcnJyxLb5+fkxjuOYt7d3lc5b2VEiIhUIP0T19fUlfvi6u7szjuOYv7+/qEyYiEaOHFnpft+XiL7//vsK9YUJ4+uvvxaVRUdHM47jmK2tbZXO5X2JyNLSUuJrevfuzTiOY1evXq3SMYYOHco0NTVZSUmJqOxjE5GhoSEzNzdnhYWFH6xblUSkqanJ0tPTK2ybN28e4ziOnTt3TuJrhw8fzlRVVUW/d2Ei2rNnz3tjysnJYRzHsR49enww/vcRJqJVq1ZV2Pbw4UOmoqJS4dw/9H7815w5cxjHcezp06di5RzHMR0dHZabm1vhNb169WICgYC9efNGVDZ8+HDGcRy7c+eOxOPY2NgwIyOjKselzKhpjlTK1tYW2traFcodHBzg7++PuLi4Ck0VXbp0qdax7OzsKpSZmpoCALKzs0VlwvZ9Sc0qH6tnz54Syx0cHHD16lXExcWhV69eovKzZ89i165diI6ORmZmJkpKSkTbOI5DRkYGGjZsWK1YJkyYgK1bt8La2hpjxoyBg4MDunbtCj09vWrtr3nz5qhfv36F8sjISADl/U03btyosP3ly5coLS3FvXv3YGtrCxcXFyxZsgSzZs1CcHAw+vfvjx49esDa2lrsdXXr1sXQoUNx+vRp2NjYwNXVFT179kSXLl2qNVLSwcGhQpmZmRlMTU3x+PFjvH79GnXr1n3vPiIiIrB582ZERkYiPT0dRUVFYtufPXsm+hsTsrCwgI6OToV9NWnSBIwxZGdni84nMjISampqOHr0KJiEha6LioqQnp6O7Oxs6Ovrf/CclRklIlKpyj5UhX0Nkjpjhds+Vr169SqUqaqW/3mWlpaKyl69egUAaNy4cbWO866POb/NmzfD29sbBgYG6NevH5o2bYo6deqA4zj8/vvviI+PR2FhYbVj8fHxgbm5Ofbv34+1a9di7dq1UFVVxaBBg7Bx40a0aNHio/ZX2e8hMzMTALB+/fpKX8txHN68eQMAaNq0KaKiorBs2TJcuHABv/32G4DyD+avvvoKc+bMEb3uyJEjWLduHQ4dOoSlS5cCADQ1NTFq1Chs2LABRkZGVY7/fb+bp0+fIicn572J6Pfff8eoUaNQp04d9OvXDy1atIC2tjYEAgEuX76Mq1evSvx9Sfo7BCT/LWZmZqK0tBTLly+vNA6O45CXl0eJ6AMoEZFKvXjxQmL58+fPAUDit/Xavr9F+EGRkpLyyfuq6vmVlJRg2bJlMDY2xq1btyp8SEZERHxyLAKBAF5eXvDy8kJ6ejquXbuGw4cP49ixY0hISEBCQoLYgI0Pqez3oKenB47jkJOTI/GbvyRWVlY4fPgwSktLER8fj9DQUGzduhVeXl7Q1taGh4cHgPKks3TpUixduhQpKSkICwuDn58fDhw4gOTkZISFhVU5/hcvXsDCwqJC+fv+9t71/fffQ1NTE9HR0WjVqpXYtmfPnuHq1atVjqUywhgyMjI+eV/KjoZvk0rdunULeXl5FcqvXLkCAOjYsaOUIwK6desGoHzIrKTmkI8RHh4ucR//Pb+MjAzk5OSge/fuFZJQXl4ebt26VaMJuEGDBhgxYgSOHDkCR0dHPHjwAAkJCaLtKioqYt/MP0a3bt3AGPuopPDucW1tbfHNN98gMDAQAHDq1CmJdU1NTTF+/HgEBwejRYsWuHbtmlgT64cIfwfvevjwIZ4+fYrmzZt/sFkuKSkJ1tbWFZJQWVkZrl27VuU43qdbt27IysrCnTt3amR/yowSEanUq1evsGLFCrGy6OhoHDx4EPXq1cOIESOkHpOtrS26d++OuLg4rFu3rsL2zMzMKjeR3b9/Hzt27BArO3XqFMLCwmBhYSHqQzIyMkKdOnUQHR0tarICgOLiYnh5eYmau6qrqKhI4lVVcXExsrKywHGcWD+LoaEhXr58iYKCgo8+1uzZs6GmpgZvb2/cv39fYizh4eGi57du3ZLYBCu8MhHGlZGRgb/++qtCvby8POTl5UFNTe2jrug2b96MJ0+eiJ6XlZXh66+/BmOsSvP3mZmZ4Z9//hG7L4oxhmXLluHu3bs18sVBOHx++vTpEu+/evPmjcR+OFIRNc2RSvXq1Qt79+7FjRs30L17d6SlpeHIkSMAgN27d1e5aaemHThwAL1798bixYtx4sQJODg4gDGG+/fvIyQkBPfu3RO7j6iyKydnZ2csWLAA58+fR/v27ZGUlITffvsNWlpa8PX1FdUTCASYO3cu1q5di3bt2mHYsGEoKirC5cuX8erVKzg6OuLy5cvVPp+3b9+iZ8+eaNmyJWxtbdGsWTMUFBQgJCQEiYmJcHFxEftm37dvX0RHR8PZ2Rk9e/aEhoYGbGxsMGTIkA8eq1WrVvD19YWHhwfatGkDZ2dnWFhYoLi4GE+ePEF4eDgaNmwo+pYfEBCAPXv2oEePHjA3N4e+vj4ePHiA06dPQ1NTE/PmzQNQ3lRqa2uLdu3aoV27dmjSpAlev36NM2fO4MWLF6JmvKrq0aMHbGxsMHbsWNStWxfBwcG4ffs27Ozs8M0333zw9d7e3vjyyy/RsWNHjBw5EmpqaoiIiMDdu3dFgyo+lZOTE9auXYtFixbBwsICgwYNQvPmzZGXl4fHjx8jLCwMPXv2xLlz5z75WAqPt/F6RGa9O/Q4MTGRubi4MH19faatrc169OjBLl68WOE1fn5+TCAQiA3p/i9Jw7eXLVvGBAKBxKHS7xsCnZmZyb799lvWqlUrpqmpyfT19VnHjh3Zd999x96+fSuq17t370qHby9fvpxFRkayvn37srp167K6deuyAQMGsOjo6ArHKykpYT///DOztrZmWlpazNjYmE2ePJk9efKEubu7M4FAwB4/flyl2P+ruLiY/fTTT2zgwIGsadOmTFNTkxkZGbFu3bqx3bt3s+LiYrH6b968YZ6enszU1JSpqqoygUAgdhxJ7/N//fXXX8zd3Z01a9aMaWhoMENDQ9auXTv25ZdfssuXL4vq3bhxg3l6erIOHTowAwMDpqWlxSwsLJiHhwdLSEgQ1Xv16hVbsWIFc3JyYo0bN2YaGhrMxMSEOTo6ssOHD3/wPRASDt9+9OgR27hxI7OysmKamprM1NSUeXt7Sxxa3bx5c4nDt/38/JiNjQ3T1tZmDRo0YCNHjmR///13pX9z73vfJP2Oha5du8bGjBnDTExMmLq6OjMyMmIdO3ZkCxYsYDExMVU+d2XGMfaJDe1E4SQnJ8Pc3Bzu7u5iVwaK4sqVK3BycsKyZcvwww8/8B0OeYe7uzsCAgKQnJwsdlVLFBv1ERFCCOEVJSJCCCG8okRECJEZfC9kSPgh94koISEBo0ePFt05bWhoiO7du+PgwYMV6t69exfOzs7Q1dWFoaEhJk+eXOnNaPv27UPr1q2hpaUFS0tLbNu2rbZPRWY0b94cZWVlCtk/BJQvDVFWVkb9QzJo//79KC0tpf4hJSP3w7efPHmCvLw8uLu7w8TEBG/fvsXx48cxadIkJCcnY8mSJQDKh5f26tUL+vr6WLNmDXJzc7Fhwwb89ddfiIqKgpqammifu3fvhqenJ0aNGoWvvvoKYWFhmDt3Lt6+fVuloaOEEEKqTiFHzZWVlaFTp07IysoSrYczc+ZMBAQEIDExUTTR4aVLl9CvXz/s3r0b06dPBwDk5+ejSZMm6N69O4KCgkT7nDRpEk6ePImnT59KnI8qIyMDwcHBaN68ObS0tKRwloQQUrvy8/ORnJyMAQMGSJxEt8bwO3q89gwZMoS1aNFC9NzIyIiNHTu2Qr1WrVqxvn37ip6fPXuWcRzHzp8/L1YvMjKScRzHDhw4IPF4Bw4cYADoh37oh34U7qeyz72aIvdNc0Jv377F27dvkZOTg6CgIAQHB4v6dZ49e4b09HSJSw107twZ58+fFz2PjY0FUHFZAltbWwgEAsTFxWHChAkV9tO8eXMA5Xf9t27duqZOi1fe3t7w8fHhO4wao0jno0jnAtD5yKq7d+9i4sSJos+32qIwiWj+/PnYs2cPgPIp27ds2YIZM2YAgGgeKGNj4wqvMzY2RlZWFoqLi6Gmpoa0tDSoqKhUuAxVV1eHoaEhUlNTJR5f2BzXunVr2Nra1th58UlPT09hzgVQrPNRpHMB6HxkXW13NyhMIvL29saYMWOQmpqKgwcPYvbs2dDS0sKUKVOQn58PABLXudfU1ARQ3haqpqaG/Pz8Sidn1NDQEO2LEEJIzVCYRNSqVSvRxJATJ07EgAEDMG/ePIwdO1aUzSXNyiycwVhYR0tLq8JKju/WpYEIhBBSsxQmEf2Xq6uraPZiYZOcpKna09LSYGhoKBq+bWxsjNLSUmRkZIg1zxUVFSErKwsmJibvPa63t3eFRbvc3Nzg5ub2qadECCG1JjAwULTOlJCkJUBqg8ImImETmkAgQOPGjdGgQQPcvHmzQr2oqCjY2NiIngsXQ7t58yYGDhwoKo+OjkZZWZlYXUl8fHwUpm1Y0ZKnIp2PIp0LQOcjCyR9Yb516xY6depU+wev1TF5UvDy5csKZUVFRczW1pbVr1+flZSUMMYY8/T0ZHXq1GFPnz4V1QsNDWUcx7Hdu3eLyvLz85mhoSEbOnSo2D4nTpzIdHR0WHZ2tsQ4YmJiGACa9p0QojCk9bkm91dEM2bMQG5uLnr16gUTExM8f/4cBw8exD///IP9+/dDRUUFALB48WIcO3YMjo6O8PLyQm5uLtavX4/27duLrfioqamJlStXYtasWRgzZgz69++P8PBwHDx4EKtXr5Z4MyshhJDqk/tENG7cOOzbtw87d+5EZmYm6tati88++wzbtm1Dnz59RPVMTU1x9epVzJ8/HwsXLoSGhgaGDBmCjRs3ik3vAwCenp5QU1PDxo0bERQUhKZNm2LTpk2YO3eutE+PEEIUnkJO8cMHYVtqTEyMwvQREUKUm7Q+1+R+9m1CCCHyjRIRIYQQXlEiIoQQwitKRIQQQnhFiYgQQgivKBERQgjhFSUiQgghvKJERAghhFeUiAghhPCKEhEhhBBeUSIihBDCK0pEhBBCeEWJiBBCCK8oERFCCOEVJSJCCCG8okRECCGEV5SICCGE8IoSESGEEF5RIiKEEMIrSkSEEEJ4RYmIEEIIrygREUII4RUlIkIIIbyiREQIIYRXlIgIIYTwihIRIYQQXlEiIoQQwitKRIQQQnilyncAhBDlVVBQgLS0NKSnpyM7OxvZ2dnIyclBQUEB8vPzUVhYCMYYAIDjOGhqakJLSwt16tSBvr4+DAwMYGhoCBMTExgaGoLjOJ7PiFQHJSJCSK1hjOHp06dITExEYmIiHjx4gEePHiE5ORkpKSnIzs6W+Lo6depAS0sLGhoaouRSVlaGgoICUZL6L01NTZiamqJly5awsrKClZUV2rVrBxsbG9SpU6dWz5N8GkpEhJAaUVxcjL///hs3b95EXFwc4uPjcfv2beTl5QEANDQ0YGZmBjMzM/To0QNNmjSBiYkJjI2NYWRkJLrC0dHR+eCVTVlZGXJycpCZmYmMjAykpqbi6dOnePLkCe7fv49z585h69atKC0thUAggLW1Nbp27QpHR0c4OjrC2NhYGm8JqSJKRISQasnOzkZERATCw8MRERGBW7duIT8/HyoqKmjVqhVsbGzg4uKCNm3awMrKCs2bN4eKikqNHFsgEEBfXx/6+vpo2bKlxDpFRUVISEhAdHQ0oqOjERERgb179wIA2rRpg2HDhsHFxQWdO3eGQEDd5XyiREQIqZK3b98iPDwcoaGhuHTpEuLi4sAYg4mJCXr06AFXV1d06dIFHTt2lImmMHV1dXTs2BEdO3bE9OnTAQAvXrzAlStXcOHCBezZswdr1qyBiYkJJkyYgMmTJ6Nt27Y8R62cKBERQir16NEjnDlzBufOncPly5dRWFgIY2Nj9O3bF3PnzkWvXr1gZmYmN4MEGjZsiLFjx2Ls2LEoKSnBn3/+iaNHj8LX1xfr16+Hra0tZs6ciQkTJkBTU5PvcJUGXY8SQkQYY4iPj8eyZcvQoUMHmJubY8GCBSgqKsLq1auRkJCAZ8+eISAgAO7u7jA3N5ebJPRfqqqq6NWrF7Zt24bU1FScPHkSJiYmmD59Opo2bYrly5cjKyuL7zCVAiUiQggSEhLwww8/wMrKCjY2Nti0aRPatWuHY8eOITMzE5cuXcL8+fNhbW0tt4nnfdTV1eHi4oLTp0/j3r17GD16NNatWwczMzOsWLECr1+/5jtEhUaJiBAllZaWho0bN8LGxgZt27bFli1b0L17d5w/fx4vX77EgQMHMGrUKOjq6vIdqlRZWFhg+/btePToETw8PLB69WqYmZlhy5YtKCkp4Ts8hUSJiBAlYGEBCASAujqDk1MyhgwZAlNTUyxevBgtW7bEyZMn8eLFC+zfvx/Ozs5QV1fnO2TeNWzYED4+PkhKSoKrqyvmzZsHOzs73Lhxg+/QFI7cJ6KbN29i9uzZaNOmDXR0dNCsWTOMHTsW9+/fr1D37t27cHZ2hq6uLgwNDTF58mRkZGRI3O++ffvQunVraGlpwdLSEtu2bavtUyGkxllYABwHJCUxMAYUF3O4fNkUN27MwI4dO/D8+XMcP34cLi4u0NDQ4DtcmWRqaoo9e/YgKioKKioq6NatG+bNmyfxplpSTUzOubq6MhMTE+bl5cX27dvHVq1axRo1asR0dHTY33//Lar39OlTVr9+fWZhYcG2bt3KVq9ezQwMDJiNjQ0rKioS2+euXbsYx3Fs9OjRbO/evWzy5MmM4zi2bt26SuOIiYlhAFhMTEytnSshVdWyJWNA2f9/WIUfS0u+I5RPJSUl7Oeff2YaGhrM2tqa3bp1i++QapW0PtfkPhH9+eefrLi4WKzs/v37TFNTk02cOFFU5unpybS1tdnTp09FZaGhoYzjOLZnzx5R2du3b5mhoSEbOnSo2D4nTpzIdHR0WHZ2tsQ4KBERvk2dypia2vsTEMCYQFBel1RfQkICs7GxYerq6mznzp18h1NrpPW5JvdNc926dYOqqvjtUC1btoS1tTUSExNFZSdOnBC1iwv16dMHlpaWOHr0qKjs8uXLyMrKwsyZM8X2OWvWLLx58wZnz56tpTMhpPrq1gX272coLgYA7v8/kk2ZAvj6SisyxWRtbY0bN25g+vTp8PT0xOzZs2kgwyeQ+0QkCWMML168QP369QEAz549Q3p6Ouzs7CrU7dy5M2JjY0XPhY//W9fW1hYCgQBxcXG1GDkhVefhAejpARzHkJvL8L7kAwAtW5ZfE1ESqhnq6urYtm0bdu3ahd27d2PQoEF49eoV32HJJYVMRAcPHkRqairGjh0LoHyYKgCJEx0aGxsjKysLxeVfJZGWlgYVFRVREhNSV1eHoaEhUlNTazl6Qt7PwwNQVy+/Aiq/veX9V0DCBCRh/A6pAV988QWCg4MRHR2Nnj174uXLl3yHJHcULhElJiZi1qxZ6N69O6ZMmQIAotEtkkYFCafxENbJz8+vdOiqhoYGjZQhvHk3Af3bBCeZmhowdSolIGlxcnJCREQEMjIy0KdPH0pGH0mh5pp7/vw5Bg8eDH19fRw/flx0B7iWlhYAoLCwsMJrCgoKxOpoaWmhqKhI4v4LCgpE9Srj7e0NPT09sTI3Nze4ubl93MkQ8n8eHsCBA0BxsbD5rfIEpKsL0CQA/GjdujUuX74MR0dH9OnTB5cuXYKRkRHfYVVZYGAgAgMDxcpycnKkcmyFSUQ5OTkYOHAgXr9+jfDwcDRq1Ei0TdgkJ2yie1daWhoMDQ2hpqYmqltaWoqMjAyx5rmioiJkZWXBxMTkvXH4+PjA1ta2Jk6JEFhYlN8D9L4ExHHlCcjVlfp/+GZlZSVKRv369UN4eDjq1q3Ld1hVIukL861bt9CpU6daP7ZCNM0VFBRg6NChSEpKwpkzZ2BlZSW2vXHjxmjQoAFu3rxZ4bVRUVGwsbERPe/YsSMAVKgbHR2NsrIysbqE1CY3t3wkJZWhsgQkbH4rKwNycigJyQorKyuEhoYiOTkZ48ePR2lpKd8hyTy5T0SlpaUYO3Ysbty4gWPHjuGzzz6TWM/V1RVnzpxBSkqKqOzSpUu4f/8+Ro8eLSpzcnKCgYEBdu7cKfb6nTt3QltbG4MHD66dEyHk/968eYMVK1bgyJEUSPovKkxARUWUfGRVmzZtcOTIEZw/fx7ffvst3+HIPLlvmluwYAFOnz6NoUOHIiMjAwcOHBDbPnHiRADA4sWLcezYMTg6OsLLywu5ublYv3492rdvj6lTp4rqa2pqYuXKlZg1axbGjBmD/v37Izw8HAcPHsTq1atRr149qZ4fUR5lZWU4ePAgFi1ahPT0dNSt64mcnH+HZXMc4O5OyUdeODs7w8fHB15eXmjbti3c3d35Dkl21ertslLQu3dvJhAIGMdxFX4EAoFY3YSEBDZgwACmra3NDAwM2KRJk9jLly8l7veXX35hVlZWTENDg1lYWLDNmze/Nw6aWYF8isjISNa5c2cGgLm6urIHDx4wc3OalkfelZWVMQ8PD6alpcXu3r3Ldzgfjab4kTOUiEh1PH/+nLm7uzMArGPHjuzq1auibZMn/5uEGjSgaXnk1Zs3b1irVq2YnZ1dhXktZR1N8UOIAispKcGWLVtgaWmJoKAg7Nq1Czdv3kSvXr1Edfz9y/8VCMpnUKAmOflUp04dHDhwAHFxcVi5ciXf4cgkSkSESFlUVBS6dOmCefPmYfzqBQ71AAAgAElEQVT48fjnn3/wxRdfQEVFRayeh0d5v5BwVJyHB08Bk09mZ2eHJUuWYO3atbhz5w7f4cgcSkSESMnr168xa9YsdO3aFQBw/fp17Ny5E4aGhhLrR0SUN8wBQHp6+XMivxYuXIjmzZvD09MTTPiLJQAoEREiFUFBQbC2toa/vz98fHxEV0XvY28PCCeWb9Cg/DmRX5qamti5cyfCwsJw8OBBvsORKZSICKlF6enpGDt2LFxcXNChQwfcuXMHXl5eFZYukcTXtzwB6egAQ4ZQH5Ei6NOnD0aMGIHvv/++0qnElBElIkJqAWMMR44cgbW1NS5duoRDhw7hzJkzaNq06UftR129vI+IKI6VK1fi8ePH8KVvFiKUiAipYenp6Rg1ahTGjRsHR0dH3LlzB25ubqJJeKvKwwN48QJ4+xY4c4YGKyiKNm3awM3NDatWrRJNuqzsKBERUoNOnTqFNm3a4OrVqzh69CiOHj1a7RmYIyIA4ecUDVZQLEuXLkVqaioCAgL4DkUmUCIipAa8fv0aU6dOxfDhw9G1a1ckJCSIzWFYHfb2QJ065Y9psIJisbS0xPDhw+Hj44MyanulRETIp4qMjISNjQ2OHz+Offv24dSpU2jYsOEn79fX999ERDe0Kp758+cjMTERFy5c4DsU3lEiIqSaSkpKsHz5cvTs2RONGjVCfHw8PDw8ProvqDIeHv82zb16RX1Eisbe3h62trbYvXs336HwjhIRIdWQkpKCPn36YMWKFfjuu+8QFhYGc3PzGj1GRASQl1f+OCOD+ogUDcdxmDp1Ks6dO4f09HS+w+EVJSJCPtLp06fRoUMHPHz4EFeuXMGyZcuqdF/Qx7K3L2+SAwADA+ojUkTjxo0Dx3E4fPgw36HwihIRIVVUXFyMr776CsOGDUOPHj0QFxeHnj171trxfH0B4e579qQ+IkVUv359DBo0qMI6asqGEhEhVZCSkgJHR0ds3rwZP//8M06ePFnpHHE1acOG8n9jYqiPSFG5uroiKioKqampfIfCG0pEhHxAaGgoOnbsiMePHyMsLAze3t41NiDhQ5YtK/83JYVualVUgwcPhoqKCk6fPs13KLyhRERIJRhjWLt2LQYMGABbW1vExsaiW7duUo0hOvrfx3RTq2IyMDBAz549KRERQsTl5uZi1KhRWLRoERYuXIhz586hfv36Uo/j3S4ouqlVcfXv3x9Xr15FcXEx36HwghIRIf+RlJSErl27IiQkBL///jt+/PHHCovWSYuvb/kKrbRKq2JzcnJCXl4eYmJi+A6FF5SICHnHxYsX0blzZ5SUlCAqKgrDhw/nNR5hnxCt0qrYOnXqBF1dXVy+fJnvUHhBiYgQlPcHbd68GQMHDkS3bt1w48YNWFlZ8R0WIiL+XQaC+ogUl6qqKrp06YKbN2/yHQovKBERpVdcXIwvv/wS8+bNw/z583H69GnUq1eP77AAlPcJqamVP6Y+IsXWqVMnRL87OkWJUCIiSi07OxvOzs7Yv38/9u3bh/Xr1/PWHySJry/QqFH55Ke0Sqtis7Ozw9OnT/Hy5Uu+Q5G6mp+XhBA58fDhQwwaNAjp6ekICQmBg4MD3yFJpKFBq7Qqg/bt2wMAEhISqr2GlbyiKyKilKKiotC1a1eUlpbi+vXrMpuEPDyAZ8/KZ+GmG1oVm7m5OVRVVZGYmMh3KFJHiYgonZMnT6J3796wtLREZGQkLCws+A6pUhERQH5++WMarKDY1NTU0KJFC0pEhCi6Xbt2wdXVFYMHD0ZoaCgvN6l+DHt7QFu7/DENVlB8LVu2xMOHD/kOQ+ooERGlwBjD0qVL4enpidmzZ+PIkSPQ1NTkO6wPolValUuTJk2QkpLCdxhSR4mIKLzS0lJ8+eWXWLFiBdauXYtNmzZBIJCPP30PD6CwsPxxdjb1ESm6Jk2a4OnTp3yHIXU0ao4otMLCQkyYMAEnT56En58fpkyZwndIHyUiAnj9uvxxZib1ESk6Y2NjZGZmoqioCOrq6nyHIzXy8bWQkGp48+YNhg0bhjNnzuC3336TuyQElPcJCe+t1denPiJFJ1zjKjs7m+dIpIsSEVFI2dnZ6NevH/7880+cP38ew4YN4zukavH1BRwdyx9360Z9RIpOmIgyMzN5jkS6KBERhZOeng4nJyfcu3cPf/zxBxyFn+Ryatu28n/j4qiPSNEJp5Z69eoVz5FIFyUiolCeP3+O3r17IzU1FVeuXEHnzp35DumTLVxY/m9qKt3Uqui0tLQAAPnCm8eUBA1WIArj2bNnonVdrl69KhOzZ9eE69f/fUw3tSo2ZU1EdEVEFEJKSgp69+6NgoIChIWFKUwSAoAePQCOK39MN7UqNg0NDQDloz2VCSUiIvdSUlLg6OiIoqIiXLlyBS1atOA7pBrl6wuoqNAqrcqAE37jUDIKkYjevHmDpUuXwtnZGQYGBhAIBPD395dY9+7du3B2doauri4MDQ0xefJkZGRkSKy7b98+tG7dGlpaWrC0tMQ2Ya8xkRn/TUJmZmZ8h1TjPDwAxmiVVqK4FCIRpaenY+XKlbh37x5sbGwASP5mkZKSgl69euHhw4dYs2YNvvrqK5w9exb9+vVDcXGxWN3du3dj+vTpaNeuHbZt24Zu3bph7ty5+Omnn6RyTuTD0tLS4OTkpNBJCCjvEyotLX9MfUSKrez/630o25WRQgxWMDExwfPnz2FkZISYmJhKR0qtXr0a+fn5iI2NhampKQCgS5cu6NevH/z8/DB9+nQA5R2FS5YswZAhQ3D06FEAwOeff46ysjKsXLkSM2bMkJkVPJVVeno6+vbti7dv3yIsLExhkxBQ3ieUnAwUFVEfkaIrKCgAALmYB7EmKcQVkbq6umghKcZYpfVOnDiBIUOGiJIQAPTp0weWlpaihAMAly9fRlZWFmbOnCn2+lmzZuHNmzc4e/ZsDZ8B+RhZWVno378/MjMzcenSJZibm/MdUq3y9QWaNAE0NWmVVkUnHC0nHD2nLBQiEVXFs2fPkJ6eDjs7uwrbOnfujNjYWNFz4eP/1rW1tYVAIEBcXFztBksqlZeXh0GDBuHp06cIDQ1Fq1at+A5JKtTUaJVWZUCJSMGlpaUBKJ9U8L+MjY2RlZUl6idKS0uDiopKhbVq1NXVYWhoiNTU1NoPmFRQWFiI4cOH486dOwgODkbbtm35DkkqPDyAJ0/Km+bohlbFJpxRQdma/pUmEQm/aQjH6b9L2B4rrJOfn1/pzLcaGhpKd7OZLCgpKYGbmxsiIiJw+vRpdOrUie+QpCYiAnj7tvwxDVZQbFlZWQAAfX19niORLqVJRMJLXUk3igk7CIV1tLS0UFRUJHE/BQUFSnfZzDfGGL744gucPn0ax44dg4ODA98hSZW9PaCjU/6YBisoNuGs28qWiBRi1FxVCJvkhE1070pLS4OhoSHU1NREdUtLS5GRkSHWPFdUVISsrCyYmJhUehxvb2/o6emJlbm5ucHNza0mTkMpfffdd/D19cWvv/6KIUOG8B2O1Pn6AufOAXl5QN26NFhBkb148QL16tXjZS2iwMBABAYGipXl5ORI5dhKk4gaN26MBg0a4ObNmxW2RUVFie4/AoCOHTsCAG7evImBAweKyqOjo1FWViZW9798fHxga2tbg5Ert23btmH16tXYsGEDJk6cyHc4vPDwAP5/0S5apZWSkWJKTU2V2I8tDZK+MN+6dUsqzeBK0zQHAK6urjhz5ozYmvCXLl3C/fv3MXr0aFGZk5MTDAwMsHPnTrHX79y5E9ra2hg8eLDUYlZmx48fx9y5czF//nwsWLCA73B4ExFRPqMCAGRlUR+RIktLS+MtEfFJYa6Itm3bhlevXolGtAUFBeHJkycAgLlz56Ju3bpYvHgxjh07BkdHR3h5eSE3Nxfr169H+/btMXXqVNG+NDU1sXLlSsyaNQtjxoxB//79ER4ejoMHD2L16tVKN6KFDxEREZg4cSLGjRuH9evX8x0Or+ztywcpZGeXr9ZKfUSK68mTJwo1YW+VMQXRvHlzxnEc4ziOCQQCJhAIRI8fP34sqpeQkMAGDBjAtLW1mYGBAZs0aRJ7+fKlxH3+8ssvzMrKimloaDALCwu2efPmSo8fExPDALCYmJgaPzdl888//zBDQ0Pm4ODACgoK+A5HJowZwxjAWP/+fEdCapORkRFbtmwZ32GISOtzTWGuiB49elSletbW1rhw4UKV6k6bNg3Tpk37lLDIR8rIyMCgQYPQoEED/P777xKH2yujX34Bjh4Fbt+mPiJF9fbtW7x8+VKhp6uqjFL1ERHZVlhYiJEjRyInJwdnz55VuiGs7+PlVf7v8+d0U6uiSkpKAgCFW8akKhTmiojIN/b/e4WioqLwxx9/KPz8cR/rzz//fUw3tSqmu3fvAoBS9hHRFRGRCevXr4e/vz/27duH7t278x2OzLG3L18YD6CbWhVVYmIiGjRoAENDQ75DkTpKRIR3Z86cwcKFC7FkyRJMmDCB73Bkkq8voKpKq7QqsoSEBFhbW/MdBi8oERFe3b17F+PHj4eLiwtWrFjBdzgyy8OjfPZtWqVVccXFxb33ZnlFRomI8CY7OxsuLi5o2rQpAgICIBDQn2NlIiKAkpLyx9RHpHjy8vKQlJSEDh068B0KL2iwAuFFWVkZJkyYgIyMDNy8eRO6urp8hyTT7O2Bx4+BwkLqI1JE8fHxYIzRFREh0rR8+XJcuHABhw4dUsrhqh/L1xcwMwPU1WmVVkUUFRUFTU1NpVlj67/oiohI3ZkzZ7BixQqsWrUKzs7OfIcjN2iVVsUVFRWFTp06iVYAUDZ0RUSk6uHDh5g0aRJcXFywaNEivsORGx4ewMOH5f1EdEOr4rl+/Tq6dOnCdxi8oUREpKagoACjR4+GgYEB/Pz8aHDCR4iIAN68KX9MgxUUS0pKCpKTk9GjRw++Q+ENNc0RqfH29kZCQgIiIyNpBvOPZG8PpKUBublA/fo0WEGRhIeHA4BSJyL6Skqk4vDhw9i1axe2bNkiWniQVJ2vL/DZZ+WPhYvkEcVw9epVtGrVCkZGRnyHwhtKRKTWPXjwADNmzICbmxumT5/OdzhyS7h6dF4e9RMpkkuXLsHJyYnvMHj10YnowYMHOHv2LG7cuIGySobw/PXXX3SXPAEAFBUVYdy4cTAyMsKuXbvAcRzfIcmthIR/H1M/kWJ4/PgxkpKS0LdvX75D4VWVE1FZWRnc3d1hYWGBoUOHolu3brC0tJS4tk98fDyWL19eo4ES+bRkyRLEx8fj8OHDqFu3Lt/hyLV3B1XRTa2KITQ0FBzHoXfv3nyHwqsqJ6I9e/YgICAAU6dOxalTp7B7925oaGhg0KBBWL16dYX6jLEaDZTIn0uXLmHDhg1YvXo17Ozs+A5H7u3ZU/6vsTHd1Koozp8/j88++wwGBgZ8h8KrKo+a27NnD0aMGIF9+/aJyqZMmYLZs2fju+++w7Nnz7B9+/ZaCZLIn8zMTEyePBl9+vTB/Pnz+Q5HIQhnQaKbWhVDcXExQkJC8NVXX/EdCu+qfEWUlJRU4S54dXV17NmzB+vWrcOuXbswZswYFBcX13iQRL4IF7krKCiAv78/3S9UQ6ZPBzgOePGCBisogmvXruH169cYOHAg36HwrspXRDo6Onj9+rXEbV9//TUaNGiAadOmYeDAgXB1da2xAIn8OXjwIE6cOIFjx46hcePGfIejMCIiAGGLNw1WkH9BQUEwNjaGra0t36HwrspfVdu2bYuLFy9Wut3d3R0nTpxAREQEvvrqKxodpaSePn2K2bNnY8KECRg1ahTf4SgUe3tARaX8MQ1WkG+MMZw8eRLDhw+nFgN8RCJycXFBaGioaF31yuoEBwdDTU2NBisoIcYYPv/8c+jo6GDr1q18h6NwhKu0chyt0irv4uPjkZycjOHDh/MdikyociLy8PBAfHz8B+/+7dWrF+Lj4/HHH398cnBEvuzduxchISHYt28f9PX1+Q5H4QhXaWWMVmmVd8ePH4e+vr7SD9sWqnIfkZaWVpXXymjWrBmaNWtW7aCI/Hny5AkWLFiAzz//HAMGDOA7HIUUEQEIxwJRH5H8YozhyJEjGDFiBNSF02UoOWqcJJ+MMYYZM2ZAT08PGzdu5DschWVvD2hqlj+mPiL5FRsbi6SkJIwdO5bvUGQGJSLyyX799VcEBwdj9+7d0NPT4zscheXrC7RsWb5AHt3QKr8OHTqE+vXrw9HRke9QZAYlIvJJXr58CW9vb4wfPx6DBg3iOxyFp64OlJbyHQWprtLSUhw6dAjjxo1T2tVYJaFERD6Jt7c3AMDHx4fnSBSfhwfwzz/lAxbohlb59McffyAtLQ2TJk3iOxSZQgvjkWoLCQnBoUOH4Ofnp9RrqUhLRET5EhAADVaQV35+fmjVqhU6d+7Mdygyha6ISLUUFBRg5syZcHBwwOTJk/kORynY2wPCCcwNDWmwgrzJzs7GiRMn4OHhQTf8/0e1r4jS0tKwb98+xMbGIicnR2xtIsYYOI6je4kU2Lp16/D48WMEBQXRfyop8fUFnj8Hzp8HCgv5joZ8rMOHD6OkpIS+uElQrUR0+/ZtODg4oKCgAJaWlvjrr7/Qpk0bZGdnIzU1Febm5mjSpElNx0pkxMOHD7FmzRp89dVXaN26Nd/hKBVJq7TS6DnZxxjDL7/8gsGDB6NRo0Z8hyNzqtU0t3DhQujo6CAxMRGXLl0CAGzatAkpKSk4cuQIXr16hXXr1tVooER2eHt7w8jICEuWLOE7FKUTH//vY+onkh9RUVGIjY3Fl19+yXcoMqlaiSgiIgJffPEFmjVrJmqWEc4tN3r0aIwfP57W2FBQ58+fR1BQEDZu3AhtbW2+w1E63bv/+5huapUfO3fuRPPmzdG/f3++Q5FJ1UpEZWVlosvLevXqQUVFBVlZWaLt7dq1Q0xMTM1ESGRGcXEx5s2bB0dHR5pZmyf+/uX/NmxIN7XKi8zMTBw5cgRffPEFVITTpxMx1UpEzZs3x6NHjwAAKioqaN68OUJCQkTbIyMjUa9evZqJkMiMHTt2ICkpCZs2baIBCjxRVS3/oZta5ccvv/wCxhimTZvGdygyq1qJaMCAATh69Kjo+cyZM7Fv3z707dsXTk5O8PPzw/jx42ssSMK/zMxMLFu2DNOnT0f79u35DkdpCWfgzsigm1rlQUlJCbZv344JEyagfv36fIcjs6o1am7JkiUYN24cioqKoK6ujnnz5uHNmzc4fvw4VFVV8cMPP2Dx4sU1HSvh0YoVK1BaWooVK1bwHYpSi4goT0QADVaQB7/99htSUlIwZ84cvkORadW6ItLX14ednZ1oCnOO4/Ddd98hLi4O0dHRWLZsmdxPb15YWIhvv/0WJiYmqFOnDrp27YrQ0FC+w+JFUlISduzYgUWLFtEMCjyzty9vmgNosIKsY4xhw4YNcHJygo2NDd/hyDSaWaES7u7u8PHxwaRJk7BlyxaoqKhg0KBBiFDCr6BLlixBo0aNMG/ePL5DUXq+vuX3EtEqrbIvPDwcN2/epBHEVVDtmRWSk5Ph7++PR48eITs7W+LS4EFBQZ8UHF+ioqJw5MgRbNiwAfPnzwcATJo0CW3btsU333yjVMno5s2bOHr0KHx9faGlpcV3OErPw6N8oMK7q7RSMpJN69evR9u2beHs7Mx3KDKvWokoMDAQkydPRmlpKerVq4e6wgmw3iHPo6qEfV0zZswQlWloaODzzz/H4sWL8ezZMzRu3JjHCKVnyZIlsLa2pmlJZERExL/T+1Afkey6ffs2zpw5A39/f7n+LJSWaiWiRYsWwcrKCidOnIClpWVNx8S72NhYWFpaQkdHR6xcOGNuXFycUiSiK1euICQkBCdOnKD7H2SEvT3w9CmQn099RLJszZo1aNasGdzc3PgORS5Uq48oIyMDnp6eCpmEgPIJXY2NjSuUC8tSU1OlHZLUMcawZMkS2NnZYcSIEXyHQ/7P1xewsgJUVOiGVll1//59HD16FN9++y0tfldF1boi6tKlC548eVLTsciM/Px8aGhoVCjX1NQUbVd0ISEh+PPPP3H+/HlqWpAxtEqrbPvxxx/RsGFDTJ06le9Q5Ea1rog2bdqEgIAAHDt2rKbjkQlaWloolDDPfkFBgWi7ImOMYdmyZejatSsGDBjAdzjkHR4ewJ075Y9Pn6YbWmVNUlISDhw4gEWLFom+uJIPq9YVUfv27bFixQqMHTsW06ZNg6mpqVgfgnA9otu3b9dYoNJkbGwssfktLS0NAGBiYlLpa729vaGnpydW5ubmJldtxSEhIYiMjMSFCxfoakjGREQAubnljzMyaLCCrFm5ciWMjIwwffp0vkP5aIGBgQgMDBQry8nJkcqxq5WItm/fjjlz5kBLSwvm5uYVPngB+R4117FjR1y5cgW5ubnQ1dUVld+4cQMA3ntzmo+PD2xtbWs9xtq0atUqdOnShWYKlkH29kB2dvmIORqsIFvu3r2LAwcOYNOmTXJ5NSTpC/OtW7fQqVOn2j84q4bGjRsze3t79urVq+q8XObduHGDcRzHNmzYICorKChgLVu2ZN26dZP4mpiYGAaAxcTESCvMWhEWFsYAsFOnTvEdCqnE1KmMWVqW/0tkx+jRo1nTpk1ZQUEB36HUGGl9rlXriignJwcTJ06UeCWkCLp06YLRo0dj0aJFePnyJVq0aAF/f388efIE+/fv5zu8WrVmzRq0bdsWQ4YM4TsUUgkaKSd7bt26hWPHjsHX11fiQCfyftVKRL169cJff/1V07HIlICAAHz//ff49ddfkZ2djQ4dOuDMmTPo0aMH36HVmtu3b+P8+fM4cOAABAKa/YmQqlq4cCGsrKwwadIkvkORS9X6tNmxYweuXLmCdevWITMzs6ZjkgkaGhr46aefkJqaivz8fFy/fh39+vXjO6xatWHDBjRt2hRjxozhOxRC5MbFixcREhKCNWvWQFW12rOmKbVqJaK2bdvi0aNHWLRoERo0aABtbW3o6upCV1cXdevWFf1L5EdKSgoCAwMxb948ugmPkCoqKyvDt99+C3t7e7i4uPAdjtyqVvp2dXX9YB15HjWnjLZt24Y6derQKpKEfISAgADExcUhIiKCPvM+QbUSkZ+fXw2HQfj09u1b/PLLL5g2bZrYcHVCSOXy8vKwePFijBkzBt27d+c7HLlGPdIEhw4dQnZ2NmbNmsV3KITIjXXr1iErKws//fQT36HIvWpdEX1oanOO46CpqQlTU1PY2trScEYZxhjD1q1bMXToUJibm/MdDiFyITk5GRs2bMCCBQvQrFkzvsORe9VKRB8zmZ+enh4WLlyIb7/9tjqHIrUsMjISt2/fpm91hHyE+fPnw9DQEIsWLeI7FIVQrUQUGxuLKVOmoH79+pg1axZatGgBoHzCv+3btyM7Oxtbt25Feno6tm7dikWLFkFXVxczZ86s0eDJp9u1axdatGih8EPTCakpFy9exO+//47AwMAKa5aR6uEYk7DG9we4u7sjLS1N4qSYZWVlGDhwIIyNjeHn54fS0lL06tULr1+/VuibYIVzMsXExMjNXHNZWVkwMTHBihUr8M033/AdDiEyr7CwEB06dEDDhg1x5coVhR8pJ63PtWoNVjh16hSGDx8u8ZcgEAgwbNgwnDp1CgCgoqKCkSNH4v79+58WKalxBw8eRGlpKdzd3fkOhRC5sH79ejx48ADbt29X+CQkTdVKRKWlpUhMTKx0+71791BWViZ6rqGhIZez0So6X19fDB06FEZGRnyHQojMe/DgAX788UfMnz8fbdu25TschVKtROTi4oIdO3Zg69atosXigPKVS7ds2YKdO3di6NChovLr16+jZcuWnx4tqTGxsbGIi4uDB62sRsgHMcYwa9YsGBkZ4YcffuA7HIVTrcEKmzZtwoMHD+Dl5YWvv/4axsbGYIwhLS0NxcXF6NKlCzZv3gygfFVTTU1NLFiwoEYDJ58mICAARkZGcHZ25jsUQmTeoUOHEBwcjNOnT0NbW5vvcBROtRKRoaEhrl27hpMnT+LChQt4/PgxAKB///5wdnbG8OHDRbM3a2pqYu/evTUXMflkJSUlCAwMhJubG03SSMgHZGRkYN68eRgzZgwtj1JLqv0pJBAIMHLkSIwcObIm4yFSEBoaihcvXtCU9YRUwfz581FaWipq5SE1j74OK6EjR47A0tJSboaZE8KXM2fO4Ndff4Wfnx8aNWrEdzgKq0qJyMzMDBzH4d69e1BTUxM9l3QLkrCc4zg8fPiwxgMmn6awsBC///475s6dS8NPCXmPV69e4YsvvsDAgQMxefJkvsNRaFVKRA4ODuA4TvTB5eDg8MHX0IecbAoJCUFOTg7Gjh3LdyiEyDRvb2/k5eVhz5499HlWy6qUiP677AMtAyG/fvvtN1hZWaFNmzZ8h0KIzAoKCoKfnx/27t0LU1NTvsNReLQMhBIpKSlBUFAQRowYwXcohMis9PR0TJ8+HUOGDKH77KSkWokoNjYWgYGBYmUXLlxAz5498dlnn2HTpk01EhypWREREcjMzMTw4cP5DoUQmcQYg6enJ0pLS/HLL79Qk5yUVCsRffvttzhy5Ijo+aNHjzBy5EgkJyeDMYb58+dj9+7dNRYkqRmnT59Go0aNYGdnx3cohMgkf39/nDhxArt27aJRclJUrUQUHx8Pe3t70fOAgAAIBALcunULUVFRGD16NCUiGXTu3DkMHDhQdLMxIeRfDx48wJw5czB16lSMGjWK73CUSrU+kXJyclC/fn3R83PnzqFfv35o0KABAKBv374027aMefToEe7evYvBgwfzHQohMqe4uBjjx49Hw4YN6cZVHlTrhtZGjRrhzp07AIC0tDTExMSILSWQl5dH37plzMWLF6GiooK+ffvyHQohMueHH35ATEwMIiIioKury3c4SqdaiWj48Kwn5n8AACAASURBVOHYunUrCgsLcf36dairq4uNxLp9+zbMzc1rLEjy6UJDQ/HZZ59BT0+P71AIkSkhISFYu3Yt1q5di88++4zvcJRStS5bVq5cCVdXVwQEBCA9PR3+/v6ijr2cnBwcO3YM/fv3r9FASfWVlZXhjz/+QJ8+ffgOhRCZIpxzsV+/fvj666/5DkdpVeuKSFdXFwcPHqx0W0pKCk2VLkNu376NrKwsSkSEvKO0tBTjx48HAPz666/UncCjGp/0VCAQoF69ejW9W/IJwsLCoK6uTs0OhLxj+fLluHLlCkJDQ9GwYUO+w1FqNPu2EggPD0eXLl1ouXZC/i84OBirVq3CypUr4ejoyHc4So+uRRUcYwwRERHo0aMH36EQIhMeP36MCRMmwNnZGYsWLeI7HAJKRAovJSUFaWlp6NatG9+hEMK7/Px8uLq6QkdHh/qFZAg1zSm4GzduAAA6d+7McySE8IsxhpkzZyIhIQEREREwNDTkOyTyf5SIFFxUVBRMTU1hbGzMdyiE8Grnzp3w8/ODn58frU4sY+i6VMHFxcWhU6dOfIdBCK/CwsLg5eWFOXPmYMqUKXyHQ/6DEpECY4whLi4OHTp04DsUQnjz+PFjuLq6omfPnti4cSPf4RAJKBEpsOfPnyM9PZ0SEVFaubm5GDZsGHR1dXHs2DGoqanxHRKRgPqIFJhwYtq2bdvyHAkh0ldaWoqJEyfi0aNH+PPPP2lwggyjRKTAEhMToaamRhPQEqW0aNEinDlzBqdPn6YvYzJO7pvmnj9/joULF8LR0RG6uroQCAS4evVqpfX//PNP9OjRA9ra2jA2NoaXlxfevHlToR5jDD/99BPMzMygpaWFDh064PDhw7V5KjUuMTERFhYWUFWl7xtEuezduxfr16/Hxo0bMWjQIL7DIR8g94koMTERP/30E9LS0tC+fXsAqHSd+bi4OPTp0wcFBQXw8fHBtGnTsGfPHowePbpC3cWLF2PhwoUYMGAAtm3bhqZNm2L8+PFiS6TLuqSkJLRs2ZLvMAiRqosXL+LLL7+Ep6cnvLy8+A6HVAWTc7m5uSw7O5sxxtixY8cYx3Hs6tWrEusOHDiQNW7cmOXm5orK9u7dyziOYxcvXhSVpaSkMDU1NTZnzhyx1/fq1Ys1adKElZaWVth3TEwMA8BiYmJq4rRqRKtWrZiXlxffYRAiNXFxcUxXV5cNHjyYFRcX8x2O3JPW55rcXxHp6OhUabbv169fIzQ0FBMnToSOjo6ofPLkydDR0cHRo0dFZadOnUJJSQlmzpwptg9PT0+kpKQgMjKy5k6glpSVlSE5ORlmZmZ8h0KIVDx9+hSDBw+GhYUFDh8+TE3SckTuE1FV/fXXXygpKYGdnZ1YuZqaGmxsbBAbGysqi42NhY6ODqysrMTqCqfJiYuLq/2AP1FGRgYKCwvRtGlTvkMhpNZlZWVhwIABUFVVxZkzZ8S+bBLZpzSJKC0tDQAkTnXTqFEjpKamitWVtD6J8LXv1pVV7ztfQhRJfn4+hg0bhpcvXyI4OJj+5uWQTF27MsZQWFhYpbofu7ZOfn4+AEBDQ0PivoTbhXUrq/fuvmSZMBGZmJjwHAkhtaekpARubm6IjY3FH3/8gVatWvEdEqkGmUpEV69ehZOTU5XqJiYmwtLSssr71tLSAgCJia6goAB16tQRq1tQUCCx3rv7ksTb2xt6enpiZW5ubnBzc6tyrDXhxYsXAAAjIyOpHpcQaSkrK8P06dNx9uxZnDp1ilYg/kSBgYEIDAwUK8vJyZHKsWUqEbVu3Rp+fn5VqtuoUaOP2rfwcl14pfCutLQ0sSsHY2NjXLlyRWI94P1XGT4+PjIxs292dja0tLRoVVaikBhjWLBgAfz9/XHgwAG6V6gGSPrCfOvWLalMmixTiahhw4aYPHlyrey7bdu2UFVVxc2bNzFq1ChReVFREeLi4jBu3DhRWceOHbFv3z7cvXsXrVu3FpUL1/axsbGplRhrUnZ2NgwMDPgOg5BasWrVKmzatAk7duzA+PHj+Q6HfCKlGaygp6eHvn374sCBA8jLyxOV//rrr3jz5o3YTa0uLi5QU1PDjh07RGWMMezatQumpqbo3r27VGOvjlevXlVoIiREEfj4+OCHH37AqlWr4OnpyXc4pAbI1BVRda1atQoAkJCQAAAICAhAWFgYAOC7774T1fvxxx/RvXt3ODg4YPr06UhJScHPP/+MAQMGoH///qJ6jRs3xrx587B+/XoUFxfDzs4OJ0+exLVr13Do0KFKZ26QJfn/a+/Oo6K4sz2Af6uhhWYREZVuFYWgLC6IuAVUXDDKImKMiMkQjKLPEOW5jUic6IxRRs3mEjcEHY0ixkSjzqgRNQqiJjECcQONiZowgDsISLP1fX/kUM+2wRgFiu6+n3P6aP/qVvW9FPTtqq6lrEzrey/GDMH69esxe/ZsxMbGYv78+VKnw+pLg54u20gEQSCZTKb1b83/n5Senk79+/cnhUJB9vb2FB0dTSUlJTpxGo2Gli5dSo6OjmRmZkbdu3enHTt21JlDU7uyQnh4OA0cOFDqNBirN5s3byYANGPGDNJoNFKnYxQa633NILaINBrNM8f2798f6enpfxgnCAJiY2MRGxv7IqlJpry8nA9UYAZj27ZtiIyMxNSpU7FixQq92CvBnp3RfEdkbDQaDWQyXr1M/23fvh0TJkzAxIkTsW7dOm5CBojfqRhjTdb27dsRERGBiRMnIiEhgT9cGSheqwaMiKROgbHntnXrVm5CRoLXrIEyMzN75sslMdbUbNiwAW+99RYmT57MTcgI8No1UAqFQi+uicfYk1auXImoqChER0cjPj6em5AR4DVsoBQKBR49eiR1Gow9MyJCXFwcZs2ahZiYGKxatYoPTDASBnH4NtPVokWLRrtgIWMviogwd+5cfPzxx1i0aBEWLFjATciIcCMyUHZ2drh3757UaTD2h6qrqzF16lRs2rQJq1evRnR0tNQpsUbGjchAtWzZEo8ePYJareYTW1mTpVarER4ejr179+Kzzz7Dm2++KXVKTAL8HZGB0qe7yTLjVFhYiBEjRuDAgQP46quvuAkZMW5EBsrBwQEAkJubK3EmjOn673//C19fX1y4cAHHjh1DcHCw1CkxCfGuOQPVvn17AMCvv/4qcSaMabt06RICAwNBRDh16pTWPb+YceItIgNlZWWFNm3a4Oeff5Y6FcZE33zzDfr3748WLVrg9OnT3IQYAG5EBs3V1RU5OTlSp8EYgN/vE+bv749+/frh5MmT4lY7Y9yIDJibmxs3IiY5jUaDBQsWYMKECYiIiMB//vMfNG/eXOq0WBPCjciAde3aFdnZ2aisrJQ6FWakHj16hLCwMMTFxWHZsmVISEiAXC6XOi3WxPDBCgasd+/eKC8vx6VLl+Dp6Sl1OszI5ObmYvTo0cjOzsaePXswevRoqVNiTRRvERkwT09PyGQynDt3TupUmJH59ttv0adPH9y+fRvp6enchNhTcSMyYJaWlujWrRtOnz4tdSrMiPzrX//CoEGD4OzsjLNnz6Jnz55Sp8SaOG5EBm7w4ME4fvy41GkwI1BRUYFp06Zh0qRJmDBhAr755hvY29tLnRbTA9yIDNyQIUNw/fp13LhxQ+pUmAHLy8vDkCFDkJCQgPXr1yM+Ph7NmjWTOi2mJ7gRGbhBgwbBxMQEKSkpUqfCDFRaWhp69eqFGzduIC0tDW+//TbfwoH9KdyIDJytrS0GDBiAffv2SZ0KMzAajQbLli3DkCFD4ObmhoyMDLz88stSp8X0EDciIxASEoJjx46hpKRE6lSYgbh//z5CQkLw7rvvIjY2FkeOHOHvg9hz40ZkBEJCQlBeXo4DBw5InQozAKdOnYKnpydOnz6NAwcOIC4uDqamfEoie37ciIzASy+9BG9vb3z22WdSp8L0WHV1NeLi4jBo0CB07NgRWVlZCAwMlDotZgC4ERmJiIgIHD58GAUFBVKnwvRQbm4uXnnlFSxYsADz58/H8ePHxXteMfaiuBEZibCwMJiYmGDbtm1Sp8L0zJdffgkPDw9cvXoVx44dw/vvv8+74li94kZkJGxtbREWFoa1a9eiqqpK6nSYHigqKsLEiRMRGhoKPz8/nD9/HkOGDJE6LWaAuBEZkZkzZ+LmzZv46quvpE6FNXHHjx+Hh4cHdu/ejc2bN2PXrl1o2bKl1GkxA8WNyIh4eXlh8ODB+PDDD0FEUqfDmqDS0lLMnDkTQ4cOhZOTE86fP4+JEyfyCaqsQXEjMjJ/+9vfcPbsWT6Um+lITU1Fjx49EB8fj08++QTffPMNHB0dpU6LGQFuREbGz88Pvr6+WLBgATQajdTpsCaguLgY0dHRGDx4MFQqFc6fP49Zs2ZBJuO3B9Y4+DfNyAiCgMWLFyMrKwtffvml1OkwiR04cABdu3bF5s2bsWrVKqSmpqJz585Sp8WMDDciI+Tr64ugoCDExMSgtLRU6nSYBAoKCjB+/HiMHDkS7u7uuHjxIv73f/+Xt4KYJPi3zkitXLkSBQUFWLx4sdSpsEZUXV2NtWvXwtXVFceOHcO2bdvw9ddfw8nJSerUmBHjRmSkOnXqhPfeew8ff/wxLly4IHU6rBF8//33ePnllzF9+nSEhYXhypUrCA8P5yPimOT0vhEdO3YMkyZNgouLCywtLeHs7IwpU6bUeSmb06dPY8CAAbC0tIRKpcKMGTNq3T1FRPjggw/g5OQEhUKBHj16YOfOnQ1dTqOaO3cuXF1d8eabb6K8vFzqdFgDuX37NiIjI9GvXz9UVlbi9OnT2LhxI58XxJoMvW9E8+bNQ1paGl577TV8+umnGD9+PHbt2oWePXvi1q1bWrFZWVnw8/ODWq3GihUrMHnyZGzcuBGhoaE6y50/fz5iY2MxYsQIrFmzBh06dMAbb7yBzz//vLFKa3BmZmZISkrC5cuXsXDhQqnTYfWsoqICK1euhIuLC7766iusXbsW586dg7e3t9SpMaaN9NzJkyd1xtLS0kgQBHrvvfe0xgMCAqhdu3ZUXFwsjiUmJpIgCJSSkiKO5ebmklwup+joaK35fX19ycHBgaqrq3Ve89y5cwSAzp0796IlNbrly5eTIAj09ddfS50KqwcajYb2799PnTt3JplMRlOnTqU7d+5InRbTQ431vqb3W0QDBgzQGRs4cCBatmyJnJwccezhw4c4evQowsPDYWVlJY5HRETAysoKu3btEsf27duHqqoqvPPOO1rLjYqKQm5uLs6cOdMAlUjnr3/9K/z9/TF+/HhcuXJF6nTYCzh37hyGDRuGUaNGoUOHDsjKysKGDRvQqlUrqVNjrE5634hqU1JSguLiYq0/vgsXLqCqqgq9e/fWipXL5fD09ERmZqY4lpmZCSsrK7i5uWnF9unTB8Dvu/gMiUwmQ3JyMlQqFYKDg3H//n2pU2J/0vXr1/HGG2+gd+/eKCgowL///W8cOXIE3bt3lzo1xv6QQTailStXorKyEmFhYeJYfn4+AEClUunEK5VK5OXlacXWdtvjmnkfjzUUNjY2+Pe//4379+8jNDQUFRUVUqfEnkFeXh6mTZsGV1dXpKamIjExET/++CNGjhzJR8MxvdGkGhERQa1WP9OjLmlpaVi0aBHCwsIwePBgcbysrAzA71/QP8nc3FycXhNbV9zjyzI0zs7O2LNnD06dOsXNqIm7ffs25s6dC2dnZyQnJ2PJkiX46aefEBkZyfcKYnqnSTWi1NRUWFhYPNPj6tWrOvPn5OTg1VdfhYeHBxITE7WmKRQKAKj1MGW1Wg0LCwut2NqaXc1YzbIMka+vL/bu3YvDhw9zM2qCbt++jZiYGDg5OSE+Ph5z587F9evXERMTo/U7zJg+aVIfndzd3bFly5ZnilUqlVrPf/vtNwwfPhy2trY4ePAgLC0ttabX7Far2UX3uPz8fLRt21Yr9sSJE7XGAdCKfdKsWbNgY2OjNfb666/j9ddff3pBTYi/vz/27t2L0aNHIzQ0FLt27ap1C5E1ntzcXHz00UfYuHEjTE1NMXv2bMyaNYvPBWL1Jjk5GcnJyVpjRUVFjfPiDXpMXiO5e/cuubm5kVKppGvXrtUaU1hYSHK5nGJiYrTGy8vLycrKiiZPniyOrV27lgRBoMuXL2vFJiUlkSAIlJ6errN8fT58uy6HDh0iMzMzGjBgAN2+fVvqdIxSdnY2RUZGklwuJ1tbW/r73/9O9+7dkzotZiT48O1nVFpaisDAQOTn5+PgwYNwdnauNc7GxgbDhg3D9u3bUVJSIo5v27YNpaWlWie1hoSEQC6XY926deIYEWHDhg1o3749fHx8Gq6gJsTf3x/Hjx/H1atX0bdvX1y8eFHqlIwCESEtLQ2jRo2Cu7s7Dhw4gLi4ONy8eRP/+Mc/eCuIGZwmtWvuefzlL3/B2bNnMWnSJFy6dAmXLl0Sp1lbWyMkJER8HhcXBx8fHwwaNAhTpkxBbm4uPvnkE4wYMQLDhw8X49q1a4eZM2fiww8/RGVlJXr37o29e/ciPT0dO3bsMKqjkby9vfH9998jODgYPj4++OyzzzB69Gip0zJI5eXl2LlzJ1avXo2MjAx06dIFmzdvxhtvvMG7Rplha9DtrUbg6OhIMpmMBEHQeTg5OenEp6enU//+/UmhUJC9vT1FR0dTSUmJTpxGo6GlS5eSo6MjmZmZUffu3WnHjh115mGIu+Ye9/DhQxozZgwBoLfffrvWnxl7PtevX6d3332XWrduTQAoICCADh06RBqNRurUmJFrrPc1vW9ETYWhNyKi35vz+vXrSaFQUOfOnenUqVNSp6S3KioqaN++fRQYGEiCIFDz5s0pOjqacnJypE6NMRF/R8SaHEEQ8PbbbyMrKwstW7ZE//79MXXqVL4Sw5+QnZ2NefPmwcHBASEhIbh16xYSEhKQl5eH1atXw9XVVeoUGWt03IjYn+bi4oJTp05hzZo12LlzJ1xdXbF27Vo+56gOBQUFWLlyJXr16oUuXbogMTERYWFhyMrKwg8//IDIyEid0w0YMybciNhzMTExwbRp05CTk4OgoCBER0fDxcUFmzdvRlVVldTpSe7OnTuIj4/H0KFD0a5dO8TExKBjx47YvXs38vLysGrVKvTo0UPqNBlrErgRsReiUqmwZcsWXLx4EX369EFkZCRcXFywevVqFBcXS51eo/rll1+wYsUKDBo0CEqlEtOmTYOpqSk2btyIgoIC7NmzB2PGjOEj4Bh7AjciVi+6dOmCL774ApmZmfD29sbs2bPh4OCAmTNnGtzVymuo1WocO3YMc+bMgbu7O5ydnREbGwtra2vEx8cjPz8fKSkpiIyM5HN/GHsKvT+PiDUtnp6eSEpKwrJly7BmzRps2bIFq1atgoeHB8LDwzFmzJg6Tzpu6ioqKpCRkYHU1FQcO3YMJ0+ehFqthkqlQmBgIJYsWYLhw4fD2tpa6lQZ0ysCEZHUSRiCjIwM9OrVC+fOnYOXl5fU6TQZlZWVSElJwdatW7F//36Ul5eja9euGDVqFF555RV4e3uLVzVvagoKCvD999/ju+++w5kzZ/Dtt9+irKwMFhYWGDRoEIYNGwY/Pz94eHgY1UnOzHg01vsabxGxBiWXyxEUFISgoCCUlJQgJSUF+/btQ0JCApYuXQozMzP07dsXPj4+6N27N3r16gVHR8dGfWMvLS3FlStXkJOTg4sXLyIrKws//vijeN8ppVKJfv36YfHixRg4cCB69uwJuVzeaPkxZui4EbFGY2VlhTFjxmDMmDHQaDS4ePEivvnmG5w8eRLbt2/H8uXLxTgXFxe4ubnhpZdegoODA9q3bw+VSgU7Ozu0bNkSlpaWf9isqqqqUFhYiPv37+P+/fsoKChAfn4+8vPzcePGDdy4cQPXr19Hbm6uOE+7du3g6emJt956Cz179kS/fv3Qvn173uJhrAFxI2KSkMlk8PDwgIeHB2bOnAng911hGRkZuHz5Mq5cuYLs7GykpqYiPz8fGo1GZ36FQgFzc3Oto9A0Gg3Kysrw6NEjVFZW6ryuiYkJ7O3t0bFjRzg5OcHX1xedOnWCu7s7XF1d0aJFi4YtnDGmgxsRazKUSiUCAwMRGBioNV5VVYX8/HzcunUL9+/fx71791BUVAS1Wo2ysjKUl5dDEATxoVAoxIetra34UCqVaNWqFUxMTCSqkDFWG25ErMkzNTWFg4MDHBwcpE6FMdYA+DwixhhjkuJGxBhjTFLciBhjjEmKGxFjjDFJcSNijDEmKW5EjDHGJMWNiDHGmKS4ETHGGJMUNyLGGGOS4kbEGGNMUtyIGGOMSYobEWOMMUlxI2KMMSYpbkSMMcYkxY2IMcaYpLgRMcYYkxQ3IsYYY5LiRsQYY0xS3IgYY4xJihsRY4wxSXEjYowxJiluRIwxxiTFjYgxxpikuBExxhiTFDcixhhjkuJGxBhjTFJ634jS0tIwatQodOjQAQqFAvb29vDz88OhQ4dqjT99+jQGDBgAS0tLqFQqzJgxA6WlpTpxRIQPPvgATk5OUCgU6NGjB3bu3NnQ5TDGmNHR+0b0008/wdTUFFFRUVi3bh1iYmJw//59BAUFISkpSSs2KysLfn5+UKvVWLFiBSZPnoyNGzciNDRUZ7nz589HbGwsRowYgTVr1qBDhw5444038PnnnzdWaYwxZhzIAD169IiUSiX5+vpqjQcEBFC7du2ouLhYHEtMTCRBECglJUUcy83NJblcTtHR0Vrz+/r6koODA1VXV+u85rlz5wgAnTt3rp6rYYwxaTTW+5rebxHVRqFQoFWrVpDL5eLYw4cPcfToUYSHh8PKykocj4iIgJWVFXbt2iWO7du3D1VVVXjnnXe0lhsVFYXc3FycOXOm4YtgjDEjYTCN6OHDh7h79y5ycnIwf/58XL16FXPmzBGnX7hwAVVVVejdu7fWfHK5HJ6ensjMzBTHMjMzYWVlBTc3N63YPn36APh9Fx9jjLH6YSp1AvVl3LhxSElJAQBYWlpi165dCAgIEKfn5+cDAFQqlc68SqUS6enpWrH29vY6cTXz5uXl1WvujDFmzJrUFhERQa1WP9PjScuXL8eRI0ewadMmdOnSBePHj8eRI0fE6WVlZQAAMzMznXnNzc3F6TWxdcU9vizGGGMvrkk1otTUVFhYWDzT4+rVq1rz9ujRA35+fpg4cSLS09PRqVMnTJs2TZyuUCgAAOXl5Tqvq1arYWFhoRVbW7OrGatZlqFLTk6WOoV6ZUj1GFItANdj7JrUrjl3d3ds2bLlmWKVSmWd0+RyOYKDg7Fs2TIUFhaiRYsW4m61ml10j8vPz0fbtm3F5yqVCidOnKg1DoBW7JNmzZoFGxsbrbHXX38dr7/++lPraYqSk5P1Mu+6GFI9hlQLwPU0BcnJyToNtKioqFFeu0k1Int7e0RERNTLsmp2n8lkv2/0devWDaampjh79izGjh0rxlVUVCArKwvjx48Xx3r27IlNmzYhOzsb7u7u4vh3330HAPD09KzzdVesWAEvL696qYExxhpLbR+YMzIy0KtXrwZ/7Sa1a+553L59W2essLAQu3fvRvfu3dG8eXMAgI2NDYYNG4bt27ejpKREjN22bRtKS0u1TmoNCQmBXC7HunXrxDEiwoYNG9C+fXv4+Pg0YEWMMWZcmtQW0fMICAiAg4MD+vbtizZt2uDXX3/Fv/71L9y5c0dnN19cXBx8fHwwaNAgTJkyBbm5ufjkk08wYsQIDB8+XIxr164dZs6ciQ8//BCVlZXo3bs39u7di/T0dOzYsQOCIDRylYwxZrj0vhFFRkZi586dWLlyJQoLC2FnZ4cBAwbg3Xff1dlF1rNnTxw9ehTz5s3D7Nmz0bx5c0yePBlLly7VWe6yZctga2uL+Ph4bNmyBS4uLkhKStLahfe4ml2B2dnZ9V+kRIqKipCRkSF1GvXGkOoxpFoArqepqnk/a+gjhQUiogZ9BSORlJSE8PBwqdNgjLF6t337dvzlL39psOVzI6ond+/exeHDh+Ho6Gg0h3czxgxbWVkZbty4gREjRqBVq1YN9jrciBhjjElK74+aY4wxpt+4ETHGGJMUNyLGGGOS4kbEGGNMUtyI/oS0tDSMGjUKHTp0gEKhgL29Pfz8/HDo0KFa40+fPo0BAwbA0tISKpUKM2bMQGlpqU4cEeGDDz6Ak5MTFAoFevTogZ07dzZ0OTh27BgmTZoEFxcXWFpawtnZGVOmTEFBQUGt8U25noKCAsTGxmLIkCGwtraGTCZDampqnfFNuZa6lJeXY968eWjbti0sLCzw8ssv4+jRo5LkUpfS0lL8/e9/h7+/P1q2bAmZTIatW7fWGpudnQ1/f39YW1vDzs4OERERuHv3bq2xmzZtgru7OxQKBVxcXLBmzZqGLAMAcPbsWUyfPh1du3aFlZUVOnbsiLCwMPz00086sU29FgC4dOkSQkND4ezsDEtLS9jZ2cHHxwdJSUk6sY1eT4Pe/9XAJCYm0quvvkr//Oc/afPmzfTRRx+Rp6cnCYJA27dv14rNzMwkc3Nz6tWrF8XHx9N7771H5ubmFBAQoLPc2NhYEgSBpk6dSomJiTRy5EgSBIF27tzZoPX06tWLnJ2dKTY2ljZt2kTz58+n5s2bk1KppIKCAr2q5/jx4yQIArm6upKPjw8JgkCpqam1xjb1Wuoyfvx4ksvlFBMTQwkJCeTj40NyuZzS09MbPZe6XL9+nQRBIEdHRxoyZAgJgkBbt27Vifvtt9+oVatW1LlzZ/r000/pn//8J7Vs2ZI8PT2poqJCK3bDhg0kCAKFhoZSYmIiRUREkCAItHz58gat5bXXXqO2bdvSjBkzaNOmTbRkyRJSKpVkZWVFFy9e1KtaiIgOHjxI/v7+9P7771NiYiKtXr2afH19SRAEWrJkiaT1cCN6QY8ePSKlUkm+vr5a4wEBBKkiBgAADgpJREFUAdSuXTsqLi4WxxITE0kQBEpJSRHHcnNzSS6XU3R0tNb8vr6+5ODgQNXV1Q2W+8mTJ3XG0tLSSBAEeu+997TGm3o9xcXF9ODBAyIi+uKLL57aiJp6LbX57rvvSBAE+vjjj8UxtVpNnTp1Ih8fn0bL44+Ul5fTrVu3iIjohx9+qLMRRUVFkaWlJf3222/i2NGjR0kQBNq4caM49ujRI7Kzs6Pg4GCt+cPDw8nKykpc5w3h9OnTVFlZqTX2008/kbm5OYWHh4tj+lBLXaqrq8nT05M6dOggjklRDzeietCtWzfy8/MTnxcVFZFcLqd58+ZpxVVUVJC1tTVNnjxZHFu7di0JgkDZ2dlascnJySQIgiSfdu3s7Gjs2LHic32r52mNSN9qqTF37lySy+VazZOIaOnSpSQIAuXm5jZaLs/q7NmzdTaiNm3aUFhYmM64q6srDRs2THx+4MABEgSBDh06pBV35syZWvdENAYvLy/q3bu3+FyfayEiGjlyJDk7O4vPpaiHvyN6Dg8fPsTdu3eRk5OD+fPn4+rVq5gzZ444/cKFC6iqqkLv3r215pPL5fD09ERmZqY4lpmZCSsrK7i5uWnF9unTBwCQlZXVgJXoKikpQXFxsdZZ1Ppcz5P0tZbMzEy4uLjAyspK8lxe1H//+1/cuXNHZx0Av9fz5DoAoBPr5eUFmUzW6HUTEW7duiX+fehjLY8ePcLdu3fx888/Y8WKFTh8+DBiYmIASFeP3l/0VArjxo1DSkoKAMDS0hK7du1CQECAOL3mBno1N+N7nFKpRHp6ulasvb29TlzNvHl5efWa+x9ZuXIlKisrERYWJo7pcz1P0tda8vPza825qfxc/4ynrQOVSoX79++jsrIScrkc+fn5MDEx0bm8TLNmzWBnZ9fodSclJSEvLw9LliwBoJ+1zJ49Gxs3bgQAmJqaYvXq1fif//kfANLVY7SNiIhqvW14bczNzbWeL1++HHPnzsWvv/6KDRs2YPz48di/fz9eeeUVAP9/pVozM7Nal/X4lWzLysrqjHt8WQ1ZT420tDQsWrQIYWFhGDx4sFaOQOPVUx+11EWKdVMfmlIuL+qP1kFNjFwuR1lZGZo1a1brcszMzBq17pycHEybNg0+Pj6YMGGCmGdNLk9qqrXMmjUL48aNQ15eHpKSkjB9+nQoFApMmDBBsnqMthGlpqZi6NChzxSbk5MDFxcX8XmPHj3E/4eHh8PLywvTpk3D1atXAUC86Gltb6ZqtRoWFhbic4VCAbVaXWvc48v6Iy9ST83Yq6++Cg8PDyQmJmpNa+x6XrSWp5Fi3dQHhUJRZ86NncuL+qN18HiMQqFARUVFrctRq9WNVndBQQGCgoJga2uLL7/8UrwnmT7W4urqCldXVwC/v3+NGDECM2fORFhYmGT1GG0jcnd317lxXl2USmWd0+RyOYKDg7Fs2TIUFhaiRYsW4mZtzWbu4/Lz89G2bVvxuUqlwokTJ2qNA6AV+zQvUs9vv/2G4cOHw9bWFgcPHoSlpaXW9Maup77WTW2kWDf1QaVS1bqrQ4pcXtQfrQM7OzvI5XIxtrq6Gnfv3tXaBVRRUYH79+83St1FRUUICAjAw4cPcfLkSa3fOX2rpTavvfYajhw5gpycHMnqMdpGZG9vj4iIiHpZVs0mqEz2+7Ef3bp1g6mpKc6ePYuxY8eKcRUVFcjKytK6uV7Pnj2xadMmZGdnw93dXRz/7rvvAACenp7PlMPz1nPv3j0MHz4clZWVOH78eK3fiTR2PfW5bp4kxbqpDz179sSJEydQXFwMa2trSXN5Ue3atUPr1q1x9uxZnWnff/+9Vi09e/YE8PvJpY9/D/vDDz9Ao9E0eN1qtRrBwcG4du0ajh49qnPgij7VUpfH378kq+dPHuln1GrOj3jcgwcPyMHBgTw8PLTGAwICqG3btrWeq3L48GFxLDc3l5o1a0bTp08XxzQaDQ0cOJAcHBxIo9E0QCW/Kykpob59+5KNjQ1lZGQ8NVYf6qnxLOcR6UstNWrOI/roo4/EsZrziLy9vRstjz/jaYdvR0VFkYWFRa3nqsTHx4tjZWVlkp17U1VVRaNGjaJmzZrpHKL8OH2ohYjo9u3bOmMVFRXk5eVFrVq1oqqqKiKSph5uRH+Cl5cXhYSEUFxcHCUkJNCCBQuoffv2ZGZmRseOHdOKzcjIIHNzc/Ly8qL169fT3/72N1IoFOTv76+z3JiYGPHs/YSEBAoKCiJBECg5OblB6wkJCSFBECgyMpK2bdum9di7d6/e1bN48WJavHgxjR8/XqyrZkzfaqnNuHHjxCsrxMfHk4+PDzVr1qzWE5Ol9Omnn9LixYspKiqKBEGg1157TVwPRUVFRPT/Z+936tRJPHvf1taWevTooXP2/rp168Sz9xMSEsSz95cuXdqgdcyYMYMEQaBRo0bp/H1s27ZNjNOHWoiIRo8eTX5+frRo0SJKSEigxYsXk5ubG8lkMq0PC1LUw43oT1i7di0NHDiQWrduTXK5nJRKJY0dO5bOnTtXa3x6ejr179+fFAoF2dvbU3R0NJWUlOjEaTQaWrp0KTk6OpKZmRl1796dduzY0dDlkKOjI8lkMhIEQefh5OSkd/UIgiDW83hdMplM72qpjVqtprlz55JKpSJzc3Pq16+f1pUgmgpHR0etn/3j6+TmzZti3KVLl2jEiBFkaWlJLVu2pDfffLPWT+1ERAkJCeTm5kZmZmbUuXNnWrVqVYPXMXjw4Dr/Pp78nWrqtRAR7dy5k1555RVSKpUkl8vJzs6OAgMD6ejRozqxjV0P36GVMcaYpPjKCowxxiTFjYgxxpikuBExxhiTFDcixhhjkuJGxBhjTFLciBhjjEmKGxFjjDFJcSNijDEmKW5EjDHGJMWNiLEG9NZbb8HJyUnqNBhr0rgRMdaABEEQb6Kmb1JSUhAZGYlu3brBxMSEGyprMHytOcYaUFVVFYhIvJmYPpk4cSI+//xz9OrVCzdv3oSpqSl++eUXqdNiBogbEWOsVvn5+WjTpg1MTEwwcuRIXL58mRsRaxC8a46x51RcXIyZM2fC0dER5ubmsLe3x/Dhw5GZmSnG1PYd0b179/Dmm2+iefPmsLW1xVtvvYUff/wRMpkMW7du1ZrX2toaN2/eRFBQEKytrdG+fXusXbsWAHD+/HkMHToUVlZWcHR0RHJystbrPHjwAH/961/RvXt3WFtbw8bGBoGBgTh//vwz1adSqWBiYvK8Px7GnpnR3iqcsRf19ttvY/fu3YiOjkaXLl1w9+5dnDp1Cjk5OeJtlAFofUek0WgQHByMs2fP4p133oGbmxv27t2LCRMm6MQCQHV1NQIDAzF48GAEBwdj+/btiI6OhpmZGRYuXIiIiAiMHTsW69evR0REBLy9veHo6AgA+Pnnn7Fv3z6MGzcOTk5OKCgoQHx8PAYNGoTLly9DpVI1/A+JsWfxp+9gxBgjIiIbGxuKjo5+asyECRPI0dFRfL57924SBIFWr14tjmk0GvLz89O5rfaECRNIEARatmyZOFZYWEgWFhYkCALt2rVLHL9y5QoJgkD/+Mc/xLHy8nKdfG7cuEHm5uY6d639I0FBQbXeLJGx+sC75hh7Tra2tvj222+Rn5//zPN8/fXXaNasGaZMmSKOCYKAadOm1TnP5MmTxf/b2NjAxcUF1tbWCA0NFcddXFzQokULXL9+XRxr1qyZ+P/q6mrcu3cPlpaWcHFx0dp9yJjUuBEx9pw++OADXLx4EQ4ODujXrx8WLVqk1Qhqc/PmTahUKpibm2uNOzs71xqvUChgZ2enNWZjY4P27dvrxDZv3hwPHjwQnxMRVqxYgc6dO8Pc3BytW7dGmzZtcOHCBRQVFT1rmYw1OG5EjD2n0NBQ/PLLL/j000/Rtm1bfPjhh+jatSu+/vrrp85Hf+JAVZms9j/Rug4ieHzZcXFxmDNnDgYPHoykpCSkpKTgyJEj6Nq1KzQazTPnwFhD44MVGHsBSqUSUVFRiIqKwp07d+Dl5YW4uDj4+/vXGt+xY0ecOHECZWVlUCgU4vi1a9fqPbcvv/wSQ4cORUJCgtb4gwcP0Lp163p/PcaeF28RMfYcNBqNzu6t1q1bQ6VSoaKiQmv88SPh/P39UVlZqdUcNBqNeEj2k17kqgympqY6Wz5ffPEF8vLynnuZjDUE3iJi7Dk8fPgQ7du3R2hoKDw8PGBlZYWjR4/ihx9+wCeffKIV+/justGjR6Nv376YM2cOrl27BldXV+zfv1/8bufJxlPXbrxn2b03cuRIvP/++5g0aRK8vb1x4cIF7NixAy+99NIzzX/+/Hns378fwO9bbIWFhViyZAkAwNPTEyNHjvzDZTD2LLgRMfYcLC0tMW3aNKSkpGDPnj3QaDTo3Lkz1q9fj6lTp4pxT15rTiaT4cCBA5gxYwa2bt0KmUyGkJAQLFy4EAMHDtQ6iKGu69Q9bfxx8+fPR2lpKXbs2CFequfgwYOYN2/eM21pZWZmYuHChVrLXrhwIQRBwIQJE7gRsXrDl/hhrAnYu3cvxowZg1OnTsHb21vqdBhrVNyIGGtkarVaa8unuroaw4cPR0ZGBgoKCmBmZiZhdow1Pt41x1gjmz59OtRqNV5++WWUl5djz549OHPmDJYuXcpNiBkl3iJirJElJyfj448/xrVr16BWq9G5c2dERUXhnXfekTo1xiTBjYgxxpik+DwixhhjkuJGxBhjTFLciBhjjEmKGxFjjDFJcSNijDEmKW5EjDHGJMWNiDHGmKS4ETHGGJMUNyLGGGOS+j/mB7d4xElnEwAAAABJRU5ErkJggg==", + "text/plain": [ + "PyPlot.Figure(PyObject )" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "PyObject " + ] + }, + "execution_count": 121, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "function plot_principal()\n", + " PyPlot.figure(figsize=(4, 4))\n", + " n = 100\n", + " s = linspace(-300, 300, n)\n", + " s1 = repmat(s', n, 1)\n", + " s2 = repmat(s, 1, n)\n", + " sigma = sqrt(s1.^2 + s2.^2 - s1.*s2)\n", + " contour(s1, s2, sigma, [200], colors=\"k\")\n", + " p1 = [p[1] for p in principals]\n", + " p2 = [p[2] for p in principals]\n", + " PyPlot.plot(p1, p2, \"-b.\")\n", + " axis(\"equal\")\n", + " xlabel(\"sigma 1\")\n", + " ylabel(\"sigma 2\")\n", + " title(\"principal stress plane\")\n", + "end\n", + "plot_principal()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "collapsed": true + }, + "outputs": [], + "source": [] } ], "metadata": {