{ "cells": [ { "cell_type": "markdown", "id": "7fb27b941602401d91542211134fc71a", "metadata": {}, "source": [ "# Cross-Correlations with `halomod`" ] }, { "cell_type": "markdown", "id": "acae54e37e7d407bbb7b55eff062a284", "metadata": {}, "source": [ "The cornerstone of `halomod` is the `TracerHaloModel`, which defines the behaviour of dark matter halos and **one** specific tracer within them. If you want to cross-correlate different tracers, extracting different quantities from two different halo models and calculate the cross-correlation, you can use `CrossCorrelations` framework. This tutorial goes through a simple example of such a calculation." ] }, { "cell_type": "code", "execution_count": 2, "id": "9a63283cbaf04dbcab1f6479b197f3a8", "metadata": {}, "outputs": [], "source": [ "import hmf\n", "import matplotlib.pyplot as plt\n", "\n", "import halomod\n", "from halomod.cross_correlations import ConstantCorr, CrossCorrelations, _HODCross" ] }, { "cell_type": "code", "execution_count": 3, "id": "8dd0d8092fe74a7c96281538738b07e2", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Using halomod v2.0.2.dev51+geee0902 and hmf v3.5.0\n" ] } ], "source": [ "print(f\"Using halomod v{halomod.__version__} and hmf v{hmf.__version__}\")" ] }, { "cell_type": "markdown", "id": "72eea5119410473aa328ad9291626812", "metadata": {}, "source": [ "A `CrossCorrelations` object essentially needs three inputs: halo models for two different tracers, and a `cross_hod_model` to specify how these two tracers cross-correlate, which typically should be constructed by users themselves. Let's first use a very basic `ConstantCorr` relation (we'll go back to what it is later):" ] }, { "cell_type": "code", "execution_count": 7, "id": "8edb47106e1a46a883d545849b8ab81b", "metadata": {}, "outputs": [], "source": [ "cross = CrossCorrelations(\n", " cross_hod_model=ConstantCorr,\n", " halo_model_1_params={\"z\": 1, \"transfer_model\": \"EH\"},\n", " halo_model_2_params={\"z\": 0, \"transfer_model\": \"EH\"},\n", ")" ] }, { "cell_type": "markdown", "id": "10185d26023b46108eb7d9f57d49d2b3", "metadata": {}, "source": [ "This defines the cross-correlation between the same galaxy distribution (the default `Zehavi05`) at `z=1.0` and `z=0.0`.\n", "\n", "The two halo models within the cross-correlation can be easily extracted and manipulated as they are just `TracerHaloModel` objects. For example, if we want to change the redshift of the cross-correlation:" ] }, { "cell_type": "code", "execution_count": 8, "id": "8763a12b2bbd4a93a75aff182afb95dc", "metadata": {}, "outputs": [], "source": [ "cross.halo_model_1.z = 0.5" ] }, { "cell_type": "markdown", "id": "7623eae2785240b9bd12b16a66d81610", "metadata": {}, "source": [ "The various two-point statistics of this cross-correlation:" ] }, { "cell_type": "code", "execution_count": 9, "id": "7cdc8c89c7104fffa095e18ddfef8986", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(cross.halo_model_1.r, cross.corr_cross - 1, ls=\"-\", label=\"total\")\n", "plt.plot(cross.halo_model_1.r, cross.corr_2h_cross, ls=\"--\", label=\"2-halo\")\n", "plt.plot(cross.halo_model_1.r, cross.corr_1h_cross, ls=\":\", label=\"1-halo\")\n", "plt.xscale(\"log\")\n", "plt.yscale(\"log\")\n", "plt.ylim(1e-5, 1e5)\n", "plt.legend()\n", "plt.ylabel(r\"$\\xi_{\\rm cross}$\")\n", "plt.xlabel(r\"r [Mpc/h]\");" ] }, { "cell_type": "code", "execution_count": 10, "id": "b118ea5561624da68c537baed56e602f", "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkoAAAG9CAYAAADqXFmlAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy80BEi2AAAACXBIWXMAAA9hAAAPYQGoP6dpAABuE0lEQVR4nO3deVxU9f7H8dfMsMuiLIIgCOaKKJgKuVRqlmmZ2m5ZamabeS2y7dYvs7p5b1a3TLLFjCw1s9LMtcSt1Nz3fSF3UERBULaZ+f3BbbpcxWQ9LO/n48GjmTPfOec9nnQ+fL/f8z0mu91uR0REREQuYjY6gIiIiEhVpUJJREREpBgqlERERESKoUJJREREpBgqlERERESKoUJJREREpBgqlERERESKoUJJREREpBgqlERERESKoUJJREREpBgqlERERESK4WR0AKOFh4fj7e2N2WymXr16LF261OhIIiIiUkXU+kIJYNWqVXh6ehodQ0RERKoYDb2JiIiIFKNaF0orVqygT58+BAcHYzKZmD179kVtEhISCA8Px83Njbi4ONauXVvkdZPJxPXXX0+HDh2YOnVqJSUXERGR6qBaF0rZ2dlER0eTkJBwyddnzJhBfHw8o0ePZuPGjURHR9OzZ09OnjzpaPPrr7+yYcMG5syZw5tvvsnWrVsrK76IiIhUcSa73W43OkR5MJlMzJo1i379+jm2xcXF0aFDByZMmACAzWYjNDSUESNG8MILL1y0j2effZZWrVoxePDgSx4jNzeX3Nxcx3ObzUZ6ejp+fn6YTKZy/TwiIiJSMex2O+fOnSM4OBiz+fJ9RjV2MndeXh4bNmzgxRdfdGwzm8306NGD1atXA4U9UjabDS8vL7KysliyZAl33313sfscO3YsY8aMqfDsIiIiUvGOHDlCw4YNL9umxhZKaWlpWK1WAgMDi2wPDAxk9+7dAKSmptK/f38ArFYrw4YNo0OHDsXu88UXXyQ+Pt7xPCMjg7CwMI4cOYK3t3cFfAoREREpb5mZmYSGhuLl5fWXbWtsoXQlGjduzJYtW664vaurK66uriQkJJCQkIDVagXA29tbhZKIiEg1cyXTZqr1ZO7L8ff3x2KxkJqaWmR7amoqQUFBZdr38OHD2blzJ+vWrSvTfkRERKRqq7GFkouLC+3atSMpKcmxzWazkZSURMeOHQ1MJiIiItVFtR56y8rKYv/+/Y7nycnJbN68GV9fX8LCwoiPj2fQoEG0b9+e2NhY3nvvPbKzsxkyZEiZjvu/Q28iIiJXwmazkZeXZ3SMGs/Z2RmLxVIu+6rWywMsW7aMbt26XbR90KBBJCYmAjBhwgTGjRtHSkoKMTExjB8/nri4uHI5fmZmJj4+PmRkZGiOkoiIXFZeXh7JycnYbDajo9QKdevWJSgo6JLzkEry/V2tCyWjqVASEZErYbfbOXz4MPn5+Ve0do+Unt1u5/z585w8eZK6devSoEGDi9qU5Pu7Wg+9iYiIVAcFBQWcP3+e4OBgPDw8jI5T47m7uwNw8uRJ6tevX6ZhOJW0pZCQkEBkZORl11wSERH5wx9zWl1cXAxOUnv8UZDm5+eXaT8qlEpBywOIiEhp6HZXlae8/qxVKImIiIgUQ4WSiIiIGG7w4MFFbmxfVahQKgXNURIRkdqga9euPPXUUxX+nqpMhVIpaI6SiIhI7aBCSURERC4yePBgli9fzvvvv4/JZMJkMvH777+zfPlyYmNjcXV1pUGDBrzwwgsUFBRc9j1Wq5WhQ4cSERGBu7s7zZs35/333zf4E14ZraMkIiJSyex2OxfyjbkNlruz5YquCHv//ffZu3cvUVFRvPbaa0DhMge9e/dm8ODBTJkyhd27dzNs2DDc3Nx49dVXL/megIAAbDYbDRs2ZObMmfj5+bFq1SoeeeQRGjRowN13312hn7esVCiJiIhUsgv5ViJfWWTIsXe+1hMPl7/++vfx8cHFxQUPDw+CgoIAeOmllwgNDWXChAmYTCZatGjB8ePHef7553nllVcu+R4Ai8XCmDFjHM8jIiJYvXo133zzTZUvlDT0VgqazC0iIrXRrl276NixY5Eeqc6dO5OVlcXRo0cv+96EhATatWtHQEAAnp6efPLJJxw+fLiiI5eZepRKYfjw4QwfPtxxrxgREZGScHe2sPO1noYdu7J9/fXXjBo1infeeYeOHTvi5eXFuHHjWLNmTaVnKSkVSiIiIpXMZDJd0fCX0VxcXBy3XwFo2bIl3333HXa73dGrtHLlSry8vGjYsOEl3/NHm06dOvHEE084th04cKASPkHZaehNRERELik8PJw1a9bw+++/k5aWxhNPPMGRI0cYMWIEu3fv5ocffmD06NHEx8djNpsv+R6bzUbTpk1Zv349ixYtYu/evfzf//1ftVliR4WSiIiIXNKoUaOwWCxERkYSEBBAfn4+8+fPZ+3atURHR/PYY48xdOhQXn755WLfc/jwYR599FFuv/127rnnHuLi4jh9+nSR3qWqzGS32+1Gh6iu/pijlJGRgbe3t9FxRESkisrJySE5OZmIiAjc3NyMjlMrXO7PvCTf3+pRKgVd9SYiIlI7qFAqBd3CREREpHZQoSQiIiJSDBVKIiIiIsVQoSQiIiJSDBVKIiIiIsVQoSQiIiJSDBVKIiIiIsVQoVQKWkdJRESkdlChVApaR0lEROTSfv/9d0wmE5s3by7Tfrp27cpTTz1VLpnKQoWSiIiIXNLYsWPp0KEDXl5e1K9fn379+rFnzx6jY1UqFUoiIiJyScuXL2f48OH89ttv/Pzzz+Tn53PTTTeRnZ1tdLRKo0JJRERELmnhwoUMHjyYVq1aER0dTWJiIocPH2bDhg1/+d6DBw/SrVs3PDw8iI6OZvXq1Y7XTp8+zYABAwgJCcHDw4PWrVszffr0y+7vzJkzPPjgg9SrVw8PDw969erFvn37yvwZ/4oKJREREaPkZRf/k59TgrYXrqxtGWVkZADg6+v7l21feuklRo0axebNm2nWrBkDBgygoKAAgJycHNq1a8e8efPYvn07jzzyCA888ABr164tdn+DBw9m/fr1zJkzh9WrV2O32+nduzf5+fll/lyX41ShexcREZHivRlc/GtNb4L7Z/75fFwTyD9/6baNusCQeX8+f681nD99cbtXM0qXE7DZbDz11FN07tyZqKiov2w/atQobrnlFgDGjBlDq1at2L9/Py1atCAkJIRRo0Y52o4YMYJFixbxzTffEBsbe9G+9u3bx5w5c1i5ciWdOnUCYOrUqYSGhjJ79mzuuuuuUn+uv6IeJREREflLw4cPZ/v27Xz99deObY899hienp6On//Wpk0bx+MGDRoAcPLkSQCsViuvv/46rVu3xtfXF09PTxYtWsThw4cveexdu3bh5OREXFycY5ufnx/Nmzdn165d5fYZL0U9SiIiIkb5+/HiXzNZij5/dv9l2v5Pv8dT20qf6RKefPJJ5s6dy4oVK2jYsKFj+2uvvVakZ+i/OTs7/xnPZAIKe6UAxo0bx/vvv897771H69atqVOnDk899RR5eXnlmrs8qFASERExiksd49teht1uZ8SIEcyaNYtly5YRERFR5PX69etTv379Eu935cqV9O3bl4EDBwKFBdTevXuJjIy8ZPuWLVtSUFDAmjVrHENvp0+fZs+ePcW+p7xo6K0WsdvtZOcWkJaVS1pWLunZeZw9n0fG+Xwyc/LJLbAaHVFERKqQ4cOH89VXXzFt2jS8vLxISUkhJSWFCxcu/PWbL6Np06b8/PPPrFq1il27dvHoo4+Smpp62fZ9+/Zl2LBh/Prrr2zZsoWBAwcSEhJC3759y5Tlr6hHqRQSEhJISEjAajW+sMi32jialkna8UNkpR0m98wx7BnHMWen4nohFdeCLF43P87hPE+y8woYafmWhy3zsWPCDtgxYcOMDRNZOPM32yhO1GlJXQ9nOlp20966Gbt3Q1wCm+HbKIrQ0Eb4ebo6ulFFRKTmmjhxIlC4SvZ/+/zzzxk8eHCp9/vyyy9z8OBBevbsiYeHB4888gj9+vVzXFV3KZ9//jkjR47k1ltvJS8vj+uuu4758+cXGeKrCCa73W6v0CPUYJmZmfj4+JCRkYG3t3eFHisrt4D9ycmkHdxEXspefuR69qRbOZx+njHmSdzvlFTse2/MfYt99sIx5ZGW73ja+bti296U+y/22kMB+Jvle+Kdvy3yeqbdncOmYNJcw9jR+GEatbyaDuG+BHq7lcOnFBGpmXJyckhOTiYiIgI3N/17WRku92deku9v9ShVQWlZuezeu5tz+1ZByjbqZu4houAAMaYzjjYf5Ppy0N4IgCNOweThRIbFjyyX+uR61MdWJwiLTwOc6vgxvmlP3HwCqONqwdPaHrv1JUwmE3abDZvNhs1mxW63knfhPJ/WuYozeRbOnM/DNTmTnUctOGcexvv87/gXpOJtukAUByD3AK9tvoWDmzYBcI/3dq73ScX1qmtp3fFG6vt4XvKziYiIVCcqlKqgKasPUbAsgeecZ/y58T8jXalOwWTUCefJVldRr3E7IgLqEOjRA7NlPAFmMwF/uXc3INCxS8t/fgBcAE+g0R9Nmw8ABvz51oJcck/uJ+3QDjKO7OI61464HzrDrhOZXHthCb3zfoNTn3F6tRdJHp3Ib3YrrTr3IbR+vTL8aYiIiBhHhVIV1DrEh8V1W3HY2pzsepG4hETj37Q9PuExBLp6EQg0MyKYkyuuwa0ICW5FSEd49T+bz+Xkc2z5Mfbs9aRB+hr8OMcNFxbBlkVkbn6OJa7XsLfjW9zePoz6XupyFhGR6kNzlMqgMucoVRvWfNJ2LCVt7TcEHl9MPdsZNtiackfeGJzMJm6MDGRgTD06RkZgNmtCuIjUDpqjVPk0R0mqJosz/m1uwr/NTWCzkbFvJRkHT3J1cl02Hj7Lqu37eXvfCFZbWnO25f3E9bwXf28Po1OLiIhckgolqThmMz7Nr6V7c+gO7E7JZOuiL6iTnEtn23rYsZ7D28fyQ8MHiO7zBOFB/kYnFhERKUILTkqlaRHkzd2DRpDz6Fr2Nh5MpsmLMNNJ+h57B8+JbZkz/im27D9kdEwREREHFUpS6dwaNKfZg+/j9cJuDsWOJs0SiL8pk16np/DYpOXc8/Fqftl3Ck2fExERo2noTQxjcvWkUe946DmCE6umsWXrFtKO+3MiOZ01n63luYDfiOl+Fx1jWmslcBERMYR6lMR4FmcaXDuIm4e/y4rnujGkczhtnI7wxLnxtJvdnXn/eoBfN25RD5OISDVhMpmYPXt2mfYxePBg+vXrVy55ykKFEnD+/HkaNWrEqFGjjI5S6zXwcWd0n1YkDm7HYc8YXE353JrzIx1+6M7cfw1kxXoVTCIilWnFihX06dOH4ODgcimAqhsVSsA//vEPrrnmGqNjyH/xbdKBsGeWcfau7znsFYOrqYA+OXOJ+7E7c/95P0mb9qhgEhGpBNnZ2URHR5OQkGB0FEPU+kJp37597N69m169ehkdRf6XyUTdVjcQFr+MjLu/57BXW1xNBVyT8yvDZ+yg9/hfWbj9BDabCiYRkYrSq1cv3njjDfr371+i96WlpdG/f388PDxo2rQpc+bMcbxmtVoZOnQoERERuLu707x5c95///3L7i83N5e//e1v1K9fHzc3N7p06cK6detK9ZlKoloXSlfSHZiQkEB4eDhubm7ExcWxdu3aIq+PGjWKsWPHVlJiKRWTCZ/IGwh7ZhmZ98xmZbMXsLh4sOtEJo9/tZ6v/vU4C1esJt9qMzqpiEiJnM8/z/n880V6yPOt+ZzPP0+eNe+SbW32P/+ty7cVts215l5R28o0ZswY7r77brZu3Urv3r25//77SU9PB8Bms9GwYUNmzpzJzp07eeWVV/j73//ON998U+z+nnvuOb777ju++OILNm7cSJMmTejZs6djnxWlWhdKf9UdOGPGDOLj4xk9ejQbN24kOjqanj17cvLkSQB++OEHmjVrRrNmhtw5TUrBu2U3+t3/BCtf6M6I7k3o57qRB3Onc2NSL5b84za+X7CI7NwCo2OKiFyRuGlxxE2L40zuGce2z3d8Tty0ON5c82aRtl2/6UrctDhOZJ9wbPt699fETYvjlZWvFGl783c3EzctjoNnDzq2/bD/hwr6FJc2ePBgBgwYQJMmTXjzzTfJyspydFY4OzszZswY2rdvT0REBPfffz9DhgwptlDKzs5m4sSJjBs3jl69ehEZGcmnn36Ku7s7n332WYV+jmq9PECvXr0uO2T27rvvMmzYMIYMGQLARx99xLx585g8eTIvvPACv/32G19//TUzZ84kKyuL/Px8vL29eeWVVy65v9zcXHJz/6zaMzMzy/cDyRWr6+HCMzc1J+uqmzk8dzVhZ1bT0/YLrPmFX9a05XjUY3S7qS/1vd2NjioiUmO9+eabvPnmnwXdzp07CQsLA6BNmzaO7XXq1MHb29vRUQGFIz6TJ0/m8OHDXLhwgby8PGJiYi55nAMHDpCfn0/nzp0d25ydnYmNjWXXrl3l/KmKqtaF0uXk5eWxYcMGXnzxRcc2s9lMjx49WL16NQBjx451DLslJiayffv2YoukP9qPGTOmYoNLiXheFYfnyIXkHtlEyvx/0vDET1zLJtj+KNu3/pNxTcdzZ+dWxEb4ai0mEaly1ty3BgB3pz9/qRvSaggDWw7EyVz0K3rZ3csAcHP68wav97a4lzua3oHFbCnSduEdCy9q27dJ33LNDvDYY49x9913O54HBwc7Hjs7OxdpazKZsNkKhwK//vprRo0axTvvvEPHjh3x8vJi3LhxrFmzptwzllWNLZTS0tKwWq0EBgYW2R4YGMju3btLtc8XX3yR+Ph4x/PMzExCQ0PLlFPKh2toWxo9OgNr2gEOz/sXQcnfU4CJmTvOMXPHbzQL9GRou3r0jm2Jl5vzX+9QRKQSeDhffFNwZ4szzpaL/526ZFuzM87mK29b3nx9ffH19S3x+1auXEmnTp144oknHNsOHDhQbPurrroKFxcXVq5cSaNGjQDIz89n3bp1PPXUUyU+fknU2EKppAYPHvyXbVxdXXF1da34MFJqFv+rCBv0CWSPxTN5PwP2ejB70zFSUlO4NekuNia15GDo7TS/7i5imzTAbFYvk4jI5WRlZbF//37H8+TkZDZv3oyvr69jmK2kmjZtypQpU1i0aBERERF8+eWXrFu3joiIiEu2r1OnDo8//jjPPvus47hvvfUW58+fZ+jQoaXKcKVqbKHk7++PxWIhNTW1yPbU1FSCgoLKtO+EhAQSEhKwWq1l2o9UoDp+NInyY2wUvNi7BRvmJ1Jnay7Xsplrj27mzNS3+N7pOnKiBnDttd1p5O9pdGIRkSpp/fr1dOvWzfH8j5GVQYMGkZiYWKp9Pvroo2zatIl77rkHk8nEgAEDeOKJJ1iwYEGx7/nnP/+JzWbjgQce4Ny5c7Rv355FixZRr169UmW4UiZ7DVm1z2QyMWvWrCLLncfFxREbG8sHH3wAFF6OGBYWxpNPPskLL7xQ5mNmZmbi4+NDRkYG3t7eZd6fVCz76QOkLJ+Ex66Z+OSfcmzfZQtjSsAzXHPtjdwcFYSrk+UyexERKbmcnBySk5OJiIjAzc3tr98gZXa5P/OSfH9X6x6lv+oOjI+PZ9CgQbRv357Y2Fjee+89srOzHVfBSe1i8ruKBrePBdsb5O1dzMlfPqf+scU0MR1j8TEnpn+9Gd86LtwX48udHVsQ7l/H6MgiImKwal0o/VV34D333MOpU6d45ZVXSElJISYmhoULF140wbukNPRWzZktuLToScMWPeHCGdL3rOT+tGZ8vfYIKZk5xK39GxnrzvOpXz+iej1Mx2YhRicWERGD1JihNyNo6K1mKbDa+HXzLjr/eD3OFK5ge8QWwLygx7n5rkcJD9A8JhEpHQ29Vb7yGnqr1itzi5QnJ4uZru1a4fzsbs52eolMZ39Czad47ORrpH7Qg0kzZ5NxoXJvASAiIsZSoSTyv+r4U/em5/B+diun2z1FnsmFOPMuHto+mL+Pe48vfzukG/GKiNQSKpRKISEhgcjISDp06GB0FKlILnXw6zMGl5EbSA27heOWIH4+35T/m72dx77aoHvKiUiJabZL5fljFfCy0hylMtAcpdol//xZvtp0hrHzd5NvLWCw3x6GPfwEwfUuXgFXROS/Wa1W9u3bh4eHBwEBAbqlUgWy2+3k5eVx6tQprFYrTZs2xWwu2i9Uku9vFUploEKpdtpw6AzbEp9isH02M009aTIogbbhAUbHEpEqLisri6NHj6pXqZJ4eHjQoEEDXFxcLnpNhVIlUaFUe51NehfvX17DjJ1fbG3I7PMpt3RoYXQsEanirFYr+fm6KKSiWSwWnJyciu25U6FUwf57HaW9e/eqUKqlLmybg/n7Ybjac9hrC2FFhw8Zeuv16lIXEaniVChVEvUoifXYJs4n3oVX/ilO2X2Y1eYjht3eS8WSiEgVpnWURCqJJaQtXiNWkO7ZjABTBrdsfZJ35m/RHAQRkRpChZJIWXkH4/v4Qk57t+SN/IFM+OUYb/+0R8WSiEgNoEJJpDzU8cPvqZXE3VJ4w+WEpQf49897DQ4lIiJlpUKpFLTgpFyS2cLgzhH8362RBJNG21+G8cn8VUanEhGRMtBk7jLQZG4pzvH3biD47Hr22UL4OfYzHr/lGk3wFhGpIjSZW8RgwYM+I8s1kKbmY/RcO4TXpswnJ99qdCwRESkhFUoiFaFeOJ6PLCDbLYirzCcYfvAxRn+YyKlzuUYnExGRElChJFJR/K6izhPLyKrXCn9TJmPSn+e98W+zJ+Wc0clEROQKqVASqUjeDfB87CeyG92Amymfu3K/5a6Jv7J090mjk4mIyBVQoVQKuupNSsTVkzoPfsOFjs/wUYPXycy1MfSLdbw6ZwdpWRqKExGpynTVWxnoqjcpqbwCG/83ezsz1h/hJaev2GqOpHGXu3n4usZ4uTkbHU9EpFbQvd4qiQolKa0tKxcS/fM9AKyxtSDB6UG6du/N/deE4epkMTidiEjNpuUBRKq46HYdsXd5BqvZlTjzbqbY/k79RY/y4Ntfs/rAaaPjiYjIf6hHqQzUoyRllnEM25J/YNoyDRN2cu1OvFVwD1zzBM/e3BI3Z/UuiYiUN/UoiVQXPiGY+3+I6bFfsYZ3xdVUwCNO8/h25Q76fPAr249lGJ1QRKRWU6EkUhUERWEZNBtueZfj3f6Ns6cf+05m0S9hJR8k7aPAajM6oYhIraRCqRS0PIBUCJMJOgylbdfb+enp6+jdOohb+AXfpc/z8KcrdAsUEREDaI5SGWiOklQk+4WzFLwThXPBObbbwpnUZALvDOyCxayb64qIlIXmKInUACb3ujjf9xX5rn5EmX/ntn0v848ft6LfbUREKo8KJZGqrHFXnB+YidXsSnfLZkLX/YNPfzlodCoRkVpDhZJIVdewHZY7PgFgiNMiji16nx82HzM4lIhI7aBCSaQ6aNUPerwKwCtOU/jq229ZtT/N0EgiIrWBCiWR6qLzU9jbPsCKev3ZUNCYR7/cwI7jWmdJRKQiqVASqS5MJkx9xtNx+CTaR/hzLreAAZ/8xrrf041OJiJSY6lQEqlOzGbcnC18+mB74sI8iS+YxDOT5vPzzlSjk4mI1EhORgcQkZLzcXdmathcnE7+xA22TQz8Mo/023twT4cwo6OJiNQo6lESqaacuozA7tuYUPMpZri8xiffLyRh6X6tsyQiUo5UKJWCbmEiVULdMExDFmAPaEmQ6QwzXF5n3k+LGPPjTqw2FUsiIuVBtzApA93CRKqE7NPwVX84sYUMuweD857HEhbLu3fHEObnYXQ6EZEqR7cwEalN6vjBoB8h9Bp8TOd53+VDNh46Ta/3VzBj3WENxYmIlIEKJZGawM0HHvgeruqOW7/3aB/hT3aelee/28awKRtIy8o1OqGISLWkobcy0NCbVDl2O5hMWG12Pvv1IGt/msEhqx/pHo1568423NAy0OiEIiKG09CbSG1lMgFgMZt4JMrMxx4f8qPry/TIWcSwKetYtCPF4IAiItWLCiWRmsrFE0toB9zI41/On/K200RGTt/A2mSt5C0icqVUKInUVJ4BcP930GMMdrMTt1t+5Vm+5OEv1rEn5ZzR6UREqgUVSiI1mdkMXZ7CdMckAIY6LeDW/EUMmryWY2cvGBxORKTqU6EkUhu06g/dXgbgdefPCT63lQc/W8OZ7DyDg4mIVG0qlERqi+tGQeu7yW1xO6e9WnDgVDYPfbGOC3lWo5OJiFRZKpREaguTCfp9iMc9k5g0tAs+7s5sOnyWIYlrOXtePUsiIpeiQkmkNrE4g8lE00AvJg+6msEuS9hw8CT9Elay/2SW0elERKqcWl0onT17lvbt2xMTE0NUVBSffvqp0ZFEKk27TS/zqnkSE+t8wrHTmfT/cCXL954yOpaISJVSq1fmtlqt5Obm4uHhQXZ2NlFRUaxfvx4/P78rer9W5pZqbd/PMP1esBWw2aUd92UOJ8fkxsu3RDKkczim/yxeKSJS02hl7itksVjw8Ci8u3pubi52u103EJXao+mNMOBrcPYgJm8DC+u9RV17Jq/N3cnfZ20j32ozOqGIiOGqdaG0YsUK+vTpQ3BwMCaTidmzZ1/UJiEhgfDwcNzc3IiLi2Pt2rVFXj979izR0dE0bNiQZ599Fn9//0pKL1IFNL0RBv0I7r6EXdjNEt+xNDSdYvraIzwxdSN5BSqWRKR2q9aFUnZ2NtHR0SQkJFzy9RkzZhAfH8/o0aPZuHEj0dHR9OzZk5MnTzra1K1bly1btpCcnMy0adNITU2trPgiVUPD9vDQIvAJpe75Q/zk9y4eTjZ+3pmqYklEar1qXSj16tWLN954g/79+1/y9XfffZdhw4YxZMgQIiMj+eijj/Dw8GDy5MkXtQ0MDCQ6Oppffvml2OPl5uaSmZlZ5EekRghoBkN/gqDWeNz2Nh89eA2uTmYW70rliakbyC3QWksiUjtV60LpcvLy8tiwYQM9evRwbDObzfTo0YPVq1cDkJqayrlzhfe8ysjIYMWKFTRv3rzYfY4dOxYfHx/HT2hoaMV+CJHK5B0MjyyHZjdxXbMAJg1q/59i6SRPfLVRxZKI1Eo1tlBKS0vDarUSGBhYZHtgYCApKSkAHDp0iGuvvZbo6GiuvfZaRowYQevWrYvd54svvkhGRobj58iRIxX6GUQqndnieHhtvQzWBr9LmNMZknaf5LEvN5CTr2JJRGoXJ6MDGCk2NpbNmzdfcXtXV1dcXV0rLpBIVWG3w5wn8Tm5lgV+Z+iW/jxL95zisa82MPH+dri7WP56HyIiNUCN7VHy9/fHYrFcNDk7NTWVoKCgMu07ISGByMhIOnToUKb9iFRZJhP0/xg8g6iTsY/FQRPxcS5g2Z5T3D/pN91MV0RqjRpbKLm4uNCuXTuSkpIc22w2G0lJSXTs2LFM+x4+fDg7d+5k3bp1ZY0pUnXVawQDvwNXH7xPbWBZ+BTquZnYePgsd360iqNnzhudUESkwlXrQikrK4vNmzc7hs+Sk5PZvHkzhw8fBiA+Pp5PP/2UL774gl27dvH444+TnZ3NkCFDDEwtUo0ERcF9X4PFlXpHFrOsxQ808HblwKlsbv9wFTuP68pPEanZqvUtTJYtW0a3bt0u2j5o0CASExMBmDBhAuPGjSMlJYWYmBjGjx9PXFxcmY6bkJBAQkICVquVvXv36hYmUvPtmgvfPAB2G5nXvcpdW9qxJ/UcXq5OfPxgOzpdpYVaRaT6KMktTKp1oWQ03etNapVNU2HD53D/t2RQh2FT1rM2OR0Xi5l374nm1jbBRicUEbkiutebiJS/tvfDkIXgXhcfd2emPBRL79ZB5FltjJi+iZnrtVyGiNQ8KpRKQVe9Sa1l+XNFEbcNnzAhcB73xYZit8Oz327lq98OGRhORKT8lWrobc6cOSU+0I033oi7u3uJ31eVaehNaq0TW+Dj6wCwX/88r2X15fOVvwPwf7dGMrRLhIHhREQur8LnKJnNJeuIMplM7Nu3j8aNG5f0UFWaCiWp1VYnwKK/A2Dv/n+8df5WJi47AMCzPZszvFsTI9OJiBSrUuYopaSkYLPZrujHw8OjtIcRkaqq43C48TUATEte57n663iqR1MAxi3aw7s/70XXiohIdVeqQmnQoEElGkYbOHBgjepx0Rwlkf/oPBKufQYA048jeSr8MM/f3AKA8Un7eGPeLmw2FUsiUn1peYAy0NCbCIX3hZv1KGydAc514Mm1TN6Wz2tzdwJwW3Qwb98VjYuTrh0RkaqhJN/fJb4p7pkzZ7Db7fj6+nLq1Cl++eUXmjdvTqtWrUodWESqMZMJbpsAWanQ5EbwDuGhLibq1XHm2ZlbmbPlOOnZeUwceDVebs5GpxURKZES/Yo3adIk2rVrR/v27Zk4cSL9+/cnKSmJe++9l0mTJlVURhGp6pxcYOD30OnJwsIJ6N+2IZMHd8DDxcKv+9O495PfOHkux+CgIiIlU6KhtzZt2rBmzRouXLhAWFgYycnJBAQEkJGRwfXXX++451ptoaE3kWLkZMCKt6HbS2xNzWHI5+s4nZ1HqK87Ux6KI8K/jtEJRaQWq7Cr3pycnHB3d8fX15cmTZoQEBAAgI+PD6b//BZZG2gyt8hl2O0wfQCsGg/fDaVNsBffPd6JRn4eHEm/wJ0TV7H5yFmjU4qIXJESFUoWi4WcnMKu8+XLlzu2Z2VllW+qKm748OHs3LmTdevWGR1FpOoxmaDrC2Bxgd1zYe7ThPt58O1jnWgd4sPp7DwGfPIbS3anGp1UROQvlahQWrx4Ma6urkBhL9Ifzp8/zyeffFK+yUSk+oq4Du6YBCYzbPwClrxBgJcr0x+5huuaBXAh38qwKRuYse6w0UlFRC6rRIVScUNs9evX1zCUiBQV2Rduebfw8S9vw28T8XR14rNB7bn96hCsNjvPf7eN9xfv08KUIlJllWlhk5SUlPLKISI1Ufsh0P3lwscLX4Bt3+JsMfPOXdE8+Z9bnPx78V7+PmsbBVabgUFFRC6tTIXSTTfdVF45RKSmunYUxD0GXsEQWLjemslkYlTP5rzeLwqzCaavPcKjX24gO7fA4LAiIkWVqVCqrd3luupNpARMJug5Fh5dDvVbFnnpgWsa8dHAdrg6mUnafZJ7PlnNyUyttSQiVUeZbmHSpk0btm7dWp55qhWtoyRSSodWgWcg+F0FwMbDZxj2xXpOZ+cRUtedyYM70DzIy+CQIlJTVdg6SiIiZbZ/MUzpC1/dAVmnALg6rB7fP9GJxv51OHa2cK2lX/elGRxURESFkohUtqA24NUAziTDtLshLxuARn51+P6JTsSG+3Iut4DBn6/lm3VHDA4rIrVdmQoli8VSXjlEpLbwrA8DvwN3Xzi+EWYOAWvhJO66Hi58+XAsfWOCKbDZee67rfxr4W5stto5H1JEjFemQmnTpk3llUNEahP/pjDga3Byg32LYF584a1PAFcnC+/dE8OI7oXLB0xcdoBHv9pAlq6IExEDaOhNRIwRFle4ejemwtW7V7zteMlkMvHMTc359z3RuDiZ+XlnKnd8uIoj6eeNyysitZJTeewkKSmJpKQkTp48ic1WdNG4yZMnl8chRKQmatkHeo+D+aPg5A6w2cD85+9v/ds2JNyvDo98uYE9qee4bcKvTBzYjmsa+xkYWkRqkzL3KI0ZM4abbrqJpKQk0tLSOHPmTJGfmkjrKImUo9hhcP+3cMfkIkXSH9qG1WPOk51pHeLDmfP5DJy0hmlrdI84EakcZVpHCaBBgwa89dZbPPDAA+WVqdrQOkoiFcBmg/NphZO+/8uFPCvPfruFuVtPAHBfXBij+0Ti6qSLSkSkZCp1HaW8vDw6depU1t2IiEB+Dnw3FD67EbKLrqPk7mLhgwFtGXVTM0wmmLbmMHd/tJrjZy8YFFZEaoMyF0oPP/ww06ZNK48sIlLb5WXBsQ1w5neYPgDyixZBJpOJJ7s35fPBHfBxd2bL0Qxu/eBXVu7X4pQiUjFKNfQWHx/veGyz2fjiiy9o06YNbdq0wdnZuUjbd999t+wpqygNvYlUgFN7CnuUcjKgVf9i5y4dST/P41M3sP1YJmYTjOrZnMevvwqTyWRAaBGpTkry/V2qQqlbt25X1M5kMrFkyZKS7r7aUKEkUkGSf4Ev+4MtH7o8DT1evWSznHwr/zd7OzM3HAXgxshAxt3ZhroeLpUYVkSqmwovlKSQCiWRCrR5Osx+rPBx3wRoO/CSzex2O1+vO8LoH3aQZ7UR7OPG+AFtaR/uW4lhRaQ6qdDJ3GfOnCE9PR2AU6dO8f3337Njx47SJRURKU7MALjuucLH85+D7NOXbGYymRgQG8Z3j3ci3M+D4xk53PPJb3yQtA+rbn0iImVUokJp0qRJtGvXjvbt2zNx4kT69+9PUlIS9957L5MmTaqojCJSW3X7O7QfCgO/hTqXX2SydUMf5v7tWvq3DcFqs/POz3sZOGkNqZk5lRRWRGqiEg29tWnThjVr1nDhwgXCwsJITk4mICCAjIwMrr/+ejZv3lyBUaseDb2JVE3fbTjK//2wnfN5VnzruDDuzjbc0DLQ6FgiUkVU2NCbk5MT7u7u+Pr60qRJEwICAgDw8fHRlSYiUvFSd8B3w6Ag97LN7mjXkLkjutAq2Jv07DyGfrGe577dwrmc/EoKKiI1RYkKJYvFQk5OYTf28uXLHduzsrLKN1UVp1uYiBigIBem3gXbvoEfR8JfdIY3DvDk+yc6MezaCEwm+Gb9UW5+7xdWac0lESmBEg29/dFF9b+9RydPnuTQoUO1rnDQ0JtIJdufVFgs2a1wwytw7TNX9La1yemMmrmFw+nnARjcKZznb26Bu4tufyJSG2l5gEqiQknEAOs+g3n/WfT2nq+gZZ8relt2bgFvzt/F1P/cUDfCvw7/uqMNsRFaRkCktqnUe72NHTuWyZMnX7R98uTJ/Otf/yrr7kVEiuowFGIfLXz8/SNwYssVva2OqxP/6N+aLx6KJcjbjeS0bO7+eDUvfr+VjPOauyQil1bmQunjjz+mRYsWF21v1aoVH330UVl3LyJysZ5vwlXdIf984T3hzqVc8VuvbxbAoqevY0BsKADT1x7hhneXM2fLcdTBLiL/q8yFUkpKCg0aNLhoe0BAACdOnCjr7kVELmZxgjs/B/9m4NcEnFxL9HYfd2fG3t6Gbx7tSJP6nqRl5fK36ZsYkriOI/+ZxyQiAuVQKIWGhrJy5cqLtq9cuZLg4OCy7l5E5NLc68KgH2Hgd+Ber1S7iI3wZd7fuvB0j2a4WMws23OKG/+9nPFJ+8jJt5ZvXhGplspcKA0bNoynnnqKzz//nEOHDnHo0CEmT57M008/zbBhw8ojo4jIpXkFgcX5z+fHN5V4F65OFkb2aMqCp67lmsa+5OTbePfnvfR4dzkLt5/QcJxILVfmq97sdjsvvPAC48ePJy8vDwA3Nzeef/55XnnllXIJWVXpqjeRKsJmgwXPwbpP4e4pENm3VLux2+3M3XqCN+fv4kRG4Zpxna7yY3SfVjQP8irPxCJiIEOWB8jKymLXrl24u7vTtGlTXF1LNmegOlKhJFKFLHgB1kwEZw8Y+hMEtS71rs7nFfDRsgN8tOIgeQU2LGYT98eF8bcbmuLvWfP/bROp6QxbR+mPXdWW25moUBKpQqwFMPVOOLgUfEJh2FLwDCjTLo+kn+cf83axcEfhVXV1XCw8ct1VPHxtBHVcncojtYgYoFLXUQL47LPPiIqKws3NDTc3N6Kiopg0aVJ57FpE5MpYnOCuz8G3MWQcgW8ehIK8Mu0y1NeDjx5ox7SH42gd4kN2npV/L97L9eOW8dVvh8i32sopvIhUVWUulF555RVGjhxJnz59mDlzJjNnzqRPnz48/fTTVX6O0pEjR+jatSuRkZG0adOGmTNnGh1JRMrCvR4MmAGu3nB4Fcwf9Zf3hLsSnZr488PwznwwoC1hvh6kZeXy8uzt9Pz3CuZuPY7NpgnfIjVVmYfeAgICGD9+PAMGDCiyffr06YwYMYK0tKp7A8oTJ06QmppKTEwMKSkptGvXjr1791KnTp0rer+G3kSqqH0/F94TDuCRZRAcU267ziuwMW3NIcYv2U96dmGPVYsgL56+sRk3RQbWmqkHItVZSb6/yzzInp+fT/v27S/a3q5dOwoKCsq6+wrVoEEDx2KZQUFB+Pv7k56efsWFkohUUU1vhF7/grqNyrVIAnBxMjO4cwR3tGvIpF+SmfxrMrtTzvHolxtoHeJD/I3N6No8QAWTSA1R5qG3Bx54gIkTJ160/ZNPPuH+++8v6+4va8WKFfTp04fg4GBMJhOzZ8++qE1CQgLh4eG4ubkRFxfH2rVrL7mvDRs2YLVaCQ0NrdDMIlJJ4h6F5jdX2O693Jx5+sZm/PJ8N4Z3uwoPFwvbjmUwJHEdt09cxdI9J7UGk0gNUK6TuR9++GEefvhhWrduzaefforZbCY+Pt7xU96ys7OJjo4mISHhkq/PmDGD+Ph4Ro8ezcaNG4mOjqZnz56cPHmySLv09HQefPBBPvnkk3LPKCJVwJlD8N3DkJtV7ruu6+HCsz1b8Mtz3Xjkusa4OZvZdPgsQz5fR9+Elfy8M1UFk0g1VuY5St26dbuyA5lMLFmypCyH+sv9z5o1i379+jm2xcXF0aFDByZMmACAzWYjNDSUESNG8MILLwCQm5vLjTfeyLBhw3jggQcue4zc3Fxyc3MdzzMzMwkNDa2QOUqnzp/i98zfqetal6b1mjq2bz21lVxrLi19W+Lp4glA2oU0kjOS8Xbxprlvc0fb7WnbuVBwgea+zfF2Kcx3JucM+8/ux9PZk5Z+LR1td57eSXZ+Nk3rNqWuW10AMnIz2HtmLx5OHrTyb+Vouyd9D+fyztG4bmN83XwBOJd3jj3pe3C1uNI64M/1a/ad2UdGbgbhPuH4u/sDcD7/PDtP78TZ4kx0QLSj7YGzBziTc4Yw7zDqe9QHIKcghx2nd2AxWYipH+No+3vG75zOOU2IZwhBdYIAyLPmsS1tGyZMXB14taPtkcwjnLpwiqA6QQR7Ft5Wp8BWwLa0bQBEB0RjNhX+znAs6xinzp8iwCOAEM8QAGx2G1tPbQUgyj8KJ3PhiHVKdgqp51Pxc/OjoVfDIn/udrudFr4tcP7PqtFpF9JIzU7Fx9WnSNs96Xuw2W00rtsYV0vh+jxnc86Sej4VbxdvGnj+eR/FQ5mHsNqshHiFONpm5WWRnpOOu5M7AR5/Xgp/6vwprHYrvm6+uFhcHH8+2fnZOJudHf/v/PFnDOBicXH8OdQoNht81BlO7oSWtxUuSFmBw2Inz+XwyfKDTF1zmAv/uQ1KywbejOjehJtbBWE2a0hOxGglmmNsryEA+6xZsxzPc3Nz7RaLpcg2u91uf/DBB+233Xab3W632202m/3ee++1jx49+oqOMXr0aDtw0U9GRkY5fYo/zdwz0x6VGGV/MunJItt7ftvTHpUYZd96cqtj29wDc+1RiVH2hxc9XKRt31l97VGJUfY1x9c4tiUdSrJHJUbZ7593f5G29/54rz0qMcq+/Mhyx7aVx1baoxKj7Lf/cHuRtkMWDrFHJUbZFyQvcGzblLrJHpUYZe/9Xe8ibR//+XF7VGKU/fu93zu27T692x6VGGXvNqNbkbbxS+PtUYlR9mm7pjm2/Z7xuz0qMcp+zdRrirR96ZeX7FGJUfbPtn3m2JaanWqPSoyyx3wRU6Tt66tft0clRtknbJrg2JaRm2GPSoyyRyVG2fMK8hzb31n3jj0qMcr+9rq3HdvyrHmOthm5f57rhE0J9qjEKPvrq18vcryYKTH2qMQoe0pWimPb5G2T7VGJUfa///L3Im07Tu1oj0qMsiefTXZsm7Zrmj0qMcr+9NKni7TtNqObPSoxyr4zbadj26x9s+xRiVH2x35+rEjb3t/1tkclRtk3pGxwbFuYvNAelRhlH7RgUJG2d8650x6VGGVfeXSlY9svR3+xt/mijf2+ufcVafv4z4/br/v6uiL/n2w7tc3eZ1Yf+5OLi/6/+s66d+wPL3rYvurYKse2o+eO2l/+9WX7v9f/u0jbxb8vtiduT7TvSd/j2Jadl21feXSlffPJzUXa5hTk2POt+fYSOfSb3T7Gz24f7W23L3+rZO8tpbRzOfZ/Lthlj/y/BfZGz8+1N3p+rr3HO8vs3288Ys8vsFZKBhG5tIyMjCv+/q6Bvz4WSktLw2q1EhgYWGR7YGAgKSmFi8etXLmSGTNmMHv2bGJiYoiJiWHbtm3F7vPFF18kIyPD8XPkyJEKy+/l4kWETwSBHkXzN/RqSIRPhKOXAMDT2ZMInwhHz8r/tnVzcnNs83D2IMInguA6RW9YHOwZTIRPBO5O7n+2dSps+0fPyh8a1GlAhE8EdZz+nPTuanElwieCUK+ic7wC6wQS4ROBl8uft39wtjhfsm19j/qEe4cXaetkdiLcO5ww77Aibf3d/Qn3DsfHxcexzWwyE+4dTiPvRkXa+rn5Ee4dTl3Xun+2xUwj70YXtfVx9SHMK6xIW4BQr1BCvUIx/9dotbeLNyGeIfi4+hRpG+IZQohnCBazxbGtjnMdGtRpcNF+AzwCqO9Rv0hbN4sbfm5+Rf4c/jiej6tPkbZOZifqONcpct7+2O5kdirSQ2T/Y0FYivZo2OyFawH99+Rjq82KzW5zvPaHjLwM0nPSKbD9eaFGdn42yRnJHM06WqTtzvSd/HbiN87knHFsO33hNLP3z2bh7wuLtJ19YDZvr3/b0XMHcDzrOI8ufpQnk54s0nb0qtG0/bItU3ZMKbLfhxY9xNNLny4yzLUxdSPzD84n2ac+3PJ24cYl/4A9RY9fEfw8XXn+5hasfKE7f7uhKV5uTuw7mcXTM7bQ/Z3lTFtzmNwC3XhXpKor9dDbQw89dEXtJk+eXJrdl9j/Dr0dP36ckJAQVq1aRceOHR3tnnvuOZYvX86aNWvKfEwtDyDVjd1ux2a3FSm2LhRcwGa34WpxdQwr5lnzyMjNwGwy4+fu52h7LOsY5/PP06BOA8fwXWZepmPYtU1AG0fbtSfWcvLCSdrWb+sotlOzU/nx4I94OHlwX8v7HG2/3PklO07v4I6md9AhqAMAB88e5NkVz+Ll4kXizYmOtiOXjGTJkSW80vEV7mpWuATAwYyD9J3dF28Xb1YOWOlo+9KvLzHnwByeuvophrYeCnPjSdv4OX1CQ/DzDGb2HfMdn3lD6gZSslOI9IskwieiXP68/1tmTj5frj7E5F+TOf2fZQUCvV0Zdm1j7osLw8NFK32LVJZKWR4gMTGRRo0a0bZt2yo5UdHf3x+LxUJqamqR7ampqQQFBRXzriuTkJBAQkICVqt+G5TqxWQyYTFZimz7394oKJyv9N9znv7wv72LUNjT9Udx899iG8RetC2wTiAPt374ou0PRF48P7Bx3cZ8d9t3F20fd/04svOzHfO0oLCH8a3r3sJqL/p3MsIngtigWMJ9wgs33PxPzpzcSpY5FeesEzjlZYNbYY/g9/u+Z86BOYy8eqQjY2ZeJiOXjCTYM5hXO72Ks7lwzpnNbivxfC5vN2eGd2vCQ50jmL72MJ+sOEhKZg5vzNtFwtL9PNQ5ggc7hePj7lyi/YpIxSp1j9Lw4cOZPn06jRo1YsiQIQwcOBBfX9/yznfFipvMHRsbywcffAAUTuYOCwvjySefdEzmLgv1KIlUP/mZxzg6+UbOe9Sj1b0zwbtwGHrStkmsPr6aByMf5PrQ6wHYnb6bu368C183X5bfs9yxj9GrRrPy2EpGtB1B3yZ9gcLiKc+aV2So+3JyC6zM2niMicsPcOj0eQA8XZ14oGMjHuocQYCXbr4rUlEq7aa4ubm5fP/990yePJlVq1Zxyy23MHToUG666aZKWWwtKyuL/fv3A9C2bVveffddunXrhq+vL2FhYcyYMYNBgwbx8ccfExsby3vvvcc333zD7t27L5q7VBoqlESqqdMHCgsk54t70/7b2ZyzrDy+kgJbgaMgAnhwwYNsOrmJt657i14RvYDCKzzv/PFOovyimHrLVEdbu91+2X8PC6w25m07wYdLD7An9RwArk5mBsSG8ch1jQmue/mMIlJylVYo/bdDhw6RmJjIlClTKCgoYMeOHXh6ev71G8tg2bJll1yeYNCgQSQmJgIwYcIExo0bR0pKCjExMYwfP564uLgyHfe/h9727t2rQkmkuss+DXX8/rrdf2TkZpCckUwj70bUc6sHwMLkhTy74lna1m/LlF5/TjQfnjSc9AvpPNvh2SLLVvwvm81O0u6TTFi6ny1HzgLgbDFxZ7uGPH59E8L8PEr32UTkIoYUSkeOHOHzzz8nMTGRvLw8du/eXeGFktHUoyRSzdmssGwsrP0Ehi0Fv6tKvSu73c6pC6c4l3eOq+oW7sdmt9F5emey8rP45tZvHGuXbT65mbkH59I1tCtdQrpctJ9VB04zYcl+Vh88DYDFbKJvdDBPdGtCk/o1+99VkcpQku/vMi0PkJuby/Tp07nxxhtp1qwZ27ZtY8KECRw+fLjGF0kiUgPYrJD8C+RkwNf3lWnlbpPJRH2P+o4iCQqXYvj2tm9567q3aFKviWP78qPLmbFnBvMPzi+yj/1n9mPHTucm/kx/5Bq+fawj1zcLwGqz8/2mY9z47+UMn7aRPSnnSp1TREqm1D1KTzzxBF9//TWhoaE89NBD3H///fj7+5d3vipNPUoiNcC5FPj4eshKgci+cNcXFbpyN8D6lPUsPryYuKA4uoUVTh9Iz0mn64yu+Ln7Mbf/XOo4/7lO2dajZ/lgyX5+3vnnVby3tG7A325oSvMgr4v2LyKXVylDb2azmbCwMNq2bXvZiYrff/99aXZfpWmOkkgNc3gNJN4CtnzoMQa6PFXpEdalrOPJpCdp5N2Ib/p849j+w/4f8HTxpEtIFw6ezOWDJfuYvy3F8boKJpGSq5RCafDgwVd0Zdvnn39emt1XC+pREqlB1k2Cec+AyQwPzILGXSs9Qr41n9TzqY77AVptVm6YeQOnc06TcEMC1zW8DoDdKZmMT7q4YHr6xqY0qa+CSeSvGDKZuzZSoSRSg9jt8MNw2DwVPPxgxEZwr2topOz8bD7c/CFrTqxh+i3THTdZXpC8gF3pu2hbtyff/pbLvG0nADCboF9MCCN7NKWRX53L7VqkVqvwQmnr1q1ERUVhNl/ZXPAdO3bQvHlznJxq1hL9KpREapj8CzClL7QbAjEDjE5TrPvn3c/WtK080+4ZBkcNZndKJv/+eS+LdhTOYXIym7irfSgjujfROkwil1DhhZLFYiElJYWAgItvcXAp3t7ebN68mcaNG5f0UFWS5iiJ1GA2G1zhL4FGsNvtLDm8hNkHZjO642j83QsvotlyagtfbP2eY4fbsmZPYc+Ti8XMwGsaMbzbVfh5aqVvkT9UeKFkNpt55JFH8PC4sgXQPvzwQ3bu3FljCqU/qEdJpIbLToOUrXBVd6OT/KXnVjzHguQF9G/Sn9tCnuLtn/bw28F0AOq4WBh2XWMevrYxnq41q2dfpDQqvFDq2rVriW9RMm3aNBo0aFDSQ1VpKpREarCzh2HyzXA+HR5eDEFRRie6rLUn1jJt9zQeafMIkX6R2O125u/cy79+ncrhQ9Fgc8O3jgtPdmvC/deE4epk+euditRQmsxdSVQoidRgNitMvQsOJIFv48KVuw2e3F1SEzZN4OOtH9PEsy1nkx8iOS0bgJC67jxzUzP6xYRgNlf8fTlFqppKW5lbRKTGMlvgjkngEwbpB2H2E4VXxlUjTeo24Sqfq3i83UB+evo6xt7emvreTpy4cJD4b7Zw6we/smLvKaNjilRp6lEqBU3mFqlFjm2EyT3Bmgc3vgadRxqdqERsdhsAZlPh78Wz9v7IK6v/Duface7oXQB0aeLPC71aEBXiY1hOkcqkHqUKNnz4cHbu3Mm6deuMjiIiFS3kauj1r8LHi8fA7yuNzVNCZpPZUSQBHM3+HbPJzMPXxDG0SwTOFhO/7k/j1g9+5ekZmzl29oKBaUWqngrpUfr555/p2LEjnp6efPjhh2zevJn4+HhatGhR3ocylOYoidQSdjt8/whs+wYadYbB8yr8fnAV6VDmIXzdfPFy8eJI+nlGL1zE6ozPyEu7AUtuCx7qHMET3a7C283Z6KgiFcLwHqVRo0bh6enJb7/9xtSpU+nRowdDhw6tiEOJiFQ8kwn6vAcdn4QB06t1kQTQyLsRXi6FtzoJ9fXAP2Q1Th6HaBCyjbwCGx8tP8D1by0lcWUyeQU2g9OKGKtCh95mz57NY489xt1338358+cr8lAiIhXLpQ70/Ae41bx5PM92eJYHIx8ksf/fmTy4PU3qe3ImJ4PXl/zAjf9exsLtJ9B0VqmtKmTorVevXvj7+7NixQo2b96Mh4cHHTp0YOvWreV9KENp6E2klrLbC2+iWy8cmt5odJpyV2C1MXzBWFad/pq8Mx3ITbmDDuH1eOmWSGJC6xodT6TMDB96+/bbb+nfvz+LFy+mXr16nDlzhrfffrsiDmWIhIQEIiMj6dChg9FRRMQIm6fC/FHw/TA4e8ToNOXOyWImKsQbF7MLN0Vcj5uzmXW/n6FfwkpGTN/EkXSNEEjtocncZaAeJZFaqiC3cMmA45ugYQcYsgAsNW/ic9qFNHzdfEnNzOWdn/Yye98CnH3WYzvdk8Htu/BEtyb4uNe8zy01n+E9SprMLSI1mpMr3JUIrj5wdB0kjTE6UYXwd/fHbDLTwMedcXe2oXnz33Dy3IPdYwcfrzhI13GFE77zrZrwLTWXJnOLiJRGvXDol1D4eNUHsGehoXEqmslkYuKN47m9ye38++YRhRO+z+czZsFKbnj/exZuT9GEb6mRNJm7DDT0JiIseB7WfATu9eDRX6BuqNGJKkWB1caM9Ud4a+NLWN23kZvSj5i6PTXhW6oFw4fe/ncyd3p6eo2azC0i4nDjaxDcFnIy4fBqo9NUGieLmbvbB9OhsQcmkx1LXiNN+JYaqcLu9ZaSkuK4xUdsbCyBgYEVcRhDqUdJRABIT4ZzJ6BRJ6OTGOLg2YO4mxowbtEeZm06hlPdlTg55XFP8/t4untrfDw04VuqFsN7lKZNm0aXLl2YN28ec+fO5dprr+Xrr7+uiEOJiBjPN6LWFkkAjes2poGPO+/eHcP0R9vgEbgYJ/9FfLV1AdeNW8qkXw6SW2A1OqZIqVRIj1J0dDTLli2jXr16AJw5c4auXbuyZcuW8j6UIRISEkhISMBqtbJ37171KInIn07tgXnPQP+PwSfE6DSVzma3sTB5IVO3/8ipA/ewNzUbgBD/HEb1iKVfdENM1fwWMFL9laRHqUIKpdatW7Nx40acnQu7W/Pz87n66qvZtm1beR/KUBp6E5GLfN4bDq0svHnuoB/BbDE6kWGsNjvfbjjC2z/tJtv/bTAVEFbwCGNuvpG4xn5Gx5NazPCht4EDB9KpUyf++c9/8s9//pPOnTvz4IMPVsShRESqlts+ABfPwmJpxTij0xjKYjZxT4cwvnz0Kjw8zmF2OsfuY2bu+eQ3Hv5iHftPnjM6oshfqpAepdzcXLZt28bKlSsB6NKlC+3atSvvwxhOPUoicklbvym8vYnJXNirFN7F6ESGO5d3jjVHt7FsqxfT1x7BarPj4reC7uHX8FrPXtT3djM6otQihg692e12WrVqxc6dO8tzt1WSCiURKdbsJwrvCecVDI+vBA9foxNVGftPZvHqgsVstr+CyWSn4NDzDOsYyyPXNcbT1cnoeFILGDr0ZjKZiI6OZseOHeW9axGR6qPXW+DXFM4dhx+Gg1atdmhS35O377yGLkE98Sxox4Xz9RiftI+u45aRuGq/bokiVUqFDL21adOG3bt306xZMzw8PLDb7ZhMJtauXVvehzKUepRE5LJObIVJN0BIO7jvG3DTvxP/q8BawM87T/Gvhbv5/Uw6dRr/mzr5V/Nyp6fp0yZcV8hJhTD8qrdDhw5dcnujRo3K+1CGUqEkIn/pyLrClbstGlK6nHyrjRd/nsSi1A+w5fqTffBp2jXy5++9W9CukYYtpXwZftVbQkICPj4+NGrUiEaNGuHt7c3EiRMr4lAiIlVbaIeiRZJNw0qX4mwxM67nMP59fQI3N3gCN2dnNhw6wx0TV3HHlAT2pJ4xOqLUUhXSo9S2bVs2bdpUZNvVV1/Nxo0by/tQhlKPkohcsYJcWPwq5GUVLiEgl5WSkcN7i/fy3e6FuDX8EltuEP0C3uapHi0I8HI1Op5Uc4b3KNlsNs6d+3N9jMzMTPLz8yviUIZISEggMjKSDh06GB1FRKqLE1vgt4mwcQrsmG10miovyMeNf97RhpdvbY6z3Yf8cy2ZuuYoXcctZXzSPs7nFRgdUWqJCulRmjx5Mu+//z733HMPADNmzGDkyJE89NBD5X0oQ6lHSURKZPEY+PVdcPOBx1eBT0OjE1UL5/PPs/b30/x70SG2HM3A5JyGd8M5PNjicUZ26Y6TpUJ+55carNImcx86dIitW7cSGBhIbGxskde2b9/O0qVLAejevTutWrUq7WGqLBVKIlIi1nz47CY4vlG3OCkFu93O3K0nGL367+S7b6AgqzkNc0fwQq8WdG9RX1fIyRWrlEJp+vTpDB48mPz8fEwmE23btmXBggUEBASUKnR1pEJJRErs9AH4+LrCuUrd/w+uG2V0omrnUMZRnkt6m917YsjIKPzOiW3syd9uCKPLVREGp5PqoFLmKI0ZM4b77ruP3bt389NPPwHwwgsvlHZ3IiK1g99VhYtRAix9E46uNzZPNdTIpyEzbn+PFU/dz6PXN8bFyczmjLk8tvxO7pw6jqNnzhsdUWqQUvcoubi4sHfvXsLDwwHYvXs37dq1Izs7uzzzVWnqURKRUrHb4duHYP9i6P8xtOhtdKJq7Uh6NgPnDSPdto0Lx+7GfL49QzqF80S3Jvi4OxsdT6qgShl6M5vNpKSkUL9+fcc2d3d3kpOTCQoKKs0uqx0VSiJSahfOQk4G1KtZC/EaxW63M2XLAhasrctvBwvXXKpb7yi3ta3Hy93vwMVJc8HkT5W2PMAXX3zBqlWryMrKAsDJyYnz59XlKSLyl9zrFi2StBBlmZhMJgbF9Gb6sI58Nqg9jQPcyav7PbNOvM51H7/OzztTqYCLvKUWKHWhdO211/LGG2/QpUsX6tatS9OmTcnJyeGzzz5j6dKlRdZREhGRy9i3GCZ2gszjRiep9kwmEze0DGTOiI50atAJrF6kHo9k2JT13PfpGrYfyzA6olQzZV5Had++fWzYsIGNGzc6fs6ePYvZbKZp06bs2rWrvLJWORp6E5Eys9lgUnc4vgkad4OB34NZ6wKVl1NZ5/jsl2NMXplMXoEN18A5tKjvx3s3xxPh5290PDGI4TfFTU5OZv369WzatIk333yzvHdfZahQEpFycWpv4ZIBBRfg5n/BNY8ZnajGOZJ+njELl/Fb3guYTHasR4czvFMPhnaJwM1Z85dqG8MLpdpChZKIlJu1n8L8UWBxhUeXQ/2WRieqcex2O59tnMsXG5dy5MANAITUdeeJHvW5r10rLVhZi6hQqiQqlESk3NjtMPUu2P8zBLWGh5PASTd/rQg2m50ftx7nnwt2c+LcWepc9TZepgje6fomnRuHGx1PKoHhN8WtTvr370+9evW48847jY4iIrWZyQR9E8DDD1K2wdJ/GJ2oxjKbTfSNCWHJM125o1MeJst5zhWcYOCnW3j+262kZeUaHVGqkFpfKI0cOZIpU6YYHUNEBLwCoc/4wsfZaYW9TFJh3F0svHPrACb3mEEHzyew252Ysf4I3cYt5e8Lp3MhL9/oiFIF1PpCqWvXrnh5eRkdQ0SkUMtbYdgS6PdhYS+TVLjYhi1IvO8uvn2sI61DfLjgsoUfU9+k05TbWbonxeh4YrBqXSitWLGCPn36EBwcjMlkYvbs2Re1SUhIIDw8HDc3N+Li4li7dm3lBxURKYmQdkYnqJXah/vyw/DO3BsbCDY3sjMiGPL5Bh6Zsp4j6VpMubaq1oVSdnY20dHRJCQkXPL1GTNmEB8fz+jRo9m4cSPR0dH07NmTkydPVnJSEZFSOJcK0+6FvYuMTlJrmM0m3rhxMHP7z+O+ZoOxmE38tDOVHuNn8dCstziXk2N0RKlk1bpQ6tWrF2+88Qb9+/e/5Ovvvvsuw4YNY8iQIURGRvLRRx/h4eHB5MmTS3W83NxcMjMzi/yIiFSYtZ/A3gXww5OQfdroNLVKo7r1ebXP1SwYeS2drvLD5Pcj6zK/5PrPn2TRjhTdDqUWqdaF0uXk5eWxYcMGevTo4dhmNpvp0aMHq1evLtU+x44di4+Pj+MnNDS0vOKKiFzsumchoAVkn4R58ZrcbYBmgV58NTSW+1v3xmT14WxKRx79cgNDEtdx6HS20fGkEtTYQiktLQ2r1UpgYGCR7YGBgaSk/Dk5r0ePHtx1113Mnz+fhg0bXraIevHFF8nIyHD8HDlypMLyi4jg7Ab9PwKzE+ycDdu/MzpRrWQ2m/m/rg/y630/83inzjhbTCzbc4qek//FkFn/1HBcDedkdACjLV68+Irburq64uqqBeBEpBIFt4XrnoNlbxb2KjXqBN7BRqeqlbzd3Hm2Zwtuv7ohf/9hFTvM81mfmcuNn5gZ23Mw3ZrXNzqiVIAa26Pk7++PxWIhNTW1yPbU1FSCgoLKtO+EhAQiIyPp0KFDmfYjInJFro0vLJhyMgrnK2kIzlBXBXgy/aEe3B0xAsuFVqQcb8mQz9fx+FcbOH5WV8fVNDW2UHJxcaFdu3YkJSU5ttlsNpKSkujYsWOZ9j18+HB27tzJunXryhpTROSvWZyh/8fg5Aan98M5re1jNLPZzCvdBvHrkK94uMtVWMwmFmw/zk3TBzJyXgK5+Vqssqao1kNvWVlZ7N+/3/E8OTmZzZs34+vrS1hYGPHx8QwaNIj27dsTGxvLe++9R3Z2NkOGDDEwtYhIKQQ0h/u+KVxjydXT6DTyH56uTrx8ayR3tGvI3+ZMJsVtH0mph+n3cTj/7NuZ6NC6RkeUMqrWN8VdtmwZ3bp1u2j7oEGDSExMBGDChAmMGzeOlJQUYmJiGD9+PHFxcWU6bkJCAgkJCVitVvbu3aub4oqICPkFBbyw+BN+2n6ac2lXYzLBg9c0YuSNV+Hr4W50PPkvJbkpbrUulIxWkj9oEZFyY7PB+s/A2R3aDjQ6jfyPU+dyeXP+LmZtOobZ9QSeYV8yqPlI4jv3x6Tb0lQJJfn+rrFzlEREaqyds2D+KJj/HJz53eg08j8CvFz59z0xTH04jnrBv2B3SufTTd8wbMoGjp+9YHQ8KSEVSqWgq95ExFCR/SGsE+RnF14FZ7MZnUguoXMTf5IeTKBNnTsoONWXxbtSufHd5Xz2617yCgqMjidXSENvZaChNxExTPpBmNgZ8s9D77chdpjRieQy9qae48Xvt7Hh0BlcAhbiXe8Qb3R5jZubxRgdrVbS0JuISE3n2xh6jCl8/PMrkJ5sbB65rGaBXsx8tCP/16cxrvXWkmtJ5m/f/sRbC3eTk281Op5chgolEZHqqsPDEH5tYa/SD8M1BFfFmc0mhnZuyde3zCTcdA95ma34cNkBbn5vBUv36pZYVZUKJRGR6spshts+AGcPOPwbHNtgdCK5Aq0Cw/jxwZf5aGA76nu58nt6Bk8ue5DeU0dyPOOM0fHkf6hQKgVN5haRKsM3AvpOgGFJEKp/k6qTm6OCWPzM9XRvm47ZNY1DF9bTZ8KvzN92Ak0frjo0mbsMNJlbRETKw5eblvLxL3s4ejwUgBsjA3mhdzhX+fsbnKxm0mRuEZHaKnUn7FlgdAopoQfadmPx48MY0b0JTmYTS35fRb85vXlu0SfYbOrPMJIKJRGRmuLIWvj4Ovj+Ucg8YXQaKSE3ZwvP3NScuX/rQkDwJrBc4Idd67j30984cCrL6Hi1lgqlUtAcJRGpkoKvhqDWkJsBc58GzayolloEebNi8Kd0938M85nerE1Op9f7v/Be0jbO5+caHa/W0RylMtAcJRGpclJ3FvYq2fLhjs+g9Z1GJ5IyOJJ+npdmb2fF3lO4NZiJh2cKr3Z8ndsi9Yt6WWiOkohIbRUYCdc/V/h4/rOQdcrYPFImob4efDGkA2/cEY6z1y7yLMeJ/3Ydb8zdyfk83QalMqhQEhGpabo8DYFRcCEdFjxndBopI5PJxMAOrZh122winYdRcL4Rk35Npud7K1iwc7/R8Wo8FUoiIjWNxblwbSWTBXZ8DweXG51IykET/wZ8c/8IPh/cgWAfN45kpDFq9QP0/OoJjp5NNzpejaVCSUSkJgpuC9eNgpvegEadjU4j5ahbi/r8FH893duewWTJ5sj5PfSdsIYftxzXQpUVQJO5SyEhIYGEhASsVit79+7VZG4RETHEjK2/MHFpMr+f8AOge4sARvUKITIwxOBkVVtJJnOrUCoDXfUmItVGfg6cO1F4yxOpUfIKbExcdoAJS/dhr7MJtwaz6Bn0MON6PorZbDI6XpWkq95ERORPJ3fBR51h2j1QoHV4ahoXJzMjezRl/t+uxT9wFyZzLj/u2Ms9n6zWQpXlQIWSiEhN5xkIOZmQtgdWvG10GqkgTQO9+GVQIjcHPoVzZnfW/X6GXu//wjuLN2qhyjJQoSQiUtN5+ELvtwof//oupO4wNo9UGGcnJ8bdPJSf4m+ga/MA8gqsTNrzD7p82Y95uzcaHa9aUqEkIlIbRPaD5reArQDm/A1sVqMTSQUKqevO54M7MLp/A5zcj5JnSmHk11v518Ld5OTr3JeECiURkdrAZIJb3gZXbzi2HtZ+anQiqWAmk4khce2YddtsWrs8SUFOABOXHeDWD35lxYHfjY5XbahQEhGpLbyDocfowsdLXoeMo8bmkUrRxL8B0+8fyicPtCPAy5UDZw7zxPI7uWPGC2ReyDE6XpWnQqkUEhISiIyMpEMH3ZRQRKqZdg9Bw1gIjTM6iVSym1oF8fPT19G2xRFMllx2pu+gz4SVrPtdq3pfjtZRKgOtoyQi1VJORuEQnElr7NRWE377kSnLszl5xguTCYZ1CefJGxrj7eZudLRKoXWURESkeG4+RYsk/b5c6zx5TR8Wj7yDu9o1xG6Hz7d/xfVT+/LjrnVGR6tyVCiJiNRWF87AnBGw8AWjk4gBvN2cGXdXNBMHtsHNfyUFTicYNedHxifto8BqMzpelaFCSUSktjqxFTZOgTUfw9ENRqcRg/SKCmV2v29oZLqT3DOxvPvzXu6YuIoDJ88ZHa1KUKEkIlJbNb4e2twL2OHHv4E13+hEYpCr/IL48YFXeO+etni7ObHlaDp9vxvE33/6DJutdvcuqVASEanNev4D3H0hdTusTjA6jRjIZDLRr20Ii56+juZN9mDy2Mecox/x6LQVZJyvvUW0CiURkdqsjj/c9Ebh42X/hDOHjM0jhmvg486Pg5/mmroPkJ96Oz9vz6bX+ytYc/C00dEMoUJJRKS2i7kPwq+Fggsw/1ldBSe4ODnxad/n+Gbg44T7eXA8I4f7pszi/m/HkJOfZ3S8SqVCSUSktjOZ4JZ3wexceHuTzONGJ5IqIjq0LvP+di13XB2Ea4Ov2Zr9LT2/eIkTGReMjlZpVCiJiAgENIO7v4An14NPiNFppAqp4+rEO3e34/7mD2HPq8/h5Pb0fv8XluxONTpapdDK3KWQkJBAQkICVquVvXv3amVuERGpFQ6mZTJy+la2HcsAoE/cOf7Zuz91XF0NTlYyJVmZW4VSGegWJiJSI9ntsPMH8LsKglobnUaqmNwCK/9csJspm5bgHvYpbrZGTLv1c5rV9zc62hXTLUxERKT0fv03zBwEc5+GWr6GjlzM1cnC6D6tGHFDGCabG1nnfLnzww38tCPF6GgVQoWSiIgUFX0vuHjB0XWw8Quj00gV9VTnviT2nE5z5wfJzCngkS838OqPW8jOzTU6WrlSoSQiIkV5B0P3lwsfLx4NWaeMzSNVVruQq5j5SDce7hIBwPT9CVw/9S42Hj9ocLLyo0JJREQu1uFhaBANORnw08tGp5EqzMXJzMu3RvL2vRG4+Gwm15LM4K9+JGlXzbgqToWSiIhczOIEt/4bMMHWr+H3lUYnkiruzphIJt80Df+c+8hMb8LQL9YzdsEu8q3Ve56bCiUREbm0kHbQbnDh4/mjwGY1NI5UfR0aNmHR0OcZ3CkcgI9/2UHXxGFsTzlsbLAyUKEkIiLFu+EVCOsIPd8Es8XoNFINuDiZefW2Vky8/2q8gueS6bSW++Y8zvI9J42OVipaR6kMtI6SiIhI8VYd2s2Ixc9y5sit2HMbMqJ7U0be0BSL2WRoLq2jJCIiFePCGaMTSDXSqVELfn1gFvdGd8Juh/FJ+7hj8nT2pZ0wOtoVU6EkIiJX5reJ8O8oOLjM6CRSjbi7OPFm/9a8d08MHh6Z7DON5445dzF31xajo10RFUoiInJl0g9CXhbMGwUFNWtRQal4/dqGMHFga5zxpCDPk6en/s4Xq36nqs8AqvWF0ty5c2nevDlNmzZl0qRJRscREam6ur0EderD6X2weoLRaaQaur5xFIvu+Y5OnqPIL3Bi9JwdPD1jMxkXLhgdrVi1ulAqKCggPj6eJUuWsGnTJsaNG8fp06eNjiUiUjW514Wb3ih8vHwcnK2+l3yLcQI9ffj0/ht4+ZaWWMwm5ibPoeu0fqw8tMvoaJdUqwultWvX0qpVK0JCQvD09KRXr1789NNPRscSEam62twNjbpAwQVY9JLRaaSaMplMPHxtY6Y8dDUe9ZdQ4HScx2ZNZlkVXEKgWhdKK1asoE+fPgQHB2MymZg9e/ZFbRISEggPD8fNzY24uDjWrl3reO348eOEhIQ4noeEhHDs2LHKiC4iUj2ZTND7LTBZYNccOLDU6ERSjXVuEsSMPlPxze/NuZTreChxHR8vP1Cl5i1V60IpOzub6OhoEhISLvn6jBkziI+PZ/To0WzcuJHo6Gh69uzJyZNVr2IVEak2AltB7CNgdoKTVXO4RKqPlvUb8tPgN7m3QyNsdhi7YCd3Tn2LsxeyjY4GVPNCqVevXrzxxhv079//kq+/++67DBs2jCFDhhAZGclHH32Eh4cHkydPBiA4OLhID9KxY8cIDg4u9ni5ublkZmYW+RERqZW6vgCPrYSOTxidRGoAVycLY29vzWt9W+EWsIS91q/oMe1+jp01vliq1oXS5eTl5bFhwwZ69Ojh2GY2m+nRowerV68GIDY2lu3bt3Ps2DGysrJYsGABPXv2LHafY8eOxcfHx/ETGhpa4Z9DRKRKcq8L9VsYnUJqEJPJxIMdw3m+6y1g9eDsyavpO2E1Gw6lG5qrxhZKaWlpWK1WAgMDi2wPDAwkJSUFACcnJ9555x26detGTEwMzzzzDH5+fsXu88UXXyQjI8Pxc+TIkQr9DCIi1cKJrfDrv41OITXEkHY9mNF7Nk3cu5KWlcvEZQcMzeNk6NGrgNtuu43bbrvtitq6urri6upKQkICCQkJWK26k7aI1HIZx+DTbmArgNBroFFHoxNJDRAZ1IDvHg/g7Z/28NQNzQzNUmN7lPz9/bFYLKSmphbZnpqaSlBQUJn2PXz4cHbu3Mm6devKtB8RkWrPJwRi7i98PP9ZsOkXSCkfdVydGN2nFT4ezobmqLGFkouLC+3atSMpKcmxzWazkZSURMeO+o1HRKTc3DAa3OpC6jZYP9noNCLlqloXSllZWWzevJnNmzcDkJyczObNmzl8uHC12Pj4eD799FO++OILdu3axeOPP052djZDhgwp03ETEhKIjIykQ4cOZf0IIiLVXx0/6P5y4eMlr0O27nAgNYfJXpVWdSqhZcuW0a1bt4u2Dxo0iMTERAAmTJjAuHHjSElJISYmhvHjxxMXF1cux8/MzMTHx4eMjAy8vb3LZZ8iItWSzQofX1/Yq9R+KNz6rtGJRIpVku/val0oGU2FkojIf/l9JST2BpO5cI2lwEijE4lcUkm+v2v9VW8iIlJOwjtD+4egfiT4G3ulkkh5UaFUCloeQESkGLdqPSWpWTT0VgYaehMRuYz8nML/OrsZm0Pkf5Tk+7taX/UmIiJV1P7F8GEcrHzf6CQiZaJCSUREyl9OJpz5vfDWJmd1uyepvlQolYLWURIR+Qut+kOjzlBwARaPNjqNSKlpjlIZaI6SiMhlnNgKH18H2GHIAmjUyehEIoDmKImISFXQoA20G1T4eMHzug+cVEsqlEREpOJ0/z9w9YGUrbBlutFpREpMhZKIiFScOv5w3ajCx4dWG5tFpBS04GQpaMFJEZESiHsUglrDVRffm1OkqtNk7jLQZG4REZHqR5O5RUSkaso6BRu+MDqFyBXT0JuIiFSOC2dgQjvIyYCAFhAWZ3Qikb+kHiUREakc7vWg5W2Fjxe9CDabsXlEroAKJRERqTzd/w9cPOHYBtg20+g0In9JhVIp6BYmIiKl5BUI18YXPl78KuRlGxpH5K/oqrcy0FVvIiKlkJ8DEzpAxmHo+iJ0fcHoRFLL6Ko3ERGpupzd4MZXCx+vHA/nUgyNI3I5uupNREQqX6vbYe2kwvvBWVyMTiNSLBVKIiJS+UwmGDwXzBajk4hclobeRETEGP9dJGm6rFRRKpRERMRYJ7bClL6wP8noJCIX0dCbiIgYa/M0SF4O509D464ajpMqRT1KpaB1lEREytH1z4GbD6Ruhy3TjU4jUoTWUSoDraMkIlJOVn0AP70MXg1gxAZwqWN0IqnBtI6SiIhUL7GPQN0wOHcCVicYnUbEQYWSiIgYz8kVerxa+PjX9+BcqpFpRBxUKImISNXQ6nYIaQ/52bD2Y6PTiAC66k1ERKoKkwl6/gNStkG7wUanEQFUKImISFUSdk3hj0gVoaE3ERGpmgryIPOE0SmkllOhJCIiVc/R9ZAQC98N1e1NxFAqlEREpOrxCipcKuDQStj3k9FppBZToSQiIlWPT0OIe7Tw8eJXwWY1NI7UXiqUSkG3MBERqQRdnga3unByJ2z52ug0UkvpFiZloFuYiIhUsJXj4ef/A++QwlubOLsbnUhqAN3CREREaobYR8C7IWQeg7WfGJ1GaiEVSiIiUnU5u0H3lwofH9tobBaplbTgpIiIVG1t7oF6EdCoo9FJpBZSj5KIiFRtZouKJDGMCiUREak+stNg5xyjU0gtoqE3ERGpHs4egQ+vgYJcGLEe6oUbnUhqAfUoiYhI9VA3FBp2AFs+LB1rdBqpJVQoiYhI9XHDK4X/3ToDUncam0VqBRVKIiJSfYRcDS1vA+yw5A2j00gtoEJJRESql+4vg8kMe+bB0fVGp5EartYXSv3796devXrceeedRkcREZErEdAcou8rfJw0xtgsUuPV+kJp5MiRTJkyxegYIiJSEl1fABdP8G8OBXlGp5EarNYvD9C1a1eWLVtmdAwRESmJuqEQvxPcfIxOIjVcle5RWrFiBX369CE4OBiTycTs2bMvapOQkEB4eDhubm7ExcWxdu3ayg8qIiKVT0WSVIIqXShlZ2cTHR1NQkLCJV+fMWMG8fHxjB49mo0bNxIdHU3Pnj05efKko01MTAxRUVEX/Rw/fryyPoaIiFSk45thwQtgtxudRGqgKj301qtXL3r16lXs6++++y7Dhg1jyJAhAHz00UfMmzePyZMn88ILLwCwefPmcsuTm5tLbm6u43lGRgYAmZmZ5XYMEREpgdws+Kg35GeBXwy06G10IqkG/vjetl9BcV2lC6XLycvLY8OGDbz44ouObWazmR49erB69eoKOebYsWMZM+biKyxCQ0Mr5HgiIlIC/xxgdAKpZs6dO4ePz+WHcKttoZSWlobVaiUwMLDI9sDAQHbv3n3F++nRowdbtmwhOzubhg0bMnPmTDp2vPRdql988UXi4+Mdz202G+np6fj5+WEymRzbO3TowLp16y65j0u9dqltmZmZhIaGcuTIEby9va/481SEy32eytxfSd53JW3/qk1Jz+Oltus8lv19ZT2XOo8Vt7/K/Dup81hx+6wq/7ZW5nm02+2cO3eO4ODgv2xbbQul8rJ48eIrbuvq6oqrq2uRbXXr1r2oncViKfbkXeq1y7X39vY2/C/05fJV5v5K8r4raftXbUp6Hi+3Xeex9O8r67nUeay4/VXm30mdx4rbZ1X5t7Wyz+Nf9ST9oUpP5r4cf39/LBYLqampRbanpqYSFBRkUKpCw4cPL9Frl2tfFZR3vtLuryTvu5K2f9WmpOfxSo9rlOp4Hq+0fWnO1eVe03ks//fqPBZVEdmq+7+tVfU8muxXMpOpCjCZTMyaNYt+/fo5tsXFxREbG8sHH3wAFA6FhYWF8eSTTzomc1dXmZmZ+Pj4kJGRYfhvPlJ6Oo81g85jzaDzWDNU9nms0kNvWVlZ7N+/3/E8OTmZzZs34+vrS1hYGPHx8QwaNIj27dsTGxvLe++9R3Z2tuMquOrM1dWV0aNHXzTUJ9WLzmPNoPNYM+g81gyVfR6rdI/SsmXL6Nat20XbBw0aRGJiIgATJkxg3LhxpKSkEBMTw/jx44mLi6vkpCIiIlITVelCSURERMRI1XYyt4iIiEhFU6EkIiIiUgwVSiIiIiLFUKEkIiIiUgwVStXckSNH6Nq1K5GRkbRp04aZM2caHUlKqX///tSrV48777zT6ChSAnPnzqV58+Y0bdqUSZMmGR1HykB/B6u/ivhO1FVv1dyJEydITU0lJiaGlJQU2rVrx969e6lTp47R0aSEli1bxrlz5/jiiy/49ttvjY4jV6CgoIDIyEiWLl2Kj48P7dq1Y9WqVfj5+RkdTUpBfwerv4r4TlSPUjXXoEEDYmJiAAgKCsLf35/09HRjQ0mpdO3aFS8vL6NjSAmsXbuWVq1aERISgqenJ7169eKnn34yOpaUkv4OVn8V8Z2oQqmCrVixgj59+hAcHIzJZGL27NkXtUlISCA8PBw3Nzfi4uJYu3ZtqY61YcMGrFYroaGhZUwt/6syz6NUnrKe1+PHjxMSEuJ4HhISwrFjxyojuvwP/R2tGcrzPJbXd6IKpQqWnZ1NdHQ0CQkJl3x9xowZxMfHM3r0aDZu3Eh0dDQ9e/bk5MmTjjYxMTFERUVd9HP8+HFHm/T0dB588EE++eSTCv9MtVFlnUepXOVxXqVq0LmsGcrrPJbrd6JdKg1gnzVrVpFtsbGx9uHDhzueW61We3BwsH3s2LFXvN+cnBz7tddea58yZUp5RZXLqKjzaLfb7UuXLrXfcccd5RFTSqg053XlypX2fv36OV4fOXKkferUqZWSV4pXlr+j+jtYdZT2PJb3d6J6lAyUl5fHhg0b6NGjh2Ob2WymR48erF69+or2YbfbGTx4MN27d+eBBx6oqKhyGeVxHqXquZLzGhsby/bt2zl27BhZWVksWLCAnj17GhVZiqG/ozXDlZzHivhOVKFkoLS0NKxWK4GBgUW2BwYGkpKSckX7WLlyJTNmzGD27NnExMQQExPDtm3bKiKuFKM8ziNAjx49uOuuu5g/fz4NGzbUP+AGu5Lz6uTkxDvvvEO3bt2IiYnhmWee0RVvVdCV/h3V38Gq7UrOY0V8JzqV6d1iuC5dumCz2YyOIeVg8eLFRkeQUrjtttu47bbbjI4h5UB/B6u/ivhOVI+Sgfz9/bFYLKSmphbZnpqaSlBQkEGppKR0HmsmndeaQ+eyZjDqPKpQMpCLiwvt2rUjKSnJsc1ms5GUlETHjh0NTCYlofNYM+m81hw6lzWDUedRQ28VLCsri/379zueJycns3nzZnx9fQkLCyM+Pp5BgwbRvn17YmNjee+998jOzmbIkCEGppb/pfNYM+m81hw6lzVDlTyP5XLtnBRr6dKlduCin0GDBjnafPDBB/awsDC7i4uLPTY21v7bb78ZF1guSeexZtJ5rTl0LmuGqngeda83ERERkWJojpKIiIhIMVQoiYiIiBRDhZKIiIhIMVQoiYiIiBRDhZKIiIhIMVQoiYiIiBRDhZKIiIhIMVQoiYiIiBRDhZKIVFldu3blqaeeuuL2y5Ytw2QyYTKZ6NevX6n3Y5SuXbs68m/evNnoOCKCCiURqYH27NlDYmJiqd4bERHB4sWLHUVXvXr1yMnJKdJm3bp1joKmPH3//fesXbu2XPcpImWjQklEapz69etTt27dEr9v69atnDlzhuuvv96xzcvLi1mzZhVp99lnnxEWFlbWmBfx9fUlICCg3PcrIqWnQklEqo158+bh4+PD1KlTS/xem83Gc889h6+vL0FBQbz66qsXtfnhhx+4+eabcXZ2dmwbNGgQkydPdjy/cOECX3/9NYMGDSry3sTEROrWrcvs2bNp2rQpbm5u9OzZkyNHjhRp9+OPP9KhQwfc3Nzw9/enf//+Jf4sIlJ5VCiJSLUwbdo0BgwYwNSpU7n//vtL/P4vvviCOnXqsGbNGt566y1ee+01fv755yJt5syZQ9++fYtse+CBB/jll184fPgwAN999x3h4eFcffXVFx3j/Pnz/OMf/2DKlCmsXLmSs2fPcu+99zpenzdvHv3796d3795s2rSJpKQkYmNjS/xZRKTyOBkdQETkryQkJPDSSy/x448/FhkWK4k2bdowevRoAJo2bcqECRNISkrixhtvBODYsWNs3bqVXr16FXlf/fr16dWrF4mJibzyyitMnjyZhx566JLHyM/PZ8KECcTFxQGFxVnLli1Zu3YtsbGx/OMf/+Dee+9lzJgxjvdER0eX6vOISOVQj5KIVGnffvstTz/9ND///HOpiyQoLJT+W4MGDTh58qTj+Zw5c+jSpcsl5zY99NBDJCYmcvDgQVavXl1sj5aTkxMdOnRwPG/RogV169Zl165dAGzevJkbbrih1J9BRCqfCiURqdLatm1LQEAAkydPxm63l3o//z3vCMBkMmGz2RzP58yZw2233XbJ9/bq1YsLFy4wdOhQ+vTpg5+fX6kyuLu7l+p9ImIcFUoiUqVdddVVLF26lB9++IERI0ZUyDGysrJYunTpRfOT/uDk5MSDDz7IsmXLih12AygoKGD9+vWO53v27OHs2bO0bNkSKOzVSkpKKt/wIlKhVCiJSJXXrFkzli5dynfffVchC0cuXLiQZs2aER4eXmyb119/nVOnTtGzZ89i2zg7OzNixAjWrFnDhg0bGDx4MNdcc41jwvbo0aOZPn06o0ePZteuXWzbto1//etf5f1xRKQcqVASkWqhefPmLFmyhOnTp/PMM8+U675/+OGHYofd/uDi4oK/v/9lF5n08PDg+eef57777qNz5854enoyY8YMx+tdu3Zl5syZzJkzh5iYGLp3764FJkWqOJO9LIP+IiJVyLJly+jWrRtnzpy54gUnCwoKCAwMZMGCBWW6VD8xMZGnnnqKs2fPlnofAL///jsRERFs2rSJmJiYMu1LRMpOPUoiUuM0bNiQAQMGXFHb9PR0nn766SJXqxmlV69etGrVyugYIvJf1KMkIjXGhQsXOHbsGACenp4EBQVV2rHLo0fp2LFjXLhwAYCwsDBcXFzKKZ2IlJYKJREREZFiaOhNREREpBgqlERERESKoUJJREREpBgqlERERESKoUJJREREpBgqlERERESKoUJJREREpBgqlERERESKoUJJREREpBj/D/uuzsXKkPubAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(cross.halo_model_1.k_hm, cross.power_cross, ls=\"-\", label=\"total\")\n", "plt.plot(cross.halo_model_1.k_hm, cross.power_2h_cross, ls=\"--\", label=\"2-halo\")\n", "plt.plot(cross.halo_model_1.k_hm, cross.power_1h_cross, ls=\":\", label=\"1-halo\")\n", "plt.xscale(\"log\")\n", "plt.yscale(\"log\")\n", "plt.ylim(1e-1, 1e5)\n", "plt.legend()\n", "plt.ylabel(r\"$P_{\\rm cross}\\,[{\\rm Mpc^3 h^{-3}}]$\")\n", "plt.xlabel(r\"k [h/Mpc]\");" ] }, { "cell_type": "markdown", "id": "938c804e27f84196a10c8828c723f798", "metadata": {}, "source": [ "## The Cross-Correlated HOD" ] }, { "cell_type": "markdown", "id": "504fb2a444614c0babb325280ed9130a", "metadata": {}, "source": [ "Now let's get to the difficult part of `cross_hod`. To understand how to construct it we need to go through the math first. The 2-halo term is easy enough:\n", "\n", "$$\n", "P_{\\rm 2h}^{\\rm ij}(k) = b_{\\rm i}(k) b_{\\rm j}(k) P_m (k),\n", "$$\n", "where $b_{\\rm i,j}$ is the effective bias of tracers i,j against the underlying matter power spectrum\n", "\n", "$$\n", "b_{\\rm i,j} = \\frac{1}{\\bar{\\rho}_{\\rm i,j}} \\int {\\rm d}m\\,n(m)\\, b(m)\\, \\langle T_{\\rm i}(m) \\rangle\\, \\tilde{u}_{\\rm i}(k|m).\n", "$$\n", "Here $\\rho$ is the density of the tracer, $n(m)$ is the halo mass function, $b(m)$ is the linear halo bias, $\\langle T_{\\rm i}(m) \\rangle$ is the total HOD and $\\tilde{u}_{\\rm i}(k|m)$ is the normalized satellite density profile in Fourier space.\n", "\n", "As shown above, the 2-halo term can be determined entirely by the halo models of the two tracers with no extra information needed. However, it is not the case with 1-halo term:\n", "\n", "$$\n", "\\begin{split}\n", "P_{\\rm 1h}^{\\rm ij}(k) = \\frac{1}{\\bar{\\rho}_{\\rm i}\\bar{\\rho}_{\\rm j}}\\int {\\rm d}m\\,n(m) \\Big[& \\langle T_{\\rm i}^{\\rm c} T_{\\rm j}^{\\rm s} \\rangle u_{\\rm j}(k|m)\\\\\n", "+&\\langle T_{\\rm i}^{\\rm s} T_{\\rm j}^{\\rm c} \\rangle u_{\\rm i}(k|m)\\\\\n", "+&\\langle T_{\\rm i}^{\\rm s} T_{\\rm j}^{\\rm s} \\rangle u_{\\rm i}(k|m)u_{\\rm j}(k|m)\n", "\\Big]\n", "\\end{split}\n", "$$\n", "where c,s denotes centre and satellite components. The problem here is that we don't know how different $\\langle T_{\\rm i}^{\\rm c,s} T_{\\rm j}^{\\rm c,s} \\rangle$ correlates.\n", "\n", "The way `halomod` deals with this is to define:\n", "$$\n", "\\langle T_{\\rm i}^{\\rm c} T_{\\rm j}^{\\rm s} \\rangle = \\langle T_{\\rm i}^{\\rm c} \\rangle\n", "\\langle T_{\\rm j}^{\\rm s} \\rangle + \\sigma_{\\rm i}^{\\rm c}\\sigma_{\\rm j}^{\\rm s} R_{\\rm ij}^{\\rm cs}\n", "$$\n", "$$\n", "\\langle T_{\\rm i}^{\\rm s} T_{\\rm j}^{\\rm c} \\rangle = \\langle T_{\\rm i}^{\\rm s} \\rangle\n", "\\langle T_{\\rm j}^{\\rm c} \\rangle + \\sigma_{\\rm i}^{\\rm s}\\sigma_{\\rm j}^{\\rm c} R_{\\rm ij}^{\\rm sc}\n", "$$\n", "$$\n", "\\langle T_{\\rm i}^{\\rm s} T_{\\rm j}^{\\rm s} \\rangle = \\langle T_{\\rm i}^{\\rm s} \\rangle\n", "\\langle T_{\\rm j}^{\\rm s} \\rangle + \\sigma_{\\rm i}^{\\rm s}\\sigma_{\\rm j}^{\\rm s} R_{\\rm ij}^{\\rm ss} - Q\n", "$$\n", "where $\\sigma^{\\rm c,s}$ is the standard deviation of HOD, $-1\\leq R_{\\rm ij} \\leq 1$ describes the correlation between two probes and $Q$ is the expected number of self-pairs at zero separation. These quantities are, to first order, functions of halo mass $m$. Note $R_{\\rm ij}^{\\rm cs}$ and $R_{\\rm ij}^{\\rm sc}$ are two different quantities.\n" ] }, { "cell_type": "markdown", "id": "59bbdb311c014d738909a11f9e486628", "metadata": {}, "source": [ "With this in mind we can define our `cross_hod`. Suppose we want to cross-correlate two different galaxy samples that follow different HODs. The base class for all cross-correlation HODs is `_HODCross`, upon which we construct some model. For simplicity, let us consider the scenario where $R_{\\rm ij}$ are some constants and there are no self-pairs:" ] }, { "cell_type": "code", "execution_count": 11, "id": "b43b363d81ae4b689946ece5c682cd59", "metadata": {}, "outputs": [], "source": [ "class ConstantCorr(_HODCross):\n", " \"\"\"Correlation relation for constant cross-correlation pairs\"\"\"\n", "\n", " _defaults = {\"R_ss\": 0.0, \"R_cs\": 0.0, \"R_sc\": 0.0}\n", "\n", " def R_ss(self, m):\n", " return self.params[\"R_ss\"]\n", "\n", " def R_cs(self, m):\n", " return self.params[\"R_cs\"]\n", "\n", " def R_sc(self, m):\n", " return self.params[\"R_sc\"]\n", "\n", " def self_pairs(self, m):\n", " \"\"\"The expected number of cross-pairs at a separation of zero.\"\"\"\n", " return 0" ] }, { "cell_type": "markdown", "id": "8a65eabff63a45729fe45fb5ade58bdc", "metadata": {}, "source": [ "Note this is just an illustration and this class is already included in `halomod` as we imported it above. Constructing `CrossCorrelations`:" ] }, { "cell_type": "code", "execution_count": 14, "id": "c3933fab20d04ec698c2621248eb3be0", "metadata": {}, "outputs": [], "source": [ "cross = CrossCorrelations(\n", " cross_hod_model=ConstantCorr,\n", " halo_model_1_params={\"hod_model\": \"Zehavi05\", \"transfer_model\": \"EH\"},\n", " halo_model_2_params={\"hod_model\": \"Zheng05\", \"transfer_model\": \"EH\"},\n", ")" ] }, { "cell_type": "markdown", "id": "4dd4641cc4064e0191573fe9c69df29b", "metadata": {}, "source": [ "We can update the parameters $R_{\\rm ij}$:" ] }, { "cell_type": "code", "execution_count": 15, "id": "8309879909854d7188b41380fd92a7c3", "metadata": {}, "outputs": [], "source": [ "# Setting all of the R parameters to one is saying that the two samples\n", "# are completely correlated -- i.e. the same sample. This will give back\n", "# an autocorrelation.\n", "cross.cross_hod_params = {\"R_ss\": 1.0, \"R_sc\": 1.0, \"R_cs\": 1.0}\n", "power_1_tot = cross.power_cross\n", "power_1_2h = cross.power_2h_cross\n", "power_1_1h = cross.power_1h_cross" ] }, { "cell_type": "code", "execution_count": 16, "id": "3ed186c9a28b402fb0bc4494df01f08d", "metadata": {}, "outputs": [], "source": [ "# On the other end of the scale, setting all to zero means the two\n", "# samples are entirely independent. This of course will almost never\n", "# be completely true, since most samples are at least causally connected\n", "# to the underlying halo.\n", "cross.cross_hod_params = {\"R_ss\": 0.0, \"R_sc\": 0.0, \"R_cs\": 0.0}\n", "power_2_tot = cross.power_cross\n", "power_2_2h = cross.power_2h_cross\n", "power_2_1h = cross.power_1h_cross" ] }, { "cell_type": "code", "execution_count": 17, "id": "cb1e1581032b452c9409d6c6813c49d1", "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.plot(cross.halo_model_1.k_hm, power_1_tot, ls=\"-\", label=\"total R=1\")\n", "plt.plot(cross.halo_model_1.k_hm, power_1_2h, ls=\"--\", label=\"2-halo R=1\")\n", "plt.plot(cross.halo_model_1.k_hm, power_1_1h, ls=\":\", label=\"1-halo R=1\")\n", "plt.plot(cross.halo_model_1.k_hm, power_2_tot, ls=\"-\", label=\"total R=0\")\n", "plt.plot(cross.halo_model_1.k_hm, power_2_2h, ls=\"--\", label=\"2-halo R=0\")\n", "plt.plot(cross.halo_model_1.k_hm, power_2_1h, ls=\":\", label=\"1-halo R=0\")\n", "plt.xscale(\"log\")\n", "plt.yscale(\"log\")\n", "plt.ylim(1e-1, 1e5)\n", "plt.legend()\n", "plt.ylabel(r\"$P_{\\rm cross}\\,[{\\rm Mpc^3 h^{-3}}]$\")\n", "plt.xlabel(r\"k [h/Mpc]\");" ] }, { "cell_type": "markdown", "id": "379cbbc1e968416e875cc15c1202d7eb", "metadata": {}, "source": [ "As one can see, the 2-halo terms are the same whereas the 1-halo term varies with the choice of R." ] }, { "cell_type": "markdown", "id": "277c27b1587741f2af2001be3712ef0d", "metadata": {}, "source": [ "When trying to construct a realistic cross-correlation, you may need to find some empirical description of R as functions of halo mass. Furthermore, note that the HODs used above are Poisson, and therefore have well-defined $\\sigma$ that can be calculated from centre and satellite hod. If you use customized HOD models, make sure you define the `sigma_satellite` and `sigma_central` attributes (on the `HOD` model, not the `_HODCross` model)." ] } ], "metadata": { "kernelspec": { "display_name": ".venv", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.4" } }, "nbformat": 4, "nbformat_minor": 5 }