{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Multi-level strain optimization approaches\n", "\n", "Several strain design approaches use MILPs with nested optimization to enforce growth-coupled production. As the first nested optimization algorithm, OptKnock [[2]](https://straindesign.readthedocs.io/en/latest/index.html#ref2) aimed to resolve the conflict between the microbial objective of fast growth with the engineering goal of fast production. It therefore constructs a max-max problem for the maximization of product synthesis under the assumption that the cell itself, will maximize its growth rate. One problem is that this formulation leads to overly optimistic strain designs, since it assumes that a cell would maximize production when attaining its maximal growth rate. In the worst case, however (potentially growth coupled prodcution), a cell might turn off production completely.\n", "\n", "Successors of OptKnock, such as RobustKnock [[3]](https://straindesign.readthedocs.io/en/latest/index.html#ref3) and OptCouple [[4]](https://straindesign.readthedocs.io/en/latest/index.html#ref4) have overcome this problem since they guarantee production at maximum growth (weakly growth-coupled production). In the following sections we will explain how one can compute strain designs with OptKnock, RobustKnock and OptCouple, and how these methods can be combined with the minimial cut set approach." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import straindesign as sd\n", "import cobra\n", "\n", "ecc = cobra.io.load_model('e_coli_core')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For the following examples we again look at 1,4-BDO production. Hence, we first need to introduce the 1,4-BDO pathway again into the e_coli_core model and ensure that it is operational." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Read LP format model from file /tmp/tmpzacr20gi.lp\n", "Reading time = 0.00 seconds\n", ": 72 rows, 190 columns, 720 nonzeros\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Maximum possible 1,4-BDO synthesis rate: 10.252923076923079.\n" ] } ], "source": [ "# Create copy of model to which pathway will be added\n", "ecc_14bdo = ecc.copy()\n", "\n", "# Add metabolites to model\n", "ecc_14bdo.add_metabolites([ cobra.Metabolite('sucsal_c'),# Succinic semialdehyde\n", " cobra.Metabolite('4hb_c'), # 4-Hydroxybutanoate\n", " cobra.Metabolite('4hbcoa_c'),# 4-Hydroxybutyryl-CoA\n", " cobra.Metabolite('4hbal_c'), # 4-Hydroxybutanal\n", " cobra.Metabolite('14bdo_c'), # Butane-1,4-diol (cytopl.)\n", " cobra.Metabolite('14bdo_p'), # Butane-1,4-diol (peripl.)\n", " cobra.Metabolite('14bdo_e') # Butane-1,4-diol (extrac.)\n", " ])\n", "\n", "# Create reactions\n", "SSCOARx = cobra.Reaction('SSCOARx')\n", "AKGDC = cobra.Reaction('AKGDC')\n", "HBD = cobra.Reaction('4HBD')\n", "HBCT = cobra.Reaction('4HBCT')\n", "HBDH = cobra.Reaction('4HBDH')\n", "HBDx = cobra.Reaction('4HBDx')\n", "BDOtpp = cobra.Reaction('14BDOtpp')\n", "BDOtex = cobra.Reaction('14BDOtex')\n", "EX_14bdo_e = cobra.Reaction('EX_14bdo_e')\n", "\n", "# Add reactions to model\n", "ecc_14bdo.add_reactions([SSCOARx,\n", " AKGDC,\n", " HBD,\n", " HBCT,\n", " HBDH,\n", " HBDx,\n", " BDOtpp,\n", " BDOtex,\n", " EX_14bdo_e])\n", "\n", "# Define reaction equations\n", "SSCOARx.reaction = '1 h_c + 1 nadph_c + 1 succoa_c -> 1 coa_c + 1 nadp_c + 1 sucsal_c'\n", "AKGDC.reaction = '1 akg_c + 1 h_c -> 1 co2_c + 1 sucsal_c'\n", "HBD.reaction = '1 h_c + 1 nadh_c + 1 sucsal_c -> 1 4hb_c + 1 nad_c'\n", "HBCT.reaction = '1 4hb_c + 1 accoa_c -> 1 4hbcoa_c + 1 ac_c'\n", "HBDH.reaction = '1 4hbcoa_c + 1 h_c + 1 nadh_c -> 1 4hbal_c + 1 coa_c + 1 nad_c'\n", "HBDx.reaction = '1 4hbal_c + 1 h_c + 1 nadh_c -> 1 14bdo_c + 1 nad_c'\n", "BDOtpp.reaction = '1 14bdo_c -> 1 14bdo_p'\n", "BDOtex.reaction = '1 14bdo_p -> 1 14bdo_e'\n", "EX_14bdo_e.reaction = '1 14bdo_e ->'\n", "\n", "# Verify that pathway is operational\n", "sol = sd.fba(ecc_14bdo,obj='EX_14bdo_e',obj_sense='max')\n", "print(f\"Maximum possible 1,4-BDO synthesis rate: {sol.objective_value}.\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## OptKnock\n", "\n", "#### Example 9: OptKnock strain design\n", "\n", "Optknock [[2]](https://straindesign.readthedocs.io/en/latest/index.html#ref2) is based on a bi-level optimization problem:\n", "\n", "$$\n", "\\begin{array}{ll}\n", " \\text{maximize} \\; & v_{production} \\\\\n", " \\text{subject to} & \\begin{array}{ll}\n", " \\text{maximize} & v_{biomass} \\hspace{10em} \\\\\n", " \\text{subject to} & \\mathbf{S~v=0} \\\\\n", " & v_{BM} \\ge v_{BM}^{min} \\\\\n", " & (1-z_i)\\cdot lb_i \\le v_i \\le (1-z_i)\\cdot ub_i, ~\\forall i\\in\\{1,\\dots,n\\}\\\\\n", " &\\sum z_i \\le \\text{maxKOs}\\\\\n", " &z_i \\in \\{0,1\\}\n", "\\end{array}\\end{array}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The nested optimization is translated into a single-layer problem and can then be solved as a mixed-integer linear problem (MILP).\n", "\n", "Translating the nested optimization into a single level optimization yields:\n", "\n", "$$\n", "\\begin{gathered}\n", "\\text{maximize} \\; v_{production} \\\\\n", "\\text{subject to} \\\\\n", "\\begin{array}{lll}\n", " \\begin{bmatrix}\n", " ~~\\mathbf G & \\mathbf 0 & \\mathbf 0 \\\\\n", " ~~\\mathbf D & \\mathbf 0 & \\mathbf 0 \\\\\n", " \\mathbf{-c^\\intercal}~ & \\mathbf{g^\\intercal} & \\mathbf 0 \\\\\n", " ~~\\mathbf 0 & \\mathbf{G^\\intercal} & \\mathbf{I_{KO}} \\\\\n", " \\end{bmatrix} &\n", " \\begin{bmatrix}\n", " \\mathbf{v} \\\\ \\mathbf{y} \\\\ \\mathbf{s}\n", " \\end{bmatrix} &\n", " \\begin{matrix}\n", " \\le \\\\ \\le \\\\ \\le \\\\ =\n", " \\end{matrix}\n", " \\begin{bmatrix}\\mathbf g \\\\ \\mathbf d \\\\ 0 \\\\ \\mathbf c\\end{bmatrix} \\\\\n", "\\end{array} \\\\\n", "\\forall i: z_i = 1 \\rightarrow v_i = 0 \\\\\n", "\\forall i: z_i = 0 \\rightarrow s_i = 0 \\\\\n", "\\sum z_i \\le MaxNoKO \\\\\n", "\\mathbf{y\\ge 0}, \\hskip 1em z\\in\\{0,1\\}\n", "\\end{gathered}\n", "$$" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "The steps of translating a bi-level problem to a MILP are automated in StrainDesign. In the following, we will compute OptKnock strain designs using ``e_coli_core``.\n", "\n", "An advantage of OptKnock strain designs is that they often allow for a higher maximal growth rate. However, the predicted strain designs are often overly optimistic since they imply that the cells are able to actually reach their stoichiometrically highest possible growth rate and then also tune teir metabolism towards production. OptKnock strain designs might be preferred if the production pathway is known to be well expressed and active, even without introducing knockouts. OptKnock may then assure that laboratory evolution selects against production. We set up the strain design module for computing OptKnock strain desings. The OptKnock module consists of an outer and inner objective and additional constraints. The additional constraints are used to enforce the minimal desired growth rate." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "module_optknock = sd.SDModule(ecc_14bdo,sd.OPTKNOCK,\n", " inner_objective='BIOMASS_Ecoli_core_w_GAM',\n", " outer_objective='EX_14bdo_e',\n", " constraints='BIOMASS_Ecoli_core_w_GAM >= 0.5')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We then call the strain design function with the constructed module. Since OptKnock uses an outer objective, we should use the solution approach 'BEST' to enforce optimality. By default, inner and outer objective functions are defined in the sense of *maximization* for minimization, the ``inner_opt_sense`` and ``outer_opt_sense`` can be set to ``'maximize'`` or one can simply use negative coefficients in the objective functions." ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:root:Preparing strain design computation.\n", "INFO:root: Using random seed 10833\n", "INFO:root: Using gurobi for solving LPs during preprocessing.\n", "WARNING:root: Removing reaction bounds when larger than the cobra-threshold of 1000.\n", "INFO:root: FVA to identify blocked reactions and irreversibilities.\n", "INFO:root: FVA(s) to identify essential reactions.\n", "INFO:root:Preprocessing GPR rules (137 genes, 69 gpr rules).\n", "INFO:root: Simplifyied to 87 genes and 49 gpr rules.\n", "INFO:root: Extending metabolic network with gpr associations.\n", "INFO:root:Compressing Network (270 reactions).\n", "INFO:root: Removing blocked reactions.\n", "INFO:root: Translating stoichiometric coefficients to rationals.\n", "INFO:root: Removing conservation relations.\n", "INFO:root: Compression 1: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 151 reactions.\n", "INFO:root: Compression 2: Lumping parallel reactions.\n", "INFO:root: Reduced to 130 reactions.\n", "INFO:root: Compression 3: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 124 reactions.\n", "INFO:root: Compression 4: Lumping parallel reactions.\n", "INFO:root: Reduced to 123 reactions.\n", "INFO:root: Compression 5: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 122 reactions.\n", "INFO:root: Compression 6: Lumping parallel reactions.\n", "INFO:root: Reduced to 121 reactions.\n", "INFO:root: Compression 7: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 120 reactions.\n", "INFO:root: Compression 8: Lumping parallel reactions.\n", "INFO:root: Last step could not reduce size further (120 reactions).\n", "INFO:root: Network compression completed. (7 compression iterations)\n", "INFO:root: Translating stoichiometric coefficients back to float.\n", "INFO:root: FVA(s) in compressed model to identify essential reactions.\n", "INFO:root:Finished preprocessing:\n", "INFO:root: Model size: 120 reactions, 71 metabolites\n", "INFO:root: 44 targetable reactions\n", "WARNING:root: Removing reaction bounds when larger than the cobra-threshold of 1000.\n", "INFO:root:Constructing strain design MILP for solver: gurobi.\n", "INFO:root: Bounding MILP.\n", "INFO:root:Finding optimal strain designs ...\n", "INFO:root:Found solution with objective value 2.6195399376392943\n", "INFO:root:Minimizing number of interventions in subspace with 16 possible targets.\n", "INFO:root:Strain design with cost 11.0: {'AKGDH*sucA*sucB*R_g_b0116_and_g_b0726_and_g_b0727': -1, 'PYK*pykA*R0_g_b1676_or_g_b1854*pykF*R1_g_b1676_or_g_b1854': -1, 'ICL*MALS*aceA*aceB*R0_g_b2976_or_g_b4014*glcB*R1_g_b2976_or_g_b4014': -1, 'AKGDC': 1, 'pgi': -1, 'kgtP': -1, 'tdcD*R0_g_b1849_or_g_b2296_or_g_b3115*ackA*R1_g_b1849_or_g_b2296_or_g_b3115*purT*R2_g_b1849_or_g_b2296_or_g_b3115': -1, 'gdhA': -1}\n", "INFO:root:Finished solving strain design MILP. \n", "INFO:root:1 solutions to MILP found.\n", "INFO:root: Decompressing.\n", "INFO:root: Preparing (reaction-)phenotype prediction of gene intervention strategies.\n", "INFO:root:4 solutions found.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "One compressed solution with cost 11.0 found and expanded to 4 solutions in the uncompressed netork.\n", "Example intervention set: ['+AKGDC', '-pgi', '-kgtP', '-gdhA', '-sucA', '-aceA', '-tdcD', '-ackA', '-purT', '-pykA', '-pykF']\n" ] } ], "source": [ "import logging\n", "logging.basicConfig(level=logging.INFO)\n", "## Compute strain designs\n", "# allow all gene knockouts except for spontanuos \n", "gko_cost = {g.name:1 for g in ecc_14bdo.genes} \n", "gko_cost.pop('s0001')\n", "# possible knockout of O2\n", "ko_cost = {'EX_o2_e': 1}\n", "# addition candidates\n", "ki_cost = {'AKGDC':1, 'SSCOARx':1} # AKGDC was added in example 1.c)\n", "\n", "sols = sd.compute_strain_designs(ecc_14bdo,\n", " sd_modules = module_optknock,\n", " max_solutions = 1,\n", " max_cost = 30,\n", " gko_cost = gko_cost,\n", " ko_cost = ko_cost,\n", " ki_cost = ki_cost,\n", " solution_approach = sd.BEST)\n", "# Print solution\n", "print(f\"One compressed solution with cost {sols.sd_cost[0]} found and \"+\\\n", " f\"expanded to {len(sols.gene_sd)} solutions in the uncompressed netork.\")\n", "print(f\"Example intervention set: {['+'+s if v>0 else '-'+s for s,v in sols.gene_sd[0].items() if v!=0]}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can now compare the computed strain design to the wild type and the minimal enforced growth rate. As OptKnock is rate instead of yield based, we plot our strain designs in the production envelope." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "# Wild-type plot\n", "datapoints, triang, plot1 = sd.plot_flux_space(ecc_14bdo,\n", " ('BIOMASS_Ecoli_core_w_GAM','EX_14bdo_e'),\n", " show=False);\n", "# Plot minimal enforced growth rate\n", "_, _, plot2 = sd.plot_flux_space(ecc_14bdo,\n", " ('BIOMASS_Ecoli_core_w_GAM','EX_14bdo_e'),\n", " constraints='BIOMASS_Ecoli_core_w_GAM>=0.5',\n", " show=False);\n", "plot2.set_facecolor('#70AD47')\n", "plot2.set_edgecolor('#70AD47')\n", "\n", "# OptKnock design plot\n", "interventions = [[{s:1.0},'=',0.0] for s,v in sols.reaction_sd[0].items() if v < 1]\n", "_, _, plot3 = sd.plot_flux_space(ecc_14bdo,\n", " ('BIOMASS_Ecoli_core_w_GAM','EX_14bdo_e'),\n", " # The sign of the glucose exchange reaction is flipped since \n", " # reaction is defined in the direction of secretion.\n", " constraints=interventions,\n", " show=False);\n", "plot3.set_facecolor('#FFC000')\n", "plot3.set_edgecolor('#FFC000')\n", "# adjust axes limits and show plot\n", "plot3.axes.set_xlim(0, 1.05*max([a[0] for a in datapoints]))\n", "plot3.axes.set_ylim(0, 1.05*max([a[1] for a in datapoints]))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The computed strain design generates a pGCP strain design with a relatively high maximal growth rate, however, at the cost of relatively many knockouts. The plot shows that OptKnock has exploited all means to improve maximal production at maximum growth. The maximum growth rate is only slightly above the demanded minimum. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Example 10: OptKnock strain design with a tilted objective function\n", "\n", "The last example showed that predicted strain designs not always *guarantee* product synthesis at maximum growth. A tilted objective function can be used to simulate that the cell not only maximizes growth but also minimizes product synthesis and thus opposes the engineering goal. Factoring in this secondary goal by the cell with a sufficiently small objective coefficient will lead to more agressive stain designs that counteract the cells possible minimization of production." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:root:Preparing strain design computation.\n", "INFO:root: Using random seed 54233\n", "INFO:root: Using gurobi for solving LPs during preprocessing.\n", "WARNING:root: Removing reaction bounds when larger than the cobra-threshold of 1000.\n", "INFO:root: FVA to identify blocked reactions and irreversibilities.\n", "INFO:root: FVA(s) to identify essential reactions.\n", "INFO:root:Preprocessing GPR rules (137 genes, 69 gpr rules).\n", "INFO:root: Simplifyied to 87 genes and 49 gpr rules.\n", "INFO:root: Extending metabolic network with gpr associations.\n", "INFO:root:Compressing Network (270 reactions).\n", "INFO:root: Removing blocked reactions.\n", "INFO:root: Translating stoichiometric coefficients to rationals.\n", "INFO:root: Removing conservation relations.\n", "INFO:root: Compression 1: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 151 reactions.\n", "INFO:root: Compression 2: Lumping parallel reactions.\n", "INFO:root: Reduced to 130 reactions.\n", "INFO:root: Compression 3: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 124 reactions.\n", "INFO:root: Compression 4: Lumping parallel reactions.\n", "INFO:root: Reduced to 123 reactions.\n", "INFO:root: Compression 5: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 122 reactions.\n", "INFO:root: Compression 6: Lumping parallel reactions.\n", "INFO:root: Reduced to 121 reactions.\n", "INFO:root: Compression 7: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 120 reactions.\n", "INFO:root: Compression 8: Lumping parallel reactions.\n", "INFO:root: Last step could not reduce size further (120 reactions).\n", "INFO:root: Network compression completed. (7 compression iterations)\n", "INFO:root: Translating stoichiometric coefficients back to float.\n", "INFO:root: FVA(s) in compressed model to identify essential reactions.\n", "INFO:root:Finished preprocessing:\n", "INFO:root: Model size: 120 reactions, 71 metabolites\n", "INFO:root: 44 targetable reactions\n", "WARNING:root: Removing reaction bounds when larger than the cobra-threshold of 1000.\n", "INFO:root:Constructing strain design MILP for solver: gurobi.\n", "INFO:root: Bounding MILP.\n", "INFO:root:Finding optimal strain designs ...\n", "INFO:root:Found solution with objective value 2.619539937639321\n", "INFO:root:Minimizing number of interventions in subspace with 16 possible targets.\n", "INFO:root:Strain design with cost 16.0: {'PFL*EX_for_e*pflA*pflB*grcA*R_g_b0902_and_g_b0903_and_g_b2579*R0_g_b0902_and_g_b0903_or_g_b0902_and_g_b0903_and_g_b2579_or_g_b0902_and_g_b3114_or_g_b3951_and_g_b3952...': -1, 'PYK*pykA*R0_g_b1676_or_g_b1854*pykF*R1_g_b1676_or_g_b1854': -1, 'ICL*MALS*aceA*aceB*R0_g_b2976_or_g_b4014*glcB*R1_g_b2976_or_g_b4014': -1, 'ME1*maeA': -1, 'ME2*maeB': -1, 'AKGDC': 1, 'pgi': -1, 'kgtP': -1, 'tdcD*R0_g_b1849_or_g_b2296_or_g_b3115*ackA*R1_g_b1849_or_g_b2296_or_g_b3115*purT*R2_g_b1849_or_g_b2296_or_g_b3115': -1, 'sucC*sucD*R_g_b0728_and_g_b0729': -1, 'gdhA': -1, 'gltP': -1}\n", "INFO:root:Finished solving strain design MILP. \n", "INFO:root:1 solutions to MILP found.\n", "INFO:root: Decompressing.\n", "INFO:root: Preparing (reaction-)phenotype prediction of gene intervention strategies.\n", "INFO:root:24 solutions found.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "One compressed solution with cost 16.0 found and expanded to 24 solutions in the uncompressed netork.\n", "Example intervention set: ['+AKGDC', '-pgi', '-kgtP', '-gdhA', '-gltP', '-pflA', '-aceA', '-maeA', '-maeB', '-pflD', '-tdcD', '-ackA', '-purT', '-pykA', '-pykF', '-sucC']\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "# Wild-type plot\n", "datapoints, triang, plot1 = sd.plot_flux_space(ecc_14bdo,\n", " ('BIOMASS_Ecoli_core_w_GAM','EX_14bdo_e'),\n", " show=False);\n", "# Plot minimal enforced growth rate\n", "_, _, plot2 = sd.plot_flux_space(ecc_14bdo,\n", " ('BIOMASS_Ecoli_core_w_GAM','EX_14bdo_e'),\n", " constraints='BIOMASS_Ecoli_core_w_GAM>=0.5',\n", " show=False);\n", "plot2.set_facecolor('#70AD47')\n", "plot2.set_edgecolor('#70AD47')\n", "\n", "module_tilted_optknock = sd.SDModule(ecc_14bdo,sd.OPTKNOCK,\n", " inner_objective='BIOMASS_Ecoli_core_w_GAM - 0.001 EX_14bdo_e',\n", " outer_objective='EX_14bdo_e',\n", " constraints='BIOMASS_Ecoli_core_w_GAM >= 0.5')\n", "\n", "# allow all gene knockouts except for spontanuos \n", "gko_cost = {g.name:1 for g in ecc_14bdo.genes} \n", "gko_cost.pop('s0001')\n", "# possible knockout of O2\n", "ko_cost = {'EX_o2_e': 1}\n", "# addition candidates\n", "ki_cost = {'AKGDC':1, 'SSCOARx':1} # AKGDC was added in example 1.c)\n", "\n", "sols = sd.compute_strain_designs(ecc_14bdo,\n", " sd_modules = module_tilted_optknock,\n", " time_limit = 300,\n", " max_solutions = 1,\n", " max_cost = 30,\n", " gko_cost = gko_cost,\n", " ko_cost = ko_cost,\n", " ki_cost = ki_cost,\n", " solution_approach = sd.BEST)\n", "\n", "# Print solutions\n", "print(f\"One compressed solution with cost {sols.sd_cost[0]} found and \"+\\\n", " f\"expanded to {len(sols.gene_sd)} solutions in the uncompressed netork.\")\n", "print(f\"Example intervention set: {['+'+s if v>0 else '-'+s for s,v in sols.gene_sd[0].items() if v!=0]}\")\n", "\n", "# OptKnock design plot\n", "interventions = [[{s:1.0},'=',0.0] for s,v in sols.reaction_sd[0].items() if v < 1]\n", "_, _, plot3 = sd.plot_flux_space(ecc_14bdo,\n", " ('BIOMASS_Ecoli_core_w_GAM','EX_14bdo_e'),\n", " # The sign of the glucose exchange reaction is flipped since \n", " # reaction is defined in the direction of secretion.\n", " constraints=interventions,\n", " show=False);\n", "plot3.set_facecolor('#FFC000')\n", "plot3.set_edgecolor('#FFC000')\n", "# adjust axes limits and show plot\n", "plot3.axes.set_xlim(0, 1.05*max([a[0] for a in datapoints]))\n", "plot3.axes.set_ylim(0, 1.05*max([a[1] for a in datapoints]))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As a result, we obtain an at least weakly growth coupled strain design." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "#### Example 11: Genome-scale OptKnock strain design\n", "\n", "Other than RobustKnock and OptCouple, OptKnock's computational effort is moderate so that the approach may be used in genome scale metabolic models. The first steps of model manipulation are identical to the ones in example 6." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:cobra.io.web.load:Attempting to fetch 'iJO1366' from the Cobrapy repository.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "Maximum possible 1,4-BDO synthesis rate: 10.659770114941239.\n" ] } ], "source": [ "import straindesign as sd\n", "import cobra\n", "\n", "cobra.Configuration().solver = 'cplex'\n", "ijo = cobra.io.load_model('iJO1366')\n", "\n", "# Create copy of model to which pathway will be added\n", "ijo_14bdo = ijo.copy()\n", "# If available, set the solver to cplex or gurobi. This will increase the chances\n", "# of sucess enormously\n", "ijo_14bdo.solver = 'cplex'\n", "\n", "# Add metabolites to model\n", "ijo_14bdo.add_metabolites([ cobra.Metabolite('4hb_c'), # 4-Hydroxybutanoate\n", " cobra.Metabolite('4hbcoa_c'),# 4-Hydroxybutyryl-CoA\n", " cobra.Metabolite('4hbal_c'), # 4-Hydroxybutanal\n", " cobra.Metabolite('14bdo_c'), # Butane-1,4-diol (cytopl.)\n", " cobra.Metabolite('14bdo_p'), # Butane-1,4-diol (peripl.)\n", " cobra.Metabolite('14bdo_e') # Butane-1,4-diol (extrac.)\n", " ])\n", "\n", "# Create reactions\n", "AKGDC = cobra.Reaction('AKGDC')\n", "SSCOARx = cobra.Reaction('SSCOARx')\n", "HBD = cobra.Reaction('4HBD')\n", "HBCT = cobra.Reaction('4HBCT')\n", "HBDH = cobra.Reaction('4HBDH')\n", "HBDx = cobra.Reaction('4HBDx')\n", "BDOtpp = cobra.Reaction('14BDOtpp')\n", "BDOtex = cobra.Reaction('14BDOtex')\n", "EX_14bdo_e = cobra.Reaction('EX_14bdo_e')\n", "\n", "# Add reactions to model\n", "ijo_14bdo.add_reactions([SSCOARx,\n", " AKGDC,\n", " HBD,\n", " HBCT,\n", " HBDH,\n", " HBDx,\n", " BDOtpp,\n", " BDOtex,\n", " EX_14bdo_e])\n", "\n", "# Define reaction equations\n", "SSCOARx.reaction = '1 h_c + 1 nadph_c + 1 succoa_c -> 1 coa_c + 1 nadp_c + 1 sucsal_c'\n", "AKGDC.reaction = '1 akg_c + 1 h_c -> 1 co2_c + 1 sucsal_c'\n", "HBD.reaction = '1 h_c + 1 nadh_c + 1 sucsal_c -> 1 4hb_c + 1 nad_c'\n", "HBCT.reaction = '1 4hb_c + 1 accoa_c -> 1 4hbcoa_c + 1 ac_c'\n", "HBDH.reaction = '1 4hbcoa_c + 1 h_c + 1 nadh_c -> 1 4hbal_c + 1 coa_c + 1 nad_c'\n", "HBDx.reaction = '1 4hbal_c + 1 h_c + 1 nadh_c -> 1 14bdo_c + 1 nad_c'\n", "BDOtpp.reaction = '1 14bdo_c -> 1 14bdo_p'\n", "BDOtex.reaction = '1 14bdo_p -> 1 14bdo_e'\n", "EX_14bdo_e.reaction = '1 14bdo_e ->'\n", "\n", "# define gene rules for knock-inable genes\n", "SSCOARx.gene_reaction_rule = 'gsscoar'\n", "AKGDC.gene_reaction_rule = 'gakgdc'\n", "\n", "exchange_reacs = [r for r in ijo_14bdo.reactions if all(s<0 for s in r.metabolites.values())]\n", "# shut all exchange fluxes\n", "for r in exchange_reacs:\n", " r.upper_bound = 0.0\n", "\n", "# shut CO2 uptake\n", "ijo_14bdo.reactions.EX_co2_e.lower_bound = 0.0\n", "\n", "# keep main fermentation products open\n", "ijo_14bdo.reactions.EX_14bdo_e.upper_bound = 1000.0\n", "ijo_14bdo.reactions.EX_ac_e.upper_bound = 1000.0\n", "ijo_14bdo.reactions.EX_co2_e.upper_bound = 1000.0\n", "ijo_14bdo.reactions.EX_etoh_e.upper_bound = 1000.0\n", "ijo_14bdo.reactions.EX_for_e.upper_bound = 1000.0\n", "ijo_14bdo.reactions.EX_h2_e.upper_bound = 1000.0\n", "ijo_14bdo.reactions.EX_h2o2_e.upper_bound = 1000.0\n", "ijo_14bdo.reactions.EX_h2o_e.upper_bound = 1000.0\n", "ijo_14bdo.reactions.EX_h_e.upper_bound = 1000.0\n", "ijo_14bdo.reactions.EX_lac__D_e.upper_bound = 1000.0\n", "ijo_14bdo.reactions.EX_meoh_e.upper_bound = 1000.0\n", "ijo_14bdo.reactions.EX_o2_e.upper_bound = 1000.0\n", "ijo_14bdo.reactions.EX_succ_e.upper_bound = 1000.0\n", "ijo_14bdo.reactions.EX_tungs_e.upper_bound = 1000.0\n", "ijo_14bdo.reactions.DM_4crsol_c.upper_bound = 1000.0\n", "ijo_14bdo.reactions.DM_5drib_c.upper_bound = 1000.0\n", "ijo_14bdo.reactions.DM_aacald_c.upper_bound = 1000.0\n", "ijo_14bdo.reactions.DM_amob_c.upper_bound = 1000.0\n", "ijo_14bdo.reactions.DM_mththf_c.upper_bound = 1000.0\n", "ijo_14bdo.reactions.DM_oxam_c.upper_bound = 1000.0\n", "\n", "# Verify that pathway is operational\n", "sol = sd.fba(ijo_14bdo,obj='EX_14bdo_e',obj_sense='max')\n", "print(f\"Maximum possible 1,4-BDO synthesis rate: {sol.objective_value}.\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we introduced the 1,4-BDO pathway into the model and prepared it for strain design computation, we can continue with the problem formulation. We reduce the enforced attainable growth rate to relax the strain design problem. By introducing a minimum production threshold, we are able to still use the 'ANY' approach. This guarantees at least potentially growth-coupled production, although it is unlikely to identify the strategy with the highetst production potential this way. If the computation is successful, we can repeat the computation with the 'BEST' approach. If the computation is unsuccessful, one should consider using smaller models, such as iJO1366 or compute reaction instead of gene interventions." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:root:Preparing strain design computation.\n", "INFO:root: Using random seed 60462\n", "INFO:root: Using cplex for solving LPs during preprocessing.\n", "WARNING:root: Removing reaction bounds when larger than the cobra-threshold of 1000.\n", "INFO:root: FVA to identify blocked reactions and irreversibilities.\n", "INFO:root: FVA(s) to identify essential reactions.\n", "INFO:root:Compressing Network (2592 reactions).\n", "INFO:root: Removing blocked reactions.\n", "/home/pschneider/miniconda3/envs/cnapy-1.2.4/lib/python3.10/site-packages/cobra/core/group.py:147: UserWarning: need to pass in a list\n", " warn(\"need to pass in a list\")\n", "INFO:root: Translating stoichiometric coefficients to rationals.\n", "INFO:root: Removing conservation relations.\n", "INFO:root: Compression 1: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 931 reactions.\n", "INFO:root: Compression 2: Lumping parallel reactions.\n", "INFO:root: Last step could not reduce size further (931 reactions).\n", "INFO:root: Network compression completed. (1 compression iterations)\n", "INFO:root: Translating stoichiometric coefficients back to float.\n", "INFO:root: FVA(s) in compressed model to identify essential reactions.\n", "INFO:root:Finished preprocessing:\n", "INFO:root: Model size: 931 reactions, 421 metabolites\n", "INFO:root: 811 targetable reactions\n", "WARNING:root: Removing reaction bounds when larger than the cobra-threshold of 1000.\n", "INFO:root:Constructing strain design MILP for solver: cplex.\n", "INFO:root: Bounding MILP.\n", "INFO:root:Finding optimal strain designs ...\n", "INFO:root:Found solution with objective value 3.9226348048271396\n", "INFO:root:Minimizing number of interventions in subspace with 3 possible targets.\n", "INFO:root:Strain design with cost 3.0: {'ACKr*PTAr': -1, 'AKGDH': -1, 'ATPS4rpp': -1}\n", "INFO:root:Finished solving strain design MILP. \n", "INFO:root:1 solutions to MILP found.\n", "INFO:root: Decompressing.\n", "INFO:root:2 solutions found.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "One compressed solution with cost 3.0 found and expanded to 2 solutions in the uncompressed netork.\n", "Example intervention set: ['-AKGDH', '-ATPS4rpp', '-ACKr']\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "import logging\n", "logging.basicConfig(level=logging.INFO)\n", "\n", "# Wild-type plot\n", "datapoints, triang, plot1 = sd.plot_flux_space(ijo_14bdo,\n", " ('BIOMASS_Ec_iJO1366_core_53p95M ','EX_14bdo_e'), \n", " show=False);\n", "# Plot minimal enforced growth rate\n", "_, _, plot2 = sd.plot_flux_space(ijo_14bdo,\n", " ('BIOMASS_Ec_iJO1366_core_53p95M ','EX_14bdo_e'),\n", " constraints=['BIOMASS_Ec_iJO1366_core_53p95M >=0.2',\n", " 'EX_14bdo_e >=3'],\n", " show=False);\n", "plot2.set_facecolor('#70AD47')\n", "plot2.set_edgecolor('#70AD47')\n", "\n", "module_tilted_optknock = sd.SDModule(ijo_14bdo,sd.OPTKNOCK,\n", " inner_objective='BIOMASS_Ec_iJO1366_core_53p95M ', # - 0.001 EX_14bdo_e\n", " outer_objective='EX_14bdo_e',\n", " constraints=['BIOMASS_Ec_iJO1366_core_53p95M >= 0.2','EX_14bdo_e >=3'])\n", "\n", "# add AKGDC and SSCOARx as adition candidates\n", "ki_cost = {'AKGDC': 1.0, 'SSCOARx':1}\n", "# possible knockout of O2\n", "ko_cost = {r.id : 1.0 for r in ijo_14bdo.reactions if r.genes and ijo_14bdo.genes.s0001 not in r.genes}\n", "ko_cost.update({'EX_o2_e': 1.0})\n", "# remove AKGDC and SSCOARx from knockout candidates\n", "ko_cost.pop('AKGDC')\n", "ko_cost.pop('SSCOARx')\n", "# Compute strain designs\n", "sols = sd.compute_strain_designs(ijo_14bdo,\n", " sd_modules = module_tilted_optknock,\n", " max_solutions = 1,\n", " max_cost = 3,\n", " ki_cost = ki_cost,\n", " ko_cost = ko_cost,\n", " solution_approach = sd.BEST)\n", "\n", "# Print solutions\n", "print(f\"One compressed solution with cost {sols.sd_cost[0]} found and \"+\\\n", " f\"expanded to {len(sols.reaction_sd)} solutions in the uncompressed netork.\")\n", "print(f\"Example intervention set: {['+'+s if v>0 else '-'+s for s,v in sols.reaction_sd[0].items() if v!=0]}\")\n", "\n", "# OptKnock design plot\n", "interventions = [[{s:1.0},'=',0.0] for s,v in sols.reaction_sd[0].items() if v < 1]\n", "_, _, plot3 = sd.plot_flux_space(ijo_14bdo,\n", " ('BIOMASS_Ec_iJO1366_core_53p95M ','EX_14bdo_e'),\n", " # The sign of the glucose exchange reaction is flipped since \n", " # reaction is defined in the direction of secretion.\n", " constraints=interventions,\n", " show=False);\n", "plot3.set_facecolor('#FFC000')\n", "plot3.set_edgecolor('#FFC000')\n", "# adjust axes limits and show plot\n", "plot3.axes.set_xlim(0, 1.05*max([a[0] for a in datapoints]))\n", "plot3.axes.set_ylim(0, 1.05*max([a[1] for a in datapoints]))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## RobustKnock\n", "\n", "The RobustKnock [[3]](https://straindesign.readthedocs.io/en/latest/index.html#ref3) approach usues multi-level optimization in a similar way to OptKnock. Whereas Optknock guarantees potentially growth-coupled production, RobusKnock guarantees at least weakly growth coupled production. This is achieved by introducing a third optimization layer. In order to avoid growth-maximal flux states with no production, RobustKnock *maximizes the production rate at maximum growth under the premise that is previously minimized*. The problem can be formalized as follows:\n", "$$\n", "\\begin{array}{ll}\n", " \\text{maximize} \\; & v_{production} \\\\\n", " \\text{subject to} & \\begin{array}{ll}\n", " \\text{minimize} \\; & v_{production} \\\\\n", " \\text{subject to} & \\begin{array}{ll}\n", " \\text{maximize} & v_{biomass} \\hspace{10em} \\\\\n", " \\text{subject to} & \\mathbf{S~v=0} \\\\\n", " & v_{BM} \\ge v_{BM}^{min} \\\\\n", " & (1-z_i)\\cdot lb_i \\le v_i \\le (1-z_i)\\cdot ub_i, ~\\forall i\\in\\{1,\\dots,n\\}\\\\\n", " &\\sum z_i \\le \\text{maxKOs}\\\\\n", " &z_i \\in \\{0,1\\}\n", "\\end{array}\\end{array}\\end{array}\n", "$$\n", "\n", "To translate the presented problem into a single-layer probem that can be used in a Mixed-Integer Linear Problem, one applies the duality principle twice, once on the original problem, and then once again to the linearized nested problem. This yields the MILP:\n", "\n", "$$\n", "\\begin{gathered}\n", "\\text{maximize} \\; v_{production} \\\\\n", "\\text{subject to} \\\\\n", "\\begin{array}{lllll}\n", " \\begin{bmatrix}\n", " ~~\\mathbf G & \\mathbf 0 & \\mathbf 0 & \\mathbf 0 & \\mathbf 0 \\\\\n", " ~~\\mathbf D & \\mathbf 0 & \\mathbf 0 & \\mathbf 0 & \\mathbf 0 \\\\\n", " \\mathbf{-c^\\intercal_{prod,min}}~ & \\mathbf{g^\\intercal} & \\mathbf 0 & \\mathbf{c^\\intercal_{BM}} & \\mathbf 0\\\\\n", " ~~\\mathbf 0 & \\mathbf{G^\\intercal} & \\mathbf{-c^\\intercal_{BM}} & \\mathbf 0 & \\mathbf{I_{KO}} \\\\\n", " ~~\\mathbf 0 & \\mathbf 0 & \\mathbf g & \\mathbf G & \\mathbf 0 \\\\\n", " \\end{bmatrix} &\n", " \\begin{bmatrix}\n", " \\mathbf{v} \\\\ \\mathbf{u} \\\\ \\mathbf{t} \\\\ \\mathbf{r} \\\\ \\mathbf{s}\n", " \\end{bmatrix} &\n", " \\begin{matrix}\n", " \\le \\\\ \\le \\\\ = \\\\ = \\\\ \\ge\n", " \\end{matrix}\n", " \\begin{bmatrix}\\mathbf g \\\\ \\mathbf d \\\\ 0 \\\\ \\mathbf{c^\\intercal_{BM}} \\\\ \\mathbf 0 \\end{bmatrix} \\\\\n", "\\end{array} \\\\\n", "\\forall i: z_i = 1 \\rightarrow v_i = 0 \\\\\n", "\\forall i: z_i = 1 \\rightarrow r_i = 0 \\\\\n", "\\forall i: z_i = 0 \\rightarrow s_i = 0 \\\\\n", "\\sum z_i \\le MaxNoKO \\\\\n", "\\mathbf{u\\ge 0}, \\hskip 1em z\\in\\{0,1\\}\n", "\\end{gathered}\n", "$$\n", "\n", "#### Example 12: RobustKnock strain design\n", "\n", "In StrainDesign, computing OptKnock strain designs is not any different from computing OptKnock strategies. One simply declares a RobustKnock instead of an Optknock module." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "module_robustknock = sd.SDModule(ecc_14bdo,sd.ROBUSTKNOCK,\n", " inner_objective='BIOMASS_Ecoli_core_w_GAM',\n", " outer_objective='EX_14bdo_e',\n", " constraints='BIOMASS_Ecoli_core_w_GAM >= 0.5')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Launching the strain design computation:" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:root:Preparing strain design computation.\n", "INFO:root: Using random seed 34494\n", "INFO:root: Using gurobi for solving LPs during preprocessing.\n", "WARNING:root: Removing reaction bounds when larger than the cobra-threshold of 1000.\n", "INFO:root: FVA to identify blocked reactions and irreversibilities.\n", "INFO:root: FVA(s) to identify essential reactions.\n", "INFO:root:Preprocessing GPR rules (137 genes, 69 gpr rules).\n", "INFO:root: Simplifyied to 87 genes and 49 gpr rules.\n", "INFO:root: Extending metabolic network with gpr associations.\n", "INFO:root:Compressing Network (270 reactions).\n", "INFO:root: Removing blocked reactions.\n", "INFO:root: Translating stoichiometric coefficients to rationals.\n", "INFO:root: Removing conservation relations.\n", "INFO:root: Compression 1: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 151 reactions.\n", "INFO:root: Compression 2: Lumping parallel reactions.\n", "INFO:root: Reduced to 130 reactions.\n", "INFO:root: Compression 3: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 124 reactions.\n", "INFO:root: Compression 4: Lumping parallel reactions.\n", "INFO:root: Reduced to 123 reactions.\n", "INFO:root: Compression 5: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 122 reactions.\n", "INFO:root: Compression 6: Lumping parallel reactions.\n", "INFO:root: Reduced to 121 reactions.\n", "INFO:root: Compression 7: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 120 reactions.\n", "INFO:root: Compression 8: Lumping parallel reactions.\n", "INFO:root: Last step could not reduce size further (120 reactions).\n", "INFO:root: Network compression completed. (7 compression iterations)\n", "INFO:root: Translating stoichiometric coefficients back to float.\n", "INFO:root: FVA(s) in compressed model to identify essential reactions.\n", "INFO:root:Finished preprocessing:\n", "INFO:root: Model size: 120 reactions, 71 metabolites\n", "INFO:root: 44 targetable reactions\n", "WARNING:root: Removing reaction bounds when larger than the cobra-threshold of 1000.\n", "INFO:root:Constructing strain design MILP for solver: gurobi.\n", "INFO:root: Bounding MILP.\n", "INFO:root:Finding optimal strain designs ...\n", "INFO:root:Found solution with objective value 2.6195399376393107\n", "INFO:root:Minimizing number of interventions in subspace with 14 possible targets.\n", "INFO:root:Strain design with cost 14.0: {'PYK*pykA*R0_g_b1676_or_g_b1854*pykF*R1_g_b1676_or_g_b1854': -1, 'ICL*MALS*aceA*aceB*R0_g_b2976_or_g_b4014*glcB*R1_g_b2976_or_g_b4014': -1, 'ME1*maeA': -1, 'ME2*maeB': -1, 'AKGDC': 1, 'pgi': -1, 'kgtP': -1, 'tdcD*R0_g_b1849_or_g_b2296_or_g_b3115*ackA*R1_g_b1849_or_g_b2296_or_g_b3115*purT*R2_g_b1849_or_g_b2296_or_g_b3115': -1, 'sucC*sucD*R_g_b0728_and_g_b0729': -1, 'gdhA': -1, 'gltP': -1}\n", "INFO:root:Finished solving strain design MILP. \n", "INFO:root:1 solutions to MILP found.\n", "INFO:root: Decompressing.\n", "INFO:root: Preparing (reaction-)phenotype prediction of gene intervention strategies.\n", "INFO:root:4 solutions found.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "One compressed solution with cost 14.0 found and expanded to 4 solutions in the uncompressed netork.\n", "Example intervention set: ['+AKGDC', '-pgi', '-kgtP', '-gdhA', '-gltP', '-aceA', '-maeA', '-maeB', '-tdcD', '-ackA', '-purT', '-pykA', '-pykF', '-sucC']\n" ] } ], "source": [ "import logging\n", "logging.basicConfig(level=logging.INFO)\n", "## Compute strain designs\n", "# allow all gene knockouts except for spontanuos \n", "gko_cost = {g.name:1 for g in ecc_14bdo.genes} \n", "gko_cost.pop('s0001')\n", "# possible knockout of O2\n", "ko_cost = {'EX_o2_e': 1}\n", "# addition candidates\n", "ki_cost = {'AKGDC':1, 'SSCOARx':1} # AKGDC was added in example 1.c)\n", "\n", "sols = sd.compute_strain_designs(ecc_14bdo,\n", " sd_modules = module_robustknock,\n", " max_solutions = 1,\n", " max_cost = 30,\n", " gko_cost = gko_cost,\n", " ko_cost = ko_cost,\n", " ki_cost = ki_cost,\n", " solution_approach = sd.BEST)\n", "# Print solution\n", "print(f\"One compressed solution with cost {sols.sd_cost[0]} found and \"+\\\n", " f\"expanded to {len(sols.gene_sd)} solutions in the uncompressed netork.\")\n", "print(f\"Example intervention set: {['+'+s if v>0 else '-'+s for s,v in sols.gene_sd[0].items() if v!=0]}\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Plotting results:" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pyplot as plt\n", "# Wild-type plot\n", "datapoints, triang, plot1 = sd.plot_flux_space(ecc_14bdo,\n", " ('BIOMASS_Ecoli_core_w_GAM','EX_14bdo_e'),\n", " show=False);\n", "# Plot minimal enforced growth rate\n", "_, _, plot2 = sd.plot_flux_space(ecc_14bdo,\n", " ('BIOMASS_Ecoli_core_w_GAM','EX_14bdo_e'),\n", " constraints='BIOMASS_Ecoli_core_w_GAM>=0.5',\n", " show=False);\n", "plot2.set_facecolor('#70AD47')\n", "plot2.set_edgecolor('#70AD47')\n", "\n", "# OptKnock design plot\n", "interventions = [[{s:1.0},'=',0.0] for s,v in sols.reaction_sd[0].items() if v < 1]\n", "_, _, plot3 = sd.plot_flux_space(ecc_14bdo,\n", " ('BIOMASS_Ecoli_core_w_GAM','EX_14bdo_e'),\n", " # The sign of the glucose exchange reaction is flipped since \n", " # reaction is defined in the direction of secretion.\n", " constraints=interventions,\n", " show=False);\n", "plot3.set_facecolor('#FFC000')\n", "plot3.set_edgecolor('#FFC000')\n", "# adjust axes limits and show plot\n", "plot3.axes.set_xlim(0, 1.05*max([a[0] for a in datapoints]))\n", "plot3.axes.set_ylim(0, 1.05*max([a[1] for a in datapoints]))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The RobustKnock problem is significantly larger than the OptKnock problem. Genome-scale strain design problems are often computationally too expensive to solve. To assess whether genome-scale computation is possible, one should first define a very relaxed problem, use reaction KOs and solve with the 'ANY' approach before attempting more complex setups." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## OptCouple\n", "\n", "Optcouple [[4]](https://straindesign.readthedocs.io/en/latest/index.html#ref4) pursues a slightly different approach from OptKnock and RobustKnock as it aims to maximize the \"growth-coupling potential\" (GCP), the span of growth rates ranging from (left) the maximum growth rate without product synthesis to (right) the global maximum growth rate (Figure below taken from the original publication). \n", "\n", "" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Mathematically, the OptCouple appraoch has many parallels to other nested multi-level approaches. In particular OptCouple demands the solution of two distinct flux states. The first subproblem determines the globally maximum flux state. Herefore, LP-duality may be employed to construct a subproblem that is identical to an MCS PROTECT module with an implicit optimization of growth (and optionally a minimum threshold for productivity). The second flux state that needs to be referenced has maximum growth under the condition that there is no product synthesis. This is again similar to the MCS PROTECT module, however the constraint $v_{production}=0$ must be taken into account in the primal and its dual system. A weakness of OptCouple is that it does not return strain designs with substrate-uptake-coupled production, since a flux state with no production *must* exist as a lower reference point.\n", "\n", "#### Example 13: OptCouple strain design\n", "\n", "In StrainDesign, the computation of OptCouple designs is as straightforward as for the other approaches." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:root:Preparing strain design computation.\n", "INFO:root: Using random seed 29484\n", "INFO:root: Using gurobi for solving LPs during preprocessing.\n", "WARNING:root: Removing reaction bounds when larger than the cobra-threshold of 1000.\n", "INFO:root: FVA to identify blocked reactions and irreversibilities.\n", "INFO:root: FVA(s) to identify essential reactions.\n", "INFO:root:Preprocessing GPR rules (137 genes, 69 gpr rules).\n", "INFO:root: Simplifyied to 129 genes and 63 gpr rules.\n", "INFO:root: Extending metabolic network with gpr associations.\n", "INFO:root:Compressing Network (342 reactions).\n", "INFO:root: Removing blocked reactions.\n", "INFO:root: Translating stoichiometric coefficients to rationals.\n", "INFO:root: Removing conservation relations.\n", "INFO:root: Compression 1: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 186 reactions.\n", "INFO:root: Compression 2: Lumping parallel reactions.\n", "INFO:root: Reduced to 157 reactions.\n", "INFO:root: Compression 3: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 148 reactions.\n", "INFO:root: Compression 4: Lumping parallel reactions.\n", "INFO:root: Reduced to 147 reactions.\n", "INFO:root: Compression 5: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 146 reactions.\n", "INFO:root: Compression 6: Lumping parallel reactions.\n", "INFO:root: Reduced to 145 reactions.\n", "INFO:root: Compression 7: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 144 reactions.\n", "INFO:root: Compression 8: Lumping parallel reactions.\n", "INFO:root: Last step could not reduce size further (144 reactions).\n", "INFO:root: Network compression completed. (7 compression iterations)\n", "INFO:root: Translating stoichiometric coefficients back to float.\n", "INFO:root: FVA(s) in compressed model to identify essential reactions.\n", "INFO:root:Finished preprocessing:\n", "INFO:root: Model size: 144 reactions, 84 metabolites\n", "INFO:root: 58 targetable reactions\n", "WARNING:root: Removing reaction bounds when larger than the cobra-threshold of 1000.\n", "INFO:root:Constructing strain design MILP for solver: gurobi.\n", "INFO:root: Bounding MILP.\n", "INFO:root:Finding optimal strain designs ...\n", "INFO:root:Found solution with objective value 0.3853916420255001\n", "INFO:root:Minimizing number of interventions in subspace with 12 possible targets.\n", "INFO:root:Strain design with cost 9.0: {'PFL*EX_for_e*pflA*pflB*grcA*R_g_b0902_and_g_b0903_and_g_b2579*R0_g_b0902_and_g_b0903_or_g_b0902_and_g_b0903_and_g_b2579_or_g_b0902_and_g_b3114_or_g_b3951_and_g_b3952...': -1, 'ME2*maeB': -1, 'AKGDC': 1, 'kgtP': -1, 'rpe*R0_g_b3386_or_g_b4301*sgcE*R1_g_b3386_or_g_b4301': -1, 'sucC*sucD*R_g_b0728_and_g_b0729': -1, 'pntB*pntA*R_g_b1602_and_g_b1603': -1}\n", "INFO:root:Finished solving strain design MILP. \n", "INFO:root:1 solutions to MILP found.\n", "INFO:root: Decompressing.\n", "INFO:root: Preparing (reaction-)phenotype prediction of gene intervention strategies.\n", "INFO:root:24 solutions found.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "One compressed solution with cost 9.0 found and expanded to 24 solutions in the uncompressed netork.\n", "Example intervention set: ['+AKGDC', '-kgtP', '-pflA', '-maeB', '-pflD', '-rpe', '-sgcE', '-sucC', '-pntB']\n" ] }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "module_optcouple = sd.SDModule(ecc_14bdo,sd.OPTCOUPLE,\n", " inner_objective='BIOMASS_Ecoli_core_w_GAM',\n", " prod_id='EX_14bdo_e',\n", " min_gcp=0.3)\n", "\n", "import logging\n", "logging.basicConfig(level=logging.INFO)\n", "## Compute strain designs\n", "# allow all gene knockouts except for spontanuos \n", "gko_cost = {g.name:1 for g in ecc_14bdo.genes} \n", "gko_cost.pop('s0001')\n", "# possible knockout of O2\n", "ko_cost = {'EX_o2_e': 1}\n", "# addition candidates\n", "ki_cost = {'AKGDC':1, 'SSCOARx':1} # AKGDC was added in example 1.c)\n", "\n", "sols = sd.compute_strain_designs(ecc_14bdo,\n", " sd_modules = module_optcouple,\n", " max_solutions = 1,\n", " max_cost = 15,\n", " gko_cost = gko_cost,\n", " ko_cost = ko_cost,\n", " ki_cost = ki_cost,\n", " solution_approach = sd.BEST)\n", "# Print solution\n", "print(f\"One compressed solution with cost {sols.sd_cost[0]} found and \"+\\\n", " f\"expanded to {len(sols.gene_sd)} solutions in the uncompressed netork.\")\n", "print(f\"Example intervention set: {['+'+s if v>0 else '-'+s for s,v in sols.gene_sd[0].items() if v!=0]}\")\n", "\n", "import matplotlib.pyplot as plt\n", "# Wild-type plot\n", "datapoints, triang, plot1 = sd.plot_flux_space(ecc_14bdo,\n", " ('BIOMASS_Ecoli_core_w_GAM','EX_14bdo_e'),\n", " show=False);\n", "\n", "# OptKnock design plot\n", "interventions = [[{s:1.0},'=',0.0] for s,v in sols.reaction_sd[0].items() if v < 1]\n", "_, _, plot3 = sd.plot_flux_space(ecc_14bdo,\n", " ('BIOMASS_Ecoli_core_w_GAM','EX_14bdo_e'),\n", " # The sign of the glucose exchange reaction is flipped since \n", " # reaction is defined in the direction of secretion.\n", " constraints=interventions,\n", " show=False);\n", "plot3.set_facecolor('#FFC000')\n", "plot3.set_edgecolor('#FFC000')\n", "# adjust axes limits and show plot\n", "plot3.axes.set_xlim(0, 1.05*max([a[0] for a in datapoints]))\n", "plot3.axes.set_ylim(0, 1.05*max([a[1] for a in datapoints]))\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As in this case, OptCouple computations often result in directionally growth-coupled strain designs, as the maximum growth coupling potential is often obtained when the maximal growth rate without production is zero. In our exampe, we observe a growth-coupling potential of 0.4." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Combining nested optimization strain design with MCS\n", "\n", "Nested strain design methods can be combined with the MCS approach to enforce additional properties. This allows flux space tailoring with unprecedented possibilities and precision.\n", "\n", "
\n", "\n", "**Warning:**\n", "\n", "In genome-scale setups the MILP of combined approaches is usually too large for efficient solving.\n", "\n", "
\n", "\n", "#### Example 14: Combining OptKnock with a tilted objective function and the MCS approach\n", "\n", "Let's construct a strain design with at least weakly growth-coupled production, while we avoid ethanol nor succinate as by-products.\n", "\n", "We construct the strain design problems with an OptKnock with a tilted objective function and an MCS module as follows:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "name": "stderr", "output_type": "stream", "text": [ "INFO:root:Preparing strain design computation.\n", "INFO:root: Using random seed 64490\n", "INFO:root: Using gurobi for solving LPs during preprocessing.\n", "WARNING:root: Removing reaction bounds when larger than the cobra-threshold of 1000.\n", "INFO:root: FVA to identify blocked reactions and irreversibilities.\n", "INFO:root: FVA(s) to identify essential reactions.\n", "INFO:root:Preprocessing GPR rules (137 genes, 69 gpr rules).\n", "INFO:root: Simplifyied to 87 genes and 49 gpr rules.\n", "INFO:root: Extending metabolic network with gpr associations.\n", "INFO:root:Compressing Network (270 reactions).\n", "INFO:root: Removing blocked reactions.\n", "INFO:root: Translating stoichiometric coefficients to rationals.\n", "INFO:root: Removing conservation relations.\n", "INFO:root: Compression 1: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 151 reactions.\n", "INFO:root: Compression 2: Lumping parallel reactions.\n", "INFO:root: Reduced to 130 reactions.\n", "INFO:root: Compression 3: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 124 reactions.\n", "INFO:root: Compression 4: Lumping parallel reactions.\n", "INFO:root: Reduced to 123 reactions.\n", "INFO:root: Compression 5: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 122 reactions.\n", "INFO:root: Compression 6: Lumping parallel reactions.\n", "INFO:root: Reduced to 121 reactions.\n", "INFO:root: Compression 7: Applying compression from EFM-tool module.\n", "INFO:root: Reduced to 120 reactions.\n", "INFO:root: Compression 8: Lumping parallel reactions.\n", "INFO:root: Last step could not reduce size further (120 reactions).\n", "INFO:root: Network compression completed. (7 compression iterations)\n", "INFO:root: Translating stoichiometric coefficients back to float.\n", "INFO:root: FVA(s) in compressed model to identify essential reactions.\n", "INFO:root:Finished preprocessing:\n", "INFO:root: Model size: 120 reactions, 71 metabolites\n", "INFO:root: 44 targetable reactions\n", "WARNING:root: Removing reaction bounds when larger than the cobra-threshold of 1000.\n", "INFO:root:Constructing strain design MILP for solver: gurobi.\n", "INFO:root: Bounding MILP.\n", "INFO:root:Finding optimal strain designs ...\n", "INFO:root:Found solution with objective value 2.6195399376392556\n", "INFO:root:Minimizing number of interventions in subspace with 12 possible targets.\n", "INFO:root:Strain design with cost 15.0: {'AKGDH*sucA*sucB*R_g_b0116_and_g_b0726_and_g_b0727': -1, 'PYK*pykA*R0_g_b1676_or_g_b1854*pykF*R1_g_b1676_or_g_b1854': -1, 'FRD7*frdD*frdC*frdB*frdA*R_g_b4151_and_g_b4152_and_g_b4153_and_g_b4154': -1, 'ME1*maeA': -1, 'ME2*maeB': -1, 'AKGDC': 1, 'pgi': -1, 'kgtP': -1, 'tdcD*R0_g_b1849_or_g_b2296_or_g_b3115*ackA*R1_g_b1849_or_g_b2296_or_g_b3115*purT*R2_g_b1849_or_g_b2296_or_g_b3115': -1, 'gdhA': -1, 'gltP': -1, 'mdh': -1}\n", "INFO:root:Finished solving strain design MILP. \n", "INFO:root:1 solutions to MILP found.\n", "INFO:root: Decompressing.\n", "INFO:root: Preparing (reaction-)phenotype prediction of gene intervention strategies.\n", "INFO:root:8 solutions found.\n" ] }, { "name": "stdout", "output_type": "stream", "text": [ "One compressed solution with cost 15.0 found and expanded to 8 solutions in the uncompressed netork.\n", "Example intervention set: ['+AKGDC', '-pgi', '-kgtP', '-gdhA', '-gltP', '-mdh', '-sucA', '-frdD', '-maeA', '-maeB', '-tdcD', '-ackA', '-purT', '-pykA', '-pykF']\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZMAAAGFCAYAAAA4kx7nAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjUsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvWftoOwAAAAlwSFlzAAAPYQAAD2EBqD+naQAA/BxJREFUeJzs/Xl0JNd93w1/7lLVOzDY92WwzHA43ElRIqnNliWZkh0rTpTEyRN5zRu/lvJYUR77Pdax/SZ2EkbH8av4xDmS/TiOlDyh7Ug25dhWLMlyuAyH+yKSQ3I2zMbZV2y9VNW99/2jp9sABpgB0N1Ag6wPDw4JEF19UVV9v/XbhXPOERMTExMTUwNysxcQExMTE7P1icUkJiYmJqZmYjGJiYmJiamZWExiYmJiYmomFpOYmJiYmJqJxSQmJiYmpmZiMYmJiYmJqZlYTGJiYmJiaiYWk5iYmJiYmonFJCYmJiamZmIxiYmJiYmpmVhMYmJiYmJqJhaTmJiYmJiaicUkJiYmJqZmYjGJiYmJiamZWExiYmJiYmomFpOYmJiYmJqJxSQmJiYmpmZiMYmJiYmJqZlYTGJiYmJiaiYWk5iYmJiYmonFJCYmJiamZmIxiYmJiYmpmVhMYmJiYmJqJhaTmJiYmJiaicUkJiYmJqZmYjGJiYmJiamZWExiYmJiYmomFpOYmJiYmJqJxSQmJiYmpmZiMYmJiYmJqZlYTGJiYmJiaiYWk5iYmJiYmonFJCYmJiamZmIxiYmJiYmpmVhMYmJiYmJqJhaTmJiYmJiaicUkJiYmJqZmYjGJiYmJiamZWExiYmJiYmomFpOYmJiYmJqJxSQmJiYmpmZiMYmJiYmJqZlYTGJiYmJiaiYWk5iYmJiYmonFJCYmJiamZmIxiYmJiYmpmVhMYmJiYmJqJhaTmJiYmJiaicUkJiYmJqZmYjGJiYmJiamZWExiYmJiYmomFpOYmJiYmJqJxSQmJiYmpmZiMYmJiYmJqZlYTGJiYmJiakZv9gJiYmLqh3MOa231q1AoUCgU6O7uRkqJEGKzlxjzNiUWk5iYLchC0TDGVP9tjME5V/2dt956i6NHj/LhD38YKSVa61hUYhpCLCYxMU2Kc+4aS2OhcFREo/K7QgiEEFWxqPw3gBACay1BECClRCmFUioWlZi6EYtJTMwms5JoVISj8v+B6ua/VDRuROX3Fr5PFEVorWNRiakLsZjExGwQaxWN5ayLWlkoKs45wjCMRSWmLsRiEhNTZ5aKRkUwKq6pjRCNCtbaZX++VFSWur8qa4mJWS2xmMTErJOlVkbFdXT+/Hm2bdtW3ayh8aJxPa73PitZKkoptNardqPFxMRiEhNzA24UBF8YCLfW8uqrr3L//feTSCSAjRON5Vi4tuuxVFQqllQsKjGrJRaTmJirXE80KjGNCkstjcpGW3ErbdX024WiAhBFUVVUKu6vrfh3xTSeWExi3nGsFARfztJYLt12K7Fay2Qplb9TKYVzrioqca1KzErEYhLztqXirqn8e6XCPtj6orES6xWThQghqqJireXKlSuUSiW6u7vjDLCYKrGYxGxpVpNuu/B3366isRL1EJMKlfN16dIlzp07R1tbW5xWHFMlFpOYLcFKojEzM0MURWSz2ZoL+95OOOeqfbkq566e52BhbGVhWnElWB/zziMWk5imYq2FfWfOnCEMQ2666abqz95JVERjfn5+0Vc+n8c5h9Ya5xxPPPEE27dvZ2BgoOYakoUW3tK04qXB+ph3DrGYxGwK9Srs2+iajc3iRqKRTqfJZDJkMhm6urrIZDKkUikOHTrEqVOnGB8fZ2pqisOHDzM6OsrQ0BBKqXWvZeH5jmtVYiAWk5gGs1xh32ZVg28EtcYo1isaK1kBlY1/YGCA/v5+zp49y9TUFFNTU4yMjDA8PIzneWte43LX5Xq1KnFa8dufWExi6sJaCvuAuonGwpqIrYRzjmKxyPz8PHNzc1XBmJ+fX5doXO99FsaQent76enp4cKFCxw+fJgjR44wMjLCyMgIvu/X5W9bqVYlTit+exOLScyaqEdh3zuJhaKx9KueonG991+KEIKuri66urq4dOkShw8f5ujRowwODrJ9+3aSyeQNj7naTsXwN7UqlXskFpW3J7GYxCzLSplTUko8z3tbFfbVg4pozM7OArB///6qiCwVjc7OzrqLxnppb2+nvb2d6elppqamePzxxxkYGGD79u2k0+llX7OezLCltSpBECCEiNOK30bEYvIOZ+ET43IxjcrvQHmD7O7upr+/v2lEY6PdXDeyNFKpFADJZJKenp5NF43VnpvW1lbuvPNOZmdnmZqaYs+ePfT29jI2NkY2m73mmLW4JeMW+G9PYjF5B1Cvwr7K95v9NL0RrCQa+Xweay2pVGqRpZFOp0mn0zjneOyxxxgdHV1zYLtRrGWDzuVy3H777eTzeaampti7dy9dXV2MjY3R2toK1CYmC9e0tAX+3Nwc2WyWZDL5jrjH3m7EYvI2otET+5ox2F3rprYW0ejo6CCTyZBOp1fc7IwxNa2n3qz3eqXTaW655RYmJiY4cuQIzz77LG1tbYyNjTWkqt45x/e+9z127dpFZ2fnorhKzNYgFpMtyFpF4+2eObWaNdVbNN4pJJNJdu3axfj4OEePHuXFF19Ea13tOFAvt1Tl3pJSxi3wtyixmDQx9SrsqxfN+GFeuqaFopHP5xel3b4TRaNeG77v++zYsYPt27fz4osvcunSJZ566inGxsbo6empy3tUxKQiKBC3wN9KxGLSBKzGymiGwr5mskycc5RKpaqF8frrr1frNN6JorFReJ5Ha2sr2WyWTCbDG2+8wcGDBxkbG6Ovr6+m87u0Jgb+psNBXKvS/MRisoGstrDvtddeo729nYGBgaarBt9oMVkqGgu/rLVVF0gymYxFYxkacb0qFsTo6CjDw8OcPHmSQ4cOcejQoWr/r/W0arHWXnOPx7UqW4dYTBpArYV9lX+vt3dSo2ikZXI90TDGLKrTaG9vr4rGyZMnuXLlCmNjYw1ZV8y1VMQEypbD0NAQAwMDnDlz5pr+X1qvbYu5njDEtSrNTSwmNbCSe6rWiX0LfcbNRD3EZLWikU6naWtrI5vN3tDSaMZz1SzUM0i+kKXHlFLS399PX18f586dW9T/a2RkZFVp0stZJiu9d1yr0nzEYrIKVirsC4KAKIrwff+amEYt1eBCiOos8WZiLX/LjURjYUyjra2tKiDNZo1tdRrl5lrpXhBC0NPTQ3d3NxcvXqz2/xoeHmZ0dJREIrGu4670XktrVSpzVeIW+BtPLCZXWWth34w5welwH77wGLbvJelnr3P0tdFMge6FLLeuzRaN+Cn0xtT7HK1m0xdC0NnZSWdnJ5cvX2ZqaorHHnus2v+r0ilg6XHXIwArWSqVtOJYVDaGd5yY1FrYF5mQqcIe8u4CQiqKpsTR4K/otfewLTlYlzU2o5hUzlk+n+f48eOL6jSiKNpUS6PZzlUz0SjLZC20tbVx9913MzMzw+HDh3niiSfo7+9n+/btZDKZdR93KddrgR/XqjSet62Y3Eg0Lly4QD6fZ3BwcNXptqHN82bxf1N0AQqFCcupigGW44VnKJhz9GXuqnntUspNc3MtbG2xtE6j4pe21sbuqRV4JwjbeuMwLS0t3HnnnczNzTE1NcWTTz5Jd3c34+Pj1f5f9bAilrbAP3z4MEopRkdH41qVBrLlxWS9hX1BEDA7O7vq/knz5gJT+WcIKZYLq4AID+csylqs8jgfHWB++hyDyQ+QTFxrxq+WjbBMKqJRsTAq4jE/P7+ipXHq1CmklExOTjZ0bWsh3hSuz0YF4NdCNpvltttuY2JigqNHj/LUU0/R0dFR83GXUjlWoVBAax3XqjSYLSkmzjn+9b/+1/ztv/23GRoaWldh31oypi4GUxzOv4xwAiUcwoFVDi3AWihGDuksRkhK5gqWP2dIfh8pr3Ndf189xWSpaCz8Wqt7qll9z+8Ea2C9bHQAfi2k02luvvlmxsbGOHLkCAAvv/wyExMTtLe3122jr8RilqYVLwzWx6JSO1tSTAC+8pWvcOutt1bdVGst7FttxtRb+Zc4WzoMQoCUSKkoGvCRRJFDyvKNKNGEYQnrJCUXciz/bTr0bXRlblnz37aebK4biUYymaxWLQ8MDKzLPdWsWWYxG0u9rZ1kMsnk5CTHjh1j27ZtvPzyy2QyGcbGxujq6qr5vRamHC90gVW8GXFacX3YkmIihCCRSBCG4bp99TeKSzjnOJzfw8XwHFJItHBINI6QhFI4F2GcQApBYAQJCSWZQDgoGUPJWax4A1M4T3fyA0ix+qd6KSVhGK64rtWIRjqdpr+/v/rf9YppNJsV0IzJCs1GI7K56k3lmOPj44yPj3P8+HFee+01EokEY2Nj9Pb2rvvvWC5LLK5VqT9bUkwAEokEQRCs+/XXc3OFUYkD849TEjOAACQRjshGJIUjCCOcsEipMZHBcwakT1o5BB7WaqyJKIWWGXGWYv7PGUh8EE+3rGptFQtgpZTbimhU3FP9/f3V/25kIDzeuFdPs2xGjbpejRKoSpX72NgYIyMjvPXWW+zfv7/a/6u/v3/N7tYb1cXEtSr1YUuLSbFYXPfrV7JMCtE0b84/RuQMOAuRRaoETjgSUuGcRSqFE5IwAk8qClYiwxDtDAhFUXhoqfAczAd5rBdwOvwWndxDWm9f9H7LWRqXLl2iVCpx9uzZTRGNlWhGMWmWTbtZWNg1uZJUUfnZjWa7r+U9GikmFZRSjIyMMDQ0xKlTp5iamqr2/xocHFz1Z2A1lfU3qlWJ04pvzJYWk1KptO7XL+f/vxKe5uj880QiAinBSiKlcULgwoiE5xM6gRSAtXhCYRxI4VBSETgPX0jSMkJJiTGCMJTgwLoSRfMkOXuMaHr8upZGS0sLYRhy2223NVXKbTOKCTSf622jqKRwV4RjYQPMSlsaKSVRFPH4448zODjI2NhYzaKyUWJSQUrJ4ODgsv2/hoeHb9j/ay3FkHGtyvrZsmKSTCZrEpOllsm50kGm8q+ghUI4hzMOK8CXApwgEgrrILIOgcUgCI0jKUGZCKl9ktJgrcOYCGdg3mgyfopCqYQDZGDQmdPo1kt44S76W5e3NE6cOMHly5ebSkggtgI2iyiKFqVwV/4dhmH1ISSbzS7by+z5559Ha80dd9zBoUOH6iIqjRDvymfxRo0e+/r66O3t5fz584tatYyMjOD7/orHXuu9u7RWJZ6rcmO2rJj4vl+zmFRulOOFFzhbPFqucLcOpSShlGjKqb9KKpSy5YQua3BOIZTgat9U8mhSJiKg/P8jodHS4ZmIKHBIl6RkCqQ9n1JoUF6A37uPVu9e0t61cZRmtQCg+ayAt9MHutJhYKGVMTc3R7FYxPO8qmh0d3czNjZGJpNZ1VO5EIJcLsedd97J7OxszaLSKMtkLZmY3d3ddHV1cenSJaampjh69ChDQ0OMjo5e8/fUst7K6yppxXGtyspsWTGph2USRQFvzv5vrkQXUUiENQjr4aRDA84JIgfSOUrWoa2h6DSRsySjEFOC0PdJaYeNHJ6yWOnhcAgcgfYwNiIpJcJKVCSxzhI5Q873uRjtoRCN05F696K1NauYNOu6mnFN16MSw1jqosrn8wghqincbW1tDA4Oks1m8TyvLptWvURlM8Vk4Ro6Ojro6OjgypUrTE1NVf+e0dFR0ul09dj1qqyPW+CvzJYVk1pjJpEt4Y1fYtaAlAoQGCeInMPHEgQRQmoQlkLRIGREhI+66vZC+ciERGlFZCOslAgECkfSlrBSk5AaKwVKaIJAUozAIRBOURSOtK+5Eh4EdZlW/X1oWe6o2qybdrOuq5lZTVwjm83S09NDNpslmUxuyKa0kqis1IRxIZttmSzHtm3buOuuu5idneXw4cPs2bOH3t5exsbG1uXmuh4LXWCHDh0iiiJuuummd7yobGkxWW9q8JX8OQ67vci0QAiwJsIYjdAOaQVWAFIDEuMEvq8pOY0zFt+C9sqxDC3Lp89hCZ3AAVoqZk2ClADrHFoKLgUGRII2BYWwiEoIiqHAYVBo8uYSTvw5Gfs+Urp7U3tzXY9m/JA0i8BV4hozMzMAvPLKK8zPz68qrtFIbrRJLxSVShPGG4lKo8SkHucjl8txxx13MD8/z5EjR9i7dy9SSgqFQh1WuRghxKK2TQvTiivB+ncSW1pMbpQavFxxX15cQPTNoJMCISUORyQ0SkvAlXv4uBCtJMKAcBHGSZQApCRAoq0htOArmClFaCnxBQgb4ESKjHZYJxGAwJFSAoEFpXHWIx8USWkfF0JCe0QmYDaaxyb+Nya4GSG6m2KDXEqzbNybyWriGgBdXV2Mj4+vKq7RaFazqVU24YWiMjAwwNjY2DWi0oyWyVIymQy33HIL4+Pj7N27l4MHD3L58mXGxsZoa2ur2/tURghXYrCVtOKlwfp3AltWTJLJJLOzswCUSqVqk8KFX2EYkkgkqhlTqf6AUmIOLRI4FxKWQrykjyfBWYlxBi0F1klAYKWiFDkS1mJtiNJJEggMDmktKA8hBcYBSjIbaFoUFE05ZoIou75853DKMRs5SlbRoX0KkSOV0GgrCIxGCkNgQcjXINFKFG3bzNO7LM0oJo16+rteXENKuaifWSWu4ft+NQ23r69v00VkPaxGVJq539dSUqkUvu+za9cuZmdnef7552lpaWF8fJyOjo6a33OhRfVOr1VZ093+pS99iS996UscPXoUgN27d/Orv/qrPPjggyu+5mtf+xq/8iu/wtGjR5mcnOQLX/gCH/vYx9a12IsXL7Jv3z727dvHY489xrFjx/j617/Oz/7sz/KBD3yg+gHv7e2t/rfWGuccU/lnmQ1OlTO2XIQUAud7OATWWJRUZesB8ITAOotAoBUoFEULaQTzocHTggIeCevIKgE4nICsL7Cu3AgSKSgYh8QyYyQuErR5oIXDSU3kHJ4VFK3EEJHSCYLIIRQIdZmRm+YJzRU8tW1d56pRNJuYQG1rqnzomzGuUQ/Wu0lfT1SgOQLwazl2IpGgv7+fsbExjh07xve+9z3S6TRjY2N0d3ev+70rlslCrler8nZOK16TmAwODvLv/t2/Y3JyEuccX/3qV/mRH/kRXnrpJXbv3n3N7+/du5cf+7Ef46GHHuKHfuiHePjhh/nEJz7Biy++yC23rL0B4q5du0gkEuzevZtEIsHQ0BD/6l/9K+666y5aW1uXfY0xhtfnHmXezaCEQliDEgmcCJE4BLJsaThHYB2+cBRsuYYkIwyKCKsUKV12iXmSsiUiwDnIO4G1kJAWiyNyoLVCOUlCQ4AkrSSRc0RIIizKwRwCH0VkIShGyISHUxJjQzwUqWTIfPRX+OZO0v74ms9VI2hGy2QtVOIaS4WjEtdYmEW1kXGNZmY5UVFKrdg7br00UkwWBuA9z2NiYoLR0VFOnDjB66+/Xm3V0tvbu+brfb3g/kq1Km/XtOI1ickP//APL/r+3/ybf8OXvvQlnn766WXF5Ld+67f4wR/8QX7hF34BgF//9V/nO9/5Dr/927/Nl7/85TUv9tixY1VT+6GHHuLZZ5/l+77v+1b8/ZLJs2/mcQI3D1JirMMgsET4zhGFEcL30LJsXUhrsFKjAKTASUXkBNKBdWCB4GqsJC0cQgo0AqccOIe1jtA6ShayWnApsKQ0uCgi6UPkIKE1zgYkhaRkJcJCxk9TMgYAjSSyAoTB+AHYZ8FcJCnu2fSNrRnFZLkP49K4RuXflbhGRTSWWrD1oNnOT7026YqozM3N8fTTT/P6668zMzOzbExlM9e52mNrrdm+fTvDw8OcPHmSgwcPVlu1DAwMrPqztprEgaW1KpUBfW83UVn3J8gYw9e+9jXm5+e57777lv2dp556is997nOLfvbRj36Ub3zjG+t6z4U37Y3qTObCi7w+twd39R8bRiiZQEpTFQekwjpHZMpZV4HwkNairUOqctzDk2Aji3AQAU4IhHDMRoI0jtAYPAUFA55SZFQ56B45R1qXb5ASoC3MhhFpLZmLBJGBNgmFwOH5oJ3EhpaM9MqDt6zCFQWJrCSwh4nMZVLee/FUZsW/udE02w3vXHn+fBiGHDlyZNEo4YVxjfb2doaGhqpxjZj1U3HzDQ8Pc+nSpesG6tdCo8VkpQ1fKcXw8DCDg4OcPn16Uf+voaGhG3ahWGva8du5VmXNYvLqq69y3333USwWyWazPPLII9x8883L/u6ZM2fo6elZ9LOenh7OnDmzvtUu4Hp1JudLxzhWeBUrDCCRQhE6cDhMGJFQSSJRFgstBEiHdZby3i8IpMQTgtCBtI6Ckygh8HHlVGIgowXWOiRgEYTW4nCEQlI00KIFzhicAv9qXCXtykLmybKDzQlHoKBgDMpAWkkKgSnHdYwlnUiQL0UklCPhzRPKR5H2TpTsr/n8rZfNePJe2AxzqbVR2YTy+TzZbLZqbWyluEYjaWRgu2KpLJzrPj4+vi5R2WjLZClSSgYGBujv7+fs2bPX9P9aaSLrelOa344t8NcsJjt37uTll19menqar3/96/z4j/84jz322IqC0iiSyeSydSbH5l/hVHAILTycLQfDnVRoaXEWhFTlxo1InChnXkUofOewxiCUxhNXb8DIgFJIIYmMQWvFXGRJaUfJlOMsFoG2jqQLEFfb1ackGGsoWYcvHXMR5LTjilO4kqM94Uhqj+kwInKC6UiwTQhK1iGuxlsCofCtRlpLZEMEIU6HRPZ5UozjyWvdio1mI9xcq41rDA8Pk8lkyOfzHD16dFk3a0xjWLg5Z7NZbr/99ppFZaNiJjdCCEFvby89PT1cuHCBqampav+v0dHRayzb5QLwa+Ht1AJ/zWLi+z4TExMA3H333Tz33HP81m/9Fr/zO79zze/29vZy9uzZRT87e/Ysvb2961zu35BMJhfVmVhrOTD/DNPmLNY5jLA4oYgoxzWCMMRXSZR0IMB3ipIzCAnlChNBgCQhyhlbSQ/yKLQR+MIilMI4R0pZrHFIZ7BCETqBco48PsJYUsqCdZScwlMSZ0JaFURI0loRGkOAwhjwpKAUOVJaMhtJcsLgwgCsJakFJSFQSqOkoBBBZEIyCUPIAZy9jOYepKxPW/HVUE8xsdYu27ywVCrh+341g6q3t7caDF8urlEsFpsuTtFsbETm1UqiMjY2Vm1rcj3qXaW+dL1r3ZSFEHR1dS3q//XYY49VCzorrWdqFZOF77fUUlkarG92ao46VoY4Lcd9993Hd7/7XT772c9Wf/ad73xnxRjLWvB9v2qZhFHA6/nHmTMzqKu1HTYEpx2KsjvKSQ0CIgS+E+StI3KChLU4G+FUgpSnscbgYTFOlI8loOQkWFfuSu8c+UiilcBzjpSzWCdIaYgMGGtBeAQOTGjJeIpLkcDDoG1I2tflynglkQI8VY7ZFKzEocgKCRY8K5guRDgs2aTGOIeUlmJkSfng3HmcfALP3oWUHTWfz9WwHjFxzlEoFK4RjUKhUI1rZLNZ2tvbq9bG2yGu0Sxuio0uMFwqKnv27Fm1qDSDZbIc7e3ttLe3Mz09Xe3/VfmbGtmqxTnHwYMHq7OMmr1WZU1i8ku/9Es8+OCDDA8PMzs7y8MPP8yjjz7Kt771LQA+9alPMTAwwEMPPQTAz//8z/OBD3yA3/zN3+TjH/84f/iHf8jzzz/P7/7u79a88IWWyfH8qxTMDALASgJrUBKUE5RKIVJ7KCkwthwjMYASAuMcRoAVClw5qcAiKCHwI4u0FuX5qKvtuHAW68pB+MBAwpPMhI6MLls+nhaEVuFLQYsElCQUkJAGARScRAvJdGjIasd0CGEk6EiUOwwntE94NcOraCW+UBRDropOOYbjHOBCPCkRag7HU8hoJ76erPmc3ojr3cQ3imtUguH1jms06wfr7cxqBGqtotIoy6Ty8FOPJ/vW1lbuvPNO5ubmmJqaYs+ePSilauoRuBIV0ZiZmSl35dgCLfDXJCbnzp3jU5/6FKdPn6a1tZXbbruNb33rW3z4wx8G4Pjx44su2v3338/DDz/ML//yL/P5z3+eyclJvvGNb6yrxmQplZiJc45AzCGkw4WWSGikkOXiQSRCKxCC0DoSSlG0FmEjMBYhLQ6JJxXOXp2pICVagJKSAoKsEOSNxRfl2IevJbmrFgpC0OJJIlcOmjugYMuB/tAKShbaPId05ePmfI1A0K4FVkq0NISUYzoXI4vvOfKRIO0pXFQidBaloBiVhdBXAu1JhCkXVUoZoTGE4etIMY0UdyBl46quK09M14trpFKpRdZGNpsllUo11EyP3VzXpxGWyWpZrag0KmZyvaFb6yWbzXLbbbcxMTHB3r172b9/f7VVy0r1butlYbsWaO5alTXtPP/5P//n6/7/Rx999JqfffKTn+STn/zkmha1GhamBgeugBQSzyv3wCqFFkSCko2udvIFTziscyjKlkUoJFpCYMt9tYrWYZwg6SzSRTjnkVblaYxeNQYjCaJyLUreWLYpRzE0OCkRshx5aaEEIom86sayzlJ0kqSQXChEtCc8zpcAF9DpW9K+wCHoSXkY5xCmPHjLWkFCKiIBLgLpK5CSyEqcK/9VxlkcFs9LEnIK6WbR5i6Uqs8NvTSucfnyZfL5PI8//viycY3NGCfcLB+kZqVZZsAvFJXKU/1CUalXo8elrGbo1npJp9PVGPL09DTPPvss27ZtY3x8nPb29rq8R0VMtkKtytZrHnSVhcOxQle6aik4hHB4SoAQGFuOrhvncCg8JM5EOCnwtcM68Fw5xiGFKzdTkYpCBCkhKUS2bKEYizIG3wYoLZHCQ3uy+jRlHOVCRQUzNoE0joQI8KQkRJL2HBhLhycJrCMhBZGFAorQOJQr16uApGAVaSTWlGtWZMniSwkBKFleo5YCLT0KQQlPGoQX4QmwtoBTz2HsTpQcWvW5XG1co6WlhVKpxL333ttUcY3YMrk+zdT6pPJUPz4+XrVU+vr6VhWkXw/1dHOtdPxkMlnNYDt27BgvvvgiuVyOsbExOjs7azr/K7VracZalS0rJhU3V8kUsBgUCisMzjicEEgRkbjaGsVRdhN5Gpwod/MtGoFCUELiooiEg4Qs3xwpDc46tHCErnw8JSVFNNpZPATCOWbD8kbvCUdClIisR1Y7gkgirs4yKYQWG1oSWjIbShJEeDjSnocVFt8vHyvpJJdNuUJfa8VF45FUkqKLiEKHSkAhKg/qyiY9igYynsd8aBGq7GZTWCwB8BqYKwixa5HbqxLXWK4P1cK4Ri6Xq1obiUSienNevnyZixcvNpWQxGw89XBJZTKZRaJy6NAhEokE+Xy+rsLSCDfXQhbGenzfZ3JyktHRUY4fP86rr75KMplkbGyMnp6eda3BWruitd9stSpbWkyKxSKz5vzVk1ZuZyKFQgqQTmJUhG8NYegQKkHBGCQOnCAhLCUjUBKEUkRIoNxvSDhByZZrUZKyXHRohSAjJRaQ1pYFSgjyxpHzFZfCBFkFQWiqwXJtHVnpcC4ixCepHEpo5oKIVhwXi5ZWD2ZCSWQtnQlNi3LMGocWcLZoGUhVMsrABIa0pzGivMa5ICTjJSgFFqtLJLVGS7AGlDyJc7OcONFJPu+q4hFF0aK4RkdHx6rjGpttRi9HM66pmWj2dvEVUUkmk5w6dapqqYyPj9dFVBrp5qocf+nnxvM8xsfHq/2/3nzzzWr/r76+vjVZSatJPW6WWpUtKyaJRKIcCDaXsNYhhEUiQYBwitAZnCu7qUgATmBCi8CVs6JkuUewiCxSKbQSWCQuciAtzkmsECBgOoSshvnQktSWgpF4UtCiXTlw7yCrLc6WCyGFkMyGlqwWzFtJMfJo1RZlHShJi68RAjp0ub+XV2ljj+R0MaIrCbORoNWXzEaWFiUpRQaD5GqqFwnh4SmFROB5GhsG2CgACTLSSAlaTdPWkUfQTi5Xe1yjGXtzQezm2mgacb5936e1tZUdO3Yscn/VKiqNtkxu1KqlUkF/8uTJqgVW6f+1ms/hWupYVrJUfN/fkFjmlhWTSnXtXHjlavaWASGQThK5CBxIIcsbMA4pLEksJQHGSawt16AgBU7AbBCR9mDWCLRTJEXZH+mUpMXTGGtISoF1ZasDawkQFEJoS0BoHMYKpBQ4B53KYq8WHUpRbnE/by1JBBcCQ4cnOVOSOGPo9g0ZrYmspSupcc7SoS1alWMoJwoRQ0lNYKPqwK2CKdGW9sg7gwwiUp4gxKLD8vx6dXUgVzKhGB66TBB6SLX2rqgLaVYxiVmeSpC2EdesUdbOUvdXRVTGxsaqg8fWc9zNrGGRUjI0NMTAwABnzpxZ1KplaGjouk1G11MUuVRUNootKyaJRHleesnOY4UFykJicAhXdkuF1uBLiROWyDqEL/GtQTtLAUfeCJISAmPJKEloDUoqrLOEQlJCkrCW0ETYq61TlBBkMQihiYRF+2XFt9ZhhaRgYJsWnI0knoC0iEhqR8E40hqciejyJEVjyGhJKCWRUuRNue9XyVoUMB0IstqQdpbWShKAFcyZCOMgWUkQcJBJpXCihNQexahA2tM4ZyiFFl97lEyEc2eQ5HHuLoRYvs/Qamg2MYkF7m8aXs7NzS36yufzAFy4cIHDhw8zMjJSl+7IG+E6WyoqTz755LpEpZGV9bC26nopJf39/fT19XH+/HkOHz7M1NQUIyMjjIyMLNv/q14V9hvBlhWTajsDIiTloVQRFiU0RRfg4yGFJXLlFsGeUuAkoXBIT5C2Dmscjqtz4IWkGBm8KEJ4FiF80kriiJAGAgGGcvxkJhL4thyY185xKbJ4UuI7Q1oGWJK0+eWZKEIqrLAUrSRvLCmpOF9ypHBoF5FOSCJjScjyiGBtLTOubOEo6bgQatJKIIXkioO+hCQwBaQn8RCExkIhQqY1JrSkPE1oFcLYq39/hFIOFwl8MYcQz2LMTUi19qr5eOPefIwx14jG/Pw8xhjS6TTZbHZRuvazzz5LLpfj/PnzHD16lLGxMYaHh2tye2xkHGahqExNTfHkk0/S29tbHYm8muM2MpNrva1auru76erq4uLFi9f0/6o8KEPtYhJbJqtAa02mJY1xBq4WKbrypFycAysoiwyCyAnCMMKT5ViFFgqrHBntCO3V9vECklqA9IhcQBBZEkoxEwq0UCREgBYW4yCjHNYprDFYoYkAY8v53udDQauG0Fq0cBSNxMfR4QkcjrmSJYlDCpgzAh+4FELOg7lIUoygKwGpKEJITWfKQwiJNIacKlsjvtCERpB3rpyG7HkUo4ik8igGBi3LQXtPeoQmxLoQLRSlqIjA4MtXEG4EJ8bWdM6bMdjdjGuqBwvHBi/8KhQK1Zks2WyW/v7+au+y5QRCCEEikeD222/nwoULHDx4kKNHjzI+Ps7g4OC6NqrNGNubyWS49dZbGRsbW5OoNNIyqQT317vZCyHo7Oyks7OTy5cvX9P/K5VKNdyyqidbVkyEENx1301ExmCvBtEja8BVshcU5mpluhCCyIGzBoHDYBDCIgQkVDm+UYg0M5Egp2E+ECQJ4WohUGgtvi85XxK0+zAbWtJaMY+HLwTtnsO6CCc8Wj2LMQKsxUiYiywZ57gSGUoWOj1QzoBU5HwFGHoTZasnUhLjyvGOs0VHry85OR8wkPE5ko9IKkEWi4kMvTkPT3tYIkpR2bISOHypyF/N+nLKktSKKCrhXEAyqYlKJXwF2KMYexGp70SI1d0GzWqZNNOa1rOWKIoWWRmzs7PVscGVrLvW1taqcPi+v6YNpvIZ6OrqorOzk7Nnz3Lw4EGOHDnC+Pg4/f39axoGVTlmPVmttVMRlYXur+uJSqMtE6jPuWhra+Puu+9mZmaGqakpnnjiCfr6+mI310YghOCJb71I9+/8V/7OP/4HJP0ECJASHLbcRwsLRDgnkJTThh2mbMWw8IMv8ETINg+C0KElIDUzpmyFKOUTEdKekBhrSEhHZMsjeokMJScIrCQjShhpCSOF9iQejk5pcBK0p0g6gxCSSGp8KbgcOjolnCoC1tKdsPjSUIpk2ZKxlv6EIDSGhJKExiATHnknmQ4icJKUl6DoIsKiQaUUQkqElcyU8mQTKXAWT2sILYGJ8LwEkQ3BWZScx1fPEUa7Qbas6rw308a91agUhy61NorFIr7vV62NwcHBuo0NXrpJL2yxfurUKQ4dOsSRI0eYmJigt7d31RtjvcVkrU/g6XR6VaLS6Nb2UN+CyJaWluqcmKmpKQDeeOMNduzYQS6XW/PxNrIx5JYVEygP2hKnOvjal7+FHhT88IM/RMqLENLheQ7nRLkq3gmU1ijK3Xft1ZwoEFgHUl11C2ERypKPJFI40hJCC3ln0dJRCsNyfQkSZUOysoTFQ2qPlARlFSUTEGpF3jq2KTgXKRI4klLgScd8CEktwUb0aEUAtHqKQliO/hQRGGuZDxxtScm5ksBzhk5P4LTP+ZIhdJKE8khasKWAlFZIK9BBhHNgpMXHoxCCU44osqSSmlJUwElJQpWnRRobEYYhgu8h7DBWjlz3fDejZdKsLoAwDJmZmbkmtgFUi0Pb2tqqwtHIQtDlzpEQgoGBAfr6+jh58iRvvvkmU1NTTE5O0tXVteJ53WzLZCk3EpVmdnNdj2w2y80338ypU6fwfZ+nnnqKjo4OxsfH2bZtW93frx5saTFJJBL85I/9DO973/v4qX/1Of7n//NdbvrQzYx19+Jpi681WkkQDkKLlhLrymm65XaM4Cw4YdDCQwiL50l86ZgJAq6EPlnPUYgiWjxHWjlmI4WVkE14XAklKekoWUcCy8WiIKkkCWHIigCLT0dSUYoCJOWYTt445iJHe0JwsgQ5DSYMyCbKzSjTV4UmrR0hkNUS4RxzTuM7gV8e7UjO9ymEFkSINKBQaAcmiEhpifI9QgNKaITyKZQsKV8S2ahauJn0NM4KIheS9o+Au0LJ3oKQK1fcNpuYwOZaS9baRdbGzMwMAHv37iWRSFStjeHh4Q1perlWKmmr/f39nDhxgtdee41UKsWOHTvo6Lg2SaPZxKTCSqLS3t7esPO9EQWRALt27WLHjh0cPXqU5557jtbW1mr/r2Z6mNqyYlIJLFb6c/3+//f/x59+98945Mm9vKlPcMcHdtGdy5HUioSnUFISmAgpFcZetU1kubOwtZZCVCLhl2clgiDnK3wlmI8sWS9BwUaETpCQkFER4NGiLZEB30S4q8H+ghEkE4ozRehMwmwpIqVgJnQktaAnCcaERGjaPElkDU4olJKcKzmSUYQT5db2XQpSwqC0AjRKCNLKIVHMliLOFx2DaQ9Mua1L4AROGJQDZcpt821gkEmNlo5CGJHSEJgATyYIowBPaZwtT5KUXCHhnqRo7kYuM2u+cuM20nXQzFRa0Sy0NCrWRqUgtK2tjcuXL3P//fdXMw43m9Vcq0qB3eDgIMeOHeOll16ipaWFyclJ2traqr/XKOGuV2xjoahMTU2xb98+lFLMzc2RzWbrsNK/oZHxGFhs+Wit2blzJ9u3b+f48eO8/PLLpNNpxsfHr2tJbiRbVkxgcbNHgB/50A/zIx/6Yb70zf/Gc48fgmyRO+7aQWsyRVILtJRIQKurjdKuOq0SiQTSFxhnUEpQDmVLpHVk/PLGnpQOaR04RcEoUp7gUqE8jvdypEni6PYdEOKkR1eqPJQrpcEiKVgQRlA0kumSYiBbTh12UiKlxjhLn1eukC9ah7WghORKUdCeglOFgO6Ex/m8I3IR/SnHNuXQUhFG5VhREEXlMcJSEVhBKQrJaEU+EiSFRQmButqKRUkwzmBNQELkyskLVpFKQDJ6mnxxAp1c7PZqhht2KY1Yk7WWfD5/TWwjCILq6OBsNktnZ2fV2qisIwgCpqammqZ/2VqFX2vN+Pg4w8PDHD16lOeff5729nYmJiYWtVdvNstkKel0mltuuYWWlhYOHjzI3r176enpYXx8vG6i0uhMq+XcaJUuxZVWLfv27cP3fcbGxtYU82oEW1pMKm3oL1y4gFKq+qR4b8/N7M6O8JW/+l+8dP4g/o4st4wNkEumSfkaKwRJqXE2QggwxiEBiarWnmhVTh92LqLDNxSiiMuBh6LsfhIYOhKW+ahcRW+cY8ZISkaT8wyBhdA6IgtJZelSDissVki85NWJjK7c0Xg2tHQmHWcDgXOGriR4phyryXoeYBlNaQJzNYU4FAgkV0qOrGc4Ne8YbfFBWoywqMjgnMYTisCCtooSFikkQjjU1V5fvjC4sARKk0wmiIpRudOyAGm+hwwuEuk7qjdzs1om631aXtj4cqm1IaVcJBqjo6Nks9m6FP1tBTzPY3JykpGREaampnjmmWfo6upidHQUaIyYNOIp3/d90uk0t99+O1NTU3UVlY2wTFY6vtaa7du3V1u17N+/v9r/a2l2XtMG4B966CH+5E/+hDfffJNUKsX999/PF77wBXbu3Lnia77yla/wkz/5k4t+lkgkFs1wXw1BEPDqq6/y6quv8tprr3Ho0CE+85nPMDc3x//4H/+jWqhVSaF84IEHOHHiBP/x2/+Dly6cYHh3B/2tHeXRudaWB0w5Syop0aKc8eVwCOmwYeVJvnxRWpNp0p7jYsEQCLhctGR8TdE6WkQJebVLZ0qDAqQwFK0iRJAWcDZQpDVX03fhfAFSniSpDDnhCJylI+FRjCzClrscGyU4H0QMKMmhufKArs4EZJI++SiiO+URmIguT5AvRSQ0eFrhSQiLIdmUh5aSmWJARkNSKwJTFhWlNIgA39MYYykV5/FVmlJg0TqF8tJ46hy28Bgm8W6UXjzIaKthjFnW2qgM9KoIR3d3N9lsti5TIJuFWv4O3/e56aabGB0d5fDhwzz33HMAFAqFdWUXrUSjHlAq1kPFUqnUqdRDVBqdtrsasVJKMTw8zODgIKdPn2ZqampR/6+NjM+tWUwee+wxPv3pT/Oud72LKIr4/Oc/z0c+8hFef/316xYPtbS0sH///ur367lxTpw4wQ/8wA9w6623cuutt9LT08P3f//38wu/8At0dXUt+5rR0VF+8//1i3zzu/+Lb0+9xvHENJPb+2hLZfBEVG6WqCCyDk9LlJJIBMaF5WJBBGEU4WyIVpIWz1KwPnPSEEaCnBZYpzFCMBcYWhJwoQRYSatvwEU4oehISIyLkCYqTytEMRM6UkpwtABdSciHhhZPcqkEWgi2aUGX51G0hp6UphCEWCeJDMwEjlIU0pWUnJ4XJKUjjaG71SdQBi01c6UQ53l4otyORQiJtWU3XymyGEE5EK8giEo4q/F9SRCFJP1EeUaMLJGM/jdGvgshyr7zZhKTpffRcq1F5ufnyefzKKUWiUalNcc7xdqohWQyye7duxkYGODpp5/mqaeeqs7wqPTJq4VGTlpceNx6ispGuLnW0qplYGCA/v5+zp49y+HDhzl8+DC7d+9maGj1s41qYc2for/8y79c9P1XvvIVuru7eeGFF3j/+9+/4usq+e21MDY2xqVLl6oX8MEHH6wGoG7Exz70IB/jQX7v23/EM68fx2ROc9P2YZJYrFSkPJ/AGJQQeEogrrquPF2eouhEuXWJVpqECxhMCM4EissBpJVP3ljalcNZVU4eQyCl4mQAfR6cyUd0pySnQ0FGQ2/SohEEAvrTGuMiMqJcvT8XlptQJozkWN7Qn4H5ICQpYC5wpD3oSYIwipIQdKfKfcikS5IvlV1wSkAuqZkPTNViyUeGtBIEUbkCXyhJJAQlVy7KtCYgMgrhJGHkSGgPob1yylvxWRJqY27K1VJpLWKM4cCBA1XxiKJo2dYiC2ezvJOo59NpJangvvvu4/DhwzzxxBMMDQ0xNja2qA3IWmmkmCz399dDVDbTzbUSC+uIzp0717ChY8uhobYLOT09DXDDMZVzc3OMjIxgreWuu+7i3/7bf8vu3bvX9F5L17gwm2u1/MxH/j4/A/zGn/xnXn/pFNv60gyrbkp+iK8FCaWIXHmeiBIQmhAtFVKCFAJn7NW+WTDqWc7MGaz0yRuBFZLzRUuXXw6qR07Qn3U4a+j0LBHlAqKisSS15HTR0pWCC0VDTksulSxZzzGSNkSRBuHoTWmMjfARCCmZLjoCE6GF5GLeMtoqiSxYq7hYKs+b36E9gqiE1uBLj2JQwvcUygq0kkjnEUbgkFhjcH7ZrZaWEWFk0FpgjE/RGjwvWxZIpZHmMO+6yVIqzqGz29Z03mthudYiFWtDa129fzdzfHCz0igrMpvNcscddzAzM8PBgwd5/PHHGR4eZvv27etKPmi0m2slahGVRru5ajl+pePBRlKTmFhr+exnP8sDDzzALbfcsuLv7dy5k9///d/ntttuY3p6mn//7/89999/P/v27WNwcHDdi184B36t/MKP/jR79+7lP+/9a167nGdwvINtqRwZX6A1JJTAU4AtF/4ROTyvLCo4i5TluYbdWc1sYLgUCIrG0Z6QlBwEEUBE0UBKay4EIelI0C0tQpWHbHUmQeJol4K50BC5sjCcL/mUQktnGvKRIzIC6xRpCWNZRxSVB2QlVLmi31loTQgSWqLQ1Q0kCEsUTEBrWlMILMI6lHQkpCbCEZRCZFJTCA1pz6MURkAJGwqssGjlI0xAwlNYFAifllwJou9gSx9AJLrXfe1WIoqi6iCvhV/W2qq10dLSUo2LhWHI888/z+TkZN3X8nahnpv00jqTlpYW7r77bq5cuVIVldHRUUZHR9fkPtwoN9dKVESlklK8d+9euru7mZiYWFFUmllMKmx4Bfx63+zTn/40r732Gnv27Lnu7913333cd9991e/vv/9+du3axe/8zu/w67/+6+t6b1ifZbKQm266iZ8RgrlCnm+99QZv6Rm293eRSfikEz5ales3rCvPljehRQqHALSyCFH+YKU9wQgRlwLNmaKlOymZiQydviAj4XIQ4iuJAi5bTRJBMSy3jy8ZRT40tKcUgylwolyVHwqBB6SE46KFknGkteD4rEJhaUkIrLWcL0T4UlOKDFnpKBqPfRcMWS0Z0wmcDcmXQvA1RJZC6DBaAA5lPQolR0ILClYgkxpnQqQ0CAOOcrPMwDmUyCD9JEHBkE04XPgYhfAmVPbWdZ37pa1FKj2pKq1FKj2pKqKRyWSW/WBFUbTeyx+zDlbanLdt28a73vUuLl68yMGDBzl27NiaOhRvtJtrJVKpFLt3715kqawkKo3OatxKfbmgBjH5zGc+w5//+Z/z+OOPr9m68DyPO++8k0OHDq35fRdSi2UCZV+ytZYPf/+H+DAf4o+++2c8feYkR2TIZF8v2YTGeuXKdC2vWipcbWdvHIhyU0ZnHL726FOOjKfIR460dMyEjvkItmlHJgqRWuPLsvssJRxYxUVTPv/Kad6as/RmPC4UDRlhOFcsF1F2JB1Jz2GlojcjCI0gpR2lQBBaScE4sp7iwBVLiw/jbQprFfNhiEbjKUsxsuirPcRcKNHCIp0A63BGEAmBCixaeRhryhltJkQrjbMWZAlpFSgfQzk5QUevo/MXCJMfKBe6rEAYhtdYG8s1MhwYGFhza5F3YgxkrdTbMrne8To6Omhvb19zh+LNcnOtxEqiMj4+Xs1i2wqWyUay5gC8c45/9s/+GY888giPPvoo27dvX/ObGmN49dVX+djHPrbm1y5kadHiWpFSLvIp//0P/TB/H/gPf/Ew+6dOsm1gG62pLAkNad8rj9Z15dkpWlKeg4LAWIN39fuMjkgoxXQkSKurTfCFIJICjeViKOnScDIP1hm6fUdGC4yx9KQkAuj1oBgKFIKSBU2Sw9MBI62Kk3MB/RnNmxci0p6mL6PwhSS0MNIqKUUOZxw4yeWSw5MaTxqMcFhpEJEpWxqS8pqNQyCQSjEfBKR8ifQgDA2ZhE8xKOB7HsKFuDBAqAQqkcIEEmckIjqDnv0LwvT7QLcuSr+tCEixWKy2FslkMnVtZAjNlV3WjDTCzXWj91vYofjQoUNMTU0xMTGxYofiZrFMlrJUVJ566qmqqGwFMdnIh601i8mnP/1pHn74Yf70T/+UXC7HmTNnAGhtba2mCH7qU59iYGCAhx56CIBf+7Vf4z3veQ8TExNcuXKF3/iN3+DYsWP8zM/8TE2LTyaTXLx4cd2vF0JUq0wX8tmP/0Nef+MN/mj/UxwyZ+jvbSOyCk+VmzQ6IJQOLQSecEh0eZJj+UEfgWEk6ZgzgtMFS0IKiqZ8snt9S8kKcl55KqOQ5VTgrHaczRv6k5KjcxCEluEUaE8QhJbBrMZEln5fEQblmSzzgYWUx4HLEaOtiqNXIoZbfA5dNuR8Q2dS4axlrqTwwpBcxiPEYKxgvhiRSirCKCJUikxCIaVmtmgQlAs4Z4ulcgV9sUA6CTgQzuFUC9LPQjSLEx7F+Vm80jd48+Q2Tk9vq1obbW1tDA0Nkc1ml50iF9N4GrFJr6WzcCWz6PTp09W298t1KN7smMmNWE5Ustls04vJRrJmMfnSl74EwAc/+MFFP/8v/+W/8BM/8RMAHD9+fNFJuHz5Mv/kn/wTzpw5U+3bv3fvXm6++eb1r5zaYyYVN9dy3LxrF/9q1y6+++ijfOfCEfbLWYY6OzFJKClIaIUUDu9qfYpwFiVBSoVz5fntWWXYmRWcz1vSnsflkiNvJbOhIaugw5cUImj1BQoYTQtmA1OucjcQCcFcqNDKcSlv6ElqTuUBEzGUEfieRymSDGUVYegYTitKYfnDM1uytPqKo5dhsl0QhpZC3uL5AucsXkIxX7JkvHLWWWDKcRIlPUomRClJSkQUIosnIQpKhDhS2qNYmEeIBBaNEBFIjdaOm4Zm2T2xjTB7z4Y9ETWbm+vtbiWtZ3MWQtDf309vb2+1Wntph+JG1WzU+7gLReV73/seV65c4eWXX17k/qoXb3vLZDUflkcffXTR91/84hf54he/uNa3uiGJRIIgCNb9+qVuruX40Ac/yIf4IH/wV3/G8+fP8pYHw21tJJOClBZE1pUHWgmBcgJpLUoKHApjQxJaMJBTvDVbrjy/UrK0egolBCXjmA7LcZGsFBwvli0UbQ2dCQidJJuQCGsYTJU7Dme0IxCSglXMFcuusrnQ0OZ7nJ63KBfRn3RIBKVAMpRThKFFS48oCnGU58PndYB2EiUh62vmi3nwqWZ82ZJBpSRRKSIhDCIhUZRTjqXU+NoDIVEqB66EsPPlIs/oCIkrF8gnfgCd3rbua7MW3u4beK1sZMzkeqzUoXhycrJhYtKoWpBUKkVPTw9a62qL+KUxlVp521smzUQ9AvCVOc43upF/7Ad+mL8TBPynv/oGh85dIbctRTaZJOGXh1b5SuLpsqgY53Ci3N3XWVBSMNjiaCkYjs8pzhUFHQnBxZKj03MkpaTkJO3JcrPGyCmUM1wMIBkZPCG4Ekg6kwLfhWS1R+QsCSVRzrJNwXRoSSmHtZJZqxHWEVjIR4autMdbV2AsJ8h4EUILnJPMF4poaTERpD3NfBigJegIBOW+XspLYW0ep3ysAhdZSlGIYxatsgjp4aTCigTYCCt8hC3gzTwC8vtwydF1X5+Y+tAsYlJhYYfi48eP873vfa/aXLPeNLJK3TmH53ncfPPNi9xfXV1dTExM1CwqW01Mts5Kl6FWMancZCu5upbi+z7//GN/j58dfw+JOcvxs5eZL1pmihEzgaEQOgqRoxhBIbCUonK9STE0OCfYltbsaDW0a4e1jpxWhFZxdA6sdRRKISb6m7n1napIZ8KSUNDmW6w1lIyHkIIzeceVguViAQ7OSnCWtDRs8yUaSzap6EpLRrIS4QwDGcHlkuDSbEh+PuLKpZBSIJiZl+QDy3TBInQKoX0ipwidohhC5CRO+5RCCENH6CxOunLHYWcpFmfLd5FOgtZIP4GRCZAOb/rbcPn6aeO10mxurmakWc+R1pqxsTHe//73o5RiamqK559/vloIXQ8aPWmxstknk0luvvlm3v/+95NIJHjqqad46aWXmJ2drcvxtwJb2jKpRzYXrN1Ncuvu3dy6ezd/vWcP3zp/iIvKMNDejrUWfTWeEjmHd7XVOw6ctSjlUFqyvd1xdtZxfB7afU1CGowF/6qFMhtCi4YrUQobSnozYCNLGMlydTowlAhRyqPgBFo5rI2YDxQtScepeUeuVKQUSuaNpDdlyRcj2jMJLhYyDCUsUhukdijfUHIFpBDMBQKigG2ZFJiQpEhQcBbnDEZIEgqkU0RhRMYDawsoawCJ1Emk512damkJQo1TClXcjzx/hrDjb4FsXFv2Zutk/HalEefZ8zwSiQQ33XQTMzMz1Q7F9Xi6b2TLk+Wsnoqo1MNSqVVMNtr9W3M7lc2kHm4uWL1lspTvf+97+X7ey1e//T956dxFLmU92tIZIt8ghSOhwdflGSoICaFBa4kW0JmBrGc4MyfIh+DJ8uwShaM3WbZuWnS5Wt5ZwEJoBTMBtPuGiwUPYR3tyZAogvlQomVEMTCMph1W+BS1IG0lSgickvhK0J6WHJ4WTLSBCwKUVHh+mnyYR2lQTlGMLAmlyRuHNAZIEbiAMDQY5RDS4EmLRmOjEtJLYF0JhECoNJI80qRwgHABIrqAPP0wpv3DiNTAuq/XcjTrfbsZ66p0D5idnWVubo7Z2Vmcc5w+fZqenp669GlqZNaV53nVDsWVjbinp4eJiYnrNpG90XEb6eZaabOvh6hsyQD8VhaTWgLwa3VzrcSPf+Rv8Ynpaf7vp7/N8QvTFFvSpH2P0Fm8yOBrRWQNSgqsEUTCIZ1DK8HgtgBfJ8gXHR3JsnUwaxzWWIoGstpwcl6SVI6cF5EWRUyo6UwoLBJPOKxSOOMxZyU5D47NCrSAjjRoa5kuQtKTFKwk6QKGch6hlWAdQSAwJiCZTFGMIjQKFQoiY7G+RFmNtuVWLYEpERYNmZQmsKocK5ISEQUYk8dXSUTCxzgJKokwRSKhEF4GFxXxzz+Ca7mXaNu9NZ3v5diq9/B6qMxhqYhGRTgKhQKe55HL5aqjgvft24cQgj179jA0NMT4+HhNg7s2IoW3shFX2t4/+eST6+5Q3EhX0WqOvZKojI+P09LScsPjb6WU+i3t5qo1NbjSt6ZWMYFync3/9dFP8sq+ffzZqdc4MTdNe2srvnIYZwmVxJMWn/IQd1+pcot36+jKhcxqydRFDc5woejIKUfiahdfRIKiVeQEvFXIMtAquBII2hOOY1c0aU+yLRmRlBGh1fRmBMYJPCzWQWAV8wUY0HBo2sdXjqFWwfmCT78sgChPlkwkIMAitCQIDUpLfFFu5QISTyWIbAShI+EptIDQgSAEmaAQWZBFfKUIItBagZUYa3HKAxHiZl9Czx8j6vvbILf07bchLJ36WBGQMAwXdUbu6+urdkZeyL59+xgYGKCtrY0DBw7w2GOPsX379jX3zqqwkfUglRG8Y2NjHDx4cF0dihsdM1ntOVwqKk8//fQNRWVLxky26hNdRUxqTVesp2/xtt27uW33bh579hm+eXGKkzKiZ9s2dBSR8BWhiVDSEoS2PIPeOVRgEM4w3iY4P6txNsWcEeSUYjpUdKcBa0D49Lc4nOVqEL+c2puPHG1JzaHLgsFWy9l5QV9WcuACpD1Jeyoi4QIi4zPQojAWwjAiKwSlyEfKiFLksJSDosXQklAe86HDeldHhjlwVoD0sAKKViFMREYpilg8imh8CqUAEklQAqdyOBcgI4FTDqcyiDCPjE6ijv0+YfffRmZq62y6Ve/d5Yii6BrRWDhjPpfLVeewZLPZVXdGFkKQy+W4++67uXTpEvv37+f48eNMTEzcsM3JUho5A36la5nJZLjjjjuYnZ1dc4fiRmdzrXWzXygqR44cua6o1ComG9nkEba4ZVJrzARWroKvlfe/617eVbiV33/iT3n9xDlc1iebTqCFQUlI+xrPU+U+X0qUazeUot+PyM0bjl2CfODoyvgUSiGB9Ul6gst5R0da8tYcCGCoxeGsxTifgRZDGDm6EyFRpPGUohCV05UPXUky0mY4OeMYzEkOXvRwCLrTBl9EKGERThGZCCUlDouQ4AJHSRgyutx/RakEEkvoFFL5FIQlKa42g1QRKIFxFqk0aIWwPsLTSCExpgROltOIS/Ook/8duj6Ia7uj5vO9lWpNFg7wWuiqKhQK+L6/yE1VaTtTr02hvb2d97znPZw7d44DBw5w9OhRJicn1zQ/fLMq1XO5HHfdddeaOhRvVDbXWkkmk+zatYvt27evKCqxZbKB1ENMrlcFv1rCMLymieHc3BwA726fYLc/x+NzJzk9XaJ1WytKOSIJNrQgBDYCT5fTvoTQ5HKWYVHixIUUZ+cdbb5mrmjxlaQ/K8hHkPEdQQT5UFAINFo5rhQEvVmPYzMS5wwjrQYlHCWrGe0AawWjLY7IOdpSUIwcWjryQZKsKeFKEclUgkKhiPYFWItMJTCRK3dLVgphBU4rfKtQwqE9RclFJD1JaA02CnFK4IsEoSu78pTn43yHMhIrBKZk0MksoZlDnXsMU5hG9X9gXee+2e/dhW6qhcJRcVPlcrlqS/1cLldTPGMllm5IQgh6enro6uri1KlTvPnmmxw5coSdO3fS0dFx3WM1Q9uTSofiS5cuceDAget2KN7obK61spyodHZ2MjExsTWzubYqtaYGw9rExFq7qG165atUKlUbGWazWdrb28lms6RSqerN8H3Ay6+9yl+cOsCxQkBHJovSAmMcyoBvDb4uN4b0tMJLaMZ6i1yehZm8h68U+VBwcV6QSziEs7R4kmJoSSc0SjgyypIPBVnfUAyhFCkKYTmR7HLeMdAiOHJFg7WMtIVkFBy57Jc7VOLTmxOUSiGJRIJisYgSkun5AumEwkMxWwyuxmEEvvaQCBASjQNhSWuJJUJYi3VFhFYgFAYHqlwfIxBYE2EFSOeQJsS6yzVdw2YhiqJqjcSbb75ZvT+klIvGBY+PjzfFAC8pJYODg/T19XHs2DFeeuklWltb2bFjB62trcu+phnEpEJ7ezvvfve7F3UoHhsbY2hoaFGmZjO5uVZiOVFRSt0wSN9MbGkxSaVSNWVzwcoxkyAIrrE2Kv7rSiPD9vb2qitiNVkXd9xyK3fccit//vhjPD59igs+dKYzCOlwvqNkDL4UWGz5RhWKrg5DNuM4ei6NJ0Hhyt1+0Qghmc5bilG5RmW6oGhLlWtO2tMehcjha4cnLNtaYbYEbUnLfMkRGk0+gL7WCFAktSM0EBkBzoDwCD2D9BRFY5BSoK3EOINxDl9FeBI8XRaj+SAkMhGZlMYqgQ1CImvKg8SsAATSSyCVRjkL1iAQYBXKKWp9htrIp7Dl3FQLZ7FA+UFnZGSk+lCxmRbUjd5bKcXY2BiDg4McOXKEZ555hp6eHiYnJ69JJ24mMYHFHYrPnTu3qJlkf39/wy2Teh97oag89dRTTE1NMTs7y8TExJqFZaPvOb2VUyorT9C1/g3z8/PXiEcQBCSTyeoTZWdnZ902hh96/wf4IeD//tY3eWN2FpfQQAIlDZF0hNbgbIivy0/zyQTcNFjgzEWf43mNEhZ7NUuqJ+1QUlGMDO0ZhbXlVijOweW8QEtHztccm5d0pCNC49iWsMyWPBLaoiWklOX8HFzMpxhrL6FkANpSKhmUFeAUEouUBt+A53sUQkeoHDIokVQSXymclMwWQmRaoz0ITAhWIp3CGYFUDqE0eCmkiwiMQXsaU8MzTaPv3YqbaqFoVObOL5z8WJnF4pzjySefZGxsrGk+V6tdh+/77Ny5k+HhYQ4dOsSePXsYHBxkfHy8mj3VKNGu1YKouO66u7s5ffp0te19o4dXNer4yWSSZDLJxMQEc3NzVffX+Pj4ilbjcmxoAL5QKGzo0Pl6kkwmcc4RRdENfc2V3PyFU/0qc8QPHz68SDRGR0fJZrPrSp1cC//kox/j5OnT/MGrz3KkNE8qlcbzwGiHtBJjIpwQeKocn+jpLJJJJzh7UWGdYLYoCKxjeh5akpL5osW58v9DQG+mhJKa0Aq6s5YoBE+AQXIpL5ECutKSqWlFTy5ieFtEYCVzJY0XlXBO4FmBs1H5phRgpUMah05ohDHliZGy3B5fIFFKkg8cvhJkfIULI/KlIkk/gREREh8jyjPlhWexGKIIanX41GOTWxr7qtwjC91UN5ozX6vbtRGsdUNJpVLceuutjI6OLgp0V2YXNZNlspSlHYpff/11Dh48iNaa7u7uuvcpa3QL+kQiUU2Hnpqa4plnnlmVqGxGQoreSkUxS0kmkwDVLJgKxphFufkLg56pVGqR//ro0aMMDQ3R29u7KX/DQF8f/1ffj/DCK6/w56enOFkKaE2lAYEgwkmF8crTGbWTJJMBw32CY6dTFEMIQkkmWb55Uh5MFx2BEUjhKAY+kRG0JgwzJYGnPGbylpaUZLQ9wkYWg2awzVAKDWEk8KTlYl7TloqQApw1OAGUykWWERHlmhNFJCgPCysFJFW5FkUbh0wIoqtt7LXSKGkIbYQwV8dMSonyk+Ak2AC5wU/wzjmKxeI1abgLh3jlcjk6Ojqawk21WVSypy5fvsz+/fs5ceIEnZ2dDXmventIKh2Kjx8/TmtrK/v27au2ve/o6KjLe23EcKzKOhOJBLt27aqmFD/zzDN0dHQwMTFx3fjWRrKlxaQiIH/8x39MFEU88MADzM3Nkc/nUUpVYxuV3PxMJnONtXHixImmSCu9+7bbuPu22/ja3id5ce4CF11E2tcIKXCi3HnYOjDSIiUM9s6STWneupDl8ny5TcrFeYknQlq9AM9LXJ3h7hDG0uIJpksC4yTFEC7MagoBtGcdF+cF2xKa45ck2ST0ZQOmCwKlfAgLWCRaSpwwCCspSkPCWPyrI4utKA8GE0ZgtUJGjozvUzQO6SJ8aUlpQWiLWOvwvATGWYxU+DqFreFzfaNNwVq7aGTwcm6qbdu2Vac/NiKbarOpdcNra2vj3e9+N+fPn2ffvn2EYcipU6fo6+urmwA0MhbT3d3NTTfdVO1QnM1m2bFjB21tbTUdu5Fursrxl167Sg+zSqB+NaKyUazLj/PQQw/xJ3/yJ7z55pukUinuv/9+vvCFL7Bz587rvu5rX/sav/Irv1LNbf/CF76w5tG9L774Il/96ld55ZVXeOWVVwD4whe+wHvf+14+8pGP0NPTU60EXs2FrkdqcD355P0P8LdKJb747W9wYKbItu52AJSCUBg0DiHB14psNmQyNcfRU2kio2lPw/S8pBhpEOVU4YzvyJfK7VOSOqIzGSCVh7GWjqxC4OjORORLHlKWux3PFySFYoLQLxdKikJ5hgmRQaNwUqACR9p3pLQkQGCjCIfFsxbpe6iw3ABSYLDGgQtIeT4CQxDN4yU9hAYnNUpoTI3nzTm3yE21sOiv4qbK5XL09vaSy+VIp9MNyaZqhgeTRiCEoLu7myAImJqaqtao7Nixo+Yn/co5a8RTfkWkKh2Kh4aGOHr0KM8//zxtbW1MTk6uexPeCDfXSsdfKirPPvss7e3tmyoq6xKTxx57jE9/+tO8613vIooiPv/5z/ORj3yE119/fcWGbHv37uXHfuzHeOihh/ihH/ohHn74YT7xiU/w4osvcsstt6z6vefn5xFC8I//8T/mlltu4YEHHuCb3/wm4+Pj6/lT6l4BXw8SiQQ/c9+H+Kvnn+B4YDlWDPFTKXwNkTN45cAHEonQhoG+y8xMt3LsbIKWlOTKvCK0EdsSEVJKjAcicmgpuVTQtGUc5+cUKQ+UkMwVFSnf0JkB7SKCSJNMQDEQYEJkJkkhbxFK4ClwQuB7irwwRCYg42ssCuksoQUVGaIoAjxSXoJSNA9IrCqR8xUYSzGcx1dJUB5ICdHqz89CN9XMzAwAzz33XDVFu1L019nZSS6XI5lMbribqpncYvVeSzKZ5O67764+6edyOXbu3FnTpgyNi8Us3JA9z2NycpKRkZHqJlyp69jorr71OP5KolIpftzwAPxam6f95V/+5aLvv/KVr9Dd3c0LL7zA+9///mVf81u/9Vv84A/+IL/wC78AwK//+q/zne98h9/+7d/my1/+8qrf+33vex/ve9/7gPLJrkfn4GayTCoIIRjd1sc/eM97ePZ7L/MX597iVD6gNZPCRbbcO0uC5xTOeuS2zTOZLDB9uYV0AuYKkoRWXJ6BrpwDYwgCQcqHyDp6s0WU8imEkE06nBWUig4vobgyDw4YbHGcuZJgOGUolsD3Exhry4O5fEFgBKQ9lAFpI4Ty8FxIwTq0EMjQgbQ4qZACbMkhTYGEFgipiAhwRqCvc8NX3FQLC/4qbqpMJlN9eJmcnKStrW1LNcbbKBoxA14pxfbt2xkcHGRqaopnn32Wrq4uJicn19zht5FispIrqpK5NjIysu4OxZvh5lqJpaLy3HPPMTw8vKYH9VrRBw8e5LbbbqvpIJVCrfb29hV/56mnnuJzn/vcop999KMf5Rvf+Ma631cIUU0PruUYzSomlQ/Zvbffwb3cwR889SQvzJxnXip8T2GUw5UbvaOcRCpLd98c7mwaaxX5omNbWhAEFuMkkZPMFyStCctM0ccYaG8xOCMR1mGAUgR92yKUteQDjRBw6rymux2KpXLmlhOCQgDCGCQSlwJnDEppjJI44/Ap18Q4YfGUQEtJ5CJc6HAuQkpNZELSCUVoC2jK2VRLRaPipqpYGxU3VSaTqT4InD17ltbW1lhIVqCRkxY9z6tuyocOHeLJJ59kYGCAiYmJNTVjrPc6V1rvUiq9srZv377mDsWb6eZaiYqojI6O1lyDt1Z0V1dtjfastXz2s5/lgQceuK4Knjlzhp6enkU/6+np4cyZMzW9f62dg5vVMlluXT923wN8bHqa//bycxwoFZBKIVAIDE5CGDii0NDZMY+n4K2zbVycFbRnFdP5cqZWV7ZsDSSzEmMdOPCIKFlFMVAYHREWJfmipLvNESJozwJBOS3YCIGRmoxRWAMl6RBKIKTPbGhJO4GVgoAQKGduGevQwiGFxNOSvDWYfJGER9kEwuO155+kVCotqu3p6uoim81uipsqZnlW2pyTySS33HLLsunEN0qx30g310qkUiluueUWtm/fzqFDh3jiiSeuqbFZSiPdXJVx4us9fiKR2PBkEt3X11fTAT796U/z2muvsWdPY8ezrkQ9xKTZYiaw2DJZSGtrK5/5wA9w+Ngx/ujQG5yYL+InE3gIIgRYQWg0iVTIxOgVzpzyiaIUuYRgvggz85qENhQCR9q35POSyAiyKejKhihASEUmabHG0Z8pt8k/O+uR8iWpZIFiwZH3wCmBlgrrInTCQynDbNHQktIYfOYjB1cr9q2JsIQECjwXUMThK8e2nEIpw8037yKbza3ZuohF5sbUc8O70Wclm81y5513cuXKlWp34vHxcYaHh1dcx2a4uVYik8lw++23r6pDcaMHb0FjkhIaRU1VeZ/5zGf48z//cx5//HEGBwev+7u9vb2cPXt20c/Onj1bU31Hxc1V60yTZrRMVhKTCuMjI3x+ZIQnXn2V/3XmOBfzEb7nEwpBsRiSTJYvbVdPkfy84MSZZNm9lRd4GralDSAIdNlyEM4wPSvJZhz5eVDCISNHKVBIEdGaK6GVxIQSZyzFQIN05V5iRuAFIcIo0CHRXAlfGxIaCsUQj4i2bApPeoQK8GR5AqWIiJxDCUMiJWtyUzXjA8FmU7mvG+nmWolt27Zx7733cuHCBfbv31/N4Ozv77/m9c1gmSylUmMzPT3NwYMHeeyxx66xtBo9eAtqF5ONfNha10qdc3zmM5/hkUce4a//+q+rlbHX47777uO73/3uop995zvf4b777lvPEqr4vl+Tb7CZ3Vyr2SDfd+ut/NsPf5z3t3WijSEMLTYUFIuCUiAJQkU6HTLYcxHPK1eeTM9J8nOCi5cE6YSjJWWQDjIpkEKwLWNoTRqUEvgeSCWJAp+gYJmfkxAqokJEsejI5y1zM4bpecOlSwXmrhiKkSAfQGg0KtmC9dMEeIROEQmfQiQpoZk3kpITFIylYObWdZ5iy+TGNCIAv9rf6+rq4oEHHmBycpKDBw+yd+9ezp8/v+je3syYyY1obW3lnnvuqc6Ceeyxx5iamsIYsyXEZCNZl2Xy6U9/mocffpg//dM/JZfLVeMera2t1aDVpz71KQYGBnjooYcA+Pmf/3k+8IEP8Ju/+Zt8/OMf5w//8A95/vnn+d3f/d2a/oBkMllTAF5KSRiGNa2hEdzIMlnKP7rvAX7w0iX+4M1XeWM6jzWSIHAIB/gKL5Ekmcjj+Wlmr1i08MhphwkdUeCQUnAlL8gkIsKiIIoU21odYRCSUJR7fmlBKmlxUUhhxuI8CTm/nKocGlKpNJErEYRAAopWIgOHLz3mIygJQAqkVMiSQwuF9iUJCxlVm2URWybX0oiHpPVszkIIBgYG6O3t5cSJE7zyyitks1l27tzJtm3bmsrNtRLt7e1VS6vSobgS12gEW1FM1rXSL33pS0xPT/PBD36Qvr6+6tcf/dEfVX/n+PHjnD59uvr9/fffz8MPP8zv/u7vcvvtt/P1r3+db3zjGzWnrtXDzdWMG9F63G8d7e185v4P8H/uuomhNNgowFifYgkKeUdkFV4yT1t7iVLomJkTOCsolBSlwNGSLIIpkUgaEsmQUrGEi0JKkWE2L8kXJEFeMnMlSUsiS1r4iEhgXYYoSlPIOwLj41ySYl5SDCXzIVwpGUqhoBA5igZKkaDkNKFVlIwisBohmu8avF3YyJjJ9VBKMTo6yvvf/37a2tp47rnneOmll6q1Y/Wm3nGHiqV13333cfPNNwPw7LPP8tZbb9VduI0xNU1K3JTeXOt50WoW+uijj17zs09+8pN88pOfXM9brkitqcHN6uaqReR2jm7n86Pb+e6+ffzFsdNcmC13Es5bAVjSKU3X4Dwz5yW24COdJSg6ZksCqSRKCKSAKPAAiactne0O4QRRIPB8RxAKtBSY+YDIgFGK0NNEQURBgfISuEKEzAgQivkQtBJIUW7DgijXKQolsNpRUut3VcauruVpxBN/PYLOnuexY8cOhoeHOXz4MC+++GK1ELXSb68eNMriEUJUe5RNTEwwNTXF1NQUExMTdWsxs9WmLMIWn2cCZTF5u8ZMoLYP74d27+a9ExP8P88+x94zRWbnIbKGMASpHCpdwvMshfMJWtKKMHAkEwJPlefMFyNJFJZdZXPTAq0dUeQIA0Fnq+PyeUl7b4KgGBEqR0l6WAlSChJohC+ZL0b4viTSkshYBILQWASAp5EhWATzxQLU0Ly6Ga3LzaaRm2k9SCaT7N69m66uLl566SWeeOIJRkZG2L59e11qhhqRgLD02H19fQwMDHDq1CkOHDhQbSZZa4fieohJPAN+jdSjAr4ZN6LKTWCtXXUPqSAIFhX9zc7Oks/nmdSagQ7D3tmIg9NJcD7OWITw0SlId8yj8hkKgWQusGSSkkJekMsJpIxQUuF7AoRDKUPKizDGI5mGi6ehvVcThAG2ZAi0pJi3RKHFZAQppymVQoSQKCcQSCygLBCVXR9YQT6qrfA05tpuAZVi4hMnTjA5OVmXXmSNSIdNJpNorbn77rs5cOAAjz/++IpjeNdCo3t+VY5dmVjZ39/PiRMneP311zl8+DCTk5N0dnau63xtScvk/Pnz1Fq4uJm8nVODYfknbufcNS32Z2dnCYJgUYv9pU0vfxD43uFD/MHBUxw/f/WpFYnyM6hURNaXuFkJDpIpiEILocAJx8wceL5BhoIo8Mi0QBQ50lkgkngonJW4QFCUEs+WGz9K4YGwFAoGrUFrSRSW29hH0hIaSy7lUZTNdw3Ww0Y9mBhjrpn0WBkRXOkW0NPTw+zsLBcuXODMmTMrpuauhUaISeWcVWa7X7hwoTrbfWJigoGBgXW9Z6MD+0uPLaVkZGSEwcFBjh8/Xk00mJycvG53kJWOv+XE5Nvf/jb/6B/9o4YW4DSSt2sFfOVaRFG0bAt1+JvxwR0dHdURsTeqNr59fILbxyf4qzfe5Gv7zjA373BSgOdjk5ZEyhGcExTmIJsS5AsOEznSSYukHN+Q0mGNRDqL1pL8nMFEmnSnQ1uHUBAYiXEOpcvTFaVSBKbcq8uTEu154AwusqjQESVqu/ea0bqsF1EUMTs7u0g45ufn8TyvKhzDw8PkcrlFs1eKxSKHDh3i7rvv5vLly9UNeufOnXR0dKxrLY04zwtrQRaO4T19+nQ1c2rHjh10dXWtaY9qZEZUJUtsufVU+pZVOhS/8MILbNu2jR07dqy6GWa93FwbiX7xxRe3tJi8nRo9Lp0rDuVuy57nVVuoV+ZupNPpmm62H9h1E+8b284fvraP7+6bJiqAkQKd1ojuiKRnIK/RnsQYhylpQmtRSmCNQxlBMQ8mdCTTBiEibLE8UlgojfHAGsH8nEEog9YJnDBoYYmUxUlLWgvQioKRFGvYo7bifbsSFVflQuEoFAqLuiF3dXWRy+VuOGZh4dNzf38/PT09HDt2jJdeeom2tjZ27txJNptd0/oaZZksPebCiYknTpzg1VdfXfMcks0uhtRaMzExwfDwcLWjb0dHB5OTkzfsUNzovl+NQB85cmSz11ATiUSC+fn5db9+M2ImC91UC2McFTdVpZEhwD333EMul2vIByKRSPDjd9/FB/pP8z9en+LVIwEuD0IryEpcyuHOQDqpiAKH5ylMFCKFw5jyU5mJHK4oMUWLylmsEXjaljtGZjwC54EVFAoGldCEDlwIlgiZVpSsocXBTA3ZXLD1LBPnHKVS6RrhKJVK1Xsgm83S19dHLperqc9SZVNSSjE2Nsbg4CCHDh1i7969a27KCPXfnK8nUBXX0cDAAEeOHOH555+no6ODHTt23FAIG9nVdy2WQ6VD8ejoaLVDcXd393U7LG9Jy+Tv/t2/uylvXC8SiQSXL19e9+sbHTOpuKmWdsOFspsql8vR2dnJ9u3br5kEeeTIETzPa/i1Ge3r4xf7+njx2HH+6IUjnL4U4pC4hCLscCTzYGYMUcGRSEmCeYufFjgZkvY1OIlOOIQReDIimgYvISnNBMhsgqLyKBYtphQghcbzPIoli9Dl1i5zAgpNYh3Wg+XahRQKhapwVO6FKIpIp9Pkcjna2toYGhoil8vd0FW5WlYSWN/3ufnmmxkeHl4U8B4dHb1hwHujLJOlaK2ZnJysphPv3buXvr4+JicnV0wnbuTT/XrOQ2X07ujoaLVDcV9fHxMTE9d0KN6SMZN/+A//4ZZ1cUF9KuDrISbOOYIguMbayOfzi3zbg4ODVd/2jW6WjS6ovGtkmLtGhvmfr+3jmy+fp1S0pIWANtCeRM6ADQwyIbDG4KMARXHW4LCkcz7BFUi0OmzRIJRDaocTglBIhJckP2/wE+UWLSLvCH0QKZgtrWE61hKa6d611uKc4/Tp04uEwzlXfXjo7u5mfHycTCbTkGmPFW6UzZTNZrnrrru4ePFidcb7jh07rlsrsVliUiGRSHDzzTczMjJSbcQ4MjLC2NjYNenEjdzXatnsV+pQPDY2VhXGLSkmW3HRC6lHb661btjW2uqT5kLxCMOwOle84qKozBVfz029WWnLf+uW3XxweIavvT7Fs2/MEJUsRlpUt8adsdg5SzKtCfMRxWJEIivASawDnRFgJRKLihxOR2gpIeETGItF4vBRWiClQ7kAKQRX3PrjXrA5bi5jTNXqXCgcAKdOnSKXy9Hf318dE7zRn7PVnpOOjg7uu+8+Tp8+XR3He9NNNy2bgdSIp/31bPqZTIY77riD6elpDhw4wGOPPcbY2BgjIyNVgW4WN9dKLOxQXBGVSofirbgv66224KXUGoC/kZtrqZuqkkkDVEWju7ubsbExstlsXZ80NzNtuaWlhZ9+zx18cPtZvv7yUQ4dK+DCCNosiAgRKpQviUoOIkE4b/BzEMxZUjmFmRMksx5hISLyQMxFWF8ROUHRGbSWaAkBCq0lc03eTqWSUVW5Byo1PFrranLE8PAwnufx8ssvc/fdd2/2ktdUZ7EwSF/JQFptbKIe61zvpt/a2npNOnElBbqRbq56ClUul+POO+9c1KF427ZtNa19y7RTaSbqlRpccVMttTYKhQK+71eFY3h4uJpN1Wj3SjP0DRvv6eH/89Eenj16nD9+6ghnTufRCQkZA+cFyaQkmA3wUh7CgZ9RcLUpZPFyiN/moUyIUgoRheA0ARqXsBSLIKSlWBT4dv1/Z72vw9L7YGFGVUU4VsqoKhQKTeN2W8+9o5RifHx8UZB+cHCQiYkJfN/fdDfXSnR2dtLR0cGZM2c4ePAgR44cob+/v04rvJZGCFWlQ/GlS5d49dVXKRaLTE1NMTw8vK442oYH4Df03RrAeiwTa201m+ry5csYY9izZ88iN1VLSwv9/f3Vor/NoBnEpMK9o8PcOzrM7/6vR3nuQB7hLKYNVEEhkZiCwVOCaDZEeAo8gfIUwohytXshQmmJExaMJXQa6QTKTxCWHAVMTetbz3lamFG1UDgqGVUV4ahHRtVmsp5NL5FIsHv3bkZGRti/f381SN8I11G9BEoIQV9fHz09Pbz11lscOHAAay2XLl1ac9HgjWikG6q9vZ3+/n6uXLnC2bNnOXr0KGNjYwwNDTU0xlYrWz5mciPLJIqiawr+FrqpKlkUt956K7lcrqkuVjO2evnIrlF25d7itWKSl/ddgqwhqSThJYMtGjxforUgjEJ8rbElC/MOv0MRhgFCKpSUzE8Xca0ZRGQRQqHW18B61SzMqFooHGEYVgPj27Ztq3tG1WZSDxdpNpvl7rvvrgbp5+fn6ezsrKuFUm+BklIyPDxMIpHgtdde44UXXqC9vZ0dO3bcsL5jtTQyHgPl+zWdTnPzzTdz7ty5avHm+Pg4AwMDTbln68qG1Sym+VqpNHq01lZrNRZmU1XcVCtVCpdKJc6ePUtLS0vTXaBmbfXS3tbG/3v3bo7cep4/2HOAEyfmsbkIPa0xgcX4EldyGEJEUiATIELwhcbkQ3A+Go0oGAKt0Eoha7BMlt67FctzaQ2HtbZqbVTSsesd53q7UgnSP/PMM1y8eJGnn36anTt31u2JvxH7T2US67ve9a5qfUdvby+Tk5PXpOKulUYXFVYe8oUQ9PT00N3dvciFd6MOxRvd5BFAf/3rX6dSa7IWHn/8cX7jN36DF154gdOnT/PII4/wiU98YsXff/TRR/m+7/u+a35++vTpNY/uDcOQ/fv38/LLL/PHf/zH7N+/n+HhYT784Q/zsz/7s4vcVDdyT1RuiGa00JrJzVVh4Zq293Tx+b/TxZ6DR/ifjx1hNhngzhk8IVBJibVAZPGKFl87bCFC5zxK+RJKSISWKAOBlAjW1yW2MvHu3LlznDp1qvoQIYSoCkdlA8lkMk13jRtJve8dIQSpVIqOjg6klLzwwgt0dnayY8eOFYvvVkOjnvIrG36lvqOSTlzJmhobG1u367LR+8XSBq8LXXgLOxRPTEzQ09PTFMaA/nt/7+9VA9BrWdD8/Dy33347P/VTP8WP/uiPrvp1+/fvp6Wlpfp9d3f3mhYM8FM/9VM88sgj3H777XR0dJBOp/nqV7/K3XffvebMk4Wt3puNZheTCu+d3M69IwP82fMHePy5U4hZSXguxOHwRLnlvJmP0J4jmgvItiSxYQmTl+iExmEoiRtbBxWX5UKLY35+Huccly9fpq2trVrHsxEJEs1Oo+6dpZX0Tz75JENDQ4yPj69rc26UZ2TpcdPpNLfffjszMzPVYs3t27evqljzRseuN9baZdvwL+1Q/MYbb1Tb3i/sULwp2Vyf/vSngbWbmQ8++CAPPvjgmt+wu7ubbdu2rfl1C/lP/+k/8dWvfhUpJU888QQvvPAC73//+9d1cRe2em82mjFmspLA+b7P37n/Ft570wCP7D3Im69cQUxbXOBwWkFkUREI6ZCFAB+HVQYpBU4pivMBl69coe3qvRGG4TX1G/l8vuqyrGRUZbNZXnjhhTU10Xun0KimjJXPTCVIv7CSfnx8nJGRkTU9tTfKZbSSxdPS0sI999zDxYsXOXDgAMePH692J17tOjbCMrne8ZfrUJzJZNixY0fdkw1Wi/6P//E/bmjM5I477qBUKnHLLbfwL//lv+SBBx5Y8zEWWjb1SA2G5hSTZoyZ3Og+6Wlv42d/6F6m7rnAw3+xj0v757F5SyqlCfIGIQBn0MoglUZYg8MQSsubh4+R8Y5XM6qSyWRVOCoFoMtl1jWjBfd2Zbm9IpfLcffdd3PhwgX279/P8ePH2bFjB729vavaVzbKMllKR0cH73nPezh79iwHDhzgyJEj7NixY1Vuo0YH4FcrVks7FL/44ou0trYyMTFRnQa5UWjYmHzkvr4+vvzlL3PPPfdQKpX4vd/7PT74wQ/yzDPPcNddd637uLWKCTRX5+CFNOMmudo1jfV28ss//QH2fG+KP3vkDcxlg/YFOIFzBq9giew8ViqEsWitmJ4NGBjrYWhoiGw2u+ppe83kzmqm69WIe/p6f1+l1uPkyZO8+eab1Ur6G3X5baSYrKZlUW9vL93d3bz11lu88cYbVVG5Xpv+jQrAr5alHYoPHz684XOq9JtvvkkURdxyyy0NfaOdO3eyc+fO6vf3338/hw8f5otf/CL/7b/9t3Uft9YKeGhOdxI0p5jA6jbMSkbVeHeK/+PvDPO/nz7JweeLOOMQBgSChJII5VAOpHX09g4yPNzXsDXF1M6NNn4hBIODg/T29nL06FGef/55Ojs72blzJ+n08nOZGyUma7EeKunE/f391Tb9lRkkCz0hC4/dTGJSwfd9duzYsSkPx/rnfu7nKBQKPP7443WZu7wW7r33Xvbs2VPTMRKJBGEYrmm87VKa0Z0EzSlyywlcJS17aXAcqKZk/92P30b4EfjLP53i+NQMUQRCgLQRFA3Og/xsbQ8FMYtp1L2zmg268qRcCdLv2bNnxSD9ZlomS9FaMz4+ztDQEIcPH+bpp5+mt7eXiYmJRWLYrGKymegPfvCDm/bmL7/8Mn1963sSrVDJFy+VSis++dyIZnZzNdu6nHOEYciJEycW9SpTSl3TGXm5jKp/+n/2k58r8s1vvMkLT5/CFcCXgLMExfXVmjSTm6uZaHQAfjUkk0luueWWRZX0S4P0mxUzuR6+71fbxR88ePAaMWyWmEkzoX/1V391XS+cm5vj0KFD1e+PHDnCyy+/THt7O8PDw/zSL/0SJ0+e5L/+1/8KwH/4D/+B7du3s3v3borFIr/3e7/HX//1X/Ptb3+7pj+gEpAtFos1iUmzWQCw+W6uhRlVFeHI5/MIIbh06RLZbJbR0VFyuRzJZHLVH650Nsnf/T/u4Ef+/m4e/6sp9vz1UfLzIaWZ9Xd/bsbrt9k0g5hUyOVy3HPPPVy4cIE333yT48ePs3PnTnp6eprCzbUSqVSK2267je3bty/qTmyMaagnZ0uKCZTz99faPuL5559fVIT4uc99DoAf//Ef5ytf+QqnT5/m+PHj1f8fBAH/4l/8C06ePEk6nea2227jr/7qr5YtZFwLFTGptQ19s1kAsLFistzUv2KxWM2oymaz9PT0UCgUOHfuHLfffnvN7+l5Hh96cCcfenAnr718GiHXdw2azTJptvXUk1rvx87OTh544AFOnjzJG2+8wdGjR8lkMk3j5lqJSsbapUuX2L9/P7Ozs7S3tzds06/1uJtSAQ+sqw/RBz/4weveWF/5ylcWff+Lv/iL/OIv/uKa3+dGVGaF1DIgqxndSdAYkXPOUSwWrxGOIAiqU/9aW1sZGBggl8td8/R17ty5hgjcLXfU5u6MLZNraVQ2V62b1MIg/ZEjR5iamiKZTJLP59ftXViORrii2tvbec973sOzzz7L9PQ0e/bsYXJyctVp0Ktly1omW5lK/52NHpC1EdRqmVRmzS8t/jPGVJsbdnR0MDo6es3I4BsdN6a5WO5az8zMAHDgwAHGxsbq1ryyXptmZRRvEARcunSJPXv2MDw8zPj4eF1cSI1ynwkhSCaTdHZ24vs+b775JkeOHGHnzp3XTSdeC7GYbAIVMWnkgKzNYi1iYq1dcerfwh5VuVyuph5Vmx3HWY63s1tpOZYTjtnZWZxzi651a2srx44d4/LlyzzxxBNMTk4yMDBQ0/lqxAYtpaSzs5PBwUHefPPNapB+eHi45gFRjRyOJaVkaGhoUTpxa2srO3fuXDadeD3H30pseTGBctykGebA15uVLCZjzKI03IUZVZXNpFE9qpp14242gasXqxWO5RpZvvXWW0A5Bf/MmTPV6vRdu3bdsJDweutpxDwTKeWiIP3CSvr1NjJsZMbVQqFa2KvsyJEjPP300/T09DA5Oblut10sJpuE7/t1mbbYbAghMMZw6dKla8bFep5XbTWynoyqWtb0dt24N5tahGOl41UCsX19fXR3d1cLCbu7u9mxY8eaW7E3OkNMCEFXV1e1kv7111/n2LFj7Ny5c809/ZxzDRsvsNxm7/s+O3fuZHh4uFpbMzg4yPj4+JoH7NVDCONJi2uk4r+sVUyaYYNcOvXv0qVLGGO4cOFCdTPp6empttXfLCuhGc7VQprVWroelWFdMzMz1whHJpOhpaWl5tb5S69TZSTvwMAABw4cYM+ePWzfvp3t27evadPdiEmLFRdSX18fR44c4bnnnqOrq4sdO3as+mm/kT0Hr7fZp1Ipbr311mqNyuOPP87o6Cjbt29fddxqy1omW3k4FtRumWx0zGRhRtVCi6OSUVWZxyKEQErJzTffvGFruxHNapk045oqbIRwrPS+y5FMJrntttu4cuUKb7zxBm+99RY7duy47rClhcfcyLG9lSD90NBQtXhwZGSEsbGxGwbpN8rNtRK5XI677rqLy5cvs3//fk6cOFGtrr/eayt70ZYUkzAMt+x8ayh/OJq1zmSh62KhcFQyqrLZLO3t7YyMjJDNZhc9uRw+fJgwDBuyrvXSrGLSLDjncM5x5syZRcJRmfLYKOFYD9u2beM973kPp06dWhRPuV4r/0bGTK5HMpnk1ltvXVRJPzExcd2NeSMC8Kuhra2Nd7/73Zw/f54DBw5w9OhRJicnVxTvWsVksz6fGtjSQgLNE4BfmFG1UDjgbzKquru7GR8fJ5PJ3NC10IyxnGYUk81091Xmyi+0OpxznDhxYtOFYzXXSQjBwMAAPT09TE1N8cwzz9DX18fk5CTJZHJdx1zPOld7DSuzSCqV9JV4Snd39zXHaLSbay3XUwhBd3c3XV1dnDx5sioqle7EC9e5ZS2T559/ngsXLnDrrbcyMDCw2etZF/WYabLWD8nSjKpKo8NKVkoul6uODU6n0+u6MeKNe/U0+jwtFI6F4rHU4hgaGuK1117jXe96V0PXs9o1rxatNTt27GBwcJADBw7wxBNPVHtoLXzo2Wg313IsDNK/9dZb7Nu3r9rufqFV1Wg313qH8Q0ODtLX18fx48f53ve+R0tLy6LhbvUQk02pgP/n//yfc/bsWX7t136Nf/AP/sGGvnm9aHSdSRiGy46LXZhRVXFTpVKpul3EZhWTZlxTPbmRcFQSIZazOCq9y5qFta4lnU5zxx13cOnSJd544w1OnDjBTTfdtOjJf7PFpMLCtvFTU1M8++yzi7LUmsXNtRyVoVaDg4NVi7C7u5vJycnqudhylslP/MRPUCqVuO222zZ7LeumHpZJJTYRBME1qZnFYpFEIlEVjo3KqGqWLLOlNOOa1stywlHpEnAj4VjpeM1CLWtpb2/n/vvvrz75Hzt2jF27djWFZbKUilVVCdI/8cQTjIyMYIxpGjfXSniex86dOxkZGeHQoUM8+eSTy7rstgL6p3/6pzd7DTWzntTgSkbV3Nwc09PTFAoF9uzZQxAEpFIpcrkcLS0tDAwMkM1mNyWu1KxWQLOtCVa3cdZbON7uCCEYGhqit7eXw4cP89RTTyGEIIqiur5PvQSq0uG3EqS/fPkyvu8zODhY92tZb1GttOofHR3l9ddfxznHwYMH15ROvJDNECMdRRFSyi39wbmRZVLJqFpaNW6MqVaI+77P5OTkNRlVm0kztnlpRjFZ7oOzVDgWXvN3inDU6zp5nsdNN93E0NAQTz75JN/73veYnJysud1JhXpvzK2trbzrXe/iySef5NKlSzz55JPs3LmTrq6uur1Po+pAstksO3fu5LnnnuPSpUscP368Lq1lNgLdLBtnLSwUk0pG1dIYR6WKOJvNXpNRdfz4caanp9dcYdtotsrGvdk45yiVSpw9e3ZF4ahc82w22/QfynpR73snk8ngeR7bt2/nrbfeqqYS1zprvBGuMyEEWmu2b9+OMYZXX32VXC7Hzp07r5v6vFoaGdy31qK15t57762mEx87duy66cRL2RTLBMqZSetpO/D444/zG7/xG7zwwgucPn2aRx55hE984hPXfc2jjz7K5z73Ofbt28fQ0BC//Mu/zE/8xE+sZ+0UCgVeeeUVDh48yIkTJ/jmN7/JP/2n/5QdO3ZUZ3CsJqOqWWMTzSgmsLlxgeUsjpmZGWZmZqoxrXeicCxHo9J429raGB4e5sSJE7zyyiu0trZy0003kc1m13XMRm3MlXYqAwMD9PX1VQPdlXTttbaSWXrsRgf3F6YTnzp1igMHDnDkyBF27NhBZ2dn0z3YVSvg18P8/Dy33347P/VTP8WP/uiP3vD3jxw5wsc//nF+9md/lv/+3/873/3ud/mZn/kZ+vr6+OhHP7qm937ggQd4+umnaW9vJ5PJkEwm+bmf+zk+8pGP0N/fv6YT3Yz1HNCc69pIgVuNq6q7u5swDBkcHKS/v39D1nUjmulD3qhguZSSkZER+vr6OHToEHv37mVoaIiJiYl1tY9v9NjeSqB7eHi42kqmUkm/Vu+Mc66h7U6WHrtSC9Tb21sV8Io7rJm8KRrWfyEffPBBHnzwwVX//pe//GW2b9/Ob/7mbwKwa9cu9uzZwxe/+MU1i8kXvvAFRkZGGBwc5Jd/+Zc5duwYP/mTP7mmY1RoxtgENKdl0qg1VRIilrYcWY2r6uzZs021gTcLG1Fg6Ps+N998M8PDw7zxxhs8/vjjTE5Orino3SjLZLnjplIpbr/9dqanp6vt7icmJta03sp53ehMMaUUo6OjDAwMVPuVdXZ2VmO9m42Gjctnfuqpp/iBH/iBRT/76Ec/ymc/+9k1H+u9731v9b/r0egxFpPVUfkA1eLnXtibbKF4VFrMtLS0xK6qJmWl657NZrnnnns4f/58dcb7rl27VjUsqlGV6tdzRbW2tnLvvfdy7tw59u/fX62kX02QvvKZ3KwaFs/z2LFjB8PDwxw+fJi9e/fS39/PxMQEyWRyc9upbNRT3ZkzZ+jp6Vn0s56eHmZmZigUCuv2Yb5dJy0247rWKiY3Eo56xDiaUXSbgY0+JxUff2dnZ3VYVHt7Ozt37iSTyaz4ukbFH250jwoh6OnpoaurixMnTlSD9DfddNN1h1s1ut3Jal1oyWSS3bt3MzIysqi+Znh4uC6TKtfK1k/lonbLJHZzrZ7rfTjXIhyr6U0WUxubVWAopWT7/7+96w5vqmzfd5rule490t10l0JpyxYQVMT9IRZBUBQVBEEQlKHgxxIREdlbRRyAA0TwA2mBUiiF7r333unKeH9/9HeOSUlHmqRJIPd19dKG5OTN6cn7nOd57ue+3dzg4OCA3Nxc3Lx5E66urvDw8JDYn1BUZjLY8hnV/6Em6ePj42FnZwdvb2+J+mSqEkwoGBsbIzQ0FE1NTcjJyUFZWRkmTpw47AFlWIOJnZ0dqqurxR6rrq6GqampTMyKh9kcSxXXBfRc8JT/imjw0AQO1YGyRRn19PQQEBAAFxcXuj/h7e39gHWwom6YpM14qCa96CS9JB8SZfVMBoKZmRlGjRqFlpYWpczKDes7RkZG4s8//xR77O+//0ZkZKRMx9X0TBQL0YyjqakJABAXF6cygUNVztOjgKFkEaamphg1ahSqq6tpqXtfX19YWFjQx1RGmasvGBoaIjg4GE1NTbQPiZeXFxwdHem9QpFCirIwxRgMBkxMTJQ3ZzJUtLW1IS8vj/69sLAQSUlJsLCwgIuLC9asWYPy8nKcPHkSALBo0SLs2bMHq1atwoIFC3D16lX89NNPuHDhgkwf4mFxWuwNZaxLNHBIyjgo1khAQABYLJYm41BhyLt8JMsdOYPBgJ2dHaytrVFUVITExERYW1vDx8dHoWUuWYKUmZkZwsPDUV1dTQ8O+vj4KNweWx1dFgEZg8ndu3cxadIk+vfly5cDAObNm4fjx4+jsrISJSUl9L+7ubnhwoULeP/99/HVV1/ByckJhw8flpoW3BuyNuBVtZyk6HUNFDhMTExgbW0tlnEIBAJUVVXBxMREZQKJhhYsDj6fj8bGRjQ3N0MgEAx5KLk35HFjI8k6GIBCrnN5BCkqCNrY2KCkpAQpKSkwMjJS6WCiVDbXUDFx4sR+F378+HGJr7l//74sb/sAVMUcS96QZ/lGUuBoa2sDn8/vM3D0tSbqeKoEVVvPcIHP56O1tRW1tbW0YCklxEhd11evXoWfn5/Uw7x9QR7HELUOvn37NlJSUuDr6ztouZDBQJ7zK1paWvSMR0ZGBpqampCamtqniZgseCQzE1UBZdsriy+CKm5GQw0mvQMH9SNt4BjoPVQFj0pmQunO1dTUoKmpCe3t7bR1AoPBgJ6eHszNzWFhYQE7Oztoa2ujq6sLKSkpSE1NRUFBAUJDQ4c84KaIxrOZmRm0tbXpyXRK6l4ek92KKJ/p6OjAxcUF9fX1EAgEfTbpZYGswURZ34eHJpjIo2eiSJvPoWAwQW4wgcPKygpubm4wNjaWudyhqpnJwwahUIiOjg7U1taisbERXC6XLuVSKtempqYwNzeHnZ0d9PT0JG5ABgYGtP94eno6bty4AXt7ewQEBEh9LSiSxWRjYwM2m01Pdtva2vZJzR0MFDlYSGl+hYSEoKmpCVlZWSgrK6Ob9LKeH6FQKDOtV+0a8KoCWanB1IkXCoUq0wcA/s1MqCA33IGjrzUBqhdMVGU9Q1mHUCgEj8dDTU0NGhsb0dbWhq6uLvpYOjo6MDIyor3ahyKZb21tjXHjxiE/Px8lJSWorq4Gh8OBk5PToDceRQUT6vrW1tampViys7Nx/fp1uLu7g81mq1TgE80czMzMMHr0aJqpRtkHW1lZyeX46oSHIpgYGBjIPAEPqM6GBPSshfpM+fn5tKT+cAaOvqBqVFxVyiYHglAohEAgQF1dHerr69Ha2oquri66Z6etrQ1DQ0PY2NjA1tYWpqamcttYmEwmvL294erqipSUFKSnp6OwsBChoaEwMTEZ8PWKnAcR/RsaGBggJCQEjY2NYtbBtra2g/5bK3KwsHcvpneTPjk5GSwWCz4+PoM6r5KOP9R1UzefysBDEUzk0YAHFMMoGQwoP47ek+OiVsLKChySoE6bt7JBMavq6upo2SDqOmMymTAwMIC9vT1sbGzo/oGioaenh1GjRqGhoQGpqam0VWxgYOCgyivy/vv31Sg3NzdHZGQkysvLkZGRQfdT+pM6oaDIzKSvuRiqSe/g4EA7U4pqZg0WapuZyKKJpSrQ19eHUCgEn8+XSf56OIJJX4GDz+fD0NBQLOPQ19fHzZs34e3trTLujxRUKTMBVGM9fD4fzc3NEAqFSEhIQHt7OwQCAYCejUZfX5/2p7CyslL639TCwgLjx49HQUEBCgsL8c8//9CZS1/ulYDiylySwGAw4OTkRFsHx8fHw8HBAV5eXtDT0+vzmIrOTPo7rq6uLjgcDm0ffP36dbi5uYHNZg/qb64JJkoEFfU7OjqGHEwUMdMhTeCQlHFQG5EqbJSi0JS5er7wbW1tqK2tfYBZBfR4/Zibm8PGxgY2NjbQ1tZWyQ2CwWDQtrApKSnIyspCUVERQkJCHmBUKSKYDPaY2tratNRJVlYWrl+/Dg8PD7i6uko8r4rumQzmuIaGhggNDUVjYyOysrLEJun7e7082FxKacCr4nyFtKDuUJSpHNxfqWqoPY7hzJikgaoFE0CxAXewzCoLCwu6rp+fn4/q6mpYWFiobCARhY6ODsLCwtDU1ISUlBTEx8fDysoKwcHB9A2aorS+gMFv+oaGhhgxYgTq6+vF+im9peOVUebqC+bm5oiIiEBVVZXYJH1fTXq1zUwGU39UdVCZyXApB4sGDtHgIUvg6GtN1PupElQxmMgLosyqhoYGtLW10TNMQE8Jw9DQkHa+68sO2t/fHw4ODsjMzERlZaXcZicUDTMzM4wbNw7FxcXIy8vD1atX4enpCXd3d4VmJtJunpaWloiKikJZWRlSU1NhamoKX19fuuGtaI92adfLYDBgb28PW1tbFBcXIykpCWZmZhKb9GobTHR1dZW9BpnBZDLpAa2hoq8p+N6Bgwoe8g4ckkClq6q2cataA36o66H6bPX19airq6Mpub2ZVba2tkNiVlF3pMXFxbh37x7s7Ozg6ekJVf/OMRgMeto7LS0Nubm5KCkpgY+Pj0L6JdR7SgstLS24uLjQ1sG3bt2Ck5MTPD09Fe7RPtTzQMnzOzo6ijXpRXtAahtMlL0AeUFPT0/mYCIQCB6Y4+gdOCwsLMBms4eNVaWqumGqFuAGsx4+n4+GhgaaWdXZ2fkAs8rBwQHW1tZyY1ZRm4ednR2ysrIQFxcHb29vucqGKAo6OjoIDQ1FS0sLkpOTkZKSAqCnAtBf81sayCPb0dHRAYfDEeunODs7y2V9kiCPQEU16anJ/9jYWHqmRpFZlSLxUAQTSkpCGnpw74yju7sbaWlpYnMcwx04JEFVMxNVW1Nv8Pl8tLS0iGlWiTKrDAwMhpVZRc1OULa25eXl4HA4KuHd3RtCoRCtra1obm5GS0sLmpub0dnZCW1tbfD5fFy7dg1ubm7w8vKSedOTZ+lM1Do4PT0dQqEQdXV1Mg0QSoI8MwcjIyOxJn1JSYlcgolmAl4G9JeZSCpVUQGEChza2tpwdnaGk5OT0uc4RKGKG7cqrqmzsxN5eXk0s0pU7FBPTw+WlpawtLRUKrOKsrW1sLBAQUEBbt++DRcXF7i7uyvtmiOEoL29XSxwtLa2QltbG6ampmCxWLC1tQWLxYKuri4EAgHS09NRUFCA0tJSBAcHy7RZK6IPY21tjaCgICQmJiIpKQnm5ubw9fXt1zpYGigicxBt0icnJyMjIwP+/v6wtLSU6/soEg9VMKEapd3d3WKMqt6BQ1LGkZCQAAMDA5UKJIBqilAqM5hQzCpK7FASs4rFYtHMqr40q5QJbW1tutSVmZmJuLg4mpGkaHR1daG5uZkOHi0tLRAKhTA1NYWpqSlcXV1p51NJGyaTyURQUBDa2tqQnJyMu3fvwszMDKGhoUMqfSmKdcVgMKCjo4OoqCjaOtjFxQUeHh4y614pqh9DNenT09NhZWWF+/fvw9zcHD4+PiqZwfaGXILJN998g88//xxVVVUIDg7G119/jfDwcInPPX78OObPny/22FAn2AkhqKioQGJiIlpaWrBy5Uq0tbVh9+7dMDY2pgOHq6vrgP4bj4IMvbwwXCm0UChEd3e3mGZVb2aVkZER7O3tweVy0djYCDc3N6n0ppQJExMTjBo1CuXl5UhLS4OFhQVtviQPUKU+0ayjq6sLxsbGMDU1pcUUh6L1ZWxsjKioKFRUVCA7Oxv//PMPXF1d4e3tLdUNmaKCCVWK0tXVhb+/P1xcXJCZmYnr16/T+l+yEDcUeYNCCIGzszM8PT2Rl5eHuLg4ODo6wtPTc8CArcy9QuZg8uOPP2L58uXYv38/Ro8ejV27dmHatGnIzs6GjY2NxNeYmpoiOzub/n0of9S8vDyMGzcONTU18PX1hVAoBIfDwSuvvILx48dLffehips2oJoNeEWcK4pZRWlW9cWssrOzg62tLUxMTB74QlOzB5WVlfDz81OLuzlqwtvGxgY5OTmIi4uDh4cHnJ2dpdqwqCFK0cDB5XKhr69Pl6ucnZ1hamoqt/4Qg8GgKdKZmZkoLi5GeXk5AgMDYWtrO6hjKEqpu/dxqcBdU1ND9yY4HA5tHSwNFB1MRAOhn58fPUkv2qRXtQoKIIdgsnPnTixcuJDONvbv348LFy7g6NGjWL16tcTXUMJossDZ2Rk///wzQkJCYGxsjPDwcMyYMQOPP/74kI6nqpmJKpa5ANnvgChKbn19vURmlaGhId3jYLFYg9oALS0tERkZifz8fNy+fZv2mVC1Mpck6OrqIiAgAA0NDcjMzERFRQX8/PzAYrEeeC4hBB0dHWLlqtbWVmhpaYHFYsHU1BReXl4wNTWVG+uqPzCZTAQEBMDd3R3Jycm4f/8+TE1NERoaOqC6hqKYS5KOy2AwYGtrK2YdbGVlBR8fHxgaGg762IqkHVNCjaLHNzIywogRI9DQ0EBP0vfHCFTaBLwsL+7u7kZiYiLWrFlDP6alpYUpU6bg1q1bfb6ura0Nrq6uEAqFGDFiBDZv3gx/f3+p3ltPTw9jx44V+10RcybKhipmTNKuaTDMKupLbmlpKdOdM6WMa2tri4yMDFRXV8PPz08tBgaBHr2syMhIFBUV4e7du3BwcICLi8sDTXKBQED3OaiMw9DQUKnlPUNDQ7qJnJmZiZiYGDg7O8PX17ffO+nhnlLX0tKCu7u7mHUwm82Gu7u70rWz+tMUo66NyspK5OTk0HL3Q8muFAGZgkldXR0EAsEDKa2trS2ysrIkvsbHxwdHjx5FUFAQmpubsWPHDkRFRSE9PR1OTk5DXos8gomqbdqA+pW5KFqpqGaVJGaVlZUVrK2tFcasYrFYGD16NIqLi5GYmEjXnJUtrjgQKBteLS0tmJubo6KiAmVlZdDT04OFhQXtkCmpzKcKoJrIVNmutLQUFRUVCAgIgJ2d3QOBY7jKXJKgp6eHwMBAup9SXl4Ob2/vAe2NFWmiN5BAJYPBgIODAz1Jf+/ePVhYWMDb21vpZd1h/2ZFRkYiMjKS/j0qKgocDgcHDhzApk2bhnxcWYOJKm7agOpmJoA4s6qxsRHt7e1izCo9PT2YmZnRzCpdXd1h3QCpgUEbGxtkZmbi1q1b4HA4cp87GCooG17RclVbWxv09PTAYrFgbm4OV1dXdHV1ITc3F11dXbCwsJAbxVWRYDKZ4HA4YLPZSE5ORnJyMvLz8xEaGiq2/uEsc/UF6sajqqoK2dnZKCkpga+vL8zNzfs8tjIyE1EwmUy4u7vDycmJbtI7OTnB3d1d7p70g4VMwcTKygpMJhPV1dVij1dXVw+6J0JN2ebl5cmyFE2ZS8EQZVZxuVxkZWVBIBA8wKxydnaGra0tDAwMVObO2cjICGFhYSgvL0dqaipdJx9OWRPKJbM3LVdLS4suV3l4eMDU1FTiZmBjY4O8vDzEx8eDzWarbBO2NwwMDBAREYHa2lqkpaXh+vXrcHBwgL+/P5hMpsL6D9IeVzSjKiwsxN27d2FjYyORXado3S9g8FplVJPexcUF2dnZuHHjBsLDw4eFZt4bMgUTXV1dhIWF4cqVK3j22WcB9JyMK1euYPHixYM6hkAgQGpqKp588klZliI3H3hVgzLWRTGramtr0dDQQLsBioryCQQCmJubw8vLS2VLLqKgWFNWVlbIzs5GXFwcfHx8JJZe5AFq1km0z8Hn82FiYgJTU1M4OjqCw+HAyMhoUO+vra0NX1/fB8Qj1WWozdraGuPHj0deXh5tG0wNEiqrzCUJTCYTnp6eYtbBbm5ucHNzo4P3cOh+Sbt2Y2NjhIWFob6+fkjujvKAzGWu5cuXY968eRg5ciTCw8Oxa9cucLlcmt01d+5cODo6YsuWLQCAjRs3IiIiAp6enmhqasLnn3+O4uJivPHGGzKt42Eucyl6Xf0xq7S1tWFgYABra2vY2NjQ1NKmpiakp6cjOzsb/v7+alF6AXpuOoKDg1FdXY2srCx6U5bF00cgENDyI1Tw6OjogKGhIVgsFiwtLeHu7i4XWR5TU1OEh4ejrKwMKSkpsLS0hI+Pz7CwtmQFk8mEj48PXfpKT0+Hvr6+Qm6WZC1FUdcJJXNSVlZG33wouswly7HNzc2VdmMnczCZNWsWamtrsX79elRVVSEkJAR//fUX3ZQvKSkR+3CNjY1YuHAhqqqqYG5ujrCwMMTFxcHPz0+mdcgjM6EYRqoEeZe5KDfAurq6B5hVTCYT+vr6g2JWmZmZISIigna/o4yK1GFYEOghiVhYWCA3Nxe3bt2iDaIGWj8hRGKfQ0dHh6blOjo6wtTUVOZJ677AYDDg7OwscTZF1c+/QCBAR0cH7fvS1NQEAEhKSkJgYKDcSnfyapJTMicVFRX0fAqfz1fZYKJMMIgq1naGgKVLl6KzsxM7duwY0usLCgrQ1dUFDocj55XJhpSUFFhYWAyJ6SYUCtHS0oK6ujqJzCp9fX1aQp8SOxzKhUxlKTo6OmqVpVCgZju0tbXh5+dHlwmoPodouaqlpQUA6D4HFUD09fWVtpFTw5rU+lXFo4jS/aLOn6juF4vFos9dQ0MDSkpKwGAw4OPjM6igPhAKCwvR1NSE0NBQOX2anhuxgoICFBQUwMLCAsHBwXLPCBsbG5GUlIRJkyYN6fVCoRBMJlMpNgeqzZOUAnp6evQXfShQlUZ3bwx2XUKhEO3t7WKaVZSNrCizihoElCezispSqAaxumUpFhYWiIiIQG5uLm7fvk0PSVL2A5T8iL29vULr/EMFNaxZVFSEhIQEODo6ykWDSlrweDw6aFDBl8/n00HXxcUFLBbrAd0vKysruLq6Ii0tDZmZmbRtsKSBzcFCEfRdSlOtpqYGQqEQsbGx8PDwAJvNltt3SdbMRK3lVFQFBgYGDy2bq/e6hEIhurq6aEouJXZIfYF0dHRgYmICc3PzYWNWUfVwW1tbpKeno6amRqWzFIFAQMuPUBtfe3s79PT00NbWRnujOzg4qAVrislkwsPDQ8w3hfp7KIp6K3r+mpub0d7eDgMDA7BYLFhZWUk1D6Onp4ewsDA0NjYiNTUVt27dotV/hxIUFdkkBwAPDw9oaWmJ9VNsbGxkPtfyKHMp60bnoQkmurq6D2UwAXrS6/LyconMKh0dHRgaGtKWoMbGxkqtuapilkL1OUTLVaLlFirrMDU1ha6uLoRCIUpLS5Gbm4u2tjZ4enoO+13+UEFJb1AzExUVFfD19ZVKLqQ3etOaqXKVqHyLqEy9LDA3N8e4ceNQWFiIgoICXL16FV5eXnBzc5PqGlI0fZfBYIhZB6enp9PzKbKwqRQdBBWJhyaYPCzUYFEb2dbWVnR0dNDr6otZpWpQdpYiqc/RW2adxWL12efQ0tKCq6srrK2t6WFHX1/fPoVLVQ3UzISVlRVtZ+vm5jbocoyo2jD1Q5X7WCwWnJycwGKxFCbfwmAw4O7uDmdnZ6SmpiInJwfFxcUIDQ0dtCyOovWzqGNTZAg7OzvahpeyDh5KYFXnBrzq7URDhDpSg/l8PpqammgbWUnMKmtra3C5XPD5fAQFBamNxhQwPFkKj8d7gJZLyaxTxk5DlVk3NDTEiBEjUFlZiYyMDFRWVsLX11ctaLjAv3a2vWdTRLWcCCEPlKsotWEWiwUzMzPa42S4y306OjoYMWIEmpubkZKSgvj4eFhaWiIkJGTATFHRkie9ryUdHR34+vrS1sGxsbHw9PSEi4uL1OrPsgQTZYk8AppgQkPRZS6KWUWJHUpiVlGsqt7MKkIIrTHl6uoKd3d3tbl7obIUGxsbmbMUSvdLNOtQ9MZHaSFZWlrSw46D0W9SJbBYLHo25f79+2CxWDA2NkZbW5sYO43FYsHT0xMsFkulAiaLxcLYsWNRUlKCvLw8XL16Fe7u7vD09Ozzb6DIMld/gYpSW6irq6MVfqUxPtNkJioAeZS55BVMKM2lmpoa+k5PFmYVg8EAm82GpaUl0tLSUFdXh8DAQJVtbkuCubk5IiMj6SyFumvr60vZm1ZKlauYTKZYnX64ZNb19PQQFBSE2tpaMc8UWXoRioZAIBArV1HlvpaWFjQ1NcHW1hajRo2CsbGxygdGBoMBV1dXODg4ID09Hfn5+bRtsCQVAEKIwjKpwWz4VlZWiIqKQmlpKVJSUmBmZjYox0QNm0sFoKyeSW9mVVtbG3g83gPMKkrsUF9ff8gXi4mJCcLDw2m/Dk9PT7UYVKPQO0uprq6msxTKTlY0eAiFQpiYmNDGTpJopcMNa2trmJub070IathR2XeTol7u1I/oMGVvc6za2lpkZ2cjMzMTHA5HaRIc0kJHRwchISFobW1FcnIyEhISJNoGK7rMNZhjU703e3t7WoyRclDsq0ynyUxUAMPRM6E0q2pqatDQ0EC7AfZmVjk6OsLW1nZIdfqBQPl1WFlZIT09HXV1dfDz81OaUuhQYGJiAl9fXxQWFiIuLg7a2trg8/kwMjICi8WCjY0NvLy8lM5M6wuUTpadnR0yMjJQVVU17MOC3d3dYhlHc3OzGMmAzWb3SzKwtraGhYUFCgsLcefOHTg5OcHDw0MlCR2SYGJigjFjxqCsrAw5OTm4du0a2Gw2PD09wWQyFV7mkua6pMQYRfspXl5eEm8E5dEzURbU48oZBPT19cVmLaSFpDIXxayqra2lKbm9bWStra1pWuRwbnzUoF12djbi4+PB4XAGbZU6nKDmEUQzDlGZdUdHR9TW1oLFYqn0XIokUASDwsJCJCQkwNnZGR4eHnIvr1C9ItGsQ1T7y9raGp6enlIHX0rUsPdsijzmJYYDFJPKwcEBGRkZKCwsRFlZGYKCghSqRjzUY5uYmGDkyJGora0Vsw4WLdNp5kxUALKWuaisIysrC83Nzejs7BRjVhkYGMDOzg42NjYwNzdXiTs4HR0dBAQEoLq6GpmZmaitrYWPj4/SZiJE7WSp4EHNI1ANXkky6wKBAHl5ebh9+/agNbJUBVpaWvDw8KCdHW/dugU/P78hu99JsuRtaWmBtrY2fQ7t7e3BYrHk9nemFGcrKytpy2BfX1+ZxC+HE0wmE4GBgbRtcGJiIrS1teHi4iL395JWIr43GAwGbGxsYGVlheLiYty/f58W6zQ0NFTrMtdDo811+/ZtzJgxA/n5+QNuRFQTkmqQd3R00MwqBoMBAwMDmJqa0g1yLS0tlf8Dd3Z2IiMjA1wuF/7+/sNi5UmVWkSzDkpmnWqSSzOP0NjYiPT0dOjp6cHPz0+tshSgJxCUlpYiLy+PpiQPtOHzeLwHZjpEzyH1M1y9Ih6Ph9zcXFRVVcHNzQ2urq4qf+0LBAL63DU1NaGxsZG+EXRxcYGPj4/cskU+n4///e9/mDx5slyCOWV8VlFRAVdXVwgEAjAYjCFpBBJCIBQKoaenpxTVhocmmCQlJWH8+PEoKysT+9KJMqsoscPezCqqQa6rq4vs7GyYmZnBz89PbaaeKRBCUFZWhtzcXLoGLq+LimIGiQYO0VILFThk9TYRCAT0l0vdshQKHR0dyMrKQktLCz3sSPXkeku4cLlc+uaFChwmJiZKl3BpampCZmYmCCHgcDh9ug4ON/oiGujq6tLnz8zMDIaGhvR1pK2tjYCAALlIy3R3d+Pq1auYOnWqXP9GLS0tyMzMRHNzMywsLBAWFib1WjXBRE7IyspCcHAwEhISkJqaChcXlweYVZQbYH/Mqu7ubqSnp6OtrQ0BAQEq8yWSBlwuF2lpaRAKhQgICJCaqSNqJ0sFDy6XK8YMohq9igq4olmKv7+/SlNwJUE0S9HV1YWOjg7a2trESn7UjzIUXgcDoVCIkpISFBQUwNbWFl5eXsO+VsoyoXfmRp1DMzMzmmggCR0dHUhKSkJbWxtMTEwQGhoq07XU2dmJa9euYdq0aXK/ySGEICEhAS0tLTA0NJQ6iD80weSbb77B559/jqqqKgQHB+Prr79GeHh4n8//+eefsW7dOhQVFcHLywvbtm2T2m2xpaUFZ86cwcWLFxEXF4fy8nIAPV4VR48ehZGRES12KA2zitoIcnNzwWaz4e7urnZ3x0KhEIWFhSgqKup38ry3zDoVQBgMhpjEOjXINpznQTRLUXUatKgECfXfrq4uGBkZ0edY3QZOKXR0dCA7OxtNTU3w8vJS2MAmlXU0NTWJZR2iQ6lDyX4JIaipqUFGRgb4fD4cHR3h5+c3pA23o6MDMTExmD59utSvHQxSUlJoYdaCggJYW1vDx8dnUP0rihygp6enlGtMLsHkxx9/xNy5c7F//36MHj0au3btws8//4zs7GyJekZxcXEYP348tmzZghkzZuDUqVPYtm0b7t27h4CAgEG/70svvYQzZ87AwsICXl5eaGhoQFFRETZt2oR33nlH5hPa2tqKlJQU6OrqIjAwUK3otxSampqQlpYGPT09BAQEQFtb+4E+h6juEhU4VElmvaGhARkZGSqTpfQ2yKI2PYqhJpq9URtWXV0dMjMzoa+vr5b9IACoqalBdnY29PX1weFwBhzAGwhUv0g0eFD0Zip49CZryALq5qS0tBRMJhN+fn5SB0Yul4ubN2/i8ccfl8uaeiMpKQksFgtubm7o7OxETk4Oqqur6Zva/gLgQxFMRo8ejVGjRmHPnj0Aeu6KnZ2dsWTJEqxevfqB58+aNQtcLhfnz5+nH4uIiEBISAj2798/6Pdtb28XK1URQhATE4Po6GiMGDECe/fuldkjWyAQICsrC7W1tfDz81MbsT/gXzvZxsZGlJeXo6OjAwBomXBqw1OFGv1AUGaW0nugsrm5GYSQB8pVA216fD4f+fn5KCsrk0p4UZUgEAhQUFCAkpISuLi4DLjBUaACsGjgoPpFor2O4Zgt6ujoQEpKClpaWmBkZITQ0NBBB8bW1lbEx8dj6tSpClnbvXv3YGlpCVdXV/oxqn/V1dUFb29v2Nvb91llUOtg0t3dDUNDQ/zyyy949tln6cfnzZuHpqYm/Pbbbw+8xsXFBcuXL8eyZcvoxzZs2IBff/0VycnJsiwHQM8d1Lx585Ceno5jx44hMjJS5mNWVVUhMzMT9vb28PLyUrnNt7fMOnW3LOpqR5XvzM3NweFwVLZW3x8UnaX09nOnaOLUQCX1I8tAanNzMzIyMgAAfn5+MplAKQutra3IyspCZ2cnPZsiCh6PJxY4KEUD0XNoZmam1GuwtrYW6enp4PF4sLe3R0BAwIDf65aWFiQkJGDy5MkKWdPdu3dha2sLZ2dnsccJIaisrER2djYMDAzA4XAeuG6UHUxkHpaoq6uDQCB4YGDO1tYWWVlZEl9TVVUl8flVVVWyLgcAYGNjgwsXLmDHjh14+umnsWbNGixbtkymAGBnZwdTU1OkpaXhzp07CAwMlDnNHyoIIRLlR0TvlvuagHZ2dqbnIfz9/WFlZaWUzzBUWFhYIDIyErm5ubTG11CzFFFmkOhcjGgAVoSfO4vFwujRo1FcXIy7d++q3fQ58O8AXkVFBe3lYWFhQZ/P9vZ2mulnY2MzZOVmRcLa2hrjxo1Dfn4+SkpKUF1dTSv/9icgqcjP0NfxKcFRGxsbFBYW4vbt27Czs4O3t7fKlN/V5+qVElpaWli1ahXGjh2L6OhoxMTE4NChQzJNiRsaGmLkyJHIz8/HnTt34O3tDUdHR4WXW6jasmjW0d3dTfc57Ozs4OPjM6gvq66uLoKDg1FRUYGUlBTY29vD29tb5TKt/sBkMmnKbUZGBq3xNVCWMpCt7EA+J/KElpYW3Nzc6M9w69YtcDgctQju1HwRlXkIhUJ6voPqXyo76xgsKHkiV1dXpKSkICMjg7YNliSPo0iZFur4/X2HtbW14eXlBScnJ2RnZ+P69etwd3cXK5mq7QS8lZUVmEwmqqurxR6vrq6GnZ2dxNfY2dlJ9XxZEBUVhcTERLzxxhuIiorC0aNHMX78+CGfcC0tLXh5ecHCwgJpaWmor6+X60yKqHQGFTyo3hCLxYK5ubnMMusMBgOOjo70Z4iPj0dAQIDalVsoSRlRJWLqrrK3XL2strKKgpGREUaOHIny8nKkpqbCysoKPj4+KrMRi87GUMGjo6ODLvtRNzLGxsZobGxEVlYW8vPz1a6Mqqenh1GjRqGhoQGpqamIi4uDjY0NAgMDxb7binZCHGzmY2BggJCQEDQ0NIhZBw9W6l4RkFsDPjw8HF9//TWAnhPi4uKCxYsX99mAb29vxx9//EE/FhUVhaCgIKka8NJAKBTim2++werVq7F06VKsXr1a5rKC6ExKYGCg1MZV/ZVZetNyFfXFJISgqKgIBQUFYLPZcHNzU6lSxGBACKFtarW0tKCrqwsul0vbyg7HeZQHOjs7kZWVhaamJvj4+MDOzm7Y7zKp8ikVPFpaWsTOI/XTn+ptcXExCgoK6P6iOg7/FhQUoLCwEAwGA15eXmCz2WAwGLTa8tixYxXy3jdu3JA6KBBCUF5ejpycHLi7u8Pb21sp2YncqMHz5s3DgQMHEB4ejl27duGnn35CVlYWbG1tMXfuXDg6OmLLli0AeqjBEyZMwNatW/HUU0/h9OnT2Lx5s9TU4KEgMTERs2fPhp2dHY4ePQoHBweZjic6k+Lm5tavV/VAMuvUhqcMmfWWlhakpaWByWQiICBApamr1CCbaNbB4/HoNXO5XJpKqY6BsaamBllZWTAxMQGHw1GYRpZoFkxlHZ2dnXT5VJRsIO31SKkANDc398tAUmXweDykpKSgoaEB+vr6CAkJQVdXF/Lz8xEVFaWQ94yNjYW/v/+QWKjd3d0AoDR/GrkNLe7Zs4ceWgwJCcHu3bsxevRoAMDEiRPBZrNx/Phx+vk///wz1q5dSw8tbt++XeqhxaGipaUFixYtwt9//42DBw/i8ccfl/nkt7S0IDU1VWyeo68hNtG7ZVWSWacEF8vLy+m6rLI3gIFsZSVJkDQ0NCA9PR0GBgYqb2DVF0Q1suRFhe7s7BTLOlpbW2mzMdEfeREBqMCYnZ0NQ0ND+Pr6Ko20IguampqQkpKCrq4umJiYgMFgKCyYXLt2DcHBwUNS3qBEKIej5ycJD42cirQQCoU4evQo3n//fbzxxhvYsGHDkEsgVF25sbERpaWl9DyHvr6+WLmKMiZSddTX1yM9PR3Gxsbw9/cfVgtXSdP4AB6Y6RhoTXw+H7m5uaisrFT56fn+QFGhKU+MwW7GvSnOTU1N6OrqgrGxMT1JLo0IpywQna9xdXWFm5ub2hA+KPWCpqYmlJaWorm5GQDg5eWlEGWMq1evIiwsbEj9S4ocoCx21yMbTCikpaVh1qxZMDY2xrFjx8Bms/t9/mBk1gUCAcrLy+Hg4KCSMymDAY/HQ1ZWFurr6xXmldLbVpbK3npP48uStj8MWYrooKCkzZja8Hoz1SiKMxU8lH0z09raiszMTHR3d8PX11clmWuitsZUEObxeDAxMaGHKquqqtDQ0AA9PT0EBwfLVaH7f//7H0aPHj0k50tNMFEBcLlcLF26FGfOnMG+ffvw9NNP05uXJEc7gUBAZxrUl7T3HV57ezvS0tIgEAiUOpMiK6hhTRsbG/j4+Ax5M+prqFJUPFJRG55olqIq5buhoKWlBRkZGRAIBHB2doZQKBTb8HpnHcq2OJYEqlmcm5sLCwsL+Pj4KHVOoqurSyxwUEGYOo+UpEvvG8KWlhakpKSgo6MDFhYWCA4OlksGf/nyZURFRQ1pv9AEExUBIQRHjhzB0qVL4efnBxMTExgZGeGNN96AkZGRWOAYLJ1UKBQiPz8fpaWlwzaTogh0dnYiPT0d7e3tg1ZSFg3ComQD0XIVpbs0XOdENEvx9/dXC/On3mZZVK8D6CmjOjg4wMLCQiaquDJA+XjU1NTA09MTTk5OCu8dUmrYTU1NYjRnKhOmAshgS3+i5BtCCNzc3ODl5SXT9fzXX39h/PjxQ8qgKVrxcJalRaEJJgB+++03rF+/HmlpabC0tERXVxf09PSwYcMGzJkzR2ZqY319PdLS0tTWJwUQ/+K4uLjAw8OD/vIPZCtL/agC2UDVsxRR9WFRphpVZqHOpVAoRFZWFrhcLj3AqY5oaGhAZmYmmEymRIkQWUANqYrKujAYDDE5F3moGwgEAqSnp6O6uho6OjoIDg4eUglPKBTi8uXLmDhx4pCyC00wUQFkZGQgOzsb4eHhcHR0RGdnJz744AN8++232LVrF/7zn//IxVRHlpkUVUFraytSU1PB5/Nhbm6O9vZ2MQkS0cxDlYNmfX09MjIylJqlSDJ6am1tFVMfNjMz61OIkxCCiooK5OTk0NavytpIZIFQKERRUREKCwvh4OAAT09Pqa8dUfl6KnhQQpJmZmZ0IFYkbbatrQ3Jyclob2+HmZkZQkNDpfp7UC6Ojz322JDIQEKhEEwmU2mzVJpg0gcIIThz5gzefPNNPPvss9i+fbvMzVtCCEpKSpCXlzfgTIqqoC9bWV1dXXR1dcHOzg7u7u7DwgqSN4Y7S5HV6KkvdHV1ITs7G/X19fD29laY34ii0d7ejqysLLS2tsLb27vfoU3Kqlc066B6maL9juHeWKkAn52dDYFAAFdX10HLFVEujlOmTBlS31ATTFQchYWFmD17NlpbW3HixAn4+fnJfMzeMymqItQ2kK0sVRag7pQprxR9fX216UFIgiKylL48T2Q1euoP1LCjkZEROByOWjLXCCGorq5GdnY2jI2N4evrC0NDQ5qeSwUQyqpXNOtQtjSOKAQCATIzM1FZWQltbW0EBgYOyIikXBwff/zxIX0OTTBRA3R3d+Pjjz/Gvn37sGPHDsyZM0fmi5bP5yM7O1tpPimiysOiwUNaW1k+n08b+Pj6+ipFAkQeoD5HVVXVkLKU3iKSkoyeBjMfIyuobKuiogIeHh5wcXFRmQ12sBAKhWhoaEBhYSGamprAZDJppQjRrENVbsL6Q3t7O5KTk9HW1gZTU1OEhob2ebPS3t6O2NjYIbs4PlLBRBnWvvICIQQXLlzA/PnzMWXKFOzatWtIXPDeqKysRFZWlsJ9UiQ1dru7u2FiYiIWPIbqsEjZolpYWIDD4ah0v6Q/UFmKoaEh/Pz8JH7xVcnoqS80NjYiMzMTWlpa8PPzk6iAqyqgbmqofgc1mW9mZgY9PT3U19eDEAI/Pz+Zze6UAUo7LjMzEwKBAE5OTuBwOA9819va2hAXFzdkF0eBQABtbe2HP5goy9pX3igtLcWcOXNQUVGBEydOICQkROZjtre3IzU1FUKhUC4zKUOxlZUHurq6kJGRgdbW1iHrC6kCemcpNjY2DwRiQohKGT1JgkAgQGFhIYqLi6VyRVQkhkLPpZiE+fn5sLKygre3t1oSDQQCAXJyclBWVkZr4Ilm8q2trbh9+zamTJky5OPr6Ogo7UZu2IKJsqx9FQE+n4+NGzfiiy++wGeffYaFCxfKfAcqy0yKaLmK2vQooyyqzzGUxu5QIKpgqo4KAKKbXU1NDRobG0EIgb6+PszNzekNT9WMnvqD6OS5n5+fXCe2B4Ikei4A+jxKQ8+lPNHr6+vp2RR1LKl2dHQgOTkZra2tMDY2RmhoKIyMjNDc3IzExEQ89thjQzruIxFMVNHaV1YQQnD16lXMmTMHo0ePxjfffDMkcbbeoGZSKGvd3hfGcNjKygOUAgCfz0dAQIDKllm6u7sfsJcFIDYbU1tbi9raWrUePKXu7vPy8mBrawtvb2+5bzqi9FwqgCiCnltXV4esrCzo6OiAw+Go7LU1EGpra+nviIODAxwcHJCWloaJEycO6XjKDibDItSjita+soLBYGDy5MlISkrCq6++iqioKJw4caLfHtBgYGlpicjISKSnp+PWrVvw9vamZTNEJUiobEMRtrLyAOVKWVRUhISEBLi5uYm5wSkDFFtNNHj0ZfQkutnZ2dnRvZTq6uo+eymqDAaDARcXF1hbWyMzMxNxcXH0sONQN3aKniuaeYjScz09PRVS/rOyskJkZCQKCwuRkJAAR0dHeHp6qoWIqiisra0xfvx45OXloaSkBJWVldDR0QEhZEh/EwaDodQbHfU6+yoIW1tbXLx4kSYHrFu3DkuWLBnSptnd3S1WpuLxeDSF2MbGpk9fd1WFlpYW3N3dYWVlhbS0NNTV1SEgIGDYKKsDGT3Z29sPeriSCvI5OTl0kFfHLMXAwAChoaF0Q7iyshK+vr4DlkBF1XMl0XMtLCzg7u4+bPRcJpMJT09P2NvbIysrCzdv3pQ5OA4nRLM4Pp8PAwMDdHR0oLu7G9evX0doaKhcCD7DiT6DiUAgkFutW9WtfWUFk8nERx99hHHjxiE6OhqxsbE4cOBAv5IKfdnzUiUBylaWEEJPzrPZbLWgQ/aGqakpRo8ejdzcXMTHxytkIx7I6MnBwQEcDmfIbDWgx3/bz88Ptra2ap+l2Nvbw9LSkg6OvXsQlHqu6Pmk2H8sFgtsNlsl6LlGRkYYMWIEqqqqkJWVhfLycno2RZUgqkZM/YhmcT4+PmCxWGhtbUVaWhpu3rwJW1tbBAUFDXofVvaUh1jPpL29HefOnUNUVBTc3NwAYMgpV2+og7WvPFBfX4/58+fj3r17OHLkCMaOHUuzq0QZVpRsfW92laSSgLJnUuQJyivFxMQEfn5+Q2blUJLr1EanaKOn3hA1r1LXLIVCXV0dMjIyaDpue3s7Wlpa6PMp2ihXZTIFj8dDXl4eKioqlF5WpYROqcBBnU/qXFLnU9L6CCHIz89HUVERGAwGvL294erqOuD1JRAIoKurq7Ryn1gw+eOPP/DMM88A6JkJefvttwEM3uS+P6iTta+saGpqwpo1a3D48GE4OjqiubkZ0dHReP7558U2OmklSIZrJkXR4PF4yMzMRENDw6CCoyjpgAoeyjJ66g1qIzYyMlKbLIVyrxQtWXV0dEBHRwc8Hg/W1tbw9PSUKYtTJpqampCZmQlCCHx9fRXOXhPVWKOCB5fLpXtxVPCQ9vrs6upCWloaGhoaYGBggJCQkH6FMIVCIXR0dJQfTLKysjB9+nRMmzYNL774Il544QVMnToVZ86coRcqa0BRJ2vfoeLJJ5/EX3/9BRcXF3h6eiIxMREuLi747rvv4OHhIfPx5T2ToixQg1xZWVliXim9jZ6oITZVM3oSBZWlVFdXw8vLS+WylIHouaLCnM3NzcjIyAAA+Pn5yVXFdzghFArp2RQbGxt4e3vLjQjQu2RFKTuLnk95Eg8aGxuRmpqKrq4uWFtbIygoSGKfTygUQldXV2k3mQxCCKmpqcGSJUuQkZGB1NRUAD3Dea+88gpSU1Nx/fp1BAYGKmWB6oa7d+/CycmJ7u00NTXhzTffRExMDA4fPozHHntM5o3mYfFJAXqMyVJSUuj+Rnt7u9oYPfWGKmQpA9FzRafz+zqfoiq+Tk5O8PDwUJnALS06OzuRnZ2NhoaGIQd6Ho8n1uuQpmQlLxBCUFhYiIKCAgA9tsG9hWKVHky6u7vJzp07sWbNGkyfPh1//vmn2BOWLl2K0NBQvPbaa/Rj8shSHiUIhUIcPHgQH3zwAd5++22sXbtWLlTegWZSVA2SjJ4oqrOuri64XC5Nz1X1z9IXeDwecnJyUFNTMyxZykD0XFnukrlcLjIyMtDZ2QkOh6OSNruDRW1tLbKysqCnpwcOh9MnU4q6RkWDB5fLhaGhoVjwUJZKNsXwrK+vF7MNJoRAKBRCT09PecHk4sWLZObMmVi5ciXi4uJQXV2NX3755QF13K6uLhw6dAiLFy9WykIfBiQnJ+Pll1+Gubk5jh07BmdnZ5mP2d3djbS0NHC5XJXzSRHVA6M2Oj6f/4DRE0V1bmtrQ2pqKhgMBgICAtS2hAf8m6UYGxuDw+HITYlYlHjQm54r6n8ir5s9QgjKysqQl5cHa2truZaLhhsCgQAFBQUoKSmBs7Mz3N3doaWlhdbWVrHgwePx6GBM/ajaZ25paUFycjI6OzthYWGB0NBQ2hhLacHE09OThIaG4qeffkJ7ezvWrFmD48eP47///S8dOChGl6+vL1577TWJ7CsNBofW1lYsWbIEf/zxB/bt24ennnpK5jscVfBJ6W30RG10gzV6okCV8EpKSuDl5QVnZ2eVL2/1BVmzFIruLFqbF6XnivqfKPocdXZ2IisrC01NTfDx8VFbdWgej4eqqioUFhaiu7sbAMT6cerAWqNAfe+TkpKwadMmzJ49Gx9++KHyhB69vLxIVlYWtLS06KDx008/4ZtvvsEff/xBSxVwuVyEh4dj3bp1ePnll8Hn8+k66nCWvaRRHk5PT8f69euRmJiI4uJifPnll2LyLMoCIQQnTpzAkiVL8Nprr2Hjxo1yEa4bTp8USUZPAoFA4kY3FDQ2NiItLQ2Ghobw9/dX+jyDLBDNUvz8/Pr8LKLqudT8kSg9lwrKytroCCG0Z4qJiYncMi5Fob+SFYvFAoPBQE1NDVgslsp/lt6gyl1xcXG4ceMGrl69Ci6Xi8mTJ+PQoUP0aMdwghEYGEiSkpLEggnQI0ZmYGAgNrzo7u6OlStX0pRhYHgDibTKwwkJCfjpp58QFhaG999/Hx9++KFKBBMKmZmZmDVrFnR0dHDixAm4u7vLfEw+n4+srCzU1dXB398f1tbWMh9TGUZPwL/zNTU1NeBwOCo5sDpYiGYp3t7esLe3F5Oxp+i5RkZGYjpWquhgSX2W6upqeHp6qkz22DuTk1Sy6u0p093dTTPx3Nzc4OrqqnL9YOr7d/fuXdy8eRO3bt1CQkICtLS0EBERgbFjx2Ls2LFgs9nYvHkzTp06hd9++23I6sNDBWPKlCkkKSkJp0+fxuTJkyU+SSgUor6+HtOnT8f27dsxefJknD17Fn/++Seys7Nx5MgReHt7K3yx0ioPi4LNZmPZsmUqFUyAnqD9/vvv4/Tp0/j666/x/PPPy+WLKctMiqoYPVGgvFIsLS3h6+urls156pxWVlaiuroahBCJWYc6fbb6+npkZmZCV1cXfn5+w97jEqU8U0FZS0vrAZbVYK590dkUDocjF9HWoYLKAG/dukX/JCcnw8bGBmPGjMGYMWMwduxYBAcHS2TZJSQkgMPhDPvfg0EIIVu2bMEnn3yCxYsX44svvgAgnnF0d3ejsbERY8eOBYPBgI2NDbKzsxESEoIXX3wR48ePB4fDUehCh6I8LApVDSZAz8Xz008/4a233sKLL76Ibdu2ySXlHsxMCjXAJho4VM3oCVAvr5S+htgoeq6xsTGamprQ0NAAHx8ftfVsB8Sb2mw2G25ubgq5TkS1wUTJB6KKxJQ1wFDPpVAoRElJCQoKCmBrawsvL69h6T9QfcK4uDg6eOTn54PD4dDBY9y4cUoXSh0I9NDirVu38OKLL+Lbb7+l9fSrqqqQkpKCHTt2oKmpCXfv3sUTTzyBGTNmYPr06XB2dh42/nlFRQUcHR0RFxeHyMhI+vFVq1YhJiYGt2/f7vf1qhxMKOTl5WH27Nno6urC8ePH4evrK/MxRWdSfHx8YGVlpZZGT4C4VwqlFKsKjdLB0HMlZXK1tbXIzMwcsJeiDmhpaUFGRgaEQiH8/PxkZhX21lpramqiyQeiwUMR2XFHRweysrLQ3NwMLy8vuQd7Ho+H5ORkOnjEx8ejqakJYWFhiIqKostWlpaWanWToU3xkyMjI1FeXg4+n4+zZ8/i999/x4ULF2BtbY0RI0Zg6tSpKCgowJdffkmXtIRCoZKX/3DB09MTN27cwIcffogJEybgiy++QHR0tEx3Wlwul+5tUJPN1N0cNRmsbO+TwYLBYMDJyQnm5uZIT0/H7du3h90rZSB6rjTqudbW1jAzMxNTIlbXLMXU1BTh4eEoKSlBYmIibYw22JvN3lP6TU1NYiUrJyenYSMfUMrKNTU1yM7ORkVFxZDLRlTmn5CQgJs3byI+Ph4JCQnQ0dGh+x3vv/8+wsPD1WIwtz9oMxgMMJlMuqylra2N1tZWdHZ2YvPmzXj55ZdhYmKCkpIS7NmzB01NTXSjfjg3oKEoD6sj9PT08OWXX2LSpElYsGABYmNjsXPnzkFdyAMZPTk4OKC8vBwdHR1wcnJSqZkUaWBkZISRI0fSfhbu7u5gs9kK+SKKNnWpTa63eq4s9FwdHR34+/vDxsYGmZmZtBKxOmYpWlpaYLPZsLGxQUZGBuLi4sDhcB4ggQxUsrK1tYWPj4/StcFsbGxgYWGBgoIC3L59e1DWx5RMkGi/IyUlBQ4ODoiKisLzzz+PnTt3SqUGrC7o02mxt1pwbGwsnnvuOeTk5CitXi2t8rAo1KHM1RvFxcWIjo5GXV0dTpw4ISZpM5DRk6hToOjfURVmUuSJ5uZmpKWlQVdXF/7+/jJLj4sGZFHpjOGg5/ZmfKlrlgL0XGcVFRXIycmBhYUFHB0daZmX4SxZyQuU9XFXVxctew/0fA9zc3Nx69YtumxVWFgIf39/sWa5om52VAkD2vZSQSU5ORlTpkzBzZs3h4W5JQnSKg93d3fTpZ0nn3wS0dHRiI6OhrGxMTw9PZXyGaQFj8fD+vXr8dVXX+GFF16AlpYWmEwmnnvuuQck7KVhAw3nTIqiIRAIkJubi4qKCqka2n2p5yqbnkv1UqhZDnX721AzSBTJgOrLGRsbw8bGBubm5kqdlxkqCCHIycnBpEmTYGVlBTabTXu5jxw5UqzfYW5u/tAHj94YtAf8mTNnsGTJEpSVlQ1Y3pLkgSIvsy1plIeLiookDu9MmDAB165dk3ktisaFCxfw7bff4tatWygtLYWWlhbs7OywdOlSzJs3T+YygCJmUpSJuro6pKeng8Viwc/P7wESgSjlmQoggGT1XGWDx+PRHjaqnqVQg4GiKs/6+vpiWUd7ezuys7NhZGQEDoejcuZVkkAIQWtrK+7cuUP3O+7evQttbW0YGRmhvr4eb7zxBrZu3Sqzr/3DgEEHk7q6OsyfPx/79++Ho6OjxOf0DiLUF9fFxQWAfN0bHwWcPXsWGRkZiIiIQHh4OLhcLqKjo1FUVIQTJ04gLCxMLu9TWVmJzMxMummqzn+j7u5uZGZmorGxER4eHmAymfRGJ1qXH4x6riqgtrYWGRkZMDU1VYkshdpgRWc7KG8Zc3PzfpUPRM2rPDw84OLiolLED0IIKisrxSi6qampcHZ2RlRUFE3R9ff3B5PJxLVr12jh1ujoaGUvX+kYVDDpHSQGmnq/d+8ejh07hr/++guWlpbQ19fHDz/8AHt7e/ms+hGGQCDAf//7X2zbtg0bNmzAO++8I5cvpOhMSlBQEIyMjOSw2uFDb3puY2Mj7Txna2sLCwuLYR20lCdEsxQfHx/Y29sPWwAULVmJZnO9BwOlGRFobGyknR39/f2V5nUuFAqRnZ0tFjxKSkoQEBAgVrJycXHp83x3d3eDyWSq9Q2YvDDozKS2tpYug4jqcvXGrVu38PnnnyM5ORl//vkn2tvbsXv3bsTGxuLXX39FYGDgAxmKRtJeOhBCEBMTgzlz5iAkJAT79u2TCymi90yKKpdWRNlAlG2vrq6umGCftrY2MjIy0NXVhYCAALVlr1EYjiylN8tKUslKHtmcQCBAYWEhiouLB8WSkhWEEHR3d+P+/ftiTKv29naMGjWKDh5jxoyBmZmZyl73qoxBBROBQICvv/4aMTEx+O6772BkZAShUAgGgyF20ltbW/Hhhx/i6tWrKCgowCeffIKPPvoIADBlyhS88sorWLBgAf38Xbt2Yfbs2bC1tVXAR3v4UVtbi3nz5iEtLQ3Hjh1DRESEXL4EquaT0hc9lzLQ6k89lxCC4uJi5Ofnw9XVlZYdV1fIM0sRJSBQP52dnQ+wrBRZWmttbUVGRgZ4PB78/PzkZrFLCEFLSwtu374t1u8wNDSkS1Zjx47FyJEjoaenpwkecoBUPZM5c+YgNTUVJ06coEXERLOMjo4OBAUFYdGiRXjyySfx0ksvQV9fH3fv3sXcuXOhpaWF48eP49SpUyguLsYPP/yAF198EevXr1fcJ+wH0igQHzp0CCdPnkRaWhoAICwsDJs3b+7z+cMFoVCIL774Ahs2bMDq1avx/vvvy+UOT5k+KYqg57a2tiItLQ0MBgOBgYFqV8brjaFkKaIlq97qB6JBebhdFSm6en5+Puzs7ODl5SX1DQyljiBaskpPT4erq6tYv4PD4WhKUgrCoIMJ0PMH+/zzz/HZZ5/hvffew2effQbg34CSnZ2NsLAw/P3334iMjER9fT2WLl2KX375Bd3d3fjll1/w/PPP491338W+ffsQFRWFGzduAOi/dKYISKtAHB0djTFjxiAqKgr6+vrYtm0bzp07h/T09D4JCcOJW7du4ZVXXoGHhwcOHTokl2xPdCZFUYOBA9FzqY1OHvRcgUCA/Px8lJWVqZTa7VAxUJYiaTCQ8pehmuWqREDo6OhAZmYmWltb4evr2+81LBAI6H5HXFwc4uPjUVpaiqCgILF+h5OTk8p8vocdUgUTCrGxsVi4cCGsra1x/vx5sbvWGTNmICIiAmvXrqUfO3bsGOLj47Fp0yZ0d3fjo48+wr1791BaWkorEA83ZFEgBnouZnNzc+zZswdz585V9HIHhcbGRrz++uu4desWjh49ivHjx8vli9TS0oKUlBTo6+vLPJPSHz1XNPNQZGmtoaEB6enptFe7shlSsoJSVTYyMoKlpSUtbT/cJSt5gJogp3zbQ0NDwWaz0dXVhXv37tFZR3x8PDo7OzFq1Cg664iKioKpqakmeCgJQwomQE9dfdmyZbC3t8f27dtpxtehQ4ewcuVKrFu3Dq+//jp0dXVhaGgIgUAABoOBjz/+GFevXsXKlSsxefJkPPXUU/joo48wY8YM+tiKbsjLqkAM9JRNbGxs8PPPP4utXdkQCoXYu3cvPvzwQ7z33ntYs2aNXDK+ocyk9FbPVSV6LnVXX1dXBw6Ho3Z9O4q9Jpp5UFp5VlZWtFzOcJes5AFCCGpra7Fw4ULExMTAyckJ5eXlMDU1Fet3hIWFqSU772HFkIMJBS6XSzfkqQBw8eJFvPPOO2Cz2Zg8eTJWrVoFXV1dHD58GIcPH8akSZPoKXXRnovo/yuy7CWrAjEAvPPOO7h06RLS09NV8m4vMTERs2fPhp2dHY4ePQoHBwe5HLe/mRSBQICWlhYxlhWlnqsMH5TBoLq6GpmZmbCysoKPj4/SyQZ9oaur6wGWFSUuKcqyqqurQ2ZmpsrMpQwGhBCUlpaKqeimp6fD3d0djo6OSEtLg4eHB06ePCkXJW0NFAOZg4koqEMxGAxwuVycOnUKY8eOBYfDQWJiItavXw8zMzN89dVXsLKyAtAz35CRkYEtW7aAyWTCxsaGLj1JmqSXB2QNJlu3bsX27dtx7do1BAUFyX198kJLSwvefvttXLp0CQcPHsS0adPkcj6pmRQ+nw8nJyd0dHTQ9FwdHR2xZq6pqanKs6c6OzuRkZEBLpcLf39/uTGKhgrKWa+xsVGsjyTKXqNKVpL+njwej84ih3suZTAQCATIzMykXQPj4+NRUVGB4OBgsX4HRU1va2vDxx9/DB6Ph7179yp7+Rr0AbkGEwqSJt2/++47rF27Ft9//z3GjBlDP2/37t346quv4OjoiPHjxyM2Nhb19fW4fPkyPTlPob6+Xi7zFLKUuXbs2IHPPvsM//vf/zBy5EiZ16JoEEJw9OhRLFu2DK+//jo++eSTIXmVSKLndnV1AQDMzc3h6OjY7wan6iCEoKysDLm5uXBycqKn54cDvUtWlLOlaClwKH2kmpoaOkvx8/NTSkZIKQQnJiaK9Tt4PB7Cw8PpfkdERMSA/Q5F3VxqIB8oJJhIwsGDB7F9+3akpaXRqfe5c+fw1VdfgcPhYN++fQB6vlhjx47FrFmzsGzZMvoCOn/+PHbs2IF169b1aS8sDYaiQLx9+3b897//xaVLlxARESHzGoYTaWlpePnll2FoaIjjx4+DzWb3+/zB0nObmppUaiZFVnC5XKSlpUEoFCIgIEAh09mDLVnJI6MTzVJ8fX1hZ2en0A2ZEILGxkbEx8fT8x337t0Di8USU9ENDQ1VqXKnBrJj2IIJj8fDM888g5s3byIxMRGenp545513cP/+fZw7dw52dnbg8/lgMBh4+umnwWazsWfPHmhpaSE/Px/r169HaWkpdu7cKZeMQFoF4m3btmH9+vU4deoUnVkBgLGx8bB7LQ8VXC4Xy5Ytwy+//IK9e/di5syZYDAYYta91AYnDT23q6sL6enpSplJUQSEQiEKCwtRVFQEDw8PuLq6yjQYSLGrRM/tYEtW8gKVpbBYLHA4HLlt5JTVrWi/IzMzE56enmIlK29vb5Uvd2ogG4aF6iEUCqGjo4M///wTp06dou9ez58/j3fffZcOJFTDPS8vD35+ftDS0kJ3dzf27t2LkpISvPfeexg5cqRcmvOzZs1CbW0t1q9fTysQ//XXXzSrp6SkROzi37dvH7q7u/Hiiy+KHWfDhg345JNPZFrLcMHIyAgHDx5EeHg43njjDXh6ekJHRweGhoZYtWoVnW34+vpKVVbR09NDaGgoiouLkZiYqFCzquGAlpYWPDw8YGlpibS0NNTW1iIgIAAGBgYDvrY3CYFiWVEBWdpzKy/Y2NjAzMyMns0YapbC5/Np4ytqvqO6uhohISGIiorCJ598grFjxyo8A9Kgf0gzkA0AP//8M9atW4eioiJ4eXlh27ZtePLJJ6V6z2HLTCT1UZ555hn4+/tj8+bN9GPr1q3Dnj17kJqaCicnJxw5cgR79uzByJEjsXz5cnA4nD6Pp0H/2Lt3L/bv34+0tDQ4OTnRukvbt2+n/VFkRXNzM1JTU2FgYAB/f3+1YBP1Bz6fj5ycHFRXV0tsZlPlQOqnpaVFjIRgZmY2KAvf4cRgsxRCCDo6OnD37l2633Hnzh0IBIIH+h2qNPz4qEPagey4uDiMHz8eW7ZswYwZM3Dq1Cls27YN9+7dQ0BAwKDfd9iCiSRs3boVO3fuxJEjRyAUCnHv3j1s2rQJBw4coDnmq1atog1puFwuuru7cenSpSE1kR91XL16Fc3NzYiMjISdnR06OzuxcuVKnDhxAl999RX+85//yGVDeNh8UoAe+ZL09HSYmJjAysqKJiNQJStRSRJ18PLu7u6mp+ebm5vxzDPPgMFgoL6+Xqzfcf/+fVhYWIj1O0JCQjTfPxWGtAPZs2bNApfLxfnz5+nHIiIiEBISgv379w/6fZUaTADgiy++wNdffw1tbW2YmprizTffxKJFi1BWVoZVq1ahoKAAO3fuxIgRI8DlcvHUU09h3Lhx2LZt2wNCkxpID0IIzp49i4ULF2LmzJn4/PPP5aZbJTqToo41c0klK6qvZ2NjA3t7e5iZmakt6UAoFOLSpUuYO3cuWCwWjIyMkJ+fDy8vLzp4jBs3Dp6enmr3t3tUMRSmqouLC5YvXy5mab5hwwb8+uuvSE5OHvR7K208lhpyXLFiBV555RV0dnbC2NgY1tbWEAgE2LNnD/Lz8/H2228jKioKAKCvrw9TU1PadVAD2cFgMPDCCy9gxIgReOWVVzBhwgScPHkSfn5+Mh/b3t4eLBYLqampuHPnjsoLLPZXsrKwsIC7uzuMjY1puQ8dHR2lz6RIAz6fj7S0NLH5jtraWvj7+6O9vR2VlZXYs2cPFi1apPl+qSnq6uogEAgeUHSwtbVFVlaWxNdUVVVJfH5VVZVU7620YKKlpQVCCAghD5hmHTx4EHFxcZg0aRJee+01+vHbt2+Dx+OBw+FoeiZyhpubG2JiYvDxxx9j4sSJ+Pzzz/Hqq6/KvKkYGhpi1KhRyMvLw+3bt1XGJ4WSehENHu3t7TSDjZIjkVSycnR0hIWFBdLS0hAfH4+AgACwWCwlfRLJoD7f3bt3aabVnTt3APSUQcaOHYt3330Xo0ePpu2fz549i+XLl+Ppp5+Gs7Ozkj+BBuoGpQr3SCpT1dXV4Y8//oCBgQFWrFhBP15ZWYkTJ06go6MDTzzxBJhMpkoNMUnDnjh79iw2b96MvLw88Hg8eHl5YcWKFXj11VeHedXi0NXVxfbt2zFx4kS89tpriImJwa5du2BqairTcbW0tODt7U2zo+rr64d9JkUoFD5QsqKkXszMzODt7S1VycrAwAAjR45EUVER7t69CzabDTc3N6Xd0RNCUFdXh1u3btH9jqSkJFhbW2PMmDGYMWMGtm7dipCQkD6ZkM8//zyefvpptS3badCjy8ZkMlFdXS32eHV1Nezs7CS+xs7OTqrn9wWl90wkobKyEjU1NQgODgbQsxF8/vnn+PHHH7FgwQIsXrxYySsUh7TsiWvXrqGxsRG+vr7Q1dXF+fPnsWLFCly4cAHTpk1Twid4EGVlZYiOjkZFRQVOnDiBkJAQuRx3uGZSRIcuGxsbxUpWVLNcXlIvLS0tSEtLA5PJREBAwLCU8oRCIQoKCsTmO3Jzc+Hj40P3O8aPH6/UAKeBciDtQPasWbPQ3t6OP/74g34sKioKQUFB6tWA7w1JisE//PADDh48CB8fH/rDqVJWIqucPQCMGDECTz31FDZt2qTIpUoFPp+PjRs34osvvsCmTZvw5ptvymVjEnU/lMdMykAlKyqAyMMTpS8IBALk5eWhvLwcXl5ecvfR4PF4SE1NFZvvaGhoQFhYmJjlrLW1tcp8Lx4VSFOVSE9Px/r165GYmIji4mJ8+eWXYo1veUDagey4uDhMmDABW7duxVNPPYXTp09j8+bNUlODVU6fuvdm1dzcjN9++w2tra30cKC0EvWK7K90d3cjMTERa9asoR/T0tLClClTcOvWrQFfTwjB1atXkZ2djW3btilkjUOFtrY2Pv30U0ycOBFz5sxBTEwM9u7dC3Nzc5mOy2AwwGazYW5ujtTUVDQ0NEg1kzKYkhWLxRpW+iqTyYSPjw+srKyQnp5ON7aHMmlOTc0nJCTQmUdCQgK0tLQQERGBsWPHYunSpQgPD1dogNRgYPz4449Yvny5WFVi2rRpfVYl2tvb4e7ujpdeegnvv/++QtYk7UB2VFQUTp06hbVr1+Kjjz6Cl5cXfv31V6kCCaCCmYkk1NTUoKSkBCNHjhxUIMnPz0dbWxtqamowdepUAIoLKENVIG5uboajoyO6urrAZDKxd+9eLFiwQO7rkxeqq6sxd+5cZGVl4cSJE3KzKx7MTEp3d7eY1AulEyY6GKhK6sSUHhbVGxrIK4UQgpqaGjHL2eTkZNjZ2YnNdwQFBamlP8nDDFmqEmw2G8uWLZN7ZqIsqPyVKRQKYWNjAxsbmwFlVLq6uvD9999j8+bNtMeKrq4ufv/9d5Ww1hWFiYkJkpKS0NbWhitXrmD58uVwd3fHxIkTlb00ibC1tcWff/6J7du348knn8TatWuxZMkSmQO0trY2AgICUFFRgdTUVDg4OMDJyUks8+ByuTA0NISZmRkcHBzg5+en0nfkOjo6CAwMRFVVFTIyMlBZWQkXFxeaRiwUCpGXl0cHjlu3biE/Px8cDgdjxozBe++9h3HjxsHNzU1lP6MGslclHjaofDBhMBgoKioCm82GtrZ2nxkGj8fDqVOnsHLlSrzwwgs4ePAguFwu3nrrLcycORMXL16UmHbKiqGwJ4Cei87T0xMAEBISgszMTGzZskVlgwnQU8pZs2YNxo0bh+joaMTGxuLAgQMyTbhTJavu7m6wWCyUlZWhtLQUJiYmsLS0hKenJ8zMzNRy4trOzg5mZmbYsmULjh49ipkzZ9IT5s3NzRg5ciSioqKwY8cOjBkzBpaWlprgoUYYykzHwwyVDyadnZ1Yu3YtsrKycPXqVZiamoqZcFFobW3F+vXr4eXlhXPnzkFfXx+7d+/Gd999h6CgIOTn5yskmOjq6iIsLAxXrlyhJ06FQiGuXLkiFetMKBTS/iCqjrFjx+LevXtYsGABoqKicPToUYwdO3ZQGyGPx3tgMJAqWVlaWsLNzQ21tbUoLy+Hs7Oz2jWUKQXmO3fu0I1ySs/q22+/RVRUFL777juMHTtWLWRXNNBgsFCNInM/MDAwwM6dO8Fms+Hj44O//vqLnk8RCAT08y5fvgwul4v4+Hj8888/iImJwZgxYxAbGwsul0v7YysCy5cvx6FDh3DixAlkZmbi7bffBpfLxfz58wEAc+fOFUuFt2zZgr///hsFBQXIzMzEF198gW+//RZz5sxR2BrlDUtLS5w7dw4rV67E888/j61bt4LP54s9h2JZVVRU0Eqz165dQ05ODrq7u+Hg4ICIiAhMmDABISEhYLPZsLCwgI+PD4KCgpCXl4fU1FTweDwlfcqBQQhBZWUlzp49iw8++ABjx46Fo6MjFi9ejKKiIrzwwgu4efMmuFwuUlJS0NbWhj179qh0mU6DwWGoVYmHFSqfmQA98tm//PILdu7ciVmzZuGtt97C9u3bwWQy6bKXsbExjIyMkJubi4CAAMTGxmLp0qWYOHEiQkJCFDqhLC17gsvl4p133kFZWRkMDAzg6+uL7777DrNmzVLYGhUBLS0tLFu2DFFRUXjllVcQExODN998E2lpaXBxcYGbmxt4PB7NspKmZGVlZYWIiAikp6cjPj5eZXxShEIhcnJyxPodhYWF8Pf3x5gxY7B8+XKMGzdOogeKn58f4uPjUVxcrKTVayBPyKsqoW7oayxDLdhcorhx4wbeeecd8Pl83Lx5k6ap5uXlYfbs2Vi9ejVeeOEF+vlnzpxBaWnpQ8OYUCUQQnDx4kXcvHkTMTExiI+Ph1AoBIfDwXvvvYcZM2bA1NRUpia9vGdSpH1vHo+H+/fvi1nOtra2YtSoUWLzHebm5ppM4xGEtDMd3d3dyMjIAAA8+eSTiI6ORnR0NIyNjekeqrqgd1BRu2ACAA0NDXjvvfewceNGuLu7049Ttr4bNmzA1KlT4evrS7O6tLS0BkUrltSP0aBvTJgwAW5ubhgzZgyioqIQGxuLlStXYtGiRVi3bp3cpDmGwyeFEIKWlhaxfkdCQgL09fURGRlJU3RHjRqltl73Gsgfe/bsoYcWQ0JCsHv3bowePRoAMHHiRLDZbBw/fhwAUFRUBDc3tweOMWHCBFy7dm0YV90/+iI6CYVCXL16Fbm5uXj77bfF/k0tg4koBAIBtLS06C/2lStX8MEHH8DV1RVz5szBzJkz+y2rUCeNoh1zuVyVVrZVByQnJ2P27NkwMzPD0aNH4eLiIpfjytsnhRCCiooKsfkOqkQXFRVFS7D7+flpREVVBNJMmx86dAgnT55EWloaACAsLAybN2+W24zUo4g///wTM2bMANBTvndycqL/TeUb8AOByWTSPuZCoRCTJ09GfHw8Vq9ejQkTJvQZSKjmPZPJRFdXF7S1tdHc3AxbW1ukpqYO50d46BAcHIw7d+7Ax8cHUVFROH/+PORxz0LNpHh7eyM1NRXZ2dlSESuEQiEyMjJw5MgRvPHGGwgICICvry927twJBoNB++cUFBTg+++/xzvvvIPAwEBNIFERUNPmGzZswL179xAcHIxp06ahpqZG4vOvXbuG2bNn459//sGtW7fg7OyMxx9/HOXl5cO8ctVDf9/HsrIyvP766/Dz80NeXh6Af/dLykrC3d0dN2/eFHud2mcmvTHYSfeTJ09i9+7dOHLkCC0oOW7cOBgaGuLSpUuKXuYjAUIITp48iSVLlmDu3LnYtGnTkORFJIHL5dJBX5JPCiEE3d3duH//vpgYYnt7O8LDw+l+R1RUFMzMzDQlKzWArBp4AoEA5ubm2LNnD+bOnavo5aoFysrKYGdnB21tbboNkJiYiFdffRVZWVlYtWoVli1bRrPTVqxYgVu3bsHb2xva2to4fPgwfSy1z0x6Y7B3kbNmzcKECRMwduxYfP/99/jvf/+LwsJCnDx5UsErHBjffPMN2Gw29PX1MXr0aNqHYiCcPn0aDAZDzGFNmWAwGJg3bx5u376N69evY8qUKcjPz5fLsY2MjBAeHg4LCwts3rwZu3fvRkNDAy5duoQNGzZg+vTpcHBwwEsvvYTbt29j3Lhx+O2339DY2Ihr165hy5YteOqppzSNczUBNW0+ZcoU+jFpp83b29vB4/HUytBMWhBCxEYm+kJubi68vb0xZcoUuldDvc7R0RERERFwcnJCZ2cnduzYAaCnV83n8xEVFQVHR0ckJSU98OaPNK5du0YsLS2JlpYWuXLlCiGEEB6PR4RCoVLWc/r0aaKrq0uOHj1K0tPTycKFC4mZmRmprq7u93WFhYXE0dGRjBs3jjzzzDPDs1gp0N7eTt566y3CYrHIiRMnSFtbG+FyuUP+aWtrI9nZ2eTYsWNk8uTJhMlkEgCEzWaTOXPmkH379pG0tDQiEAiU/dE1kAPKy8sJABIXFyf2+MqVK0l4ePigjvH2228Td3d30tHRoYglqhwqKyvJ/fv3SVNTE/0Y9X343//+R0JDQ8maNWtIVFSU2Os6OzvJp59+SthsNomPjycmJiakpKSEEEIIh8MhV69eJQcOHCCOjo6kvr6eft1Dl5kMFlQUHj9+PHg8HthsNt58800kJCRAW1tbaXerO3fuxMKFCzF//nz4+flh//79MDQ0xNGjR/t8jUAgQHR0ND799FMxdpsqwcDAAPv27cPBgwexdOlSLF26FB0dHYN+vUAgQHp6Og4dOoQFCxbA398fHA4HX331FXx8fPD1119j/PjxYDAYWLx4MRYtWgR/f3+VEX/UQLnYunUrTp8+TatjPIwQCoX466+/8Pzzz8PW1hZRUVH46KOPsHr1apqEQO1rQqEQnZ2d2Lx5Mzo6OmjvEwDQ09ODv78/amtrERQUhOeeew5r165FcXExhEIhLCwsEBoaCiaTKSZk+0h+0wghdDls6tSpiIiIQHZ2Nl5++WVMnjxZaVLwQ03lN27cCBsbG7z++uvDscwhg8Fg4D//+Q8SEhKQnJyMiRMnStQwIoSgs7MTcXFx2LFjB1544QW4uLhg4sSJOHfuHDw8PLB//340NDTg3r17+Oabb/D222/jn3/+oYdBNXi4IMu0+Y4dO7B161ZcvnwZQUFBilymUvHXX39hzZo1sLGxwYkTJxAfH49NmzZhzJgx9DmigklKSgpGjRoFPp+PDRs24KuvvkJCQgJ9LDc3N5iYmODq1avYuXMnqqqq8Nprr9FOndbW1nB2dkZMTMy/C1B4rqXC+PDDD4mhoSGpqqqiH/v999/J22+/PeBr8/PzSXFxMf27PMopQ0nlr1+/ThwdHUltbS0hhJB58+apZJmrNzo7O8myZcuIsbExOXDgACkrKyO//PILWb58OYmKiiJ6enrEysqKzJw5k2zbto3cvHmTdHZ2KnvZGigR4eHhZPHixfTvAoGAODo6ki1btvT5mm3bthFTU1Ny69at4Vii0lBRUUGMjY3JggULSF1dXZ/Po8r3Tz/9NFm5ciX9+LJly0h0dDQpKCgghBBSUlJCJk2aRN544w1CCCE//fQTYTAYxN/fnxBCSENDA3nrrbfIlClT6GOohZyKouDv74+zZ8+KqX4+/fTTNI+6L2ZYfX09Dh8+jNu3b2PatGlYtWqVUsopra2tePXVV3Ho0CFYWVkN+/vLAj09PezcuROTJk2iJXI8PT0RFRWFefPm4fDhw/Dx8dGUqTSgsXz5csybNw8jR46kp817a+CJTptv27YN69evx6lTp8Bms1FVVQUAMDY2hrGxsdI+hzQYyHaDwpEjR8BgMPDpp5/C0tISAoEADAYD//zzD65du4aWlhbMnz+ftt82NzeHiYkJAODSpUtITU1FbGwsHB0dsW3bNpibmyMkJASXL18GADz11FM4f/48Pdtlbm4OZ2dnnDx5Et3d3T0jGHIPkY8I4uLiyJYtWwiDwSAvvPCCXBr2XV1dhMlkknPnzok9PnfuXDJz5swHnn///n0CgDCZTPqHwWAQBoNBmEwmycvLk3lNw4GYmBhy//59pZEeNBDHnj17iKurK9HT0yPh4eHk9u3bfT73zJkzJCwsjLBYLGJoaEiCg4PJyZMnFba2r7/+mri4uBBdXV0SHh5O4uPj6X+bMGECmTdvHv27q6srAfDAz4YNGxS2PlkgFAoJj8eT6jV8Pp8QQsgbb7xB/P39xaolJ0+eJKampmTEiBHEycmJHD9+nBDSk8VEREQQBoNBtLW1iZOTE3nppZfIhg0biK6uLklLSyOEEPLdd98Rc3NzwuVyJb53VlYWiYuLo7+3mmAiJUQ3vLNnzxImk0kOHz4st+NLk8p3dHSQ1NRUsZ9nnnmGPPbYYyQ1NZV0dXXJbV0aPBqQlk34zz//kLNnz5KMjAySl5dHdu3aRZhMJvnrr7+GeeXqB6FQOGB5/PTp02T58uUDMtA2btxI7OzsSE5ODv0Y9f1vamoikZGRZN26dYQQQlpbW4mJiQnZt28fyc3NJe3t7fRrpk+fTiZNmkRKSkrInTt3iJaWFrl27Rq93v6gCSZDREZGBnF1dSVz586V63FPnz5N9PT0yPHjx0lGRgZ58803iZmZGd3XefXVV8nq1av7fL269Ew0UE2Eh4eTd999l/5dIBAQBweHfvsSvREaGkrWrl2riOU91GhsbCSrVq0i7777Lp1xfPzxx8THx4cQ8m8WIgm///47YTAY5I8//hDb9Kn/nzVrFnn11VdJU1MTKSoqIvb29iQhIYF+DhXUrl27RiIjI8lff/1FBAIBKS8vFztOb4g+/kj3TIaKxsZGrF69Gnp6ejhy5AiAvmWZpYW0cvYaaCAvyGpDSwjB1atXkZ2drTRGpDqhsrISe/bsQUBAAGbPno3GxkacPHkSQqEQjz/+OGbOnAlzc3PaeqG/gexp06bB1tYWBw4cwKRJk2hFCGpP4vF4yMjIQHt7Oy5fvvzAHkL9PmHCBMTFxdGPOzg4iB2nN0Qf1wSTfiApQPB4PHzzzTe4ePEiPZMyGDViabB48eI+/RAGUhal1Ek10EBaDNWGtrm5GY6Ojujq6gKTycTevXsxdepURS9XpUD+f/Kc0gqkHuvvBtPAwABFRUWIjY3F7Nmz4ejoCB6Ph5dffhnff/89nnzySTQ0NMDNzQ2tra10w7w3BAIBdHV18fHHH+Pjjz/Gs88+i0WLFiE0NBTl5eX43//+h8bGRixevBj29vZwdnbGu+++C19fXwCSA8VgZalEoQkm/YA6ycnJyXB2doaFhQWuXLmCTZs24csvv0RwcLBUgURe2YsGGqgSTExMkJSUhLa2Nly5cgXLly+Hu7s7Jk6cqOylKQyiQrFAz15Bsa5aWlrAYDD63PwpmJmZYfXq1YiMjMQ///yDSZMmwdbWFhMnTsSOHTsQHx+Pzs5OMJnMfjd2av9ZvHgx2Gw2vvzyS3z66aeora1FW1sbIiMj8dZbb+Hpp58GAEyfPh3Tp0/vd21DETfVBJMBIBAIcPr0afzwww/49NNPsW3bNjzzzDN49913AaDPQNI7yIhS/DRBRQNVxFAHA7W0tGhjp5CQEGRmZmLLli0PdTDpvdlWV1fjv//9L3755RcYGBggPDwc77//fr9y94QQBAYG4rHHHsORI0fA5/MRFhYGNzc3TJs2DSdOnIBAIEBDQwMMDQ37zBZE95IZM2ZgxowZSEpKgrm5OVxdXSW+d2/rDnlAU3wfAEwmE1u2bMHjjz+O+fPnIzc3FwcPHgTQt4wz9Yfq6urC2bNnMX/+fCxYsADfffcdANCS+RpooEoQtaGlQNnQRkZGDvo4QqEQXV1diljisEAoFILP5/f5He3s7MSvv/6KMWPGYPv27eDz+di1axdycnLwzTff4MKFCxAKhdiwYQPda5JklUA9tmjRIjQ0NOCHH34Ak8mEvr4+oqOjUVNTgxs3btBZkKQbV6q8xufzxR4LCQmhA4lAIHhA/FG0HCc3SEE2eCQhyqC4dOkSMTU1JdOmTaNZDhQksR2eeeYZEhgYSCIjI8maNWsIi8Uiy5cvV/iaNdBgqJCWTbh582Zy+fJlkp+fTzIyMsiOHTuItrY2OXTokLI+gkLB4XDIyy+/TBYuXEhWr15N0tLSyO3bt8mECRPE5nF++eUXYmlpSRYtWkQI6Z+J1dzcTNavX0/s7e2Jr68vaWxsJEKhkOzbt48wGAwyc+ZMev5EIBAQPp/f7/EIGZjGqwhogskgIBAI6D9OVVUVmT59Ojl79uwDA0aif8DFixcTc3Nz8scff9B/+B9//JGMGjVKTGlTg0cT0gwGiuKHH34gABRK/5ZmMPDjjz8mnp6eRF9fn5ibm5PIyEhy+vRpha1NHqA25L7+LSYmhrz66qtk5MiRZMOGDSQzM5P+93feeYcwGAyyefNm+rGffvqJ2NrakrfffpsEBQURExMT4ujoSGbOnEl++eWXQa0pNzeXmJiYEAaDQSv0NjU1kbfeeov88ccffc6j5OXlkYMHD5LHHnuMfPjhh4M9BQqBJphIAdHg0dLSQgghJDExkaxevZpwuVw6mJw5c4YwmUzy448/il0EmZmZhMFgkKSkpOFdOJFu8zp27NgDU8N6enrDuNqHGw+rzYA6orCwkOTk5NDf3djYWBIUFESio6PJtm3bSFhYGPH39ydZWVmEEEKOHz9ODAwMSHp6On2MnJwcOoOgrA+kkbmnAtuKFSvIW2+91e91UFFRQdasWUMmT55MrKysiLm5OYmIiCDvvvsu+eeff4ZwBuQHTTCREr3vEGbMmEECAgLoANHV1UUcHR3J22+/Tbq7u8Weu2nTJhIQEEAaGhqGbb2ESL95HTt2jJiampLKykr6R1QMUwPZMJTBQD6fT6Kiosjhw4c1g6m9MGXKFPLll18O+vllZWXktddeI2ZmZsTKyoosWbKENDQ0kM7OTvLKK6+QMWPG0Bs8JT1CDSdnZWURBoNB7ty5Qx+vs7OTmJiYkL1794q9T2NjI/n9999JWVmZxHUIhULC5/P7nYLvLbESExNDRo8eTT777DNy7do10tjYOOjPrWhogomM4HK5JDY2lv797NmzJCAgQOxiI4SQu3fvkhkzZpD58+eLyRdIgrzrndJuXseOHSMsFkuua9CgB9Lqr1FYv349efbZZwkhGpWD9957jzz33HN0deDcuXOksLBwUK/t6OggixYtImPHjiX/+9//SFlZGbl9+zbhcrmku7ub2NnZkWPHjom9ZsuWLWTUqFGkoqKCEEKItbU1HTioQLBixQri4eFBPvzwQ5Kbm0tiYmLIkiVLyPz580lGRgYhhNC9jv76HTweT20N3TRsLhkgEAhgaGiIcePG0Y91dnaioqICzs7O9GPl5eX49ttvUVRUhAULFsDAwECMKUL9f2dnJ4AettdgrDcHg6F6pLS1tcHV1RXOzs545plnkJ6eLpf1POrobzCQUrXtjRs3buDIkSM4dOjQcCxRZUExlpydnXH37l00NzcDAJ599lmw2exBHaOwsBAHDhzAunXrMHnyZDg6OiI8PByGhobQ0dGBlpYWmpqaQAih2VbOzs7g8/nIzc0FAISFheH69esA/qXlrl+/Hu+99x4SExMxbtw4zJw5E2VlZXjppZfg4eEBAPS8CEXvzc3Nxb59+7BhwwZ6fdra2mqrcKGeq1YRSOJ8Ozk5wcnJCVwul35s27ZtuH79OubPn4+xY8cCwANTsnw+H7t378bSpUvB5/PBZDIl0gmlxVA2Lx8fHxw9ehS//fYbvvvuOwiFQkRFRWlMp5QAdbYZkBUURZf6HlCb7IwZM1BeXo7S0lIAPRJDbDYbKSkpAx7z6tWr8Pb2pqe/SU91hg5UkZGR+Pvvv9HR0UG/X2dnJ9rb22mq7eTJk/H333+Dy+XS32NTU1O89957+Pbbb5GYmIimpiacPXsWTzzxRI88O4A7d+5g48aNmDBhAqysrBAZGYnjx4/D0NBQKtdRlYUy06KHEXw+nzz33HPEzs6OLFiwgLDZbOLr6ytWUpJUxrpw4QKJiooiDAaDWFlZiZXOZCl7ycM7u7u7m3h4eGjE++SAR9VmQN6lWwMDA3LgwAEiEAhIZ2cn0dfXf6A8JQqqdHTw4EESFRVFLl26JPY4hV9//ZW4uLiQ1atXk66uLlJZWUmeeOIJ8tRTT9HPuXPnDhk5ciRtSEeh92fk8/l0v+OXX34hgYGBZNKkSWTz5s0kNjZWzJv9YYAmM5EjyP/bAZ89exbr168Hi8XCSy+9hIsXL2LFihUAeu62eg8LpaSk4Pjx42AwGLSI5MSJE+n0V5bhIlnsTino6OggNDQUeXl5Q16HBj2QdjDQ19cXqampSEpKon9mzpyJSZMmISkpSaycqkog/z9MR2UVkq5hoVAIgUDQ53Dg7du3sWTJEkyePBlffvklKisr6X8LDg5GXFwcurq6oKenhzFjxvSrW0e9f3h4OLS0tGjTJwolJSVobGzEU089hQ8//BA//PADxowZA19fX9TV1WHnzp30c0eNGoWEhIQHMsXen5HJZNKqF08++SQSEhJw9epVrFmzBuPGjQOLxepzvWoJJQezhw59Ndd637VQv9fW1pJVq1YRd3d3kpqaSv97TEwMsbe3J5MmTZK5KTcUu1NR8Pl84uPjQ95///0hr0GDf/Go2Qy0tbWR3377jZw4caLP70dNTQ0pKyujr/MrV66Q4OBgMnPmTLJ+/Xri5uZGnnjiCZqSu2bNGuLn50cqKysJIT1+Hj4+PgNScnk8Hvn6668Jk8kkn3zyCUlKSiJnz54l0dHRtCQ7IYQkJCSQEydOkPv370s8jkAgUNtGuaKgCSZKABVIBAIB2b9/P/H29iYMBoPs2bNH7HnNzc1SUR77grSb16effkouXbpE8vPzSWJiInn55ZeJvr6+GLdeA9kgzWBgb6h6MGlubiY//vgjefHFF4mdnR1hMpnExsaGfPrpp6StrY1+XnFxMXnrrbeIjY0NsbKyImvXriXV1dVEKBSSZ599lkyYMIF+blxcHBk3bhyZP38+IaRnHkRXV5fcu3eP/l1HR4fk5+cPao3bt28nEyZMIGZmZsTJyYksWbKkTwovIcqZKFc3aIKJEvHXX3+RcePGkejoaPL3338TV1dX8sQTT0i8u9q6dSvZuXPnkN9Lms1r2bJl9HNtbW3Jk08+SX9p1QGaAU35YjCOgNTzCOmZimcwGOTZZ58lf/31F509iKKjo4O88847JCoqily8eJFkZmbSFN2ioiISEBAgJsnC5/PJf//7X+Ll5UU/xmQyyalTpwghPQHMwMCAnD17dtCfq7KykqYXS4Ko8oUGA0MTTJSE9PR0MmfOHDJq1Cha56uoqIhMnz6dODs70yUv6mI+ePAgGTlyZL8XvwaaAU15QSgUSr2RUiWss2fPkoiICNq6V9Jx4uLiCIPBIFeuXJH43lZWVuTo0aNiA3unTp0ibDabZGdnE0II8fX1JUuXLiWdnZ2EEEJGjRolNk9FQZKeleiaBAIB4fF4msAhIzQNeCWgvb0dhw8fxqVLl7Bjxw44ODiAx+PB1dUV58+fx4YNG2jaI9XUKywshLGxMe2RQP6f0ghIViR9VLFz504sXLgQ8+fPh5+fH/bv3w9DQ0McPXq0z9cwGAzY2dnRP71p1A87RK8lCgwGAwwGA21tbTh//jw++eQTfPXVVyguLqZf0xsUlTYkJAQ8Hg+FhYX0sTIyMrB7927ExMQA6CGd2NvbY8KECWLr4PF4YDAYcHd3R3x8PLq7u+l/r6qqgq2tLX29T5o0Cf/88w89bxIWFobc3Fy68S+qtis631FbWyum3K2lpQVtbW2NLYSM0AQTJcDQ0BCTJk1CXV0dLl26BKCHMUX+nw32+uuv44knngDw76CWvr6+WNBgMBgoKioC0LenyqMGzYDm4NH7Wuq9kXK5XLz//vtwc3PDsmXLkJSUhJycHCQnJ9Ov6Q3qMTc3N1haWuLQoUOIiIiApaUlJk6ciJMnT9LS9N3d3XB0dMT9+/fp9TAYDOjo6AAAZs+ejVu3buHrr78GADQ0NODcuXNwc3OjZ0SmT58uNo/11Vdf4dKlS2AymXQAIYTg5s2bWLduHcaMGQNzc3OsXr0a3d3dmuAhbygtJ9KAZGZmEjc3NxIaGipRDkK0Tv3OO++Q+fPnk6KiIrJv3z4ydepUoqWlRdauXTugHPWjgqHM1MTFxdGsnWvXrpEZM2YQU1NTUlpaOhxLVjrS0tLInj17yMcff0x+//13Qsi/jCcOh0OuX79OhEIh6ezsJNXV1Q8oZfcGdc1+8MEHxN7enqxcuZLcu3fvAT06SmNq69atYq8rLy8njY2NpKOjg2zcuJE4OjqSqKgoYm1tTaKiomhpkr5AlarOnTtHRowYQYyMjIijoyN54oknyPbt28nNmzcJl8uV/kRpMCA0wURJEA0Ar7zyCjEwMCAnTpyQ+NyYmBgSHR1NTE1NiZmZGfH09CQrV64kFy5cIDU1NcO1ZJWHZkDzXwxU/7906RIJDg4mlpaWZMyYMWT+/Plk6dKl9OtGjBhBPvzwwwGDR29QQeHYsWNk9OjRdE+EamZT131bWxtZv349MTExIV9++SUpKSkh58+fJ0uWLBHTtYuNjSW7du0isbGxEj9T794O9f4xMTHk5MmTJDU1le6paKBYaGx7lQQmk0lb+X7//ff45ptvkJmZSf97aWkpDhw4gOvXr6O4uBglJSUIDAzE559/jpCQENjY2Chx9aqJR3FAk/RhAc1gMNDa2orGxka4uLiI/Vt5eTlWrFiBmTNn4oMPPoC5uTmam5vpAUIGgwEzMzNcv34dycnJsLKyQl5eHmxsbODt7Q09Pb0+10OtJSwsDN3d3UhLS8Njjz1Gl2KpvoWRkRE+/fRT8Hg8nDx5Ep9++il0dXXx3HPPwdHRkT7euHHjxLTven/e3p+dep/x48cP6vxpIEcoOZg98uhNuUxMTCTu7u7Ezc2NeHl5kU2bNpHi4mIyadIksmLFCrHnatgnD0IzoNmDhIQEYmhoSPz9/emSHXWtnTp1ioSEhIjRwylQmUN8fDx59tlnaXmfMWPGkICAABIQEEB++OEHseNJAo/HI4899hg9v1RYWEiOHj1K/vOf/5Ann3xSLKPOy8vr18NDMyCoHtBkJkpG7+b5iBEjsHjxYkyZMgVeXl7Q19cHAOjp6dF3hAKBQDEezg8Bli9fjnnz5mHkyJEIDw/Hrl27wOVyMX/+fADA3Llz4ejoiC1btgAANm7ciIiICHh6eqKpqQmff/45iouL8cYbbyjzY9DoLXIoivr6evz000/g8/mYO3cuWCwWfW3ExsbitddeQ1paGnbv3o1NmzbR14+uri46Ozvx999/w9fXF5mZmejs7ISvry+dwY0ePRrHjh1Da2sr6uvrUVNTg5aWFpw5cwbz58/Hiy++SEuF9AYhBNra2rC1tcWXX36Jb775Bu3t7XBzc8O4ceOwYMECWFpa0s+nVHXJ/yv1amlpiV3bGoKJmkDZ0UyDfyFJcoWqM/v6+pJt27ZJfJ4G4nhYBzSpu3Pqv1u2bCEMBoOEh4fTa6YM2VavXk1ee+01kpGRQaZPn06+/vpr+jjNzc1k9+7dxMLCgjCZTOLv70/GjRtHHB0dyaxZsx4wdRNFZmYm0dHRoc+ppGuRym4uXrxIvvjiC3Lz5k05fHoNVB2aYKLioDaOyMhIsmvXLqlfrwk8qo2Byjfx8fEkNDSUREVF0ZtyV1cXIaRHEkRPT49MnjyZnDlzhn5NV1cX+eijj8iSJUsIIYScOHGCWFpaktbWVrFjl5SUkLy8PBITE0POnz9P9u/fT4yMjMjnn3/eZ0BZs2YNsbe3l6gqQA3/9cUupFR0NSWrhxOaMpeKQ0tLC1wuF6WlpTA2NgbQd9O19+OUoioAunyggWqB+psUFxcjJycHPj4+cHFxof+WPB4PRUVFYDAY2L59O3799Vfo6uqipaUFZWVlWLhwIW7cuEHPHAE9ZazLly9jyZIlAHpKe2fOnMFnn32G1atXw8zMDDwej1YcpspMAHD+/HnEx8fjgw8+wKVLl3Dx4kU89thjKC0txfXr15GZmYnPPvsM4eHhdMOeKrlqaWnRn4cqt/H5fPpxSf4/Gjw80OwuagAjIyOcPn2arjMP1Cs5ffo03n33XTz//PM4efIkgJ5NSzMpr1pob2/Hhg0b4ODggICAAKxatQpPP/00lixZQk9nBwQEICAgAC+88AKSkpLw/fffA+gxY7p48SJeeeUVWFpaIicnB21tbfSx29ra4OLigvr6enz33XfIzMzE559/jgsXLgAAPRwoipSUFKSnp8Pc3BxAj4FacXExNmzYgGPHjsHGxgb79u3Da6+9BuBfiXXKOuHcuXN48803ERgYCB0dHdTW1qq1c6AG0kGTmag4qDu8MWPG0I/1lZkwGAyUlJTgk08+QWBgIIKDg/HBBx/g77//xrfffqv5UisQpI/mMYXMzExUVlbiscceo+VLvvzyS/z666/46quvMG3aNNTX1+O3337D8uXL0dLSggMHDsDMzIy+iVi0aBH2798Pb29vjBo1CoQQmJiYYOzYsbhx4wbKy8vh4+OD1NRUdHV14bHHHoOuri7YbDaeeeYZ1NbWYuvWrQgNDQWbzcaOHTvg7OwMY2NjJCYmIiYmBqGhofjss88A9MiiHDlyBBYWFhI/c1NTE1auXInz58+jvb0d9vb2CA8Px4oVKzBy5MhHzhnykYey6msaDB5CoZAkJibSv/c38Z6VlUXYbDb55ZdfCCE9DdPIyEhy4MABsf6JZmpecWhtbRXrT3R3d5Onn36aTJgwgf4bZGVlESaTSfbv308IEe9tbdy4kejp6dEKuOvWrSOTJk0iKSkp5LXXXiMLFy4kZ8+eJc8++ywpKioiZ86cIYGBgbSw4rVr14itrS356aefSFlZGd3/qKmpIdOmTSNTpkwhXV1d5NNPPyWTJ08mHA6HPPHEE+TgwYN9UnSpfoiokm5jYyPZs2cPOX36NCktLdX05x5xaIKJGiApKYm4ubmJKaL2FwwWLlxIJk+eTNLS0gghPVPESUlJhBDSr2eDBkNDSUkJ2bNnD3nyySeJg4MD8fDwIHPmzBEzO/vkk0/IxIkTacXblStXEisrK9p/Q1TmPSMjg3A4HDJr1ixCCCG///47CQoKIpcuXSJZWVlk9uzZJDw8nISGhhJCCMnNzSU+Pj5k7969hJCev7eJiYnEtV6+fJkEBgaSoqIiwuVyxfxFNNBAFmjqHmqA4OBg/PTTT4iNjcXIkSNRWlpKNzMpIchLly7h/PnzAIClS5fCysoKv/76K4CeKeLg4GCkp6dj2rRp2Lp1q1I+h7qA/H/JajA9ptzcXAQEBGDjxo0ICgrC4cOHcfjwYcTHx+OTTz6h1Z99fHzQ0dFBCyV2dXWBxWLRf0eqgQ0ADg4OCA0NRUJCAoCecpOuri7u3r0LHx8fvPnmm0hISKDJFZ6enrC2tkZeXh4IIfj9999hb2+P2traB9Y7depUpKSkwNXVFYaGhjAyMgIhBHw+n1bZ1UCDoUATTNQEI0eOxM2bNxEUFISgoCD88MMPAABtbW20t7fjzJkz+PXXX9Hd3Q1/f39MmzYNmzdvRkpKCgCgsrIS+/btQ11dHebMmfPA8TUbyb/ozUzqDzY2NvD09MTbb7+NLVu2YNq0aZg4cSKWLVuGtLQ08Hg8AACHw4G+vj4yMjIA9Cjr1tfX0/LpojA2NgaLxUJ7ezsIIXB2doaNjQ3y8vLQ2tqKiRMn4sqVKzh//jwd8KysrHD37l3weDxwOBx8+umnfXqMU8FS9PNqa2tr2FYayARNMFEjmJiY4OjRo9i5cyfeeOMNLF26FECPpP2yZctw/fp1PPXUU0hKSkJzczNcXFzQ2dmJ7u5u/Prrrzh58iT27t0LJycnmi1E6VhpNpJ/kZ6ejoULF8Lf3x+LFi3qV77exMQE4eHh+PvvvwH0sOYIIUhLS0NERATc3d0B9NBvbWxskJ2dDQCIjIxEc3MzEhIS6OySApPJxL179xAWFoaWlhYAPayusrIyOtOZNGkSLC0t6b/j9u3b8eOPP0JXVxcLFizAyy+/DF1dXYlrFs2CNNBAXtBcUWqI+fPnIz4+HlZWVvTm4ufnh7S0NJiYmGDOnDn4/vvvMWLECISHhyMhIQHbtm3D/Pnz8fzzzwP41w/l8ccfx+rVq5X5cRQK6i6cSDBzkoSamhqsW7cOxcXFWLp0KcrLy/Hyyy/j8uXLAB40ItPS0sK4ceOQkJCAFStWICwsDAYGBjh58iQ6Oztx48YNCAQCGBsbg81mo7KyEuXl5Rg9ejRCQ0Oxfft2sRkRAPjxxx9x7949vPjii3R24evri4aGhgdKV9RNgJeXl5iYpSbT1GDYoaxmjQayQ3SSWFQqPD09nTQ2NtLN1ZkzZ5IRI0aIvba5uZmsXLmS6Ovrk6Kion6P/Sjh9OnTRE9PjxQXFxNCCGloaCDR0dEkLCysz9fcv3+fmJubk/Hjx5O9e/eS27dvk/T0dDJp0iTi7u5O/vnnH0IIIQcOHCCjR48mf/75JyGkRwbez8+PODg4kJ07d5KYmBiyceNGMnLkSPLxxx8TQv79u3Z0dPQrc6KBBsqGJpg8RJAUAEpLS4mhoSH59ttv6ce6urrI999/TxgMBjl58iQhhNAe2R0dHfTzpPWyUDUIBAJy9+5dsnr1ajJnzhySnp4+4GtWrFhBJkyYIPbY5cuXia6urhg7SxR1dXXE09OTfPHFF/T7EtIT1N3c3MjSpUsJIYRcv36dTJw4kX4eIYRkZ2eTdevWkTFjxhAHBwcybtw4sn//ftLY2CjxvTT0Ww1UFZoy10MESXVwQ0NDMX8OoVCIGzdu4IMPPsCrr76KV199FR0dHdi7dy8mTZqE2bNnY86cOWhra4O2tvagy0OqBqFQiD///BPvvfcerl+/ju+//572JJcE6nPW19fDxsYGVVVV9L8FBgbCycmJnh7vXepisVgYNWoULl68COBfhl1bWxtaWlpodV1vb28IBALcvHmTfq23tzc2btyICxcuoLy8HLGxsXjrrbdgZmYmcZ0apWgNVBWaYPKQw8LCAm+++Sa++OILLF26FLNnz8ZLL70EMzMznDhxAgDw4osvYs+ePbC2tsbkyZNRX18PLy8vxMXFqe3mpaWlBRMTE8ybNw+XLl2Co6Mj7t2712cvgQoQLi4uKC8vR319Pf1vLBYLoaGhuHHjBgA8EGC1tbUxfvx4pKWl0b8nJSXh+PHjcHFxwaJFiwD0ML/ef/99iT0qqjciEAhozSsNNFArKDcx0mC4kJeXR7799lsSERFB9PT0SEFBASGEkB07dhBLS0vy888/iz1/2bJlZNasWbRCrbrjP//5D5k2bRppbm6W+O9Uaery5cvE09OTnj4npKcs+P7775PIyMg+jx8XF0cYDAYJDg4mLBaL6OnpkSlTppBLly7J94NooIGKQqPN9QhAIBDAw8MDHh4euH//PubOnQs3Nzc0NjbiwoULmDNnDqZMmQLgX3Xh6OhoaGtrP0AvJf+vK6Uu1FIejwcdHR1MmzYNH3/8Merr62Fqatrn8yMiImBnZ4c///wTzz33HADQA4MRERG0VlpvuLq6YsWKFWCxWHjiiScQFhbW53toFJw1eBjBIESTTz+q6OzsRGhoKKKjo7F27do+n5OQkAAulwtbW1uEhoYCQJ+bqqqitLQUrq6uuHr1KiZOnNjvc48cOYKVK1di7dq1NA379ddfx6FDh/DUU08N+j2pkpo6nScNNBgqNJnJI4Ted8RMJhO+vr7o7OyU+O9ZWVmYP38+8vLyYGVlhaamJrz00kvYvXu3Wm2Q5P+nyE1NTZGcnIwJEyaI9YLa29uRmJgIV1dXuLi44PXXX0d5eTl+/PFHbNu2DW1tbVi1ahWmTp064PuIWiqr0znSQANZoclMHnEcPHgQq1atwu7duzF16lRYW1tDW1sbJSUlmDt3LiorK3Hu3Dno6+ujvr4ec+fOxfjx4/H111/3OWGtaqA2+KlTp8LCwgInT56Enp4e+Hw+tLW1ceXKFSxcuBBvvPEGPvroI/p1ubm5qK+vx8iRI/v0O9dAAw16oPmGPOJ48803YWJigpUrV+KHH37Ajh074O/vTzvu5eTkwMXFBQDg7u6Ob7/9FpcuXUJrayvts6HqoLKtxx57DPv378fu3btRXFyMyMhIREdHw8PDA3PnzkVUVJTY67y8vODl5QWgJ2tjMBhqy27TQANFQ5OZPMIQLWvV1tbi/v37ePzxx0EIwdixYzF69Gjs3LkT3d3ddBYiEAhQWloKNputxJVLh3v37uGjjz5CQkICGhsbYWdnh6ioKKxYsQKRkZH9vpb0YUSmgQYaiEOTmTzCEPXrtra2xuOPPw6gZzCO6pEAoAOJUCgEk8lUq0AC9Mi9Ozs7480338Tjjz8OY2PjB55D/l/Dq3efQxNINNBgcPg/Pgf9U4vO2akAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import logging\n", "import matplotlib.pyplot as plt\n", "logging.basicConfig(level=logging.INFO)\n", "\n", "# Enforce 1,4-BDO production at maximal growth\n", "module_optknock = sd.SDModule(ecc_14bdo,sd.OPTKNOCK,\n", " inner_objective='BIOMASS_Ecoli_core_w_GAM - 0.01 EX_14bdo_e',\n", " outer_objective='EX_14bdo_e',\n", " constraints=['BIOMASS_Ecoli_core_w_GAM>=0.5'])\n", "# Suppress Ethanol and Succinate production at maximal growth\n", "module_mcs_suppress_etoh_succ = sd.SDModule(ecc_14bdo,sd.SUPPRESS,\n", " inner_objective='BIOMASS_Ecoli_core_w_GAM',\n", " constraints=['EX_etoh_e + EX_succ_e >= 0.1'])\n", "\n", "## Compute strain designs\n", "# allow all gene knockouts except for spontanuos \n", "gko_cost = {g.name:1 for g in ecc_14bdo.genes} \n", "gko_cost.pop('s0001')\n", "# possible knockout of O2\n", "ko_cost = {'EX_o2_e': 1}\n", "# addition candidates\n", "ki_cost = {'AKGDC':1, 'SSCOARx':1} # AKGDC was added in example 1.c)\n", "\n", "sols = sd.compute_strain_designs(ecc_14bdo,\n", " sd_modules = [module_optknock,module_mcs_suppress_etoh_succ],\n", " max_solutions = 1,\n", " max_cost = 15,\n", " gko_cost = gko_cost,\n", " ko_cost = ko_cost,\n", " ki_cost = ki_cost,\n", " solution_approach = sd.BEST)\n", "# Print solution\n", "print(f\"One compressed solution with cost {sols.sd_cost[0]} found and \"+\\\n", " f\"expanded to {len(sols.gene_sd)} solutions in the uncompressed netork.\")\n", "print(f\"Example intervention set: {['+'+s if v>0 else '-'+s for s,v in sols.gene_sd[0].items() if v!=0]}\")\n", "\n", "\n", "%matplotlib inline\n", "# Aerobic design plot\n", "interventions = [[{s:1.0},'=',0.0] for s,v in sols.reaction_sd[0].items() if v < 1]\n", "_,_,plot1 = sd.plot_flux_space(ecc_14bdo,('BIOMASS_Ecoli_core_w_GAM','EX_etoh_e + EX_succ_e','EX_14bdo_e'),\n", " constraints=interventions,points=50,show=False);\n", "plot1._axes.view_init(20, 60)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The plot shows the flux space of the designed strain. While at lower growth rates ethanol and succinate production is still possible, there is a growth-based selection against ethanol and succinate producers and in favor of 1,4-BDO producing phenotypes. The \"waves\" on top of the shape are artifacts of the plotting grid and would disappear with infinte resolution." ] } ], "metadata": { "kernelspec": { "display_name": "cnapy-1.2.4", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.18" }, "orig_nbformat": 4 }, "nbformat": 4, "nbformat_minor": 2 }