mirror of
https://github.com/logos-blockchain/logos-blockchain-pocs.git
synced 2026-01-09 00:23:06 +00:00
1644 lines
380 KiB
Plaintext
1644 lines
380 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 50,
|
||
"id": "ad657d5a-bd36-4329-b134-6745daff7ae9",
|
||
"metadata": {
|
||
"jupyter": {
|
||
"source_hidden": true
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"from dataclasses import dataclass, replace\n",
|
||
"import collections\n",
|
||
"import os\n",
|
||
"import platform\n",
|
||
"import pulp\n",
|
||
"import random\n",
|
||
"import numpy as np\n",
|
||
"from collections import deque #, defaultdict\n",
|
||
"\n",
|
||
"import matplotlib.pyplot as plt\n",
|
||
"from pyvis.network import Network\n",
|
||
"from pyvis.options import Layout\n",
|
||
"from joblib import Parallel, delayed"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "71b7ae0d-bb4d-4ec8-b498-2482e254cf5b",
|
||
"metadata": {
|
||
"jp-MarkdownHeadingCollapsed": true
|
||
},
|
||
"source": [
|
||
"# Network model"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 51,
|
||
"id": "a538cf45-d551-4603-b484-dbbc3f3d0a73",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"@dataclass\n",
|
||
"class NetworkParams:\n",
|
||
" broadcast_delay_mean: int # second\n",
|
||
" pol_proof_time: int # seconds\n",
|
||
" # ---- blend network -- \n",
|
||
" blending_delay: int\n",
|
||
" dissemination_delay_mean: float\n",
|
||
" # desimenation_delay_var: float\n",
|
||
" blend_hops: int\n",
|
||
" no_network_delay: bool = False\n",
|
||
"\n",
|
||
" def sample_blending_delay(self):\n",
|
||
" return np.random.uniform(0, self.blending_delay)\n",
|
||
"\n",
|
||
" def sample_dissemination_delay(self):\n",
|
||
" return np.random.exponential(self.dissemination_delay_mean)\n",
|
||
"\n",
|
||
" def sample_blend_network_delay(self):\n",
|
||
" return sum(self.sample_blending_delay() + self.sample_dissemination_delay() for _ in range(self.blend_hops))\n",
|
||
" \n",
|
||
" def sample_broadcast_delay(self, blocks):\n",
|
||
" return np.random.exponential(self.broadcast_delay_mean, size=blocks.shape)\n",
|
||
"\n",
|
||
" def block_arrival_slot(self, block_slot):\n",
|
||
" if self.no_network_delay:\n",
|
||
" return block_slot\n",
|
||
" return self.pol_proof_time + self.sample_blend_network_delay() + self.sample_broadcast_delay(block_slot) + block_slot\n",
|
||
"\n",
|
||
" def empirical_network_delay(self, N=10000, M=1000):\n",
|
||
" return np.array([self.block_arrival_slot(np.zeros(M)) for _ in range(N)]).reshape(N*M)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 52,
|
||
"id": "17ef82f8-968c-48b0-bee7-f2642c8b3f3e",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAiwAAAGwCAYAAACKOz5MAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAWW5JREFUeJzt3QeYE+XWB/CzLCxVkSJNei9SpIPSkSIKiNKvFGmiCIhU6R3pvUjHQlOK0pF7QZGysBQBEQXpvZelLOzme/7nfpObZJNssmyZZP+/5xnYJDOTmSS7c3Le875vgMVisQgRERGRiSWK7wMgIiIiigoDFiIiIjI9BixERERkegxYiIiIyPQYsBAREZHpMWAhIiIi02PAQkRERKaXWPxARESEXLp0SV544QUJCAiI78MhIiIiD2AouPv370uWLFkkUaJE/h+wIFjJli1bfB8GERERRcP58+cla9as/h+wILNinPCLL74Y34dDREREHrh3754mHIzruN8HLEYzEIIVBixERES+xZNyDhbdEhERkekxYCEiIiLTY8BCREREpucXNSxERGYVHh4uT58+je/DIIo3SZIkkcDAwOfeDwMWIqJYGl/iypUrcufOnfg+FKJ499JLL0mmTJmea6w0BixERLHACFYyZMggKVKk4KCWlGAD94cPH8q1a9f0dubMmaO9LwYsRESx0AxkBCvp0qWL78MhilfJkyfX/xG04Hcius1DLLolIophRs0KMitEJNbfheep52LAQkQUS9gMRBRzvwsMWIiIiMj0GLAQERGR6bHologoDuXsuz5On+/MmHoS3xYtWiTdu3d328V7yJAhsmbNGjl06FC8HwuZEzMsREREZHoMWIiIiMj0GLAQEZFV1apVpWvXrtK7d29Jmzatjk6K5hrDuXPnpEGDBpIqVSp58cUXpUmTJnL16lWP9o0mn3z58kmyZMmkdu3acv78ebfrz5s3TwoVKqTrFyxYUGbOnGl97MyZM9rzZNWqVVKtWjXtNlu8eHHZvXt3pCag7Nmz6+Pvvvuu3Lx50+vXhMyBAYuHbc5x3e5MRBRfFi9eLClTppS9e/fK2LFjZdiwYbJ161aJiIjQYOXWrVuyY8cOve+ff/6Rpk2bRrlPjHY6cuRIWbJkifz2229aQ9KsWTOX63/77bcyaNAg3eb48eMyatQoGThwoB6brf79+0vP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sWJat9K2bVuXz4maFtSk1KlTR+tnevbs6XJdPKezY7SFYtsTJ05I3rx5PTrnXbt2afEsghTD2bNnI63Xvn17efXVV2XmzJlawNuoUSOP9k9Ez48BCxHZQTNIjx49pFOnTnLgwAGZNm2aNtk4g0LUokWLanYCPWZwEf/444+lSpUqUrp0aV1n8ODB2iSUJ08eadasma6zYcMG7ZVjq2LFinp/3bp1NWhxNYBd165dtelm/PjxWvC7efNm2bRpk906gwYNkrffflt7Er3//vtaFItmoqNHj0Yq0AUEZDjvZcuWaW8mFAobTT+OwRKazHDsyK54kj0iopjBJiEisoNmj0ePHmnW45NPPtGeNh07dnS6Lmpd0H04TZo0UrlyZQ1g0CUY9SC2o+euXLlSfvzxRylRooRUr15deyA588Ybb2iwgPoRBErOIGBAvQt68hQvXlx7FGF9W7Vr19amHTyGAATboMcPsijO1K9fXz777DPN8uAYkXFBt2Zn0EMJTUJsDiKKWwGovI3j5yQi8lnDhw/XAOz333+P70MhSlCYYSEi8rCQF01K06dPl08//TS+D4cowWHAQkTkATQXlSpVSpu42BxEFPfYJERERESmxwwLERERmR4DFiIiIjI9BixERERkegxYiIiIyPQYsBAREZHpMWAhIiIi02PAQkRERKbHgIWIiIjE7P4Pkl8N9rfdg6cAAAAASUVORK5CYII=",
|
||
"text/plain": [
|
||
"<Figure size 640x480 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"blend_net = NetworkParams(\n",
|
||
" broadcast_delay_mean=0.5,\n",
|
||
" pol_proof_time=1,\n",
|
||
" blending_delay=3,\n",
|
||
" dissemination_delay_mean=0.5,\n",
|
||
" blend_hops=3,\n",
|
||
")\n",
|
||
"no_blend_net = replace(blend_net, blend_hops=0)\n",
|
||
"\n",
|
||
"N = 100\n",
|
||
"M = 10000\n",
|
||
"no_blend_samples = no_blend_net.empirical_network_delay()\n",
|
||
"no_blend_mean = no_blend_samples.mean()\n",
|
||
"blend_samples = blend_net.empirical_network_delay()\n",
|
||
"blend_mean = blend_samples.mean()\n",
|
||
"\n",
|
||
"_ = plt.hist(no_blend_samples, bins=100, density=True, label=\"no-blend\")\n",
|
||
"_ = plt.hist(blend_samples, bins=100, density=True, label=\"blend\")\n",
|
||
"\n",
|
||
"for p in [50, 99, 99.9]:\n",
|
||
" no_blend_pct = np.percentile(no_blend_samples, p)\n",
|
||
" _ = plt.vlines(no_blend_pct, ymin=0, ymax=0.25, color='darkblue', label=f\"no-blend {p}p={no_blend_pct:.1f}s\")\n",
|
||
"\n",
|
||
"for p in [50, 99, 99.9]:\n",
|
||
" blend_pct = np.percentile(blend_samples, p)\n",
|
||
" _ = plt.vlines(blend_pct, ymin=0, ymax=0.25, color='brown', label=f\"blend {p}p={blend_pct:.1f}s\")\n",
|
||
"# _ = plt.vlines(blend_mean, ymin=0, ymax=1, color='brown', label=f\"blend 50p={blend_mean:.1f}s\")\n",
|
||
"# _ = plt.hist(blend_net.block_arrival_slot(np.zeros(1000)), bins=100, density=True, label=\"blend\")\n",
|
||
"_ = plt.legend()\n",
|
||
"_ = plt.xlabel(\"block delay\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "51db3605-c164-44fe-aefa-c7bf2aad587b",
|
||
"metadata": {
|
||
"jp-MarkdownHeadingCollapsed": true
|
||
},
|
||
"source": [
|
||
"# Transaction dependencies (probabilistic models)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 53,
|
||
"id": "38b1e549-4f83-4f37-a563-8ba724d6d845",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAGGCAYAAADmRxfNAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAgThJREFUeJzt3QucTPX7B/Bn72uxa9lYd0KUe+R+jRCK7onIrz9RSvTroptbpfKjlCKVSrmlhFIioULkskpyiXUJ674Wy17n//p8OdNczuzO7NznfN6v11g7c+bMmTmzM+c53+d5vmEmk8kkREREREREbgh3585ERERERETAwIKIiIiIiNzGwIKIiIiIiNzGwIKIiIiIiNzGwIKIiIiIiNzGwIKIiIiIiNzGwIKIiIiIiNzGwIKIiIiIiNzGwIKIiIiIiNzGwIKIQsL+/fslLCxMPv74Y39vStAYM2aMes1OnjzpsXVWq1ZNevbsWehyq1evVo+Nn5oHHnhA3d8SlsF2GmVfFIXe6+ZIfn6+1KtXT15++WUx4t+03vvOHdg2rA/b6op7771X7r77bo9sA1EgYWBBFKK0LzztEhsbKxUqVJCuXbvKW2+9JefOnfP3JhK5bN26deogPD093d+bEpTmzp0rhw4dkmHDhvl7U4LKK6+8IosWLfLY+p5++mn58ssvZdu2bR5bJ1EgiPT3BhCRd40bN06qV68uOTk5kpaWps7UPf744zJ58mRZsmSJNGjQwN+bSAbUrl07uXjxokRHRxe4HJaJjIy0CizGjh2rztKXKlXKB1saWiZOnKjOlickJEigq1q1qtr/UVFRPn/f6QUWd955p/Tu3dvq+vvvv1+9njExMS6tr3HjxtK0aVOZNGmSzJo1y6X7EgUyjlgQhbibb75Z+vXrJwMHDpRRo0bJ999/Lz/88IMcP35cbr31VvUlS6EhNzdXsrOzJRiEh4erUTT8LAiWsQwsqOi2bt2qzpAHSwqONtIaERHh8/eds7BtWF9R0tiwHxYuXCjnz5/3yLYQBQIGFkQGdOONN8oLL7wgBw4ckM8++8zqtp07d6ozc6VLl1ZfmDirhpENvTSrn376SR566CEpU6aMxMfHS//+/eXMmTN2j/fdd99J27ZtpXjx4lKyZEnp0aOH/Pnnn1bL4Ax0iRIl5PDhw+qsIP5/1VVXyX//+1/Jy8uzWhZpMFgeZ11x1nrAgAEOU2NceT5r166VkSNHqsfFtt52221y4sQJ3efTvn179VzwvG+44QaZM2eOum306NHqDKve/QYPHqy299KlS7rbavk67Nu3T6WtYTuQwoaRJ5PJZJd//r///U/efPNNqVGjhjprumPHDnX7jz/+aH7N8Zi9evWSv/76S/cxUWOBgxw8F+zL4cOH223jRx99pN43ZcuWVY9z3XXXybRp0xw+j+XLl0ujRo3Ua45lcQBVlFx3yxoL/HzyySfV/zEKp6X54bXA/mjYsKHuOmrXrq1eS2dqQ7A9eI8UK1ZM6tevb94+bD9+x/Np0qSJOki35exr/ssvv6j3DNaF/fbee+853C78feLxsD14D+PsOFKZigKpPDhTj7P2evUd+Fsp7H3g7Dbt2bNH7rjjDklOTlbPs1KlSmq5s2fPmpdZsWKFtGnTRr1WeM9jPz377LMF1lhofx8HDx5U+wv/r1ixorzzzjvq9j/++EO9T7EPMOKh/V0W9L4rbFux/IULF+STTz4xv+ewHQXVWBT0GaG56aab1HrxOhCFCgYWRAaFIXztAFCDg/0WLVqog6FnnnlGDdPjCxoH+l999ZXdOpCnjWVxYIKgYvbs2WpZywPgTz/9VAUSOAB47bXXVECDg18cUNh+GSOAwAEgDmpwwIwvZmzDjBkzzMtg3Thgw3oxEvPSSy/JP//8o4ILW64+n0cffVSd0UVwMHToUPn666/tctFxIIHnc/r0aTUC9Oqrr6oD6GXLlplfV4wczJ8/3+p+GEn44osv1AEMDl4KgtehW7duUq5cOXn99dfVQRy2CRdbOOB/++23VdCC54cDPYxI4XXEqBT2DYIlpBC1bt1at8gUB5M4gJwwYYJ0795d1eBgfZYQROBADQd+eJzKlSvLww8/bD6gs4QDtXvuuUeNlmGdGHG466673D6Auv3226VPnz7q/2+88YZ6D+CCQBCv+++//y7bt2+3us9vv/0mu3fvVu+Vwvz9999y3333yS233KK2G0Ey/o/39YgRI9Q6kIa1d+9e9ZqhEFrj7GuOA98uXbqYl8NIIvar3vsRBdb4u6pVq5ZKXUQK48qVK1VgUJQaE2wPCrcdpRY58z5wZpvwXsdr8euvv6q/KbxHsB4Ey9oy+NtEYJCVlaWCZrynMIKK4L4w+PvAewvvQfx9ICjE3yn+NvF3g8AQnzU4qMe2pqamOlyXM9uK9xiCaQSN2nsOJ1QcKewzQoOAG8GZM8+ZKGiYiCgkffTRRzi6N/32228Ol0lISDA1btzY/HunTp1M9evXN126dMl8XX5+vqlVq1amWrVq2a27SZMmpuzsbPP1r7/+urp+8eLF6vdz586ZSpUqZRo0aJDV46alpanHtrx+wIAB6r7jxo2zWhbbh8fRLFq0SC2Hx9Lk5uaa2rZtq67HthX1+XTu3FndrhkxYoQpIiLClJ6ern7Hz5IlS5qaN29uunjxotV2Wt6vZcuWahlLCxcuVI+xatUqU0G01+HRRx+1WnePHj1M0dHRphMnTqjrUlNT1XLx8fGm48ePW62jUaNGprJly5pOnTplvm7btm2m8PBwU//+/c3XjR49Wq3j1ltvtbr/ww8/rK7HfTSZmZl229q1a1fT1VdfbXVd1apV1X2//PJL83Vnz541lS9f3uq9htfB9vXAc8f9LWEZbKdm4sSJ6jo8f0vYN7Gxsaann37a6vrHHnvMVLx4cdP58+fttl9vu9etW2e+7vvvv1fXFStWzHTgwAHz9e+9957dtjv7mvfu3Vttp+X6duzYod5nll/J+/fvV9e9/PLLVtv5xx9/mCIjI62u13vd9FSqVMl0xx132F3v7PvA2W3aunWrut+CBQscbssbb7yhltHez3q097jl37T29/HKK6+Yrztz5ozaR2FhYaZ58+aZr9+5c6fd+8f2fefMtgLeQ3hsW9pnh/Z+dPYzQnPNNdeYbr755gIfmyiYcMSCyMAwiqB1h8LZNaRy4KwlrkN6DC6nTp1SZ/RwFhppSpZwZs/y7CfO8uPs9Lfffqt+xxlqnPXDWWZtfbggL7l58+ayatUqu20aMmSI1e84S4izhxqsG4+Bx9JgfTjbaKmoz8cyVxqPjbOjSBnTng/WhdEP21EHy/vhLOmGDRvUmW0NznrjDCtGYZxhOVKCdeN3nF3FmXFLGAHBGXvN0aNHJSUlRaVqYPRCgyJ9pF5o+8bSI488YvW79lpaLoszqxqkiOC1xHPBvrFMbwGkbiGNTKOlySF9CA0EvAFpcRjJQtcjbcQM+w4jRxihwkhVYXAGuWXLlubf8R4FpNZUqVLF7nrtfensa47tQY0Ttsdyfddee61dqhZSrzAigvev5d8O0nUwWqD3t1MYvPcTExMd3l7Y+8DZbdIKw/FcMzMzdR9LK7xfvHix1ciPs/7v//7Pal1Io8I+tqwfwXW4zfLzw5Yz2+oKZz8jNNgfnmz3TORvDCyIDAxFg0gX0NJAcECGVCUcqFpetBQcpG9YwsGEbaBSvnx5c+oHDt61AzPbdSIFy3Z9+CK2PEjWvngt6zZwkI/HwGNZwkGEpaI8H8uDPe2xQXt8LVBAOklBkAaE1AkEE4AD72+++Ub69u3rVJEnCkuvvvpqq+uuueYa9dM2lQm1Bpa0IMj29dAOYHEQg7zugvYj8v6xDZaPhXSNzp07m+sH8Dpq+fC2gUXNmjXtnqej7fckBC/Ivf/555/V7wjCjh07Zk77K4zt/tcOOhEQ6l2vvS+cfc1Rd4NmCbavt9598beD9y+WtX3/IrXP9r3rLMs0RVuFvQ+c3Sa8J5EK9sEHH0hSUpIKmpBiZPk+wd8I0sQQICDlDzUNn3/+uVNBht7nBPYJaiNs33e4Xq/uS+PMtrrC2c8IDV7Pos5fQhSI2GqDyKBQl4AvTxwEgvaFjmJpR4Wu2rLO0taJnGSc1bRl2+3Hk91fivJ8HD1+QQdjehCQIH8cgcWLL76oaiuQS+5Mnr+rLEcSPMX2QAcHS506dZI6deqovHocaKMIGGeyUetQlDPO3oD9jINUFBcj5x8/8b5DQOQMR/vfU+8LV+A1xX5AEbDe49sG1s5A7VJBB9mFvQ9c2SbUTGAEByMSOInw2GOPqdoN1DIgAMD7Fs0fMMqxdOlSVX+A0SWchMDyBX0WeHo/Fbat3oT9oRdoEgUrBhZEBoWDfdAOurUz5EhtcvZADGcwO3bsaDUCgrQQFH5qZzwBnYScXWdhUECMYlE8luWBzK5du6yWK8rzKYz2fFAgXFiQhbPnSM1B8TACDPStr1u3rlOPgwM4pG9oZ/kBBchQ2AzLeH30Xg9A1x+clbVNC8J+tBz5wGgPtkF7LBSxIzBCNy3Ls/qO0nG00SLLA1Nnt78wBZ3dxYEliq9RPIviXXRBGjRokEcDVndec5xpxwG1NpJnyfa+eK/hNcR+sXwfuAOBYUGFzIW9D1zdJnTRwuX55583F7JPnz5dNVwAjIYgYMUFASvminjuuefU+8pTf7POKmxbnR1VcOUzAk0e0E0LRetEoYKpUEQGhNqD8ePHqwMEpOdoB/8dOnRQrS8RHNjSa5+Kbk2YeM+ycxC+LNGxRQtakF+PAwbL5QpaZ2EQtOAxLFudIncdnZEsFeX5FAbdfJA6hrOZtm04bc+K4jXAASUOcNesWePyaMXUqVOt1o3fESThIKwgSBNDBxq0xrTsHIQDHZyN1YI+S7adnbTXUtuP2oG55XPEaBc6Uuk5cuSIVZejjIwMNQkYtktv5MoVWlDkqCsS0p5wFhhdexB8emOUqKivOV5H/E0g4EHKlgZpRMjxt+2AheXRhcr2vYXfUS/hKtSPYJsQJOop7H3g7DZhf+Nv1BIO2hFIaI+NGihbeA3B0fZ5gzPbqr3vnOnE5cpnBLrjYZlWrVq5/TyIAgVHLIhCHNIWcNYUX57IN0dQgQJDnGXFGWjLAkMcWKANLL5YcaYXZ/1xn/Xr16vUKbRitYRiYhzoomASZ1zfffdddX/tDByCCgQAONi7/vrrVR41cqNxUIX0B5wVtDyAdgbaf+J+KI5E7rc2R4JeTrSrz6cweD5I/UFeOPrS4+w40p6wHhR+4sBSgyAAzxfPDwdjWptUZ2CfIDUELXRRKIx9iNcLNQ22ueWOZlfGwSAOJB988EGV14+DROSba3NCWMJZbOwztOrEa4MUIjw3bV4IHCwh9QmvvXbA/v7776vgTS9ow9lsPC5Ga5CaNHPmTPW6OwpEXIHWu4Az23h98Tpju7SAAyNDyG9fsGCBqm/A+84XnH3NcVCOfYvGAGjXi79LLIfRLLTLtTzzjbPlaFeK9zkKvnHAin2FoA2NBpDm5wqMoOGEAgJd7FNX3wfObhM+Y9BsAC2G8V7Ac8QIKf4O0GwA0GIWqVBoy4rPItRn4PMDqUf4m/UVZ7ZVe9+hZgcjK2hOgJMyWhF/UT8j8DkcFxenCvyJQoa/21IRkXdobRC1C1qVJicnm2666SbTlClTTBkZGbr327t3r2qPiWWjoqJMFStWNPXs2dP0xRdf2K17zZo1psGDB5sSExNNJUqUMPXt29eq3aYGrR3RmhQtZtFqs0aNGqYHHnjAtGnTJvMyaOWIlo6OWmFawmPcf//9qtUq1on/a20jLVtTuvp8bFvz6rVEhSVLlqiWtWhxiW1o1qyZae7cuXbbvnHjRnX/Ll26mJylvQ7YbtwvLi7OVK5cOfU65OXl2bXiRPtVPT/88IOpdevW5m285ZZbVFtTvdcW1995552qTSb25bBhw+xaZeI5N2jQQO2/atWqmV577TXTzJkz7Vq/ou0pWuOiVSuWj4mJMdWpU8eunWdR283C+PHj1X5EK1e91rNa22PLlqSF0bbbFtbzyCOPWF3n6LV35jUH/N2ghTL+JtGud/r06brvc0Db3jZt2qj3BC54LbE9u3btcrndLGCfPPjgg0V+HzizTfv27TP95z//UX/neL+ULl3a1LFjR/X6aFauXGnq1auXqUKFCup1wM8+ffqYdu/eXWi7Wb3Pifbt25vq1q1b6H61fd85s61a69p27dqpfYv7a61nbdvNuvIZgZa0/fr109lLRMErDP/4O7ghouCCHHZM7IUz0piMivThLCXSO5AG5GxnIhSRotgbowJUNFOmTFET2uGsum2nJ6PD2Xi0lcWoodbyFSMqGElBeiDS98j70J4Yo2lbtmwxp4ARhQLWWBAReQnShVBgjtx08g2cK/vwww/VHBsMKuyhpgqvi96M6eQ7mI37zjvvZFBBIYc1FkREHoYuSijMRHE78redmZyN3IN5IlAzhI5Cf/zxh2odSvZQlIwCbvKvefPm+XsTiLyCgQURkYdhxmIUK6MbEFJMyPuQxoNCWaT3oMidLTyJiHyPNRZEREREROQ21lgQEREREZHbGFgQEREREZHbWGNRRPn5+Wp2WUwOFBYW5u/NISIiIiLyOFRNnDt3Tk0OiQYQBWFgUUQIKipXruzvzSAiIiIi8rpDhw5JpUqVClyGgUURYaRCe5Hj4+N9/vg5OTmyfPly6dKli0RFRfn88cl/uO+NjfvfuLjvjY3737hy/LzvMzIy1Ml07di3IAwsikhLf0JQ4a/AIi4uTj02P2CMhfve2Lj/jYv73ti4/40rJ0D2vTOp/yzeJiIiIiIitzGwICIiIiIitzGwICIiIiIit7HGgoiIiMjA7fOzs7P9vRlUSI1FZGSkXLp0SfLy8sTTULcRERHhkXUxsCAiIiIyIAQUqampKrigwJ5HIjk5WXUi9dbcaaVKlVKP4e76GVgQERERGfBg9ejRo+pMNVqJFjbxGflPfn6+nD9/XkqUKOHx/YT3QWZmphw/flz9Xr58ebfWx8CCiMhNefkm2Zh6Wo6fuyRlS8ZKs+qlJSLcO2eViIg8ITc3Vx1QYjZltDKlwE9Xi42N9UoAWKxYMfUTwUXZsmXdSotiYEFE5EYAsWJHmoz9eoccPXvJvFz5hFgZfct10q1eeQYdRBSQtFz96Ohof28KBQAtuEQ9BwMLIiIPcRQILNt+1C6AKBUXJemZOXbrSDt7SYZ+tkUGt6suS7Yd1Q06broumQEHEfmdt3L2yZjvAwYWRERX6AUPCARubVheZvyUKiab5fWCCtCWe++nVN2gY8hnW+yCEstRDiIiomDEwIKIDMl2ZOLMhWx5ZM4Wu+ABQYZegFBUJgdBiTbK8c59jSWxeAxHMoiI/KRDhw7SqFEjefPNN/29KUGHLQCIyJAjE21e+1H6vP+rDJ+Xon4Om2sfVPiS6cpl2NytVtuF7cT2EhEF6kma9XtPyeKUw+onfvemBx54QKXt4IL6kJo1a8q4ceNUMXoge+CBB6R3796FLjdt2jRp0KCBxMfHq0vLli3lu+++s1tu/fr1cuONN0rx4sXVcu3atZOLFy+abz99+rT07dtX3YZWsg8++KDqLOVtHLEgIkPBQTpGBmy/+rz8Xeg02+3QRjKm9bte1WVsSD0tm0+GSZnU09KyZlmOZhBRwKWPejuts1u3bvLRRx9JVlaWfPvtt/LII4+oSd5GjRolwa5SpUry6quvSq1atVQr2E8++URuu+02WbNmjTRv3twcVOA1wPN9++231eR527Zts+oYhaAC7YRXrFihCrIHDhwogwcPljlz5nh1+zliQUSGOZu2ds9JGbNkh19HJlylbeszC/+Q1q/+KP1mbpJZeyLUT45mEJG/T9JYBhWWJ0O8+dkUExOjJnOrWrWqDB06VDp37ixLlixRtyHY+O9//ysVK1ZUZ/NxML569WrzfU+dOiV9+vRRt6MTUv369WXu3LkFPt7SpUslISFBZs+e7bDDFkYEqlevrlq31q5dW6ZMmWK+fcyYMSpAWLx4sXm0xXKbLN1yyy3SvXt3FVhcc8018vLLL6v5KzZt2mReZsSIEfLYY4/JM888I3Xr1lWPd/fdd6vXBf766y9ZtmyZfPDBB+r5t2nTRgUg8+bNkyNHjog3ccSCiAx1Ni0Ymcw1GTkORzNY9E1E7sDZ8Ys5l1vQOnPCZvSSP3VP0uA6jKPiJE7rmklOjaoWi4pwqysRDuYRMMCwYcNkx44d6iAac3R89dVX6uz+H3/8oQ7WL126JE2aNJGnn35apQkhaLj//vulRo0a0qxZM7t14wz/kCFD1M+ePXs6nGcCIw0LFiyQMmXKyLp169ToACabwwE/Ah0c7GdkZKiRFihdunShzwsBC9Z54cIFueGGG8xzTWzYsEGNSLRq1Ur27t0rderUUQEIAghtRAPpT02bNjWvC8EXRjRwX4yAeAsDCyIyVMqTO/C1Z9L5Xa/Dk9ZJCrw1QqJ9gSN4QpoU06KIqKgQVFz34vce+2xKy7gk9ccsd2r5HeO6Slx0ZJGCoZUrV8r3338vjz76qBw8eFAduOMnggrAQT3O3uP6V155RY1U4DoN7of7f/7553aBxTvvvCPPPfecfP3119K+fXuH24E0rLFjx5p/x8gFDu6xTgQWGHFA8IPRFIy0FAZBEGorEAThvl9++aUKHmDfvn3mUZD//e9/qsh81qxZ0qlTJ9m+fbsKntLS0tREd5aQLoVgBrd5EwMLIgo5OJuGg21PHNBrh+p6c1IkFzInReMqiQ7nvrANUooK68D6P16bKkklY9hJiohC3jfffKMOuFE7gNGC++67Tx1oI70IZ/mRQmQJB/QYSQDcjgADB/2HDx9WM1rjdtvZx7/44gs1OrB27VrzaEFBEITMnDlTBTUoosZ6cdBfFEhtSklJkbNnz6rtQH0EghsEPni+8NBDD6nroXHjxirAwuNPmDBB/ImBBRGFHBzkFzX9CcfjlgXUWvCAVKOnul3rcFK7ljUuf2lZwn30gg692bptH9dV45f+Zf4/58QgIlchHQkjB87AZ9oDH/1W6HIfD7xBfeY589iu6Nixo+qehK5QGJnA2XhA1yPMGr1582a72aMRiMDEiRNV/QNayaK+AnUYjz/+uAoELOFgfcuWLepgHSlFBaVqIe0KoyCTJk1SIw0lS5ZUj4O0o6LQul0B0rZ+++03mT59ugoskF4F1113ndV9rr32WhXUAEZFEBRZQtcsdIpyZsTEHQwsiCjk5qTAELyrtK+MqX0czyOBn3oBREH07qMXcGjzaIgHRjJYe0FErsKBs7PpSG1rXaVOYOCzRu/zKuzKSRks543RUwQD2oG3bTCAEQkcVLdt21b3vhiB6NWrl/Tr10/9jhGA3bt32x2oo+YCgQLmtECQMnXqVIfbg3Wi3uHhhx82X4faB9tgAdtWFNhGLfCpVq2aCqZ27dpltQyew80336z+j+AmPT1dBVgITODHH39U69E6S3kLAwsiCrkC7VLFolxej+XIhC/oBRzTwq+3ey7J8TFyKTdfzmbmOB1wsPaCiLwJnyn4vMQJDL3aM8Dtvv7sQQoUipr79++vggIEGidOnFBpQpgbokePHqoGAelFKLBOTEyUyZMny7Fjx+wCC219q1atUsEFRkUcTZiHdaLO4fvvv1f1FZ9++qkaZcD/NQgIcDsCAqRlocsUajNsoYUsAoQqVarIuXPnVNE4UrxQZ6EFgE8++aSMHj1aGjZsqNKt0HFq586d6nlpoxcoWB80aJAa6UDKGIra7733XnPtibcwsCCikCvQTr9o3T3JFr7qysXHyKS7G8nJ81kBU5dQUOqU3hd4QVh7QUTe/rzCqKjdyRA/p2KiSPull16SJ554QtVQJCUlSYsWLcwdnZ5//nlVAN21a1dVV4HuTZi4DvUMjuodcLZfG7lAwGIL9Q5bt26Ve+65Rx34o50tRi8sJ7bDQT4CBKRVIWVLC1hsYbQFgRHmoEDwgYAI67EcaUDqFgq70XYW6U0IMDBfBUZZNGiNi2ACRd3oBnXHHXfIW2+9Jd4WZkJJPbkMLcOww/FGRLsyX0P0iUlh0OtYL+Kl0MV9/2/6E+ZxKKyWwtHZtGBLE/JE61zWXgQ3/u0bm6f3Pw5MU1NT1Vn12NhYj6Wi8gSG5yGFCcedON60nATPkwp6P7hyzMsRCyIK6QLtxOLRcvpCdsCcTXN3NGP938dl+c8bpFLNa+WV73a7tA7WXhCRpxWl9oxCFwMLIgoalmfG9hw779R9XuhxrSQnFAuJs2nY7ubVS8upv0zStUVV+WjdQYfFk3pYe0FERN7EwIKIQjoVCEFFKJ5NK6h40pnai1/3npLw8LCQCLiIiCgwMLAgopCcRVtrd+hMD/VQK550BlrbWha5s/6CiIjcxcCCiEJuFm1/tjv0dyepk+eyrCbLc8S2cxbrL4iIyF0MLIgo5GbRDtYCbU8UTyIQ++CXVJdqL4D1F0RE5C4GFkQU0HAW3hnDOtaQWuVKGr5eoKi1F5b1FwjmQrEuhYiIvIuBBREFdPcnpPY4o3XNq3gwXEjtBWYkL2zyQFj79wkWdRMRkcsYWBBRUHd/MkKRtqdm8c43maTvBxsKve/UVXvN/2dRNxEROcs70/cREbnR/cmVoMIoRdru1F70alRR/WxxdRkVKLjySmlF3dg3RERG0KFDB3n88cf9vRlBKSACi3feeUeqVaumphBv3ry5bNy4scDlFyxYIHXq1FHL169fX01xbznl/dNPP62uL168uFSoUEH69+8vR44csVrH6dOnpW/fvmpq8lKlSsmDDz4o5887N+EWEfmn+5Nt7ICRCnYxcr3+ApwNLrT9gX2DfUREpKQfEjmS4viC273ggQcekLCwMHWJjo6WmjVryrhx4yQ3N1cC2QMPPCC9e/cudLkxY8aYn592ue66y5/bmkuXLskjjzwiZcqUkRIlSsgdd9whx44ds1rm4MGD0qNHD4mLi5OyZcvKk08+6ZPXyO+pUPPnz5eRI0fK9OnTVVDx5ptvSteuXWXXrl3qhbC1bt066dOnj0yYMEF69uwpc+bMUTtqy5YtUq9ePcnMzFT/f+GFF6Rhw4Zy5swZGT58uNx6662yadMm83oQVBw9elRWrFihgpGBAwfK4MGD1fqIKDC7P+G4FjNpJ5WMYf6/D+e+YFE3EVlB0DC1iUhuATVwkTEiwzaLlKrs8Yfv1q2bfPTRR5KVlaVOLuMgOyoqSkaNGiWhoG7duvLDDz+Yfw8Ptx4HGDFihCxdulSdaE9ISJBhw4bJ7bffLmvXrlW35+XlqaAiOTlZHTfjeBcn2fEavfLKK6E9YjF58mQZNGiQOrBHRIYAA9HVzJkzdZefMmWKekMh8rr22mtl/Pjxcv3118vUqVPV7XiBESzcfffdUrt2bWnRooW6bfPmzSp6g7/++kuWLVsmH3zwgQpm2rRpI2+//bbMmzfPbmSDiAKr+xOCCi21h0FF0YOLX56+UeYOaiFT7m0kwzrWdOp+aWcvyvq9p2RxymH1kyMYRAaVeargoAJwO5bzgpiYGHXQXLVqVRk6dKh07txZlixZom5DsPHf//5XKlasqDJXcJy3evVq831PnTqlTlDjdhxvIsNl7ty5BT4eDuJxfDl79mzd23Egj8yX6tWrS7FixdTxJ45XLUchPvnkE1m8eLF5FMJym2xFRkaq56ddkpKSzLedPXtWPvzwQ3X8fOONN0qTJk1UkIUA4tdff1XLLF++XHbs2CGfffaZNGrUSG6++WZ1vIwMoezsbAnZEQs8ORzwW0aYiMrwBlm/fr3ufXA9RjgsYYRj0aJFDh8HOwE7ESlP2jrw/6ZNm5qXwWPisTds2CC33Xab3TrwRsVFk5GRoX5itAMXX9Me0x+PTf4Vqvu+TFyk08uF2nP31/5vWiVeROJlQ1ykTF1V+PLjv9khpzP/fdzk+Bh5vnsd6Vq3nNvbQsb92yf/7H+sx2QySX5+vrqYZV9wfKfwCJHIWBGTyakz02gYIdq6Ha03urhL241t1rZbg9R4BAy4DqMXOIGMDBSkw+P4ECekt23bJrVq1VKZLTghjRPUSIfHiMf999+vgoJmzZpZPQ7Wh/U8/PDD6iAdmTJWr9UVSDFCoDJ//nyVnoSD/CFDhki5cuXUiW4ct+JAH8eO2onz0qVL664Lj7tnzx617XheOEH+8ssvS2Jiorrtt99+U/sOQYV2/2uuuUaqVKmiHhfPAT8RMF111VXmZW666SYVhP3xxx/SuHFj+32Vn6/Wj3VHRERY3ebKe86vgcXJkydVlIcX3hJ+37lzp+590tLSdJfH9XqQh4aaC0SneANp67BNs0J0iJ3saD1IvRo7dqzd9YgKEfH6C0ZnyJhCbd9fyhWJCIuQPJOjUQiTlIoWObHjV/m28ImlQ54n9z8GHkpFR0i6OpHl+PU/nZltdXtaxiUZNi9F/nNNvjQsw9ELXwm1v33yz/7XzoqjvtTyLHapN6s6vE9OtY5yoffHEnHhvJR04jEuXDgveVdOxMa/11jCL562Wyb98QMubTcOcnEgj4N0HAivWbNGHYsh++XPP/+Ujz/+WB08ly9/ufYO12PE4b333pMXX3xRSpYsqa7TIEUIt2M0AvW7gPXjNZk0aZK89NJLakSjdevW5pPKeixPet9yyy3y008/qfshqNFebxywa8eMOD7FxRbS+jGygNoR1E289tpr0q5dOxUsQGpqqqotwclwy+3BqMaBAwfUdYcOHVIBjuXtGEmBffv2SY0aNeweF8/34sWLarttazEQjAVNjYU34c2HSBFvvGnTprm1LoyqWL5psLMqV64sXbp0MQcsvn5u+HBBBIqcOTKOUNn3SKPZdOCMHD+XJWWKR8us9Qckz3RSd9nLh7Jh8tLtDQ1/dtxb+z+q2jF5dN429X/9EEEv4AhT1353LE6e6tuOqWleFip/+xQY+x8HtTgARfEvzow7AwfH6pjnQgmnli9evITIlWMkZI7ocfUYCs/9+++/l0qVKqnXBGfacfIYtQNIL8IJ6xtuuMHqPsg4wQllPBZux8li1CccPnxYHVDjdtymbQue59dffy3Hjx+Xn3/+2W59et59912VkoS0exygY71IQ9LWie02v34FQCG2pY4dO6rRFIy8YORECxBs14OgBSliuB6Phd8tl8FjAwIbvW3A+wHrRhBj+34oKKAKqMAC0RWeuG0lO35HFK0H1zuzvBZUIHr78ccfrV5ELIs3iyVEZ+gU5ehxsbNwsYWd588PeH8/PvlPMO97R3NVRIaHyeOda8nsDQetbkP3J86l4N3937NRJYmMjLDbL6WLR8npCzmFFHZnydZ/zrGw20eC+W+fAmf/4wAbB/s4821VHPys41rTsLAICcOyDoIEW+FYTlv343/oL2NTmFwYbDMOtnHCGGfukTKkHTTjzDqOK5Fmb5vOgwAKj/X666/LW2+9pZoFaR1E0VoWx42W24J0ITQDwggI0oscBUaAGl2kVk2aNElatmypRkUmTpyo0uu1dWq1Fa4+X2TTINUJIw24P54vghYc7Gsp/tqxMEZpsH78RMqU5WOdOHFC/cT99bYB12H9eu8vV95vfg0s8IZA0cnKlSvNLbgQeeJ3VLjrwQ7D7Zb9hRHB43rboAI5aqtWrVLDQbbrSE9PV288PD4g+MBjo8iHiLw/V4XeWfHcfJPULFtCFRZbTuzG7k/+m1QP6U4j5qd4rPieiAKcizUP/lgvggGkCtlCMICACSeP27Ztq3tfdE7q1auX9OvXT/2OY7/du3fbtXRFuhACBcxpgSBFaxLkaJ2tWrVSIwqavXv/nWhUO+bFtrkKqWpY15133ql+x3ErDvRxLKyNbqCTKkZKtGNh/ERdBl4HLfUfx8o4yW77PD3N76lQSC8aMGCAKqRGRIgI8sKFC6pLlJb7hoIYDFsBWse2b99e7Wy00kKUiDayM2bMMAcVePERZX7zzTdqJ2p1E4j6sGPRTQo5b8ixQxcq3AeBzL333qsiOSLyz1wVCB1wOw5uefbbv5PqadD9yRknz2WpblEMBInIX3BmH9MJ4NgRx4kINHCmHgfhDRo0UMeNKOD+4osvVM0CCqLRXQln+/UOuLE+nKBGcIFRERyj6sE6Z82apVK0kLb06aefqhED/F+D+dpwO4IAnPBGlym9kQB0tEKNBjpeoVPp6NGjVWCjBRG4HzpQ4fgZx7UIFh599FEVTKDQG5Cmj+eDonSM0OA4+Pnnn1eF7XrZNyEVWNxzzz1qp6OgBk8c+WhoBasVaCMCsxyyQUSICn28QM8++6zamcg7Q7ELIF9OazmGdVnS3hyAIh0EE506dVLrxw7D0BgR+W+uCs6XEHgQJGC2bszA7SggRAwxfum/FfVYnqlrRCEsrszleSoKm8cCy/kY6hxQcP3EE0+oY0Kk3eOAGx2dAMePSCtCR1HUG2AOM2TNoIOoHrSORVaLNnKBgMXWQw89JFu3blXHtEgnQs0HRi++++478zI4mY0aEJxIxyiE5TGppX/++UfdH12u0NUJUyIgCLJsOfvGG2+Yj11RH4LnghoPDbYTJ9fRBQoBB0Z4cBIfEwl6W5gJlc3kMuS2IWrEG9Ffxdtokda9e3fm2hpMMO97nNEePq/wtBrMrYC5Kigw9r+WvgbOfGFoYxWcFd2zgvlvnwJv/6NYFx2GcFbd2eJtu0nyCpqnAkGFFybHM6L8/Hx13InjTVdrNDzxfnDlmNfvIxZEZBxIk/HkcuTf2brDHAQaJpu0NqZFEYUgBA0MHMgGAwsi8mlaTXxspGRg0godYVc6QGE5CuzCbtRUWKY/2WJaGxGR8TCwICKvF2xrB6MZF3PkfJbjoAKQm88z3IFf2I20NmewWxQRkXEwsCAin89XUa1MnFzKzVcFwRrOVRFcnE1XY7coIiLjYGBBRD6fr+LAqUx5577Gklg8hnNVBCl2iyIiIlveKS0nIkMrbL4KwAEnDk7R/QnpNQwqggv2F4IEcLTn8m3eAAhCEGwi6CSiwMDmoKR1nvIEjlgQkcdxvgpjd4tCjGgbVAC7RREFDrSsxZwLmEsM8yXg/xS4B/3Z2dmqJayn280isMS68T7AujGRtDsYWBCRxzlbsMvC3uDHblFEwQmTqFWqVElNyLZ//35/bw4VcvB/8eJFKVasmNcCQEwWWKVKFbcDFwYWRORxnK/CWNgtiig4lShRQmrVqqUm36PAlZOTIz/99JO0a9fOK5NjIsiMjIz0SNDCwIKIPA61E4lxUXImU//LivNVhC5ng8Wk4jGyfu8pFu8T+RkOKnGhwBURESG5ublqRmxvBBaexMCCiDwO81WggFsP56sIbc50iyoREylPLNgmaRn/jlqwYxQRUfBjVygichuCCJx9RhoMfj636A81u3ZyfKwkx8dYLYuRChT88gDSuN2iMEmiZVAB7BhFRBT8OGJBRF6ZBA+DETP6N5G6FRLMhb1MeTF2t6hy8TFy6ny25OqMZrFjFBFR8GNgQURemQQPx45H0i9Kg0ql2P3HgGy7RSGozDeZpO8HGxzehx2jiIiCGwMLIvLKJHg8+0yW3aKAHaOIiEIbayyIyOuT4BEB2xATEYU2BhZEVCScBI+K2jGqoPErFPsjZUprBOCouxgREQUepkIRUZHw7DMVtWMU6nIQXOiFDOez8qzqMNiGlogoeHDEgojcOvvsCA4ccTsnwSO9jlFoO2wp8kodDlrRWmIbWiKi4MERCyIq8tnnZ26uI8PnpdjdxknwyJWOUZiFe+SCFDmWkWW3LNvQEhEFD45YEFGR7Uo7p37aHutxEjxytmNUr0YVJTw8TDeo0LARABFRcOCIBRE5DYW02lnmrJx8eW/NXnX9u/ddLwlx0ZwEj4qEjQCIiEIDAwsicmuG7QaVEqRbfY5MUNEhGK0gJyUx7PIImKWrJF3iwy5Ihqm4VM8uIXLkxL83nj92+WeJcvorjisjUqqytzabiIhsMLAgIrdm2P79n7PqdqY9kVPSD4lknrK6qllumqyOHSnRYl24befbia49VkSUyD2z7QMPBhxERF7BwIKICsQZtskTwYN5hGF+P5G8bKurI65cPC4vR2TO3c4HHMCgg4ioyBhYEJHHZthGMS4ZPIBwEDwEFEcBB3CUg4ioyBhYEFGBWFhLDoOKqU1Ech13cwpKro5yMOAgIjJjYEFEBeIM26Q7MnFyd+gFFUUJOCJjRIZtZnBBRMTAgoicnWHbUTpU2JV5KzjDdogK1ZEJT8HrcnC9fk0JRzOIyGAYWBBRgVCQ/VS3OjJiPmfYNmTBtdFGJopi4SD96zmaQUQGw8CCiAq1+9jl+QUQPKBLlAYjFQgq2Go2yHFUwrejGRzJIKIQxcCCiAp08FSmfPhzqnmG7fhiUZxhO5ixXsL/oxkcySCiEMXAgogK9Mq3f0l2Xr60qZkkXeqWk7AwBhJBKxhGJmy7L50/Jtv2HJBPtqbLrgtx5sWSikdLbNZJycrNlxNSymqm7hnRb0h0WCGT7fkTRzKIKEQxsCAiO0h3wrwUa/8+Kcv+TFO1FC/0vI5BRbDDgWwgBBUuTlDX8BqRiTdffk9qo2X5JpP0/WCD7uo7ZE2WxLDL6XsTbqsvDSolBN4cGxzJIKIQxMCCiKws235UzaRt2QWqWHSEpJ48L7WTS/p128gDhdi+5MG5H5ByZzkB4+KUww6XPSJJcsSUpP6fGl1TGlSo+O+Nj24J3En9CuswVTzZH1tFROQ0BhZEZBVUDP1si5pN29LF7Dx1/bR+17NQO9D5K93p9vdFkq7xWWpPkedXwfbobVOgBBwFdZgaoj9CQ0QUKBhYEJE5/QkjFbZBBeA6JEHh9puuS2bBdiDzR7oTDnqrtPRpCo82v0ra2Uu671lIjo9RKVMY3Si02YArAYc2+uMoCPAG7FO97SAiCiAMLIhIQf66o0nwAAdvuB3LWaakkIHojUr4qegYAQJaHWMkDaGCXnCRmZ1nVYdRvijtkR0FHHjOCKh8GcSd3C0JmSdEjm4Tibzy9c2CbyIKIAwsiEhBUawnlyM/to4NkVGJwiBAQHqebU1QRDhG4EQyLll3hsLohsdS+vA6oNBa7/X30khG1JKh0gH/2WVxJQu+iSiAMLAgIvdy1sk/zv4jMr25d86Y+7hewh0IEJCep3WMSioeIyM+T5Hj57K8n9KnN5rh65EMLUUqAPcNERkPAwsiUpB/flWJaDlxXr9QNezKTNtYjkK4liIARyZc6Ri1fu8p3aDCZyl9fhjJcDhKFaDBIBGFLpcDi3Hjxsl///tfiYv7d6IiuHjxokycOFFefPFFT24fEfnw4Kxy6TjdwEI7r4v8dBZu+znlKTdXEjL3i5y8EDL1EiGX0ufrkYyCOkkxTYqIAjmwGDt2rAwZMsQusMjMzFS3MbAgCk7bDqXLloPp6v9JJaLlpEWAkVyUolfySvvYKEwAZ5tnXxQIKio0klATsCl9jkYyvDmawTQpIgr0wMJkMunOvrtt2zYpXZopEkTBCH/Xry3bqf5/x/WV5PU7G1jNclxgm04KvpQnnMnGGfQQ5EwbWtzepGrilbQpH77H/dFhSi9NKshHpYgoBAKLxMREFVDgcs0111gFF3l5eXL+/Hk1kkFEwTNvhRY84CBs3d5TEh0RLiNuqmU3yzEFsSAqxPZVG9pKicWk/cRVVp2kitSKNhjqMvTuzxQpIvJ3YPHmm2+qs5r/+c9/VMpTQkKC+bbo6GipVq2atGzZ0lvbSUQenmHbtkUntK2VJJUSrdMcKciFaMpTUdrQxsdGqha0v+0/Y3cfj7ai9eRohjcwRYqI/B1YDBgwQP2sXr26tGrVSqKikOlLRMEGQQUOoPTO5P6487i6nbUUATInhTfnpQhxtm1oke6E9KfG45fLhay84JhdnilSRBTqNRbt27eX/Px82b17txw/flz931K7du08uX1E5OH0Jxw4Oco9l0A7sDJogbbHhHAthTNsU/pQU6EXVATs7PI2KVI5ubmydu1aad26tUSl73MvTYopUkQUCIHFr7/+Kvfdd58cOHBApUZZQt0F6i2IKDDhgMk2/SmgD6yMwhMF2garpQjaVrTupEjl5MjZuMMi5RuKRHphGiqmSBGRm1z+ZEKBdtOmTWXp0qVSvnx53Q5RRBSYgvLAipxjwFqKkGlFG0hpUpxsj4h8GVjs2bNHvvjiC6lZs6Y7j0tEfhBSB1ahVEvhbh2FwVOePNmKNjk+RvJNJlmccjiwWy17q5MUJ9sjIl8GFs2bN5e///6bgQVRCB5YhV2ZDA/LUQDWUtz+vuSUuvrfPHstHYZnkz3WivZiTr70/WBDYLShLQw7SRFRgAl3ZqHff//dfHn00UfliSeekI8//lg2b95sdRsurnrnnXdUq9rY2FgVtGzcuLHA5RcsWCB16tRRy9evX1++/fZbq9sXLlwoXbp0kTJlyqg0rZSUFLt1dOjQwTwnh3bhHBxkpAMrR0EF4PaAPEMbCtytpUC6U/mGcjau2uU8e6Q+4cKDPZdb0SKA1nP2Yo5uG1p0SwsKWooUEVGgjlg0atRIHXxbFmtjPguNdpurxdvz58+XkSNHyvTp01VQgbkyunbtKrt27ZKyZcvaLb9u3Trp06ePTJgwQXr27Clz5syR3r17y5YtW6RevXpqmQsXLkibNm3k7rvvlkGDHA8H47Zx48aZf4+LY+9+MoZ211wlJWIi5XxWrtX1yYF8ZpbIi61ok4rHyGPztsqpC9nB0YbWX5PtsUUtEXkisEhNTRVvmDx5sjrAHzhwoPodAQaKwmfOnCnPPPOM3fJTpkyRbt26yZNPPql+Hz9+vKxYsUKmTp2q7gv333+/+rl///4CHxuBRHJysheeFVFgm7X+gAoqqpQuJq/cVl8dTAV0LjmRl1vRog2tXlARtN3SvJUixRa1ROSJwKJq1ariadnZ2SqVatSoUebrwsPDpXPnzrJ+/Xrd++B6jHBYwgjHokWLXH782bNny2effaaCi1tuuUVeeOGFAkctsrKy1EWTkZGhfubk5KiLr2mP6Y/HJv9yZ98joHhvzV71/2EdakjzaqXMt+Xn5Uo+u0V7ztl/dM8aF3VqUVNEjORGJ/Bv3wuOpl9wermcnHjxF7f2fXSCREbESFieh7tI5WZJTsYxkeI8Uedt/Ns3rhw/73tXHtfl4u0lS5boXo80KNQ9oKgbs3MX5uTJkyptqly5clbX4/edO3fq3ictLU13eVzvCszDgWCpQoUKqi7k6aefVulXqM9wBOlXY8eOtbt++fLlfk2jwogNGVNR9v2Kw2FyJjNCroo1SeSRFPn2qH0NErmvWPZJ6bTjaYkwFe1LYFPVIXI+toLVddmRJeTi2n/r2Pi37zn7zmKkLqLw5f5MkW//2Sr+VtR9X6zOBInOPW93fYlLR6Tpgcuj/kWxbeUCOR+71v79Gp1U5HWSY/zbN64Vftr3mZmZ3gssUNNgW29hW2eBGgeMIiQmJkogGjx4sPn/KADHfBydOnWSvXv3So0aNXTvg5EVy9ESjFhUrlxZFYrHx8f7JXrEG+ymm26SqKiingOlYOTqvsds25sOnJGDpzNl1WYE7fnydM8GcktD1lJ4zdFtEvFn0c8sNex01+XibB382/c8/I18MeknOZaRVUAb2mi5oZmWOhgjTasm+jx10Gv7/ug2kZlFDyz0ghI1wjZ0g0hCJTc3jjT82zeuHD/vey1LxyuBBZ7Yc889Jy+//LI0a9ZMXYdOTkglev755yUhIUEeeugh+e9//ysffvihw/UkJSVJRESEHDt2zOp6/O6o9gHXu7K8s1A4Dmij6yiwiImJURdb2MH+/AP39+OTBPS+RycbFJ1azraNg6G4aL5vvMrNWZFVG9lC9g//9j0Hr+KYW+sW2Ib2fFa+DPh4c0C0ofX4vo8v5/HJ9pByFZV9ViSq8AwGcg3/9o0ryk/73pXHdKrdrKXhw4eromuc4S9ZsqS64P8TJ05URdXorY7uToUN10RHR0uTJk1k5cqV5uvy8/PV7y1bttS9D663XB7wOI6Wd5bWkhYjF0ShAkEFDpQsgwrt7Owjc4KofabRcLK7gGpDG3llVMK2i1rQtaF1ppPU4DXWl9vf9/eWEVGQcfm0GtKF9FJ/cN2+ffvU/2vVqqVqKAqD1KIBAwZI06ZN1egHAhK0i9W6RPXv318qVqyo6hu0oKZ9+/YyadIk6dGjh8ybN082bdokM2bMMK/z9OnTcvDgQTly5Ij6HbUTgFENXLD9aFPbvXt3NdcFaixGjBgh7dq1kwYNGrj6chAFJAQPGKlwlNYhwdQ+M5ThwA1zU1hi+86AakM7ckGKSpEK+ja0/ugk5WhGeb7HiUKWy4EFRhkwMjFr1iy56qqr1HUnTpyQp556Sm644Qb1+549e1T9QWHuuecedd8XX3xRFWBjvoxly5aZC7QRIKBTlKZVq1YqKEDK1bPPPqsCGNRyaHNYaMXlWmAC9957r/o5evRoGTNmjBop+eGHH8xBDLbzjjvuUOskChU4MLIdqQjq9pmBPJO2beengg6obCGowAR3FLBtaPWCCg3/jgrhaN4MtqglClkuBxaom+jVq5dUqlTJHDwcOnRIrr76alm8eLH6/fz5804fqA8bNkxd9KxevdruurvuuktdHHnggQfUxRFs85o1a5zaNqJghbOtnlyOHAQVU5t4NC+dAovh/460Wbw9/R7H+hCQM7AgCjkuBxa1a9eWHTt2qDaru3fvNl+HSnVtdAGdo4jIfzDhnSeXIx04MGJQEdIM/3fEWbyJyEVFal2CAAIzYONCRIEHs2ija42jdChkg6NIFcuRn7BIO2j+jlCo7aheCbc3qZqo0qYwchFys9hzFm8i8nRg8dZbb6m5HzABHv5fkMcee8yVxyciL8BBzaib68hj8+wnwNMOd9AqM2QOfoKtQBt4djbg4e8DfycFtaEtHRct7SauUsFHILSi9QmmSBGRO4HFG2+8IX379lWBBf7vCCbHY2BBFBjSL16eoA2xQ77FEVFyqB/0+KpImwXahmpDazsfTKm4KEnPzJE/j9pPHKW1osX9QvLvzFGKlKfSpIgotAOL1NRU3f8TUWDKzs2X6av3qv8jiLimXHxopmn4Aou0Dc+2DS3+jpD+1PSlFZJxyXp+i5BsRevLFCm2qCUKakWeHjY7O1sFGZipOtLNWWaJyLMWbT0sR85ekqtKxsg9N1SR2KgIf29S8GKRNtm0oQXUVOgFFRq2oi0itqglCmouz7ydmZkpDz74oMTFxUndunXVXBPw6KOPyquvvuqNbSQiF+Tm5cu7q/9W/x/c9moGFUReYPhWtIXVX3iaVn9BRAHN5aGGUaNGybZt29QcE5ZdoTp37qwmoHvmmWc8vY1E5ORs2zg7+t32o7L/VKaUKhYp9zWv4u/NMjZ2fgpZhm9F648WtUQUeoEFZrqeP3++tGjRQhVrazB6sXfv5ZxuIvKtZduP2hWX5uaL/LznRGgWjwZL9yfmhRu6FW1yfIzkm0yyOOWwseqbfFl/wb8xouAOLE6cOCFly5a1u/7ChQtWgQYR+S6oQAca24ObC1m5od2Zxhedn4Ddn6iIrWgv5uRJ3w82GKcNrbdb1HLuC6LQCyyaNm0qS5cuVTUVoAUTH3zwgbRs2dLzW0hEBaY/YaRC76DGEJ1pPIWdn8iDrWi1Fs9nL+Yaqw2tP1rUcu4LouAOLF555RW5+eabZceOHZKbmytTpkxR/1+3bp2sWbPGO1tJRLpQU+Fodm1gZxonsfMTeagVbVLxGHn88xQ5cc7+/WT4YN9bKVJEFLxdodq0aSMpKSkqqKhfv74sX75cpUatX79emjRp4p2tJCJd7EwTIFikbWhaK9pejSpKeHiYblChF+yTh2DE40iK9QWjkEQUuCMWo0ePlk6dOqmibcxd8f7773t3y4ioUOxMEwAF2sACUrqCwb4f6i9Ye0EUfIHFrFmzZPz48RIbG6tqKW688Ubp2LGjNGvWjBPkEfm5M42jdCgkWiQnXO5GQx7AAm0qBIP9AGlRy9oLosBOhcIs2/v27ZN33nlHKlWqpEYskBaVmJio5rN47bXXZOPGjd7dWiKyS8EY3O5q3du07G10oTFcLjeRn4P9gv7iLNvQYgZvNGEwPAQACNotL3qjg0QU0FwaaqhWrZoMHDhQXbRgY9WqVWqyPBR1P/fcc6r2goh8Z8eRDPUzJjJcsjB5xRXJRm5t6WpbWWdbyhJ5oA1t+sUctqH1BUd/10xdJPKaIucwHThwQH766SfVCQo/c3JypF27dp7dOiIq0NGzF2VRymH1/8/+r7nk5plU7rahJuNyBdvKkh/b0MZGhculnHx1sWToNrS+rr0A1l8Q+T+wOHjwoBqZ0EYoTp48Ka1atZL27dvLoEGDVK1FdHS097aUiOzM/CVVcvJMKoi4oRrrKLzaVpadn8jNNrRPLNgmaTn29VCGb0Pry9oLYP0Fkf8DC6RBValSRYYOHaouaC0bERHhvS0jogKdvZgjczYcVP8f2r6Gvzcn9Ls/MX2CitiGFlBLkZbBOWdcxrkviEIzsLj77rtV2hOKtNeuXatGKtAVqnHjxubZt4nId2ZvOCQXsvOkTnJJ6VD7Kn9vTmhh9yfyMLahDYL6C548IPJdYDFv3jz1c+fOneZ0qIkTJ8qlS5dUdygEGh06dJAbbrjB/a0iIl3oHrMh9bRsOB4mXx9OVdcNaV+DwT1RgGMb2gCqvQDOfUEUGMXbderUURekQ8GOHTtkzpw58tJLL8moUaPYFYrIS5ZtP2pRDIo0xDxBKnZUBIMKomBpQ4tCbUfNZa8qGSNNqiaqtCk2YShC7QVw7gui4OsKdezYMTVioRVz7969W2JiYqRt27ae30IiUkEFusbYHpCg/f2wOVvVgQe7yTjTVnaXv7aGDM6ZNrQXsnKl9Ws/yolz/56JZytaB1h7QRTcgcXnn39uDiZ27dolUVFRKu0JtReotUCHKAQXROT59CeMVBQ0hRa7ydhgW1kKoja05eJjJCsnX81vkZmd57AVbafaSX7YaoNh7QWRbwKLfv36SdOmTeW2225TgUTr1q2lWLFi7j06ERUKXWIsD0JssZuMDraVpSBpQ4t0J6Q/tXntR93lLVvRdqjFrAC/zH3B2gsizwcWZ86ckeLFizu/ZiLyCHaT8SK2lSU/t6GFyzUVWYWePNh04IyPtjCIeWPuC9ZeEHk+sGBQQeQf7CbjRWwrS0F18iBLtW2gQrD+gii4ireJyPfdZBylQyFNIjnhcvcYIgrlkwcxotMHifxVewEc4SSywsCCKEi6yQz5bIvdbVqpNm5n4TZR6LaiTY6PUY0cNp8MkzKop6pZln/z/q69ANZfEFlhYEEUBBpWLqXmrEB7WUvJRm9FqddStqCzi0RB2or21IVsGfDxZjWHzaw9m9iGNhBqL4D1F0RWGFgQBYGP1u5XQcUN1RJl+I01ZPnPG6RL2+bGPmvJlrJkgFa0JWIi5XxWruTkmRy2oWVw4STWXhAFRmBx++23O73ChQsXurM9RGQj41KOzNlwUP1/SPsa0rx6aTn1l0n9NGxQ4W5LWWBbWQrwVrRJxWPkiQXbVGBRUBtazmHjZ5z7gsi1wCIhIcH8f5PJJF999ZW6DvNawObNmyU9Pd2lAISInDNv40F1YFGzbAnpWLus5OXZH2SQiy1lgV/8FOCtaNGGNi2Dc9gEdO0FcO4LItcCi48++sj8/6efflrNtj19+nSJiLjc+C4vL08efvhhiY+Pd2Z1ROSk7Nx8mfnLfvX/QW2rS3h4mORZT8xLhWFLWQpSnMPGj7UXwLkviLxfYzFz5kz55ZdfzEEF4P8jR46UVq1aycSJE13fCiKygu4vOAu59I8j6oxlmeLR0rtxRX9vFhEFYBtapExdnmTv8kze6DLF1CgXsPaCyH+BRW5uruzcuVNq165tdT2uy8/P99yWERnUsu1H7Qo4s3LzZdXO4yzSJDIQZ9rQxkaGqzoMy5QpdowKEJz7ggzI5cBi4MCB8uCDD8revXulWbNm6roNGzbIq6++qm4jIveCCnR6sT2IuJCVa+4A06l2khiOXltZtpSlEOdMG9pLufl2dRjsGOUhnPuCyPuBxf/+9z9JTk6WSZMmydGjR9V15cuXlyeffFKeeOIJ17eAiMzpTxip0Dt4sOwA06FWWzEUtpUlA3PUhhYT5qVfzJFLOfaZAuwY5SGc+4LI+4FFeHi4PPXUU+qSkZGhrmPRNpH7UFNheeDgqAPMpgNnxFDcaSvLlrIUQm1o1/993DyHTVh4hPT9YIPD+7BjlIew/oLI+xPkoc5i9erVKh3qvvvuU9cdOXJEBRglSpQoyiqJDM/5DjBZ8m/rBCqwrSxzmSlEYNTBcg6bb/887tT92DEqQHHuCwpRLgcWBw4ckG7dusnBgwclKytLbrrpJilZsqS89tpr6ne0oSUi73WAKVsyRnQaIxLbypKBOPt5cfJclixOOcxuUZ7EuS+IPBdYDB8+XE2Mt23bNilT5t/h1dtuu00GDXIj55DI4LQOMI7SoXA4kJwQK02rJsr3f/l884goyDpGIYYYv/TfDwt2i/IQzn1B5FC4uOjnn3+W559/XqKjo62ur1atmhw+fNjV1RHRFTiT+FS3Orq3aecYcVDAM45EpHWMAkefCPk2EYfWLQrd58hNOPjHCKntxTYdk8hgXA4sMFcFZtq29c8//6iUKCIqujMXstVP2+ABIxVsHUlEeh2j8PlgyVGgocUZ6BaFLnQUgDDicSTF+oLOeEShmgrVpUsXefPNN2XGjBnq97CwMDl//ryMHj1aunfv7o1tJDKE3Lx8mbk2Vf0fZyJrlS1pvJl09ear2DrbX1tDFDQdo9D9CZ8XqKmwTH+yxW5RQTj3hVZ7UTzZ7c0jCrjAAvNXdO3aVa677jq5dOmS6gq1Z88eSUpKkrlz53pnK4kM4Ps/j8k/Zy5KYlyU3NWkshSLNljvJ3fmq2BbWTIwnHTQggQUajuD3aKCaO4LrfaCgQWFYmBRqVIlVbg9f/589ROjFZiJu2/fvlKsWDHvbCVRiDOZTDLj533q//e3rGa8oMKV+SrYVpbIA93lnFuOAmTuCwQmubmSkLlf5Og2kcgrh2/87KNQmMciMjJSBRK4EJH7MOndtkPpEh0ZLv1bVvX35gQ2tpUlcqtbFGbtzjeZ2IY2mCwcJFEi0gH/32VxPVvUUrAXb0dEREjHjh3l9OnTVtcfO3ZM3UZEzkHx5Pq9p9SX+2vf7VTX3d64oiSViPH3phFRCHeLSr+Yo2btHj4vRfq8/6u0ee1HdoryVe2Fp2lpUkTBOmKBlA1MhIe5LL7++mupW7eu1W1EVDh8iaMzi+2cFbWT2VmNiDzTLcr2MyY2Klwu5eSri14bWnaeC7LaC6JQCCzQBerLL7+UV199VVq2bCmffvqp9OrVy3wbERUeVOBLXC8MH/f1DpXGwC93IvJkt6ik4jHyxIJtkpZjX7SNzyJ8eyMQwX2YFhVEtRdacGKLtRcULKlQGJVAytOUKVPkf//7n9xzzz3y0ksvFXm04p133lGT68XGxkrz5s1l48aNBS6/YMECqVOnjlq+fv368u2331rdvnDhQtUSF7OCI9BJSUmxWwe6WT3yyCNqmRIlSsgdd9yhUrmIfJH+hC/vgv5aQr7HPLo/2fZpx2XPcn9vGVFIdovq1aiihIeHSVrGJafa0FKQwYjHjPbWF3TY4/wXFCzF25rBgwdLrVq15K677pKffvrJ5fujs9TIkSNl+vTpKqjA/BhoZbtr1y4pW7as3fLr1q2TPn36yIQJE6Rnz54yZ84c6d27t2zZskXq1aunlrlw4YK0adNG7r77bhk0SH94ccSIEbJ06VIVpCQkJMiwYcPk9ttvl7Vr1xbhVSByHr60bdOfDNVj3p2WskRUZM62l2Ub2iCb96Kw2guOWlCgBxZVq1a1KtJGIfevv/4qt9xyi8sPPnnyZHXwP3DgQPU7Agwc8M+cOVOeeeYZu+UxStKtWzd58skn1e/jx4+XFStWyNSpU9V94f7771c/9+/fr/uYZ8+elQ8//FAFJTfeeKO67qOPPpJrr71WPY8WLVq4/DyInGX4L3dnW8o6wvkqiIrE2faySJlCUwnDTc4ZaLUXwPoLMkJgkZp6eWZgSzVr1pStW7e6lE6UnZ0tmzdvllGjRpmvCw8Pl86dO8v69et174PrMcJhCSMcixYtcvpx8Zg5OTnqcTRIrapSpYpav6PAAgXruGgyMjLUT6wLF1/THtMfj01FVyYu0unlHO3boN73ubmqZWJhcm6dZj9XBSCowCRRwfjcPSSo9z/5bd83rlRStZk9lpHlMBUzMjxMRn6eIsfO/ftdh/s8372OdK1brsjbTYXAZ5re5HdOfl46kpO2Q63D7jM0oZIbayUjfu7nuPC4bqVCWULNA0YznHXy5EnJy8uTcuWsP6zw+86dl1tv2kpLS9NdHtc7C8tGR0dLqVKlXFoP0q/Gjh1rd/3y5cslLi5O/AUjNhQ8UDpRKjpC0rPxm95ZQJOUihY5seNX+fav0Nv3mNxJ9WEvxNpdJ+TsoeI6t2BW4d+9sGXBJxj3P/l333dPDpOZGVpppeXnz+VQIzdf5JgaLf33NtRlDJuXIv+5Jl8algnh2q8AVCz7pHQKi5IIU9EOJqOWDLW7Li8sSlZe95pcjE7ywBaSUT73MzMzPRtYlC5dWnbv3i1JSUmSmJhYYPcn2/ktQgVGVixHSzBiUblyZVUoHh8f75foEW+wm266SaKi3DmnQb4WVe2YDJu3ze76y39VYfLS7Q0LPDsY1PseM8ZaTu7kQOvWrUXKN/TFFgWdoN7/5Nd9311Erv/zmLz07U5Jy7AelTiflacu9ic8wtQ13x2Lk6f6tmNalI/ld7xR8q+kSeXm5sqGDRukRc3SErt0WJHWhyClY/OG/HwNMjl+/tzXsnQ8Fli88cYbUrLk5f76KLD2BAQpqNWwTZ/C78nJOkOC+PBLTnZpeUfrQBpWenq61ahFYeuJiYlRF1vYwf78cvf345PrejaqJFNX75Odaeesrk9OiFUTWznbajYo932kc4OkUVgu2J6bjwXl/ie/73t8/tzcoKK5DS3qKDALNybMK7ipRJZs/edcaDaVCGRJ1UWkunZ0KWf/OCYR5Sq6tUp+vgavKD997rvymE59yw8YMED3/+5AOlKTJk1k5cqVqrMT5Ofnq9/RpUkP5s3A7Y8//rj5OkRwuN5ZeEy8QFgP2swCulAdPHjQpfUQFdWOIxkqqMCJvzfvaaS+tFkkSUS+bkOrWZyCFEMDN5UwGr15L4BzX5AHRHp6CMSVtCCkFiFQwSzezZo1U6MhaBerdYnq37+/VKxYUdU3wPDhw6V9+/YyadIk6dGjh8ybN082bdokM2bMsErFQpBw5MgRc9AAGI3ABe1lH3zwQfXYSPHC9j766KMqqGBHKPKFD37ep352r19ebm3k3pmngG8ta9vp5IQTeVBEFJAdo06ey1JBCE+EBHmLWkedprBOdKhicEHeDiyQMlTYrNqYIA/LoCDbWZhc78SJE/Liiy+qwulGjRrJsmXLzAXaCBDQKUrTqlUr1Sb2+eefl2effVbNoYGOUNocFrBkyRJzYAL33nuv+jl69GgZM2aMObUL68WIBTo9obPUu+++6/R2ExVV2tlLsmTb5aB3UNurJWS5M18FW8oS+RSChPIJserzyVF5NmKI8Uv/7ShR3sXUTfIgdHXSa1Hrbntazn1BvgosVq1aJd6CtCdHqU+rV6+2uw6T8eHiyAMPPKAuhXWwwozfuBD50sfr9ktuvkmaVSstDStbdyYz5HwVt79v31aWw/FEPoWRBwQJQz/bogq1TQ462llCEILlp/W7nsGFP+Azkp+TFKyBBdKPiKho8vJNqlDy0JlMmbXu8jww/9f2SjGe0SGoqNDI31tBZHgIDhAkjP16hxw9e8lqpMI2qABchSAEy990XTLTokK5/oIne8gFke70tEWqEjosWWrQoEFRV0kUcpZtP2r3RY0v4Nw89oMnosALLhAkaB2jUFNhmf6k3y3qklqe3aJCoPYC9FKpWHtB3gwsUBOBGobvvvtO93ZXaiyIQj2oQKqASWcE45E5W2RaOFMIiChwO0Y52y1q7d8nzK1rWdTtRzjw16u9cLf+grUX5M3AAq1eMQcEJmnp0KGDfPXVV2oOiJdeekl1ayKiy8EDRioKGpdgCgERhUK3qKmr9pr/z6LuEK29YIta8lZg8eOPP8rixYtVi1h0VqpataqaCRBtW9EWFm1giYwOqQGW6U+2mEJARKHQLcoWi7pDFFvUkpP+7eXqJMwzUbZsWfX/xMRElRoF9evXly1btri6OqKQ5OxEUkE/4RTayh5Jsb/s814nOSLybbcocHZc1WQxIouRWwqw+gtP09KkiIo6YlG7dm016Vy1atWkYcOG8t5776n/T58+XcqX59kJIldSCJxdLuTmqgDOV0EUtN2iCsIR2SCqv3B37gsidwMLzH599OhR86Rz3bp1k9mzZ0t0dLR8/PHHrq6OKKRTCBx9EePsX3LC5UJHQ85VAczNJQrKblF7jp2Xqav+Dv0R2VDjy/oLfr4blsuBRb9+/cz/b9KkiRw4cEB27twpVapUkaSkJE9vH1FQpxAM+cw+PVBLKcDthijc5lwVRCHVLWr93lNOBRZJxWPUsuwYFeLYopY8MY+FJi4uTq6//np3V0MUcppULS2RmLPCJs8YIxXsmkJEoVzUXSwqXJ5YsE3SMv4dtWDHqBCd+0IPW9QalsuBhclkki+++EJWrVolx48fl/z8fKvbFy5c6MntIwpas9bvV0FFw0oJ8szNdeT4uSyetSOikBmRRfcnfJLpBRcXc/LlYo51KhQ7Rhlo7gvt/raYIhXyijSPBQq2O3bsKOXKlZOwMB4gEdnKzM6VT389oP4/pH0NaVmDaYJEFPpF3cnxMXL2Yo4KLGwhAMERA+fwMUjtBVOkDMnlwOLTTz9VoxLdu3f3zhYRhYAFm/6R9MwcqVomTrrUTfb35hAReb2oGyOy+SaT9P1gg8P7sGOUwdOkmCIV8lwOLBISEuTqq6/2ztYQhYDcvHz54Jd96v//16Z6aJyVQ2tZvTaFRGRolkXdsDjlsFP3W/v3CRZ1Bzq2qCVfBBZjxoyRsWPHysyZM6VYsWJFeUyikITJoHAWbvmfaXLo9EUpVSxS7mwSAmdl3JmvgnNVEBmKs3PzTF211/x/FnUbLE3K0Ukp1l8YM7C4++67Ze7cuWr2bUyMFxUVZXU7Z98mI1q2/ahdrnFuvsia3ceD/8vSnfkq+EVBZCjOdIyyxaJug3E02sH6C2MGFgMGDJDNmzer+SxYvE10OajAl6Ltl+j5rFxjfVlyvgoiw3OmY5QtFnUHGbaoJU8GFkuXLpXvv/9e2rRp4+pdiUIy/QlfhgV9efLLkoiMxFHHqIKwqDuIeLP2gi1qjRdYVK5cWeLj472zNURBBl+CBX1x8suSiIzItmPUnmPnnZqtO+3sRc7WHQzYopY8FVhMmjRJnnrqKZk+fbqqsSAyMnz5eXI5IqJQ7BiFYMGZwGL80r/k9IVs8+8s7A4iTJGiogQWqK3IzMyUGjVqSFxcnF3x9unTpz25fUQh0QHF2eWIiIxc1G0ZVAALu4OIN2fxptANLN58803vbAlREH9ZOkqHwgB+csLl4fygna8ibbu/toaIDFzUDSzsDjLeSpFi7UVoBhY5OTmyZs0aeeGFF6R69ere2yqiIIEvuSduukb++8XvdrdpX3/4Mg2KL0POV0FEfijqLl08Sk5fyHF4P9aqEWsvQjSwQNrTl19+qQILIrrscPrlL8jI8DDJzf/3PFxysOUGc74KIvJxUTfSRNMyLsmI+SmF3pezdQcxb9RfsPYiILmcCtW7d29ZtGiRjBgxwjtbRBREMrNz5eN1qer/k+5qKGXjY0P/i4/zVRCRh4q6tcJuZ3C27iDmrRa1nMU7+AOLWrVqybhx42Tt2rXSpEkTKV68uNXtjz32mCe3jyigff7bITmTmSNVSsdJjwblJTIi3N+bREQUVDhbt0F4o/6Cs3gHf2Dx4YcfSqlSpdTs27hYwizcDCzIKHLy8uX9ny+PVgxudzWDCiKiIuBs3QbGFrUhx+XAIjX18oEUkdF9ve2IHE6/KEklYuTOJpX8vTlEREGLs3UbFGfxDjkuBxaWTCaTeaSCyAjy8k3qS+xYxiWZvGKXuu4/bapJbFSEvzeNiMiQs3WzqDvIcRbvkFKkwGLWrFkyceJE2bNnj/r9mmuukSeffFLuv/9+T28fUcBYtv2o3dk0NU9FfJBNfqc3VwXs+s4fW0NE5NZs3SzqJqcxRSrwAovJkyerdrPDhg2T1q1bq+t++eUXGTJkiJw8eZLdoihkgwrk/9rm/uL3Jz7fJnHREcHxRebOXBXA+SqIyEdY1G1g3qq9AHaSCqzA4u2335Zp06ZJ//79zdfdeuutUrduXRkzZgwDCwrJ9CeMVBT0xRY0BYTuzFUB/OAlIh9hUbeBOaq98ET9BTtJBVZgcfToUWnVqpXd9bgOtxGFGuT7FlRMGJIFhJyrgogCAIu6DcxbtReOME3KP4FFzZo15fPPP5dnn33W6vr58+erOS6IQg2KAj25HBEReb+oO+3sRVWnwcLuEOPrNCmO1Hs3sBg7dqzcc8898tNPP5lrLDBZ3sqVK1XAQRRq8IXkyeWIiMj7Rd3jl/4lpy9km39nYXeI8GaLWnaScpvLM3rdcccdsmHDBklKSpJFixapC/6/ceNGue2229zfIqIALSB0BOe/cDuWIyIi33wmFzb2YBlUWBZ2oxkHBTkc5CNd1/KiVxfoyRQp8l672SZNmshnn31WlLsSBW0B4ZDPttjdpn2x4XYOsRMRBWZRN7CwO8QxRSr4J8gjMoqaZUvqXp8cyEPrevNVnLw8qR8RUSgWdZcuHiWnL+QUWtj98dpUSSoZw9qLUOLrTlJMkXIvsAgPDy90hm3cnpub6+wqiYLGu1fyeTtfW1YebHN14BcDujNfBeeqIKIgLOrGZ3JaxiUZMT/FqfoLDWsvQogvO0mxi5R7gcVXX33l8Lb169fLW2+9Jfn5+c6ujihoHDh1QRZvO6L+/1inWtKgUikJeO7MV8HhXSIKwqJurbDbVZxUzwC8lSbFyfaKHlj06tXL7rpdu3bJM888I19//bX07dtXxo0b5+zqiILGtNV71SR57a+5KjiCCldwvgoiMvhs3ay9MABvdZLiZHueqbE4cuSIjB49Wj755BPp2rWrpKSkSL169YqyKqKAhEACw+u7jmXIgs2H1HWPdarp780iIiIvFXaz9iLEMU0q8AKLs2fPyiuvvCJvv/22NGrUSM1d0bZtW+9tHZEfoBWhbUFgdES4nDjnhU4TRETk99m6Nay9MBh2kvJfYPH666/La6+9JsnJyTJ37lzd1CiiUAgqcKbL9ixXdl4+c3CJiIK0sPvkuSyroMEZrL0wAE6257/AArUUxYoVk5o1a6oUKFz0LFy40JPbR+TT9Cec4Spo6Jw5uEREwcGysBuf7x/8ksraC7LHFCn/BBb9+/cvtN0sUTDDma2Chs21HFwsZ9mFJDDnq3DQqYKIyIDcrb34de8pCQ8PC/xW4+QZTJHyfmDx8ccfF/1RiIIAvjA8uZxPcL4KIiKv1148MmeLpF/8d+I91l+EOE62V2SceZvoCpyF8uRyPsH5KoiIvF57YRlUAOsvDMDXKVIH1+sHMviuLp4swYKBBZFN/3NHZ7Iw6J2ccHkIPOhwvgoiIo/UXgDrLwzMW2lSCwuYE2PIBgkWDCyIrsAXw8MdasoLi7fb3aZ9ZWDom18gRETGrr0Azn1hUN7sJFVQwXeQYGBBZGHroTPqZ3RkuGTn5puvx0gF82mJiIxTe1GqWJRdCpQezn1hQL5Mk4KTuyUh84TI0W0ikZEBnc7MwILoir+Pn5NFWw+r/88b1EKycvPZAYSIyIC1F/jczzeZpO8HrqWgsPbCwLzYSSpqyVDpgP/sCvyC73AJAO+8845Uq1ZNYmNjpXnz5rJx48YCl1+wYIHUqVNHLV+/fn359ttvrW43mUzy4osvSvny5dXcG507d5Y9e/ZYLYPHQ/tcy8urr77qledHweGNH/ZIvkmky3Xl5PqqiSoHt1ejiuqn34MKdH86knL5cnSbJGTuv3zmgm1liYg8Wnuhfe63uLqMGoFw5dNfS6XC6AfqN8iAKVKD11hf0DzFGwI0RcrvIxbz58+XkSNHyvTp01VQ8eabb0rXrl1l165dUrZsWbvl161bJ3369JEJEyZIz549Zc6cOdK7d2/ZsmWL1KtXzzxL+FtvvaUm8atevbq88MILap07duxQwYhm3LhxMmjQv/lwJUuW9NGzpkCBD36codpy8Iws/f2oum5kF5vuSQHWUjZKxP7MBREReRTnvqCAT5EKQH4PLCZPnqwO7gcOHKh+R4CxdOlSmTlzpprt29aUKVOkW7du8uSTT6rfx48fLytWrJCpU6eq+2K0AsHJ888/L7169VLLzJo1S8qVKyeLFi2Se++91yqQSE4OnhZe5FnLth+1y6mNjQqX/ScvSJ3keAm6lrKOcL4KIqIi4dwXFNCT7QUgvwYW2dnZsnnzZhk1apT5uvDwcJW6tH79et374HqMcFjCaASCBkhNTZW0tDS1Dk1CQoIaDcF9LQMLpD4hMKlSpYrcd999MmLECInUimJsZGVlqYsmIyND/czJyVEXX9Me0x+PHQq+//OYPDpvm90ZqEs5+ers1Nv3NpSudctJQMjNVaMUhcm5dZr9XBWWPbD5XgkJ/Ns3Lu57/+hUO0k61Gormw6ckePnsuTk+Sx55bvdRZ77oqjfL9z/Qap48uV2sQ4m20P9RFHl5Ob65LvdlfecXwOLkydPSl5enhpNsITfd+7cqXsfBA16y+N67XbtOkfLwGOPPSbXX3+9lC5dWqVXIbg5evSoGkHRg9SrsWPH2l2/fPlyiYuLE3/BaA25BmmvY7dEXAkq7IelTWKS5xemSM7+PAmEUWvUU6jUp0Ks3XVCzh4qrnMLCtJ/98KWkT/xb9+4uO/9J0JErjKJlIqOkPRsXOP8l8Tl7xz3v1+4/0NHseyL0iksSiJMRQsO1q5dK2fjLjed8abMzMzgSYXyF8tRjwYNGkh0dLQ89NBDKoCIiYmxWx6Bh+V9MGJRuXJl6dKli8TH+z5tBtEjPlxuuukmiYpy5nw2aTaknpb0XzcVsESY+sK46roW0jwQJsNDkbYT9RStW7cWKd/QF1tEfsS/fePivg8cUdUuj3qDayXal79fTiReJ0klMPdFjDStmuhU7QX3f2jK73ij5OvMieHMSIavvve1LJ2ADyySkpIkIiJCjh07ZnU9fndU+4DrC1pe+4nr0BXKcplGjRzPPIxUqdzcXNm/f7/Url3b7nYEG3oBB/64/fkH7u/HD0anMnOdXi4gXlsH6Xm2orBcIGwv+QT/9o2L+97/ejaqJJGREUWe+8IylcrV2gvu/xCTVF1EcAnc731X3m9+bTeLUYImTZrIypUrzdfl5+er31u2bKl7H1xvuTwggteWRxcoBBeWyyDS2rBhg8N1QkpKiqrv0OtERaEF3Tk8uRwRERkPAoFfnr5R5g5qIVPubaR+vtP3epfXo9VeoKEIkVXBdxA2ZvF7KhTSiwYMGCBNmzaVZs2aqY5OFy5cMHeJ6t+/v1SsWFGlKMHw4cOlffv2MmnSJOnRo4fMmzdPNm3aJDNmzFC3Yz6Kxx9/XF566SWpVauWud1shQoVVFtaQBE3Ao2OHTuqzlD4HYXb/fr1k8TERD++GuQLaPmXHB8jaRn6HRrCrsy0jeX80lpWZ0iUiIgCd+4LyxbmGIFAsOBKe1p874xZ8qeUjI1SxeFsT2twpa7MiXHleABF2qinQOqTGqUAzryt75577pETJ06oCe1QXI10pWXLlpmLrw8ePKhGEjStWrVSc1egneyzzz6rggd0hNLmsICnnnpKBSeDBw+W9PR0adOmjVqnNocFUpoQkIwZM0Z1ekLwgcDCttsUhSZ8ULe4OkkWpdgXPGkf4RiW9vkHus18FS4J0DMXRERG4s7cFzjZZTnTN9vTGlwpizkxcnIuF2mjniLA0+D8HljAsGHD1EXP6tWr7a6766671MURjFpg8jtc9KAb1K+//urGFlMwO3U+S1b+dblOJ6FYlJy1yIdN9ucHuZPzVaCtLDpABcOZCyIio3Fn7gu9FCmsi8EFBYuACCyIfGnKyj1yLitX6lWMl6+Gtr7SmzyIZkZNuuZyW9kgOHNBRGRECARuui5ZNqaeVt8vJ89lyfilf7m0Di1FCgHKjXXKqXVtPhkmZVJPS8uaZQP/u4oMiYEFGcrfx8/L7A0H1f+f7X6tREWGW+XHEhERebr+ArUXH/yS6lLtBWBZjHq0mLBSTl/AxBkRMmvPJqZJUcDya1coIl/AB/r6vadkccpheeqLber3zteWlVY1kvy9aUREZKDaCyjKOMPloOJf7CRFgYojFhTS8KGrl+fauiaDCiIiCr7aC2AnKQpUDCwopIMKnNHRG3Ye9/UONZTsl2FkvZaysP1L328LERH5rfYiqXiMPLFgmxzLcC1FCthJigIRAwsKSUh3wlmhgj6ocTs+4H16dsedlrJERBRyc1+MudX19rSOsJMU+RtrLCgk4WxQQUPNWkEclgvElrIOcb4KIqKQTJFCu3NLpYu73vVPC0yQIrX275OqthA1hjjZRuQLHLGgkIQhZk8u53O3v6/aytpBUFE8WUR+98dWERGRD1KkUC/RpGqitJ+4qkidpJgiRf7CwIJCEj6UPbmczyGoqNBI/7acfyf0IyKi0EyRgqLM4q2HKVLkK0yFopCEzhjJ8Y6DhrArZ3CwHBERUTClSbnKZFFbmJ2bb27BzjQp8jSOWFDInvm5sc5VMmfjIbvbwizOBHm1cFuv+9PJ3d57PCIiCtk0qfV/H5flP2+Qzq2byVML/3S5k5T9ZHuXMU2KPImBBYUk9PT+5vfLEwfFx0ZKxqVc823JvvgQZfcnIiLyEJwEa169tJz6y6TSpdzpJOVosr137mssicVjzDUenBODioKBBYUMDOdqhW9fbP5HBRN1K8TLwqGtZMvBdN9+WLrb/YmIiMhHk+3BsLlbxTIriiMZVBQMLCikZ9ju2aCCxERF2BXEBTS2lCUiIh9Otge2pRYs+KaiYGBBIT3D9uvLdkr1pLjA/VDUayuLoKJUZX9tERERBQlvTraH+2M9OGl3Y51ysvnAGaZJUaEYWFBQC9gZtj3RVpaIiMgDKVKYbO/0BddblbPgm1zFwIIMM8O219Kh2P2JiIhCcLI9DQu+yVkMLCio+X2GbXZ/IiIiA022Byz4Jkc4QR4FNb/PsM3uT0REFMST7bkzwOCo4Pvb349wEj6D4ogFBTUMuyaViJaT562HaTX4vEwO1Bm22f2JiIj8nCZ15kK2PDJni7qdIxnkLgYWFNRy8vIlKlx/4M1nM2w7g92fiIgoQNOkpoV7ruC7sNa1toEN6zJCCwMLCtpJ8PCBtHxHmhzNuCQlYyOlWFSEHD+X5dsZtp3F7k9ERGSggm+91rXPLPxDxizZIWkZ/wYwHM0ILQwsKOgnwYO37m0s7a65yntnQfQ6PwG7PxERUQjwRcF3eiZGQKxHQdhhKrQwsKCgUNAkeJCVm6f7oegR7PxEREQG5GheDBzve6oem3UZoYWBBQX9JHhh3p4Ej52fiIjIoLxd8F1YXQZHMoILAwsKeAExCZ472P2JiIgMUPDNkQxiYEEBz++T4LnT+QnY/YmIiEKMv0cy2GEqMDGwoIDn00nw9Iq0nS3QZucnIiIyEGdHMpLjY+RSbr6czczxSYcpBhz+w8CCAh4+EJLjY60+PLwyCR6LtImIiDw+koHv5xU70nzSYWrIZ1ukVFzUldsvY/qU7+jPLEYUAAXb6/eeksUph9WHU90KJb0/CR6LtImIiDw2ktGrUUX1E79rHaZwItCSJwcStIDFMqiwTJ9Ch0nL4wv8xO/kORyxoKCar8L2LERATYJHREREfq/LsMX0Kd9hYEFBNV/FK73rBWbbOXZ+IiIiCsgOU8D0Kd9gYEFBNV/F+KV/yS9P3+h+MOFOkbZe9yd2fiIiIgqqkQxn0qc4j4ZrGFiQ8earcLdIm92fiIiIgr7DlLvzaOCEKNOnrDGwIOPNV8EibSIiooDniw5TRZ1HY3C76rJk21GroKc86zUYWJBB56sgIiKioBzJ0DpM2Y5maHUS3gw4tPW+91Oq3W1phdRrGCHgYGBBfmU5jJhYLEpiIsMlKzffM/NV6NVRuFJLoYdF2kRERAE9muHv9Kn0TNcLxEMlrYqBBQVkW1m356vwxGR3LNImIiIKutEMf6dPuVogXlha1YbU07L5ZJiUQY1pzbIBHXAwsKCAbCvr9nwVnqijYJE2ERFR0Am09CnPpFVFyKw9mwK+DS4DCwrItrKxkeEy+/+ay8nzWYUPCbrTOpaIiIgMwZX0KU/Po+HpUQ4ESYEYXDCwoIBsK5uWkSXhYWHSq1FF76c8ERERkSE4mz7lq3k0ijqLOAIhbHOgpUUxsCCvsy1ISsvwYFtZb7WOZZE2ERGRYTg7jwZSkW5tWF5mXElf8kfQYfLUvF5ewMCCfF6gHR8b6XpbWW90eHJUoA0s0iYiIjI0R6lTCEIaV0n0e73GcXfn9fICBhbk8wLtjEu5Bd7Prq2sN9OdWKBNRERELoxkuFqvUcpLAUcgzuvFwIL8UqCtsf0j020ry5myiYiIKMjb3Y71UFqVy/N6+RADC/JKLcXJc1lOzU+RWDxaTl/INv/eMP6cPNU2SVqVPiZy5Jh3OzyxjoKIiIj8GHBEuJhW5fK8Xj7GwIJ8PtmdpRd6XCvJCcXUH1ml8FNy/ZLOErYyS2SlhzeQk90RERFRkKdVJXMeCzL6ZHd6KshJSQw7JzVyS0iDYgkixa6MTHgr5Ym1FERERBSEoxzr/z4uy3/eIF3aNufM2xTaKU9JxWNkzBL9WgoteLB1laTLjOg3JDosV+RbH2wwU56IiIgoCEWEh0nz6qXl1F8m9TOQgwpgYEFOzT2h5QHqpTwhgKhrE0BYBQ++wtaxRERERH7DwMLg9AIIR50L+tUJk+827hD0ICgd5scAwhGmOxEREREZO7B45513ZOLEiZKWliYNGzaUt99+W5o1a+Zw+QULFsgLL7wg+/fvl1q1aslrr70m3bt3N99uMplk9OjR8v7770t6erq0bt1apk2bppbVnD59Wh599FH5+uuvJTw8XO644w6ZMmWKlChRQgLWlUni8kwm2X7ojBw5ckC2b/5ZGiRmS0RWhuTFxMufZ4vJ6cxsKR0XLXUTLupfXzFeIi4cl00HTsvbG8/JyfP/dmWqFnNOIrIzpLapuJQOK2W+/qqMdBmU8oY8EhMAAYQepjsRERERGTuwmD9/vowcOVKmT58uzZs3lzfffFO6du0qu3btkrJly9otv27dOunTp49MmDBBevbsKXPmzJHevXvLli1bpF69emqZ119/Xd566y355JNPpHr16ioIwTp37NghsbGXJxPp27evHD16VFasWCE5OTkycOBAGTx4sFpfQLKYJC5CRBpfuciyfxfB9Q107uro+qYi8gn+E2NzQ7QENnZ4IiIiIgo44f7egMmTJ8ugQYPUgf11112nAoy4uDiZOXOm7vIYVejWrZs8+eSTcu2118r48ePl+uuvl6lTp5pHKxCcPP/889KrVy9p0KCBzJo1S44cOSKLFi1Sy/z111+ybNky+eCDD1Qw06ZNGzVKMm/ePLVcQOIkcfYpT5YXBhVERERExg0ssrOzZfPmzdK5c+d/Nyg8XP2+fv163fvgesvlAaMR2vKpqakqpcpymYSEBBVAaMvgZ6lSpaRpU5yzvwzL47E3bNgggQjpT8SUJyIiIqJA5ddUqJMnT0peXp6UK1fO6nr8vnPnTt37IGjQWx7Xa7dr1xW0jG2aVWRkpJQuXdq8jK2srCx10WRkZKifSKPCxdtQU6FSnwwk59Zp+ilPxZPxwotRae83X7zvKPBw/xsX972xcf8bV46f970rj+v3GotggZqOsWPH2l2/fPlylbrlbSjUNlJgkRcWJav2XpSLhw7b3ILff/fTVgUW1AeRcXH/Gxf3vbFx/xvXCj/t+8zMzOAILJKSkiQiIkKOHTtmdT1+T05O1r0Pri9oee0nritf/t/pzvF7o0aNzMscP37cah25ubmqU5Sjxx01apQqMrccsahcubJ06dJF4uPjxdvQ/cmyUDsUmMKjJPfOWSIl7Iv0MTLRMaGSPzYr4OHMAT5cbrrpJomKivL35pCPcf8bF/e9sXH/G1eOn/e9lqUT8IFFdHS0NGnSRFauXKk6O0F+fr76fdiwYbr3admypbr98ccfN1+HFxvXA7pAITjAMloggRcEtRNDhw41rwNtaFHfgceHH3/8UT02ajH0xMTEqIst7GBf7OQGlRMlaEVEidwzW6SEdXpaWFwZiWLRdZH56r1HgYn737i4742N+9+4ovy07115TL+nQmEUYMCAAaqQGnNXoKPThQsXVJco6N+/v1SsWFGlIsHw4cOlffv2MmnSJOnRo4fq5LRp0yaZMWOGuj0sLEwFHS+99JKat0JrN1uhQgVz8IJuUugshW5U6EKFSBCBzL333quWC0QRYYE9hXtBAQRbwRIRERGFPr8HFvfcc4+cOHFCXnzxRVU4jVEGtILViq8PHjyoujVpWrVqpeaaQDvZZ599VgUPaCOrzWEBTz31lApOMC8FRibQThbr1OawgNmzZ6tgolOnTuYJ8jD3RcDCwTk6Ivm75ayj4AEYQBAREREZlt8DC8ABvqPUp9WrV9tdd9ddd6mLIxi1GDdunLo4gg5QATsZnh4csA/bbJ55+/dDZ+TXrdulReN6RZ55W7ENEM4fE7l0ViQ2gcEDEREREQVXYEFOwgF9qcpqJu16ZXPk4LFzUq9JW4m4kvvm6szbREREREQhM/M2EREREREFPwYWRERERETkNgYWRERERETkNgYWRERERETkNgYWRERERETkNgYWRERERETkNrabLSKTyaR+ZmRk+OXxMVt4Zmamenx/TO9O/sN9b2zc/8bFfW9s3P/GlePnfa8d62rHvgVhYFFE586dUz8rV+ZkcUREREQU+se+CQkJBS4TZnIm/CA7+fn5cuTIESlZsqSa6dsf0SOCmkOHDkl8fLzPH5/8h/ve2Lj/jYv73ti4/40rw8/7HqECgooKFSpIeHjBVRQcsSgivLCVKlXy92aoNxg/YIyJ+97YuP+Ni/ve2Lj/jSvej/u+sJEKDYu3iYiIiIjIbQwsiIiIiIjIbQwsglRMTIyMHj1a/SRj4b43Nu5/4+K+Nzbuf+OKCaJ9z+JtIiIiIiJyG0csiIiIiIjIbQwsiIiIiIjIbQwsiIiIiIjIbQwsgtA777wj1apVk9jYWGnevLls3LjR35tEbpowYYLccMMNasLFsmXLSu/evWXXrl1Wy1y6dEkeeeQRKVOmjJQoUULuuOMOOXbsmNUyBw8elB49ekhcXJxaz5NPPim5ubk+fjbkjldffVVNuvn444+br+O+D22HDx+Wfv36qf1brFgxqV+/vmzatMl8O0ohX3zxRSlfvry6vXPnzrJnzx6rdZw+fVr69u2retyXKlVKHnzwQTl//rwfng05Ky8vT1544QWpXr262q81atSQ8ePHq/2t4b4PHT/99JPccsstapI5fMYvWrTI6nZP7evff/9d2rZtq44RMane66+/7pPnZ/lEKIjMmzfPFB0dbZo5c6bpzz//NA0aNMhUqlQp07Fjx/y9aeSGrl27mj766CPT9u3bTSkpKabu3bubqlSpYjp//rx5mSFDhpgqV65sWrlypWnTpk2mFi1amFq1amW+PTc311SvXj1T586dTVu3bjV9++23pqSkJNOoUaP89KzIVRs3bjRVq1bN1KBBA9Pw4cPN13Pfh67Tp0+bqlatanrggQdMGzZsMO3bt8/0/fffm/7++2/zMq+++qopISHBtGjRItO2bdtMt956q6l69eqmixcvmpfp1q2bqWHDhqZff/3V9PPPP5tq1qxp6tOnj5+eFTnj5ZdfNpUpU8b0zTffmFJTU00LFiwwlShRwjRlyhTzMtz3oePbb781Pffcc6aFCxcicjR99dVXVrd7Yl+fPXvWVK5cOVPfvn3V8cTcuXNNxYoVM7333ns+e54MLIJMs2bNTI888oj597y8PFOFChVMEyZM8Ot2kWcdP35cffCsWbNG/Z6enm6KiopSXzyav/76Sy2zfv1684dWeHi4KS0tzbzMtGnTTPHx8aasrCw/PAtyxblz50y1atUyrVixwtS+fXtzYMF9H9qefvppU5s2bRzenp+fb0pOTjZNnDjRfB3eEzExMeqgAXbs2KHeD7/99pt5me+++84UFhZmOnz4sJefARVVjx49TP/5z3+srrv99tvVQSFw34cusQksPLWv3333XVNiYqLV5z4+Y2rXru2jZ2YyMRUqiGRnZ8vmzZvV8JgmPDxc/b5+/Xq/bht51tmzZ9XP0qVLq5/Y7zk5OVb7vk6dOlKlShXzvsdPpFCUK1fOvEzXrl0lIyND/vzzT58/B3INUp2QymS5j4H7PrQtWbJEmjZtKnfddZdKYWvcuLG8//775ttTU1MlLS3Nav8nJCSoNFjL/Y+0CKxHg+Xx/bBhwwYfPyNyVqtWrWTlypWye/du9fu2bdvkl19+kZtv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",
|
||
"text/plain": [
|
||
"<Figure size 800x400 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAGGCAYAAADmRxfNAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQAAbwNJREFUeJzt3Qd8VFX2wPGTnlBCh9CkL4g0qYIKutItIBZwVZB1ccXFRbHiCogNK6L+EVZX7ApWVFSKKCqKoCAqVUSaQKhCSEKSSTL/z7nhjTOTmTCTTMvk9/18hsy8efPem5mb8M6759wbY7fb7QIAAAAAZRBblhcDAAAAgCKwAAAAAFBmBBYAAAAAyozAAgAAAECZEVgAAAAAKDMCCwAAAABlRmABAAAAoMwILAAAAACUGYEFAAAAgDIjsACiWExMjIwbN+6k67344otm3e3bt7ssf/TRR6V58+YSFxcnnTp1CuKRitxzzz3mGIBgtJFrrrlGmjZt6tO6hYWF0q5dO3nggQei/vcO4XPo0CGpXLmyfPzxx+E+FCBgCCyAcujnn3+WSy+9VJo0aSLJycnSsGFD6devnzz99NMB28fixYvl9ttvlzPPPFNeeOEFefDBB2XPnj3m5G7t2rUSLnqCqCdjnm4LFy4M6L6eeeYZc/LnK+tE0brpd9OgQQMZMGCAPPXUU3Ls2DGJBnqCru+vb9++Hp9/7rnnHJ/B999/L+XNG2+8Ibt27SoWHFTE37tNmzaZ49EAp2rVqlK/fn05//zzvX6vu3fvlssvv1yqV68uqampMmTIEPntt9+kvNP2MHXqVOnevbvUqFFDateuLeecc458+umnHtc/cuSIXHfddVKnTh0TPJx77rmyZs0al3Vq1aol//jHP2TSpEkhehdA8MWHYB8AAuibb74x/0mdcsopMmbMGElLSzP/6X377bfy5JNPyo033uj3Nq+++moZMWKEJCUlOZZ99tlnEhsbK88//7wkJiaaZXoyof+56ollOK+k6nH+73//K7a8Y8eOAQ8s9ARCgxl/3HvvvdKsWTOx2WySnp4uy5Ytk5tuukmmT58uH3zwgXTo0EHKOz2x/vzzz8370zbo7LXXXjPP5+TkSHmkPQb6+1CtWjWp6L93+numx3LJJZfIDTfcIEePHpX//ve/csYZZ5hA3jm4zMzMNJ+RrnPXXXdJQkKCPPHEE9KnTx8TFOmJdHn1/vvvy8MPPyxDhw6VUaNGSX5+vrz88ssmsJwzZ46MHj3apcdLg68ff/xRbrvtNvM3RP+WaCCyevVqadWqlWPd66+/3lx00O/9r3/9a5jeHRBAdgDlyuDBg+116tSx//HHH8We27dvn8tj/RX/17/+Var9jB492l65cmWXZd99953Z5gsvvGAPtClTpphtn8yoUaOKHVewnHbaafY+ffr4vL5+Lvoe9HNyt3TpUntKSoq9SZMm9uzsbHt5pu/hvPPOs6emptpnzJjh8tyuXbvssbGx9ksuucTrZxHsNuKt3ehxn8yaNWvMPj799NMK8Xt3Mt9//7392LFjLssOHjxoPoszzzzTZfnDDz9sjnPVqlWOZRs3brTHxcXZJ06caC/P1q1bZz9w4IDLspycHHubNm3sjRo1clk+b9488zm89dZbjmX79++3V69e3X7FFVcU23a7du3sV199dRCPHggdUqGAcmbr1q1y2mmnmVQDd3Xr1vX4mvnz55uccb0yqq91Txlyz/XW+5qGkZWV5Uhp0XW6detmnterc87LLStXrpSBAweaK72VKlUyVyq//vrrYsezfPlysy29qt2iRQtzBTRQvvrqK7nsssvMlWV9v40bN5abb75Zjh8/7rKeXmnX99GoUSOznqZ4aNqG9Rno1eH169fLF1984XivesWxtPRqpKY87NixQ1599dVi6SaaYlOzZk3zmXTt2tX0bHhKr9D3osemx6zHPnLkSDl48KB5Pi8vTyZPnixdunQx34GmYJx99tmmZ8Gi5736en2v7rSHQV/3z3/+86TvR49z2LBh8vrrrxdLI9JUEU3/8kSvzOox6bFpG9bj2LhxY5naiH6e+p5TUlLMZ6i9ANqbUBr6u6I9Bb179y43v3fBpJ9rlSpVXJZpz4N+h+7f29tvv22O1Tpe1aZNGznvvPPkzTff9Hvf7qmFnm6hot+f9jw40+918ODB8vvvv7ukOernUK9ePfP7YdGUKE0R056P3Nxcl+1or8eHH35ofjeB8o5UKKCc0fzuFStWyLp168xJy8noCdq7775r0hg0R1q73TWtYefOnV5TE1555RV59tlnZdWqVY6UI+2+1xQfPXHV3GE9sVC9evVynDAOGjTInIhMmTLFpHPoSZKeUOvJvuYmW3nq/fv3N//Rat64phTo+vofsT+sk2mL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",
|
||
"text/plain": [
|
||
"<Figure size 800x400 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
}
|
||
],
|
||
"source": [
|
||
"def weights_from_ages(\n",
|
||
" ages: np.ndarray,\n",
|
||
" peak_age: float = 360.0,\n",
|
||
" shape: float = 5.0\n",
|
||
") -> np.ndarray:\n",
|
||
" # Compute scale parameter so mode = peak_age\n",
|
||
" theta = peak_age / (shape - 1)\n",
|
||
"\n",
|
||
" # Ensure ages >= 0\n",
|
||
" a = np.maximum(ages, 0.0)\n",
|
||
"\n",
|
||
" # Compute unnormalized weights: a^(shape-1) * exp(-a/theta)\n",
|
||
" w = (a ** (shape - 1)) * np.exp(-a / theta)\n",
|
||
"\n",
|
||
" # Zero out negative ages (already clamped, but enforce)\n",
|
||
" w[ages < 0] = 0.0\n",
|
||
"\n",
|
||
" # Normalize to sum = 1\n",
|
||
" total = w.sum()\n",
|
||
" if total > 0:\n",
|
||
" w /= total\n",
|
||
" return w\n",
|
||
"\n",
|
||
"ages = np.arange(0, 1001, 10)\n",
|
||
"\n",
|
||
"weights_360 = weights_from_ages(ages, peak_age=360.0, shape=5.0)\n",
|
||
"weights_500 = weights_from_ages(ages, peak_age=500.0, shape=5.0)\n",
|
||
"\n",
|
||
"plt.figure(figsize=(8, 4))\n",
|
||
"plt.plot(ages, weights_360, marker='o', linestyle='-', label='Peak at 360')\n",
|
||
"plt.plot(ages, weights_500, marker='s', linestyle='--', label='Peak at 500')\n",
|
||
"plt.xlabel('Age (slots)')\n",
|
||
"plt.ylabel('Normalized Weight')\n",
|
||
"plt.title('Dependency probability model (pessimistic)')\n",
|
||
"plt.grid(True)\n",
|
||
"plt.legend()\n",
|
||
"plt.tight_layout()\n",
|
||
"plt.show()\n",
|
||
"\n",
|
||
"def weights_shifted_fast_decay(\n",
|
||
" ages: np.ndarray,\n",
|
||
" shift: float = 20.0,\n",
|
||
" tau: float = 20.0\n",
|
||
") -> np.ndarray:\n",
|
||
" w = np.zeros_like(ages, dtype=float)\n",
|
||
" # clamp shift so it’s never above ages.max()\n",
|
||
" shift_eff = min(shift, ages.max())\n",
|
||
" valid = ages >= shift_eff\n",
|
||
" a = ages[valid]\n",
|
||
" w[valid] = np.exp(-(a - shift_eff) / tau)\n",
|
||
" total = w.sum()\n",
|
||
" if total > 0:\n",
|
||
" w /= total\n",
|
||
" return w\n",
|
||
"\n",
|
||
"# Define ages from 0 to 1000 in steps of 10\n",
|
||
"ages = np.arange(0, 1001, 10)\n",
|
||
"weights = weights_shifted_fast_decay(ages, shift=20.0, tau=20.0)\n",
|
||
"\n",
|
||
"# Plotting\n",
|
||
"plt.figure(figsize=(8, 4))\n",
|
||
"plt.plot(ages, weights, marker='o', linestyle='-')\n",
|
||
"plt.axvline(20, color='red', linestyle='--', label='Shift = 20')\n",
|
||
"plt.xlabel('Age (slots)')\n",
|
||
"plt.ylabel('Normalized Weight')\n",
|
||
"plt.title('Shifted Fast-Decay Model (Shift = 20, τ = 20)')\n",
|
||
"plt.grid(True)\n",
|
||
"plt.legend()\n",
|
||
"plt.tight_layout()\n",
|
||
"plt.show()\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "cb9828c4-7511-4bef-a125-a300fc2885b0",
|
||
"metadata": {},
|
||
"source": [
|
||
"# Cryptarchia v2"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 54,
|
||
"id": "24779de7-284f-4200-9e4a-d2aa6e1b823b",
|
||
"metadata": {
|
||
"jupyter": {
|
||
"source_hidden": true
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def phi(f, alpha):\n",
|
||
" return 1 - (1-f)**alpha\n",
|
||
"\n",
|
||
"@dataclass\n",
|
||
"class Params:\n",
|
||
" SLOTS: int\n",
|
||
" f: float\n",
|
||
" honest_stake: np.array\n",
|
||
" adversary_control: float\n",
|
||
" window_size: int\n",
|
||
" use_deps: bool\n",
|
||
"\n",
|
||
" @property\n",
|
||
" def N(self):\n",
|
||
" return len(self.honest_stake) + 1\n",
|
||
"\n",
|
||
" @property\n",
|
||
" def stake(self):\n",
|
||
" return np.append(self.honest_stake, self.honest_stake.sum() / (1/self.adversary_control - 1))\n",
|
||
" \n",
|
||
" @property\n",
|
||
" def relative_stake(self):\n",
|
||
" return self.stake / self.stake.sum()\n",
|
||
"\n",
|
||
" def slot_prob(self):\n",
|
||
" return phi(self.f, self.relative_stake)\n",
|
||
"\n",
|
||
"@dataclass\n",
|
||
"class Block:\n",
|
||
" id: int\n",
|
||
" slot: int\n",
|
||
" refs: list[int]\n",
|
||
" deps: list[int]\n",
|
||
" leader: int\n",
|
||
" adversarial: bool"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 55,
|
||
"id": "055ed35f-b142-4d80-ae4a-b951381cdcd3",
|
||
"metadata": {
|
||
"jupyter": {
|
||
"source_hidden": true
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def visualize_chain(sim):\n",
|
||
" layout = Layout()\n",
|
||
" layout.hierachical = True\n",
|
||
"\n",
|
||
" tooltip_css = \"\"\"\n",
|
||
" <style type=\"text/css\">\n",
|
||
" div.vis-tooltip {\n",
|
||
" background-color: #f8f8f8;\n",
|
||
" border: 1px solid #aaa;\n",
|
||
" border-radius: 5px;\n",
|
||
" padding: 8px 12px;\n",
|
||
" box-shadow: 3px 3px 10px rgba(0,0,0,0.2);\n",
|
||
" color: #000;\n",
|
||
" font-family: sans-serif;\n",
|
||
" font-size: 13px;\n",
|
||
" white-space: pre-wrap;\n",
|
||
" max-width: 300px;\n",
|
||
" }\n",
|
||
" </style>\n",
|
||
" \"\"\"\n",
|
||
" G = Network(width=1000, height=800, notebook=True, directed=True, layout=layout, cdn_resources='in_line', heading=tooltip_css)\n",
|
||
" options_str = \"\"\"\n",
|
||
" {\n",
|
||
" \"layout\": {\n",
|
||
" \"hierarchical\": {\n",
|
||
" \"enabled\": true,\n",
|
||
" \"levelSeparation\": 200,\n",
|
||
" \"nodeSpacing\": 150,\n",
|
||
" \"treeSpacing\": 250,\n",
|
||
" \"direction\": \"UD\",\n",
|
||
" \"sortMethod\": \"directed\"\n",
|
||
" }\n",
|
||
" },\n",
|
||
" \"physics\": {\n",
|
||
" \"enabled\": true,\n",
|
||
" \"solver\": \"hierarchicalRepulsion\",\n",
|
||
" \"hierarchicalRepulsion\": {\n",
|
||
" \"centralGravity\": 0.0,\n",
|
||
" \"springLength\": 150,\n",
|
||
" \"springConstant\": 0.05,\n",
|
||
" \"nodeDistance\": 150,\n",
|
||
" \"damping\": 0.15\n",
|
||
" },\n",
|
||
" \"stabilization\": {\n",
|
||
" \"enabled\": true,\n",
|
||
" \"iterations\": 200000,\n",
|
||
" \"updateInterval\": 2500,\n",
|
||
" \"onlyDynamicEdges\": false,\n",
|
||
" \"fit\": true\n",
|
||
" }\n",
|
||
" },\n",
|
||
" \"interaction\": {\n",
|
||
" \"tooltipDelay\": 200,\n",
|
||
" \"hover\": true,\n",
|
||
" \"dragNodes\": true,\n",
|
||
" \"dragView\": true,\n",
|
||
" \"zoomView\": true\n",
|
||
" },\n",
|
||
" \"nodes\": {\n",
|
||
" \"font\": {\n",
|
||
" \"size\": 14\n",
|
||
" },\n",
|
||
" \"shape\": \"box\",\n",
|
||
" \"margin\": 10\n",
|
||
" },\n",
|
||
" \"edges\": {\n",
|
||
" \"smooth\": {\n",
|
||
" \"enabled\": true,\n",
|
||
" \"type\": \"cubicBezier\",\n",
|
||
" \"roundness\": 0.5\n",
|
||
" },\n",
|
||
" \"arrows\": {\n",
|
||
" \"to\": { \"enabled\": true, \"scaleFactor\": 0.7 }\n",
|
||
" }\n",
|
||
" }\n",
|
||
" }\n",
|
||
" \"\"\"\n",
|
||
" G.set_options(options_str)\n",
|
||
" for block in sim.blocks:\n",
|
||
" level = block.slot/20 # This puts all the blocks that happen within 20s in the same level (just for visual clarity)\n",
|
||
" color = \"darkgrey\"\n",
|
||
" #if block.id in honest_chain_set:\n",
|
||
" # color = \"orange\"\n",
|
||
"\n",
|
||
" if block.adversarial: color = \"red\"\n",
|
||
" G.add_node(int(block.id), level=level, color=color, label=f\"(id:{block.id})\\ns: {block.slot}\\nrefs: {len(block.refs)}\")\n",
|
||
" # if block.parent >= 0:\n",
|
||
" # G.add_edge(int(block.id), int(block.parent), width=2, color=color)\n",
|
||
" # Draw deps first so they are in the background\n",
|
||
" # for dep in block.deps:\n",
|
||
" # G.add_edge(int(block.id), int(dep), width=1, color=\"#dddddd\")\n",
|
||
" for ref in block.refs:\n",
|
||
" G.add_edge(int(block.id), int(ref), width=1, color=\"blue\")\n",
|
||
"\n",
|
||
" \n",
|
||
" return G.show(\"chain.html\")"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 56,
|
||
"id": "3d4896b2-b1b6-4b6c-8519-be1f65747246",
|
||
"metadata": {
|
||
"jupyter": {
|
||
"source_hidden": true
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def normalize_from_slot(arr: np.ndarray, slot: int) -> np.ndarray:\n",
|
||
" \"\"\"\n",
|
||
" Subtract arr[slot] from every element of arr, then clip negatives to zero.\n",
|
||
" \"\"\"\n",
|
||
" base = arr[slot]\n",
|
||
" adjusted = arr - base\n",
|
||
" adjusted[adjusted < 0] = 0\n",
|
||
" return adjusted\n",
|
||
"\n",
|
||
"def longest_advantage_run(a: np.ndarray, b: np.ndarray) -> int:\n",
|
||
" \"\"\"\n",
|
||
" Return the length of the longest consecutive run where b >= a,\n",
|
||
" using purely NumPy operations.\n",
|
||
" \"\"\"\n",
|
||
" mask = b >= a\n",
|
||
" # Pad with False at both ends to catch runs at boundaries\n",
|
||
" padded = np.concatenate(([False], mask, [False]))\n",
|
||
" diff = np.diff(padded.astype(np.int8))\n",
|
||
" starts = np.where(diff == 1)[0]\n",
|
||
" ends = np.where(diff == -1)[0]\n",
|
||
" if starts.size == 0:\n",
|
||
" return 0\n",
|
||
" lengths = ends - starts\n",
|
||
" return int(lengths.max())\n",
|
||
"\n",
|
||
"def highest_advantage_index(a: np.ndarray, b: np.ndarray) -> int:\n",
|
||
" \"\"\"\n",
|
||
" Return the largest index i where b[i] >= a[i], or -1 if none exist.\n",
|
||
" \"\"\"\n",
|
||
" mask = b >= a\n",
|
||
" idxs = np.nonzero(mask)[0]\n",
|
||
" return int(idxs[-1]) if idxs.size > 0 else -1\n",
|
||
"\n",
|
||
"def highest_advantage_index_nonzero(a: np.ndarray, b: np.ndarray) -> int:\n",
|
||
" \"\"\"\n",
|
||
" Return the largest index i where b[i] >= a[i] and not (a[i] == 0 and b[i] == 0), \n",
|
||
" or -1 if none exist.\n",
|
||
" \"\"\"\n",
|
||
" mask = (b >= a) & ~((a == 0) & (b == 0))\n",
|
||
" idxs = np.nonzero(mask)[0]\n",
|
||
" return int(idxs[-1]) if idxs.size > 0 else -1\n"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 57,
|
||
"id": "5a615d1e-e6df-48b3-bc5d-7e3e444820d8",
|
||
"metadata": {
|
||
"jupyter": {
|
||
"source_hidden": true
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"import pulp\n",
|
||
"\n",
|
||
"def dag_with_max_refs(blocks: list, window_size: int) -> dict[int, list[int]]:\n",
|
||
" \"\"\"\n",
|
||
" Returns a dict: block_id -> list of referenced block_ids\n",
|
||
" that maximizes the total number of references under these constraints:\n",
|
||
" - References go backward in time (from later to earlier blocks)\n",
|
||
" - Reference only within `window_size`\n",
|
||
" - No transitive references (triangle closure constraint)\n",
|
||
" \"\"\"\n",
|
||
" prob = pulp.LpProblem(\"MaxRefsDAG\", pulp.LpMaximize)\n",
|
||
"\n",
|
||
" block_ids = [b.id for b in blocks]\n",
|
||
" slots = {b.id: b.slot for b in blocks}\n",
|
||
" id_set = set(block_ids)\n",
|
||
"\n",
|
||
" # Generate all valid candidate pairs (i -> j)\n",
|
||
" pairs = [\n",
|
||
" (i, j)\n",
|
||
" for i in block_ids\n",
|
||
" for j in block_ids\n",
|
||
" if slots[i] > slots[j] and (slots[i] - slots[j]) <= window_size\n",
|
||
" ]\n",
|
||
"\n",
|
||
" # Decision variables: x[i][j] = 1 if block i references block j\n",
|
||
" x = pulp.LpVariable.dicts(\"x\", pairs, cat=\"Binary\")\n",
|
||
"\n",
|
||
" # Objective: maximize total number of references\n",
|
||
" prob += pulp.lpSum(x[i, j] for (i, j) in pairs)\n",
|
||
"\n",
|
||
" # Triangle constraints: for all i, j, k:\n",
|
||
" # if i -> j and j -> k then i must NOT reference k to avoid closure\n",
|
||
" # Note that this is a good approximation, but it would allow the adversary simulation to\n",
|
||
" # sneak in some extra refs. Since that only could improve our results, this is good enough.\n",
|
||
" for i in block_ids:\n",
|
||
" for j in block_ids:\n",
|
||
" for k in block_ids:\n",
|
||
" if (i, j) in x and (j, k) in x and (i, k) in x:\n",
|
||
" prob += x[i, j] + x[j, k] + x[i, k] <= 2\n",
|
||
"\n",
|
||
" # Solve the ILP\n",
|
||
" solver = pulp.PULP_CBC_CMD(msg=False)\n",
|
||
" result = prob.solve(solver)\n",
|
||
"\n",
|
||
" if pulp.LpStatus[result] != \"Optimal\":\n",
|
||
" raise RuntimeError(\"ILP did not find an optimal solution.\")\n",
|
||
"\n",
|
||
" # Extract result\n",
|
||
" ref_graph = {i: [] for i in block_ids}\n",
|
||
" for (i, j) in pairs:\n",
|
||
" if pulp.value(x[i, j]) > 0.5:\n",
|
||
" ref_graph[i].append(j)\n",
|
||
"\n",
|
||
" return ref_graph"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 58,
|
||
"id": "a90495a8-fcda-4e47-92b4-cc5ceaa9ff9c",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"class Sim:\n",
|
||
" def __init__(self, params: Params, network: NetworkParams):\n",
|
||
" self.params = params\n",
|
||
" self.network = network\n",
|
||
"\n",
|
||
" # leaders: fixed-size (N × SLOTS)\n",
|
||
" self.leaders = np.zeros((params.N, params.SLOTS), dtype=np.int32)\n",
|
||
"\n",
|
||
" # Preallocate capacity for blocks: at most N * SLOTS blocks\n",
|
||
" max_blocks = params.N * params.SLOTS\n",
|
||
" self.block_slots = np.empty(max_blocks, dtype=np.int32)\n",
|
||
" self.block_arrivals = np.empty((params.N, max_blocks), dtype=np.int32)\n",
|
||
" self.num_blocks = 0\n",
|
||
"\n",
|
||
" self.blocks: list[Block] = []\n",
|
||
"\n",
|
||
" # Emit genesis block (id = 0)\n",
|
||
" self.emit_block(leader=0, slot=0, refs=[], deps=[])\n",
|
||
" # Set arrival times of genesis to 0\n",
|
||
" self.block_arrivals[:, 0] = 0\n",
|
||
"\n",
|
||
" def clone_for_attack(self):\n",
|
||
" new = object.__new__(Sim)\n",
|
||
" new.params = self.params\n",
|
||
" new.network = self.network\n",
|
||
"\n",
|
||
" # Copy leaders array\n",
|
||
" new.leaders = self.leaders.copy()\n",
|
||
"\n",
|
||
" # Preallocate same sizes\n",
|
||
" max_blocks = self.params.N * self.params.SLOTS\n",
|
||
" new.block_slots = np.empty_like(self.block_slots)\n",
|
||
" new.block_arrivals = np.empty_like(self.block_arrivals)\n",
|
||
" new.num_blocks = self.num_blocks\n",
|
||
"\n",
|
||
" # Copy blocks list (shallow copy of each Block)\n",
|
||
" new.blocks = [\n",
|
||
" Block(\n",
|
||
" id=b.id,\n",
|
||
" leader=b.leader,\n",
|
||
" slot=b.slot,\n",
|
||
" refs=b.refs.copy(),\n",
|
||
" deps=b.deps.copy(),\n",
|
||
" adversarial=b.adversarial\n",
|
||
" ) for b in self.blocks\n",
|
||
" ]\n",
|
||
"\n",
|
||
" # Copy underlying arrays\n",
|
||
" new.block_slots[: self.num_blocks] = self.block_slots[: self.num_blocks]\n",
|
||
" new.block_arrivals[:, : self.num_blocks] = self.block_arrivals[:, : self.num_blocks]\n",
|
||
"\n",
|
||
" return new\n",
|
||
"\n",
|
||
" def get_seen_blocks_in_window_for_node(self, node_id: int, current_slot: int, window_size: int) -> list[int]:\n",
|
||
" if not (0 <= node_id < self.params.N):\n",
|
||
" raise ValueError(f\"Invalid node_id: {node_id}. Must be between 0 and {self.params.N - 1}.\")\n",
|
||
" if window_size <= 0:\n",
|
||
" raise ValueError(f\"window_size must be positive. Got {window_size}.\")\n",
|
||
" if self.num_blocks == 0:\n",
|
||
" return []\n",
|
||
"\n",
|
||
" min_slot = current_slot - window_size + 1\n",
|
||
" max_slot = current_slot\n",
|
||
"\n",
|
||
" arrivals = self.block_arrivals[node_id, : self.num_blocks]\n",
|
||
" slots = self.block_slots[: self.num_blocks]\n",
|
||
"\n",
|
||
" mask = (\n",
|
||
" (arrivals >= min_slot) & (arrivals <= max_slot) &\n",
|
||
" (slots >= min_slot) & (slots <= max_slot)\n",
|
||
" )\n",
|
||
" return np.nonzero(mask)[0].tolist()\n",
|
||
"\n",
|
||
" def get_all_blocks_in_window_for_node(self, node_id: int, current_slot: int, window_size: int) -> list[int]:\n",
|
||
" if not (0 <= node_id < self.params.N):\n",
|
||
" raise ValueError(f\"Invalid node_id: {node_id}. Must be between 0 and {self.params.N - 1}.\")\n",
|
||
" if window_size <= 0:\n",
|
||
" raise ValueError(f\"window_size must be positive. Got {window_size}.\")\n",
|
||
" if self.num_blocks == 0:\n",
|
||
" return []\n",
|
||
"\n",
|
||
" min_slot = current_slot - window_size + 1\n",
|
||
" max_slot = current_slot\n",
|
||
"\n",
|
||
" slots = self.block_slots[: self.num_blocks]\n",
|
||
" mask = (slots >= min_slot) & (slots <= max_slot)\n",
|
||
" return np.nonzero(mask)[0].tolist()\n",
|
||
"\n",
|
||
" def get_unreachable_blocks(self, node_id: int, current_slot: int) -> list[int]:\n",
|
||
" if not (0 <= node_id < self.params.N):\n",
|
||
" raise ValueError(f\"Invalid node_id: {node_id}. Must be between 0 and {self.params.N - 1}.\")\n",
|
||
"\n",
|
||
" arrivals = self.block_arrivals[node_id, : self.num_blocks]\n",
|
||
" seen_ids = set(np.nonzero(arrivals <= current_slot)[0].tolist())\n",
|
||
"\n",
|
||
" has_incoming = set()\n",
|
||
" for b in seen_ids:\n",
|
||
" for parent in self.blocks[b].refs:\n",
|
||
" if parent in seen_ids:\n",
|
||
" has_incoming.add(parent)\n",
|
||
"\n",
|
||
" return [b for b in seen_ids if b not in has_incoming]\n",
|
||
"\n",
|
||
" def get_max_cardinality_antichain(self, node_id: int, current_slot: int, window: int = None, forbidden: set[int] = None) -> list[int]:\n",
|
||
" arrivals = self.block_arrivals[node_id, : self.num_blocks]\n",
|
||
" slots_arr = self.block_slots[: self.num_blocks]\n",
|
||
"\n",
|
||
" if window is not None:\n",
|
||
" min_slot = current_slot - window + 1\n",
|
||
" mask = (\n",
|
||
" (arrivals <= current_slot) &\n",
|
||
" (slots_arr >= min_slot) &\n",
|
||
" (slots_arr <= current_slot)\n",
|
||
" )\n",
|
||
" seen_ids = np.nonzero(mask)[0].tolist()\n",
|
||
" else:\n",
|
||
" seen_ids = np.nonzero(arrivals <= current_slot)[0].tolist()\n",
|
||
"\n",
|
||
" # Filter out any forbidden blocks right away\n",
|
||
" if forbidden is not None:\n",
|
||
" seen_ids = [i for i in seen_ids if i not in forbidden]\n",
|
||
" \n",
|
||
" if not seen_ids:\n",
|
||
" return []\n",
|
||
"\n",
|
||
" idx = {blk_id: i for i, blk_id in enumerate(seen_ids)}\n",
|
||
" n = len(seen_ids)\n",
|
||
"\n",
|
||
" adj_children = {b: [] for b in seen_ids}\n",
|
||
" for b in seen_ids:\n",
|
||
" for parent in self.blocks[b].refs:\n",
|
||
" if parent in idx:\n",
|
||
" adj_children[parent].append(b)\n",
|
||
"\n",
|
||
" graph: list[list[int]] = [[] for _ in range(n)]\n",
|
||
" for u in seen_ids:\n",
|
||
" u_idx = idx[u]\n",
|
||
" visited = set()\n",
|
||
" stack = adj_children[u].copy()\n",
|
||
" while stack:\n",
|
||
" x = stack.pop()\n",
|
||
" if x not in visited:\n",
|
||
" visited.add(x)\n",
|
||
" stack.extend(adj_children.get(x, []))\n",
|
||
" graph[u_idx] = [idx[v] for v in visited]\n",
|
||
"\n",
|
||
" pair_u = [-1] * n\n",
|
||
" pair_v = [-1] * n\n",
|
||
" dist = [0] * n\n",
|
||
"\n",
|
||
" def bfs():\n",
|
||
" queue = deque()\n",
|
||
" found_augment = False\n",
|
||
" for u in range(n):\n",
|
||
" if pair_u[u] == -1:\n",
|
||
" dist[u] = 0\n",
|
||
" queue.append(u)\n",
|
||
" else:\n",
|
||
" dist[u] = float(\"inf\")\n",
|
||
" while queue:\n",
|
||
" u = queue.popleft()\n",
|
||
" for v_idx in graph[u]:\n",
|
||
" pu = pair_v[v_idx]\n",
|
||
" if pu != -1 and dist[pu] == float(\"inf\"):\n",
|
||
" dist[pu] = dist[u] + 1\n",
|
||
" queue.append(pu)\n",
|
||
" if pu == -1:\n",
|
||
" found_augment = True\n",
|
||
" return found_augment\n",
|
||
"\n",
|
||
" def dfs(u):\n",
|
||
" for v_idx in graph[u]:\n",
|
||
" pu = pair_v[v_idx]\n",
|
||
" if pu == -1 or (dist[pu] == dist[u] + 1 and dfs(pu)):\n",
|
||
" pair_u[u] = v_idx\n",
|
||
" pair_v[v_idx] = u\n",
|
||
" return True\n",
|
||
" dist[u] = float(\"inf\")\n",
|
||
" return False\n",
|
||
"\n",
|
||
" while bfs():\n",
|
||
" for u in range(n):\n",
|
||
" if pair_u[u] == -1 and dfs(u):\n",
|
||
" pass\n",
|
||
"\n",
|
||
" visited_u = [False] * n\n",
|
||
" visited_v = [False] * n\n",
|
||
" queue = deque(u for u in range(n) if pair_u[u] == -1)\n",
|
||
" while queue:\n",
|
||
" u = queue.popleft()\n",
|
||
" if visited_u[u]:\n",
|
||
" continue\n",
|
||
" visited_u[u] = True\n",
|
||
" for v_idx in graph[u]:\n",
|
||
" if not visited_v[v_idx]:\n",
|
||
" visited_v[v_idx] = True\n",
|
||
" pu = pair_v[v_idx]\n",
|
||
" if pu != -1 and not visited_u[pu]:\n",
|
||
" queue.append(pu)\n",
|
||
"\n",
|
||
" return [\n",
|
||
" blk_id\n",
|
||
" for blk_id, u_idx in idx.items()\n",
|
||
" if visited_u[u_idx] and not visited_v[u_idx]\n",
|
||
" ]\n",
|
||
"\n",
|
||
" def emit_block(self, leader, slot, refs, deps, adversarial=False):\n",
|
||
" assert isinstance(leader, (int, np.int64))\n",
|
||
" assert isinstance(slot, (int, np.int64))\n",
|
||
" assert all(isinstance(r, (int, np.int64)) for r in refs)\n",
|
||
"\n",
|
||
" block = Block(\n",
|
||
" id=self.num_blocks,\n",
|
||
" leader=leader,\n",
|
||
" slot=slot,\n",
|
||
" refs=refs.copy(),\n",
|
||
" deps=deps.copy(),\n",
|
||
" adversarial=adversarial\n",
|
||
" )\n",
|
||
" self.blocks.append(block)\n",
|
||
"\n",
|
||
" self.block_slots[self.num_blocks] = slot\n",
|
||
"\n",
|
||
" if not adversarial:\n",
|
||
" base = np.repeat(slot, self.params.N)\n",
|
||
" arrival = self.network.block_arrival_slot(base)\n",
|
||
" else:\n",
|
||
" arrival = np.full((self.params.N,), self.params.SLOTS - 1, dtype=np.int64)\n",
|
||
" arrival[self.params.N - 1] = slot\n",
|
||
"\n",
|
||
" self.block_arrivals[:, self.num_blocks] = arrival\n",
|
||
"\n",
|
||
" bid = self.num_blocks\n",
|
||
" self.num_blocks += 1\n",
|
||
" return bid\n",
|
||
"\n",
|
||
" def emit_leader_block(self, leader, slot):\n",
|
||
" assert isinstance(leader, (int, np.int64))\n",
|
||
" assert isinstance(slot, int)\n",
|
||
"\n",
|
||
" arrivals = self.block_arrivals[leader, : self.num_blocks]\n",
|
||
" seen_ids = np.nonzero(arrivals <= slot)[0].tolist()\n",
|
||
"\n",
|
||
" deps = []\n",
|
||
" if seen_ids:\n",
|
||
" seen_slots = [self.block_slots[i] for i in seen_ids]\n",
|
||
" ages = [slot - s for s in seen_slots]\n",
|
||
" weights = weights_from_ages(np.array(ages), peak_age=60.0, shape=5.0)\n",
|
||
" dep = random.choices(seen_ids, weights=weights, k=1)[0]\n",
|
||
" deps = [int(dep)]\n",
|
||
"\n",
|
||
" refs = self.get_max_cardinality_antichain(leader, slot, window=self.params.window_size)\n",
|
||
" # print(f\"slot: {slot}, refs: {refs}\")\n",
|
||
"\n",
|
||
" emitted = self.emit_block(leader, slot, refs=refs, deps=deps)\n",
|
||
"\n",
|
||
" unreachable = self.get_unreachable_blocks(leader, slot)\n",
|
||
" unreachable = [\n",
|
||
" b for b in unreachable\n",
|
||
" if b != emitted and (slot - self.blocks[b].slot) >= self.params.window_size\n",
|
||
" ]\n",
|
||
"\n",
|
||
" if unreachable:\n",
|
||
" self.blocks[emitted].refs.append(random.choice(unreachable))\n",
|
||
"\n",
|
||
" return emitted\n",
|
||
"\n",
|
||
" def run(self):\n",
|
||
" for s in range(1, self.params.SLOTS):\n",
|
||
" self.leaders[:, s] = np.random.random(size=self.params.N) < self.params.slot_prob()\n",
|
||
" for leader in np.nonzero(self.leaders[:, s])[0]:\n",
|
||
" if self.params.adversary_control is not None and leader == self.params.N - 1:\n",
|
||
" continue\n",
|
||
" self.emit_leader_block(leader, s)\n",
|
||
"\n",
|
||
" def compute_descendants(self, start_block):\n",
|
||
" start_id = start_block.id if hasattr(start_block, \"id\") else start_block\n",
|
||
"\n",
|
||
" children = {i: [] for i in range(len(self.blocks))}\n",
|
||
" for i, blk in enumerate(self.blocks):\n",
|
||
" parents = blk.refs if self.params.use_deps else blk.refs\n",
|
||
" for r in parents:\n",
|
||
" children[r].append(i)\n",
|
||
"\n",
|
||
" desc = {start_id}\n",
|
||
" queue = collections.deque([start_id])\n",
|
||
" while queue:\n",
|
||
" cur = queue.popleft()\n",
|
||
" for child in children[cur]:\n",
|
||
" if child not in desc:\n",
|
||
" desc.add(child)\n",
|
||
" queue.append(child)\n",
|
||
" desc.remove(start_id)\n",
|
||
" return desc\n",
|
||
"\n",
|
||
" def block_ref_weights_by_slot(self, start_id: int) -> np.ndarray:\n",
|
||
" descendants = self.compute_descendants(start_id)\n",
|
||
" weights_by_slot = np.zeros(self.params.SLOTS, dtype=np.int64)\n",
|
||
" window = self.params.window_size\n",
|
||
" for did in descendants:\n",
|
||
" did_slot = self.blocks[did].slot\n",
|
||
" refs = self.blocks[did].refs\n",
|
||
" count = sum(\n",
|
||
" 1\n",
|
||
" for r in refs\n",
|
||
" if did_slot - self.blocks[r].slot < window\n",
|
||
" )\n",
|
||
" weights_by_slot[did_slot] += count\n",
|
||
" return np.cumsum(weights_by_slot)\n",
|
||
"\n",
|
||
" def adversarial_ref_weights_by_slot(self, start_id: int) -> np.ndarray:\n",
|
||
" descendants = self.compute_descendants(start_id)\n",
|
||
" adv_desc = [d for d in descendants if self.blocks[d].adversarial]\n",
|
||
" weights_by_slot = np.zeros(self.params.SLOTS, dtype=np.int64)\n",
|
||
" window = self.params.window_size\n",
|
||
" for did in adv_desc:\n",
|
||
" did_slot = self.blocks[did].slot\n",
|
||
" refs = self.blocks[did].refs\n",
|
||
" count = sum(\n",
|
||
" 1\n",
|
||
" for r in refs\n",
|
||
" if did_slot - self.blocks[r].slot < window\n",
|
||
" )\n",
|
||
" weights_by_slot[did_slot] += count\n",
|
||
" return np.cumsum(weights_by_slot)\n",
|
||
"\n",
|
||
" def attack_on_block(self, target_block: Block):\n",
|
||
" \"\"\"Just a wrapper to easily choose the attack computation technique\"\"\"\n",
|
||
" return self.attack_on_block_global_greedy(target_block)\n",
|
||
" \n",
|
||
" def attack_on_block_sliding_ILP(self, target_block: Block):\n",
|
||
" \"\"\"\n",
|
||
" Attack on a specific block. The provided block is the closest ancestor of a honest block on which\n",
|
||
" the attacker wants to introduce a conflict and win. Since the conflict resolution rules operate on\n",
|
||
" the closest common ancestor of those two conflicting blocks, we perform the attack by exhaustively\n",
|
||
" exploring every possible starting block.\n",
|
||
"\n",
|
||
" We are returning the reorg measured as from the attacked block (common ancestor) up to the last\n",
|
||
" adversarial block. This makes it imprecise, but in a DAG there is no perfect measure of \"reorg \n",
|
||
" length\". In any case, this is only relevant for \"full reorg\" counting, which is fine to compute\n",
|
||
" approximately giving some tolearance value to the definition of \"full reorg\".\n",
|
||
" \"\"\"\n",
|
||
" adv = self.params.N - 1\n",
|
||
" fid = target_block.id\n",
|
||
" fslot = target_block.slot\n",
|
||
"\n",
|
||
" # Static forbidden = all descendants of fid (and fid itself)\n",
|
||
" forbidden = set(self.compute_descendants(fid)) | {fid}\n",
|
||
"\n",
|
||
" # Precompute adversarial slots after fslot\n",
|
||
" adv_slots = list(np.flatnonzero(self.leaders[adv, fslot + 1 :]) + fslot + 1)\n",
|
||
" if not adv_slots:\n",
|
||
" return -1\n",
|
||
"\n",
|
||
" # Pre‐emit every adversarial block at its slot, chaining deps (optimal), empty refs for now\n",
|
||
" adversarial_block_ids = []\n",
|
||
" prev_bid = None\n",
|
||
" for slot in adv_slots:\n",
|
||
" deps = [] if prev_bid is None else [prev_bid]\n",
|
||
" bid = self.emit_block(adv, slot, refs=[], deps=deps, adversarial=True)\n",
|
||
" adversarial_block_ids.append(bid)\n",
|
||
" prev_bid = bid\n",
|
||
"\n",
|
||
" first_adv_block = self.blocks[adversarial_block_ids[0]]\n",
|
||
" first_adv_block.refs = self.get_max_cardinality_antichain(adv, first_adv_block.slot, window=self.params.window_size)\n",
|
||
" \n",
|
||
" #for fixed_i in range(len(adversarial_block_ids) - 1, -1, -1):\n",
|
||
" for fixed_i in range(1, len(adversarial_block_ids)-1):\n",
|
||
" fixed_adv = self.blocks[adversarial_block_ids[fixed_i]]\n",
|
||
" candidate_blocks = [\n",
|
||
" self.blocks[i] \n",
|
||
" for i in self.get_all_blocks_in_window_for_node(\n",
|
||
" adv, \n",
|
||
" fixed_adv.slot, \n",
|
||
" self.params.window_size * 2\n",
|
||
" ) \n",
|
||
" if self.blocks[i].id not in forbidden\n",
|
||
" ]\n",
|
||
" best_dag = dag_with_max_refs(candidate_blocks, self.params.window_size)\n",
|
||
" fixed_adv.refs = best_dag[fixed_adv.id]\n",
|
||
"\n",
|
||
" # Extra pass (ensure full connectivity + rule 2)\n",
|
||
" # For every adversarial block, add extra references to disconnected\n",
|
||
" # They won't count if outside the window, but \n",
|
||
" for i, a in reversed(list(enumerate(adversarial_block_ids))):\n",
|
||
" a_slot = self.blocks[a].slot\n",
|
||
" desc_set = self.compute_descendants(a)\n",
|
||
" for b in adversarial_block_ids[i + 1:]:\n",
|
||
" b_slot = self.blocks[b].slot\n",
|
||
" if ( b not in desc_set and not self.blocks[b].refs\n",
|
||
" #b not in desc_set and\n",
|
||
" #not self.blocks[b].refs and\n",
|
||
" #(b_slot - a_slot) >= self.params.window_size # must be outside the window\n",
|
||
" ):\n",
|
||
" self.blocks[b].refs.append(a)\n",
|
||
" #break\n",
|
||
"\n",
|
||
" # Find the slot of the closest direct honest descendant of fid\n",
|
||
" # This is the block with the conflict that will be replaced by the adversary\n",
|
||
" ref_slot = None\n",
|
||
" for b in self.blocks[target_block.id+1:]:\n",
|
||
" if b.adversarial: # all adversarial blocks are at the end\n",
|
||
" break\n",
|
||
" if target_block.id in b.refs:\n",
|
||
" ref_slot = b.slot\n",
|
||
" break\n",
|
||
" if ref_slot is None:\n",
|
||
" return -1\n",
|
||
"\n",
|
||
" # Compute reorg length, capping at last adversarial slot\n",
|
||
" last_adv_slot = self.blocks[adversarial_block_ids[-1]].slot\n",
|
||
" first_adv_bid = adversarial_block_ids[0]\n",
|
||
" honest_weights = self.block_ref_weights_by_slot(fid)\n",
|
||
" adv_weights = self.adversarial_ref_weights_by_slot(first_adv_bid)\n",
|
||
"\n",
|
||
" # We are returning the reorg measured as from the attacked block (common ancestor)\n",
|
||
" # up to the last adversarial block. This makes it imprecise, but in a DAG there is no\n",
|
||
" # perfect measure of \"reorg length\".\n",
|
||
" hi_uncapped = highest_advantage_index_nonzero(honest_weights, adv_weights)\n",
|
||
" hi = min(hi_uncapped, last_adv_slot)\n",
|
||
" return int(hi - ref_slot) if hi - ref_slot >= 0 else -1\n",
|
||
"\n",
|
||
" def attack_on_block_global_greedy(self, target_block: Block):\n",
|
||
" \"\"\"\n",
|
||
" Attack on a specific block using an optimized antichain building strategy.\n",
|
||
" Going back to the version that actually worked!\n",
|
||
" \"\"\"\n",
|
||
" adv = self.params.N - 1\n",
|
||
" fid = target_block.id\n",
|
||
" fslot = target_block.slot\n",
|
||
" \n",
|
||
" # Static forbidden = all descendants of fid (and fid itself)\n",
|
||
" forbidden = set(self.compute_descendants(fid)) | {fid}\n",
|
||
" \n",
|
||
" # Precompute adversarial slots after fslot\n",
|
||
" adv_slots = list(np.flatnonzero(self.leaders[adv, fslot + 1 :]) + fslot + 1)\n",
|
||
" if not adv_slots:\n",
|
||
" return -1\n",
|
||
" \n",
|
||
" # Pre-emit every adversarial block at its slot, chaining deps (optimal), empty refs for now\n",
|
||
" adversarial_block_ids = []\n",
|
||
" prev_bid = None\n",
|
||
" for slot in adv_slots:\n",
|
||
" deps = [] if prev_bid is None else [prev_bid]\n",
|
||
" bid = self.emit_block(adv, slot, refs=[], deps=deps, adversarial=True)\n",
|
||
" adversarial_block_ids.append(bid)\n",
|
||
" prev_bid = bid\n",
|
||
" \n",
|
||
" def compute_closure_refs_only(block_id):\n",
|
||
" \"\"\"Compute transitive closure following only refs, not deps\"\"\"\n",
|
||
" closure = set()\n",
|
||
" stack = [block_id]\n",
|
||
" while stack:\n",
|
||
" current = stack.pop()\n",
|
||
" if current not in closure:\n",
|
||
" closure.add(current)\n",
|
||
" if current in adversarial_block_ids:\n",
|
||
" stack.extend(self.blocks[current].refs)\n",
|
||
" return closure\n",
|
||
" \n",
|
||
" def compute_descendants_refs_only(start_id):\n",
|
||
" \"\"\"Compute descendants following only refs (for Rule 2 connectivity check)\"\"\"\n",
|
||
" descendants = set()\n",
|
||
" stack = [start_id]\n",
|
||
" while stack:\n",
|
||
" current = stack.pop()\n",
|
||
" if current not in descendants:\n",
|
||
" descendants.add(current)\n",
|
||
" if current in adversarial_block_ids:\n",
|
||
" stack.extend(self.blocks[current].refs)\n",
|
||
" descendants.discard(start_id)\n",
|
||
" return descendants\n",
|
||
" \n",
|
||
" def build_maximum_antichain(candidates):\n",
|
||
" \"\"\"\n",
|
||
" Build a maximum antichain from the candidate blocks.\n",
|
||
" Key insight: we only care about refs for transitivity, not deps!\n",
|
||
" \"\"\"\n",
|
||
" if not candidates:\n",
|
||
" return []\n",
|
||
" \n",
|
||
" # Build reachability matrix based on refs only (not deps!)\n",
|
||
" n = len(candidates)\n",
|
||
" reachable = np.zeros((n, n), dtype=bool)\n",
|
||
" \n",
|
||
" # Build reachability through refs only\n",
|
||
" for i, block_i in enumerate(candidates):\n",
|
||
" # Compute what's reachable from block_i through refs\n",
|
||
" visited = set()\n",
|
||
" stack = [block_i]\n",
|
||
" while stack:\n",
|
||
" current = stack.pop()\n",
|
||
" if current not in visited:\n",
|
||
" visited.add(current)\n",
|
||
" # Only follow refs, not deps!\n",
|
||
" if current in adversarial_block_ids:\n",
|
||
" stack.extend(self.blocks[current].refs)\n",
|
||
" \n",
|
||
" # Mark reachability\n",
|
||
" for j, block_j in enumerate(candidates):\n",
|
||
" if i != j and block_j in visited:\n",
|
||
" reachable[i][j] = True\n",
|
||
" \n",
|
||
" # Now build antichain greedily with smart ordering\n",
|
||
" # Sort candidates by strategy:\n",
|
||
" # 1. Prefer blocks with fewer reachable blocks (less constraining)\n",
|
||
" # 2. Then by slot (prefer more recent for weight)\n",
|
||
" candidate_scores = []\n",
|
||
" for i, bid in enumerate(candidates):\n",
|
||
" reachable_count = np.sum(reachable[i, :]) # How many blocks this reaches\n",
|
||
" reached_by_count = np.sum(reachable[:, i]) # How many blocks reach this\n",
|
||
" slot = self.blocks[bid].slot\n",
|
||
" # Score: prefer blocks that reach few and aren't reached by many\n",
|
||
" score = (-reachable_count * 1000 - reached_by_count * 100 + slot)\n",
|
||
" candidate_scores.append((i, bid, score))\n",
|
||
" \n",
|
||
" candidate_scores.sort(key=lambda x: x[2], reverse=True)\n",
|
||
" \n",
|
||
" # Build antichain greedily\n",
|
||
" antichain = []\n",
|
||
" antichain_indices = []\n",
|
||
" \n",
|
||
" for i, bid, score in candidate_scores:\n",
|
||
" # Check if this block is compatible with current antichain\n",
|
||
" can_add = True\n",
|
||
" \n",
|
||
" for j in antichain_indices:\n",
|
||
" # Can't add if there's a path between them in either direction\n",
|
||
" if reachable[i][j] or reachable[j][i]:\n",
|
||
" can_add = False\n",
|
||
" break\n",
|
||
" \n",
|
||
" if can_add:\n",
|
||
" antichain.append(bid)\n",
|
||
" antichain_indices.append(i)\n",
|
||
" \n",
|
||
" return antichain\n",
|
||
" \n",
|
||
" # Build optimal antichain for each adversarial block\n",
|
||
" for idx, adv_bid in enumerate(adversarial_block_ids):\n",
|
||
" adv_block = self.blocks[adv_bid]\n",
|
||
" \n",
|
||
" # Get candidates: all previous adversarial blocks within window\n",
|
||
" candidates = []\n",
|
||
" min_slot = max(0, adv_block.slot - self.params.window_size)\n",
|
||
" \n",
|
||
" for earlier_idx in range(idx):\n",
|
||
" earlier_bid = adversarial_block_ids[earlier_idx]\n",
|
||
" earlier_block = self.blocks[earlier_bid]\n",
|
||
" \n",
|
||
" if earlier_block.slot >= min_slot and earlier_block.slot < adv_block.slot:\n",
|
||
" candidates.append(earlier_bid)\n",
|
||
" \n",
|
||
" # Build the antichain using the reachability matrix approach\n",
|
||
" refs = build_maximum_antichain(candidates)\n",
|
||
" adv_block.refs = refs\n",
|
||
" \n",
|
||
" # Extra pass (ensure full connectivity + rule 2)\n",
|
||
" for i, a in reversed(list(enumerate(adversarial_block_ids))):\n",
|
||
" desc_set = compute_descendants_refs_only(a)\n",
|
||
" for b in adversarial_block_ids[i + 1:]:\n",
|
||
" if b not in desc_set and not self.blocks[b].refs:\n",
|
||
" self.blocks[b].refs.append(a)\n",
|
||
" \n",
|
||
" # Find the slot of the closest direct honest descendant of fid\n",
|
||
" ref_slot = None\n",
|
||
" for b in self.blocks[target_block.id+1:]:\n",
|
||
" if b.adversarial:\n",
|
||
" break\n",
|
||
" if target_block.id in b.refs:\n",
|
||
" ref_slot = b.slot\n",
|
||
" break\n",
|
||
" if ref_slot is None:\n",
|
||
" return -1\n",
|
||
" \n",
|
||
" # Compute reorg length\n",
|
||
" last_adv_slot = self.blocks[adversarial_block_ids[-1]].slot\n",
|
||
" first_adv_bid = adversarial_block_ids[0]\n",
|
||
" honest_weights = self.block_ref_weights_by_slot(fid)\n",
|
||
" adv_weights = self.adversarial_ref_weights_by_slot(first_adv_bid)\n",
|
||
" \n",
|
||
" hi_uncapped = highest_advantage_index_nonzero(honest_weights, adv_weights)\n",
|
||
" hi = min(hi_uncapped, last_adv_slot)\n",
|
||
" return int(hi - ref_slot) if hi - ref_slot >= 0 else -1"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "911b38c8-8f8b-4ca5-b875-ea84e8161a79",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Single Run and Visualization"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 59,
|
||
"id": "a0123dab-cf0d-4721-81c7-bb881a27c13c",
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"avg blocks per slot 0.159\n",
|
||
"Number of blocks 159\n",
|
||
"Total number of refs created 399\n",
|
||
"CPU times: user 34 ms, sys: 3.81 ms, total: 37.8 ms\n",
|
||
"Wall time: 37.4 ms\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"%%time\n",
|
||
"random.seed(0)\n",
|
||
"np.random.seed(0)\n",
|
||
"\n",
|
||
"sim = Sim(\n",
|
||
" params=Params(\n",
|
||
" SLOTS=1000,\n",
|
||
" f=0.25,\n",
|
||
" window_size=30,\n",
|
||
" use_deps=True,\n",
|
||
" adversary_control = 0.4,\n",
|
||
" honest_stake = np.random.pareto(10, 1000)\n",
|
||
" ),\n",
|
||
" network=blend_net\n",
|
||
")\n",
|
||
"sim.run()\n",
|
||
"\n",
|
||
"n_blocks_per_slot = len(sim.blocks) / sim.params.SLOTS\n",
|
||
"print(\"avg blocks per slot\", n_blocks_per_slot)\n",
|
||
"print(\"Number of blocks\", len(sim.blocks))\n",
|
||
"\n",
|
||
"total_refs = sum([len(b.refs) for b in sim.blocks])\n",
|
||
"print(\"Total number of refs created\", total_refs)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 60,
|
||
"id": "a252486b-8c25-4d79-9dae-085a879a3112",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"reorg: 61\n",
|
||
"chain.html\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"text/html": [
|
||
"\n",
|
||
" <iframe\n",
|
||
" width=\"1000\"\n",
|
||
" height=\"800\"\n",
|
||
" src=\"chain.html\"\n",
|
||
" frameborder=\"0\"\n",
|
||
" allowfullscreen\n",
|
||
" \n",
|
||
" ></iframe>\n",
|
||
" "
|
||
],
|
||
"text/plain": [
|
||
"<IPython.lib.display.IFrame at 0x1165336b0>"
|
||
]
|
||
},
|
||
"execution_count": 60,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"max_reorg = sim.attack_on_block(sim.blocks[3])\n",
|
||
"print(\"reorg:\", max_reorg)\n",
|
||
"\n",
|
||
"visualize_chain(sim)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "81d29c1d-98cb-4ab3-8f66-ea032be30eb1",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Attack all blocks (single-threaded)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 61,
|
||
"id": "f9d62ff7-e03a-4ef0-9521-00466019feb5",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# def attack_all_blocks(sim) -> dict[int, any]:\n",
|
||
"# sim.run()\n",
|
||
"# baseline = sim.clone_for_attack()\n",
|
||
"\n",
|
||
"# results: dict[int, any] = {}\n",
|
||
"# adv_id = baseline.params.N - 1\n",
|
||
"# for blk in baseline.blocks:\n",
|
||
"# if blk.leader == adv_id:\n",
|
||
"# continue\n",
|
||
"# sim_copy = baseline.clone_for_attack()\n",
|
||
"# results[blk.id] = sim_copy.attack_on_block(sim_copy.blocks[blk.id])\n",
|
||
"# return results\n",
|
||
"\n",
|
||
"# random.seed(0)\n",
|
||
"# np.random.seed(0)\n",
|
||
"\n",
|
||
"# sim = Sim(\n",
|
||
"# params=Params(\n",
|
||
"# SLOTS=1000,\n",
|
||
"# f=0.25,\n",
|
||
"# window_size=30,\n",
|
||
"# use_deps=True,\n",
|
||
"# adversary_control = 0.4,\n",
|
||
"# honest_stake = np.random.pareto(10, 1000)\n",
|
||
"# ),\n",
|
||
"# network=blend_net\n",
|
||
"# )\n",
|
||
"\n",
|
||
"# results = attack_all_blocks(sim)\n",
|
||
"# print(\"(ID, reorg length) -> \", max(results.items(), key=lambda x: x[1]))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "ed750bd2-c083-4768-a317-c4f8aa487cd7",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Attack all blocks (parallelized)"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 62,
|
||
"id": "d5f0a0b9-732e-4120-a0ec-da4e867994d9",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"import os\n",
|
||
"import platform\n",
|
||
"\n",
|
||
"home_dir = os.path.expanduser(\"~\")\n",
|
||
"joblib_temp = os.path.join(home_dir, \"joblib_tmp\")\n",
|
||
"\n",
|
||
"def parallel_attack_all_blocks(sim, skip_last: int = 0):\n",
|
||
" sim.run()\n",
|
||
"\n",
|
||
" def _attack_block_copy(orig_sim, block_id):\n",
|
||
" sim_copy = orig_sim.clone_for_attack()\n",
|
||
" result = sim_copy.attack_on_block(sim_copy.blocks[block_id])\n",
|
||
" return block_id, result\n",
|
||
"\n",
|
||
" # Configuration for the Nomos experiments server\n",
|
||
" n_jobs = 95 if platform.system() == \"Linux\" else 8\n",
|
||
" \n",
|
||
" blocks = sim.blocks if skip_last == 0 else sim.blocks[:-skip_last]\n",
|
||
" block_ids = [b.id for b in blocks]\n",
|
||
" attacked_results = Parallel(\n",
|
||
" n_jobs=n_jobs,\n",
|
||
" backend=\"loky\",\n",
|
||
" temp_folder=joblib_temp\n",
|
||
" )(\n",
|
||
" delayed(_attack_block_copy)(sim, bid)\n",
|
||
" for bid in block_ids\n",
|
||
" )\n",
|
||
" return (attacked_results, sim.blocks)\n",
|
||
"\n",
|
||
"def plot_attack_histogram_binned(attacked_results, bin_size=30, figsize=(12, 6), label_fontsize=8):\n",
|
||
" indices = [result for _, result in attacked_results]\n",
|
||
" max_idx = max(indices)\n",
|
||
" \n",
|
||
" bin_start = 0\n",
|
||
" bin_end = ((max_idx // bin_size) + 1) * bin_size\n",
|
||
" bins = list(range(bin_start, bin_end + bin_size, bin_size))\n",
|
||
" \n",
|
||
" labels = [f\"{b // bin_size} ({b})\" for b in bins]\n",
|
||
" \n",
|
||
" plt.figure(figsize=figsize)\n",
|
||
" plt.hist(indices, bins=bins, edgecolor='black')\n",
|
||
" plt.xlabel('Reorg in virtual blocks and slots')\n",
|
||
" plt.ylabel('Frequency')\n",
|
||
" plt.title(f'Histogram of Attack Results (bins of {bin_size})')\n",
|
||
" plt.xticks(bins, labels, rotation='vertical', fontsize=label_fontsize)\n",
|
||
" plt.tight_layout()\n",
|
||
" plt.show()"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 63,
|
||
"id": "3050fdf6-c22a-44de-b1f0-77af5b42d96d",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"# %%time\n",
|
||
"# random.seed(0)\n",
|
||
"# np.random.seed(0)\n",
|
||
"\n",
|
||
"# sim = Sim(\n",
|
||
"# params=Params(\n",
|
||
"# SLOTS=15000,\n",
|
||
"# f=0.25,\n",
|
||
"# window_size=30,\n",
|
||
"# use_deps=True,\n",
|
||
"# adversary_control = 0.3,\n",
|
||
"# honest_stake = np.random.pareto(10, 1000)\n",
|
||
"# ),\n",
|
||
"# network=blend_net\n",
|
||
"# )\n",
|
||
"# attack_result = parallel_attack_all_blocks(sim)\n",
|
||
"# plot_attack_histogram_binned(attack_result, bin_size=30)\n",
|
||
"\n",
|
||
"# print(max(attack_result, key=lambda x: x[1]))"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "markdown",
|
||
"id": "1b5f62a7-d59d-4162-9a5a-5220c061a6b5",
|
||
"metadata": {},
|
||
"source": [
|
||
"## Multiple Experiments and frequency analysis"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 64,
|
||
"id": "0953f236-7176-4787-8a21-77450835f728",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": [
|
||
"def plot_attack_histogram_frequency(\n",
|
||
" attacked_results: list[tuple[int, int]],\n",
|
||
" total_honest_blocks: int,\n",
|
||
" adversary_stake: int,\n",
|
||
" bin_size: int = 30,\n",
|
||
" figsize: tuple[int, int] = (12, 6),\n",
|
||
" label_fontsize: int = 8,\n",
|
||
" file_suffix=\"\"\n",
|
||
"):\n",
|
||
" # Extract reorg lengths from (block_id, length) tuples\n",
|
||
" all_reorgs = [length for _, length in attacked_results if length > 0]\n",
|
||
" if not all_reorgs:\n",
|
||
" print(\"No reorgs to plot\")\n",
|
||
" return\n",
|
||
" \n",
|
||
" # Compute bins\n",
|
||
" max_idx = max(all_reorgs)\n",
|
||
" bin_end = ((max_idx // bin_size) + 1) * bin_size\n",
|
||
" bins = np.arange(0, bin_end + bin_size, bin_size)\n",
|
||
"\n",
|
||
" # Compute weights (relative frequencies) for histogram\n",
|
||
" weights = np.ones_like(all_reorgs, dtype=float) / total_honest_blocks\n",
|
||
" counts, edges = np.histogram(all_reorgs, bins=bins, weights=weights)\n",
|
||
"\n",
|
||
" plt.figure(figsize=figsize)\n",
|
||
"\n",
|
||
" # Bar plot with a muted blue and slight transparency\n",
|
||
" bars = plt.bar(\n",
|
||
" edges[:-1],\n",
|
||
" counts,\n",
|
||
" width=bin_size,\n",
|
||
" align='edge',\n",
|
||
" edgecolor='#555555',\n",
|
||
" color='#4C72B0',\n",
|
||
" alpha=0.8,\n",
|
||
" label='Grouped relative frequency (virtual blocks)'\n",
|
||
" )\n",
|
||
"\n",
|
||
" # Compute exact relative frequency (no bins)\n",
|
||
" unique_vals, raw_counts = np.unique(all_reorgs, return_counts=True)\n",
|
||
" exact_rel_freq = raw_counts / total_honest_blocks\n",
|
||
"\n",
|
||
" # Line plot of exact relative frequencies with a contrasting orange and thinner line\n",
|
||
" plt.plot(\n",
|
||
" unique_vals,\n",
|
||
" exact_rel_freq,\n",
|
||
" marker='o',\n",
|
||
" markersize=4,\n",
|
||
" linestyle='-',\n",
|
||
" color='#DD8452',\n",
|
||
" linewidth=1.0,\n",
|
||
" label='Relative frequency per slot'\n",
|
||
" )\n",
|
||
"\n",
|
||
" plt.yscale('log')\n",
|
||
" plt.xlabel('Reorg in virtual blocks and slots')\n",
|
||
" plt.ylabel('Relative frequency (log scale)')\n",
|
||
" plt.title(f'Log‐Scaled Histogram over {total_honest_blocks} Honest Blocks ({ADVERSARY_STAKE * 100}% adversarial stake)')\n",
|
||
"\n",
|
||
" # Annotate bars\n",
|
||
" for bar, height in zip(bars, counts):\n",
|
||
" if height > 0:\n",
|
||
" x = bar.get_x() + bar.get_width() / 2\n",
|
||
" y = height\n",
|
||
" plt.text(\n",
|
||
" x,\n",
|
||
" y,\n",
|
||
" f'{height:.2e}',\n",
|
||
" ha='center',\n",
|
||
" va='bottom',\n",
|
||
" fontsize=label_fontsize\n",
|
||
" )\n",
|
||
"\n",
|
||
" plt.grid(True, which='both', axis='y', linestyle='--', linewidth=0.3)\n",
|
||
" plt.xticks(\n",
|
||
" edges,\n",
|
||
" [f\"{int(edge // bin_size)} ({int(edge)})\" for edge in edges],\n",
|
||
" rotation='vertical',\n",
|
||
" fontsize=label_fontsize\n",
|
||
" )\n",
|
||
" plt.legend(fontsize=label_fontsize)\n",
|
||
" plt.tight_layout()\n",
|
||
" plt.savefig(f'simulation_results_histogram{file_suffix}.png', dpi=300, bbox_inches='tight')\n",
|
||
" plt.show()\n",
|
||
"\n",
|
||
"def fully_successful_attacks(\n",
|
||
" attacked_results: list[tuple[int, int]],\n",
|
||
" sim: Sim,\n",
|
||
" tolerance: int = 0\n",
|
||
") -> int:\n",
|
||
" \"\"\"\n",
|
||
" Count how many attacks were “fully successful,” meaning\n",
|
||
" reorg_length ≥ ( (S−1) − fslot ) − tolerance,\n",
|
||
" where fslot is the honest block’s slot.\n",
|
||
"\n",
|
||
" Read the attack_on_block function for more details\n",
|
||
" \"\"\"\n",
|
||
" S = sim.params.SLOTS\n",
|
||
" count = 0\n",
|
||
"\n",
|
||
" successful = []\n",
|
||
" for honest_id, length in attacked_results:\n",
|
||
" if length < 0:\n",
|
||
" continue\n",
|
||
"\n",
|
||
" fslot = sim.blocks[honest_id].slot\n",
|
||
" max_len = (S - 1) - fslot\n",
|
||
" if length >= max_len - tolerance:\n",
|
||
" successful.append([honest_id, fslot, length])\n",
|
||
" count += 1\n",
|
||
"\n",
|
||
" return count, successful"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 65,
|
||
"id": "35f3346b-0ffa-4aa4-8be4-237a25a0f4a8",
|
||
"metadata": {
|
||
"jupyter": {
|
||
"source_hidden": true
|
||
}
|
||
},
|
||
"outputs": [],
|
||
"source": [
|
||
"def run_multiple_attacks(\n",
|
||
" n_runs: int,\n",
|
||
" slots: int,\n",
|
||
" f: float,\n",
|
||
" window_size: int,\n",
|
||
" use_deps: bool,\n",
|
||
" adversary_control: float,\n",
|
||
" network,\n",
|
||
" base_seed: int = 0,\n",
|
||
" skip_last: int = 100,\n",
|
||
") -> tuple[list[int], int]:\n",
|
||
" \"\"\"\n",
|
||
" Runs `parallel_attack_all_blocks` over `n_runs` independent seeds.\n",
|
||
" Returns:\n",
|
||
" - all_attacks: flattened list of (block_id, reorg_length) tuples\n",
|
||
" - total_honest_blocks: count of honest blocks across all runs\n",
|
||
" - last_sim: the Sim instance from the final run\n",
|
||
" \"\"\"\n",
|
||
" assert slots > 500, \"Must simulate more than 500 slots\"\n",
|
||
" all_attacks: list[tuple[int, int]] = []\n",
|
||
" total_honest_blocks = 0\n",
|
||
" last_sim = None\n",
|
||
"\n",
|
||
" for i in range(n_runs):\n",
|
||
" print(f\"Executing run {i + 1}/{n_runs}\")\n",
|
||
" seed = base_seed + i\n",
|
||
" random.seed(seed)\n",
|
||
" np.random.seed(seed)\n",
|
||
"\n",
|
||
" params = Params(\n",
|
||
" SLOTS=slots,\n",
|
||
" f=f,\n",
|
||
" window_size=window_size,\n",
|
||
" use_deps=use_deps,\n",
|
||
" adversary_control=adversary_control,\n",
|
||
" honest_stake=np.random.pareto(10, 1000)\n",
|
||
" )\n",
|
||
" sim = Sim(params=params, network=network)\n",
|
||
" last_sim = sim # save for return\n",
|
||
"\n",
|
||
" attacked, blocks = parallel_attack_all_blocks(sim, skip_last=skip_last)\n",
|
||
" all_attacks.extend(attacked)\n",
|
||
"\n",
|
||
" total_honest_blocks += len(blocks)-skip_last\n",
|
||
"\n",
|
||
" # Print at every step\n",
|
||
" plot_attack_histogram_frequency(all_attacks, total_honest_blocks, adversary_control, bin_size=30, file_suffix=f\"_{i}\")\n",
|
||
"\n",
|
||
" return all_attacks, total_honest_blocks, last_sim"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 66,
|
||
"id": "86554739-64cd-4a8b-9187-de5991fc9fce",
|
||
"metadata": {},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Executing run 1/1\n"
|
||
]
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJOCAYAAABm7rQwAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3QeYG9XVxvEzI2mrve42tukdhw42NaZDgEDovZfQklBCDYSQ4AAhBEiI6TWE0EvoJIAJEIrp5SMUUwy4UOy11/Y2lfme965H1mq1Wmm9ff+/51lLlq5G945GI83RuWe8IAgCAwAAAAAAALqQ35VPBgAAAAAAAAhBKQAAAAAAAHQ5glIAAAAAAADocgSlAAAAAAAA0OUISgEAAAAAAKDLEZQCAAAAAABAlyMoBQAAAAAAgC5HUAoAAAAAAABdjqAUAAAAAAAAuhxBKQDo57744gvzPM9uvfXWDlumlqVlatkdTcu94IILOny5ALreiiuuaEcccUSn7tsuu+wy60z33HOPDR061BYuXNipz9PXdMZnT0+09dZbu7/e/nmn9+qPf/zjDlnWtddea8svv7w1NDR0yPIA9G4EpQD0a2Hw5PXXX7eeoLGx0f785z/bBhtsYFVVVTZ48GD7wQ9+YD/96U/tww8/tL5GX7a1/r///vtO/RL8j3/8w6688sqlXg66xgMPPGD777+/rbzyylZRUWFrrLGG/fKXv7R58+bl3Ea0DWX/HX/88S3avvHGG257WmaZZWzAgAG27rrr2l/+8hdLJpPpNnPmzLE//vGPNnHiRBsxYoR7D2666aZ29913d0ggpK1tvqepra11fX7uuecKaq922a+FAjZah3fccYf1Ndp2fvOb39jPf/5zt02FLrroIjdmbUNlZWW22mqr2SmnnGLfffddi2WkUim79NJLbaWVVnJttV3eeeedBfdB7wt9Rui5KisrbZtttrE333yzWZsgCOy3v/2tjR071kaOHOn6os+bTAqq6X7tL9G3vPTSS+59nGsf2h0UiNb2d91113V3VwD0ANHu7gAAYIm9997bnnjiCTvwwAPt2GOPtXg87oJRjz76qG2++ea25pprWn9XV1dn0WhxH186yHr//ffdgRh6Ph1gjxkzxg455BD3a/p7771nf/3rX+3xxx93B9vl5eXN2q+//vouaJVp9dVXbxGQ0ntIwYGzzjrLBbv0Xjv55JPt008/dcFgefnll+3cc8+1XXbZxc477zy3rd1///12wAEH2AcffOAO7PsTBaXCMReT7fGLX/zCxo8fnw70Kain11MHxSeddJL1FY888oh99NFHbpvN3t60XWq7GThwoP3vf/+zG264wR577DF7++23XfAopO3tkksucft8rbN//vOfdtBBB7mAnh6fjwJau+66q73zzjt2xhln2PDhw+3qq692r5X6oO1dFBBUoEzbvp7797//vY0aNcrOOeec9LJ0m4K8em50nH/96189Iiil97GCQQq0dzcFXw8//HC7/PLLXUBX2zqA/ougFAD0EK+99poLPunA4Fe/+lWz+3RA3lN+4ewJX2Z7m0WLFjU7CO3vlLVRX1/fIrgUuu+++1oEQDbaaCN3EKOD62OOOabZfcruUMAjn/AX+eeff95l7shxxx1nW221lcuYDINSykz85JNPbIUVVkg/9sQTT7Ttt9/e/vCHP9iZZ57Ja1mAH/7wh7bPPvuk/3/CCSe4zDcFiPtSUOqWW26xLbbYwm2DmRTIzLbZZpu5daJAVhhsmjFjhv3pT39y60T7edH2re1SQaZ9993XIpFIq8+v94oCDvfee296fe+3334uKKsMrjDrSZ8tBx98sP3ud79LB/cffvjhdFAqDMzq/dHXddX+WAFdBb9LSko6/bl6I22nyhCcMmWKbbvttt3dHQDdiOl7AFCAt956y3beeWc3pU5TNLbbbjt75ZVXWrR799133cGEDraXXXZZmzRpkjtoKaS+kg4KRAc42XRQMmzYsGa36WDm6KOPdhklpaWlbuqHDvzCKRlz5861008/3dZZZx3XZ/VdY9Av6oVQhpYOcnQAr0DQxhtv7A5isv3f//2f+0KZOWb9et9ZsmtsLFiwwGVA6Rd+rQdNTdlhhx3S01cU3FB2wvTp09PTidQ29O2337r1qKwBjXO99daz2267rcXzKtvj0EMPTU+rVIBE6zK7Jop+idb61uupbBtlSehgUF544QV3kKnsH/V1ueWWs1NPPdUdIGYKl/Hll1+66Wa6roPeyZMnu/uVOaR1rgMrBU8KnW6jgzFlFOl59fyaFqdpZgoShdZee203/SebXlP1ITPQoNs0LVKBHK07rUMFeqqrq3NOw3zqqafcdqRtJd+0jVwZOXvuuae7VMZJLtruNb7W1NTUuD5mZwmMHj26WXBM76PMgJToNd5jjz1c/ZPPPvvMOoOCCgq8qS/KdlGQTe/xXNuFbld/dF1TtvQ+z5yCWMxro6nLO+20k3tOPbfGf9RRR7n7tM/S8kVZFuH7pz01bnRgPmTIkIKyHLWO9T7RvkcH9ZoGp/dwNgU21RcFYDRGvZZ77bVXel+ai7Z1ZTWpP5omKspI1fiUVaTlaF+75ZZb2r///e+8/dTzP/nkky5gWYhwv5P5A4OyovT8CnyGtI61L//6669d5l4+CkrptdW4Q3rNdMCvZYc1e7SP0foPad0qaBLSfkGBMr0/C6X33Pnnn++220GDBrn9kYKRCjJk05i1/apduP/M/qFF+yKNXfvqbAqe6TXL3H5fffVV+9GPfuSWqe1En73//e9/c06XVZajMsC0DvTayuzZs+3II490n1vaH2r7+clPftLss1rrUJlo4efsKqusYhdeeGGL95v2Wdp3KjtNU3/Vn/DHpeyaUsWst0JdddVV7r2u59UY9TqGnwtaBwpwit7f4fs4HKe+o+jzRJ+dGuO4cePsmmuuKeh59Vmp93S4/EJfF9H4tR1qHQPo38iUAoA2KOiiL4wKRihLIhaLuQNqfcn8z3/+Y5tssolrpwNFHczry56+QOuL5o033ui+5BUiPBBWJogCU/kO3mbOnGkTJkxI1xLRtD49vw5QdKChL+86sHvooYfcwZ2+iH7zzTeu3/qCqC/o+pKdb8zhr/9nn322G4uK+epAWBkAYYBAX+o15kQikW53/fXXt5oB0xoF0HIpJLil2kEa989+9jP3ZVrBoxdffNEFLzbccEM3NWb+/PnuAO+KK65wjwlrv+hATa/jtGnT3OO1nhQc0MGT1q2mdoX92G233Wzq1KnuYFHrW1+kdWCVi9aHDvR18KMDLX0xFy1br4+WoQNfLU8HE+qb7sukgx4FEXWAo1+TtV2oj1rHGpMCXToQVcHYww47zGVhqP/5DsZ33313d+CjIJymFilIpIMJbTvhulEtJx3E6LVV7aWQ1qm2u8zpRApyKCCnAztN1/r8889dtoeCuDoI0XslpClOmpaqx2iakgJixVB/RMGTbM8++6xbx1pneh8p0Be+diG9zppCpuc/7bTT0tP3FJhQDamlef5c9DrnqhuVGQgIhetQU7cuvvhi915V1orWodZlZiBNY9S2pf2Otq2nn37aZdroYFnbVTGvjQKyO+64owti6P2r59GBahis0e06ONVy9Z4PAx+qedQWBYvD8ev9HU6hvemmm/I+TmPXNEutJ/Vb7xMd+Grb1fs83PdoPSjQ+cwzz7htUq+3nlOBJD2P1kc2PUYBN20HDz74oAs2iLZ3rXdlKGm/qgCmgnUKbCvA3RoFIBRg0H6mtfec9kfaHyj7TutYPzBkBij0eug9vdZaazV7rPoR3h8GUXLR/Xp+3/dbPF774o8//tj9MKFtS9P69Hmg59NngdazaJ3pPaS2xdB60mdcON1c61+vr7ZP7du0jwnXg4I92odof62xav1n7z8VSNNnrD5rMoMcotu0rYaBNfVX+0cFNpQRpvGHwRUF/8P1F9K4FXTUFMYwCK/p8vqs0/QxBQz1ftC60I8BYQBR7yF9XmifoUs9rwJKGnv2fkOvtfqk7VFBZQULl2a9FUrTQvVe0Q8Geh8oWKofyBQcUiBO71u9tqpTpv18uA8LA856jyugpfeYvncok09BUn3u5ctq1Pal11PBN/0Y1Z7XRdturoAVgH4mAIB+7JZbbtG30+C1115rtc0ee+wRlJSUBJ9++mn6tpkzZwYDBw4MJk6cmL7t5z//eeB5XvDWW2+lb5szZ04wdOhQ9xyff/553r6kUqlgq622cm1HjRoVHHjggcHkyZOD6dOnt2h72GGHBb7v5+y3liP19fVBMplsdp/6UFpaGvzud79rdpueU+sitN122wXrrLOOW0bmcjfffPNgtdVWS992yimnuMe++uqr6du+/fbbYNCgQQWN+Te/+Y1rl+9v1113bfYY3abHhfRcJ510Ut7n0TJWWGGFFrdfeeWVbnl///vf07c1NjYGm222WTBgwICgpqbG3Xb//fe7dmof0rrddtttW6y7ww8/3N129tlnt3i+2traFrddfPHFbrvJfJ3DZVx00UXp26qrq4Py8nLX9q677krf/uGHH7ZYJ7k89NBDrt2kSZOa3b7PPvu4ZU6bNs39/6OPPnLtrrrqqmbtTjzxRLdOwjG88MILrt0dd9zRrN2TTz7Z4nate92m+9rr6KOPDiKRSPDxxx83u3233XYL/vCHP7jx3XTTTcEPf/hD91xnnnlms3aJRCL42c9+FsRisfS2peVdc801bT633scjR450y25L+H5q6++7775Lb29a9tprrx3U1dWll/Poo4+6duef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ts8++3R3VwAAAAAAANBfpu+dfPLJdtRRR9ltt93W3V0BAAAAgG6RTCYtHo93dzcA9CGxWMwikUi7H98vglJbb721Pffcc93dDQAAAADoFgsXLrSvv/7anaYdADqyZpTOrjdgwIDeGZR6/vnn7Y9//KO98cYbNmvWLHvwwQdtjz32aNZm8uTJrs3s2bNtvfXWs6uuusomTJjQbX0GAAAAgN6UIaWAVEVFhY0YMaLNwsMAUAgFub/77ju3f1lttdXalTHV7UGpRYsWuUCTptfttddeLe6/++677bTTTrNrr73WNtlkE7vyyittp512so8++shGjhzp2qy//vqWSCRaPPZf//qXjRkzpkvGAQAAAAA9kabs6eBRAany8vLu7g6APmTEiBH2xRdfuP1MrwxK7bzzzu6vNZdffrkde+yxduSRR7r/Kzj12GOP2c0332xnn322u+3tt9/usP40NDS4v1BNTY27rKurc5f6VUErurGx0e3Qa2trrbKy0gXX9MuD2pWUlLhfI7Tj1/zK+vr6dJvwUo/V7bpf7VKpVN626lP4AmvZpaWl7rmy25aVlbmNwfd911dd12352jImxsSYGBNjYkyMiTExJsbEmPrumHRdl3qcxqc/9SvzMsyeUrvs+zIvM6f/dVTbzMwtXW9tee1ty5gYE2PyO21M4f5o/vz57jLc72lf1OvPvqedsab1bb/99unbNDj9/+WXX+6U57z44ott0KBB6b/llluuU54HAAAAAPqzlVde2X7wgx/YRhttZOPGjbM//OEPBT1ulVVWKSgx4c9//rMrARO67rrr7LLLLrOOdMwxx9i6666bc9YPls6qq65a0Ov829/+1gVe0Tt5QQ+qdKfIW2ZNqZkzZ9rYsWPtpZdess022yzd7swzz7T//Oc/9uqrrxa0XAWx3nnnHRepGzp0qN17773NltdWppQCU4r6VVVVLfUYAQAAAKAr6YD9888/t5VWWsllZRVj0YevWPUL91h8zkyLDRtjQ364n1WuuWmH9GvFFVe0hx56yJVjmTFjhgtM/fvf/26zfnDm4zqiXXt98803LrCmY8Zc05aUQbI0ZyXri1R2JxotbMJWoa+f4gjV1dU2ePDgDuolOmL/oveFEn3aiqX06EypjvL000+74ltKf1UBrtYCUqL0W62wzD/0HI8//rhtuOGGbse09tpr22233Zaz3Zdffmm77babrbHGGu7DTcXxsx1xxBFuBzZv3rx29eXRRx+1Nddc0xV00y8j4VTP9957zyZOnOjuUx9VLy2c/gkAAAD0FgpIfXP/H63x2y8tSMbdpf6v2zuakhH0/Xn69Onu/8pw2m+//VyAap111rHzzjuv1XIv48ePd8cHugxn1Pzud79zSQ7777+/u08ZNxdccIGdcsop7v7VV1/dXn/99fRybr31Vttzzz0Lfm4dQ2yzzTbugFyZXpdccolbhm7be++93eOmTp1qr732mm277ba28cYb2wYbbOASJDIzt3QsodsvvPDCFlOpMo9Thg8f7ur2yCeffGK77rqrG6+ytP761782e9xFF13k+q4gwS233JK+73//+5+rz6zH6E+lcbQOtN4zc1U233xze+KJJ3IeP+nYRvdr/R1++OHp45wFCxa4sjt6Xi37pz/9qZv5JFtvvbX94he/cMfhO+64Y4vl3njjje6YTa+T1luu5JNp06a5ZBMtW+0UrJLjjz/eXf7whz90t3/77bctHoseLuhB1J0HH3ww/f+GhoYgEok0u00OO+ywYPfdd++SPs2fP9/1S5foXqlUKhgyZEjwzjvvuP9//vnnQWlpaVBTU9Oi3YYbbhjcc8896dtmz57drM39998fHHPMMe61ra6uLrovCxYsCEaOHBn873//c/8/6aSTgtNPP91d//jjj9N9TCQSwX777Rf85je/aceIAQAAgKVXV1cXfPDBB+4ylGysD+pnfpr3b/rkk4JPJ+2V9bd3MP3qk9p8rJbflhVWWCF466233HV9r15llVWCb7/91v1/xx13DJ577jl3PR6PBzvttFP6+33m48L28vLLLwdrrLFGzuWLvpOffPLJ7vrvf/979x0+NHHixODhhx9u87kz6Xhk0KBB6f/fcsstQXl5efDhhx+6/+s4Y/311w9mzpzp/v/dd98Fyy23XPD1118H7733XjBq1Kj0feecc447NgllH6cMGzbMPZ+OLzbaaKP0cciiRYuCddZZJ5g6dWr6cZdddll6nQ4YMMCNQX+rrbZa8I9//CO9TPVHNt988+Cpp55y1998881g1VVXdcdU2Q4//PBg3Lhx7vhL/fjxj3/s1qMce+yxwW233eau67FHH310cOmll7r/b7XVVm4dNjY2BrlUVVWl14Pa6Fgr+/WbMGFCcO2116aPt4YOHRp88cUXOdcVun//UkwspdsLneejIn6KOj/zzDPpKX0qpqX//+xnP+vu7qEbZP5ioMykYcOGuey2TNo+dNu+++6bvm3UqFHN0mz168GUKVNcVD7TU0895X6lUMRfqbaa165fO7LplwP9oqFfFeTEE090Uf8//vGP7teOkJahXzDef//9DlwLAAAAwNKJfz/DZtx8RjseGVhi7qw2Hzv2qD9a6eiV21yaMplUN1hnV7/iiivcmbxUdkXf6fW9PbRw4ULXJttbb71lv//9723OnDluWpja6Lt8W2cZPOyww9z3+T/96U9u6uDHH3/sTsBVzHPnoiwizdYQlaH57LPPWpzYS8vS8YFuHz16tLvthBNOcPWN26LH/t///Z8dcMAB6duUpfTBBx+44w45+OCD3aWOVbROlPmlKVTK6jrwwAObZV/JySef7LKtdDwzefJkd2yTmbWVSRlkAwcOdNePPvpo+8tf/mK/+tWvXOaSstSUuSbh8VTokEMOcYX3c9luu+3s0EMPdTNdtE6UhZVJ43vzzTftv//9r/u/jre23HJLe+GFF2yFFVZoc52hZ+v2oJTe4ErFC2kuolIrVftp+eWXt9NOO82lBSrdUamAV155pdtRhGfjQ/+hHePdd9/tpsrpzCKaN/zAAw+44GUm7ZD1YaYdtXbamousDxvN9xallV566aXpnWlIHxhK6VVgStM2tV0qDVRpstmBL00PzNwB6jlmzZrVYo60tlUFvgr5gAEAAAC6Smz4WBc4yuebBy+3RPWsrFs9iw5dxkbtcVqbyy+Evt9r2pVKrigooalumnYmr7zySt4aWJoepmMD/disgExYw0Y1gtsKSi277LLuGPOf//ynC/IoaKLv8WHB7LaeuzUDBgxIX1cSjwq5KziVLftH6+wgkAI6qkkVCvulZepYOV8B8Mx+azk6RslH61B1mxXge/jhh4sqBp95Rrb777+/RUAp13rJpsfpBGfPPfec7bLLLjZp0qRmQbd8z4ver9trSmkOqyLU+hMFoXT9/PPPT0fO9abQ/8O5wE8++WSzzBf0D9qZagelQJTmmusXDEXUv//++xbtnn32Wfv1r3/tdqyaN62IvihApGCnPuyyabtSIEr1oLSt7bPPPu5XGwWg2kMfktp+9YtDOD8dAAAA6An8WKnLZMr3N2zbQxa39jIuAxu2zaFtPlbLL4bq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glIA+o2f/vSn9tFHH9k777xjP/nJT+yYY45p0aasrMz++te/2ocffujaLVq0yP7whz+4+3TbGWecYU8++aS9//77duSRR9oJJ5xQdD9SqZQdfPDBduWVV9rHH39su+yyi51yyinuvkgkYr/+9a9dP999911beeWV3XMCAAAAQF9DUApAv6Bgk4I/nue5/2+66ab2xRdftGi32mqruQylMEA0fvz4dDsFonTf6NGj3f+1vCeeeMLmzJnj/v/aa6+5rKeNN97YNthgA7v33ntz9uWNN96waDRq22yzjfv/cccdZ4888ojL5ho1apRtueWW6babbLJJzn4CAAAAQG9HUApAv/TnP//ZZUvloyypG2+8Md1O0+3efPNNl90kf//73y0IAps+fbrNmzfPZWLdcccd9vrrr9u///1v++Uvf5melpdJU/5WWGGF9P8HDhxoVVVVbupepmQy6bK22uonAAAAAPRG0e7uAAB0tYsuusjVk3rmmWdabdPY2Gj777+/7bjjjrbnnnums6iuvfZaO+ywwyyRSNiuu+5qgwcPdllPL730kn322We28847N1uOpuGNHTu26D4q2HXiiSfakCFD7OSTT27HKAEAAACgZyMoBaBfueyyy+yBBx6wp59+2ioqKnK2icfjLiClaXrKqMq0zz77uD+ZPXu2qze16qqr2ldffWU/+MEPXHAq2yWXXGJ33XWXu672yy+/vMuuCi1YsMDmz59vY8aMSd/2i1/8wi3zoYceMt8nqRUAAABA38ORDoB+4/LLL7c777zTTa1ThlMuyoA64IADbOjQoXb99dena1CFZs2alZ5ad9ZZZ9lJJ53kglubb765ff755y7YFXr77bddxtXZZ5/trutPZ9bbaKONXOBrypQprt11111nu+22m6t7FQaklMn14IMPWklJSSeuEQAAAADoPmRKAegXvv76a1fjSWezCwuMl5aW2quvvmrnn3++y1I6/vjj7e6773aZVCpormLlssUWW9jkyZPd9aOOOsplOTU0NLjpe5oKKJpm99hjj9npp5/unkdBJ2VEKdMpmzKfVI9KBc5V3FzPffvtt7v7/vvf/9pVV11la665pityLiuttJILUAEAAABAX+IFKlyCVtXU1NigQYPc1BoVIu6tVGx50sWXWWTMRIuVD+nu7qCXiddVW3Lm83beOae3qz4SAAAAAKD/qCkwlkKmFICCpJJJ++abb7q7G+ilKisrW50yCQAAAKB/IigFoE3JeJ3V1My3a2+41SKRSHd3B73QgIoyO/dXZxGYAgAAAJBGUApAm4Jk3FKBZ6mh61tJJdM/UZxkfY0tnPu2LVq0iKAUAAAAgDSCUgAKFikZSE0ytEuyuzsAAAAAoMfxu7sDAAAAAAAA6H8ISgEAAAAAAKDLEZQCAAAAAABAlyMoBQAAAAAAgC5HUAoAAAAAAABdjqAUAAAAAAAAuly0mMapVMr+85//2AsvvGDTp0+32tpaGzFihG2wwQa2/fbb23LLLdd5PQUAAAAAAED/CkrV1dXZn/70J7vmmmts7ty5tv7669uYMWOsvLzcpk2bZg899JAde+yxtuOOO9r5559vm266qfU1WgfieZ5FIhFrbGx041dgrrKy0hYtWmQVFRWuXUlJiSWTSQuCwGKxmNXX16fbhJd6rG7X/WqngF++tg0NDe55RcsuLS11z5XdtqyszOLxuPm+7/qq67pN98WiURtQZhb3U1YeS1ljwreIHzQtM/As5gfWkPCsLJayurjv2tTHfSuNBhZPeRbxFrdNeVYSXdIm3TbhW2kksETKM88LXBqeHleao21DwrdYRONuWr++bxZP5mnrB6amQeBZVP1MelaWoy1j6pwxeaW+xQdU2sAybf+pPjGmvvg69dQx1TSaVVYNdPujefPmddl+L1/b3rovZ0yMiTExJsbEmBgTY2JMjKmxF4xJ/++woNTqq69um222md1www22ww47uM5mU+bUP/7xDzvggAPs3HPPdUGq3mzy5MnuTyscAAAAAAAAHcsLFBZrw//+9z9ba621ClqgomJffvmlrbLKKtYX1NTU2KBBg2z+/PlWVVVlvdWMGTNs0sWXWWTMRIuVD+nu7qCXqauebtXTptjgNXa1iqoR3d0d9DLxumpLznzezjvndBs7dmx3dwcAAABAD4mlFFTovNCAlCiLqq8EpAAAAAAAANCDzr6nQueHHHKIm9KnDBy5/fbb7cUXX+zo/gEAAAAAAKAPKjoodf/999tOO+3kil299dZbruCVKCXroosu6ow+AgAAAAAAoL8HpSZNmmTXXnutK3qeWfB8iy22sDfffLOj+wcAAAAAAIA+qOig1EcffWQTJ05scbsKWOlU3wAAAAAAAECHB6WWWWYZmzZtWovbVU9q5ZVXLnZxAAAAAAAA6IeKDkode+yxdvLJJ9urr75qnufZzJkz7Y477rDTTz/dTjjhhM7pJQAAAAAAAPqUaLEPOPvssy2VStl2221ntbW1bipfaWmpC0r9/Oc/75xeAgAAAAAAoH8HpZQdde6559oZZ5zhpvEtXLjQxo0bZwMGDOicHgIAAAAAAKDPKTooFSopKXHBKAAAAAAAAKBTglJ77bVXwQt84IEHiu4EAAAAAAAA+peCglKDBg3q/J4AAAAAAACg3ygoKHXLLbd0fk8AAAAAAADQb/jd3QEAAAAAAAD0P+0qdH7ffffZPffcY19++aU1NjY2u+/NN9/sqL4BAAAAAACgjyo6U+ovf/mLHXnkkTZq1Ch76623bMKECTZs2DD77LPPbOedd+6cXgIAAAAAAKB/B6Wuvvpqu/766+2qq66ykpISO/PMM+3f//63/eIXv7D58+d3Ti8BAAAAAADQv4NSmrK3+eabu+vl5eW2YMECd/3QQw+1O++8s+N7CAAAAAAAgD6n6KDUMsssY3PnznXXl19+eXvllVfc9c8//9yCIOj4HgIAAAAAAKDPKToote2229rDDz/srqu21Kmnnmo77LCD7b///rbnnnt2Rh8BAAAAAADQ38++p3pSqVTKXT/ppJNckfOXXnrJdt99dzvuuOM6o48AAAAAAADo70Ep3/fdX+iAAw5wfwAAAAAAAECnTd+75ZZb7N57721xu2677bbbil0cAAAAAAAA+qGig1IXX3yxDR8+vMXtI0eOtIsuuqij+gUAAAAAAIA+rOig1JdffmkrrbRSi9tXWGEFdx8AAAAAAADQ4UEpZUS9++67LW5/5513XNFzAAAAAAAAoMODUgceeKD94he/sClTplgymXR/zz77rJ188skUPAcAAAAAAEDnnH3vwgsvtC+++MK22247i0abHp5Kpeywww6jphQAAAAAAAA6JyhVUlJid999t02aNMnefvttKy8vt3XWWcfVlAIAAAAAAAA6JSgVWm211dyfpu+99957VlVVZUOGDGnv4gAAAAAAANCPFF1T6pRTTrGbbrrJXVdAaquttrINN9zQlltuOXvuuec6o48AAAAAAADo70Gp++67z9Zbbz13/ZFHHrHPPvvMPvzwQzv11FPt3HPP7Yw+AgAAAAAAoL8Hpb7//ntbZpll3PXHH3/c9ttvP1t99dXtqKOOctP4AAAAAAAAgA4PSo0aNco++OADN3XvySeftB122MHdXltba5FIpNjFAQAAAAAAoB8qutD5kUce6bKjRo8ebZ7n2fbbb+9uf/XVV23NNdfsjD4CAAAAAACgvwelLrjgAlt77bXtq6++sn333ddKS0vd7cqSOvvsszujjwAAAAAAAOjvQSnZZ599Wtx2+OGHd0R/AAAAAAAA0A8UXVMKAAAAAAAAWFoEpQAAAAAAANDlCEoBAAAAAACgyxGUAgAAAAAAQM8vdF5TU5Pzds/z3Jn4SkpKOqJfAAAAAAAA6MOKDkoNHjzYBaBas+yyy9oRRxxhv/nNb8z3ScQCAAAAAABABwSlbr31Vjv33HNd4GnChAnutqlTp9ptt91m5513nn333Xd22WWXuaypX/3qV8UuHgAAAAAAAP1A0UEpBZ/+9Kc/2X777Ze+bbfddrN11lnHrrvuOnvmmWds+eWXt9///vcEpQAAAAAAAJBT0fPrXnrpJdtggw1a3K7bXn75ZXd9yy23tC+//LLYRQMAAAAAAKCfKDootdxyy9lNN93U4nbdpvtkzpw5NmTIkI7pIQAAAAAAAPqcoqfvqV7Uvvvua0888YSNHz/e3fb666/bhx9+aPfdd5/7/2uvvWb777+/9QRfffWVHXroofbtt99aNBq1X//6167/AAAAAAAA6EVBqd13390FoFQ/6uOPP3a37bzzzvbQQw/Ziiuu6P5/wgknWE+hQNSVV15p66+/vs2ePds22mgj22WXXayysrK7uwYAAAAAANBvFT19T1ZaaSW75JJL7IEHHnB/F198cTog1dOMHj3aBaRkmWWWseHDh9vcuXO7u1sAgF7kySeftI033tjWXXdd23TTTe2dd95p0ebzzz93P3zoM2fttdd2WbnV1dXp+x999FFbc801bbXVVrO99trLampq2tUXTZfXMlZZZRU79thjLR6Pu9tV11HPrb8f/OAHdtxxx1lDQ8NSjBoAAADogUGpefPmuTPwHXPMMe7viiuusPnz57erA88//7w7e9+YMWPM8zyXcZVt8uTJLuhVVlZmm2yyiU2dOrVdz/XGG29YMplM174CAKAtCiwdfPDB7uyz7777rv3xj390/8+mz7EXX3zR3n77bXv//ffd/y+44AJ338KFC+3oo492n3GffPKJu+/CCy8sui8KfGka+gsvvGDTpk2zb775xq6//np333rrreemz+v533vvPTdt/eqrr+6ANQAAAAD0kKCU6kfp11kFopRxpL/LL7/c3fbmm28W3YFFixa5L9IKPOVy991322mnnWa/+c1v3PLVdqeddnJftkPhr9LZfzNnzky3UT8PO+yw9Jd3AAAK8emnn9qwYcNc9pH88Ic/dGeYzf7MKy0ttfLycnddP4Do800/tojqMOostcqUkhNPPNHuvPPO9GNvv/1296PLhhtuaBMnTsyZiSWq3ahp9Mr81bKPP/749HIqKiosFou5642NjVZXV5d+fgAAAKBP1JQ69dRT3RfiG264wdVrkkQi4TKmTjnlFJf5VAzVo9JfaxTw0vSEI4880v3/2muvtccee8xuvvlmO/vss91t+lU4H01f2GOPPVz7zTffvM22mdMdwukV+nIv+oIfiUTcF34dfNTW1rr6VDr40AGB2pWUlLgDkiAI3AFCfX19uk14qcfqdt2vdqlUKm9b9UnPK1q2Dn70XNltlU2mqRy+77u+6rpu032xaNQGlJnF/ZSVx1LWmPAt4gdNyww8i/mBNSQ8K4ulrC7uuzb1cd9Ko4HFU55FvMVtU56VRJe0SbdN+FYaCSyR8szzAhfx1ONKc7RtSPgWi2jcTevZ983iyTxt/cDUNAg8i6qfSc/KcrRlTJ0zJq/Ut/iAShtYpu0/1SfG1Bdfp546pppGs8qqgW5/pEzbrtrv5WtbzL581KhR7qyymsK37bbbusDQggULXDbUuHHjmu3LdV1tFLTSVD8Fm/QcqsW47LLLuqxiPa+mks+aNctlUCnr6Y477rB//vOfNnToUHv66aftwAMPtFdeeaXFmJRltfzyy7vsLfVXZ7qdPn26+6xSu6+//tpNG/ziiy9shx12cJ/NatuTP5866nViTIyJMTEmxsSYGBNjYkx1PWZM+n+nZUqdddZZ6YCU6PqZZ57p7utIWtGacrf99tunb9Pg9H/VziiEVvARRxzhDhJ0Fr62qD7WoEGD0n9M9QOA/k2fBQoaabqd6klNmTLF1lprrWafgyF9CXj11Vfto48+stVXX91uvfXWNpevLCpNt1MQSWe11WessnvDH0OKscIKK7gphApU6TM015R4AAAAoKfwAkVtiqBfjPXL74477tjs9qeeespNj1N9i3Z3xvPswQcfdFlNoul3Y8eOtZdeesk222yzdDsF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uwMAAIAOjqUUXVNKC9x+++1ttdVWs4suusgFO9B/jY9PTQeibPGlpmaMj7/WzT0DAAAAAAA9WdFBqYceesgFok444QS7++67bcUVV7Sdd97Z7rvvPjd3EP3LkGBeOiCVuVENCaq7qUcAAAAAAKDPnn1vxIgRdtppp9k777xjr776qq266qp26KGH2pgxY+zUU0+1Tz75pON7ih6p2hvsMqUyKVOq2uu4KYIAAAAAAKDvaVdQKjRr1iz797//7f5UiX2XXXax9957z8aNG2dXXHFFx/USPdZrsQnNMqWCxRvV1NiEbuwVAAAAAADoc0EpTdG7//777cc//rGtsMIKdu+999opp5xiM2fOtNtuu82efvppu+eee+x3v/td5/QYPYqKmX/hL2/JxZvSQm+APVayi30WXaW7uwYAAAAAAHqwaLEPGD16tKVSKTvwwANt6tSptv7667dos80229jgwYM7qo/o4cqt3j6OrG7LpGbbV5HlCEgBAAAAAICOD0ppWt6+++5rZWVlrbZRQOrzzz8vdtHohfwgacNT39uHsTXNs8BGpr7t7i4BAAAAAIC+OH1v9913t9ra2ha3z50712pqajqqX+glFJCKWMq+8Ue5vxGp71ygCgAAAAAAoEMzpQ444ADbbbfd7MQTT2x2u+pIPfzww/b4449bX1RXV+cuPc9zRd0bGxutvLzcBegqKytt0aJFVlFR4dqVlJRYMpm0IAgsFotZfX19uk14qcfqdt2vdpoSma9tQ0ODe17RsktLS91zZbdVBpvqfvm+7/qq67pN98WiURtQZhb3U1YeS1ljwreI33TuvGTgWcwPrCHhWVksZXVx37Wpj/tWGg0snvIs4i1um/KsJNrUZvlglqsn1VA+2OY2piwST9kY/zubEx3hIp56XGl0yfLCy4aEb7GIxt20fn3fLJ7M09YP3Fn9gsCzqPqZ9KwsR9uOGFPm8uoTvpVGAkukPPO8oN+OySv1LT6g0gaWaftP9Ykx9cXXqaeOKRHxbOjQwRaNmg0oSfaJMfXF16knjimeNIuXlbrPMH0O9pbP3Hxte+v3CMbEmBgTY2JMjIkxMaZixqT/d0qm1KuvvupqRmXbeuut3X19xeTJk91ZBMePH9/dXenRhie/tbn+MEt6UfveH24p821Ekil8AAAAAAAgPy9QWKwIioC98sorts466zS7/b33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ZyFsTfbys9dhJk1fTAR+ux4LAJ0p3B+FWttXAgAAoI9kSt111122+eab2//+9z978MEHLR6P2//93//Zs88+a4MGNT97GFAsBaKilnSBldYCSKoT8njJzjbHG+4yeHT5WMku9ll0lVan7ynzSnpKTanMTKk53jAXTMoMpH0aWcUWWoVbBzrIUu2pzDGGNE6NV8LLQoqdh+swblG3/Ox1mG/6XvhY9amtxwJAZ9L+6J3oOm5fpL86K2d/BAAA0JeDUhdddJFdccUV9sgjj7gC56ov9eGHH9p+++1nyy+/fOf0Ev1GmB2lIE1rhc7DA5G7yg+0aypOdJeZByAKzmRPY1NNKQVWwkBQjzj7nrc4KOUPcwdTmXWlFKAaYLX2r9Id7Vt/pH0RWTHnQZYypdoTlArX4XxvsMt2urts/1YP4pacfa/5Y58r2do99uGy3TkABNBtkha1Gq/KpkVWtWp/CPsjAAA6wC9+8QtbccUVzfM8e/vtt3O2SaVS7mRna6+9tq255pp29NFHt5hJJUcccYRbzrx589rVl0cffdQtf7XVVrO99trLampq3O2ff/65bbTRRrb++uu7Puy7775WXU1dyT4flPr0009t1113ddcVlFq0aJHbwE499VS7/vrrO6OP6GfT90LFTLXLtMhfMo0tc/peWFi8JwSlwrPvScKL2XxvULO6UqsmprlaUV/5y9k8b3CrRXsVgAqn72ndKXMsu55WW/2QqCVabaP7wnWRScE0yS7SDgBdaWhqrs31htpsfxkbmfq2oLp6AAAgv3322cdefPFFW2GFFVptc9NNN9mbb77p/jSTyvd9l7SSXd4nFis8MSDbwoULXbDroYcesk8++cTGjBljF154obtP19VHBc3ef/999/8LLrig3c+FXhKUGjJkiC1YsMBdHzt2rHvxRVHP2tolQQCgPTLrSLVWU6otuTKGVKcqM+BViNTit0dHB6X8QCGeVDpTSrLPwLdqcpp9HlnJUl7E5vmDbXCq5a8KOvDKzJRSwE0BqkIzpaQkaGxzjK6mVI5dhTITNP1PB4QA0F0UtJ/rNwWlYpawYQGBcgAAltbEiRNt2WWXzdvmnXfese23394lqyhRZeedd7bbb789ff8333zjZlpdfvnlLR771FNP2ZZbbukynSZMmGBTpkzJ+RxPPPGEbbDBBi5TSk488US788473fXS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",
|
||
"text/plain": [
|
||
"<Figure size 1200x600 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"data": {
|
||
"image/png": "iVBORw0KGgoAAAANSUhEUgAABKUAAAJOCAYAAABm7rQwAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjMsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvZiW1igAAAAlwSFlzAAAPYQAAD2EBqD+naQABAABJREFUeJzs3QeYG9XVxvEzI2mrve42tukdhw42NaZDgEDovZfQklBCDYSQ4AAhBEiI6TWE0EvoJIAJEIrp5SMUUwy4UOy11/Y2lfme965H1mq1Wmm9ff+/51lLlq5G945GI83RuWe8IAgCAwAAAAAAALqQ35VPBgAAAAAAAAhBKQAAAAAAAHQ5glIAAAAAAADocgSlAAAAAAAA0OUISgEAAAAAAKDLEZQCAAAAAABAlyMoBQAAAAAAgC5HUAoAAAAAAABdjqAUAAAAAAAAuhxBKQDo57744gvzPM9uvfXWDlumlqVlatkdTcu94IILOny5ALreiiuuaEcccUSn7tsuu+wy60z33HOPDR061BYuXNipz9PXdMZnT0+09dZbu7/e/nmn9+qPf/zjDlnWtddea8svv7w1NDR0yPIA9G4EpQD0a2Hw5PXXX7eeoLGx0f785z/bBhtsYFVVVTZ48GD7wQ9+YD/96U/tww8/tL5GX7a1/r///vtO/RL8j3/8w6688sqlXg66xgMPPGD777+/rbzyylZRUWFrrLGG/fKXv7R58+bl3Ea0DWX/HX/88S3avvHGG257WmaZZWzAgAG27rrr2l/+8hdLJpPpNnPmzLE//vGPNnHiRBsxYoR7D2666aZ29913d0ggpK1tvqepra11fX7uuecKaq922a+FAjZah3fccYf1Ndp2fvOb39jPf/5zt02FLrroIjdmbUNlZWW22mqr2SmnnGLfffddi2WkUim79NJLbaWVVnJttV3eeeedBfdB7wt9Rui5KisrbZtttrE333yzWZsgCOy3v/2tjR071kaOHOn6os+bTAqq6X7tL9G3vPTSS+59nGsf2h0UiNb2d91113V3VwD0ANHu7gAAYIm9997bnnjiCTvwwAPt2GOPtXg87oJRjz76qG2++ea25pprWn9XV1dn0WhxH186yHr//ffdgRh6Ph1gjxkzxg455BD3a/p7771nf/3rX+3xxx93B9vl5eXN2q+//vouaJVp9dVXbxGQ0ntIwYGzzjrLBbv0Xjv55JPt008/dcFgefnll+3cc8+1XXbZxc477zy3rd1///12wAEH2AcffOAO7PsTBaXCMReT7fGLX/zCxo8fnw70Kain11MHxSeddJL1FY888oh99NFHbpvN3t60XWq7GThwoP3vf/+zG264wR577DF7++23XfAopO3tkksucft8rbN//vOfdtBBB7mAnh6fjwJau+66q73zzjt2xhln2PDhw+3qq692r5X6oO1dFBBUoEzbvp7797//vY0aNcrOOeec9LJ0m4K8em50nH/96189Iiil97GCQQq0dzcFXw8//HC7/PLLXUBX2zqA/ougFAD0EK+99poLPunA4Fe/+lWz+3RA3lN+4ewJX2Z7m0WLFjU7CO3vlLVRX1/fIrgUuu+++1oEQDbaaCN3EKOD62OOOabZfcruUMAjn/AX+eeff95l7shxxx1nW221lcuYDINSykz85JNPbIUVVkg/9sQTT7Ttt9/e/vCHP9iZZ57Ja1mAH/7wh7bPPvuk/3/CCSe4zDcFiPtSUOqWW26xLbbYwm2DmRTIzLbZZpu5daJAVhhsmjFjhv3pT39y60T7edH2re1SQaZ9993XIpFIq8+v94oCDvfee296fe+3334uKKsMrjDrSZ8tBx98sP3ud79LB/cffvjhdFAqDMzq/dHXddX+WAFdBb9LSko6/bl6I22nyhCcMmWKbbvttt3dHQDdiOl7AFCAt956y3beeWc3pU5TNLbbbjt75ZVXWrR799133cGEDraXXXZZmzRpkjtoKaS+kg4KRAc42XRQMmzYsGa36WDm6KOPdhklpaWlbuqHDvzCKRlz5861008/3dZZZx3XZ/VdY9Av6oVQhpYOcnQAr0DQxhtv7A5isv3f//2f+0KZOWb9et9ZsmtsLFiwwGVA6Rd+rQdNTdlhhx3S01cU3FB2wvTp09PTidQ29O2337r1qKwBjXO99daz2267rcXzKtvj0EMPTU+rVIBE6zK7Jop+idb61uupbBtlSehgUF544QV3kKnsH/V1ueWWs1NPPdUdIGYKl/Hll1+66Wa6roPeyZMnu/uVOaR1rgMrBU8KnW6jgzFlFOl59fyaFqdpZgoShdZee203/SebXlP1ITPQoNs0LVKBHK07rUMFeqqrq3NOw3zqqafcdqRtJd+0jVwZOXvuuae7VMZJLtruNb7W1NTUuD5mZwmMHj26WXBM76PMgJToNd5jjz1c/ZPPPvvMOoOCCgq8qS/KdlGQTe/xXNuFbld/dF1TtvQ+z5yCWMxro6nLO+20k3tOPbfGf9RRR7n7tM/S8kVZFuH7pz01bnRgPmTIkIKyHLWO9T7RvkcH9ZoGp/dwNgU21RcFYDRGvZZ77bVXel+ai7Z1ZTWpP5omKspI1fiUVaTlaF+75ZZb2r///e+8/dTzP/nkky5gWYhwv5P5A4OyovT8CnyGtI61L//6669d5l4+CkrptdW4Q3rNdMCvZYc1e7SP0foPad0qaBLSfkGBMr0/C6X33Pnnn++220GDBrn9kYKRCjJk05i1/apduP/M/qFF+yKNXfvqbAqe6TXL3H5fffVV+9GPfuSWqe1En73//e9/c06XVZajMsC0DvTayuzZs+3II490n1vaH2r7+clPftLss1rrUJlo4efsKqusYhdeeGGL95v2Wdp3KjtNU3/Vn/DHpeyaUsWst0JdddVV7r2u59UY9TqGnwtaBwpwit7f4fs4HKe+o+jzRJ+dGuO4cePsmmuuKeh59Vmp93S4/EJfF9H4tR1qHQPo38iUAoA2KOiiL4wKRihLIhaLuQNqfcn8z3/+Y5tssolrpwNFHczry56+QOuL5o033ui+5BUiPBBWJogCU/kO3mbOnGkTJkxI1xLRtD49vw5QdKChL+86sHvooYfcwZ2+iH7zzTeu3/qCqC/o+pKdb8zhr/9nn322G4uK+epAWBkAYYBAX+o15kQikW53/fXXt5oB0xoF0HIpJLil2kEa989+9jP3ZVrBoxdffNEFLzbccEM3NWb+/PnuAO+KK65wjwlrv+hATa/jtGnT3OO1nhQc0MGT1q2mdoX92G233Wzq1KnuYFHrW1+kdWCVi9aHDvR18KMDLX0xFy1br4+WoQNfLU8HE+qb7sukgx4FEXWAo1+TtV2oj1rHGpMCXToQVcHYww47zGVhqP/5DsZ33313d+CjIJymFilIpIMJbTvhulEtJx3E6LVV7aWQ1qm2u8zpRApyKCCnAztN1/r8889dtoeCuDoI0XslpClOmpaqx2iakgJixVB/RMGTbM8++6xbx1pneh8p0Be+diG9zppCpuc/7bTT0tP3FJhQDamlef5c9DrnqhuVGQgIhetQU7cuvvhi915V1orWodZlZiBNY9S2pf2Otq2nn37aZdroYFnbVTGvjQKyO+64owti6P2r59GBahis0e06ONVy9Z4PAx+qedQWBYvD8ev9HU6hvemmm/I+TmPXNEutJ/Vb7xMd+Grb1fs83PdoPSjQ+cwzz7htUq+3nlOBJD2P1kc2PUYBN20HDz74oAs2iLZ3rXdlKGm/qgCmgnUKbCvA3RoFIBRg0H6mtfec9kfaHyj7TutYPzBkBij0eug9vdZaazV7rPoR3h8GUXLR/Xp+3/dbPF774o8//tj9MKFtS9P69Hmg59NngdazaJ3pPaS2xdB60mdcON1c61+vr7ZP7du0jwnXg4I92odof62xav1n7z8VSNNnrD5rMoMcotu0rYaBNfVX+0cFNpQRpvGHwRUF/8P1F9K4FXTUFMYwCK/p8vqs0/QxBQz1ftC60I8BYQBR7yF9XmifoUs9rwJKGnv2fkOvtfqk7VFBZQULl2a9FUrTQvVe0Q8Geh8oWKofyBQcUiBO71u9tqpTpv18uA8LA856jyugpfeYvncok09BUn3u5ctq1Pal11PBN/0Y1Z7XRdturoAVgH4mAIB+7JZbbtG30+C1115rtc0ee+wRlJSUBJ9++mn6tpkzZwYDBw4MJk6cmL7t5z//eeB5XvDWW2+lb5szZ04wdOhQ9xyff/553r6kUqlgq622cm1HjRoVHHjggcHkyZOD6dOnt2h72GGHBb7v5+y3liP19fVBMplsdp/6UFpaGvzud79rdpueU+sitN122wXrrLOOW0bmcjfffPNgtdVWS992yimnuMe++uqr6du+/fbbYNCgQQWN+Te/+Y1rl+9v1113bfYY3abHhfRcJ510Ut7n0TJWWGGFFrdfeeWVbnl///vf07c1NjYGm222WTBgwICgpqbG3Xb//fe7dmof0rrddtttW6y7ww8/3N129tlnt3i+2traFrddfPHFbrvJfJ3DZVx00UXp26qrq4Py8nLX9q677krf/uGHH7ZYJ7k89NBDrt2kSZOa3b7PPvu4ZU6bNs39/6OPPnLtrrrqqmbtTjzxRLdOwjG88MILrt0dd9zRrN2TTz7Z4nate92m+9rr6KOPDiKRSPDxxx83u3233XYL/vCHP7jx3XTTTcEPf/hD91xnnnlms3aJRCL42c9+FsRisfS2peVdc801bT633scjR450y25L+H5q6++7775Lb29a9tprrx3U1dWll/Poo4+6duef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ts8++3R3VwAAAAAAANBfpu+dfPLJdtRRR9ltt93W3V0BAAAAgG6RTCYtHo93dzcA9CGxWMwikUi7H98vglJbb721Pffcc93dDQAAAADoFgsXLrSvv/7anaYdADqyZpTOrjdgwIDeGZR6/vnn7Y9//KO98cYbNmvWLHvwwQdtjz32aNZm8uTJrs3s2bNtvfXWs6uuusomTJjQbX0GAAAAgN6UIaWAVEVFhY0YMaLNwsMAUAgFub/77ju3f1lttdXalTHV7UGpRYsWuUCTptfttddeLe6/++677bTTTrNrr73WNtlkE7vyyittp512so8++shGjhzp2qy//vqWSCRaPPZf//qXjRkzpkvGAQAAAAA9kabs6eBRAany8vLu7g6APmTEiBH2xRdfuP1MrwxK7bzzzu6vNZdffrkde+yxduSRR7r/Kzj12GOP2c0332xnn322u+3tt9/usP40NDS4v1BNTY27rKurc5f6VUErurGx0e3Qa2trrbKy0gXX9MuD2pWUlLhfI7Tj1/zK+vr6dJvwUo/V7bpf7VKpVN626lP4AmvZpaWl7rmy25aVlbmNwfd911dd12352jImxsSYGBNjYkyMiTExJsbEmPrumHRdl3qcxqc/9SvzMsyeUrvs+zIvM6f/dVTbzMwtXW9tee1ty5gYE2PyO21M4f5o/vz57jLc72lf1OvPvqedsab1bb/99unbNDj9/+WXX+6U57z44ott0KBB6b/llluuU54HAAAAAPqzlVde2X7wgx/YRhttZOPGjbM//OEPBT1ulVVWKSgx4c9//rMrARO67rrr7LLLLrOOdMwxx9i6666bc9YPls6qq65a0Ov829/+1gVe0Tt5QQ+qdKfIW2ZNqZkzZ9rYsWPtpZdess022yzd7swzz7T//Oc/9uqrrxa0XAWx3nnnHRepGzp0qN17773NltdWppQCU4r6VVVVLfUYAQAAAKAr6YD9888/t5VWWsllZRVj0YevWPUL91h8zkyLDRtjQ364n1WuuWmH9GvFFVe0hx56yJVjmTFjhgtM/fvf/26zfnDm4zqiXXt98803LrCmY8Zc05aUQbI0ZyXri1R2JxotbMJWoa+f4gjV1dU2ePDgDuolOmL/oveFEn3aiqX06EypjvL000+74ltKf1UBrtYCUqL0W62wzD/0HI8//rhtuOGGbse09tpr22233Zaz3Zdffmm77babrbHGGu7DTcXxsx1xxBFuBzZv3rx29eXRRx+1Nddc0xV00y8j4VTP9957zyZOnOjuUx9VLy2c/gkAAAD0FgpIfXP/H63x2y8tSMbdpf6v2zuakhH0/Xn69Onu/8pw2m+//VyAap111rHzzjuv1XIv48ePd8cHugxn1Pzud79zSQ7777+/u08ZNxdccIGdcsop7v7VV1/dXn/99fRybr31Vttzzz0Lfm4dQ2yzzTbugFyZXpdccolbhm7be++93eOmTp1qr732mm277ba28cYb2wYbbOASJDIzt3QsodsvvPDCFlOpMo9Thg8f7ur2yCeffGK77rqrG6+ytP761782e9xFF13k+q4gwS233JK+73//+5+rz6zH6E+lcbQOtN4zc1U233xze+KJJ3IeP+nYRvdr/R1++OHp45wFCxa4sjt6Xi37pz/9qZv5JFtvvbX94he/cMfhO+64Y4vl3njjje6YTa+T1luu5JNp06a5ZBMtW+0UrJLjjz/eXf7whz90t3/77bctHoseLuhB1J0HH3ww/f+GhoYgEok0u00OO+ywYPfdd++SPs2fP9/1S5foXqlUKhgyZEjwzjvvuP9//vnnQWlpaVBTU9Oi3YYbbhjcc8896dtmz57drM39998fHHPMMe61ra6uLrovCxYsCEaOHBn873//c/8/6aSTgtNPP91d//jjj9N9TCQSwX777Rf85je/aceIAQAAgKVXV1cXfPDBB+4ylGysD+pnfpr3b/rkk4JPJ+2V9bd3MP3qk9p8rJbflhVWWCF466233HV9r15llVWCb7/91v1/xx13DJ577jl3PR6PBzvttFP6+33m48L28vLLLwdrrLFGzuWLvpOffPLJ7vrvf/979x0+NHHixODhhx9u87kz6Xhk0KBB6f/fcsstQXl5efDhhx+6/+s4Y/311w9mzpzp/v/dd98Fyy23XPD1118H7733XjBq1Kj0feecc447NgllH6cMGzbMPZ+OLzbaaKP0cciiRYuCddZZJ5g6dWr6cZdddll6nQ4YMMCNQX+rrbZa8I9//CO9TPVHNt988+Cpp55y1998881g1VVXdcdU2Q4//PBg3Lhx7vhL/fjxj3/s1qMce+yxwW233eau67FHH310cOmll7r/b7XVVm4dNjY2BrlUVVWl14Pa6Fgr+/WbMGFCcO2116aPt4YOHRp88cUXOdcVun//UkwspdsLneejIn6KOj/zzDPpKX0qpqX//+xnP+vu7qEbZP5ioMykYcOGuey2TNo+dNu+++6bvm3UqFHN0mz168GUKVNcVD7TU0895X6lUMRfqbaa165fO7LplwP9oqFfFeTEE090Uf8//vGP7teOkJahXzDef//9DlwLAAAAwNKJfz/DZtx8RjseGVhi7qw2Hzv2qD9a6eiV21yaMplUN1hnV7/iiivcmbxUdkXf6fW9PbRw4ULXJttbb71lv//9723OnDluWpja6Lt8W2cZPOyww9z3+T/96U9u6uDHH3/sTsBVzHPnoiwizdYQlaH57LPPWpzYS8vS8YFuHz16tLvthBNOcPWN26LH/t///Z8dcMAB6duUpfTBBx+44w45+OCD3aWOVbROlPmlKVTK6jrwwAObZV/JySef7LKtdDwzefJkd2yTmbWVSRlkAwcOdNePPvpo+8tf/mK/+tWvXOaSstSUuSbh8VTokEMOcYX3c9luu+3s0EMPdTNdtE6UhZVJ43vzzTftv//9r/u/jre23HJLe+GFF2yFFVZoc52hZ+v2oJTe4ErFC2kuolIrVftp+eWXt9NOO82lBSrdUamAV155pdtRhGfjQ/+hHePdd9/tpsrpzCKaN/zAAw+44GUm7ZD1YaYdtXbamousDxvN9xallV566aXpnWlIHxhK6VVgStM2tV0qDVRpstmBL00PzNwB6jlmzZrVYo60tlUFvgr5gAEAAAC6Smz4WBc4yuebBy+3RPWsrFs9iw5dxkbtcVqbyy+Evt9r2pVKrigooalumnYmr7zySt4aWJoepmMD/disgExYw0Y1gtsKSi277LLuGPOf//ynC/IoaKLv8WHB7LaeuzUDBgxIX1cSjwq5KziVLftH6+wgkAI6qkkVCvulZepYOV8B8Mx+azk6RslH61B1mxXge/jhh4sqBp95Rrb777+/RUAp13rJpsfpBGfPPfec7bLLLjZp0qRmQbd8z4ver9trSmkOqyLU+hMFoXT9/PPPT0fO9abQ/8O5wE8++WSzzBf0D9qZagelQJTmmusXDEXUv//++xbtnn32Wfv1r3/tdqyaN62IvihApGCnPuyyabtSIEr1oLSt7bPPPu5XGwWg2kMfktp+9YtDOD8dAAAA6An8WKnLZMr3N2zbQxa39jIuAxu2zaFtPlbLL4bq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glIA+o2f/vSn9tFHH9k777xjP/nJT+yYY45p0aasrMz++te/2ocffujaLVq0yP7whz+4+3TbGWecYU8++aS9//77duSRR9oJJ5xQdD9SqZQdfPDBduWVV9rHH39su+yyi51yyinuvkgkYr/+9a9dP999911beeWV3XMCAAAAQF9DUApAv6Bgk4I/nue5/2+66ab2xRdftGi32mqruQylMEA0fvz4dDsFonTf6NGj3f+1vCeeeMLmzJnj/v/aa6+5rKeNN97YNthgA7v33ntz9uWNN96waDRq22yzjfv/cccdZ4888ojL5ho1apRtueWW6babbLJJzn4CAAAAQG9HUApAv/TnP//ZZUvloyypG2+8Md1O0+3efPNNl90kf//73y0IAps+fbrNmzfPZWLdcccd9vrrr9u///1v++Uvf5melpdJU/5WWGGF9P8HDhxoVVVVbupepmQy6bK22uonAAAAAPRG0e7uAAB0tYsuusjVk3rmmWdabdPY2Gj777+/7bjjjrbnnnums6iuvfZaO+ywwyyRSNiuu+5qgwcPdllPL730kn322We28847N1uOpuGNHTu26D4q2HXiiSfakCFD7OSTT27HKAEAAACgZyMoBaBfueyyy+yBBx6wp59+2ioqKnK2icfjLiClaXrKqMq0zz77uD+ZPXu2qze16qqr2ldffWU/+MEPXHAq2yWXXGJ33XWXu672yy+/vMuuCi1YsMDmz59vY8aMSd/2i1/8wi3zoYceMt8nqRUAAABA38ORDoB+4/LLL7c777zTTa1ThlMuyoA64IADbOjQoXb99dena1CFZs2alZ5ad9ZZZ9lJJ53kglubb765ff755y7YFXr77bddxtXZZ5/trutPZ9bbaKONXOBrypQprt11111nu+22m6t7FQaklMn14IMPWklJSSeuEQAAAADoPmRKAegXvv76a1fjSWezCwuMl5aW2quvvmrnn3++y1I6/vjj7e6773aZVCpormLlssUWW9jkyZPd9aOOOsplOTU0NLjpe5oKKJpm99hjj9npp5/unkdBJ2VEKdMpmzKfVI9KBc5V3FzPffvtt7v7/vvf/9pVV11la665pityLiuttJILUAEAAABAX+IFKlyCVtXU1NigQYPc1BoVIu6tVGx50sWXWWTMRIuVD+nu7qCXiddVW3Lm83beOae3qz4SAAAAAKD/qCkwlkKmFICCpJJJ++abb7q7G+ilKisrW50yCQAAAKB/IigFoE3JeJ3V1My3a2+41SKRSHd3B73QgIoyO/dXZxGYAgAAAJBGUApAm4Jk3FKBZ6mh61tJJdM/UZxkfY0tnPu2LVq0iKAUAAAAgDSCUgAKFikZSE0ytEuyuzsAAAAAoMfxu7sDAAAAAAAA6H8ISgEAAAAAAKDLEZQCAAAAAABAlyMoBQAAAAAAgC5HUAoAAAAAAABdjqAUAAAAAAAAuly0mMapVMr+85//2AsvvGDTp0+32tpaGzFihG2wwQa2/fbb23LLLdd5PQUAAAAAAED/CkrV1dXZn/70J7vmmmts7ty5tv7669uYMWOsvLzcpk2bZg899JAde+yxtuOOO9r5559vm266qfU1WgfieZ5FIhFrbGx041dgrrKy0hYtWmQVFRWuXUlJiSWTSQuCwGKxmNXX16fbhJd6rG7X/WqngF++tg0NDe55RcsuLS11z5XdtqyszOLxuPm+7/qq67pN98WiURtQZhb3U1YeS1ljwreIHzQtM/As5gfWkPCsLJayurjv2tTHfSuNBhZPeRbxFrdNeVYSXdIm3TbhW2kksETKM88LXBqeHleao21DwrdYRONuWr++bxZP5mnrB6amQeBZVP1MelaWoy1j6pwxeaW+xQdU2sAybf+pPjGmvvg69dQx1TSaVVYNdPujefPmddl+L1/b3rovZ0yMiTExJsbEmBgTY2JMjKmxF4xJ/++woNTqq69um222md1www22ww47uM5mU+bUP/7xDzvggAPs3HPPdUGq3mzy5MnuTyscAAAAAAAAHcsLFBZrw//+9z9ba621ClqgomJffvmlrbLKKtYX1NTU2KBBg2z+/PlWVVVlvdWMGTNs0sWXWWTMRIuVD+nu7qCXqauebtXTptjgNXa1iqoR3d0d9DLxumpLznzezjvndBs7dmx3dwcAAABAD4mlFFTovNCAlCiLqq8EpAAAAAAAANCDzr6nQueHHHKIm9KnDBy5/fbb7cUXX+zo/gEAAAAAAKAPKjoodf/999tOO+3kil299dZbruCVKCXroosu6ow+AgAAAAAAoL8HpSZNmmTXXnutK3qeWfB8iy22sDfffLOj+wcAAAAAAIA+qOig1EcffWQTJ05scbsKWOlU3wAAAAAAAECHB6WWWWYZmzZtWovbVU9q5ZVXLnZxAAAAAAAA6IeKDkode+yxdvLJJ9urr75qnufZzJkz7Y477rDTTz/dTjjhhM7pJQAAAAAAAPqUaLEPOPvssy2VStl2221ntbW1bipfaWmpC0r9/Oc/75xeAgAAAAAAoH8HpZQdde6559oZZ5zhpvEtXLjQxo0bZwMGDOicHgIAAAAAAKDPKTooFSopKXHBKAAAAAAAAKBTglJ77bVXwQt84IEHiu4EAAAAAAAA+peCglKDBg3q/J4AAAAAAACg3ygoKHXLLbd0fk8AAAAAAADQb/jd3QEAAAAAAAD0P+0qdH7ffffZPffcY19++aU1NjY2u+/NN9/sqL4BAAAAAACgjyo6U+ovf/mLHXnkkTZq1Ch76623bMKECTZs2DD77LPPbOedd+6cXgIAAAAAAKB/B6Wuvvpqu/766+2qq66ykpISO/PMM+3f//63/eIXv7D58+d3Ti8BAAAAAADQv4NSmrK3+eabu+vl5eW2YMECd/3QQw+1O++8s+N7CAAAAAAAgD6n6KDUMsssY3PnznXXl19+eXvllVfc9c8//9yCIOj4HgIAAAAAAKDPKToote2229rDDz/srqu21Kmnnmo77LCD7b///rbnnnt2Rh8BAAAAAADQ38++p3pSqVTKXT/ppJNckfOXXnrJdt99dzvuuOM6o48AAAAAAADo70Ep3/fdX+iAAw5wfwAAAAAAAECnTd+75ZZb7N57721xu2677bbbil0cAAAAAAAA+qGig1IXX3yxDR8+vMXtI0eOtIsuuqij+gUAAAAAAIA+rOig1JdffmkrrbRSi9tXWGEFdx8AAAAAAADQ4UEpZUS9++67LW5/5513XNFzAAAAAAAAoMODUgceeKD94he/sClTplgymXR/zz77rJ188skUPAcAAAAAAEDnnH3vwgsvtC+++MK22247i0abHp5Kpeywww6jphQAAAAAAAA6JyhVUlJid999t02aNMnefvttKy8vt3XWWcfVlAIAAAAAAAA6JSgVWm211dyfpu+99957VlVVZUOGDGnv4gAAAAAAANCPFF1T6pRTTrGbbrrJXVdAaquttrINN9zQlltuOXvuuec6o48AAAAAAADo70Gp++67z9Zbbz13/ZFHHrHPPvvMPvzwQzv11FPt3HPP7Yw+AgAAAAAAoL8Hpb7//ntbZpll3PXHH3/c9ttvP1t99dXtqKOOctP4AAAAAAAAgA4PSo0aNco++OADN3XvySeftB122MHdXltba5FIpNjFAQAAAAAAoB8qutD5kUce6bKjRo8ebZ7n2fbbb+9uf/XVV23NNdfsjD4CAAAAAACgvwelLrjgAlt77bXtq6++sn333ddKS0vd7cqSOvvsszujjwAAAAAAAOjvQSnZZ599Wtx2+OGHd0R/AAAAAAAA0A8UXVMKAAAAAAAAWFoEpQAAAAAAANDlCEoBAAAAAACgyxGUAgAAAAAAQM8vdF5TU5Pzds/z3Jn4SkpKOqJfAAAAAAAA6MOKDkoNHjzYBaBas+yyy9oRRxxhv/nNb8z3ScQCAAAAAABABwSlbr31Vjv33HNd4GnChAnutqlTp9ptt91m5513nn333Xd22WWXuaypX/3qV8UuHgAAAAAAAP1A0UEpBZ/+9Kc/2X777Ze+bbfddrN11lnHrrvuOnvmmWds+eWXt9///vcEpQAAAAAAAJBT0fPrXnrpJdtggw1a3K7bXn75ZXd9yy23tC+//LLYRQMAAAAAAKCfKDootdxyy9lNN93U4nbdpvtkzpw5NmTIkI7pIQAAAAAAAPqcoqfvqV7Uvvvua0888YSNHz/e3fb666/bhx9+aPfdd5/7/2uvvWb777+/9QRfffWVHXroofbtt99aNBq1X//6167/AAAAAAAA6EVBqd13390FoFQ/6uOPP3a37bzzzvbQQw/Ziiuu6P5/wgknWE+hQNSVV15p66+/vs2ePds22mgj22WXXayysrK7uwYAAAAAANBvFT19T1ZaaSW75JJL7IEHHnB/F198cTog1dOMHj3aBaRkmWWWseHDh9vcuXO7u1sAgF7kySeftI033tjWXXdd23TTTe2dd95p0ebzzz93P3zoM2fttdd2WbnV1dXp+x999FFbc801bbXVVrO99trLampq2tUXTZfXMlZZZRU79thjLR6Pu9tV11HPrb8f/OAHdtxxx1lDQ8NSjBoAAADogUGpefPmuTPwHXPMMe7viiuusPnz57erA88//7w7e9+YMWPM8zyXcZVt8uTJLuhVVlZmm2yyiU2dOrVdz/XGG29YMplM174CAKAtCiwdfPDB7uyz7777rv3xj390/8+mz7EXX3zR3n77bXv//ffd/y+44AJ338KFC+3oo492n3GffPKJu+/CCy8sui8KfGka+gsvvGDTpk2zb775xq6//np333rrreemz+v533vvPTdt/eqrr+6ANQAAAAD0kKCU6kfp11kFopRxpL/LL7/c3fbmm28W3YFFixa5L9IKPOVy991322mnnWa/+c1v3PLVdqeddnJftkPhr9LZfzNnzky3UT8PO+yw9Jd3AAAK8emnn9qwYcNc9pH88Ic/dGeYzf7MKy0ttfLycnddP4Do800/tojqMOostcqUkhNPPNHuvPPO9GNvv/1296PLhhtuaBMnTsyZiSWq3ahp9Mr81bKPP/749HIqKiosFou5642NjVZXV5d+fgAAAKBP1JQ69dRT3RfiG264wdVrkkQi4TKmTjnlFJf5VAzVo9JfaxTw0vSEI4880v3/2muvtccee8xuvvlmO/vss91t+lU4H01f2GOPPVz7zTffvM22mdMdwukV+nIv+oIfiUTcF34dfNTW1rr6VDr40AGB2pWUlLgDkiAI3AFCfX19uk14qcfqdt2vdqlUKm9b9UnPK1q2Dn70XNltlU2mqRy+77u+6rpu032xaNQGlJnF/ZSVx1LWmPAt4gdNyww8i/mBNSQ8K4ulrC7uuzb1cd9Ko4HFU55FvMVtU56VRJe0SbdN+FYaCSyR8szzAhfx1ONKc7RtSPgWi2jcTevZ983iyTxt/cDUNAg8i6qfSc/KcrRlTJ0zJq/Ut/iAShtYpu0/1SfG1Bdfp546pppGs8qqgW5/pEzbrtrv5WtbzL581KhR7qyymsK37bbbusDQggULXDbUuHHjmu3LdV1tFLTSVD8Fm/QcqsW47LLLuqxiPa+mks+aNctlUCnr6Y477rB//vOfNnToUHv66aftwAMPtFdeeaXFmJRltfzyy7vsLfVXZ7qdPn26+6xSu6+//tpNG/ziiy9shx12cJ/NatuTP5866nViTIyJMTEmxsSYGBNjYkx1PWZM+n+nZUqdddZZ6YCU6PqZZ57p7utIWtGacrf99tunb9Pg9H/VziiEVvARRxzhDhJ0Fr62qD7WoEGD0n9M9QOA/k2fBQoaabqd6klNmTLF1lprrWafgyF9CXj11Vfto48+stVXX91uvfXWNpevLCpNt1MQSWe11WessnvDH0OKscIKK7gphApU6TM015R4AAAAoKfwAkVtiqBfjPXL74477tjs9qeeespNj1N9i3Z3xvPswQcfdFlNoul3Y8eOtZdeesk222yzdDsFwP7zn/+4L/5t0ZdzTYXQL9Yh9X+dddYpOFNKgSn9ul1VVWW91YwZM2zSxZdZZMxEi5UP6e7uoJepq55u1dOm2OA1drWKqhHd3R30MvG6akvOfN7OO+d0t0/v7fQZoelzqt+06qqrttpOmU7K9FXA6d5773UFypVtJR988IH7HFVm0xlnnOF+mbroootaLGOfffZxtaPkmWeecVnCmk6orGF5/PHH3eP0WZftrrvucsG0Rx55pANHDwAAALRNsRT9uNtWLKXoTKn999/fFWtVraevvvrK/emLr6YIaLpBT7Plllu6VDRN8Qv/WgtIidLQtMIy/wAA/Zum2oWUMaXs2+yAlLKTlEIt+txRICr8QeRHP/qRq0GlaXyiAuQHHHCAu64p8X//+9/dlL/wsWHmsaYKhp9dqmu1995728MPP2yzZ892mcAKToXLUfAqPBOfsqT0I0/mDzIAAABAr68pddlll7mMJmVFqZaU6BfeE044wS655JIO7ZxqbmjeYnb2lf6vX6kBAOgK559/vqv9pM89Ze4q6ym8XWfSU8FxnZnv3HPPTQeWVLT8L3/5i/v/wIED7cYbb3SZwFqGTsahs/mFhdMvvfRS23PPPd19CijtuuuutvHGG7fox8orr2y//e1vbYsttnD/33rrre24445z15999ln3fPrc1HK22247d6Y+AAAAoM9M3wvp12BNIRCdeU9FtZa6M1nT90RnI5owYYJdddVV6S/6KvL6s5/9LF3ovCeknPV0TN/D0mD6HpZGX5u+BwAAAKBjYilFZ0qFFITKNw2uUDrzUFgvQz7//HM3TUFnIFLw6bTTTrPDDz/c/WKs4NSVV17pqriHZ+MDAPR8qWRyqWoOov/S2VwGDx7c3d0AAABAJygoKLXXXnsVvMAHHnigqA6obsY222yT/r+CUKJAlM5apBpW3333nZsioRoa66+/visUq4LrAICeLxmvs5qa+XbtDbemTyULFGpARZmd+6uzCEwBAAD016CUUq46i+phtDWDUFP19AcA6H2CZNxSgWepoetbSSXTh1G4ZH2NLZz7tsuQJigFAADQT4NSt9xyi/V3dXV16bpX+qVfhWjLy8tdbS1NLdAXZk1pVLuSkhJLJpMu2KYi8PX19ek24aUeq9t1v9qpVla+tjoFeZhhoGXrLIF6ruy2ZWVl7uxLvu+7vuq6btN9sWjUBpSZxf2UlcdS1pjwLeI3BQSTgWcxP7CGhGdlsZTVxX3Xpj7uW2k0sHjKs4i3uG3Ks5LokjbptgnfSiOBJVKeeV7gTu2ox5XmaNuQ8C0W0bib1q/vm8WTedr6galpEHgWVT+TnpXlaMuYOmdMXqlv8QGVNrBM23+qT4ypL75OPXVMiYhnQ4cOtmjFQBs8qKpPjKkvvk49cUzxErN4ban7DNPnYG/5zM3Xtrd+j2BMjIkxMSbGxJgYE2MqZkz6fyH0XRM5TJ482caNG2fjx4/v7q4AAAAAAAD0z7Pv/ehHP7ILLrjANt1007ztFixYYFdffbUNGDDATjrpJOsLOPsewNn3sHTYftBenLkRAACgd+rQs+/tu+++tvfee7sF7rbbbu5MeGPGjHGpWdXV1fbBBx/Yiy++aI8//rjtuuuu9sc//rEjxwIAAAAAAIA+pqCg1NFHH22HHHKI3XvvvXb33Xfb9ddf76JdojmNmua200472WuvvWZrrbVWZ/cZAAAAAAAA/SEoJSpkpcCU/kRBKRW2GjZsmCuIBQAAAAAAAHR4UCqbpvLpDwAAAAAAACgWZ98DAAAAAABAlyMoBQAAAAAAgN4zfa+/Uf2ssLB7JBKxxsZGKy8vt9raWqusrLRFixZZRUWFa1dSUmLJZNKCIHD1turr69Ntwks9VrfrfrVLpVJ52zY0NLjnFS1bNb70XNltdUbEeDxuvu+7vuq6btN9sWjUBpSZxf2UlcdS1pjwLeIHTcsMPIv5gTUkPCuLpawu7rs29XHfSqOBxVOeRbzFbVOelUSXtEm3TfhWGgkskfLM8wIX8dTjSnO0bUj4Foto3E3r1/fN4sk8bf3A1DQIPIuqn0nPynK0ZUydMyav1Lf4gEobWKbtP9UnxtQXX6eeOqZExLOhQwdbNGo2oCTZJ8bUF1+nnjimeNIsXlbqPsP0OdhbPnPzte2t3yMYE2NiTIyJMTEmxsSYihmT/l8IglKtmDx5svvTCkd+KyU+tQm1r1lVap7V+IPtjdLxNr1k5e7uFgAAAAAA6MG8QGGxIhx++OF29NFH28SJE60/qKmpcQXddbbBqqoq661mzJhhky6+zCJjJlqsfEiHLXeVxDTbpfEJ00bk6dfvxZePl+xsn0ZX7bDnQfeqq55u1dOm2OA1drWKqhHd3R30Mmw/aK94XbUlZz5v551zuo0dO7a7uwMAAIAOjqUUXVNKC9x+++1ttdVWs4suusgFO9B/jY9PTQeibPGlpmaMj7/WzT0DAAAAAAA9WdFBqYceesgFok444QS7++67bcUVV7Sdd97Z7rvvPjd3EP3LkGBeOiCVuVENCaq7qUcAAAAAAKDPnn1vxIgRdtppp9k777xjr776qq266qp26KGH2pgxY+zUU0+1Tz75pON7ih6p2hvsMqUyKVOq2uu4KYIAAAAAAKDvaVdQKjRr1iz797//7f5UiX2XXXax9957z8aNG2dXXHFFx/USPdZrsQnNMqWCxRvV1NiEbuwVAAAAAADoc0EpTdG7//777cc//rGtsMIKdu+999opp5xiM2fOtNtuu82efvppu+eee+x3v/td5/QYPYqKmX/hL2/JxZvSQm+APVayi30WXaW7uwYAAAAAAHqwaLEPGD16tKVSKTvwwANt6tSptv7667dos80229jgwYM7qo/o4cqt3j6OrG7LpGbbV5HlCEgBAAAAAICOD0ppWt6+++5rZWVlrbZRQOrzzz8vdtHohfwgacNT39uHsTXNs8BGpr7t7i4BAAAAAIC+OH1v9913t9ra2ha3z50712pqajqqX+glFJCKWMq+8Ue5vxGp71ygCgAAAAAAoEMzpQ444ADbbbfd7MQTT2x2u+pIPfzww/b4449bX1RXV+cuPc9zRd0bGxutvLzcBegqKytt0aJFVlFR4dqVlJRYMpm0IAgsFotZfX19uk14qcfqdt2vdpoSma9tQ0ODe17RsktLS91zZbdVBpvqfvm+7/qq67pN98WiURtQZhb3U1YeS1ljwreI33TuvGTgWcwPrCHhWVksZXVx37Wpj/tWGg0snvIs4i1um/KsJNrUZvlglqsn1VA+2OY2piwST9kY/zubEx3hIp56XGl0yfLCy4aEb7GIxt20fn3fLJ7M09YP3Fn9gsCzqPqZ9KwsR9uOGFPm8uoTvpVGAkukPPO8oN+OySv1LT6g0gaWaftP9Ykx9cXXqaeOKRHxbOjQwRaNmg0oSfaJMfXF16knjimeNIuXlbrPMH0O9pbP3Hxte+v3CMbEmBgTY2JMjIkxMaZixqT/d0qm1KuvvupqRmXbeuut3X19xeTJk91ZBMePH9/dXenRhie/tbn+MEt6UfveH24p821Ekil8AAAAAAAgPy9QWKwIioC98sorts466zS7/b33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ZyFsTfbys9dhJk1fTAR+ux4LAJ0p3B+FWttXAgAAoI9kSt111122+eab2//+9z978MEHLR6P2//93//Zs88+a4MGNT97GFAsBaKilnSBldYCSKoT8njJzjbHG+4yeHT5WMku9ll0lVan7ynzSnpKTanMTKk53jAXTMoMpH0aWcUWWoVbBzrIUu2pzDGGNE6NV8LLQoqdh+swblG3/Ox1mG/6XvhY9amtxwJAZ9L+6J3oOm5fpL86K2d/BAAA0JeDUhdddJFdccUV9sgjj7gC56ov9eGHH9p+++1nyy+/fOf0Ev1GmB2lIE1rhc7DA5G7yg+0aypOdJeZByAKzmRPY1NNKQVWwkBQjzj7nrc4KOUPcwdTmXWlFKAaYLX2r9Id7Vt/pH0RWTHnQZYypdoTlArX4XxvsMt2urts/1YP4pacfa/5Y58r2do99uGy3TkABNBtkha1Gq/KpkVWtWp/CPsjAAA6wC9+8QtbccUVzfM8e/vtt3O2SaVS7mRna6+9tq255pp29NFHt5hJJUcccYRbzrx589rVl0cffdQtf7XVVrO99trLampq3O2ff/65bbTRRrb++uu7Puy7775WXU1dyT4flPr0009t1113ddcVlFq0aJHbwE499VS7/vrrO6OP6GfT90LFTLXLtMhfMo0tc/peWFi8JwSlwrPvScKL2XxvULO6UqsmprlaUV/5y9k8b3CrRXsVgAqn72ndKXMsu55WW/2QqCVabaP7wnWRScE0yS7SDgBdaWhqrs31htpsfxkbmfq2oLp6AAAgv3322cdefPFFW2GFFVptc9NNN9mbb77p/jSTyvd9l7SSXd4nFis8MSDbwoULXbDroYcesk8++cTGjBljF154obtP19VHBc3ef/999/8LLrig3c+FXhKUGjJkiC1YsMBdHzt2rHvxRVHP2tolQQCgPTLrSLVWU6otuTKGVKcqM+BViNTit0dHB6X8QCGeVDpTSrLPwLdqcpp9HlnJUl7E5vmDbXCq5a8KOvDKzJRSwE0BqkIzpaQkaGxzjK6mVI5dhTITNP1PB4QA0F0UtJ/rNwWlYpawYQGBcgAAltbEiRNt2WWXzdvmnXfese23394lqyhRZeedd7bbb789ff8333zjZlpdfvnlLR771FNP2ZZbbukynSZMmGBTpkzJ+RxPPPGEbbDBBi5TSk488US788473fXS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",
|
||
"text/plain": [
|
||
"<Figure size 1200x600 with 1 Axes>"
|
||
]
|
||
},
|
||
"metadata": {},
|
||
"output_type": "display_data"
|
||
},
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Largest reorg length: 193 (~6 virtual blocks of 30-seconds)\n",
|
||
"Successful attacks: 0 (0.00%)\n",
|
||
"Successful attacks list [target block, target slot, reorg length]): []\n",
|
||
"CPU times: user 33.3 s, sys: 13.2 s, total: 46.4 s\n",
|
||
"Wall time: 1min 28s\n"
|
||
]
|
||
}
|
||
],
|
||
"source": [
|
||
"%%time\n",
|
||
"\n",
|
||
"ADVERSARY_STAKE = 0.30\n",
|
||
"# Run multiple experiments\n",
|
||
"attacked_results, total_blocks, sim = run_multiple_attacks(\n",
|
||
" n_runs=1,\n",
|
||
" slots=15000,\n",
|
||
" f=0.25,\n",
|
||
" window_size=30,\n",
|
||
" use_deps=True,\n",
|
||
" adversary_control=ADVERSARY_STAKE,\n",
|
||
" network=blend_net,\n",
|
||
" base_seed=0,\n",
|
||
" # these are honest blocks that won't be attacked and will not count in the stats, but give room for the attack.\n",
|
||
" skip_last=500\n",
|
||
")\n",
|
||
"\n",
|
||
"# Plot normalized histogram:\n",
|
||
"plot_attack_histogram_frequency(attacked_results, total_blocks, ADVERSARY_STAKE, bin_size=30)\n",
|
||
"\n",
|
||
"# Print the most extreme reorg seen:\n",
|
||
"reorg_lengths = [length for _, length in attacked_results]\n",
|
||
"max_length = max(reorg_lengths) if reorg_lengths else 0\n",
|
||
"print(f\"Largest reorg length: {max_length} (~{(max_length // 30)} virtual blocks of 30-seconds)\")\n",
|
||
"\n",
|
||
"fully = fully_successful_attacks(attacked_results, sim, tolerance=500) # Very generous tolerance\n",
|
||
"print(f\"Successful attacks: {fully[0]} ({fully[0]/total_blocks*100:.2f}%)\")\n",
|
||
"print(f\"Successful attacks list [target block, target slot, reorg length]): {fully[1]}\")"
|
||
]
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "myenv",
|
||
"language": "python",
|
||
"name": "myenv"
|
||
},
|
||
"language_info": {
|
||
"codemirror_mode": {
|
||
"name": "ipython",
|
||
"version": 3
|
||
},
|
||
"file_extension": ".py",
|
||
"mimetype": "text/x-python",
|
||
"name": "python",
|
||
"nbconvert_exporter": "python",
|
||
"pygments_lexer": "ipython3",
|
||
"version": "3.13.5"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|