{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Meta-Analysis in statsmodels\n",
    "\n",
    "Statsmodels include basic methods for meta-analysis. This notebook illustrates the current usage.\n",
    "\n",
    "Status: The results have been verified against R meta and metafor packages. However, the API is still experimental and will still change. Some options for additional methods that are available in R meta and metafor are missing.\n",
    "\n",
    "The support for meta-analysis has 3 parts:\n",
    "\n",
    "- effect size functions: this currently includes\n",
    "  ``effectsize_smd`` computes effect size and their standard errors for standardized mean difference,  \n",
    "  ``effectsize_2proportions`` computes effect sizes for comparing two independent proportions using risk difference, (log) risk ratio, (log) odds-ratio or arcsine square root transformation\n",
    "- The `combine_effects` computes fixed and random effects estimate for the overall mean or effect. The returned results instance includes a forest plot function.\n",
    "- helper functions to estimate the random effect variance, tau-squared\n",
    "\n",
    "The estimate of the overall effect size in `combine_effects` can also be performed using WLS or GLM with var_weights.\n",
    "\n",
    "Finally, the meta-analysis functions currently do not include the Mantel-Hanszel method. However, the fixed effects results can be computed directly using `StratifiedTable` as illustrated below."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [],
   "source": [
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "from scipy import stats, optimize\n",
    "\n",
    "from statsmodels.regression.linear_model import WLS\n",
    "from statsmodels.genmod.generalized_linear_model import GLM\n",
    "\n",
    "from statsmodels.stats.meta_analysis import (\n",
    "    effectsize_smd,\n",
    "    effectsize_2proportions,\n",
    "    combine_effects,\n",
    "    _fit_tau_iterative,\n",
    "    _fit_tau_mm,\n",
    "    _fit_tau_iter_mm,\n",
    ")\n",
    "\n",
    "# increase line length for pandas\n",
    "pd.set_option(\"display.width\", 100)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Carroll', 'Grant', 'Peck', 'Donat', 'Stewart', 'Young']"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "data = [\n",
    "    [\"Carroll\", 94, 22, 60, 92, 20, 60],\n",
    "    [\"Grant\", 98, 21, 65, 92, 22, 65],\n",
    "    [\"Peck\", 98, 28, 40, 88, 26, 40],\n",
    "    [\"Donat\", 94, 19, 200, 82, 17, 200],\n",
    "    [\"Stewart\", 98, 21, 50, 88, 22, 45],\n",
    "    [\"Young\", 96, 21, 85, 92, 22, 85],\n",
    "]\n",
    "colnames = [\"study\", \"mean_t\", \"sd_t\", \"n_t\", \"mean_c\", \"sd_c\", \"n_c\"]\n",
    "rownames = [i[0] for i in data]\n",
    "dframe1 = pd.DataFrame(data, columns=colnames)\n",
    "rownames"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "['Carroll', 'Grant', 'Peck', 'Donat', 'Stewart', 'Young']"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mean2, sd2, nobs2, mean1, sd1, nobs1 = np.asarray(\n",
    "    dframe1[[\"mean_t\", \"sd_t\", \"n_t\", \"mean_c\", \"sd_c\", \"n_c\"]]\n",
    ").T\n",
    "rownames = dframe1[\"study\"]\n",
    "rownames.tolist()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([120, 130,  80, 400,  95, 170])"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.array(nobs1 + nobs2)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### estimate effect size standardized mean difference"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [],
   "source": [
    "eff, var_eff = effectsize_smd(mean2, sd2, nobs2, mean1, sd1, nobs1)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Using one-step chi2, DerSimonian-Laird estimate for random effects variance tau\n",
    "\n",
    "Method option for random effect `method_re=\"chi2\"` or `method_re=\"dl\"`, both names are accepted.\n",
    "This is commonly referred to as the DerSimonian-Laird method, it is based on a moment estimator based on pearson chi2 from the fixed effects estimate."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                        eff    sd_eff    ci_low    ci_upp      w_fe      w_re\n",
      "Carroll            0.094524  0.182680 -0.267199  0.456248  0.123885  0.157529\n",
      "Grant              0.277356  0.176279 -0.071416  0.626129  0.133045  0.162828\n",
      "Peck               0.366546  0.225573 -0.082446  0.815538  0.081250  0.126223\n",
      "Donat              0.664385  0.102748  0.462389  0.866381  0.391606  0.232734\n",
      "Stewart            0.461808  0.208310  0.048203  0.875413  0.095275  0.137949\n",
      "Young              0.185165  0.153729 -0.118312  0.488641  0.174939  0.182736\n",
      "fixed effect       0.414961  0.064298  0.249677  0.580245  1.000000       NaN\n",
      "random effect      0.358486  0.105462  0.087388  0.629583       NaN  1.000000\n",
      "fixed effect wls   0.414961  0.099237  0.159864  0.670058  1.000000       NaN\n",
      "random effect wls  0.358486  0.090328  0.126290  0.590682       NaN  1.000000\n"
     ]
    }
   ],
   "source": [
    "res3 = combine_effects(eff, var_eff, method_re=\"chi2\", use_t=True, row_names=rownames)\n",
    "# TODO: we still need better information about conf_int of individual samples\n",
    "# We don't have enough information in the model for individual confidence intervals\n",
    "# if those are not based on normal distribution.\n",
    "res3.conf_int_samples(nobs=np.array(nobs1 + nobs2))\n",
    "print(res3.summary_frame())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{(0.05,\n",
       "  True): (array([-0.26719942, -0.07141628, -0.08244568,  0.46238908,  0.04820269,\n",
       "         -0.1183121 ]), array([0.45624817, 0.62612908, 0.81553838, 0.86638112, 0.87541326,\n",
       "         0.48864139]))}"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "res3.cache_ci"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "'chi2'"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "res3.method_re"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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orp376769eurVq1a+a6/1bkoy7y9veXn52eKfysA5uHpcCgiNla6Sdi7kZskGYYiYmPl6XCUQnVA2VOsgS8yMlIWi0VLlizRRx99JIvFIovFou3btzvbBAYGOpf/eoj16NGj8vLy0pYtW5zLFixYoPr16yslJcW5bP369QoJCZHNZlPLli21bt26XPvZtGmTAgMDZbfbNXz4cGVmZhb6WLZt26awsDBVrlxZQUFBWrBgQa71148hOztbERERslgsaty4caHORXx8vLp16ya73a5GjRpp6tSpysrKyvU+W7duVceOHWWz2eTn56cnnngiTw2SNHDgQOfrXw8r58fhcMhqtWrfvn151iUnJ8tisejkyZMFOFPSiRMn1KdPH1WvXl3VqlVTp06ddOjQoQJtCwBFcWd8vDwyMwv8S8xNkkdmplrHx5dkWUCZVaxDujcO/50/f16rVq2SpFzDmP/5z3+UlZWlgICAPNsHBwdr9uzZeuSRR5SQkKCffvpJkydP1nvvvacaNWpIuhbERo4cqUWLFun//b//p7i4OI0YMUKNGjVSWFiYzp49q4iICI0bN06RkZF6++239c4772jYsGEFPo5jx46pd+/eeuWVV7RmzRodPXpUI0aMUJ06dRQRESHpWiiSpLp162rx4sXq27evKlWqVOBzkZKSoq5du+qxxx7TokWLlJycrEceeUReXl564YUXJEmHDx9Wz549NXbsWL399tu6fPmy3nzzTed75FeDpHx7Gn/NZrOpdevW2rdvn+6+++5c6/bt26e6devqjjvuKND5GjNmjC5evKidO3fK09NTe/bsKXTI5roolAd8n5YRhqH2cXGF30xSWFyc9oaFMXvXxTIyMriGrxgVZPSwWAOft7e3vL29ZbPZ5OnpKT8/vzxtatasKUk3/Yd+6qmn9PHHH+vpp59WUlKSnnzySXXv3t25/qWXXtKYMWM0YsQISVKTJk20ceNGLVu2TGFhYXrnnXfk7e2tl19+WW5uboqOjnaGrYKaOXOm+vfvr/Hjx0uSAgICNGrUKC1dutQZ+G48turVq+c51ludi4ULFyowMFCzZs2SJAUFBem5557T/PnznYFv1qxZCg8P15w5c5zb3RjOblXDrYSHhzt7+FasWKG0tDSNGzdO+/fvV8eOHQu8nxMnTui+++5TaGioJKlp06aFqkO6ds4BoCBs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DeetaDhvRVMezhs9fCjzLBZLmfsPVK1atTJXU3nAeSs6zl3RcN6KhvNWNOX5vDFpAwAAwOQIfAAAACZH4ANu4OnpqWnTpsnT09PVpZQrnLei49wVDeetaDhvRWOG88akDQAAAJOjhw8AAMDkCHwAAAAmR+ADAAAwOQIfAACAyRH4UOGlpqZq+PDh8vb2lre3t4YPH660tLSbts/MzNSkSZMUGhqqKlWqqF69ehoxYoROnz5dekW7wN///nf5+/urcuXKuuuuu7Rz587fbL9jxw7dddddqly5spo0aaJFixaVUqVlS2HO24YNG9SjRw/VqlVL1apVU3h4uP71r3+VYrVlS2G/567bvXu33N3ddeedd5ZsgWVUYc9benq6pkyZokaNGsnT01MBAQFaunRpKVVbdhT2vK1evVqtW7eW3W5X3bp19cgjjyglJaWUqi0CA6jgevbsaYSEhBh79uwx9uzZY4SEhBh9+/a9afu0tDSje/fuRmxsrHHkyBHj888/N8LCwoy77rqrFKsuXWvXrjU8PDyMxYsXG4cPHzbGjRtnVKlSxfj+++/zbZ+UlGTY7XZj3LhxxuHDh43FixcbHh4exrvvvlvKlbtWYc/buHHjjFmzZhl79+41jh07ZkyePNnw8PAwvvzyy1Ku3PUKe+6uS0tLM5o0aWLce++9RuvWrUun2DKkKOetf//+RlhYmLFlyxbju+++M+Li4ozdu3eXYtWuV9jztnPnTsPNzc2YN2+ekZSUZOzcudNo2bKl8cADD5Ry5QVH4EOFdvjwYUOS8Z///Me57PPPPzckGUeOHCnwfvbu3WtIuuUvo/Kqffv2xlNPPZVrWbNmzYyoqKh827/wwgtGs2bNci178sknjQ4dOpRYjWVRYc9bflq0aGG8+OKLxV1amVfUczdo0CDjz3/+szFt2rQKGfgKe94+/vhjw9vb20hJSSmN8sqswp63V1991WjSpEmuZfPnzzcaNGhQYjXeLoZ0UaF9/vnn8vb2VlhYmHNZhw4d5O3trT179hR4PxcuXJDFYlH16tVLoErXysjI0BdffKF777031/J77733pufo888/z9P+vvvu0/79+5WZmVlitZYlRTlvv5aTk6OLFy/K19e3JEoss4p67pYtW6bExERNmzatpEssk4py3t5//321a9dOf/vb31S/fn01bdpUzz//vBwOR2mUXCYU5bx17NhRp06d0kcffSTDMPTjjz/q3XffVZ8+fUqj5CJxd3UBgCudOXNGtWvXzrO8du3aOnPmTIH2cfXqVUVFRWnIkCHl9qHav+XcuXPKzs5WnTp1ci2vU6fOTc/RmTNn8m2flZWlc+fOqW7duiVWb1lRlPP2a3PmzNHly5cVERFREiWWWUU5d99++62ioqK0c+dOubtXzF9tRTlvSUlJ2rVrlypXrqyNGzfq3LlzeuaZZ3T+/PkKcx1fUc5bx44dtXr1ag0aNEhXr15VVlaW+vfvrwULFpRGyUVCDx9Mafr06bJYLL/5Z//+/ZIki8WSZ3vDMPJd/muZmZkaPHiwcnJy9Pe//73Yj6Ms+fX5uNU5yq99fsvNrrDn7bp33nlH06dPV2xsbL4fSiqCgp677OxsDRkyRC+++KKaNm1aWuWVWYX5nsvJyZHFYtHq1avVvn179e7dWzExMVq+fHmF6uWTCnfeDh8+rLFjx2rq1Kn64osvtHnzZn333Xd66qmnSqPUIqmYH4NgeqNHj9bgwYN/s03jxo114MAB/fjjj3nWnT17Ns+nvV/LzMxURESEvvvuO3366aem7N2TpJo1a6pSpUp5Pun+9NNPNz1Hfn5++bZ3d3dXjRo1SqzWsqQo5+262NhYPfroo1q/fr26d+9ekmWWSYU9dxcvXtT+/fv11VdfafTo0ZKuBRnDMOTu7q5PPvlEXbt2LZXaXako33N169ZV/fr15e3t7VzWvHlzGYahU6dOKSgoqERrLguKct5mzpypTp06aeLEiZKkVq1aqUqVKvrd736nGTNmlMlRDHr4YEo1a9ZUs2bNfvNP5cqVFR4ergsXLmjv3r3ObePi4nThwgV17Njxpvu/Hva+/fZb/fvf/zZ1iLFarbrrrru0ZcuWXMu3bNly03MUHh6ep/0nn3yidu3aycPDo8RqLUuKct6kaz17kZGRWrNmTZm+HqgkFfbcVatWTQkJCfr666+df5566ikFBwfr66+/znWNrpkV5XuuU6dOOn36tC5duuRcduzYMbm5ualBgwYlWm9ZUZTzduXKFbm55Y5QlSpVkvTLaEaZ46LJIkCZ0bNnT6NVq1bG559/bnz++edGaGhontuyBAcHGxs2bDAMwzAyMzON/v37Gw0aNDC+/vprIzk52fknPT3dFYdQ4q7fsmDJkiXG4cOHjWeffdaoUqWKceLECcMwDCMqKsoYPny4s/3127KMHz/eOHz4sLFkyZIKfVuWgp63NWvWGO7u7sbrr7+e6/sqLS3NVYfgMoU9d79WUWfpFva8Xbx40WjQoIExYMAA49ChQ8aOHTuMoKAg47HHHnPVIbhEYc/bsmXLDHd3d+Pvf/+7kZiYaOzatcto166d0b59e1cdwi0R+FDhpaSkGEOHDjWqVq1qVK1a1Rg6dKiRmpqaq40kY9myZYZhGMZ3331nSMr3z7Zt20q9/tLy+uuvG40aNTKsVqvRtm1bY8eOHc51I0eONH7/+9/nar99+3ajTZs2htVqNRo3bmy88cYbpVxx2VCY8/b73/8+3++rkSNHln7hZUBhv+duVFEDn2EU/rx98803Rvfu3Q2bzWY0aNDAmDBhgnHlypVSrtr1Cnve5s+fb7Ro0cKw2WxG3bp1jaFDhxqnTp0q5aoLzmIYZbXvEQAAAMWBa/gAAABMjsAHAABgcgQ+AAAAkyPwAQAAmByBDwAAwOQIfAAAACZH4AMAADA5Ah8AAIDJEfgAAABMjsAHAABgcgQ+AAAAkyPwAQAAmNz/B12cw3AEoi4rAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 600x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig = res3.plot_forest()\n",
    "fig.set_figheight(6)\n",
    "fig.set_figwidth(6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                        eff    sd_eff    ci_low    ci_upp      w_fe      w_re\n",
      "Carroll            0.094524  0.182680 -0.263521  0.452570  0.123885  0.157529\n",
      "Grant              0.277356  0.176279 -0.068144  0.622857  0.133045  0.162828\n",
      "Peck               0.366546  0.225573 -0.075569  0.808662  0.081250  0.126223\n",
      "Donat              0.664385  0.102748  0.463002  0.865768  0.391606  0.232734\n",
      "Stewart            0.461808  0.208310  0.053527  0.870089  0.095275  0.137949\n",
      "Young              0.185165  0.153729 -0.116139  0.486468  0.174939  0.182736\n",
      "fixed effect       0.414961  0.064298  0.288939  0.540984  1.000000       NaN\n",
      "random effect      0.358486  0.105462  0.151785  0.565187       NaN  1.000000\n",
      "fixed effect wls   0.414961  0.099237  0.220460  0.609462  1.000000       NaN\n",
      "random effect wls  0.358486  0.090328  0.181446  0.535526       NaN  1.000000\n"
     ]
    }
   ],
   "source": [
    "res3 = combine_effects(eff, var_eff, method_re=\"chi2\", use_t=False, row_names=rownames)\n",
    "# TODO: we still need better information about conf_int of individual samples\n",
    "# We don't have enough information in the model for individual confidence intervals\n",
    "# if those are not based on normal distribution.\n",
    "res3.conf_int_samples(nobs=np.array(nobs1 + nobs2))\n",
    "print(res3.summary_frame())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Using iterated, Paule-Mandel estimate for random effects variance tau\n",
    "\n",
    "The method commonly referred to as Paule-Mandel estimate is a method of moment estimate for the random effects variance that iterates between mean and variance estimate until convergence.\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "method RE: iterated\n",
      "                        eff    sd_eff    ci_low    ci_upp      w_fe      w_re\n",
      "Carroll            0.094524  0.182680 -0.263521  0.452570  0.123885  0.152619\n",
      "Grant              0.277356  0.176279 -0.068144  0.622857  0.133045  0.159157\n",
      "Peck               0.366546  0.225573 -0.075569  0.808662  0.081250  0.116228\n",
      "Donat              0.664385  0.102748  0.463002  0.865768  0.391606  0.257767\n",
      "Stewart            0.461808  0.208310  0.053527  0.870089  0.095275  0.129428\n",
      "Young              0.185165  0.153729 -0.116139  0.486468  0.174939  0.184799\n",
      "fixed effect       0.414961  0.064298  0.288939  0.540984  1.000000       NaN\n",
      "random effect      0.366419  0.092390  0.185338  0.547500       NaN  1.000000\n",
      "fixed effect wls   0.414961  0.099237  0.220460  0.609462  1.000000       NaN\n",
      "random effect wls  0.366419  0.092390  0.185338  0.547500       NaN  1.000000\n"
     ]
    },
    {
     "data": {
      "image/png": "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kFRh+qQhEakUcnJy9OB3qRT8nE4SkpKw5uW51atTaLGQb7WSlJBAjno4pRLQg99FRES8LMduZ0NcHFgsFJ9+WdSV9SlxcQqbUqWph1NEKgV9lrpUNvosdamqSvNZ6gqcIiIiZsnOhtWrYeFCOH78p+VhYTBxIowZAyY931ikIlHgFBERMZthwLlzcOEC1K4NQUGaICTVigKniIiIiJhKk4ZERERExFQKnCIiIiJiKgVOERERETGVAqeIiIiImEqBU0RERERMpcApIiIiIqZS4BQRERERUylwioiIiIipFDhFRERExFQKnCIiIiJiKgVOERERETGVAqeIiIiImEqBU0RERERMpcApIiIiIqZS4BQRERERUylwioiIiIipFDhFRERExFQKnCIiIiJiKgVOERERETGV1dsFiIhICQwDMjPh4kXw94d69cBi8XZVIiKloh5OEZGKJDsbkpMhIgIaNIDQ0MtfIyIuL8/O9naFIiIesxiGYXi7CCmdP/3pT8yaNYtjx44RGBjoWn7vvffy7bffsnfvXizqEalUDMMgNzfX22WIl1i2bcN32DC4dOny66t+PBtX/i87HOStX4/Rt683ShQvs9ls+rkulZICZyWWn59Phw4duOuuu5g/fz4A77//Prfddhv79u2jS5cuXq5QPJWTk8OcOXO8XYZ4QdixYwxfuxYM4xeHngoBLBbWjRjB8fDwcqpOKorExET8/Py8XYaIxzSkXolZrVaSk5NZvHgx6enpADz55JM88MADrrCZkpJC69atsdlstG7dmo0bNxbZR4sWLZg3b57r9cqVK/H393e9njlzJpGRkSQlJREcHExISAhLly4tso+tW7cSHh6Ow+Fg9OjR9OvXj/j4eJPOWqTq8XM6iU1JuW7YhP/+0DYMYlNS8HM6y6E6EZEbp8BZyfXt25f+/fuTmJjIxo0b+fzzz3nhhRcA+Oyzzxg+fDhjx47l8OHDjB07lvvvv5/PP//co2Okp6fz1Vdf8f777xMfH8+ECRM4e/YsAJmZmQwZMoRBgwbx8ccf06RJE7Zv317m5ylSld2cmopvXp7bP5B9AN+8PDqmpppZlohImdEs9SogKSmJ9u3bs2vXLp577jnq168PwN/+9jduvvlmEhMTgctDMRs2bGDp0qVFejWvx8fHh3nz5uHn58fUqVOZO3cuaWlp9OzZk1deeYVatWrxxz/+EavVyqxZs1ixYoXH56D7Fi/TdaiGDIOu+/Z5vhkQvW8f+6OjNXu9GsnNzdU9nFKh2Gw2t9opcFYBoaGhjBs3jtdee43HHnvMtfzYsWNERUUVaduhQweOHTvm0f6bNm3qumfoyuSkc+fOAfDll1/Srl07rNbL30o1atSgTZs2Hp/D7NmzPd5GpCqwX7pEUFaWx9v5AEFZWdidTpwOR9kXJhVSUlKSt0sQKWLGjBlutdOQehVRv3596tatS40aNYos//k7YcMwiiz7+frCwsJi+74SJn++HxG5cbYb7NW25eSUUSUiIuZRD2cVFhYWxq5du4osS0tLo1evXq7XdevW5eLFi67X33zzjUfHiIiIYP369eTn52O1WikoKODo0aO0aNHCo/1MmzbNo/ZVVU5OjnowqplcN4ejrrm9ZixXKwkJCZqlLpWSAmcV9sADD7BgwQLmzJnDfffdx6ZNm0hNTWXdunWuNp07d+aNN95g6tSpZGdns2bNGo+Ocf/995OYmMiUKVN49NFHWblyJefPn/e4VnfvAanq1HNc/TgdDs4FBlI3K8ujIadCIDswEKfdblZpUgHZbDb9vJRKSUPqVVj79u353//9X5YvX0779u1Zvnw569atK3KP5YwZM7DZbDRu3Ji4uDiGDRvm0THq1avHxo0bef311+nUqRNnzpzhtttu0ztwEXdZLOyPjsbTaSAWYJ8mDIlIJaEHv0uZi4yMZPjw4fz+97/3dimVjh78Xj35OZ0kJCVhdfPRSIUWC/lWK0kJCeSoh7Na0YPfpbJSD6fcsMWLF7Njxw7S09P505/+xBdffEFsbKy3yxKpNHLsdjbExYHFQvFpe0VdWZ8SF6ewKSKVhno45YZNnTqVVatWcf78eVq3bs3zzz/P3Xff7e2yKiV9lnr1ps9Sl+vRZ6lLZaXAKSJSkWRnw+rVsHAhHD/+0/KwMJg4EcaMgYAAr5UnIlIaCpwiIhWRYcC5c3DhAtSuDUFBmiAkIpWWAqeIiIiImEqThkRERETEVAqcIiIiImIqBU4RERERMZUCp4iIiIiYSoFTREREREylwCkiIiIiplLgFBERERFTKXCKiIiIiKkUOEVERETEVAqcIiIiImIqBU4RERERMZUCp4iIiIiYSoFTREREREylwCkiIiIiplLgFBERERFTKXCKiIiIiKkUOEVERETEVAqcIiIiImIqBU4RERERMZXV2wWIiIhUOIYBmZlw8SL4+0O9emCxeLsqkUqrSvdwZmVl0b9/f2rVqoXFYmHnzp3F2vj7+7Ny5cpyqWfAgAHEx8ebsu9t27bRqlUratSoQYsWLYqtd+daiIhUe9nZkJwMERHQoAGEhl7+GhFxeXl2trcrFKmUqnQP55IlSzh8+DAHDx4kMDCQoKCgYm3S09OpXbu2F6orW+PHj6dnz57s2LEDm81WbL071+JGWSwWNm7cyJAhQ8p83yJScRiGQW5urrfLKHOWbdvwHTYMLl26/PqqdUZ6OkyeDNOnk7d+PUbfvt4p0kQ2mw2LenHFJFU6cB4/fpyoqCjatm17zTbBwcHlWJF5jh8/zqxZs2jSpMk111/vWoiIuCM3N5c5c+Z4u4wyFXbsGMPXrsUwjBKH/iyGAUDhDz9gHTSIdSNGcDw8vHyLNFliYiJ+fn7eLkOqqCo5pB4fH4/FYmHZsmW89dZbWCyWYsPI4eHhruU/H1L//PPP8ff3Z9u2ba5lixYtokmTJmRmZrqWbdy4kcjISOx2O+3bt2fDhg1F9vPGG28QHh6Ow+Fg1KhR5OXleXwuO3bsIDo6mpo1axIREcGiRYuKrL9yDgUFBcTGxmKxWIoMqbtzLVJTU+nduzcOh4PmzZvzzDPPkJ+fX+Q427dvp3v37tjtdkJCQnj44YeL1QAwdOhQ1+sTJ054fL4iIuXNz+kkNiUFrhE2r+YDYBjEpqTg53SWQ3UiVUOVDJzJyclkZGQQGxtLnz59yMjIICMjg+7du7va/Otf/yIjIwOHw1Fs+9atWzNv3jzGjh1LVlYWn3/+OdOmTWPVqlXUq1cPuBwEx4wZw1NPPcWRI0d4+umnGT16NPv27QPgzJkzxMbGMnToUD7++GNCQkLYvn27R+fxxRdf0L9/f4YNG8aRI0dITk7m2WefLRJsr5wbwNKlS8nIyODAgQNuX4vMzEx69epFly5dSE1NZc2aNaxdu5akpCTXPj799FP69etHTEwMH374IVu2bKGwsPAXa8jIyKBZs2Yena+IiDfcnJqKb16e278QfQDfvDw6pqaaWZZIlVIlh9QDAgIICAjAbrfj5+dHSEhIsTb169cHuOb9Ko8++ihvv/02jz32GOnp6TzyyCP06dPHtf65555jwoQJjB49GoCWLVuyefNmVqxYQXR0NK+88goBAQE8//zz+Pj4MGfOHNasWePRecyePZtBgwYxefJkAMLCwhg3bhzLly8nNjYWoMi51a1bt9i5Xu9aLF68mPDwcObOnQtAREQETzzxBAsXLuSpp54CYO7cucTExDB//nzXdrfeeqvr79erwR1V8X4wkaqqSv1/NQy6/rejwKPNgOh9+9gfHV1lZq/n5ubqHk7xWEnzRkpSJQNnWVm2bBlt2rQhODiYF154oci6Q4cO8cEHH/DSSy+5luXm5nL77bcDl++ZbNOmDT4+l98z16hRgzZt2nh0/EOHDpGWloa/v79rWV5eHs2bNy/lGZV8jI8++qjIMQoKCigoKHC9Pnz4MHfddVeZHbMks2fPNnX/IiIlsV+6RFBWlsfb+QBBWVnYnU6cJYyUVUZXj2yJuGvGjBlutVPg/AWfffYZly5d4tSpU5w6dYqwsLAi62fOnFlsRrbdbnf9vSzeKT7yyCNMmjSpyDJfX98b3u/VBgwYwIsvvnjN9YZh6F2viFRJthvsrbXl5FSZwCliJgXOa8jOzmbkyJHMmTOHzz77jOHDh/P+++9jtV6+ZFFRUaSnpxN+jVmK4eHhbNiwgcLCQnx8fCgoKODo0aMlPiPzWqKiovj888+veYyyEBUVRUpKCi1btnT1xpbUZvfu3dfdl6+vb7HJRu6aNm1aqbYTkfKXk5NTZXrDct0cDrzm9lVoVndCQoJmqYtpqmXgdDqdnD9/Hrjce3f+/Hm+/fZbatSoQYMGDYDLPYsRERFMmDABp9NJp06dmDlzJrNmzQLgmWeeoV+/frRq1YpBgwZx/vx5tm7dSmhoKCNHjuT+++8nMTGR6dOnEx8fz7Jlyzh79qxHdU6bNo0OHTqQmJjI6NGjycvLY8eOHRiG4bqv80aNHz+eRYsW8cADD/D444/j6+vL3r17+eqrr3j++ecBmDp1Kh07dmTKlCmMGzeOH3/8keXLlxebMR8eHs6WLVu48847XfeMutsz6u49ICLifcZ/HxFUFTgdDs4FBlI3K8ujWbSFQHZgIM6rRrUqO5vNpp/FYpoqOUv9elJSUmjUqBGNGjXi0qVLPP744zRq1Mg1EWblypW88847rFy5EovFgsPhYM2aNcybN4/33nsPgF69erFu3TrWrl1LVFQUd999N/v376d169bA5UlJGzZsYMOGDdx8881kZGTQu3dvj+ps3bo1W7duZffu3dxyyy307NmTLVu20K5duzK7FvXr12f79u2cPn2aHj16EBMTw4oVK4oco127dmzdupU9e/bQuXNn+vXrx6X/Phj5agsWLOCjjz4iODgYu93O119/XWZ1ioiYwmJhf3Q0nt40ZAH2VaEJQyJmsxhV6a2qiIiYLicnp0o9+N3P6SQhKQmrm49GKrRYyLdaSUpIIKcK9XDqwe9ipmrZwykiInJFjt3Ohrg4sFgovE7bK+tT4uKqVNgUMZt6OEVExCPV5rPUr/r1aFwZOnc49FnqIqWgwCkiInJFdjasXg0LF8Lx4z8tDwuDiRNhzBgICPBaeSKVlQKniIjIzxkGnDsHFy5A7doQFKQJQiI3QIFTREREREylSUMiIiIiYioFThERERExlQKniIiIiJhKgVNERERETKXAKSIiIiKmUuAUEREREVMpcIqIiIiIqRQ4RURERMRUCpwiIiIiYioFThERERExlQKniIiIiJhKgVNERERETKXAKSIiIiKmUuAUEREREVMpcIqIiIiIqRQ4RURERMRUCpwiIiIiYioFThERERExlQKniIiIiJjK6u0CREREbphhQGYmXLwI/v5Qrx5YLN6uSkT+Sz2cbjp79iwWi4WdO3d6u5QSZWVl0b9/f2rVqnXNOufNm0fDhg2xWCzEx8eXe40iImUuOxuSkyEiAho0gNDQy18jIi4vz872doUigno4q4wlS5Zw+PBhDh48SGBgIEFBQUXWnz59mqlTp7J06VL69++P3W4v8xri4+M5e/Ysb7zxRpnvW6SqMwyD3Nxcb5dRqVi2bcN32DC4dOny66vWGenpMHkyTJ9O3vr1GH37eqfISspms2FRD7GUIQXOKuL48eNERUXRtm3bEtenp6dTWFjIwIEDadCgQTlXJyLXk5uby5w5c7xdRqURduwYw9euxTCMEofqLIYBQOEPP2AdNIh1I0ZwPDy8fIusxBITE/Hz8/N2GVKFVNoh9ZkzZxIZGcnmzZuJiIigZs2adOvWDYDMzEzuv/9+mjRpgp+fH61bt2bZsmVFtm/RogXTp09n0KBBOBwOunTpwrFjx1zrCwoKmDRpEnXq1KFx48asW7euWA3vvvsunTp1ws/Pj+bNm7N48WLXupUrV9KxY0eio6MJDw9nyZIlNGvWjOjoaP7zn/+4fZ6ZmZmMHj2aoKAg6tWrx/Dhwzl79qxrfXx8PBaLhWXLlvHWW29hsViKDKnv3LkTi8XCr371KwCCg4OLDak7nU4mTpxIw4YNCQgI4O677+bEiRNF6jhz5gxjxoyhfv36+Pv707NnT9LS0orUsGrVKt58801XDTNnznT7PEVE3OXndBKbkgLXCJtX8wEwDGJTUvBzOsuhOhEpSaUNnADfffcd8+fPZ/ny5Rw6dIjhw4cDcPHiRZo2bcqrr77K0aNHmTp1Kg8//DDvvfdeke2XLl3KuHHjOHDgAHl5eSQmJrrWvfzyy6xZs4YNGzbw5ptvsmrVqiLbZmZmMnjwYG677TYOHTrEM888w+TJk9m+fburzddff83SpUtp2rQp8+bN45133iErK4u33nrL7XMcMmQIZ86c4d1332XXrl1kZ2czevRo1/rk5GQyMjKIjY2lT58+ZGRkkJGRQffu3QHo3r07GRkZ/N///R8AR44cISMjg+TkZNc+HnvsMf71r3/x2muvceDAAYKDgxk4cCAFBQWuNvfeey9paWls2rSJjz76iLi4OFcovVYNTz75pNvnKSLirptTU/HNy3P7F5gP4JuXR8fUVDPLEpFfUKmH1DMzM1m1ahVhYWEAtGrVCoDmzZvz4osvutqFhoby0ksvsXXrVm677TbX8sGDB3PPPfcAl3vpFixY4Fq3fPlyHnroIfr16wfAs88+y8CBA13r161bh8PhYP78+VitVlq3bs2bb77Jyy+/TO/evQFo06YNHTp0oFu3bpw4cYK2bdvSuXNnTp486db57dq1i/fff58zZ84QEBAAXJ740759e7799ltCQkIICAggICAAu92On58fISEhRfZhs9kICQlx3dMZHBxM/fr1XetPnDjB6tWrOXLkiGs4ftGiRdSpU4cDBw7QrVs3duzYwd69e/nyyy+LXWvgujW4Q/euSXWn/wNuMgy67tvn+WZA9L597I+O1ux1N+Tm5uoeTnGLzWZzq12lDpyNGzd2BaCrFRQUMGfOHNavX8+pU6fIy8vD6XTSo0ePIu2u3jYwMJBz5865Xh8/fpxJkya5XkdGRhbZ9tixY7Rt2xar9adL2KFDB1577TXX65o1a7q+Xv13p5vDOocOHSI/P58mTZoUW5eenl6qYPdzaWlpGIbBrbfeWmS5YRikp6fTrVs3Dh8+fM1rXVZmz55t2r5FpOqwX7pEUFaWx9v5AEFZWdidTpwOR9kXVsUkJSV5uwSpJGbMmOFWu0odOOvWrVvi8qSkJObNm8fixYvp1KkTNpuNoUOHUlhYWKTd1WERLoesq13v3d3P1xuG4dY7wp8f55eEhIQUuxUAKDGElpaPjw8HDx4sdj0aNmwIuH9eIiJms91gT7AtJ0eBU8QLKnXgvJb33nuPwYMHM2LECAB+/PFHTp48WayH85eEh4dz5MgR1+vDhw8XWR8WFsb69evJz893BbW0tLQy7QWMiori+++/x8/Pj2bNmpXZfq8WGRmJYRicO3fOdd9nSXX8+9//Jj09nZYtW15zXzabjfz8/FLVMW3atFJtJ1JV5OTkqFfJDbluDt9dc3vNvHZLQkKCZqlLmaqSgTMiIoJNmzaxf/9+atWqxaxZszy+P+rBBx9k+vTp9OrVi+Dg4GJdxsOHD+f3v/89TzzxBL/73e/Ys2cPW7Zs8WhC0PXcfvvt9OjRg6FDh/LHP/6RJk2akJaWRkpKCq+88kqZHCM0NJSRI0cyduxYkpOTadWqFV988QVr1qxh8eLFBAYG0rNnT7p3705sbCxJSUk0btyYPXv20KBBA+6++27XvsLDw9m8eTNHjx6lRYsWWK3WYr2m1+LuPSAiVZUnIx/VmdPh4FxgIHWzsjya9VoIZAcG4jThGcRVkc1m089lKVOVepb6tfzhD3+gc+fO9O7dmz59+tC5c2eio6M92sfDDz/MqFGjGDp0KP3792fMmDFF1tevX5/Nmzezc+dOIiMjmTlzJvPnz6dvGT9ceNOmTbRt25bf/OY3REZGMn369F/sZSyNJUuW0L9/f8aNG0fbtm2ZMGECgYGBRR4Ov3nzZtq3b899991Hx44dWb58OTfddFOR/Tz00EN07dqVrl27YrfbmTVrVpnWKSKCxcL+6Gg8vcnHAuzThCERr7EYelstIuJ1OTk5evC7m/ycThKSkrC6+WikQouFfKuVpIQEctTD6RY9+F3KWpXs4RQRkaorx25nQ1wcWCwUXqftlfUpcXEKmyJepB5OEZEKQJ+l7rlin6V+1a8z48rQucOhz1IvBX2WupQ1BU4REam8srNh9WpYuBCOH/9peVgYTJwIY8bAfz84Q0S8R4FTREQqP8OAc+fgwgWoXRuCgjRBSKQCUeAUEREREVNp0pCIiIiImEqBU0RERERMpcApIiIiIqZS4BQRERERUylwioiIiIipFDhFRERExFQKnCIiIiJiKgVOERERETGVAqeIiIiImEqBU0RERERMpcApIiIiIqZS4BQRERERUylwioiIiIipFDhFRERExFQKnCIiIiJiKgVOERERETGVAqeIiIiImEqBU0RERERMpcApIiIiIqayersAERGRCscwIDMTLl4Ef3+oVw8sFm9XJVJpmdLDmZWVRf/+/alVqxYWi4WdO3cWa+Pv78/KlSvNOHwxAwYMID4+3pR9b9u2jVatWlGjRg1atGhRbL0716Iii4+Px2KxYLFYGDBggLfLERExV3Y2JCdDRAQ0aAChoZe/RkRcXp6d7e0KRSolU3o4lyxZwuHDhzl48CCBgYEEBQUVa5Oenk7t2rXNOHy5Gj9+PD179mTHjh3YbLZi6925FjfKYrGwceNGhgwZUub7Tk5OZs6cOUyaNIkffvihzPcvIjfOMAxyc3O9XUalZ9m2Dd9hw+DSpcuvr1pnpKfD5MkwfTp569dj9O3rnSKrGJvNhkU9x9WCKYHz+PHjREVF0bZt22u2CQ4ONuPQ5e748ePMmjWLJk2aXHP99a5FRRYQEEBAQAB2u12BU6SCys3NZc6cOd4uo1ILO3aM4WvXYhhGiUN/FsMAoPCHH7AOGsS6ESM4Hh5evkVWQYmJifj5+Xm7DCkHZTqkfmX4ddmyZbz11luuodirh5HDw8Ndy38+pP7555/j7+/Ptm3bXMsWLVpEkyZNyMzMdC3buHEjkZGR2O122rdvz4YNG4rs54033iA8PByHw8GoUaPIy8vz+Fx27NhBdHQ0NWvWJCIigkWLFhVZf+UcCgoKiI2NxWKxFBlSd+dapKam0rt3bxwOB82bN+eZZ54hPz+/yHG2b99O9+7dsdvthISE8PDDDxerAWDo0KGu1ydOnLju+TmdTmw2GwcOHCi2LiMjA4vFwsmTJ924UnDixAnuvvtu6tatS506dejRowdHjhxxa1sREW/zczqJTUmBa4TNq/kAGAaxKSn4OZ3lUJ1I1VCmgTM5OZmMjAxiY2Pp06cPGRkZZGRk0L17d1ebf/3rX2RkZOBwOIpt37p1a+bNm8fYsWPJysri888/Z9q0aaxatYp69eoBl4PgmDFjeOqppzhy5AhPP/00o0ePZt++fQCcOXOG2NhYhg4dyscff0xISAjbt2/36Dy++OIL+vfvz7Bhwzhy5AjJyck8++yzRYLtlXMDWLp0KRkZGUXC2/WuRWZmJr169aJLly6kpqayZs0a1q5dS1JSkmsfn376Kf369SMmJoYPP/yQLVu2UFhY+Is1ZGRk0KxZs+ueo91up2PHjiUGzgMHDtCoUSNuuukmt67XhAkTuHDhArt37+bgwYM89NBDpQr5IiLecHNqKr55eW7/QvQBfPPy6JiaamZZIlVKmQ6pXz386ufnR0hISLE29evXB7jmPRuPPvoob7/9No899hjp6ek88sgj9OnTx7X+ueeeY8KECYwePRqAli1bsnnzZlasWEF0dDSvvPIKAQEBPP/88/j4+DBnzhzWrFnj0XnMnj2bQYMGMXnyZADCwsIYN24cy5cvJzY2FqDIudWtW7fYuV7vWixevJjw8HDmzp0LQEREBE888QQLFy7kqaeeAmDu3LnExMQwf/5813a33nqr6+/Xq+F6YmJiXIFz1apVZGdnM2nSJA4ePFjkTcL1nDhxgjvvvJOoqCgAWrVq5VEdgO4/E7kB+v9zAwyDrv/tsPBoMyB63z72R0dr9voNyM3N1T2clVxJ81dKUiEfi7Rs2TLatGlDcHAwL7zwQpF1hw4d4oMPPuCll15yLcvNzeX2228HLt8z2aZNG3x8Lr9XrVGjBm3atPHo+IcOHSItLQ1/f3/Xsry8PJo3b17KMyr5GB999FGRYxQUFFBQUOB6ffjwYe66664yO+bPxcTEuK7vkiVLyMzMdAXO3r17u72fRx55hMcff5wDBw7Qo0cP7rnnHrp27epRLbNnz/aovYhIWbBfukRQVpbH2/kAQVlZ2J1OnCWM2Il7rh7Vk8ppxowZbrWrkIHzs88+49KlS5w6dYpTp04RFhZWZP3MmTOLzci22+2uv5fFu6VHHnmESZMmFVnm6+t7w/u92oABA3jxxRevud4wDFPf+cXExPDZZ59x+vRpCgoKCA8P5+jRo3z44Yc8/fTTbu9n/PjxDBw4kG3btvHGG28wZ84c1q1bx7Bhw0yrXUSkLNhusHfYlpOjwCnihgoXOLOzsxk5ciRz5szhs88+Y/jw4bz//vtYrZdLjYqKIj09nfBrzA4MDw9nw4YNFBYW4uPjQ0FBAUePHi3xGZnXEhUVxeeff37NY5SFqKgoUlJSaNmypas3tqQ2u3fvvu6+fH19i002ckeLFi0IDg4mKSmJ3r1706hRI5YvX052djadO3cu0tbf359vvvnmmvtq3rw5Dz74IA8++CD9+/fn73//u0eBc9q0aR7XLyKX5eTkqKeolHLdHA685vaaYX1DEhISNEu9mijXwOl0Ojl//jxwuffu/PnzfPvtt9SoUYMGDRoAl3sWIyIimDBhAk6nk06dOjFz5kxmzZoFwDPPPEO/fv1o1aoVgwYN4vz582zdupXQ0FBGjhzJ/fffT2JiItOnTyc+Pp5ly5Zx9uxZj+qcNm0aHTp0IDExkdGjR5OXl8eOHTswDMN1X+eNGj9+PIsWLeKBBx7g8ccfx9fXl7179/LVV1/x/PPPAzB16lQ6duzIlClTGDduHD/++CPLly8vNmM+PDycLVu2cOedd7ruGXW3Z7Rbt2789a9/5e9//zuNGzfm1ltvpVOnTtSsWbNIu1tuuYWVK1fywQcfEBoaSmBgoOuHxOTJk13/JidOnODDDz8s1jt8Pe7eAyIixRn/fWSPeM7pcHAuMJC6WVkezaItBLIDA3FeNbomnrPZbPr5X02U62epp6Sk0KhRIxo1asSlS5d4/PHHadSokWsizMqVK3nnnXdYuXIlFosFh8PBmjVrmDdvHu+99x4AvXr1Yt26daxdu5aoqCjuvvtu9u/fT+vWrYHLk5I2bNjAhg0buPnmm8nIyPDofkS4PFt+69at7N69m1tuuYWePXuyZcsW2rVrV2bXon79+mzfvp3Tp0/To0cPYmJiWLFiRZFjtGvXjq1bt7Jnzx46d+5Mv379uPTfBxJfbcGCBXz00UcEBwdjt9v5+uuv3a4jJiaGwsJCevToQevWralXrx7dunUr1m7kyJEMGTKEO+64g0aNGvH222+71hUWFvLb3/6Wtm3bMnLkSIYPH86UKVM8vCIiIl5gsbA/OhpPb16yAPs0YUjEbRZDb41FRCq1nJwcPfj9Bvg5nSQkJWF189FIhRYL+VYrSQkJ5KiH84bowe/VR7n2cIqIiFQ0OXY7G+LiwGKh8Dptr6xPiYtT2BTxgHo4RUQqOX2Wetko9lnqV/16NK4MnTsc+iz1MqTPUq8+FDhFRESuyM6G1ath4UI4fvyn5WFhMHEijBkDAQFeK0+kslLgFBER+TnDgHPn4MIFqF0bgoI0QUjkBihwioiIiIipNGlIREREREylwCkiIiIiplLgFBERERFTKXCKiIiIiKkUOEVERETEVAqcIiIiImIqBU4RERERMZUCp4iIiIiYSoFTREREREylwCkiIiIiplLgFBERERFTKXCKiIiIiKkUOEVERETEVAqcIiIiImIqBU4RERERMZUCp4iIiIiYSoFTREREREylwCkiIiIiplLgFBERERFTWb1dgIiIyA0zDMjMhIsXwd8f6tUDi8XbVYnIf1X4Hs6zZ89isVjYuXOnt0spUVZWFv3796dWrVrXrHPevHk0bNgQi8VCfHx8udd4I3bu3InFYnH9OXv2rLdLEhH5SXY2JCdDRAQ0aAChoZe/RkRcXp6d7e0KRQT1cN6wJUuWcPjwYQ4ePEhgYCBBQUFF1p8+fZqpU6eydOlS+vfvj91uL/Ma4uPjOXv2LG+88UaZ77t79+5kZGSwd+9efvOb35T5/kXkMsMwyM3N9XYZlYpl2zZ8hw2DS5cuv75qnZGeDpMnw/Tp5K1fj9G3r3eKrKRsNhsW9RBLGVLgvEHHjx8nKiqKtm3blrg+PT2dwsJCBg4cSIMGDcq5uhtns9kICQkpFqRFpGzl5uYyZ84cb5dRaYQdO8bwtWsxDKPEoTqLYQBQ+MMPWAcNYt2IERwPDy/fIiuxxMRE/Pz8vF2GVCEeD6nPnDmTyMhINm/eTEREBDVr1qRbt24AZGZmcv/999OkSRP8/Pxo3bo1y5YtK7J9ixYtmD59OoMGDcLhcNClSxeOHTvmWl9QUMCkSZOoU6cOjRs3Zt26dcVqePfdd+nUqRN+fn40b96cxYsXu9atXLmSjh07Eh0dTXh4OEuWLKFZs2ZER0fzn//8x+3zzMzMZPTo0QQFBVGvXj2GDx9eZDg5Pj4ei8XCsmXLeOutt1xDzleG1K8MRf/qV78CIDg4uNiQutPpZOLEiTRs2JCAgADuvvtuTpw4UaSOM2fOMGbMGOrXr4+/vz89e/YkLS2tSA2rVq3izTffdNUwc+ZMt85x5MiR/O53vytx3R133MFzzz3n1n4Mw+APf/gDzZo1o2bNmkRERBT5NxERKUt+TiexKSlwjbB5NR8AwyA2JQU/p7McqhORkpTqHs7vvvuO+fPns3z5cg4dOsTw4cMBuHjxIk2bNuXVV1/l6NGjTJ06lYcffpj33nuvyPZLly5l3LhxHDhwgLy8PBITE13rXn75ZdasWcOGDRt48803WbVqVZFtMzMzGTx4MLfddhuHDh3imWeeYfLkyWzfvt3V5uuvv2bp0qU0bdqUefPm8c4775CVlcVbb73l9jkOGTKEM2fO8O6777Jr1y6ys7MZPXq0a31ycjIZGRnExsbSp08fMjIyyMjIoHv37sBPQ9H/93//B8CRI0fIyMggOTnZtY/HHnuMf/3rX7z22mscOHCA4OBgBg4cSEFBgavNvffeS1paGps2beKjjz4iLi7OFUqvVcOTTz7p1jnGxMRw4MCBEtd9+OGHxMTEuLWfTZs2MW/ePF5++WWOHj3KX/7yF/z9/d3aVkTEUzenpuKbl+f2LzAfwDcvj46pqWaWJSK/oFRD6pmZmaxatYqwsDAAWrVqBUDz5s158cUXXe1CQ0N56aWX2Lp1K7fddptr+eDBg7nnnnuAy710CxYscK1bvnw5Dz30EP369QPg2WefZeDAga7169atw+FwMH/+fKxWK61bt+bNN9/k5Zdfpnfv3gC0adOGDh060K1bN06cOEHbtm3p3LkzJ0+edOv8du3axfvvv8+ZM2cICAgALk/8ad++Pd9++y0hISEEBAQQEBCA3W7Hz8+PkJCQIvv4+VB0cHAw9evXd60/ceIEq1ev5siRI67h+EWLFlGnTh0OHDhAt27d2LFjB3v37uXLL78sdq2B69ZwPTExMSQkJJCbm8vp06f5/e9/z4oVK/j3v/9NdnY2Xbt2dWs/J06coG7duvTr1w+r1UqLFi08qgPQvWtS7en/gJsMg6779nm+GRC9bx/7o6M1e90Nubm5uodT3GKz2dxqV6rA2bhxY1cAulpBQQFz5sxh/fr1nDp1iry8PJxOJz169CjS7uptAwMDOXfunOv18ePHmTRpkut1ZGRkkW2PHTtG27ZtsVp/Kr1Dhw689tprrtc1a9Z0fb367043h1MOHTpEfn4+TZo0KbYuPT3d42BXkrS0NAzD4NZbby2y3DAM0tPT6datG4cPH77mtS4LHTp0wNfXl7S0NPbv389rr73GAw88QGZmJu3atXOF7eu59957mTdvHhEREfTt25fbbruN2NhYt78JAWbPnl3a0xCRasR+6RJBWVkeb+cDBGVlYXc6cTocZV9YFZOUlOTtEqSSmDFjhlvtShU469atW+LypKQk5s2bx+LFi+nUqRM2m42hQ4dSWFhY9KDWooc1/ntz9xXXe1f18/WGYbj1Tuznx/klISEhxW4FAEoMoaXl4+PDwYMHi12Phg0bAu6fV2lZrVa6dOnCgQMH2L59OwkJCWzbto3CwkK3h9MBWrZsyfHjx9m+fTs7d+5kwoQJrF27lrffftu02kWkerLdYE+wLSdHgVPEC8p0lvp7773H4MGDGTFiBAA//vgjJ0+eLNbD+UvCw8M5cuSI6/Xhw4eLrA8LC2P9+vXk5+e7glpaWlqZ9gJGRUXx/fff4+fnR7Nmzcpsv1eLjIzEMAzOnTvnuu+zpDr+/e9/k56eTsuWLa+5L5vNRn5+fqnqiImJYf/+/Xz++ef89a9/5a677qJWrVqMGjWqSLsr92Req5fY4XAwcOBABg4cSHR0NHFxcfz444+uHubrmTZtWqnqF6kqcnJy1KvkhlwPRk5K3F4zr92SkJCgWepSpso0cEZERLBp0yb2799PrVq1mDVrlsf3JT344INMnz6dXr16ERwcXKyrdvjw4fz+97/niSee4He/+x179uxhy5YtHk0Iup7bb7+dHj16MHToUP74xz/SpEkT0tLSSElJ4ZVXXimTY4SGhjJy5EjGjh1LcnIyrVq14osvvmDNmjUsXryYwMBAevbsSffu3YmNjSUpKYnGjRuzZ88eGjRowN133+3aV3h4OJs3b+bo0aO0aNECq9VarNf0WmJiYhg5ciT33nsvQUFBWK1W9u/fz5///Oci7Vq3bo2/vz9Lly7lsccew263u3q6V69eTW5uLt27d8fHx4eUlBTXEwzc5cnwu0hV5MkITHXmdDg4FxhI3awsj2a9FgLZgYE4TXgWclVks9n0c1nKVJl+0tAf/vAHOnfuTO/evenTpw+dO3cmOjrao308/PDDjBo1iqFDh9K/f3/GjBlTZH39+vXZvHkzO3fuJDIykpkzZzJ//nz6lvFDfTdt2kTbtm35zW9+Q2RkJNOnT//FXsbSWLJkCf3792fcuHG0bduWCRMmEBgYWOTh8Js3b6Z9+/bcd999dOzYkeXLl3PTTTcV2c9DDz1E165d6dq1K3a7nVmzZrldQ0xMDBcuXOCOO+4AoG/fvvj6+tK6desi7WrXrs2yZctYuXIljRs3LvJ4p7p16/K3v/2Nbt26ER0dzYULF9i0aVMproiIyHVYLOyPjsbTm40swD5NGBLxGouht9UiIl6Xk5OjB7+7yc/pJCEpCaubj0YqtFjIt1pJSkggRz2cbtGD36WsVfjPUhcREblajt3Ohrg4sFgovE7bK+tT4uIUNkW8SD2cIiIVgD5L3XPFPkv9ql9nxpWhc4dDn6VeCvosdSlrCpwiIlJ5ZWfD6tWwcCEcP/7T8rAwmDgRxowBN58pLCLmUeAUEZHKzzDg3Dm4cAFq14agIE0QEqlAFDhFRERExFSaNCQiIiIiplLgFBERERFTKXCKiIiIiKkUOEVERETEVAqcIiIiImIqBU4RERERMZUCp4iIiIiYSoFTREREREylwCkiIiIiplLgFBERERFTKXCKiIiIiKkUOEVERETEVAqcIiIiImIqBU4RERERMZUCp4iIiIiYSoFTREREREylwCkiIiIiprJ6uwARwzC4cOGCt8sQERGRUqhduzYWi+UX2yhwitdduHCBgIAAb5chIiIipXD+/Hnq1Knzi20shmEY5VSPSIkqYg/nf/7zH5o1a8Y333xz3f9Ecn26nmVL17Ns6XqWLV3PslUZrqd6OKVSsFgsFfY/UZ06dSpsbZWRrmfZ0vUsW7qeZUvXs2xV9uupSUMiIiIiYioFThERERExlQKnSAn8/PyYMWMGfn5+3i6lStD1LFu6nmVL17Ns6XqWrapyPTVpSERERERMpR5OERERETGVAqeIiIiImEqBU0RERERMpcApIiIiIqZS4BQBsrKyGDVqFAEBAQQEBDBq1Ciys7Ov2T4vL4+pU6cSFRVFrVq1aNy4MaNHj+b06dPlV3QF8+c//5nQ0FBq1qzJLbfcwu7du3+x/a5du7jllluoWbMmLVu2ZMmSJeVUaeXgyfXctGkTffv2pUGDBtSpU4eYmBj+8Y9/lGO1FZ+n359XvP/++1itVm6++WZzC6xkPL2eOTk5TJ8+nebNm+Pn50dYWBjLly8vp2orPk+v59q1a+nYsSMOh4NGjRoxduxYMjMzy6naUjJExOjXr58RGRlp7N2719i7d68RGRlpDBgw4Jrts7OzjT59+hgpKSnG0aNHjQ8++MCIjo42brnllnKsuuJYv3694evrayxdutT49NNPjUmTJhm1atUyvv766xLbp6enGw6Hw5g0aZLx6aefGkuXLjV8fX2NV199tZwrr5g8vZ6TJk0y5s6da+zfv9/44osvjGnTphm+vr7GRx99VM6VV0yeXs8rsrOzjZYtWxp33HGH0bFjx/IpthIozfUcNGiQER0dbWzbts346quvjH379hnvv/9+OVZdcXl6PXfv3m34+PgYycnJRnp6urF7926jffv2xj333FPOlXtGgVOqvU8//dQAjH/961+uZR988IEBGEePHnV7P/v37zeA6/4Sq4q6du1qPProo0WWtWnTxkhMTCyx/VNPPWW0adOmyLJHHnnE6Natm2k1ViaeXs+StGvXznj22WfLurRKqbTXMy4uznj66aeNGTNmKHBexdPr+fbbbxsBAQFGZmZmeZRX6Xh6PV988UWjZcuWRZYtXLjQaNq0qWk1lgUNqUu198EHHxAQEEB0dLRrWbdu3QgICGDv3r1u7+f8+fNYLBbq1q1rQpUVV25uLh9++CF33HFHkeV33HHHNa/fBx98UKz9nXfeycGDB8nLyzOt1sqgNNfz5woLC7lw4QJBQUFmlFiplPZ6rlixguPHjzNjxgyzS6xUSnM9X3/9dbp06cIf//hHmjRpQqtWrXjyySdxOp3lUXKFVprr2b17d06dOsVbb72FYRh89913vPrqq9x9993lUXKpWb1dgIi3ffvttwQHBxdbHhwczLfffuvWPn788UcSExMZPnw4derUKesSK7SzZ89SUFBAw4YNiyxv2LDhNa/ft99+W2L7/Px8zp49S6NGjUyrt6IrzfX8ufnz5/PDDz8QGxtrRomVSmmu55dffkliYiK7d+/GatWvyauV5nqmp6ezZ88eatasyebNmzl79iy//e1vOXfuXLW/j7M017N79+6sXbuWuLg4fvzxR/Lz8xk0aBCLFi0qj5JLTT2cUmXNnDkTi8Xyi38OHjwIgMViKba9YRglLv+5vLw8hg0bRmFhIX/+85/L/Dwqi59fq+tdv5Lal7S8uvL0el7xyiuvMHPmTFJSUkp8I1VduXs9CwoKGD58OM8++yytWrUqr/IqHU++PwsLC7FYLKxdu5auXbvSv39/kpKSWLlypXo5/8uT6/npp58yceJEnnnmGT788EO2bt3KV199xaOPPloepZaa3rpJlTV+/HiGDRv2i21atGjBoUOH+O6774qtO3PmTLF3nT+Xl5dHbGwsX331Fe+++261690EqF+/PjVq1Cj2bvz777+/5vULCQkpsb3VaqVevXqm1VoZlOZ6XpGSksIDDzzAxo0b6dOnj5llVhqeXs8LFy5w8OBBPv74Y8aPHw9cDkyGYWC1WnnnnXfo1atXudReEZXm+7NRo0Y0adKEgIAA17K2bdtiGAanTp0iIiLC1JorstJcz9mzZ9OjRw+mTJkCQIcOHahVqxa/+tWvmDVrVoUdIVIPp1RZ9evXp02bNr/4p2bNmsTExHD+/Hn279/v2nbfvn2cP3+e7t27X3P/V8Lml19+yT//+c9qG5RsNhu33HIL27ZtK7J827Zt17x+MTExxdq/8847dOnSBV9fX9NqrQxKcz3hcs9mfHw869atq/D3cpUnT69nnTp1SEtL45NPPnH9efTRR2ndujWffPJJkXu9q6PSfH/26NGD06dPc/HiRdeyL774Ah8fH5o2bWpqvRVdaa7npUuX8PEpGt9q1KgB/DRSVCF5abKSSIXSr18/o0OHDsYHH3xgfPDBB0ZUVFSxxyK1bt3a2LRpk2EYhpGXl2cMGjTIaNq0qfHJJ58YGRkZrj85OTneOAWvuvJYj2XLlhmffvqp8fjjjxu1atUyTpw4YRiGYSQmJhqjRo1ytb/yWKTJkycbn376qbFs2TI9Fukqnl7PdevWGVar1XjppZeKfC9mZ2d76xQqFE+v589plnpRnl7PCxcuGE2bNjWGDBliHDlyxNi1a5cRERFhPPjgg946hQrF0+u5YsUKw2q1Gn/+85+N48ePG3v27DG6dOlidO3a1Vun4BYFThHDMDIzM40RI0YYtWvXNmrXrm2MGDHCyMrKKtIGMFasWGEYhmF89dVXBlDinx07dpR7/RXBSy+9ZDRv3tyw2WxG586djV27drnWjRkzxvj1r39dpP3OnTuNTp06GTabzWjRooXx8ssvl3PFFZsn1/PXv/51id+LY8aMKf/CKyhPvz+vpsBZnKfX87PPPjP69Olj2O12o2nTpkZCQoJx6dKlcq664vL0ei5cuNBo166dYbfbjUaNGhkjRowwTp06Vc5Ve8ZiGBW5/1VEREREKjvdwykiIiIiplLgFBERERFTKXCKiIiIiKkUOEVERETEVAqcIiIiImIqBU4RERERMZUCp4iIiIiYSoFTREREREylwCkiIiIiplLgFBERERFTKXCKiIiIiKkUOEVERETEVP8fBAKjK2Uze0kAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "res4 = combine_effects(\n",
    "    eff, var_eff, method_re=\"iterated\", use_t=False, row_names=rownames\n",
    ")\n",
    "res4_df = res4.summary_frame()\n",
    "print(\"method RE:\", res4.method_re)\n",
    "print(res4.summary_frame())\n",
    "fig = res4.plot_forest()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Example Kacker interlaboratory mean\n",
    "\n",
    "In this example the effect size is the mean of measurements in a lab. We combine the estimates from several labs to estimate and overall average."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [],
   "source": [
    "eff = np.array([61.00, 61.40, 62.21, 62.30, 62.34, 62.60, 62.70, 62.84, 65.90])\n",
    "var_eff = np.array(\n",
    "    [0.2025, 1.2100, 0.0900, 0.2025, 0.3844, 0.5625, 0.0676, 0.0225, 1.8225]\n",
    ")\n",
    "rownames = [\"PTB\", \"NMi\", \"NIMC\", \"KRISS\", \"LGC\", \"NRC\", \"IRMM\", \"NIST\", \"LNE\"]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "method RE: dl\n",
      "                         eff    sd_eff     ci_low     ci_upp      w_fe      w_re\n",
      "PTB                61.000000  0.450000  60.118016  61.881984  0.057436  0.123113\n",
      "NMi                61.400000  1.100000  59.244040  63.555960  0.009612  0.040314\n",
      "NIMC               62.210000  0.300000  61.622011  62.797989  0.129230  0.159749\n",
      "KRISS              62.300000  0.450000  61.418016  63.181984  0.057436  0.123113\n",
      "LGC                62.340000  0.620000  61.124822  63.555178  0.030257  0.089810\n",
      "NRC                62.600000  0.750000  61.130027  64.069973  0.020677  0.071005\n",
      "IRMM               62.700000  0.260000  62.190409  63.209591  0.172052  0.169810\n",
      "NIST               62.840000  0.150000  62.546005  63.133995  0.516920  0.194471\n",
      "LNE                65.900000  1.350000  63.254049  68.545951  0.006382  0.028615\n",
      "fixed effect       62.583397  0.107846  62.334704  62.832090  1.000000       NaN\n",
      "random effect      62.390139  0.245750  61.823439  62.956838       NaN  1.000000\n",
      "fixed effect wls   62.583397  0.189889  62.145512  63.021282  1.000000       NaN\n",
      "random effect wls  62.390139  0.294776  61.710384  63.069893       NaN  1.000000\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/lib/python3/dist-packages/statsmodels/stats/meta_analysis.py:105: UserWarning: `use_t=True` requires `nobs` for each sample or `ci_func`. Using normal distribution for confidence interval of individual samples.\n",
      "  warnings.warn(msg)\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAnwAAAIGCAYAAADOVFLxAAAAQHRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjcrZGZzZzEsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvhF0PpwAAAAlwSFlzAAAPYQAAD2EBqD+naQAAXL5JREFUeJzt3XtcVHX+x/H3QZiREUVQEbxfIDM1si1Ru6pZ5rW2BFNTulppmuy2aVZaucluSmlZbt41XdHd9Fdalttq90W7oVZaQtqaUIZQKuMMwvn9wTpJgMwgMHh4PR8PHjjney6fOQPjm+/3fM8YpmmaAgAAgGUF+LsAAAAAVC8CHwAAgMUR+AAAACyOwAcAAGBxBD4AAACLI/ABAABYHIEPAADA4gh8AAAAFkfgAwAAsDgCHwAAgMUR+AAAACyOwAcAAGBxBD4AAACLI/ABAABYHIEPAADA4gh8AAAAFkfgAwAAsDgCHwAAgMUR+AAAACwu0N8FAKhhpinl5EjHjkkhIVKTJpJh+LsqAEA1oocPqCvy8qS5c6WYGKlZM6l9++LvMTHFy/Py/F0hAKCaGKZpmv4uAv6VmJio5cuXS5Lsdrs6dOigCRMm6IILLlCfPn3K3W769OlKTExU+/btPcuaNm2q3r17a86cOYqOjq722v3JNE253W5/l+EVY8sWBY0YIeXnFz8+7dfePNW753CoYM0amf37+6NEn9lsNhn0TAKAVxjShSTpmmuu0cqVK+V0OvXqq69qwoQJWrp0qbKysiRJR44cUZcuXfTPf/5TvXv3liSFhITop59+kiRt3rxZsbGxysnJ0aOPPqqbbrpJ6enpfns+NcHtdis5OdnfZVSo4759GrlqlUzTLLNL/1T4Kzp+XIFDh2r1qFHKOAfC+pQpU2S32/1dBgCcExjShaTinr3IyEi1b99ekyZNUr9+/bR582ZFRkYqMjJSERERkqTw8HDPspCQEM/2TZo0UWRkpLp06aI777xTO3fulNPp9NfTwf/YnU7Fp6ZK5YS90wVIkmkqPjVVdl47ALAUAh/KFBwcXKnhyvz8fK1bt06dO3dWcHBwNVQGX1yUnq6gggKvf9EDJAUVFCjW4r2zAFDXMKSLEoqKivTGG29o8+bNeuaZZ7ze7sorr1RAQIDy8/PVoUMHbdq0yafjnivXwp2u1tdsmuqRlub7ZpLi0tK0PS6uVs/edbvdXMMHACq+prkiBD5IKr4GLyQkRG63W/Xq1dOECRN07733er396tWr1bVrV/3000+aP3++brzxRn366aeqX7++V9vPmjWrsqWjHMH5+QrPzfV5uwBJ4bm5CnY65XQ4qr6wKpKSkuLvEgCgVpg+fXqF6xD4IKm4h+6ll15ScHCwoqKiFBDg22h/q1atFB0drejoaF1yySVq1KiR/u///k8JCQnVVDEqYjvLHkiby1WrAx8AwHsEPkiSHA5Hld1GJTAwUDabTUePHvV6m6lTp1bJsWuSy+Wq1b1Mbi+6+M+4fS2fAZuUlMQsXQDwEoEPVSInJ0fZ2dnKy8vTokWL5HK5dNVVV3m9vTfXH9Q2tf0Wlk6HQ0fCwtQ4N9en2VlFkvLCwuSs5ZNubDbbOflzAwD+QOBDlRgwYIAkKSwsTN26ddNrr72mmJgYP1dVxxmGtsfF6brNm33bTFJaLZ+wAQDwDYEPWrZsWYXrNG3atMwerXbt2tX6nq667PPYWPV9+20FenlrliLD0MnAQKXHxlZ7bQCAmsN9+AALcwUHa21CgmQYKqpg3VPtqQkJctXy4VwAgG/4LF2gkvgsXf/is3QBwHsEPqCuyMuTVqyQ5s2TMjJ+Xd6xozRxojR2rBQa6rfyAADVh8AH1DWmKR05Ih09KjVsKIWHM0EDACyOwAcAAGBxTNoAAACwOAIfAACAxRH4AAAALI7ABwAAYHEEPgAAAIsj8AEAAFgcgQ8AAMDiCHwAAAAWR+ADAACwOAIfAACAxRH4AAAALI7ABwAAYHEEPgAAAIsj8AEAAFgcgQ8AAMDiCHwAAAAWR+ADAACwuEB/FwDgHGaaUk6OdOyYFBIiNWkiGYa/qwIA/AY9fKgyEyZM0NVXX+3vMlAT8vKkuXOlmBipWTOpffvi7zExxcvz8vxdIQDgNIZpmqa/i4D/GIahZs2a6eDBg7LZbJKkrl276uabb9aMGTNkGIZsNpt++OEHNW7cWJIUExOjffv2aceOHbrkkks8+zp69KgKCgoUHh5+VjWZpim3231W+0D1MbZsUdCIEVJ+fvHj095CzFO9ew6HCtaskdm/vz9KhJdsNpsMemSBOoEhXSgnJ0fr1q3TqFGjymxv3ry51q9fr9tuu02ffvqpXC5Xmes1bNiwSupxu91KTk6ukn2hanXct08jV62SaZplDg+cCn9Fx48rcOhQrR41ShnR0TVbJLw2ZcoU2e12f5cBoAYwpAsNGjRI8+fPL7f95ptv1tq1ayVJa9eu1fDhw0u0z5w5U4ZhyDAMhnQtzO50Kj41VSon7J0uQJJMU/GpqbI7nTVQHQDgTAh8UEJCgr755ht99tlnZbb36tVLe/fuVU5Ojv7xj3/opptuKtE+efJkZWVl6bbbbquJcuEnF6WnK6igwOs3jQBJQQUFik1Pr86yAABeYEgXstvtuuOOOzR//nwtWrSoVLthGBo2bJgefvhhtWjRQi1atCjR3qBBAzVo0EAOh6PSNZx+zR7X79VCpqkeaWm+byYpLi1N2+PimL1bC7ndbq7hAyzg1DX4Z0LggyTpnnvuUbdu3fT000+X2R4fH6/evXvrueeeq5bjz5o1q1r2i6oRnJ+v8Nxcn7cLkBSem6tgp1POs/iDANUjJSXF3yUAqALTp0+vcB2GdCFJateunfr06aOlS5eW2d6zZ08999xzGjFiRA1XhtrAdpa9rrZyJvoAAGoGPXzwGD9+vCZMmFBm17BhGJowYYIk6dixY1V+7KlTp3r+7XK56HmoZdxeDBeccXtmgtZKSUlJzNIF6ggCHzyuvfZaGYahvXv3+rRddna2JCk/P19ut9vzODw83KvrCqSS1x9wa8jax+lw6EhYmBrn5vo0LFAkKS8sTM7g4OoqDWfBZrN5/TsK4NzGkC48DMPQvffeq8LCQp+2i4qKUlRUlJYuXaqPPvrI8/jDDz+spkpR4wxD2+Pi5Ovl/YakNCZsAIDf0cNXx/22N23y5MmaPHlyue1S8fV+py+nR65u+Dw2Vn3ffluBXt6apcgwdDIwUOmxsdVeGwDgzOjhA+AVV3Cw1iYkSIahogrWPdWempAgF8O5AOB3fJYuah0+S7d247N0rYPP0gXqDgIfAN/l5UkrVkjz5kkZGb8u79hRmjhRGjtWCg31W3kAgJIIfAAqzzSlI0eko0elhg2l8HAmaABALUTgAwAAsDgmbQAAAFgcgQ8AAMDiCHwAAAAWR+ADAACwOAIfAACAxRH4AAAALI7ABwAAYHEEPgAAAIsj8AEAAFgcgQ8AAMDiCHwAAAAWR+ADAACwOAIfAACAxRH4AAAALI7ABwAAYHEEPgAAAIsj8AEAAFgcgQ8AAMDiAv1dAABUC9OUcnKkY8ekkBCpSRPJMPxdFQD4BT18AKwlL0+aO1eKiZGaNZPaty/+HhNTvDwvz98VAkCNI/BZnGEYioiIkNvt9izr2rWrZsyYIUnatm2bDMMo9bVs2TJJUmJiogzD0AsvvODZfubMmTIMQxMmTPAsy87O1pgxY9S0aVM1aNBAPXr00AcffFAjzxG1k2macrlcNfrl3rhRZqtWMidPlpmZWbKezMzi5a1ayb1xY43X5nK5ZJqmn14NAHUdQ7p1QE5OjtatW6dRo0aVauvdu7eysrL03//+Vz169NDmzZsVGxur0NBQzzqtW7dWamqq7rvvPknSunXr1Lp1a097fn6+rr76akVERGj9+vVq1qyZ3nnnHX3//ffV/+RQa7ndbiUnJ9fY8Tru26eRq1bJNM0y/5I1/he2io4fV+DQoVo9apQyoqNrrD5JmjJliux2e40eEwAkAl+dMGjQIM2fP7/MwGez2RQZGakTJ05Ikpo0aaLIyMgS61x44YXat2+fsrKy9PPPPyswMFAdOnTwtC9YsECHDh3Sjh071LBhQ0nS+eefX43PCCjJ7nQqPjVVKifsnS5AUpFpKj41VSlJSXIFB9dEiQDgVwzp1gEJCQn65ptv9Nlnn1V6HzfddJPWrVun1NRUDR8+vETb5s2bdf3113vCHlDTLkpPV1BBgddvaAGSggoKFJueXp1lAUCtQQ9fHWC323XHHXdo/vz5WrRoUaX2ER8fr/HjxysvL0+vvvqqNm/e7Gn77rvvdOGFF55VjadfYwhrqLHX1DTVIy3N980kxaWlaXtcXI3N3nW73TKYKQygitlstgrXIfDVEffcc4+6deump59+ulLbx8bGKicnRw0aNCgxnCupSi5EnzVr1lnvA3VTcH6+wnNzfd4uQFJ4bq6CnU45HY6qL6wMKSkpNXIcAHXL9OnTK1yHwFdHtGvXTn369NHSpUsrvY/nn39eQUFBpZa3adNGBw8ePJvygEqznWVPos3lqrHABwD+QuCrQ8aPH68JEyZ41fVbln79+pW5/LrrrtOTTz6pY8eOKSQkpFL7njp1aqW2Q+3lcrlqpEfLXcmfZ8/2NThrNikpiVm6APyCwFeHXHvttTIMQ3v37vUsc7vdOnLkiA4fPiyp+BYu2dnZCg0NVbCXsxfHjRunF198UYMHD9af//xnNW3aVO+++65CQ0MVHx/v1T4qG0JRe9XUPeecDoeOhIWpcW6uT7PQiiTlhYXJWYOzdG02Gz/rAPyCWbp1iGEYuvfee1VYWOhZ9uGHHyoqKko9evSQJA0YMEBRUVFKTU31er8NGzbUu+++q5YtW2ro0KG66KKL9OKLL6pFixZV/hyAUgxD2+Pi5OtUCENSWg1O2AAAfzJMbv0OoBq4XK4au/Gy3elUUkqKAr28NUuRYehkYGCN34ePGy8D8Bd6+ACc81zBwVqbkCAZhooqWPdUe2pCAjddBlBn0MMHoFqYplnj91c0tmxR0IgRUn5+8ePT3t7MU0O3DocK1qyR2b9/jdYmFV/Dx334APgDgQ+AteTlSStWSPPmSRkZvy7v2FGaOFEaO1Y67bOiAaAuIPABsCbTlI4ckY4elRo2lMLDmaABoM4i8AEAAFgckzYAAAAsjsAHAABgcQQ+AAAAiyPwAQAAWByBDwAAwOIIfAAAABZH4AMAALA4Ah8AAIDFEfgAAAAsjsAHAABgcQQ+AAAAiyPwAQAAWByBDwAAwOIIfAAAABZH4AMAALA4Ah8AAIDFEfgAAAAsLtDfBQBAjTFNKSdHOnZMCgmRmjSRDMPfVQFAtaOHD4D15eVJc+dKMTFSs2ZS+/bF32Niipfn5fm7QgCoVoZpmqa/i0Dl7N+/X+3bt9eOHTt0ySWXSJIOHDigK664QoMGDZLT6dTy5cslSQ0aNFBMTIweeughjRgxwrOPdu3a6cCBAyX2e9VVV2nbtm2SpMLCQv31r3/V4sWL9f333ysyMlJXXnmllixZonr16kmS3n33XU2bNk3p6emy2+2KjY3VzJkz1bNnzxo4C6hppmnK7Xb7uwyvGVu2KGjECCk/v/jxaW955qnePYdDBWvWyOzf3x8l+sxms8mgZxKADxjStZBDhw6pb9++6tevn1544QXddtttuuaaa7Ry5Url5+dr9erVGjlypCIiItS3b19J0o4dO1RYWKjf//73Ov/88/XUU0/JZrN59jlr1izNnz9fCxcuVJcuXbR//36tXLlShYWFqlevnr7++msNGDBAf/zjH7VkyRIdP35cb7/9tn744Qd/nQZUM7fbreTkZH+X4ZWO+/Zp5KpVMk2zzOGMU+Gv6PhxBQ4dqtWjRikjOrpmi6yEKVOmyG63+7sMAOcQAp9FHD58WP369VOPHj20ePFiz1//drtdkZGRkqRHHnlEzzzzjDZt2uQJfM2aNZNU3GPgcDg8657yyiuv6K677tLgwYMlSe3bt1efPn087Zs3b1bTpk31xBNPeJZddNFF1fY8AW/ZnU7Fp6ZK5YS90wVIKjJNxaemKiUpSa7g4JooEQBqDNfwWUBubq769++vzp07a+XKlQoIKP2ymqap1157Tbm5uapfv77X+w4NDdV7772nX375pdz2H3/8UTt27Kh0/UB1uCg9XUEFBV6/yQVICiooUGx6enWWBQB+QQ+fBYwdO1ZZWVm6/fbbFRhY8iXdvHmzQkJC5HK5dPLkSbVp00bjxo3zet/Jycm68cYbFRkZqcsvv1wDBgzQ2LFj1aRJE0nSiBEjtGbNGvXo0UPdunVT3759NXr0aM81hd46l64Jq+vOidfKNNUjLc33zSTFpaVpe1xcrZ6963a7uYYPgMfpl2KVh8BnAV27dlVSUpKmTJmi6667Tp06dfK0XXnllXrppZeUlZWladOm6ZlnnlGbNm283ndcXJwyMzP1r3/9S1u3btVzzz2np59+Wjt27FCrVq1kt9v1xhtvKD09XW+99ZbefPNNxcXF6cUXX9Tdd9/t9XFmzZrl03MGziQ4P1/hubk+bxcgKTw3V8FOp5wOR9UXVkVSUlL8XQKAWmT69OkVrsOQrgX8+c9/1h/+8AddcsklGjNmjAoLCz1tDodD0dHRuuKKK/Tkk0/qhhtu0PHjx33af/369TV48GDNmTNHX375pex2u1566aUS68TGxurBBx/Uv/71L/3xj3/UzJkzq+S5AZVhO8teSJvLVUWVAEDtQA+fBRiGIcMwtGTJEl144YWaNWuWHnnkkVLrXXXVVWrRooVSUlL06KOPVupYwcHBatWqlY4ePVruOjExMWdsL8vUqVMrVQ9qnsvlqvU9TG4vhjfOuH0tnwGblJTELF0APiHwWUh0dLRmzpypKVOmaNCgQWWuM378eE2aNEkTJ05UaGioDh8+rMLCQrndbuXn5ys7O1s2m03h4eGSpNtvv13du3fXFVdcoYYNG2r9+vX66KOPPIEyNTVV27Zt04gRI9S2bVt9/fXXmjVrlgYMGOBT7d5cf4Da4Vy4dafT4dCRsDA1zs31aRijSFJeWJictXyWrs1m43cGgE8Y0rWYBx54QJdccoluvfVWucoYlkpISFBQUJCeffZZSdKll16qqKgoffTRR1q6dKmioqL0+9//3rN+79699fLLL+vqq69WbGysXn75ZS1dutQT6Lp06aIffvhBt9xyizp16qQ777xT119/vV588cUaeb5AmQxD2+Pi5Ou0BkNSWi2fsAEAlcEnbQDwicvlOiduvGx3OpWUkqJAL2/NUmQYOhkYeE7ch48bLwPwFT18ACzJFRystQkJkmGoqIJ1T7WnJiTU+rAHAJVBDx8An/BZuv7HZ+kC8BWBD4D15eVJK1ZI8+ZJGRm/Lu/YUZo4URo7VgoN9Vt5AFDdCHwA6g7TlI4ckY4elRo2lMLDmaABoE4g8AEAAFgckzYAAAAsjsAHAABgcQQ+AAAAiyPwAQAAWByBDwAAwOIIfAAAABZH4AMAALA4Ah8AAIDFEfgAAAAsjsAHAABgcQQ+AAAAiyPwAQAAWByBDwAAwOIIfAAAABZH4AMAALA4Ah8AAIDFEfgAAAAsjsAHAABgcYH+LgAAapxpSjk50rFjUkiI1KSJZBj+rgoAqg09fADqjrw8ae5cKSZGatZMat+++HtMTPHyvDx/VwgA1cIwTdP0dxHwrxkzZugf//iHdu/eXWZ7dna2pkyZok2bNunEiRPq3r27nnzySV111VWedd58801Nnz5dO3fuVEhIiK666iq9/PLLstvtNfU04CPTNOV2u/1dRo0xtmxR0IgRUn5+8ePT3vrMU717DocK1qyR2b+/P0qscTabTQY9m0CdwJAuzig/P19XX321mjZtqn/+85+KiorSp59+qi+++MIT+N58800NHjxYDz/8sJYsWaKjR49q+fLlcrlcBL5azO12Kzk52d9l1IiO+/Zp5KpVMk2zzGGNU+Gv6PhxBQ4dqtWjRikjOrpmi/SDKVOm8DsK1BEEPpzRggULdOjQIe3YsUMNGzaUJMXExJRY58EHH9To0aP1+OOPe5bFxcXVaJ1AeexOp+JTU6Vywt7pAiQVmabiU1OVkpQkV3BwTZQIANWOa/hwRps3b9b111/vCXu/dejQIe3atUvx8fE1XBngnYvS0xVUUOD1m12ApKCCAsWmp1dnWQBQo+jhwxl99913uvDCCz2Pu3TpogMHDigkJETZ2dn67rvvJEmtW7c+q+PUpWvJaos6cc5NUz3S0nzfTFJcWpq2x8VZevau2+3mGj7AAmw2W4XrEPhwRqZpqn79+p7Hr7/+ulJTU/XEE0942qvCrFmzqmQ/wOmC8/MVnpvr83YBksJzcxXsdMrpcFR9YbVESkqKv0sAUAWmT59e4ToM6eKM2rZtq//+978lHkdERHget2nTRpJ08ODBGq8NqIjtLHsxbS5XFVUCAP5FDx/OaMCAAXr66ad14sSJEj19p7Rs2VJdunTR2rVrNWDAgEofZ+rUqWdTJirB5XJZvofH7cUwxxm3t/gM1qSkJGbpAnUEgQ+SpBMnTujzzz8vsaxRo0YaN26cFixYoCFDhujxxx9X06ZN9e9//7vEdT/Jycm68cYb1bZtW8XHx+vo0aNasWKFZs2aVe5kj9/y5voDVK26cAtOp8OhI2Fhapyb69NwRpGkvLAwOS0+S9dms/G7B9QRDOlCkpSRkaHu3buX+LrvvvvUoEEDbdu2Tc2bN9eQIUN0ySWXKDMzUxs2bPBsO3jwYG3YsEGbNm1S9+7dNWDAAGVlZfEfCfzPMLQ9Lk6+TkswJKVZfMIGgLqFT9oA6iiXy1UnbrxsdzqVlJKiQC9vzVJkGDoZGFgn7sPHjZeBuoMePgCW5goO1tqEBMkwVFTBuqfaUxMSLB/2ANQt9PABdRSfpctn6fJZukDdQeADUHfk5UkrVkjz5kkZGb8u79hRmjhRGjtWCg31W3kAUF0IfADqHtOUjhyRjh6VGjaUwsOZoAHA0gh8AAAAFsekDQAAAIsj8AEAAFgcgQ8AAMDiCHwAAAAWR+ADAACwOAIfAACAxRH4AAAALI7ABwAAYHEEPgAAAIsj8AEAAFgcgQ8AAMDiCHwAAAAWR+ADAACwOAIfAACAxRH4AAAALI7ABwAAYHEEPgAAAIsL9HcBAFDrmaaUkyMdOyaFhEhNmkiG4e+qAMBr9PABQHny8qS5c6WYGKlZM6l9++LvMTHFy/Py/F0hAHjFME3T9HcR8B/DMNSsWTMdPHhQNptNktS1a1fdfPPNmjFjhhITE7V8+XJJUoMGDRQTE6OHHnpII0aMKLGfN998U9OnT9fOnTsVEhKiq666Si+//LLsdnuNPyd4xzRNud1uf5dRaxlbtihoxAgpP7/48Wlvleap3j2HQwVr1sjs398fJZ4TbDabDHpDAb9jSBfKycnRunXrNGrUqDLbr7nmGq1cuVL5+flavXq1Ro4cqYiICPXt21dScdgbPHiwHn74YS1ZskRHjx7V8uXL5XK5CHy1mNvtVnJysr/LqJU67tunkatWyTTNModBToW/ouPHFTh0qFaPGqWM6OiaLfIcMWXKFN4HgFqAIV1o0KBBmj9/frntdrtdkZGR6tChgx555BGFhYVp06ZNnvYHH3xQo0eP1uOPP64LLrhAcXFxeuGFF9SoUaOaKB+oUnanU/GpqVI5Ye90AZJkmopPTZXd6ayB6gCgcgh8UEJCgr755ht99tlnZ1zPNE299tprys3NVf369SVJhw4d0q5duxQfH18TpQLV7qL0dAUVFHj95hggKaigQLHp6dVZFgCcFYZ0IbvdrjvuuEPz58/XokWLSrVv3rxZISEhcrlcOnnypNq0aaNx48ZJkr777jtJUuvWrc+qBq4lq3mc8zKYpnqkpfm+maS4tDRtj4tj9u5vuN1uruEDqtmpa/DPhMAHSdI999yjbt266emnny7VduWVV+qll15SVlaWpk2bpmeeeUZt2rSRVNzrVxVmzZpVJfsBzkZwfr7Cc3N93i5AUnhuroKdTjkdjqov7ByWkpLi7xIAy5s+fXqF6zCkC0lSu3bt1KdPHy1durRUm8PhUHR0tK644go9+eSTuuGGG3T8+HFJ8gS/gwcP1mi9QHWwnWWvp83lqqJKAKBq0cMHj/Hjx2vChAln7Bq+6qqr1KJFC6WkpOjRRx9Vy5Yt1aVLF61du1YDBgyo9LGnTp1a6W1ROS6Xi96X33B7MSxyxu2ZjVpKUlISs3SBWoDAB49rr71WhmFo7969Z1xv/PjxmjRpkiZOnKjQ0FAlJyfrxhtvVNu2bRUfH6+jR49qxYoVmjVrlho2bOjVsb25/gBVi1twluZ0OHQkLEyNc3N9Gv4okpQXFiZncHB1lXbOstls/H4DtQBDuvAwDEP33nuvCgsLz7heQkKCgoKC9Oyzz0qSBg8erA0bNmjTpk3q3r27BgwYoKysLN7kce4xDG2Pi5OvUwwMSWlM2ABQi/FJG0Ad5XK5uPFyGexOp5JSUhTo5a1ZigxDJwMDlZKUJBc9fKVw42WgdqCHDwBO4woO1tqEBMkwVFTBuqfaUxMSCHsAajV6+IA6is/SPTM+S7dq8Fm6QO1A4AOA8uTlSStWSPPmSRkZvy7v2FGaOFEaO1YKDfVbeQDgLQIfAFTENKUjR6SjR6WGDaXwcCZoADinEPgAAAAsjkkbAAAAFkfgAwAAsDgCHwAAgMUR+AAAACyOwAcAAGBxBD4AAACLI/ABAABYHIEPAADA4gh8AAAAFkfgAwAAsDgCHwAAgMUR+AAAACyOwAcAAGBxBD4AAACLI/ABAABYHIEPAADA4gh8AAAAFkfgAwAAsLhAfxcAAOck05RycqRjx6SQEKlJE8kw/F0VAJSJHj4A8EVenjR3rhQTIzVrJrVvX/w9JqZ4eV6evysEgFIIfBaXmJgowzBKff22LSQkRN27d9eaNWtKbfvCCy94ls2cOVOGYWjChAnatm2bDMNQjx49PO0HDx5UQECAQkJCau5Jos4zTVMul6vav9wbN8ps1Urm5MkyMzNL1pCZWby8VSu5N26s9lpM0/TT2QZwLmJI1+Lmzp2r5ORkzZ49Wxs3btS2bdtKtF9zzTVauXKl8vPztXr1ao0cOVIRERHq27evJKl169ZKTU3VfffdJ0lat26dWrduXWIf2dnZ+vbbb9W+fXutXbtWrVq10pEjR2rk+QGS5Ha7lZycXK3H6Lhvn0auWiXTNMv8S9n4XwArOn5cgUOHavWoUcqIjq62eqZMmSK73V5t+wdgLfTwWVxoaKgiIyMVEhKiwMBARUZGKjIy0tNut9sVGRmpDh066JFHHlFYWJg2bdrkab/wwgv1ww8/KCsrS3v27FFgYKA6dOhQ4hg333yz1q5dK0lau3athg8fXjNPDqghdqdT8ampUjlh73QBkmSaik9Nld3prIHqAKBiBD5IKh4Se+2115Sbm6v69euXaLvpppu0bt06paamlhnm4uPjtXbtWh04cEA///yzunXrVlNlAzXiovR0BRUUeP2GGSApqKBAsenp1VkWAHiNId06bvPmzQoJCZHL5dLJkyfVpk0bjRs3rsQ68fHxGj9+vPLy8vTqq69q8+bNJdqjo6NlmqaeeuqpSvfuud3uSj8HoFp/fkxTPdLSfN9MUlxamrbHxVXL7F232+25HhdA3Waz2Spch8BXx1155ZV66aWXlJWVpWnTpumZZ55RmzZtSqwTGxurnJwcNWjQoNRw7inDhw/Xww8/rF27dunjjz/2uY5Zs2ZVqn6gugXn5ys8N9fn7QIkhefmKtjplNPhqPK6UlJSqnyfAM5N06dPr3AdAl8d53A4FB0drejoaD355JO64YYbtGfPHjVo0KDEes8//7yCgoLK3U9iYqLCwsLUtWvXSgU+oLaynWXvoc3lqpbABwC+IPDB46qrrlKLFi2UkpKiRx99tERbv379zrhtVFSU7rnnnkofe+rUqZXeFnC5XNXW4+X2YqjkjNtX00zapKQkZukC8BqBz+J+/vlnOZ1OHTt2TCdPnlR2drYklZipe7rx48dr0qRJmjhxYk2W6dX1B0B5qvOedE6HQ0fCwtQ4N9enWW5FkvLCwuQMDq6Wumw2G783ALzGLF2LmzRpkqKiojRnzhzt3btXUVFRioqKKnf9hIQEBQUF6dlnn625IoHazDC0PS5Ovk6PMCSlVdOEDQDwlWFyu3YA5ziXy1WtN162O51KSklRoJe3ZikyDJ0MDFRKUpJc1dTDx42XAfiCHj4AqIArOFhrExIkw1BRBeueak9NSKi2sAcAvqKHD8A5zzTNGrmXo7Fli4JGjJDy84sfn/b2aZ4aunU4VLBmjcz+/au1FpvNxn34AHiNwAcAvsjLk1askObNkzIyfl3esaM0caI0dqwUGuq38gCgLAQ+AKgM05SOHJGOHpUaNpTCw5mgAaDWIvABAABYHJM2AAAALI7ABwAAYHEEPgAAAIsj8AEAAFgcgQ8AAMDiCHwAAAAWR+ADAACwOAIfAACAxRH4AAAALI7ABwAAYHEEPgAAAIsj8AEAAFgcgQ8AAMDiCHwAAAAWR+ADAACwOAIfAACAxRH4AAAALC7Q3wUAgOWYppSTIx07JoWESE2aSIbh76oA1GH08AFAVcnLk+bOlWJipGbNpPbti7/HxBQvz8vzd4UA6ijDNE3T30UAgL+Zpim3213p7Y0tWxQ0YoSUn1/8+LS3VvNU757DoYI1a2T271+pY9hsNhn0FAKoBAKfxRmGoWbNmungwYOy2WySpK5du+rmm2/WjBkztG3bNvXp06fUdkuXLlViYqIkaf/+/frTn/6kbdu2yel0qlOnTpowYYISExM1Y8YMPf744+Uef+vWrbr66qur46kBVcrlcik5OblS23bct08jV62STPOMwyZFkmQYWj1qlDKio30+zpQpU2S32ytVI4C6jSHdOiAnJ0fr1q0rs613797KysrS9u3bJUmbN29WVlaWEhISJEknT57U9ddfL7fbrbfeeksff/yxHnjgAf3www+SpD/+8Y/KyspSVlaWFi5cKEmex1lZWerdu3cNPEPAf+xOp+JTUysMe9L/3nBNU/GpqbI7nTVQHQAUY9JGHTBo0CDNnz9fo0aNKtVms9kUGRmpEydOSJKaNGmiyMhIT/uXX36pPXv2aNOmTerQoYMkqVOnTp72kJAQhYSESJIaN24sSSW2B6zuovR0BRUUyNuB1gBJQQUFik1P1/aePauzNADwIPDVAQkJCXrggQf02WefqXv37j5t26hRI0nSpk2bdP/991dHeZJ0VtdOAVWhUj+DpqkeaWm+byYpLi1N2+PifJq963a7uYYPQCmnLtk6EwJfHWC323XHHXdo/vz5WrRokU/btmvXTo899pgeeOAB/fWvf1WfPn100003adiwYVVa46xZs6p0f0BNCM7PV3hurs/bBUgKz81VsNMpp8Ph9XYpKSk+HwuA9U2fPr3CdbiGr4645557lJqaqtxK/Of0+OOP68CBA3r00Ud18uRJJSQk6NZbb62GKoFzi+0se6ZtLlcVVQIAZ0YPXx3Rrl079enTR0uXLq3U9q1atdLdd9+tu+++W2+88YYGDhyoGTNmqGPHjlVS39SpU6tkP0BluVwun3vQ3F4Mo5xxex9n3CYlJTFLF0ClEPjqkPHjx2vChAlejfWfSUxMjCTp2LFjVVGWJO+uPwCqU2XuUOV0OHQkLEyNc3N9Gi4pkpQXFiZncLBPx7PZbPyuAKgUhnTrkGuvvVaGYWjv3r2eZW63W9nZ2Tp8+LCk4lu4ZGdny/m/W0YcOHBAgwYN0quvvqqMjAx98sknmjBhgtq0aaPOnTv75XkAtYZhaHtcnNczdD2bSUrzccIGAJwNAl8dYhiG7r33XhUWFnqWffjhh4qKilKPHj0kSQMGDFBUVJRSU1MlSeHh4WrZsqUmT56sLl26aODAgbLb7dq8eTM9DYCkz2NjVRAUVHxTZS8UGYYKgoKUHhtbrXUBwOn4pA0AUM1+0saqUaOUySdtAKhBBD4AEJ+lC8DaCHwAUFXy8qQVK6R586SMjF+Xd+woTZwojR0rhYb6rTwAdReBDwCqmmlKR45IR49KDRtK4eFM0ADgVwQ+AAAAi2OWLgAAgMUR+AAAACyOwAcAAGBxBD4AAACLI/ABAABYHIEPAADA4gh8AAAAFkfgAwAAsDgCHwAAgMUR+AAAACyOwAcAAGBxBD4AAACLI/ABAABYHIEPAADA4gh8AAAAFkfgAwAAsDgCHwAAgMUR+AAAACwu0N8FAACAcpimlJMjHTsmhYRITZpIhuHvqnAOoocPAIDaJi9PmjtXiomRmjWT2rcv/h4TU7w8L8/fFeIcY5imafq7CPjXjBkz9I9//EO7d+8u1ZaYmKjly5dr/fr1uuGGGyRJs2fP1vPPP6/9+/dLktq1a6cDBw6U2jYrK0uRkZHVWTpgOaZpyu12+7sM+JGxZYuCRoyQ8vOLH5/237R5qnfP4VDBmjUy+/f3R4moBWw2mwwfensZ0kWFAgICNH/+fE/gK8tjjz2me++9t8SyiIiIaq4MsB63263k5GR/lwE/6bhvn0auWiXTNMscgjsV/oqOH1fg0KFaPWqUMqKja7ZI1ApTpkyR3W73en2GdFGhK664Qjt27NDevXvLXadhw4aKjIws8RUQwI8XAHjL7nQqPjVVKifsnS5AkkxT8ampsjudNVAdznX8j4wKhYSE6NZbb9ULL7zg71IAwLIuSk9XUEGB1/8xB0gKKihQbHp6dZYFi2BIF16577771KtXLz311FNltk+bNk0zZszwPG7ZsuUZewR/i2uWgGL8LtRRpqkeaWm+byYpLi1N2+PimL1bx7jdbs81fDabrcL1CXzwSufOnfW73/1OL7/8cpntSUlJuuOOOzyPAwN9+9GaNWvWWdUHAOey4Px8hefm+rxdgKTw3FwFO51yOhxVXxhqrZSUFM+/p0+fXuH6DOnCa+PHj9f8+fPLbGvSpImio6M9X+3atavZ4gDgHGY7y55dm8tVRZXAqujhg9eGDRumSZMm6b333qvyfU+dOrXK9wmci1wuV4m/3FE3uL0Ykjvj9j7M1oQ1JCUl+TRLl8AHSdKJEyf0+eefl1jWqFGjEo/r1auncePGacaMGWrVqlWJtqNHjyo7O7vEsiZNmigoKMir43tz/QFQF3Br1LrJ6XDoSFiYGufm+jT0ViQpLyxMzuDg6ioNtZTNZvPp/06GdCFJysjIUPfu3Ut83XfffaXWu+uuu1SvXr1Sy5944glFRUWV+Prkk09qonQAOPcZhrbHxcnXaReGpDQmbMAL9PBBM2bMKDHD9kyaN28u12+uFTn1iRsAgMr7PDZWfd9+W4Fe3pqlyDB0MjBQ6bGx1V4bzn308AEAUAu4goO1NiFBMgwVVbDuqfbUhAS5GM6FF/gsXQCoRfgsXfBZuvCGr5+lS+ADAKC2ycuTVqyQ5s2TMjJ+Xd6xozRxojR2rBQa6rfycO4h8AEAUFuZpnTkiHT0qNSwoRQezgQNVAqBDwAAwOKYtAEAAGBxBD4AAACLI/ABAABYHIEPAADA4gh8AAAAFkfgAwAAsDgCHwAAgMUR+AAAACyOwAcAAGBxBD4AAACLI/ABAABYHIEPAADA4gh8AAAAFkfgAwAAsDgCHwAAgMUR+AAAACyOwAcAAGBxgf4uAABqNdOUcnKkY8ekkBCpSRPJMPxdFQD4hB4+AChLXp40d64UEyM1aya1b1/8PSameHlenr8rBACvWTrw5ebmauDAgWrQoIEMw9C2bdtKrRMSEqJly5bVSD2DBw9WYmJitex7y5YtOu+881SvXj21a9euVLs35wKwItM05XK5fPpyb9wos1UrmZMny8zMLLm/zMzi5a1ayb1xo8/7Nk3TT2cCQF1m6SHdBQsWaPfu3fr4448VFham8PDwUutkZmaqYcOGfqiuak2YMEF9+vTR1q1bZbPZSrV7cy7OlmEYWrdunW6++eYq3zdQWW63W8nJyV6v33HfPo1ctUqmaZb5F7Hxv8BWdPy4AocO1epRo5QRHe31/qdMmSK73e71+gBQFSzdw5eRkaFu3bqpc+fOioyMLDMIRUREKDg42A/VVa2MjAxdc801atmypZo1a1Zme0XnAqjr7E6n4lNTpXLC3ukCJMk0FZ+aKrvTWQPVAUDlWTLwJSYmyjAMLV68WK+//roMwyg1jBkdHe1Z/tsh3b179yokJERbtmzxLHvuuefUsmVL5eTkeJatW7dOXbt2VXBwsLp06aK1a9eW2M/GjRsVHR0th8OhW2+9VQUFBT4/l61btyouLk7169dXTEyMnnvuuRLtp55DYWGh4uPjZRhGiSFdb85Fenq6+vXrJ4fDobZt2+qxxx7TyZMnSxzn7bffVu/evRUcHKzIyEjdfffdpWqQpOHDh3se79+/3+fnC/jTRenpCioo8PqNMUBSUEGBYtPTq7MsADhrlhzSnTt3rpKTkzVp0iQdOXJEK1eulKQSw5j/+c9/dPLkSXXs2LHU9p06ddLs2bN12223adeuXfrxxx81depUbdiwQU2aNJFUHMTGjh2rBQsW6PLLL1daWprGjBmjtm3bKi4uTocPH1Z8fLwmTZqkxMRELVq0SH//+981evRor5/H119/rYEDB+qpp57S6tWrtXfvXo0ZM0bNmzdXfHy8JCkrK0uSFBUVpYULF2rw4MGqV6+e1+ciJydHffv21Z133qkFCxYoKytLt912m0JCQvSnP/1JkvTll19qwIABmjhxohYtWqTjx4/rb3/7m+cYZdUgqcyexvK43W6v1wV84fXPlmmqR1qaz/s3JcWlpWl7XJxXs3fdbrfnDyQAqArejNoZpoWvIE5MTNRPP/2kjRs3lrtOSEiInn/++TInUwwbNkzBwcHKzMzUFVdcoTlz5nja+vTpox49eugvf/mLZ1l8fLzCw8O1YMECzZs3T7NmzdL333+vgIAAFRYWqmXLlhowYIDXk0Ruu+025efnKzU11bPsT3/6k3bu3KnNmzeXWLei6+fKOxePP/64Xn/9daWd9h/dCy+8oHnz5mnPnj2SpLFjx+rbb7/Vu+++e8Z6z+Yavscff9znbYCqFHz8uP709NOV3v6vf/qTnA5HFVYEAN6ZPn16hetYsoevqixevFjnn3++IiIi9NRTT5Vo27lzpz766CPNnz/fs8ztduvqq6+WVHzN3Pnnn6+AgOLBoXr16un888/36fg7d+7Url27FBIS4llWUFCgtm3bVvIZlX2MTz/9tMQxCgsLVVhY6Hm8e/duXX/99VV2TKA2sp1lL7PN5SLwAai1CHxn8NVXXyk/P18HDx7UwYMHSw3/zpgxo1Rv1ukTQKpi2GbcuHGaNGlSiWVBQUFnvd/TDR48WE+foWfDNM1qH4KaOnVqte4fdZfL5VJKSkqF67nPciKT28uZt0lJSczSBVDjCHzlyMvL0+jRo5WcnKyvvvpKI0eO1AcffKDAwOJT1q1bN2VmZiq6nNsxREdHa+3atSoqKvIM6e7Zs6fMe+SVp1u3btq7d2+5x6gK3bp1U2pqqjp06ODpjSxrnffee6/CfQUFBZWa7OEtZg2junh71YrT4dCRsDA1zs31aTZbkaS8sDA5vZztb7PZ+HkHUOMsOUu3Ik6nU9nZ2crOzpZpmvr555+VnZ2tw4cPe9YZN26cYmJidP/992vOnDnKy8vTjBkzPO2PPfaYli1bptmzZ+vrr7/Wjh079OSTT+rll1+WJN1yyy365ZdfNG3aNO3du1dTp07VTz/95FOdU6dO1TvvvKMpU6boyy+/VHp6up599lk988wzVXIepOL79/3444+64447lJ6eri+//FKLFi3StGnTPOs89NBD+uCDD/Tggw/qq6++0meffab777+/1L6io6P12muvKTc3VydOnOAGszi3GIa2x8XJ175sQ1KalxM2AMBf6mTgS01NVVRUlKKiopSfn68HHnhAUVFRuvTSSyVJy5Yt01tvvaVly5bJMAw5HA6tXLlSs2fP9kxc6Nu3r1avXq1Vq1apW7duGjRokLZv365OnTpJkpo2baq1a9dq7dq1uuiii5SVlaV+/fr5VGenTp20efNmvffee/rd736nPn366LXXXtMFF1xQZeeiadOmevvtt3Xo0CFddtll6tWrl5YuXVriGBdccIE2b96s999/XxdffLEGDBig/Pz8Uvt69tln9emnn3rubXjgwIEqqxOoCZ/HxqogKEhFXq5fZBgqCApSemxstdYFAGfL0rN0AcDlclXqkzYquvlykSQZhlaNGqVMPmkDQC1H4ANgaaZp+nyfR2PLFgWNGCH9ryfbOO1t0jw1dOtwqGDNGpn9+/u0b5vNxn34ANQ4Ah8AlCUvT1qxQpo3T8rI+HV5x47SxInS2LFSaKjfygMAXxD4AOBMTFM6ckQ6elRq2FAKD2eCBoBzDoEPAADA4urkLF0AAIC6hMAHAABgcQQ+AAAAiyPwAQAAWByBDwAAwOIIfAAAABZH4AMAALA4Ah8AAIDFEfgAAAAsjsAHAABgcQQ+AAAAiyPwAQAAWByBDwAAwOIIfAAAABZH4AMAALA4Ah8AAIDFEfgAAAAsjsAHAABgcYH+LgAA/MY0pZwc6dgxKSREatJEMgx/VwUAVY4ePi/99NNPMgxD27Zt83cpZcrNzdXAgQPVoEGDcuucPXu2mjdvLsMwlJiYWOM1ArVGXp40d64UEyM1aya1b1/8PSameHlenr8rBIAqRQ+fRSxYsEC7d+/Wxx9/rLCwMIWHh5doP3TokB566CEtXLhQAwcOVHBwcJXXkJiYqJ9++kkbN26s8n3DukzTlNvtrrHjGVu2KGjECCk/v/jx6bVkZkqTJ0vTpqlgzRqZ/fvXWF02m00GvYsAqgmBzyIyMjLUrVs3de7cucz2zMxMFRUVaciQIWrWrFkNVweUz+12Kzk5uUaO1XHfPo1ctUqmaZY5vGGYpiSp6PhxBQ4dqtWjRikjOrpGapsyZYrsdnuNHAtA3XPODunOmDFDXbt21fr16xUTE6P69eurZ8+ekqScnBzdcsstatmypex2uzp16qTFixeX2L5du3aaNm2ahg4dKofDoUsuuUT79u3ztBcWFmrSpElq1KiRWrRoodWrV5eq4d///re6d+8uu92utm3b6vnnn/e0LVu2TLGxsYqLi1N0dLQWLFig1q1bKy4uTr/88ovXzzMnJ0djxoxReHi4mjRpopEjR+qnn37ytCcmJsowDC1evFivv/66DMMoMaS7bds2GYahK664QpIUERFRakjX6XRq4sSJat68uUJDQzVo0CDt37+/RB2HDx/W2LFj1bRpU4WEhKhPnz7atWtXiRqWL1+uTZs2eWqYMWOG188TqG52p1PxqalSOWHvdAGSZJqKT02V3emsgeoAoHqds4FPkn744QfNmTNHS5Ys0c6dOzVy5EhJ0rFjx9SqVSv94x//0J49e/TQQw/p7rvv1rvvvlti+4ULF+r222/Xjh07VFBQoClTpnjaXnzxRa1cuVJr167Vpk2btHz58hLb5uTkaNiwYbryyiu1c+dOPfbYY5o8ebLefvttzzoHDhzQwoUL1apVK82ePVtvvfWWcnNz9frrr3v9HG+++WYdPnxY//73v/XOO+8oLy9PY8aM8bTPnTtXWVlZio+P1zXXXKOsrCxlZWWpd+/ekqTevXsrKytL//znPyVJX3zxhbKysjR37lzPPu6991795z//0YYNG7Rjxw5FRERoyJAhKiws9Kxz4403ateuXXrllVf06aefKiEhwRMKy6vhj3/8o9fPE6huF6WnK6igwOs3vQBJQQUFik1Pr86yAKBGnNNDujk5OVq+fLk6duwoSTrvvPMkSW3bttXTTz/tWa99+/aaP3++Nm/erCuvvNKzfNiwYbrhhhskFfdSPfvss562JUuW6K677tKAAQMkSY8//riGDBniaV+9erUcDofmzJmjwMBAderUSZs2bdKLL76ofv36SZLOP/98XXjhherZs6f279+vzp076+KLL9Z3333n1fN755139MEHH+jw4cMKDQ2VVDzxokuXLsrOzlZkZKRCQ0MVGhqq4OBg2e12RUZGltiHzWZTZGSk55q+iIgINW3a1NO+f/9+rVixQl988YVnOPi5555To0aNtGPHDvXs2VNbt27Vhx9+qG+++abUuZZUYQ3eqMlruFC71Mhrb5rqkZbm+2aS4tLStD0urtpn77rdbq7hA1ApNputwnXO6cDXokULTwA5XWFhoZKTk7VmzRodPHhQBQUFcjqduuyyy0qsd/q2YWFhOnLkiOdxRkaGJk2a5HnctWvXEtvu27dPnTt3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l8tVZb1h7rOcUOWuwlm1SUlJzNIFUKVqXeDLy8vT6NGjlZycrK+++kojR47UBx98oMDA4lK7deumzMxMRZdzG4To6GitXbtWRUVFCggIUGFhofbs2VPmPfLK061bN+3du7fcY1SFbt26KTU1VR06dPD0Rpa1znvvvVfhvoKCgkpN9vBGu3btFBERoZSUFPXr109RUVFasmSJ8vLydPHFF5dYNyQkRP/973/L3Vfbtm1155136s4779TAgQP1f//3fz4FvnNt9jJqh6q8X53T4dCRsDA1zs31aTZbkaS8sDA5q3Amu81m43cCQJWq0U/acDqdys7OVnZ2tkzT1M8//6zs7GwdPnzYs864ceMUExOj+++/X3PmzFFeXp5mzJjhaX/ssce0bNkyzZ49W19//bV27NihJ598Ui+//LIk6ZZbbtEvv/yiadOmae/evZo6dap++uknn+qcOnWq3nnnHU2ZMkVffvml0tPT9eyzz+qZZ56pkvMgFfeK/fjjj7rjjjuUnp6uL7/8UosWLdK0adM86zz00EP64IMP9OCDD+qrr77SZ599pvvvv7/UvqKjo/Xaa68pNzdXJ06c8Ok/wZ49e+qll17Stddeq+uuu04LFixQ9+7dVb9+/RLr/e53v1NaWpo++ugjZWdny+VyedomT56sN998U99++622bt2qTz75xHM9H3DOMAxtj4uTr33qhqS0KpywAQDVoUYDX2pqqqKiohQVFaX8/Hw98MADioqK8kxEWLZsmd566y0tW7ZMhmHI4XBo5cqVmj17tt59911JUt++fbV69WqtWrVK3bp106BBg7R9+3Z16tRJUvGkkLVr12rt2rW66KKLlJWV5dP1aFLxbOHNmzfrvffe0+9+9zv16dNHr732mi644IIqOxdNmzbV22+/rUOHDumyyy5Tr169tHTp0hLHuOCCC7R582a9//77uvjiizVgwADl5+eX2tezzz6rTz/91HNvwwMHDnhdR69evVRUVKTLLrtMnTp1UpMmTdSzZ89S640ePVo333yzrr32WkVFRemNN97wtBUVFem+++5T586dNXr0aI0cOVIPPvigj2cE8L/PY2NVEBSkIi/XLzIMFQQFKT02tlrrAoCzZZh8hg+Ac5TL5aq2T9qo6ObLRZJkGFo1apQy+aQNALUcgQ/AOcs0zWq5h6OxZYuCRoyQ/tejbpz2NmmeGrp1OFSwZo3M/v2r/Pg2m4378AGoUgQ+AChLXp60YoU0b56UkfHr8o4dpYkTpbFjpdBQv5UHAL4g8AHAmZimdOSIdPSo1LChFB7OBA0A5xwCHwAAgMXV6CxdAAAA1DwCHwAAgMUR+AAAACyOwAcAAGBxBD4AAACLI/ABAABYHIEPAADA4gh8AAAAFkfgAwAAsDgCHwAAgMUR+AAAACyOwAcAAGBxBD4AAACLI/ABAABYHIEPAADA4gh8AAAAFkfgAwAAsDgCHwAAgMUF+rsAAPAb05RycqRjx6SQEKlJE8kw/F0VAFS5Wt/D99NPP8kwDG3bts3fpZQpNzdXAwcOVIMGDcqtc/bs2WrevLkMw1BiYmKN13g2tm3bJsMwPF8//fSTv0sCzl5enjR3rhQTIzVrJrVvX/w9JqZ4eV6evysEgCpFD99ZWrBggXbv3q2PP/5YYWFhCg8PL9F+6NAhPfTQQ1q4cKEGDhyo4ODgKq8hMTFRP/30kzZu3Fjl++7du7eysrL04Ycf6qabbqry/aPuME1Tbrfb32XI2LJFQSNGSPn5xY9PazMzM6XJk6Vp01SwZo3M/v39U+RpbDabDHodAZwlAt9ZysjIULdu3dS5c+cy2zMzM1VUVKQhQ4aoWbNmNVzd2bPZbIqMjCwVZAFfud1uJScn+7WGjvv2aeSqVTJNs8zhDcM0JUlFx48rcOhQrR41ShnR0TVb5G9MmTJFdrvdrzUAOPf5PKQ7Y8YMde3aVevXr1dMTIzq16+vnj17SpJycnJ0yy23qGXLlrLb7erUqZMWL15cYvt27dpp2rRpGjp0qBwOhy655BLt27fP015YWKhJkyapUaNGatGihVavXl2qhn//+9/q3r277Ha72rZtq+eff97TtmzZMsXGxiouLk7R0dFasGCBWrdurbi4OP3yyy9eP8+cnByNGTNG4eHhatKkiUaOHFliODMxMVGGYWjx4sV6/fXXPUOep4Z0Tw2FXnHFFZKkiIiIUkO6TqdTEydOVPPmzRUaGqpBgwZp//79Jeo4fPiwxo4dq6ZNmyokJER9+vTRrl27StSwfPlybdq0yVPDjBkzvHqOo0eP1vjx48tsu/baa/XEE094tR/TNPXoo4+qdevWql+/vmJiYkq8JkBtYHc6FZ+aKpUT9k4XIEmmqfjUVNmdzhqoDgCqV6Wu4fvhhx80Z84cLVmyRDt37tTIkSMlSceOHVOrVq30j3/8Q3v27NFDDz2ku+++W++++26J7RcuXKjbb79dO3bsUEFBgaZMmeJpe/HFF7Vy5UqtXbtWmzZt0vLly0tsm5OTo2HDhunKK6/Uzp079dhjj2ny5Ml6++23PescOHBACxcuVKtWrTR79my99dZbys3N1euvv+71c7z55pt1+PBh/fvf/9Y777yjvLw8jRkzxtM+d+5cZWVlKT4+Xtdcc42ysrKUlZWl3r17S/p1KPSf//ynJOmLL75QVlaW5s6d69nHvffeq//85z/asGGDduzYoYiICA0ZMkSFhYWedW688Ubt2rVLr7zyij799FMlJCR4QmF5Nfzxj3/06jn26tVLO3bsKLPtk08+Ua9evbzazyuvvKLZs2frxRdf1J49e/S3v/1NISEhXm0L1JSL0tMVVFDg9ZtegKSgggLFpqdXZ1kAUCMqNaSbk5Oj5cuXq2PHjpKk8847T5LUtm1bPf3005712rdvr/nz52vz5s268sorPcuHDRumG264QVJxL9Wzzz7raVuyZInuuusuDRgwQJL0+OOPa8iQIZ721atXy+FwaM6cOQoMDFSnTp20adMmvfjii+rXr58k6fzzz9eFF16onj17av/+/ercubMuvvhifffdd149v3feeUcffPCBDh8+rNDQUEnFEy+6dOmi7OxsRUZGKjQ0VKGhoQoODpbdbldkZGSJffx2KDQiIkJNmzb1tO/fv18rVqzQF1984RkOfu6559SoUSPt2LFDPXv21NatW/Xhhx/qm2++KXWuJVVYQ0V69eqlpKQkud1uHTp0SA8//LCWLl2q77//Xnl5eerRo4dX+9m/f78aN26sAQMGKDAwUO3atfOpDkm14touVC+/vsamqR5pab5vJikuLU3b4+L8NnvX7XZzDR+AM7LZbBWuU6nA16JFC08AOV1hYaGSk5O1Zs0aHTx4UAUFBXI6nbrssstKrHf6tmFhYTpy5IjncUZGhiZNmuR53LVr1xLb7tu3T507d1Zg4K+lX3jhhdqwYYPncf369T3fT/+308uhmZ07d+rkyZNq2bJlqbbMzEyfg1VZdu3aJdM0demll5ZYbpqmMjMz1bNnT+3evbvcc10VLrzwQgUFBWnXrl3avn27NmzYoDvuuEM5OTm64IILPGG3IjfeeKNmz56tmJgY9e/fX1deeaXi4+O9+gE8ZdasWZV9GkCFgvPzFZ6b6/N2AZLCc3MV7HTK6XBUfWFeSElJ8ctxAZw7pk+fXuE6lQp8jRs3LnN5SkqKZs+ereeff17du3eXzWbT8OHDVVRUVPKggSUPa/7vQulTKvpr9rftpml69Rfwb49zJpGRkaWGoiWVGQIrKyAgQB9//HGp89G8eXNJ3j+vygoMDNQll1yiHTt26O2331ZSUpK2bNmioqIir4dzJalDhw7KyMjQ22+/rW3btun+++/XqlWr9MYbb1Rb7YAvbGfZu2hzufwW+ACgKlTpLN13331Xw4YN06hRoyRJJ06c0HfffVeqh+9MoqOj9cUXX3ge7969u0R7x44dtWbNGp08edITlHbt2lWlvWDdunXTjz/+KLvdrtatW1fZfk/XtWtXmaapI0eOeK77K6uO77//XpmZmerQoUO5+7LZbDp58mSl6ujVq5e2b9+uvXv36qWXXtL111+vBg0a6NZbby2x3qlr8srrJXU4HBoyZIiGDBmiuLg4JSQk6MSJE54e1opMnTq1UvXj3OFyufzWW+X2obe5zO39OEs2KSmJWboAzlqVBr6YmBi98sor2r59uxo0aKCZM2f6fN3OnXfeqWnTpqlv376KiIgo1U05cuRIPfzww/rDH/6g8ePH6/3339drr73m04SMilx99dW67LLLNHz4cP31r39Vy5YttWvXLqWmpurvf/97lRyjffv2Gj16tG677TbNnTtX5513nr7++mutXLlSzz//vMLCwtSnTx/17t1b8fHxSklJUYsWLfT++++rWbNmGjRokGdf0dHRWr9+vfbs2aN27dopMDCwVK9heXr16qXRo0frxhtvVHh4uAIDA7V9+3a98MILJdbr1KmTQkJCtHDhQt17770KDg729PSuWLFCbrdbvXv3VkBAgFJTUz0zuL3ly/Avzk2+9LBXNafDoSNhYWqcm+vTTLUiSXlhYXJWw/0zvWWz2fj9AHDWqvSTNh599FFdfPHF6tevn6655hpdfPHFiouL82kfd999t2699VYNHz5cAwcO1NixY0u0N23aVOvXr9e2bdvUtWtXzZgxQ3PmzFH/Kr5B6iuvvKLOnTvrpptuUteuXTVt2rQz9rJVxoIFCzRw4EDdfvvt6ty5s+6//36FhYWVuDnz+vXr1aVLF/3+979XbGyslixZojZt2pTYz1133aUePXqoR48eCg4O1syZM72uoVevXjp69KiuvfZaSVL//v0VFBSkTp06lVivYcOGWrx4sZYtW6YWLVqUuL1M48aNtWjRIvXs2VNxcXE6evSoXnnllUqcEaCaGIa2x8XJ1wskDElpfpywAQBVxTD9+Wc3gDrD5XL59cbLdqdTSSkpCvTy1ixFhqGTgYFKSUqSy489fNx4GUBVqPWfpQsAVcEVHKy1CQmSYaiognVPtacmJPg17AFAVaGHD0CNqLWfpXvaW6B5aujW4eCzdAFYCoEPQN2TlyetWCHNmydlZPy6vGNHaeJEaexYycv7UALAuYDAB6DuMk3pyBHp6FGpYUMpPJwJGgAsicAHAABgcUzaAAAAsDgCHwAAgMUR+AAAACyOwAcAAGBxBD4AAACLI/ABAABYHIEPAADA4gh8AAAAFkfgAwAAsDgCHwAAgMUR+AAAACyOwAcAAGBxBD4AAACLI/ABAABYHIEPAADA4gh8AAAAFkfgAwAAsDgCHwAAgMUR+AAAACwu0N8FAKZp6ujRo/4uAwCAc1bDhg1lGEa57QQ++N3Ro0cVGhrq7zIAADhn/fzzz2rUqFG57YZpmmYN1gOUci728P3yyy9q3bq1/vvf/57xFwzVg/PvX5x//+L8+19tfA3o4UOtZxhGrfmF8VWjRo3O2dqtgPPvX5x//+L8+9+59BowaQMAAMDiCHwAAAAWR+ADKsFut2v69Omy2+3+LqVO4vz7F+ffvzj//ncuvgZM2gAAALA4evgAAAAsjsAHAABgcQQ+AAAAiyPwAQAAWByBDziD77//XqNHj1aTJk3kcDh00UUX6ZNPPvG0m6apGTNmqEWLFgoODtbVV1+tL774wo8VW8uZzn9BQYEeeughdevWTQ0aNFCLFi00ZswYHTp0yM9VW0dFP/+nGzdunAzD0LPPPluzRVqcN6/BV199paFDhyo0NFQNGzZUz5499d133/mpYmup6PwfO3ZMEyZMUKtWrRQcHKzOnTvrxRdf9GPF5eOTNoBy5Obm6rLLLlOfPn30xhtvKCIiQhkZGWrcuLFnnb/+9a9KSUnRsmXLdN5552nmzJnq37+/9u7dq4YNG/qveAuo6Pzn5+fr008/1aOPPqrY2Fjl5ubqgQce0NChQ/Xxxx/7t3gL8Obn/5QNGzYoLS1NLVq0qPlCLcyb1yAjI0OXX3657rjjDj3++OMKDQ3VV199pfr16/uvcIvw5vxPnjxZW7du1csvv6x27drprbfe0n333acWLVpo2LBh/iu+LCaAMj300EPm5ZdfXm57UVGRGRkZaSYnJ3uWnThxwgwNDTUXLFhQEyVaWkXnvyzbt283JZkHDhyopqrqDm/P/8GDB82WLVuau3fvNtu2bWs+88wz1V9cHeHNa5CQkGCOHj26hiqqW7w5/126dDGfeOKJEssuvvhi85FHHqnO0iqFIV2gHK+++qouueQSDR8+XBEREerevbsWLlzoaf/222+VnZ2ta6+91rPMbrfrqquu0ocffuiPki2lovNflp9//lmGYZTZCwXfeHP+i4qKdOutt+rBBx9Uly5d/FSpdVX0GhQVFWnTpk0677zzdN111ykiIkJxcXHasGGD/4q2EG9+By6//HK9+uqr+v7772WaprZu3aqvv/5a1113nZ+qPgN/J06gtrLb7abdbjenTp1qfvrpp+aCBQvM+vXrm8uXLzdN0zQ/+OADU5L5/fffl9jurrvuMq+99lp/lGwpFZ3/33I6nebvfvc7c9SoUTVcqTV5c/6feuops3///mZRUZFpmiY9fFWsotcgKyvLlGQ6HA4zJSXF/Oyzz8xZs2aZhmGY27Zt83P15z5vfgdcLpc5ZswYU5IZGBho2mw2c8WKFX6sunwEPqAcQUFBZq9evUosu//++82ePXuapvlr4Dt06FCJde68807zuuuuq7E6raqi8386t9ttDhs2zOzevbv5888/11SJllbR+f/444/N5s2bl/iDh8BXtSp6Db7//ntTknnLLbeUWGfIkCHmiBEjaqxOq/LmPejpp582zzvvPPPVV18109PTzeeee84MCQkxt2zZUtPlVoghXaAcUVFRuuCCC0os69y5s2f2W2RkpCQpOzu7xDo//vijmjdvXjNFWlhF5/+UgoICxcfH69tvv9WWLVvUqFGjmizTsio6/++9955+/PFHtWnTRoGBgQoMDNSBAwf0hz/8Qe3atfNDxdZT0WvQtGlTBQYGevV7At9VdP6dTqcefvhhpaSkaMiQIbrwwgs1YcIEJSQkaPbs2f4o+YwIfEA5LrvsMu3du7fEsq+//lpt27aVJLVv316RkZHasmWLp93tduudd95R7969a7RWK6ro/Eu/hr1vvvlG//rXv9SkSZOaLtOyKjr/t956q3bu3KnPP//c89WiRQs9+OCDevPNN/1RsuVU9BrYbDZdeumlFf6eoHIqOv8FBQUqKChQQEDJKFWvXj0VFRXVWJ1e83cXI1Bbbd++3QwMDDT//Oc/m9988425atUq0+FwmC+//LJnneTkZDM0NNR85ZVXzF27dpm33HKLGRUVZf7yyy9+rNwaKjr/BQUF5tChQ81WrVqZn3/+uZmVleX5crlcfq7+3OfNz/9vMaRbtbx5DV555RUzKCjIfOmll8xvvvnGfO6558x69eqZ7733nh8rtwZvzv9VV11ldunSxdy6dauZmZlpLl261Kxfv775wgsv+LHyshH4gDN47bXXzK5du5p2u908//zzzZdeeqlEe1FRkTl9+nQzMjLStNvt5pVXXmnu2rXLT9Vaz5nO/7fffmtKKvNr69at/ivaQir6+f8tAl/V8+Y1WLx4sRkdHW3Wr1/fjI2NNTds2OCHSq2povOflZVlJiYmmi1atDDr169vdurUyZwzZ45nIlNtYpimafqzhxEAAADVi2v4AAAALI7ABwAAYHEEPgAAAIsj8AEAAFgcgQ8AAMDiCHwAAAAWR+ADAACwOAIfAACAxRH4AAAALI7ABwAAYHEEPgAAAIsj8AEAAFjc/wOIBjj0HNcjLQAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 600x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "res2_DL = combine_effects(eff, var_eff, method_re=\"dl\", use_t=True, row_names=rownames)\n",
    "print(\"method RE:\", res2_DL.method_re)\n",
    "print(res2_DL.summary_frame())\n",
    "fig = res2_DL.plot_forest()\n",
    "fig.set_figheight(6)\n",
    "fig.set_figwidth(6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "method RE: pm\n",
      "                         eff    sd_eff     ci_low     ci_upp      w_fe      w_re\n",
      "PTB                61.000000  0.450000  60.118016  61.881984  0.057436  0.125857\n",
      "NMi                61.400000  1.100000  59.244040  63.555960  0.009612  0.059656\n",
      "NIMC               62.210000  0.300000  61.622011  62.797989  0.129230  0.143658\n",
      "KRISS              62.300000  0.450000  61.418016  63.181984  0.057436  0.125857\n",
      "LGC                62.340000  0.620000  61.124822  63.555178  0.030257  0.104850\n",
      "NRC                62.600000  0.750000  61.130027  64.069973  0.020677  0.090122\n",
      "IRMM               62.700000  0.260000  62.190409  63.209591  0.172052  0.147821\n",
      "NIST               62.840000  0.150000  62.546005  63.133995  0.516920  0.156980\n",
      "LNE                65.900000  1.350000  63.254049  68.545951  0.006382  0.045201\n",
      "fixed effect       62.583397  0.107846  62.334704  62.832090  1.000000       NaN\n",
      "random effect      62.407620  0.338030  61.628120  63.187119       NaN  1.000000\n",
      "fixed effect wls   62.583397  0.189889  62.145512  63.021282  1.000000       NaN\n",
      "random effect wls  62.407620  0.338030  61.628120  63.187120       NaN  1.000000\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/usr/lib/python3/dist-packages/statsmodels/stats/meta_analysis.py:105: UserWarning: `use_t=True` requires `nobs` for each sample or `ci_func`. Using normal distribution for confidence interval of individual samples.\n",
      "  warnings.warn(msg)\n"
     ]
    },
    {
     "data": {
      "image/png": "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adOmvPvuu4SGhhIfH+/VPiobQqX2qql7zjkdDo6EhdE4N9enWWhFQF5YGM4anKVrs9n0sy4ifqFZunWIYRjce++9FBYWepZ9+OGHREVF0aNHDwAGDBhAVFQUqampXu+3YcOGvPvuu7Rs2ZKhQ4dy0UUX8eKLL9KiRYsqfw4ipRgG2+Pi8HUqhAGk1eCEDRERfzJM3fpdRKqBy+WqsRsv251OklJSCPTy1ixFhsHJwMAavw+fbrwsIv6iHj4ROee5goNZm5AAhkFRBeueak9NSNBNl0WkzlAPn4hUC9M0a/z+isaWLQSNGAH5+cWPT3t7M08N3TocFKxZg9m/f43WBsXX8Ok+fCLiDwp8ImIteXmwYgXMmwcZGb8u79gRJk6EsWPhtM+KFhGpCxT4RMSaTBOOHIGjR6FhQwgP1wQNEamzFPhERERELE6TNkREREQsToFPRERExOIU+EREREQsToFPRERExOIU+EREREQsToFPRERExOIU+EREREQsToFPRERExOIU+EREREQsToFPRERExOIU+EREREQsToFPRERExOIU+EREREQsToFPRERExOIU+EREREQsToFPRERExOIU+EREREQsLtDfBYiI1BjThJwcOHYMQkKgSRMwDH9XJSJS7dTDJyLWl5cHc+dCTAw0awbt2xd/j4kpXp6X5+8KRUSqlWGapunvIqRy9u/fT/v27dmxYweXXHIJAAcOHOCKK65g0KBBOJ1Oli9fDkCDBg2IiYnhoYceYsSIEZ59tGvXjgMHDpTY71VXXcW2bdsAKCws5K9//SuLFy/m+++/JzIykiuvvJIlS5ZQr149AN59912mTZtGeno6drud2NhYZs6cSc+ePWvgLEhNM00Tt9vt7zK8ZmzZQtCIEZCfX/z4tLc881TvnsNBwZo1mP37+6NEn9lsNgz1TIqIDzSkayGHDh2ib9++9OvXjxdeeIHbbruNa665hpUrV5Kfn8/q1asZOXIkERER9O3bF4AdO3ZQWFjI73//e84//3yeeuopbDabZ5+zZs1i/vz5LFy4kC5durB//35WrlxJYWEh9erV4+uvv2bAgAH88Y9/ZMmSJRw/fpy3336bH374wV+nQaqZ2+0mOTnZ32V4peO+fYxctQrTNMsczjgV/oqOHydw6FBWjxpFRnR0zRZZCVOmTMFut/u7DBE5hyjwWcThw4fp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JCwsjK5du1Yq8InUVraz7D20uVzVEvhERHyhwCceV111FS1atCAlJYVHH320RFu/fv3OuG1UVBT33HNPpY89derUSm8r4nK5qq3Hy+3FUMkZt6+mmbRJSUmapSsiXlPgs7iff/4Zp9PJsWPHOHnyJNnZ2QAlZuqebvz48UyaNImJEyfWZJleXX8gUp7qvCed0+HgSFgYjXNzfZrlVgTkhYXhDA6ulrpsNpt+b0TEa5qla3GTJk0iKiqKOXPmsHfvXqKiooiKiip3/YSEBIKCgnj22WdrrkiR2sww2B4Xh6/TIwwgrZombIiI+Mowdbt2ETnHuVyuar3xst3pJCklhUAvb81SZBicDAwkJSkJVzX18OnGyyLiC/XwiYhUwBUczNqEBDAMiipY91R7akJCtYU9ERFfqYdPRM55pmnWyL0cjS1bCBoxAvLzix+f9vZpnhq6dTgoWLMGs3//aq3FZrPpPnwi4jUFPhERX+TlwYoVMG8eZGT8urxjR5g4EcaOhdBQv5UnIlIWBT4RkcowTThyBI4ehYYNITxcEzREpNZS4BMRERGxOE3aEBEREbE4BT4RERERi1PgExEREbE4BT4RERERi1PgExEREbE4BT4RERERi1PgExEREbE4BT4RERERi1PgExEREbE4BT4RERERi1PgExEREbE4BT4RERERi1PgExEREbE4BT4RERERi1PgExEREbE4BT4RERERi1PgExEREbG4QH8XICJiOaYJOTlw7BiEhECTJmAY/q5KROow9fCJiFSVvDyYOxdiYqBZM2jfvvh7TEzx8rw8f1coInWUYZqm6e8iRET8zTRN3G53pbc3tmwhaMQIyM8vfnzaW6t5qnfP4aBgzRrM/v0rdQybzYahnkIRqQQFPoszDINmzZpx8OBBbDYbAF27duXmm29mxowZbNu2jT59+pTabunSpSQmJgKwf/9+/vSnP7Ft2zacTiedOnViwoQJJCYmMmPGDB5//PFyj79161auvvrq6nhqIlXK5XKRnJxcqW077tvHyFWrwDTPOGxSBGAYrB41iozoaJ+PM2XKFOx2e6VqFJG6TUO6dUBOTg7r1q0rs613795kZWWxfft2ADZv3kxWVhYJCQkAnDx5kuuvvx63281bb73Fxx9/zAMPPMAPP/wAwB//+EeysrLIyspi4cKFAJ7HWVlZ9O7duwaeoYj/2J1O4lNTKwx78L83XNMkPjUVu9NZA9WJiBTTpI06YNCgQcyfP59Ro0aVarPZbERGRnLixAkAmjRpQmRkpKf9yy+/ZM+ePWzatIkOHToA0KlTJ097SEgIISEhADRu3BigxPYiVndRejpBBQV4O9AaAAQVFBCbns72nj2rszQREQ8FvjogISGBBx54gM8++4zu3bv7tG2jRo0A2LRpE/fff391lAdwVtdOiVSFSv0MmiY90tJ83wyIS0tje1ycT7N33W63ruETkVJOXbJ1Jgp8dYDdbueOO+5g/vz5LFq0yKdt27Vrx2OPPcYDDzzAX//6V/r06cNNN93EsGHDqrTGWbNmVen+RGpCcH4+4bm5Pm8XAITn5hLsdOJ0OLzeLiUlxedjiYj1TZ8+vcJ1dA1fHXHPPfeQmppKbiX+c3r88cc5cOAAjz76KCdPniQhIYFbb721GqoUObfYzrJn2uZyVVElIiJnph6+OqJdu3b06dOHpUuXVmr7Vq1acffdd3P33XfzxhtvMHDgQGbMmEHHjh2rpL6pU6dWyX5EKsvlcvncg+b2YhjljNv7OOM2KSlJs3RFpFIU+OqQ8ePHM2HCBK/G+s8kJiYGgGPHjlVFWYB31x+IVKfK3KHK6XBwJCyMxrm5Pg2XFAF5YWE4g4N9Op7NZtPviohUioZ065Brr70WwzDYu3evZ5nb7SY7O5vDhw8Dxbdwyc7Oxvm/W0YcOHCAQYMG8eqrr5KRkcEnn3zChAkTaNOmDZ07d/bL8xCpNQyD7XFxXs/Q9WwGpPk4YUNE5Gwo8NUhhmFw7733UlhY6Fn24YcfEhUVRY8ePQAYMGAAUVFRpKamAhAeHk7Lli2ZPHkyXbp0YeDAgdjtdjZv3qyeBhHg89hYCoKCim+q7IUiw6AgKIj02NhqrUtE5HT6pA0REWr2kzZWjRpFpj5pQ0RqkAKfiAj6LF0RsTYFPhGRqpKXBytWwLx5kJHx6/KOHWHiRBg7FkJD/VaeiNRdCnwiIlXNNOHIETh6FBo2hPBwTdAQEb9S4BMRERGxOM3SFREREbE4BT4RERERi1PgExEREbE4BT4RERERi1PgExEREbE4BT4RERERi1PgExEREbE4BT4RERERi1PgExEREbE4BT4RERERi1PgExEREbE4BT4RERERi1PgExEREbE4BT4RERERi1PgExEREbE4BT4RERERi1PgExEREbE4BT4RERERiwv0dwEiIiJSDtOEnBw4dgxCQqBJEzAMf1cl5yD18ImIiNQ2eXkwdy7ExECzZtC+ffH3mJji5Xl5/q5QzjGGaZqmv4sQ/5oxYwb/+Mc/2L17d6m2xMREli9fzvr167nhhhsAmD17Ns8//zz79+8HoF27dhw4cKDUtllZWURGRlZn6SKWY5ombrfb32WIHxlbthA0YgTk5xc/Pu2/afNU757DQcGaNZj9+/ujRKkFbDYbhg+9vRrSlQoFBAQwf/58T+Ary2OPPca9995bYllEREQ1VyZiPW63m+TkZH+XIX7Scd8+Rq5ahWmaZQ7BnQp/RcePEzh0KKtHjSIjOrpmi5RaYcqUKdjtdq/X15CuVOiKK65gx44d7N27t9x1GjZsSGRkZImvgAD9eImIeMvudBKfmgrlhL3TBQCYJvGpqdidzhqoTs51+h9ZKhQSEsKtt97KCy+84O9SREQs66L0dIIKCrz+jzkACCooIDY9vTrLEovQkK545b777qNXr1489dRTZbZPmzaNGTNmeB63bNnyjD2Cv6VrlkSK6XehjjJNeqSl+b4ZEJeWxva4OM3erWPcbrfnGj6bzVbh+gp84pXOnTvzu9/9jpdffrnM9qSkJO644w7P48BA3360Zs2adVb1iYicy4Lz8wnPzfV5uwAgPDeXYKcTp8NR9YVJrZWSkuL59/Tp0ytcX0O64rXx48czf/78MtuaNGlCdHS056tdu3Y1W5yIyDnMdpY9uzaXq4oqEatSD594bdiwYUyaNIn33nuvyvc9derUKt+nyLnI5XKV+Mtd6ga3F0NyZ9zeh9maYg1JSUk+zdJV4BMATpw4weeff15iWaNGjUo8rlevHuPGjWPGjBm0atWqRNvRo0fJzs4usaxJkyYEBQV5dXxvrj8QqQt0a9S6yelwcCQsjMa5uT4NvRUBeWFhOIODq6s0qaVsNptP/3dqSFcAyMjIoHv37iW+7rvvvlLr3XXXXdSrV6/U8ieeeIKoqKgSX5988klNlC4icu4zDLbHxeHrtAsDSNOEDfGCeviEGTNmlJhheybNmzfH9ZtrRU594oaIiFTe57Gx9H37bQK9vDVLkWFwMjCQ9NjYaq9Nzn3q4RMREakFXMHBrE1IAMOgqIJ1T7WnJiTg0nCueEGfpSsiUovos3RFn6Ur3vD1s3QV+ERERGqbvDxYsQLmzYOMjF+Xd+wIEyfC2LEQGuq38uTco8AnIiJSW5kmHDkCR49Cw4YQHq4JGlIpCnwiIiIiFqdJGyIiIiIWp8AnIiIiYnEKfCIiIiIWp8AnIiIiYnEKfCIiIiIWp8AnIiIiYnEKfCIiIiIWp8AnIiIiYnEKfCIiIiIWp8AnIiIiYnEKfCIiIiIWp8AnIiIiYnEKfCIiIiIWp8AnIiIiYnEKfCIiIiIWp8AnIiIiYnEKfCIiIiIWF+jvAkREajXThJwcOHYMQkKgSRMwDH9XJSLiE/XwiYiUJS8P5s6FmBho1gzaty/+HhNTvDwvz98Vioh4zdKBLzc3l4EDB9KgQQMMw2Dbtm2l1gkJCWHZsmU1Us/gwYNJTEysln1v2bKF8847j3r16tGuXbtS7d6cCxErMk0Tl8vl05d740bMVq0wJ0/GzMwsub/MzOLlrVrh3rjR532bpumnMyEidZmlh3QXLFjA7t27+fjjjwkLCyM8PLzUOpmZmTRs2NAP1VWtCRMm0KdPH7Zu3YrNZivV7s25OFuGYbBu3TpuvvnmKt+3SGW53W6Sk5O9Xr/jvn2MXLUK0zTL/IvY+F9gKzp+nMChQ1k9ahQZ0dFe73/KlCnY7Xav1xcRqQqW7uHLyMigW7dudO7cmcjIyDKDUEREBMHBwX6ormplZGRwzTXX0LJlS5o1a1Zme0XnQqSuszudxKemQjlh73QBAKZJfGoqdqezBqoTEak8Swa+xMREDMNg8eLFvP766xiGUWoYMzo62rP8t0O6e/fuJSQkhC1btniWPffcc7Rs2ZKcnBzPsnXr1tG1a1eCg4Pp0qULa9euLbGfjRs3Eh0djcPh4NZbb6WgoMDn57J161bi4uKoX78+MTExPPfccyXaTz2HwsJC4uPjMQyjxJCuN+ciPT2dfv364XA4aNu2LY899hgnT54scZy3336b3r17ExwcTGRkJHfffXepGgCGDx/uebx//36fn6+IP12Unk5QQYHXb4wBQFBBAbHp6dVZlojIWbPkkO7cuXNJTk5m0qRJHDlyhJUrVwKUGMb8z3/+w8mTJ+nYsWOp7Tt16sTs2bO57bbb2LVrFz/++CNTp05lw4YNNGnSBCgOYmPHjmXBggVcfvnlpKWlMWbMGNq2bUtcXByHDx8mPj6eSZMmkZiYyKJFi/j73//O6NGjvX4eX3/9NQMHDuSpp55i9erV7N27lzFjxtC8eXPi4+MByMrKAiAqKoqFCxcyePBg6tWr5/W5yMnJoW/fvtx5550sWLCArKwsbrvtNkJCQvjTn/4EwJdffsmAAQOYOHEiixYt4vjx4/ztb3/zHKOsGoAyexrL43a7vV5XxBde/2yZJj3S0nzevwnEpaWxPS7Oq9m7brfb8weSiEhV8GbUzjAtfAVxYmIiP/30Exs3bix3nZCQEJ5//vkyJ1MMGzaM4OBgMjMzueKKK5gzZ46nrU+fPvTo0YO//OUvnmXx8fGEh4ezYMEC5s2bx6xZs/j+++8JCAigsLCQli1bMmDAAK8nidx2223k5+eTmprqWfanP/2JnTt3snnz5hLrVnT9XHnn4vHHH+f1118n7bT/6F544QXmzZvHnj17ABg7dizffvst77777hnrPZtr+B5//HGftxGpSsHHj/Onp5+u9PZ//dOfcDocVViRiIh3pk+fXuE6luzhqyqLFy/m/PPPJyIigqeeeqpE286dO/noo4+YP3++Z5nb7ebqq68Giq+ZO//88wkIKB4cqlevHueff75Px9+5cye7du0iJCTEs6ygoIC2bdtW8hmVfYxPP/20xDEKCwspLCz0PN69ezfXX399lR1TpDaynWUvs83lUuATkVpLge8MvvrqK/Lz8zl48CAHDx4sNfw7Y8aMUr1Zp08AqYphm3HjxjFp0qQSy4KCgs56v6cbPHgwT5+hZ8M0zWofgpo6dWq17l/qLpfLRUpKSoXruc9yIpPby5m3SUlJmqUrIjVOga8ceXl5jB49muTkZL766itGjhzJBx98QGBg8Snr1q0bmZmZRJdzO4bo6GjWrl1LUVGRZ0h3z549Zd4jrzzdunVj79695R6jKnTr1o3U1FQ6dOjg6Y0sa5333nuvwn0FBQWVmuzhLc0aluri7VUrToeDI2FhNM7N9Wk2WxGQFxaG08vZ/jabTT/vIlLjLDlLtyJOp5Ps7Gyys7MxTZOff/6Z7OxsDh8+7Fln3LhxxMTEcP/99zNnzhzy8vKYMWOGp/2xxx5j2bJlzJ49m6+//podO3bw5JNP8vLLLwNwyy238MsvvzBt2jT27t3L1KlT+emnn3yqc+rUqbzzzjtMmTKFL7/8kvT0dJ599lmeeeaZKjkPUHz/vh9//JE77riD9PR0vvzySxYtWsS0adM86zz00EN88MEHPPjgg3z11Vd89tln3H///aX2FR0dzWuvvUZubi4nTpzQDWbl3GIYbI+Lw9e+bANI83LChoiIv9TJwJeamkpUVBRRUVHk5+fzwAMPEBUVxaWXXgrAsmXLeOutt1i2bBmGYeBwOFi5ciWzZ8/2TFzo27cvq1evZtWqVXTr1o1Bgwaxfft2OnXqBEDTpk1Zu3Yta9eu5aKLLiIrK4t+/fr5VGenTp3YvHkz7733Hr/73e/o06cPr732GhdccEGVnYumTZvy9ttvc+jQIS677DJ69erF0qVLSxzjggsuYPPmzbz//vtcfPHFDBgwgPz8/FL7evbZZ/n000899zY8cOBAldUpUhM+j42lICiIIi/XLzIMCoKCSI+Nrda6RETOlqVn6YqIuFyuSn3SRkU3Xy4CMAxWjRpFpj5pQ0RqOQU+EbE00zR9vs+jsWULQSNGwP96so3T3ibNU0O3DgcFa9Zg9u/v075tNpvuwyciNU6BT0SkLHl5sGIFzJsHGRm/Lu/YESZOhLFjITTUb+WJiPhCgU9E5ExME44cgaNHoWFDCA/XBA0ROeco8ImIiIhYXJ2cpSsiIiJSlyjwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFhcoL8LEBHxK9OEnBw4dgxCQqBJEzAMf1clIlKl1MPnpZ9++gnDMNi2bZu/SylTbm4uAwcOpEGDBuXWOXv2bJo3b45hGCQmJtZ4jSK1Sl4ezJ0LMTHQrBm0b1/8PSameHlenr8rFBGpMurhs4gFCxawe/duPv74Y8LCwggPDy/RfujQIR566CEWLlzIwIEDCQ4OrvIaEhMT+emnn9i4cWOV71vOPaZp4na7/V1GmYwtWwgaMQLy84sfn9ZmZmbC5MkwbRoFa9Zg9u/vnyLPwGazYagXUkR8oMBnERkZGXTr1o3OnTuX2Z6ZmUlRURFDhgyhWbNmNVyd1EVut5vk5GR/l1FKx337GLlqFaZpljnEYZgmAEXHjxM4dCirR40iIzq6ZouswJQpU7Db7f4uQ0TOIefskO6MGTPo2rUr69evJyYmhvr169OzZ08AcnJyuOWWW2jZsiV2u51OnTqxePHiEtu3a9eOadOmMXToUBwOB5dccgn79u3ztBcWFjJp0iQaNWpEixYtWL16daka/v3vf9O9e3fsdjtt27bl+eef97QtW7aM2NhY4uLiiI6OZsGCBbRu3Zq4uDh++eUXr59nTk4OY8aMITw8nCZNmjBy5Eh++uknT3tiYiKGYbB48WJef/11DMMoMaS7bds2DMPgiiuuACAiIqLUkK7T6WTixIk0b96c0NBQBg0axP79+0vUcfjwYcaOHUvTpk0JCQmhT58+7Nq1q0QNy5cvZ9OmTZ4aZsyY4fXzFKkJdqeT+NRUKCfsnS4AwDSJT03F7nTWQHUiItXnnA18AD/88ANz5sxhyZIl7Ny5k5EjRwJw7NgxWrVqxT/+8Q/27NnDQw89xN133827775bYvuFCxdy++23s2PHDgoKCpgyZYqn7cUXX2TlypWsXbuWTZs2sXz58hLb5uTkMGzYMK688kp27tzJY489xuTJk3n77bc96xw4cICFCxfSqlUrZs+ezVtvvUVubi6vv/6618/x5ptv5vDhw/z73//mnXfeIS8vjzFjxnja586dS1ZWFvHx8VxzzTVkZWWRlZVF7969AejduzdZWVn885//BOCLL74gKyuLuXPnevZx77338p///IcNGzawY8cOIiIiGDJkCIWFhZ51brzxRnbt2sUrr7zCp59+SkJCgicUllfDH//4R6+fp0hNuCg9naCCAq/f+AKAoIICYtPTq7MsEZFqd04P6ebk5LB8+XI6duwIwHnnnQdA27Ztefrppz3rtW/fnvnz57N582auvPJKz/Jhw4Zxww03AMW9VM8++6ynbcmSJdx1110MGDAAgMcff5whQ4Z42levXo3D4WDOnDkEBgbSqVMnNm3axIsvvki/fv0AOP/887nwwgvp2bMn+/fvp3Pnzlx88cV89913Xj2/d955hw8++IDDhw8TGhoKFE+86NKlC9nZ2URGRhIaGkpoaCjBwcHY7XYiIyNL7MNmsxEZGem5pi8iIoKmTZt62vfv38+KFSv44osvPMPBzz33HI0aNWLHjh307NmTrVu38uGHH/LNN9+UOtdAhTV4o7Ze6yWVV+teU9OkR1qa75sBcWlpbI+LqzWzd91ut67hExEPm81W4TrndOBr0aKFJ4CcrrCwkOTkZNasWcPB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Nm7cSHJyMqtXr2bEiBFe72Pq1KmVeQpSx7lcrirrDXOf5YQqdxXOqk1KStIsXRGpUrUu8OXl5TF69GiSk5P56quvGDlyJB988AGBgcWlduvWjczMTKLLuQ1CdHQ0a9eupaioiICAAAoLC9mzZ0+Z98grT7du3di7d2+5x6gK3bp1IzU1lQ4dOnh6I8ta57333qtwX0FBQaUme3ijXbt2REREkJKSQr9+/YiKimLJkiXk5eVx8cUXl1g3JCSE//73v+Xuq23bttx5553ceeedDBw4kP/7v//zKfCda7OXpXaoyvvVOR0OjoSF0Tg316fZbEVAXlgYziqcyW6z2fQ7ISJVqkY/acPpdJKdnU12djamafLzzz+TnZ3N4cOHPeuMGzeOmJgY7r//fubMmUNeXh4zZszwtD/22GMsW7aM2bNn8/XXX7Njxw6efPJJXn75ZQBuueUWfvnlF6ZNm8bevXuZOnUqP/30k091Tp06lXfeeYcpU6bw5Zdfkp6ezrPPPsszzzxTJecBinvFfvzxR+644w7S09P58ssvWbRoEdOmTfOs89BDD/HBBx/w4IMP8tVXX/HZZ59x//33l9pXdHQ0r732Grm5uZw4ccKn/wR79uzJSy+9xLXXXst1113HggUL6N69O/Xr1y+x3u9+9zvS0tL46KOPyM7OxuVyedomT57Mm2++ybfffsvWrVv55JNPPNfziZwzDIPtcXH42qduAGlVOGFDRKQ61GjgS01NJSoqiqioKPLz83nggQeIioryTERYtmwZb731FsuWLcMwDBwOBytXrmT27Nm8++67APTt25fVq1ezatUqunXrxqBBg9i+fTudOnUCiieFrF27lrVr13LRRReRlZXl0/VoUDxbePPmzbz33nv87ne/o0+fPrz22mtccMEFVXYumjZtyttvv82hQ4e47LLL6NWrF0uXLi1xjAsuuIDNmzfz/vvvc/HFFzNgwADy8/NL7evZZ5/l008/9dzb8MCBA17X0atXL4qKirjsssvo1KkTTZo0oWfPnqXWGz16NDfffDPXXnstUVFRvPHGG562oqIi7rvvPjp37szo0aMZOXIkDz74oI9nRMT/Po+NpSAoiCIv1y8yDAqCgkiPja3WukREzpZh6jN8ROQc5XK5qu2TNiq6+XIRgGGwatQoMvVJGyJSyynwicg5yzTNarmHo7FlC0EjRsD/etSN094mzVNDtw4HBWvWYPbvX+XHt9lsug+fiFQpBT4RkbLk5cGKFTBvHmRk/Lq8Y0eYOBHGjoXQUL+VJyLiCwU+EZEzMU04cgSOHoWGDSE8XBM0ROSco8AnIiIiYnE1OktXRERERGqeAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxQX6uwAREb8yTcjJgWPHICQEmjQBw/B3VSIiVarW9/D99NNPGIbBtm3b/F1KmXJzcxk4cCANGjQot87Zs2fTvHlzDMMgMTGxxms8G9u2bcMwDM/XTz/95O+SRKpGXh7MnQsxMdCsGbRvX/w9JqZ4eV6evysUEaky6uE7SwsWLGD37t18/PHHhIWFER4eXqL90KFDPPTQQyxcuJCBAwcSHBxc5TUkJiby008/sXHjxirfd+/evcnKyuLDDz/kpptuqvL9i3WZponb7fZ3GWUytmwhaMQIyM8vfnxam5mZCZMnw7RpFKxZg9m/v3+KPAObzYahXkgR8YEC31nKyMigW7dudO7cucz2zMxMioqKGDJkCM2aNavh6s6ezWYjMjKyVJAVqYjb7SY5OdnfZZTScd8+Rq5ahWmaZQ5xGKYJQNHx4wQOHcrqUaPIiI6u2SIrMGXKFOx2u7/LEJFziM9DujNmzKBr166sX7+emJgY6tevT8+ePQHIycnhlltuoWXLltjtdjp16sTixYtLbN+uXTumTZvG0KFDcTgcXHLJJezbt8/TXlhYyKRJk2jUqBEtWrRg9erVpWr497//Tffu3bHb7bRt25bnn3/e07Zs2TJiY2OJi4sjOjqaBQsW0Lp1a+Li4vjll1+8fp45OTmMGTOG8PBwmjRpwsiRI0sMZyYmJmIYBosXL+b111/3DHmeGtI9NRR6xRVXABAREVFqSNfpdDJx4kSaN29OaGgogwYNYv/+/SXqOHz4MGPHjqVp06aEhITQp08fdu3aVaKG5cuXs2nTJk8NM2bM8Oo5jh49mvHjx5fZdu211/LEE094tR/TNHn00Udp3bo19evXJyYmpsRrIlJb2J1O4lNToZywd7oAANMkPjUVu9NZA9WJiFSfSl3D98MPPzBnzhyWLFnCzp07GTlyJADHjh2jVatW/OMf/2DPnj089NBD3H333bz77rsltl+4cCG33347O3bsoKCggClTpnjaXnzxRVauXMnatWvZtGkTy5cvL7FtTk4Ow4YN48orr2Tnzp089thjTJ48mbffftuzzoEDB1i4cCGtWrVi9uzZvPXWW+Tm5vL66697/RxvvvlmDh8+zL///W/eeecd8vLyGDNmjKd97ty5ZGVlER8fzzXXXENWVhZZWVn07t0b+HUo9J///CcAX3zxBVlZWcydO9ezj3vvvZf//Oc/bNiwgR07dhAREcGQIUMoLCz0rHPjjTeya9cuXnnlFT799FMSEhI8obC8Gv74xz969Rx79erFjh07ymz75JNP6NWrl1f7eeWVV5g9ezYvvvgie/bs4W9/+xshISFebStSky5KTyeooMDrN74AIKiggNj09OosS0Sk2lVqSDcnJ4fly5fTsWNHAM477zwA2rZty9NPP+1Zr3379syfP5/Nmzdz5ZVXepYPGzaMG264ASjupXr22Wc9bUuWLOGuu+5iwIABADz++OMMGTLE07569WocDgdz5swhMDCQTp06sWnTJl588UX69esHwPnnn8+FF15Iz5492b9/P507d+biiy/mu+++8+r5vfPOO3zwwQccPnyY0NBQoHjiRZcuXcjOziYyMpLQ0FBCQ0MJDg7GbrcTGRlZYh+/HQqNiIigadOmnvb9+/ezYsUKvvjiC89w8HPPPUejRo3YsWMHPXv2ZOvWrXz44Yd88803pc41UGENFenVqxdJSUm43W4OHTrEww8/zNKlS/n+++/Jy8ujR48eXu1n//79NG7cmAEDBhAYGEi7du18qgOotdd6SeXVutfUNOmRlub7ZkBcWhrb4+Jqzexdt9uta/hExMNms1W4TqUCX4sWLTwB5HSFhYUkJyezZs0aDh48SEFBAU6nk8suu6zEeqdvGxYWxpEjRzyPMzIymDRpkudx165dS2y7b98+OnfuTGDgr6VfeOGFbNiwwfO4fv36nu+n/9vp5bDMzp07OXnyJC1btizVlpmZ6XOwKsuuXbswTZNLL720xHLTNMnMzKRnz57s3r273HNdFS688EKCgoLYtWsX27dvZ8OGDdxxxx3k5ORwwQUXeMJuRW688UZmz55NTEwM/fv358orryQ+Pt6rH8BTZs2aVdmnIeKV4Px8wnNzfd4uAAjPzSXY6cTpcFR9YZWQkpLi7xJEpBaZPn16hetUKvA1bty4zOUpKSnMnj2b559/nu7du2Oz2Rg+fDhFRUUlDxpY8rDm/y6SPqWiv1x/226apld/7f72OGcSGRlZaigaKDMEVlZAQAAff/xxqfPRvHlzwPvnVVmBgYFccskl7Nixg7fffpukpCS2bNlCUVGR18O5AB06dCAjI4O3336bbdu2cf/997Nq1SreeOONaqtdxFe2s+xxtLlctSbwiYj4qkpn6b777rsMGzaMUaNGAXDixAm+++67Uj18ZxIdHc0XX3zhebx79+4S7R07dmTNmjWcPHnSE5R27dpVpb1g3bp148cff8Rut9O6desq2+/punbtimmaHDlyxHPdX1l1fP/992RmZtKhQ4dy92Wz2Th58mSl6ujVqxfbt29n7969vPTSS1x//fU0aNCAW2+9tcR6p67JK6+X1OFwMGTIEIYMGUJcXBwJCQmcOHHC08NakalTp1aqfqm9XC5XreqJcvvQ41zm9rVoVmxSUpJm6YqIT6o08MXExPDKK6+wfft2GjRowMyZM32+jufOO+9k2rRp9O3bl4iIiFLdlCNHjuThhx/mD3/4A+PHj+f999/ntdde82lCRkWuvvpqLrvsMoYPH85f//pXWrZsya5du0hNTeXvf/97lRyjffv2jB49mttuu425c+dy3nnn8fXXX7Ny5Uqef/55wsLC6NOnD7179yY+Pp6UlBRatGjB+++/T7NmzRg0aJBnX9HR0axfv549e/bQrl07AgMDS/UalqdXr16MHj2aG2+8kfDwcAIDA9m+fTsvvPBCifU6depESEgICxcu5N577yU4ONjT07tixQrcbje9e/cmICCA1NRUzwxub/ky/CvnBl961GuC0+HgSFgYjXNzfZqtVgTkhYXhrIZ7aFaWzWbT74yI+KRKP2nj0Ucf5eKLL6Zfv35cc801XHzxxcTFxfm0j7vvvptbb72V4cOHM3DgQMaOHVuivWnTpqxfv55t27bRtWtXZsyYwZw5c+hfxTdHfeWVV+jcuTM33XQTXbt2Zdq0aWfsZauMBQsWMHDgQG6//XY6d+7M/fffT1hYWImbM69fv54uXbrw+9//ntjYWJYsWUKbNm1K7Oeuu+6iR48e9OjRg+DgYGbOnOl1Db169eLo0aNce+21APTv35+goCA6depUYr2GDRuyePFili1bRosWLUrcXqZx48YsWrSInj17EhcXx9GjR3nllVcqcUZEqpFhsD0uDl8vkjCAtFo0YUNEpDIMs7b9GS4iluByuWrdjZftTidJKSkEenlrliLD4GRgIClJSbhqUQ+fbrwsIr6q9Z+lKyJSVVzBwaxNSADDoKiCdU+1pyYk1KqwJyJSGerhE5FqcU59lu5pb4PmqaFbh0OfpSsilqHAJyJ1U14erFgB8+ZBRsavyzt2hIkTYexY8PJelCIitZ0Cn4jUbaYJR47A0aPQsCGEh2uChohYjgKfiIiIiMVp0oaIiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxSnwiYiIiFicAp+IiIiIxQX6uwAR0zQ5evSov8sQERE5ZzVs2BDDMMptV+ATvzt69CihoaH+LkNEROSc9fPPP9OoUaNy2w3TNM0arEeklHOxh++XX36hdevW/Pe//z3jL5hUD51//9L59y+df/+rja+Bevik1jMMo9b8wviqUaNG52ztVqDz7186//6l8+9/59JroEkbIiIiIhanwCciIiJicQp8IpVgt9uZPn06drvd36XUSTr//qXz7186//53Lr4GmrQhIiIiYnHq4RMRERGxOAU+EREREYtT4BMRERGxOAU+EREREYtT4BM5g++//57Ro0fTpEkTHA4HF110EZ988omn3TRNZsyYQYsWLQgODubqq6/miy++8GPF1nKm819QUMBDDz1Et27daNCgAS1atGDMmDEcOnTIz1VbR0U//6cbN24chmHw7LPP1myRFufNa/DVV18xdOhQQkNDadiwIT179uS7777zU8XWUtH5P3bsGBMmTKBVq1YEBwfTuXNnXnzxRT9WXD590oZIOXJzc7nsssvo06cPb7zxBhEREWRkZNC4cWPPOn/9619JSUlh2bJlnHfeecycOZP+/fuzd+9eGjZs6L/iLaCi85+fn8+nn37Ko48+SmxsLLm5uTzwwAMMHTqUjz/+2L/FW4A3P/+nbNiwgbS0NFq0aFHzhVqYN69BRkYGl19+OXfccQePP/44oaGhfPXVV9SvX99/hVuEN+d/8uTJbN26lZdffpl27drx1ltvcd9999GiRQuGDRvmv+LLYopImR566CHz8ssvL7e9qKjIjIyMNJOTkz3LTpw4YYaGhpoLFiyoiRItraLzX5bt27ebgHngwIFqqqru8Pb8Hzx40GzZsqW5e/dus23btuYzzzxT/cXVEd68BgkJCebo0aNrqKK6xZvz36VLF/OJJ54oseziiy82H3nkkeosrVI0pCtSjldffZVLLrmE4cOHExERQffu3Vm4cKGn/dtvvyU7O5trr73Ws8xut3PVVVfx4Ycf+qNkS6no/Jfl559/xjCMMnuhxDfenP+ioiJuvfVWHnzwQbp06eKnSq2rotegqKiITZs2cd5553HdddcRERFBXFwcGzZs8F/RFuLN78Dll1/Oq6++yvfff49pmmzdupWvv/6a6667zk9Vn4G/E6dIbWW320273W5OnTrV/PTTT80FCxaY9evXN5cvX26apml+8MEHJmB+//33Jba76667zGuvvdYfJVtKRef/t5xOp/m73/3OHDVqVA1Xak3enP+nnnrK7N+/v1lUVGSapqkevipW0WuQlZVlAqbD4TBTUlLMzz77zJw1a5ZpGIa5bds2P1d/7vPmd8DlcpljxowxATMwMNC02WzmihUr/Fh1+RT4RMoRFBRk9urVq8Sy+++/3+zZs6dpmr8GvkOHDpVY58477zSvu+66GqvTqio6/6dzu93msGHDzO7du5s///xzTZVoaRWd/48//ths3rx5iT94FPiqVkWvwffff28C5i233FJinSFDhpgjRoyosTqtypv3oKeffto877zzzFdffdVMT083n3vuOTMkJMTcsmVLTZdbIQ3pipQjKiqKCy64oMSyzp07e2a/RUZGApCdnV1inR9//JHmzZvXTJEWVtH5P6WgoID4+Hi+/fZbtmzZQqNGjWqyTMuq6Py/9957/Pjjj7Rp04bAwEACAwM5cOAAf/jDH2jXrp0fKraeil6Dpk2bEhgY6NXvifiuovPvdDp5+OGHSUlJYciQIVx44YVMmDCBhIQEZs+e7Y+Sz0iBT6Qcl112GXv37i2x7Ouvv6Zt27YAtG/fnsjISLZs2eJpd7vdvPPOO/Tu3btGa7Wiis4//Br2vvnmG/71r3/RpEmTmi7Tsio6/7feeis7d+7k888/93y1aNGCBx98kDfffNMfJVtORa+BzWbj0ksvrfD3RCqnovNfUFBAQUEBAQElo1S9evUoKiqqsTq95u8uRpHaavv27WZgYKD55z//2fzmm2/MVatWmQ6Hw3z55Zc96yQnJ5uhoaHmK6+8Yu7atcu85ZZbzKioKPOXX37xY+XWUNH5LygoMIcOHWq2atXK/Pzzz82srCzPl8vl8nP15z5vfv5/S0O6Vcub1+CVV14xg4KCzJdeesn85ptvzOeee86sV6+e+d577/mxcmvw5vxfddVVZpcuXcytW7eamZmZ5tKlS8369eubL7zwgh8rL5sCn8gZvPbaa2bXrl1Nu91unn/++eZLL71Uor2oqMicPn26GRkZadrtdvPKK680d+3a5adqredM5//bb781gTK/tm7d6r+iLaSin//fUuCret68BosXLzajo6PN+vXrm7GxseaGDRv8UKk1VXT+s7KyzMTERLNFixZm/fr1zU6dOplz5szxTGSqTQzTNE1/9jCKiIiISPXSNXwiIiIiFqfAJyIiImJxCnwiIiIiFqfAJyIiImJxCnwiIiIiFqfAJyIiImJxCnwiIiIiFqfAJyIiImJxCnwiIiIiFqfAJyIiImJxCnwiIiIiFqfAJyIiImJx/w/gtjj0pGsh1QAAAABJRU5ErkJggg==",
      "text/plain": [
       "<Figure size 600x600 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "res2_PM = combine_effects(eff, var_eff, method_re=\"pm\", use_t=True, row_names=rownames)\n",
    "print(\"method RE:\", res2_PM.method_re)\n",
    "print(res2_PM.summary_frame())\n",
    "fig = res2_PM.plot_forest()\n",
    "fig.set_figheight(6)\n",
    "fig.set_figwidth(6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Meta-analysis of proportions\n",
    "\n",
    "In the following example the random effect variance tau is estimated to be zero. \n",
    "I then change two counts in the data, so the second example has random effects variance greater than zero."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [],
   "source": [
    "import io"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [],
   "source": [
    "ss = \"\"\"\\\n",
    "    study,nei,nci,e1i,c1i,e2i,c2i,e3i,c3i,e4i,c4i\n",
    "    1,19,22,16.0,20.0,11,12,4.0,8.0,4,3\n",
    "    2,34,35,22.0,22.0,18,12,15.0,8.0,15,6\n",
    "    3,72,68,44.0,40.0,21,15,10.0,3.0,3,0\n",
    "    4,22,20,19.0,12.0,14,5,5.0,4.0,2,3\n",
    "    5,70,32,62.0,27.0,42,13,26.0,6.0,15,5\n",
    "    6,183,94,130.0,65.0,80,33,47.0,14.0,30,11\n",
    "    7,26,50,24.0,30.0,13,18,5.0,10.0,3,9\n",
    "    8,61,55,51.0,44.0,37,30,19.0,19.0,11,15\n",
    "    9,36,25,30.0,17.0,23,12,13.0,4.0,10,4\n",
    "    10,45,35,43.0,35.0,19,14,8.0,4.0,6,0\n",
    "    11,246,208,169.0,139.0,106,76,67.0,42.0,51,35\n",
    "    12,386,141,279.0,97.0,170,46,97.0,21.0,73,8\n",
    "    13,59,32,56.0,30.0,34,17,21.0,9.0,20,7\n",
    "    14,45,15,42.0,10.0,18,3,9.0,1.0,9,1\n",
    "    15,14,18,14.0,18.0,13,14,12.0,13.0,9,12\n",
    "    16,26,19,21.0,15.0,12,10,6.0,4.0,5,1\n",
    "    17,74,75,,,42,40,,,23,30\"\"\"\n",
    "df3 = pd.read_csv(io.StringIO(ss))\n",
    "df_12y = df3[[\"e2i\", \"nei\", \"c2i\", \"nci\"]]\n",
    "# TODO: currently 1 is reference, switch labels\n",
    "count1, nobs1, count2, nobs2 = df_12y.values.T\n",
    "dta = df_12y.values.T"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [],
   "source": [
    "eff, var_eff = effectsize_2proportions(*dta, statistic=\"rd\")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([ 0.03349282,  0.18655462,  0.07107843,  0.38636364,  0.19375   ,\n",
       "         0.08609464,  0.14      ,  0.06110283,  0.15888889,  0.02222222,\n",
       "         0.06550969,  0.11417337,  0.04502119,  0.2       ,  0.15079365,\n",
       "        -0.06477733,  0.03423423]),\n",
       " array([0.02409958, 0.01376482, 0.00539777, 0.01989341, 0.01096641,\n",
       "        0.00376814, 0.01422338, 0.00842011, 0.01639261, 0.01227827,\n",
       "        0.00211165, 0.00219739, 0.01192067, 0.016     , 0.0143398 ,\n",
       "        0.02267994, 0.0066352 ]))"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "eff, var_eff"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "method RE: iterated\n",
      "RE variance tau2: 0\n",
      "                        eff    sd_eff    ci_low    ci_upp      w_fe      w_re\n",
      "0                  0.033493  0.155240 -0.270773  0.337758  0.017454  0.017454\n",
      "1                  0.186555  0.117324 -0.043395  0.416505  0.030559  0.030559\n",
      "2                  0.071078  0.073470 -0.072919  0.215076  0.077928  0.077928\n",
      "3                  0.386364  0.141044  0.109922  0.662805  0.021145  0.021145\n",
      "4                  0.193750  0.104721 -0.011499  0.398999  0.038357  0.038357\n",
      "5                  0.086095  0.061385 -0.034218  0.206407  0.111630  0.111630\n",
      "6                  0.140000  0.119262 -0.093749  0.373749  0.029574  0.029574\n",
      "7                  0.061103  0.091761 -0.118746  0.240951  0.049956  0.049956\n",
      "8                  0.158889  0.128034 -0.092052  0.409830  0.025660  0.025660\n",
      "9                  0.022222  0.110807 -0.194956  0.239401  0.034259  0.034259\n",
      "10                 0.065510  0.045953 -0.024556  0.155575  0.199199  0.199199\n",
      "11                 0.114173  0.046876  0.022297  0.206049  0.191426  0.191426\n",
      "12                 0.045021  0.109182 -0.168971  0.259014  0.035286  0.035286\n",
      "13                 0.200000  0.126491 -0.047918  0.447918  0.026290  0.026290\n",
      "14                 0.150794  0.119749 -0.083910  0.385497  0.029334  0.029334\n",
      "15                -0.064777  0.150599 -0.359945  0.230390  0.018547  0.018547\n",
      "16                 0.034234  0.081457 -0.125418  0.193887  0.063395  0.063395\n",
      "fixed effect       0.096212  0.020509  0.056014  0.136410  1.000000       NaN\n",
      "random effect      0.096212  0.020509  0.056014  0.136410       NaN  1.000000\n",
      "fixed effect wls   0.096212  0.016521  0.063831  0.128593  1.000000       NaN\n",
      "random effect wls  0.096212  0.016521  0.063831  0.128593       NaN  1.000000\n"
     ]
    },
    {
     "data": {
      "image/png": "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TldffbWSk5OVkpKi2bNna//+/a3r582bJ8MwtHLlSj3//PMyDKPdkO7WrVtlGIa+9a1vSZIGDx581JCux+PR/PnzdeKJJyoxMVGXXnqpampq2uXYt2+f5s6dq4EDByohIUEXXHCBduzY0S7Dk08+qeeee641w6JFiwJ+nQCO78zKSsX5/QG/acdIivP7lVlZGc5YAKJEVA/p/uMf/9DDDz+sVatW6cQTT9SmTZskSY2NjTrppJP0hz/8QampqXr55Zf14x//WBkZGTr//PNb269YsUK/+93vtHjxYs2ePVsFBQX6wx/+IEl6/PHH9dRTT2ndunU68cQTdd1117V77rq6Ol1xxRW65pprVFpaqtdff1033nijxo4dq4suukiS9Omnn+rVV1/V/PnztWTJEr344ou64oor9Pzzz2vmzJkBvcbp06erb9++eumllxQbG6s777xTV199tZ5//nlJ0tKlS1VUVKRbb71V9fX1euqppySpdUj33HPPVW1trd5880398Ic/1M6dO5WcnNxuSPemm25SVVWVnn32WaWkpGjx4sW6/PLLtX37dvXp00eS9IMf/EBNTU16+umnlZqaqpdeekk1NTUaP358hxkSEhIC/rf0+XwBbwtEo279jpumssvLg28mKae8XBU5Od2avevz+WQw+xeIWN8c1TuWqC746urq9OSTTyotLU2SdOqpp0qShg8froceeqh1u5EjR+qxxx7Tpk2b2hV8V1xxhb7//e9Lauml+vWvf926btWqVfrxj3+sSy65RJJ033336fLLL29dv3btWrlcLj388MOKjY3V6NGj9dxzz+nxxx9vLfjGjBmjM844QxMnTlRNTY3Gjh2rCRMm6LPPPgvo9b3yyit64403tG/fvtYh2CVLluj000/XF1980To0m5iYKKfTqfj4eKWmprbbh8PhUGpqamsBOHjwYA0cOLB1fU1NjdasWaOdO3dq7NixkqRHHnlEJ5xwgrZt26aJEyfq5Zdf1ptvvqlPPvnkqGMtqdMMgVi8eHHQbYDewtnUpOSGhqDbxUhKbmiQ0+ORx+Xq8vMXFxd3uS2A8Fu4cGGn20TtkK4kDR06tLUAaevw4cN64IEHNH78eCUlJSkhIUHbt29XY2Nju+3atk1KSlJ9fX3r4+rqap122mmtj8eNG9eu7e7duzV27FjFxn5dM59xxhnthoX7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U61YsUInnXSSlixZohdffFENDQ16/vnnA36N06dP1759+/TSSy/plVdekdvt1tVXX926funSpaqtrVVubq4mT56s2tpa1dbW6txzz5X09VDo//zP/0iSdu7cqdraWi1durR1HzfddJPefvttPfvss9q2bZsGDx6syy+/XIcPH27d5gc/+IF27Nihp59+Wu+9957y8vJai8KOMvznf/5nQK9x0qRJ2rZt2zHXvfvuu5o0aVJA+3n66ae1ZMkSPf7449q1a5d++9vfKiEhIaC2AAJzZmWl4vz+gN+0YyTF+f3KrKwMZywAUaJLQ7p1dXV68sknlZaWJkk69dRTJUnDhw/XQw891LrdyJEj9dhjj2nTpk06//zzW5dfccUV+v73vy+ppZfq17/+deu6VatW6cc//rEuueQSSdJ9992nyy+/vHX92rVr5XK59PDDDys2NlajR4/Wc889p8cff1wXXXSRJGnMmDE644wzNHHiRNXU1Gjs2LGaMGGCPvvss4Be3yuvvKI33nhD+/btU2JioqSWiRenn366vvjiC6WmpioxMVGJiYlyOp2Kj49Xampqu318cyh08ODBGjhwYOv6mpoarVmzRjt37mwdDn7kkUd0wgknaNu2bZo4caJefvllvfnmm/rkk0+OOtaSOs3QmUmTJik/P18+n0979+7Vf/3Xf+mJJ57Q3//+d7ndbmVnZwe0n5qaGg0YMECXXHKJYmNjNWLEiKBySOry+UxANAr69900lV1eHvTzmJJyystVkZMT1Oxdn8/HOXxAFHE4HJ1u06WCb+jQoa0FSFuHDx9WUVGRSktL9fnnn8vv98vj8ei8885rt13btklJSaqvr299XF1drVtvvbX18bhx49q13b17t8aOHavY2K+jn3HGGXr22WdbH/ft27f1Z9u/ewIc2vjggw906NAhDRs27Kh1e/bsCbqwOpYdO3bINE2dc8457Zabpqk9e/Zo4sSJ+vDDDzs81qFwxhlnKC4uTjt27FBFRYWeffZZXXvttaqrq9Npp53WWux25gc/+IGWLFmijIwMTZkyReeff75yc3MD+gU8YvHixV19GYDtOZualNzQEHS7GEnJDQ1yejzyuFwBtysuLg76uQBYZ+HChZ1u06WCb8CAAcdcXlxcrCVLlujRRx9VVlaWHA6HZsyYoebm5vZPGtv+ac1/n2h8RGffLL+5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",
      "text/plain": [
       "<Figure size 600x800 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "res5 = combine_effects(\n",
    "    eff, var_eff, method_re=\"iterated\", use_t=False\n",
    ")  # , row_names=rownames)\n",
    "res5_df = res5.summary_frame()\n",
    "print(\"method RE:\", res5.method_re)\n",
    "print(\"RE variance tau2:\", res5.tau2)\n",
    "print(res5.summary_frame())\n",
    "fig = res5.plot_forest()\n",
    "fig.set_figheight(8)\n",
    "fig.set_figwidth(6)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### changing data to have positive random effects variance"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 18,  19,  12,  22],\n",
       "       [ 22,  34,  12,  35],\n",
       "       [ 21,  72,  15,  68],\n",
       "       [ 14,  22,   5,  20],\n",
       "       [ 42,  70,  13,  32],\n",
       "       [ 80, 183,  33,  94],\n",
       "       [ 13,  26,  18,  50],\n",
       "       [ 37,  61,  30,  55],\n",
       "       [ 23,  36,  12,  25],\n",
       "       [ 19,  45,  14,  35],\n",
       "       [106, 246,  76, 208],\n",
       "       [170, 386,  46, 141],\n",
       "       [ 34,  59,  17,  32],\n",
       "       [ 18,  45,   3,  15],\n",
       "       [ 13,  14,  14,  18],\n",
       "       [ 12,  26,  10,  19],\n",
       "       [ 42,  74,  40,  75]])"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dta_c = dta.copy()\n",
    "dta_c.T[0, 0] = 18\n",
    "dta_c.T[1, 0] = 22\n",
    "dta_c.T"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "method RE: iterated\n",
      "                        eff    sd_eff    ci_low    ci_upp      w_fe      w_re\n",
      "0                  0.401914  0.117873  0.170887  0.632940  0.029850  0.038415\n",
      "1                  0.304202  0.114692  0.079410  0.528993  0.031529  0.040258\n",
      "2                  0.071078  0.073470 -0.072919  0.215076  0.076834  0.081017\n",
      "3                  0.386364  0.141044  0.109922  0.662805  0.020848  0.028013\n",
      "4                  0.193750  0.104721 -0.011499  0.398999  0.037818  0.046915\n",
      "5                  0.086095  0.061385 -0.034218  0.206407  0.110063  0.102907\n",
      "6                  0.140000  0.119262 -0.093749  0.373749  0.029159  0.037647\n",
      "7                  0.061103  0.091761 -0.118746  0.240951  0.049255  0.058097\n",
      "8                  0.158889  0.128034 -0.092052  0.409830  0.025300  0.033270\n",
      "9                  0.022222  0.110807 -0.194956  0.239401  0.033778  0.042683\n",
      "10                 0.065510  0.045953 -0.024556  0.155575  0.196403  0.141871\n",
      "11                 0.114173  0.046876  0.022297  0.206049  0.188739  0.139144\n",
      "12                 0.045021  0.109182 -0.168971  0.259014  0.034791  0.043759\n",
      "13                 0.200000  0.126491 -0.047918  0.447918  0.025921  0.033985\n",
      "14                 0.150794  0.119749 -0.083910  0.385497  0.028922  0.037383\n",
      "15                -0.064777  0.150599 -0.359945  0.230390  0.018286  0.024884\n",
      "16                 0.034234  0.081457 -0.125418  0.193887  0.062505  0.069751\n",
      "fixed effect       0.110252  0.020365  0.070337  0.150167  1.000000       NaN\n",
      "random effect      0.117633  0.024913  0.068804  0.166463       NaN  1.000000\n",
      "fixed effect wls   0.110252  0.022289  0.066567  0.153937  1.000000       NaN\n",
      "random effect wls  0.117633  0.024913  0.068804  0.166463       NaN  1.000000\n"
     ]
    },
    {
     "data": {
      "image/png": "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paSkaPbs2dq/f3/r+nnz5skwDK1cuVLPP/+8DMNoN6S7detWGYahb33rW5KkgQMHHjWk6/F4NH/+fJ188slKTEzUZZddppqamnY59u3bp7lz56p///5KSEjQhRdeqB07drTL8OSTT+q5555rzbBo0aKAXyeArjurslJxfn/Ab+wxkuL8fmVWVoYzFoAIENVDuv/4xz/08MMPa9WqVTr55JO1adMmSVJjY6NOOeUU/eEPf1Bqaqpefvll/fjHP1ZGRoYuuOCC1vYrVqzQ7373Oy1evFizZ89WQUGB/vCHP0iSHn/8cT311FNat26dTj75ZF133XXtnruurk5XXHGFrrnmGpWWlur111/XjTfeqDFjxujiiy+WJH366ad69dVXNX/+fC1ZskQvvviirrjiCj3//POaOXNmQK9x+vTp6t27t1566SXFxsbqzjvv1NVXX63nn39ekrR06VIVFRXp1ltvVX19vZ566ilJah3SPe+881RbW6s333xTP/zhD7Vz504lJye3G9K96aabVFVVpWeffVYpKSlavHixpk6dqu3bt6tXr16SpB/84AdqamrS008/rdTUVL300kuqqanRuHHjOsyQkJAQ8L+lz+cLeFvALkL6e2+ayi4vD76ZpJzyclXk5IR09q7P55PBbGCgW3xzVO9Yorrgq6ur05NPPqm0tDRJ0siRIyVJQ4cO1UMPPdS63fDhw/XYY49p06ZN7Qq+K664Qt///vcltfRS/frXv25dt2rVKv34xz/WpZdeKkm67777NHXq1Nb1a9eulcvl0sMPP6zY2FiNGjVKzz33nB5//PHWgm/06NE688wzNWHCBNXU1GjMmDEaP368Pvvss4Be3yuvvKI33nhD+/btax2CXbJkic444wx98cUXrUOziYmJcjqdio+PV2pqart9OBwOpaamthaAAwcOVP/+/VvX19TUaM2aNdq5c6fGjBkjSXrkkUd00kknadu2bZowYYJefvllvfnmm/rkk0+OOtaSOs0QiMWLFwfdBsDXnE1NSm5oCLpdjKTkhgY5PR55XK6Q5SkuLg7ZvgAc38KFCzvdJmqHdCVp8ODBrQVIW4cPH9YDDzygcePGKSkpSQkJCdq+fbsaGxvbbde2bVJSkurr61sfV1dX6/TTT299PHbs2HZtd+/erTFjxig29uua+cwzz2w3LNy7d+/Wn23/7gnw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166wPPLaJGnFihWqra1tVzx1dizq6up00UUX6ZxzzlFlZaWeeuoplZSUqLi4uHUfVVVVuvTSSzVx4kS9++672rBhg5qbm4+boba2Vqeeemqnr9HpdCozM/OYBd+2bds0aNAgnXbaaQEdr1tuuUUHDhzQa6+9pnfeeUc//vGPT6jIBhC8syorFef3B/xmHiMpzu9XZmVlOGMBiDAhHdJtO/wXHx+v1NTUo7bp37+/JHV4zseNN96oF154QTfddJP27NmjG264QZMmTWpd//Of/1y33HKLrr76aknSiBEj9Mwzz+iJJ55QTk6Ofv/73ysxMVEPPPCAYmJiVFRUpKeeeiqo17F48WJNmzZNt99+uyQpLS1N11xzjVatWqXc3FxJavfa+vXrd9Rr7exYPProo0pPT9cvfvELSVJGRobuuOMOLVu2THfeeack6Re/+IUmTpyohx9+uLXdueee2/r3zjJ0ZuLEia0F35NPPim3261bb71V77zzTrsivTM1NTW65JJLNG7cOEnSyJEjg8ohKaTnMgHRICS/86ap7H9/2Q2qmaSc8nJV5OR0efauz+fjHD7AYseaQ/BNEXlZlpUrV2r06NEaOHCgHnzwwXbrPvjgA7311lt67LHHWpf5fD595zvfkdRyztzo0aMVE9PyfbdXr14aPXp0UM//wQcfaMeOHUpISGhd5vf7NXTo0BN8Rcd+jvfee6/dcxw+fFiHDx9uffzhhx/qe9/7Xsie85smTpzYenyXL1+uurq61oLv4osvDng/N9xwg2677TZt27ZN559/vr7//e8rOzs7qCyLFy8OansAkrOpSckNDUG3i5GU3NAgp8cjzzFGW4LRdlQCgDUWLlzY6TYRWfD95S9/UVNTkz7//HN9/vnnSktLa7d+0aJFR81IdTqdrX8PxbfNG264Qbfeemu7ZXFxcV3eb1uXX365HnrooQ7Xm6YZ1m/OEydO1F/+8hft3btXhw8fVnp6unbt2qV3331XP/vZzwLez80336ypU6dq8+bN2rhxo4qKirR27VrNnDkzbNkBSI4u9hI6vN4uF3wAokPEFXxut1tXXnmlioqK9Je//EWzZ8/WG2+8odjYlqjjxo3Tnj17lN7BDLP09HStW7dOzc3NiomJ0eHDh7Vr165jXiOvI+PGjdNHH33U4XOEwrhx41RWVqYRI0a09kYea5vXXnut033FxcUdNdkjEMOGDdPAgQNVXFysiy++WIMGDdKqVavkdrs1fvz4dtsmJCTob3/7W4f7Gjp0qK677jpdd911mjJliv73f/83qIKvsLAw6PxANPN6vV3uHfMFMIxz3PYhmF2bn5/PLF0gCnRrwefxePTll19Kaum9+vLLL/XFF1+oV69eGjBggKSWnrWMjAzdcsst8ng8ysrK0qJFi3T//fdLku69915deumlGjlypKZNm6Yvv/xSmzZt0vDhw3XllVdq1qxZKigo0N1336158+Zp5cqV2r9/f1A5CwsLdeaZZ6qgoEBXX321/H6/Xn75ZZmm2XpeX1fdfPPNeuSRR3TttdfqtttuU1xcnN5880399a9/1QMPPCBJuuuuu5SZmakFCxbommuu0VdffaVVq1YdNWM4PT1dGzZs0CWXXNJ6zmCgPYMTJkzQ7373O/3v//6vBg8erHPPPVdZWVnq3bt3u+3OPvtsrV69Wm+99ZaGDx+upKSk1jf522+/vfXfpKamRu++++5RvaOdCeT8A8BOzH9fKqUrPC6X6pOS1K+hIagZeM2S3ElJ8rQZGTlRDoeD/79AFOjWe+mWlZVp0KBBGjRokJqamnTbbbdp0KBBrRMRVq9erRdffFGrV6+WYRhyuVx66qmntGTJEr366quSpIsuukhr165VSUmJxo0bp8suu0wVFRUaNWqUpJZJIevWrdO6det01llnqba2Nqjz0aSW2cKbNm3Sa6+9prPPPlsXXnihNmzYoNNPPz1kx6J///7asmWL9u7dq/PPP18TJ07UE0880e45Tj/9dG3atEmvv/66xo8fr0svvVRN/76oalu//vWv9d5772ngwIFyOp369NNPA84xceJENTc36/zzz9eoUaOUkpKiCRMmHLXdlVdeqenTp+u73/2uBg0apBdeeKF1XXNzs37yk59ozJgxuvLKKzV79mwtWLAgyCMCIGiGoYqcHAV74ochqTwEEzYARA/DDMXXTABAULxeb0guvBzv8Si/uFixAV6apdkwdCg2VsX5+fKGoIePCy8D0aFbe/gAAKHldTq1Li9PMgw1d7LtkfVleXkhKfYARA96+ADAAmG/l26bt3bzyNCty8W9dIEeioIPAOzC7ZbWrJGWLZOqq79enpYmzZ8vzZ0rJSZaFg+AdSj4AMBuTFOqr5cOHJD69pWSk5mgAfRwFHwAAAA2x6QNAAAAm6PgAwAAsDkKPgAAAJuj4AMAALA5Cj4AAACbo+ADAACwOQo+AAAAm6PgAwAAsDkKPgAAAJuj4AMAALA5Cj4AAACbi7U6AAAgjExTqquTGhulhAQpJUUyDKtTAehmEd/Dt3//fhmGoa1bt1od5ZgaGho0ZcoU9enTp8OcS5Ys0cknnyzDMDRv3rxuz9gVW7dulWEYrX/2799vdSQAgXC7paVLpYwMacAAafjwlp8ZGS3L3W6rEwLoRvTwddHy5cv14Ycf6p133lFSUpKSk5Pbrd+7d6/uuusurVixQlOmTJHT6Qx5hnnz5mn//v3auHFjyPd93nnnqba2Vm+++aZ++MMfhnz/QE9mmqZ8Pl/I92ts3qy4mTOlpqaWx22fc88e6fbbpbvvlr+0VObkySF/fklyOBwy6EkEIgYFXxdVV1dr3LhxGjNmzDHX79mzR83NzZo6daoGDBjQzem6zuFwKDU19ahCFkDX+Xw+FRUVhXSfabt3a3ZJiUzTPOYQjmGakqTmgwcVO22a1s6Zo+r09JBmkKSCggLFx8eHfL8ATkzQQ7qLFi3S2LFj9cwzzygjI0O9e/fWhAkTJEl1dXWaNWuWhgwZovj4eI0aNUorV65s137YsGG6++67NW3aNLlcLp1zzjnavXt36/rDhw/r1ltv1UknnaTBgwdr7dq1R2V46aWXlJWVpfj4eA0dOlSPPvpo67rVq1crMzNTOTk5Sk9P1/Lly3XqqacqJydH//rXvwJ+nXV1dbr66quVnJyslJQUzZ49u91w5rx582QYhlauXKnnn3++dcjzyJDukaHQb33rW5KkgQMHHjWk6/F4NH/+fJ188slKTEzUZZddppqamnY59u3bp7lz56p///5KSEjQhRdeqB07drTL8OSTT+q5555rzbBo0aKAXuOVV16pn/70p8dc993vflc///nPA9qPaZq65557dOqpp6p3797KyMho928CoHvEezzKLSuTOij22oqRJNNUblmZ4j2ebkgHwEondA7fP/7xDz388MNatWqVPvjgA82ePVuS1NjYqFNOOUV/+MMftGvXLt111126/vrr9eqrr7Zrv2LFCl1zzTXatm2b/H6/CgoKWtc9/vjjeuqpp7Ru3To999xzevLJJ9u1raur0xVXXKELLrhAH3zwge69917dfvvt2rJlS+s2n376qVasWKFTTjlFS5Ys0YsvvqiGhgY9//zzAb/G6dOna9++fXrppZf0yiuvyO126+qrr25dv3TpUtXW1io3N1eTJk1SbW2tamtrdd5550n6eij0f/7nfyRJO3fuVG1trZYuXdq6j5tuuklvv/22nn32WW3btk0DBw7U1KlTdfjw4dZtfvCDH2jHjh16+umn9d577ykvL6+1KOwow3/+538G9BonTpyobdu2HXPdu+++q4kTJwa0n6efflpLlizR448/rl27dum3v/2tEhISAmoLIHTOqqxUnN8f8Bt7jKQ4v1+ZlZXhjAUgApzQkG5dXZ2efPJJpaWlSZJGjhwpSRo6dKgeeuih1u2GDx+uxx57TJs2bdIFF1zQuvyKK67Q97//fUktvVS//vWvW9etWrVKP/7xj3XppZdKku677z5NnTq1df3atWvlcrn08MMPKzY2VqNGjdJzzz2nxx9/XBdffLEkafTo0TrzzDM1YcIE1dTUaMyYMRo/frw+++yzgF7fK6+8ojfeeEP79u1TYmKipJaJF2eccYa++OILpaamKjExUYmJiXI6nYqPj1dqamq7fXxzKHTgwIHq379/6/qamhqtWbNGO3fubB0OfuSRR3TSSSdp27ZtmjBhgl5++WW9+eab+uSTT4461pI6zdCZiRMnKj8/Xz6fT3v37tV//dd/6YknntDf//53ud1uZWdnB7Sfmpoa9evXT5deeqliY2M1bNiwoHJICst5TECkC+nvvWkqu7w8+GaScsrLVZGTE9LZuz6fj3P4gG7icDg63eaECr7Bgwe3FiBtHT58WEVFRSotLdXnn38uv98vj8ej888/v912bdsmJSWpvr6+9XF1dbVuvfXW1sdjx45t13b37t0aM2aMYmO/jn7mmWfq2WefbX3cu3fv1p9t/+4JcNjigw8+0KFDhzRkyJCj1u3ZsyfowupYduzYIdM0de6557Zbbpqm9uzZowkTJujDDz/s8FiHwplnnqm4uDjt2LFDFRUVevbZZ3Xttdeqrq5Op59+emux25kf/OAHWrJkiTIyMjR58mRdcMEFys3NDegX8IjFixef6MsAIMnZ1KTkhoag28VISm5okNPjkcflClme4uLikO0LwPEtXLiw021OqODr16/fMZcXFxdryZIlevTRR5WVlSWHw6EZM2aoubm5/ZPGtn9a898nER/R2bfCb643TTOg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gaHgA6JEVVWVKcl8++23W5e99dZbpiRz165dAe+noqLClNTph4PdZWdnmzfeeGO7ZaNHjzYLCgqOuf2dd95pjh49ut2yG264wZwwYULYMkarYI/tsZx++unmfffdF+potnCixzcvL8/82c9+Zi5cuJCCrwPBHtsXXnjBTExMNOvq6rojXpcwpAtEibfeekuJiYnKyclpXTZhwgQlJibqzTffDHg/X375pQzDUL9+/cKQMjr4fD69++67+u53v9tu+Xe/+90Oj+Vbb7111PaXXHKJ3nnnHfn9/rBljTYncmy/qbm5WQcOHFBycnI4Ika1Ez2+TzzxhKqrq7Vw4cJwR4xaJ3Js//jHP+qcc87RL3/5Sw0ZMkQjR47Uf/7nf8rj8XRH5KDEWh0AQGC++OILDRw48KjlAwcO1BdffBHQPr766isVFBRo9uzZUXfj71Dav3+/Dh8+rJNPPrnd8pNPPrnDY/nFF18cc/tDhw5p//79GjRoUNjyRpMTObbf9PDDD+vgwYPKzc0NR8SodiLH95NPPlFBQYFee+01xcbysd+REzm2e/bs0euvv67evXvrmWee0f79+/WTn/xE9fX1EXceHz18gMUWLVokwzCO++edd96RJBmGcVR70zSPufyb/H6/Zs6cqebmZv3mN78J+euIRt88bp0dy2Ntf6zlCP7YHvH73/9eixYtUllZ2TG/4KBFoMf38OHDmj17tu677z6NHDmyu+JFtWB+d5ubm2UYhkpKSpSdna0pU6aouLhYq1evjrhePkp9wGI333yzZs6cedxthg0bpg8++ED/+Mc/jlq3b9++o76RfpPf71dubq7++te/6qWXXurRvXuS1L9/f/Xq1euob+3//Oc/OzyWqampx9w+NjZWKSkpYcsabU7k2B5RVlama6+9VuvXr9ekSZPCGTNqBXt8Dxw4oHfeeUfvv/++br75ZkktRYppmoqNjdWLL76oiy66qFuyR7oT+d0dNGiQhgwZosTExNZlY8aMkWma+vzzz5WRkRHWzMGghw+wWP/+/TV69Ojj/undu7cmTpyoL7/8UhUVFa1ty8vL9eWXX+q8887rcP9Hir1PPvlEf/7znylOJDkcDp199tnavHlzu+WbN2/u8FhOnDjxqO1ffPFFnXPOOYqLiwtb1mhzIsdWaunZmzdvntauXavLLrss3DGjVrDH96STTtKOHTu0ffv21j833nijRo0ape3bt7c7J7inO5Hf3fPPP1979+5VY2Nj67KPP/5YMTExOuWUU8KaN2jWzRcBEKxLL73UPPPMM8233nrLfOutt8xx48YddVmWUaNGmU8//bRpmqbp9/vNadOmmaeccoq5fft2s7a2tvWP1+u14iVEjCOXX1i5cqVZVVVl3nbbbWafPn3Mmpoa0zRNs6CgwLzqqqtatz9yWZbbb7/drKqqMleuXMllWToQ7LFdu3atGRsbaz722GPtfkfdbrdVLyGiBXt8v4lZuh0L9tgeOHDAPOWUU8zp06ebO3fuNF955RUzIyPDvO6666x6CR2i4AOiSF1dnTlnzhyzb9++Zt++fc05c+aYDQ0N7baRZD7xxBOmaZrmX//6V1PSMf+8/PLL3Z4/0jz22GPm0KFDTYfDYY4fP9585ZVXWtfNnTvX/Pa3v91u+61bt5pZWVmmw+Ewhw0bZj7++OPdnDh6BHNsv/3tbx/zd3Tu3LndHzxKBPu72xYF3/EFe2z/8pe/mJMmTTKdTqd5yimnmPn5+WZTU1M3p+6cYZr/PusYAAAAtsQ5fAAAADZHwQcAAGBzFHwAAAA2R8EHAABgcxR8AAAANkfBBwAAYHMUfAAAADZHwQcAAGBzFHwAAAA2R8EHAABgcxR8AAAANkfBBwAAYHP/H7558aEyqAkAAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 600x800 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "eff, var_eff = effectsize_2proportions(*dta_c, statistic=\"rd\")\n",
    "res5 = combine_effects(\n",
    "    eff, var_eff, method_re=\"iterated\", use_t=False\n",
    ")  # , row_names=rownames)\n",
    "res5_df = res5.summary_frame()\n",
    "print(\"method RE:\", res5.method_re)\n",
    "print(res5.summary_frame())\n",
    "fig = res5.plot_forest()\n",
    "fig.set_figheight(8)\n",
    "fig.set_figwidth(6)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "method RE: chi2\n",
      "                        eff    sd_eff    ci_low    ci_upp      w_fe      w_re\n",
      "0                  0.401914  0.117873  0.170887  0.632940  0.029850  0.036114\n",
      "1                  0.304202  0.114692  0.079410  0.528993  0.031529  0.037940\n",
      "2                  0.071078  0.073470 -0.072919  0.215076  0.076834  0.080779\n",
      "3                  0.386364  0.141044  0.109922  0.662805  0.020848  0.025973\n",
      "4                  0.193750  0.104721 -0.011499  0.398999  0.037818  0.044614\n",
      "5                  0.086095  0.061385 -0.034218  0.206407  0.110063  0.105901\n",
      "6                  0.140000  0.119262 -0.093749  0.373749  0.029159  0.035356\n",
      "7                  0.061103  0.091761 -0.118746  0.240951  0.049255  0.056098\n",
      "8                  0.158889  0.128034 -0.092052  0.409830  0.025300  0.031063\n",
      "9                  0.022222  0.110807 -0.194956  0.239401  0.033778  0.040357\n",
      "10                 0.065510  0.045953 -0.024556  0.155575  0.196403  0.154854\n",
      "11                 0.114173  0.046876  0.022297  0.206049  0.188739  0.151236\n",
      "12                 0.045021  0.109182 -0.168971  0.259014  0.034791  0.041435\n",
      "13                 0.200000  0.126491 -0.047918  0.447918  0.025921  0.031761\n",
      "14                 0.150794  0.119749 -0.083910  0.385497  0.028922  0.035095\n",
      "15                -0.064777  0.150599 -0.359945  0.230390  0.018286  0.022976\n",
      "16                 0.034234  0.081457 -0.125418  0.193887  0.062505  0.068449\n",
      "fixed effect       0.110252  0.020365  0.070337  0.150167  1.000000       NaN\n",
      "random effect      0.115580  0.023557  0.069410  0.161751       NaN  1.000000\n",
      "fixed effect wls   0.110252  0.022289  0.066567  0.153937  1.000000       NaN\n",
      "random effect wls  0.115580  0.024241  0.068068  0.163093       NaN  1.000000\n"
     ]
    },
    {
     "data": {
      "image/png": "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qMkegRg2bJgGDhyo4uJiXXzxxRo0aJBWrVolt9ut8ePHt9s2ISFBf/vb3zrc19ChQ3Xdddfpuuuu05QpU/S///u/QRV8hYWFQecHopnX6+1y75gvgGGc47YPweza/Px8ZukCUaBbCz6Px6Mvv/xSUkvv1ZdffqkvvvhCvXr10oABAyS19KxlZGTolltukcfjUVZWlhYtWqT7779fknTvvffq0ksv1ciRIzVt2jR9+eWX2rRpk4YPH64rr7xSs2bNUkFBge6++27NmzdPK1eu1P79+4PKWVhYqDPPPFMFBQW6+uqr5ff79fLLL8s0zdbz+rrq5ptv1iOPPKJrr71Wt912m+Li4vTmm2/qr3/9qx544AFJ0l133aXMzEwtWLBA11xzjb766iutWrXqqBnD6enp2rBhgy655JLWcwYD7RmcMGGCfve73+l///d/NXjwYJ177rnKyspS796922139tlna/Xq1Xrrrbc0fPhwJSUltb7J33777a3/JjU1NXr33XeP6h3tTCDnHwB2Yv77Uild4XG5VJ+UpH4NDUHNwGuW5E5KkqfNyMiJcjgc/P8FokC33ku3rKxMgwYN0qBBg9TU1KTbbrtNgwYNap2IsHr1ar344otavXq1DMOQy+XSU089pSVLlujVV1+VJF100UVau3atSkpKNG7cOF122WWqqKjQqFGjJLVMClm3bp3WrVuns846S7W1tUGdjya1zBbetGmTXnvtNZ199tm68MILtWHDBp1++ukhOxb9+/fXli1btHfvXp1//vmaOHGinnjiiXbPcfrpp2vTpk16/fXXNX78eF166aVq+vdFVdv69a9/rffee08DBw6U0+nUp59+GnCOiRMnqrm5Weeff75GjRqllJQUTZgw4ajtrrzySk2fPl3f/e53NWjQIL3wwgut65qbm/WTn/xEY8aM0ZVXXqnZs2drwYIFQR4RAEEzDFXk5CjYEz8MSeUhmLABIHoYZii+ZgIAguL1ekNy4eV4j0f5xcWKDfDSLM2GoUOxsSrOz5c3BD18XHgZiA7d2sMHAAgtr9OpdXl5kmGouZNtj6wvy8sLSbEHIHrQwwcAFgj7vXTbvLWbR4ZuXS7upQv0UBR8AGAXbre0Zo20bJlUXf318rQ0af58ae5cKTHRsngArEPBBwB2Y5pSfb104IDUt6+UnMwEDaCHo+ADAACwOSZtAAAA2BwFHwAAgM1R8AEAANgcBR8AAIDNUfABAADYHAUfAACAzVHwAQAA2BwFHwAAgM1R8AEAANgcBR8AAIDNUfABAADYXKzVAQAAYWSaUl2d1NgoJSRIKSmSYVidCkA3i/gevv3798swDG3dutXqKMfU0NCgKVOmqE+fPh3mXLJkiU4++WQZhqF58+Z1e8au2Lp1qwzDaP2zf/9+qyMBCITbLS1dKmVkSAMGSMOHt/zMyGhZ7nZbnRBAN6KHr4uWL1+uDz/8UO+8846SkpKUnJzcbv3evXt11113acWKFZoyZYqcTmfIM8ybN0/79+/Xxo0bQ77v8847T7W1tXrzzTf1wx/+MOT7B3oy0zTl8/lCvl9j82bFzZwpNTW1PG77nHv2SLffLt19t/ylpTInTw7pczscDhn0IAIRh4Kvi6qrqzVu3DiNGTPmmOv37Nmj5uZmTZ06VQMGDOjmdF3ncDiUmpp6VCELoOt8Pp+KiopCus+03bs1u6REpmkecwjHME1JUvPBg4qdNk1r58xRdXp6yJ6/oKBA8fHxIdsfgNAIekh30aJFGjt2rJ555hllZGSod+/emjBhgiSprq5Os2bN0pAhQxQfH69Ro0Zp5cqV7doPGzZMd999t6ZNmyaXy6VzzjlHu3fvbl1/+PBh3XrrrTrppJM0ePBgrV279qgML730krKyshQfH6+hQ4fq0UcfbV23evVqZWZmKicnR+np6Vq+fLlOPfVU5eTk6F//+lfAr7Ourk5XX321kpOTlZKSotmzZ7cbzpw3b54Mw9DKlSv1/PPPtw55HhnSPTIU+q1vfUuSNHDgwKOGdD0ej+bPn6+TTz5ZiYmJuuyyy1RTU9Mux759+zR37lz1799fCQkJuvDCC7Vjx452GZ588kk999xzrRkWLVoU0Gu88sor9dOf/vSY67773e/q5z//eUD7MU1T99xzj0499VT17t1bGRkZ7f5NAHSPeI9HuWVlUgfFXlsxkmSayi0rU7zH0w3pAFjphM7h+8c//qGHH35Yq1at0gcffKDZs2dLkhobG3XKKafoD3/4g3bt2qW77rpL119/vV599dV27VesWKFrrrlG27Ztk9/vV0FBQeu6xx9/XE899ZTWrVun5557Tk8++WS7tnV1dbriiit0wQUX6IMPPtC9996r22+/XVu2bGnd5tNPP9WKFSt0yimnaMmSJXrxxRfV0NCg559/PuDXOH36dO3bt08vvfSSXnnlFbndbl199dWt65cuXara2lrl5uZq0qRJqq2tVW1trc477zxJXw+F/s///I8kaefOnaqtrdXSpUtb93HTTTfp7bff1rPPPqtt27Zp4MCBmjp1qg4fPty6zQ9+8APt2LFDTz/9tN577z3l5eW1FoUdZfjP//zPgF7jxIkTtW3btmOue/fddzVx4sSA9vP0009ryZIlevzxx7Vr1y799re/VUJCQkBtAYTOWZWVivP7A35jj5EU5/crs7IynLEARIATGtKtq6vTk08+qbS0NEnSyJEjJUlDhw7VQw891Lrd8OHD9dhjj2nTpk264IILWpdfccUV+v73vy+ppZfq17/+deu6VatW6cc//rEuvfRSSdJ9992nqVOntq5fu3atXC6XHn74YcXGxmrUqFF67rnn9Pjjj+viiy+WJI0ePVpnnnmmJkyYoJqaGo0ZM0bjx4/XZ599FtDre+WVV/TGG29o3759SkxMlNQy8eKMM87QF198odTUVCUmJioxMVFOp1Px8fFKTU1tt49vDoUOHDhQ/fv3b11fU1OjNWvWaOfOna3DwY888ohOOukkbdu2TRMmTNDLL7+sN998U5988slRx1pSpxk6M3HiROXn58vn82nv3r36r//6Lz3xxBP6+9//Lrfbrezs7ID2U1NTo379+unSSy9VbGyshg0bFlQOSWE5jwmIdCH9vTdNZZeXB99MUk55uSpyckIye9fn83EOH9DNHA5Hp9ucUME3ePDg1gKkrcOHD6uoqEilpaX6/PPP5ff75fF4dP7557fbrm3bpKQk1dfXtz6urq7Wrbfe2vp47Nix7dru3r1bY8aMUWzs19HPPPNMPfvss62Pe/fu3fqz7d89AQ5bfPDBBzp06JCGDBly1Lo9e/YEXVgdy44dO2Saps4999x2y03T1J49ezRhwgR9+OGHHR7rUDjzzDMVFxenHTt2qKKiQs8++6yuvfZa1dXV6fTTT28tdjvzgx/8QEuWLFFGRoYmT56sCy64QLm5uQH9Ah6xePHiE30ZACQ5m5qU3NAQdLsYSckNDXJ6PPK4XF3OUVxc3OV9AAjOwoULO93mhAq+fv36HXN5cXGxlixZokcffVRZWVlyOByaMWOGmpub2z9pbPunNf99EvERnX07/OZ60zQD+kb5zec5ntTU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",
      "text/plain": [
       "<Figure size 600x800 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "res5 = combine_effects(eff, var_eff, method_re=\"chi2\", use_t=False)\n",
    "res5_df = res5.summary_frame()\n",
    "print(\"method RE:\", res5.method_re)\n",
    "print(res5.summary_frame())\n",
    "fig = res5.plot_forest()\n",
    "fig.set_figheight(8)\n",
    "fig.set_figwidth(6)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Replicate fixed effect analysis using GLM with var_weights\n",
    "\n",
    "`combine_effects` computes weighted average estimates which can be replicated using GLM with var_weights or with WLS.\n",
    "The `scale` option in `GLM.fit` can be used to replicate fixed meta-analysis with fixed and with HKSJ/WLS scale"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [],
   "source": [
    "from statsmodels.genmod.generalized_linear_model import GLM"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                        eff    sd_eff    ci_low    ci_upp  w_fe  w_re\n",
      "fixed effect       0.428037  0.090287  0.251076  0.604997   1.0   NaN\n",
      "random effect      0.429520  0.091377  0.250425  0.608615   NaN   1.0\n",
      "fixed effect wls   0.428037  0.090798  0.250076  0.605997   1.0   NaN\n",
      "random effect wls  0.429520  0.091595  0.249997  0.609044   NaN   1.0\n"
     ]
    }
   ],
   "source": [
    "eff, var_eff = effectsize_2proportions(*dta_c, statistic=\"or\")\n",
    "res = combine_effects(eff, var_eff, method_re=\"chi2\", use_t=False)\n",
    "res_frame = res.summary_frame()\n",
    "print(res_frame.iloc[-4:])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "We need to fix scale=1 in order to replicate standard errors for the usual meta-analysis."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "==============================================================================\n",
      "                 coef    std err          z      P>|z|      [0.025      0.975]\n",
      "------------------------------------------------------------------------------\n",
      "const          0.4280      0.090      4.741      0.000       0.251       0.605\n",
      "==============================================================================\n"
     ]
    }
   ],
   "source": [
    "weights = 1 / var_eff\n",
    "mod_glm = GLM(eff, np.ones(len(eff)), var_weights=weights)\n",
    "res_glm = mod_glm.fit(scale=1.0)\n",
    "print(res_glm.summary().tables[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array(1.), array([[-5.55111512e-17,  0.00000000e+00]]))"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# check results\n",
    "res_glm.scale, res_glm.conf_int() - res_frame.loc[\n",
    "    \"fixed effect\", [\"ci_low\", \"ci_upp\"]\n",
    "].values"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Using HKSJ variance adjustment in meta-analysis is equivalent to estimating the scale using pearson chi2, which is also the default for the gaussian family."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "==============================================================================\n",
      "                 coef    std err          z      P>|z|      [0.025      0.975]\n",
      "------------------------------------------------------------------------------\n",
      "const          0.4280      0.091      4.714      0.000       0.250       0.606\n",
      "==============================================================================\n"
     ]
    }
   ],
   "source": [
    "res_glm = mod_glm.fit(scale=\"x2\")\n",
    "print(res_glm.summary().tables[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(np.float64(1.0113358914264383), array([[-0.00100017,  0.00100017]]))"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# check results\n",
    "res_glm.scale, res_glm.conf_int() - res_frame.loc[\n",
    "    \"fixed effect\", [\"ci_low\", \"ci_upp\"]\n",
    "].values"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Mantel-Hanszel odds-ratio using contingency tables\n",
    "\n",
    "The fixed effect for the log-odds-ratio using the Mantel-Hanszel can be directly computed using StratifiedTable.\n",
    "\n",
    "We need to create a 2 x 2 x k contingency table to be used with `StratifiedTable`."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[18,  1],\n",
       "       [12, 10]])"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t, nt, c, nc = dta_c\n",
    "counts = np.column_stack([t, nt - t, c, nc - c])\n",
    "ctables = counts.T.reshape(2, 2, -1)\n",
    "ctables[:, :, 0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([18,  1, 12, 10])"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "counts[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([18, 19, 12, 22])"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "dta_c.T[0]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [],
   "source": [
    "import statsmodels.stats.api as smstats"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [],
   "source": [
    "st = smstats.StratifiedTable(ctables.astype(np.float64))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "compare pooled log-odds-ratio and standard error to R meta package"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(np.float64(0.4428186730553187), np.float64(-2.220446049250313e-16))"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "st.logodds_pooled, st.logodds_pooled - 0.4428186730553189  # R meta"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(np.float64(0.08928560091027186), np.float64(0.0))"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "st.logodds_pooled_se, st.logodds_pooled_se - 0.08928560091027186  # R meta"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(np.float64(0.2678221109331691), np.float64(0.6178152351774683))"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "st.logodds_pooled_confint()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "pvalue      0.34496419319878724\n",
      "statistic   17.64707987033203\n"
     ]
    }
   ],
   "source": [
    "print(st.test_equal_odds())"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "pvalue      6.615053645964153e-07\n",
      "statistic   24.724136624311814\n"
     ]
    }
   ],
   "source": [
    "print(st.test_null_odds())"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "check conversion to stratified contingency table\n",
    "\n",
    "Row sums of each table are the sample sizes for treatment and control experiments"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array([[ 19,  34,  72,  22,  70, 183,  26,  61,  36,  45, 246, 386,  59,\n",
       "         45,  14,  26,  74],\n",
       "       [ 22,  35,  68,  20,  32,  94,  50,  55,  25,  35, 208, 141,  32,\n",
       "         15,  18,  19,  75]])"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "ctables.sum(1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(array([ 19,  34,  72,  22,  70, 183,  26,  61,  36,  45, 246, 386,  59,\n",
       "         45,  14,  26,  74]),\n",
       " array([ 22,  35,  68,  20,  32,  94,  50,  55,  25,  35, 208, 141,  32,\n",
       "         15,  18,  19,  75]))"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nt, nc"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "**Results from R meta package**\n",
    "\n",
    "```\n",
    "> res_mb_hk = metabin(e2i, nei, c2i, nci, data=dat2, sm=\"OR\", Q.Cochrane=FALSE, method=\"MH\", method.tau=\"DL\", hakn=FALSE, backtransf=FALSE)\n",
    "> res_mb_hk\n",
    "     logOR            95%-CI %W(fixed) %W(random)\n",
    "1   2.7081 [ 0.5265; 4.8896]       0.3        0.7\n",
    "2   1.2567 [ 0.2658; 2.2476]       2.1        3.2\n",
    "3   0.3749 [-0.3911; 1.1410]       5.4        5.4\n",
    "4   1.6582 [ 0.3245; 2.9920]       0.9        1.8\n",
    "5   0.7850 [-0.0673; 1.6372]       3.5        4.4\n",
    "6   0.3617 [-0.1528; 0.8762]      12.1       11.8\n",
    "7   0.5754 [-0.3861; 1.5368]       3.0        3.4\n",
    "8   0.2505 [-0.4881; 0.9892]       6.1        5.8\n",
    "9   0.6506 [-0.3877; 1.6889]       2.5        3.0\n",
    "10  0.0918 [-0.8067; 0.9903]       4.5        3.9\n",
    "11  0.2739 [-0.1047; 0.6525]      23.1       21.4\n",
    "12  0.4858 [ 0.0804; 0.8911]      18.6       18.8\n",
    "13  0.1823 [-0.6830; 1.0476]       4.6        4.2\n",
    "14  0.9808 [-0.4178; 2.3795]       1.3        1.6\n",
    "15  1.3122 [-1.0055; 3.6299]       0.4        0.6\n",
    "16 -0.2595 [-1.4450; 0.9260]       3.1        2.3\n",
    "17  0.1384 [-0.5076; 0.7844]       8.5        7.6\n",
    "\n",
    "Number of studies combined: k = 17\n",
    "\n",
    "                      logOR           95%-CI    z  p-value\n",
    "Fixed effect model   0.4428 [0.2678; 0.6178] 4.96 < 0.0001\n",
    "Random effects model 0.4295 [0.2504; 0.6086] 4.70 < 0.0001\n",
    "\n",
    "Quantifying heterogeneity:\n",
    " tau^2 = 0.0017 [0.0000; 0.4589]; tau = 0.0410 [0.0000; 0.6774];\n",
    " I^2 = 1.1% [0.0%; 51.6%]; H = 1.01 [1.00; 1.44]\n",
    "\n",
    "Test of heterogeneity:\n",
    "     Q d.f. p-value\n",
    " 16.18   16  0.4404\n",
    "\n",
    "Details on meta-analytical method:\n",
    "- Mantel-Haenszel method\n",
    "- DerSimonian-Laird estimator for tau^2\n",
    "- Jackson method for confidence interval of tau^2 and tau\n",
    "\n",
    "> res_mb_hk$TE.fixed\n",
    "[1] 0.4428186730553189\n",
    "> res_mb_hk$seTE.fixed\n",
    "[1] 0.08928560091027186\n",
    "> c(res_mb_hk$lower.fixed, res_mb_hk$upper.fixed)\n",
    "[1] 0.2678221109331694 0.6178152351774684\n",
    " \n",
    "```\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {
    "execution": {
 
 
 
 
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "                   Estimate   LCB    UCB \n",
      "-----------------------------------------\n",
      "Pooled odds           1.557   1.307 1.855\n",
      "Pooled log odds       0.443   0.268 0.618\n",
      "Pooled risk ratio     1.270              \n",
      "                                         \n",
      "                 Statistic P-value \n",
      "-----------------------------------\n",
      "Test of OR=1        24.724   0.000 \n",
      "Test constant OR    17.647   0.345 \n",
      "                       \n",
      "-----------------------\n",
      "Number of tables   17  \n",
      "Min n              32  \n",
      "Max n             527  \n",
      "Avg n             139  \n",
      "Total n          2362  \n",
      "-----------------------\n"
     ]
    }
   ],
   "source": [
    "print(st.summary())"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "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.13.11"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
