Created
September 27, 2024 12:08
-
-
Save ericardomuten/521457afeaf92f5dccc6ec9d24d8d17d to your computer and use it in GitHub Desktop.
QRR Updates
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"nbformat": 4, | |
"nbformat_minor": 0, | |
"metadata": { | |
"colab": { | |
"provenance": [] | |
}, | |
"kernelspec": { | |
"name": "python3", | |
"display_name": "Python 3" | |
}, | |
"language_info": { | |
"name": "python" | |
} | |
}, | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"source": [ | |
"from IPython.display import clear_output\n", | |
"\n", | |
"!pip install gurobipy\n", | |
"\n", | |
"clear_output()" | |
], | |
"metadata": { | |
"id": "-SR0RKlqDwxL" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"import networkx as nx\n", | |
"import numpy as np\n", | |
"from matplotlib import pyplot as plt" | |
], | |
"metadata": { | |
"id": "M8gIzW20DeCq" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"metadata": { | |
"id": "T-q6Y_dc3Z5L", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 516 | |
}, | |
"outputId": "c93e829c-6f7f-4bd2-ca7d-c3f379ecb7f2" | |
}, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
], | |
"image/png": "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\n" | |
}, | |
"metadata": {} | |
} | |
], | |
"source": [ | |
"N = 50\n", | |
"num_nodes_gen_graph = N\n", | |
"num_seed = 47\n", | |
"\n", | |
"random_graph = nx.fast_gnp_random_graph(n=num_nodes_gen_graph, p=1.2*np.log(num_nodes_gen_graph)/num_nodes_gen_graph, seed=num_seed)\n", | |
"#random_graph = nx.fast_gnp_random_graph(n=num_nodes_gen_graph, p=1.2*np.log(num_nodes_gen_graph)/num_nodes_gen_graph)\n", | |
"\n", | |
"W = nx.adjacency_matrix(random_graph)\n", | |
"\n", | |
"nx.draw(random_graph, with_labels=True)\n", | |
"plt.show()" | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"# Gurobi" | |
], | |
"metadata": { | |
"id": "ch7FVPncIzku" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"import gurobipy as gp\n", | |
"from gurobipy import GRB\n", | |
"\n", | |
"def gurobi_opt(N, W, problem_type):\n", | |
" \"\"\"Finding solution bitstring with Gurobi Python API.\n", | |
"\n", | |
" Parameters\n", | |
" ----------\n", | |
" N : int\n", | |
" The number of graph vertices.\n", | |
" W : 2D numpy array or 2D scipy sparse matrix.\n", | |
" The adjacency matrix, containing the weight of the graph edges.\n", | |
" W[i,j] = weight between vertex i and j.\n", | |
" W[i,i] = weight of the vertex i (useful for problems like MIS)\n", | |
" problem_type : str\n", | |
" The name of the problem to solve. Choose from options below:\n", | |
" - \"maxcut\"\n", | |
" - \"mis\"\n", | |
"\n", | |
" Returns\n", | |
" -------\n", | |
" solution_bitstring : 1D numpy array\n", | |
" A 1D numpy array as the solution output of Gurobi.\n", | |
" min_obj_val : float\n", | |
" A value of the objective function using the solution output of Gurobi.\n", | |
" \"\"\"\n", | |
"\n", | |
" m = gp.Model(\"matrix1\")\n", | |
" m.setParam('OutputFlag', False)\n", | |
"\n", | |
" # MIPFocus: 2 is to force the model to focus more attention on proving optimality\n", | |
" # Read further here https://www.gurobi.com/documentation/current/refman/mipfocus.html\n", | |
" m.setParam('MIPFocus', 2)\n", | |
"\n", | |
" # generate binary variables in the amount of N (number of vertices)\n", | |
" x = m.addMVar(shape=N, vtype=GRB.BINARY, name=\"x\")\n", | |
"\n", | |
" # selecting the correct objective function\n", | |
" if problem_type == \"maxcut\":\n", | |
" # MaxCut objective function\n", | |
" m.setObjective(0.5*(2*x-1) @ W @ (2*x-1), GRB.MINIMIZE)\n", | |
" if problem_type == \"knapsack_slackvar\":\n", | |
" # Knapsack problem with slack variable\n", | |
" m.setObjective(x @ W @ x, GRB.MINIMIZE)\n", | |
"\n", | |
" m.optimize()\n", | |
"\n", | |
" solution_bitstring = x.X*2 - 1 # convert 0/1 binary to -1/+1 binary\n", | |
" min_obj_val = m.ObjVal\n", | |
"\n", | |
" return solution_bitstring, min_obj_val" | |
], | |
"metadata": { | |
"id": "yJxSxSaQTF_e" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"gurobi_solution, gurobi_cost = gurobi_opt(N, W, \"maxcut\")\n", | |
"print(gurobi_solution, gurobi_cost)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "vKgbTZK9etaX", | |
"outputId": "8f1cf294-e34a-4060-cbe2-ffa16ec212ce" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Restricted license - for non-production use only - expires 2025-11-24\n", | |
"[ 1. -1. -1. 1. 1. -1. 1. 1. 1. -1. 1. 1. 1. -1. -1. 1. -1. -1.\n", | |
" -1. -1. 1. -1. -1. -1. 1. 1. 1. 1. 1. -1. -1. -1. 1. -1. -1. 1.\n", | |
" -1. -1. 1. 1. -1. 1. 1. 1. 1. 1. 1. -1. 1. 1.] -71.0\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"# Knapsack with Slack Variable" | |
], | |
"metadata": { | |
"id": "KR4G8tLDYuDZ" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# scenario from dataset\n", | |
"\n", | |
"def scenario(num_scenario):\n", | |
"\n", | |
" if num_scenario == -1:\n", | |
" weight_list = [3, 11, 14, 19, 5]\n", | |
" value_list = [8, 47, 10, 5, 16]\n", | |
" max_weight = 26\n", | |
" num_items = 5\n", | |
"\n", | |
" if num_scenario == 0:\n", | |
" weight_list = [4, 6]\n", | |
" value_list = [19, 16]\n", | |
" max_weight = 9\n", | |
" num_items = 2\n", | |
"\n", | |
" if num_scenario == 1:\n", | |
" weight_list = [2, 2, 2, 3]\n", | |
" value_list = [4, 4, 1, 2]\n", | |
" max_weight = 3\n", | |
" num_items = 4\n", | |
"\n", | |
" return weight_list, value_list, max_weight, num_items" | |
], | |
"metadata": { | |
"id": "fNlUjEVL_E6e" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"weight_list, value_list, max_weight, N = scenario(-1)\n", | |
"print(\"Item weights:\", weight_list)\n", | |
"print(\"Item values:\", value_list)\n", | |
"print(\"Max weight:\", max_weight)\n", | |
"print(\"Number of items:\", N)\n", | |
"\n", | |
"N_slack_bits = int(np.floor(np.log2(max_weight)) + 1) # total number of slack bits required as function of the maximum weight\n", | |
"print(\"Number of slack bits:\", N_slack_bits)\n", | |
"\n", | |
"Q = -np.diag(value_list) # for now this only contains the value term without the weight term\n", | |
"print(\"Q:\", Q)\n", | |
"\n", | |
"# pad the weight_list and Q to accomodate the slack bits\n", | |
"Q = np.pad(Q, ((0, N_slack_bits), (0, N_slack_bits)))\n", | |
"weight_list_padded = np.append(weight_list, [2**k for k in range(N_slack_bits)])\n", | |
"\n", | |
"penalty_weight = 2\n", | |
"\n", | |
"for i in range(N + N_slack_bits):\n", | |
" Q[i,i] += penalty_weight * weight_list_padded[i] * (weight_list_padded[i] - 2 * max_weight)\n", | |
"\n", | |
" for j in range(i + 1, N + N_slack_bits):\n", | |
" Q[i,j] += 2 * penalty_weight * weight_list_padded[i] * weight_list_padded[j]\n", | |
"\n", | |
"offset = penalty_weight * max_weight**2 # the offset constant term\n", | |
"print(\"Offset:\", offset)\n", | |
"print(\"Q Padded:\", Q)\n", | |
"\n", | |
"# Gurobi\n", | |
"gurobi_solution, gurobi_cost = gurobi_opt(N + N_slack_bits, Q, \"knapsack_slackvar\")\n", | |
"#gurobi_solution = gurobi_solution[:N] # truncate the slack bits from the solution bits\n", | |
"gurobi_cost += offset # add the offset constant term\n", | |
"#gurobi_weight = np.sum((gurobi_solution == 1)*weight_list)\n", | |
"\n", | |
"print(\"Gurobi:\", gurobi_solution, gurobi_cost, gurobi_weight, gurobi_weight <= max_weight)\n", | |
"\n", | |
"\n", | |
"# QAOA\n", | |
"# qaoa_cost, Z_mat = qaoa_1_layer_knapsack(Q, offset, N + N_slack_bits, 60)\n", | |
"\n", | |
"# print(qaoa_cost)\n", | |
"\n", | |
"\n", | |
"# QRR\n", | |
"eigenvalues, eigenvectors = np.linalg.eig(Z_mat)\n", | |
"for i in range(len(eigenvalues)):\n", | |
" temp_weight = np.sum((np.sign(eigenvectors[:N,i]) == 1)*weight_list)\n", | |
" temp_value = np.sum((np.sign(eigenvectors[:N,i]) == 1)*value_list)\n", | |
" print(np.sign(eigenvectors[:N,i]), temp_weight, temp_value)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "Wnl3UedpHRcH", | |
"outputId": "070c29d6-7f86-423f-e4c8-9e978fed1c47" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Item weights: [3, 11, 14, 19, 5]\n", | |
"Item values: [8, 47, 10, 5, 16]\n", | |
"Max weight: 26\n", | |
"Number of items: 5\n", | |
"Number of slack bits: 5\n", | |
"Q: [[ -8 0 0 0 0]\n", | |
" [ 0 -47 0 0 0]\n", | |
" [ 0 0 -10 0 0]\n", | |
" [ 0 0 0 -5 0]\n", | |
" [ 0 0 0 0 -16]]\n", | |
"Offset: 1352\n", | |
"Q Padded: [[ -302 132 168 228 60 12 24 48 96 192]\n", | |
" [ 0 -949 616 836 220 44 88 176 352 704]\n", | |
" [ 0 0 -1074 1064 280 56 112 224 448 896]\n", | |
" [ 0 0 0 -1259 380 76 152 304 608 1216]\n", | |
" [ 0 0 0 0 -486 20 40 80 160 320]\n", | |
" [ 0 0 0 0 0 -102 8 16 32 64]\n", | |
" [ 0 0 0 0 0 0 -200 32 64 128]\n", | |
" [ 0 0 0 0 0 0 0 -384 128 256]\n", | |
" [ 0 0 0 0 0 0 0 0 -704 512]\n", | |
" [ 0 0 0 0 0 0 0 0 0 -1152]]\n", | |
"Gurobi: [ 1. 1. -1. -1. 1. 1. 1. 1. -1. -1.] -71.0 19 True\n", | |
"[-1. -1. -1. -1. -1.] 0 0\n", | |
"[-1. -1. -1. -1. -1.] 0 0\n", | |
"[ 1. 1. -1. 1. -1.] 33 60\n", | |
"[ 1. 1. -1. 1. -1.] 33 60\n", | |
"[-1. 1. -1. 1. 1.] 35 68\n", | |
"[-1. -1. -1. 1. 1.] 24 21\n", | |
"[ 1. -1. 1. 1. -1.] 36 23\n", | |
"[-1. -1. -1. 1. -1.] 19 5\n", | |
"[ 1. 1. 1. -1. -1.] 28 65\n", | |
"[-1. -1. 1. 1. -1.] 33 15\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def qaoa_1_layer_knapsack(Q, offset, N, num_grid):\n", | |
"\n", | |
" h_params = np.zeros((N,))\n", | |
" J_params = np.zeros((N,N))\n", | |
"\n", | |
" for i in range(N):\n", | |
" h_params[i] += Q[i,i] / 2\n", | |
" offset += Q[i,i] / 2\n", | |
"\n", | |
" for j in range(i + 1, N):\n", | |
" J_params[i,j] += Q[i,j] / 4\n", | |
"\n", | |
" h_params[i] += Q[i,j] / 4\n", | |
" h_params[j] += Q[i,j] / 4\n", | |
"\n", | |
" offset += Q[i,j] / 4\n", | |
"\n", | |
" print(h_params, J_params, offset)\n", | |
"\n", | |
" cost = 1e10\n", | |
" best_beta = 0\n", | |
" best_gamma = 0\n", | |
"\n", | |
" beta_search_space = np.linspace(-np.pi/2, np.pi/2, num_grid)\n", | |
" gamma_search_space = np.linspace(-np.pi/2, np.pi/2, num_grid)\n", | |
"\n", | |
" graph = nx.from_numpy_array(Q)\n", | |
" graph.remove_edges_from(nx.selfloop_edges(graph))\n", | |
"\n", | |
" for i in range(num_grid):\n", | |
" for j in range(num_grid):\n", | |
"\n", | |
" cost_h = 0\n", | |
" cost_J = 0\n", | |
"\n", | |
" for m in range(N):\n", | |
" cost_h += qaoa_1_layer_1qubit_term(beta_search_space[i], gamma_search_space[j], m, h_params, J_params, graph, N)\n", | |
" for n in range(m+1, N):\n", | |
" cost_J += qaoa_1_layer_2qubits_term(beta_search_space[i], gamma_search_space[j], m, n, h_params, J_params, graph, N)\n", | |
"\n", | |
"\n", | |
" new_cost = cost_h + cost_J + offset\n", | |
" if new_cost < cost:\n", | |
" cost = new_cost\n", | |
" best_beta = beta_search_space[i]\n", | |
" best_gamma = gamma_search_space[j]\n", | |
"\n", | |
" Z_mat = Z_matrix_from_qaoa(best_beta, best_gamma, h_params, J_params, graph, N)\n", | |
"\n", | |
" return cost, Z_mat" | |
], | |
"metadata": { | |
"id": "8CiB0HhXLJYf" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [], | |
"metadata": { | |
"id": "fxe10jk-PpiR" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [], | |
"metadata": { | |
"id": "V1dm241Scnxz" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [], | |
"metadata": { | |
"id": "oujVpzJacn0d" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [], | |
"metadata": { | |
"id": "pF-XXePacn2-" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [], | |
"metadata": { | |
"id": "r3aF8qbNPpn4" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"weight_list, value_list, max_weight, N = scenario(-1)\n", | |
"print(\"Item weights:\", weight_list)\n", | |
"print(\"Item values:\", value_list)\n", | |
"print(\"Max weight:\", max_weight)\n", | |
"print(\"Number of items:\", N)\n", | |
"\n", | |
"N_slack_bits = int(np.floor(np.log2(max_weight)) + 1) # total number of slack bits required as function of the maximum weight\n", | |
"\n", | |
"Q = -np.diag(value_list) # for now this only contains the value term without the weight term\n", | |
"\n", | |
"# pad the weight_list and Q to accomodate the slack bits\n", | |
"Q = np.pad(Q, ((0, N_slack_bits), (0, N_slack_bits)))\n", | |
"weight_list_padded = np.append(weight_list, [2**k for k in range(N_slack_bits)])\n", | |
"\n", | |
"penalty_weight = 2\n", | |
"\n", | |
"for i in range(N + N_slack_bits):\n", | |
" Q[i,i] += penalty_weight * weight_list_padded[i] * (weight_list_padded[i] - 2 * max_weight)\n", | |
"\n", | |
" for j in range(i + 1, N + N_slack_bits):\n", | |
" Q[i,j] += 2 * penalty_weight * weight_list_padded[i] * weight_list_padded[j]\n", | |
"\n", | |
"offset = penalty_weight * max_weight**2 # the offset constant term\n", | |
"print(\"Offset:\", offset)\n", | |
"\n", | |
"# Gurobi\n", | |
"gurobi_solution, gurobi_cost = gurobi_opt(N + N_slack_bits, Q, \"knapsack_slackvar\")\n", | |
"gurobi_solution = gurobi_solution[:N] # truncate the slack bits from the solution bits\n", | |
"gurobi_cost += offset # add the offset constant term\n", | |
"gurobi_weight = np.sum((gurobi_solution == 1)*weight_list)\n", | |
"\n", | |
"print(\"Gurobi:\", gurobi_solution, gurobi_cost, gurobi_weight, gurobi_weight <= max_weight)\n", | |
"\n", | |
"# make a graph from the adjacency matrix Q\n", | |
"G = nx.from_numpy_array(Q)\n", | |
"G.remove_edges_from(nx.selfloop_edges(G))\n", | |
"\n", | |
"# vanilla QAOA\n", | |
"num_grid_qaoa_angle_search = 20\n", | |
"qaoa_cost, best_beta, best_gamma, Z_mat_qaoa = qaoa_1_layer(num_grid_qaoa_angle_search, G, N + N_slack_bits, Q, offset)\n", | |
"#qaoa_cost_same_with_gurobi = knapsack_slackvar_cost()\n", | |
"\n", | |
"print(\"vanilla QAOA:\", qaoa_cost)\n", | |
"\n", | |
"# QAOA + RR (QRR)\n", | |
"arg_dict = {\"Q\": Q}\n", | |
"qrr_solution, qrr_cost = relax_and_round(Z_mat_qaoa, knapsack_slackvar_cost, arg_dict)\n", | |
"qrr_solution = qrr_solution[:N] # truncate the slack bits from the solution bits\n", | |
"qrr_weight = np.sum((qrr_solution == 1)*weight_list)\n", | |
"qrr_cost += offset # add the offset constant term\n", | |
"\n", | |
"print(\"QRR:\", qrr_solution, qrr_cost, qrr_weight, qrr_weight <= max_weight)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "V5kpsrBdYspA", | |
"outputId": "1169aa72-2472-408d-91fd-976c31700aa4" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Item weights: [3, 11, 14, 19, 5]\n", | |
"Item values: [8, 47, 10, 5, 16]\n", | |
"Max weight: 26\n", | |
"Number of items: 5\n", | |
"Offset: 1352\n", | |
"Gurobi: [ 1. 1. -1. -1. 1.] -71.0 19 True\n", | |
"vanilla QAOA: 1180.7231065196547\n", | |
"QRR: [ 1. 1. 1. 1. -1.] -6644.0 47 False\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [], | |
"metadata": { | |
"id": "6lpXDzRBckN5" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [], | |
"metadata": { | |
"id": "kxonvT8vckQY" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [], | |
"metadata": { | |
"id": "7zT4vPuRckTU" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [], | |
"metadata": { | |
"id": "AToL-3HGckWK" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"G = nx.from_numpy_array(Q)\n", | |
"G.remove_edges_from(nx.selfloop_edges(G))\n", | |
"\n", | |
"nx.draw(G, with_labels=True)\n", | |
"plt.show()" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 516 | |
}, | |
"id": "0cgoZJTHqMya", | |
"outputId": "8af327f9-cb73-4f23-b9f5-53a2ca98a18a" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
], | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAApQAAAHzCAYAAACe1o1DAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOzddVhUW9sG8GdPMnSnNIgCdmCC3d16TOw4tmJhd2EfAztRFAu7u/WogGJ3UVJSs+/vDz/26xwQaQTX77rO9b5nZu+118zRmXvWXutZHAAQwzAMwzAMw2STqKA7wDAMwzAMwxRuLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjLFAyDMMwDMMwOcICJcMwDMMwDJMjkoLuAFOw4hJT6GV4HCWl8CSTiMjGQIM05OyPBcMwDMMwmceSwx/oyacY2n79NZ19/JleR8QTfniOIyIrfXWq7WRMf7lZkaOJVkF1k2EYhmGYQoIDgF8fxhQFbyLiaULAA7r4NIzEIo6U/M//06c+X9PBkGa3LkWW+ur52FOGYRiGYQoTFij/ELtuvqYpB4MohUeGQfK/xCKOJCKOprVwoU6VrPKwhwzDMAzDFFYsUP4BVpx9QgtPhOa4ndENitOQ2o650COGYRiGYYoStsq7iNt183WuhEkiooUnQsnv5utcaYthGIZhmKKDjVAWYW8i4qmez3n6Fh9H0df3UeL7x5T0IZT4hFgyaDKcNEvXS3NOctgbiji9jhLfBhMnlpDCvhLp1e1DYnUdIiKSS0R0aoQHm1PJMAzDMIyAjVAWYRMCHlAKD+Ljo+nr5Z2UHP6GpMa2Pz0+JTqMPm73opTID6Tr0Z20K7ehb89u0qddkwjK5O/H8KAJAQ/y6yUwDMMwDFMIsLJBRdSTTzF08WkYERGJNfWp2JCtJNbUo8QPT+jj5hHpnvP16m5CciKZ9FxCEh1jIiKSmRenz7smUeyD06RVthEpedDFp2H09HMMORizkkIMwzAMw7ARyiJr+/XXJBZxRETESaQk1tT75Tnxj6+QwqGSECaJiBQ2ZUmib0HxIReFx8QijrZdY3MpGYZhGIb5jgXKIurs489ZKg+UEhNGfHwUyUwd0jwnNytOSZ+eC/+u5EFnQz/nSj8ZhmEYhin8WKAsgmITU+h1RHyWzlHGRhLR99vj/yXW1CM+IYaQkiw89jo8nuISU3LWUYZhGIZhigQWKIugV+FxlNWl+0hJJCIiTixN8xwnlqkcQ0QEInoZHpfdLjIMwzAMU4SwQFkEJaXwWT6Hk8iJiITV3D+CMknlmJxch2EYhmGYooet8i6CZJKs/05IXbSjjI1I85wyNpJEalrESVRHLwcP7E/lbY3J2dmZnJ2dycXFhYyMjLLXaYZhGIZhCi0WKIsgGwMN4oiydNtbomVIInUdSvr4NM1ziR9CSWby3/qVIDNNCZ09e5bWrFlDKSnf51MaGhqSi4uLEDB/DJocx2X7NTEMwzAM8/tigbII0pBLyEpfnV5lcWGOulM1intwhlKiv5BE+/tI47eX9ygl4h1pV2qpcqy1gQbtnbODiIiSk5PpyZMnFBwcTMHBwRQUFEQXL14kX19fSk7+fgvdwMAg3aBpbGzMgibDMAzDFHJs68UiaurBINp6/ZVQOij69iHiE+JIGRtBsXePkHrxaiQ1sSMiIu0KzUmkpkEp0V/ow8ZhJJJrkFbFFoTkbxR9fR+JtQzJrIePcMtbLOKom5s1TW3hkmEfkpOT6dmzZxQUFCQEzeDgYHr8+DElJX2fl6mvr58mZDo7O5OpqSkLmgzDMAxTSLBAWUQ9+RRD9ZdcEP797SpPUkanXzvSYsB6kuiaEBFR0pdXFHnG9/te3iIJKRwqkV6d3iTWUC2MPsg6nEb26UISSdYHuVNSUlSCZmrYfPTokRA09fT00g2aZmZmLGgyDMMwzG+GBcoirNv663TleXiWCpz/CpQplPD6Pn32m0wODg40e/Zsatu2LYlEOS8YkJKSQs+fP1cZzUwNmomJ30sW6erqqiwCSv1fc3NzFjQZhmEYpoCwQFmEvYmIp3o+5ykxt8r7AMTxKfR27QBK+fqJRCIR8TxPZcuWpVmzZlHjxo3zJNQplco0QTM4OJhCQkIoISGBiIh0dHTSDZoWFhYsaDIMwzBMHmOBsojbdfM1jdv3INfa0ww6QFO61aeePXtSfPz3RT8KhYK+fftG1atXp9mzZ5O7u3uuXS8jSqWSXr58mWaOZkhICH379o2IiLS1tYWg+WPYtLS0ZEGTYRiGYXIJC5R/gBVnn9DCE6E5bify/GaKvrqHrKys6Pr16zRo0CAKCAgQntfV1aWoqChq2LAhzZo1iypUqJDja2aHUqmkV69epRs0U0OwpqZmunM0raysWNBkGIZhmCxigfIPsevma5pyMIhSeGRpTiV4JYk5omHVzWhcB3fhFrOuri6FhIRQUFAQtW/fniIjv+8FLpFISE9Pj758+UJt27al6dOnk7Ozc568pqzieZ5evXqVZo5mcHCwStAsWbJkmrBpZWWVK/NEGYZhGKYoYoHyD/ImIp4mBDygi0/DSCziMgyWHIFAHCW++pfCji6ni0cDSKFQUOXKlYWV2GpqanTz5k2ys7OjoUOH0vr164Xz9fX1SSwWU3h4OHXr1o2mTJlCtrb/LY7+e+B5nl6/fp1u0IyL+75fuYaGRrpB09ramgVNhmEY5o/HAuUf6MmnGFoSeIf2Xw8lqb65ynMcEUkSo0gt4hn5evWg+m6lSKFQkIGBAd29e5fu3btHNWvWFAqWi8ViOn78ONWtW5euXbtG7dq1o3fv3hHHcQSASpQoQWFhYfT161fq168fTZw4kczMzArgVWcdz/P05s2bNIuBgoODKSYmhoiI1NXV0wRNZ2dnsrW1ZUGTYRiG+WOwQPmH2rlzJ3Xp0oXefQqjyBQJJaXwJJOIyMZAg/x3badevXrR69evaevWrTR58mQiIvLy8qKZM2fSuXPnqF69eqRUKomIiOM42rRpE3Xv3p0SExNp4sSJtGjRIiIikslkpFQqqWrVqvTw4UNKTEykoUOH0tixY0lfX7/AXn9OAKC3b9+mGc0MCgoSgqZCoaASJUqkmaNpa2tLYrG4gF8BwzAMw+QuFij/UJMnT6Z169bRhw8f0jz39etXMjY2prlz59KAAQOoRIkSpKGhQaGhoXTz5k0qV64cHT16lJo1a0Y8/7+SRDNmzKBJkyYREdG9e/eoffv29PTpU+I4jiQSCeno6FCVKlXo7NmzJBaLafTo0TR8+HDS0tLKt9edlwDQu3fv0g2a0dHRRPR9mkB6QdPOzo4FTYZhGKbQYoHyD9W+fXuKiIig06dPp/t869at6f3793T9+nXavn07de3alezt7UlTU5Nu3LhBMpmM/P39qUOHDvTjH6E+ffrQunXriOj71otz586ladOmkVKpFMoLlStXjpycnGjfvn2kra1NEyZMoIEDB5Kamlq+vPb8BoDev3+fJmQGBQXR169fiYhILpdTiRIl0szRtLOzy9ZuRAzDMAyTn1ig/EO5uLhQ7dq1acWKFek+7+fnR506daJnz56RjY0Nubm5UVxcHD1+/JimTp1K3t7eRES0ZcsW6tGjh8q5DRo0oGPHjgnld0JCQqhz587077//EtH/ygu1b9+eZDIZ7dq1i8zMzGjy5MnUs2dPkkqlefjKfx8A6MOHD+kGzaioKCL6HjSdnJzSBE17e3sWNBmGYZjfBguUf6CUlBRSV1cnHx8fGjx4cLrHxMXFkbGxMU2cOJEmTJhAFy9eJHd3d2rRogUdPXqU7ty5Q66urkREtGrVqjTtlCpVim7dukUymYyIvteGXLZsGXl5eVFKSgrJ5XISi8UkFotp0KBB9Pz5c9q9ezc5ODjQ9OnTqWPHjn/sohYA9OnTp3RvnUdERBDR97mpqUHzx7Dp4ODwxwRyhmEY5vfBAuUf6PHjx1SiRAk6c+YM1a5d+6fHdenShR4+fEj3798nIqI2bdrQzZs3SUNDg7S1tenKlSvCKNn8+fPJy8tL5Xxzc3N68OCByuKbZ8+eUffu3enKlStERGRmZkafPn2i4sWL09ChQ+nIkSN0+PBhKl26NM2cOZOaNWvGCo3/PwD0+fPndINmeHg4ERFJpVIqXrx4mjmajo6OLGgyDMMweYYFyj9QQEAAtWnThj58+ECmpqY/Pe7gwYPUsmVLevjwIbm4uNCTJ0/I2dmZ+vTpQ2vXrqW5c+fSmDFjhOO9vb1p5syZKm1oa2vT3bt3yc7OTniM53lat24djRgxQqhpWaxYMXr16hW1bNmSunbtSitXrqRz585RlSpVaPbs2RkG3z8dAPry5YtKaaPU///lyxci+l5w/segmRo2HR0dhVFkhmEYhskuFij/QLNnz6YFCxZQREREhqN/iYmJZGJiQkOHDqXp06cTEdHw4cNp/fr11LVrV9q4cSP9+++/5OTkRETfg83IkSNpyZIlKu3I5XI6f/48ubm5qTz+5s0b6tOnD504cYKIvo9WpqSkUHR0NI0aNYqqVq1K06dPp5s3b1K9evVo1qxZVLly5Vx8J4q+L1++pFuw/fPnz0T0PWg6OjqmmaPp6OhIcrm8gHvPMAzDFBYsUP6BunbtSi9evKDLly//8lhPT0+6dOkSPX78mDiOo4iICLK3t6d27drRuXPnyMTEhC5cuCDMdwRA/fr1o/Xr1wurvzmOI5FIRP7+/tSqVSuV9gHQtm3baMiQIRQfH08pKSlUtmxZCgkJISMjI1qwYAHJ5XLy9vamoKAgatWqFc2YMUOYv8lkT1hYWLpB89OnT0T0vWD9f4Oms7MzOTk5saDJMAzDpMEC5R+oQoUKVK5cOfL19f3lsSdOnKCGDRvSrVu3qEKFCkREtHjxYhozZgxt3LiRevToQcuWLaO///5bOEepVFK3bt3Iz8+PeJ4njuOI4zjieZ6WLl1KQ4cOTXOdjx8/0qBBgyggIIAkEglpaWmRvb093bp1i9zd3cnHx4eCg4NpypQp9OLFC+rSpQtNmzaN7O3tc++NYSg8PDzNbfOgoCD6+PEjEX0Pmvb29mnmaDo5ORXZsk8MwzDMr7FA+YfheZ60tLRo+vTpNGrUqF8en5KSQubm5tSjRw9asGABEX2/Fe7s7EwlSpQgW1tb2rhxIz18+FBlr+7k5GRq164dBQYGklKpJLFYTBzHUUpKCo0cOVLYSee//P39acCAARQdHU3JyclUoUIFioqKohcvXtCAAQNo0qRJdODAAZo+fTp9+fKFevfuTd7e3mRhYZE7bxCTroiIiHSDZmphfJFI9NOgqVAoCrj3DMMwTF5jgfIP8/LlS7K1taUjR45Q48aNM3XO4MGD6dChQ/Ty5Uvh1vaePXuoQ4cOdODAARo6dCjZ29vTqVOnVOZkJiQkUPPmzen8+fOUnJxMUqmUOI6jpKQkateuHe3evTvdOZzh4eE0fPhw2rZtG6mpqREAqlevHl24cIGkUinNnDmTunXrRqtXr6Y5c+ZQfHw8DR48mMaNG0eGhoa580YxmRIZGUkhISFpbp2/e/eOiL4HTTs7uzRzNEuUKMGCJsMwTBHCAuUf5ujRo9SkSRN68eIF2djYZOqc1BqUly5dourVqxPR97mPNWrUoNjYWJo3bx41btyY1qxZQ/369VM5Ny4ujho1akQ3btygpKQkUlNTI47j6Nu3b1SlShW6ePHiTwt0Hz58mPr160dhYWGUkpJCJUqUIHt7ezp8+DCVKVOGli1bRmXLlqXFixfT4sWLiYho5MiRNHLkSNLW1s7+m8TkWFRUVLpB8+3bt0T0fV7tz4Kmurp6AfeeYRiGySoWKP8wixcvJm9vb4qJicl04XCe58nKyopat25Ny5cvFx6/du0aVa1aldavX09Xr14lPz8/CgoKIktLS5Xzv379SnXr1qWgoCBKSEgQ9u6OiYkhe3t7unfvHmlqaqZ77a9fv9KYMWNo3bp1pKmpSXFxcdS2bVt68eIF3b59mzp37kzz588nNTU1mjdvHq1YsYLU1dVp/PjxNHjwYDYK9pv5+vUrhYSEpLl1/ubNGyL6HjRtbW3TFGwvWbIkaWhoFHDvGYZhmJ9hgfIP06dPH7p79y7dvn07S+eNGjWKtm3bRu/evVMZUezUqRNduHCBbt68SW5ublS6dGkKDAxMcys7LCyMPDw86NWrVxQXF0d6enqkVCopOjqaDAwM6P79+2Rubv7T658+fZp69+5N79+/J47jyMDAgNq0aUN79uyh2NhYmjhxIo0cOZLCw8Np5syZ5OvrS8bGxuTt7U2enp6s1uJvLjo6Ot2g+fr1a+EYGxubNHM0S5Ys+dMfIwzDMEz+YYHyD1O9enWytbWlbdu2Zem8W7duUaVKlejkyZNUr1494fEXL15QiRIlaPz48VSxYkVq3rw5bd68mbp3756mjQ8fPlDNmjXp8+fPFBMTQ0ZGRpSUlERfv34ldXV1unbtGpUqVeqnfUgNjsuWLRP2A2/cuDFZWlrShg0byMrKinx8fKh58+b0/Plzmjp1Km3fvp1sbW1p6tSp1KVLFxKLxVl63UzBiomJoUePHqW5df7y5UvhGGtr63SDZupIOMMwDJP3WKD8gwAgAwMDGj16NE2YMCHL5zo6OlKtWrXSlBsaO3YsrVy5kp48eUJeXl50+PBhCg4OJjMzszTtvHr1imrWrEkxMTEUFRVF5ubmFBsbSzExMSQWi+no0aMqgTU9ly9fJk9PT3r+/DkpFArieZ7+/vtvun37Np08eZIaNmxIS5YsoRIlStDDhw/J29ub9u/fT87OzjRz5kxq1aoV286xkIuNjU03aL548UI4xsrKKs0czZIlS7L5tQzDMHkBzB/jw4cPICLs27cvW+dPnDgRurq6SExMVHk8MjISBgYG6NWrF8LCwmBsbIxWrVqB5/l023n8+DFMTEygr68PIoK1tTW0tLQgFovBcRw2btz4y758+/YN48aNg0gkgqGhITiOQ/ny5bF48WLY2tpCIpFg1KhR+Pr1KwDg+vXrqFevHogIlSpVwokTJ37aP6bwio2Nxa1bt7B582Z4eXmhefPmsLOzA8dxICIQESwtLdGwYUOMHDkSvr6+uHr1KqKiogq66wzDMIUaC5R/kDNnzoCIEBISkq3zHzx4ACLCoUOH0jy3fPlycByHu3fvwt/fH0QEPz+/n7Z1//596OnpwdjYGEQER0dHaGhoQE1NDUSEadOmZapPt27dQunSpSESiWBsbAyRSIShQ4di8uTJUFdXh4mJCTZt2gSlUgkAOH36NKpUqQIiQq1atXD58uVsvRdM4RIXF4fbt29j69atGDduHFq0aAF7e3uVoGlhYYEGDRpg+PDhWLduHS5fvozIyMiC7jrDMEyhwG55/0FWrVpFw4cPp7i4OJJKpdlqw9XVlcqUKUPbt29XeTw5OZlKlSpFxYoVo5MnT1KHDh3o/PnzFBQUREZGRum2dfPmTapbty5pamrShw8fyMXFhZ49e0ZyuZy+fv1Knp6e5Ovr+8vb00lJSTR37lyaMWMG6enpUXR0NJmYmNC0adPo+PHjtGvXLnJzc6Ply5dTpUqVCAAFBgbSxIkT6f79+9SsWTOaOXMmlSlTJlvvCVN4ffv2jR49epRmMdDz58+J53kiIjI3N08zR9PZ2Zn09PQKuPcMwzC/kQIOtEw+Gjx4MJydnXPUxsyZM6GhoYG4uLg0zx04cABEhMOHD+Pjx48wMDBAp06dMmzv/PnzUCgUKFasGIgI5cuXh0QigampKYgI9evXR0pKSqb69uDBA1SqVEm4jU5EaN++Pfbt24fSpUuDiODp6YmPHz8CAJRKJXbs2AEHBwcQETp16oTHjx9n/U1hipz4+Hjcu3cP27dvx8SJE9GqVSsUL14cIpFIGNE0MzND3bp1MXToUKxevRoXL15EeHh4QXedYRimQLARyj9I3bp1SU9Pj/z9/bPdxtOnT8nR0ZF2795N7du3V3kOANWpU4c+ffpE9+/fp927d9Nff/1FAQEB1KpVq5+2efz4cWrevDlZWFjQy5cvqWrVqnT9+nWyt7enJ0+eUKlSpej69euZqimZkpJCPj4+5O3tTTo6OpScnExKpZJmzZpFHMfR5MmTKSUlhaZOnUpDhgwhqVRKycnJtHnzZpo2bRp9+PCBevXqRZMnT05TT5NhEhISKDQ0NM1ioKdPn5JSqSQiIlNT0zSLgZydncnAwKCAe88wDJOHCjjQMvnIzMwM3t7eOW6nYsWKaNOmTbrP3b59GxzHYdWqVeB5Hs2bN4epqSkiIiIybHPfvn0Qi8XCaGHt2rVBRKhQoQKICObm5ggLC8t0Hx8/fowaNWqAiFCiRAkQEapWrYqLFy9i0KBBEIlEKFmyJE6cOCGc8+3bN/j4+MDQ0BAymQzDhw/Hp0+fMn1N5s+VkJCA+/fvY+fOnfD29kbbtm1RokQJiMViYUTTxMQEtWvXxpAhQ7Bq1SqcO3cOX758KeiuMwzD5AoWKP8QkZGRICLs2LEjx20tXLgQcrlcWEH9X927d4eRkRG+fv2Kt2/fQkdHBz179vxlu1u3bgXHcUIAbNy4MYgIHh4eICJoa2vjyZMnme6nUqnEihUroKGhASMjI1haWkIikWD8+PG4du0a3N3dQURo1aoVnj17JpwXHR2NGTNmQFtbGxoaGpg4cSJbnMFkS2JiIh48eAA/Pz9MnjwZ7dq1Q8mSJSGRSISgaWRkhFq1amHQoEFYuXIlzp49i8+fPxd01xmGYbKEBco/xJUrV0BEuHv3bo7bev36NYgIW7ZsSff5N2/eQKFQYNy4cQCA9evXg4hw9OjRX7a9evVqEBFcXV0hEonQtm1bEBEaNmwIIoJMJsvyyuwXL16gfv36ICKULVsWMpkM9vb2OHHiBHbu3AkLCwvI5XJMmjQJsbGxwnnh4eHw8vKCQqGArq4u5syZo/I8w2RXYmIiHj58iN27d2Pq1Klo3749XFxcVIKmoaEhPDw8MHDgQKxYsQJnzpzBx48fWbkrhmF+SyxQ/iHWr18PjuMQHx+fK+3VrFkTjRs3/unzkyZNglwux6tXr8DzPOrXrw9LS8ufjmr+aMGCBSAilCtXDmKxGF26dAERoVmzZhCJRBCJRNizZ0+W+svzPNavXw8dHR0YGBjA1dUVRISuXbvixYsXmDhxImQyGSwtLeHn56fypf3+/XsMHjwYUqkUJiYmWL58ORISErJ0fYbJjKSkJAQHB2PPnj2YNm0aOnToAFdXV0ilUiFoGhgYoGbNmhgwYACWLVuG06dP48OHDyxoMgxToFig/EOMGjUKdnZ2udbeypUrIZFIfjoHLDo6GiYmJvjrr78AAC9fvoSmpiYGDBiQqfanTJkiFCEXi8Xo06cPiAjNmzeHXC4HEWHx4sVZ7ve7d+/QvHlzoW09PT3o6+tjw4YNePLkCVq2bCncZv/3339Vzn3+/Dl69OgBkUgEa2trbNy4EcnJyVnuA8NkVVJSEkJCQuDv74/p06ejY8eOKFWqFGQymRA09fX1UaNGDfTv3x9Lly7FqVOn8P79exY0GYbJFyxQ/iGaNGmCpk2b5lp7nz59gkgkwpo1a356zNq1a0FEuHHjBoDvIZSIcObMmV+2z/M8Ro4cKSymEYvFGDJkCEQiEZo2bQptbW0QEYYNG5blvvM8jx07dsDAwAB6enrC4h0PDw88evQIx44dg5OTE0QiEQYPHpymFExQUJBwK75EiRLYs2ePUDidYfJTcnIyHj16hH379mHGjBno3LkzSpcurRI09fT0UL16dfTt2xdLlizBiRMn8O7dOxY0GYbJVSxQ/iFsbW0xZsyYXG2zfv36qF279k+fT0lJgaurK2rWrAme56FUKuHu7g47O7tMzUXkeR79+vWDSCRCjRo1IBaLMXr0aEilUjRo0AAWFhYgIrRu3Tpbge7Tp0/o2LEjiAhubm6wtraGTCbD1KlTER0djUWLFkFLSwv6+vr4559/0tTDvHXrFho1aiTUzzx69Cj7kmZ+C8nJyXj8+DECAgIwc+ZMdOnSBWXKlBFG94kIurq6qFatGvr06QMfHx8cP34cb9++ZX+GGYbJFhYo/wBxcXHgOA4bNmzI1XZT52W+f//+p8ccO3ZMZf/wJ0+eQKFQZHpkMSUlBV26dIFEIoGHhwfEYjEmTZoEhUKBWrVqCXMh3dzc0uwxnlkBAQEwNTWFlpYWmjRpAolEghIlSuD8+fP48OEDevbsKSzouXDhQprzz58/L4xy1qxZM91jGOZ3kJKSgtDQUOzfvx+zZ8/GX3/9hXLlyglbnqZWU6hSpQp69+6NRYsW4dixY3j9+jULmgzDZIgFyj/AnTt3QES4evVqrrYbGRkJqVSKJUuWZHhcgwYN4ODgIAS+xYsXg+M4XLp0KVPXSUpKQqtWraCmpoa6detCLBZj+vTp0NLSgpubG2rVqgUigp2dHaKiorL1WiIiIoTgWKVKFaH+Ze/evREeHo5r164Ju/B07twZb968UTmf53kcOXIE5cqVAxGhUaNGuH37drb6wjD5LSUlBU+fPsWBAwcwZ84cdO3aFeXLl4dCoRCCZurfN09PTyxcuBBHjx4VFt0xDMOwQPkH2L59O4go22ErIy1atECVKlUyPOb+/fsQiURC8ExJSUGVKlVQvHjxTK86T0hIQIMGDaChoYH69etDIpFg3rx50NfXR9myZYWV4AYGBmnCXlYcO3YMVlZWUCgU6NixI3R0dGBkZIRt27YhJSUFGzZsgLGxMdTV1TFr1ix8+/ZN5XylUondu3fDyckJRIR27dohODg42/1hmIKUkpKCZ8+e4eDBg5g7dy66d++OChUqQF1dXQiampqaqFy5Mnr27IkFCxYgMDAQL1++ZPOKGeYPwwLlH2DixIkwNzfPk7Z37NgBIsLz588zPK5Pnz7Q19cXdswJDg6GTCaDl5dXpq8VFxeHGjVqQFdXFw0bNoREIoGPjw9MTExQokQJjBo1CkQEhUKRo3qb0dHRGDRokLASPLXAeoMGDfD06VNERUVh5MiRkEgksLe3x8GDB9OM0iQnJ2PDhg2wsrKCSCRCz5498eLFi2z3iWF+J0qlEs+fP8fhw4cxb9489OjRAxUrVoSGhoYQNDU0NFCpUiX06NED8+fPx+HDh/HixQsWNBmmiGKB8g/Qpk0b1K1bN0/ajomJgUKhwNy5czM87sOHD9DQ0MDIkSOFx2bPng2RSCSsAs+MqKgoVKhQAUZGRsJ8xxUrVsDKygo2NjaYP38+OI6DRCLJVCH1jJw7dw4ODg6Qy+Xo2bMnrK2toaamhjlz5gj1AlMLpjdq1AiPHj1K00ZCQgKWL18OExMTSKVSDBkyBB8+fMhRvxjmd6VUKvHixQsEBgZi/vz56NmzJypXrgxNTU2VoFmxYkV0794d8+bNw6FDh/Ds2TMWNBmmkGOB8g9QsmRJ/P3333nWfocOHVC2bNlfHjd9+nRIpVI8ffoUwPe5keXLl4erq2uWFtSEhYXB1dUVFhYWaNasGSQSCdasWQNHR0eYmZlh3bp1kEgk4DgOvr6+2X5dwPdR0VGjRkEkEqFs2bLo3r07xGIxSpUqhatXr4LneQQEBMDGxgYSiQSjR49Ot3h7bGws5syZA11dXWEXof+WI2KYokqpVOLVq1c4cuQIFi5ciF69esHNzQ1aWlpC0FQoFChfvjy6deuGOXPm4ODBg3j69CkLmgxTSLBAWcQlJSVBIpFg1apVeXaNffv2gYgQEhKS4XFxcXGwsLBAu3bthMfu3bsHiUSCKVOmZOmaHz58gIODA2xtbdG8eXNIJBJs2LABpUqVgqGhIXbu3CnM8/L29s7Oy1Jx7do1ODs7QyqVol+/fqhQoQI4jsOgQYMQFRWF+Ph4zJgxAwqFAiYmJti0aVO6X4SRkZGYOHEiNDQ0oKOjg5kzZyImJibH/WOYwojnebx+/RpHjx7FokWL4OnpiSpVqgh1ZlODZrly5dC1a1fMnj0bBw4cwJMnT9KU8WIYpmCxQFnEBQcHg4hw9uzZPLvGt2/foK2tnalQuGnTJhCRygrvyZMnQyKRpNmZ5ldevnwJS0tLlChRAi1atIBEIsGWLVtQuXJl6OjoYN++fTA0NAQRoXv37jlejZqQkIBJkyZBIpHA1dUVo0aNgqamJszMzLBnzx7hy/HH2pY/u53/8eNHDBs2DDKZDEZGRliyZEmaBT4M86fieR5v3rzB8ePHsXjxYvTp0wdVq1ZVCZpqamrCgrxZs2YhICAAoaGhLGgyTAFhgbKI27t3L4gInz59ytPr9OjRA05OTr8MbUqlEuXKlYObm5twbGJiIlxdXVG+fHkkJSVl6bqhoaEwMTFBmTJl0KpVK0gkEuzcuRPu7u5QV1dHQEAA7O3tQUSoU6dOlttPz927d1GuXDmIRCIMGDAAzZo1E/Yaf/XqFYDv8y9LlSoFjuPQu3fvn77/r169Qu/evSESiWBpaQlfX1+2nSPD/ATP83j79i1OnDgBHx8f9O3bF9WqVYOOjo4QNOVyOcqUKYPOnTtj5syZ2LdvHx4/fsz+XjFMHmOBsoibMWMG9PX187xW3NGjR0FEmVpdfebMGRARdu7cKTx28+ZNiEQizJ49O8vXvn//PvT19VGlShW0bt0aUqkUfn5+aNSoEWQyGfz9/eHm5gYigouLS67cYk5KSsLs2bMhk8lQvHhxzJo1C+bm5tDQ0MDixYuRnJyM5ORkrFy5Enp6etDW1oaPj89PA+2jR4+EkU1HR0fs3LmTzR1jmEzieR7v3r3DyZMnsXTpUvTr1w81atSAnp6eEDRlMhlKly6NTp06Yfr06di7dy9CQkJY0GSYXMICZRHXpUsXVK9ePc+vk5SUBAMDg0yXAWrevDmsra1VbvN6eXlBJpNlq27jzZs3oaWlhdq1awuh0t/fH23btoVYLMa2bdvQunVrEBHMzMzw8ePHLF8jPcHBwahatSo4jkO/fv3Qv39/cByH8uXL49atWwC+LyIaOHAgRCIRSpYsiZMnT/60vbt376Jp06YgIpQuXRqHDh1ihaMZJpt4nseHDx9w6tQpLFu2DP3790fNmjWhr6+vEjRdXV3RsWNHTJs2Df7+/ggODs6VuxkM8ydhgbKIK1euHPr27Zsv1+rfvz+sra0zFYBCQkIgFosxb9484bH4+Hg4OTmhSpUq2ZoHdeHCBSgUCjRp0gRt2rSBVCpFQEAAunfvDo7jsHbtWgwfPlzY9eNXi4gyKyUlBT4+PlAoFLCxscGyZctQunRpiEQiDB8+XBgRvXv3LmrWrCnsP55R7c5Lly7B3d0dRISqVavm6RxYhvnT8DyPjx8/4vTp01i+fDkGDBgAd3d3GBgYCEFTKpXCxcUFHTp0wNSpU7F7924EBQWxoMkwP8ECZRGmVCqhUCiwePHifLneuXPnQES4cuVKpo4fPHgwtLW18fnzZ+GxS5cugeO4bPf52LFjkMlkaN++vRAq9+/fLxQqX7x4MRYtWiSMTJw/fz5b10nP06dPUbt2bRARevXqhWnTpkGhUMDS0hIHDx4E8P2LbMeOHbCwsIBcLoe3tzfi4uLSbY/neRw/fhwVK1YEEaF+/fpZqtnJMEzWffr0CWfPnsWKFSswaNAgeHh4wMjISAiaEokEzs7OaNeuHaZMmQI/Pz88fPgwS6XPGKYoYoGyCHv+/DmIKMcFvjMrJSUF5ubmGDp0aKaO//z5M7S1tTFkyBCVx4cNGwaFQoEnT55kqx8BAQEQi8Xo0aOHECoPHDgALy8vEBGmTZsGPz8/iEQiiEQilbmcOaVUKrFmzRpoaWnB3Nwca9euRaNGjUBEaNu2Ld69ewfge0H4CRMmQCaTwdLSErt37/7pyC7P89i3bx+cnZ2F0c2HDx/mWp8Zhvm1z58/49y5c1i5ciUGDx6MWrVqwdjYWCVolixZEm3btsXkyZOxa9cu3L9/HwkJCQXddYbJFyxQFmGBgYEgImHlcX4YPnw4TE1NM33Let68eZBIJCq7zMTGxsLW1hYeHh7ZXpiybds2cByHwYMHC3MqDx06hFmzZoGIMHr0aFy8eBEymQxEhPnz52frOj/z+vVrYcvGzp07Y+3atTA2Noa2tjZWrlwpvK6nT5+iRYsWICLUqlUL9+/f/2mbKSkp2LJlC2xtbcFxHLp164Znz57lar8ZhsmaL1++4Pz58/jnn38wZMgQ1KlTByYmJkLQFIvFcHJyQps2bTBp0iTs3LkT//77LwuaTJHDAmURtmDBAmhoaOTroo5r166BiHDmzJlMHf/t2zdYW1ujRYsWKo+fPn0aRJSjguxr1qwBEcHLywtt2rSBTCbDoUOHsHTpUhAR+vfvj+DgYGG3jkGDBuXqe8XzPLZs2QI9PT0YGRlh/fr16NOnD4gIVapUUQmPR48ehZOTE0QiEYYMGZLhLjqJiYlYtWoVzMzMIJFIMGDAALx9+zbX+s0wTM6FhYXhwoULWL16Nf7++2/UrVsXpqamQtAUiUQoXrw4WrdujYkTJ2LHjh24d+8eq0fLFFosUBZhnp6eqFChQr5ek+d52NraZmkh0M6dO9Mtvt6/f39oamri5cuX2e5P6nzJmTNnonXr1pDJZDh8+DDWr18PkUiEv/76C2/fvoW5uTmICM2bN8/1wsgfPnxA27ZthdvVAQEBKFmyJCQSCby8vIQ5lImJiVi4cCG0tLRgYGCA1atXZ9iXuLg4zJ8/H/r6+lBTU8Po0aPx5cuXXO07wzC5Kzw8HJcuXcKaNWswbNgw1KtXT/j8SQ2ajo6OaNmyJSZMmIBt27bh7t27iI+PL+iuM0yGWKAswqpWrYpu3brl+3XHjx8PfX39TE9S53kebm5uKF++vMot7q9fv8LS0hL169fP0cjh1KlTQUTw8fERQmVgYCD8/PwgkUjQqlUrhIWFCXMUK1asmCcf3nv27IGxsTF0dXWxdu1aTJs2DXK5HHZ2djh+/Lhw3IcPH9CzZ08QEcqWLYuLFy9m2G5UVBQmT54MTU1NaGlpYerUqenuJ84wzO8rIiICly9fFqpR1K9fHxYWFipB08HBAS1atMD48eOxdetW3Llz56eL+hgmv7FAWUTxPA8dHZ1sFQrPqX///RdEhMDAwEyfc/nyZRARNm/erPJ4asH09evXZ7s/PM9j1KhRICKsXbsWrVq1EkLl4cOHIZfL0aBBA0RGRgqrtG1tbREWFpbta/5MWFgYunbtCiJCw4YNcfbsWeGaXbp0UdlR5+rVq8IK7y5duvzytvbnz58xcuRIyOVyGBgYYOHChWxUg2EKucjISFy5cgXr1q3DiBEj0LBhQxQrVkwImhzHwd7eHs2bN4eXlxe2bNmCW7dusaDJ5DsWKIuo9+/fg4gQEBCQ79fmeR4lS5bM8uhou3btYGFhkeaDsGfPntDR0cnRPEGe59G/f3+IRCLs2LEDLVu2FELlmTNnoKGhgRo1aiAyMhLdunUDEUFfXz/DWpE5cfjwYVhYWEBTUxMrV67Ehg0bYGBgAD09Pfj6+gojskqlEuvXr4eRkRE0NDQwe/bsX07mf/PmDfr37w+xWAxzc3OsXr2a1c5jmCLm69evuHr1KtavX4+RI0eiUaNGsLS0VAmatra2aNasGcaOHYvNmzfj5s2biI2NLeiuM0UUC5RFVOqilsePHxfI9adNmwYtLa0sjZA9ffoUUqkUM2bMUHk8IiICpqamaNasWY5ufSuVSnTt2hUSiQQBAQFCqDxy5AiuXr0KXV1dVKhQAWFhYZg4cSKICAqFIs9qP0ZFRaFv374gInh4eOD69evo0aMHiAju7u4qhdcjIyMxYsQISCQS2NvbZ2oHnSdPnuCvv/4Cx3Gws7PD1q1bc31+KMMwv5evX7/i2rVr2LBhA0aNGoXGjRvDyspKCJpEBBsbGzRt2hRjxozBpk2bcOPGjVzZkpb5s7FAWUQtX74cMpmswPapffz4MYgI/v7+WTpvxIgR0NDQwIcPH1Qe379/P4gI27dvz1G/kpOT0bp1a8jlchw7dgwtW7aEXC7H0aNHce/ePRgZGcHFxQXv37/H6tWrwXEcxGKxUJg8L5w6dQq2trZQKBRYtGgRTpw4AQcHB0ilUkyePFll1WdQUBDq1asHIkLjxo1Vyi39zP3799GyZUthL/OAgAC2nSPD/GGio6Nx48YNbNy4EWPGjEGTJk1gY2OjEjStra3RuHFjjB49Ghs2bMD169cRHR1d0F1nCgkWKIuoQYMGwcXFpUD7UL58ebRr1y5L54SHh0NPTy/dVeKdOnWCvr5+jvfhTkhIQMOGDaGhoYHz58+jRYsWQqgMCQmBhYUF7O3t8fLlSwQGBkIsFoPjuByVMPqV2NhYDBs2DBzHwc3NDXfu3MGkSZMglUpRvHhxlRXwPM8jICAANjY2kEqlGDNmTKYW4Vy7dg1169YFEaFy5coZ7inOMMyfISYmBjdv3sSmTZswduxYNG3aFLa2tipB08rKCo0aNcKoUaOwfv16XLt2jS38AxCbkIyH76Jw51UEHr6LQmxCwQzg/C5YoCyiateujfbt2xdoH+bPnw81NbUs/8L18fGBSCTCgwcPVB7//PkzDA0Nc+V1xcXFoWbNmtDR0cGNGzfQvHlzYdTy+fPnsLOzQ7FixfD48WPcvHkTCoUCRIRx48bl6ejepUuX4OTkBJlMhpkzZ+Lu3buoXr26sJ3jjwuF4uPjMWPGDCgUCpiammLz5s2ZKgR/6tQpuLm5gYhQu3btTG+VyTDMnyM2Nha3bt3Cli1b4OXlhebNm8POzg4cxwlBs1ixYmjYsCFGjBgBX19fXLlyBVFRUQXd9TwV+jEaUw48hPv8M7AZdxjWP/xjM+4w3OefwZQDDxH68c8b2eUAgJgix9TUlPr370/Tpk0rsD68evWKbGxsaNu2bfTXX39l+rykpCRycXEhe3t7OnbsmMpzfn5+1KlTJ/L396e2bdvmqH/R0dFUt25devXqFZ06dYomTZpEJ06coAMHDlCpUqWofv36FBYWRidPniQtLS2qWLEiRUREUOfOnWnbtm0kEolydP2fSUhIoGnTptGCBQuoVKlS5OvrS7dv36axY8eSVColHx8f+uuvv4jjOCIiev36NY0ZM4Z2795NVapUoeXLl1PFihUzvAYAOnToEE2cOJEePnxIzZs3p5kzZ1Lp0qXz5DUxDFM0xMfH06NHjyg4OJiCgoKE/33+/DmlxgkLCwtycXEhZ2dn4X+dnZ1JV1e3YDufA28i4mlCwAO6+DSMxCKOlPzPo1Pq8zUdDGl261Jkqa+ejz0tOCxQFkGRkZGkr69PO3fupE6dOhVoX6pXr076+vp06NChLJ23b98+atu2LR07dowaNmwoPA6A2rRpQ1euXKHg4GAyMDDIUf/Cw8OpVq1aFBERQadOnaKxY8fSyZMn6cCBA1ShQgVq2LAhPX/+nI4dO0b29vZUqVIlevnyJbm7u9Px48dJTU0tR9fPyO3bt8nT05OCgoLIy8uL+vbtS+PGjSM/Pz+qX78+/fPPP2Rvby8cf+7cORo6dCg9fPiQPD09afbs2WRsbJzhNXiep127dtHkyZPp+fPn1KlTJ5o2bRo5Ojrm2etiGKbo+fbtmxA0fwybz549I57niYjI3NxcJWSm/q+enl4B9z5ju26+pikHgyiFR4ZB8r/EIo4kIo6mtXChTpWs8rCHvwcWKIugK1euUPXq1enff/8t8BGn5cuX06hRo+jjx4+kr6+f6fMAkIeHB0VGRtK9e/dILBYLz3348IFcXFyoadOmtHXr1hz38ePHj+Tu7k4pKSl06tQpGjZsGJ08eZIOHjxIbm5u1LRpU/r333/p0KFDVKlSJfLw8KDbt29TiRIl6OrVq3n6qzspKYnmzZtHM2bMIAcHB9qwYQNFRkbSwIED6dOnTzR58mQaNWoUyWQyIiJKSUmhNWvWkLe3N/E8T9OmTaNBgwaRVCrN8DrJycm0ceNGmj59On38+JE8PT3J29ubLC0t8+y1MQxT9H379o1CQ0NVRjODg4Pp6dOnQtA0MzNLN2hm5Tsjr6w4+4QWngjNcTujGxSnIbWL9g91FiiLIF9fX+rfvz/FxcXl6QhaZnz8+JEsLCxozZo11KdPnyyde/PmTapcuTKtXbuW+vbtq/Lcli1bqEePHnTo0CFq1qxZjvv5+vVrqlmzJqmrq9OJEydo4MCBdPr0aTpw4ABVr16dWrVqRZcuXaK9e/dSgwYNqFWrVhQYGEimpqZ048aNPA9eqaOOt27douHDh9P48eNpwYIFtHjxYipZsiStWbOGqlWrJhwfFhZG3t7etGbNGipZsiQtXbqU6tWr98vrJCQk0D///EOzZ8+mmJgYGjRoEI0fP56MjIzy8uUxDPOHSUhIUAmaqWHz6dOnpFQqiej71K3/3jZ3cXHJ8Z2pzNp18zWN2/cg19qb16YUdSzCI5UsUBZBo0aNogMHDtDTp08LuitEREKQOXXqVJbP/euvv+j06dP05MkT0tLSEh4HIIwcBgUF5coo4ZMnT8jd3Z1MTU3p2LFj1Lt3bzp9+jQdPHiQatasSZ06daIjR47Q9u3bqV27djRo0CBavXo1aWpq0pUrV6hUqVI57kNGUlJSaMmSJeTt7U3m5ubk6+tLenp61K9fP7p16xb179+f5syZo/Je3L17l4YOHUqXLl2iNm3a0KJFi8jGxuaX14qJiaElS5bQwoULied5GjFiBI0aNYp0dHTy7gUyDPPHS0xMpNDQ0DRzNJ88eSIETWNj4zSjmS4uLmRoaJhr/XgTEU/1fM5TYgpPfNI3ir6+jxLfP6akD6HEJ8SSQZPhpFla9Ud64vvHFPvgNCW9f0xJX14S8UqyHndYeF4uEdGpER5Fd05lASwEYvJY48aN0bx584LuhmDdunUQiURpaktmxsuXLyGXy+Ht7Z3mudevX0NLSwt9+vTJjW4CAB48eAB9fX1UqVIFYWFhaNKkCdTU1HDy5EkkJSWhS5cuEIlE2LhxIwBg9uzZICJIpVKcOnUq1/qRkcePH6NmzZogIgwYMAARERFYtmwZNDU1YWpqit27d6usROd5Hjt27IC5uTnU1NQwefLkTG/LFhYWhrFjx0KhUEBPTw9z585lW7oxDJPvEhMT8eDBA/j5+WHy5Mlo164dnJ2dIZFIhFXnRkZGqFWrFgYNGoQVK1bg7NmzKtvZZkVX32uwmxAI63GHYTFgPYgIYm0jyK1KgYhg0GS4ygpv63GHoVO9M0gkgczUARL97/uw//i83YRAdPW9lsvvzO+DjVAWQTY2NtSxY0eaN29eQXeFiIgiIiLIxMSEfHx8aMiQIVk+f/z48bR06VIKDQ2lYsWKqTy3du1a6t+/P504cYLq16+fK/29desW1alThypWrEj79u2jv/76i86cOUOHDh2i2rVr06BBg2jt2rW0fPlyGjJkCG3dupV69OhBHMfRxo0bqXv37rnSj4zwPE///PMPeXl5kb6+Pq1Zs4ZKlSpFf//9N+3fv5+aNm1KK1euJGtra+Gc2NhYmj17Ni1atIhMTExo0aJF1K5dO2G1eEbev39Ps2bNorVr15KhoSFNmjSJ+vbtK8zdZBiGKQhJSUn09OnTNHM0Q0NDKTk5mYiIDA0N052jaWxsnO7n35NPMVR/yQXh35GSTHxCLIk19SjxwxP6uHlEuiOUyrhI4mTqJJLKKeLEPxRzJ1BlhDLVqRHu5GCslebxwo4FyiImLi6ONDU1aePGjdSzZ8+C7o6gWbNmFBUVRZcuXcryudHR0eTg4EBNmjShTZs2qTwHgOrVq0fPnj2jhw8fkqamZq709+LFi9SwYUOqU6cO7dixgzp16kRnz56lQ4cOUd26dWnMmDG0aNEimjNnDo0bN45Onz5NjRs3puTkZJoxYwZNmjQpV/rxKy9fvqR+/frRyZMnqUePHrR48WK6cOECDRkyhCIjI2nGjBk0dOhQkkgkwjlPnz6lkSNH0qFDh6hWrVq0bNmyTN+uf/78OU2bNo22bt1K1tbWNHXqVOratavKoimGYZiClpycnG7QfPz4sRA0DQwM0g2a/9wIo23XX6e7ojujQPmjnwVKsYijbm7WNLWFS+6+4N9A3hTSYwrM48ePiYjI2dm5gHuiqnPnznT58mV6/fp1ls/V1tamadOm0ZYtW+ju3bsqz3EcR+vWraMvX77Q+PHjc6u7VLNmTdq/fz+dPHmS+vTpQ3v27KFatWpR8+bN6cyZM7RgwQKaOnUqjR8/niZMmEB16tSh27dvk6amJnl7e1O/fv2EFYx5ycbGho4fP04bNmyg/fv3k7OzMwGgkJAQ6tOnD40ePZoqV65Mt27dEs5xcHCggwcP0pEjR+j9+/dUrlw5Gjp0KEVGRv7yenZ2drR582Z68OABlS9fnnr27EmlSpWivXv3EvttyjDM70IqlVLJkiWpXbt2NHnyZPLz86MHDx5QXFwchYSE0N69e2nYsGFkYWFBly9fptGjR1PdunXJzMyMNh67kaXyQFmh5EFnQz/nSdsFjQXKIiY4OJiIiEqUKFHAPVHVokULUlNTIz8/v2yd37dvXypRogSNGjUqTXCxs7OjOXPm0IoVK+jixYu50V0iImrQoAHt3r2b9u3bR0OGDKG9e/cKofLs2bM0ZcoUYZRy2LBh5OLiQsHBwWRiYkLr1q2jpk2bUlJSUq7152c4jqNevXpRcHAwubm5UZs2bah37940YcIEun79OvE8T25ubjR8+HCKiYkRzmvcuDE9ePCA5s6dSxs3biRHR0dau3atMPE9Iy4uLrR37166efMmWVlZUbt27ahSpUp0/PhxFiwZhvltSaVSKlGiBLVp04a8vb1p586ddP/+fYqLi6NHjx7Rjj37SKSTcf3enHodHk9xiSl5eo2CwAJlERMSEkIWFhakra1d0F1RoaWlRc2aNaNdu3Zl63yJREILFiygs2fP0uHDaeekDBkyhKpXr06enp4UHx+f0+4KWrZsSVu2bKHNmzeTl5cX7du3jzw8PKhZs2Z05swZGjlyJK1Zs4ZWrFhBvXv3JnNzcwoJCSEnJyc6duwYValSRSXE5SVzc3Pav38/7dy5k86ePUvOzs4UGhpKN2/epHnz5tG6devIxcWFDh48KJwjk8lo9OjRFBoaSk2bNqX+/ftTpUqV6PLly5m6ZsWKFenYsWN07tw5ksvl1KhRI6pVq1a2pjYwDMMUFIlEQk5OTlS6Wh0i+vW88pwAEb0Mj8vTaxQEFiiLmJCQkN/udneqTp060Z07dyg0NHtFYps0aSLMX0ydA5NKJBLRhg0b6O3btzR58uTc6K6gS5cuQmicMWMGBQQEkLu7uxAq+/XrR9u2baOtW7dS586dSUNDg+7evUs1atSgu3fvkqurK338+DFX+/QzHMdRp06dKDg4mBo0aEBdu3alNm3aUOfOnSkoKIhcXV2pZcuW1LZtW3r37p1wnpmZGW3evJmuXLlCIpGIatSoQV27dlU5JiMeHh506dIlCgwMpOjoaKpZsyY1bdo0zRQFhmGY31lSSt5PVcrP6+QnFiiLmODgYCpZsmRBdyNdTZo0IU1NzWzf9uY4jhYtWkShoaG0du3aNM8XL16cpk+fTj4+PnTt2rWcdldF3759afHixTRnzhxavHgx7d+/XwiVZ8+epS5dupC/vz8dOHCAWrduTUTft0Ls0KEDvX79mkqWLCnMb80PRkZGtHPnTgoICKBbt26Rs7MznTp1ig4fPkx+fn50+fJlKlmyJK1cuVLlFnfVqlXpxo0b5OvrSydOnCAnJyeaO3cuJSYm/vKaHMdRkyZN6Pbt2+Tn50dPnz6l8uXLU4cOHejRo0d5+XIZhmFyhUySP7Eov66Tn4reK/qDpZZP+F0DpUKhoFatWtHOnTuzPc+uTJky1LNnT5o6dSp9/fo1zfMjRoygChUqkKenZ6ZCUFaMGDGCpk2bRhMnTqS1a9fS/v37hZG4c+fOUatWrejw4cN07tw5atKkCcXHx9OuXbto9OjRFBUVRWXLls30reTc0qpVKwoODqa2bdtS3759qUGDBlSpUiV69OgRdenSRZgqcP/+feEckUhEvXv3ptDQUOrbty9NmjSJXF1dKTAwMFPXFIlE1KFDBwoKCqL169fTtWvXyMXFhTw9PenVq1d59VIZhmGyJSEhgbZv307NmjWjmmVL5Pk8cI6IbAw08vQaBYEFyiIkdSeB3/WWN9H31d4hISH04EH2t7OaOXMmxcfH0+zZs9M8J5FIaMOGDfT06VOaMWNGTrqaLm9vbxo9ejQNGzaMduzYQfv376caNWpQkyZN6Ny5c1S/fn06fvw43blzh+rVq0eRkZG0YMECWrJkCSUkJJCHhwf5+/vner8yoqenRxs2bKBjx47RkydPyNXVlbZu3UqrVq2iS5cuUUxMDJUvX568vLxU5p/q6uqSj48P3b9/n6ytralZs2bUtGnTTE9ZkEgk5OnpSU+ePCEfHx8KDAyk4sWL09ChQ/NtCgDDMMx/ffv2jXbu3EktW7YkY2NjUigU1LVrVwoMDKTILx9JGZW3n09WBuqkIZf8+sDCpoAKqjN5YM+ePSAifP78uaC78lOJiYnQ19fH+PHjc9TOlClTIJPJ8OLFi3Sfnz59OsRiMe7cuZOj66SH53kMGDAAIpEIfn5+iI+PR/369aGuro5z584BAG7dugUDAwOULl0aHz9+BAD4+/tDJBKBiODj45Pr/cqM6OhoDBo0CESE6tWr49GjR0hMTMTMmTMhl8tha2uLY8eOpTmP53ns27cPNjY2kEqlGDt2LKKjo7N07ZiYGMyePRu6urpQV1fH+PHjERERkVsvjWEYJl3x8fHYuXMnWrZsCRMTE2FnnR//KVasGP766y80adIERg0HwWrsAZVdbvTq94dOza7QLNcERAT14tWgU7MrdGp2heVwv+876gzcIDwmM3cCEQn/btBspLBbzpQDDwv6LckTLFAWIdOnT4eBgUFBd+OX+vbtC1tbW5XtAbMqJiYGpqam6NSpU7rPJyUloUyZMihTpgySkpKyfZ2fUSqV6NatGyQSCQ4dOpRuqHz48CHMzMxQvHhxvH79GgBw6dIlyOVyEBGGDx+eo/cgJ86fPw8HBwfI5XLMnTsXycnJCA0NRZ06dUBE6Ny5sxCEfxQfH4/p06dDoVDA1NQUW7ZsgVKpzNK1IyIiMH78eKirq0NHRwezZs1CTExMbr00hmH+cHFxcdi9ezdatWoFU1NTleDIcRyICHK5HM2bN8c///yDxYsXo2LFiiAiWFlZoVT1+mm2VRRrG6cbRIkIFgPWw3rcYZh0nv3TY+SWrkJbTz5l7cd4YcF2yilCOnfuTO/evaMLFy78+uACdObMGapbty5dv36dKleunO121q9fT3369KFr166Rm5tbmufv3LlDlStXpqlTp+bJzjUpKSnUsWNHCgwMpMDAQKpWrRq1aNGCrly5QkeOHCEPDw969uwZ1a1bl4iITp06RQ4ODhQSEkLVqlWjqKgoatOmDfn5+ansZJNf4uPjacqUKbR48WIqV64cbdiwgUqVKkVbt26lkSNHklKppAULFpCnpyeJRKqzY16/fk1jxoyh3bt3U9WqVWn58uVUoUKFLF3/48ePNGfOHFq9ejXp6urSxIkTqX///iSXy3PzZTIMU8TFxcXRkSNHaOfOnXT16lWVKTVisVhYeFiiRAlq2bIlNWnShAwNDWn9+vW0ceNGioyMpIYNG5KRkRHt2LGDeJ4n447TSc2qNHHi3PtsFos4qmZnQFt7p/2+KgpYoCxCypYtS25ubrRmzZqC7kqGlEolFStWjDp16kQ+Pj45aqd8+fKkqalJly5dSndP1okTJ9KCBQvozp075OrqmpNupysxMZFatWpFFy9epJMnT1KZMmWoZcuWdOXKFTp69Ci5u7vT27dvqV69evT161c6efIkubq60vv376lKlSr05s0bqlq1Kp08eZI0NApmkvaNGzfI09OTHj9+TBMnTqQJEyZQdHQ0jRkzhjZt2kQ1a9akNWvWpLvY6+zZszR06FAKCgqi3r1706xZs8jYOGtFgV+9ekXTp0+nTZs2kYWFBU2dOpW6d+9eICGbYZjfX2xsLB07dox27dpFly9fVgmQUqmUOI6jpKQkUigU1KBBA2rSpAk1btyYzM3NKTAwkFatWkXHjx8nfX196tWrFxUrVowmT54s1AzmOI7E2sZkNXAtKUlEuVWXUi4R0akRHmSpr54r7f1u2KKcIkKpVNLjx49/6wU5qcRiMXXo0IH8/PwytStLRu0sXLiQrly5Qnv37k33GG9vb3JwcCBPT09KScn9nQnkcjnt3buXKlSoQI0bN6bHjx/TgQMHqGrVqtSkSRO6cOECFStWjC5cuEAmJibk4eFBt2/fJnNzc3rw4AGVLl2arl69SuXKlaMvX77kev8yo3LlynT79m0aP348zZo1iypUqEAvXrygjRs30pkzZ+jjx49UpkwZmjx5MiUkJKicW7t2bbp79y4tW7aM/P39qXjx4rR06dI0dUIzYm1tTevXr6egoCCqWrUq9e7dm1xcXMjPzy9ftq9kGOb3FhsbS/v27aN27dqRmZkZaWlpUfv27Wnv3r0UERFB2trawl0Ue3t7GjJkCJ06dYoiIyNp//791LJlS9q6dSvZ2dlRy5YtKTIykjZt2kR+fn60b98+GjFihBAmxWIx2dra0rnAvVSBXlBuFjmf3sKlyIZJImKLcoqKp0+fgohw/Pjxgu5Kply5cgVEJMw3zInGjRvDzs4OCQkJ6T5/7do1iEQizJ8/P8fX+pmvX7+iUqVKMDQ0RHBwMOLi4lCnTh1oaGjgwoULAL7PHXRzc4O2tjYuXrwIAEhISEC9evVARDA2NsazZ8/yrI+Zce/ePZQrVw4ikQhjxoxBfHw8vn37Bm9vb0ilUhQvXhxnzpxJ99wvX76gf//+4DgOLi4uOHXqVLb6cOfOHTRp8n3ie5kyZXD48OECm2vKMEz++/r1K/bu3Yt27drBzMxMdS6iXA5jY2Po6uqCiKCmpoYmTZpgxYoVKp+fPM/j4sWL6Ny5M6RSKdTU1ODp6YmbN28iJCQEHh4eKu1qaWmBiNCvXz9ER0djxIgRICJoV+2QZj5ldv5ZceZJAb6j+YMFyiLi0KFDICJh8cfvjud5WFtbY8CAATlu6+HDhxCJRFi0aNFPjxk1ahTkcjkePXqU4+v9THh4OEqVKgVzc3M8e/Ys3VAZHR2N2rVrQ6FQ4MSJEwC+L/Dp0aMHiAgaGhq4efNmnvUxM5KSkjB79mzIZDI4OjoK4TcoKAg1atQAEaFnz54ICwtL9/w7d+6gevXqICK0bdv2pyvxf+XixYuoWbMmiAjVqlXLlR8fDMP8fqKiouDv74/27dunGyCtrKzg4OAAqVQKIoKdnR3+/vtvHDlyBPHx8SptRUdH459//kGpUqVARHBwcMDixYsRHh6O9+/fo3v37irtKxQKaGpqwsTEBIcOHYJSqRQqYRARxo8fj503XqH4pCOwGXcoSyHSbkIgik86gl03XhXQO5u/WKAsIubPnw9NTc1CNZIzduxYGBoa5soq7P79+0NXVxfh4eHpPh8XFwcHBwdUr149y6uSs+Ljx49wdHSEjY0N3rx5oxIqU4NZfHw8mjZtCplMhoCAAADfA7a3tzeICBKJBIGBgXnWx8wKDg5G1apVwXEchgwZgpiYGCiVSqxduxa6urowNDTEli1b0v0zx/M8tm/fDnNzc6ipqWHKlCmIi4vLch94nsexY8dQvnx5EBEaNGhQ4IGbYZiciYyMxN69e9GhQ4d0A6SjoyPc3NxgZWUFIoJMJkP9+vXh4+ODx48fp/uZ8/DhQwwePBhaWloQiURo2bIljh8/DqVSiejoaEycOBFisVhltbezszOICK1bt8bnz5+hVCrRp08fcBwHjuPQt29f4VovPkejWNe534Pi+F8HSetxh9HV9xpeh2f9c6+wYoGyiOjZsycqVapU0N3Ikjt37oCIcPTo0Ry39fHjR2hqamL48OE/Peb8+fMgIixbtizH18vI69evYW1tDScnJ3z69AlxcXGoXbu2SqhMTExEhw4dIBaLsW3bNuHcdevWCR9ma9euzdN+ZkZKSgp8fHygrq4OGxsbnDx5EsD397tz584gItStWxehoaHpnh8TE4Nx48ZBJpPBysoKe/bsydaPHp7n4e/vj5IlS4KI0KZNGwQFBeXotTEMkz8iIiLg7++fboCUyWRwdnZGo0aN4O7uDoVCASKCpaUl+vfvjwMHDvy0rFhSUhL8/PyE29fGxsaYOHEiXr16JTy/cuVKaGtrq1yzRIkSMDc3h5aWFjZt2gSe55GcnIxu3bpBJBJBIpGgbdu2SElJEa61a9cuEBHqte2GKQcewn3BGdj8J0jajDsM9wVnMOXAwyJbGigjLFAWEW5ubujevXtBdyNLeJ6Hk5MTevTokSvtzZo1C1KpFE+e/HyuyuDBg6Guro7nz5/nyjV/5smTJzA1NUWZMmUQERGB2NhY1K5dG5qamrh06RKA72GtV69e4DgOq1evFs4NDAyERCIBEWHixIm/xajzs2fPULt2bRARevfujcjISADA0aNHYWtrC7lcjpkzZyIxMTHd80NDQ9GsWTMQEWrXro0HDx5kqx8pKSnYvHkzbGxswHEcunfvnuf/LRmGyZrw8HD4+/ujU6dOaQKkVCpFqVKl0KVLF3Tt2lX4kSiRSFCrVi3Mnz8fDx8+zPBz782bN5g8ebJQY7JmzZrYuXOn8PnD8zz27t0rjHCm/qOjo4M2bdqA4zi4u7sL03GSkpLQsWNHiMViKBQK1K1bV2VOPs/zsLW1BRHh/v37wuOxCcl4+C4Kd15F4OG7KMQmJOfNG1pIsEBZBPA8D21tbcydO7egu5JlU6ZMgba2Nr59+5bjtuLj42FpaYk2bdr89Jjo6GhYW1ujTp06eR7UHj58CAMDA7i5uSE6OhqxsbGoVauWSqhUKpX4+++/QURYsGCBcO6NGzegrq4OIkK3bt1UfikXFJ7nsWbNGmhpacHc3BwHDx4E8H06wdixYyEWi+Hi4iK8tvQEBgbC0dERYrEYf//9d7Z3yklMTMTKlSthamoKqVSKgQMH4t27d9lqi2GYnPny5Qt2796dboCUSCRwdXXFoEGDMGHCBLRs2RKampogIpiZmcHT0xP+/v6IiorK8Bo8z+PUqVNo06YNxGIxNDU1MXDgQJWAB3yfe51apDz1H5FIhB49esDFxQUymQwLFiwQPlMTExPRunVrSKVS6OjooGLFiml2ATt+/DiICGXLls3dN66IYYGyCHj79i2ICAcOHCjormRZcHAwiEiYS5hTW7duBREJi2DSc+LECRBRvtxSvnXrFrS1tVGrVi3Ex8enGyp5nseECRNARJg8ebIQdJ88eQJDQ0PhtvJ/J58XlNevXwursDt37owvX74A+L5CvHLlyiAi9O/fXxjF/K/ExERhzq+hoSHWrl2b7cAcFxeHefPmQU9PD2pqahgzZsxPFwsxDJM7Pn/+/NMAKRaL4ezsjJEjR2LVqlUYO3YsypQpIwS76tWrY9asWbh7926mftRHRkZiyZIlcHL6vpWhs7MzVq5cia9fv6ocFxISghYtWqTZoaZatWoYN24cpFIpSpcurRJAv337JsxnNzY2hpOTk/B59qPUOdyHDh3K+ZtXhLFAWQScPHkSRPTTeWy/uzJlyqBjx4650pZSqUTFihVRqVKlDBff9O7dG1paWvmyKv7ixYtQV1dHkyZNkJiYiNjYWHh4eEBTUxOXL18WjpszZw6ICCNGjBA+aD9+/Ag7OzsQEUqVKvXTRUf5jed5bNmyBXp6ejAyMoKfnx94nkdKSgqWL18OLS0tmJiYYNeuXT/90vhxxWX58uUzHNn8laioKHh7e0NDQwPa2tqYNm1alvcaZxgmfZ8+fYKfn1+6AVIkEsHJyQnDhw/Hvn37sG7dOnTo0EEo62NoaIhu3bph586dWfr8unPnDvr06QOFQgGJRIIOHTrg/PnzaT5P3r9/j379+glzz1P7pa+vD19fX9SoUQMcx8HLy0vlNnZcXBwaNGgANTU1WFtbo1ixYsLcyx9du3ZNGE3NywWdRQELlEXAsmXLIJfLkZxcOOdvzJkzBwqFItf2c05dfLN9+/afHhMVFQULCws0btw4X+Yonjx5EjKZDO3bt0dycrIQKrW0tFRC5YoVK0BE6NOnjzBqFx0dLYz8WVhYpPuhV1A+fPiAtm3bgojQqlUrvH//HsD3UfM2bdqAiNCkSZMMSwdduXIFFSpUABGha9euObp1/enTJ4wYMQJyuRyGhoZYtGjRbzOyyzCFxYcPH7Bz50506dIl3b2wHR0d8ffff+P48eM4d+4cJk+eLNxm5jgOlStXxtSpU3H9+vUshbBv375hy5YtqFKlivB5N336dOFz5UfR0dGYPHky1NTUIBKJVALumDFjsHr1amhqasLGxibNHauYmBjUrl0b6urqcHFxgYGBAYKDg9PtU/369UFEWL58edbexD8QC5RFwIABA1CqVKmC7ka2vXjxAkSEHTt25FqbrVq1gpWVVYZhIrV25+bNm3PtuhnZv38/xGIxevToAaVSidjYWLi7u0NLSwtXrlwRjtu0aRNEIhE6d+4slFRKTExE8+bNhYnl//77b770ObP27NkjFBveuHGjENIPHDiAYsWKQV1dHQsWLPjpjx6lUglfX18YGRlBQ0MDc+fO/Wmh+sx48+YN+vXrB7FYDAsLC6xZsyZXylMxTFH07t077Nix46cB0s7ODoMGDcKxY8fw8uVLbN++HX/99RcMDAxARNDT00OnTp2wZcsWfPr0KcvXf/78OcaOHSu0V69ePezbty/dz4ukpCSsWrUKhoaGKiOSRITq1avj9u3bwq1vT0/PNLfGv379iurVq0NLSwtubm7Q0NDA9evX0+3Xw4cPhVqVsbGxWX5dfxoWKIsADw8PdOjQoaC7kSNVqlRBixYtcq29x48fQyKRYM6cORke17VrV+jq6qb7Czgv7NixAxzHYfDgweB5HjExMahZs2aaULlnzx5IpVK0aNFCWLCkVCoxcOBAodTG6dOn86XPmRUWFoauXbuCiNCwYUNhJDU6OhrDhg2DSCRC2bJlcePGjZ+2ERkZiWHDhkEsFsPBwQGHDx/OUZ9CQ0PRpUsXcBwHe3t7bN++nd22Yv54b9++xfbt29MNkEQEGxsb9O/fH4cOHUJERARu376NGTNmoGrVqsJoYLly5TBx4kRcvnw5W3fHUlJSEBgYiCZNmoDjOOjo6GD48OE/3XwideW2o6OjMBL54+3tgwcP4sCBAzAyMoKRkRH279+fpo2IiAhUrlwZOjo6aNCgAaRSqVAKLT2dO3cGx3EYNWpUll/fn4gFyiLA2NgYU6dOLehu5MiSJUsglUqzveo3PUOHDoWWllaGv5jDwsJgbGyMVq1a5Vt5nnXr1oGI4OXllSZUXr16VTjuyJEjUFNTQ926dVV+HafOtRSJRCo1LH8XgYGBKFasGDQ1NbFq1SohwN28eVPY1nHo0KEZznF8+PAh6tSpAyJC06ZNczw/+N9//xVGLUqVKoUDBw78FuWYGCY/vH79Glu3bkWXLl1gYmKSJkBaWlqid+/e2LdvH8LDwxEZGYndu3ejV69eQuDU0tJC27ZtsX79+hxNS/ny5QvmzZsnlOEpV64cfH19MxwBvHTpEqpWrSoUPv/v7e3Pnz+jd+/eICI0b94cHz9+TNNGWFgYypUrB319fXTs2BEcx2HPnj0/vebLly8hEonAcVyh2YGuoLFAWciFhYWBiODn51fQXcmRd+/egeM4bNiwIdfaDAsLg66uLgYOHJjhcf7+/vn+Hvr4+ICIMHPmTAD4aag8d+4cNDU1Ua1aNZVV01u3bhVu9/xqFLYgREVFoV+/fiAieHh4CLVBk5OTsWjRIqirq8PCwiLD1f2pIxLW1taQSqXw8vLK8UKbq1evCvU03dzcfrtRXobJDa9evcLmzZvRpUsXGBsbpwmQFhYW6NmzJ3bv3o1Pnz6B53ncv38fc+fOhbu7u7CjjKurK8aMGYOzZ8/maMoIz/O4evUqunXrBrlcDrlcju7du+PatWsZ/rALCQlBq1atQERCqaEfb28/e/YMFy9ehK2tLTQ1NeHr65tue58+fUKpUqVgZGSEwYMHg4hUav+mZ/DgwRCJRGjXrl22X/efhgXKQu7ixYtpiq0WVrVq1UL9+vVztc2FCxdCLBb/dMJ1qnbt2sHIyAifP3/O1etnZPr06SAiLFmyBMD3UFmjRg1oa2vj2rVrwnHXr1+Hnp4eypUrp9K/U6dOQSaTgYgwYMCA3/JW7unTp2FrawuFQoGFCxcKC41evHghlB5q1aoV3rx589M24uPjMW3aNKipqcHMzAxbt27N8ejiqVOnhIVOdevWVXm/GaawefHiBTZt2oTOnTunGyBNTU3RtWtXbN++XZjeEx0djYCAAPTt2xfFihUDEUFdXR0tWrTA6tWrc2XxX2xsLNatW4dy5cqBiGBra4t58+alW5rnRx8+fED//v0hEomgqampMlfSwMAAAQEBSEhIgJeXFziOE8Jlet6/f4+SJUvC1NRU2N521qxZGV7/06dPwmcr+2zIPBYoC7m1a9dCJBLlaAHD72LNmjUQiUTZmtT9MwkJCbCzs0PTpk0zPO7jx4/Q19dH586dc+3av8LzPMaMGQMiwvr16wF8/5BPL1Tev38fJiYmKFmypMrtprt370JLSwtEhGbNmv2Wfw5iY2MxbNgwcBwHNzc3PHz4EMD31797926YmppCS0sLy5Yty7Ae5cuXL9GuXTuhttytW7dy1C+e57F//364urqCiNCiRYsi8cOMKdp4nsfz58+xYcOGnwZIIyMjdO7cGZs3bxZu1/I8j5CQECxatAh169aFVCoFEaF48eIYPnw4Tpw4kWufH48ePcKwYcOgo6MDjuPQtGlTBAYG/rLebOrKbXV1dSgUCsjlciFMikQijBo1CnFxcXjw4AHKlCkDqVSKOXPm/LTdN2/ewNHREcWKFYOPjw84jsPw4cN/+YN0woQJEIvFhW4744LGAmUhN3z4cDg6OhZ0N3LFly9fIJFIsHLlylxtd/fu3SAinDp1KsPjtm3bBiJKdzJ3XuF5HgMHDgTHcdi5cyeA7x+q1atXTxMqHz9+DEtLS9jZ2alsN/j8+XNhnlPFihV/ueNEQbl8+TKcnJwgk8kwY8YM4RZaZGQkBgwYACJC5cqVce/evQzbOX36NFxcXMBxHPr27ZvjUeWUlBRs27YNdnZ24DgOXbp0yXD7TobJTzzP4+nTp/D19UWnTp1gZGSUJkDq6+ujXbt28PX1xbNnz4TAFBcXh8DAQAwePFiYs6impobGjRtj+fLlePr0aa71Mzk5GXv37kXdunWF+pNeXl6Z2ho1deW2sbExpFIp9PT0VF5f1apVERoaCqVSiYULF0Imk8HFxQV37979aZsvXryAra0trK2tsWnTJkilUnTr1u2Xd3K+fv0q3F7fvXt3Vt+GPxoLlIVcw4YNc3V1dEFr3Lgxatasmatt8jyPqlWrokyZMhn+QuZ5Hs2aNYOpqWmuLg76FaVSie7du0MikQjbGf4YKn8safHy5Us4ODjAwsICISEhwuNfvnwR9sS1tbX9bbch/PbtG8aNGwexWIyyZcvizp07wnOXL1+Gi4sLxGIxxowZk+Ek/eTkZCxfvhy6urrQ0dHB0qVLc1yHNSkpCatXr4a5uTnEYjH69euX4a14hskLPM8jNDQUa9euRadOnYTdslJL+KSWDmvdujVWr16Nx48fq4y4PX36FMuWLUOjRo2gpqYmfCYMHjwYgYGBiIuLy9X+vn//HtOnT4eFhYUQ/rZu3Zqp7XRT50kXL15cmNv54+vU19fHnj17wPM8Xr58CQ8PD3Ach5EjR2bY/pMnT2BpaQl7e3sEBARAXV0dTZs2zdQ80Llz50IkEsHc3LzQ1nYuKCxQFnJWVlYYN25cQXcj12zevBlElOtf5FeuXAER/XLRz9u3b6Gjo4OePXvm6vV/JTk5GW3btoVcLhdGUqOjo1GtWjXo6OiohMr379/DxcUFRkZGKr/QY2NjUbNmTWGe0a/mjRakW7duoXTp0hCLxZgwYYLw5ZCYmIjZs2dDTU0NNjY2OHLkSIbtfP78Wdglw8XFJVcW2cTHx2PhwoUwMDCAXC7HyJEj83VuLfNn4Xkejx49wpo1a9ChQwehFuOPwUpLSwvNmzfH8uXL8fDhQ5UAmZCQgBMnTmD48OFCMJNKpahXrx4WL16MR48e5XpFA57nce7cOXTo0AESiQTq6uro27evyg/EX/lx5ba1tTVEIpFQCojjOIwYMQIxMTHgeR6bN2+GtrY2LC0tcebMmQzbDQkJgbm5OZycnHDmzBno6+ujRo0amQrS8fHxMDIygkgkwoIFCzL9WpjvWKAsxGJiYvK1MHd++Pr1K+RyORYtWpTrbXfo0AFmZma/LFC7fv16EBGOHj2a633ISGJiIho3bgx1dXVh95wfQ+WP9RvDwsJQsWJF6OrqqtSvTEpKQocOHYRivBntaV7QEhMTMX36dEilUpQsWVJldfuTJ09Qr149EBE6duyIDx8+ZNjW7du3Ua1aNRAR2rZti5cvX+a4f1+/fsW0adOgpaUFTU1NTJ48+bedTsAUHqlzGf/55x+0b98e+vr6KmVwiAgaGhpo0qQJfHx8cO/evTS3aV++fIl//vkHzZs3h7q6OogIxYoVQ79+/bB///4823b069evWLFiBZydnYX5l0uWLFGpQPErP67ctrS0hJaWlkpNSTc3N+HH8JcvX4Qdt7p37/7Lv38PHjyAsbExXF1dcePGDZibm6N06dKZ7t+qVavAcRwUCkWWXhPzHQuUhdjNmzdBRBkWii6M2rRpg4oVK+Z6u8+fP4dMJsO0adMyPI7nedSvXx+WlpZpdlnIa/Hx8fDw8ICOjg5u374N4PuHeNWqVdOEyq9fv6JmzZrQ0NBQGZnjeR6jRo0CEUEsFsPf3z9fX0NWPXjwAJUqVRJGJVJHEniex9atW2FoaAhdXV2sWbMmw/lPPM9j27ZtMDMzg5qaGqZOnZor2y6GhYVhzJgxUFNTg76+PubPn5/rtw2ZoovneQQFBWHlypVo165dugFSoVCgfv36mD9/Pm7evJlmak5SUhLOnj2LMWPGwMXFRfi77eHhgXnz5uH+/ft5Wlf1/v37GDBgADQ0NCAWi9GmTRucOnUqS9dMXbktFothYmIirCxPHZHU09PDjh07hDYPHz4MExMTGBgYZOoz7O7duzAwMEDZsmURHBwMR0dH2NnZ/fLHaKrk5GTY2NhALpfj77//zvTrYv6HBcpCbMuWLSCiPPs1WlBSF9HkxcKI0aNHQ0ND45c747x8+RKampoYMGBArvfhV1L37jYwMEBQUBAA1VB58+ZN4di4uDg0aNAAcrkchw4dUmlnyZIlwgf20qVL8/U1ZFVycjIWLFgANTU12NnZqdzWCgsLQ69evYTac6nvyc9ER0dj3LhxkEqlsLa2hr+/f6582b579w4DBw6ERCKBmZkZVq5cicTExBy3yxQtSqUSDx48wIoVK9C2bVthgQnHcUJ9R7lcjjp16mD27Nm4evVqunP73r17B19fX7Rp00ao5GBqaopevXphz549eT6ClpiYiB07dqBGjRrCtSdPnpzl6UjR0dGYMmUKNDQ0oK2tLVRVkEgk4DgOHMfh77//Fn68x8TECDVsmzRpkqldzG7cuAE9PT1UrFgRL168QPny5WFqavrTUkLpSV2UmVffPX8CFigLsXHjxsHS0rKgu5Hr4uLioKGhIRT9zk2RkZEwMDBA7969f3nsypUrQUS/nLOTF8LDw1G6dGmYmZkJKzFTQ6Wurq5KqExISEDr1q0hkUiwa9culXZ2794tfImNGjXqt98dJjQ0VJgH2r9/f5UR4rNnz6J48eKQSqWYNGnSLyf9h4aGolmzZiAi1KlTRyhXlFPPnj1Dt27dwHEcbGxssHnz5l+WQ2GKLqVSiX///RfLli1D69atoaurKwRIiUQizGmsWbMmpk2bhgsXLqRbnic5ORmXLl3ChAkTULZsWWEEs1q1apgxYwZu376dL7VmX716hQkTJgjliGrVqoXdu3dnubD5jyu3ZTIZKleuDIlEIpQrSq3q8GOpritXrsDe3h7q6upYvXp1pj6vLl++DG1tbVStWhUfP35ErVq1oKOjg3///TfTfVUqlXB1dYWmpmaRWuSa31igLMRatmyJBg0aFHQ38kSXLl3g6uqaJ20vW7YMHMf98gNHqVTC3d0ddnZ2v5x3mRc+fvyI4sWLw9raWhgV+Pr1K6pUqQJdXV2VOozJyclCyPH19VVp5/z588Jqzw4dOuRox4v8oFQqsXLlSmhoaKBYsWIqC3O+ffuGKVOmQCaTwdHRMVOLcAIDA+Ho6AixWIyhQ4fm2gr+hw8fonXr1iAiODs7Y+/evb99YGdyTqlU4t69e1iyZAlatWoFHR0dIfylhiWJRIJq1arB29sbZ86c+emPn0+fPmHz5s3o2LGjEEQNDQ3RtWtX7NixA2FhYfn2mo4fP44WLVpAJBJBS0sLQ4YM+eXdgPT8d+V21apVYWBgIPywFYlE0NXVxebNm4W/L4mJiZg4cSJEIhGqVKmS6a1Wz507Bw0NDbi7uyMiIgKtWrWCmpoaLl68mKU+Hzx4UAi5Z8+ezepLZv4fC5SFWGpB2qIo9S/4gwcPcr3tpKQkFC9eHPXr1/9lAHjy5AkUCkWBvc+vX7+GtbU1ihcvLuxPGxUVlW6oVCqVQj3H1N13Uj148EC49VajRg3ExMTk6+vIjhcvXqB+/frChPzw8HDhuZCQELi7uwvP/WrnjYSEBMybNw+ampowNDTEunXrcm1U8caNG0I/K1SogOPHj7NgWYSkpKTgzp078PHxQcuWLaGtrS0Eo9TdVEQiESpVqoRx48bh+PHjP/0BqlQqcf36dUyZMkWYN0xEqFSpEiZPnoxr167l62h3eHg4Fi1aBAcHBxB93+d+9erV2f58+HHldqVKleDk5CSM0Kbuiz1w4ECV2/VBQUEoX748JBIJZsyYkelSPSdPnoRCoUC9evUQGxsLT09PiMViHD58OEt9Ti0rp6enhzJlyrC/uznAAmUhlZCQAJFIhDVr1hR0V/JEQkICdHV1MXHixDxpf//+/SCiX5alAYBFixaB4zhcunQpT/ryK0+fPoWZmRlKly4thKqoqCi4ublBT09PWLwDqO6+M3PmTJUPx9evX8PKygocx6FEiRJCQP2d8TyPDRs2QEdHByYmJti7d6/wnFKphK+vL/T09GBgYIBNmzb98svg3bt36NatmxD+UlfT54azZ88KX6YeHh4F9ueFyZmUlBTcunULixYtQvPmzVUCpFwuF25nly1bFqNHj0ZgYGCGi/fCw8OxY8cOdOvWTShKrquri44dO2Lz5s0F8vfw5s2b6NWrF9TU1CCVStG5c2dcunQp22Hqx5Xbzs7OwrQVhUIhjPxVqFBB5bNKqVRiyZIlkMvlKFGiRJZ2vgoMDIRcLkfjxo3x7ds3jB07FkSErVu3Zrnv586dE/q4adOmLJ/P/A8LlIXUgwcPQES/dVmYnOrduzfs7e3z5Bcjz/Pw8PCAs7PzL38Rp6SkoEqVKihevHiurBrOjqCgIBgYGKBy5crCIqyMQuWMGTNARPDy8lJ5/8LDw1GmTBlhkn1mby0VtHfv3qFly5YgIrRv317lS/jTp0/o0qWLMFcyM6/p8uXLKF++PIgI3bp1y7VC8DzP4/Dhw8J73LRp0wx382AKXnJyMm7evIkFCxagWbNmwgIYsVisEohKlSqFYcOGYf/+/RlOm+B5Hnfu3MHMmTNRrVo1YSV3mTJlMH78eFy8eLFACmbHx8dj48aNqFSpklCyZ9asWTkKtD+u3La0tETz5s0hk8mEKTYikQja2trw9fVVmf/5+vVrYUedoUOHZulzdf/+/ZBKpWjZsiUSEhIwf/78dO/KZFbDhg1hYGAAY2Pj33Lr2sKEBcpCKnUldH7NsSkIJ0+eBBGpLEDJTbdu3QIRYfXq1b88Njg4GDKZDF5eXnnSl8y4ffs2tLW1UatWLeEDOCoqCpUrV04TKgHAx8cHRIRBgwapfJjHx8cLt2g1NTVViqb/zniex65du2BoaAh9fX1s27ZNJSwfO3YMtra2kMvlmDFjxi9XYKekpGDdunUwNDSEpqYm5s2bl2tfKEqlErt27YKjo6Mwd/XRo0e50jaTM8nJybh+/TrmzZuHJk2aQENDQwiQqTUdiQglS5bE4MGD4e/v/8spFVFRUdizZw88PT1hZmYmFCNv06YNfH198fbt23x6dWk9efIEo0aNEqa8NGzYEAcOHMjRrfUfV26njraamJhAIpFAIpEI8yX79eun8h3F8zy2b98OHR0dFCtWDCdPnszSdXfv3g2JRIL27dsjKSkJGzZsABFh0qRJ2Xodd+7cARFlqpwc82ssUBZSU6dOhZGRUUF3I08lJyfD2NgYo0aNyrNrdOvWDcbGxpmqNzl79myIRKICrft5+fJlqKuro3HjxkJg+jFU/nenCl9fX3Ach+7du6uMiqSkpKBHjx7C/Kb/lhz6nX3+/BmdOnUCEaFZs2YqX9ZxcXEYN24cJBIJSpYsmanJ+RERERg6dCjEYjEcHR0RGBiYa31NTk6Gr68vLC0tIRKJ4OnpiVevXuVa+8yvJSUl4erVq5g7dy4aNWokBEiJRCLs2UxEcHBwQL9+/bBz585f1i7keR4PHjzAvHnz4OHhIazmdnZ2xujRo3HmzJkCLSmVkpKCAwcOoGHDhiAi6OnpYdSoUTkuh/Pjym25XI7OnTsLK9I1NDSEOaFlypRJ80M1PDxc2HShS5cuWV4ct23bNohEIvz1119ITk5GQEAARCIR+vfvn+27WB06dIC+vj5kMhk+ffqUrTaY/2GBspDq2LEj3N3dC7obeW7w4MEoVqxYnpXLeP36NdTU1DBhwoRfHpuUlITy5cvD1dW1QL8sTp48CZlMhrZt2wohMTIyEpUqVUo3VO7atQsSiQRt2rRRGYHjeR7e3t7CnLC1a9fm6+vIqf3798PMzAza2tpYt26dypfK/fv3UaVKFRAR+vbtm6kvrwcPHqBOnTrCrercnA7w7ds3LFmyBEZGRpDJZBg6dGihmMNaGCUmJuLy5cuYPXs2GjRoIIw6SiQSaGlpCaHHxsYGnp6e2Lp1a6ZqK8bExODAgQPo378/LC0tQURQV1dH8+bN8c8//+TK7kw59enTJ8yePRtWVlbCwpiNGzfmeKrOjyu3OY5DmzZt0Lx5cxCRsMpdIpFAW1sb//zzT5rRz2PHjsHMzAx6enppSptlxoYNG8BxHHr16oWUlBScPXsWcrkc7du3z/ZIa2hoqLDiPDNl5JhfY4GykCpdunSBFN3ObxcvXszzuaITJ06EmpoaXr9+/ctj7927B4lEgilTpuRZfzLjwIEDEIvF6N69uxC2U0Olvr5+mnl7Bw8ehFwuR6NGjdLs8rJmzRphlMbb27tQrXKMiIiAp6cniAh169bF8+fPhedSUlKwcuVKaGtrw8TEBDt37vzla+N5Hv7+/rCysoJUKoWXl1euroiPiYnBzJkzoaOjA3V1dUyYMCHXyhj9qRITE3Hp0iXMnDkT9evXF+Y9SqVS6OjoCAGyWLFi6NatGzZs2IAXL178st3UPbYXL16MevXqCSu6HR0dMWzYMBw/fvyXtVDzA8/zuHTpErp06QKpVAo1NTX06tUr1+6k/Lhyu27duujXrx/kcrmwa05qqaSePXum2fM+Li4OgwcPBhGhQYMG2br1v3r1ahARBgwYAKVSidu3b0NLSwv169fP0RSVPn36CKWafqyFyWQfC5SFUEpKCuRy+W+/+0luUCqVsLS0xKBBg/LsGtHR0TAxMUHXrl0zdfzkyZMhkUiyVDg3L+zcuRMcx2HQoEFCUMooVJ46dUqo2fbfW/wHDhwQbtv16NGjQBYN5MTx48dhZWUFdXV1LF26VGVE+927d2jbti2ICI0aNVIJnT8TFxeHqVOnQk1NDebm5mnma+ZUeHg4xo0bB4VCAV1dXcyePbtAap0WRgkJCbhw4QKmT5+OunXrCgtAZDIZ9PT0hEUwpqam6Ny5M9auXYsnT55k6r9ffHw8jhw5giFDhsDOzk7Y1aZRo0ZYunTpb7WILSYmBqtXr0bp0qWFW/aLFi1SKa+VEz+u3C5btizGjh0LMzMzYaQ39X12dXVNt6LB9evXUbx4cSgUCqxYsSJbf3+WLl0KIsKwYcPA8zweP34MIyMjVK5cOUc/9N6+fQupVIpixYqhXr162W6HUcUCZSH05MkTEBFOnDhR0F3JF6NHj4aRkVGehpzUUbrMLABKTEyEq6srypcvX+DBy9fXF0SEsWPHqoTKihUrphsqL1++DB0dHVSqVCnNgq4rV64I88vq1atX6Parjo6OFkZDqlevnmYRzMGDB2FpaQmFQoH58+dnqsD7y5cv0a5dOxARqlWrlmbhU059+PABf//9N6RSKUxMTLBs2TK20vQ/vn37hnPnzmHatGmoXbu2ULpHLpdDX19fWABiaGiIdu3aYeXKlQgODs50gHn27BmWL1+Oxo0bC+HU2toagwYNwuHDh3+7vwdBQUEYMmSIEOpatGiBY8eO5dq0oB9XbltbW2Pq1KmoXLkyiEgoeySVSqGpqYmlS5em+QxMSkrClClTIBaLUalSpWwvRktdvZ362fb27VtYW1ujZMmSv1wk9SsjR44UVvPn5pzpPx0LlIVQatHvglw5mJ9SV2PnZYBOTk6Gi4sL3N3dM/VFdOPGDYhEIsyZMyfP+pRZqXt2z5gxQ3gsIiICFSpUgL6+Pu7du6dy/J07d2BoaAhXV9c0iw9CQkJgZGQEjuNQpkyZHH9wF4Tz58/DwcEBcrkcc+fOVfnCi4mJwYgRIyASidJdOPAzp0+fhouLCziOQ79+/dLc2supFy9eoFevXhCJRLCyssKGDRsK/MdKQfn27RvOnj2LKVOmoFatWsKtZjU1NRgaGgoj6bq6umjZsiWWLl2K+/fvZzpQJSQk4OTJkxgxYoRK4e26deti4cKFWQqj+SUpKQm7d+9GrVq1hGA3YcKEXJ23+ePKbT09PUyaNAkdO3YUricWi4XA3bVr13QXLj169AiVKlWCWCzGlClTsr0r1/Tp01Wm4ISHh8PZ2RmWlpaZmpqUkbCwMGhoaKBEiRJwcnLKl+0s/xQsUBZCc+fOhZaW1m/3oZdXeJ6Hg4MDPD098/Q6R48eBREhICAgU8ePHTsWMpkMwcHBedqvzEitO+nj4yM8lhoqDQwM0oTK4OBgmJubw8HBIc2X0rt372Bvbw+O42BpaZmpW8S/m7i4OIwePRoikQgVKlRIMz3h1q1bKF++PDiOw5AhQzK1yj8pKQlLly6Fjo4OdHV1sWzZslwPfSEhIWjfvj2ICE5OTti9e3eR/8KLj4/H6dOn4e3tDXd3d2FOnkKhEPaBTi3D07RpUyxcuBC3b9/O0mKMV69eYfXq1WjRooUwCm9hYYG+ffsiICBAqO36u3n79i0mT54slCKqUaMGduzYkauj2P9duT18+HB4eXlBTU0NWlpa0NLSgkQiAcdxKFmyJM6dO5emDZ7nsWLFCigUChQvXjzbpch4nsekSZNUfiDHxsaiSpUqMDQ0REhISI5eKwBhKgvHcVi1alWO22P+hwXKQqhHjx6oXLlyQXcjX02aNAk6Ojp5fjuwQYMGcHR0zNQq7vj4eDg5OaFKlSr5ul1aenieh5eXF4gI69atEx7PKFQ+e/YMtra2sLS0TDM3LDIyEpUrVwbHcemuHC8srl+/DhcXF2Eh1Y//XZOTk7F48WJoaGjAwsIC+/bty1Sbnz9/Rt++fcFxHFxdXXHmzJlc7/ft27fRuHFjYf5aYGBgkfkBGRcXh5MnT2LSpEmoUaOGECDV1dVhamoqjIKpq6ujYcOGmDt3Lq5fv56l8J6UlIRz585h7NixcHV1FepM1qxZE3PmzMG///77276fPM/j9OnTaNu2LcRiMTQ0NDBgwIBcn7P935Xb3bp1w9KlS1GsWDFIJBIhxMrlcqirq2PhwoXpjji+ffsWDRo0ABFh8ODB2Z4i8OMuXwsWLADwfXpRw4YNoampmSv1iGNiYqCvr49y5cpBT0+PzVvOZSxQFkKVK1dGz549C7ob+SooKAhEhAMHDuTpde7fvw+RSJTpBU+XLl0Cx3FYvHhxnvYrM3iex+DBg8FxHHbs2CE8HhERgfLly8PAwCDNl9Lbt29RokQJmJiYpFnp+O3bN6E0iFwuL7RzdhMSEoSFVK6urmlWv758+RLNmjUDEaFly5aZvqV269YtYfVr+/bt86RszIULF1CjRg1hXuj58+dz/Rp5LTY2FidOnMCECRNQrVo14Za1hoYGzM3NhbI+ampqqFOnDmbMmIFLly5luTTX+/fvsX79erRr107YLtHExAQ9e/bE7t27VfaP/h1FRkZi6dKlwm14Z2dnrFixIlOj51n148rthg0bYtu2bcK/29jYgOM4YSS3Q4cOP51etWvXLujp6cHMzAzHjh3Ldn94nsfQoUNBRFi2bBmA7wsyO3XqBJlMhtOnT2e77R8tXrxYqD9akJtUFFUsUBYyPM9DS0sL8+bNK+iu5LtSpUqhc+fOeX6d3r17Q19fP9NfQMOGDYNCochx0eDcoFQq0aNHD4jFYpXwHR4ejvLly8PQ0DBNqPz8+TPKli0LPT29NGFLqVSif//+wjZqW7ZsyZfXkRfu3buH8uXLQyQSYcyYMSq1+Xiex549e2BmZiYsNsjMqDPP89i6dSvMzMygUCgwbdq0XNmeMzYhGQ/fReHOqwg8fBuFgMNHUK5cOSEAZGXf4/wWExODY8eOYdy4cahataqwaEZTUxPFihUTiolLpVLUrFkTU6ZMwblz57JcgiclJQWXL1/GxIkThfeG4zhUqVIF06dPx61btwrFdIG7d++ib9++UFdXh0QiQYcOHXDu3Lk8GUH9ceV2uXLlsHPnTnTv3h1EBHNzc2hoaEAul4PjOBQvXvynO9lEREQI2522b98+Rzu2/fgZs2bNGgD/+3EsEomwd+/ebLf9o4SEBFhYWKBy5cqQSCSZqj3KZA0LlIXMmzdvQEQ4ePBgQXcl382aNQvq6up5fpvi/fv30NDQwOjRozN1fGxsLGxtbeHh4fFbfIElJyejbdu2kMlkKl8I4eHhKFeuHAwNDdOMRkZGRqJq1arQ0tJKMwrG8zxmzZol1KqcM2fOb3u78FeSk5MxZ84cyOVyODo6pqlvGhUVhYEDB4LjOFSqVCnT+3BHR0fDy8sLUqkU1tbW2Lt3b5bfo9CP0Zhy4CHc55+BzbjDsP7hH5txh1Fz/hn8tWg/ilfyABGhbdu2CAoKytI18sLXr19x5MgRjB07Fm5ubkI5GS0tLVhZWakUvq5atSomTJiAkydPZuvW6OfPn7FlyxZ06tQJ+vr6ICIYGBjgr7/+wvbt2wvNIrJv375h69atwqighYUFpk+fjvfv3+fJ9T58+IABAwYIK7c3bNiA6dOnQ11dHTo6OrCwsADHcVBXV4eamhpmz5790+lFJ0+ehIWFBXR0dHJcTislJQU9e/YEx3HYuHGj8PiUKVPSTN/JqdRdwywtLfNlYOJPxAJlIXPixAkQEZ4+fVrQXcl3T58+BRHBz88vz681bdo0yGSyTC9IOX36NIjot5nknZiYiMaNG0NdXV2lRlxGoTImJgZ169aFQqHA0aNH07S5ceNGoUj0wIEDC3zeaE6EhIQIX+ZDhgxJU9PuypUrcHV1hVgsxujRozP9IyY0NBRNmjQRikA/fPjwl+e8Do9DV99rsB53GHYTAlWC5H//SX2+9vR9sHb+Ptrao0ePfF04FRUVhcOHD2PMmDHCit7UHVNsbGyEPaNFIhEqVqyIsWPH4ujRo9mqG6hUKnHjxg2hdE3qn78KFSrA29sbV69eLVR/Dp8/fw4vLy8YGhoKf0b27t2bZyv6/7tye+HChdi6dSusra0hFouF2+upUwRat279061B4+PjMWzYMBAR6tSpk+PV1snJyejSpQvEYjG2b98uPL58+XLhh2tuSUlJgaOjo7B7VnYXDTEZY4GykFmyZAnkcnmh+hDNTZUqVUKrVq3y/DqxsbEwNzdHhw4dMn1O//79oamp+VtswQZ8/wKoVasWtLW1VW6R/hgqHzx4oHJO6rxJqVQKf3//NG0ePXpUWHXbokWL32KnkOxKSUnBkiVLoK6uDmtr6zRzRJOSkjBnzhyoqanB2to6S/XqDh8+DAcHB4jFYgwbNuyn0yd23niF4pOO/DJIphcsi086gn7zNsHExARSqRSDBw/OkxGuyMhIHDp0CKNGjUKFChWEEUhdXV3Y2dkJ4YjjOJQtWxYjRozAwYMHERUVla3rRUREYNeuXejevbtQ91BHRwcdOnTApk2bfrnP9u9GqVTiyJEjaNasGTiOg46ODoYNG5YrK5Z/5r8rt8eMGYMzZ84I83FLlCgBhUIBdXV1iMVi2NnZ4ciRIz9t79atWyhZsiTU1NSwZMmSHN+JSUpKQrt27SCRSLBnzx7h8e3bt4OIMGrUqFy9C7J7927hNn+1atVyrV1GFQuUhUz//v1RunTpgu5GgVm8eDFkMlm2v6yyYuPGjSAiXLlyJVPHf/36FcWKFUODBg1+m1vC0dHRcHNzg4GBgcpoWXh4OMqWLZtuqExKSkKnTp0gEomwefPmNG3euHED2tra4DgOlStXLvRbBz579gy1a9cGEcHT0zNN+Hv69Cnq168vLFDIbGhLSEjA3LlzoaGhASMjI6xbt07lh+DyM6FZCpE/+2fRsSDMnTsXenp6UCgU8PLyytFuKREREThw4ABGjBghlFYiIujr68PR0REmJibC9AcXFxcMGTIE+/bty/Y1eZ7H3bt3MWvWLFSvXl0IrKVLl8a4ceNw4cKFQlmT88uXL5g/fz5sbW2F1frr1q3L0yk7PM9j3759wsrt7t274+bNm+jVqxc4joOVlRUsLCwgEomgqakJuVyOadOm/fSHYXJyMmbOnAmJRILy5cvnyhSLhIQEtGjRAjKZTGWe95EjRyCRSNCjR49c/fzkeR7lypUTirP/GGCZ3MUCZSHj7u6OTp06FXQ3Cszbt2/BcRw2bdqU59dSKpUoW7YsqlSpkukPuCNHjoCIsH79+jzuXeZFRESgTJkyMDMzU5kqERYWhrJly8LIyChNqExJSUGfPn1ARFi5cmWaNkNDQ2FmZgaO42Bvb5/j218Fjed5rFmzBlpaWjA3N09TTYDneWzbtg1GRkbQ0dHBP//8k+lRmnfv3qFr167CrdorV65g541XuRImU//ZdeMVIiMjMWnSJGhoaEBbWxvTp0/PVH3F8PBwBAQEYPjw4ShbtqwQIA0MDODk5ARzc3MhQDo5OWHAgAHw8/PDp0+fsvVeA99/fO3duxe9e/cW2tfU1ETr1q2xdu3aQrtggud5XLt2Dd27d4dcLodMJkO3bt1w9erVPP+ReenSJVSrVk1YuHX9+nXMnj0bmpqa0NXVFconpc49bdq0KZ49e/bT9p48eYIqVapAJBJh4sSJWV51n574+Hg0atQIcrlcZVrN5cuXoVAo0KJFi1z/8XDs2DEQEerXrw9ra+tC+eOksGCBspAxNDTEtGnTCrobBcrd3R2NGjXKl2ulzo3MyrzNHj16QEdH57fayejTp09wcnKCtbW1SvgLCwtDmTJlYGRklGa+H8/zGDFiBIgo3aoCHz58QMmSJcFxXLojnYXRmzdvhDmQnTt3TrPIIzw8HJ6ensJWjJmZI5nq0qVLKF++PCQ6JrD12p9uMDTrvRLqTtUh0TEBJ5FDpNCGvJgLjNp6Zxgoi086gtfh3xe5fPr0CcOHD4dMJoOhoSEWL16sMgIVFhaGffv2YejQoShdurQQII2NjVGyZElYWloKj9nZ2aF3797Yvn073r17l+33led5PHz4EPPnz0etWrWE0kElS5bEqFGjcPr06VwJLAUlLi4Ovr6+KF++vFB6Z968ebm+o1J6/rvn9vHjx+Hv7w9bW1th+0OZTAZtbW1IJBJYWVllWH6N53msXr0a6urqsLe3z/Qdml+JjY0V5mifOnVKePzBgwfQ1dWFu7t7rlRI+K9atWqhbNmykEgkWLhwYa63z/wPC5SFyJcvX0BE2L17d0F3pUCtWrUKYrE431Z0NmvWDLa2tpkuqh4REQFTU1M0a9bst7n1DXwPSzY2NihevDg+fvwoPP6rUDl58mQQESZOnJjm9URHR6NmzZrCCtH0dtEobFJLAenr68PIyAh+fn5pXve5c+fg5OQEiUSCCRMmZPqLMCUlBbWm+cNq7IF0g6Fx+ylQsy0PnRpdoN9oCPTq9oW8mMv3kaVGQzKcU9nV95rKtV69eoU+ffpALBbDwMAAtWvXFkapUms0urq6wsbGRrjNbGVlhR49emDTpk0/XZyRWbGxsTh48CAGDBgAKysrYfebpk2bYuXKlYVyB6b/evz4MYYPHw5dXV1wHIcmTZrg8OHD+TLH/b8rt7dt24bbt2/Dw8NDmC9oamoKqVQKHR0dSKVSTJo0KcPV9e/fvxd+UPXv3z9bC6nSEx0dDXd3d2hqaqpUkXj+/DnMzMxQtmzZPJnGdPXqVaG0kaamZr5MlfqTsUBZiFy4cAFElKVRkaLo8+fPEIvF+Oeff/LleiEhIRCLxcLuDZmxf/9+EJHK6sXfwdOnT2FmZoZSpUqpzHn78uULSpcuDWNj43TnSc2fPx9EhKFDh6a51ZuYmChsFygWi4vMD56PHz+iXbt2ICK0atUqzdzJhIQETJ06FTKZDA4ODiqjLj8T+jE6y7ezrcYegNTYFhL9Yr889smnaHz69Am7d+/G4MGD4eLiIgRIIoJMJoOJiYmwMtvMzAxdunSBr68vnj17lqMfQDzP4/Hjx/Dx8UH9+vWFxVv29vYYOnQojh07licjUPktOTkZAQEBqFevnjA1YOzYsRnePs5NMTExKiu3Fy1ahJcvX6JPnz7gOA62trYoU6aM8KOBiNCgQQM8fvw4w3b9/f1hYGAAExMTHD58ONf6GxUVhapVq0JbW1tltPPjx49wcHCAg4ODyg/c3NSiRQuUKFECBgYG+Pvvv/PkGsz/sEBZiKxevRpisbhQ3xrKLQ0bNoSHh0e+XW/QoEHQ0dHJ0qhoaq28vPqwzK6goCAYGhqicuXKKnPsfhUq//nnH3AcB09PzzQjMEqlUrg9TkRYsmRJnr+O/OLv7w9jY2Po6upi48aNaUJXSEiIMCrUrVu3DG9zTjnwMMsruq3HHYbCvhJEGroZHmPjdRD2HcYJ/w0sLCxQrlw5FC9eXNjeMDXkWVhYYNWqVTlerRsfH4+jR4/i77//hr29vbCrUoMGDbBkyZI0W3oWZh8+fMCMGTNQrFgxEBGqVKmCLVu25Fulg9SV2yYmJsLK7Q8fPmD+/PnQ0tKCjo4OPDw8hBFpqVSKYsWKwd/fP8MfClFRUUJx89atW+fqbfrw8HBUrFgRenp6KlsnRkVFoWzZsjAzM8uzkeoHDx6AiIQFSX9iqb38xgJlITJs2DAUL168oLvxW0itiZhf8xQ/f/4MbW3tLP3K/fz5MwwNDdG+ffs87Fn23LlzBzo6OnB3d1e5BfarULl161aIxWJ06NAh3R82CxYsEALNyJEjf4tC77khLCwM3bp1ExY8/Lc0FM/z2LBhA/T09GBgYJBu8AQA9/lnMhUgLUf6o9jQ7TDvvw56dfqAOBHUnT1+eZ7t0M1wdnaGXC4XFmC0bt0ay5Ytw8OHD8HzPK5cuYJatWoJoSire5E/f/4cK1asQJMmTaBQKIRb5QMHDsShQ4eK1P7IPM/j/Pnz6NixIyQSCRQKBfr06YPbt2/nax/+u3L75cuXCAgIgL29PUQiEerUqQNDQ0MoFAoYGBhALBZj7Nixv7xlffbsWVhZWUFLSwubNm3K1Sk6nz9/RpkyZWBoaKiyQUB8fDzc3d2hq6ubphZuburatSssLS3h7OyMli1b5tl1mP9hgbIQadCgQb7UYCwMIiMjIZPJ4PN/7J11VFT79/73mZ6huzukVSxQUTG4imJhi93dCiZ2YHd3d+s1r92NiqiIgWABSsec5/cHvznXuTSC4OfLa61Z696ZE/vMjMxz9nvvZy9a9NvOOWfOHAgEgnyXjn5m9+7dIKIcPR1Lm2vXrkFFRQWNGzdWqg/98uULXF1dYWBggGfPnmXb7+DBgxAKhWjatGmOS5g7d+7kavLat2//P5VRP3HiBDc+MKcM36dPn9C5c2cQEerVq6f0XUlIzcg2ASe3h2qlxv8uVTM8yCrUgunw3fkvj487Bt8WrbBw4UI8ePAgV0HPsizOnj2LatWqgYjQsGHDXM2eU1NTce7cOYwcORIODg7c1Btvb2+EhITg6dOnZapWuDj4/v07VqxYwZUM2NvbY/Hixb/dIuu/ndsPHz7E48ePUb9+fRARatSoAVdXVxARzMzMQETw9vbO8d/tz6SkpGDUqFFgGAZ169Ytdu/c6OhoODs7w8DAQKlZLyMjA82bN4dUKsW1a9eK9Zw/ExERAT6fjwEDBoCIcPHixRI7Vzn/Ui4o/yBMTU0RFBRU2mGUGVq0aIEaNWr8tvOlpKTAwsKiUHe7LMuiZcuWMDAw+KV5tyXFuXPnIBaL0bp1ayU7jc+fP+cpKk+fPg2pVApvb+8csyBnz57lZgJ7eXnh+/fvJXodv5P4+Hj07dsXRIQ6derkOMP9zJkzsLGxgUgkwtSpU5GamorQqPgCL3Eb91kF/Q4zoNN0BKQ21SC194TpkG0F2jc0quCNByzL4tChQ5xwatGiBR4/fox3795hzZo1aNmyJTd729jYGL1798aBAwf+pz7Pn3ny5AkGDBgAVVVV8Hg8tGrVCufOnfvtgvm/ndtnzpzB58+f0b9/f/B4PFhbW3PeqEZGRhCLxTAyMsLOnTvzjfXBgwdwcXGBSCTC/Pnzi30V4cOHD7C3t4exsTHCwsK451mWRffu3SEQCPI0US8OBg4cCF1dXfj4+KBSpUr/czc8ZZVyQfmH8P37dxARtm7dWtqhlBl27doFIvqt3aI7d+4EERWqm/njx4/Q1NREly5dSjCyonP06FEIBAJ06dJF6cclP1F5+fJlqKmpwcPDI8fMzf3796GlpQUejwdHR8cSm1NcWly4cAHW1taQSqWYP39+trrS5ORkBAUFQSAQwMHBAQv2ni+Sx6RF4HFILCtDZGQH83HH8t32/tvCZ9FSUlIwYcIEaGpqcplRhmFQu3ZtzJo1Cw8fPvyf/VFOS0vDrl274OXlBSKCoaEhJk2aVCpemDl1bqekpGDBggXQ0NCAuro6WrZsCQ0NDaipqcHAwAA8Hg8jRozIV+RnZmZi9uzZEAqFqFixYoksN799+xY2NjYwNzdXqllkWRajRo36LY2KMTExkEgkGDp0KIgox+EM5ZQMPCrnjyAsLIyIiJycnEo5krKDn58fyWQy2r179287Z4cOHah69eo0cuRIYlm2QPsYGRnR4sWLadu2bXTixIkSjrDw+Pn50fbt22nHjh00ePBgAkBERHp6enT+/HnS09Mjb29v7juowMvLiy5cuEDh4eFUv359+vz5s9LrlStXpnv37pGpqSm9ePGCqlSpku0YfzLe3t70+PFj6tevH40ZM4Zq1apFT58+5V6XSqU0a9Ysun//PokcvWnxre9FPpfMoRalR7+kzNiofLcVCQr2Zz06Opo2bdpE7dq1I0NDQ5o5cyYJhULy8PAgLS0t4vP55OzsTF27dqWKFSsSwzBFjr8s8v79e5o0aRKZm5tTx44dicfj0Z49e+jt27c0bdo0MjU1/W2xJCYmUnBwMNna2tKePXto7ty59Pz5c9LQ0KCKFSvSmDFjqG7dumRiYkJHjhwhXV1dSkhIIDs7O3rw4AEtXLiQ1NXVcz1+REQE1a1bl8aPH08jR46kW7dukaura7FeQ0REBNWpU4dYlqXLly+TjY0N99q8efNowYIFtHTpUurUqVOxnve/LF68mAQCASUkJJCBgQG1b9++RM9Xzr+UC8o/hOfPnxMRkYODQylHUnZQUVGh5s2b/1ZByTAMLVy4kO7fv087duwo8H5du3alJk2aUN++fSk+Pr7kAiwi7du3p3Xr1tGqVato3LhxBRaVVatWpUuXLlFMTAzVrVuXPnz4oPS6lZUV3b17l1xcXOjTp09UvXp1unHjxm+7rpJGRUWFFi1aRFevXqXv37+Tu7s7zZgxgzIyMrht/vkioe8VmhJPICzyeZCRRkREbFpSntsxRGSpo5Lja3K5nG7cuEGTJk2iKlWqkLGxMfXq1YvevXtHI0eOpDt37lBMTAzduHGDoqKiaPbs2bRv3z6ytbWl0aNH09evX4scf1mBZVk6e/YstWrViiwtLWnJkiXUpk0bCg0NpX/++YfatWtHIpHot8WTkZFBq1atIltbW5ozZw4NHDiQXr9+TY0bN6YWLVqQn58f6enpUaNGjejo0aOUkpJCEomEEhISaMuWLXT58mVyc3PL9fgAaMOGDVSxYkWKioqiS5cu0Zw5c0gsFhfrdYSHh1OdOnVIJBLR5cuXycLCgntt/fr1FBgYSJMnT6YhQ4YU63n/y/fv32nlypXUvXt32r17Nw0aNKjYr7WcPCjlDGk5BWTcuHEwNzcv7TDKHAq/x+KYMVsY/P39YWpqmqdJ8H959+4d1NTU0Lt37xKM7NdYsmQJiAjTpk1Tev7Tp09wdnaGoaEhnj9/nm2/ly9fwtzcHJaWljn68SUmJnK+fUKhMM9JHX8qKSkpCAoKAp/Ph7OzM2bMmAGfAcGFWto2HbI9e6PNmMMQGdiAEYhhNnJfnvvXCVHu2P7y5Qu2b9+OTp06cSP3tLW10bFjR2zbti1fi5jv379jypQpUFNTg6qqKqZMmfJH1k/GxsZi4cKFsLOzAxHBxcUFq1atKtBoypIgp87tt2/f4uvXrxg0aBD4fD6sra3RuXNnyGQyaGtrw8TEBAzDYNCgQdnmzedETEwM/Pz8QETo1atXiV3r06dPYWhoCCcnp2xlLQcOHACPx8PAgQN/S8nErFmzIBaLERQUBLFY/FsmFZXzL+WC8g/Bz8/vt40b/JNITU2FhoYGJk+e/FvP++rVKwiFQsycObNQ+61ZswZEhDNnzpRQZL/OzJkzQUTZOuh/FpU/F9srePfuHezt7WFkZJSjwE9PT+dmWjMMg9WrV5fUJfx2fvz4gWPHjmH48OGcH6NAwwDmow/CIoe6R7OR+6BRqyMkVu7gSbKaXnR8h0Nq5wGJhVvWpJwmQ6DhFQCBTpbvoVb9Xnl3eI89At9Jm3D27FlMnToVNWrU4EYouru7Y+LEibh+/XqRprh8+fIFo0ePhkQigba2NkJCQv4Ik/K7d++iZ8+ekEqlEAqF6NixI65cuVKq9aA5dW6np6dj8eLF0NTUhLq6Onr06AFra2sIBAI4OTlxHd0FtSs6fPgw9PT0oKenh8OHD5fYtTx69Ah6enpwdXXNNtv9/PnzEIlEaN++/W+xD0tOToa+vj769OkDExMT9OrVq8TPWY4y5YLyD8HW1hYjRowo7TDKJN27d4e9vf1v/5EYMWIEVFVVC2VczrIs6tevDwsLi2Iba1YSBAZmGWSvXbtW6flPnz7ByckJRkZGOYrKmJgYuLq6QldXN8cfP5ZlERQUxDV+TJw48Y9s9khPT8eVK1cwZcoU1KpVi5tNraOjgwoVKsDAwAD67afBfEzOM7tN+m/ImiykrgexuSsnKHWbj4HEshJ4KpogHh88iSoklpXyneWteCjEp1AohI+PDzZu3FiszVAfPnxA//79IRAIYGxsjJUrV5Y5W6jk5GRs3rwZ1atX5+x0ZsyYgejo6FKNKywsDK1atVLq3AaAkydPwsHBAQzDoH379lwm38HBAaqqqtDR0cH69esLJMp+/PjBzZpv3rx5NpFXnNy9exfa2tpwd3fP5mBx584dqKqqwsfH57d9P5YvXw4ej4eFCxeCiJTsisr5PTDA/y+WKqfMkpqaSioqKrR69Wrq06dPaYdT5vj777+pcePGdO/ePXJ3d/9t542NjSVbW1tq164drV69usD7RUREkKurK/Xs2ZOWLVtWghEWHQA0dOhQWrFiBW3fvl2pkP7Tp09Uv359iouLo3/++Yfs7e2V9o2NjaUmTZpQWFgYnTx5kmrVqpXt+MuXL+fqqbp160br1q0jobDoNYYlDQAKDQ2lc+fO0blz5+jy5cuUmJhIKioqZGhoSElJSRQTE0NERI6OjlS1gR9dVq2T+/EyM4hNTSS+qhalRb+kmC0jSMd3OKm6NSxafPJM4n+LoGYqbyglJYVOnDhB0dHR1LhxYxo+fDj5+PgUa1PN69evKTg4mHbs2EGWlpY0depU6tSpE/H5/GI7R1FiWrNmDW3YsIFiY2PJx8eHBg4cSE2bNiWBQFBqccXExNDUqVNp3bp1ZGpqSjNnzqSOHTvSixcvaNSoUXTq1CmqXbs22dvb0/bt20lbW5skEglFRkZS3759adasWaSjo5Pvea5evUpdu3alL1++0JIlS6hHjx4l1kh18+ZNaty4MTk4ONDp06dJU1OTe+3FixdUu3ZtsrW1pXPnzpGKSs41vcVJRkYG2dnZUc2aNenly5ekpaVFZ86cKfHzlqNMeVPOH0B4eDixLFve4Z0LDRo0IF1d3d/anENEpK2tTZMmTaJ169Ypdffmh7W1Nc2ePZuWL19OV65cKcEIiw7DMLRkyRLq1q0bde3alY4cOcK9ZmBgQBcuXCAtLS2qV68ehYeHK+2rra1N586dI3d3d/Lx8aFz585lO/7gwYNp3759xOfzaevWrdSsWTNKSsq74eR38+7dO9q4cSN17tyZjIyMyM3NjcaNG0dPnjwhVVVVIiJKSkoihmHIz8+Pdu3aRdHR0fTs2TOybtSV+Lzcf8wZgZD4qlrFEyhABDnx7+2hrl270rp16ygyMpK2bt1Knz59osaNG5OLiwutXbuWUlJSiuWUNjY2tG3bNnr8+DFVrFiRunbtSm5ubnTo0CH6nTkKuVxOx48fJ19fX7Kzs6P169dT9+7dKTw8nP7++29q0aJFqYnJnDq3w8LCqEmTJjRixAhydXWl58+f0/Dhw+nNmze0c+dOcnJyopiYGNLR0aFbt27RmjVr8hWTaWlpNG7cOKpTpw6ZmJjQo0ePqGfPniUmJq9evUqNGjUiV1dXOnPmjJKY/PDhAzVq1Ij09fXpxIkTv0VMEhHt3r2b3r59S3/99RfdvXuXhg8f/lvOW44y5RnKP4A9e/ZQhw4d6Nu3b6StrV3a4ZRJBg4cSCdOnKA3b94Qj/f77pPS09PJycmJ7O3t6eTJkwXej2VZqlOnDn369IkePXpEMpmsBKMsOpmZmdSpUyc6cuQIHT9+nBo1asS99unTJ/L29qbv37/TP//8Q3Z2dkr7pqSkkL+/P50/f5727t1LLVq0yHb8S5cuka+vL6WmppKbmxv9/fffpK+vX+LXlRNxcXF08eJFLgv58uVLIsoS0EREnz9/JgBkaWlJ3t7e3CMne5m6IRfpbWxygc5bHBnKEbX0aVvwAHr06BHNnDmTRo8eTTwejwDQlStXaPHixXT48GHS1tam/v3708CBA8nY2LhI58qJ27dv04QJE+jcuXNUrVo1mjlzJjVs2LDERM3nz59p48aNtHr1anr79i1VqVKFBg0aRO3bty/1f0sZGRm0YcMGCg4Opvj4eBo6dCgFBQWRmpoarV69mqZMmULp6enUq1cvunfvHl29epUqVapEERERxOPxaNasWdS3b98CZXufPHlCAQEB9Pz5c5o+fTqNHj26RLPEFy5cID8/P6pRowYdO3ZMSTB++/aNvLy8KDk5ma5du0YmJiYlFsfPsCxLrq6uZGVlRRKJhEJDQ+nZs2e/9XegnP9PqS22l1NgpkyZAgMDg9IOo0xz6dIlEFGJjvPKjf379xep0SYsLAxisRijRo0qociKh7S0NDRt2hRSqRRXrlxRei06OhqOjo4wNjZGeHh4jvv6+/uDz+dj586dOR7/8ePH0NPT48ycfzZELklSUlJw7tw5BAYGomrVqlxdp5aWFvT19bnxkSYmJggICMCGDRsKZKJfmBGLFoHHYdhtEVdDWRTT8+UXsib1pKWlYezYsSAiNGjQINuc+9evX2PYsGFQVVWFUChEQEAA7t69W6zv6YULF+Dh4cGNnizOf48sy+LatWvo3LkzRCIRxGIxunfvjtu3bxfbOX6F3Dq3AeDvv/+Gk5MTGIZB586d0bNnT/B4PFhaWsLe3h5EhO7duxe45jEzMxMhISEQiURwcXFRmpVdUpw+fRoSiQR//fVXtoashIQEVK9eHXp6eoUaTVscKJw+9u3bBx6Ph1WrVv3W85fzL+WC8g+gbdu2qFevXmmHUaaRy+UwNjbGkCFDfvu5WZZF7dq14erqWugO2rlz54LH4+HGjRslFF3xkJycDG9vb6irq2cTIdHR0XBwcMhVVGZkZKBbt25gGCZbk48CxYQNPp8PLS0t3Llzp9ivITMzE3fv3sWcOXPQsGFDiMViEBFkMhknaIkIBgYG6NChA9asWYPw8PBCNw0VZsTirwhKuwknsfv222znP3v2LIyMjKCjo5Njh298fDwWLlwIS0tLEBG8vLxw4MCBInV/5wTLsjh27Bjc3NxARGjWrBkePnxY5OMlJCRgzZo1qFixIogI1tbWCAkJKVOjTH/u3Pbx8eEE3osXL9CsWTMQEWrXro0JEyZAV1cXqqqq8PT0BBHBzc0NV69eLfC5IiMjUbduXTAMg1GjRiElJaWErupfjh07BpFIhGbNmmU7X2pqKho1agQ1NbUCd6EXFyzLokaNGvDy8sLIkSOhpaWFxMTE3xpDOf9SLij/AFxcXDBgwIDSDqPMM2LECBgYGCjNpP5d3Lp1C0SE9evXF2q/jIwMVKtWDY6OjkhNTS2h6IqHHz9+oEaNGtDR0UFoaKjSawpRaWJikuNsa7lcjkGDBoGIsGDBghyP/+3bN1SrVg08Hg8SieSX5/2yLIuXL19i1apV8Pf358YKCoVCaGtrcwJSR0cH/v7+WL58OZ49e/bLXef338b+FkF56knu3dtfvnxBixYtQETo379/jn6pmZmZOHDgADdy0NLSEgsXLiw2n0m5XI5du3bB1tYWRIQOHToUKnv17NkzDBkyBOrq6mAYBn5+fjh16tRvsaApKLl1bsfFxWHEiBEQCASwsLDAjBkzUKVKFRARPD09oa2tDXV1dSxZsqTAf69YlsXmzZuhpqYGc3NzXLx4sQSv7F8OHDgAgUCA1q1bZ+vYzszMRLt27SAWi39bPD9z8eJFEBH2798PdXV1BAYG/vYYyvmXckFZxsnIyIBIJMKyZctKO5Qyz+3bt0FEOHfuXKmcv2PHjjA0NCy0HdCTJ08gFAoxYcKEEoqs+IiNjUXFihVhaGiYTTh+/PgxT1HJsixnRzR16tQchVtycjJ8fX1BRODxeNi0aVOh4ouJicHOnTvRs2dPmJmZccfR1NTkrH00NTXRokULLF68GI8ePSpWgSKXy3Hq5pPfIijP3ctu2/QzLMti1apVkEqlcHR0zDNLePfuXQQEBEAgEEBNTQ3Dhw/P0aC+KKSnp2PdunUwNTUFn89H79698e7du1y33b9/P+rXrw8igp6eHoKCgvDmzZtiiaW4yGnmtlwuR0ZGBlatWgVdXV2oqKggMDCQ8151cHCAi4sLiAgBAQGFsnP68uULWrduDSJCt27dEB8fX4JX9y+7du0Cn89Hhw4dkJ6ervQay7Lo378/eDweDh069Fvi+S8+Pj6oVKkSFi9eDIFAkK3Mo5zfS7mgLOO8ePGiVEXSnwTLsrC2ti61STSRkZEQi8VFMlmfNm0a+Hw+7t+/XwKRFS+fPn2Cg4MDzM3NuRoxBR8/fkSFChVyFZVA1jQLIsLo0aNzFJUZGRno3bs3V9M4ffr0XLOGCQkJOHnyJEaOHAlXV1duH0WdIBFBTU0Nvr6+CAkJwd27d4ttaTctLQ0PHjzAxo0bMXToUHh5eUFNTQ2MUALzHMzMi1NQmo87Bmt7xwKJkqdPn8LNzQ0ikQiLFi3KU0BHRUVh/Pjx0NbWBo/HQ6tWrXDp0qVi8QpNSUnBokWLoKurC5FIhOHDh3M1g1FRUQgODoaxsTGICLVq1cKOHTvKXNY+ISEBU6ZMgYqKCrS0tDB//nxuCfjcuXPcd7BLly6YMmUK1NXVoaWlBW9vbzAMAycnJ/zzzz+FOufx48dhYGAAHR0dHDhwoCQuK0c2b94MHo+Hrl275vhvZtKkSSAibNiw4bfF9DN3794FEWHnzp2wtrZGp06dSiWOcv6lXFCWcRQFx1FRUaUdyh/B+PHjoaWlVWpmy+PGjYNUKi30nXJ6ejoqVqyIihUrZssElEXev38PS0tL2NnZZTOMVohKU1PTXBtsli5dCiJCv379chQ4LMtiypQpnEDs378/MjMzkZ6ejmvXrmHq1KmoXbs2t2wtkUggEolARJBKpfDx8cHs2bNx8+bNYimB+PHjB65cuYKlS5eiR48eqFy5MidYGYaBvb092rdvjzlz5uD06dNwn3y0RAWl/cidnHBeuXJlvlnWlJQUDB8+HESExo0b52vGn5SUhDVr1sDR0ZGbtLNt27Zi+Xf148cPTJ8+HWpqapBIJHBwcACfz4eKigr69ev3S/WWJUV6ejpWrVoFAwMDiMVijBkzBrGxsQCyxo4qygtq1qyJ5cuXw8nJCTweDw0aNICenh5UVFQQEhJSqH/bCQkJ6Nu3L4gIvr6+v9WYfd26dWAYBr17987xu7V48WIQEebNm/fbYvovbdq0gY2NDdcUWVaas/4vUy4oyzizZ8+GhobGHzlNpDR4/PgxiAjHjx8vlfPHx8dDV1cX3bt3L/S+9+7dA5/Px/Tp00sgsuLn9evXMDY2hqurK759+6b02sePH2Fvb5+nqNy4cSN4PB46d+6cq+hTjKokIujr60MqlXJ1kAoBKRKJ4O3tjWnTpuHq1au/LHqio6Nx6tQpzJo1C23btuVqABXncnd3R69evbB8+XJcu3YtW4nDtm3boOPTHxbj8haVWo36QcMrAKqVs5b4ZfY1oeEVAA2vAJgN35N7dnLsEdi0C4RIJOIEn6enZ4Emg5w6dQr6+vrQ19fHiRMn8t2eZVmcPn0af/31F4gIRkZGmDFjBr58+VLk9zc+Ph5Lly7l5mozDAOpVIopU6aUuYaKvDq34+PjMXr0aAiFQpiZmWHp0qXw9/fnBLi7uzuICO3atcP79+8Ldd5r167BxsYGMpkMa9as+a1//5cvXw4iwqBBg3IUk9u2bQMRYcyYMb8tpv8SFhYGhmGwZs0a1K1bF7Vq1Sq1WMr5l3JBWcbp0qULPDw8SjuMPwaWZeHk5ITOnTuXWgwrVqwAwzBFsvIYP348hEJhtqaXssqzZ8+gq6uLatWqZWvmKIio3Lt3LwQCAVq2bMktb75//x6bN29G586doaury4k5xUMgEKB27dqYPHkyLl68WOQuV7lcjpcvX2Lv3r0ICgpCkyZNYGhoyJ1HQ0MDdevWxbBhw7B582Y8evQozwwTy7KYPXt2lojoPTTfLCNfXT/btSkeJv035LmvX+c+XHbWzc0NRkZGEAgECAoKynfGdkxMDJo0aQIiwtChQwv8/j19+hR9+/aFRCKBRCJBnz59CvU9ffjwIfr27QuZTAY+n482bdrg4sWLiIqKwqBBgyAUCmFgYIBly5aViaXua9eu5di5nZmZibVr10JfXx8ymQwTJ07EpEmTIJVKYWhoCF9fX/B4PNjb2+Ps2bOFOmdaWhrGjx8PHo8HDw+PXMtGSooFCxaAiDBy5MgcRezx48chEAjQs2fPUk1y9OzZE0ZGRrh58ybXlFNO6VMuKMs4VatWRY8ePUo7jD+K6dOnQ1VVNcfO1t9BRkYGHBwcUL9+/UL/0U1JSYGjoyOqVatWKt3qReH+/fvQ0NCAl5dXtvc8KioK9vb2MDMzy7XJY8+ePRCJRDA1NYWFhQUnqhRLyjweD05OThCJRODxeLC2tkZkZGShYvy53nHIkCGoXbs21NTUuHMZGxujadOmmDhxIvbv34/Xr18X6rPLzMzkutgnT54MlmURsP4mrIIK3mRToNrJMYfhOnQNIiMj8fLlSwiFQs7+RyAQgMfjwcjICKdOncozXpZlsWTJEohEIri6uhZKGH758gUzZ86EkZERJ7Zy675OTU3F9u3bOWFmbGyM4ODgHEt43rx5g+7du4PH48HCwgKbNm0qlX8DuXVuA1ldxQr7os6dO2P9+vWwsrKCUCiEn58fDA0NIZVKMWvWrEKL4qdPn6Jy5coQCASYMWPGb792RW3z+PHjc/zuX716FVKpFC1btizVv03v37+HUChESEgIunTpAgsLiz/mb+X/OuWCsgzDsixXe1NOwQkPD+eMbkuLY8eOgYhw7NixQu9748YN8Hi8Uq1PKizXr1+HiooK/vrrr2w/pFFRUbCzs+NEZWpqKi5cuIDx48ejUqVKYBhGKTvHMAwqVaqEMWPG4OTJk/jx4weArGyokZER+Hw+9PT0cq21+/79Oy5fvszVO1aqVEmp3rFChQpcvePff/9dYDPp3EhOTkarVq3A4/GUfDbPXL8P81EHCtWgk9/DbNQB6Fk6QCKRYPLkyejfvz+0tbXx/PlzzJkzR2l5vkKFCjh9+nSewvjRo0dwcnKCRCLBihUrCiWi09LSsH37ds4Ox8HBAatXr0ZSUhIiIyMRGBgIPT09EBHq16+P/fv3F6iG8NmzZ2jTpg13zH379v0Wq6DcOreBrPIORZd1jRo1sHv3bq4MwMvLi/OUbNWqVaFvduRyORYtWgSxWAxHR8diN5vPj5/rlXNzX3j06BE0NTVRr1693+J7mRfDhw+HlpYWwsPDIRQKc7UhK+f3Uy4oyzBv374t1XrAP5kqVarA39+/1M7Psizq168PBweHIjXZjBo1CmKxGGFheVvDlCXOnz8PsViMVq1aKWUM5HI5/v77b+jq6kIsFnP2PYpJNEQER0dHdOjQASoqKqhYsWKuNXofPnzgmjhkMhn27duHkydPYubMmTnWO1apUgW9e/fOtd7xV/n69Ss8PT0hk8mUbh6ePXsGiUQCtUp/FWuGUtPdF3PmzEFQUBBEIhEMDQ3B5/O5m06WZXH//n389ddfnFA3NDTEtGnTcp3yk5ycjIEDB4KI0Lx580LXR7IsiytXrqBVq1ZgGEapu37o0KF49uxZkd7bu3fvonHjxlxN4qlTp0pkmTWvzu0fP34gMDCrXtXExATr1q3DmDFjuMywv78/BAIBbGxsiuSb+u7dO84iafjw4fmWKxQ3P1t5zZ49O8dtXr9+DUNDQ7i7uxebR2lR+fLlC2QyGSZNmoSJEydCVVX1t1kolZM/5YKyDHP69GkQUbH5wf1fIiQkBBKJpFT/AD548AAMw2DlypWF3jcpKQm2traoVatWmTJyzg9FjVXLli2xatUq+Pn5QVVVlcsOKsSehYUFBg0ahAMHDihNPHn06BH09fXh5OSkZInzc73jiBEjOJPy/9Y7Dh8+HFu2bMm33rE4iIiIQIUKFaCnp4dbt25xz9+6dQtisRgMw2DhwoXQrdO5WMTk8gsvUatWLbRr1w6ActZMKBRmm7YSHR2Nhg0bKon32rVrY/Xq1VyH8s8cOXIEOjo6MDIyKlTt39evXxESEgJra2vOO1IsFoPP56NTp06/PPXo0qVLqF27NpcNvHz58i8dT0FendtyuRwbNmyAgYEBJBIJJk2ahA0bNsDIyAhSqRQdOnSAqakpxGIxgoODC521Y1kW27dvh4aGBkxNTUvFFo5lWa7zf+HChTluEx0dDWtra9jZ2f1yJr84mDx5MmQyGd69ewddXV0MHTq0tEMq5yfKBWUZZtGiRZBKpcXmm/d/CUV2d+vWraUaR/fu3aGnp1ckYauYT7506dISiKx4+fz5M3bv3o2AgACoq6tnazIxMzND7969sXLlSlhaWsLc3DzXjNnjx49hYGAAfX19dOvWLVu9o4mJCZo0aYIKFSpwz/3uspB79+7BwMAANjY2So0TR48e5TKwixYtgomJCapUqYItV1/CfuJJmI89UigRaT3+BOwn/jticcyYMTA1NVWKZevWrdz70KNHj2z2MmfPnoW1tTUEAgFsbW3BMAxEIhFatWqFAwcOKJUoREVFcSJ09OjRuXbMsyyLW7duoVu3bhCLxRCJRAgICMD169fBsiy+f/+OxYsXw8rKivOV3L9/f5H/lrEsi5MnT6Jy5cqc9VFRx/zl1bkNAJcvX+Y6tDt27IiTJ09ygrZx48aoV68eiAhNmzYt0s3+t2/f0K5dO64OMy4urkjX8SvI5XIuK71ixYoct4mLi0PFihVhbGxcJozlf/z4AS0tLQwbNgxr164FwzC5NvuVUzqUC8oyTJ8+fVCpUqXSDuOPpXbt2vD19S3VGD58+ACZTFbkkWCDBg2CTCbLVXyVFomJiTh9+jSGDBnCiYafHwpR6evrm80y5cOHD7C1tYW5uTkePXqEy5cvY8mSJejevbtSvaOi0cTX1zfHesfMzEzuR1GxZPg7srmnT5+GqqoqqlWrphTP8uXLuSzshAkT4O7uDlNTU64BZfqiVdBvP40Tink23/x/4ek1eS/effu30enQoUMgomyTZjp06ABtbW1oaWlBTU0Nc+fOVRKKycnJGD9+PCcqBw8ezNU+ampqom/fvrhy5QrkcjnkcjlCQkIgFArh7u6uVHaRlJSEDRs2cPtaWFhg9uzZ+Pz5c47vVWZmJg4dOoQ6deqAKGu844IFC4q8TCmXy7F3717uZqJNmzaFWlLPrXMbyGoKatu2LYgIVatWxalTpzBgwADweDw4ODggICAAYrEYFhYWOHz4cJGW30+dOgUjIyNoaWlhz549hd6/OMjMzETv3r3BMEyuo2KTk5Ph5eUFLS2tMuM4MX/+fAiFQrx9+xZOTk5o2bJlaYdUzn8oF5RlmNq1a6Njx46lHcYfy/LlyyEQCJSWVEuDyZMnQywWZyvWT0zNQGhUPO6/jUVoVDwSU7N3Kv748QMWFhZF6hgvTjIyMnDjxg1MnDgRLi4uSvWPRFnzsNu0aYNNmzZx16kwL586dSqALBshRb2jr68vl8n7b73jihUrcO3aNYSHh8PJyQn6+vq5NuCwLMt1pxIR2rZtW6KWM5s2bYJAIEDTpk05z0S5XI6RI0eCiLgxdS1atICKigonWNLT07mu6Lmrt2LS4ccw6bc2W8OOZeBxmPRbCx2f/nCp2RA6OjpK4ismJgZEhN27dyvFpfBfXb58OYYOHQo+nw8bGxscOXJE6XsTGhrKCapevXrh+vXrGD9+PNddb2lpiQkTJuD58+e4d+8e7O3tIZPJMH36dAwfPhyamppgGAZNmjTBsWPHCpVxvHfvHrp06QKhUAhVVVUMHTq0yBmmjIwMbNy4Eebm5uDxeOjevXueWbS8OrcTEhIwYcIEiMViGBkZYePGjVixYgU3b7tXr16wtLSESCTChAkTiuQekZiYyN38+Pj4lNqIwIyMDHTp0gU8Hi/X1Zv09HT4+flBJpPhxo0bvznCnElNTYWxsTF69OiBv//+G0RU6IlD5ZQ85YKyjMKyLLS1tf8Yk+uySExMTLbO29IgISEBhoaG6NSpE8JjfmDKkVDUmXcBlv/JSlkGHkedeRcw5UgowmN+cPufOXMGRPRbr4NlWTx79gzz58+Hp6cnZyL+cwayWbNmWLt2LV69eqUkWuRyOcLDw7Fnzx7UrVsXRMTVUf5c79irVy/o6+vD2NgY4eHhOcbx5csXuLu7Q1NTM88ft02bNoHH44HH46FOnTrFvozIsiymT58OIkKfPn24pqOkpCS0bt0aDMNAQ0MD1atXx4gRI8AwDI4ePcrtv337dhARTE1NkZGRwTkR8ERS2FarBwNnDzTu2BuJqRlcdjcoKAgSiQQTJ05UisXGxibH2rHmzZujQoUKyMzMxNOnT9GoUSMQERo1aqSUZZLL5Vi9ejU0NDSgp6eH7du3IzMzE5cvX0afPn2goaEBIkKVKlXQrVs3zptTJBJhyJAhv7zM+PHjR0ycOBG6urpgGAYtWrTAP//8U6QbptTUVCxbtgwGBgYQCoUYPHiw0pL/fzu3t23bxmWx5XI5Nm/eDCMjI4jFYkyYMAFnz57lltX9/f3h4+PDvYcvXrwo0vXevHkTdnZ2kEqlWL58eandGKanp6N9+/bg8/nZbkgUyOVyTvSfPn36N0eYO4ol7rCwMDRu3BiVK1cuH/ZRBikXlGWUT58+lRu2FgMNGzZE/fr1SzsMhKzaVODlTsXrAetvcsudvXr1gpqaWralzuIkKioK69evh4+Pj5IAJCKoqKigQYMGWLZsGZ4/f879MU9LS8P9+/exYcMGDB48GLVq1VLa18TEhOu87tevHyIiIpR+CN6/fw8bGxtYWFjkmmGKj49HrVq1oKKigosXL+Ya/8mTJ7lmECcnp2LLAmVkZHAj8KZNm8bF/+nTJ9SoUQNSqRR2dnYwMTHB/PnzQURKViYsy3JTYRRzj48ePcq9R25ubuDz+Zg3bx5YloVYLAYRYezYsQgMDIRMJlNqUOrSpQuqVq2aLc5bt24p2WWxLIujR4/C1tYWfD4fgwcPVppo9PHjR66Wz8fHhxOKkZGR6NixIzeViIhgbm4OmUwGExOTYssMJScnY926dXB2dgYRoXLlytiyZUuRMsyJiYmYPXs2NDU1IZVKMXLkSIwdOzbHzm0ga+m7WrVqXFb71q1b6NKlCyekFQbupqam2LdvX5HES3p6OqZMmQI+n49q1aqVqmNDWloaWrVqBaFQiIMHD+a4Dcuy3M3Qrl27fnOEuZOZmQlbW1v4+/vj2bNnZaI2vpycKReUZZR//vkHRISnT5+Wdih/NOvXrwfDMEo/yL+bXbffwn7iSVgUsSFj1+23iIuLg7GxMXx9fYvtzjw+Ph779++Hv78/5xeoeEgkEtSsWRMhISF48uQJ12hx6dIlrt6xYsWK2fwdO3TogLlz5+LMmTNcXR3LshgyZAgYhsH27duzxfHu3TtYW1vD0tIyVw+/xMRENGrUCBKJJM+Rgbdu3YKmpiYEAgGMjY1/uf4rMTERfn5+4PP52LhxI/d8WFgYrKysYGBggL/++gtSqRSrV6+GQCBA3759lT6jEydOgChrbKGi8zwkJIQTbG5ubiAiXLp0CfHx8dxn0LhxY8TFxUFLSwv9+/fnjrdq1Srw+fwcxxQ2bNgwW/YmNTUVISEhUFNTg7a2NpYvX65k63TixAmYm5tDJBLBzc0NQqEQUqkUvXr1wrlz57Bq1SpumVxR6tCxY8di8yNkWRZnzpzhpvcobI5yq8vMi8+fP6Nx48ZcLWvt2rWVbsLevXuHjh07cgL23Llz3Hujq6uLYcOGwcbGBgKBAGPHji2yzVRYWBiqVq0KPp+P4ODgEnccyIuUlBQ0bdoUYrE4Tws6RelIbk06pcWePXtARLh79y769esHQ0PDYpkpX07xUy4oyyirVq2CQCAo/4fzi8TGxkIoFGLJkiWlcv5lF8KLxTJm2YVwzix9y5YtRYolNTUV586dQ8+ePWFubq4kIBUNGFOnTsX9+/fx4cMHnDhxAjNmzECbNm1gY2PDbSsWi1G1alWu3vH69ev5zmCWy+Xo0aMH+Hw+Dh06lO31gojK1NRUtGzZEkKhEHv37s31XC9evICpqSkEAgHU1NSKbDPz+fNnVK9eHSoqKkqTZy5fvgwtLS04OTlhzJgxICIsXrwYWlpaaNiwYTbxoOgY/rlkoVevXlxjiYODAxiGQWJiIpeBUTTLZGZmYv78+eDz+dyS66NHj3KtIbtw4QKIKEfRHRMTg169eoFhGDg7O+PcuXP48eMHVq5cCScnJ+68RkZG+Pvvv7Pt//r1awQHB0NHR4f7zvTu3TvX+tai8OzZM/Tv3x9SqRRisRi9evUq0Izy/3Zut2nTBj169IBIJIKenh7mzp2L8ePHQyqVwsDAABs2bMCpU6fg4ODA1WD6+fmBiFCvXr0i38izLItly5ZBKpXC3t4et2/fLtJxioukpCTuRiynz1TBmjVrlOqdywosy6JSpUpo1KgRvn79CqlUWl4GVoYpF5RllCFDhsDBwaG0w/ifwM/PD56enr/9vLtuvy1WU+vdt98iICAAmpqaBcq4yuVy3Lt3D8OHD0eFChWUGmkEAgGcnZ0xZswY7N+/Hzt37kRgYCD++usvGBgYKImaevXqYcSIEdiyZQseP35c5GxLZmYm2rVrB5FIlOOP29u3b/MVlenp6ejcuTN4PB42bdqU67mio6O5pWShUFjo0pFXr17B1tYWBgYGSpNLdu7cCZFIhPr162Pbtm3c0rSdnR0cHByy1W5eu3YNRFnejD/fHNauXZuznzE3N4eKigqALHP4n4X++fPnkZKSAjMzM7Rt2xZA1vuopqaGWbNmZYubZVl4enqiZs2auWay7969i0qVKnHfAx6Ph1atWuHs2bO4e/cuqlatCoZhMGDAgBy7sVmWxYYNG6Curs5lAl1cXDB37txsHf1F5evXr5g9ezZMTEy4GsYTJ07k2MWfX+e2oo6XiNCkSRM8ePCAa9Dx8vLCsGHDIJPJYGRkhJ07dxZ5BeDDhw9czeXgwYNLbfSrgoSEBNSrVy/fUpF9+/aBYRgMHjy4zNUlnjp1CkSECxcuYNasWZBIJEXKXJfzeygXlGWUhg0bolWrVqUdxv8EO3bsABH9Vi+1d9+SYD/xJMxG7oNGrY6QWLmDJ8mqLdTxHZ5NLGo3HgyxmQt4Mk0QXwC+hgFUXBvCpP8Gbhv7iSfx6NUH6Ovro2XLljn+8X/9+jWmTJmCypUrKzXS8Hg82NjYoG3bthg3bhwGDBiQY71js2bNMGnSJBw8eBBv3rwp9h+YtLQ0NG3aFFKpNMfM4du3b2FlZQUrKyslb8Cfkcvl6NevH4gIy5Yty/Vc379/h7e3N3g8HhiGyXPbn7l9+zb09PRgb2/P2TX93E3etWtX3L59GzKZDK1bt0adOnWgo6OTY7OKt7c3iCibub2enh43XlBDQwP6+voAwIlURQNPnz59AACbN28GEXEG6o0aNUKzZs1yjP/48eM5ZjDT0tKwe/duzsJHQ0MDampqEAqFCAwM5EZcZmZmYsmSJVBVVYWRkVGuNYTfv39HQEAAJ4oVZu7169fHxo0bi2WoQHp6Onbs2IGqVauCKGuc5MqVK5GYmJhn5zaQ1QxTo0YNTpAqltQZhoGWlhbGjx/PTV0aPnz4L8W7e/duaGlpwcjIqEw0s3z//h21atWCmppaNsP7nzl79ixEIhE6duxYJgco1KlTBzVq1OC6vHv37l3aIZWTB+WCsoxiYmKCCRMmlHYY/xMkJCRAKpVi7ty5v+2cAetvwnr8CZj035BlJ6OuB7G5a66CUrWyL1RcGkDLuyd0mgyFRs324KlogidVh8mgLVxNZcD6m9i/fz+ICHv27MGXL1+wcOFC1K5dGyoqKpwYYRgG+vr6qFatGho1agRXV1fOpodhGDg4OKBjx47Z6h1/B8nJyfD29oaamlqOU1QKIipZlsWoUaNARDlm6hSkpaWhQ4cO3PsSGBiYp0g+fvw4ZDIZPD09uRGE6enp6N27N4gIwcHBiI6OhpmZGdzd3dGlSxeIRCJcuXIl27GePn0KIoK2trZSdvLbt28gIvTs2ZPLGpubmwMA5s2bB5lMBiLC0KFDuX0zMzPh4uKCevXqcbOXtbW1c7yWn5cJgaxygokTJ3KZ5zp16mD37t1IS0tDUlISpkyZAolEAkNDQ2zevJkTFu/evUOLFi1ARGjWrFmun8XOnTuhrq4Oc3NzjB8/HvXr1wfDMJBIJGjfvj2OHz/+yzWELMvi6tWraNOmDWfMzjAMTE1NlTq3gaxMoULoVqxYERcuXMCBAwdgYWEBgUDAWSQREZycnH5pyT42NparyWzXrp1S01NpERsbi+rVq0NTU1NpgtN/uX37NlRUVNCkSZMyWVqlyO4fOnSIc0koK56Y5eRMuaAsgygK83NqYCinaLRt2xaVK1f+LecKj/nxr0H16EMwHbwNFoHHYdhtUa6CMqeHYffFWcvOdbspPT9v9VYYGBgojTIkyrLmMTExgb6+frZ6xz59+mDlypUFqnf8HSQkJMDT0xPa2to51shFRkYWSFROnTo1X6H4s08kEaFLly45/oCuW7cOfD4fLVq04JYrv3//Dh8fHwgEAmzevBmpqamoWbMmDA0NERQUlGfHacuWLUGUfdLR9evXuWVRhUWPjY0NAGD48OGcX+WdO3eU6iEVNbSnTp3ivPhy6xzevXs3Vw/I4/GgqqqKgQMH5lqP+PbtW7Rv3x5EhGrVquH69evcawcPHoSJiQlUVFSwcOFCpYYeBW/evEHNmjXB4/EQHByMN2/eYO7cuXBxcQERQVdXF4MHD8atW7eKnPVOSEhAcHAwZDIZJBIJxGIxeDweOnTogFu3biEpKQlTp06FTCaDnp4e1q5di9DQUM4+qUmTJggKCoKamho0NTW5GlZPT888l4Rz4+zZszAxMYGGhgZ27NhRJpaLv379isqVK0NbWzvPSULPnz+Hjo4OPD09y8Tfg5xo1qwZnJyckJmZiapVq8LHx6e0QyonH8oFZRnk5s2bIKIijxYrJzsHDx7M8we4OJlyJDRHa6DCCkrTYTtBRFD3aKM0QUWrYV+lTGRO9Y5bt27FkydPSrW7ND/i4uJQqVIlGBoa5uhDGRkZCUtLS1hbW+dpl7Rw4UJOoOW1bKew9OHxeGjUqBG3xKvI+BERBgwYwJl1v3//Hq6urtDQ0MD58+fBsiy6d+8OsViM2bNng4hyXUV4+/YtGIaBpqZmNhucjRs3chlIHR0diMViWFtbAwDat28POzs7SCQSsCwLR0dHdOnShYvTy8sLbm5uiI2NBcMw2epIY2NjsWjRItjb24OIoKamhpUrV3LXmh+XL1/mfBgDAgI466Xv379j8ODBYBgG7u7uSnWlCjIyMjBlyhTweDzUqlWLq4N9+PAhRo8eDWNjYxAR7O3tMW3atAKPLcxt5vaPHz+wdOlSboa4SCQCn8/HqFGj8O7dO4waNQoCgQA2NjaYM2cOXF1dwePxMGjQIMTFxYFlWfz999/ccnqjRo0K1ESTnJyMoUOHgojQoEGDErXyKgyfPn2Cq6sr9PT08Pjx41y3e/v2LUxNTeHi4lImMqo5oTDq37JlC65cuQIiwsmTJ0s7rHLyoVxQlkE2bdoEhmFKvaj7f4mUlBSoqakhODi4xM9VZ96FnDOOBRCUpsN2wnTIdhh2WwSpbXUQEfTbT1faxrjvWhgZGXE//IGBgSVS7/g7+Pz5MxwcHGBmZpZjJrKgolJhfNy9e/ccM2gKduzYAT6fD4FAgEqVKuHdu3fo2bMniAizZ8/m3sMHDx7A2NgY5ubm3DKbQpBOnToVUqkUbdu2zVXAduvWDUTKfpQKxo0bB3Nzc/Ts2ROampqwtrbm5nMrBKOhoSEAYOrUqVBTU0NycjKAf7Ob27Ztg4uLC1djee/ePfTq1QtSqRQCgQAdOnTgMqh5iYucyMzMxLp166Cvr89NyVGc/+bNm3BzcwOPx8Pw4cNztNW5cuUKLCwsoKGhoeRnmJmZibNnz6Jbt25c7W7NmjWxatWqHKdZKTq3K1SoAIZh0KVLl2zNWnfu3OEachTd59ra2lBTU4NMJkNQUBA6d+4MIkKNGjVyvElXnEfR6d6qVatcl1bv3r0LBwcHSCQSLFmypMzUHUZFRcHBwQFGRkZ5jqL88uULKlSoAEtLS24kaFmkU6dOsLCwQHp6Olq3bg0HB4cy816XkzvlgrIMMmbMGFhaWpZ2GP9zdO3aFQ4ODiUqvBJSM7JNwCmMoCT+v3OseVJ1aDXsl20by8DjSEzNAMuyaNasGYyMjBAbG1ti11TSfPjwAVZWVrC1tVWacqLgzZs3BRKVO3fuBJ/PR5s2bfKsCTt79iykUimEQiEkEgn4fL7SsvXJkyehqqqKKlWqcPEcP34cDMNg0KBBMDIyQvXq1TmR9V++fv0KPp8PNTW1HL0aW7ZsiUaNGqFly5YQiUSoV68e9PT0AAC2traoUqUK5/Dw4sULEBEOHDjA7d+qVStYWFigW7duMDEx4RpPTE1NMWPGDC7m9PR0WFhYoFOnTrm+F3kRHx+P0aNHQygUwsLCgmvOSU9Px7x58yCVSmFmZqY0EUhBXFwct4TerVu3bBnSxMRE7Ny5E02aNOE68Vu2bIn9+/cjJSUlz85tIEtAde/eneswP3fuHO7du8d5ejIMA6FQCJFIBC0tLaxbty5fQZKZmYmtW7fCysoKDMMgICCAa7TKyMjA9OnTIRAI4O7uXqj54SXNu3fvYGtrC1NT01wnTgFZY1yrVasGfX19vHz58jdGWDhev34NHo+HZcuWISIiAjweD6tXry7tsMopAOWCsgzSrFkzNGnSpLTD+J/j5MmTIKJi9c37L6FR8bnXRBZAUBp0nAX9tsHQqt8LIgObbPWTikdoVJady4cPH6Curo7u3buX2DX9DiIiImBiYgIXF5ccs1Vv3ryBhYUFbGxs8rSmOXz4MEQiEZo0aZKr4AOyxlny+XxuWfjmzZsAsvz4+Hw+/Pz8uNqy0NBQqKmpwdfXFxUrVoS5uXmOwlfBkCFD8mwWcnBwwJAhQ1C9elYGukePHtDQ0ADLspDJZKhevTo8PDy47d3d3dGmTRul2BVLvEQEb29vHD58OMfM7IoVK8Dj8X5JQLx48QLNmjUDEaFu3bqcuIuIiEDjxo1BlDWm8L8ZL5ZlsXnzZqioqMDGxibXBpGYmBgsWbKEW3pWmOXb2tpm65hOTk7GzJkzoaKiAh0dHaxatQrR0dHo27cvGIaBi4sLli9fztVuKqYONW/eHBcuXCjQzWRaWhpWrlwJIyMjCAQCdOzYEe7u7uDxeJg4cWKZamB58+YNrKysYGlpyTkS5ERqaioaNGgAdXV13L9//zdGWHj69+8PPT09JCUlYcSIEdDW1i5frftDKBeUZRAbGxuMGjWqtMP4nyM9PR3a2toIDAwssXPcfxv7S4JSaWm73zowAhG0GmXPUvYbPxv79+/Hs2fPsGLFCq5Z40/m+fPn0NPTQ9WqVXO0cCmoqDxz5gxkMhnq1q2bY+3gixcvYGVlxc0RFwqFEIvFnI3P4MGDuTrKL1++wNraGq6urmjSpAlUVVXx6NEjJKZmIDQqHvffxiI0Kh6JqVliLjExEWKxGDKZLEdBm56eDqFQiOXLl8PMzAxEhJkzZ0IikeD79+9cU0zjxo25febNmwexWIy9e/eiSZMmXJezQizl9bmnpKTAwMCgWOxWfjYC79u3Lz5//gyWZbFr1y4YGBhAXV0dK1as4N47BS9fvkS1atUgEAgwe/bsbK8DyjO31dXVueVrCwsLjB8/Hs+ePcPevXu5Tu0RI0bg69evWLFiBbS0tKChoYGZM2eiR48eICK4u7vj5s2bSElJwfr16zmBWbFiRWzatKlA4x0TExM5WyKGYdCpUyeu878s8PLlS5iZmcHGxibXxjUgK/Pq7+8PsVhcbGMzS4ro6GiIxWLMnDkT379/h5qaGoKCgko7rHIKSLmgLGMkJyeDYRisX7++tEP5n6Rv376wtLQssWXvX81Q/vchNnGAyLhCtueF+lZKHd4Mw4DH48HFxQUtW7ZEYGAgdu3ahVu3biEmJuaPqT968OABNDU14eXllWNWQiEqbW1t8xSVV69ehbq6OqpXr67UeHDjxg3o6OjAwcEBkZGR+PTpEypXrsw1N7Vr105pTnndunWhq6uLXr16QaRngW5Lj6POvAvZyhosA7Oe/2v8egh1zDBp0qQc41IsYZ87dw6qqqrQ0tLC6tWrwTAMNyWncuXK6NChA4CsGtNx48Zxn7O7uzs2bNiAly9fQiqVQiqV5nouBfPmzYNQKCyW5pH09HQsWbIEmpqa0NDQwMKFC5GWlobY2Fhu3nmNGjXw6NGjbPsFBQWBYRjUq1eP++wUndv/nbktl8tx5coV9O3bV8kr1cnJCVevXsXly5dRsWJFzn4pJCQE2tra0NTUxMqVK7OJVpZlcfbsWTRt2jSrLllfH8HBwfj06VOO1/nx40fOt7J79+4IDAyEqqoqV4ddHB6bv8Lz589hZGQEBweHPGshWZZF3759wefzceTIkd8YYdEYO3Ys1NTUEBcXh8WLF0MgEHCNYeWUfcoFZRnj4cOHICJcu3attEP5n+TixYsgIty4caNEjp/4izWU2YWjNYQ6ZsrPjzuGSlVrcH6FBXnw+Xzo6OjA2dkZTZs2xejRo7F+/XqcPXsW4eHhxTaXuTi4ceMGVFRU4OPjk2Mm6c2bNzA3N4etrW2ePzb37t2Djo4O3NzcEBMTgyNHjkAqlaJ27dqcyPz69Ss8PDzAMAwnKoODgyGXy9G3b18IhUIMGD0R+u2nwSLweI7d+z8/zP//vPaOa6/h3bfsgvjo0aMgIrx//x48Hg/u7u7YtGkTiIhbynZ0dETLli0REBDAZSL19PRQq1YtpRuhoKAg8Pl81K5dO8/388ePH9DS0sLQoUML+hHky5cvXzBgwADweDxUqFCB68C9cuUKHB0dIRAIMG7cuGw3BRcvXoSJiQk0NTXRt2/fbJ3bPxMdHY2ePXtyfpM1a9aEQCDgPidra2usXr0a1apV44RfbgLxZ8LCwjBw4EDIZDKIxWL07NlTqXFp//790NHRgYGBgdLs68+fP2PUqFEQi8XQ0dHB/Pnz8yyrKCmePHkCfX19uLi4ICYmJs9tx48fDyLC5s2bf1N0RScuLg5qamoYN24cMjMzYWVlVeT633JKh3JBWcbYtWsXiOiPbrIoy2RmZsLIyAjDhg0rsXMUtsvbfOwRmA7fnX37rgtADA8qzt7/WQpfi9q1a+PkyZN4//49zpw5gwULFsDDw0OpBk1RZ6empgZVVVWl53N6qKmpwc7ODj4+PhgyZAgWLVqEAwcO4O7du9zy5u/iwoULkEgkaNmyZY7WRxEREQUSlU+fPoWRkRH09fXBMAz8/f058fzy5UvY2dlBT08PV65cQdeuXbn3wtPTM6vjd3QIzEcdgOW4owW+CVAIT/uJJ7HrtvJSZEhICFRUVLjl7c6dO2Pnzix7KEXpgqI20traGiEhIfj69SuWLl0KoVColG2Ni4uDTCaDQCDIs7MdAIKDgyGVSgskuArDo0ePuBGSvr6+CAsLQ1paGqZPn87ZIf08ZpNlWWzZsoXLOtra2mZrcElNTcWcOXOgpqYGbW1tLF++HElJSZg7dy5UVFSgpqYGK6t/M/RaWlpYtGhRjkvpefHt2zfMmTMHpqamXH2oYrKRv79/rsvb79+/R79+/cDn82FsbIzVq1f/Nnuu+/fvQ0dHB5UqVcp3+V1hpzV//vzfEtuvMmPGDIjFYkRHR3M2bzkNPiin7FIuKMsYkyZN4ixDyikZhg0bBiMjo0L/ABWU//pQajXqBw2vAKhW9gURQWZfExpeAdDwCoDZ8D0wG74bjFACFbdG0KrfC9p/DYKae1MwQjF4EjUY913zr1j5jw+lQCBAw4YN8ffffyMtLQ116tSBtbU1Hj9+jMOHD2P69Olo3749nJ2duUk5CmsVOzs7ODo6wsrKCtra2lyTys/L6D//v1AohJmZGerUqYOePXti6tSp2LRpEy5cuIBXr14VqC6tMBw/fhwCgQCdO3fOccn+9evXMDc3h52dXa6ikmVZDBgwgBPMCh/S69evQ1dXF/b29lwnL8uynNUOEcGscR8uI1wYMfnfx7IL/3be9urVC+7u7lyD2Pz587FkyRKlBhKhUIju3bsrXXN0dDR4PF62UpiBAweCiHD48OE838tv375BVVW1ROrRWJbFgQMHYGlpCYFAgJEjRyIuLg4vXrzgBFqnTp1w/Phxpc7tSZMmQSaToUKFCrh//z53HGtra/D5fAwdOhTfvn3DqVOnYG9vzz23fPly6OrqQlVVFb6+vrCzswMRwcjICKNGjcKDBw8KdfOTnp6OSZMmcULe0NAQy5cvz9fw++XLl+jcuTMYhoG1tTW2bdtWYn9TgKzJNpqamqhWrVq+/pFbtmzhLMX+BJKSkqCrq4sBAwYAyBq5mF/mvZyyR7mgLGO0adMG3t7epR3G/zQ3btwAERVpOkZB+HlSjkXgcfDV9ZWE2c8Pk/4bYD7mENSqNodQzxKMWAbiCcBX14eqm4/SLG/F41HkJyxYsIBr6vg5G1mvXj2IxeIclzdTU1Px+PFj7Ny5E0FBQfDz81PK9DAMA0tLS3h5eaF58+Zo1aoVGjVqBBcXF26iy8/b/leAEmVNRKlWrRratm2LUaNGYenSpTh8+DDu37+Pr1+/FjrLuXfvXvB4PPTr1y/X2eVmZmY5isr09HQu6zhhwgRUqFABhoaGWLBgAcRiMby8vLL9MIeFhUEqlULVzeeXROR/H7v/f6aydu3a6NixIwIDA7l6ScV7V6lSJVhbW4PH42HVqlXZrrV+/fpo2LCh0nOxsbHccfJj7NixUFdXR1xcXL7bFoWUlBSuA1sxqSYjIwOzZ8/mxJqZmZlSxvL58+eoXLkyZ0BORGjcuDGePXuG169fo3nz5iDKmvizb98+TpB27twZHz9+BJAlaG/fvo0hQ4ZAT08PRARnZ2fMmTMn37rRlJQUjBw5kqvtPHDgANq2bQsejwdNTU2MHTs232M8fvyYG1Hp7OyMQ4cOFXs2/9q1a1BTU0PNmjURHx+f57ZHjx4Fn89H7969/xhv2qVLl4LP5yMiIgL37t0DEWH//v2lHVY5hYQBACqnzODi4kL16tWj5cuXl3Yo/7MAIGtra/Lx8aE1a9aUyDm6bLhF1yO+kZwtvn9ePCKqZatL23rV4J77+PEjzZ8/nzZv3kxxcXFK23t5edGECROofv36JBQKcz1uQkICPXv2jEJDQ+nJkycUGhpKoaGh9OnTJyIiEolE5OjoSI6OjmRoaEhqamrEMAzFxsbSq1ev6OXLl/Tu3TvKyMjgjikSiYjH41F6ejqxLMs9L5PJyMLCgszNzcnc3Fzpv83NzcnExIREIpFSfJs3b6YePXrQqFGjKCQkhBiGUXo9IiKC6tWrRxKJhP755x8yNjamhIQE8vf3p3/++Ye2bNlCHTt2pE+fPlHlypUpOjqafHx86OjRoyQWi7njxMXFkYeHB0FFh9IbjiF5ZiYl3D5EaR9fUHp0OLGpiaTjO5xU3Rrm+l5CnknRG4dQxrf3pOndkzRqtCYiIrGAR+dG1KWKtqZUqVIlun79OqWlpVGlSpXor7/+orlz55Kfnx/Fx8fTlStXaNeuXdShQwelY69bt4769+9PHz9+JAMDA+55a2trevPmDd28eZNq1KhBuRETE0OWlpY0ceJEmjhxYq7b/SpRUVEUFBRE27ZtIx0dHYqPjycjIyOytLSkq1evUp06dWjNmjXk4OBAnz9/pvHjx9PGjRsJAFWuXJn27dtHmzdvppCQENLT06Pp06fT/fv3acWKFeTg4EArVqygevXq5XjujIwMOnv2LG3bto0OHz5MaWlpVLduXerSpQv5+/uThoYGt+3Dhw8pICCAXr58SbNnz6bhw4cTj8cjIqK3b9/S8uXLad26dZSYmEht2rShESNG5Pn+3rp1iyZMmEDnz5+n6tWr08yZM6lhw9y/KwXl0qVL1LRpU6patSodO3aM1NTUct32ypUr5OPjQ76+vrRnzx4SCAS/fP6SJiMjg2xtbcnLy4u2b99OXbp0oatXr9KrV6+Iz+eXdnjlFIJyQVmGyMzMJJlMRosWLaJBgwaVdjj/0wQFBdHatWspJiYmT7FVVN7HJlPDRZcoLZPNf+OCABCbmU6tRKG0YNr4HH8oHj16RHPmzKFDhw5RWloa97xEIqGmTZtS7969qX79+tkEW258+fKFE5c/C82EhAQiIlJTUyMXFxdydXUlJycnMjExIalUSrGxsRQREUERERH0+vVrevXqFSdOiYh4PB7JZDJOcKampnKvMQxDxsbG2QTnkydPaM2aNTRu3DiaPXt2NlH5+vVr8vb2JqlUSrt376aePXtSREQEHT58mLy9vSkzM5OGDh1Kq1atIhMTE/rx4wedOHGCvLy8iCjr356vry/dvXuXTDrPph8yI5L/+EpRq3sRX12PBJqGlPbuSb6C8sftQxR/ZQchI1VJUPIYIpWEDxS6vD+JxWLi8XiUkpJCHz9+pJcvX1LdunWpatWqZGpqSocPH6ZTp05R48aNlY797ds3MjQ0pMWLFyv9fRg2bBitWrWKatasSRcvXsz23vzM4MGDaffu3RQZGUmqqqr5fQWKRGJiIi1YsIDmzp1L6enpJJfLyd/fnxYsWECvX7+mfv36UWRkJNWrV49u375NPB6PgoODydbWlgICAujHjx/E4/Fo7NixZGVlRRMnTqTExEQKDg6mYcOGFfjf648fP+jQoUO0bds2unDhAonFYmrevDl17NiRQkNDadq0aeTk5ETbt28nFxeXXK9l8+bNtGTJEnr16hV5eHjQiBEjqHXr1rmKtfPnz9OECRPo1q1b5O3tTTNnziRPT88ivZfnzp2j5s2bU61atejIkSMkk8ly3fbhw4fc9+jEiRMkkUiKdM7fzdatW6lbt2705MkT0tbWJktLS5o7dy6NGDGitEMrp5CUC8oyxIsXL8jBwYHOnz9P9evXL+1w/qd59OgRVapUiU6ePElNmjQpkXPsvvOOAg8+Kbbj1ZNF0fapA6l27dq0a9cuMjIyynE7uVxO69evpwEDBhBRVkZWgVQqpWbNmlH37t2pYcOGBRaXCgDQu3fvsonM58+fU3p6OhERGRgYcELTxcWFXFxcyNramr59+8YJzZ8fr1+/puTkZKUYZTIZ8fl8Sk9Pp4SEBJLL5dzrYrGYbG1ts2U4+Xw+DR06lGJjY0lPT4/OnDlDrq6ulJiYSB06dKDTp0/T6tWrqUOHDtSiRQu6ceMGHT58mHx8fGjYsGG0YsUK8u8xiG7p+mRda2YGsamJxFfVorTolxSzZUSeglKeFE9Ra/uRevWW9P3KDiVBqSBqXX86sHEFtWjRgoiIUlJS6NGjR+Th4UHm5ubk7e1NW7ZsoRs3bpCHh0e2czRt2pR+/PhBV65c4Z7bt28ftWvXjogo3+/zu3fvyMbGhubNm1fsP9gZGRm0YcMGCg4Opvj4eBo6dCiNGzeOTpw4QYGBgRQXF0djxowhe3t7Gjp0KMXFxZGGhgZt2bKFbG1taejQoXThwgUyMDCgT58+kbGxMX38+JHatWtHCxYsIFNT0yLHFhUVRTt37qSNGzdSWFgYERG5u7vTokWLyMvLK08RTkTEsiydOHGCFi9eTBcuXCAzMzMaMmQI9e7dm7S0tLJtD4COHTtGEyZMoNDQUPLz86MZM2aQm5tbgWM+efIktW7dmho0aEAHDhzIUyC+fv2aatWqRaampnTx4sU8s5hlCZZlycXFhWxtbeno0aM0ceJEWrJkCX348EEpm1zOn0G5oCxDHD58mFq1akXR0dFkaGhY2uH8TwOAnJycqHr16rRly5YSO8/yiy9p/plwApDvj1ZOKPYb41OBBnnb0tWrV6l9+/aUmZlJu3btyvPGY/bs2TRx4kQKCgqiI0eOUGhoqNLrUqmU/Pz8qEuXLtSoUSOl5d/CkpGRQa9evcomNF+9esUJWisrKyWh6erqSvb29iQUCunLly8UERFBb968ySY43717l+18WlpapK6uzgnOxMREpdf5fD65u7uTqakpXb9+neLj42nChAnUqlUrMjc3J5FIRG3btqUzZ85Qz549afXq1dSrVy86+JZPGlX9CKT8WRVEUH49sZgyvr4j3RZj6ePq3tkEJY9A8XeP0br+PtSmTRsSi8WUmppKDx8+pMqVK5NUKqWePXvSihUr6Pnz5+Tg4JDtHNu2baOuXbvSu3fvyMzMjIiIPnz4QGZmZuTk5EQCgYAePHjALd3mRM+ePenvv/+miIiIX/rMFQCgI0eOUGBgIIWHh1NAQABNnz6dLCwsuG0SEhJo5MiRtGHDBgJALi4uNGPGDJo9ezbdunWLGIYhS0tLmjdvHt24cYMWL15MAMjc3JyOHTtGrq6uvxzjhg0baPjw4aSpqUl16tShS5cu0cePH7nMaEBAANnY2OR7rEePHtHixYtp586dJBQKqXv37jR06FCyt7fPti3LsrR7926aPHkyRUREUIcOHWjq1KlkZ2eX5zmOHDlCbdu25Zau8/qcoqOjqVatWiQUCunq1aukp6eX/xtSRlD85l2/fp0qVapEZmZmFBAQQIsXLy7t0MopCr+1YrOcPJk5cyY0NTX/mELqP53g4OBc5y0XFzt27ICqmw9sgo7l62GYk/WMdeBRqFb0UWpk+PTpExo2bAiGYTB16tRcO0vT09Ph7u4OFxcXpKWl4f3795g6dSqMjY2zNdNIpVK0b98eR44cKdb3IykpCXfv3sXmzZsxatQo/PXXXzAxMVHqUnd2dkaHDh0wY8YMHD58GK9fv1bqcE5NTUV4eDhOnz6NFStWwN3dHURZU1TU1dWVroPH48HQ0BACgQBCoRB8Ph88Hi9bA5GGhgZcXFy4iSympqYQCoWwHb69SB6iCosnwy4hMOm/AUQETe+e2X0qB23EhAkToKKiAiMjIwBZ1kaKuEaPHg0iynW04/fv3yEWi7NZwZibm6Njx44gImzbti3PzyQsLAwMwxTLfOT8Zm4Dyp6VlpaWnCWTjY0NtLS0IBaLIRaLOaN3qVSKmTNn4t69e3BxcYFYLMayZcuK/HcxJiYGfn5+ICL06tWLm56UmZmJc+fOoXv37pyNkaenJ1asWJHj+M+cjjtlyhTo6emBYRg0a9YM58+fzzHO9PR0rFmzBiYmJuDz+ejTp0+uzT579+6FQCBA27Zt87Ujio2NhaurK0xNTfOcllMWYVkW1atXR506dQAAa9euBcMweP36dSlHVk5RKReUZYiAgAB4enqWdhj/ZwgLCwMR4cCBAyVy/MjISKirq6NTp0549y0JAetvFsgcW/F6wPqbiPySgL/++gs6OjpKP0CZmZmYOnUqGIZBo0aNcvUXfPjwIQQCAaZMmcI9x7Is7t+/j759+0JNTS1XcXno0KESM27+9u0bLl++jJUrV2LAgAHw8vKCpqYmF4NMJkO1atXQs2dPLFy4EGfOnEF0dDRYloVcLkfPnj3B5/Nx4MABzJkzhxMD06dPR58+feDk5JTtuhiGgYGBAZycnFCtWjVUrFgRfD6fE5uMSArzXCyC8hKU5uOOQWRkD5lTXVgEHs9TUFqMO4b6Pk1gZWUFFxcXAMCrV6+4GBVG1HmJ+tatW6Nq1apKz3Xo0AGenp5o3bo1LCws8rVwateuHaysrPL1r8yNsLAwbixhpUqVcObMmWzbpKWlYdGiRdxUnQULFiAtLQ137tyBo6Mjd81NmjThPFSJCLVq1eJmjycnJ3Oz0Zs2bVpoH81Dhw5BT08P+vr6eU6KSUpKwq5du+Dr6ws+nw+BQIDmzZtj3759+d5gpaSkYOPGjXB1dQURwc3NDRs3bsxxv5SUFCxcuBC6uroQi8UYMWIEPn/+zL2+bds28Hg8dO7cOd/PJikpCbVq1YK2tnY2L88/gfPnz4Moa3Qoy7JwcnJCy5YtSzuscn6BckFZhqhSpQp69epV2mH8n6Jy5cpo27ZtsR83MzMTXl5eMDc3V7JpCY/5gSlHQlEnJJfxfSEXMOVIKF5++ncG9ZcvX2BmZgYPDw+kpaUpnefcuXPcTOrLly/nGMvkyZMhEAiyjcMDgIyMDJw4cQJ+fn5KPpUKD0qFuNy/f3+OoxCLE5Zl8eHDB5w+fRohISHo1q0bqlSpAolEwsWlo6ODunXrYuDAgahSpQp4PB6ICCNHjuSymhs3boRAIICXlxeMjIxgbW2NvXv3Yu3atQgMDES7du1QuXLlbFlLob5VriI/L0Gp4zsMjEAMk4Gb8heUgcehZeWKSpUqwcvLC0CWUbYiBoUfYl7s3bsXRMSJLiDLdkUkEuHRo0fg8/lYtGhRnsdQTOTaunVroT6jmJgYDBgwAHw+H+bm5ti2bVs2j1CWZXH8+HHY29tzlk+fP3/G58+f0bt3bzAMAzc3N5w4cQJ//fUX933r0aMHjhw5AktLS0gkEsycOZP7vh8/fhx6enowMDDA6dOn843z+/fv6NmzJ4gILVq0KJQQ/fTpE5YuXcpN4NHQ0ECvXr3wzz//5DnClGVZnD9/Hs2aNQNR1njHKVOm5DjN5sePH5g2bRrU1dWhqqqKiRMnYtmyZdz7kJ+fZXp6Onx9faGiooKbN28W+NrKEg0bNkTlypXBsixOnz4NIsKlS5dKO6xyfoFyQVlGkMvlkMlkf8xUg/8V5s6dC6lUyi2DFRezZs0CwzB5/oFMTM1A6Id4iI0rYNrSjUhMzT0jcfPmTQiFwhz9JaOiolCnTh3w+XzMnTs3249eWloaXFxc4O7unmfWIz4+Hhs2bED16tWzLSMrxGW7du2wd+/efE2fi5PMzEyEh4fj4MGDmDp1Ktq2bQsHBwelGPX09ODr68stp7Zu3RoJCQkIDw+HsbExHBwcuGXkzMxMNG3aFBoaGqhZsyZUVFSwaNEi1GreudCC0mzEXvBUNKFRqyP3XH6CUmRkjxo1aqB58+YAskb6Ka5j4sSJ0NfXz/P9SEpKgoqKCmbMmME9d/fuXRBljWzt27cvdHR08vUrbNasGRwdHQs05/3nmduamprczO3/8vTpU04k1q9fH48ePUJGRgaWLl0KTU1NaGpqYtmyZdi3bx/Mzc0hFosxbtw4DBw4EHw+HzY2Nti9ezdGjx4NPp8PFxcXbgxtdHQ0fHx8uBuI3LKwly9fhqWlJVRVVbFhw4ZfKiEKCwvDpEmTOL9Wc3NzBAUF4enTp3nu9+LFCwwaNAgymQwikQjdu3fHw4cPs2339etXjB07lptiVaNGDSQkJOR5bLlcjs6dO0MoFOaYGf4TuHPnDogIe/bsAQA0btwY7u7u5eVefzjlgrKMEBkZCSLCiRMnSjuU/1O8efMGRIQdO3YU2zHv3LkDgUBQ4KkkKioqWLhwYb7bLVu2TOmP8M9kZGRwU16aNWuWzbD79u3b4PF4mD17doFiioyMxIwZM2BhYaGUsVT88EmlUrRp0wZ79uzJ9wewuImPj0f9+vUhEokwc+ZMODk5QSQScabWPwvhChUq4K+//oKamhpMTExw9epVjBo1CjweD82bNwefz+fqU0Oj4gstKDVqdgBPogqj3ith0n8DTPpvgEHnuSAiqHu244zrf95HqG8FiUQCMzMzjBgxAvPnzwdRljH9iBEjYG9vn+970KlTJ27JHMjKWCluSKOioiCVSjFhwoQ8j6Ew+M+r5CM9PR2rVq3iZm6PHj06xykt3759w+DBgzlRqDD3/ueff+Dq6gqGYdCnTx/cunULTZo0AVHWqEbFlCIgS4wqBGPDhg2xf/9+VKtWDQzDoH///oiLi4NcLsfChQshEolQqVIlpaXe1NRUjB07FgzDoHbt2oiIiMj3fSwoLMvi6tWr6NevH7S0tEBEcHd3x8KFC3OtdwWyahznzZvHDSHw9vbG0aNHlUT84sWLuaVyPp/PTer572qEIo6hQ4eCYZgc/w78KbRu3Rp2dnbIzMzEs2fPipQtL6fsUS4oywinTp0CEeHNmzelHcr/OTw9PeHn51csx0pMTIS9vT2qVKmS4w9CTujr62P69On5bseyLDp06ABVVVU8f/48x21OnDgBbW1tmJubZ1sKGzt2LMRicaHqrRRTSAYNGsRNy1FkLBWjAiUSCVq3bo1du3YVe6b3v3z48AFubm7Q1NTksr/v3r3jmnPmzZuH79+/4/r161i7di2GDBkCb29vTgQoHop6zVatWnEz0RNS0rOVIeQnKFVcGmSr1fzvw6jHUqV6S0YoAY/Hg6qqKoyMjLKVGojFYjRp0gRDhgzB4sWLcfz4cW5GtoJjx46BiPDkyRPuubp166J169YAgKCgIEilUm6aTG54e3vnmBliWRaHDh1ChQoVwDAMunTpgsjIyGz7p6enY+nSpdDS0oKamhrmzZuH1NRUvH//Hh06dAARwcPDA1euXMHkyZMhFothYWGBw4cP55iNYlkWx44dg62tLfh8PgYOHIjZs2dDVVUVhoaG2Lt3L1iWxYMHD+Dg4ACpVIrVq1fj0aNHcHNzg1AoxNy5c0t0BGJqaioOHjyI1q1bQyQSgcfj4a+//sK2bdtyvbnKyMjAnj17uFpRW1tbLFu2DNOmTQMRYezYsWBZFq9fv0bXrl25qVWbN29Wupbp06eDiHKcpPSn8Pz5czAMg3Xr1gEA+vbtCyMjowL/vSyn7FIuKMsICxYsgEwmK9DyUznFy5IlSyAUCvOdj1sQ+vXrB5lMxs2MLghWVlYFnrmbkJAABwcHODs757rs/PbtW3h4eEAoFGLJkiXcD3dycjLs7e3h4eFRpB/c9PR0HD16FK1bt4ZAIADDMFzmUkVFhROXLVu2xPbt2/H9+/dCnyMvQkNDYWZmBjMzM4SGhgLIyjA7OjpCU1MTdnZ2MDAwwIsXL3Lcf9WqVVwmkChrZrMibkWtnPWwbYUSlIbdF0Ov9QSlh3bjwVnviWtD6LWeALPhe/5dDu+3TklA/jejqqqqCjU1NVStWhXW1tacaFe8bmlpiYYNG6JPnz6QSCRo06YNQkNDkZycjKCgIBgaGoJlWcTFxUFbWxv9+vXL8z09d+4c1xihoCCd20DWTbCjoyMYhkHv3r0RExOD1NRUzJo1CzKZDPr6+ti0aROOHj0KKysrCIVCjB8/vkC1uKmpqQgJCYGamhq0tbUxffp0tGzZkmvOiYyMRFJSEvr27csJcQcHhxyXlUuS2NhYrFmzBl5eXty/g4CAAJw+fTrX8pIbN26gffv23L8dT0/PbGI9NDQUrVu3BhHB0dER+/fvx4oVK0BEBbr5LMt0794dxsbGSE1NxdevXyGRSJTKN8r5cykXlGWE3r17F2gebznFT3R0NHg8HtavX/9Lxzly5AiIqNB2LM7OzhgyZEiBt3/69ClkMhkCAgJyrTlKS0vDyJEjQUTw9/fn6umuXr0KhmEKtMSeF4ofUkXN4s8NLopsoVgsRvPmzbF169Z86/ny459//oGmpibc3Ny4md23b9+Gvr4+bGxsEB4ejs+fP8PR0RFmZmbZfqAjIyOhr68PZ2dnMAwDVVVVREVFQS6XIyIiAkePHsWsWbNQY+B8WIw98m8DTaN+0PAKgGplXxARZPY1oeEVAA2vACWh+PMj1xrKsUeg3agf1qxZA4FAgPHjx2P16tXo3LmzUub3vw9VVVXY2dmhWrVq8PT0RJUqVWBjY5NNmOrq6oKI0K5dO8yePRtdu3YFj8fD3bt3c31fWZZFjRo1ULt2bYSFhXEiJrfObSCrrtDXN+v9qFOnDu7fvw8gq3HG1tYWAoEAI0aMwKNHj7gZ140aNcpV6OdFTEwMevXqBYZh4OzsjKlTp8LExAQymQzjx4/nhJxEIoGRkRHOnz9f6HMUFxEREZgxYwYqVKjA3bCMGDEC9+/fV/p3yrIsJkyYACLi3A34fD7atm2L69evKx3zzp07XE0qEaFly5Z/dNLh7du3EAgEWLBgAYAsqzyJRIIvX76UcmTlFAflgrKMUKtWLXTu3Lm0w/g/S/369dGwYcMi7x8dHQ1dXV00b9680IXl1atXR8+ePQu1z44dOwokXg8ePAgNDQ3Y2NhwP/zDhg2DVCpV6hL+FV6/fo2pU6dyjQuKrBqPx4O2tjaXFWzWrBk2b96s1PVeEPbs2QORSIQGDRpwwvTw4cOQSqXw9PRUsl358OEDrK2tYWtryy33JiQkoGLFilx2097eHoaGhnBycsrWgRse80NJBPLV9XNdyjbpv6FwgjLwOAQ6prh58yaICDt37uTOyzAM6tatC3d3dzRt2pQTSz/7bEokEshkMi6z9XNDkrOzM2dbo6+vz/kqKh4GBgaoVasWunXrhunTp2PXrl24c+cOYmNjsWXLFu6mILfObSDrJmL48OEQCASwtLTE/v37wbIsXr58yXU2N2jQAA8ePMCMGTMglUphYmKCffv2/XKzxd27d1GrVi0uQ6n4b5FIhNWrV+PDhw/w9vYGwzAYN25cqS6fsiyLO3fuYNiwYdDXz/r+ODk5YdasWYiMjOS8RkNCQgBkfT9XrFgBOzs7rjFn165dnAfl33//DT6fz9UI16lTB1euXCm16/sVhg4dCm1tbSQkJCAtLQ1GRkbo06dPaYdVTjFRLijLACzLQktLqzztX4qsXbsWPB4vR4uP/GBZFo0bN4aBgYGSuCko3t7e6NChQ6H3GzhwIEQiEe7cuZPndq9fv4a7uzvEYjFWr16NhIQEWFlZoW7dusWa7WBZFtevX8eAAQO4ekuZTMY18yh+EIVCIXx9fbFx48Z8ywwWLlwIIkLnzp05kbBkyRIwDIM2bdrk6JP55s0bmJiYwNnZGZ8/f0arVq2gqqoKNzc3GBgY4O3btwgLC4ORkRGcnJyyWcp0WncDluOO5ukVWtiH+dgjcBiwAioqKlwD3s/LzERZfoy2trYYO3as0nv65s0b7Nq1C8OGDUONGjW4zKRQKASPx4OBgQFq1KgBZ2fnbFlOhbi3srKCk5MTrKysuM/mvw81NTWMHz8eW7duxfXr1/H582ewLIuMjAysWLECOjo6UFVVxaxZs5CSkoLExESMHz8eIpEI5ubm2L9/P06fPg07OzsIBAKMGTOmWBu2WJbFmjVrIJVKQZRljK645mHDhiEuLg5z5syBQCBA1apVER4eXmznLioZGRk4efIkOnXqpGR/1bFjx2w3VnK5HMePH0eDBll1uaamphg4cCBkMhmaNm2KtLQ0nDhxApUqVeK+L4qbxD+Bz58/QyqVcp6427dvBxHl2zFfzp9DuaAsA8TExICo5Ay2y8mfr1+/QiAQYPny5YXed+nSpdkEQmFo1qxZkZqCUlNTUa1aNVhYWOQrzFJSUjBw4EBOnB0/fhxEhJUrVxYp5oLEdvDgQbRs2ZITPop6RZlMBiMjIzAMA4FAgMaNG2P9+vVK00nkcjlGjBgBIsK4ceMgl8uRmZmJYcOGgYgwZsyYPMXw8+fPoaenByMjI25pUSKR4NatW9w2YWFhXKZSISpjYmJQ06c5zEcdgEUuJueFFpPjjsFs1AGoGVnCyMgIY8eOBRHh5MmTALI8CYmyrI50dXUxc+bMPN/blJQUXL9+HQsXLuSaVxRCRSqVQk1NDUOHDsXUqVMRHBwMLS0taGpqwsrKKpv3pqJ2VJFJ+6/RvUwm44SQm5sbFi5ciEuXLmHlypUwMTGBWCzG5MmT8eLFC/j7+4OIUK9ePa7GtTg5duwYDAwMoKOjg3bt2kEikcDAwADt27eHTCaDqakpjhw5gtu3b8PW1hYqKirYtGlTmbCikcvl6NGjB1frqWi+atOmDY4cOZIto/r48WOu/IDH46FPnz5cXbZcLseePXtgb28PIkLbtm1zbdIrS0ycOBEqKir4+vUrWJZFlSpV8Ndff5V2WOUUI+WCsgxw8eJFENEf8UfhfxlfX1/UqlWrUPuEhoZCLBYXqgbyv7Rv3x7169cv0r6RkZHQ0tJC06ZNC5Rt3LVrF1RVVeHg4IC2bdtCVVU1x+7d4uTr169YsWIF1+EqEok4campqQlTU1MwDAM+nw8fHx+sWLECLVq0AMMwnMBPSkpCy5YtwePxsGLFigKdd/bs2ZxgIiLs3bs32zYKUens7IwTJ07A2NgYhoaGaDFyXrFmKFXdGkEsFsPAwICzXlIsVyvel2rVqoHP53P1ZQXhypUrICIcOnQIBw8e5OrtFFk8oVDICY/Ro0dj+fLlXGlCjRo10L9/f7Rt21bJJP7nJiBFltPAwCBbpzyfz4e9vT2cnZ0hFAqhrq6O8ePHIzIyslgz3wkJCVzzTdOmTTmbnrdv36J9+/ac2P3Zg/TFixfo0aMHV1Na2DKL4iQzMxPdunUDwzDYtGkTgKzSjJCQEFSsWBFEWYb9AwcOxPXr18GyLCIjI2FiYgJHR0cEBQXBwMAARFlWS2fPnuUyxxs2bICZmRl4PB569OhR4v+Wi8r379+hqamJESNGAMjyCv2Vm/ByyiblgrIMsGLFCggEgnzntpZTsmzbtg1EVOCZuKmpqXBzc4Ozs/MvjSjs2bMnatSoUeT9T5w4ASLCrFmzCrR9WFgYXF1dIZVKoaWlBR8fn9+WxXnx4gUmTZoES0tLLiOmED/6+vowNzfnBIubmxtWr16NJ0+eoFq1alBRUcHx48cLdJ5bt25BLBbDzc2NWx7NzQj72bNnUFdXB8MwqF69OjfK0XfM0l8SkYoxjuqebblrOnjwIPbt2wciwsaNGxEcHIw6depkyxpaWFigWbNmCAwMxPbt2/Ho0aMc45fL5TA1NcWgQYMA/DsX/PTp07h//z5WrlyJLl26cJ3tCpFZp04dzJw5ExcuXOCsnjZsyKr9bNasGfh8PjQ1NdGoUSP4+PjA2to6m+BUUVHhlt/FYrFSbadYLIajoyP8/PwwYsQIrFixAqdPn8arV68KNe7x2rVrsLGxgYqKCtasWZPj9/Ty5cuoXLkyiAi1a9eGnp4e1NTUsHz5cuzatQsaGhowNzfPdZJUSZKRkYFOnTqBz+fn6nX7+PFjjB07lptxb2lpCR0dHZiamnJ1wKmpqdi8eTMnQF1cXLB+/XqkpKQgNTUVS5Ysgb6+PoRCIYYMGZKnN2ZpEBISAqFQiPfv3wPI8qF0dHQsE9njcoqPckFZBhg8eDAcHR1LO4z/83z//h0SiYQrls+PUaNGQSQS/bJVyZAhQ5RMqovCxIkTwePxcOHChQJtn5SUxI2mI/r9vnZyuRyXL19Gnz59uAyilpYWJ0oMDAxgZ2fHiRiRSITAwMAC1bh++PABRkZGXObMx8cHEokELVq0yHbTlpycjG7dunFZPcUS+dChQ8GyLHbdfgv7iSfznb+e7TH2CMxHH4S+R0vUrVuXe5/btGmDtWvXgog4YbVz504QEZdtGzVqFMaMGYMmTZpwhtiKjKCjoyPatWuHadOm4eDBg3j58iVGjBgBfX19ZGRkQC6XQ1NTE9OmTQOQJeAVS6dEWR3/kyZNQqNGjbiGHx6PB1dXV9SqVYvLFE+bNg3JycmQy+VYv3499PT0oKKigqCgIOzcuZObpqSrqwtXV9dspvJCoRDa2trQ19fnupgVrwkEAtja2qJx48YYPHiwktemQjSnpaVh/Pjx4PF48PT0zLeBLDMzE+vXr4e+vj6kUik3NrFGjRo4deoUateuDR6Ph0mTJhV5fnlhSUtLg7+/PwQCAfbv35/v9pmZmTh69Ch0dHS4fwceHh5Yvnw51wXNsiwuXryI5s2bg2EY6OnpYdKkSYiOjkZCQgJmzZoFTU1NyGQyBAUFITY2tqQvM19SU1NhZGTEjRWOiIgAj8fDmjVrSjmycoqbckFZBqhfvz78/f1LO4xyAPj7+6NKlSr5bqfw7yuOUZnjxo2DlZXVLx0jMzMTDRo0gL6+PqKiogq836ZNm8Dn88Hj8Uptjm5KSgpCQkKUusONjIw4ESISibhaQUU39PLly3M07U5KSkLVqlVhZGQEHR0deHl5ITU1FSdOnIBQKESnTp04D86IiAhUrlwZUqkU27Zt45bItbW1lRp13n1LQsD6m7AIPJ6vsFS83mTeSQg0DKCrqwtNTU0lweXg4AB1dXXu+AsWLACPx+NqEBWjBhXExcXh6tWrWL16NQYNGoS6dety3fM/N974+Phg/vz5qFq1KmrWrIn+/fsrdW63atUK5ubm3MhEuVyOp0+fYsyYMUrHU2SOa9SoAWNjY65O7+3bt1i0aBHU1NSgp6eHzZs3Ky1t//jxA48ePcKhQ4ewYMECDB48GL6+vnBwcFDKkCqym9ra2tDQ0FCyP+LxeDA2NoaamhoYhkHjxo2xf/9+PHnypED+lfHx8Rg9ejSEQiEMDAxgamoKPp+P0aNHY+LEieDz+fD09CzWKTo5kZqaCj8/P4hEIhw5cqRA+6SkpMDb2xsaGhq4ceMGdu/ejWbNmkEgEEAgEMDPzw979uzhVkPCw8MxZMgQqKioQCQSoVu3bnjw4AFiY2Mxfvx4yGQyaGhoYObMmb99mtXPrFmzBgzDcLZRw4cPh7a2doE+z3L+LMoFZRnAyMgIEydOLO0wygG45ci8OkS/ffsGExMTNGjQoFhqxaZNmwYDA4NfPs6nT59gbGyM2rVrF6p84urVq+Dz+eDz+di1a9cvx1FYzp8/D3V1dVSuXBlPnjzB0qVLuTo/hcBgGIbLpLm5uXHG6l5eXli6dCmioqLAsizXoGFlZQUbGxslf7t9+/ZxDQ6nTp2CtrY2rK2t8fDhQ+zYsYPrHNfX14erq2u2jv3wmB+YciQUdUIuZJ+oM+4YrIduxZQjoXj5KWsJuVevXkqNSA0aNOCaXsRiMWf8PmrUKEgkEq7+sSBdryzL4uPHjzhz5gwWLFgANTU16OrqcuUDRFlm31ZWVujbty9WrlyJHTt2gMfjcR6kr169QqtWrUCUZa5969YtxMTEQF1dnfO0/DmzKBKJOEF/6dKlQmX65HI5Pnz4gMuXL2Pz5s2YPHkyAgICULNmTa4+8OcHwzBQUVFRqjclIhgbG6Nu3bro1asXZs+ejX379uHBgwfZJjS9ePGCszKytLSESCSClZUVFi5cCEtLS6irqxfruNWfSU5ORuPGjSGRSApcI5iRkYFWrVpBIpFkW5r//Pkzli1bhho1aoAoy+e1Z8+euHDhAuRyOeLi4jB//nyuXKRevXo4fPgwoqKiMHToUIhEIujr62PJkiW5ln2UFBkZGbCxsUHbtm0BZK0CKdwEyvnfo1xQljJxcXEgKt5Z0uUUneTkZKiqquY6jYJlWbRp0wZaWlpcPdCvsmDBAqiqqhbLsa5evQqBQIDRo0cXar9du3ZxP9oDBw78bT88O3bs4Jalf/z4AZZlufFyLVu2xNixY7llX11dXe6/JRIJqlWrhipVqkAoFIJhGO4H1cHBAZqamjk2uW3cuJG7ziZNmiA2NhZ79uwBj8dD9+7duaydgYFBjqJSQWJqBi7cD4fIyB4Ong0hVlEHj8dTyrrExcVxS+hEhICAALx48YITfU5OTvj8+TM6deoETU1NzqS7MBlmBYpRiwYGBlzGr0+fPmjfvj2cnZ2zmaBbWFiAz+dDW1sbM2bMQFJSEtLT07F48WKuq3vWrFn48OEDJzoNDAzg6OjIHUsmk6Fu3boYN24cDh069Et1e2FhYZxgqlu3LgYNGgQ/Pz84OTkp2e0oxHhOYlNXVxeenp7o2rUrpk2bhp07d2Lx4sWws7MDwzBctrVNmzZcGUBAQECxTnRKTExE/fr1IZVKce7cuQLtw7IsevXqBT6fj2PHjuW57YsXLzB58mRYW1uDKMtaaNy4cQgNDUVGRgb27t3LTTmysbHB0qVLERoaip49e4LH48HMzAwbNmz4bcv+ir8r9+7dAwAsWrQIAoGgSN/xcso+5YKylLl+/TqIKNfxZuX8fgICAuDk5JRjwfimTZtARNi3b1+xnW/16tVgGKbYCtQV3o0HDx4s1H6K7J5YLEaVKlXw+vXrYoknJ1iWxbx580BE6NatG9LT05Gens7VdU6bNo17P+RyOS5cuIAePXpwGT4LCwuuiUFdXR2Ojo5cZksh1hYuXKjUYBUfH4/mzZtzAmTSpEk4ePAg+Hw+AgIClMZRPn36lMtU5jbFIzY2lrsZVPyI/9dLdvny5dz5pFIpnj17hubNm0MqlYJhGJiZmcHDwwNGRkaoUqUKiKhQS4GKmduKJidvb288ffoUPB4Pa9eu5bZLS0vDgwcPuKk8DMNw88wV/69Ylq5UqRKkUimqV68ODQ0NaGtrY+3atVw2PikpCVeuXEFISAj8/f05oab4XNq3b4/Fixfj5s2b+d6YsCyLbdu2QUNDA6ampjmKMJZlER0djevXr2P79u2YNm0aunfvDi8vLyXBrrgOiUSSTWxKJFnz0/l8PoRCIWQyGZo1awaZTAZLS0vcuHGjwO95bvz48QNeXl5QVVUtVPlIYGAgiAhbt24t8D4sy+LatWvo378/131fqVIlLFiwAB8/fsStW7fQsWNHCAQCaGhoYNSoUTh37hzatWsHIoK9vT12795dolN3WJZFxYoV4ePjAyCrLMfKyqp8gMf/MOWCspTZsGEDGIb5pS7hcooXhUfj48ePlZ5/9eoVVFVV0b1792I9n6K7vLi+AyzLwt/fH+rq6oWahvP582fo6uqiYcOGsLGxgYaGBg4dOlQsMf1MZmYmhgwZAiLCxIkTwbIs4uPj0bBhQwiFQmzbti3XfZOSkrBz5040adIEPB4PQqGQE1OKh5OTE7y8vDiBVKNGDYwaNQqWlpbQ1NTE8ePHuU5uHo+H9u3b55ixUYhKNze3HEVlamoqiAhbtmxBcnIy57e5e/dubpujR49ycdnb28PJyQn169dHixYtOLsgRebIyckJQqGwwDcW/525bW1tzf1YV65cWel7eunSJa4T2tnZGWKxGFFRUXj27BlnpG1kZIRq1aop2QMpRh4GBARgzpw5OH78ON6+fZstxvfv32Pfvn0YNWoUatWqxdV1ikQieHh4YPjw4di9ezciIyO5fb9+/Yq2bdtymcKiWvukpKQgLCwMJ0+exPLlyzFq1Ci0atUKLi4uSiUAP99w5PScs7Mzxo0bhw0bNuDSpUtcGUVBiIuLg4eHB9TV1bONT8yLkJAQEBEWLVpUpGsHsm4WDh06BH9/f4hEIvB4PDRq1Ahbt25FWFgYAgMDoaWlBR6PhzZt2mDjxo3c6MyKFSvi+PHjxdptnZiaW6jTDwABAABJREFUgdCoeCzfdRxCfSucOpvVKHjgwAEQUZ6jQMv5sykXlKXM6NGjf7kho5ziJS0tDVpaWkp1PhkZGfD09IS1tXW2eq1f5eDBgyCiYp1n+/37d9jZ2aFixYqFEqq7d+/mRJKiSWTkyJHFZmmVnJyM1q1bg8fjcWMj3759CxcXF2hqauLixYsFPlZ0dDSCg4Oz+ToqGkwsLS3RokULuLi4cK+7urpi3rx52LhxI9dBnpeZfWhoaK6ikmVZ8Hg8rkPe19cXhoaGYBiGmws/b948rj61efPmUFFRgY6ODnr37o3U1FRu1jXDMDAxMYGurm6+1/1z53bFihXx999/AwCmT58OVVVVJCUlYdCgQbC3t0dERATatGkDIkL16tVx/fp1xMfHQ0tLC9WqVYNUKoWhoSG2bt2Kz58/o3fv3pwoF4lE8PHxQd++feHp6alkeq6mpgZPT0/07dsXS5cuxYULF5Ten7S0NNy5cwfLli1Dp06duCVaoqwZ14rjqaqqYsuWLQX+zAsLy7L48uULbt26hV27dmHmzJlo1apVrtOC/vsQi8WwtbVF06ZNMXr0aKxevRrnzp1DZGQkl9H+9u0bqlSpAi09Q+w9ex3338YiNCoeial5LysrVjuKs54wNjYWa9eu5ayoZDIZOnXqhEOHDmH58uXcnPFq1aph8uTJqF27NogINWvWxD///FPk83L1xfOy1xdbBh5HnXkX4Nw1GB4+LYvtWsspe5QLylLG19cXTZs2Le0wyvkPvXv3hrW1NXfnHhwcDD6fX6jsQ0E5ffo0iKjYTYkfPXoEqVRaqDnhLMuiZcuWMDAwwJcvX7BkyRIIhUJ4eHgU2J8zN759+4ZatWpBKpVyna/37t2DkZERLC0t8ezZs0IdLyUlBR4eHtDT04NEIoGtrS23/GpqaorKlStzYlNDQwP+/v5o3Lgx95y6ujo8PT3BMEyey42hoaHQ09NDxYoVlab5AICqqipnRD537lxIpVL06jcQQn0rjJu3Cu36joREVQP169cHUdbUHyLiJoR8//4djFACob4VREb2MHaunqsQiYmJwYABA3KduR0eHs6VY6xfv54TRMbGxti6dSvkcjlYluWsaYgIPXv2RFxcHNasWQNtbW1oampixYoVyMzMxKhRo6ChocHNT1cYbisyvJ07d0bFihWVOrgNDAzQoEEDDB8+HOvXr8etW7e4DuNPnz5h7969cHd3B9G/DT98Ph+VK1fGgAEDsGXLFrx48aLE/QlZlsWBAwe4mlxFCYBUKoVAIICJiQnXUJVbdlMgEMDYsQr0mwyCSf/1sAg8lqOQmnIkFOExyjehhw8fBp/PR9++fUvsWt+8eYOZM2fCwcGB+2yGDRuGxYsXo1GjRiDKanLq0aMH52/p4+OT7yjXnymMA4L52COwCDyOgPU38e5beYf3/yIMAFA5pYa1tTX5+/tTSEhIaYdSzk+cP3+eGjZsSLdv36bMzEyqXbs2TZo0iYKDg4v9XFevXiUvLy969uwZOTo6Fuuxt2zZQt27d6cNGzZQz549C7RPdHQ0OTk5kZ+fH23dupVu3bpF7dq1o8TERNq2bRv5+voWOo7IyEhq0qQJff36lY4dO0YeHh508uRJateuHTk5OdGxY8fIwMCgwMcDQN27d6c9e/aQhoYGGRsb05UrV0gqldLFixdpzZo1dPDgQWJZlgwNDcnU1JRCQ0MpNTWVGIYhExMTcnNzowsXLlBqaioREXXq1ImCg4PJzs4u2/mePn1K3t7eZGxsTOfPnycdHR0iIjI0NKTBgwdT+z7DaP6RW3T8/hsSahlni1VHxJL8w2OKv3OMYsIfEk/LmHrM3EgPPmXQxx/pxDDMz3uQhbYKeVfQp841zMlIhaEFCxZQSEgICYVCmjhxIg0aNIgkEkm2OKtUqUIMw9C7d+/oy5cv1L59e1q/fj2pqqpSeHg4DR8+nE6dOkUNGjSg58+fk4ODAyUmJtLt27epe/fuNHfuXNLX1yeirO+BlZUVTZ48mcaPH5/rZ5GZmUkvX76k0NBQCg0NpSdPnlBoaCi9evWKFD8vVlZW3GeQmJhIY8eOpfHjx9Pr16/p5s2bdOPGDbp58yY9f/6ciIi0tbWpRo0a5OHhQR4eHlSjRg3S0NAo8PejoKSmptLChQtpxowZlJGRQZmZmWRhYUFv376lnj17UnBwMH358oUiIiIoIiKCXr58Sc+fP6eIzz9I7t6OpFaVCaycGB4/95OAJWJ45KABCmxgQRnxMeTn50d+fn60e/du4vPz2LcYAED379+n7du3065du+jTp0/k6OhIjRo1ok+fPtHhw4eJYRiqU6cOvX79ml6/fk2tW7em6dOnk5OTU67H3X3nHU05+pQyWZCcLbiM4PMYEvAYmtrcmTpUMy+OSyynjFAuKEuR5ORkUlVVpQ0bNlCPHj1KO5xyfkIul5OJiQm1adOGTp06Rfr6+nTlyhUSCATFfq4HDx6Qu7s73blzh6pWrVrsx+/Tpw9t376dbty4QZUqVSrQPgohevz4cWratCnFxsZS165d6cSJExQUFETTpk0r8Hvx8OFDatKkCclkMjp9+jTZ2dnR6tWradCgQeTn50c7d+4kmUxWqGuaN28ejRs3jqytrSk1NZVu3bpFpqamRER08+ZN8vf3J7lcTr1796bbt2/TuXPnSCgUUmZmJqmqqlJiYiIxDEN169Yle3t7OnbsGEVFRRERUcWKFalNmzbUtm1bqlChAnfO0NBQql+/PpmYmNC5c+dIR0eHrFyrkUGzYRRDWsTnMXn+sPIZIjmI5Mk/iC9TJ2LlRHkIEcXx5FFP6dupZTSoewcKCgoibW3tHLe/evUqdezYkT58+ECtW7emK1euUO/evWn8+PE0Y8YMWrhwIZmYmNDChQupbt261LZtW7pw4QLZ2trSpk2bqHbt2tmOOXDgQNq3bx9FRkaSiopKgT4bBcnJyfT8+XN6+PAhbdiwgW7cuEFCoZAyMjKIiEggEFCFChXI1dWVXFxcyMXFhSwsLCgmJoZu375NN2/epJs3b1JcXBwxDEOOjo6cwPTw8CAnJ6diE2NRUVEUGBhI27dvJz6fTyKRiORyOZmbm9Pu3bupSpUq3La777yjyUdCKT0jM8/P779Anklg5RR3dg2lPrtATk5O5ODgQJUqVSJHR0eytbUla2vrQv9bKAyZmZl07tw52r59Ox06dIiSk5PJw8OD9PX16ebNm/T582dyc3OjT58+0efPn6lLly4UHBxMVlZWSsdZfvElzT8T/svxjPaxp8He2W/gyvkzKReUpYhCSNy4cYM8PDxKO5xy/sPQoUNpw4YNxDAMPXr0iGxsbErkPOHh4VShQgX6559/qG7dusV+/NTUVKpZsyb9+PGD7t69S5qamvnuA4B8fX3pyZMn9PTpU9LQ0CCWZWn+/Pk0fvx4ql27Nu3atYuMjIzyPM7Zs2epdevW5ODgQMePHyc9PT0KDAykkJAQGjp0KC1cuLDQouDYsWPUokULqlChAr17944uX75MVapUIQC0evVqGjZsGFWvXp327dvHxXf48GFq3749CYVCSkpKIl1dXXJzc6P4+Hi6f/8+iUQi0tLSom/fvlGtWrXo7t27lJSURK6urpy4dHR0VBKVgxbupBmnXhDD4xMYXoHjB/CfjGR+O7AkEvBpWguXHDM67969o7Fjx9KePXvI1dWVnjx5Qlu3bqVDhw5RWFgY/fjxg759+0aBgYE0evRo2rt3L40dO5bS0tJIVVWVbG1t6dKlSznGFBkZSba2trRgwQIaNmxYwWP+/4SFhVGXLl3owYMHXKYzISGBy2YqMppPnjyh+Ph4IiKSyWTk7OxMrq6u5OzsTFpaWpSQkEDPnz+nW7du0ePHj0kul5OqqipVr15dSWTq6ekVOsafuXnzJg0cOJAePHhAREQqKiqUlpZGM2fOpNGjR9PKS6+zhBRAVJjP8P+j+OzjL2+j79f35LiNmpoaGRsbk62tLbm6ulKlSpXI3t6ebGxsSF1d/Zeu72cSEhLo8OHDtG3bNjp//jzx+XyqWLEiffv2jd68eUNGRkaUnJxMycnJ1Lt3b5o4cSIZGxvT7jvvKPDgk2KLY25rV2pfnqn8n6BcUJYiO3fupM6dO1N8fHyJLOeU82vMnDmTJk6cSIGBgTR79uwSO09UVBSZmprSiRMnirScXBAiIiLI3d2dvL296eDBgwUSNO/fvydnZ2dq3749rVu3jnv+ypUr1KFDB8rMzKRdu3ZR/fr1c9x/69at1KtXL/Lx8aE9e/YQn8+nbt260f79+2nRokVFEiihoaHk6elJxsbGFB4eTgcPHqRWrVpRSkoKDRgwgLZs2UJDhgyh+fPnk0gkIiKiW7duUaNGjahy5cp04sQJevXqFW3bto127NhBnz59Int7e7K1taW3b9/S06dPiYjIx8eHqlevTq9evaLjx49TYmIiOTs7U5s2bahSpUo0cMVRElX1L7KwKCo/Z3SSkpJo7ty5FBISQpqamjR79mzq2rUrd1Py8eNHioiIoJYtW9KiRYvo+/fvNGjQILp27Rp16tSJ5s+fTw8ePKCmTZvm+d3r1q0bnT9/nl6/fk1isbhAcbIsSytXrqQxY8aQhYUFbdu2japVq5br9gDo48eP2ZbNnz17RikpKUREpKOjQy4uLuTg4EAqKiqUkpJC7969o7t379KnT5+IiMjGxkZJYLq5uXHfg4LCsixt376dhg8fzmVHAVCVdkPpq7VPoY6VF4HepuQk+U6vX7/mrvfNmzcUHR1NSUlJOe4jlUrJwMCArKysyMnJiapUqUIuLi5kY2OTa+a6IHz8+JF27dpF27dvp4cPH5Kamhrp6OhQZGQkyWQyYlmWiIh6DBlD58UelJaZs2zIiI2i+CvbKe3DM2JTEomvrkcqTnVJvUYr4gmzl2gQEYkFPDo3oi6ZaZdcZrac30O5oCxFJk2aRBs3buSW2sopO3z48IFcXV0pPT2dunbtSqtWrSqxc8XHx5OWlhbt3buX2rZtW2LnOXr0KLVo0YJCQkJo9OjRBdpn7dq11K9fPzpz5gw1atSIe/7z58/UuXNnOn/+PAUHB9OECRO4TCMAmj17Nk2YMIF69epFq1evpvj4eGrRogU9ePCAdu7cSS1btix0/F++fKHq1auTXC6n9+/f09y5c2ns2LH05s0b8vf3p7CwMFq7di0FBARw+9y9e5caNmxILi4udPr0aVJVVeVeUyz/bd26lQ4fPkypqalUtWpVev36NcXHxxPLsqSnp0etWrUiS0tLevr0KR07doxYSw/S8R1a6PiLi9mtXCjzxWUKDAykb9++0ciRIykoKIjU1NQoNjaWWrVqRZcvXyYzMzN6//49Xbx4kQ4fPkzLli2jChUq0IoVK8jb25uIsj4rb29vio2NpQcPHuSYLQ4LCyMnJydas2YN9enTJ9/4oqKiqEePHnT27FkaPHgwzZ07t8jLuHK5nCIiIrIJzfDwcJLL5UREZGpqSnZ2dqSqqkrp6en08eNHevHiBaWnp5NEIqEqVaooiUxFaUR+JCYm0rRp02jhwoXEqOqSUe+VxAhE2W7G0qLDKenJeUp994Qyv38inlSdxMYVSLNOFxJqm+R6/LyEVFJSEkVGRlJERAQ9efKEHj16RC9fvqQPHz7Qt2/fOIH3MyKRiHR0dMjc3Jzs7e2pcuXKVLVqVapQoQLp6ekVOCseGhpK27dvpx07dtCHDx9I/f+xd9ZhUaXvG3+mmaG7GxGREEFEFBTB7hZbsbtz7c61u2PNtVvEWLvWbjEQMBDpnnP//uA379eRoRTF3Z3Pdc2lnDnxnjMD5z7P+zz3o6ND6enpJJfLybj1ZJLYeKjMGc1J+kix6/oTT6JJ2l71iC/Vpszox5R6L5ykTpXJpOV4lccT8Hnk72BIW8IqF2l8an5d1IKyFGnRogUlJiZSeHh4aQ9FzRdwHEe1a9emx48fU/PmzWn79u0UGxv7Q/IniYiysrJIIpHQhg0bqEuXLj/kGApGjRpF8+fPpzNnzlBAQECh6wOgkJAQevHiBd2/f19JkMnlcpo+fTpNmjSJQkJCaOvWrWRoaEgDBgygFStW0KRJk2jChAn0/Plzql+/PiUlJdGhQ4fI19e32OPOysqiWrVq0d27dyklJYU6depEa9eupZMnT1JoaCjp6+vT3r17ydPTk23z999/U3BwMJUtW5ZOnDhR4HRhUlIS/fnnn7RlyxY6c+YM8Xg8EolEVKNGDXrw4AFFR0eTjY0N1WvZgU6J/UgOXpEik4mXdlLC+S0kMrIhi+7Lld7LeH2X3m9XXexi1nEeSSxdVO9Unk3Rq3tT01oBNGfOHLK3tye5XE7r1q2jsWPHUmZmJqWmptLvv/9Ow4YNI01NTZLL5TRx4kQaNGhQnojd1atXyc/PjzZt2kSdOnVSechWrVrRrVu36MmTJwX+HuzcuZP69OlDUqmUNmzYQLVrl1xE70syMzPp8ePHeYTm69eviYiIx+ORtbU16evrU05ODn348IE+fvxIRESWlpbk5+dHVapUIT8/P6pYsSJJpdJ8jxUZGUl1Zx+mTF1b4gnynvvHfTMo8+0jkrlUI5GJHclTPlPyrcOErAwy6zSPxMZ2Kvf7rUIKAL1//54iIyPpwYMHdOvWLXr06BG9fv2aPnz4QGlpaXmPJRCQvr4+WVhYkKOjI7m7u5Ovry9VqFCBzM3Nic/Pm7LBcRydO3eOtm7dSrt376YMsR5Z9Mj/wTrx0i5KOL+ZzMOWkdjYli2PO7yAUu9HkNXgHSTQ0Mp3+/AhgeRkol2sa6Hm10ItKEsRV1dXCg4OpiVLlpT2UNR8wfz582n48OEUHh5O+vr65O3tTcePH6c6der8sGOKRCJatGgR9e3b94cdgyg3KhccHEzPnj2jW7dukZmZWaHbREZGkru7O3Xr1k3ld/X06dPUrl07EggE5OjoSJcvX6ZVq1ZRWFgYXbx4kZo0aULGxsZ09OjRPMn9RQEA9ezZkzZt2kRSqZS8vb3p6NGjNG/ePJowYQLVq1ePtm7dSvr6+mybe/fuUVBQENnb21N4eHixUkrevHlDq1evprlz51JWVhYZGxtTzZo1SS6X02UNbxKYl1MpLL4mJymOYtb0IiIeCXVN8hWU2t6NSGzurPSe1KEiCWT5jJmTU3ljMR0ZXpeIiC5fvkwDBgygmzdvUqdOnWjWrFnUvHlzevz4MSUkJJC1tTVdunSpwMhcy5Yt6fr16/TkyROV1eOKfO+tW7dS+/bt87z/+fNn6tevH23fvp3atGlDy5cv/64p2G8lKSmJHjx4kCc/My4ujohyf8/09fWJx+NRfHw8ZWdnk1AopAoVKihFMR0cHFhE79D5GzTg2Pt8j5nx9hFJzJ2IJxCxZdnx0RSzrj9pulQlo0YFzwaUtJDKyMigV69e0aNHj+j69et0//59ioyMpNjYWEpMTGSRXQV8Pp+0tbXJxMREaSq9SpUqZGdnRwKBgNLT06n7ihN08YOAKJ984c9nN1LSlT1kNXCb0nf389mNlHR1L1kP2UV8seppbwGfRx0r29KkxuVL7Dqo+fmoBWUpkZ2dTTKZjBYvXkx9+vQp7eGo+X/u3LlDvr6+LA8PALm4uJC/vz9t2LDhhx1XT0+Pxo0bRyNGjPhhx1AQGxtLXl5e5OrqSidPnixS5HXx4sU0aNAgOn/+vMrI5v3798nf35+Sk5Opa9eutHbtWtq9ezd17tyZ/Pz8aN++fUqCrzgsWrSIBg8eTGZmZqSjo0MnTpyggQMH0qFDh2jixIk0YcIEpQjLw4cPqUaNGmRlZUWnT5/+5uNGR0eTn58fJScnk0AgoGSeZoERmq/5eGA2cWmJBI4jLj0pX0Fp1HQ0abrkrbAujO0dXWnVnMm0adMmqlixIi1ZsoTc3d1pypQp9Pvvv5NcLqcGDRrQ3bt36c2bNwXu68mTJ1S+fHmaM2cODR06VOU6DRo0oNevX9Pdu3eVrvepU6eoa9eulJqaSsuXL6fQ0NBin8uP5sOHDyyK+aXQVETzRCIRCQQCZiGlq6vLhOXe1wLScKtVrIpuIqLYDbk5wuZdF+W7zs8WUgAoLi6OHj16RNeuXcszla44/y+RyWRkaGhIoubTSS7N/yEhPfImfdg1kaROlUkvoP3/T3k/ok/Hl5KWey0yCCk4XcLWUEbnhgd99zmqKT3UgrKUePToEbm6utKZM2eoRo0apT0cNUSUnp5OPj4+JBKJ6OrVq6wAYeLEibRw4UL68OFDkYsSioulpSX16NHjh/hcquLcuXNUs2ZNGjVqFM2YMaPQ9TmOo8DAQHr//j3duXNHKScuMjKS6tatS58/f6aGDRvSxo0bycXFhR4/fkwdOnSgtWvXfvN1O3HiBNWvX58sLS2ZD+aQIUPo48ePtHXrVmrQoIHS+k+ePKHq1auTiYkJnTlzhvlFfiuvXr2igIAA0tbWJs+u0+jyJ1G+EZovyXhzn95vH0vmXRdT/KmVhQpKqX1F4okkBfsZfgGPQOl3T1DO1e00ffp0CgsLo71799LQoUMpPj6ehg4dSrNnz6bOnTvTunXr6M2bN2RtbV3gPnv37k27d++myMhIlRHdixcvUrVq1Wjfvn3UtGlTSktLo9GjR9OSJUsoJCSENmzYUOT8xF8BjuPozZs3SkLz77//VsrPJCKy6LU6j7doYQCg6OVdSGRkQ6Ztpha47q8kpLKyspg3qNJU+uck0uu+rtA8zISLOyjp8m5CTiZbpuPfhvQDOxZ6bB4R3Z9UhzQlPya1SM2PR/3JlRIKA9+SNrJW8+2MGjWKIiMj6caNG0oCqE2bNjRlyhQ6fvw4NWnS5IccW1NTM9/Kzh9B9erVacaMGTR69Gjy9/enhg0bFrg+n8+ndevWkaenJ02cOJEZ8d+8eZPq169Purq6dOXKFbK1taX379/TsWPHSFdXl/r16/fNYvLx48fUpk0bsrS0pNjYWBozZgy1bt2anJyc6MaNG3lsnJ4/f041a9YkQ0ND5hP5vdjZ2VF4eDgFBgbS1bcpRLLC9wlOTvGnVpKWZ20Sm9gVuv6no4sIWelEPD5JrMuTflA3kpgX7M0H4pFuOX+6vGUyffz4kerXr0+nTp1iFd12dnZ0584dunPnDhHlTosXJignTpxIW7ZsoTlz5tD06dPzvF+1alWqXr06TZ8+nSwtLalTp0706tUrWrx4MfXr109lHt6vDJ/PJ1tbW7K2tqY6deqQXC4nuVxO6enptHPnTho+fDgZmJiTSK9gayxVpD44S/LkT6RXLW96wNe8jkulXv0GEuVkklwup+zsbKVXTk4O5eTkKP1fLpcr/f/LF8dx7N8v/w+A5HI5IbdDHntf8fPXLyJi/xeZ2BepqEeoa0oS6/IkK+tPAqkOpb24TkmXdpFAU490vBsVuC2I6NWnVCpvoXY8+aeiFpSlxKNHj8jAwIB1pVBTuhw/fpyWLFlCixcvpvLllaefXF1dycPDg3bs2PGvEZRERCNGjKBLly5Rx44d6datW4XmN5YtW5amTJlCY8aMoZYtW1J8fDy1atWK3Nzc6NChQ6ShoUGNGzemU6dO0Zw5c2jv3r0UGBhI8+bNowEDBhTLezE+Pp4aNWpEGhoaFBUVRbVr16apU6dS+/btafXq1XmqhiMjIykoKIi0tbXp9OnTJfp7VbZsWTpw9AS12f2WinIGKX8fo5ykj2QamleUKSEQkaysP0kdfIgv06XsuDeUdG0fvd82isw6zCWxWcG+pxlCbWrdriOdO32SjI2NaeLEieTh4UFXrlyhc+fOkbGxMR0+fJj09PRo0aJFdO/RU4rPFlBWDkc5WRmkkZ1MyM5QEis2NjY0a9Ysun79OjOC/1LAxMXF0ZMnT8jX15ekUilZW1vTypUrafny5UoiRtVLIWK+/peI8ggbIspX4Kj6t6D/fw9xmTyyKKYtVPanKIo/tYIkli6k6R5c+AY8Hm3Yc5iyP7z8xlEWjy9/DxX/L+h3EwCBV3jkPPXhOYo/vpQseq4ioY4RERHJyvoTAZRwdiNpulYngbRgH82snLzV62r+OagFZSmhaLNXLINjNT+Ejx8/UpcuXahu3brUv39/leu0bduWpk2bRqmpqcXuGFIUSkNQ8vl82rhxI3l7e1PLli3p4sWLKgsyvmTo0KG0e/duat68Ob17944aNGhAO3bsoM+fP1Pt2rUpMjKSjh49SrVq1aJBgwbRmDFjWO7lunXrilQck52dTa1bt6b3799TcnIyWVtbU0REBC1evJj69++f53fm9evXFBQURFKplCIiIopUaFRctM3ticcr3N5Lnp5ECX9tIz3/NvkX1fw/GlblSMPqixmKMpVJ5lKVYtcNoM/nNpFpmykFbs/j8ej8348oJyeHYmNjafLkyXnWERlaE8+rHr1y9KHN6ea5145HRBIiiEE5CbGU/voGpfx9krI/RbHtTp06Vei5pqen07Nnzwpd71fh6+9Nfn97OY4jHo9HAoGARJL8q79VIU/5TB92Tya+RJOMmo4pcgpD3/4DyVomJ4lEovQSiUQkFApJJBKxV0E/C4VCysjIoISEBPr8+TPFx8fTp0+fKC4ujj58+JDnFRcXl0d8SyQSMjU1JRMTE/YSmdjTyULOIfnWURKbOjAxqUDm5Eup98Ip630kSe0qFLgPsfCfFeVWo4xaUJYSjx49UmrnpaZ0AEDdu3cnuVxOGzZsyPcm07ZtWxo7diwdOnSI2rZtW+LjkMlkKu0+fjT6+vq0Z88e8vf3p8GDB9PKlSsLXF8gEJCvry8tX76cvLy8aO/evfTw4UNq0KAB8Xg8unDhArm7uxNRri/e/PnzqVq1atS1a1fy9vam3bt3k5eXV4HHGDJkCOvcoqGhQdnZ2XTmzBmVrQGjoqIoKCiIhEIhRUREkIVF8XLdikpRIycJ57cQX6pF2j4FT+/lh0jfgqRlKlPa00uF94gmYpXF1tbWZGFhQUKhkPh8PkHTgOLsa1O6rm2+++HxeCTStyCxd0PS8WlMpoinKoJX9OjGBTp58iSNGDGCrKysSCAQ0KVLl2j37t2kr69PISEh9Mcff9CMGTPI09OT+Hw+CYVCEggE7PgCgYC9FO+p+lkoFLJtFP8XCATE5/OJz+cTj8f74Q/dycnJ9OLFC9q5cyfNnTuXbGxsyNHRkV69ekWxGVlF3g+XkUrvd00kLiOVTDvMJqF20VMueoR1zXeqNzMzkz5+/KhSEKp6ZWZmKm3P5/PJyMiIiUNTU1Nyd3dXEoxfvrS0tJiZ+4sXL+j06dN04vRZgkPFAj8LeVoC8VXYAoH7/3xUTp7nvS/hEZGdYck/rKv5eagFZSnAcRxrSaamdFm9ejUdPHiQDhw4UGBky97enipXrkw7duz4IYKyNCKUChQVwj179qSqVavm+73Mycmhvn370po1ayg4OJjOnj1Lq1evptGjR5OTkxMdPnxYpaBr1qwZeXh4UOvWralKlSq0aNEi6tmzp8qb04oVK2jZsmUklUqZ0fiff/6pssVjTEwM1axZk/nl/ciCkKJETrLjoynl9gnSD+5B8uR4thzybAInp5yE98STyEggLdgiRqhjRCTPIWRnEk9SsCH4gX1/Uuta/hQVFUXt27enmTNn0o7rb2jiwQeUw4GIQ6GiVNE2Mk5gSMf4RjR+Ynt68qQmvXjxgoYMGUJhYWF07Ngx6t27N82bN4+kUinduXOH/vrrLxozZkyh16W0AUDv3r2jFy9esFdkZCT7v8Kfkii3v7ienh4ZGBhQpUqVyMrOkeYXXCCfe4ycLPqwZwrlfI4m07bTSGxUnFaCoBN7ttLOuPcqBWJiYmKeLXR0dJREoLe3d74C0cDAoMjtTd+9e0eHDh2i8PBwOn36NL1584YEAgF5eXmR2DKRsjX08t1WpG9B6a/+puz4aCVD99SH54h4fBLl48epwMZQpi7I+YejrvIuBV6+fEkODg507Ngxqlu3bmkP5z/LkydPyMvLizp27EirVq0qdP2FCxfSqFGj6P3790Xqh10cOnToQFFRUXTu3LkS3W9RAUBdu3alXbt20bVr18jNzU3p/dTUVGrTpg2dOHGC1q5dS+3atSNHR0eKioqiunXr0u7du5VMz1WRkZFBQ4cOpRUrVlC7du1o1apVSttERERQrVq1SCQSUWZmJnXr1o1WrFihsnXeu3fvqEaNGpSamkrnz5//Jn/L4pCamUNuk05QQX8sCzIqV6Dt05gMQnoWuM7HfTMo/cUNsh62h3gFVJQrqmLTkj6Tu7s7vX//nmr0m0kvtd0L3H9RCDZOo/XDWpOOjg7JZDJat26dUmtGRdvYmzdvUsWKFb/7eN9LVlYWvX79WqVojIyMVIr+m5ubk6OjI3u9f/+eVq5cSY0bN6adO3ey3NGzZ8/Snj176KjAl/g6pvkeG5ycPu6dQemRN8ikxW8kdcy/xaQqsuNjKG5j/3wF4dcvY2PjQlNTikpSUhKdO3eOCUhF61E3NzeqWbMmGRkZ0a1bt+jIkSOkW7M7aVaol6/LgcLZgC/VIW3vBrlFOc+vUUbkTdLyrE2G9fLvLqX2ofx3oBaUpcDRo0epQYMG9OrVK7K1tS18AzUlTlZWFvNNvHXrVpHyIqOjo8na2prWr19f4h1tevXqRTdv3qQbN26U6H6LQ1paGvn5+VFmZibduHGDtLVzI2kfPnyghg0b0qNHj+jPP/+kWrVq0fjx42n69OnE4/FYR5yismPHDurRowdZWVnRnj17qHz58vT8+XPy9vamtLQ0ysnJoWnTptG4ceNUbv/hwwcKCgqihIQEOnfuHDk5OZXI+RdG9bln6HV8/mkJ8rREynz7MM/yhPNbiMtKJ4OQniTUM2eV3/K0xDx5llnvIyl201CSOnjn26pOwZd2M6mpqeTZvA/lVGxTzLPKn09HF5FGzN/08OFDMjY2VnovJyeHXFxcqEKFCrRnz54SO2ZBJCUlKQnGL4XjmzdvWIGPSCQiOzs7JdGoeNnb2ysVdG3atIm6detGHTt2pJUrV9L58+dp9+7dtG/fPvr06ROZmpqSZmAXyrH3zzfSGx++mpJvHCSpky/JXPJ6tGq55W8JJOARta5oTjNaeP2UfPrMzEy6fPkyE5DXr18nuVxOtra2FBwcTCEhIVSuXDk6fPgwrVu3jl69ekXlypWjbt260bt0oj1pBbuSZMY8oYQLf1D2+0iSpyeTUM+UtNyCScevRaGRcnWnnH8+6vhyKfDo0SPS1NQs1MZDzY9j0qRJdOfOHbp8+XKRi2wsLS0pMDCQtm/fXuKCsjSnvBXIZDLas2cP+fj4UFhYGO3cuZNevHhBdevWpdTUVDp37hyVL1+eOnToQH/88QfNnTuX4uPjadq0adSiRYs81fH50bZtW/Ly8qJWrVpRpUqVaP78+TRz5kxKTk4mALRo0SIaOFB1NCMuLo5CQkIoPj6ezp49+9PEJBFRUFkT2nL1Nck51c/gApkuyZyr5FmedP0AEVGe9z7un018kZgkluX+v8o7ilLuHCeeSEL6NboUOBZwcqKYB/TkiQWVLVuW4jN5JPANpZxsucqWkMjJpoS/tlLqgzPEZaSQyNiO9AI7ktRedT4rADKu15+iVvaka9eu5fH7FAqFNHr0aOrZsyc9evSoROzPOI6j2NhYpenoL1+fPn1i6+ro6DCRWKlSJSXRqMj7/Hrfnz9/Zu0JP3z4QPv27aPt27eTtbU1nTlzhrS1tSknJ4f4fD4Tp+/fvydRxB9k0SP/NqVZ7yOJiCj9+TVKf34tz/sFCUo5iMICy/wwMSmXy+n27dtMQF64cIHS09PJ0NCQatasSV27dqXg4GCysbGhY8eO0dq1a+nIkSOkoaFBbdq0oe7du9Pnz59p2LBh9PTpU/Iaso4SJCYkzycMJbEoS6at8xaHFYSiBaVaTP7zUUcoS4GwsDC6c+dOqUaj/sucP3+eatSoQdOnTy92DtiqVauoX79+FBMTU6LWNOPHj6dNmzYV2tHkZ7Bnzx5q1aoVDR06lDZv3kyGhoZ0/Phx0tHRoWbNmtHVq1dpy5Yt1KpVK8rIyKCKFSuSlpYWXbp0qVj9ztPS0qhfv360ceNGtmzq1Kn022+/qVw/Pj6egoODKTo6ms6ePUuurq7fe6rF4tn7ZKq18Hyxt3u3bbRKY/OkGwcp9cFZyvkcS1xWGglkuqRh60m61UKLZKSduH04Jbx+TA0aNCCuej96koB8xe7HA3Mo7clF0vFpQkIDC0q9F06Zsc/INHQGaVirfhAQ8Hkkin9J4our6O+//84j0rKyssjR0ZFq1qxJmzZtKtK1yMzMpFevXqkUjZGRkUqdWiwtLcnBwUFlpNHAwIDS0tKKXKjy8ePHPC0Hv0Qmk5GDgwOZm5tTVFQUPX78mAwMDKhdu3bUs2dPmnklma6+Ssj3+n4L39rLuyAA0LNnz5iAPHPmDH3+/JlkMhkFBgZSSEgIBQcHk4eHB/H5fIqMjKR169bRhg0bKDY2lry9val79+4UGhpK0dHRNGzYMDp+/DjVqFGDFi5cSAbWZSjk93OUmc+Dy7cgEfIpfEh1sjYoOF9Yza+PWlCWAv7+/uTo6Ehbtmwp7aH850hISCBPT0+ys7OjiIiIIierK4iLiyMzMzNasmRJibbMnDlzJs2bN08pClOaNG3alA4cOEDu7u505swZSkxMpPr161NcXBwdPHiQ/P392bpXrlwhf39/mjNnDg0fXnDf4i9JSEggb29viozMjfAYGBjQxYsXycXFReW6ISEh9OrVKzp79myeHM+fwZYtW2jksTcktnIrUi/vHwXkOZT55h693zmexGIxaVo4kU7bOfmunxnzhN5tHkZ6Qd1It3Lz3H3kZFHM2n4k0NQls47zCjxe9JretG7BdOrUqVOe9xYtWkTDhg2jZ8+esTzWhISEPIUvildUVBSzqRGLxWRvb0+Ojo7k4OBAdnZ2ZGRkRNra2iQWiykxMbFAkajKFcHQ0FBl3qG+vj7FxMTQ33//TWfPnqXMzEzS19envn37UvPmzenZs2c0f/58un79OpUvX56GDx9OoaGhzJT/yds4qrvkInE8QYlFE0tKSMXExNDp06fZ6+3btyQUCqly5cpMQFauXJnlImdmZtL+/ftp7dq1FB4eTjo6OtS+fXvq0aMHeXl5UXx8PE2aNImWL19Otra2NG/ePGratCk775m7ztGqv1O++/wVzG7uTm0qFaeISc2vinrK+ycDgB49ekSNGn2brYia76Nfv36UmJhImzdvLraYJCIyMjKiWrVq0Y4dO0pUUGpqapaKbZAqFJXvBgYGFB8fT9evX6dOnTqxbjhfTzP7+fnRkCFDaPz48dS4cWNydnYu9Bj379+n4OBg+vDhA4nFYqpYsSLFx8dTpUqVaO3atdSmzf9yAZOSkqhu3boUGRlJERERP11MfvjwgVq3bk3nzp0jiaEFWfZYSQUboPw4ABCfB2rrCDrx/+0tNZ2qFWgxlPbkIhGPT9oV/lcAyBOKScuzFiWc20w5SR9JqGOsclsBn0derQbS+PHjqXXr1qShoUEcx1FMTAy9ePGCxGIxSSQSql27Nunr69OLFy8oPv5/Fe46OjpkbW1NJiYmVLFiRQoICCChUEgcx1FaWhp9/PiRIiMj6cqVK0rbKdDU1FQShgXZ3RgZGSlFyNPT0+nEiRO0e/duOnToECUnJ5OxsTFlZmZSjx49aN68ebRp0yZq2bIlvXz5kmrWrEnHjh2jOnXqKInGmJgYatekESULLUmrZq9if2b5MaVx+W8SkwkJCXT27FkmIBVd1zw9Pal169YUHBzM2oV+yaNHj2jt2rW0efNmiouLo6pVq9LGjRupVatWJJPJKDs7m5YsWUITJ06knJwcmjFjBg0aNChPp6tr2xeSQG5B8vL16XsZUbusWkz+i1ALyp/Mu3fvKCEhQd1ysRT4448/6I8//qBt27Z9VzFU27ZtqWvXrvT27dsSs6rR1NSkjIwMksvl3yR0SwIANHHiRJo6dSr179+fRowYQe7u7tSgQQPy8/OjAwcOkJGRkcptp06dSgcPHqSwsDA6d+5cgW34duzYQV27dqWMjAzS0tIiS0tLOnbsGAmFQurVqxe1bduWzp8/TwsWLKDs7GyqX78+PX78mE6fPk0VKlT4QWefFwC0efNm6t27N2VkZJCrqysdPXqULn/g0ei9937aOL6Ex+NR3LHl5Ni9ET169IiioqKo0eqblJCT/3cm630kiQwsif+VBZHY3Jm9n5+glHOgdD17ioqKIm9vb5LL5fTy5UvKyvqfP6NEIqHnz5+Tra0tGRgYkLa2NqWlpdHnz58pKSmJHjx4wKqHhUIhq1Q2MTEha2vrfC1vjI2Ni91EIC0tjY4dO0Z79uyhw4cPU0pKCrm7u9OwYcPo/fv3tGLFChoxYgQJhUKys7OjpKQkatOmDe3Zs0dltfrdu3epYcOGxHEcnT6ynv6Kl9G8k0+LNSZVFEdIZWRk0MWLF5mAvHHjBnEcRw4ODhQcHEwTJ06koKAglSk4aWlptHv3blqzZg1dvHiRDA0NqXPnztS9e3ele9Dx48dp6NCh9PjxYwoLC6Np06aRqWneyvaHDx/S/v37ad26dSRzd6cJB+5TZlZ2sSL2Aj6PhHweTWlcXi0m/2WoBeVPRt3Du3R4/fo19enTh9q1a0ft2rX7rn01bdqUevXqRbt27aKhQ4eWyPgUN860tLQ8kYWfQXZ2NvXs2ZM2btxIs2fPpuHDh9OiRYsoKSmJiIiCgoLyFZNExKxlqlevTsuWLaMBAwaoPMbIkSNp4cKFJJFISEdHh4RCIR05coTZMG3dupUCAwNp0KBBdPnyZRIKhfT48WM6derUT20EEBMTQ6GhoXT+/Hni8/k0ZcoUGjdu3P/3fyaKS8ksEWFRZAAiHo/6B9hQTKYbDRs2jHx9fal8BW9KzBEVuKk8JZ4EWvp5lgu0DNj7BZEEDeKLpfTwYd4KdiIiqVRK2dnZJJfLqVKlSgVa3ujp6ZV4AUpqaiodOXKE9uzZQ0eOHKG0tDTy9PSk0aNHU8uWLcnZ2ZnGjBlDK1asIB8fH1q0aBGJxWLq0aMHDRo0KN+Hy+PHj7Pe8YcOHSJLS0vyJCIjLQnz+SxOTmVRhZRcLqebN28yAXnhwgXKzMwkY2NjCg4Oph49elBwcHCBVll///03rVmzhrZt20ZJSUkUEhJCO3fupCZNmihFHB8/fkxDhw6lY8eOUWBgIG3btq3AxgOzZ88mKysr6tChA4nFYtq1ZCrd5DkTWbiSgM8r8Hoo3vd3MKQZzdzVOZP/QtSC8ifz6NEjEolE5OhYcJ9eNSWHXC6njh07kp6eHi1btuy796erq0v169enHTt2lLigTE1N/emCMiUlhVq2bEkRERG0detWatu2LQ0ePJiWLFlCo0aNIk1NTZo4cSIFBARQnTp18t1PYGAg9evXj0aPHk0NGzZUuuG9e/eO2rRpQ5cuXSJzc3NKSkqi9PR0ioiIUPpd4PF41KtXL3J3d6eQkBBKT0+nmTNnUuXKJVe4UBAAaP369dS/f3/KyMggBwcHOnToUJ4CoP5BZchIS0K/7btL2TnyYkVoABRLVAn4PBLweJR4eg1F3Mmkffv20ZUrV6hVq1a048SFAr0xiXLzJUmQV3TyhOL/vV8APB6P2vUaRDtXzqc6derQgAEDlKaZRSIR/fbbb7Rw4UJauXIlGRoWvUPMt5KSkkKHDx+m3bt307Fjxyg9PZ0qVqxIv/32G7Vs2ZLKlClDRLnV3a1bt2bWRtHR0TRlyhTq1atXgV6yK1eupP79+1O9evVo+/btSn6pbSvZUFVHIxq77x799Tzuu4UUABaBVxTSJCYmkpaWFlWvXp1mzpxJwcHB5ObmVmDkPzExkbZv305r1qyhW7dukYWFBQ0YMIC6detGDg4OSuvGx8fT5MmTafny5cy+q3nz5gV+L1+/fs3cHcRicW60cus6Wr58OQU3C6RtV9/Qmacf6M2nNKXvJI9yTcuDnE2og5+Nupr7X4y6KOcn069fPzp37hzdv3+/tIfyn2HmzJk0btw4Onv2LAUGBpbIPnft2kVt2rSh58+fl8jDQUREBAUHB5fY/oqKoh/3s2fPaN++feTn50ehoaF09OhRWrZsGfXq1Ys4jqOGDRvStWvX6NatW2Rjk390JTk5mdzd3cnR0ZHCw8OJx+PR5cuXqWXLlsRxHDk5OdG1a9coKyuLtmzZQh06dMizj4yMDGrcuDFduHCBfH196dy5czR06FCaNWsWiUQFR+O+hzdv3lD79u3pwoULxOPxaOjQoTRjxgyVxuqxsbHUsGFDuvsimgzq9iOpfcVChYUiz1HEZVE2X1xoa0XF/gKcjGhGM3d6eP0vqlevHo0fP566d+9OXl5e5FajEb0q07LA84pZ25cEmnpkGjpDaXlW3BuKXduXDOr0I22vegXuY18ff/pz9XxasGABPXv2jCwtLZXej4uLI1tbWxo2bBhNmVJwD/JvJSkpiYnI48ePs05KrVq1ohYtWij93uTk5NDu3btp0KBB9PHjRzI3N6eZM2dSaGioys9TAcdxNHLkSJo/fz4NHDiQFixYUGAKyrP3yd8kpN6+fatUSBMTE0MikYiqVKnC/CArVapU6PcdAF2+fJnWrFlDu3btooyMDGrQoAH16NGD6tWrl8d1IScnh1atWkUTJkygrKwsGjduHA0ePLhIRukDBw6kP/74g16/fk2amprUtm1bunTpEj179kwp6pmamUOvPqVSVg5HYiGf7Aw11R1w/itAzU8lKCgILVu2LO1h/Ge4fv06hEIhxowZU6L7TUlJgaamJqZPn14i+7ty5QqICHfu3CmR/RWFx48fw87ODhYWFrh9+zZiY2Ph4+MDLS0tHD16VGnduLg42NjYoHLlysjMzCxwvydPngQRYdWqVVi2bBlEIhGqVauGAQMGgMfjgYjw22+/qdw2IyMD9erVg1QqRUREBDiOw8KFCyEUCuHn54fXr1+X2PkrkMvlWL58OSQSCXg8HiwsLHDlyhWV63Ich3HjxkEgEICIUKdOHWhra2PE1PmoM3YtLHutgc2oQ7AdfZi9bEYdgkXP1bBsPBh2Hn4AgF4jJ8GuxQgEzo3Is77d6MMInBuBiQfu49n7JKXjT58+HUSEgwcP4vjx4xCbOihtq+qlYVcBIkPrPMtN2k4DEcG4xfhC93E/OgEJCQkwNDREjx49VF6bIUOGQE9PD4mJiSX22Xz+/BmbN29Go0aNIBaLQUSoXLky5s6di5cvX+ZZPzk5GYsWLYKtrS2ICESEwYMHg+O4Qo+VmpqKZs2agc/nY9GiRcUea1TsB4hM7LFg017cj05ASkY2e+/Tp0/4888/0adPHzg7O4OIwOPx4OXlheHDh+PYsWNISUkp8rE+fvyIBQsWwNXVFUQEOzs7TJs2DW/fvs13mxMnTsDV1RU8Hg/dunVDbGxskY/34cMHSKVSTJ48GQBw//598Hg8rFy5ssj7UPPvRy0ofzJmZmaYMGFCaQ/jP0FKSgqcnZ3h7e1dqAj6FkJDQ+Hu7l4i+7p79y6ICJcvXy6R/RXGpUuXYGBgAFdXV7x+/RoPHjyAra0tLCws8Pfff6vc5urVqxCJRBgwYECh++/cuTNEIhGICAMHDsTGjRtBRBAKhWjdujXkcnmebTIzM9GoUSNIJBKcPHlS6b3Lly/DxsYGBgYGOHLkyDedsypevHiBKlWqMPHRo0ePfG/s165dg4WFBYgIhoaGOH36NDiOg56eHnR1dSEWizFmzBi8/5SAmi06oVxAfRg4eECooQltbW00btwY1apVAwB07NgRVatWRXJyMngiDbhWrQ09pwrYd/a6khD5GrlcjqZNm0JHRwdPnz7FmPGT8gjSr186vs1BPD6sh+xSWq4X2AlEBMu+Gwrc3m70YTam33//HXw+H48ePcoztujoaIjFYsycOfO7PpP4+Hhs2LABDRo0YN+hKlWqYMGCBfk+UMTExGDs2LHQ19cHn8+HnZ0d+Hw+tmzZUqRjxsbGolKlStDU1MShQ4e+adzR0dEgIhw5cgSpqak4efIkRo4cCW9vb/Yg5eTkhF69emH37t2Ii4sr1v7lcjnCw8PRpk0biMViiEQitG7dGidPnlT5+6Tg8ePHaNiwIYgIAQEBuHnzZrHPbdy4cdDS0sKnT58AAK1atYKtre0P+buq5p+LWlD+ROLj40FE2L59e2kP5T9Bz549IZPJ8Pjx4x+y/wMHDoCIcP/+/e/e14sXL0BECA8PL4GRFcy+ffugoaGBgIAAxMfHIyIiArq6unB3d8ebN28K3HbZsmUgIuzYsSPfdSIjI+Hm5gYigqenJy5fvgyJRAKpVApfX1+kpaXl2SYrKwvNmzeHWCzOEx1VEBcXhwYNGoCIMGbMGGRn5y+8CkMul2PRokUQi8Xg8/kwNDTEiRMnVK6bnp6Oli1bsqhS3759kZOTg4cPHyIkJAREBEdHRzx79gxAbrRZR0eHCdTHjx/D1dUVGhoaCA4OBgAEBwejVatWuH//PogIJ0+eRIUKFWBpaYmoqKgCx56YmAhnZ2eUL18eCQkJcBq8tUBBaNZpPogIekHd/hc1Hb4PQn1ziC3KFhqdDJwbwY6dkZEBW1tbNGvWTOXYevXqBWNjY6Smphbr84iLi8O6detQr149iEQi8Hg8VKtWDQsXLizwejx48ADdunWDWCyGlpYWBg4ciIYNG0IgEBT4Hf2Se/fuwcbGBhYWFrh161axxq0gOzsbu3fvBhGhQoUKLJpqamqKdu3aYf369d8cXY+JicH06dPh4OAAIoKLiwvmzZuHDx8+FLhdfHw8Bg8eDKFQCFtbW+zatatIkdqvSUxMhK6uLoYNGwYg93oREVavXv1N56Pm34taUP5ELl68CCLC7du3S3so/3r2798PIvqhUzIZGRnQ09PLd/q2OLx79w5EhAMHDpTAyPJn2bJl4PP5aNWqFdLT07Fp0yaIRCLUqlWrSFOVHMchNDQUWlpaKqNUx44dg76+PhwdHbF48WIQEXR0dCCTyWBtbY13797l2SY7OxutW7eGSCTCwYMHCzy+XC7H7NmzIRAIUL16dcTExBT95P+fx48fw9fXl0UlW7ZsySIvX7N9+3ZoamqCiFC2bFk8e/YMiYmJGDp0KIRCIRwdHWFra4sBAwYgLi4O3bt3BxFBW1sbNWvWZPuJiYmBhoYGtLS0EB0dDVdXVwwcOBCHDh0CEeHt27eIjo6GjY0N3N3dkZCQUOA5PHjwAFpaWqhSpQrKtvsNNiMPFCgKZS7VQHwBdCo3h0Hd/pBYlgPxBTBtN6vA7RzGHsHEA8oPTFu2bMk3mv7ixQsIBAIsXry40M/h48ePWL16NWrXrg2hUAgej4fAwEAsWbIE0dHR+W7HcRzOnDnDHi4sLCwwe/ZsvHv3Dk2bNoVIJMLevXsLPT6Qm56ho6MDT0/PQoX812O4f/8+Fi5ciEaNGrEHCCJCtWrVsGjRIty/f/+bBByQ+ztx6NAhNGnSBAKBAFKpFJ06dcJff/1V6D6zs7OxbNkyGBoaQlNTEzNmzEB6evo3jQMAZs+eDZFIxKbTW7ZsCTs7O2RlZX3zPtX8O1ELyp/I2rVrwefzVUZo1JQcsbGxMDIyQuPGjb/5D3pR6datG5ycnL77OMnJySAi/PHHHyU0MmU4jsPo0aNZTllOTg4mT54MIkJYWFixbg7JyckoV64cXF1d2fSwXC7HlClTwOPxUL9+fcTHxyM1NRX6+vogIkilUty9ezfPvnJyctCuXTsIBIIiiwAAOH/+PCwsLGBiYoLTp08XaZvs7GzMmTMHIpEIAoEA2tra+c4WKPJJiQhisRiLFy+GXC7Hxo0bYWpqCplMhunTpyM9PR2+vr6oVq0aDAwMoKuri6VLl6JGjRoIDQ1V2qeTkxO0tLTg6uoKHR0dzJo1C0uWLIFYLGZTlvfv34euri5CQkLynU5MTEzEggULYGRklCtercoUGmW0Gb4XOr7NIdDUBwlEEJuXgUnryYVuZzv6cJ48TrlcDk9PTwQEBKj83nfo0AFWVlYqx//+/XusXLkSISEhEAgE4PP5CAoKwrJlywrN6cvOzsaOHTvY5+Lm5oaNGzciMzMT6enpqF+/PiQSCQ4fPlzgfhSsXr0aAoEA9evXR1JSUqHrv3r1CuvWrUO7du1gZmbGvhs1atTAtGnTsH79ehBRvikjReHly5cYP348LC0tWbRz2bJl+Pz5c5G2P3XqFNzc3MDj8dC1a9dveuD6kvT0dJiZmaF79+4AgDt37oCIsHbt2u/ar5p/J2pB+RMZOnQoHB0dS3sY/2o4jkPdunVhampa6JRQSaAoQLlx48Z37Ucul4OIsGbNmhIa2f/IzMxEhw4dQESYP38+MjMz0blzZxARpk+f/k1i+OHDh9DU1ET79u0RHx+PRo0agcfjYdKkSZDL5ZDL5WjVqhUrXqlSpUqe48jlcnTu3BkCgQC7du0q9hjev3+PkJAQ8Hg8TJ48GTk5Ofmue+/ePVSsWJFFkUJCQlQWMHAch/Hjx7Nx16xZEwkJCbh58ybLtWzTpg1LDbhx4wa0tbVBROjcuTPev38PAAgICEDHjh2V9m1mZoYBAwbAxMQERIQVK1Zg6NChKFOmjNJ6EREREIlE6NSpk9I1e/nyJYYMGQJtbW0IhUI4OTmx8/EbvRV2owvOpSzuy2HsEXRYq7o46dixYyAileLtwYMHSqIjNjYWy5YtQ1BQEPh8Pvh8PoKDg7Fy5UqVEeuvURTa2NnZgYgQHByMY8eOsWuTmpqKWrVqQSqV5pu28CVyuRyjRo0CEaFv3775pk58/PgRu3btQq9evdi15vF48PHxwahRo3Dy5Emlqf3z58+DiIqdYpOZmYldu3ahdu3a4PF40NbWRq9evYr1N+Xp06do1KgRiAhVq1b97r9HClasWAE+n4+nT58CAJo3bw4HBwd1dFKNStSC8idSr149NGzYsLSH8a9GMc2aXx5eSZOdnQ1jY2MMHz78u/cllUqxcOHCEhjV/0hMTERISAjEYjF27NiBz58/o2bNmhCLxdi2bdt37Xv79u25VcLGxtDT01Mqlpk0aRITO926dQMRYefOnex9uVyO7t27g8/nf1dUVhFp5fF4qFWrFhN0CrKysjBlyhQIBAKIRCJIJBIsW7ZMpYi+ceMGiwzp6+vj+PHj+PjxI3r27Akejwc3NzecOXMGQG5+Wt++fZkAUBTbKKhSpQq6du3KfuY4DhKJBEuWLMHRo0dBRHB1dUXjxo1Ru3btPGPZtm0biAgTJkzApUuX0LJlS/D5fOjp6cHf3x8aGhowNDTE/PnzERQUBGM7F5QZdwS2hRToFOfl/NtRvPmkOheS4zgEBQXBzc1NpZCvX78+jI2NERAQAB6PB4FAgNq1a2P16tVFftCLiYnBmDFjoKenB4FAgPbt2+fJcUxOTkaNGjWgqanJPpuCSEtLQ8uWLcHj8fD7778rfQ9SUlJw7NgxDB8+HF5eXqyQpmzZsujbty/+/PPPfFMjgP89XL569apI5/f48WMMHz4cxsbG7KFr/fr1xar2/vz5M4YOHQqRSAQbGxvs3LmzxGZlsrOzYW9vj9atWwMA/v77bxAR1q9fXyL7V/PvQy0ofyJ2dnYYOXJkaQ/jX8v9+/chkUiKVIVckvTt2xfW1tYFVloWBUNDQ8yYMaOERpVbderp6QldXV2cOXMGr169gqurK/T19XHu3Lnv3v/27dtZ7tu+ffvY8l27drFoTr9+/QDk5l0ZGxvjw4cP4DgOffr0AY/Hw6ZNm757HAAQHh4OExMTWFhY4Pz58wCAW7duwd3dHTweDzweD5UqVcKTJ0/ybJueno42bdqwMffo0QPp6elYunQp9PX1oauri8WLFyM7OxtyuRwbNmyAsbExtLW18fvvv6Nly5YICQlR2melSpXYNCGQG0UjImzduhUXLlwAEUEmk0FLSwvdunXLM6bs7GyEhoYyUe7k5IRWrVrB0NAQUqkUY8eOZXmWHz58gI2NDdya9CzRCOWOawUXkVy9ehVEhI0bNwIAoqKisHDhQlSrVo2N29PTE+vWrStWRfPXhTZDhw5VWdCSkJAAf39/aGtr48KFC4Xu9927d6hcuTJkMhn279+PrKwsXLhwAZMnT0ZgYCCrKLewsEDHjh2xcePGYuVVKor0vn6o+ZK0tDRs3rwZAQEBICIYGBhg8ODBxS7sy87OxooVK2BkZASZTIapU6eWeCqV4qFGIeKbNm0KR0fH7yqGU/PvRi0ofxIpKSkgImzYsKG0h/KvJCMjAx4eHihfvvxPz1FVTHX99ddf37UfGxsbjBs3rkTG9ODBA9jY2MDKygr37t3DjRs3YGZmBnt7+++ues/KysLgwYNBRAgNDYWPjw9sbW3x6dMn3Lx5ExoaGhCJRKhduza7+bx79w4GBgYIDQ3FgAEDQERYt25dSZwqIzo6GoGBgRAIBKhZsyZ4PB40NDQgEAgwdepUlTfCL4tuHB0d8ejRI5w/fx6enp7g8XgICwtjAuHOnTuoWrUqiAjt2rVjhSOdO3eGv7+/0n4rVqyI3r17s5/fvn3LIucKwa0oyClXrhybQkxISMD8+fOZj6KFhQV4PB5MTU3B5/MRFhamcqr++vXrkEgkqDlgTm7O5HdGKpdGPCvSNa9fvz709PRQuXJlEBFEIhEaNGiADRs2oGbNmnB3dy/Sg1Z+hTb55Q7Gx8ejUqVK0NPTw9WrVwvdv8IWy9DQEEOGDEGDBg2gpaUFIoKuri6aNm2KJUuW4OHDh98c4du5cyeISGVx2+3bt9GvXz/o6uqyVIrt27d/U7FMeHg43N3dWZpFQQVM3wrHcXB3d0fdunUB5D6cqe9fagpDLSh/Ejdv3gQR5WuYrOb7GDZsGMRicalU0MvlclhZWbFo3LdSrlw5DB48+LvHc/78eejp6cHd3R1RUVE4dOgQZDIZKleuXGD0pCjExsYiMDAQQqEQS5YsAcdxePXqFQwMDBAcHAxzc3NIJBK4uLjkqVRWVAf/yOr7CxcuwNDQkEUby5QpozKfLDY2llV6i0QizJs3D1FRUWjXrh2ICL6+vrh27RqAXJE3aNAgCAQClCtXDhEREUr76tu3LypUqKC0zMPDA/3792c/f+kzumjRIkgkEnz+/BlEBIFAgIYNG2LgwIHQ1tZm+ZOrVq1ieZ8CgQC7d+8u8NwVRSF95m2F45hDsBmxv1gi0mbEfjiMPlhoZPLly5eYO3cuE5GK6fvNmzcrCUDFg1ZBzgXZ2dnYvn07vL29QURwd3fHpk2bCvQ3/PjxI7y8vGBgYFCop2JkZCSbElbkxUokEgQHB2PGjBm4du1agbm3xUHhtap4OEhKSsKqVatYEZGZmRnGjBnD7KWKy7Nnz9CkSRMQEfz9/dn380egeNhRzGQ0btwYTk5O6uikmgJRC8qfxNatW/N9elXzfYSHh4OIMG/evFIbw7Bhw2BiYvJdf3B9fHzy7UJSVPbs2QOJRIKgoCAkJCQwm6BmzZoV2xvway5evAgLCwuYm5vnmWJUTPcJBAIYGBggMjJS6X2O4zBy5EhmIxQfH/9dY/matLQ0DB8+nOU0EhE0NDRgbW2t9BAnl8sxadIkJi4CAwMRHR2NWbNmQVNTEyYmJli/fj3kcjk4jsPWrVthZmYGTU1NzJkzR6XQGT58OJydnZWWubq6Kj0cnDt3jhVsjBo1Cvb29iwnTeHZKZFIMGbMGJw6dQr16tUDUW5XmGPHjsHb2xvm5uaFehn27t0bYrEYB8IvwKZzbrTSfkzhxTe2ow/De/gGaJnZ4sWLF3n2++LFC8yePZuJI4lEgqZNm2Lbtm3o1q0b9PX1VUYTAwIC4Ovrmyfql5ycjIULF7JIbEhICI4fP15odPDdu3dwd3eHsbGxSteADx8+YMeOHejRowfs7e2Z4NXR0cHQoUMRHh7+w2YwVq5cCR6Ph0uXLqFbt27Q1NQEn89HgwYNsG/fvm8uZElISMDw4cMhEolgbW2N7du3/1D3Co7j4O/vD39/f3Acx4IhJZWeoubfi1pQ/iTGjh0LS0vL0h7Gv45Pnz7B0tISwcHB353D+D1cv34dRIRTp0598z6qV6+Odu3affP2CxcuBI/HQ9u2bZGWloZhw4aBiDBkyJDvisJwHIelS5eyFopfW5FwHIf27duzIgZVHoS//fYbiAgTJ06Ejo6OUsHK9/LXX3/ByckJQqEQEokE1tbWiIiIwOvXr+Hn5weRSIRFixbh+vXrsLKyYgLj4MGDOHr0KMqUKQOBQIDBgwczUfTgwQPUqFGD+VQWZPg+YcKEPL/bzs7OzAga+J8v6ocPH9ChQwc4OzujTJkyICI4ODigS5cubPqbiFCmTBns3r2bCYfY2FjY2dmhfPnyBVrIZGRkwM/PD+bm5uDz+TAv6wXH1qMRMDscdl8Jya9bPCYnJ8PW1hZBQUGQy+V49uwZZsyYwaKkGhoaaN68ObZv365ksxMTEwOZTIbRo0fnGc/x48eVfi+KUmiTH9HR0XBxcYG5uTkePnwIIFeYHjlyBEOHDoWHhwcTkOXKlWNRzy5duvzwquRPnz6hadOm7HfA1tYWU6ZMKbRRQEHk5ORg1apVMDY2hkwmw5QpU777obAoKB5+FB2DGjVqhDJlyqijk2oKRS0ofxLNmjXLk7iv5vvgOA4tW7aEvr5+sZLnf9RYHB0dERYW9s37qF+/Ppo0aVLs7eRyOYYPHw4iwogRI5CSkoIWLVqAz+cXyWC6IFJTU9GxY0cQ5bZQVHVjnjlzJruRu7m5wcTERCnPb8qUKSAizJkzB0CuHysR4fjx4981tuTkZJaPaWBgACJCp06dlKbaMzMz2TqKV5cuXfDgwQNmsxIUFIR79+6xfY4YMQJCoRBlypQpkg3NrFmzoK+vr7TM0dERo0aNYj8rpqNnz54NDQ0NJholEgk+fvzIjklEqFu3rsrr/OjRI+jr66NGjRrIyMjIdzxv376FlpYW+Hw+Ll68yOydktOzcD86Abdex+fpNf31OBXCWyaToVWrVti5cyeSk5PzPeZvv/0GqVSaJ7+T4zh4e3vD19cXXbt2LbTQJj/evHkDJycnWFlZYdu2bZg4cSKqVq3KrpmVlRU6d+6MLVu24Pnz52jdujV4PB7mzp37w6J5HMchIiICoaGhkEgk4PP5EIvFOH78+HdPo0dERDCB3LFjx5/6961u3bpwd3cHx3HsQbmoLSzV/LdRC8qfhIuLCwYOHFjaw/hXsWHDBhBRobllP4tx48ZBT0+vwJt9QbRs2RK1atUq1jYZGRlo27YteDweFi1ahPfv38PPzw8ymey7u+68ePECnp6ekEql2Lp1q8p19u/fz6IykyZNwocPH2BpaYmqVasiKyuLic1p06axbTiOQ61atWBtbf3NKSDh4eGws7NjAsXIyAh//vlnnvV27NjBii94PB6srKzQvXt3FslUtKPjOA67du2CpaUlpFIppk2bVuTPccmSJZBIJErLbG1tWYHVixcvWFWvSCSCnp4e2rZti759+8LExAT6+vrQ1NTExIkTMW3aNBARZs2apfJY58+fh1gsRrt27fIVSnK5HObm5uDxeBg2bBizd1qxYoXK9R8+fIjJkyezQg+hUAihUIgVK1YUOSKWmJgIQ0NDpZQNheBSRDiNjIwwZ86cIpt0K87l8OHD0NfXh1QqhVQqZbZOzZs3x/Lly/HkyRN2LT58+IAqVapAKpWq/D6UBLGxsZg5cybzpnR2dsacOXMwbNgwWFlZfde+nz9/jmbNmjEboaIUHJUkiuIbhaVYgwYNULZs2RLLM1Xz70YtKH8CmZmZEAgE+f5BV1N8nj9/Di0tLXTp0qW0h8JQ9GUurH1gfqiqFi6Iz58/o0aNGpBIJNizZw8eP34MBwcHmJqa4vr16980BgVftlC8c+eOynXu3LkDqVQKPp+P0NBQdlO/ePEihEIhqlevzqa5v+bVq1fQ0tJSqoQuCgkJCejZsycrciAiNGzYME+XlZiYGFY0IhQKMW3aNCxatIhZw9SrV49F3B4/foxatWqBiNCkSRO8fPmyWGNat24diEjppmtpaYmuXbuiefPm4PP5kEql0NHRQUxMDPT19dGqVSsmjvr06aM0/gkTJoCIsHTpUpXH27FjB4hy+5mrQuGHOGjQIBDl9l3v168fxGIxbty4AY7jcO/ePUycOBGurq4gym0V2a5dO+zduxexsbGwsrJCrVq1ihXdW7hwIfh8Pu7du6dUaOPm5gYLCwvUq1ev0H1wHIfnz59j5cqVaNWqFeu0pOjtPXv2bNy4cUOlwHn06BEcHBxgYmJS4kIsJycHR44cQbNmzSAUCqGhoYEOHTrg3Llz7BqNGDEij0l9UUlMTMTIkSMhFotZFPZHd/lSRevWreHg4IDs7GxmC/W9frVq/juoBeVPQNE54uzZs6U9lH8F2dnZ8PPzg4ODQ5Fapv1M3NzcvjkPsm/fvvD09CzSulFRUXBzc4O+vj7++usvnD9/Hvr6+ihXrlyxBdGXfNlCsUGDBvkWzygikUKhEJUrV85jf9K0aVMQEZo3b57vjXHZsmUgojxV0/lx9OhRWFlZQSqVwtDQEFpaWlizZo3S/hVFN4qp0CpVquDs2bOoWbMmiAj169dnldytW7dmxQ729vZFbtn3NYoIYFJSErKysrB9+3YmXMuWLYuVK1eiZ8+e8PT0xMGDB5UKRVR9VziOw5AhQ0D0P4/Hr5k7d26+1fItWrRA+fLlIZfL0a5dO8hkMty4cQPly5eHnp4ey93U0dFBx44dceDAgTyfn8J8vTjWTh8/foSBgQFkMhkrtDlx4gQ4jmMV/qraEr57944V9yiKdAQCATw9PaGlpQUbG5s8RV5fc+bMGejp6cHV1fW7vv9f8/r1a0ycOBHW1tYgInh4eGDJkiUqfy8GDBgAd3f3Yu0/JycHa9asgYmJCaRSKSZNmvRT8iRV8fTpU/D5fBb4qFevHsqVK6eOTqopMmpB+RPYs2cPS8hX8/1MnDgRAoEAly5dKu2h5GHatGnQ1NT8ppvCiBEj4OTkVOh69+7dg5WVFWxsbPDw4UNs374dYrEYQUFBxZpO/JrPnz+zFoqTJ0/Ot8gpMzMTVapUgVAohJWVVR4rIoVQdHZ2ho6ODmvb9jVyuRyBgYFwcHAosDvIp0+f0KlTJxAR7OzsWLTq62rkmzdvshu/lpYWNm7ciMGDB0MgEKBMmTKsexLHcRg6dCgzPO/Tp893Vf4qROKECRPY8UUiETp37syuYZ06dVi0jYjw+++/Q1tbG3PnzlW5T47j0KNHD/D5fJUpHRzHoX///uDz+UpCODY2FkKhEIsXLwbHcbh48SJMTEyYwOXxeLC2tsahQ4cKndLv3LkzdHV1VfpefklMTAxGjx7NCm1UCeHs7Gw4ODigVatWSExMxMGDBzFo0CBW4U5EKF++PAYNGoSDBw/i0qVLMDExgZubW6HtGTdu3AiRSISQkJDv+v4ryMrKwp9//om6deuCx+NBS0sLPXr0wLVr1wqMGnbv3h2+vr5FPs7Zs2dRoUIFEBHat29f6nngPXr0gJmZGdLT03H58mUQUb697tWoUYVaUP4EpkyZAkNDw9Iexr+CS5cugc/nq5xG/RV49uwZiOibelNPmjQJ5ubmBa5z5swZ6OrqwtPTE2/fvmU5ip06dSrQu68w7t69CycnpzwtFL+G4zh06dIFfD4fMpkMDx48UHp/1apVICIMHjwYCQkJKFOmDDw8PPIV2M+ePYNUKs3Xf3Pfvn0wMzODlpYWLC0tIRaLMXv2bKWoSUpKCos6EuWara9YsQImJibQ1NTErFmzmHh6/vw56tevDyJCQEAAypYtC6lUmm8ksDBevHjBct6EQiG6dOmC27dvQ09PD3PmzEFkZCQbm7a2NmbNmgWiXBP8wvJ/c3Jy0K5dO4hEIpWfSU5ODpo0aQKZTMZSHKZPnw6xWIxBgwbB0dGRRSLFYjF8fX3x559/KhVIFUR8fDzMzc3RoEEDlULq/v376Nq1K0QiEbS1tTFs2DC8evUKnp6eCAgIYNtkZGTgzJkz7LorRKeNjQ26deuGbdu2KU3537p1C4aGhqhQoQI+fvyY7/gUfdeJCGFhYd9dyf3kyROMHDmS9VqvXLky1q5dW2Ax0pd06NABgYGBha734sULNG/enB3j8uXL3zXukiA6Opr9bgG5D0Dq6KSa4qIWlD+B0NDQPL1+1RSfpKQkODg4wM/P75e2sPDx8UGzZs2Kvd3cuXOho6OT7/uKSGRISAji4uLQo0cPlqP4PflWf/zxB2QyGTw8PPD8+fMC112wYAGLdH1dAa2oEO7Xrx8bz927dyGVSgu0CZo/fz54PB4uXrzIln348AFt27YFEcHFxQUikQgeHh558jl37tzJim6srKywadMmljvZrl07Fl1LS0vDxIkTIZFIYGNjg3379oHjOKSmprJe4926dStSZJnjOPz1119o3rw5eDwedHR0QERKvaQ1NTURGBgIsVgMc3Nz2NnZoVu3bti9ezeICKdPnwYRqTRd/5KsrCw0adIEGhoaKntVp6amwtfXFwYGBujevTub6jc0NET37t1x4sQJZGVl4ejRoyzyPHr0aAgEgiK131T4i27evJmde0REBBOHlpaWmDNnjlJl/eHDh1k1fe3atVmuqKGhITQ0NFClShU8e/ZM5Xf26tWr0NPTQ6VKlQr0Kk1PT2dCfdasWd/8/U9LS8PWrVtZvq++vj4GDhyo0uOyMFq0aIE6derk+35SUhJGjx4NsVgMS0tLbN26tVStzr5k2LBh0NXVRWJiIi5dusRyb9WoKQ5qQfkTqFChAnr27Fnaw/jH06VLF2hpaRUqekqb+fPnQyKR5OkUUxjLly+HUCjMs5zjOMybN49ZiHz8+BF16tSBUCj85sgakCtWFIUbHTp0KFRMKUQJEWH58uVK723ZsgU8Hg89e/bMc5PctGkTiAhr165Vud+cnBxUrlwZZcuWRVpaGnbs2AEjIyPo6uqiTJky4PF4GDVqlNIU7du3b+Hn58ciXsOGDUO3bt3A4/Hg4eGhJJaOHDkCBwcHiEQijB07VuX0+oYNGyCVSuHu7p5va8qsrCz88ccfqFSpEhO6q1atwpUrV0BEuHr1KlJTUzFjxgwQ5Zp/T5s2DSkpKXBycsKIESOwePFiSCQS1n6xKD2uMzIyUKtWLWhpaTGTdrlcjsuXL2Po0KGwtLQEEYHP54OIsGjRIpUPXIrc2AMHDqB69eowNzcvdDoZANq1awc9PT0sX76cVWy7u7tj8+bNyMzMBMdxePLkCZYvX44WLVooFdLUqVMHc+fOxa1btyCXy7FgwQIIhUK8evUqz3EuXLgAbW1t+Pv7F/i78/HjR1SrVo1dx2/h7t27GDBgABtrjRo1sG3btm9qhaigQYMGaNq0aZ7lOTk5WLduHUxNTaGhoYEJEyYUmOLxs/n06RM0NTUxduxYAEDt2rVZDq4aNcVBLSh/MDk5OdDQ0MDvv/9e2kP5R6OI7Kxfv760h1IoUVFRICp+ZwlF67Yvp67lcjkTfWPGjMGbN2/g4eEBXV1dhIeHf/MYY2NjERAQoNRCsSAePnzIii0GDBig9N727dvB5/PRrVu3fG9CPXr0gEQiUVmUAeQWronFYjg7O4OIULFiRchkMtjb2yv1SM/JycGUKVNYJM7b2xuTJ0+Grq4u9PT0sHTpUiamXr16xYqDQkJCCu1hfu/ePZQtWxZaWlpK0ZnPnz9jzpw5zJsxJCQER48eZeeqSHMYMWIELC0tIRKJwOfzlax/DA0NMXPmTIwePRp2dnaYO3cutLW1ixxZS0lJQbVq1aClpYX27duzsZiamqJPnz7YtGkTxGIxZDJZvvmgcrkcjRo1gp6eHi5evAhTU1PUrFmzwGnNpKQkTJ06lYnVWrVq4cSJE4iOjsaWLVvQpUsXNhahUIiqVatiwoQJWLlyJYjy9n5OSUmBkZER+vbtq7T8zJkz0NTURPXq1QucYn7y5AmcnJxgbGxc7Bzq5ORkrFmzhrXcNDU1xahRo/LN8S0uNWvWRNu2bZWWnTt3Dl5eXixiXhzvzZ/F5MmToaGhgffv3+PixYvfnLKjRo1aUP5gXrx4AaLvN3H+LxMVFQV9fX20aNGiVKw0voWAgIAi2aR8iUI0K6b60tPT0bJlS/D5fCxfvhx///03LCwsYGNjg/v373/z2ApqoaiKuLg4WFtbg8/no3bt2koCZPfu3RAIBOjYsWOBwiQ9PR1eXl5wcHDIUzjBcRw2bdrEDL/Lli0LIkKPHj2UqvivX7/Oil5kMhnGjRsHd3d3FhlV5NtlZGRg+vTpkEqlsLCwwM6dO4v8vUlOTmZTqe3bt0ffvn2hqakJsViMrl275ply5ziOPQgQEdq0aYPnz5+Dx+Nh1apVAHKFHJ/Px8qVK9G5c2dUqVIFffv2LVJFcE5ODs6fP48BAwYwmyQ+n4/27dvj7Nmz7JrHxMSAz+dDJBKhdevW+Qp7RV6ru7s7jh49Cj6fj99++y3PetHR0azQRigUokqVKiDKNV1XdPNRVD0PGTIEhw8fzuO40KpVK1hbW+eJ+k2bNg0SiYR1XDp58iSkUilq1apVYJT83LlzMDAwgIuLi8r2kKrgOA5Xr15F9+7doaWlBR6Ph3r16uHPP/8s8e45VapUYakdkZGRaNmyJYgIlSpV+iULCIFcgW9oaMj6zoeEhMDd3V0dnVTzTagF5Q9GkU/0PS24/svI5XIEBwfD0tISnz59Ku3hFJlly5ZBKBQWWFTwNQqrlqioKMTHxyMgIAAaGhrYv38/jh07Bi0tLVSsWDFP68OiUlgLRVVkZWWhWrVq4PP5KFu2rJJo2L9/P4RCIUJDQ4uUvP/ixQvo6emhSZMmTOC9efOG9a2uWrUqBAIBhEIh9u7dy7ZLTk5Ghw4dmIipX78+K2qoUqWKUh7iyZMn4ezsDKFQiOHDhxfbVorjOJw7dw6enp4s6ta/f/88PpcAcOXKFQQGBrJxzZgxA0Dud/ZLy52EhAQQEXbu3IlatWqhRYsWqF+/Pho3bqxyDDk5OThz5gz69u3LRKSlpSUGDhyIw4cPo3z58rC0tFSy0lEI6M2bN4PH42HEiBH5nuO9e/egqamJ0NBQTJ8+HUTEKuAVhTZCoRBSqRSVK1dGhQoVWISSz+ejQ4cO2L59e57q/q95+vQpBAIB5s2bp7T88+fP0NHRwYgRI3DkyBFIJBLUr1+/wOnmLVu2QCQSISgoqEh94OPj47F48WLWbcba2hoTJ078oRFCLy8vhIWFYcyYMZBIJLCwsMDmzZt/aXH2+++/sxQERaHYnj17SntYav6hqAXlD2bOnDnQ0tL6x0TWfjUUuYPfM71bGrx//x4CgUClT2B+KHroRkREoFy5cjA0NMSlS5ewatUqCAQCNGzYsMgVp1/zZQvFQYMGFTk607NnT/B4POjr6yvdjA8fPgyRSIRWrVoVq0BKUeQxe/ZsrF69Gtra2jAzM2N9s2vWrAmhUMiq+Hfu3AltbW0Q5RqZ9+rVCzKZDKampti0aRO7WUdFRaFVq1YgIlSvXr3YEVxFfqSPjw+IcntBjxs3Dvb29tDV1cW+ffvYuk+fPmXRJ3d3d3ZOinzWzMxMpZSHyMhIEOX2s3Zzc0P//v1Rrlw5pc5Z2dnZCA8PR+/evVmVsbW1NYYMGYKLFy8qiZKYmBg4OTnBwcEB0dHRkMvlsLOzYyb/CxcuBFH+xuiK60pEmD9/PurXrw9tbW2WHymRSFhKgbGxMdq0aYM1a9bg2rVrMDQ0ROvWrYt8Xfv06QN9ff08UekxY8ZAQ0MDIpEITZo0ydfCiOM4TJo0iRX5FORkwHEczp49i/bt27NzaN68OY4ePfrDq5XlcjnMzMygqakJDQ0NjB8//pt/V38WmZmZsLKyQqdOnQDkTtl7eHj80gJYza+NWlD+YLp27QofH5/SHsY/ktu3b0MsFmPYsGGlPZRvonbt2qhRo0aR179x4waIclvU2dvb49GjRxg9ejSrnP7Wm+KXLRSL0/Vi6dKlLEr3ZeeR48ePQywWo2nTpt80bdirVy9W3FOvXj1YWlpCR0cHmzdvBsdxmDBhAoRCIYsu8fl8tGzZEk5OThAKhRg6dCgr2sjKysKcOXOgqakJU1NTbN26tVgPb/Hx8Zg9ezbLA6xVqxaOHTvGbqoJCQksGtq7d2/07t2b+W9u2LCBfSZCoZAVKqWlpYGIWLvKmzdvsopuAwMDFk2cN28eTp48iZ49e8LY2BhEBFtbWwwbNgxXrlwp8Mb+6tUrWFtbo1y5csxY/Uv7mcGDB4PP52P//v0qt+c4Dp07dwaPx2O5sQoxWbduXSxYsAB37tzJM4Y//vgDRFTktoaxsbGQyWQYPXq00vI1a9aAiODq6prvdygjI4NFpqdPn57v5/ru3TvMnj2bGbY7OTlh1qxZKqPKP4K//vqLdQVydXVVWXD0K6Lo8PTgwQP2MPvlzIAaNcVFLSh/MH5+fuwJUE3RSUtLg6urKzw9Pb+5N3Zps379evB4PERHRxd5fUUO4cuXL1mP7gULFnxzhPvo0aOFtlBURXh4OBN9X3olhoeHQ0NDAw0bNiy276VcLsfixYshlUohFoshkUhARAgKCmLRz5ycHNZ6UHEtgoKCWDHMw4cP2f7OnDkDV1dX8Pl8DBo0qFhV9c+ePUP//v1ZfmS3bt3ytYpJSkpC3bp1WUX56NGj8xS+6OjosKndpKQkJduV8PBwEBEePXoEIkKvXr1ARCzyam9vj5EjRxZqnP01T58+hampKXR1dVG+fPk8HYNatGgBqVTKKsOjoqKwceNGtG3bFrq6uuwa83g8BAUFsen9guA4Do0bN4apqWmRKtQBYPz48dDQ0GAWTlu2bAGfz4eLiwv09PRUpiV8+vQJgYGBkEgkKs21c3JycOzYMbRo0QJCoRASiQTt2rXDmTNnftps0MuXL9G6dWsQEXx8fKCvr4+pU6f+lGN/Lzk5OXB2dmZV6TVq1ECFChXUM2lqvgu1oPyBcBwHHR0dzJw5s7SH8o9jwIAB0NDQ+K7ik9Lm8+fPEIlEWLhwYaHrbt26lU0zbtq0CdWqVYOGhsY35zPJ5XJMnjyZtVAsTgeRp0+fQlNTE0SEKVOmsOVnzpyBVCpF3bp1iy3ynz59imrVqoGI0LJlSzg4OLBokkKYXrt2DTY2NiAiiMViJuBsbGywZ88edrOLiYlhhTP+/v64fft2kcagyI9s0qQJeDwejIyMMGHChHytc7Kzs7Fy5UqYmZlBLBYjNDQUVlZWMDAwyGM0bmZmhsmTJwPIjXp+mYumiOo1adKEiTgiQteuXXHz5s3vuokrxKq9vX2eKdbo6GiULVsWGhoa7HorIr48Hg81a9bEkSNHYGVlhcqVK7Op8sIqfGNiYqCnp4cOHToUaYyJiYkwMjJC9+7dsW7dOvB4PHTr1g2vXr2CSCRiZtoKnj17BmdnZxgaGuYpGnvz5g0mT57Mvidubm5YtGjRT82vTk5Oxrhx4yCRSGBubo6NGzdCLpdDV1c3385HvxqKAsCrV6/izJkzICKltA41ar4FtaD8gURHR4OI8p12UqMaRXHK4sWLS3so303jxo3h5+eX7/scx7FuN6GhoSAimJubw8jI6Js7aHz+/BkNGzYstIViftsqbtahoaFM7Pz111/Q1NRESEhIsdoU5uTkYN68edDQ0IC9vT26dOkCoVAIb29vbNq0CQKBAEOHDlUquvH29oa5uTkEAgEEAgFu3rwJIFfgLVy4EDo6OjA2NsaGDRuKdG5ZWVnYunWr0rTkmjVr8j0PjuOwd+9elC1bFjweDx07dmTTmHFxcWjQoAGzcVLkjzo6OmLUqFEAck3ZiQhjx45Fp06dmLG3okJdYQNVEm0Cp06dColEAm1tbdSoUQOHDx/GqFGj4OPjwyLMQqGQWRlpampi+PDhSkWCV69ehVgsRs+ePdG2bVtoa2vjyZMnBR5XUdl+6NChIo1z4cKFbDx9+vRhn1v37t1hamrKPosLFy7A0NAQzs7OePbsGYDcz2/fvn2oX78+O4ewsDBcuXLlp0bU5HI5Nm7cCHNzc0gkEowbN05JxIvF4gLzVn8VOI5DxYoVUbNmTQBA9erV4eXlpY5Oqvlu1ILyB3Lq1CkQUYn5nP0XeP/+PUxNTVG3bt1/xR84RXTqy4pcBTk5OejXrx+IcvtAR0REsOKTbzVvL2oLRVVkZ2cjMDAQPB4P3t7eLAp56dIlaGlpISgoqFg9yh88eABfX1/weDx07twZPj4+EAgEGD9+PLKyssBxHBPRRLldShTV1U2bNsXDhw/h7OyMKlWq4Ny5c/Dw8GC9t4ta6Ttr1ixm/F27dm0cP368wO/VhQsX4O/vz9ZX5Zspl8sxe/ZsCAQCBAYGIjo6Gu7u7ujTpw/279/Pci6Jcs3Pa9asCR0dHRYVGj9+PPT09Ip8HfMjIyMDZmZmqFixIvM6JCKYmJigXbt2GD58OOsAw+fzYWtrm29eoSKncenSpShbtizc3d0L/Kw5jkO9evVgYWFRJGE8d+5cEBEcHByUrv+zZ8/A5/OxdOlS/PHHHxCLxQgMDMSnT5/w7NkzjB49mlW6V6pUCatXry525X5JcOHCBVaw1bp1a7x8+VLp/ZycHKXK/l+ZEydOsCIxxd+cAwcOlPaw1PwLUAvKH8jixYshFot/6TaBvxIcx6FRo0YwMjL6aQn1P5qUlBTIZLI8aQ9paWlo1qwZ+Hw+Vq9ejT179rCcwm+dNlO0UPT09PwmQdqnTx8WIVXYHV27dg06OjoICAgocnePrKwsTJs2DWKxGGXLlsXQoUMhlUpRpkwZls/3+vVr5m2omNpWWBN92dLx0KFDbB1fX99CWxUCudPr/fr1g0wmg0QiQVhYGO7du1fgNo8ePWIm6F5eXjh58mShxzl//jzMzc2hq6sLHR0dlrKgMGdXVPiPHDkSjo6OWLJkCcRiMXr06AEvL69C9/81HMfh/v37WLRoERo3bsyKaWQyGRo1aoRevXpBJBLBz8+PCUwPDw9s2bIFFy5cgFQqRfPmzfMt7lKYz2/fvr3QdplAbk6mjo5Ooesp+pc3bNgQRKTUYhPI7cSjyOls164dNm3axPJm9fT00L9//yKnNZQ0r1+/Zi1AK1asiPPnz6tcLzU1FURUrKK30qJGjRrw8fGBXC5HQEAAvL29/xUP72pKH7Wg/IH06dMHbm5upT2MfwyK7hr/tqflNm3awNPTk/0cFxcHf39/yGQyHDx4EPPmzQOPx2PTjV/79hVGcVsoqkJx7aVSKR49egQgtzpZT08PVapUKXJU6O+//4aXlxcEAgH69u2L4OBgVqWekpKC7OxsTJ48mYkvMzMz6OrqgsfjwdLSEomJiQByIz7Lli2Dnp4eJBIJRCJRgdOwCsuYxo0bg8fjwdjYGBMnTiy0tWBMTAx69uwJgUAAOzu7IvVXTklJwe7du9G6dWulCmkTExPcu3cPL1++ZBEgIHdat1KlShgzZgxsbW1Ru3btIvd6f/36NdavX4/27duzSJ1YLEaNGjXg4uICJycnZGVlISkpCQsWLICRkRGIcn0rv47GHjhwAHw+H4MHD1Z5rIyMDPj6+sLa2hpLliwpUsRt9erVIFLduIHjOEyePJlF4HNycuDp6Ylq1aqxcWVmZrLcUgcHBxgYGICIEBgYiC1bthQrvaIkSUlJYcVEZmZmWL9+fYHfi7i4uH9ElfTly5dZlb4i/7aoaQtq1BSGWlD+QKpXr14sz7b/Mo8fP4ZUKv1X9jzft28fiAgPHz5EZGQkypYtC2NjY1y8eBF9+/Zl+XYKL7svC2EKo7gtFFVx9uxZVqihEEG3b9+GgYEBfH19i1Q9nZGRgfHjx0MoFMLd3R3Tpk2Dnp4eLCwsWMTxypUrLD9TJBKx/3fo0AEnTpyARCJBz549ceXKFeaJ2L17d7x69Qr29vaoXr16npt6ZmYmtmzZwtZ3dXXF2rVrC+3JnJiYiN9++w0ymQwGBgZYsGBBgYVGycnJ2LFjB1q2bMlEZIUKFTB9+nQ2NU+Uazuk6O195swZAECLFi1Qu3ZtdOnSBX5+fihTpgyGDh2q8jhxcXHYvXs3evfuDScnJ1aF7e3tjZEjR+LEiRNITU3F27dvIRAIMGPGDIwaNQq6uroQCoXo2LEjpk+fDh6Ph4EDB+b5PiisoPJrBfvmzRsYGxsjODgYYWFh0NDQKDA6yHEcQkJCYG1tzR4GFMvHjh0LIsK0adPY8uPHjzMRExUVBRcXF5ZbqejJXliLzB+JXC7H5s2bYWFhAYlEgjFjxhTpYert27cg+p9B/K9KkyZN4OLigpycHFStWhWVKlVSRyfVlBhqQfkDMTExYQbNavInMzMT3t7ecHZ2LvK06j+J9PR06OjooGfPnjA1NYWjoyNu376NBg0aQCAQYM2aNWxdBwcHVtxRGBcvXoS5uXmRWyiqIjIyklV0K3wU7927ByMjI1SsWLFI+XHXrl1D+fLlIRQKMXLkSGYwHhoaivj4eCQkJKB9+/YskqfIaaxQoYLSuH///Xe2jpeXl1JR0unTp5XG+OnTJ8ycORMWFhYgItSpUwcnTpwo9OaYmZmJxYsXw9jYGBoaGhg9enS+55iUlIQ//vgDzZo1Y20hvb29MXPmTFYwoqB169aoWLEiTExMmDG5YnpU0eNZEZkUi8Ws4CwlJQXHjx/HiBEj4OXlxcSVs7Mz+vTpgz179qisYO7Xrx8EAgFEIhHrOhMVFcXeV0Scx40bl2fbESNGgMfj5esgEBERwYqlKlSoACcnpwIfKl6+fAlNTU306tULQK6YHDZsGIgoT7RdLpfDx8cHOjo6rPuOr68vK0zbuXNnvsf50Vy6dIn1+W7ZsqXKvOf8UPRzVzxE/Ircv38fRLn91U+ePAkiKnaetRo1BaEWlD8IxRSIwotOTf6MGTMGQqEQ169fL+2h/DBCQkLA4/Hg4+ODu3fvomLFitDW1s4zVeju7l4kL8AlS5ZAKBSiWrVq35xvmpSUBFtbWxAR+vbtCwB4+PAhTExM4OnpWagVS1paGkaOHAk+n4+KFSti2bJlMDc3h76+Pnbs2AGO47B9+3bmtyiTyVhEcMWKFSyXTy6XY82aNTAwMIBIJIJIJFJZDKPoktOxY0eWH9m9e/ciWUtxHIedO3fC0dERfD4fXbt2VRJgChISErBlyxY0adKE5bRWqlQJc+bMKbB/dJcuXeDv74/o6GhWvNG3b1/I5XJUqFABffr0gbu7O+tW1L59ewQGBkIkErG81Q4dOmDjxo35tmnlOA7h4eGoU6cOiAiampqYN29evmJP0WXq6/xduVyONm3aQENDI08+o4L58+czpwUdHR20aNGiQLG+bNkyNs3fv39/EBGWLFnC3v/8+TOWLl2KChUqsIcGmUyG06dPs3Vq1aoFT0/Pnx4xe/PmDbOh8vLywrlz54q9j3v37oGIvtmZ4WfQsWNHWFtbIyMjA1WqVEHlypXV0Uk1JYpaUP4gFH1R8zNLVpPLuXPnwOPxMH369NIeyg9jw4YNLBqzZcsW2NjYwNLSUuVUop+fX4FFDqmpqcxipzgtFL8mJyeHVQAHBQUhJycHT548gZmZGdzc3ArtQX7hwgWULVsWYrEYkyZNQs+ePVmk8O3bt3j58qVS0Y2+vj54PB569+6tZIh98+ZNVK5cGUSEzp07IzIyEh4eHnB2dmZTqBzH4cyZM8xcXCwWY+LEiYX2klZw5swZVKpUCUSEBg0a5CnQ+fz5MzZt2oSGDRsy/0s/Pz/MmzevyF1P+vbty/JkFR2PFIUopqamCAkJYWKZKNfUvEmTJliyZAkePnxY4I09KysL27ZtY4U29vb2ICJcunSp0HFNnDgxj7gDcqPmAQEBMDQ0VJmbynEc2rRpA01NTSxatAhEVKCfqlwuR2BgILS0tMDj8bBq1SpwHIfz588z6ySBQAAfHx8IhUIYGhrC3NxcKUfy7NmzPzWnLyUlBRMmTIBUKoWpqSnWrVv3zd2orl27BiIqteKhwnj58iUEAgEWLVrE0g6OHTtW2sNS8y9DLSh/EKtXrwafz//Hdnn5GSg8DwMCAn54r93SgOM4TJs2DUSEsLAw6OrqQiwWw8PDQ2V0DACCg4Pzzbv91haKqlBEkRwcHJCcnIznz5/D0tIS5cqVK1CopaSkYNCgQeDxePDz88P27dvh5OQEmUyG5cuXIzMzE5MmTWJFN1paWiAiVK1aFbdu3WL7iY+PR9++fcHj8eDu7q5UPfv06VNoa2ujRYsW2LRpExNS5cuXx+DBg0FEWL9+faHneO/ePdSvX59FGc+ePcve+/TpE9avX4/69eszkefv74/ff/893whhQYwYMQJlypQBABw8eJBVBX+ZH6gYB1HRPCgVhTaKXNPatWvj5MmTaNSoUZG7mnAch6FDh7Kpzi/59OkTXFxc4ODgoPIzT0lJgZubG5ydndGvXz8IhcJ8RWxOTg6aNWvGCmrmzp2LsmXLsu/Y9OnTMWbMGFbJff/+fQiFQiVHA47jULVqVfj5+f3QyJlcLsfWrVthaWkJsViMUaNGKeV/fguK1oWF+XeWFv369YOhoSGSk5NRuXJldXRSzQ9BLSh/EEOGDGE3GDWqadeuHXR0dP4xvW+LQ3Z2NmuxN2XKFNaGUUNDo8B8tMaNG6NBgwZ5ln9rC0VVrF27FkQEHR0dREVF4eXLl7CxsYGzszNiYmLy3S4iIgIODg7Q0NDA7NmzMWbMGPD5fFSuXBlPnz7FxYsXmfjh8/kQiUQwNzfHli1b2M2L4zhs3LgRxsbG0NbWxoIFC/LYan369IlNQRIR6tati5MnT7J9dO7cGbq6uvm2tIyKikLXrl3B5/Ph5OSEXbt2geM4xMXFYe3atahTpw6EQiF4PB4CAgKwaNEi1hbwW/jw4QNatGgBTU1NpY40bm5u6N27t5Kg7NixI4yMjArc39u3bzFy5EilQhvFZ/727Vvw+XysWLGiyOPjOA69evUCn8/P0wXn5cuXMDU1ha+vr0p3gKdPn0JXVxeNGjWCv78/rKys8kSvs7Oz0bZtW/D5fKWiq7Zt2+L06dPIyMhAWFgYq/ZWfI59+vSBvr6+kqeooqnBl1PhJcmVK1dYRLx58+YFpjEUB4W3o6KF6K/Eu3fvoKGhgSlTpuDYsWP5VuWrUfO9qAXlD6JOnTpo3LhxaQ/jl2Xbtm3/GN+24pKSkoJGjRpBIBBg3bp1rDe1woevoKnK0NBQBAUFsZ+/bKHYsGHD7+6ucvHiRfD5fAgEAly/fh2vX7+GnZ0dHB0d8xVViYmJTBgFBgbiyJEj8PLyglAoxNSpU/Hx40elohsNDQ0IhUKMGDFCqUL2zp07rP1iaGhoHkH45MkT9OnTB1KpFBKJBO7u7iqjYp8+fYKZmRkaNWqkFGX5/PkzRo0aBQ0NDRgbG2PJkiV4+/YtVq1ahVq1akEgEIDH46F69epYunRpkXusf01ycjKOHDmCoUOHMiN2hYju378/KzB58OAB65qjOG8LC4t8PSjv3r2Lzp0751toAwCTJ0+GpqZmsSNqcrkc7du3h1AoxOHDh5Xeu3HjBmQyGZo0aaJypkDhBTpixAgYGRmhTp06rNo+MjISrq6u7Bq4urrCzs4O9vb2SE1NxefPnxEcHAyRSIRNmzYp7Tc2NhYymUypCI3jOHh5eSE4OLhY51cYUVFRLFXE09OzxItn9u/fDyLChw8fSnS/JcGYMWOgpaWFT58+wdfXF1WqVFFHJ9X8ENSC8gdhY2NT5Grd/xqvXr2Cjo4O2rVrV9pDKXE+fPiAypUrQ1NTEwcPHmRFGLNmzUJ2djYsLCwwcODAfLfv3r07fH19AXxfC0VVvHnzhlV079y5E2/fvoWjoyPs7OzyjawcO3YM1tbW0NTUxJIlSzBv3jxIJBKUK1cO169fx9atW1nRjWKau3bt2szLEsgVpIMHD4ZAIEC5cuUQERHB3uM4DhEREUxsm5iYYPLkyXj//j2ysrJQtWpVWFlZ5blRK6yY/vjjD2RkZGDBggUwMDCATCbDkCFDsGDBAtSsWRN8Ph98Ph81a9bE8uXLv6mAKTMzE+fPn8fEiRNRrVo1dp6Wlpbo3LkzNm/ejKlTp0IsFgNQnv588uQJi1IrIpWampps+l9RaKPID7WyssK8efNUCsacnBxYW1uje/fuxT4HIDeS2LRpU0gkEqXPAAAOHz4MPp+Pfv36qRQbEydOZLnOPB4P7dq1Q7169ZiQDA4OxqVLl8BxHB4/fgwNDQ2EhYXB1dUVenp6+Qo4hdfjl8JZ0VFIYYL/PaSmpmLSpEmQSqUwMTHBmjVrfkh6zY4dO0BEpdLFpyASEhKgo6OD4cOH48iRIyCiIpn2q1HzLagF5Q8gOTkZRJTniVxN7k0xICAANjY2JdLL+Ffi+fPncHJygqmpKSIiIlCjRg2IxWKlSv/BgwfDzMws35vawIEDUb58edy5cweOjo7Q09MrEW+7lJQUNh05fvx4xMTEoEyZMrCxscnTRg7IzXHs0qULiAghISH466+/UKNGDRARhgwZgvv378PPz08pOmdjY4N9+/YpTW9v27YNZmZmkMlkmD17NjIzMwHkirTNmzezql83NzesX78+j3/k27dvYWxsjFq1auW5Zq1bt4aWlhasra3B5/NRtWpV+Pv7swhsrVq1sGrVqiIX7yiQy+X4+++/MW/ePNSrV4+JcH19fTRv3hzLli3D48ePlYTX+vXrQUTIzs5mFkcvXrxgnpRjx46FSCSClZUVTE1NIZFI0K1bN3b+np6e2LJlS4FFVocPHwYRfZcbQkZGBmrXrg1NTc08FcmrVq0CkepOTXK5HDVq1ICGhga7HjKZDCKRCH/++Wee9RU5uhYWFkoPF1+TmJgIIyMjhIWFKR3LxcUFjRo1+ubzVHz3rKysIBaLMXLkyO/OkyyIDRs2sM//V2LmzJkQi8V4+/YtfHx8ULVqVXV0Us0PQy0ofwDXr18HEeHatWulPZRfjhkzZoDH432TNcevzLVr12BsbAxnZ2ecP38e5cqVg4GBAf766y+l9a5evVpgjtiYMWNgbGwMqVQKT0/PEsnxksvlrKK7adOmiI2NhYuLCywtLVW2aDxw4ADMzc2ho6ODNWvWYMOGDdDR0YGNjQ1OnDiBiRMnsqp1gUAAiUSCyZMnK1XsPnjwgLXPa9myJSt0iYuLw/Tp02Fubg4iQr169XDq1KkCb3Lh4eHg8/mYMGECW3by5ElW9CEWi8Hj8SAUClGnTh2sWbOm0Cr1L+E4Ds+fP8eqVavQunVr1m1GQ0MDtWrVwqxZs3D9+vUCI1tfRqgUHn+vX79mOYH9+/eHtbU1hEIhmjZtykSZubk5Dh48WKSbfKNGjeDl5fXdgiA1NRUBAQHQ09PLY8+kKJxR+EFmZGRgx44drOMRn8+Hvr4+i0qrskXbs2cPE55OTk6FmswvWrQIfD4fDx48YMs2bdoEIvqmfOGrV68yh4FmzZp9UxvS4rJixQoIBIIffpzikJaWBhMTE/Ts2ZOlLYSHh5f2sNT8i1ELyh/A5s2bf8npj9Lm+vXrEAqFGDNmTGkPpUQ5fPgwZDIZqlSpglOnTjHz8vzsWOzt7dGjR48872VlZbEb4be2UFSFIlrk5uaG6OhouLm5wdzcPM/4Pn78iNDQUGavc/v2bVa527lzZxw7doxFORWvZs2aKRVVJScnY8SIERAKhShTpgxL/n/8+DF69+4NqVQKDQ0N9OzZEw8fPizyOUybNg08Hg9TpkxhXWkUAoco1/OxMN/ML3n37h3++OMPhIWFMS9OgUAAPz8/jBs3DhEREYUKoS9RVHbHxsYyEfn27VuWK9yiRQsYGxuzMXfq1AmzZs2ClpYWXFxcCu01/ubNG/D5fNYf/HtJTEyEj48PjI2NlSKIHMehXbt2EIlEaN26NQwNDVkO6KZNm3D69GkWATY2Nka1atVYVJXjOMyZMwc8Hg9t2rTBzZs3IRaLMXr06ALHkpGRAXt7ezRt2pQty8rKgp2dHdq0aVPkc3r79i1LMfHw8PhhhT2qWLBgAbS0tH7a8YrCsmXLwOfz8ezZM3h7eyMgIEAdnVTzQ1ELyh/AmDFjYG1tXdrD+KVISUmBs7MzvL292bTnv4G1a9dCIBCgSZMm2LVrF2QyGfz8/ApMzh8zZgwMDAyUroOihSKfz4dYLC6xP/yKim4jIyM8f/4cnp6eMDExyTMNuWvXLhgbG0NfXx9btmzB/v37YWJiAiMjI2zatEmp6pqI4OTkxNo0ArliYvfu3bCysoKGhgamTZuG9PR0nD59Gg0aNAARwdTUFFOmTCl24cKrV6/YlLHi+D4+Pti4cSM+ffqEpk2bwtTUVMnf8msSExNx6NAhDB48GG5ubmw/5cuXx8CBA3HgwIEitZjMjy+nuRXi8t27d6wSnsfjsUrvL/MJHz9+DHd3d0ilUmzcuDHf/U+aNAmampol+pAaFxcHNzc3WFpaIjIyEikpKdiwYQNLZeDxeOjatSsT/p8/f4afnx9rPTl48GAIhUIMHz4cWVlZzItU0UYUyH0QUBSAFYRCeH9ptL58+XLweLxCrXjS0tIwZcoUyGQyGBsbY9WqVT/dhmz69OkwNjb+qccsiOzsbNjZ2aFt27Y4cOAAiChP3qwaNSWNWlD+AJo0aYLatWuX9jB+KXr27AmZTFaqfXpLEo7jmGl0nz59sHDhQvB4PLRo0UJp6lcVd+7cAdH/2p592UJx5MiRIKISEZSXL19mAvXatWuoWLEijIyMlDrLxMbGokWLFsxG5dmzZ+jWrRuLUi5ZsoRNzyqmgefNm6eU6/fkyRPUrl0bRITGjRvj8ePH2LhxI6uAdnd3x4YNG4rlyRoZGYk5c+awHt2KqW0tLS1UrFhRSYzHxMRAT08PHTt2ZMsyMjJw9uxZjB8/HlWqVGFizsbGBl27dsW2bdu+ucOQKi5fvgwiwr179/Dnn3+CiNiUP5/Ph7m5OQIDA0FEeb4fqamp7Jp369YtT2Q6OzsbVlZWKqPa30tsbCysra2hra3NPENr1aqF9evXo1y5crCzs0NsbCw+ffoEb29v6Ovr48aNG0xMKqLfFSpUgFAoxLp165T2n5WVBS8vL7i5uRX4+Ss6ClWrVo1999PT02Fubo5u3bqp3EbRicna2hoikQjDhw//roeC72H8+PG/VBBhy5YtICL8/fff8PLyQvXq1Ut7SGr+A6gF5Q/A2dkZgwYNKu1h/DIoLDVKarqutMnKymK+etOnT8egQYNARBg+fHiRKrE5jkO5cuXQoUMH1kIxICAAsbGxLFLzvdPdb9++hUwmA4/Hw969e1GpUiUYGBiwTh4cx2HLli0wMDCAsbExdu3ahXPnzsHOzg5aWlqYPn26UtENEaFt27ZKIiw1NRXjxo2DWCyGvb09tm3bhmnTpsHMzAxEhPr16yM8PLzI4vj58+eYNWsWvL29WdW4UCiERCLB2LFjkZKSgmvXrkEsFudpT6koiunatStq164NqVQKIoKBgQFatmyJlStX4tmzZz9syk/xkDB58mTY2dkxIV23bl24uLjAyMgIQUFBMDMzy3cfGzZsgFQqhbu7u9KDlyLieePGjRIbb0JCApYvX84Eu0AggKGhoVIk8fXr1zA3N4eHhwfc3NxgZGTEvj9ZWVkIDAyEkZERE6KbN29Weazbt29DKBRi/PjxBY5J4eV48OBBtmzevHkQCoV5XAiuXbsGf39/EBGaNGmCp0+ffuulKBGGDx8OZ2fnUh2DArlcjvLly6N+/frsb++v3GNczb8HtaAsYTIyMiAQCLBq1arSHsovQWxsLIyMjNC4ceN/Rf5OcnIy6tWrB6FQiDVr1qBp06bg8/lYtmxZsfYzfvx4Zj/zZQtFhR3O9/jZpaWlwdraGkS5fZyrVKkCPT093Lx5E0CuJ59iGjo0NBRv377FiBEjwOPx4O/vj/79+7PcRCJC2bJllbwgOY7D/v37YWtrC4lEgn79+iEsLAwaGhrQ0NBAr169ipwf+fTpU0yfPp1VO0ulUvj4+MDAwAACgQD9+/fPU6W9fPlyEBEWLFiA5cuXo0WLFtDX12fTtDVr1sTcuXNx69at77ZaKgqJiYmsmEWRv6fIoe7cuTMT5v7+/qhSpUqB+7p79y7Kli0LLS0tVvDSsGFDeHt7f/c4OY7DhQsX0KVLF8hkMvD5fDRq1AgHDx7Ew4cPYWpqigoVKii5L5w8eRJ8Ph8SiSRPW8Hjx4+zCLi1tTW8vLzyzTudMGEChEKhyh7tX46vZs2acHV1ZVPWycnJMDAwYA8Q0dHR6Ny5M8sJ/lWKTPr37w8PD4/SHgYAsCnu8+fPo0KFCqhRo0ZpD0nNfwS1oCxh7t27x36Z/+twHIe6devC1NT0lzT8LS7v3r2Dt7c3tLW1sXPnTvj6+kImkxW79/CLFy/g4uLC8tC+RFEhrMrKpyhwHIeAgAAQEdq3b49q1apBR0cH165dA8dxWLt2LXR0dGBubo79+/fj9u3bcHNzg1gsRq9evWBlZcWEkVQqxdKlS5Xy0V68eMHEqK+vL6seNzMzYybnhfHo0SNMnTqVCS+ZTIbWrVtj9OjRKF++PIgIrVq1wrNnz5S2i4mJwZYtW9C5c2eWx8fn8+Hv748JEyZg165d0NbW/iFTw6pQCHEdHR02pb5kyRI23Zieno7GjRujZs2aTACFhoYWut+kpCRWHNWpUyfWG/tb+fjxIxYsWMAMyO3t7TFt2rQ8Rvb37t2DgYEB/Pz8kJycjLdv38LZ2RmGhobg8/no1asXeyjct28fpFIpXF1dWQGPRCJBr169VI4hMzMT7u7uqFChQoHWSIqe2F+21pw8eTIkEglGjx4NTU1NGBkZYcWKFb+URU9YWBgqV65c2sMAx3Hw8/NDtWrVsHfvXhDRv85RQ82vi1pQljC7du0CERXLtuTfyuLFi0FEJeKjWNo8efIEDg4OMDc3x969e2Fvbw8zM7NiT0MeOXIEenp6cHR0RLly5dCyZUul9y9evAgiUspzLA79+vVjRSs1atSAlpYWLl26hJcvXyIkJIRNC3/8+BEzZ86ESCSCq6urkkk1UW6/5S+rptPT0zFp0iRIJBIYGhqyymgPDw9s3Lix0PzIBw8eYNKkSUwwamlpITQ0FH/++SfOnz/PPC6rV6+Oq1evAsidlt2/fz8GDBig1I3F3d0d/fr1g42NDcqWLYvk5GR2nJUrV4KIlAqGSpo7d+6gU6dOEAqF0NHRwciRI/HgwQMQEXbt2qXkSVitWjVmWm5mZoaxY8cW6Rgcx2HlypUQCATg8/nFts+Ry+U4deoU2rRpA7FYzETfqVOnCozaXr9+Hdra2vD394ednR1sbGzw/PlzrFu3DkSEGTNmYMGCBeDxeGjZsiXS0tLYNe/atSuICFu2bFG57xs3bkAgEGDq1KkFjr1169awsrJCWloaOI7DunXrwOPxwOfzMXTo0F/Sv7Z9+/a/RJ7i2bNnQUQ4dOgQPDw8ULNmzdIekpr/EGpBWcJMnjz5l6r2Ky3u378PiUSSJ9ftn8jly5dhaGgIFxcX7NixA3p6eihfvnyx+vbK5XJMmjRJqYXinDlzoKGhoVS5e/v2bRARE1XFYc2aNUy4BAUFQVNTE+fOncPSpUuhqakJa2trHD9+HM+fP0fVqlVZnqMi2kdEKFOmDOviouDIkSOws7ODQCBg6zZo0ACnT5/ON42B4zjcvXsXEyZMQLly5UBE0NbWRvv27bF//36kpaXh+fPnaNOmDau23rt3L8LDwzF27FhUrlyZTbvb2dmhe/fu2L59u9L098OHD6GpqYl27dqxccjlcgQFBcHW1lZJaH4vHMfh1KlTqFOnDogI1tbWmD9/PjPLzsrKAhFh48aNrLKe4ziUL1+eRXT5fD5Wr15d5GNmZ2fD2NgYOjo60NXVxb59+wrdJjo6GtOnT2c9xV1cXDB//vxiPeBu374dPB4PMplMKTfxt99+Y9+TUaNGMWHKcRy6desGiUSChg0bQiaT5ftANGbMGIhEogJtkp4+fQqhUIiBAweylpVOTk7Q1NRU6vv9K9G8eXPUrVu3tIeBOnXqwNPTk3Ub+toHV42aH4laUJYwbdq0QWBgYGkPo1TJyMiAh4cHXF1dC614/tU5cOAApFIpqlWrhlWrVkEsFiM4OLhY1aTx8fFo0KBBnhaKr1+/zhPRefbs2Tcl0SsqujU0NFCjRg1IpVJs3bqVVRb37t0bCQkJWLVqFTQ1NWFlZcWm3RXV28uXL1cSiK9evVIytJZIJOjdu3e+nU84jsPff/+NcePGMdNxXV1ddOrUCQcPHmT5dR8+fMCAAQMgFAphbGyMFi1aIDg4GBoaGiAiGBsbo02bNli9enWhxu7bt28HEWH58uVs2YsXLyCTyUrkYSYrKwtbt25lOZ4VKlTAtm3bVE7bCoVCLFu2DCtXrgSfzwcAmJubo379+mxKvDiRU0Uu3NmzZ9G8eXMQEYYOHZrn2NnZ2Th06BAaN24MgUAAqVSKzp0748KFC8XOW378+DEsLS1haWkJsViM1q1bIycnB0lJSahbty6zP/ragiY9PR0+Pj6wtrZGuXLl4OLiolLQp6eno1y5cvDx8cl3yjomJoZ9N11cXHDy5Em8e/cOGhoamDx5crHO52dRv359NGvWrFTHcPPmTRARtm3bBjc3N4SEhJTqeNT891ALyhLGw8Mj3zyi/wrDhg2DSCQqMAH/n8CKFSvA5/PRokULZhHUpUuXYvloFtZCsWrVqmjQoAH7OSYmBkSEw4cPF/kYsbGxkEqlrKhGURgjlUrh4OCAiIgIxMbGskiZp6enUtFNq1atlG7+6enp6Nq1K1tHV1c33/xIjuNw8+ZNjB49Gk5OTiAi6OnpoUuXLjhy5IjSVHhycjIGDhwIiUQCoVDIBKSmpibq16+P+fPn4/bt28UupOnfvz+zRlKwaNGi78plTkxMxLx581hOad26dQutWNfV1cXcuXOxdOlS1tdbQ0MDtWvXZqbmX+eFFkSDBg3g4+MDIPc6L1y4EEKhEH5+fnj9+jVevnyJ3377DZaWliAieHl5Yfny5d88JXz//n2YmprC1dUVsbGx2LdvHwQCAVq3bg13d3fo6OjgyJEjCAkJga6ubp4o5OvXr2FkZAR/f39oaWmhbdu2Kq+X4uFn9uzZSsvT09MxY8YMaGlpQV9fH2KxGCNGjGDvDxgwAAYGBiUaeS4pgoKCipQf+yNp1aoVHB0d2UPWl56eatT8DNSCsgTJycmBRCLBokWLSnsopUZ4eDiICPPmzSvtoXwzHMdh3LhxIMptmafoaT1lypRiRXy2bdtWaAtFhW2QIl8xMTERRP9rfVcYGRkZSoJCJBLBxcUFPB4PgwYNQkpKCvbs2QNDQ0Po6+tDT0+PCUk7Ozulyt2MjAwMGzYMYrGYRQpXrlyZJz+S4zhcu3YNI0eOZFOrBgYGCAsLw7Fjx5QE99u3b7F+/XpUqVKFCVQ+nw8/Pz9MmjQJf/3113cb3WdmZqJy5cqwsbFh5uZyuRxVq1aFk5NTsSyYoqKiWKGNSCRC586dcffu3SJta25ujsmTJ2PhwoWQyWRIS0sDESEwMBB2dnbg8XhFPtfXr1+Dz+djzZo1SsvPnz8PIyMjZvKura2N3r17f7el0O3bt2FkZAQPDw+lArqpU6eynFfFdUhMTISHhwesra0RHR2ttB9Fm8ymTZuCiPJ1Pxg2bBgkEgkePXrETPHt7OwgFAoxZMgQxMfHY8KECdDQ0EBUVBS7JkKhUGWv8dLGz88vX7/Mn8GTJ0/A4/GwfPlylC9fXu2DrKZUUAvKEkQxXXny5MnSHkqp8OnTJ1haWiI4OPin2LX8CLKyspgtydSpUxESEgKRSJSvx15++xg4cCCICB07dixQ0MTGxioJh+zs7DxVrvnBcRzLhXR0dIRAIIBQKISzszMuXLiAz58/s1Z0FhYWTEiKRCIsXLiQieMPHz6wG7xCHK5bt05JPHMchytXrmDYsGGsIMfIyAg9evTAyZMn2TRsfHw89u7di379+rFpb8XLxcUF69ev/yERptevX8PQ0BD16tVj373Hjx9DIpFg+PDhhW6vqtDm6yrownB0dMSoUaMwf/586OjoIDo6GkQEb29vODs7w8rKqsj7Gj9+PLS1tdm1evToEYYNG8b6jCtskoYPH/7d1c7Xr1+Hvr4+vL29lboNHTx4EJqamuzz/rKgKCoqCpaWlqhQoUKe7j1z5swBUW6fdrFYrLJLTlpaGsqUKQMPDw/mStCgQQMl/83ExEQYGxsjLCyMLevWrRvMzMyK1RbzZ1ChQgX07du31I4fFhYGMzMz5jDwpc2XGjU/C7WgLEEUBsSKJ+r/EhzHMT/Af+r5JyUloVatWhCJRFiyZAnc3d2hq6tbrJZlMTExqFatGoRCIZYuXVqkiGZwcDCCg4MBACkZ2ZBZOmPs/NW4H52AlIz8xUKfPn2YAFR4MI4cORJpaWkIDw+HlZUVxGIx87tUFOGkpKQAyK28DgsLY+9LpVLMmTNHqcDl4sWLGDJkCPO1NDExQe/evREeHo7s7GykpaXh1KlTGD16NHx8fFgU0tLSEqampixCp/DA/JEcO3YMPB4P06ZNY8tmz54NPp+PK1eu5FlfUWij6PJjbW2NBQsWsEKb4uLh4YH+/ftj9uzZMDAwwP3791lBSZkyZRAQEFCk/WRnZ8PCwgJhYWHYtGkTK0wxNDTEkCFDcP/+fcjlcsyePRsCgQCBgYF5IoVF5fLly9DR0YGfn5/SVPmiRYvA5/PRrFkzpKamYv78+azKW8Hdu3eho6ODOnXqKOV1chyHli1bQlNTEx4eHrC1tc3TZ/3LFAxTU1PW8/1rFi9eDD6fjwcPHgDILdjh8/lKObO/AmXLlsWwYcNK5dhRUVEQiUSYNWsWXF1dUadOnVIZhxo1akFZgsyePRva2tr/CgPv4qLoVLJ79+7SHso3ERMTAy8vL+jo6GDVqlUwNzeHra0tu5EVhQsXLrAWisXJX5qxbAMMavWC/8xTsBt9GLZfvOxGH0bgnAhMPHAfT9/9LxK0evVqFm1UiKFr164hLS2Nde75smWimZkZrly5Ao7jcPLkSWZlIxQKwePx0LNnTyQkJEAul+Ovv/7CwIED2VS6qakp+vbtizNnziAjIwNXrlzB9OnTERQUxKKaJiYmCA0NxbRp05hA8/T0xIkTJ4r1OXwvEyZMAJ/PZ4bX2dnZ8PHxgaurK5u6z8rKwpYtW1hryIIKbYqDYtpT0df5/PnzTPDb2NgotYYsiAULFrBpZiJCcHAwtm/frtKa6fz587CwsICJiUmxTb7Pnz8PLS0tBAQEsChjTk4OBgwYACLCsGHDlDxIJ02aBCLC4sWL2bLw8HAIhUKEhYUp/d1LSkqCq6sryx9u2LAh5HI50tPTMWvWLGhra8PAwADVq1eHhoZGvrmlmZmZsLe3R5MmTdiytm3bwtbW9rs/r5LE1tYW48aNK5VjDxkyBHp6euxvsKqHJzVqfgZqQVmCdO7cGb6+vqU9jJ/O8+fPoaWlhS5dupT2UL6JR48ewdbWFpaWlli2bBk0NTXh4+NT5F7PHMdh8eLFSi0Ui8KbT6nosPYKbEcfhs3IA0pC8uuXw9gjsB19GB3WXsG+U+eVppJbtGiBjIwMXL9+Hc7OzkoFNwKBAJMnT0Z6ejrWrVsHNzc3pSnTKlWq4ObNmzh79iz69+8Pc3NzNkU+YMAAnD17Fnfv3sXixYvRuHFj6OjosNy9hg0bYuHChbh37x5iYmLQu3dvCAQC2NraYsuWLaWS9pCTk4NatWrB2NiYTVnfvXsXIpEII0aMKHahTXGoWbMm2rZti8mTJ8Pc3JxVaSsKmyZMmJDvtomJiVi5ciV8fHzYg8KYMWPw/PnzQo/7/v17hISEMBeBL0VgfoSHh0Mmk6FmzZosYp2cnIyGDRtCIBBgxYoVebbhOA7Dhw/Pk5KxadMmlmP8JY8fP4aOjg6qVKkCIkKHDh1gb28PoVCIQYMG4dOnT0hJSYG9vT0CAwPz/b4o2pFeuHABwP/aXG7cuLHQ8/xZmJiYKEXGfxZxcXHQ1NTE2LFj4eLignr16v30MahRo0AtKEsQX19fdO7cubSH8VPJzs6Gn58fHBwc8uRS/RO4cOECDAwMUL58eUyfPh18Ph9NmjRhN9nCSE1NRYcOHUCk3EKxMLZfew3n344yoVjUl8OYw7Ae9ie0PHKjgNOmTUN2djYmT57MzJ8VIsbf3x+PHz/G5MmTYWJiwvweFd1GRowYgd69e7OpaUtLSwwaNAh//vkn1q1bh/bt2zOBKRaLUb16dUydOhWXLl1i55mUlIQJEyZAU1MT+vr6mDdvXqnnt3348AFWVlaoWrUqsrKyEBUVxfo+C4XCYhXaFIeGDRuicePGGD9+PKytrZnBueL1dV4sx3G4dOkSunXrxlohKrrqFLczTk5ODvM5rVWrVp52lV9y7NgxaGhooG7duszW6+3bt/Dy8oK2tjaOHTuW77Ycx6F3797g8/lKhWNTpkxRKfIUvaR1dXVBRKhcuXIe26mIiAgQEZYuXarymHK5HBUqVEDVqlWZ+G/UqBHKli1bJPH8M9DR0SmVQsSJEydCKpVixYoVIPo2/1o1akoKtaAsITiOg7a2dh4rjH87EydOhEAg+Ecmge/duxcaGhqoXr06K6IZOHBgkW9SL168gKenJ2QyGf74448iH3dJxNNiicivXzajDsF29GF0nrMdjx8/hpeXl5Jw0dHRwYoVK9C9e3dIJBJIpVI0a9YMzs7O4PF4cHV1haGhIYgINjY26NOnD6ZNm4ZevXqhTJkyLB+zYsWKGDlyJE6cOJGnsCgrKwvLli2DiYkJJBIJRo4c+UuZTl+6dAlCoRDlypVjhTYmJiZwdXX9YVOlbdq0QXBwMMaOHQt7e3ssWLCAWSMR/c9bNC4uDgsXLmRdg2xtbTFlyhRERUXht99+UyrGKS6nTp2CsbExLCwsVFomHTx4EGKxGI0aNWJT6Ldv34alpSWsrKyK1JFHLpejQ4cO+L/27josyuztA/h3ik5JEQFBsFGxAAVFwO7ctUGMNdbA7nZd7FpXsdbOXdtdG7tdCzuwA0yame/7hy/PT5QOUfd8rotr93JmznNmgOGec85930qlUmo7qtFoGBQURKVSKdXafPr0KYOCgqTnn9xdKrUV/O7du1NfX5937txJ9Zp///03AXDLli0kyRMnTnxVR2xUKlWaGe155d27dzQ1NWXv3r1ZrFixFOXHBCE/iIAylzx48IAAuHXr1vyeyhdz7NgxyuVyjh49Or+nkmVz5syR2sc1a9aMMpmMM2fOzPTjP26hmJXVrjWn7ucomPz0y6hcHekPdnIXHn9/f2nbevDgwfTx8ZG2v5ODyObNm7Ndu3Z0c3OjTCYj8KFLzk8//cSNGzemyPb9WHKJF2dnZ8pkMnbq1IkRERGZfv55LfmMaPI5TgDs2LEj3759y7Nnz2aq9V92BQQE0MPDg4MGDWLRokU5YsQIKXAHPhSc/vHHH6mtrU2VSsUWLVrw77//lrZ6ExISWLBgQf700085msejR4/o7e1NhULBKVOmSONv3LiRSqWSzZs3l8oX7dixgwYGBnRzc8tSYk9iYiKbNm1KbW1t7tu3T5p/nTp1aGBgwL59+9LQ0JCmpqacOXMma9WqRRMTE1pYWLBGjRqfZaa/ffuWdnZ29PX1TfUIgkajoa+vL0uWLCk91tfXl+XLl8/3M+tJSUmZrsyQm6ZNm0alUskZM2YQQKrZ9ILwJYmAMpf8888/BLJWuPhb9vbtWzo6OtLd3T3HZUu+JLVazUGDBhEAe/ToQQ8PD+rq6nLz5s2ZfvynLRQzKyIymi4jdqYaGOqX9k2xyvjpV6Gey1JdqSwcvIlKYytaWVlJhcXLli3L/v37093dXQoWjY2NWa1aNbq5uUl1Jq2trdmuXTsuXbo0U0HhoUOHWKVKFakkTFb7S+elTxNtypcvz1WrVrF58+Y0NDSUWggOGzaMKpUq273S09OzZ0/ptS9evDh79uxJa2tr6XsAgC4uLgwJCUl1S/rPP/8kgBS1QbMrMTGRQ4cOJQA2aNCAv//+OxUKBX/88Ufp93XevHmUy+Vs1KhRpo94fCwuLo61a9emvr4+jx07Ro1Gw9WrV0s/XwEBAVJ2d2RkJIsUKcKiRYtSLpen2tN89+7dBJBme8rTp08TABcvXkzyf1vlO3bsyPLcc9P79+8JIEu7FDkVFxdHGxsbdujQgc7OzmzYsOEXu7YgpEUElLlk1qxZ1NbW/mrO9OS1Tp060cDAIFNJA1+L+Ph4tm3bljKZjMOGDWPRokVpYWGR6azIj1sojhs3LstJJ+1CT6R5ZtK6fQjNGgR/8tWfMpU2VeZ2aW9/D/qLBdtMlM6nJf+B/3j7O7n/tpGRERs3bszZs2fzypUrmV7ZuXz5Mhs0aEAArFixYpbKKOW1N2/eMCQkREq0qVu3booe42/evKGLiwvLlCnD6OhoqfVfpUqVcv2D0MCBA1m0aFH26tWL9vb20pySM+7DwsLSfc3r1KmT60l9O3bskH4e6tWrx6SkJCYlJbFfv34EwL59++boPSs6Opre3t40NDSUEop8fHxYsGBBlilTJkWL0vPnz1NHR4dubm4EUu8GFRgYSENDwzQ/4LRu3Zq2traMiYmhRqOhh4cHPT0983WV8sWLFwSQqV7ruWXRokWUyWScPHkyAXyRslyCkBERUOaSbt260dXVNb+n8UVs2LAhX7Z4cuL169esWbMmtbS0OG7cOJqZmbFYsWIZ9opOltxC0dTUNNUWihm58fRtlrezrdpOIQCaeHfIeOvb1iVFGaHkRJqaNWty4sSJPHHiRJYDqIcPH7Jz586Uy+V0dHTk2rVrv5qC9RERERwwYIDU0aZTp068dOlSqve9dOmS1N9ao9Hw+PHjlMlkud5xJXmbN7ncT3JpHBMTE/r4+KT72Lt371Imk0mrb7nl999/l8o6qVQq/vrrr2zUqBHlcjnnzJmT4/GfPXsmdZL6ODv88uXLNDY2pp+fX4ruQMmFt0uXLk1TU1Peu3cvxXivXr2ijY0N69Spk2qQePPmTSqVSv76668kyW3btqU4n5ofko87pZfMlJuSkpLo7OzMpk2bsmjRoilKKglCfhIBZS7x9vZm69at83saee7Bgwc0NTVl8+bN8/3sUmY9fPiQrq6uNDEx4ejRo6mtrc3q1at/Vmw5LStXrqSuri7LlSuX6QD0U6O3XM5yRrdB+XoEZCzUfXH6STqDttDUr6v0R93f35+7d++WMniz6vXr1xw6dCh1dXVpbm7OWbNm5bg9Ym65cOGClBBibGzMwYMHZ+rs3x9//EEAUkei/v37U0dHh9evX8/RfOLj47lx40bWrl1bCuRLlCjB4sWLs3LlyrS1taWJiQkDAgLSHWf48OE0MjLK1tZzWubMmUPgQ/vQuLg4du36v5+RzLb2TEt8fDxDQkJoZGREExMTTpw4kaVKlaKNjY30O3LgwAGqVCp26NAhxXtF7969qVQqaW1tzcqVK39WX3P79u0EwKVLl6Z67Z49e9LExIRRUVHUaDQsW7Ys/f39c/R8cuLGjRsEwIMHD36R661bt44AOHr0aALguXPnvsh1BSEjIqDMJRYWFhw7dmx+TyNPqdVq+vr60sbGJs2kja/N5cuXWbhwYRYuXFja5mvbtm2qRaI/lZUWihnx/nV/1jK5B/5Fua4RtW1LZur+Nl0XsnXr1nz69Gm25xgXF8cZM2bQzMyMurq6HD58eLa7xuSm5ESb5GQjOzs7zpgxI8tlqrp160ZtbW2eO3eO0dHRdHJyYrVq1bK16nr9+nUOHDhQKsfk7u7ONm3aUEtLi507d2aVKlXo7OxMS0tL6urqflaj8WMJCQm0trbO1dZ9U6dOlYqTazQaXrx4kYULF6apqSkNDAzo5OSUrUBEo9Hwr7/+YtGiRalQKNizZ0/pveDJkyd0dnZmkSJFpG5ZyTUkP67BGR8fz2rVqtHMzIxaWlrs1avXZ9dp3749TUxMUv2w8PTpU+rr63PQoEEk/xdgnTp1KsvPJzdcvHjxixUU12g0LF++PH19fenk5MQmTZrk+TUFIbNEQJkLks/QrF+/Pr+nkqeS/0gllwX52h08eJAmJiYsU6aMVCtyxIgRmVpZzU4LxbS8i0v8rANORl8WLUYRAAvU6pHpx6TXpjE9arWaq1evZpEiRSiXy9mlS5dst/LLTfHx8fzjjz/o6uoqJdqsXr0622V/YmNj6ebmRkdHR7569YoHDx4kkLLzS3piYmK4YsUKent7M7k4/M8//yxl+SfXnWzfvj2rVq1Kc3Nz6fxqer3gN2/eTAC5luQ0YcIEAh96b2s0Gu7evZuGhoYsV64cHzx4wFu3btHNzY3a2tpcsGBBpn+2L168SF/fD8ljtWrVSjWx6f79+7Szs2OxYsWkxKPkc36hoaHS/R4/fsyCBQvSycmJALh27doU40RGRtLKyooNGzZMdX6jRo2itrY2IyIimJSURBcXl3zb+j158mSufv/Sk5y4NHDgwFxL4BKE3CICylyQ3GItrTNc34MLFy5QS0sr3/rVZtW6deuopaXFGjVq0N/fn0qlMtPn044cOUJra+sst1BMy+VHr7N8flKvZHVCrqRtn9WZfszlR68znswn9u7dywoVKhAAGzVqlKVWk3nl9evXDAkJkVo/fppokxN37tyhiYkJGzVqRI1Gwx49elBPTy/N+ofkh/OzvXr1oomJCQGwRo0aXLVq1WcF3JNXylq1asXq1aunKDJ/+PDhNMevXbs23d3dc/zcNBoNR44cSeB/XWsWLFhAhULB+vXrp1jRjY2NlXrBt2nTJt26l8+fP5eKmbu4uHD79u3pfi9u3rxJa2trli1bVtqWTu6i9HHP7qNHj1KpVNLFxYUGBga8du1ainGSA+1Vq1Z9do03b97QwsKCgYGBJP/X+jUvCtZnJPmDSXIlgbxUvXp1VqpUiQ4ODmzWrFmeX08QskIElLkguSRHZrZRv0UxMTEsWbIky5Yt+008xxkzZlAmk7FZs2YsW7YsDQ0N+c8//2T4uOy2UMzIuftRWQomC/ffQJlKm7pOlbL0uHP3M19Y/MKFC9K5P3d393QDni8lOdHG0NCQKpWKAQEBefIhLTmRY8qUKXz79i3t7e1Zs2bNz3pRL1y4kJUrVybwoZ/54MGD0w0aksdt3LixtIqZ/JW8BfypO3fuUCaT5TjBTaPRSOWwfvnlF6rVaqlNYq9evdJMyFq9ejX19fVZvHjxz17r+Ph4Tps2jcbGxjQ2Nub06dMzfZb20qVLNDMzo7u7O9++fcvExEQ2aNCABgYGKbba582bJ9VMLV269GfHSlq3bs0CBQqkepRj9uzZlMvlvHz5MhMSEmhnZ8cff/wxU/PLTcmrhnldj/XYsWMEwJ49e36xFVFByAoRUOaCPn360MXFJb+nkWd69epFHR2dPKndl5vUajX79+9PAAwMDJS6f2Rm1eLjFop9+/bN1W4qWV2hNGsQTAA0bzQwS4/LzArl/fv32aFDB8pkMrq4uHDTpk35nlz1aaLNkCFD8nzLfejQoVQoFDx48KBUQ/b333/niRMnGBQURH19fcpkMtatW5ebN2/O1M/Dvn37CHzoEe7l5SUFk0qlMs1zmsOGDaOxsXGOzudqNBr26dOHADhjxgxGR0ezadOmlMlknDVrVoaPDw8PZ+nSpamrq8tly5ZRo9Fw69atdHZ2plwuZ48ePfjixYssz+vMmTM0MjKij48PY2Ji+P79e1aoUIEFCxbk/fv3pbl37NiR2tra1NHR+SyB5/nz57SwsGDz5s0/Gz8+Pp5FihRho0aNSJJz586lXC7/4rWAk+uHZuc1yoqGDRuyePHitLe3Z4sWLfL0WoKQHSKgzAW1atX6bks37Ny5M0vnzPJLXFwcW7duTZlMxl69eklnxjITmNy6dYuurq5ZbqGYWe+zeIZSx7ECZVq6LBy8MfNJPIO3sW2nQO7bty/VVaSoqCgOGDCA2tratLKy4m+//ZZnLQgzQ6PR8O+//85xok12JSYm0sfHh9bW1rxy5Qrd3d2lLerChQtzzJgxWV5xSm4H6OPjw2rVqkkBZZEiRVK9f3IyTs+ePbP9PNRqtbR1PX/+fD558oSVKlWinp6e1KYwM6KjoxkQECCtFgKgn59fjleIDx8+TF1dXdarV4/x8fF88uQJHRwcWKpUKakpQExMDMuXL08LC4sUmfjJko8SpHZGffXq1dKRgpiYGFpZWTEoKChHc86qNWvWEEC222VmxqVLlwiAnTp1okwm+66PVwnfLjmEHAsPD0fJkiXzexq57vnz5wgICECdOnXQq1ev/J5Oml69eoXatWtjy5Yt6NGjBxYsWAAvLy+EhYXBxsYm3cfu3LkTFStWRExMDE6cOIEff/wxV+dGEutXr0DSm2eZur865g3i7l2AnrM75CqdTF9H/foJVi1bAl9fX+jp6aFEiRIYMGAADh8+jF9++QWOjo747bffMHToUNy6dQvdu3eHSqXK7tPKtoSEBKxYsQLlypVD7dq1ERkZidWrV+P27dvo27cvDA0Nv8g8FAoFevXqhTdv3qB06dI4deoUtLS0UKlSJdy5cwejR49G4cKFszSmnp4eACAxMREajUb6dycnp1Tvv3XrVjx9+hTdunXL1nNQq9Xo0qULFixYgMWLF8PLywtVqlTBw4cPERYWhkaNGmV6rJiYGOjq6kImk+HJkyewt7fHnDlzULp06WzNLVm1atWwZcsW7N27F+3atYO5uTl27dqFx48fo2nTpoiPj4euri42b94MtVoNW1tb9OrVCxcuXJDGaNmyJZo2bYqePXvi5cuXKcZv3bo1ypcvjyFDhkBHRwfBwcFYvnw5Hjx4kKN5Z0VsbCwAQEcn87+vWfXLL7/Azs4O+/fvR8uWLXP8fRGEvCACyhx69+4dHjx4gBIlSuT3VHIVSQQFBUGtVmPp0qWQyWT5PaVUPXjwAF5eXrh06RJatWqFefPmISgoCFu2bEk3ONFoNBg7diwaNGgALy8vnD59GmXKlMnVud2/fx916tRBYGAg7JRvocjESxgdHgZo1NAvVSPT11HIZehczwNnzpxB7969UaRIEVy/fh3Tpk2Dt7c3hg4dCpVKhZ9//hlNmzaVAp8v6c2bNwgJCYGjoyM6dOiAQoUKYf/+/Thz5gx+/PFHKJXKLzKPZ8+e4ddff0WxYsXQvHlzmJmZQSaToUePHtiwYQNOnz6NNWvWZGvs5Nc1ISEBarUaAKBUKlGkSJFU779w4UJ4eHhk6+cuKSkJnTp1wrJly/DHH3+gcOHCqFq1KoyNjXHy5ElUqFAhU+MkJCRg5syZcHZ2xqpVqzB16lScOXMGOjo6qFSpEtatW5fluX3K398f69evx+bNm9GlSxe4uLhgy5YtOH78OAIDA0ESDg4OWLt2LR49egRTU1O0aNECb968AQDIZDLMnz8farUaP//8c4qx5XI5pkyZgqNHj2Lbtm3o3r07DAwMMHXq1BzPO7Pi4uKgVCrz7Gf47t27WLt2LTw8PPDgwQOMGjUqT64jCDmWzyuk37xTp04RAE+fPp3fU8lVCxYsIIAsbZt9aRcvXmShQoVob2/P+vXrEwB//fXXDM8E5rSFYkbUajXnz59PAwMD2tracufOnZnulKNlU4xyPRPaDdqSpfOTN5992CrWaDTctWsXS5cu/aEHeKFCNDU1TZEgoqenx5o1a3LOnDm8du1anp6hjIiIYHBwcJ4n2qQnKSmJu3btYrNmzahUKqmtrc22bdvywIED1Gg0DAkJkX7W27ZtS1NT02wlZD1+/JgAWK5cOSlzXqFQcOLEiZ/d9/bt2+kW705PQkICW7ZsKRUoX7hwIRUKBevUqZPpuqEajYbbt2+ni4sL5XI5u3fvzufPn0u3v337lj/++COBDz3vcyMZb/Xq1dKRFI1GI21lDx06VLpPcokhPT09Nm3aNMXPZnKXnb/++uuzsf38/FiyZEkmJiZy9OjR1NXVTbVfel6YNm0aDQ0N82z8n376iRYWFrS1tf1PNM8Qvl0ioMyh5cuX5/n5mS/t2rVr1NXVZdeuXfN7Kmnat28fjYyM6OrqSnd3d2pra2eqDui///5LR0fHbLdQzMitW7dYo0YNAmDXrl35+vVrvnv3jn369KFl6/G0G/hXlksIpfflOGwH24V+KKh85swZ1qxZkwDo5eXF48ePS/O6d+8e58+fT29vb2pra6cIME1MTNi0aVMuWbKEd+/ezZXX4fz581880eZTERERHDNmDO3s7AiAZcqU4ezZsz/rkKTRaNikSROamJjwzJkztLS0/CyYyYw3b94QAEuVKsWyZctSoVAQQKrncocMGZKtZJy4uDg2btyYKpWKmzZt4uDBgwmA3bt3z3RrzStXrrBWrVoEwJo1a6aZLazRaLhgwQJqaWmxQoUK2e4S9bGFCxcSAIcMGULyf7VtFyxYIF2zadOm1NHRIQBOmzYtxXwaNGhAa2vrz76HZ86cIQAuXryYkZGRNDAwSBGo5qWJEyfS0tIyT8Z+8uQJtbW12ahRI8pksq+irJcgpEUElDk0ePBg2tnZ5fc0ck18fDwrVKhAFxeXXG0Dl5tWr15NlUpFLy8vOjs708zMLFP1InOjhWJakpKSOGPGDOrq6tLBwYF79+4l+SGpqWDBgpTJZFQaW7HI4KytPGb05TJiJ4+cD+cPP/xAACxZsiS3bt2abjCUlJTE48ePc+jQoSxRokSK4BL/XyKnQ4cOXLVqFR8/fpzp1yA50cbPzy9fEm3ID6t3mzdvZt26dSmTyaivr8+goCCePHky3dfk1atXdHJyopubm9TdJavtCRMSEgiALi4uLFWqFJVKJQHw2LFjKe4XHx9PS0tL9u7dO0vjx8bGsl69etTW1uamTZvYokULymQyTps2LVPB78uXL9mrVy8qFAo6OTnxr7/+ytTjzp49S0dHRxobG/PPP//M0pxTM336dALgxIkTqdFo2KtXL8rlcm7fvp3kh8C8ePHiNDMzo1KpTPG7/fDhQxobG7NDhw6fjdu6dWsWKlSIMTExHDhwII2MjKTEn7w0YsSIPPsbMHjwYBoaGtLGxiZfSiIJQlaIgDKHGjVqxNq1a+f3NHLN0KFDqVQqv8otfI1Gw19//ZUAWL9+fVpYWLBo0aIZFhT+uIVihw4dclSiJTXh4eH09PQkAPbu3Zvv3r3j06dP2aJFCylIK1asGI8fP841p+7nakDZuP8UqlQq2tjYMDQ0NNOrVB979eoVN23axI4dO0qZth9/FSlShD/99BM3btyYasvN+Ph4Ll++nGXKlCEAurm5cc2aNdmaS3bdvHmTgwcPppWVFQGwcuXKXLhwYZaC2fPnz1NHR4ddu3Zl8+bNaWFhkWIbODNUKhWLFCkibSUD+Gz7fMOGDVluhBAdHU0/Pz/q6upy/fr1rFKlCnV1dTMV4CUkJHDmzJk0MTGhkZERQ0JCsryF/fr1azZr1owA2L9//xxXCBg3bhwBcNasWUxKSmLjxo2pp6cnve+Eh4fTwMCAZmZmLFSoUIrvw+LFiwmAO3bsSDHmzZs3qVQqOWXKFGllb/z48TmaZ2YEBwezWLFiuT7uq1evaGhoSH9/f8rlcoaHh+f6NQQhN4mAMoecnZ3Zr1+//J5Grjh06BBlMlmqZ77yW1JSEnv37k0AbNGiBXV0dOjp6Zlh7bfkFooqlYrz5s3L1fOCiYmJ/OWXX6itrU1nZ2eGhYVRo9Fw8eLFNDAwoFwup0ql4uTJk6U/wLdv32blgFEfAsLB23IUTFrWaE8jIyNOnDgx14JkjUbD69evc86cOfT395e2x5O3b2UyGUuVKsX+/ftz7dq1HDdunNTRpl69ety/f/8Xq2sZGxvLVatW0cfHR9q679WrV44KPicHK7Nnz2aBAgWyvCpkbGzMwoUL08HBgQCoUqk+ez38/Pzo6emZ6THfvXvH6tWrU19fn0uXLqWDgwOtra0z9aFvx44dLFasGOVyObt27Zqjc4UajYYzZ86kUqmku7u7VEsyu2Mltw9cvHgxo6OjWaVKFVpZWUldi5I75ejr69Pf359JSUnSY2vXrs1ChQrx9euUtVd79uxJExMTRkZGskePHjQzM8vz40g9e/Zk2bJlc33ciRMnUltbm9bW1mzbtm2ujy8IuU0ElDkQGxtLuVzOhQsX5vdUcuzVq1e0s7Ojl5eX9Mb9tYiJiWHz5s0pl8vZsmVLymQytmzZ8rPWd59KbqFoY2Pz2bZjTl28eJEVKlSgXC7ngAEDGBMTwxs3bkgrlQBYvXp13rp1i+SHn5WxY8dSR0eHhQsX5qAFf9FlxE46DtuRpSCyyJBttBuwmcbl67BPnz55Xkw5Pj6eBw4c4NChQ6VEHwAp2gqam5szKCiIe/bsyfXV39RcunSJP//8s5Rs5O3tzRUrVjAmJiZXxg8ICKCurq6UIJJaEkhabGxsWLBgQVpbWxMAbW1tU9x+69YtAuDy5cszNd7r16/p6elJQ0NDzpw5k8bGxixdujTv3buX7uOuXr3KOnXqSHUxc7Pn8/Hjx2lnZ8cCBQp8tkqYFRqNhj/99BNlMhnXrl3L58+f08nJicWLF5fOSA4dOpQymYwymYxjxoyRHnv//n0aGhp+VnPy6dOn1NfX58CBA3nv3j0qlUpOnz4923PMjMDAwFxpnfmx6OhoWlhYsFq1apTL5bx+/Xquji8IeUEElDlw8eLFDPv0fivatGlDIyOjDP9QfWmRkZGsWrUqdXV12aBBAwLgoEGD0s3M/riFore3d661UCQ/BFhjx46lSqViyZIleeLECcbHx3PChAlUKpWUy+U0NjbmypUrpZWpnTt30snJiSqVikOHDpXOpkZERrNd6AkpuSajQNJ+yHZath7Hpu2Dcv0MaGacP39eCuyVSiX19PSk1UstLS1pRc7b25tjxoxhWFhYplv1ZeTdu3cMDQ2lu7s7AdDCwoIDBw7Mkz+0MTExdHV1pbOzM2vXrs2CBQsyKipzbS2LFi1KCwsLqe/3pyuRgwcPpomJSaaC36ioKFaqVIkmJiYcPnw4lUola9Wq9dmq3MciIyPZu3dvKhQKOjo6cvPmzXmyYvzy5UvWq1dPytLO7vEGtVrN9u3bU6lUcuvWrbxx4wbNzMzo5eXF2NhYJiUl0d/fn3p6epTJZPz777+lxyZXovi0rero0aOpra3NiIgIdurUiTY2NnnaMrZNmzasUaNGro45Z84cyuVyWlpasn379rk6tiDkFRFQ5kBy2YvUzpV9S5KTEFauXJnfU0nh3r170uH85E/qv/32W7qPiY6OZtu2bfOkheLZs2fp6upKhULBESNGMC4ujsePH6ezs7O0WtehQwfp5+H+/fts2rQpAdDX1zfNM1A3nr7l6C2X6R2yP9WOOk59/qCpX1dWq9eCZ86cybXnkxkajYa7d++WEm3s7e05c+ZMvn37lhqNhhcvXmRISAj9/PyoUqkIgDo6OlKAqaenx1q1anHy5Mk8efJklgIPjUbDU6dOsWvXrjQwMKBMJmPt2rW5cePGXAtU03Lz5k0aGRmxfv36NDQ0ZEBAQKYe5+rqygIFClBXV5cA2LFjR+m25GScn3/+OcNxXrx4wXLlytHMzIyBgYFS1YC0fp4TEhI4e/Zsmpqa0tDQkFOmTMnTIIr8EAz+8ssvVCgU9Pb2znYWf2JiIps1a0ZtbW3u3buXx44do46ODlu1akW1Ws2XL1/Szs6ORkZGNDc3l/qiazQa1qxZk3Z2dinOyr59+5YWFhYMCAjgtWvXKJPJpCzyvNC0aVPWrVs318ZL7kuevAOS0RlxQfhaiIAyB0aPHp1n5SK+lLt379LIyOiryyA8f/48ra2taW9vz9KlS1NfXz/D7bW8aqEYGxvLYcOGUaFQsGzZsjx37hzfvn3L7t27S+cK7ezseODAAZIfAodJkyZRV1eXNjY2XLt2baZXid7HJfLyo9f868i/rPtjF8pUOnR1deWuXbu+aM/tTxNtKlSowLVr16YbEEZHR3P37t3s168fS5YsKQXZxsbGUoBpZGTEhg0bcsaMGbxw4UKqK82vXr3i3LlzWbZsWWnbeNSoUV989Tz5DF/r1q0JgLt3787wMR4eHjQyMpKOBEyePFm6bf369QTAy5cvpzvG06dPWbp0aVpaWrJ27doEwJCQkDS//7t27WKJEiUok8kYFBTEp0+fZu2J5tChQ4dYsGBBWlpaStUNsio+Pp516tShvr4+jx49yk2bNlEmk3HgwIEkP3yY09bWpr6+Pj09PVOcSdbT02OPHj1SjJe8wnf58mW2atWKRYoUybMksbp167Jp06a5Nt4ff/whHSVJLZtdEL5WIqDMgVatWrF69er5PY1sS0pKopeXF+3s7L5IeY3M+ueff2hgYMDSpUvT1taWNjY2PHfuXLqP2bFjB01MTFi0aFFevHgx1+Zy/PhxlihRgiqViuPHj2dCQgK3bNlCCwsLymQyyuVyjhgxQjrPuWfPHhYrVowKhYLBwcFZLpnz9OlT9ujRg0qlkoULF+by5cu/6JnW169fc8qUKVI/53r16kkFwLPqwYMHXLJkCVu3bi2dd9TS0qK5ublUUsfMzIwtWrTgvHnzuHLlSrZr1446OjpUKBRs0qQJd+zYka9neoODg6lUKlmxYkUWLlw4w8Lhvr6+NDAwkILpj2uj+vr6smrVquk+/tGjRyxevDitrKxYrlw56ujocOPGjaneNzw8XNp2rl69Os+fP5/l55dbnj17Rj8/P8pkMo4dOzZb37Po6Gh6e3vT2NiYZ8+e5cyZMwmAc+fOJUkuW7ZMOr/bv39/6XGzZ88mAOkDHfkhQHV0dGSjRo14/vx5AuAff/yR4+eZmho1arBNmza5MpZarWbJkiVZqlQpKhQK3rx5M1fGFYQvQQSUOVCmTBn+9NNP+T2NbJs4cSJlMhkPHTqU31OR/PHHH1QqlaxSpQqNjY1ZpkwZRkREpHl/tVrNMWPGUCaTsWHDhrkWGEdHRzM4OJhyuZyVKlXipUuX+PjxYzZs2FAKFipWrCgVGn748CFbtWolJYlktRvMu3fvOGbMGBoYGNDExIS//vprhklHuen+/fvs378/DQ0NqaWlxcDAwAxX0rIiKSmJp06d4vjx4+nl5SVljRsbG9PQ0FB6TRUKBcuVK8fp06fnWpH1nEhISGC1atVobW1NPT29DH/fGzZsKG13A+CpU6dIfthCzyiouX//Pp2cnGhtbc3ChQvT0tKSJ06c+Ox+UVFR7NOnD5VKJYsUKcJNmzZ90dXrtCQlJUm/i/7+/tnKKH/z5g0rVapEc3NzXrlyhf369aNcLpcSo3r06CGt/m7atInkh/cALy8vOjo6pqidu2bNGumMe/369VmiRIlc74pFklWqVGHnzp1zZay//vqLAFigQAF26tQpV8YUhC9FBJTZlJiYSC0tLc6ePTu/p5Itp0+fplKp/GLdJDKi0Wg4adIkabVFqVTS398/3QSEj1sojh8/Ptf+WBw6dIhFixaltrY2f/31V8bHx3PBggVSYoCenh5///13qtVqJiQkcOrUqTQwMKCVlRVXrFiRpT/uCQkJnD9/Pq2srKitrc0BAwZ81gUkL507d45t27alQqGgiYkJhw4dmqVi5tmhVqu5efNmenp6psgWl8vltLW1ZaFChSiTyaQamJ07d+bKlSu/eKedZI8ePaKlpSWLFStGANy/f3+a923durW0vQ9AysIfNGgQTU1N00zGuXPnjlQOyMjIiCVLlvwsoE5MTOTcuXNZoEABGhgYcPLkyV/0Q0dm7dmzhxYWFrSxsWFYWFiWHx8ZGckyZcrQxsaGN2/eZPPmzamrqyslwLm7u1NHR4eGhobSCt6NGzeoo6PDPn36SOOo1Wq6ubnR09OTR48eTRGE5qayZcuyZ8+eOR5Ho9GwSpUqdHR0pEKhkCpECMK3QgSU2XTjxg0C4J49e/J7Kln2/v17uri4sEKFCnme3JAZSUlJ/OmnnwhAalsYGBiYbkLNxy0Ud+3alSvzePfuHXv27EkArFq1Kq9du8arV6+yYsWKUoDQtGlTKWv84MGDLFWqFOVyOX/++ecsrY5qNBpu2rSJLi4ulMlk7NChwxc7I5icaOPr60sAdHBw4KxZs/K8Xt+DBw84btw42tvbS119ZsyYwZcvX/LWrVucP38+GzduLK1YGhoa0tnZWapzCYDFixdnjx490iyynlf27dtHuVxOOzu7z1bCPtahcxfqFnSmVkEX6hQsynexCYyPj6eFhUWKYOdjN27coK2tLa2srKhUKunr6/vZz9Lff//NkiVLUiaTMTAwMFcrF+SFR48e0dvbmwqFglOmTMnyh72nT5/SxcWFDg4OUjkuCwsL3rp1i48ePaKFhQV1dXVZtmxZKUifNm0aZTIZjxw5Io3zzz//SKWffHx86ObmluuruS4uLhwwYECOx9m/f79UTzUwMDAXZiYIX5YIKLNpy5YtBJBvqyY50bVrV+rp6fHatWv5PRVGR0ezcePGVCgUUg3HCRMmpPum/3ELxeQiyDm1Z88e2tvbU09Pj7NmzWJ0dDRHjhxJhUJBmUxGKysrqff3kydPpExyDw+PLJ9dO3z4MD08PAiAtWvXztUagemJj4/nsmXLpHqSmUm0yanExET+9ddfrF+/PuVyOfX09BgYGMhjx46l+T1OSEhgWFgYR4wYwUqVKkmrlba2tixTpkyKALNs2bLs168ft23bluH5xpyaOHGidA60b9++0r9LWfq/7v+sWL3DkO10G7WVpn5duevo+c/GvHr1KgsWLEhzc3MCYOfOnVN8kLp27ZpULsvLy4tnz57N0+eYmxITEzl06FACYIMGDbK88h4REUF7e3sWK1aM4eHhdHZ2prOzM1+8eMGwsDAqFAoqFAqpFmVSUhLd3d3p4uKSYiXYz8+PJUqU4O7duwkg1z6AJrOzs+OIESNyPI6/vz9tbGyoUChy7X1NEL4kEVBm0+TJk2lkZPRVnF3KiuQzOnlZRiOzXrx4QXd3d+rp6bFs2bLU0tJKt3RRfHy81C2nQ4cOuVLI+vXr1wwKCpIKQN++fZuHDx+WOp3IZDL27duX79+/Z2JiImfNmiWVL1myZEmWVl6uXr3Kxo0bS+0Js5sRm1WvXr1KkWhTv379bCfaZNatW7c4dOhQFixYUDpv+vvvv2cr6Hv58iXXrl3LwMBAKZjU0tJiqVKlWLFiRamIuEKhYJUqVThkyBD+888/uV5kXa1Ws379+lL9zT/3hGW6jqj94K20H7Kd7UJPMCLyw7wuXrxICwsLGhsbSxnhyd+TqKgo9uvXj0qlkg4ODtywYcM3916TbMeOHSxQoADt7OxSPROanps3b9La2pply5bl2bNnaWFhQU9PT8bExEjJOB8Xir969Sq1tbWl7HCSPHPmDAFw0aJFrFy5MqtVq5arz8/CwiLH3cWS55hasXZB+FaIgDKbOnTowCpVquT3NLLkyZMnNDc3Z6NGjfL9j9Pt27fp7OxMMzMzaev64MGDad7/8ePHrFq1aq62UNy+fTsLFSpEQ0NDLliwgJGRkQwICJD+SJUqVUpafTx69CjLli1LmUzG7t27Z2m15dGjR+zSpQvlcjmLFCnC1atX50lywKdSS7RJTiLKC3FxcVyzZo20lW5sbMyePXvmavaxRqPhlStXOH36dNapU0dKgLGwsKCHhwc9PDykfuQfF1k/dOhQrtRljIyMpL29PQtUakj7gZuz3OnIcdgOuozYyV82HKapqSn19fWppaXFdevWkfywqjd//nyamZlRX1+fkyZN+irPSWbV/fv36e7uTpVKxVmzZmXp9/fy5cs0MzNjlSpVuH//furq6rJ58+ZMTExku3btqFAoqKOjI1V3mDx5MuVyeYrg9YcffmChQoWk0k3ZOduZFkNDQ06bNi1HYzRv3pzm5uZUKBRfRTKaIGSHCCizqWLFipkudvw10Gg0rFOnDq2srPj8+fN8ncuZM2doaWlJOzs7mpubs0iRImkW/SY/bBHnZgvFyMhItm/fXtpyvnfvHjds2EBTU1PKZDJqaWlx+vTpTEpK4vPnz6Ugs1KlSpnqn5zszZs3HD58OHV1dWlmZsaZM2fmebFp8kOiTZs2baREm2HDhuVpok1yNq6ZmZm0Nbt8+fIv0oYxNjaWe/bs4YABA+jq6ip9GChRogT9/f3p5eUllSzS1dWlv79/toqsf2zIigO0H7KddjnsxV7Aqw0LFCgg/Uzv2bOHpUuXpkwmY0BAQJ4nR31p8fHx7NevHwGwefPm6Sbcfers2bM0MjJijRo1uH79esrlcvbt25fR0dEsU6YMtbS06OzszLdv3zIxMZEVK1ZkyZIlpd+3W7duUalUctKkSSxTpgxr166da89LqVRy/vz52X58eHg4ZTIZDQwM2LVr11yblyB8aSKgzAaNRkMDAwP++uuv+T2VTEveHko+B5hfdu7cSX19fRYrVoy6urqsXLlymuVF8qKF4ubNm2llZUUTExMuW7aMERERrFWrlhSI+Pv7MyIigklJSZw/fz5NTExoamrKBQsWZLq2Xnx8PGfNmkVzc3Pq6upy6NChWfrjmR0ajYa7du36Yok279+/55IlS6Rzr+bm5gwODk73g8GX8PjxYy5fvpxt2rSRVir19PTo5eXFJk2asHr16lKdSCMjIzZo0IDTp09Ps8j6p9acup+jIPLTrzk7zvLGjRtSOapq1ap98W5IX9rmzZtpZGREJyenDOvLfuzIkSPU09Nj3bp1pRqVM2bM4O3bt2lkZESlUsmWLVtKHZxUKhWHDRsmPb5Xr140NjbmokWLCCBLHw7TkpiYSABcunRptscICAiQ5v+1tb4VhKwQAWU2REREEAC3bduW31PJlMuXL1NbW5u9evXK13ksWbKECoWCZcqUoUwmY9OmTdNcxfq4hWK/fv1y3ELx2bNnUp3IRo0aMSIigrNmzaK2tjZlMhlNTU25ceNGqd1fcmZ3586dM72iq1aruXbtWjo6OlIul7Nz5858+PBhjuadkS+daHPmzBl2796dRkZGUgC+fv36r6JawKfUajXPnj3LyZMns0aNGlJrSHt7ezZu3Jht2rRh9erVqaOj81mR9fDw8M+2ZSMio+kyYmeqgaF1p5nUKeJGmZYuZVq61HEoz4IBszMMKIsM3kIds0K0t7fnunXr8v0oypdy69Ytli9fntra2lywYEGmn/eePXuopaXFFi1aMDg4mDKZjBs3buSuXbukD4Vz5swhSY4dO5YKhUJKZHr27BkNDAwYHBzMokWL5kp3m3fv3hEA16xZk63HR0REUKlUUk9Pj926dcvxfAQhP4mAMhuSswVv376d31PJUFxcHF1dXVmyZMlcSWLJDo1Gw7Fjx0pZucCHPttprfh93EIxu2/UH197zZo1NDc3p5mZGdesWcOLFy9KLQWTg8bXr1/z5cuX7Nq1K2UyGcuVK5el7fX9+/dLQWjDhg1ztSh4al69esVffvklRaLNwYMH8yQgef36NefPn8/y5csTAG1sbDhixIhvLhP13bt33LZtG3v37k0XFxcpkcfd3Z0dO3ZkQEAAq1atKnXxKViwINu2bcvFixfz7t27bBd6ItUzk9adZlKm1KLS1IamPoE08QmgwtiKMm092nRZkG5AaTdoCz2Hr8633838FBsbK5ULa9OmTaZX07ds2UKFQsEOHTqwdevW1NHR4dGjRzlhwgQCoFKp5MmTJ5mQkMCyZcvS1dVV+sAzZswYqb5sZtpgZuT58+dSWaLs6NOnD3V1dalUKnn//v0czUUQ8psIKLNhxowZ1NHRydeWcJkVHBxMlUqVb23ZEhMT2aVLFynJBQBnzZqV5v23b99OExMTOjs7Z7nbzKceP34sZVW3atWK9+/f58CBA6Vi2kWKFOGxY8eoVqsZGhpKMzMzGhsbc86cOZn+3l68eJF169YlAFauXDnPuw7du3eP/fr1o4GBAbW0tNi5c+c8SbTRaDQ8cuQIO3bsSF1dXSoUCjZq1Ijbtm3L0zJDX9Ldu3f5+++/s3nz5lKmtYmJCZs0acI+ffqwe/furFixIuVyOVVmhdMMCnWdKlKuY0DbPqulfyvU6w/KtHSp5+KZqa3vm8+y1qLze7J69Wrq6+uzePHimf6dX716NWUyGbt160YvLy+amZkxPDycDRs2pEKhoI2NDV++fMlz585RqVRyzJgxJMm3b9/S0tKSHTp0YOHChdmuXbsczT15tyozfd4/9eLFC+rp6VFHR+eb7rgmCMlEQJkNXbt2Zbly5fJ7Ghnas2cPATAkJCRfrv/+/XvWr1+fSqWSTk5O1NXVTfOTvFqt5ujRo6Ut6ZycOdRoNFy6dClNTExoZWXFTZs28cCBA9JqnlKplPpynzt3ju7u7gTA9u3b8+nTp5m6RkREBDt27EiZTMaiRYvmeVmXjxNtTE1N8yzR5sWLF5w2bRpLlCghBd0TJ078JuutZkViYiKPHTvG0aNH08PDQ/rQUaxYMXbt2pW1hi6iw/+X/vn0S6alS73i1VIJNCsRCiUL99+QYeb36C15u6L9tQsPD2fp0qWpq6vLZcuWZeoxyWchf/75ZxYrVoyOjo68efMmixQpQoVCwVq1alGtVnPEiBFUKpX8999/SZJz5syhXC7nkCFDqFAocrTTdP36dQLI1gfJkSNHUqVSUaVS8cGDB9megyB8LURAmQ3VqlXjjz/+mN/TSNfLly9pY2PDmjVrfpESNZ969uwZK1WqRD09PVpbW9PKykrqa/ypqKgo1qtXL1daKN6/f5916tSRAsSbN2+yTZs20va2h4cHb926xVevXrFXr16Uy+UsXbp0pv8gREVFcdCgQdTW1qaFhQXnzZuX4/OdaUlOtKlZs6aUaDN79uxcT7RRq9Xcs2cPW7VqRZVKRS0tLbZu3Zp79+7Nl5+dr0FUVBQ3bNjALl260M7OjjbdFqYZEEKhpH7pmp/9u17xagRA6/ZTM1yh9A5Ju53jf0V0dLRUUSEwMDBTVQJmzJhBAAwODqaVlRUrV67MM2fOUFtbmwA4ceJExsXFsVSpUnRzc2NCwofORY6OjqxXrx4tLS1zlFn977//EgBPnjyZpce9ffuWxsbG1NbWzpW2jYLwNRABZTaYmZlx3Lhx+T2NNGk0GjZv3pympqb58sn35s2bdHJyYoECBWhkZMQSJUqkWVvtwoULudJCUa1Wc8GCBTQ0NGShQoW4bds2rlq1SmrjZ2BgwOXLl1OtVnP58uW0tLSkgYEBp0+fnqmAMDY2llOnTpVqB44aNYpv3+bNNmV8fDyXLl0qJdpUrFiR69aty/Wt5kePHnHChAksUqSIVGpn+vTpUv9p4YO3sQnpBoMqCwcqCxSi3aAt/zsbOfBPKow+ZJmbNxmaYUDpMGQ738d9H0cJcmrJkiXU1dVlmTJlMtXNa/z48VJQqa+vz8aNG3PdunVSY4L9+/fz1KlTlMvlnDRpEklyzZo1BMCuXbtSS0sr28lzJ06cIACpBmZmhYSEUKFQ5OjagvC1EQFlFiUfwt64cWN+TyVNS5YsIQBu2LDhi1/75MmTtLCwoI2NDVUqFWvUqMGoqKhU75tbLRRv375NHx8fAmCXLl148eJFent7S6uSrVu35suXL3nx4kVWq/Zh1eiHH37I1DauWq3mihUraG9vT4VCwe7du+dZH+VPE20aNGiQ64k2iYmJ3Lp1Kxs2bEi5XE5dXV126tSJR44c+c9kGGfV5Uev068nWbsHAVC/tC8LBs1nwc5zqVfCi5B/SO4xaxCcqXOUlx/lbWmpb8nFixdZrFgxGhgYcO3ateneV6PRcNCgQdL2t1wuZ8+ePRkcHEwANDU15ePHjzlo0CBqaWnxypUrVKvVdHNzY6VKlWhiYpKilWZWHDhwgAB48+bNTD8mLi6O1tbW1NLSYu/evbN1XUH4GomAMosOHjxIAHnacSQnbt26RQMDA3bq1OmLX3vbtm3U1dWlvb29tOWcWjmZj1soduzYMdsZrmq1mrNmzaKenh7t7e25e/du/vrrr1J5mIIFC3L//v188+YN+/XrR4VCweLFi2e65eHff//NcuXKEQCbNWuWZ73P7927x759+6ZItLl69WquXuPOnTscPny4FKy6ublx/vz5eV4f83tw7n5UhsGgkUcrKYAEQC1rZxp5tv7QxafZ8EwFlOfup/7B67/q7du3/PHHHwmAPXr0SLcpgEajYY8ePSiTyaRWqr/88gurVatGuVzOKlWq8N27dyxWrBirVKnCpKQk6Yx5y5Ytqaenl62GD8nlirKyE7Rw4ULKZDKqVKrv/myy8N8iAsos+u2336hQKL7KunuJiYl0d3eno6Njnm3HpuX333+nXC6XemCPHj061RWvj1sozp8/P9urYtevX2fVqlUJgL169eLRo0dZrFgxAqBcLuegQYMYExPDNWvWsGDBgtTT0+Mvv/ySqe/buXPn6OfnRwCsWrUqjx49mq05ZuTs2bP88ccfpUSb4cOH5+rqZ1xcHNetW0d/f3+pkPdPP/0k1eUTMiejFcrkL9u+a2nVdgoLBs79/yCz5YcPNkHzM/V43xYds1Rk/b9Ao9FwwYIF1NLSYoUKFdJNoFGr1ezQoYNU4Dy5f7elpSUBcMCAATx69ChlMpmUqOjv709nZ2fq6+tz+PDhWZ7f5s2bCYAvX77M1P2TkpLo6OhIlUrFn3/+OcvXE4SvmRxCloSHh8PZ2RlaWlr5PZXPTJgwAadPn8bKlSthaGj4Ra5JEqNGjUK3bt1ga2uLBw8eYOnSpRgzZgxkMlmK+x45cgRubm64e/cuDh06hJ9++umz+2QkKSkJISEhKFu2LJ49e4a///4bMpkM1apVw/Xr1+Hq6opLly6hU6dOaNCgAX788Ud4enoiPDwcgwcPTvf7dvfuXbRt2xZubm54+PAh/vrrLxw+fBienp7Zem1SQxK7du2Cr68vKlSogOPHj2PGjBmIiIjAhAkTYG1tneNrXLt2DQMGDICtrS1at26NmJgYLF26FI8fP8b8+fPh5uaWC8/kv8PaQJGp+yl0DKBTuBS0LB0AAHH3LkBhaA6VmW3GDyahfv0Uw4YNQ7ly5WBpaYkWLVpg/vz5uHbtGkjm4Bl8u2QyGbp164bjx4/j1atXcHNzw19//ZXqfeVyORYvXozGjRtj69at8PX1Rc+ePTFhwgQoFApMnToVUVFR6Nu3L0aOHIkbN27gl19+wc2bN1G1alXMnTsXb968ydL84uLiAAA6OjqZuv/GjRtx584dyGQyDBkyJEvXEoSvnQgos+jq1asoUaJEfk/jM8ePH8f48eMxYsQIeHh4fJFrJiYmonPnzhg/fjwKFiyIV69e4e+//0anTp1S3I8kZs+eDR8fH7i4uODcuXPZmuPly5fh6emJIUOGoGfPnpg+fTrat2+POXPmQEtLC/PmzcPhw4exfPlyuLq6IiIiArt27cLGjRthZ2eX5riRkZHo378/ihcvjgMHDmDhwoW4dOkSGjdunOWANy3x8fFYtmwZypQpg3r16uHt27dYt24dbt68id69e8PAwCBH48fExGD58uXw8vJCiRIlsGzZMrRv3x5XrlzBkSNH0KlTJ+jr6+fKc/neaTQanD9/HiEhIahVqxZsrSyQ+OpxlsaIDg9DwpObMKrYCDJZxm+zia+e4Pb1q2jcuDH69euHVq1a4enTp+jTpw9KlCiBQoUKoW3btli8eDHu3r2b3af2zXJzc8O5c+dQs2ZNNG3aFMHBwUhMTPzsfkqlEqtXr0bNmjVx/PhxlCpVCoMHD8bo0aMBAK1bt0aXLl1QqFAhBAYGoly5cvjxxx9x8eJFxMbGYt68eVmaV2xsLIDMBZQkMWHCBCiVSvTo0QMFCxbM0rUE4auXr+uj36BChQql6A/7NXj79i0dHR3p7u7+xYpOv3v3jnXq1KFSqaSpqSnt7OxSLUr8/v17qWxPdlsoJiQkcPz48VSpVCxRogR37drFJk2aSOfV6tWrx8ePH3Pjxo20tbWljo4Ox48fz9jY2HTHjYmJ4eTJk2lsbExDQ0NOmDCB79+/z/L80vPq1StOnjyZBQsWlLroHDp0KNcSYM6dO8cePXpIhbl9fX25du3adM+bCZ+7d+8eQ0ND2bp1a5qbmxMAdXV1Wbt2bU6dOpU9Fh9MtUuO/ZDttGrzC3Xsy9KkRicWqPszDcrWImRy6jhWSJH5nWYdyqHb2X7mVgYHB7NSpUpUKBRSf/QGDRqwa9eu7NChg1RkHf9fQiowMJArV678T53D02g0nDFjBpVKJd3d3dPsLhMTE8Pq1avT0NCQjo6OdHBwkFqvlihRgv/884/UZOH27dtUqVSsUqUKzc3Ns/QeMG/ePKpUqkzdd+fOnR/O12pp5VlinyDkJxFQZsGbN28IgCtXrszvqaTQqVMnGhgY8NatW1/kek+ePKGbm5vU5cHNzS3VIts3b95kmTJlctRC8dy5cyxXrhwVCgWHDh3KhQsXUl9fX+q9vH37dt64cYO1a9eWAraMMsaTkpK4ePFiFipUiEqlkr17987Wgfz0fJpoExQUlGuJNm/evOGCBQtYoUIFKflo2LBh30Qr0K/Fq1evuHnzZv700090dnaWzt5WrlyZw4YN44EDB1IE5Teevk0zILTptog6RcpTrmtEKFRUmtnSpHpH2g38M1NnJ+2HpOyU8+7dO/7zzz8cOXIkq1evLtVUNDAwoK+vL9u2bcsWLVpInafw/wXYf/rpJ27YsOE/Ufbp+PHjLFy4MAsUKMAdO3akep+3b9+ySpUqNDU1pYWFBcuXL8+SJUsSAAMCAtizZ0/q6enx1q1b7N27Nw0NDalQKDhz5sxMz2Pq1Kk0MjLK1H09PDyoUCjYr1+/TI8vCN8SEVBmQXLNsa8pqWHDhg0EwCVLlnyR6127do0ODg40MTGhXC5n/fr1Uy20vX37dhobG2e7hWJcXByHDx9OhUJBV1dXbtmyhZUrV5b+gHbv3p3Pnz/niBEjqKWlRQcHB27dujXdMTUaDbdv3y79IW7dunWuB+F5lWij0Wh47NgxBgQEUE9Pj3K5nA0aNOCWLVu+m1aIeSkuLo4HDx7k8OHDWaVKFWmlr2jRouzevTs3bdqUZnmrZGn18s7Jl+OwHWwXeiLDuR85coSTJk1i3bp1pdqq2tradHd3Z7NmzVi/fn0WLVpU+v1wdXVl3759uXXr1u82k//ly5esV68eAXDo0KGp/h5ERUXR1dWV5ubm1NPTY82aNaXXb9GiRXRwcGCNGjX45MkTGhgYsGTJkixUqFCmV/gnTJhAKyurDO935MgRaXUys924BOFbIwLKLFi6dCkB5Pq2aHY9ePCApqambN68+RepIXjs2DGamZlJW4I9evT47E08N1oonjhxgiVLlqRKpeKoUaM4evRoKpVKKQA4d+4ct2zZQgcHB2ppaXHkyJEZlh46efIkq1evTgCsUaNGml17skOj0XDnzp1SLcwiRYpw9uzZufJz8vLlS86YMUMKgh0cHDh+/HjRqi0DGo2GFy9e5LRp01i3bl3q6elJq9qtWrXiokWL0iy2n5aIyGi6jNiZqwGly4idjIjMuCPMx5KSknju3DnOnDmTzZs3p4WFhbTCWqZMGdauXZs1a9ZkoUKFUqy8Dh48mH///fdX8/6VG9RqNX/55RcqFAp6e3unuv3/9OlTuri40NLSUvoglly2Z/HixQTA+fPnc8yYMVSpVJTJZFy4cGGmrj98+HDa29tneL9atWpRLpczODg4q09REL4ZIqDMgkGDBtHBwSG/p0Hywxupr68vbWxsMl2yIif+/PNP6ujoSH+8pk2b9lkQ+3ELxQkTJmS59ElMTAwHDBhAuVzOihUrcvXq1VIXF6VSySlTpvDmzZts0KABAbBOnToZFhS+efOmVEKkdOnS3LFjR64F33FxcVyyZIkU7FWqVInr16/P8YqhWq3mvn37+MMPP1BLS4sqlYotW7bkP//8I8rJpOPBgwdcunQp27ZtSysrK2kVz8/Pj1OmTOHZs2dz/PqtOXU/VwPKtadSPwOYFRqNhteuXePChQvZvn17qQ5s8gcwb29venh4SL+7KpWKXl5eHD16NA8dOvRdnLc9dOgQCxYsSEtLy1TrzEZERNDe3l76uUg+ImNraysdGbp8+TItLS1pb29PR0fHTP0e9+/fn8WLF0/3PsntGbW0tPjs2bNsP0dB+NqJgDILGjRowLp16+b3NEh+OLsDgHv27Mnza82bN49yuZzm5ubU1tZOtUtQcgvFAgUKcPfu3Vm+xuHDh+ns7ExtbW2OHTuWgYGB0h9FLy8vXr9+nWPHjqWOjg4LFy7MTZs2pRsYPnv2jL169aJSqaStrS2XLl3KpKSkLM8rNVFRUXmSaPP48WNOmjSJTk5O0rm4qVOnij9CaXjz5g23bNnCXr16sXjx4lKrPTc3Nw4ePJh79uzJdtH89MzZfyNXgsm5+zPfXSWr7t+/z5UrV7Jr164sUaKE9LtUqFAhVq5cmeXLl6eRkZGUfOTn58dJkybxxIkT3+wRimfPntHPz48ymYxjx4797Pf91q1bLFiwoBRUli1bVgouCxUqRH9/f86ZM0d6rTJzVr5Hjx4sV65cuvdp1qwZZTKZWJ0UvnsioMwCJycn9u/fP7+nwfPnz1NLSyvP56LRaDhkyBACoImJCc3MzHjs2LHP7rdixQrq6uqyfPnyWW6h+O7dO/bu3ZsymYweHh787bffWKBAAQKgoaEh165dy507d9LJyYkqlYpDhgxJd8vu/fv3HDduHA0MDGhsbMwpU6bkWlCRnGijr68vJdqEh4fnaMykpCRu376djRs3pkKhoI6ODjt06MCwsDDRCvETCQkJPHz4MEeNGkVPT08pG9rBwYFdunThunXrvlhCyppT9+kyYmeWz1Q6DttBlxE7c2VlMiueP3/OzZs3s2/fvnRzc5POkBYoUICurq4sWbIkdXV1pd+7Bg0acNq0aTx//vw3tSqelJTEMWPGUCaT0d/f/7MPY1euXKG5uTnNzc2pUCikouddu3YlAC5YsIBOTk60sLBgqVKlMnzuAQEB9PDwSPP2W7duUSaTUUtLK9cT/wThayMCykyKiYmhXC5naGhovs+jRIkSdHV1zdOtqvj4eLZv3/5Dj2J9fTo7O3+WwBIfH89evXplu4Xivn37WKRIEerq6nLcuHGsVauWtDrQpk0bXrp0ic2aNSMA1qxZM93gLTExkQsWLJB65Pbv3z/XjgKcOXOGP/zwAxUKBQsUKMARI0bkONHm3r17HDlypHTOrWzZspw7dy5fvXqVK3P+Hmg0Gl65coWzZs1igwYNaGBgIPVmbt68OX/77TfeunUr3wLviMhotgs9IQWKGQWS9kO2s13oiSyfmcwLb9684a5duzhs2DBWq1aNWlpa0u+6i4sLixYtKv1bgQIF2Lx5c86bN49Xr179Jj7o7NmzhxYWFrSxsWFYWFiK286ePUsjIyOamppSX1+fKpVKOltpZGTEefPmSe9Df/75Z7rX+fHHH+nj45Pm7R07dqRMJvsqFiIEIa+JgDKTLly4QAB51oYvs3r16kVtbW1evnw5z67x5s0b+vn5UalUUqVSsVq1ap8FZ48ePaKnp2e2Wii+fv1aWhGoXr06x40bRx0dHWlL7uDBg5w8eTL19PRoY2PDtWvXpjm+RqPhn3/+yeLFi1Mmk7Fdu3ZZTrZIjVqt5o4dO1Ik2syZMydHCQ3x8fHcsGEDa9euTZlMRgMDA3bt2pWnT5/+Jv5IfwmPHz/mihUr2KFDB6nvuJaWFn18fDhp0iSeOnUq144u5JYbT99y9JbL9A7ZT4dPAkmHIdvpHbKfo7dcTlEa6GsTGxvLQ4cOccKECaxVq5ZUmktLS4v29vYsXLiwtCJsbW3NNm3aMDQ0NMs7El/So0eP6O3tTYVCwSlTpqRYbTx69Cj19PRoaGgo7YiYmJjQysqKdevWZYUKFWhoaMiKFSum+7vZpEkT1qtXL9XbHj9+TIVCQS0trf9EKSdBEAFlJq1Zs4YAMiwtkpeSC+POnj07z67x6NEjli1bVgrwfvjhh88KhIeFhdHa2po2NjapboGnZ+fOnbS1taWBgQHHjh1LV1dXKRN1+PDh3L17N4sVK0aFQsHg4OB0e5IfPXqUnp6eBMBatWrx/Pnz2XnKKSQn2iTXq0tOtMlJEHPt2jUOHDhQSorw8PDg4sWLUy239F/z7t07bt++nX379k1RV7Fs2bIcMGAAd+/ezejo/F/Ry6z3cYm8/Og1z92P4uVHr/k+7ts8j5iYmMjTp09z2rRpbNKkCc3MzKTf0+RziDKZTDpyEBAQwBUrVvDhw4f5PfUUEhMTOXToUAJggwYNGBkZKd22d+9eamtrU1dXV6pc4eLiQgAcPHiw9LP4999/pzl+nTp12KxZs1Rv69mzp9TQQRD+C0RAmUmjRo2itbV1vl3/2bNntLKyYp06dfJsNevq1au0s7OTthaHDh2a4lO9RqPhrFmzqFQqWb169SzVU4uMjGTHjh0JgH5+fuzRo4d0jqt8+fI8fPgwW7duTQD09vZOt3ZleHi41CmnfPny/Oeff3L0vMnUE21yco4xJiaGK1asoLe3t7Rt2KdPn2zV5PyeJCYm8tixYxw3bhy9vLykclC2trYMCAjg6tWrRRLSV0itVvPKlSv87bff2KZNG9ra2koBl5mZmRRwflxkff369V/NucHt27dLHb1OnPhf3c+tW7dSqVRSqVRK9SlLlixJU1NTent7U0dHh15eXmmOW716dbZt2/azf4+KiqJKpaKWltYXqcIhCF8DEVBmUosWLdI9K5OXNBoNGzZsSHNz8zxr2XX48GGamprS0NCQcrn8szpsH7dQ7N+/f5ZaKP7555+0tramsbExhw0bJm1l6urqcsGCBQwJCaGBgQEtLS35xx9/pBnEPX78mF27dqVCoaC9vT1XrlyZ44SBu3fvsk+fPtTX16e2tja7dOmSo0SbCxcusFevXjQxMSEA+vj4cPXq1Rm2gfxeJZe0mTt3Lhs3bixlFhsZGbFJkyacO3cur127Jrb8vzEajYZ3797l8uXLGRQUJK3sJX9vk7/PAFimTJmvosj6vXv3WKVKFapUKs6aNUv6mVuzZg1lMpmUPJO8/V2jRg3pORw+fDjVMStXrsygoKDP/j05mbFPnz55+ZQE4asiAspMKlWqFHv06JEv116wYAEBcMuWLXky/saNG6mtrU0DAwPq6+t/VvYnuYWivr4+165dm+lxnz9/zh9++EGqGdm0aVPpDbphw4b866+/WKpUKcrlcvbu3TvNhJS3b99y5MiR1NPTY4ECBTht2rQcJySllmiT3Q4Wb9++5e+//85KlSoRAK2srDhkyJAMa2R+r549e8bVq1czICCAhQsXluqIent7c9y4cTx+/Pg3W5pGSNuTJ0+4YcMG9u7dm+XKlZO2xHV1daXC8jKZjBUrVsy3Iuvx8fHs27cvAbB58+ZSgBsaGiq9NyWfHU0+nqJUKlmrVq1Ux3N1dWWvXr1S/Ft0dDR1dXWpUqlSbLELwvdOBJSZkJiYSJVKxblz537xa1+7do26urrs2rVrnow/a9YsymQyKQHmwoULKW7ftm2b1EIxs4lAGo2Ga9eupbm5OQsUKMCff/5ZWrEwNzfn2rVr2a5dO+kNO62zj/Hx8ZwzZw4tLCyoo6PDwYMH5ygLOjnRJnnlwdHRkXPnzs3WHzWNRsMTJ06wc+fO1NfXp1wuZ7169fjnn39mafX2exAdHc3du3czODhYqu2XXEi+b9++3LFjhzgv+h/06tUr7tixg4MHD6aHhwdVKpUUrCX3J1coFKxatSpHjRrFgwcPfrEi65s2baKRkRGdnJx47tw5kuTMmTNTBJXJpceSk5E+brmbfFbWqbIvgwaOSXFWdsKECQTA3r17f5HnIghfCxFQZsK1a9cIgPv27fui142Pj2eFChXo4uKS65/k1Wo1BwwYIL3BlylTJkU7P7VazVGjRhHIWgvFJ0+eSCuR9evXp4eHh7Qy0aNHD06bNo1GRkY0Nzfn4sWLU92y1mg0XL9+PYsWLUqZTMaAgABGRERk+7nGxcVx8eLFUqJN5cqVuWHDhmwl2kRGRnLWrFksXbo0AdDOzo5jx47N0fy+NUlJSTx16hQnTpxIHx8faTXHxsaGHTp04IoVK/j48eP8nqbwlYmOjub+/fs5duxY+vr6SnUvFQqFdJZWpVJJGf15vZJ969Ytli9fntra2lywYAE1Gg3Hjx//2Uqlk5MT5XI5/Vu0/5DN/2sa2fy/7ueIPy/S2K44VSpVviZwCkJ+EAFlJvz5558E8MX/SA4dOpRKpZKnT5/O1XHj4uL4ww8/UCaTUS6Xs3bt2nzz5o10e2RkJOvWrZulFooajYbLly+nqakpLSws2KFDBynQcHFx4YoVK6RtsO7du6e5FXTw4EFWrlxZCkhzksQSFRXFSZMm0draWgqMs5Noo9FoeODAAbZp04ba2tpUKpVs3rw5d+3a9dWVsMkLGo2GN2/e5G+//cbmzZvT1NRUWsFp0KABZ82axStXrohzkEKWJCQk8MSJEwwJCZFqQCZ/+ExO2NPV1WWtWrXyrMh6bGwsf/rpJ6n27du3b6UP2slfSmMrWv0wnvZDtrPI0PQL1zsM2Ub7IdvpFrzkq6g3KghfkowkIaRr8uTJ+PXXXxEVFQWZTPZFrhkWFoYaNWpgwoQJGDZsWK6N+/r1azRr1gxhYWFQq9UICgrC/PnzoVKpAAAXLlxAs2bN8ObNG6xevRq1a9fOcMyHDx+iW7du2LlzJ+rXr4/r16/j1q1bUKlUGDFiBO7evYtly5ahYsWKmD9/PipVqvTZGJcvX8aQIUOwY8cOVKpUCb/++itq1KiRred47949zJw5E6GhoUhKSkKHDh3Qv39/FC9ePEvjPHv2DMuWLUNoaChu3boFZ2dndOnSBR06dICVlVW25vatePnyJfbv3489e/Zg7969uHfvHhQKBapUqQJ/f3/4+fmhSpUq0s+NIOSURqPBlStXEBYWhrCwMOzfvx8vX74EAMhkMpCEgYEBvL29Ua9ePdSsWRPFixfPlffkNWvWoEuXLihcuDDWr1+POXPmYNGiRTBwrQVT/26QKZSQyRWZHk8hA5QKOcY2KoUfKtnleH6C8C0QAWUmtG/fHrdv38axY8e+yPVev36NsmXLwt7eHgcOHIBCkfk3svQ8fPgQderUwc2bN5GQkIDJkydj8ODB0hvyypUr0aVLF5QoUQKbNm1CkSJF0h2PJEJDQzFgwADo6+ujYsWK2L59O0iievXqqFu3LqZMmQLgQ1AeFBT02XN5+PAhRo8ejWXLlqFIkSKYNGkSWrZsma0/EmfOnMHUqVOxYcMGmJiYoGfPnujZs2eWgj+1Wo1//vkHixYtwrZt26BQKNCyZUsEBQXB29v7i32g+NLi4uJw5MgRKYA8f/48SKJ48eJSAFmjRg0YGRnl91SF/wiSuHPnDsLCwnDw4EHs3bsXjx8/TnEfY2NjVK9eHQ0aNICvry+KFCmS7d/Ra9euoWXLlrh9+zbmzZuHxSce4WGB8iCZo9/7AbVc0MvHOduPF4RvhQgoM6FixYooW7YsFi9e/EWu17ZtW2zfvh0XL16Evb19rox5+fJl1K5dG5GRkdBoNPjjjz/www8/AAASEhIQHByMuXPnolOnTpg/fz50dXXTHe/u3bvo0qUL9u3bh3r16uHUqVN4+fIljIyMMGLECKxfvx5nzpxBYGAgfvnlF1hYWKR4/OvXrzFlyhTMnDkThoaGGDVqFLp27QotLa0sPS+NRoNdu3Zh6tSpOHjwIBwdHdG/f3906tQJ+vr6mR4nIiICS5YswZIlS/DgwQOUKVMGXbp0Qbt27WBqapqlOX0LNBoNLly4gL1792LPnj04cuQI4uLiYGVlBT8/P+nL1tY2v6cqCJLHjx/j8OHD2LdvH/bu3Yu7d++muL1AgQLw9vZG06ZN4evri0KFCmVp/JiYGPTq1Qsbzj6CWb2fc23eU5qVQWuxUil87/Jnp/3boVarqa+vz6lTp36R661cuZIAuHLlylwb88CBAzQ0NKS2tjZNTExS9Lb9uIXib7/9luE5OLVazTlz5lBfX5+2trasWrWqdNaodevWDAwMpEwmY7ly5VLtohMXF8fp06ezQIEC1NPT48iRI1Oc38ys3Ei0SUhI4KZNm1inTh3KZDLq6+szKCiIJ0+e/C7PA969e5cLFy5kq1atpELUenp6rFu3LqdPn86LFy9+l89b+H5FRkZy69at7N27N11cXKSzl8lfFhYWbNasGdesWZPpIusRkdF0GrqNdoO3sXD/DTSu+iN1irhRrvOh4YNZvb4pzk3aDd5Ks3p9qVu0MhWG5pSptKkyt6OxVzvaDdhM+yHb6TJipzhTKXz3RECZgXv37hEAd+zYkefXunv3Lo2MjPjjjz/m2phr1qyROjY4ODjw2rVr0m3JLRQLFSrE48ePZzjWjRs3WK1aNQKgr6+vVFvO1taWw4cPp5mZGY2NjTlnzpzPsjPVajVXrlxJBwcHKhQKdu3aNVtJTlFRUZw4cWKKRJvDhw9nKRC6ceMGBw0aREtLSykYXbRoUbptHr9FUVFR3LhxI7t3704nJyepdV6VKlU4YsQIHjx4kPHx8fk9TUHINe/fv+fevXsZHBzMUqVKSSV/kr+srKzYvHlzrl+/Ps0SZO1CT9Bx2A7aD9nOQt0Xf8hEN7Kgtl2ZVAPKwv03fMgItylGE+/2LFCnF/XL+BEyObXtytBu8DY6DtvBdqEnUr2eIHwvxJZ3Bnbv3o26devizp07GZ4pzAm1Wg0fHx/cv38f//77L0xMTHI85vTp0xEcHAyFQoEKFSpg+/btsLCwAEnMnj0bAwYMQNWqVbFu3bp0zxmq1WrMnDkTI0aMgKWlJfT09HDt2jUoFAp07twZFy9exIkTJ9C+fXuEhIR8NtbevXsxaNAgnD9/Hk2aNMHkyZOznCBz7949zJgxA4sXL0ZSUhI6duyI/v37o1ixYpl6fFxcHDZv3oxFixbh4MGDMDExQfv27REUFARXV9cszeVrFR8fj2PHjknb2GfPnoVGo4Gzs7N0DtLHxydXfrYE4VuQkJCAM2fOYPv27di5cyfCw8ORkJAg3V6wYEFUq1YNP/zwA2rXro3H7zXwnxkm3c6kRGji3kNhYIr4JzfxdHk/mNXrCwNXv//dR52I+Ce3oGNbIsW1Xx9ZgzdHVsHyhwnQdSgHANjbzxtFLQ3z9kkLQj5R5vcEvnbh4eHQ1dXNtbOMaZkyZQqOHDmCAwcO5PgPvkajQXBwMGbOnAkAaNy4MVauXAldXV1ER0eja9euWL16Nfr3748pU6ZAqUz7x+Dq1asIDAzEyZMn4enpiVOnTiEpKQlly5ZFuXLlEBoaihIlSuDQoUPw9vZO8dgLFy5g8ODB+Oeff+Dh4YEjR46gatWqWXounyba9O/fP0uJNpcvX8aiRYuwYsUKvHr1CtWrV8fKlSvRrFmzDM+Jfu00Gg0uXbokBZBhYWGIjY2Fubk5/Pz80K1bN/j5+eX5z64gfK20tLTg6ekJT09PTJo0CWq1GpcuXcJff/2F7du348qVK9iwYQM2bNgAALBt3A+K4j6ATA4AkClVUBikf4ZaplB9FkwCgJ6LB94cWYXElw+g61AOCrkMK09EYEyjUrn/RAXhKyACygxcvXoVxYsXh1wuz7NrnDlzBqNHj8aQIUNQvXr1HI0VFxeH9u3bY9OmTQCA4OBg/Prrr5DL5bh16xaaNWuGO3fuYO3atWjdunWa4yQmJiIkJARjx46FjY0NChYsiGPHjkFXVxcBAQHYunUrNm3ahJCQEPTu3TtF+Zj79+9jxIgRWLVqFVxcXLB582Y0adIk05mSyYk2ISEhOHToEBwdHTF79uxMJ9q8f/8e69atw6JFi3Dy5ElYWlqiS5cu6Ny5M1xcXDI1h6/VgwcPpABy3759eP78OXR0dODt7Y2xY8fC398frq6uefrzKgjfKoVCgXLlyqFcuXIYM2YMSOLGjRvYsGEDtm/fjocFS0nBZE6po199uKbeh8oIag1x4MZzjIEIKIXvkwgoMxAeHo4SJT7/9JlboqOj0bZtW5QtWxZjxozJ0VivXr1Co0aNpPJGc+fORc+ePQEA27dvR7t27WBpaYmTJ0+iVKm039QuXLiAwMBA/PvvvyhdujQuXboEkvDx8UFcXBwWLVqE1q1bY9q0aSmyKKOiojBp0iTMmTMHBQoUwG+//YbOnTunuwL6sfj4eKxcuRLTpk1DeHg4qlSpgo0bN6JJkyYZlk4iidOnTyM0NBRr1qxBdHQ0ateujU2bNqFBgwZZzh7/Wrx58wYHDx6Uyvlcv34dMpkMFSpUQGBgIPz9/eHp6QkdHZ38nqogfHNkMhmKFSuGESNGoO/AISgz5m/k1hmwtyc3QaatB13HCtK/RUTGIDo+Cfra4k+v8P0RP9XpIImrV6+ibt26eXaN/v374+HDhzh37lyOgp6IiAj4+/vjzp07UKlU2LhxIxo0aACNRoOxY8di3LhxaNy4MZYvXw5jY+NUx0hISMCECRMwefJk2NraQl9fHxcvXoSZmRlq1qyJzZs3w9nZGXv37oWvr6/0uNjYWMyZMweTJ09GUlISRowYgX79+sHAwCBTc4+KisKCBQswe/ZsPH/+HI0aNcLChQtRtWrVDFc1X716hVWrVmHRokW4ePEibG1tERwcjICAgG9yqzchIQEnT56UAshTp05BrVbD0dERfn5+mDBhAnx8fGBmZpbfUxWE78r9yOhcCybfHFuPuHsXUKBWD8h1/vc+SAD3IqNRyib192BB+JaJgDIdz58/x6tXr/JshXLLli1YuHAhFixYkOnkktT8+++/qFWrFqKiomBiYoLdu3ejQoUKiIqKQrt27bB7925MnDgRQ4YMSXMr9PTp0wgMDER4eDgcHBxw+/ZtAECdOnVw8eJF7NixAxMnTkS/fv2kwFetVmPFihUYNWoUnjx5gm7dumHUqFGwtLTM1Lzv3r2LmTNnZjnRhiQOHz6MRYsWYePGjUhMTESjRo0wefJk1K5dO9cKwX8JJHHlyhVpG/vQoUOIjo6GqakpfH19MX/+fPj5+cHR0TG/pyoI36X4+Hg8evQIpy7fz5XxosPD8DpsBQxca8HQrd5ntyckaXLlOoLwtREBZTrCw8MBIE8CyqdPnyIoKAiNGjVC165dsz3Ovn370KhRI8THx8PJyQn//PMP7O3tU7RQ3LVrV5otFGNjYzFmzBiEhITA1tYWCoUCt2/fhoODA6ytrbF79240a9YMM2bMgJ3dh8K8JLF7924MHjwYly5dQsuWLTFx4kQ4O2euG8SZM2cQEhKCjRs3wtTUFMHBwejZs2eGgejz58+xfPlyhIaG4saNG3BycsLo0aPRqVMnWFtbZ+2Fy0ePHz+WAsi9e/fi6dOn0NLSQrVq1TBixAj4+fmhfPny31RgLAhfo+Rg8eHDh3jw4AEePnyY4v8fPHiA58+fAwBUlkVgEzgnR9eLvXseL7dPh65TRRSo0zPV+2gpxflm4fskAsp0hIeHQ6lUomjRork6LkkEBARAoVAgNDQ02229Vq1ahY4dO0Kj0cDLywtbtmyBiYkJVqxYga5du6JEiRLYv38/HBwcUn380aNH0blzZ9y+fRuWlpZ48OABVCoVfH19ERYWBoVCgV27dqFOnTrSY86cOYNBgwbhwIEDqF69Ok6ePInKlStnOFeNRoOdO3di6tSpOHToEJycnDBnzhx06tQJenp66T5uz549WLRoEbZs2QKFQoHmzZtjwYIFqF69+jeRfPLu3TscOnRICiCvXr0KAChXrhzat28PPz8/VKtWLd3XQRCElLISLCYzNjZG4cKFYWtrCzc3NzRq1Ai2trYoXLgwzKxs0HzNvWxve8c/vo4XmydC29oZ5k2GpNr7WwbAwSzzHbwE4VsiAsp0XL16Fc7OzikymHPD3LlzsXv3buzcufOzloSZQRJTpkzB0KFDAQAdOnTAokWLAAC9evXCvHnz0m2hGB0djeHDh2PWrFmwsbGBRqPBs2fPUKpUKbx+/RpHjx7FyJEjMXDgQCnZ4/bt2xg+fDjWrVuHUqVKYfv27ahXr16GwXBcXBxWrVqV5USbhw8fSq0Q79+/j1KlSmHq1Klo167dV39+MDExEadPn5ZWIU+cOIGkpCTY2dnB398fo0aNQs2aNbP1vReE/4LcDhZtbW1ha2sLQ8P0a0Da/f0c96NisjzfxJcP8HzDWCiNLWHRcjTkKu3UxzfTEwk5wndL/GSnIy8yvK9cuYKBAweiV69e2Ur2UavV6N27N3777TcAwNixYzFy5Eg8efIELVu2xOnTp/Hbb7+hW7duqQZ7Bw4cQFBQEB48eAAjIyM8fvwYBgYGcHZ2xvnz59GwYUPMmjVLKuL+4sULjB8/HgsWLIClpSUWL16Mjh07ZrgdGxUVhd9++w1z5syREm0WLVoET0/PNIPQxMRE7NixA4sWLcLu3buho6ODH374AV26dEGVKlWyvZKb10ji+vXr0grkgQMH8O7dOxgbG6NmzZqYPXs2/Pz8ULRo0a/2OQjCl5JfwWJm+BSzxIqT96HW/G+d8u3ZbdDERUP9PgoAEHvrFJLevQQAGFVoCMhkeLZ+FDRx72FUpRlib51OMabK1BrahUpAIZfBxyVz58sF4VskAsp0hIeHIzAwMNfGi4+PR5s2beDk5IRff/01y4+PjY1Fq1atsH37digUCixduhTt27dHWFgYWrVqBaVSibCwMLi7u3/22Ldv32Lw4MFYsGABLCwskJiYiMTERLi6uuLatWt49eoVtm7dioYNGwL4sIo5c+ZMTJkyBTKZDOPGjcPPP/+c4bbs3bt3pY42arUanTp1Qr9+/dJNtLl9+zZCQ0OxbNkyPH36FBUrVsRvv/2GH374AUZGRll+nb6EZ8+eYe/evdLXw4cPoVKp4OnpicGDB8PPzw8VKlTIdMkkQfgefM3BYma0rWKHZcfvpfi3tyf/hPrt/+Ycc+MYcONDaTaDUj4AAPXbFwCA1weXfTamfmlfaBcqAbWGaOdulzcTF4SvgPhrl4Y3b97g8ePHubpCOXz4cISHh+PUqVNZ7tISGRmJ2rVr49y5c9DT08O2bdvg4+ODWbNmITg4GNWqVUuzheLff/+NLl264Pnz59DW1saLFy9gbm4OLS0tXLt2DYMHD8aQIUOgp6eHpKQkLOsSIXgAAB0ySURBVF26FKNHj8bLly/Rq1cvDB8+PMNt5tOnT2Pq1KlSos2AAQPSTbSJi4vDn3/+idDQUOzfvx/GxsZo164dgoKCUK5cuSy9Nl9CdHQ0wsLCpG3sS5cuAQDKlCmDVq1awc/PD97e3pkqvC4I36KPg8VPg8RvIVjMDGcrQ3gVNcexO5HSKqVtjyUZPs5+yPZ0b1fIZfB0NBNtF4Xvmggo05DbGd579+7FtGnTEBISkuWA6e7du6hZsyYiIiJgZWWFffv2wd7eHu3atUu3heKrV68QHByMpUuXwsTEBPHx8ZDL5ShWrBiuX7+O2rVrY86cOXB2dgZJbN26FUOGDEF4eDjatGmDCRMmpNu/PDnRJiQkBGFhYZlKtLly5QpCQ0Pxxx9/ICoqCl5eXvjjjz/QvHnzryopRa1W48yZM1IAeezYMSQmJqJQoULw9/fH4MGD4evr+01llwtCWv4LwWJmTWpaBn4zDqXY9s4ppVyGSU3L5Np4gvA1EgFlGsLDw6UuCjkVGRmJjh07ombNmujfv3+WHnvu3Dn4+fnh9evXKFWqFPbs2YP379/Dw8Mj3RaKW7duRbdu3fDq1SsoFAq8fv0aNjY2iIqKQkxMDDZt2oSmTZtCJpPhxIkTGDhwII4cOQJfX1+sXLkSbm5uac4pLi5O6mhz7do1uLu7Y9OmTWjcuHGqZyujo6Oxfv16LFq0CMePH4eFhQUCAwMRFBSUK69vbiCJW7duSQHkgQMH8Pr1axgaGsLHxwfTpk2Dv78/ihUrJs5BCt+UnAaL5cuX/26CxcwoXEAPYxuVwpDNl3JtzHGNSqFwga/nA7Mg5AURUKbh6tWrcHBwyPGqGUl069YNsbGxWL58eZbK3Pz9999o3Lgx4uPjpTaCBw4cSLeF4suXL9GnTx+sXr0a+vr6iI+Ph7a2NszNzfH8+XMEBwdj5MiR0NfXx40bNzB06FBs3rwZZcuWxe7du1GrVq00A6ZPE20aN26M0NBQVK1aNdXnfe7cOSxatAirV6/G+/fv4e/vjw0bNqBRo0ZfRSvEFy9eYP/+/VIyzf3796FUKuHu7o6+ffvC398flSpVyvUsf0HILSJYzBs/VLLDy/fxmPrPjRyPNbBWMbSuJM5OCt8/EVCmIbcyvJctW4ZNmzZh/fr1sLW1zfTjlixZgi5dukCj0aB79+6YNWsWJkyYgPHjx6fZQnHDhg3o0aMH3r17B5lMhujoaBQsWBBPnjxBqVKlMHfuXJQoUQLPnj3DwIEDsXDhQhQqVAh//PEH2rZtm2awe+fOHamjTUaJNq9fv8bq1auxaNEiXLhwAYUKFULfvn0RGBiYZj3MLyU2NhZHjhyRAsjz588DAEqWLInGjRvD398f1atX/8//MRW+DiJYzF+9fJxhbqCN0VuvIEnDLG2BK+QyKOUyjGtUSgSTwn+GjGTuHRT5jjg5OaFZs2YICQnJ9hi3b99GuXLl0Lx5cyxbtixTjyGJcePGYcyYMQCAqVOnIiAgAG3btsXff/+NCRMmfNZC8enTp+jVqxc2bdoELS0tJCQkQF9fH2q1Gqamppg+fTpat26N9+/fY9q0aZg6dSq0tLQwfPhw9OzZU6o1+anTp08jJCQEmzZtgqmpKXr27Jlqog1JHD16FIsWLcKGDRuQkJCABg0aICgoCHXq1Mm3TGe1Wo3z589L29hHjx5FfHw8rK2t4efnB39/f/j6+qJQoUL5Mj/hvyunweLHQaIIFvPWg6gYDPvzEg7fegmFXJZuYJl8u1dRc0xqWkZscwv/KSKgTEVsbCz09fURGhqa7bJBSUlJ8PLywvPnz3H+/PlMlb9JSkpCUFAQli9fDqVSiXXr1sHR0VFqobh69eoULRRJYtWqVfj5558RHR2NhIQEyGQymJiY4O3bt+jTpw9Gjx4NXV1dLFq0CGPHjsWbN2/Qp08fDBkyBKampp/NQaPRYMeOHZg6daqUaBMcHIyOHTt+tv3/4sUL/PHHHwgNDcW1a9dQpEgRBAUFoVOnTrCxscnW65ZTd+7ckQLI/fv3IyoqCvr6+qhevTr8/f3h5+eHUqVKiXOQQp6Jj4/H48ePUw0SRbD47br57B1WnYzAgRvPEREZk6Kjjgwfipb7uFiinbudyOYW/pPElncqrl+/DpI52vKeMGECTp8+jcOHD2cqmIyJiUHDhg2xf/9+GBoaYs+ePbhx4wY8PDxSbaH46NEjdO/eXapJqVarYWRkhLdv36J06dKYN28eSpcujU2bNmHYsGG4desWOnTogHHjxkk9uT+W2UQbjUaDffv2YdGiRfjrr78gk8nQrFkzzJ07Fz4+Pl+8FWJUVFSKc5B37tyBQqFA5cqV0bNnT/j5+cHd3f2rOLMpfPtyGiyKbehvl7OVIcY0KoUxKIXo+CTci4xGQpIGWko5HMz0RQcc4T9P/AakIqclg44fP47x48dj5MiR8PDwyPD+L168QI0aNXD16lXY2tpiz549mDt3bqotFEliyZIl6NOnD+Lj46UxtLW1oaOjg7lz56Jdu3Y4cuQIPD09ceLECdStWxcbN26Eq6vrZ9eOjIzEggULUiTaLF68GJ6eninu9+jRIyxduhSLFy/GvXv3UKJECUyZMgXt27eHubl5tl6n7IiLi8OxY8ekVcizZ8+CJIoVK4a6devC398fNWrU+Ox8qSBkJLvBYnJwKILF/w59bSVK2Yj3GEH4mAgoU3H16lUULFgQJiYmWX7su3fv0K5dO1SuXBkjRozI8P63b99GtWrV8PTpU5QvXx4rVqxA586dU22heO/ePQQFBWHfvn2QyWQgCX19fcTGxqJr164YN24cHj9+jMaNG2Pbtm2oWLEi9u/fDx8fn8+ue+fOHcyYMQNLliyBRqOREm1cXFyk+yQlJWHnzp0IDQ3Fjh07oK2tjdatW6NLly7w8PD4ItvGGo0GFy9elFYgDx8+jNjYWFhYWMDPzw89evSAr69vqquugpBMBIuCIAh5SwSUqchJhvfPP/+M58+f459//skwGeXUqVOoWbMmoqOj0ahRI/Tu3Ru+vr6ftVDUaDRYsGABBgwYgISEBACAUqlEYmIiypQpg/nz58PS0hIDBgzA0qVLYW9vj7Vr16Jly5afbUGfOnUKU6dOlRJtBg4ciB49eqRItLlz5w4WL16MpUuX4smTJ3Bzc8O8efPw448/fpGVv4iICCmA3LdvH168eAFdXV14e3tj/Pjx8PPzQ5kyZb749rrwdRLBoiAIQv4TAWUqwsPDUbNmzSw/buPGjVi2bBmWLFkCJyendO+7bds2NGvWDElJSejXrx8KFy6MOnXqwMvLC2vXrpVaKN66dQsBAQE4cuSI9FiVSgVjY2NMmTIFTZs2xdSpUzFjxgzo6+tjxowZ6N69e4ozg58m2hQtWhRz585NkWgTHx+Pv/76C6Ghodi7dy+MjIzQtm1bBAUFpVvkPDe8fv0aBw4ckLaxb968CZlMhooVK6JLly7w8/ODp6cntLW183QewtdHBIuCIAjfBpHl/YnExETo6elh1qxZ6NGjR6Yf9/DhQ7i6uqJmzZrYsGFDutvB8+bNQ+/evUES06dPx+nTp7FmzRoEBwfjl19+gVKphFqtxuzZszFkyBAkJSVBo9FApVIhKSkJXbt2xZgxY7Bu3TqMHz8eMTEx6NevHwYNGpRiBfHTRBsPDw8MHDgQjRo1khJtwsPDpVaIL1++RNWqVdGlSxe0aNEiz/pSJyQk4Pjx41IAefr0aWg0Gjg5OUmZ2D4+PihQoECeXF/4OuQ0WBTZ0IIgCF8PsUL5idu3byMpKSlLW94ajQYdO3aErq4ufv/99zSDSZIYMGAApk+fDpVKhfnz52PWrFm4e/duihaK4eHh6NChA86cOQMA0nhly5bF3LlzcffuXXh6euL+/fsIDAzEmDFjUtRSjIyMlDravHjxAk2aNEmRaBMTE4MNGzZg0aJFOHr0KMzMzNCxY0d07twZJUuWzNbrlh6SuHz5shRAHjp0CDExMTAzM4Ovry86d+4MPz+/dPuGC9+WjILFhw8f4tmzZykeI1YWBUEQvl0ioPzE1atXASBLgdX06dOl0jVmZmap3icxMRGtW7fGn3/+CSMjI4wfPx4DBgxI0UIxKSkJISEhGDlyJNRqNQBAoVDA0NAQkydPhpOTE3r27ImzZ8+iUaNG2L59e4p5ZpRoc/78eSxatAirVq3C27dv4efnh3Xr1qFx48a5vp386NEjKYDcu3cvnj17Bm1tbXh5eWHUqFHw9/dHuXLlxDnIb5AIFgVBEIRPiYDyE+Hh4TA1Nf2sG0xaLly4gGHDhqF///7w8/NL9T7v379HzZo1cfr0aRQuXBjNmzdHnz59UrRQvHjxItq0aYMrV64AAORyubTy2b59e0yZMgW7d++Gu7s7wsLC4OXlJY1/6tQphISEYPPmzShQoAAGDRqEHj16wMLCAm/evMGCBQuwaNEinDt3DgULFkTv3r0RGBgIR0fHnL9g/+/t27c4ePAg9u7di7179yI8PBwymQzly5dHp06d4Ofnh6pVq0rlj4SvkwgWBUEQhOwQZyg/0a5dO9y9exdHjx7N8L6xsbGoUKECVCoVTp06leoq37Nnz+Du7o579+6hfPnyMDMzw759+6QWiklJSZg4cSLGjx+Pj78VZcqUwZgxY7BlyxasWLECRYsWxeTJk9GsWTPIZDJoNBps374dU6dOxeHDh1G0aFEEBwejQ4cO0NXVxfHjx7Fo0SKsX78ecXFxqF+/PoKCglCvXr1caYWYmJiIkydPSquQJ0+ehFqthoODg3QOsmbNml+0RqWQvpwGi+LMoiAIgpAWsUL5iatXr6JChQqZuu+gQYNw584dnD17NtVg8vr163B3d8fr16/h6+uLO3fu4P79+9i9ezdq1aqFs2fPolWrVrhz5w6AD2cl9fT0MHLkSLx48QJt2rSBiYkJ5s2bh6CgIKhUKsTFxWHFihWYNm0arl+/Dk9PT2zevBmNGjXCq1ev8PvvvyM0NBRXr16Fg4MDhg4dioCAgBz3qyaJ8PBwKYA8ePAg3r9/DxMTE/j6+mLu3Lnw9/eHo6OjaGuYD8TKoiAIgpCfRED5EY1Gg2vXrqFdu3YZ3nfXrl2YO3cuZs2ahVKlSn12e1hYGGrVqoX4+HjUr18f+/btQ8mSJbF//35YW1tjwIABmDZtWorHtG7dGs7OzpgyZQoSEhIwdOhQBAcHw8DAINVEmyVLlsDd3R0HDhxA27Zt8eeff4IkmjRpgpkzZ8LX1zdHZxSfPHmCffv2SecgHz9+DC0tLVStWhVDhw6Fn58fKlSokKI1o5D7RLAoCIIgfO3ElvdH7t27hyJFimDXrl2oU6dOmvd7/vw5XF1dUa5cOezateuzFbnVq1ejffv20Gg08PHxwYEDB6QWihcuXECLFi3w+PFj6f7Ozs5o0aIFVq1ahUePHqFbt24YNWoUrKyscPv2bSnRhiQCAgLQr18/GBgYSK0Q79y5g2LFiqFLly7o0KEDLCwssvX8379/j7CwMCmAvHz5MoAP2eV+fn7w9/dHtWrV8qyc0H9RWsHix/8vtqEFQRCEr50IKD+yc+dO1K9fH/fu3YO9vX2q9yGJxo0b4/jx47h48SIKFiyY4vaJEydixIgRUKlUcHZ2xs2bNzF79my0b98ewcHB+P3336X7amtro0OHDjh58iQuXryI5s2bY9KkSXBxccHJkycxdepUKdGmV69e6Nq1K86ePYvQ0FBs374dWlpaaNmyJbp06YKqVatmeas5KSkJZ86ckQLI48ePIzExEba2tvD394e/vz9q1qwpFVkXskYEi4IgCMJ/hdjy/kh4eDj09PRQuHDhNO+zcOFCbNu2DVu2bEkRTJJE586dsXTpUujr60NXVxdv3rxBWFgYYmNjYWdnh6ioKOn+Pj4+SEhIwKJFi1CtWjUcO3YMVapUwfbt2xEUFCQl2sybNw81atTA6tWrUalSJTx69AjlypXD7NmzpTOWmUUSN2/elALIAwcO4M2bNzAyMoKPjw9mzJgBPz8/uLi4iHOQGchpsPjxNvTHAaMIFgVBEIRvkQgoP5Lcwzutc4fXr19Hv3790LVrVzRq1Ej698TERNSuXRsHDhyAqakp3r59i0qVKiE0NBQjR47EmjVrpPtaW1ujRIkSOHDgAEqUKIEtW7bA398fK1asQKdOnXDjxg14enpi/fr10Gg0WLJkCXr06AEDAwO0adMGXbp0gZubW6YDvufPn2Pfvn1SMs2DBw+gVCrh4eGB4OBg+Pn5oVKlSrmS+f29EMGiIAiCIGSN2PL+iKenJ5ycnLBixYrPbktISICnpyfevXuHc+fOSecI3717h0qVKuH69eswMzNDZGQkgoOD4ePjg1atWiEmJgbAhwLllStXxunTp2FpaYmxY8eiYcOGWLhwIebOnYsXL16gadOmaNGiBc6dO4fly5fjxYsX8PDwQJcuXdCyZUsYGBhk+BxiYmJw+PBhKYD8999/AQClSpWSyvlUr149U2N9j3JzG1oEi4IgCILwgViW+n/JZXEaNGiQ6u1jxozBv//+i+PHj0vB5MOHD+Hm5oYXL17A2NgYcXFxWLJkCdatW5cig9vJyQnPnj3D5cuXMXbsWDRq1AgLFizAzz//DJJo3749nJ2dsW3bNrRp0wYFChRAhw4d0LlzZ5QuXTrdeavVapw7d04KII8ePYqEhAQULFgQ/v7+0irkp2c9v0diZVEQBEEQ8sd/PqCMjk/CvchoPHn+EtFapnAq9nnLxbCwMPzyyy+YMGECKlasCAA4d+4cqlWrhtjYWGhra8PKygrdunVD9+7dkZCQAADQ09ODjo4OIiIi8NNPP6Fu3boIDQ3FiBEjpP7ZCQkJWL9+Pd68eYOaNWti9erVaNq0KXR0dNKc8+3bt6UAcv/+/Xj16hUMDAxQo0YNhISEwM/PDyVKlPiuzkF+GiymVj5HBIuCIAiCkD/+k1veN5+9w6qTEThw/TkiomLw6QtgX0APPsUs0baKHSy01Shbtizs7e1x4MABKBQKbNu2DU2aNIFGowEA1K1bF8+fP8fZs2cBfChQbmpqiqioKLRu3Ro+Pj5YuXIljhw5AkdHR3h4eCA8PBznzp2DtbU1AgICEBgYiKJFi6Y638jISOkc5N69e3H37l0oFApUqVJF2sauUqUKVCpVXr5seSanwaLYhhYEQRCE/PWfCigfRMVg2J+XcPjWSyjkMqg1aT/15NuNYx8jYuMUXDi6D/b29pgzZw5+/vlnafWvUaNG2Lp1q9Q2UV9fH9HR0ahevTo8PT2xadMm3LhxA66urrCwsMCJEycQGxuLunXrIigoCPXr1/8sEIyLi8ORI0ekVcjz58+DJIoXLy4FkDVq1ICRkVHevVi5JDeCxdQCRxEsCoIgCMLX4z8TUK49HYHRW68gScN0A8lPUZ0ElVKBCU1dcXzlNMyePRsymQyGhoYwMDCQCpTL5XJoNBqULFkSFSpUwO7du/HixQu4urri/fv3uHPnDuzs7NC5c2cEBASkKE2k0Whw4cIFKYA8cuQI4uLiYGVlBT8/P+nL1tY211+XnBDBoiAIgiAIwH8koJx74Cam/nMjx+O8OvQH3p3YACsrKzx9+jTFbdbW1ihZsiSOHTsGjUYDe3t73L9/HxqNBo0bN0aXLl3g5+cntSm8d++eFEDu27cPkZGR0NPTQ/Xq1aWuNKVLl863c5AiWBQEQRAEIbO++4By7ekIDNl8KdfGe7NnPl6f3Qngw1lJHR0dFC1aFJcuXYK+vj60tbURFRUFFxcXBAUFoWPHjrC0tMSrV69w4MABqaj4rVu3IJfLUalSJSmAdHd3h7a2dq7NNS0iWBQEQRAEITd91wHlg6gY+M04hPgkTaq3xz+9hTdHViP+4VUwKRFKEysYlKsDo4qNUr0/STApAU9Ce0D99jmsra3x5MkT6OvrIzY2FlpaWmjRogW6dOmCypUr48SJE1IAeebMGWg0Gjg7O0sBZI0aNWBqapqrz1kEi4IgCIIgfGnfdUDZfvFJHLsTmeqZydi75/B84zhoWTlBv7gXZFo6SHr9FKAGpj6BaY5JdRISH13Bk9XDoaWlhYSEBLi6uiIoKAjly5fHyZMnsXfvXoSFhSEmJgbm5ubw9fWVkmnS6hGeGcnBYmpBoggWBUEQBEHIL99tQHnz2Tv4zwxL9TZNfAweLewK7UIlYNF0KGSy1FstpidqRT808K6IokWLSnUhnz9/Dh0dHXh5eUkBZNmyZdNs5fixnASLqQWJIlgUBEEQBOFL+W4Lm686GZFmaaDoqwehiX4NU+8OkMnk0CTEQabSynxgSQ3MPZpizZpfIZPJ4ObmhsDAQPj5+aFq1aqfFSXPabBYvnx5NGzYUASLgiAIgiB8lb7bFcrqIQdwPyom1dte/DkJsfcuwKLpMET98xuSoh5BptKBfmkfFPDtAplSK8Px9dTvMbaSHFWrVkV8fLxYWRQEQRAE4T/ruwwo38cnocyYvz/rgJPs8eJeSHr9BABg4FoLOnZlEBdxCe/OboNeCW9YNB6U8UVIxK3siWePIlL8swgWBUEQBEH4r/kut7zvR0anGUwCABPjwMR4GJSviwL+3QAAesU8QXUi3l/YjUSvtlAVKJT+RWQytOrcE+XszUWwKAiCIAjCf9p3GVAmpFEmKFnylrZ+ieop/l2/ZA28v7Ab8Y+uZRxQAgjo3AXl7XK37I8gCIIgCMK3Juvpzd8ALWX6T0thYPbhv/omKf9d3xgAoIl7nyvXEQRBEARB+C/4LiMiBzN9pNewUMvaCQCQ9C4yxb8nvYsCACj0jDO8huz/ryMIgiAIgvBf910GlPraStgV0Ev79uJeAID3F/9J8e/vL/4DyBXQtiuT4TXszPSgr/1dnhgQBEEQBEHIku82IvIpZokVJ++nWodSy9oJ+q7+iL64By80GujYlUZcxCXEXDsCI4+WUBqapTu2Qi6Dj4tlXk1dEARBEAThm/Jdlg0C0u+UA3xoofjm+Hq8v7gX6vdRUBpbwNCtAYwqNc7U+Hv7eaOopcjoFgRBEARB+G4DSiD9Xt7ZpZDL4OlohhWdq+TamIIgCIIgCN+y7/IMZbJJTctAKU8vPSfrlHIZJjXN+IylIAiCIAjCf8V3HVAWLqCHsY1K5eqY4xqVQuF0En4EQRAEQRD+a77rgBIAfqhkhwG1XHJlrIG1iqF1JbtcGUsQBEEQBOF78V2fofzY2tMRGL31CpI0zNKZSoVcBqVchnGNSolgUhAEQRAEIRX/mYASAB5ExWDYn5dw+NZLKOSydAPL5Nu9ippjUtMyYptbEARBEAQhDf+pgDLZzWfvsOpkBA7ceI6IyBh8/ALI8KFouY+LJdq524nSQIIgCIIgCBn4TwaUH4uOT8K9yGgkJGmgpZTDwUxfdMARBEEQBEHIgv98QCkIgiAIgiDkzHef5S0IgiAIgiDkLRFQCoIgCIIgCDkiAkpBEARBEAQhR0RAKQiCIAiCIOSICCgFQRAEQRCEHBEBpSAIgiAIgpAjIqAUBEEQBEEQckQElIIgCIIgCEKOiIBSEARBEARByBERUAqCIAiCIAg5IgJKQRAEQRAEIUdEQCkIgiAIgiDkiAgoBUEQBEEQhBwRAaUgCIIgCIKQIyKgFARBEARBEHJEBJSCIAiCIAhCjoiAUhAEQRAEQcgREVAKgiAIgiAIOSICSkEQBEEQBCFHREApCIIgCIIg5IgIKAVBEARBEIQcEQGlIAiCIAiCkCMioBQEQRAEQRByRASUgiAIgiAIQo6IgFIQBEEQBEHIERFQCoIgCIIgCDkiAkpBEARBEAQhR0RAKQiCIAiCIOSICCgFQRAEQRCEHBEBpSAIgiAIgpAjIqAUBEEQBEEQckQElIIgCIIgCEKOiIBSEARBEARByBERUAqCIAiCIAg5IgJKQRAEQRAEIUdEQCkIgiAIgiDkiAgoBUEQBEEQhBz5PztKIMXsibxoAAAAAElFTkSuQmCC\n" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# only for knapsack slack variable\n", | |
"def qaoa_1_layer(num_grid, graph, N, Q, offset):\n", | |
"\n", | |
" beta_search_space = np.linspace(-np.pi/2, np.pi/2, num_grid)\n", | |
" gamma_search_space = np.linspace(-np.pi/2, np.pi/2, num_grid)\n", | |
"\n", | |
" h_params = np.zeros((N,))\n", | |
" J_params = np.zeros((N,N))\n", | |
"\n", | |
" for i in range(N):\n", | |
" h_params[i] += Q[i,i] / 2\n", | |
" offset += Q[i,i] / 2\n", | |
"\n", | |
" for j in range(i + 1, N):\n", | |
" J_params[i,j] += Q[i,j] / 4\n", | |
"\n", | |
" h_params[i] += Q[i,j] / 4\n", | |
" h_params[j] += Q[i,j] / 4\n", | |
"\n", | |
" offset += Q[i,j] / 4\n", | |
"\n", | |
" cost = 1e10\n", | |
" best_beta = 0\n", | |
" best_gamma = 0\n", | |
"\n", | |
" for i in range(num_grid):\n", | |
" for j in range(num_grid):\n", | |
" new_cost = knapsack_slackvar_qaoa_1_layer_cost(beta_search_space[i], gamma_search_space[j], h_params, J_params, graph, N, offset)\n", | |
"\n", | |
" if new_cost < cost:\n", | |
" cost = new_cost\n", | |
" best_beta = beta_search_space[i]\n", | |
" best_gamma = gamma_search_space[j]\n", | |
"\n", | |
" Z_mat = Z_matrix_from_qaoa(best_beta, best_gamma, h_params, J_params, graph, N)\n", | |
"\n", | |
" return cost, best_beta, best_gamma, Z_mat" | |
], | |
"metadata": { | |
"id": "_LrnzBU_v1Hu" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def knapsack_slackvar_qaoa_1_layer_cost(beta, gamma, h_params, J_params, graph, N, offset):\n", | |
"\n", | |
" cost = offset\n", | |
"\n", | |
" for i in range(N):\n", | |
" cost += qaoa_1_layer_1qubit_term(beta, gamma, i, h_params, J_params, graph, N) # 1-qubit terms\n", | |
"\n", | |
" for j in range(i+1, N):\n", | |
" cost += qaoa_1_layer_2qubits_term(beta, gamma, i, j, h_params, J_params, graph, N) # 2-qubit terms\n", | |
"\n", | |
" return cost" | |
], | |
"metadata": { | |
"id": "-QrizmJfmWbe" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def knapsack_slackvar_cost(solution_bitstring, Q):\n", | |
" return solution_bitstring @ Q @ solution_bitstring" | |
], | |
"metadata": { | |
"id": "qd5ty2JQ2Sr6" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"# QAOA 1 Layer (Ozaeta, et al.)" | |
], | |
"metadata": { | |
"id": "HPnDv6X-cAmS" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def qaoa_1_layer_1qubit_term(beta, gamma, i, h_params, J_params, graph, num_nodes):\n", | |
"\n", | |
" A = 1\n", | |
"\n", | |
" k_i = [e[1] for e in graph.edges(i)]\n", | |
"\n", | |
" for k in k_i:\n", | |
" A = A*np.cos(2*gamma*J_params[i,k])\n", | |
"\n", | |
" return h_params[i]*np.sin(2*beta)*np.sin(2*gamma*h_params[i])*A" | |
], | |
"metadata": { | |
"id": "8H25f57cfhZi" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def qaoa_1_layer_2qubits_term(beta, gamma, i, j, h_params, J_params, graph, num_nodes):\n", | |
"\n", | |
" A = 1\n", | |
" B = 1\n", | |
" C = 1\n", | |
" D = 1\n", | |
" E = 1\n", | |
" F = 1\n", | |
"\n", | |
" k_i = [e[1] for e in graph.edges(i)]\n", | |
" k_j = [e[1] for e in graph.edges(j)]\n", | |
" k_ij = [x for x in k_i if x in k_j]\n", | |
"\n", | |
" for k in k_i:\n", | |
" if k != j:\n", | |
" A = A*np.cos(2*gamma*J_params[i,k])\n", | |
" if k not in k_j:\n", | |
" C = C*np.cos(2*gamma*J_params[i,k])\n", | |
"\n", | |
" for k in k_j:\n", | |
" if k != i:\n", | |
" B = B*np.cos(2*gamma*J_params[j,k])\n", | |
" if k not in k_i:\n", | |
" D = D*np.cos(2*gamma*J_params[j,k])\n", | |
"\n", | |
" for k in k_ij:\n", | |
" E = E*np.cos(2*gamma*(J_params[i,k] + J_params[j,k]))\n", | |
" F = F*np.cos(2*gamma*(J_params[i,k] - J_params[j,k]))\n", | |
"\n", | |
" first_term = 0.5*J_params[i,j]*np.sin(4*beta)*np.sin(2*gamma*J_params[i,j])\n", | |
" second_term = (np.cos(2*gamma*h_params[i])*A + np.cos(2*gamma*h_params[j])*B)\n", | |
" third_term = 0.5*J_params[i,j]*(np.sin(2*beta)**2)*C*D\n", | |
" fourth_term = (np.cos(2*gamma*(h_params[i] + h_params[j]))*E - np.cos(2*gamma*(h_params[i] - h_params[j]))*F)\n", | |
"\n", | |
" return first_term*second_term - third_term*fourth_term" | |
], | |
"metadata": { | |
"id": "S2lnYKAXflHl" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def Z_matrix_from_qaoa(beta, gamma, h_params, J_params, graph, num_nodes):\n", | |
"\n", | |
" Z = np.zeros((num_nodes, num_nodes))\n", | |
"\n", | |
" for i in range(num_nodes):\n", | |
" for j in range(num_nodes):\n", | |
" if i <= j:\n", | |
" Z[i,j] = ((i==j)-1)*qaoa_1_layer_2qubits_term(beta, gamma, i, j, h_params, J_params, graph, num_nodes)\n", | |
" if i != j:\n", | |
" Z[j,i] = Z[i,j]\n", | |
"\n", | |
" return Z" | |
], | |
"metadata": { | |
"id": "3VMPvQlRfnL8" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def MIS_qaoa_1_layer_cost(beta, gamma, h_params, J_params, graph, num_nodes):\n", | |
"\n", | |
" cost = 0\n", | |
"\n", | |
" # one qubit term\n", | |
" for i in range(num_nodes):\n", | |
" cost += qaoa_1_layer_1qubit_term(beta, gamma, i, h_params, J_params, graph, num_nodes)\n", | |
"\n", | |
" # two qubits term\n", | |
" for i in range(num_nodes):\n", | |
" for j in range(num_nodes):\n", | |
" if i < j:\n", | |
" cost += qaoa_1_layer_2qubits_term(beta, gamma, i, j, h_params, J_params, graph, num_nodes)\n", | |
"\n", | |
" return cost" | |
], | |
"metadata": { | |
"id": "vbGmvu1xiOW-" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def maxcut_qaoa_1_layer_cost(beta, gamma, h_params, J_params, graph, N):\n", | |
"\n", | |
" cost = 0\n", | |
"\n", | |
" # two qubits term\n", | |
" for i in range(N):\n", | |
" for j in range(N):\n", | |
" if i < j:\n", | |
" cost += qaoa_1_layer_2qubits_term(beta, gamma, i, j, h_params, J_params, graph, N)\n", | |
"\n", | |
" return cost" | |
], | |
"metadata": { | |
"id": "YLQ8R7imiPEC" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# only for maxcut\n", | |
"def qaoa_1_layer(num_grid, graph, N):\n", | |
"\n", | |
" beta_search_space = np.linspace(-np.pi/2, np.pi/2, num_grid)\n", | |
" gamma_search_space = np.linspace(-np.pi/2, np.pi/2, num_grid)\n", | |
"\n", | |
" W = nx.adjacency_matrix(graph)\n", | |
" h_params = W.diagonal()\n", | |
" J_params = W.copy()\n", | |
"\n", | |
" cost = 1e10\n", | |
" best_beta = 0\n", | |
" best_gamma = 0\n", | |
"\n", | |
" cost_landscape = np.zeros((num_grid, num_grid))\n", | |
"\n", | |
" for i in range(num_grid):\n", | |
" for j in range(num_grid):\n", | |
" new_cost = maxcut_qaoa_1_layer_cost(beta_search_space[i], gamma_search_space[j], h_params, J_params, graph, N)\n", | |
" cost_landscape[i,j] = new_cost\n", | |
"\n", | |
" if new_cost < cost:\n", | |
" cost = new_cost\n", | |
" best_beta = beta_search_space[i]\n", | |
" best_gamma = gamma_search_space[j]\n", | |
"\n", | |
" Z_mat = Z_matrix_from_qaoa(best_beta, best_gamma, h_params, J_params, graph, N)\n", | |
"\n", | |
" return cost, best_beta, best_gamma, Z_mat, cost_landscape" | |
], | |
"metadata": { | |
"id": "gpCjWKwUJnNt" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"num_grid = 50\n", | |
"beta_search_space = np.linspace(-np.pi/2, np.pi/2, num_grid)\n", | |
"gamma_search_space = np.linspace(-np.pi/2, np.pi/2, num_grid)\n", | |
"\n", | |
"h_params = W.diagonal()\n", | |
"J_params = W.copy()\n", | |
"\n", | |
"cost = 1e10\n", | |
"best_beta = 0\n", | |
"best_gamma = 0\n", | |
"cost_matrix = np.zeros((num_grid, num_grid))\n", | |
"\n", | |
"for i in range(num_grid):\n", | |
" print(i)\n", | |
" for j in range(num_grid):\n", | |
" new_cost = maxcut_qaoa_1_layer_cost(beta_search_space[i], gamma_search_space[j], h_params, J_params, random_graph, N)\n", | |
" cost_matrix[i,j] = new_cost\n", | |
"\n", | |
" if new_cost < cost:\n", | |
" cost = new_cost\n", | |
" best_beta = beta_search_space[i]\n", | |
" best_gamma = gamma_search_space[j]\n", | |
"\n", | |
"print(cost, best_beta, best_gamma)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "uCod3UJZf6uc", | |
"outputId": "e479da39-ffa9-4db5-f7b0-89ad261fb246" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"0\n", | |
"1\n", | |
"2\n", | |
"3\n", | |
"4\n", | |
"5\n", | |
"6\n", | |
"7\n", | |
"8\n", | |
"9\n", | |
"10\n", | |
"11\n", | |
"12\n", | |
"13\n", | |
"14\n", | |
"15\n", | |
"16\n", | |
"17\n", | |
"18\n", | |
"19\n", | |
"20\n", | |
"21\n", | |
"22\n", | |
"23\n", | |
"24\n", | |
"25\n", | |
"26\n", | |
"27\n", | |
"28\n", | |
"29\n", | |
"30\n", | |
"31\n", | |
"32\n", | |
"33\n", | |
"34\n", | |
"35\n", | |
"36\n", | |
"37\n", | |
"38\n", | |
"39\n", | |
"40\n", | |
"41\n", | |
"42\n", | |
"43\n", | |
"44\n", | |
"45\n", | |
"46\n", | |
"47\n", | |
"48\n", | |
"49\n", | |
"-30.041066883726646 -1.1861115120696157 -0.2243994752564138\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"# Relax-and-Round" | |
], | |
"metadata": { | |
"id": "hSzF-5ff7V60" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def find_best_eigenvector(eigenvectors, obj_function, args):\n", | |
"\n", | |
" num_eigenvectors = eigenvectors.shape[1]\n", | |
" cost = obj_function(np.sign(eigenvectors[:,0]), **args)\n", | |
" best_id = 0\n", | |
"\n", | |
" for i in range(num_eigenvectors-1):\n", | |
" new_cost = obj_function(np.sign(eigenvectors[:,i+1]), **args)\n", | |
" if new_cost < cost:\n", | |
" cost = new_cost\n", | |
" best_id = i+1\n", | |
"\n", | |
" return np.sign(eigenvectors[:,best_id]), cost, best_id" | |
], | |
"metadata": { | |
"id": "EY-YeO14cE-9" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def relax_and_round(Z, obj_function, args):\n", | |
"\n", | |
" eigenvalues, eigenvectors = np.linalg.eig(Z)\n", | |
" best_solution, min_cost, best_id = find_best_eigenvector(eigenvectors, obj_function, args)\n", | |
"\n", | |
" return best_solution, min_cost" | |
], | |
"metadata": { | |
"id": "Ud6tR7EICcUJ" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# TODO: make this simpler, write a function in terms of W matrix\n", | |
"\n", | |
"def MIS_cost(solution_bitstring, graph, lambda_param):\n", | |
" # NOTE: bits in +1 and -1 (not in 1 and 0)\n", | |
"\n", | |
" edges = [e for e in graph.edges]\n", | |
"\n", | |
" # sum of bit values from each vertices\n", | |
" first_term = np.sum(solution_bitstring) + len(solution_bitstring)\n", | |
"\n", | |
" # edges summation (the penalty term)\n", | |
" second_term = 0\n", | |
" for i in range(len(edges)):\n", | |
" first_bit = solution_bitstring[int(edges[i][0])]\n", | |
" second_bit = solution_bitstring[int(edges[i][1])]\n", | |
"\n", | |
" second_term += first_bit*second_bit + first_bit + second_bit + 1\n", | |
"\n", | |
" return -0.5*first_term + lambda_param * second_term*0.25" | |
], | |
"metadata": { | |
"id": "2pUeTYn5f6wx" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def maxcut_cost(solution_bitstring, W):\n", | |
" return solution_bitstring @ W @ solution_bitstring/2" | |
], | |
"metadata": { | |
"id": "O0wRqAiBJFok" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"Z_mat = Z_matrix_from_qaoa(best_beta, best_gamma, h_params, J_params, random_graph, N)\n", | |
"arg_dict = {\"W\": W}\n", | |
"relax_and_round(Z_mat, maxcut_cost, arg_dict)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 176 | |
}, | |
"id": "Z8thYOA6f6y6", | |
"outputId": "179ba10e-dc91-47de-9184-fc11bba496f6" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "error", | |
"ename": "NameError", | |
"evalue": "name 'best_beta' is not defined", | |
"traceback": [ | |
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", | |
"\u001b[0;31mNameError\u001b[0m Traceback (most recent call last)", | |
"\u001b[0;32m<ipython-input-14-0cf50d63dc0f>\u001b[0m in \u001b[0;36m<cell line: 1>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mZ_mat\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mZ_matrix_from_qaoa\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mbest_beta\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mbest_gamma\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mh_params\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mJ_params\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mrandom_graph\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mN\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0marg_dict\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0;34m{\u001b[0m\u001b[0;34m\"W\"\u001b[0m\u001b[0;34m:\u001b[0m \u001b[0mW\u001b[0m\u001b[0;34m}\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mrelax_and_round\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mZ_mat\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mmaxcut_cost\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0marg_dict\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", | |
"\u001b[0;31mNameError\u001b[0m: name 'best_beta' is not defined" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"# MC" | |
], | |
"metadata": { | |
"id": "y_DuM8FPI5Vd" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def metropolis(W, N, M, T):\n", | |
"\n", | |
" # initialize a random spin state\n", | |
" S_init = np.random.randint(low=0, high=2, size=N)*2-1\n", | |
" S_list = [] # list to save the accepted spin state for every step in M\n", | |
" S_list += [S_init]\n", | |
"\n", | |
" # start with energy = 0\n", | |
" E = 0\n", | |
" E_list = [] # list to save the energy for every step in M\n", | |
" E_list += [maxcut_cost(S_init, W)]\n", | |
"\n", | |
" S_current = S_init\n", | |
" for i in range(M):\n", | |
" # proposed new state S_i+1\n", | |
" flip_spin_id = np.random.randint(low=0, high=N)\n", | |
" S_proposed = S_current\n", | |
" S_proposed[flip_spin_id] = S_proposed[flip_spin_id]*(-1)\n", | |
"\n", | |
" # compute acceptance probability\n", | |
" delta_H = maxcut_cost(S_proposed, W) - E_list[i]\n", | |
" if delta_H <= 0:\n", | |
" S_current = S_proposed # accept the proposal with 100% probability, p=1\n", | |
" else:\n", | |
" p = np.exp(-delta_H/T)\n", | |
" if np.random.rand(1) < p:\n", | |
" S_current = S_proposed # accept the proposal with p probability\n", | |
" else:\n", | |
" pass # reject the proposal with 1-p probability\n", | |
"\n", | |
" # update the list and total energy\n", | |
" E_list += [maxcut_cost(S_current, W)]\n", | |
" E += E_list[-1]\n", | |
" S_list += [S_current]\n", | |
"\n", | |
" E_expectation = E/M\n", | |
"\n", | |
" del S_list[0] # discard the first item in the S_list to erase the starting random spin state\n", | |
" del E_list[0] # discard the first item in the E_list to erase the 0 energy\n", | |
"\n", | |
" return np.array(S_list), E_list, E_expectation" | |
], | |
"metadata": { | |
"id": "O0XfWnV3e4Jr" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"N = 40\n", | |
"M = 2000\n", | |
"T = 1\n", | |
"\n", | |
"spin_sampled, energy_list, E_expectation = metropolis(W, N, M, T)\n", | |
"print(E_expectation)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "4tc3RID5MaUs", | |
"outputId": "01b8c91f-afa0-49bc-b30e-81ea3a47d7fa" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"0.205\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"E_exp_list = []\n", | |
"for step in range(2000):\n", | |
"\n", | |
" _, _, E_expectation = metropolis(W, N, step+1, 1)\n", | |
" E_exp_list += [E_expectation]\n", | |
" if step%100 == 0:\n", | |
" print(\"done\", step)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "fRDDmWePPjou", | |
"outputId": "c56a29b3-8a3a-4b7c-9407-be2ce34e2daa" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"done 0\n", | |
"done 100\n", | |
"done 200\n", | |
"done 300\n", | |
"done 400\n", | |
"done 500\n", | |
"done 600\n", | |
"done 700\n", | |
"done 800\n", | |
"done 900\n", | |
"done 1000\n", | |
"done 1100\n", | |
"done 1200\n", | |
"done 1300\n", | |
"done 1400\n", | |
"done 1500\n", | |
"done 1600\n", | |
"done 1700\n", | |
"done 1800\n", | |
"done 1900\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"plt.plot(E_exp_list)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 448 | |
}, | |
"id": "8XhHkxE3WUfg", | |
"outputId": "b5c3a5b0-931f-476e-bd76-1ed68a04d79b" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[<matplotlib.lines.Line2D at 0x7fe25f5fe890>]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 88 | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
], | |
"image/png": "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sQulbTt48CDmzZuHe++91+NyoXz8HOXx9HtLT0/H0aNHZa9XVFTg5MmTIXNcHUHKwYMHMXfuXFk2RUlWVhYqKipw4MABANbfPlfNmzdHcnKy7DsZ6scQAJYuXYqdO3d6/U0C1jyGatcFo86dasvEx8f7dSPJQMVFZGQkunbtivnz5zufq6qqwvz585GdnW1iybQRQmDcuHH4/vvvsWDBArdUo5INGzYAABo0aAAAyM7OxubNm2UnFsfJtW3btgEpt69Onz6NvXv3okGDBujatSsiIiJkx27nzp3IyclxHrtQ2rbPPvsMqampGDp0qMflQvn4NWvWDOnp6bJjVlRUhFWrVsmOWUFBAdauXetcZsGCBaiqqnIGadnZ2ViyZAnKy8udy8ydOxetW7c2vcrAEaTs3r0b8+bNQ/369b2+Z8OGDbDb7c7qEitvn5LDhw/jxIkTsu9kKB9Dh08//RRdu3ZFp06dvC5rpWPo7bpg1LkzOztbtg7HMn5fO/1qiltDzZw5U0RFRYnp06eLbdu2ifvuu08kJibKWjtb1YMPPigSEhLEokWLZN3kzp49K4QQYs+ePWLSpElizZo1Yv/+/eKHH34QzZs3F71793auw9ENbeDAgWLDhg1izpw5IiUlxRJdeCdMmCAWLVok9u/fL37//XcxYMAAkZycLI4ePSqEqO5i17hxY7FgwQKxZs0akZ2dLbKzs53vt/K2SVVWVorGjRuLJ598UvZ8KB6/4uJisX79erF+/XoBQLz55pti/fr1zl4vU6ZMEYmJieKHH34QmzZtEsOGDVPsnty5c2exatUqsWzZMtGqVStZ19aCggKRlpYmRowYIbZs2SJmzpwpYmNjg9L109P2lZWViWuvvVY0atRIbNiwQfabdPSUWL58uXjrrbfEhg0bxN69e8WMGTNESkqKuOuuuyyxfd62sbi4WDz22GNixYoVYv/+/WLevHmiS5cuolWrVqKkpMS5jlA9hg6FhYUiNjZWfPjhh27vt/ox9HZdEMKYc6eje/Ljjz8utm/fLt5//312Tw6k9957TzRu3FhERkaK7t27i5UrV5pdJE0AKP599tlnQgghcnJyRO/evUVSUpKIiooSLVu2FI8//rhsHA4hhDhw4IAYMmSIiImJEcnJyWLChAmivLzchC2Su/XWW0WDBg1EZGSkaNiwobj11lvFnj17nK+fO3dOPPTQQ6JevXoiNjZWXH/99SI3N1e2Dqtum9Svv/4qAIidO3fKng/F47dw4ULF7+TIkSOFENVdlJ977jmRlpYmoqKiRP/+/d22+8SJE+L2228XdevWFfHx8eLuu+8WxcXFsmU2btwoevbsKaKiokTDhg3FlClTTN++/fv3q/4mHePirF27VmRlZYmEhAQRHR0tLr74YvHaa6/JLvJmbp+3bTx79qwYOHCgSElJEREREaJJkyZizJgxbjd2oXoMHT7++GMRExMjCgoK3N5v9WPo7boghHHnzoULF4pLLrlEREZGiubNm8s+w1e28xtBREREZDlso0JERESWxUCFiIiILIuBChEREVkWAxUiIiKyLAYqREREZFkMVIiIiMiyGKgQERGRZTFQISIiIstioEJERESWxUCFiIiILIuBChEREVkWAxUiIiKyrP8HInoamrU8HrQAAAAASUVORK5CYII=\n" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"N = 40\n", | |
"M = 1000\n", | |
"\n", | |
"E_exp_list = []\n", | |
"for temp in range(500):\n", | |
"\n", | |
" E = 0\n", | |
" for i in range(10):\n", | |
" _, _, E_expectation = metropolis(W, N, M, temp+1)\n", | |
" E += E_expectation\n", | |
" E_avg = E/10\n", | |
"\n", | |
" E_exp_list += [E_avg]\n", | |
" if temp%100 == 0:\n", | |
" print(\"done\", temp)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "viFQ20uFW7p2", | |
"outputId": "1d428e0d-d4e1-4271-a902-bd315964de91" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"done 0\n", | |
"done 100\n", | |
"done 200\n", | |
"done 300\n", | |
"done 400\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"plt.plot(E_exp_list)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 448 | |
}, | |
"id": "oLlkQYnpZOFs", | |
"outputId": "1561f26d-2c38-4824-e388-956b0ce0d53a" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"[<matplotlib.lines.Line2D at 0x7fe25c65f5b0>]" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 108 | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
], | |
"image/png": "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NszdtGlTvbvWVPz97393//M//9O9/fbbXQBw77jjDun373znO+7QoUPdO++803366afd97znPe6UKVPcffv2educeeaZ7owZM9zHH3/cfeSRR9ypU6e6H/7wh2t8Jo3L3Llz3V/96lfuc889565YscI9++yz3YkTJ7o9PT3eNp/61KfcCRMmuAsWLHCfeuop98QTT3RPOukk7/d8Pu8eeeSR7pw5c9zly5e7f//7391Ro0a58+fPr8cpNSx33XWXe/fdd7svvfSSu2rVKvc//uM/3JaWFve5555zXZevczV44okn3MmTJ7tHH320+9nPftb7nq91Mlx99dXuEUcc4W7YsMH7t2XLFu/3RrrOLLxYcMIJJ7iXX36593ehUHDHjx/vXnvttXXsVXOjCi/FYtHt6upyv/vd73rf7dy5081ms+7vfvc713Vdd+XKlS4AuE8++aS3zT/+8Q/XcRz3zTffrFnfm4nNmze7AOAuXLjQdd3SNW1paXH/+Mc/etu88MILLgC4ixcvdl23JGSmUil348aN3jY/+9nP3M7OTrevr6+2J9BkDB8+3L3xxhv5OleB3bt3u4cccoh73333uaeeeqonvPC1To6rr77anTFjBvlbo11nNhuF0N/fD0uXLoU5c+Z436VSKZgzZw4sXry4jj0bWKxZswY2btwoXeehQ4fCrFmzvOu8ePFiGDZsGBx//PHeNnPmzIFUKgVLliypeZ+bgV27dgEAwIgRIwAAYOnSpZDL5aTrPG3aNJg4caJ0nY866igYO3ast83cuXOhu7sbnn/++Rr2vnkoFApw2223wZ49e2D27Nl8navA5ZdfDuecc450TQH4mU6al19+GcaPHw8HHXQQXHjhhbB27VoAaLzrPOAKMybN1q1boVAoSDcDAGDs2LHw4osv1qlXA4+NGzcCAJDXWfy2ceNGGDNmjPR7JpOBESNGeNswPsViET73uc/BW9/6VjjyyCMBoHQNW1tbYdiwYdK26nWm7oP4jfF59tlnYfbs2dDb2wuDBw+GO+64A6ZPnw4rVqzg65wgt912GyxbtgyefPLJwG/8TCfHrFmz4Oabb4bDDjsMNmzYAF/72tfgbW97Gzz33HMNd51ZeGGYAcrll18Ozz33HCxatKjeXRmwHHbYYbBixQrYtWsX/OlPf4KLL74YFi5cWO9uDSjWrVsHn/3sZ+G+++6Dtra2endnQHPWWWd5n48++miYNWsWTJo0Cf7whz/AoEGD6tizIGw2CmHUqFGQTqcDHtWbNm2Crq6uOvVq4CGupek6d3V1webNm6Xf8/k8bN++ne+FwhVXXAF/+9vf4MEHH4QDDzzQ+76rqwv6+/th586d0vbqdabug/iN8WltbYWpU6fCzJkz4dprr4UZM2bAj370I77OCbJ06VLYvHkzHHfccZDJZCCTycDChQvhxz/+MWQyGRg7dixf6yoxbNgwOPTQQ2H16tUN90yz8BJCa2srzJw5ExYsWOB9VywWYcGCBTB79uw69mxgMWXKFOjq6pKuc3d3NyxZssS7zrNnz4adO3fC0qVLvW0eeOABKBaLMGvWrJr3uRFxXReuuOIKuOOOO+CBBx6AKVOmSL/PnDkTWlpapOu8atUqWLt2rXSdn332WUlQvO+++6CzsxOmT59emxNpUorFIvT19fF1TpAzzjgDnn32WVixYoX37/jjj4cLL7zQ+8zXujr09PTAK6+8AuPGjWu8ZzpR998Bym233eZms1n35ptvdleuXOl+8pOfdIcNGyZ5VDPh7N69212+fLm7fPlyFwDc73//++7y5cvd119/3XXdUqj0sGHD3L/85S/uM88845577rlkqPSxxx7rLlmyxF20aJF7yCGHcKg04tOf/rQ7dOhQ96GHHpLCHffu3ett86lPfcqdOHGi+8ADD7hPPfWUO3v2bHf27Nne7yLc8Z3vfKe7YsUK95577nFHjx7NYaUKX/7yl92FCxe6a9ascZ955hn3y1/+sus4jvvPf/7TdV2+ztUERxu5Ll/rpLjyyivdhx56yF2zZo376KOPunPmzHFHjRrlbt682XXdxrrOLLxY8pOf/MSdOHGi29ra6p5wwgnu448/Xu8uNR0PPvigCwCBfxdffLHruqVw6a9+9avu2LFj3Ww2655xxhnuqlWrpDa2bdvmfvjDH3YHDx7sdnZ2updeeqm7e/fuOpxNY0JdXwBwf/WrX3nb7Nu3z/23f/s3d/jw4W57e7v73ve+192wYYPUzmuvveaeddZZ7qBBg9xRo0a5V155pZvL5Wp8No3Nv/zLv7iTJk1yW1tb3dGjR7tnnHGGJ7i4Ll/naqIKL3ytk+GCCy5wx40b57a2troHHHCAe8EFF7irV6/2fm+k6+y4rusmq8thGIZhGIapHuzzwjAMwzBMU8HCC8MwDMMwTQULLwzDMAzDNBUsvDAMwzAM01Sw8MIwDMMwTFPBwgvDMAzDME0FCy8MwzAMwzQVLLwwDMMwDNNUsPDCMAzDMExTwcILwzAMwzBNBQsvDMMwDMM0FSy8MAzDMAzTVPx/beIQski2Yy8AAAAASUVORK5CYII=\n" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [], | |
"metadata": { | |
"id": "1eUsnKDabfN1" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"def Z_matrix_from_bitstrings(bitstrings):\n", | |
"\n", | |
" num_nodes = bitstrings.shape[1]\n", | |
" Z = np.zeros((num_nodes, num_nodes))\n", | |
"\n", | |
" for i in range(num_nodes):\n", | |
" for j in range(num_nodes):\n", | |
" if i <= j:\n", | |
" Z[i,j] = (2*np.sum(bitstrings[:, i] == bitstrings[:, j])/len(bitstrings[:, i]) - 1) * ((i == j) - 1)\n", | |
" if i != j:\n", | |
" Z[j,i] = Z[i,j]\n", | |
"\n", | |
" return Z" | |
], | |
"metadata": { | |
"id": "XpGPqjbWaiDH" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"M = 2000\n", | |
"T = 1\n", | |
"\n", | |
"spin_sampled, energy_list, E_expectation = metropolis(W, N, M, T)\n", | |
"print(E_expectation)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "OsXaqKRibV3I", | |
"outputId": "7e53eb96-338a-499a-b8fa-8d3edcaca7b9" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"0.658\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"Z_mat = Z_matrix_from_bitstrings(spin_sampled)\n", | |
"arg_dict = {\"W\": W}\n", | |
"relax_and_round(Z_mat, maxcut_cost, arg_dict)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "5vDDyQGPGMmm", | |
"outputId": "63dc381d-9c2f-49c4-c02e-2b4879fab748" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"(array([-1.+0.j, -1.+0.j, -1.+0.j, 1.+0.j, -1.+0.j, -1.+0.j, -1.+0.j,\n", | |
" 1.+0.j, 1.+0.j, -1.+0.j, 1.+0.j, 1.+0.j, 1.+0.j, -1.+0.j,\n", | |
" -1.+0.j, 1.+0.j, -1.+0.j, -1.+0.j, 1.+0.j, -1.+0.j, -1.+0.j,\n", | |
" 1.+0.j, 1.+0.j, -1.+0.j, -1.+0.j, 1.+0.j, -1.+0.j, 1.+0.j,\n", | |
" -1.+0.j, -1.+0.j, 1.+0.j, -1.+0.j, -1.+0.j, -1.+0.j, -1.+0.j,\n", | |
" 1.+0.j, 1.+0.j, -1.+0.j, -1.+0.j, -1.+0.j, 1.+0.j, -1.+0.j,\n", | |
" 1.+0.j, -1.+0.j, -1.+0.j, -1.+0.j, 1.+0.j, 1.+0.j, -1.+0.j,\n", | |
" 1.+0.j]),\n", | |
" (-19+0j))" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 200 | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"# Testing" | |
], | |
"metadata": { | |
"id": "cProDB-KG6S9" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"#np.random.randint(low=0, high=1e4, size=10)\n", | |
"seed_list = [2835, 6911, 8326, 8317, 2852, 8156, 7712, 7647, 8077, 238]" | |
], | |
"metadata": { | |
"id": "z2vV2rt4HNpa" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"## $N=10$, 10 random graphs" | |
], | |
"metadata": { | |
"id": "Zt_kaaCiHBw5" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"N = 10\n", | |
"\n", | |
"gurobi_cost_list = []\n", | |
"qaoa_cost_list = []\n", | |
"qaoa_rr_cost_list = []\n", | |
"mc_rr_cost_list = []\n", | |
"\n", | |
"for g in range(10):\n", | |
"\n", | |
" num_seed = seed_list[g]\n", | |
" random_graph = nx.fast_gnp_random_graph(n=N, p=1.2*np.log(N)/N, seed=num_seed)\n", | |
" W = nx.adjacency_matrix(random_graph)\n", | |
"\n", | |
" # Gurobi\n", | |
" gurobi_solution, gurobi_cost = gurobi_opt(N, W, \"maxcut\")\n", | |
" gurobi_cost_list += [gurobi_cost]\n", | |
"\n", | |
" # vanilla QAOA\n", | |
" num_grid_qaoa_angle_search = 20\n", | |
" qaoa_cost, best_beta, best_gamma, Z_mat_qaoa = qaoa_1_layer(num_grid_qaoa_angle_search, random_graph, N)\n", | |
" qaoa_cost_list += [qaoa_cost]\n", | |
"\n", | |
" # QAOA + RR (QRR)\n", | |
" arg_dict = {\"W\": W}\n", | |
" qrr_solution, qrr_cost = relax_and_round(Z_mat_qaoa, maxcut_cost, arg_dict)\n", | |
" qaoa_rr_cost_list += [qrr_cost]\n", | |
"\n", | |
" # MC + RR\n", | |
" M = 2000\n", | |
" T = 1\n", | |
" spin_sampled, energy_list, E_expectation = metropolis(W, N, M, T)\n", | |
" Z_mat_mc = Z_matrix_from_bitstrings(spin_sampled)\n", | |
" arg_dict = {\"W\": W}\n", | |
" mcrr_solution, mcrr_cost = relax_and_round(Z_mat_mc, maxcut_cost, arg_dict)\n", | |
" mc_rr_cost_list += [mcrr_cost]\n", | |
"\n", | |
" print(gurobi_cost, qaoa_cost, qrr_cost, mcrr_cost)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "WOvIK0cMHAs4", | |
"outputId": "dde8996e-1af4-4554-cc0d-5ca37ee29908" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"Restricted license - for non-production use only - expires 2025-11-24\n", | |
"-12.0 -4.639731216500731 -12.0 -2.0\n", | |
"-8.0 -3.867639473128838 -8.0 -4.0\n", | |
"-5.0 -3.175154565687829 -5.0 -3.0\n", | |
"-13.0 -5.058836322976115 -13.0 -7.0\n", | |
"-7.0 -3.8000488011119278 -6.0 -5.0\n", | |
"-10.0 -4.873729663608051 -10.0 -8.0\n", | |
"-9.0 -4.308470043532375 -9.0 -1.0\n", | |
"-11.0 -4.544624163848869 -11.0 -5.0\n", | |
"-6.0 -3.3627856133317824 -6.0 -2.0\n", | |
"-11.0 -4.960285845528559 -11.0 -9.0\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"results = np.array([gurobi_cost_list, qaoa_cost_list, qaoa_rr_cost_list, mc_rr_cost_list])\n", | |
"np.savetxt(\"/content/drive/MyDrive/QST Master/Master's Thesis/Testing Results/N=10.txt\", results)" | |
], | |
"metadata": { | |
"id": "mIkzarvUPWms" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"gurobi_cost_avg = np.average(gurobi_cost_list)\n", | |
"qaoa_cost_avg = np.average(qaoa_cost_list)\n", | |
"qaoa_rr_cost_avg = np.average(qaoa_rr_cost_list)\n", | |
"mc_rr_cost_avg = np.average(mc_rr_cost_list)\n", | |
"\n", | |
"algos = [\"Gurobi\", \"QAOA (vanilla)\", \"QAOA + RR\", \"MC + RR\"]\n", | |
"values = -1*np.array([gurobi_cost_avg, qaoa_cost_avg, qaoa_rr_cost_avg, mc_rr_cost_avg])\n", | |
"\n", | |
"plt.bar(algos, values, color ='maroon',\n", | |
" width = 0.4)\n", | |
"\n", | |
"plt.xlabel(\"Algorithms\")\n", | |
"plt.ylabel(\"-1*C(x)\")\n", | |
"plt.title(\"N=10, average from 10 random graphs\")\n", | |
"plt.show()" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 472 | |
}, | |
"id": "HzVsGaTOQMKU", | |
"outputId": "aa4b2b78-d989-4840-fe3e-7fa1ed036106" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
], | |
"image/png": "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\n" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"# only for maxcut\n", | |
"def qaoa_1_layer(num_grid, graph, N):\n", | |
"\n", | |
" beta_search_space = np.linspace(-np.pi/2, np.pi/2, num_grid)\n", | |
" gamma_search_space = np.linspace(-np.pi/2, np.pi/2, num_grid)\n", | |
"\n", | |
" W = nx.adjacency_matrix(graph)\n", | |
" h_params = W.diagonal()\n", | |
" J_params = W.copy()\n", | |
"\n", | |
" cost = 1e10\n", | |
" best_beta = 0\n", | |
" best_gamma = 0\n", | |
"\n", | |
" cost_landscape_qaoa = np.zeros((num_grid, num_grid))\n", | |
" cost_landscape_qrr = np.zeros((num_grid, num_grid))\n", | |
"\n", | |
" for i in range(num_grid):\n", | |
" for j in range(num_grid):\n", | |
" new_cost = maxcut_qaoa_1_layer_cost(beta_search_space[i], gamma_search_space[j], h_params, J_params, graph, N)\n", | |
" cost_landscape_qaoa[i,j] = new_cost\n", | |
"\n", | |
" Z_mat = Z_matrix_from_qaoa(beta_search_space[i], gamma_search_space[j], h_params, J_params, graph, N)\n", | |
" arg_dict = {\"W\": W}\n", | |
" qrr_solution, qrr_cost = relax_and_round(Z_mat, maxcut_cost, arg_dict)\n", | |
" cost_landscape_qrr[i,j] = qrr_cost\n", | |
"\n", | |
" if new_cost < cost:\n", | |
" cost = new_cost\n", | |
" best_beta = beta_search_space[i]\n", | |
" best_gamma = gamma_search_space[j]\n", | |
"\n", | |
" Z_mat = Z_matrix_from_qaoa(best_beta, best_gamma, h_params, J_params, graph, N)\n", | |
"\n", | |
" return cost, best_beta, best_gamma, Z_mat, cost_landscape_qaoa, cost_landscape_qrr" | |
], | |
"metadata": { | |
"id": "UNdqehtLwGtA" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"seed_list = [2835, 6911, 8326, 8317, 2852, 8156, 7712, 7647, 8077, 238]\n", | |
"\n", | |
"N = 10\n", | |
"\n", | |
"gurobi_cost_list = []\n", | |
"qaoa_cost_list = []\n", | |
"qaoa_rr_cost_list = []\n", | |
"\n", | |
"cost_landscape_qaoa_list = []\n", | |
"cost_landscape_qrr_list = []\n", | |
"\n", | |
"for g in range(10):\n", | |
"\n", | |
" num_seed = seed_list[g]\n", | |
" random_graph = nx.fast_gnp_random_graph(n=N, p=1.2*np.log(N)/N, seed=num_seed)\n", | |
" W = nx.adjacency_matrix(random_graph)\n", | |
"\n", | |
" # Gurobi\n", | |
" gurobi_solution, gurobi_cost = gurobi_opt(N, W, \"maxcut\")\n", | |
" gurobi_cost_list += [gurobi_cost]\n", | |
"\n", | |
" # vanilla QAOA\n", | |
" num_grid_qaoa_angle_search = 40\n", | |
" qaoa_cost, best_beta, best_gamma, Z_mat_qaoa, cost_landscape_qaoa, cost_landscape_qrr = qaoa_1_layer(num_grid_qaoa_angle_search, random_graph, N)\n", | |
" cost_landscape_qaoa_list += [cost_landscape_qaoa]\n", | |
" cost_landscape_qrr_list += [cost_landscape_qrr]\n", | |
" qaoa_cost_list += [qaoa_cost]\n", | |
"\n", | |
" # QAOA + RR (QRR)\n", | |
" arg_dict = {\"W\": W}\n", | |
" qrr_solution, qrr_cost = relax_and_round(Z_mat_qaoa, maxcut_cost, arg_dict)\n", | |
" qaoa_rr_cost_list += [qrr_cost]\n", | |
"\n", | |
" print(gurobi_cost, qaoa_cost, qrr_cost)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "fPyFsp5_u0a_", | |
"outputId": "46e0f93b-54d1-4681-9a18-fce218d8982a" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"-12.0 -4.871532976903399 -12.0\n" | |
] | |
}, | |
{ | |
"output_type": "stream", | |
"name": "stderr", | |
"text": [ | |
"<ipython-input-94-837eae2c3265>:26: ComplexWarning:\n", | |
"\n", | |
"Casting complex values to real discards the imaginary part\n", | |
"\n" | |
] | |
}, | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"-8.0 -3.9974908216946687 -8.0\n", | |
"-5.0 -3.202124722729204 -5.0\n", | |
"-13.0 -5.17727985319359 -13.0\n", | |
"-7.0 -3.9917075212328985 -6.0\n", | |
"-10.0 -5.0319972633771615 -10.0\n", | |
"-9.0 -4.523592471852352 -9.0\n", | |
"-11.0 -4.746781064023974 -11.0\n", | |
"-6.0 -3.409704642884605 -6.0\n", | |
"-11.0 -5.069895127143523 -11.0\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"qaoa_approx_average = np.average([cost_landscape_qaoa_list[i]/gurobi_cost_list[i] for i in range(len(cost_landscape_qaoa_list))], axis=0)\n", | |
"qrr_approx_average = np.average([cost_landscape_qrr_list[i]/gurobi_cost_list[i] for i in range(len(cost_landscape_qrr_list))], axis=0)\n", | |
"\n", | |
"np.max(np.round(qaoa_approx_average, 3)), np.max(np.round(qrr_approx_average, 3))" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "uAJWC7fT-fZI", | |
"outputId": "ce53d9ac-ed4e-4daa-8d03-b9951f821601" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"(0.488, 0.986)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 96 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"np.savetxt(\"/content/drive/MyDrive/QST Master/Master's Thesis/Testing Results/N=10 QAOA approx average landscape.txt\", qaoa_approx_average)\n", | |
"np.savetxt(\"/content/drive/MyDrive/QST Master/Master's Thesis/Testing Results/N=10 QRR approx average landscape.txt\", qrr_approx_average)" | |
], | |
"metadata": { | |
"id": "TO6McO7BEX7k" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"- p=1-layer QAOA, exact calculation (Ozaeta, et al.)\n", | |
"- grid search 40 β points x 40 γ points, both between -π/2 to π/2.\n", | |
"- comparing energy ratio of vanilla QAOA vs QRR, assuming Gurobi results as the true maximum cut.\n", | |
"- average of 10 random graphs with 10 nodes each." | |
], | |
"metadata": { | |
"id": "rK1dTa0Q4zDW" | |
} | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"$$\n", | |
"E = \\Sigma_{i, i<j} \\Sigma_j \\langle \\sigma_i \\sigma_j \\rangle \\text{, the lower the better, can be positive or negative.}\n", | |
"\\\\\n", | |
"E_{ratio} = \\frac{E_{qaoa/qrr}}{E_{gurobi}} \\text{, the higher the better, can be positive or negative, maximum is 1.0.}\n", | |
"$$" | |
], | |
"metadata": { | |
"id": "SGqBmG90-GyV" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"import plotly.graph_objects as go\n", | |
"import pandas as pd\n", | |
"import numpy as np\n", | |
"\n", | |
"num_grid_qaoa_angle_search = 40\n", | |
"beta_search_space = np.linspace(-np.pi/2, np.pi/2, num_grid_qaoa_angle_search)\n", | |
"gamma_search_space = np.linspace(-np.pi/2, np.pi/2, num_grid_qaoa_angle_search)\n", | |
"\n", | |
"fig = go.Figure(data=[\n", | |
" go.Surface(z=np.round(qaoa_approx_average, 3), x=beta_search_space, y=gamma_search_space, showscale=False, name = \"Vanilla QAOA\"),\n", | |
" go.Surface(z=np.round(qrr_approx_average, 3), x=beta_search_space, y=gamma_search_space, showscale=False, colorscale ='Blues', name=\"QRR\")\n", | |
"])\n", | |
"\n", | |
"fig.update_layout(title='MaxCut Energy Ratio (Red = Vanilla QAOA, Blue = QRR)', autosize=False,\n", | |
" scene = dict(\n", | |
" xaxis_title='β angles',\n", | |
" yaxis_title='γ angles',\n", | |
" zaxis_title='Energy Ratio'),\n", | |
" width=1000, height=1000,\n", | |
" margin=dict(l=65, r=50, b=65, t=90), showlegend=True)\n", | |
"fig.show()" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 1000 | |
}, | |
"id": "fVALob7jxXrs", | |
"outputId": "bbe9e830-14e8-4341-d7d6-83257455bff3" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/html": [ | |
"<html>\n", | |
"<head><meta charset=\"utf-8\" /></head>\n", | |
"<body>\n", | |
" <div> <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script> <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n", | |
" <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.35.2.min.js\"></script> <div id=\"83f97802-c210-4260-aa7c-ad903140ddc0\" class=\"plotly-graph-div\" style=\"height:1000px; width:1000px;\"></div> <script type=\"text/javascript\"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"83f97802-c210-4260-aa7c-ad903140ddc0\")) { Plotly.newPlot( \"83f97802-c210-4260-aa7c-ad903140ddc0\", [{\"name\":\"Vanilla QAOA\",\"showscale\":false,\"x\":[-1.5707963267948966,-1.4902426690105428,-1.4096890112261893,-1.3291353534418355,-1.248581695657482,-1.1680280378731283,-1.0874743800887745,-1.0069207223044208,-0.9263670645200672,-0.8458134067357136,-0.76525974895136,-0.6847060911670062,-0.6041524333826526,-0.5235987755982989,-0.4430451178139452,-0.36249146002959165,-0.2819378022452379,-0.20138414446088415,-0.12083048667653062,-0.040276828892176875,0.04027682889217665,0.1208304866765304,0.20138414446088415,0.2819378022452377,0.36249146002959143,0.44304511781394496,0.5235987755982987,0.6041524333826525,0.6847060911670062,0.76525974895136,0.8458134067357133,0.926367064520067,1.0069207223044208,1.0874743800887745,1.1680280378731283,1.2485816956574816,1.3291353534418353,1.409689011226189,1.4902426690105428,1.5707963267948966],\"y\":[-1.5707963267948966,-1.4902426690105428,-1.4096890112261893,-1.3291353534418355,-1.248581695657482,-1.1680280378731283,-1.0874743800887745,-1.0069207223044208,-0.9263670645200672,-0.8458134067357136,-0.76525974895136,-0.6847060911670062,-0.6041524333826526,-0.5235987755982989,-0.4430451178139452,-0.36249146002959165,-0.2819378022452379,-0.20138414446088415,-0.12083048667653062,-0.040276828892176875,0.04027682889217665,0.1208304866765304,0.20138414446088415,0.2819378022452377,0.36249146002959143,0.44304511781394496,0.5235987755982987,0.6041524333826525,0.6847060911670062,0.76525974895136,0.8458134067357133,0.926367064520067,1.0069207223044208,1.0874743800887745,1.1680280378731283,1.2485816956574816,1.3291353534418353,1.409689011226189,1.4902426690105428,1.5707963267948966],\"z\":[[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0],[0.0,0.001,0.003,0.005,0.009,0.012,0.015,0.019,0.023,0.031,0.044,0.063,0.089,0.118,0.145,0.163,0.163,0.141,0.096,0.034,-0.035,-0.098,-0.144,-0.166,-0.166,-0.147,-0.119,-0.089,-0.063,-0.044,-0.031,-0.023,-0.018,-0.015,-0.011,-0.008,-0.004,-0.002,-0.001,-0.0],[0.0,0.002,0.005,0.011,0.017,0.024,0.03,0.036,0.044,0.058,0.083,0.119,0.168,0.223,0.273,0.305,0.305,0.264,0.181,0.065,-0.066,-0.187,-0.276,-0.319,-0.317,-0.281,-0.226,-0.169,-0.119,-0.083,-0.058,-0.044,-0.035,-0.028,-0.021,-0.014,-0.008,-0.003,-0.001,-0.0],[0.0,0.003,0.008,0.016,0.025,0.034,0.042,0.049,0.06,0.08,0.113,0.163,0.229,0.304,0.371,0.414,0.413,0.358,0.246,0.089,-0.09,-0.259,-0.383,-0.443,-0.439,-0.387,-0.311,-0.232,-0.164,-0.113,-0.08,-0.06,-0.047,-0.037,-0.027,-0.018,-0.009,-0.004,-0.001,-0.0],[0.0,0.003,0.011,0.021,0.032,0.041,0.05,0.058,0.071,0.093,0.132,0.19,0.267,0.353,0.429,0.476,0.474,0.411,0.284,0.103,-0.106,-0.305,-0.453,-0.525,-0.519,-0.456,-0.365,-0.271,-0.191,-0.132,-0.093,-0.07,-0.054,-0.042,-0.03,-0.018,-0.009,-0.003,-0.001,-0.0],[0.0,0.004,0.012,0.024,0.035,0.045,0.053,0.061,0.074,0.097,0.137,0.198,0.277,0.364,0.441,0.487,0.483,0.419,0.291,0.107,-0.111,-0.321,-0.48,-0.556,-0.549,-0.48,-0.382,-0.283,-0.199,-0.137,-0.097,-0.072,-0.056,-0.042,-0.029,-0.017,-0.007,-0.002,-0.001,-0.0],[0.0,0.004,0.014,0.025,0.037,0.045,0.052,0.058,0.069,0.091,0.128,0.185,0.258,0.338,0.406,0.444,0.439,0.381,0.267,0.099,-0.104,-0.306,-0.46,-0.534,-0.525,-0.456,-0.361,-0.265,-0.186,-0.129,-0.091,-0.067,-0.051,-0.038,-0.024,-0.012,-0.004,-0.0,-0.0,-0.0],[0.0,0.004,0.014,0.025,0.035,0.042,0.046,0.05,0.058,0.075,0.106,0.153,0.213,0.276,0.327,0.353,0.345,0.301,0.214,0.081,-0.087,-0.261,-0.396,-0.46,-0.45,-0.387,-0.303,-0.221,-0.154,-0.106,-0.075,-0.055,-0.041,-0.029,-0.016,-0.005,0.001,0.002,0.001,-0.0],[0.0,0.004,0.013,0.023,0.031,0.034,0.035,0.036,0.04,0.052,0.073,0.105,0.145,0.184,0.212,0.222,0.213,0.186,0.137,0.055,-0.062,-0.191,-0.294,-0.343,-0.332,-0.28,-0.215,-0.155,-0.107,-0.073,-0.052,-0.038,-0.027,-0.016,-0.006,0.003,0.007,0.005,0.001,-0.0],[0.0,0.004,0.012,0.02,0.024,0.024,0.022,0.019,0.019,0.023,0.033,0.047,0.062,0.073,0.074,0.066,0.055,0.05,0.045,0.022,-0.03,-0.102,-0.165,-0.194,-0.182,-0.147,-0.106,-0.072,-0.048,-0.033,-0.023,-0.016,-0.009,-0.001,0.006,0.012,0.012,0.008,0.002,-0.0],[-0.0,0.003,0.009,0.015,0.016,0.012,0.006,0.0,-0.004,-0.008,-0.011,-0.017,-0.028,-0.047,-0.074,-0.101,-0.112,-0.095,-0.054,-0.013,0.005,-0.004,-0.022,-0.028,-0.018,0.0,0.013,0.017,0.015,0.011,0.008,0.007,0.01,0.014,0.018,0.02,0.017,0.011,0.003,0.0],[-0.0,0.002,0.007,0.009,0.007,0.0,-0.009,-0.018,-0.027,-0.038,-0.054,-0.079,-0.115,-0.163,-0.216,-0.26,-0.271,-0.232,-0.148,-0.046,0.039,0.092,0.12,0.136,0.146,0.145,0.13,0.105,0.077,0.054,0.038,0.03,0.028,0.029,0.03,0.028,0.022,0.012,0.004,0.0],[-0.0,0.001,0.004,0.004,-0.001,-0.011,-0.023,-0.034,-0.047,-0.064,-0.091,-0.132,-0.19,-0.262,-0.338,-0.395,-0.406,-0.349,-0.229,-0.076,0.069,0.178,0.247,0.283,0.292,0.273,0.233,0.181,0.131,0.091,0.065,0.05,0.043,0.041,0.038,0.033,0.024,0.014,0.004,0.0],[-0.0,0.0,0.001,-0.001,-0.009,-0.021,-0.034,-0.047,-0.062,-0.084,-0.119,-0.173,-0.247,-0.336,-0.427,-0.493,-0.503,-0.433,-0.287,-0.097,0.092,0.244,0.346,0.398,0.404,0.371,0.311,0.239,0.171,0.119,0.084,0.064,0.055,0.049,0.044,0.036,0.025,0.014,0.004,0.0],[-0.0,-0.001,-0.001,-0.005,-0.015,-0.027,-0.041,-0.054,-0.071,-0.095,-0.135,-0.195,-0.278,-0.376,-0.474,-0.543,-0.552,-0.476,-0.318,-0.109,0.104,0.283,0.406,0.467,0.472,0.429,0.356,0.271,0.194,0.135,0.095,0.073,0.06,0.053,0.046,0.036,0.025,0.013,0.004,0.0],[-0.0,-0.001,-0.003,-0.008,-0.018,-0.03,-0.043,-0.056,-0.072,-0.096,-0.136,-0.198,-0.28,-0.378,-0.474,-0.54,-0.547,-0.472,-0.317,-0.11,0.107,0.292,0.421,0.485,0.488,0.441,0.363,0.276,0.197,0.136,0.096,0.073,0.06,0.052,0.044,0.034,0.022,0.012,0.004,0.0],[-0.0,-0.001,-0.004,-0.009,-0.018,-0.029,-0.04,-0.051,-0.066,-0.088,-0.124,-0.18,-0.255,-0.342,-0.427,-0.485,-0.49,-0.423,-0.285,-0.1,0.097,0.269,0.39,0.45,0.451,0.406,0.333,0.252,0.179,0.124,0.088,0.066,0.054,0.046,0.038,0.029,0.019,0.009,0.003,0.0],[-0.0,-0.001,-0.004,-0.009,-0.016,-0.025,-0.033,-0.041,-0.052,-0.07,-0.099,-0.143,-0.203,-0.272,-0.338,-0.383,-0.386,-0.333,-0.226,-0.079,0.078,0.217,0.315,0.364,0.365,0.327,0.267,0.201,0.143,0.099,0.07,0.053,0.043,0.036,0.029,0.022,0.014,0.007,0.002,0.0],[-0.0,-0.001,-0.003,-0.006,-0.011,-0.016,-0.022,-0.027,-0.034,-0.045,-0.064,-0.092,-0.13,-0.175,-0.216,-0.244,-0.246,-0.212,-0.144,-0.051,0.05,0.141,0.206,0.238,0.237,0.212,0.173,0.13,0.092,0.064,0.045,0.034,0.028,0.023,0.018,0.013,0.008,0.004,0.001,0.0],[-0.0,-0.0,-0.001,-0.002,-0.004,-0.006,-0.008,-0.009,-0.012,-0.016,-0.022,-0.032,-0.045,-0.06,-0.074,-0.083,-0.084,-0.073,-0.049,-0.018,0.017,0.049,0.072,0.083,0.083,0.074,0.06,0.045,0.032,0.022,0.016,0.012,0.009,0.008,0.006,0.004,0.003,0.001,0.0,0.0],[0.0,0.0,0.001,0.003,0.004,0.006,0.008,0.009,0.012,0.016,0.022,0.032,0.045,0.06,0.074,0.083,0.083,0.072,0.049,0.017,-0.018,-0.049,-0.073,-0.084,-0.083,-0.074,-0.06,-0.045,-0.032,-0.022,-0.016,-0.012,-0.009,-0.008,-0.006,-0.004,-0.002,-0.001,-0.0,-0.0],[0.0,0.001,0.004,0.008,0.013,0.018,0.023,0.028,0.034,0.045,0.064,0.092,0.13,0.173,0.212,0.237,0.238,0.206,0.141,0.05,-0.051,-0.144,-0.212,-0.246,-0.244,-0.216,-0.175,-0.13,-0.092,-0.064,-0.045,-0.034,-0.027,-0.022,-0.016,-0.011,-0.006,-0.003,-0.001,-0.0],[0.0,0.002,0.007,0.014,0.022,0.029,0.036,0.043,0.053,0.07,0.099,0.143,0.201,0.267,0.327,0.365,0.364,0.315,0.217,0.078,-0.079,-0.226,-0.333,-0.386,-0.383,-0.338,-0.272,-0.203,-0.143,-0.099,-0.07,-0.052,-0.041,-0.033,-0.025,-0.016,-0.009,-0.004,-0.001,-0.0],[0.0,0.003,0.009,0.019,0.029,0.038,0.046,0.054,0.066,0.088,0.124,0.179,0.252,0.333,0.406,0.451,0.45,0.39,0.269,0.097,-0.1,-0.285,-0.423,-0.49,-0.485,-0.427,-0.342,-0.255,-0.18,-0.124,-0.088,-0.066,-0.051,-0.04,-0.029,-0.018,-0.009,-0.004,-0.001,-0.0],[0.0,0.004,0.012,0.022,0.034,0.044,0.052,0.06,0.073,0.096,0.136,0.197,0.276,0.363,0.441,0.488,0.485,0.421,0.292,0.107,-0.11,-0.317,-0.472,-0.547,-0.54,-0.474,-0.378,-0.28,-0.198,-0.136,-0.096,-0.072,-0.056,-0.043,-0.03,-0.018,-0.008,-0.003,-0.001,-0.0],[0.0,0.004,0.013,0.025,0.036,0.046,0.053,0.06,0.073,0.095,0.135,0.194,0.271,0.356,0.429,0.472,0.467,0.406,0.283,0.104,-0.109,-0.318,-0.476,-0.552,-0.543,-0.474,-0.376,-0.278,-0.195,-0.135,-0.095,-0.071,-0.054,-0.041,-0.027,-0.015,-0.005,-0.001,-0.001,-0.0],[0.0,0.004,0.014,0.025,0.036,0.044,0.049,0.055,0.064,0.084,0.119,0.171,0.239,0.311,0.371,0.404,0.398,0.346,0.244,0.092,-0.097,-0.287,-0.433,-0.503,-0.493,-0.427,-0.336,-0.247,-0.173,-0.119,-0.084,-0.062,-0.047,-0.034,-0.021,-0.009,-0.001,0.001,0.0,-0.0],[0.0,0.004,0.014,0.024,0.033,0.038,0.041,0.043,0.05,0.065,0.091,0.131,0.181,0.233,0.273,0.292,0.283,0.247,0.178,0.069,-0.076,-0.229,-0.349,-0.406,-0.395,-0.338,-0.262,-0.19,-0.132,-0.091,-0.064,-0.047,-0.034,-0.023,-0.011,-0.001,0.004,0.004,0.001,-0.0],[0.0,0.004,0.012,0.022,0.028,0.03,0.029,0.028,0.03,0.038,0.054,0.077,0.105,0.13,0.145,0.146,0.136,0.12,0.092,0.039,-0.046,-0.148,-0.232,-0.271,-0.26,-0.216,-0.163,-0.115,-0.079,-0.054,-0.038,-0.027,-0.018,-0.009,0.0,0.007,0.009,0.007,0.002,-0.0],[0.0,0.003,0.011,0.017,0.02,0.018,0.014,0.01,0.007,0.008,0.011,0.015,0.017,0.013,0.0,-0.018,-0.028,-0.022,-0.004,0.005,-0.013,-0.054,-0.095,-0.112,-0.101,-0.074,-0.047,-0.028,-0.017,-0.011,-0.008,-0.004,0.0,0.006,0.012,0.016,0.015,0.009,0.003,-0.0],[-0.0,0.002,0.008,0.012,0.012,0.006,-0.001,-0.009,-0.016,-0.023,-0.033,-0.048,-0.072,-0.106,-0.147,-0.182,-0.194,-0.165,-0.102,-0.03,0.022,0.045,0.05,0.055,0.066,0.074,0.073,0.062,0.047,0.033,0.023,0.019,0.019,0.022,0.024,0.024,0.02,0.012,0.004,0.0],[-0.0,0.001,0.005,0.007,0.003,-0.006,-0.016,-0.027,-0.038,-0.052,-0.073,-0.107,-0.155,-0.215,-0.28,-0.332,-0.343,-0.294,-0.191,-0.062,0.055,0.137,0.186,0.213,0.222,0.212,0.184,0.145,0.105,0.073,0.052,0.04,0.036,0.035,0.034,0.031,0.023,0.013,0.004,0.0],[-0.0,0.001,0.002,0.001,-0.005,-0.016,-0.029,-0.041,-0.055,-0.075,-0.106,-0.154,-0.221,-0.303,-0.387,-0.45,-0.46,-0.396,-0.261,-0.087,0.081,0.214,0.301,0.345,0.353,0.327,0.276,0.213,0.153,0.106,0.075,0.058,0.05,0.046,0.042,0.035,0.025,0.014,0.004,0.0],[-0.0,-0.0,-0.0,-0.004,-0.012,-0.024,-0.038,-0.051,-0.067,-0.091,-0.129,-0.186,-0.265,-0.361,-0.456,-0.525,-0.534,-0.46,-0.306,-0.104,0.099,0.267,0.381,0.439,0.444,0.406,0.338,0.258,0.185,0.128,0.091,0.069,0.058,0.052,0.045,0.037,0.025,0.014,0.004,0.0],[-0.0,-0.001,-0.002,-0.007,-0.017,-0.029,-0.042,-0.056,-0.072,-0.097,-0.137,-0.199,-0.283,-0.382,-0.48,-0.549,-0.556,-0.48,-0.321,-0.111,0.107,0.291,0.419,0.483,0.487,0.441,0.364,0.277,0.198,0.137,0.097,0.074,0.061,0.053,0.045,0.035,0.024,0.012,0.004,0.0],[-0.0,-0.001,-0.003,-0.009,-0.018,-0.03,-0.042,-0.054,-0.07,-0.093,-0.132,-0.191,-0.271,-0.365,-0.456,-0.519,-0.525,-0.453,-0.305,-0.106,0.103,0.284,0.411,0.474,0.476,0.429,0.353,0.267,0.19,0.132,0.093,0.071,0.058,0.05,0.041,0.032,0.021,0.011,0.003,0.0],[-0.0,-0.001,-0.004,-0.009,-0.018,-0.027,-0.037,-0.047,-0.06,-0.08,-0.113,-0.164,-0.232,-0.311,-0.387,-0.439,-0.443,-0.383,-0.259,-0.09,0.089,0.246,0.358,0.413,0.414,0.371,0.304,0.229,0.163,0.113,0.08,0.06,0.049,0.042,0.034,0.025,0.016,0.008,0.003,0.0],[-0.0,-0.001,-0.003,-0.008,-0.014,-0.021,-0.028,-0.035,-0.044,-0.058,-0.083,-0.119,-0.169,-0.226,-0.281,-0.317,-0.319,-0.276,-0.187,-0.066,0.065,0.181,0.264,0.305,0.305,0.273,0.223,0.168,0.119,0.083,0.058,0.044,0.036,0.03,0.024,0.017,0.011,0.005,0.002,0.0],[-0.0,-0.001,-0.002,-0.004,-0.008,-0.011,-0.015,-0.018,-0.023,-0.031,-0.044,-0.063,-0.089,-0.119,-0.147,-0.166,-0.166,-0.144,-0.098,-0.035,0.034,0.096,0.141,0.163,0.163,0.145,0.118,0.089,0.063,0.044,0.031,0.023,0.019,0.015,0.012,0.009,0.005,0.003,0.001,0.0],[-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]],\"type\":\"surface\"},{\"colorscale\":[[0.0,\"rgb(247,251,255)\"],[0.125,\"rgb(222,235,247)\"],[0.25,\"rgb(198,219,239)\"],[0.375,\"rgb(158,202,225)\"],[0.5,\"rgb(107,174,214)\"],[0.625,\"rgb(66,146,198)\"],[0.75,\"rgb(33,113,181)\"],[0.875,\"rgb(8,81,156)\"],[1.0,\"rgb(8,48,107)\"]],\"name\":\"QRR\",\"showscale\":false,\"x\":[-1.5707963267948966,-1.4902426690105428,-1.4096890112261893,-1.3291353534418355,-1.248581695657482,-1.1680280378731283,-1.0874743800887745,-1.0069207223044208,-0.9263670645200672,-0.8458134067357136,-0.76525974895136,-0.6847060911670062,-0.6041524333826526,-0.5235987755982989,-0.4430451178139452,-0.36249146002959165,-0.2819378022452379,-0.20138414446088415,-0.12083048667653062,-0.040276828892176875,0.04027682889217665,0.1208304866765304,0.20138414446088415,0.2819378022452377,0.36249146002959143,0.44304511781394496,0.5235987755982987,0.6041524333826525,0.6847060911670062,0.76525974895136,0.8458134067357133,0.926367064520067,1.0069207223044208,1.0874743800887745,1.1680280378731283,1.2485816956574816,1.3291353534418353,1.409689011226189,1.4902426690105428,1.5707963267948966],\"y\":[-1.5707963267948966,-1.4902426690105428,-1.4096890112261893,-1.3291353534418355,-1.248581695657482,-1.1680280378731283,-1.0874743800887745,-1.0069207223044208,-0.9263670645200672,-0.8458134067357136,-0.76525974895136,-0.6847060911670062,-0.6041524333826526,-0.5235987755982989,-0.4430451178139452,-0.36249146002959165,-0.2819378022452379,-0.20138414446088415,-0.12083048667653062,-0.040276828892176875,0.04027682889217665,0.1208304866765304,0.20138414446088415,0.2819378022452377,0.36249146002959143,0.44304511781394496,0.5235987755982987,0.6041524333826525,0.6847060911670062,0.76525974895136,0.8458134067357133,0.926367064520067,1.0069207223044208,1.0874743800887745,1.1680280378731283,1.2485816956574816,1.3291353534418353,1.409689011226189,1.4902426690105428,1.5707963267948966],\"z\":[[0.463,0.488,0.528,0.528,0.538,0.574,0.59,0.578,0.579,0.532,0.932,0.932,0.932,0.966,0.986,0.986,0.986,0.966,0.966,0.966,0.966,0.966,0.966,0.986,0.986,0.986,0.966,0.932,0.932,0.932,0.557,0.579,0.578,0.59,0.574,0.596,0.528,0.488,0.488,0.451],[0.44,0.482,0.528,0.528,0.538,0.593,0.59,0.578,0.558,0.532,0.932,0.932,0.932,0.966,0.986,0.986,0.986,0.986,0.966,0.966,0.966,0.966,0.966,0.966,0.986,0.986,0.966,0.932,0.932,0.932,0.55,0.539,0.578,0.59,0.574,0.538,0.466,0.486,0.404,0.437],[0.442,0.503,0.522,0.464,0.538,0.574,0.63,0.618,0.608,0.568,0.932,0.932,0.932,0.966,0.986,0.986,0.986,0.986,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.932,0.932,0.932,0.532,0.579,0.578,0.63,0.614,0.516,0.466,0.401,0.421,0.446],[0.477,0.506,0.449,0.519,0.539,0.614,0.652,0.578,0.579,0.572,0.932,0.904,0.932,0.966,0.986,0.986,0.986,0.986,0.986,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.932,0.932,0.932,0.612,0.568,0.618,0.59,0.552,0.536,0.425,0.404,0.364,0.451],[0.485,0.506,0.478,0.489,0.514,0.63,0.612,0.578,0.539,0.612,0.932,0.904,0.932,0.966,0.986,0.986,0.986,0.986,0.986,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.932,0.932,0.932,0.572,0.616,0.593,0.59,0.592,0.434,0.442,0.364,0.367,0.485],[0.483,0.546,0.546,0.536,0.514,0.566,0.652,0.578,0.539,0.532,0.932,0.904,0.948,0.966,0.986,0.986,0.986,0.986,0.986,0.966,0.966,0.986,0.986,0.946,0.966,0.966,0.966,0.932,0.932,0.932,0.572,0.616,0.574,0.574,0.535,0.434,0.349,0.349,0.407,0.469],[0.477,0.546,0.543,0.493,0.536,0.584,0.612,0.618,0.579,0.572,0.932,0.904,0.948,0.966,0.986,0.986,0.986,0.986,0.986,0.966,0.966,0.986,0.986,0.986,0.946,0.966,0.966,0.932,0.932,0.932,0.532,0.604,0.596,0.552,0.572,0.474,0.423,0.389,0.407,0.487],[0.416,0.503,0.543,0.503,0.579,0.568,0.61,0.578,0.539,0.532,0.932,0.904,0.948,0.966,0.986,0.966,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.966,0.966,0.966,0.932,0.932,0.932,0.572,0.539,0.596,0.552,0.549,0.453,0.367,0.385,0.389,0.445],[0.485,0.503,0.558,0.562,0.63,0.561,0.568,0.608,0.616,0.532,0.932,0.904,0.948,0.986,0.986,0.966,0.948,0.986,0.986,0.986,0.986,0.986,0.966,0.966,0.986,0.946,0.966,0.932,0.932,0.932,0.532,0.579,0.499,0.568,0.491,0.467,0.381,0.475,0.383,0.472],[0.451,0.522,0.49,0.47,0.52,0.513,0.538,0.598,0.626,0.532,0.932,0.904,0.948,0.986,0.934,0.898,0.831,0.858,0.928,0.986,0.968,0.948,0.948,0.966,0.986,0.966,0.89,0.91,0.932,0.932,0.532,0.564,0.55,0.575,0.522,0.529,0.511,0.508,0.435,0.458],[0.477,0.471,0.44,0.44,0.519,0.512,0.595,0.57,0.531,0.6,0.932,0.91,0.925,0.97,0.968,0.928,0.95,0.966,0.966,0.929,0.873,0.914,0.914,0.914,0.868,0.848,0.845,0.894,0.948,0.904,0.572,0.594,0.594,0.528,0.578,0.56,0.51,0.51,0.452,0.437],[0.447,0.403,0.384,0.399,0.493,0.517,0.488,0.535,0.572,0.532,0.932,0.932,0.932,0.95,0.95,0.966,0.966,0.948,0.968,0.986,0.986,0.968,0.948,0.948,0.948,0.986,0.986,0.948,0.904,0.932,0.532,0.579,0.555,0.494,0.536,0.578,0.546,0.54,0.503,0.449],[0.447,0.364,0.419,0.425,0.473,0.592,0.57,0.556,0.539,0.568,0.932,0.932,0.932,0.966,0.946,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.966,0.986,0.966,0.948,0.904,0.932,0.568,0.579,0.578,0.588,0.598,0.561,0.522,0.522,0.543,0.469],[0.451,0.367,0.407,0.367,0.493,0.549,0.617,0.596,0.539,0.586,0.932,0.932,0.932,0.966,0.966,0.966,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.966,0.948,0.904,0.932,0.572,0.539,0.618,0.613,0.548,0.514,0.543,0.543,0.524,0.458],[0.487,0.392,0.385,0.364,0.49,0.517,0.574,0.556,0.539,0.532,0.932,0.932,0.932,0.966,0.966,0.966,0.986,0.986,0.986,0.966,0.966,0.986,0.986,0.986,0.986,0.986,0.966,0.948,0.904,0.932,0.532,0.579,0.578,0.652,0.606,0.514,0.499,0.546,0.546,0.497],[0.458,0.349,0.404,0.445,0.471,0.577,0.59,0.556,0.539,0.572,0.932,0.932,0.932,0.966,0.966,0.966,0.966,0.986,0.986,0.966,0.966,0.986,0.986,0.986,0.986,0.986,0.966,0.932,0.904,0.932,0.572,0.579,0.615,0.612,0.63,0.554,0.449,0.506,0.506,0.449],[0.46,0.349,0.425,0.43,0.476,0.552,0.59,0.618,0.608,0.532,0.932,0.932,0.932,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.986,0.986,0.986,0.986,0.986,0.966,0.932,0.904,0.932,0.532,0.539,0.578,0.612,0.574,0.554,0.482,0.518,0.524,0.457],[0.503,0.401,0.404,0.385,0.516,0.574,0.59,0.618,0.539,0.532,0.932,0.932,0.932,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.986,0.986,0.986,0.986,0.966,0.932,0.932,0.932,0.572,0.576,0.655,0.59,0.574,0.538,0.482,0.519,0.524,0.436],[0.51,0.401,0.401,0.466,0.516,0.639,0.59,0.618,0.568,0.586,0.932,0.932,0.932,0.966,0.986,0.986,0.966,0.966,0.966,0.966,0.966,0.966,0.986,0.986,0.986,0.986,0.966,0.932,0.932,0.932,0.597,0.539,0.615,0.615,0.614,0.538,0.488,0.522,0.449,0.456],[0.512,0.401,0.528,0.488,0.614,0.574,0.673,0.615,0.579,0.532,0.932,0.932,0.932,0.966,0.986,0.986,0.986,0.966,0.966,0.966,0.966,0.966,0.966,0.986,0.986,0.986,0.966,0.932,0.932,0.932,0.572,0.616,0.578,0.59,0.574,0.538,0.488,0.528,0.506,0.467],[0.476,0.506,0.528,0.524,0.538,0.574,0.59,0.578,0.539,0.572,0.932,0.932,0.932,0.966,0.986,0.986,0.986,0.966,0.966,0.966,0.966,0.966,0.966,0.986,0.986,0.986,0.966,0.932,0.932,0.932,0.532,0.539,0.615,0.59,0.574,0.538,0.506,0.546,0.437,0.483],[0.454,0.489,0.511,0.488,0.538,0.593,0.63,0.618,0.539,0.612,0.932,0.932,0.932,0.966,0.986,0.986,0.986,0.986,0.966,0.966,0.966,0.966,0.966,0.966,0.986,0.986,0.966,0.932,0.932,0.932,0.572,0.539,0.618,0.608,0.574,0.556,0.426,0.401,0.477,0.498],[0.436,0.524,0.522,0.501,0.538,0.574,0.59,0.655,0.539,0.608,0.932,0.932,0.932,0.966,0.986,0.986,0.986,0.986,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.932,0.932,0.932,0.532,0.539,0.618,0.59,0.574,0.516,0.385,0.385,0.401,0.503],[0.436,0.524,0.518,0.522,0.543,0.574,0.655,0.618,0.539,0.532,0.932,0.904,0.932,0.966,0.986,0.986,0.986,0.986,0.986,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.932,0.932,0.932,0.532,0.619,0.578,0.608,0.552,0.476,0.445,0.385,0.349,0.463],[0.449,0.506,0.546,0.449,0.543,0.608,0.612,0.578,0.579,0.572,0.932,0.904,0.932,0.966,0.986,0.986,0.986,0.986,0.986,0.966,0.966,0.986,0.986,0.966,0.966,0.966,0.966,0.932,0.932,0.932,0.572,0.616,0.556,0.59,0.555,0.474,0.464,0.364,0.349,0.458],[0.456,0.506,0.506,0.478,0.514,0.566,0.612,0.578,0.579,0.572,0.932,0.904,0.948,0.966,0.986,0.986,0.986,0.986,0.986,0.966,0.966,0.986,0.986,0.986,0.966,0.966,0.966,0.932,0.932,0.932,0.55,0.539,0.593,0.574,0.535,0.49,0.364,0.349,0.367,0.483],[0.453,0.488,0.503,0.562,0.554,0.548,0.628,0.655,0.539,0.572,0.932,0.904,0.948,0.966,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.966,0.966,0.966,0.932,0.932,0.932,0.612,0.579,0.633,0.552,0.559,0.493,0.425,0.407,0.407,0.486],[0.512,0.503,0.543,0.58,0.601,0.533,0.548,0.578,0.616,0.532,0.932,0.904,0.948,0.966,0.986,0.966,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.946,0.966,0.932,0.932,0.932,0.532,0.539,0.593,0.552,0.527,0.498,0.367,0.423,0.383,0.482],[0.449,0.503,0.558,0.506,0.574,0.536,0.494,0.555,0.608,0.532,0.932,0.904,0.948,0.986,0.986,0.948,0.948,0.948,0.968,0.986,0.986,0.968,0.948,0.966,0.966,0.95,0.95,0.932,0.932,0.932,0.532,0.586,0.535,0.488,0.517,0.533,0.428,0.384,0.403,0.447],[0.437,0.452,0.47,0.51,0.52,0.578,0.528,0.594,0.594,0.572,0.904,0.948,0.894,0.845,0.848,0.868,0.914,0.914,0.914,0.873,0.929,0.966,0.966,0.95,0.928,0.968,0.97,0.925,0.91,0.932,0.56,0.531,0.57,0.595,0.512,0.49,0.509,0.509,0.471,0.477],[0.456,0.439,0.518,0.475,0.5,0.57,0.557,0.55,0.549,0.612,0.932,0.932,0.91,0.89,0.966,0.986,0.966,0.948,0.948,0.968,0.986,0.928,0.858,0.831,0.898,0.934,0.986,0.948,0.904,0.932,0.532,0.579,0.576,0.538,0.473,0.52,0.47,0.49,0.598,0.474],[0.483,0.401,0.479,0.381,0.485,0.473,0.568,0.528,0.579,0.532,0.932,0.932,0.932,0.966,0.946,0.986,0.966,0.966,0.986,0.986,0.986,0.986,0.986,0.948,0.966,0.986,0.986,0.948,0.904,0.932,0.572,0.558,0.591,0.528,0.561,0.59,0.562,0.522,0.543,0.436],[0.445,0.389,0.367,0.367,0.489,0.549,0.552,0.596,0.579,0.572,0.932,0.932,0.932,0.966,0.966,0.966,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.986,0.966,0.986,0.966,0.948,0.904,0.932,0.572,0.576,0.578,0.61,0.568,0.543,0.503,0.522,0.503,0.416],[0.487,0.407,0.367,0.383,0.434,0.572,0.552,0.596,0.579,0.572,0.932,0.932,0.932,0.966,0.966,0.946,0.986,0.986,0.986,0.966,0.966,0.986,0.986,0.986,0.986,0.986,0.966,0.948,0.904,0.932,0.532,0.579,0.618,0.612,0.584,0.496,0.475,0.543,0.546,0.477],[0.469,0.407,0.389,0.389,0.434,0.535,0.574,0.574,0.568,0.532,0.932,0.932,0.932,0.966,0.966,0.966,0.946,0.986,0.986,0.966,0.966,0.986,0.986,0.986,0.986,0.986,0.966,0.948,0.904,0.932,0.608,0.579,0.578,0.652,0.566,0.539,0.478,0.506,0.546,0.483],[0.491,0.349,0.364,0.445,0.434,0.592,0.59,0.633,0.604,0.532,0.932,0.932,0.932,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.986,0.986,0.986,0.986,0.986,0.966,0.932,0.904,0.932,0.59,0.579,0.655,0.652,0.59,0.543,0.489,0.478,0.506,0.456],[0.434,0.404,0.385,0.425,0.514,0.592,0.59,0.578,0.539,0.572,0.932,0.932,0.932,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.986,0.986,0.986,0.986,0.986,0.966,0.932,0.904,0.932,0.612,0.539,0.578,0.652,0.614,0.514,0.541,0.449,0.506,0.41],[0.409,0.439,0.441,0.444,0.556,0.574,0.59,0.615,0.626,0.626,0.932,0.932,0.932,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.966,0.986,0.986,0.986,0.986,0.966,0.932,0.932,0.932,0.572,0.641,0.578,0.59,0.574,0.578,0.504,0.522,0.496,0.397],[0.437,0.404,0.522,0.506,0.578,0.574,0.59,0.578,0.539,0.532,0.932,0.932,0.932,0.966,0.986,0.986,0.966,0.966,0.966,0.966,0.966,0.966,0.986,0.986,0.986,0.986,0.966,0.932,0.932,0.932,0.532,0.539,0.578,0.59,0.593,0.556,0.528,0.488,0.482,0.44],[0.451,0.488,0.528,0.488,0.538,0.574,0.59,0.578,0.579,0.532,0.932,0.932,0.932,0.966,0.986,0.986,0.986,0.966,0.966,0.966,0.966,0.966,0.966,0.986,0.986,0.986,0.966,0.932,0.932,0.932,0.597,0.579,0.578,0.59,0.574,0.556,0.528,0.488,0.488,0.463]],\"type\":\"surface\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"margin\":{\"l\":65,\"r\":50,\"b\":65,\"t\":90},\"title\":{\"text\":\"MaxCut Energy Ratio (Red = Vanilla QAOA, Blue = QRR)\"},\"autosize\":false,\"scene\":{\"xaxis\":{\"title\":{\"text\":\"\\u03b2 angles\"}},\"yaxis\":{\"title\":{\"text\":\"\\u03b3 angles\"}},\"zaxis\":{\"title\":{\"text\":\"Energy Ratio\"}}},\"width\":1000,\"height\":1000,\"showlegend\":true}, {\"responsive\": true} ).then(function(){\n", | |
" \n", | |
"var gd = document.getElementById('83f97802-c210-4260-aa7c-ad903140ddc0');\n", | |
"var x = new MutationObserver(function (mutations, observer) {{\n", | |
" var display = window.getComputedStyle(gd).display;\n", | |
" if (!display || display === 'none') {{\n", | |
" console.log([gd, 'removed!']);\n", | |
" Plotly.purge(gd);\n", | |
" observer.disconnect();\n", | |
" }}\n", | |
"}});\n", | |
"\n", | |
"// Listen for the removal of the full notebook cells\n", | |
"var notebookContainer = gd.closest('#notebook-container');\n", | |
"if (notebookContainer) {{\n", | |
" x.observe(notebookContainer, {childList: true});\n", | |
"}}\n", | |
"\n", | |
"// Listen for the clearing of the current output cell\n", | |
"var outputEl = gd.closest('.output');\n", | |
"if (outputEl) {{\n", | |
" x.observe(outputEl, {childList: true});\n", | |
"}}\n", | |
"\n", | |
" }) }; </script> </div>\n", | |
"</body>\n", | |
"</html>" | |
] | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"## $N=20$, 10 random graphs" | |
], | |
"metadata": { | |
"id": "jGjcQhb4SI6r" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"N = 20\n", | |
"\n", | |
"gurobi_cost_list = []\n", | |
"qaoa_cost_list = []\n", | |
"qaoa_rr_cost_list = []\n", | |
"mc_rr_cost_list = []\n", | |
"\n", | |
"for g in range(10):\n", | |
"\n", | |
" num_seed = seed_list[g]\n", | |
" random_graph = nx.fast_gnp_random_graph(n=N, p=1.2*np.log(N)/N, seed=num_seed)\n", | |
" W = nx.adjacency_matrix(random_graph)\n", | |
"\n", | |
" # Gurobi\n", | |
" gurobi_solution, gurobi_cost = gurobi_opt(N, W, \"maxcut\")\n", | |
" gurobi_cost_list += [gurobi_cost]\n", | |
"\n", | |
" # vanilla QAOA\n", | |
" num_grid_qaoa_angle_search = 20\n", | |
" qaoa_cost, best_beta, best_gamma, Z_mat_qaoa = qaoa_1_layer(num_grid_qaoa_angle_search, random_graph, N)\n", | |
" qaoa_cost_list += [qaoa_cost]\n", | |
"\n", | |
" # QAOA + RR (QRR)\n", | |
" arg_dict = {\"W\": W}\n", | |
" qrr_solution, qrr_cost = relax_and_round(Z_mat_qaoa, maxcut_cost, arg_dict)\n", | |
" qaoa_rr_cost_list += [qrr_cost]\n", | |
"\n", | |
" # MC + RR\n", | |
" M = 2000\n", | |
" T = 1\n", | |
" spin_sampled, energy_list, E_expectation = metropolis(W, N, M, T)\n", | |
" Z_mat_mc = Z_matrix_from_bitstrings(spin_sampled)\n", | |
" arg_dict = {\"W\": W}\n", | |
" mcrr_solution, mcrr_cost = relax_and_round(Z_mat_mc, maxcut_cost, arg_dict)\n", | |
" mc_rr_cost_list += [mcrr_cost]\n", | |
"\n", | |
" print(gurobi_cost, qaoa_cost, qrr_cost, mcrr_cost)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "3dT_E5q9RoAS", | |
"outputId": "64aed9d4-a790-4335-8d46-0a436d4914b4" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"-24.0 -10.661265007220445 -22.0 (-10+0j)\n", | |
"-22.0 -10.275735630293399 -22.0 (-12+0j)\n", | |
"-21.0 -9.491607754473396 -19.0 (-5+0j)\n", | |
"-24.0 -10.44130565672906 -24.0 (-16+0j)\n", | |
"-20.0 -9.516411524569113 -18.0 (-10+0j)\n", | |
"-21.0 -9.162561523996617 (-21+0j) (-7+0j)\n", | |
"-21.0 -9.528304372040457 -17.0 (-5+0j)\n", | |
"-23.0 -10.458464240207876 -17.0 (-11+0j)\n", | |
"-20.0 -9.274435079993921 -20.0 (-10+0j)\n", | |
"-23.0 -9.753214363445348 -21.0 (-9+0j)\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"results = np.array([gurobi_cost_list, qaoa_cost_list, qaoa_rr_cost_list, mc_rr_cost_list])\n", | |
"np.savetxt(\"/content/drive/MyDrive/QST Master/Master's Thesis/Testing Results/N=20.txt\", results)" | |
], | |
"metadata": { | |
"id": "ukcG77z3SRiM" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"gurobi_cost_avg = np.average(gurobi_cost_list)\n", | |
"qaoa_cost_avg = np.average(qaoa_cost_list)\n", | |
"qaoa_rr_cost_avg = np.average(qaoa_rr_cost_list)\n", | |
"mc_rr_cost_avg = np.average(mc_rr_cost_list)\n", | |
"\n", | |
"algos = [\"Gurobi\", \"QAOA (vanilla)\", \"QAOA + RR\", \"MC + RR\"]\n", | |
"values = -1*np.array([gurobi_cost_avg, qaoa_cost_avg, qaoa_rr_cost_avg, mc_rr_cost_avg])\n", | |
"\n", | |
"plt.bar(algos, values, color ='maroon',\n", | |
" width = 0.4)\n", | |
"\n", | |
"plt.xlabel(\"Algorithms\")\n", | |
"plt.ylabel(\"-1*C(x)\")\n", | |
"plt.title(\"N=20, average from 10 random graphs\")\n", | |
"plt.show()" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 508 | |
}, | |
"id": "MrOmVHU_SVnw", | |
"outputId": "e96c233b-4715-4ba5-fe55-31dc7d0ab74f" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stderr", | |
"text": [ | |
"/usr/local/lib/python3.10/dist-packages/matplotlib/transforms.py:762: ComplexWarning: Casting complex values to real discards the imaginary part\n", | |
" points = np.asarray(points, float)\n" | |
] | |
}, | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
], | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABAtklEQVR4nO3de3zP9f//8fvbDu+dbMxsM9YcFnIuzCmHQnNIOZTDhwx9FKF05pMSPlFEVI6fREmZKFIhYZREKp3GMOdyatgch+35+6Pf3l9vO9hm896L2/VyeV8u3s/X8/16Pd7v99Pe9/fr9Xy93jZjjBEAAIAFFXN1AQAAAPlFkAEAAJZFkAEAAJZFkAEAAJZFkAEAAJZFkAEAAJZFkAEAAJZFkAEAAJZFkAEAAJZFkAFwzU6fPq1///vfCg0Nlc1m09ChQ11dEv6/uLg42Ww2xcXFubqUIm3v3r2y2Wx6/fXXXV0K8oggg3yZO3eubDabvLy89Oeff2Za3qJFC9WoUeOat5OUlKQJEyaoWbNmKl26tEqUKKGGDRsqNjY2y/6pqal6/vnnFRYWJm9vbzVo0ECrVq265jqQs7Fjx2ru3LkaOHCg5s2bp4ceesjVJeUoNjZWvXr10q233iqbzaYWLVpk25cxBRRtBBlck9TUVL366quFtv6NGzfqhRdeUGBgoEaMGKFXXnlFPj4+6t69u0aOHJmpf58+fTRp0iT17NlTU6ZMkZubm9q1a6dvv/220GqEtGbNGjVs2FAjR45Ur169VLduXVeXlKPp06dr6dKlCg8PV8mSJXPsy5gCijgD5MOcOXOMJFOnTh1jt9vNn3/+6bS8efPmpnr16te8nd27d5u9e/c6taWnp5u7777b2O12c/r0aUf7pk2bjCQzYcIER9u5c+dMpUqVTKNGja65Fle7ePGiSU1NdXUZWapQoYJp3779VfudO3fOpKWlXYeKcrZ//35HHdWrVzfNmzfPsl9hjKkzZ87k63H5tXbtWiPJrF279rput7Bc/n++IO3ZsyfTew1rYI8Mrsl//vMfpaWlFdpemQoVKigiIsKpzWazqWPHjkpNTdXu3bsd7YsWLZKbm5seeeQRR5uXl5cefvhhbdy4UQcOHMjz9o8fP65nnnlGNWvWlJ+fn/z9/dW2bVv98ssvjj5HjhyRu7u7Ro0alenxCQkJstlsevvttx1tJ0+e1NChQxUeHi673a7IyEi99tprSk9Pd/S5/Hj95MmTValSJdntdsXHx+vChQt66aWXVLduXQUEBMjX11dNmzbV2rVrM20/KSlJDz30kPz9/VWiRAnFxMTol19+kc1m09y5c536bt++XQ888IACAwPl5eWlevXq6bPPPsvx9cmYf7Fnzx598cUXstlsstls2rt3r2PZggULNGLECJUtW1Y+Pj5KSUmRJH388ceqW7euvL29FRQUpF69emU6TNmnTx/5+flp//79uvfee+Xn56eyZctq6tSpkqTffvtNd999t3x9fRUREaEPP/wwx3ozhIeHq1ixq//5u9YxlXGI9ccff1SzZs3k4+Oj//znP5KkpUuXqn379goLC5PdblelSpU0ZswYpaWlZbmO+Ph43XXXXfLx8VHZsmU1fvz4TNs7ePCgOnbsKF9fXwUHB+vJJ59UampqlrW58vXP7bjM2H5iYqLatWun4sWLq2fPnpKkb775Rg8++KBuueUW2e12hYeH68knn9S5c+eyfA67d+9WdHS0fH19FRYWptGjR8sYk2V9s2bNcvyfq1+/vn744Qen5YcPH1bfvn1Vrlw52e12lSlTRvfff7/27t2bq+ePguXu6gJgbRUqVFDv3r31v//9T8OGDVNYWFi2fZOTk3Xx4sWrrtPLy0t+fn459jl8+LAkKSgoyNH2888/q3LlyvL393fqGxUVJUnaunWrwsPDr7r9y+3evVtLlizRgw8+qAoVKujIkSOaOXOmmjdvrvj4eIWFhSkkJETNmzfXwoULMx3uio2NlZubmx588EFJ0tmzZ9W8eXP9+eefevTRR3XLLbfou+++0/Dhw3Xo0CFNnjzZ6fFz5szR+fPn9cgjj8hutyswMFApKSl655131KNHD/Xv31+nTp3S7NmzFR0drc2bN6tOnTqSpPT0dHXo0EGbN2/WwIEDVbVqVS1dulQxMTGZnucff/yhJk2aqGzZsho2bJh8fX21cOFCdezYUYsXL1anTp2yfH1uu+02zZs3T08++aTKlSunp59+WpJUunRpxx/1MWPGyNPTU88884xSU1Pl6empuXPnqm/fvqpfv77GjRunI0eOaMqUKdqwYYN+/vlnlShRwrGNtLQ0tW3bVs2aNdP48eM1f/58DR48WL6+vnrhhRfUs2dPde7cWTNmzFDv3r3VqFEjVahQIU/vc3YKYkwlJSWpbdu26t69u3r16qWQkBBJ/8wz8/Pz01NPPSU/Pz+tWbNGL730klJSUjRhwgSndZw4cUJt2rRR586d1bVrVy1atEjPP/+8atasqbZt20qSzp07p5YtW2r//v16/PHHFRYWpnnz5mnNmjWZanLl65+XcSlJly5dUnR0tO688069/vrr8vHxkfRPEDt79qwGDhyoUqVKafPmzXrrrbd08OBBffzxx07rSEtLU5s2bdSwYUONHz9eK1as0MiRI3Xp0iWNHj3aqe+HH36oU6dO6dFHH5XNZtP48ePVuXNn7d69Wx4eHpKkLl266I8//tCQIUNUvnx5HT16VKtWrdL+/ftVvnz5bJ87ComrdwnBmjIOLf3www8mMTHRuLu7m8cff9yxPKtDS82bNzeSrnqLiYnJcdtJSUkmODjYNG3a1Km9evXq5u67787U/48//jCSzIwZM/L8PM+fP5/pUMiePXuM3W43o0ePdrTNnDnTSDK//fabU99q1ao51TRmzBjj6+trduzY4dRv2LBhxs3Nzezfv9+xDUnG39/fHD161KnvpUuXMh1iOnHihAkJCTH9+vVztC1evNhIMpMnT3a0paWlmbvvvttIMnPmzHG0t2zZ0tSsWdOcP3/e0Zaenm4aN25sbr311hxfI2OMiYiIyHRoKeOQRsWKFc3Zs2cd7RcuXDDBwcGmRo0a5ty5c472zz//3EgyL730kqMtJibGSDJjx451eq7e3t7GZrOZBQsWONq3b99uJJmRI0detd7L5XRo6VrHVMaYz6rf5a9JhkcffdT4+Pg4vQ8Z63j//fcdbampqSY0NNR06dLF0TZ58mQjySxcuNDRdubMGRMZGel0aMnVr39exmXG9ocNG5ZpPVm9fuPGjTM2m83s27cv0zqGDBniaEtPTzft27c3np6e5tixY8aY//s/V6pUKXP8+HFH36VLlxpJZtmyZY7nLw5BFSkcWsI1q1ixoh566CHNmjVLhw4dyrbfxIkTtWrVqqvennvuuWzXkZ6erp49e+rkyZN66623nJadO3dOdrs902O8vLwcy/PKbrc7DkGkpaUpKSlJfn5+qlKlin766SdHv86dO8vd3d3pbKrff/9d8fHx6tatm6Pt448/VtOmTVWyZEn9/fffjlurVq2Ulpam9evXO22/S5cuKl26tFObm5ubPD09Ha/H8ePHdenSJdWrV8+pphUrVsjDw0P9+/d3tBUrVkyDBg1yWt/x48e1Zs0ade3aVadOnXLUlJSUpOjoaO3cuTPLM9NyKyYmRt7e3o77W7Zs0dGjR/XYY4853htJat++vapWraovvvgi0zr+/e9/O/5dokQJValSRb6+vurataujvUqVKipRooTT4cZrVRBjym63q2/fvpnaL39NMl73pk2b6uzZs9q+fbtTXz8/P/Xq1ctx39PTU1FRUU7P9csvv1SZMmX0wAMPONp8fHycDotJrn/9czsuLzdw4MBMbZe/fmfOnNHff/+txo0byxijn3/+OVP/wYMHO/5ts9k0ePBgXbhwQV9//bVTv27dujlNAG/atKkkOZ6Xt7e3PD09FRcXpxMnTuT4XHF9cGgJBWLEiBGaN2+eXn31VU2ZMiXLPgVxJsuQIUO0YsUKvf/++6pdu7bTMm9v7yznA5w/f96xPK/S09M1ZcoUTZs2TXv27HGav1CqVCnHv4OCgtSyZUstXLhQY8aMkfTPYSV3d3d17tzZ0W/nzp369ddfM4WTDEePHnW6n90u+vfee08TJ07U9u3bnQ7XXd5/3759KlOmjGNXfIbIyEin+7t27ZIxRi+++KJefPHFbOsqW7Zslsuu5srnsG/fPkn/fPBdqWrVqpnOBvLy8sr0egUEBKhcuXKy2WyZ2gvyw6UgxlTZsmUdwfNyf/zxh0aMGKE1a9Y45g1lSE5Odrqf1XMtWbKkfv31V8f9ffv2KTIyMlO/K19nV7/+uR2XGdzd3VWuXLlM7fv379dLL72kzz77LNM2r3z9ihUrpooVKzq1Va5cWZIyzWu55ZZbnO5nhJqMbdjtdr322mt6+umnFRISooYNG+ree+9V7969FRoamuVzQOEiyKBAVKxYUb169dKsWbM0bNiwLPscP35cFy5cuOq6vL29FRAQkKl91KhRmjZtml599dUsr1NSpkyZLPccZOwlymn+TnbGjh2rF198Uf369dOYMWMUGBioYsWKaejQoU6TcyWpe/fu6tu3r7Zu3ao6depo4cKFatmypdM8nvT0dLVu3TrbvU4Zf1wzZPVB+cEHH6hPnz7q2LGjnn32WQUHB8vNzU3jxo1TYmJinp9jxvN45plnFB0dnWWf7D5kciM/AfJybm5ueWo32UzgzI+CGFNZPf+TJ0+qefPm8vf31+jRo1WpUiV5eXnpp59+0vPPP59pbF2P55odV77+kvNe0QxpaWlq3bq1jh8/rueff15Vq1aVr6+v/vzzT/Xp0yfT65cXuXleQ4cOVYcOHbRkyRKtXLlSL774osaNG6c1a9bo9ttvz/e2kT8EGRSYESNG6IMPPtBrr72W5fLOnTtr3bp1V11PTExMpjNqpk6dqpdffllDhw7V888/n+Xj6tSpo7Vr1yolJcVpcuamTZscy/Nq0aJFuuuuuzR79myn9pMnTzoFFEnq2LGjHn30UcfhpR07dmj48OFOfSpVqqTTp0+rVatWea7l8poqVqyoTz75xOkb8ZUTjSMiIrR27VqdPXvW6dvvrl27nPplfFP18PC4prpyK+MstISEBN19991OyxISEjKdpeZKhTGmpH/O9kpKStInn3yiZs2aOdr37NmT71ojIiL0+++/yxjjNC4SEhIy9ctod8Xrn9txmZPffvtNO3bs0HvvvafevXs72rO7UGF6erp2797t9EVhx44dkpTvybmVKlXS008/raefflo7d+5UnTp1NHHiRH3wwQf5Wh/yjzkyKDCVKlVSr169NHPmTMdZRZfL7xyZ2NhYPf744+rZs6cmTZqU7fYfeOABpaWladasWY621NRUzZkzRw0aNMjzGUvSP9/OrvyG+fHHH2f5Lb1EiRKKjo7WwoULtWDBAnl6eqpjx45Ofbp27aqNGzdq5cqVmR5/8uRJXbp0KVc1Sc7fEDdt2qSNGzc69YuOjtbFixf1v//9z9GWnp7uOHU2Q3BwsFq0aKGZM2dmOcfp2LFjV60pL+rVq6fg4GDNmDHD6bDN8uXLtW3bNrVv375At3ctCmNMSVm/hxcuXNC0adPyXWu7du30119/adGiRY62s2fPOtUuuf71z+24zElWr58xJtvD2pKcLoFgjNHbb78tDw8PtWzZMi/l6+zZs45DixkqVaqk4sWLZ3uqOwoXe2RQoF544QXNmzdPCQkJql69utOy/MyR2bx5s3r37q1SpUqpZcuWmj9/vtPyxo0bO/YoNGjQQA8++KCGDx+uo0ePKjIyUu+995727t2baY/Kyy+/rFGjRmnt2rU5Xp7+3nvv1ejRo9W3b181btxYv/32m+bPn5/peHuGbt26qVevXpo2bZqio6OdTmOVpGeffVafffaZ7r33XvXp00d169bVmTNn9Ntvv2nRokXau3dvpj09WdX0ySefqFOnTmrfvr327NmjGTNmqFq1ajp9+rSjX8eOHRUVFaWnn35au3btUtWqVfXZZ5/p+PHjkuT0rX3q1Km68847VbNmTfXv318VK1bUkSNHtHHjRh08eNDpujnXysPDQ6+99pr69u2r5s2bq0ePHo7Tf8uXL68nn3yywLaVnfXr1zsmVh87dkxnzpzRf//7X0lSs2bNHHtJ8jKm8qJx48YqWbKkYmJi9Pjjj8tms2nevHnXdFimf//+evvtt9W7d2/9+OOPKlOmjObNm5dpLoqrX/+8jMvsVK1aVZUqVdIzzzyjP//8U/7+/lq8eHG283O8vLy0YsUKxcTEqEGDBlq+fLm++OIL/ec//8l2vlp2duzYoZYtW6pr166qVq2a3N3d9emnn+rIkSPq3r17ntaFAuKKU6VgfZeffn2ljNMdC+LKvhnbye52+amaxvxz1dVnnnnGhIaGGrvdburXr29WrFiRab1PP/20sdlsZtu2bTlu//z58+bpp582ZcqUMd7e3qZJkyZm48aNpnnz5lmespuSkmK8vb2NJPPBBx9kuc5Tp06Z4cOHm8jISOPp6WmCgoJM48aNzeuvv24uXLhgjMn5KqPp6elm7NixJiIiwtjtdnP77bebzz//3MTExJiIiAinvseOHTP/+te/TPHixU1AQIDp06eP2bBhg5HkdOqsMcYkJiaa3r17m9DQUOPh4WHKli1r7r33XrNo0aIcXyNjcj79+uOPP87yMbGxseb22283drvdBAYGmp49e5qDBw869YmJiTG+vr6ZHpvdlaOzqiMrI0eOzHZMXXn6cG7HVFZyusL1hg0bTMOGDY23t7cJCwszzz33nFm5cmWmq/Bmt46s3u99+/aZ++67z/j4+JigoCDzxBNPmBUrVmR5ZV9Xvv65HZfZbd8YY+Lj402rVq2Mn5+fCQoKMv379ze//PJLlqdw+/r6msTERHPPPfcYHx8fExISYkaOHOl0aYWc/s9dPi7+/vtvM2jQIFO1alXj6+trAgICTIMGDZxOe8f1ZTPmOswWA4qYqKgoRUREZLpw1s1gyZIl6tSpk7799ls1adLE1eUAkgpvXPbp00eLFi1y2luJGwuHlnDTSUlJ0S+//KL33nvP1aUUunPnzjmdNZOWlqa33npL/v7+uuOOO1xYGW5mjEsUJIIMbjr+/v43zaS8IUOG6Ny5c2rUqJFSU1P1ySef6LvvvtPYsWOv+bRoIL8YlyhIBBngBnb33Xdr4sSJ+vzzz3X+/HlFRkbqrbfecrrKKXC9MS5RkJgjAwAALIvryAAAAMsiyAAAAMu64efIpKen66+//lLx4sVzdaElAADgesYYnTp1SmFhYZl+b+tyN3yQ+euvv/J9GXEAAOBaBw4cyPIX0DPc8EGmePHikv55IS7/0TcAAFB0paSkKDw83PE5np0bPshkHE7y9/cnyAAAYDFXmxbCZF8AAGBZBBkAAGBZBBkAAGBZBBkAAGBZBBkAAGBZBBkAAGBZBBkAAGBZBBkAAGBZBBkAAGBZBBkAAGBZBBkAAGBZBBkAAGBZBBkAAGBZBBkAAGBZBBkAAGBZ7q4uwMpG2WyuLqHAjTTG1SUAAJBr7JEBAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACW5dIgM27cONWvX1/FixdXcHCwOnbsqISEBKc+58+f16BBg1SqVCn5+fmpS5cuOnLkiIsqBgAARYlLg8y6des0aNAgff/991q1apUuXryoe+65R2fOnHH0efLJJ7Vs2TJ9/PHHWrdunf766y917tzZhVUDAICiwmaMMa4uIsOxY8cUHBysdevWqVmzZkpOTlbp0qX14Ycf6oEHHpAkbd++Xbfddps2btyohg0bXnWdKSkpCggIUHJysvz9/Qu03lE2W4GurygYWXSGAwDgJpbbz2/361jTVSUnJ0uSAgMDJUk//vijLl68qFatWjn6VK1aVbfccku2QSY1NVWpqamO+ykpKYVcNQBkjy88QOEqMpN909PTNXToUDVp0kQ1atSQJB0+fFienp4qUaKEU9+QkBAdPnw4y/WMGzdOAQEBjlt4eHhhlw4AAFykyASZQYMG6ffff9eCBQuuaT3Dhw9XcnKy43bgwIECqhAAABQ1ReLQ0uDBg/X5559r/fr1KleunKM9NDRUFy5c0MmTJ532yhw5ckShoaFZrstut8tutxd2yQAAoAhw6R4ZY4wGDx6sTz/9VGvWrFGFChWcltetW1ceHh5avXq1oy0hIUH79+9Xo0aNrne5AACgiHHpHplBgwbpww8/1NKlS1W8eHHHvJeAgAB5e3srICBADz/8sJ566ikFBgbK399fQ4YMUaNGjXJ1xhIAALixuTTITJ8+XZLUokULp/Y5c+aoT58+kqQ33nhDxYoVU5cuXZSamqro6GhNmzbtOlcKAACKIpcGmdxcwsbLy0tTp07V1KlTr0NFAADASorMWUsAAAB5RZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACWRZABAACW5dIgs379enXo0EFhYWGy2WxasmSJ0/I+ffrIZrM53dq0aeOaYgEAQJHj0iBz5swZ1a5dW1OnTs22T5s2bXTo0CHH7aOPPrqOFQIAgKLM3ZUbb9u2rdq2bZtjH7vdrtDQ0OtUEQAAsJIiP0cmLi5OwcHBqlKligYOHKikpCRXlwQAAIoIl+6RuZo2bdqoc+fOqlChghITE/Wf//xHbdu21caNG+Xm5pblY1JTU5Wamuq4n5KScr3KBQAA11mRDjLdu3d3/LtmzZqqVauWKlWqpLi4OLVs2TLLx4wbN06jRo26XiUCAAAXKvKHli5XsWJFBQUFadeuXdn2GT58uJKTkx23AwcOXMcKAQDA9VSk98hc6eDBg0pKSlKZMmWy7WO322W3269jVQAAwFVcGmROnz7ttHdlz5492rp1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Y9WzZ09J/xyOqlu3rr744gv9/vvveuSRR/TQQw9p8+bNTut+77335Ovrq02bNmn8+PEaPXq0Vq1addWaspLbbUZFRWnz5s1KTU3N13ZcwapjpyBdunTJsU1PT89s+x09elSffvqp3Nzc5Obmdr3KK/L69eunOXPmOO6/++67mX5u5/jx41qxYkW2nyHXc27j3r17tXLlyhzf6/T0dC1evFgnTpzIsV+hckl8uoF9//33RpL55JNPnNpLlSplfH19ja+vr3nuuefytEdmyZIljj6nT582Hh4eTt/sMr6djR8/3ulxCxYscPRJSkoy3t7eJjY21hhz8+6RyXh/Lv+GeblJkyYZSebIkSPGGGPS0tJMeHi44z04duyY8fT0NLt37zbGGHP48GEjKdO3kwyffPKJkWQ2bdpkjDEmOTnZeHt7m61btxpjjPn555+Nn5+fOXXqVLY1Z4yL9evXO7U/8cQT5u6773bcz24vzeXat29vnn76acf95s2bZ9ozUr9+ffP888877isPe2Rys01jjPnll1+MJLN3795sH1fUWHHsXCm/e2S8vLyMr6+vKVasmJFkypcv73QYbc6cOUaS8fX1NT4+PkaSkWQef/zxPG3rRpWxR+bo0aPGbrebvXv3mr179xovLy9z7Ngxpz0ymzZtyvIzJL/bzesemWLFihlfX1/j5eXleB8nTZrk1C8iIsJ4enoaX19f4+7ubiSZwMBAs3PnzmuuOT/YI3OdbN68WVu3blX16tXz/C308m/iiYmJunjxopo0aeJo8/DwUFRUlLZt2+b0uEaNGjn+HRgYqCpVqmTqc7MyV7mgdcY3i1WrVunMmTNq166dJCkoKEitW7fWu+++m6f1Zfjoo49UqVIl1a5dW5JUp04dRUREKDY2NtvHnDt3TpLk5eXl1N6zZ0/FxcXpr7/+kiTNnz9f7du3d3xjS0tL05gxY1SzZk0FBgbKz89PK1euzDQBs1atWk73y5Qpo6NHj+bq+Vwpt9vM2KNRFCa+55WVxo4kVa9eXX5+fvLz81P16tUlyXHfz88vVxO533jjDW3dulXLly9XtWrV9M477ygwMNCpT/HixbV161Zt2bJFEydO1B133KFXXnklV8/tZlG6dGm1b99ec+fOdeytCwoKcuqT2/GQlfnz5zu9t/Pnz9fYsWOd2r755psc11GlShVt3bpVP/zwg55//nlFR0dryJAhmfo9++yz2rp1q9asWaMGDRrojTfeUGRkZL5rvxaW+K0lK4mMjJTNZlNCQoJTe8WKFSX93x/wYsX+yZCXD9rsDvtkd4gKeZfx/mzbtk2dOnXKtHzbtm0qXbq0IwzMnj1bx48fdzqUkJ6erl9//VWjRo1y9M0uIG7btk02m83xH3z27Nn6448/5O7u7rS+d999Vw8//HCW6yhVqpRsNptOnDjh1F6/fn1VqlRJCxYs0MCBA/Xpp59q7ty5juUTJkzQlClTNHnyZNWsWVO+vr4aOnSoLly44LQeDw8Pp/s2m03p6elZ1nI1ud1mxuGS0qVL52s7rmDFsSNJX375peNvy59//qkWLVo4Tp+XlOkwWVZCQ0MVGRmpyMhIzZkzR+3atVN8fLyCg4MdfYoVK+ao9bbbblNiYqIGDhyoefPmXXX9N5N+/fo5fjtw6tSpmZbfeuutstls2r59e57Xfd9996lBgwaO+88//7zKli2rxx9/3NFWtmzZHNfh6enpeB9fffVVtW/fXqNGjdKYMWOc+gUFBTnGxMcff6yaNWuqXr16qlatWp7rvlbskSlgpUqVUuvWrfX222/rzJkz2fbL+AN+6NAhR9vlf1yyU6lSJXl6emrDhg2OtosXL+qHH37INIC+//57x79PnDihHTt26LbbbsvtU7khZbw/06ZNc+zpyHD48GHNnz/fcRpkUlKSli5dqgULFmjr1q2O288//6wTJ07oq6++UrFixdS1a1d9+OGHOnz4sNP6zp07p2nTpik6OlqBgYH67bfftGXLFsXFxTmtLy4uThs3bsz2D5enp6eqVaum+Pj4TMt69uyp+fPna9myZSpWrJjat2/vWLZhwwbdf//96tWrl2rXrq2KFSsW+in3ud3m77//rnLlymX6NlqUWXHsSFJERITjAyciIkKSHPcjIyOv+sF2paioKNWtW/eqe1uGDRum2NhY/fTTT3la/42uTZs2unDhgi5evKjo6OhMywMDAxUdHa2pU6dm+RmS0zWbihcv7vTeFi9eXIGBgU5tuQmulxsxYoRef/11x57frISHh6tbt24aPnx4ntZdUAgyhWDatGm6dOmS6tWrp9jYWG3btk0JCQn64IMPtH37drm5ucnb21sNGzZ0TOJdt26dRowYcdV1+/r6auDAgXr22We1YsUKxcfHq3///jp7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\n" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"seed_list = [2835, 6911, 8326, 8317, 2852, 8156, 7712, 7647, 8077, 238]\n", | |
"\n", | |
"N = 20\n", | |
"\n", | |
"gurobi_cost_list = []\n", | |
"qaoa_cost_list = []\n", | |
"qaoa_rr_cost_list = []\n", | |
"\n", | |
"cost_landscape_qaoa_list = []\n", | |
"cost_landscape_qrr_list = []\n", | |
"\n", | |
"for g in range(10):\n", | |
"\n", | |
" num_seed = seed_list[g]\n", | |
" random_graph = nx.fast_gnp_random_graph(n=N, p=1.2*np.log(N)/N, seed=num_seed)\n", | |
" W = nx.adjacency_matrix(random_graph)\n", | |
"\n", | |
" # Gurobi\n", | |
" gurobi_solution, gurobi_cost = gurobi_opt(N, W, \"maxcut\")\n", | |
" gurobi_cost_list += [gurobi_cost]\n", | |
"\n", | |
" # vanilla QAOA\n", | |
" num_grid_qaoa_angle_search = 20\n", | |
" qaoa_cost, best_beta, best_gamma, Z_mat_qaoa, cost_landscape_qaoa, cost_landscape_qrr = qaoa_1_layer(num_grid_qaoa_angle_search, random_graph, N)\n", | |
" cost_landscape_qaoa_list += [cost_landscape_qaoa]\n", | |
" cost_landscape_qrr_list += [cost_landscape_qrr]\n", | |
" qaoa_cost_list += [qaoa_cost]\n", | |
"\n", | |
" # QAOA + RR (QRR)\n", | |
" arg_dict = {\"W\": W}\n", | |
" qrr_solution, qrr_cost = relax_and_round(Z_mat_qaoa, maxcut_cost, arg_dict)\n", | |
" qaoa_rr_cost_list += [qrr_cost]\n", | |
"\n", | |
" print(gurobi_cost, qaoa_cost, qrr_cost)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "flWcac38HUJw", | |
"outputId": "302049d4-f47c-4b1c-9794-15d9cff7565f" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"-24.0 -10.661265007220445 -22.0\n" | |
] | |
}, | |
{ | |
"output_type": "stream", | |
"name": "stderr", | |
"text": [ | |
"<ipython-input-94-837eae2c3265>:26: ComplexWarning:\n", | |
"\n", | |
"Casting complex values to real discards the imaginary part\n", | |
"\n" | |
] | |
}, | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"-22.0 -10.275735630293399 -22.0\n", | |
"-21.0 -9.491607754473396 -19.0\n", | |
"-24.0 -10.44130565672906 -24.0\n", | |
"-20.0 -9.516411524569113 -18.0\n", | |
"-21.0 -9.162561523996617 (-21+0j)\n", | |
"-21.0 -9.528304372040457 -17.0\n", | |
"-23.0 -10.458464240207876 -17.0\n", | |
"-20.0 -9.274435079993921 -20.0\n", | |
"-23.0 -9.753214363445348 -21.0\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"qaoa_approx_average = np.average([cost_landscape_qaoa_list[i]/gurobi_cost_list[i] for i in range(len(cost_landscape_qaoa_list))], axis=0)\n", | |
"qrr_approx_average = np.average([cost_landscape_qrr_list[i]/gurobi_cost_list[i] for i in range(len(cost_landscape_qrr_list))], axis=0)\n", | |
"\n", | |
"np.max(np.round(qaoa_approx_average, 3)), np.max(np.round(qrr_approx_average, 3))" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "pB0HzZUUHW2g", | |
"outputId": "00f0e90d-ef99-42c6-d342-03036479bbc4" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "execute_result", | |
"data": { | |
"text/plain": [ | |
"(0.449, 0.947)" | |
] | |
}, | |
"metadata": {}, | |
"execution_count": 103 | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"np.savetxt(\"/content/drive/MyDrive/QST Master/Master's Thesis/Testing Results/N=20 QAOA approx average landscape.txt\", qaoa_approx_average)\n", | |
"np.savetxt(\"/content/drive/MyDrive/QST Master/Master's Thesis/Testing Results/N=20 QRR approx average landscape.txt\", qrr_approx_average)" | |
], | |
"metadata": { | |
"id": "92kCJnVjIQoT" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"Reduced the grid search to 20x20 due to more nodes." | |
], | |
"metadata": { | |
"id": "na0z-QUCIWly" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"import plotly.graph_objects as go\n", | |
"import pandas as pd\n", | |
"import numpy as np\n", | |
"\n", | |
"num_grid_qaoa_angle_search = 20\n", | |
"beta_search_space = np.linspace(-np.pi/2, np.pi/2, num_grid_qaoa_angle_search)\n", | |
"gamma_search_space = np.linspace(-np.pi/2, np.pi/2, num_grid_qaoa_angle_search)\n", | |
"\n", | |
"fig = go.Figure(data=[\n", | |
" go.Surface(z=np.round(qaoa_approx_average, 3), x=beta_search_space, y=gamma_search_space, showscale=False, name = \"Vanilla QAOA\"),\n", | |
" go.Surface(z=np.round(qrr_approx_average, 3), x=beta_search_space, y=gamma_search_space, showscale=False, colorscale ='Blues', name=\"QRR\")\n", | |
"])\n", | |
"\n", | |
"fig.update_layout(title='MaxCut Energy Ratio (Red = Vanilla QAOA, Blue = QRR)', autosize=False,\n", | |
" scene = dict(\n", | |
" xaxis_title='β angles',\n", | |
" yaxis_title='γ angles',\n", | |
" zaxis_title='Energy Ratio'),\n", | |
" width=1000, height=1000,\n", | |
" margin=dict(l=65, r=50, b=65, t=90), showlegend=True)\n", | |
"fig.show()" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 1000 | |
}, | |
"id": "X7pDuC50IUkV", | |
"outputId": "a1f82f24-8c63-40fe-beee-cf5985f2188d" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/html": [ | |
"<html>\n", | |
"<head><meta charset=\"utf-8\" /></head>\n", | |
"<body>\n", | |
" <div> <script src=\"https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-AMS-MML_SVG\"></script><script type=\"text/javascript\">if (window.MathJax && window.MathJax.Hub && window.MathJax.Hub.Config) {window.MathJax.Hub.Config({SVG: {font: \"STIX-Web\"}});}</script> <script type=\"text/javascript\">window.PlotlyConfig = {MathJaxConfig: 'local'};</script>\n", | |
" <script charset=\"utf-8\" src=\"https://cdn.plot.ly/plotly-2.35.2.min.js\"></script> <div id=\"d5c797dc-c44e-4c9a-a34d-d6b2e19f1cce\" class=\"plotly-graph-div\" style=\"height:1000px; width:1000px;\"></div> <script type=\"text/javascript\"> window.PLOTLYENV=window.PLOTLYENV || {}; if (document.getElementById(\"d5c797dc-c44e-4c9a-a34d-d6b2e19f1cce\")) { Plotly.newPlot( \"d5c797dc-c44e-4c9a-a34d-d6b2e19f1cce\", [{\"name\":\"Vanilla QAOA\",\"showscale\":false,\"x\":[-1.5707963267948966,-1.4054493450270127,-1.2401023632591288,-1.074755381491245,-0.9094083997233612,-0.7440614179554773,-0.5787144361875936,-0.4133674544197097,-0.2480204726518258,-0.08267349088394194,0.08267349088394194,0.2480204726518258,0.41336745441970946,0.5787144361875933,0.7440614179554772,0.9094083997233611,1.074755381491245,1.2401023632591288,1.4054493450270127,1.5707963267948966],\"y\":[-1.5707963267948966,-1.4054493450270127,-1.2401023632591288,-1.074755381491245,-0.9094083997233612,-0.7440614179554773,-0.5787144361875936,-0.4133674544197097,-0.2480204726518258,-0.08267349088394194,0.08267349088394194,0.2480204726518258,0.41336745441970946,0.5787144361875933,0.7440614179554772,0.9094083997233611,1.074755381491245,1.2401023632591288,1.4054493450270127,1.5707963267948966],\"z\":[[0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0],[0.0,0.018,0.023,0.02,0.021,0.046,0.122,0.241,0.294,0.144,-0.148,-0.31,-0.248,-0.123,-0.046,-0.021,-0.02,-0.024,-0.02,-0.0],[0.0,0.027,0.035,0.032,0.033,0.073,0.193,0.374,0.448,0.222,-0.238,-0.504,-0.397,-0.195,-0.073,-0.033,-0.032,-0.038,-0.033,-0.0],[0.0,0.023,0.031,0.031,0.032,0.069,0.181,0.343,0.398,0.203,-0.233,-0.502,-0.386,-0.185,-0.069,-0.031,-0.03,-0.038,-0.034,-0.0],[0.0,0.007,0.013,0.016,0.017,0.036,0.092,0.16,0.164,0.093,-0.133,-0.304,-0.218,-0.098,-0.036,-0.016,-0.015,-0.023,-0.022,-0.0],[-0.0,-0.013,-0.011,-0.005,-0.005,-0.012,-0.036,-0.096,-0.155,-0.06,0.018,0.007,0.035,0.03,0.012,0.006,0.006,0.001,-0.003,0.0],[-0.0,-0.03,-0.032,-0.024,-0.025,-0.056,-0.149,-0.318,-0.424,-0.193,0.157,0.299,0.267,0.145,0.055,0.025,0.025,0.023,0.016,0.0],[-0.0,-0.035,-0.04,-0.032,-0.034,-0.075,-0.201,-0.413,-0.53,-0.248,0.225,0.449,0.38,0.197,0.075,0.034,0.033,0.035,0.027,0.0],[-0.0,-0.028,-0.033,-0.027,-0.029,-0.063,-0.168,-0.34,-0.428,-0.204,0.194,0.394,0.326,0.167,0.063,0.029,0.028,0.03,0.024,0.0],[-0.0,-0.01,-0.012,-0.011,-0.011,-0.024,-0.065,-0.13,-0.162,-0.078,0.077,0.157,0.128,0.065,0.024,0.011,0.011,0.012,0.01,0.0],[0.0,0.01,0.012,0.011,0.011,0.024,0.065,0.128,0.157,0.077,-0.078,-0.162,-0.13,-0.065,-0.024,-0.011,-0.011,-0.012,-0.01,-0.0],[0.0,0.024,0.03,0.028,0.029,0.063,0.167,0.326,0.394,0.194,-0.204,-0.428,-0.34,-0.168,-0.063,-0.029,-0.027,-0.033,-0.028,-0.0],[0.0,0.027,0.035,0.033,0.034,0.075,0.197,0.38,0.449,0.225,-0.248,-0.53,-0.413,-0.201,-0.075,-0.034,-0.032,-0.04,-0.035,-0.0],[0.0,0.016,0.023,0.025,0.025,0.055,0.145,0.267,0.299,0.157,-0.193,-0.424,-0.318,-0.149,-0.056,-0.025,-0.024,-0.032,-0.03,-0.0],[0.0,-0.003,0.001,0.006,0.006,0.012,0.03,0.035,0.007,0.018,-0.06,-0.155,-0.096,-0.036,-0.012,-0.005,-0.005,-0.011,-0.013,-0.0],[-0.0,-0.022,-0.023,-0.015,-0.016,-0.036,-0.098,-0.218,-0.304,-0.133,0.093,0.164,0.16,0.092,0.036,0.017,0.016,0.013,0.007,0.0],[-0.0,-0.034,-0.038,-0.03,-0.031,-0.069,-0.185,-0.386,-0.502,-0.233,0.203,0.398,0.343,0.181,0.069,0.032,0.031,0.031,0.023,0.0],[-0.0,-0.033,-0.038,-0.032,-0.033,-0.073,-0.195,-0.397,-0.504,-0.238,0.222,0.448,0.374,0.193,0.073,0.033,0.032,0.035,0.027,0.0],[-0.0,-0.02,-0.024,-0.02,-0.021,-0.046,-0.123,-0.248,-0.31,-0.148,0.144,0.294,0.241,0.122,0.046,0.021,0.02,0.023,0.018,0.0],[-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,-0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0,0.0]],\"type\":\"surface\"},{\"colorscale\":[[0.0,\"rgb(247,251,255)\"],[0.125,\"rgb(222,235,247)\"],[0.25,\"rgb(198,219,239)\"],[0.375,\"rgb(158,202,225)\"],[0.5,\"rgb(107,174,214)\"],[0.625,\"rgb(66,146,198)\"],[0.75,\"rgb(33,113,181)\"],[0.875,\"rgb(8,81,156)\"],[1.0,\"rgb(8,48,107)\"]],\"name\":\"QRR\",\"showscale\":false,\"x\":[-1.5707963267948966,-1.4054493450270127,-1.2401023632591288,-1.074755381491245,-0.9094083997233612,-0.7440614179554773,-0.5787144361875936,-0.4133674544197097,-0.2480204726518258,-0.08267349088394194,0.08267349088394194,0.2480204726518258,0.41336745441970946,0.5787144361875933,0.7440614179554772,0.9094083997233611,1.074755381491245,1.2401023632591288,1.4054493450270127,1.5707963267948966],\"y\":[-1.5707963267948966,-1.4054493450270127,-1.2401023632591288,-1.074755381491245,-0.9094083997233612,-0.7440614179554773,-0.5787144361875936,-0.4133674544197097,-0.2480204726518258,-0.08267349088394194,0.08267349088394194,0.2480204726518258,0.41336745441970946,0.5787144361875933,0.7440614179554772,0.9094083997233611,1.074755381491245,1.2401023632591288,1.4054493450270127,1.5707963267948966],\"z\":[[0.359,0.444,0.415,0.444,0.478,0.829,0.876,0.939,0.908,0.916,0.916,0.908,0.939,0.876,0.829,0.469,0.444,0.424,0.416,0.343],[0.307,0.449,0.396,0.425,0.469,0.829,0.885,0.939,0.908,0.926,0.935,0.926,0.939,0.885,0.829,0.469,0.424,0.395,0.397,0.379],[0.346,0.414,0.37,0.461,0.469,0.829,0.885,0.929,0.918,0.936,0.935,0.936,0.939,0.885,0.829,0.468,0.435,0.424,0.396,0.354],[0.323,0.458,0.406,0.469,0.469,0.819,0.885,0.911,0.91,0.936,0.936,0.935,0.939,0.885,0.819,0.468,0.395,0.425,0.423,0.406],[0.378,0.507,0.496,0.453,0.487,0.829,0.894,0.936,0.92,0.938,0.917,0.935,0.947,0.847,0.829,0.469,0.351,0.371,0.378,0.408],[0.337,0.396,0.416,0.408,0.422,0.829,0.886,0.919,0.857,0.89,0.877,0.622,0.747,0.865,0.829,0.451,0.467,0.424,0.48,0.315],[0.351,0.385,0.406,0.387,0.478,0.829,0.885,0.939,0.935,0.936,0.947,0.919,0.92,0.885,0.829,0.469,0.471,0.441,0.451,0.31],[0.368,0.422,0.434,0.405,0.468,0.829,0.876,0.939,0.945,0.935,0.945,0.918,0.929,0.876,0.829,0.459,0.468,0.415,0.432,0.367],[0.338,0.387,0.395,0.415,0.478,0.829,0.885,0.939,0.945,0.935,0.936,0.918,0.929,0.885,0.829,0.459,0.442,0.386,0.44,0.387],[0.323,0.396,0.414,0.434,0.478,0.829,0.876,0.939,0.918,0.926,0.926,0.908,0.929,0.885,0.829,0.469,0.434,0.434,0.398,0.342],[0.342,0.398,0.434,0.434,0.469,0.829,0.885,0.929,0.908,0.926,0.926,0.918,0.939,0.885,0.829,0.478,0.434,0.414,0.396,0.323],[0.387,0.44,0.386,0.442,0.478,0.829,0.885,0.929,0.918,0.936,0.935,0.945,0.939,0.885,0.829,0.469,0.415,0.395,0.387,0.338],[0.367,0.45,0.387,0.459,0.469,0.829,0.885,0.929,0.918,0.945,0.935,0.945,0.939,0.885,0.829,0.459,0.405,0.434,0.422,0.368],[0.379,0.451,0.441,0.452,0.469,0.829,0.885,0.911,0.919,0.947,0.936,0.935,0.939,0.885,0.829,0.488,0.378,0.406,0.394,0.438],[0.378,0.48,0.424,0.494,0.461,0.829,0.865,0.747,0.622,0.877,0.9,0.857,0.919,0.886,0.829,0.422,0.398,0.406,0.405,0.388],[0.322,0.368,0.371,0.361,0.469,0.829,0.857,0.947,0.935,0.917,0.938,0.92,0.936,0.884,0.829,0.487,0.453,0.496,0.507,0.395],[0.406,0.423,0.425,0.395,0.468,0.829,0.885,0.939,0.935,0.936,0.936,0.91,0.911,0.885,0.829,0.459,0.469,0.406,0.458,0.323],[0.354,0.396,0.424,0.435,0.459,0.829,0.876,0.939,0.936,0.935,0.936,0.918,0.929,0.876,0.829,0.469,0.461,0.37,0.414,0.346],[0.379,0.397,0.395,0.424,0.469,0.829,0.885,0.939,0.926,0.935,0.926,0.908,0.939,0.885,0.829,0.488,0.425,0.396,0.449,0.307],[0.343,0.416,0.424,0.444,0.488,0.829,0.876,0.939,0.908,0.916,0.916,0.908,0.939,0.876,0.829,0.478,0.444,0.415,0.444,0.359]],\"type\":\"surface\"}], {\"template\":{\"data\":{\"histogram2dcontour\":[{\"type\":\"histogram2dcontour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"choropleth\":[{\"type\":\"choropleth\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"histogram2d\":[{\"type\":\"histogram2d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmap\":[{\"type\":\"heatmap\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"heatmapgl\":[{\"type\":\"heatmapgl\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"contourcarpet\":[{\"type\":\"contourcarpet\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"contour\":[{\"type\":\"contour\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"surface\":[{\"type\":\"surface\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"},\"colorscale\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]]}],\"mesh3d\":[{\"type\":\"mesh3d\",\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}],\"scatter\":[{\"fillpattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2},\"type\":\"scatter\"}],\"parcoords\":[{\"type\":\"parcoords\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolargl\":[{\"type\":\"scatterpolargl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"bar\":[{\"error_x\":{\"color\":\"#2a3f5f\"},\"error_y\":{\"color\":\"#2a3f5f\"},\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"bar\"}],\"scattergeo\":[{\"type\":\"scattergeo\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterpolar\":[{\"type\":\"scatterpolar\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"histogram\":[{\"marker\":{\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"histogram\"}],\"scattergl\":[{\"type\":\"scattergl\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatter3d\":[{\"type\":\"scatter3d\",\"line\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattermapbox\":[{\"type\":\"scattermapbox\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scatterternary\":[{\"type\":\"scatterternary\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"scattercarpet\":[{\"type\":\"scattercarpet\",\"marker\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}}}],\"carpet\":[{\"aaxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"baxis\":{\"endlinecolor\":\"#2a3f5f\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"minorgridcolor\":\"white\",\"startlinecolor\":\"#2a3f5f\"},\"type\":\"carpet\"}],\"table\":[{\"cells\":{\"fill\":{\"color\":\"#EBF0F8\"},\"line\":{\"color\":\"white\"}},\"header\":{\"fill\":{\"color\":\"#C8D4E3\"},\"line\":{\"color\":\"white\"}},\"type\":\"table\"}],\"barpolar\":[{\"marker\":{\"line\":{\"color\":\"#E5ECF6\",\"width\":0.5},\"pattern\":{\"fillmode\":\"overlay\",\"size\":10,\"solidity\":0.2}},\"type\":\"barpolar\"}],\"pie\":[{\"automargin\":true,\"type\":\"pie\"}]},\"layout\":{\"autotypenumbers\":\"strict\",\"colorway\":[\"#636efa\",\"#EF553B\",\"#00cc96\",\"#ab63fa\",\"#FFA15A\",\"#19d3f3\",\"#FF6692\",\"#B6E880\",\"#FF97FF\",\"#FECB52\"],\"font\":{\"color\":\"#2a3f5f\"},\"hovermode\":\"closest\",\"hoverlabel\":{\"align\":\"left\"},\"paper_bgcolor\":\"white\",\"plot_bgcolor\":\"#E5ECF6\",\"polar\":{\"bgcolor\":\"#E5ECF6\",\"angularaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"radialaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"ternary\":{\"bgcolor\":\"#E5ECF6\",\"aaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"baxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"},\"caxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\"}},\"coloraxis\":{\"colorbar\":{\"outlinewidth\":0,\"ticks\":\"\"}},\"colorscale\":{\"sequential\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"sequentialminus\":[[0.0,\"#0d0887\"],[0.1111111111111111,\"#46039f\"],[0.2222222222222222,\"#7201a8\"],[0.3333333333333333,\"#9c179e\"],[0.4444444444444444,\"#bd3786\"],[0.5555555555555556,\"#d8576b\"],[0.6666666666666666,\"#ed7953\"],[0.7777777777777778,\"#fb9f3a\"],[0.8888888888888888,\"#fdca26\"],[1.0,\"#f0f921\"]],\"diverging\":[[0,\"#8e0152\"],[0.1,\"#c51b7d\"],[0.2,\"#de77ae\"],[0.3,\"#f1b6da\"],[0.4,\"#fde0ef\"],[0.5,\"#f7f7f7\"],[0.6,\"#e6f5d0\"],[0.7,\"#b8e186\"],[0.8,\"#7fbc41\"],[0.9,\"#4d9221\"],[1,\"#276419\"]]},\"xaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"yaxis\":{\"gridcolor\":\"white\",\"linecolor\":\"white\",\"ticks\":\"\",\"title\":{\"standoff\":15},\"zerolinecolor\":\"white\",\"automargin\":true,\"zerolinewidth\":2},\"scene\":{\"xaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"yaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2},\"zaxis\":{\"backgroundcolor\":\"#E5ECF6\",\"gridcolor\":\"white\",\"linecolor\":\"white\",\"showbackground\":true,\"ticks\":\"\",\"zerolinecolor\":\"white\",\"gridwidth\":2}},\"shapedefaults\":{\"line\":{\"color\":\"#2a3f5f\"}},\"annotationdefaults\":{\"arrowcolor\":\"#2a3f5f\",\"arrowhead\":0,\"arrowwidth\":1},\"geo\":{\"bgcolor\":\"white\",\"landcolor\":\"#E5ECF6\",\"subunitcolor\":\"white\",\"showland\":true,\"showlakes\":true,\"lakecolor\":\"white\"},\"title\":{\"x\":0.05},\"mapbox\":{\"style\":\"light\"}}},\"margin\":{\"l\":65,\"r\":50,\"b\":65,\"t\":90},\"title\":{\"text\":\"MaxCut Energy Ratio (Red = Vanilla QAOA, Blue = QRR)\"},\"autosize\":false,\"scene\":{\"xaxis\":{\"title\":{\"text\":\"\\u03b2 angles\"}},\"yaxis\":{\"title\":{\"text\":\"\\u03b3 angles\"}},\"zaxis\":{\"title\":{\"text\":\"Energy Ratio\"}}},\"width\":1000,\"height\":1000,\"showlegend\":true}, {\"responsive\": true} ).then(function(){\n", | |
" \n", | |
"var gd = document.getElementById('d5c797dc-c44e-4c9a-a34d-d6b2e19f1cce');\n", | |
"var x = new MutationObserver(function (mutations, observer) {{\n", | |
" var display = window.getComputedStyle(gd).display;\n", | |
" if (!display || display === 'none') {{\n", | |
" console.log([gd, 'removed!']);\n", | |
" Plotly.purge(gd);\n", | |
" observer.disconnect();\n", | |
" }}\n", | |
"}});\n", | |
"\n", | |
"// Listen for the removal of the full notebook cells\n", | |
"var notebookContainer = gd.closest('#notebook-container');\n", | |
"if (notebookContainer) {{\n", | |
" x.observe(notebookContainer, {childList: true});\n", | |
"}}\n", | |
"\n", | |
"// Listen for the clearing of the current output cell\n", | |
"var outputEl = gd.closest('.output');\n", | |
"if (outputEl) {{\n", | |
" x.observe(outputEl, {childList: true});\n", | |
"}}\n", | |
"\n", | |
" }) }; </script> </div>\n", | |
"</body>\n", | |
"</html>" | |
] | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"## $N=40$, 10 random graphs" | |
], | |
"metadata": { | |
"id": "Fp0lh6lCTuAA" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"N = 40\n", | |
"\n", | |
"gurobi_cost_list = []\n", | |
"qaoa_cost_list = []\n", | |
"qaoa_rr_cost_list = []\n", | |
"mc_rr_cost_list = []\n", | |
"\n", | |
"for g in range(10):\n", | |
"\n", | |
" num_seed = seed_list[g]\n", | |
" random_graph = nx.fast_gnp_random_graph(n=N, p=1.2*np.log(N)/N, seed=num_seed)\n", | |
" W = nx.adjacency_matrix(random_graph)\n", | |
"\n", | |
" # Gurobi\n", | |
" gurobi_solution, gurobi_cost = gurobi_opt(N, W, \"maxcut\")\n", | |
" gurobi_cost_list += [gurobi_cost]\n", | |
"\n", | |
" # vanilla QAOA\n", | |
" num_grid_qaoa_angle_search = 20\n", | |
" qaoa_cost, best_beta, best_gamma, Z_mat_qaoa = qaoa_1_layer(num_grid_qaoa_angle_search, random_graph, N)\n", | |
" qaoa_cost_list += [qaoa_cost]\n", | |
"\n", | |
" # QAOA + RR (QRR)\n", | |
" arg_dict = {\"W\": W}\n", | |
" qrr_solution, qrr_cost = relax_and_round(Z_mat_qaoa, maxcut_cost, arg_dict)\n", | |
" qaoa_rr_cost_list += [qrr_cost]\n", | |
"\n", | |
" # MC + RR\n", | |
" M = 2000\n", | |
" T = 1\n", | |
" spin_sampled, energy_list, E_expectation = metropolis(W, N, M, T)\n", | |
" Z_mat_mc = Z_matrix_from_bitstrings(spin_sampled)\n", | |
" arg_dict = {\"W\": W}\n", | |
" mcrr_solution, mcrr_cost = relax_and_round(Z_mat_mc, maxcut_cost, arg_dict)\n", | |
" mc_rr_cost_list += [mcrr_cost]\n", | |
"\n", | |
" print(gurobi_cost, qaoa_cost, qrr_cost, mcrr_cost)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "duCDraKgSwmq", | |
"outputId": "523d9cff-7b54-4951-d9b0-e23038cdc9e2" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"-57.0 -23.3278477235208 (-53+0j) -21.0\n", | |
"-52.0 -22.91589291533482 -50.0 -20.0\n", | |
"-54.0 -23.621361290742982 -50.0 -18.0\n", | |
"-58.0 -23.762195028587513 -52.0 -26.0\n", | |
"-45.0 -20.080800121286302 -39.0 -15.0\n", | |
"-49.0 -20.915100663437155 -47.0 -19.0\n", | |
"-49.0 -21.497906600511463 -45.0 -19.0\n", | |
"-51.0 -22.200991353873118 (-51+0j) -13.0\n", | |
"-51.0 -22.313013824813467 -51.0 -19.0\n", | |
"-50.0 -22.052180061973758 -44.0 -18.0\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"results = np.array([gurobi_cost_list, qaoa_cost_list, qaoa_rr_cost_list, mc_rr_cost_list])\n", | |
"np.savetxt(\"/content/drive/MyDrive/QST Master/Master's Thesis/Testing Results/N=40.txt\", results)" | |
], | |
"metadata": { | |
"id": "3dQUn3xoT2JM" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"gurobi_cost_avg = np.average(gurobi_cost_list)\n", | |
"qaoa_cost_avg = np.average(qaoa_cost_list)\n", | |
"qaoa_rr_cost_avg = np.average(qaoa_rr_cost_list)\n", | |
"mc_rr_cost_avg = np.average(mc_rr_cost_list)\n", | |
"\n", | |
"algos = [\"Gurobi\", \"QAOA (vanilla)\", \"QAOA + RR\", \"MC + RR\"]\n", | |
"values = -1*np.array([gurobi_cost_avg, qaoa_cost_avg, qaoa_rr_cost_avg, mc_rr_cost_avg])\n", | |
"\n", | |
"plt.bar(algos, values, color ='maroon',\n", | |
" width = 0.4)\n", | |
"\n", | |
"plt.xlabel(\"Algorithms\")\n", | |
"plt.ylabel(\"-1*C(x)\")\n", | |
"plt.title(\"N=40, average from 10 random graphs\")\n", | |
"plt.show()" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 472 | |
}, | |
"id": "PwD3hUZRT76A", | |
"outputId": "99c41806-9011-4e02-cae2-ea6d1aec76bb" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
], | |
"image/png": "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j3/8Q2+++WaR07t27aqVK1dedTm9evXSnDlzJEn79u3T3r17i/xU26VLFwUEBNivtGjWrJn++9//Kj8/3+Hozdq1a+Xj42P/BFYaH3/8sXr16qUJEybY286dO1fo6g7p9yAzevRoLVq0SKGhocrJyXE4JB8cHKwqVaro4sWLat++falrubSmu+++W0lJSQ7tJ06cUPXq1e33IyMjtW3bNhljHD79Xn4FRsFVYP7+/tdUV0lFRkZKktLT0xUVFWVvP3/+vHbv3n1daiipitinJGnx4sXKzc3Vv/71L4cjACtWrChzrZGRkfaja5dKT08v1K+g3RmPf0n3yytJTU3V0aNH9cknn+iuu+6yt+/evbvI/gcPHtTp06cdjsr8/PPPkn6/KqwsGjdurMaNG2vkyJH67rvv1KZNG7333nt67bXXyrQ8lB1jZFBu6tatqyeeeEIzZ85UZmZmoellGSMza9Ysffrppw63QYMGSZLefvttzZs3z973kUceUVZWlsM4lSNHjmjhwoXq3LnzFb8vpDiurq6FPmFOnTq10CWektSoUSM1btxYKSkpSklJUY0aNRxeZF1dXdWtWzctWrRIW7duLTT/4cOHy1zTwoULC33DckJCgg4cOKB//etf9rZz587p/fffd+jXvHlz1a1bV2+//bZOnTpV5rpKqn379vLw8NA777zjsB1JSUnKzs5Wp06dynV916Ii9inpf5/6Lz9VmZycXOZa77//fq1Zs0br1q2ztx0+fNjhf0Ry/uNf0v3ySop6/M6fP6/p06cX2f/ChQv2y94L+s6cOVPBwcGlPuWdk5OjCxcuOLQ1btxYLi4uZfqKB1w7jsigXP31r3/V3LlzlZ6erpiYGIdpZRkjc++99xZqKzgaEh8frxYtWtjbH3nkEbVu3Vp9+vTRtm3b7N/CevHiRY0ePdphGb1799aHH36o3bt3X/ET2QMPPKC5c+cqICBA0dHRSktL09dff+0wFuVSPXr00MsvvywvLy/169ev0LiecePGacWKFWrVqpWeeuopRUdH69ixY9q0aZO+/vprHTt27KqPyQMPPKAxY8aoT58+uv322/Xjjz9q3rx5Dp+uJal///5699139fjjj2vw4MGqUaOG5s2bZx+oWvBp2MXFRR988IE6duyomJgY9enTRzVr1tSBAwe0YsUK+fv7a/HixVetq6SCg4M1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TJ06dRQWFqbly5fb23JycrR27VrFxcUVO5+np6f8/f0dbgAA4Mbk1DEyp06d0i+//GK/v3v3bm3evFmBgYGqXbu2hgwZotdee00333yz6tSpo7/97W8KDw/XQw895LyiAQBApeHUILNhwwbdfffd9vvDhg2TJPXq1Utz5szRiy++qNOnT+vpp5/WiRMndMcdd2jJkiXy8vJyVskAAKAScWqQadu2rYwxxU632WwaM2aMxowZcx2rAgAAVlFpx8gAAABcDUEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYFkEGAABYliWCzLRp03TTTTfJy8tLrVq10rp165xdEgAAqAQqfZBJSUnRsGHDNGrUKG3atElNmzZVQkKCDh065OzSAACAk1X6IDNx4kQ99dRT6tOnj6Kjo/Xee+/Jx8dHs2fPdnZpAADAySp1kDl//rw2btyo9u3b29tcXFzUvn17paWlObEyAABQGbg5u4ArOXLkiC5evKjQ0FCH9tDQUO3YsaPIeXJzc5Wbm2u/n52dLUnKyckp9/rOlfsSna8iHqc/EvYJXI59Apdifyj9co0xV+xXqYNMWYwdO1ajR48u1B4REeGEaqxnXECAs0tAJcM+gcuxT+BSFb0/nDx5UgFXWEelDjLVq1eXq6ursrKyHNqzsrIUFhZW5DwjRozQsGHD7Pfz8/N17NgxBQUFyWazVWi9FSUnJ0cRERHav3+//P39nV0OKgH2CVyK/QGXuxH2CWOMTp48qfDw8Cv2q9RBxsPDQ82bN9fy5cv10EMPSfo9mCxf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OXNGffv2VZUqVVS7dm3NmjXLPm3Pnj2y2Wz65z//qTvvvFPe3t5q2bKlfv75Z61fv14tWrSQn5+fOnbsqMOHD9vnS01NVWxsrHx9fVW1alW1adNGe/fuLfPjCqCMrvuvOwGwtKSkJNOiRQtjjDGLFy82devWNfn5+caYwj8i+e233xoXFxczfvx4k56ebqZNm2YCAwMdfmDwk08+Me7u7mbatGkmPT3dTJgwwbi6ujr8CKYkExISYmbPnm127dpl9u7d67Cu3NxcM3nyZOPv728yMjJMRkaGOXnypDHm9x+4CwwMNNOmTTM7d+40Y8eONS4uLmbHjh3GmP/9kGLDhg3NkiVLzLZt20zr1q1N8+bNTdu2bc23335rNm3aZOrVq2cGDBhgjDEmLy/PBAQEmOeff9788ssvZtu2bWbOnDn2H3oEcP0QZACUyu23324mT55sjPn9Db169erF/mJ7jx49TKdOnRzm79mzp0OQuf32281TTz3l0OfRRx81999/v/2+JDNkyBCHPpevq7hfYI6MjDRPPPGE/X5+fr4JCQkxM2bMMMb8L8h88MEH9j4fffSRkWSWL19ubxs7dqxp0KCBMeb3X/mWZFJTU4t7mABcJ5xaAlBi6enpWrdunR5//HFJkpubm3r06KGkpKRi+8fGxjq0XX5/+/btatOmjUNbmzZttH37doe2Fi1alLnuJk2a2P+22WwKCwvToUOHiu0TGhoqSWrcuLFDW8E8gYGB6t27txISEtS5c2dNmTJFGRkZZa4PQNkRZACUWFJSki5cuKDw8HC5ubnJzc1NM2bM0KJFi5SdnV2h6/b19S3zvO7u7g73bTZboV+qvrRPwQDiy9sunSc5OVlpaWm6/fbblZKSovr162vNmjVlrhFA2RBkAJTIhQsX9Pe//10TJkzQ5s2b7bcffvhB4eHh+uijjwrN06BBA61fv96h7fL7jRo10urVqx3aVq9erejo6FLV5+HhoYsXL5Zqnmt16623asSIEfruu+90yy23aP78+dd1/QAkN2cXAMAa/v3vf+v48ePq16+f/btbCnTr1k1JSUkaP368Q/ugQYN01113aeLEiercubO++eYbffnllw6XTL/wwgvq3r27br31VrVv316LFy/WJ598oq+//rpU9d100006deqUli9frqZNm8rHx0c+Pj5l3+Ar2L17t2bNmqUuXbooPDxc6enp2rlzp5588skKWR+A4nFEBkCJJCUlqX379oVCjPR7kNmwYYO2bNni0N6mTRu99957mjhxopo2baolS5Zo6NCh8vLysvd56KGHNGXKFL399tuKiYnRzJkzlZycrLZt25aqvttvv10DBgxQjx49FBwcrLfeeqtM21kSPj4+2rFjh7p166b69evr6aefVmJiovr3719h6wRQNJsxxji7CAB/HE899ZR27Nih//73v84uBcANgFNLACrU22+/rQ4dOsjX11dffvmlPvzwQ02fPt3ZZQG4QXBEBkCF6t69u1JTU3Xy5ElFRUVp0KBBGjBggLPLAnCDIMgAAADLYrAvAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwrP8PQg8R+FD39VAAAAAASUVORK5CYII=\n" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"## $N=60$, 10 random graphs" | |
], | |
"metadata": { | |
"id": "6ovsVAL9b14S" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"N = 60\n", | |
"\n", | |
"gurobi_cost_list = []\n", | |
"qaoa_cost_list = []\n", | |
"qaoa_rr_cost_list = []\n", | |
"mc_rr_cost_list = []\n", | |
"\n", | |
"for g in range(10):\n", | |
"\n", | |
" num_seed = seed_list[g]\n", | |
" random_graph = nx.fast_gnp_random_graph(n=N, p=1.2*np.log(N)/N, seed=num_seed)\n", | |
" W = nx.adjacency_matrix(random_graph)\n", | |
"\n", | |
" # Gurobi\n", | |
" gurobi_solution, gurobi_cost = gurobi_opt(N, W, \"maxcut\")\n", | |
" gurobi_cost_list += [gurobi_cost]\n", | |
"\n", | |
" # vanilla QAOA\n", | |
" num_grid_qaoa_angle_search = 20\n", | |
" qaoa_cost, best_beta, best_gamma, Z_mat_qaoa = qaoa_1_layer(num_grid_qaoa_angle_search, random_graph, N)\n", | |
" qaoa_cost_list += [qaoa_cost]\n", | |
"\n", | |
" # QAOA + RR (QRR)\n", | |
" arg_dict = {\"W\": W}\n", | |
" qrr_solution, qrr_cost = relax_and_round(Z_mat_qaoa, maxcut_cost, arg_dict)\n", | |
" qaoa_rr_cost_list += [qrr_cost]\n", | |
"\n", | |
" # MC + RR\n", | |
" M = 2000\n", | |
" T = 1\n", | |
" spin_sampled, energy_list, E_expectation = metropolis(W, N, M, T)\n", | |
" Z_mat_mc = Z_matrix_from_bitstrings(spin_sampled)\n", | |
" arg_dict = {\"W\": W}\n", | |
" mcrr_solution, mcrr_cost = relax_and_round(Z_mat_mc, maxcut_cost, arg_dict)\n", | |
" mc_rr_cost_list += [mcrr_cost]\n", | |
"\n", | |
" print(gurobi_cost, qaoa_cost, qrr_cost, mcrr_cost)" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"id": "Nq5qa3tAUGxi", | |
"outputId": "08c75175-8bc0-4689-f93b-c131090918c2" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"-89.0 -36.85609765088073 -83.0 (-35+0j)\n", | |
"-90.0 -36.70536550669704 -86.0 (-30+0j)\n", | |
"-87.0 -36.348287426397 -81.0 (-23+0j)\n", | |
"-89.0 -37.10778600194406 -79.0 (-33+0j)\n", | |
"-79.0 -36.21680598294385 -77.0 (-25+0j)\n", | |
"-85.0 -35.41227007666428 -79.0 (-19+0j)\n", | |
"-86.0 -36.03805908241911 -76.0 (-24+0j)\n", | |
"-90.0 -36.31887295740034 -80.0 (-24+0j)\n", | |
"-80.0 -35.53675545253857 -78.0 (-32+0j)\n", | |
"-89.0 -36.737740396431114 -77.0 (-25+0j)\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"results = np.array([gurobi_cost_list, qaoa_cost_list, qaoa_rr_cost_list, mc_rr_cost_list])\n", | |
"np.savetxt(\"/content/drive/MyDrive/QST Master/Master's Thesis/Testing Results/N=60.txt\", results)" | |
], | |
"metadata": { | |
"id": "NpEHsHZTb6Y2" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"gurobi_cost_avg = np.average(gurobi_cost_list)\n", | |
"qaoa_cost_avg = np.average(qaoa_cost_list)\n", | |
"qaoa_rr_cost_avg = np.average(qaoa_rr_cost_list)\n", | |
"mc_rr_cost_avg = np.average(mc_rr_cost_list)\n", | |
"\n", | |
"algos = [\"Gurobi\", \"QAOA (vanilla)\", \"QAOA + RR\", \"MC + RR\"]\n", | |
"values = -1*np.array([gurobi_cost_avg, qaoa_cost_avg, qaoa_rr_cost_avg, mc_rr_cost_avg])\n", | |
"\n", | |
"plt.bar(algos, values, color ='maroon',\n", | |
" width = 0.4)\n", | |
"\n", | |
"plt.xlabel(\"Algorithms\")\n", | |
"plt.ylabel(\"-1*C(x)\")\n", | |
"plt.title(\"N=60, average from 10 random graphs\")\n", | |
"plt.show()" | |
], | |
"metadata": { | |
"id": "v_C9us6ib9nO", | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 472 | |
}, | |
"outputId": "4cee689f-b209-41bc-84ba-e13497a187c7" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
], | |
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAHHCAYAAACle7JuAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABC7ElEQVR4nO3deVgVdf//8dcB2RUUZRFFxF1wKxW3Cu/SyEitLK1b79ulyy01bbH0vi3TFjVv91wLsQyTu2yzRTNTK3NLMyuVvN0y9xXMBRE+vz/8MV+PgAKCh7Hn47q4Ls9nPjPznnPGc15n5jNnHMYYIwAAABtyc3UBAAAAhUWQAQAAtkWQAQAAtkWQAQAAtkWQAQAAtkWQAQAAtkWQAQAAtkWQAQAAtkWQAQAAtkWQAXDdDh8+rIceekjly5eXw+HQ5MmTXV0S/r958+bJ4XBoz549ri6lRFu5cqUcDofef/99V5eCAiLIoFCy3xy9vb21f//+HNNbt26tevXqFdn6Tp8+rWeffVaRkZHy8vJSpUqV9NBDD+ns2bNO/U6dOqU+ffooKChIfn5++tvf/qZNmzYVWR3I3ZNPPqmlS5dq+PDhmj9/vu655x5Xl3RVM2fO1MMPP6wqVarI4XCoR48eefZlnwJKtlKuLgD2lp6errFjx2ratGnFto7U1FTFxsbqjz/+UJ8+fVSjRg0dPXpU3377rdLT0+Xr6ytJysrKUnx8vH766ScNHTpUFSpU0IwZM9S6dWtt3LhRNWvWLLYa/+q+/vprdezYUc8884yrS8mXcePG6fTp04qJidHBgwfz7Mc+BZR8BBlcl0aNGumNN97Q8OHDFRYWVizrGD58uPbu3atNmzYpMjLSan/uueec+r3//vv6/vvv9d577+mhhx6SJHXu3Fm1atXSyJEjtWDBgmKp70Y5f/68PD095eZW8g6kHjlyRGXLlr1mvzNnzsjPz6/4C7qGVatWWUdjSpcunWe/ot6njDE6f/68fHx8rqv+v7KzZ89aX14AiVNLuE7/+te/lJmZqbFjxxbL8k+dOqXExET16dNHkZGRunDhgtLT03Pt+/777yskJEQPPvig1RYUFKTOnTvr448/znO+q9m7d68ef/xx1a5dWz4+Pipfvrwefvhhp/EGP/zwgxwOh956660c8y9dulQOh0Offvqp1bZ//3716tVLISEh8vLyUnR0tObOnes0X/b5+oULF2rEiBGqVKmSfH19lZaWphMnTuiZZ55R/fr1Vbp0afn7+6tdu3b66aefcq2/Q4cO8vPzU3BwsHUKyOFwaOXKlU59161bp3vuuUcBAQHy9fVVbGysVq9efdXnJ/sUozFG06dPl8PhkMPhcJq2atUqPf744woODlblypWteWfMmKHo6Gh5eXkpLCxMAwYM0KlTp5yWn32KcsuWLYqNjZWvr69q1KhhjWNYtWqVmjVrJh8fH9WuXVtfffXVVevNFhERYdV5Nde7T1WtWlX33Xefli5dqiZNmsjHx0ezZ8+WJCUmJurOO+9UcHCwvLy8FBUVpZkzZ+a5jO+++04xMTHy9vZWtWrV9Pbbb+fo++uvv+rOO++Uj4+PKleurJdffllZWVm51ubK5z+/+2X2+jdu3Kg77rhDvr6++te//iVJ+vjjjxUfH6+wsDB5eXmpevXqeumll5SZmZnrNmzcuFEtW7aUj4+PIiMjNWvWrFxry8rK0iuvvKLKlSvL29tbd911l/73v/859dmxY4c6deqk0NBQeXt7q3LlynrkkUeUmpqar+1HETNAISQmJhpJZsOGDaZXr17G29vb7N+/35oeGxtroqOjneY5deqUOXr06DX/Tp8+bc2zePFiI8nMmTPHdOrUybi7uxuHw2FatmxpfvzxR6fl16hRw7Rr1y5HrW+++aaRZLZs2VLg7XzvvfdMw4YNzQsvvGDmzJlj/vWvf5ly5cqZiIgIc+bMGatftWrVzL333ptj/p49e5py5cqZCxcuGGOMOXTokKlcubIJDw83o0ePNjNnzjQdOnQwksykSZOs+VasWGEkmaioKNOoUSMzceJEM2bMGHPmzBmzYcMGU716dTNs2DAze/ZsM3r0aFOpUiUTEBDg9Br8+eefplq1asbHx8cMGzbMTJ482cTExJiGDRsaSWbFihVW3+XLlxtPT0/TokULM2HCBDNp0iTToEED4+npadatW5fn87Nz504zf/58I8m0bdvWzJ8/38yfP98Y83/7SFRUlImNjTXTpk0zY8eONcYYM3LkSCPJtGnTxkybNs0MHDjQuLu7m6ZNm1rPlTGX9qOwsDATHh5uhg4daqZNm2aioqKMu7u7WbhwoQkNDTUvvviimTx5svUcpKWlFeg19vPzM927d8912vXuUxEREaZGjRqmXLlyZtiwYWbWrFnW8960aVPTo0cPM2nSJDNt2jRz9913G0nm9ddfz7GM2rVrm5CQEPOvf/3LvP766+bWW281DofD/PLLL1a/gwcPmqCgIFOuXDnz4osvmvHjx5uaNWuaBg0aGElm9+7dVl9XPv8F2S9jY2NNaGioCQoKMoMGDTKzZ882H330kTHGmPvvv9907tzZjB8/3sycOdM8/PDDRpJ55plnnNaXvQ3BwcFm4MCBZurUqea2224zkkxCQoLVL/v/3C233GIaN25sJk2aZF588UXj6+trYmJirH7p6ekmMjLShIWFmZdfftm8+eabZtSoUaZp06Zmz549V912FA+CDArl8iCzc+dOU6pUKfPEE09Y03MLMrGxsUbSNf8u/1CZOHGikWTKly9vYmJiTFJSkpkxY4YJCQkx5cqVMwcOHLD6+vn5mV69euWo9bPPPjOSzJIlSwq8nWfPns3RtmbNGiPJvP3221bb8OHDjYeHhzlx4oTVlp6ebsqWLetU02OPPWYqVqxojh075rTMRx55xAQEBFjry35TrVatWo4azp8/bzIzM53adu/ebby8vMzo0aOttgkTJhhJ1hu/McacO3fO1KlTx+kDIysry9SsWdPExcWZrKwsp22PjIw0bdu2vebzJMkMGDDAqS17H7ntttvMxYsXrfYjR44YT09Pc/fddzttx+uvv24kmblz51pt2fvMggULrLbt27cbScbNzc2sXbvWal+6dKmRZBITE69Z7+WuFmSud5+KiIjIs19u+1ZcXJypVq1arsv45ptvrLYjR44YLy8v8/TTT1ttQ4YMMZKcgueRI0dMQECAU5Bx9fOf3/3y8vXPmjUrx3Jye/769u1rfH19zfnz53MsY8KECVZbenq6adSokQkODraCW/b/ubp165r09HSr75QpU4wk8/PPPxtjjPnxxx+NJPPee+9ddTtx43BqCdetWrVq+sc//qE5c+ZcdeDkhAkTtGzZsmv+Pfvss9Y8f/75pyTJ4XBo+fLl+vvf/67+/fvro48+0smTJzV9+nSr77lz5+Tl5ZVjvd7e3tb0grp8LENGRoaOHz+uGjVqqGzZsk5XrnTp0kUZGRn64IMPrLYvv/xSp06dUpcuXSRdGh+xaNEitW/fXsYYHTt2zPqLi4tTampqjqthunfvnmM8hZeXlzVOJjMzU8ePH1fp0qVVu3Ztp/mXLFmiSpUqqUOHDk7PRe/evZ2Wt3nzZu3YsUN///vfdfz4caumM2fO6K677tI333yT5+mJ/Ojdu7fc3d2tx1999ZUuXLigIUOGOI336d27t/z9/fXZZ585zV+6dGk98sgj1uPatWurbNmyqlu3rpo1a2a1Z/97165dha71SkWxT0VGRiouLi5H++Wva2pqqo4dO6bY2Fjt2rUrxymKqKgo3X777dbjoKAg1a5d22lbP//8czVv3lwxMTFO/bp27eq0LFc///ndL7N5eXmpZ8+eOdovf/5Onz6tY8eO6fbbb9fZs2e1fft2p76lSpVS3759rceenp7q27evjhw5oo0bNzr17dmzpzw9Pa3H2c979nYFBARIunTa+MqrJuEaDPZFkRgxYoTmz5+vsWPHasqUKbn2ady4cYGXm/1m1b59e6dBmc2bN1dkZKS+//57p765jVk4f/6807IK4ty5cxozZowSExO1f/9+GWOsaZd/2DRs2FB16tRRcnKyHnvsMUlScnKyKlSooDvvvFOSdPToUZ06dUpz5szRnDlzcl3fkSNHnB5fPrg5W1ZWlqZMmaIZM2Zo9+7dTmMCypcvb/177969ql69eo6xIDVq1HB6vGPHDkmXQlNeUlNTVa5cuTynX82V27B3715Jlz4QL+fp6alq1apZ07NVrlw5xzYEBAQoPDw8R5sknTx5slB15qYo9qncXkNJWr16tUaOHKk1a9bk+EBMTU21tkeSqlSpkmP+cuXKOW3r3r17nYJFtiufZ1c///ndL7NVqlTJKVhk+/XXXzVixAh9/fXXSktLc5p2ZRAMCwvLMci8Vq1akqQ9e/aoefPmVvuVz3X2fp+9XZGRkXrqqac0ceJEJSUl6fbbb1eHDh3UrVs3p9cMNw5BBkWiWrVq6tatm+bMmaNhw4bl2ufEiRO6cOHCNZfl4+NjvSFkXwkVEhKSo19wcLDTm2bFihVzPSKU3VaYq6oGDRqkxMREDRkyRC1atFBAQIAcDoceeeSRHEcpunTpoldeeUXHjh1TmTJl9Mknn+jRRx9VqVKX/ptl9+/WrVueoaFBgwZOj3P7oHz11Vf1/PPPq1evXnrppZcUGBgoNzc3DRkypFBHTrLnGT9+vBo1apRrn6td2XMt13uFzuVHc/LTfnnYvF5FsU/ltv07d+7UXXfdpTp16mjixIkKDw+Xp6enPv/8c02aNCnH63gjtjUvrnz+pdyfv1OnTik2Nlb+/v4aPXq0qlevLm9vb23atEnPPffcdR1BzM92TZgwQT169NDHH3+sL7/8Uk888YTGjBmjtWvXOg1ox41BkEGRGTFihN555x2NGzcu1+kPPvigVq1adc3ldO/eXfPmzZP0f0dxcvvRvQMHDqhOnTrW40aNGunbb79VVlaW0yHzdevWydfX1/oGVhDvv/++unfvrgkTJlht58+fz3F1h3QpyIwaNUqLFi1SSEiI0tLSnA7JBwUFqUyZMsrMzFSbNm0KXMvlNf3tb39TQkKCU/upU6dUoUIF63FERIS2bt0qY4zTt98rr8CoXr26JMnf3/+66sqviIgISVJKSoqqVatmtV+4cEG7d+++ITXkV3HsU5K0ePFipaen65NPPnE6ArBixYpC1xoREWEdXbtcSkpKjn7Z7a54/vO7X17NypUrdfz4cX3wwQe64447rPbdu3fn2v/AgQM5Lv3/7bffJF26Kqww6tevr/r162vEiBH6/vvv1apVK82aNUsvv/xyoZaHwmOMDIpM9erV1a1bN82ePVuHDh3KMb0wY2Rq166thg0b6uOPP9axY8es9i+//FL79u1T27ZtrbaHHnpIhw8fdhqncuzYMb333ntq3759rmMdrsXd3T3HN8xp06bluMRTkurWrav69esrOTlZycnJqlixotObrLu7uzp16qRFixbpl19+yTH/0aNHC13Te++9lyPsxcXFaf/+/frkk0+stvPnz+uNN95w6te4cWNVr15d//nPf6wxSYWpK7/atGkjT09PTZ061Wk7EhISlJqaqvj4+CJd3/Uojn1K+r9v/VeeqkxMTCx0rffee6/Wrl2r9evXW21Hjx5VUlKSUz9XP//53S+vJrfn78KFC5oxY0au/S9evGhd9p7dd/bs2QoKCirwKe+0tDRdvHjRqa1+/fpyc3Mr1E884PpxRAZF6t///rfmz5+vlJQURUdHO00rzBgZSZo0aZLatm2r2267TX379lVqaqomTpyoWrVqqX///la/hx56SM2bN1fPnj21detW61dYMzMzNWrUKKdl9ujRQ2+99ZZ279591W9k9913n+bPn6+AgABFRUVpzZo1+uqrr5zGolyuS5cueuGFF+Tt7a3HHnssx4/XjR07VitWrFCzZs3Uu3dvRUVF6cSJE9q0aZO++uornThx4prPx3333afRo0erZ8+eatmypX7++WclJSU5fbuWpL59++r111/Xo48+qsGDB6tixYpKSkqyBqpmfxt2c3PTm2++qXbt2ik6Olo9e/ZUpUqVtH//fq1YsUL+/v5avHjxNevKr6CgIA0fPlyjRo3SPffcow4dOiglJUUzZsxQ06ZN1a1btyJbV14WL15s/e5ORkaGtmzZYn2T7tChg3WKryD7VEHcfffd8vT0VPv27dW3b1/9+eefeuONNxQcHHzVAfNX8+yzz1q3hxg8eLD8/Pw0Z84cRUREaMuWLVY/Vz//+d0vr6Zly5YqV66cunfvrieeeEIOh0Pz58/P87RWWFiYxo0bpz179qhWrVpKTk7W5s2bNWfOHHl4eBSo/q+//loDBw7Uww8/rFq1aunixYuaP3++9UUFLnDjL5TCzeDyy6+v1L17dyMpx+XX12PZsmWmefPmxtvb2wQGBpp//OMf5uDBgzn6nThxwjz22GOmfPnyxtfX18TGxuZaY6dOnYyPj485efLkVdd78uRJ07NnT1OhQgVTunRpExcXZ7Zv324iIiJyvWR3x44d1mXk3333Xa7LPHz4sBkwYIAJDw83Hh4eJjQ01Nx1111mzpw5Vp/sS0Fzu8Tz/Pnz5umnnzYVK1Y0Pj4+plWrVmbNmjUmNjbWxMbGOvXdtWuXiY+PNz4+PiYoKMg8/fTTZtGiRUaS06Wzxly6rPTBBx805cuXN15eXiYiIsJ07tzZLF++/KrPkTFXv/w6t+ffmEuX+9apU8d4eHiYkJAQ079//xyvR26X8Rtz6ZLk+Pj4fNWRm+x9NLe/Ky8fzu8+lZu86jTGmE8++cQ0aNDAeHt7m6pVq5px48aZuXPn5vjNl7yWkdvrvWXLFhMbG2u8vb1NpUqVzEsvvWQSEhJyLNMY1z7/+d0v81q/McasXr3aNG/e3Pj4+JiwsDDz7LPPWpeAX3kJd3R0tPnhhx9MixYtjLe3t4mIiMjxez15/Z/bvXu3036xa9cu06tXL1O9enXr/ehvf/ub+eqrr6653SgeDmNuwGgxoIQJCQnRP//5T40fP97VpdxwkydP1pNPPqk//vhDlSpVcnU5gKTi2y9bt26tY8eO5Xo6FzcHggz+cn799Ve1aNFCu3btchocezM6d+6c01Uf58+f1y233KLMzExrsCNwo93I/ZIgc/NjjAz+cqKjo3P87sTN6sEHH1SVKlXUqFEjpaam6p133tH27dtzDAAFbiT2SxQlggxwE4uLi9Obb76ppKQkZWZmKioqSgsXLrR+bRhwBfZLFCVOLQEAANvid2QAAIBtEWQAAIBt3fRjZLKysnTgwAGVKVMmXz+0BAAAXM8Yo9OnTyssLCzHj4te7qYPMgcOHMhxl1YAAGAP+/btu+rNOG/6IFOmTBlJl54If39/F1cDAADyIy0tTeHh4dbneF5u+iCTfTrJ39+fIAMAgM1ca1gIg30BAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtlXJ1AXY2yuFwdQlFbqQxri4BAIB844gMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLYIMAACwLZcGmczMTD3//POKjIyUj4+PqlevrpdeeknGGKuPMUYvvPCCKlasKB8fH7Vp00Y7duxwYdUAAKCkcGmQGTdunGbOnKnXX39d27Zt07hx4/Taa69p2rRpVp/XXntNU6dO1axZs7Ru3Tr5+fkpLi5O58+fd2HlAACgJCjlypV///336tixo+Lj4yVJVatW1bvvvqv169dLunQ0ZvLkyRoxYoQ6duwoSXr77bcVEhKijz76SI888ojLagcAAK7n0iMyLVu21PLly/Xbb79Jkn766Sd99913ateunSRp9+7dOnTokNq0aWPNExAQoGbNmmnNmjW5LjM9PV1paWlOfwAA4Obk0iMyw4YNU1pamurUqSN3d3dlZmbqlVdeUdeuXSVJhw4dkiSFhIQ4zRcSEmJNu9KYMWM0atSo4i0cAACUCC4NMv/973+VlJSkBQsWKDo6Wps3b9aQIUMUFham7t27F2qZw4cP11NPPWU9TktLU3h4eFGVDAAFMsrhcHUJRW7kZRdkAK7m0iAzdOhQDRs2zBrrUr9+fe3du1djxoxR9+7dFRoaKkk6fPiwKlasaM13+PBhNWrUKNdlenl5ycvLq9hrBwAArufSMTJnz56Vm5tzCe7u7srKypIkRUZGKjQ0VMuXL7emp6Wlad26dWrRosUNrRUAAJQ8Lj0i0759e73yyiuqUqWKoqOj9eOPP2rixInq1auXJMnhcGjIkCF6+eWXVbNmTUVGRur5559XWFiY7r//fleWDgAASgCXBplp06bp+eef1+OPP64jR44oLCxMffv21QsvvGD1efbZZ3XmzBn16dNHp06d0m233aYlS5bI29vbhZUDAICSwGHMzT1qKy0tTQEBAUpNTZW/v3+RLptBfACuhfcJoHDy+/nNvZYAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtEWQAAIBtuTzI7N+/X926dVP58uXl4+Oj+vXr64cffrCmG2P0wgsvqGLFivLx8VGbNm20Y8cOF1YMAABKCpcGmZMnT6pVq1by8PDQF198oa1bt2rChAkqV66c1ee1117T1KlTNWvWLK1bt05+fn6Ki4vT+fPnXVg5AAAoCUq5cuXjxo1TeHi4EhMTrbbIyEjr38YYTZ48WSNGjFDHjh0lSW+//bZCQkL00Ucf6ZFHHrnhNQMAgJLDpUdkPvnkEzVp0kQPP/ywgoODdcstt+iNN96wpu/evVuHDh1SmzZtrLaAgAA1a9ZMa9asyXWZ6enpSktLc/oDAAA3J5cGmV27dmnmzJmqWbOmli5dqv79++uJJ57QW2+9JUk6dOiQJCkkJMRpvpCQEGvalcaMGaOAgADrLzw8vHg3AgAAuIxLg0xWVpZuvfVWvfrqq7rlllvUp08f9e7dW7NmzSr0MocPH67U1FTrb9++fUVYMQAAKElcGmQqVqyoqKgop7a6devq999/lySFhoZKkg4fPuzU5/Dhw9a0K3l5ecnf39/pDwAA3JxcGmRatWqllJQUp7bffvtNERERki4N/A0NDdXy5cut6WlpaVq3bp1atGhxQ2sFAAAlj0uvWnryySfVsmVLvfrqq+rcubPWr1+vOXPmaM6cOZIkh8OhIUOG6OWXX1bNmjUVGRmp559/XmFhYbr//vtdWToAACgBXBpkmjZtqg8//FDDhw/X6NGjFRkZqcmTJ6tr165Wn2effVZnzpxRnz59dOrUKd12221asmSJvL29XVg5AAAoCRzGGOPqIopTWlqaAgIClJqaWuTjZUY5HEW6vJJg5M29OwA3HO8TQOHk9/Pb5bcoAAAAKCyCDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsC2CDAAAsK1ShZkpPT1d69at0969e3X27FkFBQXplltuUWRkZFHXBwAAkKcCBZnVq1drypQpWrx4sTIyMhQQECAfHx+dOHFC6enpqlatmvr06aN+/fqpTJkyxVUzAACApAKcWurQoYO6dOmiqlWr6ssvv9Tp06d1/Phx/fHHHzp79qx27NihESNGaPny5apVq5aWLVtWnHUDAADk/4hMfHy8Fi1aJA8Pj1ynV6tWTdWqVVP37t21detWHTx4sMiKBAAAyE2+g0zfvn3zvdCoqChFRUUVqiAAAID8KtRVSytWrMhz2uzZswtdDAAAQEEUKsjcc889Gjp0qDIyMqy2Y8eOqX379ho2bFiRFQcAAHA1hT4i8+GHH6pp06baunWrPvvsM9WrV09paWnavHlzEZcIAACQu0IFmZYtW2rz5s2qV6+ebr31Vj3wwAN68skntXLlSkVERBR1jQAAALkq9C/7/vbbb/rhhx9UuXJllSpVSikpKTp79mxR1gYAAHBVhQoyY8eOVYsWLdS2bVv98ssvWr9+vX788Uc1aNBAa9asKeoaAQAAclWoIDNlyhR99NFHmjZtmry9vVWvXj2tX79eDz74oFq3bl3EJQIAAOSuUPda+vnnn1WhQgWnNg8PD40fP1733XdfkRQGAABwLYU6InNliLlcbGxsoYsBAAAoiHwHmX79+umPP/7IV9/k5GQlJSUVuigAAID8yPeppaCgIEVHR6tVq1Zq3769mjRporCwMHl7e+vkyZPaunWrvvvuOy1cuFBhYWGaM2dOcdYNAACQ/yDz0ksvaeDAgXrzzTc1Y8YMbd261Wl6mTJl1KZNG82ZM0f33HNPkRcKAABwpQIN9g0JCdG///1v/fvf/9bJkyf1+++/69y5c6pQoYKqV68uh8NRXHUCAADkUKirliSpXLlyKleuXFHWAgAAUCAFumppx44devTRR5WWlpZjWmpqqv7+979r165dRVYcAADA1RQoyIwfP17h4eHy9/fPMS0gIEDh4eEaP358kRUHAABwNQUKMqtWrdLDDz+c5/TOnTvr66+/vu6iAAAA8qNAQeb3339XcHBwntMrVKigffv2XXdRAAAA+VGgIBMQEKCdO3fmOf1///tfrqedAAAAikOBgswdd9yhadOm5Tl96tSpuv3226+7KAAAgPwoUJAZPny4vvjiCz300ENav369UlNTlZqaqnXr1qlTp05aunSphg8fXly1AgAAOCnQ78jccsstev/999WrVy99+OGHTtPKly+v//73v7r11luLtEAAAIC8FPgH8e677z7t3btXS5Ys0f/+9z8ZY1SrVi3dfffd8vX1LY4aAQAAclXgIJOamiovLy898MADunDhgs6ePauyZcsWQ2kAAABXV6AxMpKUlJSkl19+WZL06quv6t133y3yogAAAPKjwEdkHn/8cbVr105Lly7VunXr9MUXXxRHXQAAANdUoCDTs2dPORwOXbx4Ue3bt1fr1q3Vq1cvSdLcuXOLpUAAAIC8FCjIvPjii5KkWbNmKSMjQ02aNFHfvn2Loy4AAIBrKtAYmYiICGVmZmr16tX66quvtHr1amVlZSkiIqK46gMAAMhTgQf7rl27VuPGjVOpUqU0fvx4rVmzpjjqAgAAuKYCD/b9+9//bv07JiZGMTExRVoQAABAfhX4iMzVHD58WKNHjy7KRQIAAOSpSIPMoUOHNGrUqKJcJAAAQJ4KdGppy5YtV52ekpJyXcUAAAAURIGCTKNGjeRwOGSMyTEtu93hcBSqkLFjx2r48OEaPHiwJk+eLEk6f/68nn76aS1cuFDp6emKi4vTjBkzFBISUqh1AACAm0uBTi0FBgbqjTfe0O7du3P87dq1S59++mmhitiwYYNmz56tBg0aOLU/+eSTWrx4sd577z2tWrVKBw4c0IMPPliodQAAgJtPgY7ING7cWAcOHMjzd2NOnTqV69Gaq/nzzz/VtWtXvfHGG9Y9nKRLN6dMSEjQggULdOedd0qSEhMTVbduXa1du1bNmzcv0HoAAMDNp0BHZPr166eqVavmOb1KlSpKTEwsUAEDBgxQfHy82rRp49S+ceNGZWRkOLXXqVNHVapU4bdrAACApAIekXnggQdytK1evVpNmjSRl5eXypUrp+7du+d7eQsXLtSmTZu0YcOGHNMOHTokT09PlS1b1qk9JCREhw4dynOZ6enpSk9Ptx6npaXlux4AAGAv1335dbt27bR///4Cz7dv3z4NHjxYSUlJ8vb2vt4yLGPGjFFAQID1Fx4eXmTLBgAAJct1B5mCjonJtnHjRh05ckS33nqrSpUqpVKlSmnVqlWaOnWqSpUqpZCQEF24cEGnTp1ymu/w4cMKDQ3Nc7nDhw9Xamqq9bdv375C1QcAAEq+At+ioKjcdddd+vnnn53aevbsqTp16ui5555TeHi4PDw8tHz5cnXq1EnSpd+p+f3339WiRYs8l+vl5SUvL69irR0AAJQM1x1kZs+eXajfdSlTpozq1avn1Obn56fy5ctb7Y899pieeuopBQYGyt/fX4MGDVKLFi24YgkAAEgqgiBz+U0ki9qkSZPk5uamTp06Of0gHgAAgOTCU0u5WblypdNjb29vTZ8+XdOnT3dNQQAAoEQr0ptGAgAA3EgEGQAAYFsEGQAAYFsEGQAAYFsEGQAAYFsEGQAAYFsEGQAAYFsEGQAAYFsEGQAAYFsl6pd9Absb5XC4uoQiN7KQd7gHgBuBIzIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2CDIAAMC2Srm6AAAA/ipGORyuLqHIjTTGpevniAwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtggwAALAtlwaZMWPGqGnTpipTpoyCg4N1//33KyUlxanP+fPnNWDAAJUvX16lS5dWp06ddPjwYRdVDAAAShKXBplVq1ZpwIABWrt2rZYtW6aMjAzdfffdOnPmjNXnySef1OLFi/Xee+9p1apVOnDggB588EEXVg0AAEqKUq5c+ZIlS5wez5s3T8HBwdq4caPuuOMOpaamKiEhQQsWLNCdd94pSUpMTFTdunW1du1aNW/e3BVlAwCAEqJEjZFJTU2VJAUGBkqSNm7cqIyMDLVp08bqU6dOHVWpUkVr1qzJdRnp6elKS0tz+gMAADenEhNksrKyNGTIELVq1Ur16tWTJB06dEienp4qW7asU9+QkBAdOnQo1+WMGTNGAQEB1l94eHhxlw4AAFykxASZAQMG6JdfftHChQuvaznDhw9Xamqq9bdv374iqhAAAJQ0Lh0jk23gwIH69NNP9c0336hy5cpWe2hoqC5cuKBTp045HZU5fPiwQkNDc12Wl5eXvLy8irtkAABQArj0iIwxRgMHDtSHH36or7/+WpGRkU7TGzduLA8PDy1fvtxqS0lJ0e+//64WLVrc6HIBAEAJ49IjMgMGDNCCBQv08ccfq0yZMta4l4CAAPn4+CggIECPPfaYnnrqKQUGBsrf31+DBg1SixYtuGIJAAC4NsjMnDlTktS6dWun9sTERPXo0UOSNGnSJLm5ualTp05KT09XXFycZsyYcYMrBQAAJZFLg4wx5pp9vL29NX36dE2fPv0GVAQAAOykxFy1BAAAUFAEGQAAYFsEGQAAYFsEGQAAYFsEGQAAYFsEGQAAYFsEGQAA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/vxrLv+vpFevXta9A6dPn55jes2aNeVwOLR9+/YCL7tDhw5q1qyZ9fi5555TpUqV9MQTT1htlSpVuuoyPD09rddx7Nixio+P16hRo/TSSy859atQoYK1T7z33nuqX7++mjRpoqioqALXfb04IlPEypcvr7Zt2+r111/XmTNn8uyX/QZ+8OBBq+3yN5e8VK9eXZ6enlq9erXVlpGRoQ0bNuTYgdauXWv9++TJk/rtt99Ut27d/G7KTSn79ZkxY4Z1pCPboUOHlJSUZF0Gefz4cX388cdauHChNm/ebP39+OOPOnnypL788ku5ubmpc+fOWrBggQ4dOuS0vHPnzmnGjBmKi4tTYGCgfv75Z/3www9auXKl0/JWrlypNWvW5PnG5enpqaioKG3dujXHtK5duyopKUmLFy+Wm5ub4uPjrWmrV69Wx44d1a1bNzVs2FDVqlUr9kvu87vOX375RZUrV87xbbQks+O+I0kRERHWB05ERIQkWY9r1KhxzQ+2K8XExKhx48bXPNoybNgwJScna9OmTQVa/s3unnvu0YULF5SRkaG4uLgc0wMDAxUXF6fp06fn+hlytd9sKlOmjNNrW6ZMGQUGBjq15Se4Xm7EiBH6z3/+Yx35zU14eLi6dOmi4cOHF2jZRYUgUwxmzJihixcvqkmTJkpOTta2bduUkpKid955R9u3b5e7u7t8fHzUvHlzaxDvqlWrNGLEiGsu28/PT/3799fQoUO1ZMkSbd26Vb1799bZs2dzfCsbPXq0li9frl9++UU9evRQhQoVdP/99xfTVtvH66+/rvT0dMXFxembb77Rvn37tGTJErVt21a1atXSCy+8IEmaP3++ypcvr86dO6tevXrWX8OGDXXvvfdagx5fffVVhYaGqm3btvriiy+0b98+ffPNN4qLi1NGRob1rSshIUExMTG64447nJZ3xx13qGnTplcduBkXF6fvvvsuR3vXrl21adMmvfLKK3rooYec7nRbs2ZNLVu2TN9//722bdumvn376vDhw0X5VOaQ33V+++23Lvlxv+tlx32nOAwZMkSzZ8/W/v378+wTHh6uBx54wHpOcIm7u7u2bdumrVu35jkQevr06crMzFRMTIwWLVqkHTt2aNu2bZo6darTkIEboUWLFmrQoIFeffXVq/YbPHiwFi9erB9++OEGVXYZl4zM+Qs4cOCAGThwoImMjDQeHh6mdOnSJiYmxowfP96cOXPGGGPM1q1bTYsWLYyPj49p1KiR+fLLL3Md7HvlQMpz586ZQYMGmQoVKlz18uvFixeb6Oho4+npaWJiYsxPP/1k9fmrDvbNtnv3btO9e3cTEhJiHA6HkWQefPBB67Uxxpj69eubxx9/PNf5k5OTjaenpzl69Kgx5tJAzkGDBpnw8HDj4eFhQkJCTI8ePczevXuNMcakp6eb8uXLWwOyrzRu3DgTHBxsLly4kOv0X3/91bqM90oxMTFGkvn666+d2o8fP246duxoSpcubYKDg82IESPMP//5T9OxY0erT2xsrBk8eLDTfFdeCqoCDPbNzzrPnTtnAgICzJo1a3Ld1pLObvvOlbUX9G1fuQxwzsrKMnXq1DH9+/c3xuT9frJmzRqnAct/VdmDffNy5f85Yy59hgwYMMAaWFupUiXToUMH6/Mhv+u93suvjTHm3XffNV5eXub33383xuR++bUxl356pF27dvleX1FxGHMdI4uAm8TIkSM1ceJELVu2TM2bN3d1Obl6+OGHdeutt7rs8G1RmTlzpj788EN9+eWXri6lSNhh3wFuZpxaAiSNGjVKU6dO1dq1aws90LW4jR8/XqVLl3Z1GdfNw8ND06ZNc3UZRcYO+w5wM+OIDAAAsC2OyAAAANsiyAAAANsiyAAAANsiyAAAANsiyAAAANsiyAAoMitXrpTD4bjqz6jf6HVVrVpVkydPLvZ6ALgGQQZAga1Zs0bu7u5O93a60Vq2bKmDBw8qICBAkjRv3jzrho0A/joIMgAKLCEhQYMGDdI333xz1ZvJFZeMjAx5enoqNDRUDofjhq8fQMlBkAFQIH/++aeSk5PVv39/xcfHa968eVft/8Ybbyg8PFy+vr564IEHNHHixBxHTmbOnGnd2b127dqaP3++03SHw6GZM2eqQ4cO8vPz0yuvvOJ0amnlypXq2bOnUlNT5XA45HA49OKLL1rznz17Vr169VKZMmVUpUoVzZkzx5q2Z88eORwO/fe//9Xtt98uHx8fNW3aVL/99ps2bNigJk2aqHTp0mrXrp2OHj1qzbdy5UrFxMTIz89PZcuWVatWrbR3795CP68ACumG390JgK0lJCSYJk2aGGOMWbx4salevbrJysoyxuS8ieR3331n3NzczPjx401KSoqZPn26CQwMdLrB4AcffGA8PDzM9OnTTUpKipkwYYJxd3d3ugmmJBMcHGzmzp1rdu7cafbu3eu0rvT0dDN58mTj7+9vDh48aA4ePGhOnz5tjLl0g7vAwEAzffp0s2PHDjNmzBjj5uZmtm/fboz5vxsp1qlTxyxZssRs3brVNG/e3DRu3Ni0bt3afPfdd2bTpk2mRo0apl+/fsYYYzIyMkxAQIB55plnzP/+9z+zdetWM2/ePOtGjwBuHIIMgAJp2bKlmTx5sjHm0gd6hQoV8rxje5cuXUx8fLzT/F27dnUKMi1btjS9e/d26vPwww+be++913osyQwZMsSpz5XryusOzBEREaZbt27W46ysLBMcHGxmzpxpjPm/IPPmm29afd59910jySxfvtxqGzNmjKldu7Yx5tJdviWZlStX5vU0AbhBOLUEIN9SUlK0fv16Pfroo5KkUqVKqUuXLkpISMizf0xMjFPblY+3bdumVq1aObW1atVK27Ztc2pr0qRJoetu0KCB9W+Hw6HQ0FAdOXIkzz4hISGSpPr16zu1Zc8TGBioHj16KC4uTu3bt9eUKVN08ODBQtcHoPAIMgDyLSEhQRcvXlRYWJhKlSqlUqVKaebMmVq0aJFSU1OLdd1+fn6FntfDw8PpscPhyHGn6sv7ZA8gvrLt8nkSExO1Zs0atWzZUsnJyapVq5bWrl1b6BoBFA5BBkC+XLx4UW+//bYmTJigzZs3W38//fSTwsLC9O677+aYp3bt2tqwYYNT25WP69atq9WrVzu1rV69WlFRUQWqz9PTU5mZmQWa53rdcsstGj58uL7//nvVq1dPCxYsuKHrByCVcnUBAOzh008/1cmTJ/XYY49Zv92SrVOnTkpISND48eOd2gcNGqQ77rhDEydOVPv27fX111/riy++cLpkeujQoercubNuueUWtWnTRosXL9YHH3ygr776qkD1Va1aVX/++aeWL1+uhg0bytfXV76+voXf4KvYvXu35syZow4dOigsLEwpKSnasWOH/vnPfxbL+gDkjSMyAPIlISFBbdq0yRFipEtB5ocfftCWLVuc2lu1aqVZs2Zp4sSJatiwoZYsWaInn3xS3t7eVp/7779fU6ZM0X/+8x9FR0dr9uzZSkxMVOvWrQtUX8uWLdWvXz916dJFQUFBeu211wq1nfnh6+ur7du3q1OnTqpVq5b69OmjAQMGqG/fvsW2TgC5cxhjjKuLAPDX0bt3b23fvl3ffvutq0sBcBPg1BKAYvWf//xHbdu2lZ+fn7744gu99dZbmjFjhqvLAnCT4IgMgGLVuXNnrVy5UqdPn1a1atU0aNAg9evXz9VlAbhJEGQAAIBtMdgXAADYFkEGAADYFkEGAADYFkEGAADYFkEGAADYFkEGAADYFkEGAADYFkEGAADYFkEGAADY1v8DhFKwgYoR5X0AAAAASUVORK5CYII=\n" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"cell_type": "markdown", | |
"source": [ | |
"## $N=80$, 10 random graphs" | |
], | |
"metadata": { | |
"id": "LKMRMxIQwVrR" | |
} | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"N = 80\n", | |
"\n", | |
"gurobi_cost_list = []\n", | |
"qaoa_cost_list = []\n", | |
"qaoa_rr_cost_list = []\n", | |
"mc_rr_cost_list = []\n", | |
"\n", | |
"for g in range(10):\n", | |
"\n", | |
" num_seed = seed_list[g]\n", | |
" random_graph = nx.fast_gnp_random_graph(n=N, p=1.2*np.log(N)/N, seed=num_seed)\n", | |
" W = nx.adjacency_matrix(random_graph)\n", | |
"\n", | |
" # Gurobi\n", | |
" gurobi_solution, gurobi_cost = gurobi_opt(N, W, \"maxcut\")\n", | |
" gurobi_cost_list += [gurobi_cost]\n", | |
"\n", | |
" # vanilla QAOA\n", | |
" num_grid_qaoa_angle_search = 20\n", | |
" qaoa_cost, best_beta, best_gamma, Z_mat_qaoa = qaoa_1_layer(num_grid_qaoa_angle_search, random_graph, N)\n", | |
" qaoa_cost_list += [qaoa_cost]\n", | |
"\n", | |
" # QAOA + RR (QRR)\n", | |
" arg_dict = {\"W\": W}\n", | |
" qrr_solution, qrr_cost = relax_and_round(Z_mat_qaoa, maxcut_cost, arg_dict)\n", | |
" qaoa_rr_cost_list += [qrr_cost]\n", | |
"\n", | |
" # MC + RR\n", | |
" M = 2000\n", | |
" T = 1\n", | |
" spin_sampled, energy_list, E_expectation = metropolis(W, N, M, T)\n", | |
" Z_mat_mc = Z_matrix_from_bitstrings(spin_sampled)\n", | |
" arg_dict = {\"W\": W}\n", | |
" mcrr_solution, mcrr_cost = relax_and_round(Z_mat_mc, maxcut_cost, arg_dict)\n", | |
" mc_rr_cost_list += [mcrr_cost]\n", | |
"\n", | |
" print(gurobi_cost, qaoa_cost, qrr_cost, mcrr_cost)\n", | |
"\n", | |
" results = np.array([gurobi_cost_list, qaoa_cost_list, qaoa_rr_cost_list, mc_rr_cost_list])\n", | |
" np.savetxt(\"/content/drive/MyDrive/QST Master/Master's Thesis/Testing Results/N=80.txt\", results)" | |
], | |
"metadata": { | |
"id": "HeiQgCrDcBka", | |
"colab": { | |
"base_uri": "https://localhost:8080/" | |
}, | |
"outputId": "809a82bb-79b2-4b01-9833-29dbdf9ce4a8" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "stream", | |
"name": "stdout", | |
"text": [ | |
"-130.0 -52.86312032607407 -118.0 (-38+0j)\n", | |
"-126.0 -50.194216375017284 -108.0 (-24+0j)\n", | |
"-127.0 -49.54390741089043 -109.0 (-35+0j)\n", | |
"-129.0 -50.916832301879424 -119.0 (-35+0j)\n", | |
"-117.0 -48.89304742771567 -111.0 (-23+0j)\n", | |
"-118.0 -48.442937397472676 -108.0 (-36+0j)\n", | |
"-121.0 -50.94681233206634 -115.0 (-35+0j)\n", | |
"-124.0 -51.99415134975258 -108.0 (-30+0j)\n", | |
"-127.0 -51.1718222173781 -107.0 (-33+0j)\n", | |
"-122.0 -50.880043601088296 -112.0 (-46+0j)\n" | |
] | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [ | |
"gurobi_cost_avg = np.average(gurobi_cost_list)\n", | |
"qaoa_cost_avg = np.average(qaoa_cost_list)\n", | |
"qaoa_rr_cost_avg = np.average(qaoa_rr_cost_list)\n", | |
"mc_rr_cost_avg = np.average(mc_rr_cost_list)\n", | |
"\n", | |
"algos = [\"Gurobi\", \"QAOA (vanilla)\", \"QAOA + RR\", \"MC + RR\"]\n", | |
"values = -1*np.array([gurobi_cost_avg, qaoa_cost_avg, qaoa_rr_cost_avg, mc_rr_cost_avg])\n", | |
"\n", | |
"plt.bar(algos, values, color ='maroon',\n", | |
" width = 0.4)\n", | |
"\n", | |
"plt.xlabel(\"Algorithms\")\n", | |
"plt.ylabel(\"-1*C(x)\")\n", | |
"plt.title(\"N=80, average from 10 random graphs\")\n", | |
"plt.show()" | |
], | |
"metadata": { | |
"colab": { | |
"base_uri": "https://localhost:8080/", | |
"height": 472 | |
}, | |
"id": "n3ZPv92Rwr-C", | |
"outputId": "ef418b41-3982-4104-debc-cc100503cc3c" | |
}, | |
"execution_count": null, | |
"outputs": [ | |
{ | |
"output_type": "display_data", | |
"data": { | |
"text/plain": [ | |
"<Figure size 640x480 with 1 Axes>" | |
], | |
"image/png": "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Dw/X2bNntX37dn3//fc6e/bsbV+Tp556SiNHjlS3bt3UsGFD/fLLL5o/f77Tt3RJ6t27t6ZMmaLnnntOAwYMUIkSJTR//nxrcG3qt2oXFxd9/PHHat68uapWrapu3bqpZMmSOnbsmNauXStfX18tX778tnVlVvHixTV06FCNGDFCzZo1U+vWrbVv3z5NmzZNdevW1fPPP59j68rI8uXLrfsSJSUlaefOndY38tatW1unE7OyT2XFk08+KXd3d7Vq1Uq9e/fWxYsX9dFHHykgIOCWg/xv5bXXXrN+qmPAgAHy8fHRrFmzFBoaqp07d1r98vr1z+x+eSsNGzZUkSJF1KVLF7300ktyOByaN29ehqfQgoOD9f777+vw4cOqWLGiFi1apB07dmjWrFlyc3PLUv1r1qxRv3791L59e1WsWFHXrl3TvHnzrC8zyCN3/fov3BduvPT8Zl26dDGS0lx6nl1nz541gwYNMhUrVjQeHh6mWLFiplOnTubgwYPp9u3Ro4cpWrSo8fb2No0bN063xnbt2hkvLy+n+/Sk59y5c6Zbt26mWLFipmDBgiYyMtLs3bvXhIaGpnu58v79+63L43/44Yd0l3ny5EnTt29fExISYtzc3ExQUJB5/PHHzaxZs6w+qZfBpnd5a0JCgnnllVdMiRIljJeXl2nUqJGJjo42jRs3No0bN3bqe/DgQdOyZUvj5eVlihcvbl555RWzePFiI8npsmFjrl9S+8wzz5iiRYsaDw8PExoaajp06GBWr159y9fImFtfep7e62/M9UudK1eubNzc3ExgYKDp06dPmvcjvVsYGHP9cuyWLVtmqo70pO6j6T1uvnQ6s/tUejKq0xhjvvrqK1OjRg3j6elpypQpY95//30zZ86cNPfEyWgZ6b3fO3fuNI0bNzaenp6mZMmS5u233zazZ89Os0xj8vb1z+x+mdH6jTFm48aNpn79+sbLy8sEBweb1157zbr8/ebL16tWrWq2bt1qGjRoYDw9PU1oaGia+xll9H/u0KFDTvvFwYMHTffu3U25cuWMp6en8ff3N48++qj5/vvvb7vdyD0OY+7CCDbgHhMYGKi///3vTj9Bcb+YMGGCBg0apD///FMlS5bM63IASbm3XzZp0kSnT59O99Qx7IOwA9xk165datCggQ4ePOg0oNeOrly54nQ1S0JCgh544AElJydb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wIEDrbaEhAT17dtXRYsWVcGCBdWuXTudPHky74oEAAD5yj0TdrZs2aKZM2eqRo0aTu2DBg3S8uXL9fnnn2v9+vU6fvy4nnnmmTyqEgAA5Df3RNi5ePGiOnfurI8++khFihSx2uPi4jR79myNGzdOjz32mGrXrq2oqCj9+OOP2rRpUx5WDAAA8ot7Iuz07dtXLVu2VNOmTZ3at23bpqSkJKf2ypUrq3Tp0oqOjs5weYmJiYqPj3d6AAAAe3LN6wJuZ+HChdq+fbu2bNmSZlpsbKzc3d1VuHBhp/bAwEDFxsZmuMxRo0ZpxIgROV0qAADIh/L1kZ2jR49qwIABmj9/vjw9PXNsuUOHDlVcXJz1OHr0aI4tGwAA5C/5Ouxs27ZNp06d0oMPPihXV1e5urpq/fr1mjRpklxdXRUYGKirV6/q/PnzTvOdPHlSQUFBGS7Xw8NDvr6+Tg8AAGBP+fo01uOPP65ffvnFqa1bt26qXLmyXn/9dYWEhMjNzU2rV69Wu3btJEn79u3TH3/8oQYNGuRFyQAAIJ/J12GnUKFCqlatmlObj4+PihYtarX36NFDL7/8svz9/eXr66v+/furQYMGql+/fl6UDAAA8pl8HXYyY/z48XJxcVG7du2UmJioyMhITZs2La/LAgAA+cQ9F3bWrVvn9NzT01NTp07V1KlT86YgAACQr+XrAcoAAAB3irADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABs7Z77IVAAAOxshMOR1yXkuOHG5On6ObIDAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsjbADAABsLV+HnVGjRqlu3boqVKiQAgIC1LZtW+3bt8+pT0JCgvr27auiRYuqYMGCateunU6ePJlHFQMAgPwmX4ed9evXq2/fvtq0aZNWrVqlpKQkPfnkk7p06ZLVZ9CgQVq+fLk+//xzrV+/XsePH9czzzyTh1UDAID8xDWvC7iVFStWOD2fO3euAgICtG3bNj3yyCOKi4vT7NmztWDBAj322GOSpKioKFWpUkWbNm1S/fr186JsAACQj+TrIzs3i4uLkyT5+/tLkrZt26akpCQ1bdrU6lO5cmWVLl1a0dHRGS4nMTFR8fHxTg8AAGBP90zYSUlJ0cCBA9WoUSNVq1ZNkhQbGyt3d3cVLlzYqW9gYKBiY2MzXNaoUaPk5+dnPUJCQnKzdAAAkIfumbDTt29f/frrr1q4cOEdL2vo0KGKi4uzHkePHs2BCgEAQH6Ur8fspOrXr5++/vprbdiwQaVKlbLag4KCdPXqVZ0/f97p6M7JkycVFBSU4fI8PDzk4eGRmyUDAIB8Il8f2THGqF+/flq6dKnWrFmjsLAwp+m1a9eWm5ubVq9ebbXt27dPf/zxhxo0aHC3ywUAAPlQvj6y07dvXy1YsEBffvmlChUqZI3D8fPzk5eXl/z8/NSjRw+9/PLL8vf3l6+vr/r3768GDRpwJRYAAJCUz8PO9OnTJUlNmjRxao+KilLXrl0lSePHj5eLi4vatWunxMRERUZGatq0aXe5UgAAkF/l67BjjLltH09PT02dOlVTp069CxUBAIB7Tb4eswMAAHCnCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWCDsAAMDWbBN2pk6dqjJlysjT01P16tXT5s2b87okAACQD9gi7CxatEgvv/yyhg8fru3bt6tmzZqKjIzUqVOn8ro0AACQx2wRdsaNG6eePXuqW7duCg8P14wZM+Tt7a05c+bkdWkAACCP3fNh5+rVq9q2bZuaNm1qtbm4uKhp06aKjo7Ow8oAAEB+4JrXBdyp06dPKzk5WYGBgU7tgYGB2rt3b7rzJCYmKjEx0XoeFxcnSYqPj8/x+hJyfIl5Lzdep/sJ+wRuxP6Am7FPZH25xphb9rvnw052jBo1SiNGjEjTHhISkgfV3HtG+/nldQnIZ9gncCP2B9wst/eJCxcuyO8W67jnw06xYsVUoEABnTx50qn95MmTCgoKSneeoUOH6uWXX7aep6Sk6OzZsypatKgcDkeu1ptb4uPjFRISoqNHj8rX1zevy0EeY3/AzdgncDM77BPGGF24cEHBwcG37HfPhx13d3fVrl1bq1evVtu2bSVdDy+rV69Wv3790p3Hw8NDHh4eTm2FCxfO5UrvDl9f33t2p0XOY3/AzdgncLN7fZ+41RGdVPd82JGkl19+WV26dFGdOnUUERGhCRMm6NKlS+rWrVtelwYAAPKYLcJOx44d9ddff+nNN99UbGysatWqpRUrVqQZtAwAAO4/tgg7ktSvX78MT1vdDzw8PDR8+PA0p+dwf2J/wM3YJ3Cz+2mfcJjbXa8FAABwD7vnbyoIAABwK4QdAABga4QdAABga4Sd+9C6devkcDh0/vz5DPvMnTvXNvceup/Mnj1bTz755F1fr8Ph0LJlyyRJhw8flsPh0I4dOyRlbn+7WadOnTR27NicLxTAfYmwk0diY2M1YMAAlS9fXp6engoMDFSjRo00ffp0Xb58Oa/LU8eOHfXbb7/ldRl56ujRo+revbuCg4Pl7u6u0NBQDRgwQGfOnEm3/2effaYCBQqob9++6U4/e/asBg4cqNDQULm7uys4OFjdu3fXH3/8kW7/UaNGqUCBAhozZkym6k1ISNAbb7yh4cOHZ24Dc9CJEyfUvHnzHFvesGHD9O6771q/W3evudf2nTvlcDish6+vr+rWrasvv/zSqc/cuXOtPi4uLipRooQ6duyY4Tbcb7p27SqHw6EXXnghzbS+ffvK4XCoa9euTu2xsbHq37+/ypYtKw8PD4WEhKhVq1ZavXp1rtX51ltvWe9jgQIFFBISol69euns2bNO/cqUKWP18/b2VvXq1fXxxx/nWl23ZXDXHThwwAQFBZnKlSubRYsWmd27d5sDBw6YZcuWmRYtWpgvv/wyW8tNSUkxSUlJt+23du1aI8mcO3cuW+u5Hxw4cMAEBASYhx56yKxbt84cOXLEfPPNN6Zq1aqmQoUK5syZM2nmefzxx82QIUNMkSJFzJUrV5ymnTlzxlSoUMFUrVrVfPPNN+bIkSNm/fr15uGHHzYBAQHmwIEDaZZXvnx5M2TIEFO5cuVM1Txv3jxTqVKl7G1wDjp06JCRZH766SdjTPb3tzp16pgpU6bkfIG57F7cd26U+v5lhSQTFRVlTpw4Yfbt22cGDBhgXF1dzc6dO60+UVFRxtfX15w4ccIcP37cbNy40dSsWdNERERkuUY76tKliwkJCTF+fn7m8uXLVvuVK1dM4cKFTenSpU2XLl2s9kOHDpng4GATHh5uvvjiC7Nv3z7z66+/mrFjx2bp70CXLl3M8OHDM91/+PDhpmrVqubEiRPmzz//NKtWrTIhISGmQ4cOTv1CQ0PNyJEjzYkTJ8yBAwfM6NGjjSTzzTffZHpdOYmwkwciIyNNqVKlzMWLF9OdnpKSkuYDwxhjzp07ZySZtWvXGmP+9yHyzTffmAcffNC4ubmZtWvXmoSEBNO/f39TvHhx4+HhYRo1amQ2b95sLSd1vq+//tpUr17deHh4mHr16plffvnF6hMVFWX8/PxyY/PvCc2aNTOlSpVy+qNjjDEnTpww3t7e5oUXXnBqP3jwoPHy8jLnz5839erVM/Pnz3ea/sILLxgfHx9z4sQJp/bLly+bkiVLmmbNmjm1r1u3zpQsWdJcvXrVBAcHm40bN9625pYtW5pXX33Ver5y5Urj4eGRJmS89NJL5tFHHzXGGHP69GnTqVMnExwcbLy8vEy1atXMggULnPo3btzY9O/f3wwePNgUKVLEBAYGpvnjKMksXbrUGHP7sJOZdRpjzIgRI8xDDz102+3Ob+7FfedG2Q07qe+/McbEx8cbSWbixIlWW3p/UyZNmmQkmbi4uCytz466dOli2rRpY6pVq2b+9a9/We3z5883NWrUMG3atHEKO82bNzclS5ZM93MkK18sshN2atas6dT28ssvmyJFiji1hYaGmvHjxzu1+fv7m0GDBmV6XTmJ01h32ZkzZ/Tdd9+pb9++8vHxSbdPVn+MdMiQIRo9erT27NmjGjVq6LXXXtPixYv1ySefaPv27SpfvrwiIyPTHGYcPHiwxo4dqy1btqh48eJq1aqVkpKSsr1tdnH27FmtXLlSL774ory8vJymBQUFqXPnzlq0aJHMDbeoioqKUsuWLeXn56fnn39es2fPtqalpKRo4cKF6ty5c5ofp/Xy8tKLL76olStXOr0/s2fP1nPPPSc3Nzc999xzTsvLyA8//KA6depYzx9//HEVLlxYixcvttqSk5O1aNEide7cWdL1U1+1a9fWf/7zH/3666/q1auX/u///k+bN292WvYnn3wiHx8fxcTE6IMPPtDIkSO1atWq29aUnsyuMyIiQps3b1ZiYmK21pMX7tV9Jyddu3bNWqe7u3uG/U6dOqWlS5eqQIECKlCgwN0qL9/r3r27oqKirOdz5sxJ89NHZ8+e1YoVKzL8HLmb4y0PHz6slStX3vK9TklJ0eLFi3Xu3Llb9stVeRKx7mObNm0yksySJUuc2osWLWp8fHyMj4+Pee2117J0ZGfZsmVWn4sXLxo3Nzenb4ep3/A++OADp/kWLlxo9Tlz5ozx8vIyixYtMsbc30d2Ut+jG7+p3mjcuHFGkjl58qQxxpjk5GQTEhJivQ9//fWXcXd3NwcPHjTGGBMbG2skpfmWk2rJkiVGkomJiTHGGBMXF2e8vLzMjh07jDHG/PTTT6ZgwYLmwoULGdacum9s2LDBqX3AgAHmscces55ndLTnRi1btjSvvPKK9bxx48ZpjrDUrVvXvP7669ZzZeHITmbWaYwxP//8s5FkDh8+nOF8+c29uO/cLLtHdjw9PY2Pj49xcXExkkyZMmWcTtlFRUUZScbHx8d4e3sbSUaSeemll7K0LrtKPbJz6tQp4+HhYQ4fPmwOHz5sPD09zV9//eV0ZCcmJibdz5HsrjerR3ZcXFyMj4+P8fT0tN7HcePGOfULDQ017u7uxsfHx7i6uhpJxt/f3+zfv/+Oa84OjuzkE5s3b9aOHTtUtWrVLH+TvfHb/IEDB5SUlKRGjRpZbW5uboqIiNCePXuc5mvQoIH1b39/f1WqVClNn/uZuc3NxVO/oaxatUqXLl1SixYtJEnFihXTE088oTlz5mRpeak+++wzlStXTjVr1pQk1apVS6GhoVq0aFGG81y5ckWS5Onp6dTeuXNnrVu3TsePH5ckzZ8/Xy1btrS++SUnJ+vtt99W9erV5e/vr4IFC2rlypVpBo3WqFHD6XmJEiV06tSpTG3PzTK7ztQjI/lhwH5W3Uv7jiRVrVpVBQsWVMGCBVW1alVJsp4XLFgwU4PPx48frx07dujbb79VeHi4Pv74Y/n7+zv1KVSokHbs2KGtW7dq7NixevDBB/Xuu+9matvuF8WLF1fLli01d+5c66hfsWLFnPpkdn9Iz/z5853e2/nz5+u9995zavvvf/97y2VUqlRJO3bs0JYtW/T6668rMjJS/fv3T9Nv8ODB2rFjh9asWaN69epp/PjxKl++fLZrvxO2+W2se0X58uXlcDi0b98+p/ayZctK+t8feBeX6zn0xp06o1NMGZ0OQ/akvkd79uzR008/nWb6nj17VLx4cSswzJ49W2fPnnU6bZGSkqKdO3dqxIgRVt+MguSePXvkcDisPwKzZ8/Wrl275Orq6rS8OXPmqEePHukuo2jRonI4HDp37pxTe926dVWuXDktXLhQffr00dKlSzV37lxr+pgxYzRx4kRNmDBB1atXl4+PjwYOHKirV686LcfNzc3pucPhUEpKSrq13E5m15l6aqZ48eLZWk9euBf3HUn65ptvrL8vx44dU5MmTaxbB0hKc0ouPUFBQSpfvrzKly+vqKgotWjRQrt371ZAQIDVx8XFxaq1SpUqOnDggPr06aN58+bddvn3k+7du1u/9Th16tQ00ytUqCCHw6G9e/dmedmtW7dWvXr1rOevv/66SpYsqZdeeslqK1my5C2X4e7ubr2Po0ePVsuWLTVixAi9/fbbTv2KFStm7ROff/65qlevrjp16ig8PDzLdd8pjuzcZUWLFtUTTzyhKVOm6NKlSxn2S/0Df+LECavtxj8+GSlXrpzc3d21ceNGqy0pKUlbtmxJs4Nt2rTJ+ve5c+f022+/qUqVKpndFNtKfY+mTZtmHTFJFRsbq/nz51uXgJ45c0ZffvmlFi5cqB07dliPn376SefOndN3330nFxcXdejQQQsWLFBsbKzT8q5cuaJp06YpMjJS/v7++uWXX7R161atW7fOaXnr1q1TdHR0hn/c3N3dFR4ert27d6eZ1rlzZ82fP1/Lly+Xi4uLWrZsaU3buHGj2rRpo+eff141a9ZU2bJlc/2WA5ld56+//qpSpUql+Vabn92L+44khYaGWh9KoaGhkmQ9L1++/G0//G4WERGh2rVr3/aozZAhQ7Ro0SJt3749S8u3u2bNmunq1atKSkpSZGRkmun+/v6KjIzU1KlT0/0cudU9rQoVKuT03hYqVEj+/v5ObZkJtzcaNmyYPvzwQ+sIcnpCQkLUsWNHDR06NEvLzimEnTwwbdo0Xbt2TXXq1NGiRYu0Z88e7du3T//617+0d+9eFShQQF5eXqpfv7418Hj9+vUaNmzYbZft4+OjPn36aPDgwVqxYoV2796tnj176vLly2m+2Y0cOVKrV6/Wr7/+qq5du6pYsWJq27ZtLm31vWXKlClKTExUZGSkNmzYoKNHj2rFihV64oknVLFiRb355puSpHnz5qlo0aLq0KGDqlWrZj1q1qypFi1aWAM133vvPQUFBemJJ57Qt99+q6NHj2rDhg2KjIxUUlKS9e1t9uzZioiI0COPPOK0vEceeUR169a95WDTyMhI/fDDD2naO3furO3bt+vdd9/Vs88+6/QLxxUqVNCqVav0448/as+ePerdu7dOnjyZky9lGpld53//+988uUHinboX953cMHDgQM2cOVPHjh3LsE9ISIiefvpp6zXBdQUKFNCePXu0e/fuDAdvT506VcnJyYqIiNDixYu1f/9+7dmzR5MmTXIaonA3NGjQQDVq1NB77713y34DBgzQ8uXLtXXr1rtU2Q3yZKQQzPHjx02/fv1MWFiYcXNzMwULFjQRERFmzJgx5tKlS8YYY3bv3m0aNGhgvLy8TK1atcx3332X7gDlmwd+XrlyxfTv398UK1bslpeeL1++3FStWtW4u7ubiIgI8/PPP1t97ucByqkOHTpkunTpYgIDA43D4TCSzDPPPGO9P8YYU716dfPiiy+mO/+iRYuMu7u7+euvv4wx1wef9u/f34SEhBg3NzcTGBhounbtao4cOWKMMSYxMdEULVrUGkh+s/fff98EBASYq1evpjt9165d1iXMN4uIiDCSzJo1a5zaz5w5Y9q0aWMKFixoAgICzLBhw8zf//5306ZNG6tP48aNzYABA5zmu/kyWGVhgHJm1nnlyhXj5+dnoqOj093W/O5e23durj2rHw1KZ1B2SkqKqVy5sunTp48xJuO/KdHR0U6DrO9XqQOUM3Lz/zljrn+O9O3b1xoMXLJkSdO6dWvrMyKz673TS8+NMeazzz4zHh4e5o8//jDGpH/puTHXb73SvHnzTK8vpziMuYORTsB9ZPjw4Ro3bpxWrVql+vXr53U56Wrfvr0efPDBPDtUnFOmT5+upUuX6rvvvsvrUnLEvbDvAHbGaSwgk0aMGKFJkyZp06ZN2R6cm9vGjBmjggUL5nUZd8zNzU2TJ0/O6zJyzL2w7wB2xpEdAABgaxzZAQAAtkbYAQAAtkbYAQAAtkbYAQAAtkbYAQAAtkbYAXBXrVu3Tg6H45a3tL/b6ypTpowmTJiQ6/UAyBuEHQC5Ijo6WgUKFHD6La67rWHDhjpx4oT8/PwkSXPnzrV+hBPA/YOwAyBXzJ49W/3799eGDRtu+QOBuSUpKUnu7u4KCgqSw+G46+sHkH8QdgDkuIsXL2rRokXq06ePWrZsqblz596y/0cffaSQkBB5e3vr6aef1rhx49IcgZk+fbrKlSsnd3d3VapUSfPmzXOa7nA4NH36dLVu3Vo+Pj569913nU5jrVu3Tt26dVNcXJwcDoccDofeeusta/7Lly+re/fuKlSokEqXLq1Zs2ZZ0w4fPiyHw6F///vfevjhh+Xl5aW6devqt99+05YtW1SnTh0VLFhQzZs3119//WXNt27dOkVERMjHx0eFCxdWo0aNdOTIkWy/rgCy6a7/GhcA25s9e7apU6eOMcaY5cuXm3LlypmUlBRjTNofBv3hhx+Mi4uLGTNmjNm3b5+ZOnWq8ff3d/rRyCVLlhg3NzczdepUs2/fPjN27FhToEABpx82lWQCAgLMnDlzzIEDB8yRI0ec1pWYmGgmTJhgfH19zYkTJ8yJEyfMhQsXjDHXf7TQ39/fTJ061ezfv9+MGjXKuLi4mL179xpj/vfjmJUrVzYrVqwwu3fvNvXr1ze1a9c2TZo0MT/88IPZvn27KV++vHnhhReMMcYkJSUZPz8/8+qrr5rff//d7N6928ydO9f68U4Adw9hB0COa9iwoZkwYYIx5vqHfrFixaxfYr457HTs2NG0bNnSaf7OnTs7hZ2GDRuanj17OvVp3769adGihfVckhk4cKBTn5vXldEvb4eGhprnn3/eep6SkmICAgLM9OnTjTH/Czsff/yx1eezzz4zkszq1auttlGjRplKlSoZY67/ursks27duoxeJgB3CaexAOSoffv2afPmzXruueckSa6ururYsaNmz56dYf+IiAintpuf79mzR40aNXJqa9Sokfbs2ePUVqdOnWzXXaNGDevfDodDQUFBOnXqVIZ9AgMDJUnVq1d3akudx9/fX127dlVkZKRatWqliRMn6sSJE9muD0D2EXYA5KjZs2fr2rVrCg4Olqurq1xdXTV9+nQtXrxYcXFxubpuHx+fbM/r5ubm9NzhcKT5hfIb+6QOer657cZ5oqKiFB0drYYNG2rRokWqWLGiNm3alO0aAWQPYQdAjrl27Zo+/fRTjR07Vjt27LAeP//8s4KDg/XZZ5+lmadSpUrasmWLU9vNz6tUqaKNGzc6tW3cuFHh4eFZqs/d3V3JyclZmudOPfDAAxo6dKh+/PFHVatWTQsWLLir6wcgueZ1AQDs4+uvv9a5c+fUo0cP6942qdq1a6fZs2drzJgxTu39+/fXI488onHjxqlVq1Zas2aNvv32W6fLxQcPHqwOHTrogQceUNOmTbV8+XItWbJE33//fZbqK1OmjC5evKjVq1erZs2a8vb2lre3d/Y3+BYOHTqkWbNmqXXr1goODta+ffu0f/9+/f3vf8+V9QHIGEd2AOSY2bNnq2nTpmmCjnQ97GzdulU7d+50am/UqJFmzJihcePGqWbNmlqxYoUGDRokT09Pq0/btm01ceJEffjhh6patapmzpypqKgoNWnSJEv1NWzYUC+88II6duyo4sWL64MPPsjWdmaGt7e39u7dq3bt2qlixYrq1auX+vbtq969e+faOgGkz2GMMXldBADcqGfPntq7d6/++9//5nUpAGyA01gA8tyHH36oJ554Qj4+Pvr222/1ySefaNq0aXldFgCb4MgOgDzXoUMHrVu3ThcuXFDZsmXVv39/vfDCC3ldFgCbIOwAAABbY4AyAACwNcIOAACwNcIOAACwNcIOAACwNcIOAACwNcIOAACwNcIOAACwNcIOAACwNcIOAACwtf8HO1brRB5gixEAAAAASUVORK5CYII=\n" | |
}, | |
"metadata": {} | |
} | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"source": [], | |
"metadata": { | |
"id": "7I_LQJXHwv0I" | |
}, | |
"execution_count": null, | |
"outputs": [] | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment