"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"# https://zhuanlan.zhihu.com/p/115869172\n",
"import scipy.integrate as spi\n",
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"\n",
"# N为人群总数\n",
"N =11000000\n",
"# β为传染率系数\n",
"beta = 0.01\n",
"# gamma为恢复率系数\n",
"gamma = 0.1\n",
"#δ为受到治疗系数\n",
"δ = 0.3\n",
"# Te为疾病潜伏期\n",
"Te = 5\n",
"# I_0为感染未住院的初始人数\n",
"I_0 = 4058\n",
"# E_0为潜伏者的初始人数\n",
"E_0 = 3178\n",
"# R_0为治愈者的初始人数\n",
"R_0 = 91750\n",
"#T_0为治疗中的初始人数\n",
"T_0 = 53941\n",
"# S_0为易感者的初始人数\n",
"S_0 = N - I_0 - E_0 - R_0 - T_0\n",
"# T为传播时间\n",
"T = 100\n",
"\n",
"# INI为初始状态下的数组\n",
"INI = (S_0,E_0,I_0,R_0,T_0)\n",
"\n",
"def funcSEIR(inivalue,_):\n",
" Y = np.zeros(5)\n",
" X = inivalue\n",
" # 易感个体变化\n",
" Y[0] = - (beta * X[0] *( X[2]+X[1])) / N\n",
" # 潜伏个体变化\n",
" Y[1] = (beta * X[0] *( X[2]+X[1])) / N - X[1] / Te\n",
" # 感染未住院\n",
" Y[2] = X[1] / Te - δ * X[2]\n",
" # 治愈个体变化\n",
" Y[3] = gamma * X[4]\n",
" #治疗中个体变化\n",
" Y[4] = δ* X[2] - gamma* X[4]\n",
" return Y\n",
"\n",
"T_range = np.arange(0,T + 1)\n",
"\n",
"RES = spi.odeint(funcSEIR,INI,T_range)\n",
"\n",
"\n",
"plt.figure(figsize = [8, 8])\n",
"\n",
"plt.subplot(221)\n",
"plt.plot(RES[:,0],color = 'darkblue',label = 'Susceptible',marker = '.')\n",
"plt.yscale('log')\n",
"plt.xscale('log')\n",
"plt.legend()\n",
"plt.title('“SEITR” Model')\n",
"\n",
"plt.subplot(222)\n",
"plt.plot(RES[:,1],color = 'orange',label = 'Exposed',marker = '.')\n",
"plt.legend()\n",
"plt.subplot(223)\n",
"plt.plot(RES[:,2],color = 'red',label = 'Infection',marker = '.')\n",
"plt.legend()\n",
"plt.subplot(224)\n",
"plt.plot(RES[:,3],color = 'green',label = 'Recovery',marker = '.')\n",
"plt.plot(RES[:,4],color = 'purple',label = 'Under Treatment',marker = '.')\n",
"plt.legend()\n",
"\n",
"\n",
"plt.xlabel('Day')\n",
"plt.ylabel('Number')\n",
"plt.tight_layout()"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Install"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-02T06:08:23.554793Z",
"start_time": "2020-08-02T06:08:21.633737Z"
},
"scrolled": true,
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Requirement already satisfied: ndlib in /opt/anaconda3/lib/python3.7/site-packages (5.0.2)\n",
"Requirement already satisfied: python-igraph in /opt/anaconda3/lib/python3.7/site-packages (from ndlib) (0.8.2)\n",
"Requirement already satisfied: bokeh in /opt/anaconda3/lib/python3.7/site-packages (from ndlib) (1.4.0)\n",
"Requirement already satisfied: netdispatch in /opt/anaconda3/lib/python3.7/site-packages (from ndlib) (0.0.5)\n",
"Requirement already satisfied: numpy in /opt/anaconda3/lib/python3.7/site-packages (from ndlib) (1.18.1)\n",
"Requirement already satisfied: dynetx in /opt/anaconda3/lib/python3.7/site-packages (from ndlib) (0.2.3)\n",
"Requirement already satisfied: scipy in /opt/anaconda3/lib/python3.7/site-packages (from ndlib) (1.4.1)\n",
"Requirement already satisfied: networkx in /opt/anaconda3/lib/python3.7/site-packages (from ndlib) (2.4)\n",
"Requirement already satisfied: future in /opt/anaconda3/lib/python3.7/site-packages (from ndlib) (0.18.2)\n",
"Requirement already satisfied: texttable>=1.6.2 in /opt/anaconda3/lib/python3.7/site-packages (from python-igraph->ndlib) (1.6.2)\n",
"Requirement already satisfied: Jinja2>=2.7 in /opt/anaconda3/lib/python3.7/site-packages (from bokeh->ndlib) (2.11.1)\n",
"Requirement already satisfied: python-dateutil>=2.1 in /opt/anaconda3/lib/python3.7/site-packages (from bokeh->ndlib) (2.8.1)\n",
"Requirement already satisfied: tornado>=4.3 in /opt/anaconda3/lib/python3.7/site-packages (from bokeh->ndlib) (6.0.3)\n",
"Requirement already satisfied: pillow>=4.0 in /opt/anaconda3/lib/python3.7/site-packages (from bokeh->ndlib) (7.0.0)\n",
"Requirement already satisfied: packaging>=16.8 in /opt/anaconda3/lib/python3.7/site-packages (from bokeh->ndlib) (20.1)\n",
"Requirement already satisfied: six>=1.5.2 in /opt/anaconda3/lib/python3.7/site-packages (from bokeh->ndlib) (1.14.0)\n",
"Requirement already satisfied: PyYAML>=3.10 in /opt/anaconda3/lib/python3.7/site-packages (from bokeh->ndlib) (5.3)\n",
"Requirement already satisfied: decorator>=4.3.0 in /opt/anaconda3/lib/python3.7/site-packages (from networkx->ndlib) (4.4.1)\n",
"Requirement already satisfied: MarkupSafe>=0.23 in /opt/anaconda3/lib/python3.7/site-packages (from Jinja2>=2.7->bokeh->ndlib) (1.1.1)\n",
"Requirement already satisfied: pyparsing>=2.0.2 in /opt/anaconda3/lib/python3.7/site-packages (from packaging>=16.8->bokeh->ndlib) (2.4.6)\n",
"Note: you may need to restart the kernel to use updated packages.\n"
]
}
],
"source": [
"pip install ndlib"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"## Tutorial\n",
"https://ndlib.readthedocs.io/en/latest/tutorial.html"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-09T13:46:43.874822Z",
"start_time": "2020-08-09T13:46:41.520212Z"
},
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [],
"source": [
"import networkx as nx\n",
"import ndlib.models.epidemics as ep\n",
"import ndlib.models.ModelConfig as mc\n",
"from bokeh.io import output_notebook, show\n",
"from ndlib.viz.bokeh.DiffusionTrend import DiffusionTrend\n",
"from ndlib.viz.bokeh.DiffusionPrevalence import DiffusionPrevalence\n",
"from ndlib.viz.bokeh.MultiPlot import MultiPlot"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
" \n"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-02T06:26:41.325317Z",
"start_time": "2020-08-02T06:26:41.193007Z"
},
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [],
"source": [
"# Network Definition\n",
"g = nx.erdos_renyi_graph(1000, 0.1)\n",
"\n",
"# Model Selection\n",
"model = ep.SIRModel(g)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-02T06:26:41.828440Z",
"start_time": "2020-08-02T06:26:41.823839Z"
},
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [],
"source": [
"# Model Configuration\n",
"config = mc.Configuration()\n",
"config.add_model_parameter('beta', 0.001)\n",
"config.add_model_parameter('gamma', 0.01)\n",
"config.add_model_parameter(\"fraction_infected\", 0.05)\n",
"model.set_initial_status(config)"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-02T06:26:43.626868Z",
"start_time": "2020-08-02T06:26:42.529407Z"
},
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 200/200 [00:01<00:00, 183.84it/s]\n"
]
}
],
"source": [
"# Simulation\n",
"iterations = model.iteration_bunch(200)\n",
"trends = model.build_trends(iterations)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-02T06:28:14.860343Z",
"start_time": "2020-08-02T06:28:14.785328Z"
},
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
"
\n",
"
Loading BokehJS ... \n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"\n",
"(function(root) {\n",
" function now() {\n",
" return new Date();\n",
" }\n",
"\n",
" var force = true;\n",
"\n",
" if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n",
" root._bokeh_onload_callbacks = [];\n",
" root._bokeh_is_loading = undefined;\n",
" }\n",
"\n",
" var JS_MIME_TYPE = 'application/javascript';\n",
" var HTML_MIME_TYPE = 'text/html';\n",
" var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n",
" var CLASS_NAME = 'output_bokeh rendered_html';\n",
"\n",
" /**\n",
" * Render data to the DOM node\n",
" */\n",
" function render(props, node) {\n",
" var script = document.createElement(\"script\");\n",
" node.appendChild(script);\n",
" }\n",
"\n",
" /**\n",
" * Handle when an output is cleared or removed\n",
" */\n",
" function handleClearOutput(event, handle) {\n",
" var cell = handle.cell;\n",
"\n",
" var id = cell.output_area._bokeh_element_id;\n",
" var server_id = cell.output_area._bokeh_server_id;\n",
" // Clean up Bokeh references\n",
" if (id != null && id in Bokeh.index) {\n",
" Bokeh.index[id].model.document.clear();\n",
" delete Bokeh.index[id];\n",
" }\n",
"\n",
" if (server_id !== undefined) {\n",
" // Clean up Bokeh references\n",
" var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n",
" cell.notebook.kernel.execute(cmd, {\n",
" iopub: {\n",
" output: function(msg) {\n",
" var id = msg.content.text.trim();\n",
" if (id in Bokeh.index) {\n",
" Bokeh.index[id].model.document.clear();\n",
" delete Bokeh.index[id];\n",
" }\n",
" }\n",
" }\n",
" });\n",
" // Destroy server and session\n",
" var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n",
" cell.notebook.kernel.execute(cmd);\n",
" }\n",
" }\n",
"\n",
" /**\n",
" * Handle when a new output is added\n",
" */\n",
" function handleAddOutput(event, handle) {\n",
" var output_area = handle.output_area;\n",
" var output = handle.output;\n",
"\n",
" // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n",
" if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n",
" return\n",
" }\n",
"\n",
" var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n",
"\n",
" if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n",
" toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n",
" // store reference to embed id on output_area\n",
" output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n",
" }\n",
" if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n",
" var bk_div = document.createElement(\"div\");\n",
" bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
" var script_attrs = bk_div.children[0].attributes;\n",
" for (var i = 0; i < script_attrs.length; i++) {\n",
" toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
" }\n",
" // store reference to server id on output_area\n",
" output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
" }\n",
" }\n",
"\n",
" function register_renderer(events, OutputArea) {\n",
"\n",
" function append_mime(data, metadata, element) {\n",
" // create a DOM node to render to\n",
" var toinsert = this.create_output_subarea(\n",
" metadata,\n",
" CLASS_NAME,\n",
" EXEC_MIME_TYPE\n",
" );\n",
" this.keyboard_manager.register_events(toinsert);\n",
" // Render to node\n",
" var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
" render(props, toinsert[toinsert.length - 1]);\n",
" element.append(toinsert);\n",
" return toinsert\n",
" }\n",
"\n",
" /* Handle when an output is cleared or removed */\n",
" events.on('clear_output.CodeCell', handleClearOutput);\n",
" events.on('delete.Cell', handleClearOutput);\n",
"\n",
" /* Handle when a new output is added */\n",
" events.on('output_added.OutputArea', handleAddOutput);\n",
"\n",
" /**\n",
" * Register the mime type and append_mime function with output_area\n",
" */\n",
" OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n",
" /* Is output safe? */\n",
" safe: true,\n",
" /* Index of renderer in `output_area.display_order` */\n",
" index: 0\n",
" });\n",
" }\n",
"\n",
" // register the mime type if in Jupyter Notebook environment and previously unregistered\n",
" if (root.Jupyter !== undefined) {\n",
" var events = require('base/js/events');\n",
" var OutputArea = require('notebook/js/outputarea').OutputArea;\n",
"\n",
" if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n",
" register_renderer(events, OutputArea);\n",
" }\n",
" }\n",
"\n",
" \n",
" if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n",
" root._bokeh_timeout = Date.now() + 5000;\n",
" root._bokeh_failed_load = false;\n",
" }\n",
"\n",
" var NB_LOAD_WARNING = {'data': {'text/html':\n",
" \"\\n\"+\n",
" \"
\\n\"+\n",
" \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n",
" \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n",
" \"
\\n\"+\n",
" \"
\\n\"+\n",
" \"re-rerun `output_notebook()` to attempt to load from CDN again, or \\n\"+\n",
" \"use INLINE resources instead, as so: \\n\"+\n",
" \" \\n\"+\n",
" \"
\\n\"+\n",
" \"from bokeh.resources import INLINE\\n\"+\n",
" \"output_notebook(resources=INLINE)\\n\"+\n",
" \"
\\n\"+\n",
" \"
\"}};\n",
"\n",
" function display_loaded() {\n",
" var el = document.getElementById(\"1238\");\n",
" if (el != null) {\n",
" el.textContent = \"BokehJS is loading...\";\n",
" }\n",
" if (root.Bokeh !== undefined) {\n",
" if (el != null) {\n",
" el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n",
" }\n",
" } else if (Date.now() < root._bokeh_timeout) {\n",
" setTimeout(display_loaded, 100)\n",
" }\n",
" }\n",
"\n",
"\n",
" function run_callbacks() {\n",
" try {\n",
" root._bokeh_onload_callbacks.forEach(function(callback) {\n",
" if (callback != null)\n",
" callback();\n",
" });\n",
" } finally {\n",
" delete root._bokeh_onload_callbacks\n",
" }\n",
" console.debug(\"Bokeh: all callbacks have finished\");\n",
" }\n",
"\n",
" function load_libs(css_urls, js_urls, callback) {\n",
" if (css_urls == null) css_urls = [];\n",
" if (js_urls == null) js_urls = [];\n",
"\n",
" root._bokeh_onload_callbacks.push(callback);\n",
" if (root._bokeh_is_loading > 0) {\n",
" console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
" return null;\n",
" }\n",
" if (js_urls == null || js_urls.length === 0) {\n",
" run_callbacks();\n",
" return null;\n",
" }\n",
" console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
" root._bokeh_is_loading = css_urls.length + js_urls.length;\n",
"\n",
" function on_load() {\n",
" root._bokeh_is_loading--;\n",
" if (root._bokeh_is_loading === 0) {\n",
" console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n",
" run_callbacks()\n",
" }\n",
" }\n",
"\n",
" function on_error() {\n",
" console.error(\"failed to load \" + url);\n",
" }\n",
"\n",
" for (var i = 0; i < css_urls.length; i++) {\n",
" var url = css_urls[i];\n",
" const element = document.createElement(\"link\");\n",
" element.onload = on_load;\n",
" element.onerror = on_error;\n",
" element.rel = \"stylesheet\";\n",
" element.type = \"text/css\";\n",
" element.href = url;\n",
" console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
" document.body.appendChild(element);\n",
" }\n",
"\n",
" for (var i = 0; i < js_urls.length; i++) {\n",
" var url = js_urls[i];\n",
" var element = document.createElement('script');\n",
" element.onload = on_load;\n",
" element.onerror = on_error;\n",
" element.async = false;\n",
" element.src = url;\n",
" console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
" document.head.appendChild(element);\n",
" }\n",
" };var element = document.getElementById(\"1238\");\n",
" if (element == null) {\n",
" console.error(\"Bokeh: ERROR: autoload.js configured with elementid '1238' but no matching script tag was found. \")\n",
" return false;\n",
" }\n",
"\n",
" function inject_raw_css(css) {\n",
" const element = document.createElement(\"style\");\n",
" element.appendChild(document.createTextNode(css));\n",
" document.body.appendChild(element);\n",
" }\n",
"\n",
" \n",
" var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.4.0.min.js\"];\n",
" var css_urls = [];\n",
" \n",
"\n",
" var inline_js = [\n",
" function(Bokeh) {\n",
" Bokeh.set_log_level(\"info\");\n",
" },\n",
" function(Bokeh) {\n",
" \n",
" \n",
" }\n",
" ];\n",
"\n",
" function run_inline_js() {\n",
" \n",
" if (root.Bokeh !== undefined || force === true) {\n",
" \n",
" for (var i = 0; i < inline_js.length; i++) {\n",
" inline_js[i].call(root, root.Bokeh);\n",
" }\n",
" if (force === true) {\n",
" display_loaded();\n",
" }} else if (Date.now() < root._bokeh_timeout) {\n",
" setTimeout(run_inline_js, 100);\n",
" } else if (!root._bokeh_failed_load) {\n",
" console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
" root._bokeh_failed_load = true;\n",
" } else if (force !== true) {\n",
" var cell = $(document.getElementById(\"1238\")).parents('.cell').data().cell;\n",
" cell.output_area.append_execute_result(NB_LOAD_WARNING)\n",
" }\n",
"\n",
" }\n",
"\n",
" if (root._bokeh_is_loading === 0) {\n",
" console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
" run_inline_js();\n",
" } else {\n",
" load_libs(css_urls, js_urls, function() {\n",
" console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
" run_inline_js();\n",
" });\n",
" }\n",
"}(window));"
],
"application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"\\n\"+\n \"
\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"
\\n\"+\n \"
\\n\"+\n \"re-rerun `output_notebook()` to attempt to load from CDN again, or \\n\"+\n \"use INLINE resources instead, as so: \\n\"+\n \" \\n\"+\n \"
\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"
\\n\"+\n \"
\"}};\n\n function display_loaded() {\n var el = document.getElementById(\"1238\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };var element = document.getElementById(\"1238\");\n if (element == null) {\n console.error(\"Bokeh: ERROR: autoload.js configured with elementid '1238' but no matching script tag was found. \")\n return false;\n }\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.4.0.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(\"1238\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));"
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"
\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"(function(root) {\n",
" function embed_document(root) {\n",
" \n",
" var docs_json = {\"727eaad6-6f39-46a6-a367-58febb95a457\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1248\",\"type\":\"LinearAxis\"},{\"id\":\"1318\",\"type\":\"Title\"}],\"center\":[{\"id\":\"1252\",\"type\":\"Grid\"},{\"id\":\"1257\",\"type\":\"Grid\"},{\"id\":\"1283\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"1253\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"1274\",\"type\":\"GlyphRenderer\"},{\"id\":\"1288\",\"type\":\"GlyphRenderer\"},{\"id\":\"1303\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1277\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1264\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1240\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1244\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1242\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1246\",\"type\":\"LinearScale\"}},\"id\":\"1239\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1272\",\"type\":\"Line\"},{\"attributes\":{\"axis_label\":\"#Nodes\",\"formatter\":{\"id\":\"1280\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1254\",\"type\":\"BasicTicker\"}},\"id\":\"1253\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1273\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1331\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"align\":\"center\",\"text\":\"beta: 0.001, gamma: 0.01, fraction infected: 0.05, tp rate: 1\"},\"id\":\"1318\",\"type\":\"Title\"},{\"attributes\":{\"source\":{\"id\":\"1271\",\"type\":\"ColumnDataSource\"}},\"id\":\"1275\",\"type\":\"CDSView\"},{\"attributes\":{\"dimension\":1,\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"1254\",\"type\":\"BasicTicker\"}},\"id\":\"1257\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1278\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1249\",\"type\":\"BasicTicker\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1282\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"label\":{\"value\":\"Infected\"},\"renderers\":[{\"id\":\"1288\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1299\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1254\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1280\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1330\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1331\",\"type\":\"UnionRenderers\"}},\"id\":\"1300\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1330\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1244\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null},\"id\":\"1240\",\"type\":\"DataRange1d\"},{\"attributes\":{\"label\":{\"value\":\"Susceptible\"},\"renderers\":[{\"id\":\"1274\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1284\",\"type\":\"LegendItem\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"ZmZmZmZm7j/n+6nx0k3uP76fGi/dJO4/PzVeukkM7j+WQ4ts5/vtP23n+6nx0u0/cT0K16Nw7T9zaJHtfD/tP3WTGARWDu0/TmIQWDm07D/8qfHSTWLsP4GVQ4ts5+s/sHJoke186z8zMzMzMzPrPzeJQWDl0Oo/5/up8dJN6j9t5/up8dLpP3E9CtejcOk/okW28/3U6D8lBoGVQ4voPwIrhxbZzuc/tMh2vp8a5z9mZmZmZmbmP28Sg8DKoeU/oBov3SQG5T9/arx0kxjkP7Kd76fGS+M/EFg5tMh24j8bL90kBoHhP8uhRbbz/eA/UrgehetR4D9cj8L1KFzfP2q8dJMYBN4/JQaBlUOL3D+F61G4HoXbP+kmMQisHNo/+FPjpZvE2D+wcmiR7XzXPxKDwMqhRdY/d76fGi/d1D+BlUOLbOfTP+XQItv5ftI/nu+nxks30T+oxks3iUHQP8HKoUW2880/2c73U+Olyz89CtejcD3KP1K4HoXrUcg/ukkMAiuHxj9vEoPAyqHFPyuHFtnO98M/O99PjZduwj9I4XoUrkfBP/yp8dJNYsA/EFg5tMh2vj9xPQrXo3C9PzEIrBxaZLs/8tJNYhBYuT9SuB6F61G4PxKDwMqhRbY/w/UoXI/CtT/LoUW28/20PyuHFtnO97M/O99PjZdusj+cxCCwcmixP1g5tMh2vq8/uB6F61G4rj956SYxCKysP5qZmZmZmak/K4cW2c73oz/b+X5qvHSjP0w3iUFg5aA/TDeJQWDloD/8qfHSTWKgP7gehetRuJ4/ObTIdr6fmj85tMh2vp+aP/p+arx0k5g/exSuR+F6lD97FK5H4XqUP3sUrkfhepQ/O99PjZdukj8730+Nl26SP5zEILByaJE//Knx0k1ikD+4HoXrUbiOPzm0yHa+n4o/ukkMAiuHhj97FK5H4XqEP/yp8dJNYoA//Knx0k1igD/8qfHSTWKAP/yp8dJNYoA//Knx0k1igD956SYxCKx8P3npJjEIrHw/eekmMQisfD956SYxCKx8P3npJjEIrHw/eekmMQisfD956SYxCKx8P/p+arx0k3g/+n5qvHSTeD/6fmq8dJN4P/p+arx0k3g/+n5qvHSTeD/8qfHSTWJwP/yp8dJNYnA//Knx0k1icD/8qfHSTWJwP/yp8dJNYnA/+n5qvHSTaD/6fmq8dJNoP/p+arx0k2g/+n5qvHSTaD/6fmq8dJNoP/p+arx0k2g/+n5qvHSTaD/8qfHSTWJgP/yp8dJNYmA//Knx0k1iUD/8qfHSTWJQP/yp8dJNYlA//Knx0k1iUD/8qfHSTWJQP/yp8dJNYlA//Knx0k1iUD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1297\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1298\",\"type\":\"UnionRenderers\"}},\"id\":\"1271\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1258\",\"type\":\"PanTool\"},{\"id\":\"1259\",\"type\":\"WheelZoomTool\"},{\"id\":\"1260\",\"type\":\"BoxZoomTool\"},{\"id\":\"1261\",\"type\":\"SaveTool\"},{\"id\":\"1262\",\"type\":\"ResetTool\"},{\"id\":\"1263\",\"type\":\"HelpTool\"}]},\"id\":\"1264\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"1315\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data_source\":{\"id\":\"1271\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1272\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1273\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1275\",\"type\":\"CDSView\"}},\"id\":\"1274\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null},\"id\":\"1242\",\"type\":\"DataRange1d\"},{\"attributes\":{\"label\":{\"value\":\"Removed\"},\"renderers\":[{\"id\":\"1303\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1316\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1258\",\"type\":\"PanTool\"},{\"attributes\":{\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"1249\",\"type\":\"BasicTicker\"}},\"id\":\"1252\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#aec7e8\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1286\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1259\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"source\":{\"id\":\"1300\",\"type\":\"ColumnDataSource\"}},\"id\":\"1304\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1314\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1246\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1302\",\"type\":\"Line\"},{\"attributes\":{\"overlay\":{\"id\":\"1282\",\"type\":\"BoxAnnotation\"}},\"id\":\"1260\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1314\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1315\",\"type\":\"UnionRenderers\"}},\"id\":\"1285\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data_source\":{\"id\":\"1300\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1301\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1302\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1304\",\"type\":\"CDSView\"}},\"id\":\"1303\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1261\",\"type\":\"SaveTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1287\",\"type\":\"Line\"},{\"attributes\":{\"axis_label\":\"Iterations\",\"formatter\":{\"id\":\"1278\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1249\",\"type\":\"BasicTicker\"}},\"id\":\"1248\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1262\",\"type\":\"ResetTool\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#ff7f0e\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1301\",\"type\":\"Line\"},{\"attributes\":{\"data_source\":{\"id\":\"1285\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1286\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1287\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1289\",\"type\":\"CDSView\"}},\"id\":\"1288\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1263\",\"type\":\"HelpTool\"},{\"attributes\":{\"source\":{\"id\":\"1285\",\"type\":\"ColumnDataSource\"}},\"id\":\"1289\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1297\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1298\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"text\":\"SIR - Diffusion Trend\"},\"id\":\"1277\",\"type\":\"Title\"},{\"attributes\":{\"items\":[{\"id\":\"1284\",\"type\":\"LegendItem\"},{\"id\":\"1299\",\"type\":\"LegendItem\"},{\"id\":\"1316\",\"type\":\"LegendItem\"}],\"orientation\":\"horizontal\"},\"id\":\"1283\",\"type\":\"Legend\"}],\"root_ids\":[\"1239\"]},\"title\":\"Bokeh Application\",\"version\":\"1.4.0\"}};\n",
" var render_items = [{\"docid\":\"727eaad6-6f39-46a6-a367-58febb95a457\",\"roots\":{\"1239\":\"d6149ac4-a504-48e8-8ade-1ea33558fcae\"}}];\n",
" root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
"\n",
" }\n",
" if (root.Bokeh !== undefined) {\n",
" embed_document(root);\n",
" } else {\n",
" var attempts = 0;\n",
" var timer = setInterval(function(root) {\n",
" if (root.Bokeh !== undefined) {\n",
" clearInterval(timer);\n",
" embed_document(root);\n",
" } else {\n",
" attempts++;\n",
" if (attempts > 100) {\n",
" clearInterval(timer);\n",
" console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
" }\n",
" }\n",
" }, 10, root)\n",
" }\n",
"})(window);"
],
"application/vnd.bokehjs_exec.v0+json": ""
},
"metadata": {
"application/vnd.bokehjs_exec.v0+json": {
"id": "1239"
}
},
"output_type": "display_data"
}
],
"source": [
"output_notebook() # show bokeh in notebook\n",
"viz = DiffusionTrend(model, trends)\n",
"p = viz.plot(width=400, height=400)\n",
"show(p)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-02T06:28:18.713916Z",
"start_time": "2020-08-02T06:28:18.656586Z"
},
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"
\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"(function(root) {\n",
" function embed_document(root) {\n",
" \n",
" var docs_json = {\"9aaaf4b6-fab9-44ab-b4b7-0e3216a44785\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"1419\",\"type\":\"LinearAxis\"},{\"id\":\"1489\",\"type\":\"Title\"}],\"center\":[{\"id\":\"1423\",\"type\":\"Grid\"},{\"id\":\"1428\",\"type\":\"Grid\"},{\"id\":\"1454\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"1424\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"1445\",\"type\":\"GlyphRenderer\"},{\"id\":\"1459\",\"type\":\"GlyphRenderer\"},{\"id\":\"1474\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1448\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1435\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"1411\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1415\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1413\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1417\",\"type\":\"LinearScale\"}},\"id\":\"1410\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1430\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAADwPwAAAAAAAAAAAAAAAAAAAAAAAAAAAADwPwAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAPA/AAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEAAAAAAAAAAAAAAAAAAAABAAAAAAAAACEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAEEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAFEAAAAAAAAAQQAAAAAAAABBAAAAAAAAAGEAAAAAAAAAIQAAAAAAAABRAAAAAAAAACEAAAAAAAAAAAAAAAAAAABxAAAAAAAAACEAAAAAAAADwPwAAAAAAAPA/AAAAAAAAIkAAAAAAAAAgQAAAAAAAACRAAAAAAAAAAEAAAAAAAAAYQAAAAAAAABBAAAAAAAAAIEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAIEAAAAAAAAAYQAAAAAAAACJAAAAAAAAAHEAAAAAAAAAYQAAAAAAAAABAAAAAAAAAHEAAAAAAAAAgQAAAAAAAABBAAAAAAAAAIEAAAAAAAAAUQAAAAAAAACBAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAIEAAAAAAAAAYQAAAAAAAABxAAAAAAAAAEEAAAAAAAAAYQAAAAAAAABxAAAAAAAAAJEAAAAAAAAAUQAAAAAAAACJAAAAAAAAAIEAAAAAAAAAAQAAAAAAAABxAAAAAAAAAHEAAAAAAAAAIQAAAAAAAACBAAAAAAAAAIEAAAAAAAAAQQAAAAAAAABxAAAAAAAAACEAAAAAAAAAgQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAcQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAUQAAAAAAAABhAAAAAAAAAFEAAAAAAAAAmQAAAAAAAAAhAAAAAAAAAHEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAIkAAAAAAAAAcQAAAAAAAABBAAAAAAAAAIEAAAAAAAAAcQAAAAAAAACBAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABBAAAAAAAAAGEAAAAAAAAAiQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAQQAAAAAAAABhAAAAAAAAAEEAAAAAAAAAcQAAAAAAAAABAAAAAAAAAJEAAAAAAAAAQQAAAAAAAABxAAAAAAAAAIEAAAAAAAAAQQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAcQAAAAAAAACBAAAAAAAAAGEAAAAAAAAAQQAAAAAAAABxAAAAAAAAAHEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAAEEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAFEAAAAAAAAAgQAAAAAAAAAhAAAAAAAAAFEAAAAAAAAAAQAAAAAAAABBAAAAAAAAACEAAAAAAAAAIQAAAAAAAABxAAAAAAAAAAEAAAAAAAAAQQAAAAAAAAPA/AAAAAAAAGEAAAAAAAAAUQAAAAAAAAAhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAABAAAAAAAAACEAAAAAAAADwPwAAAAAAABBAAAAAAAAACEAAAAAAAAAIQAAAAAAAABBAAAAAAAAAEEAAAAAAAADwPwAAAAAAABBAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAhAAAAAAAAACEAAAAAAAAAQQAAAAAAAAAhAAAAAAAAAAEAAAAAAAAAYQAAAAAAAAPA/AAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAAAEAAAAAAAAAIQAAAAAAAABRAAAAAAAAAEEAAAAAAAAAAQAAAAAAAAABAAAAAAAAACEAAAAAAAAAAQAAAAAAAABBAAAAAAAAAEEAAAAAAAAAIQAAAAAAAABBAAAAAAAAAAAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAAAAAAACEAAAAAAAAAAQAAAAAAAAAhAAAAAAAAACEAAAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAACEAAAAAAAAAIQA==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1514\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1515\",\"type\":\"UnionRenderers\"}},\"id\":\"1471\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1420\",\"type\":\"BasicTicker\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAIQAAAAAAAABRAAAAAAAAA8D8AAAAAAADwPwAAAAAAABRAAAAAAAAAKEAAAAAAAAAUQAAAAAAAABhAAAAAAAAAIkAAAAAAAAAkQAAAAAAAACxAAAAAAAAAJkAAAAAAAAAiQAAAAAAAAChAAAAAAAAAKkAAAAAAAAAuQAAAAAAAACRAAAAAAAAAMEAAAAAAAAAcQAAAAAAAADVAAAAAAAAAMkAAAAAAAAA0QAAAAAAAADhAAAAAAAAALEAAAAAAAAA5QAAAAAAAADVAAAAAAAAANEAAAAAAAAA7QAAAAAAAACZAAAAAAAAAMkAAAAAAAAA0QAAAAAAAACxAAAAAAAAANEAAAAAAAAAuQAAAAAAAADVAAAAAAAAAKEAAAAAAAAAoQAAAAAAAACJAAAAAAAAANEAAAAAAAAAiQAAAAAAAADJAAAAAAAAAKEAAAAAAAAAmQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAUQAAAAAAAABhAAAAAAAAAHEAAAAAAAADwPwAAAAAAACZAAAAAAAAAFEAAAAAAAADwPwAAAAAAAAhAAAAAAAAA8D8AAAAAAADwvwAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAGMAAAAAAAAAIwAAAAAAAAAjAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAPC/AAAAAAAAIMAAAAAAAADwvwAAAAAAAAjAAAAAAAAACEAAAAAAAADwvwAAAAAAAADAAAAAAAAAHMAAAAAAAAAAwAAAAAAAABjAAAAAAAAAEMAAAAAAAAAQwAAAAAAAABTAAAAAAAAA8D8AAAAAAAAgwAAAAAAAABTAAAAAAAAACMAAAAAAAAAcwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAQwAAAAAAAABDAAAAAAAAACMAAAAAAAAAkwAAAAAAAAPC/AAAAAAAAHMAAAAAAAAAQwAAAAAAAABTAAAAAAAAAIsAAAAAAAAAYwAAAAAAAABDAAAAAAAAAIMAAAAAAAAAcwAAAAAAAACDAAAAAAAAAEMAAAAAAAAAQwAAAAAAAAAjAAAAAAAAAGMAAAAAAAAAiwAAAAAAAABTAAAAAAAAAFMAAAAAAAAAAwAAAAAAAABjAAAAAAAAAEMAAAAAAAAAcwAAAAAAAAADAAAAAAAAAIsAAAAAAAAAQwAAAAAAAABzAAAAAAAAAIMAAAAAAAAAQwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAYwAAAAAAAACDAAAAAAAAAFMAAAAAAAAAQwAAAAAAAABzAAAAAAAAAHMAAAAAAAAAIwAAAAAAAAAjAAAAAAAAAEMAAAAAAAADwvwAAAAAAAADAAAAAAAAAFMAAAAAAAAAgwAAAAAAAAAjAAAAAAAAAFMAAAAAAAAAAwAAAAAAAABDAAAAAAAAACMAAAAAAAAAIwAAAAAAAABzAAAAAAAAAAMAAAAAAAAAQwAAAAAAAAPC/AAAAAAAAGMAAAAAAAAAUwAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAQwAAAAAAAAADAAAAAAAAACMAAAAAAAADwvwAAAAAAABDAAAAAAAAACMAAAAAAAAAIwAAAAAAAABDAAAAAAAAAEMAAAAAAAADwvwAAAAAAABDAAAAAAAAAEMAAAAAAAAAAAAAAAAAAAAjAAAAAAAAACMAAAAAAAAAQwAAAAAAAAAjAAAAAAAAAAMAAAAAAAAAYwAAAAAAAAPC/AAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAACMAAAAAAAAAIwAAAAAAAAAjAAAAAAAAAAMAAAAAAAAAIwAAAAAAAABTAAAAAAAAAEMAAAAAAAAAAwAAAAAAAAADAAAAAAAAACMAAAAAAAAAAwAAAAAAAABDAAAAAAAAAEMAAAAAAAAAIwAAAAAAAABDAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDAAAAAAAAACMAAAAAAAAAAwAAAAAAAAAjAAAAAAAAACMAAAAAAAADwvwAAAAAAAPC/AAAAAAAA8L8AAAAAAADwvwAAAAAAAPC/AAAAAAAACMAAAAAAAAAIwA==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1485\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1486\",\"type\":\"UnionRenderers\"}},\"id\":\"1456\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1456\",\"type\":\"ColumnDataSource\"}},\"id\":\"1460\",\"type\":\"CDSView\"},{\"attributes\":{\"overlay\":{\"id\":\"1453\",\"type\":\"BoxAnnotation\"}},\"id\":\"1431\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1468\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1458\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1432\",\"type\":\"SaveTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1473\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1433\",\"type\":\"ResetTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1471\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1472\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1473\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1475\",\"type\":\"CDSView\"}},\"id\":\"1474\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1434\",\"type\":\"HelpTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1429\",\"type\":\"PanTool\"},{\"id\":\"1430\",\"type\":\"WheelZoomTool\"},{\"id\":\"1431\",\"type\":\"BoxZoomTool\"},{\"id\":\"1432\",\"type\":\"SaveTool\"},{\"id\":\"1433\",\"type\":\"ResetTool\"},{\"id\":\"1434\",\"type\":\"HelpTool\"}]},\"id\":\"1435\",\"type\":\"Toolbar\"},{\"attributes\":{\"source\":{\"id\":\"1471\",\"type\":\"ColumnDataSource\"}},\"id\":\"1475\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1417\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"1456\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1457\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1458\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1460\",\"type\":\"CDSView\"}},\"id\":\"1459\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1429\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1485\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null},\"id\":\"1413\",\"type\":\"DataRange1d\"},{\"attributes\":{\"text\":\"SIR - Prevalence\"},\"id\":\"1448\",\"type\":\"Title\"},{\"attributes\":{\"items\":[{\"id\":\"1455\",\"type\":\"LegendItem\"},{\"id\":\"1470\",\"type\":\"LegendItem\"},{\"id\":\"1487\",\"type\":\"LegendItem\"}],\"orientation\":\"horizontal\"},\"id\":\"1454\",\"type\":\"Legend\"},{\"attributes\":{\"axis_label\":\"Iterations\",\"formatter\":{\"id\":\"1449\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1420\",\"type\":\"BasicTicker\"}},\"id\":\"1419\",\"type\":\"LinearAxis\"},{\"attributes\":{\"label\":{\"value\":\"Removed\"},\"renderers\":[{\"id\":\"1474\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1487\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1486\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"align\":\"center\",\"text\":\"beta: 0.001, gamma: 0.01, fraction infected: 0.05, tp rate: 1\"},\"id\":\"1489\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1425\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1443\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1415\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1449\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAIwAAAAAAAABTAAAAAAAAACMAAAAAAAAAAwAAAAAAAABTAAAAAAAAAKMAAAAAAAAAYwAAAAAAAABjAAAAAAAAAJsAAAAAAAAAkwAAAAAAAAC7AAAAAAAAAKsAAAAAAAAAiwAAAAAAAACjAAAAAAAAAMMAAAAAAAAAuwAAAAAAAACjAAAAAAAAAM8AAAAAAAAAiwAAAAAAAADfAAAAAAAAANsAAAAAAAAA2wAAAAAAAADjAAAAAAAAAM8AAAAAAAAA9wAAAAAAAADnAAAAAAAAAOsAAAAAAAAA+wAAAAAAAADDAAAAAAAAANcAAAAAAAAA0wAAAAAAAADXAAAAAAAAAN8AAAAAAAAAwwAAAAAAAADbAAAAAAAAANcAAAAAAAAA0wAAAAAAAADPAAAAAAAAANsAAAAAAAAAuwAAAAAAAADbAAAAAAAAANMAAAAAAAAAuwAAAAAAAADTAAAAAAAAAMsAAAAAAAAAmwAAAAAAAAC7AAAAAAAAALMAAAAAAAAAcwAAAAAAAACrAAAAAAAAAKMAAAAAAAAAiwAAAAAAAABzAAAAAAAAAIsAAAAAAAAAQwAAAAAAAACDAAAAAAAAAIMAAAAAAAAAQwAAAAAAAACDAAAAAAAAAAMAAAAAAAAAIwAAAAAAAABDAAAAAAAAAGMAAAAAAAAAQwAAAAAAAABjAAAAAAAAAAMAAAAAAAAAQwAAAAAAAABjAAAAAAAAAJsAAAAAAAADwvwAAAAAAABTAAAAAAAAAAAAAAAAAAADwvwAAAAAAAADAAAAAAAAAEMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAPC/AAAAAAAA8L8AAAAAAADwvwAAAAAAAADAAAAAAAAAAMAAAAAAAADwvwAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAAAA8L8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1468\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1469\",\"type\":\"UnionRenderers\"}},\"id\":\"1442\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1453\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"dimension\":1,\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"1425\",\"type\":\"BasicTicker\"}},\"id\":\"1428\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null},\"id\":\"1411\",\"type\":\"DataRange1d\"},{\"attributes\":{\"label\":{\"value\":\"Infected\"},\"renderers\":[{\"id\":\"1459\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1470\",\"type\":\"LegendItem\"},{\"attributes\":{\"source\":{\"id\":\"1442\",\"type\":\"ColumnDataSource\"}},\"id\":\"1446\",\"type\":\"CDSView\"},{\"attributes\":{\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"1420\",\"type\":\"BasicTicker\"}},\"id\":\"1423\",\"type\":\"Grid\"},{\"attributes\":{\"data_source\":{\"id\":\"1442\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1443\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1444\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1446\",\"type\":\"CDSView\"}},\"id\":\"1445\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1451\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1514\",\"type\":\"Selection\"},{\"attributes\":{\"axis_label\":\"#Delta Nodes\",\"formatter\":{\"id\":\"1451\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1425\",\"type\":\"BasicTicker\"}},\"id\":\"1424\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1444\",\"type\":\"Line\"},{\"attributes\":{\"label\":{\"value\":\"Susceptible\"},\"renderers\":[{\"id\":\"1445\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1455\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1469\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#ff7f0e\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1472\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1515\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#aec7e8\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1457\",\"type\":\"Line\"}],\"root_ids\":[\"1410\"]},\"title\":\"Bokeh Application\",\"version\":\"1.4.0\"}};\n",
" var render_items = [{\"docid\":\"9aaaf4b6-fab9-44ab-b4b7-0e3216a44785\",\"roots\":{\"1410\":\"119cd2c3-b67c-489f-b4fb-9b1b80b454c7\"}}];\n",
" root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
"\n",
" }\n",
" if (root.Bokeh !== undefined) {\n",
" embed_document(root);\n",
" } else {\n",
" var attempts = 0;\n",
" var timer = setInterval(function(root) {\n",
" if (root.Bokeh !== undefined) {\n",
" clearInterval(timer);\n",
" embed_document(root);\n",
" } else {\n",
" attempts++;\n",
" if (attempts > 100) {\n",
" clearInterval(timer);\n",
" console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
" }\n",
" }\n",
" }, 10, root)\n",
" }\n",
"})(window);"
],
"application/vnd.bokehjs_exec.v0+json": ""
},
"metadata": {
"application/vnd.bokehjs_exec.v0+json": {
"id": "1410"
}
},
"output_type": "display_data"
}
],
"source": [
"viz2 = DiffusionPrevalence(model, trends)\n",
"p2 = viz2.plot(width=400, height=400)\n",
"show(p2)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-02T06:28:47.825154Z",
"start_time": "2020-08-02T06:28:47.742019Z"
},
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"
\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"(function(root) {\n",
" function embed_document(root) {\n",
" \n",
" var docs_json = {\"6bbc79b5-6801-4c5f-8b4a-917aa22fd169\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"1624\",\"type\":\"ToolbarBox\"},{\"id\":\"1622\",\"type\":\"GridBox\"}]},\"id\":\"1625\",\"type\":\"Column\"},{\"attributes\":{\"axis_label\":\"#Nodes\",\"formatter\":{\"id\":\"1280\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1254\",\"type\":\"BasicTicker\"}},\"id\":\"1253\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1420\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1249\",\"type\":\"BasicTicker\"},{\"attributes\":{\"below\":[{\"id\":\"1248\",\"type\":\"LinearAxis\"},{\"id\":\"1318\",\"type\":\"Title\"}],\"center\":[{\"id\":\"1252\",\"type\":\"Grid\"},{\"id\":\"1257\",\"type\":\"Grid\"},{\"id\":\"1283\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"1253\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"1274\",\"type\":\"GlyphRenderer\"},{\"id\":\"1288\",\"type\":\"GlyphRenderer\"},{\"id\":\"1303\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1277\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1264\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1240\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1244\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1242\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1246\",\"type\":\"LinearScale\"}},\"id\":\"1239\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1429\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1417\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"Iterations\",\"formatter\":{\"id\":\"1449\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1420\",\"type\":\"BasicTicker\"}},\"id\":\"1419\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1425\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1443\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1415\",\"type\":\"LinearScale\"},{\"attributes\":{\"dimension\":1,\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"1425\",\"type\":\"BasicTicker\"}},\"id\":\"1428\",\"type\":\"Grid\"},{\"attributes\":{\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"1420\",\"type\":\"BasicTicker\"}},\"id\":\"1423\",\"type\":\"Grid\"},{\"attributes\":{\"children\":[[{\"id\":\"1239\",\"subtype\":\"Figure\",\"type\":\"Plot\"},0,0],[{\"id\":\"1410\",\"subtype\":\"Figure\",\"type\":\"Plot\"},0,1]]},\"id\":\"1622\",\"type\":\"GridBox\"},{\"attributes\":{},\"id\":\"1514\",\"type\":\"Selection\"},{\"attributes\":{\"axis_label\":\"#Delta Nodes\",\"formatter\":{\"id\":\"1451\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1425\",\"type\":\"BasicTicker\"}},\"id\":\"1424\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1444\",\"type\":\"Line\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1330\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1331\",\"type\":\"UnionRenderers\"}},\"id\":\"1300\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1254\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1244\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"1456\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1457\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1458\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1460\",\"type\":\"CDSView\"}},\"id\":\"1459\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null},\"id\":\"1242\",\"type\":\"DataRange1d\"},{\"attributes\":{\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"1249\",\"type\":\"BasicTicker\"}},\"id\":\"1252\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"1300\",\"type\":\"ColumnDataSource\"}},\"id\":\"1304\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1246\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"1300\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1301\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1302\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1304\",\"type\":\"CDSView\"}},\"id\":\"1303\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAIwAAAAAAAABTAAAAAAAAACMAAAAAAAAAAwAAAAAAAABTAAAAAAAAAKMAAAAAAAAAYwAAAAAAAABjAAAAAAAAAJsAAAAAAAAAkwAAAAAAAAC7AAAAAAAAAKsAAAAAAAAAiwAAAAAAAACjAAAAAAAAAMMAAAAAAAAAuwAAAAAAAACjAAAAAAAAAM8AAAAAAAAAiwAAAAAAAADfAAAAAAAAANsAAAAAAAAA2wAAAAAAAADjAAAAAAAAAM8AAAAAAAAA9wAAAAAAAADnAAAAAAAAAOsAAAAAAAAA+wAAAAAAAADDAAAAAAAAANcAAAAAAAAA0wAAAAAAAADXAAAAAAAAAN8AAAAAAAAAwwAAAAAAAADbAAAAAAAAANcAAAAAAAAA0wAAAAAAAADPAAAAAAAAANsAAAAAAAAAuwAAAAAAAADbAAAAAAAAANMAAAAAAAAAuwAAAAAAAADTAAAAAAAAAMsAAAAAAAAAmwAAAAAAAAC7AAAAAAAAALMAAAAAAAAAcwAAAAAAAACrAAAAAAAAAKMAAAAAAAAAiwAAAAAAAABzAAAAAAAAAIsAAAAAAAAAQwAAAAAAAACDAAAAAAAAAIMAAAAAAAAAQwAAAAAAAACDAAAAAAAAAAMAAAAAAAAAIwAAAAAAAABDAAAAAAAAAGMAAAAAAAAAQwAAAAAAAABjAAAAAAAAAAMAAAAAAAAAQwAAAAAAAABjAAAAAAAAAJsAAAAAAAADwvwAAAAAAABTAAAAAAAAAAAAAAAAAAADwvwAAAAAAAADAAAAAAAAAEMAAAAAAAAAAAAAAAAAAAADAAAAAAAAAEMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAAAAAPC/AAAAAAAA8L8AAAAAAADwvwAAAAAAAADAAAAAAAAAAMAAAAAAAADwvwAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPC/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA8L8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAAAA8L8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwvwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1468\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1469\",\"type\":\"UnionRenderers\"}},\"id\":\"1442\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"axis_label\":\"Iterations\",\"formatter\":{\"id\":\"1278\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1249\",\"type\":\"BasicTicker\"}},\"id\":\"1248\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#ff7f0e\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1301\",\"type\":\"Line\"},{\"attributes\":{\"label\":{\"value\":\"Infected\"},\"renderers\":[{\"id\":\"1459\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1470\",\"type\":\"LegendItem\"},{\"attributes\":{\"source\":{\"id\":\"1442\",\"type\":\"ColumnDataSource\"}},\"id\":\"1446\",\"type\":\"CDSView\"},{\"attributes\":{\"data_source\":{\"id\":\"1442\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1443\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1444\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1446\",\"type\":\"CDSView\"}},\"id\":\"1445\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1515\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1302\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1430\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1273\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1331\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"align\":\"center\",\"text\":\"beta: 0.001, gamma: 0.01, fraction infected: 0.05, tp rate: 1\"},\"id\":\"1318\",\"type\":\"Title\"},{\"attributes\":{\"source\":{\"id\":\"1456\",\"type\":\"ColumnDataSource\"}},\"id\":\"1460\",\"type\":\"CDSView\"},{\"attributes\":{\"overlay\":{\"id\":\"1453\",\"type\":\"BoxAnnotation\"}},\"id\":\"1431\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1468\",\"type\":\"Selection\"},{\"attributes\":{\"dimension\":1,\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"1254\",\"type\":\"BasicTicker\"}},\"id\":\"1257\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"1432\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1433\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1330\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1434\",\"type\":\"HelpTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"ZmZmZmZm7j/n+6nx0k3uP76fGi/dJO4/PzVeukkM7j+WQ4ts5/vtP23n+6nx0u0/cT0K16Nw7T9zaJHtfD/tP3WTGARWDu0/TmIQWDm07D/8qfHSTWLsP4GVQ4ts5+s/sHJoke186z8zMzMzMzPrPzeJQWDl0Oo/5/up8dJN6j9t5/up8dLpP3E9CtejcOk/okW28/3U6D8lBoGVQ4voPwIrhxbZzuc/tMh2vp8a5z9mZmZmZmbmP28Sg8DKoeU/oBov3SQG5T9/arx0kxjkP7Kd76fGS+M/EFg5tMh24j8bL90kBoHhP8uhRbbz/eA/UrgehetR4D9cj8L1KFzfP2q8dJMYBN4/JQaBlUOL3D+F61G4HoXbP+kmMQisHNo/+FPjpZvE2D+wcmiR7XzXPxKDwMqhRdY/d76fGi/d1D+BlUOLbOfTP+XQItv5ftI/nu+nxks30T+oxks3iUHQP8HKoUW2880/2c73U+Olyz89CtejcD3KP1K4HoXrUcg/ukkMAiuHxj9vEoPAyqHFPyuHFtnO98M/O99PjZduwj9I4XoUrkfBP/yp8dJNYsA/EFg5tMh2vj9xPQrXo3C9PzEIrBxaZLs/8tJNYhBYuT9SuB6F61G4PxKDwMqhRbY/w/UoXI/CtT/LoUW28/20PyuHFtnO97M/O99PjZdusj+cxCCwcmixP1g5tMh2vq8/uB6F61G4rj956SYxCKysP5qZmZmZmak/K4cW2c73oz/b+X5qvHSjP0w3iUFg5aA/TDeJQWDloD/8qfHSTWKgP7gehetRuJ4/ObTIdr6fmj85tMh2vp+aP/p+arx0k5g/exSuR+F6lD97FK5H4XqUP3sUrkfhepQ/O99PjZdukj8730+Nl26SP5zEILByaJE//Knx0k1ikD+4HoXrUbiOPzm0yHa+n4o/ukkMAiuHhj97FK5H4XqEP/yp8dJNYoA//Knx0k1igD/8qfHSTWKAP/yp8dJNYoA//Knx0k1igD956SYxCKx8P3npJjEIrHw/eekmMQisfD956SYxCKx8P3npJjEIrHw/eekmMQisfD956SYxCKx8P/p+arx0k3g/+n5qvHSTeD/6fmq8dJN4P/p+arx0k3g/+n5qvHSTeD/8qfHSTWJwP/yp8dJNYnA//Knx0k1icD/8qfHSTWJwP/yp8dJNYnA/+n5qvHSTaD/6fmq8dJNoP/p+arx0k2g/+n5qvHSTaD/6fmq8dJNoP/p+arx0k2g/+n5qvHSTaD/8qfHSTWJgP/yp8dJNYmA//Knx0k1iUD/8qfHSTWJQP/yp8dJNYlA//Knx0k1iUD/8qfHSTWJQP/yp8dJNYlA//Knx0k1iUD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1297\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1298\",\"type\":\"UnionRenderers\"}},\"id\":\"1271\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1429\",\"type\":\"PanTool\"},{\"id\":\"1430\",\"type\":\"WheelZoomTool\"},{\"id\":\"1431\",\"type\":\"BoxZoomTool\"},{\"id\":\"1432\",\"type\":\"SaveTool\"},{\"id\":\"1433\",\"type\":\"ResetTool\"},{\"id\":\"1434\",\"type\":\"HelpTool\"}]},\"id\":\"1435\",\"type\":\"Toolbar\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1258\",\"type\":\"PanTool\"},{\"id\":\"1259\",\"type\":\"WheelZoomTool\"},{\"id\":\"1260\",\"type\":\"BoxZoomTool\"},{\"id\":\"1261\",\"type\":\"SaveTool\"},{\"id\":\"1262\",\"type\":\"ResetTool\"},{\"id\":\"1263\",\"type\":\"HelpTool\"}]},\"id\":\"1264\",\"type\":\"Toolbar\"},{\"attributes\":{\"data_source\":{\"id\":\"1271\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1272\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1273\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1275\",\"type\":\"CDSView\"}},\"id\":\"1274\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null},\"id\":\"1413\",\"type\":\"DataRange1d\"},{\"attributes\":{\"text\":\"SIR - Prevalence\"},\"id\":\"1448\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1258\",\"type\":\"PanTool\"},{\"attributes\":{\"items\":[{\"id\":\"1455\",\"type\":\"LegendItem\"},{\"id\":\"1470\",\"type\":\"LegendItem\"},{\"id\":\"1487\",\"type\":\"LegendItem\"}],\"orientation\":\"horizontal\"},\"id\":\"1454\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"1259\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"1282\",\"type\":\"BoxAnnotation\"}},\"id\":\"1260\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"tools\":[{\"id\":\"1258\",\"type\":\"PanTool\"},{\"id\":\"1259\",\"type\":\"WheelZoomTool\"},{\"id\":\"1260\",\"type\":\"BoxZoomTool\"},{\"id\":\"1261\",\"type\":\"SaveTool\"},{\"id\":\"1262\",\"type\":\"ResetTool\"},{\"id\":\"1263\",\"type\":\"HelpTool\"},{\"id\":\"1429\",\"type\":\"PanTool\"},{\"id\":\"1430\",\"type\":\"WheelZoomTool\"},{\"id\":\"1431\",\"type\":\"BoxZoomTool\"},{\"id\":\"1432\",\"type\":\"SaveTool\"},{\"id\":\"1433\",\"type\":\"ResetTool\"},{\"id\":\"1434\",\"type\":\"HelpTool\"}]},\"id\":\"1623\",\"type\":\"ProxyToolbar\"},{\"attributes\":{},\"id\":\"1449\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1261\",\"type\":\"SaveTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1453\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1262\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1451\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1263\",\"type\":\"HelpTool\"},{\"attributes\":{\"label\":{\"value\":\"Susceptible\"},\"renderers\":[{\"id\":\"1445\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1455\",\"type\":\"LegendItem\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#ff7f0e\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1472\",\"type\":\"Line\"},{\"attributes\":{\"toolbar\":{\"id\":\"1623\",\"type\":\"ProxyToolbar\"},\"toolbar_location\":\"above\"},\"id\":\"1624\",\"type\":\"ToolbarBox\"},{\"attributes\":{\"text\":\"SIR - Diffusion Trend\"},\"id\":\"1277\",\"type\":\"Title\"},{\"attributes\":{\"below\":[{\"id\":\"1419\",\"type\":\"LinearAxis\"},{\"id\":\"1489\",\"type\":\"Title\"}],\"center\":[{\"id\":\"1423\",\"type\":\"Grid\"},{\"id\":\"1428\",\"type\":\"Grid\"},{\"id\":\"1454\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"1424\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"1445\",\"type\":\"GlyphRenderer\"},{\"id\":\"1459\",\"type\":\"GlyphRenderer\"},{\"id\":\"1474\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1448\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1435\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1411\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1415\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1413\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1417\",\"type\":\"LinearScale\"}},\"id\":\"1410\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"items\":[{\"id\":\"1284\",\"type\":\"LegendItem\"},{\"id\":\"1299\",\"type\":\"LegendItem\"},{\"id\":\"1316\",\"type\":\"LegendItem\"}],\"orientation\":\"horizontal\"},\"id\":\"1283\",\"type\":\"Legend\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#aec7e8\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1457\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1469\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1272\",\"type\":\"Line\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAAAAAAADwPwAAAAAAAAAAAAAAAAAAAAAAAAAAAADwPwAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAAAAAAAAAAPA/AAAAAAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACEAAAAAAAAAAAAAAAAAAAABAAAAAAAAACEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAEEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAFEAAAAAAAAAQQAAAAAAAABBAAAAAAAAAGEAAAAAAAAAIQAAAAAAAABRAAAAAAAAACEAAAAAAAAAAAAAAAAAAABxAAAAAAAAACEAAAAAAAADwPwAAAAAAAPA/AAAAAAAAIkAAAAAAAAAgQAAAAAAAACRAAAAAAAAAAEAAAAAAAAAYQAAAAAAAABBAAAAAAAAAIEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAIEAAAAAAAAAYQAAAAAAAACJAAAAAAAAAHEAAAAAAAAAYQAAAAAAAAABAAAAAAAAAHEAAAAAAAAAgQAAAAAAAABBAAAAAAAAAIEAAAAAAAAAUQAAAAAAAACBAAAAAAAAAGEAAAAAAAAAYQAAAAAAAABhAAAAAAAAAIEAAAAAAAAAYQAAAAAAAABxAAAAAAAAAEEAAAAAAAAAYQAAAAAAAABxAAAAAAAAAJEAAAAAAAAAUQAAAAAAAACJAAAAAAAAAIEAAAAAAAAAAQAAAAAAAABxAAAAAAAAAHEAAAAAAAAAIQAAAAAAAACBAAAAAAAAAIEAAAAAAAAAQQAAAAAAAABxAAAAAAAAACEAAAAAAAAAgQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAcQAAAAAAAAAhAAAAAAAAACEAAAAAAAAAUQAAAAAAAABhAAAAAAAAAFEAAAAAAAAAmQAAAAAAAAAhAAAAAAAAAHEAAAAAAAAAQQAAAAAAAABRAAAAAAAAAIkAAAAAAAAAcQAAAAAAAABBAAAAAAAAAIEAAAAAAAAAcQAAAAAAAACBAAAAAAAAAEEAAAAAAAAAQQAAAAAAAABBAAAAAAAAAGEAAAAAAAAAiQAAAAAAAABRAAAAAAAAAFEAAAAAAAAAQQAAAAAAAABhAAAAAAAAAEEAAAAAAAAAcQAAAAAAAAABAAAAAAAAAJEAAAAAAAAAQQAAAAAAAABxAAAAAAAAAIEAAAAAAAAAQQAAAAAAAAABAAAAAAAAAAEAAAAAAAAAcQAAAAAAAACBAAAAAAAAAGEAAAAAAAAAQQAAAAAAAABxAAAAAAAAAHEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAAEEAAAAAAAAAAQAAAAAAAAABAAAAAAAAAFEAAAAAAAAAgQAAAAAAAAAhAAAAAAAAAFEAAAAAAAAAAQAAAAAAAABBAAAAAAAAACEAAAAAAAAAIQAAAAAAAABxAAAAAAAAAAEAAAAAAAAAQQAAAAAAAAPA/AAAAAAAAGEAAAAAAAAAUQAAAAAAAAAhAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAABAAAAAAAAACEAAAAAAAADwPwAAAAAAABBAAAAAAAAACEAAAAAAAAAIQAAAAAAAABBAAAAAAAAAEEAAAAAAAADwPwAAAAAAABBAAAAAAAAAEEAAAAAAAAAAAAAAAAAAAAhAAAAAAAAACEAAAAAAAAAQQAAAAAAAAAhAAAAAAAAAAEAAAAAAAAAYQAAAAAAAAPA/AAAAAAAAAEAAAAAAAAAAQAAAAAAAAABAAAAAAAAACEAAAAAAAAAIQAAAAAAAAAhAAAAAAAAAAEAAAAAAAAAIQAAAAAAAABRAAAAAAAAAEEAAAAAAAAAAQAAAAAAAAABAAAAAAAAACEAAAAAAAAAAQAAAAAAAABBAAAAAAAAAEEAAAAAAAAAIQAAAAAAAABBAAAAAAAAAAAAAAAAAAAAIQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABBAAAAAAAAACEAAAAAAAAAAQAAAAAAAAAhAAAAAAAAACEAAAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAACEAAAAAAAAAIQA==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1514\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1515\",\"type\":\"UnionRenderers\"}},\"id\":\"1471\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAIQAAAAAAAABRAAAAAAAAA8D8AAAAAAADwPwAAAAAAABRAAAAAAAAAKEAAAAAAAAAUQAAAAAAAABhAAAAAAAAAIkAAAAAAAAAkQAAAAAAAACxAAAAAAAAAJkAAAAAAAAAiQAAAAAAAAChAAAAAAAAAKkAAAAAAAAAuQAAAAAAAACRAAAAAAAAAMEAAAAAAAAAcQAAAAAAAADVAAAAAAAAAMkAAAAAAAAA0QAAAAAAAADhAAAAAAAAALEAAAAAAAAA5QAAAAAAAADVAAAAAAAAANEAAAAAAAAA7QAAAAAAAACZAAAAAAAAAMkAAAAAAAAA0QAAAAAAAACxAAAAAAAAANEAAAAAAAAAuQAAAAAAAADVAAAAAAAAAKEAAAAAAAAAoQAAAAAAAACJAAAAAAAAANEAAAAAAAAAiQAAAAAAAADJAAAAAAAAAKEAAAAAAAAAmQAAAAAAAAC5AAAAAAAAAJEAAAAAAAAAUQAAAAAAAABhAAAAAAAAAHEAAAAAAAADwPwAAAAAAACZAAAAAAAAAFEAAAAAAAADwPwAAAAAAAAhAAAAAAAAA8D8AAAAAAADwvwAAAAAAAAAAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAABAAAAAAAAAGMAAAAAAAAAIwAAAAAAAAAjAAAAAAAAAAEAAAAAAAAAAwAAAAAAAAPC/AAAAAAAAIMAAAAAAAADwvwAAAAAAAAjAAAAAAAAACEAAAAAAAADwvwAAAAAAAADAAAAAAAAAHMAAAAAAAAAAwAAAAAAAABjAAAAAAAAAEMAAAAAAAAAQwAAAAAAAABTAAAAAAAAA8D8AAAAAAAAgwAAAAAAAABTAAAAAAAAACMAAAAAAAAAcwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAQwAAAAAAAABDAAAAAAAAACMAAAAAAAAAkwAAAAAAAAPC/AAAAAAAAHMAAAAAAAAAQwAAAAAAAABTAAAAAAAAAIsAAAAAAAAAYwAAAAAAAABDAAAAAAAAAIMAAAAAAAAAcwAAAAAAAACDAAAAAAAAAEMAAAAAAAAAQwAAAAAAAAAjAAAAAAAAAGMAAAAAAAAAiwAAAAAAAABTAAAAAAAAAFMAAAAAAAAAAwAAAAAAAABjAAAAAAAAAEMAAAAAAAAAcwAAAAAAAAADAAAAAAAAAIsAAAAAAAAAQwAAAAAAAABzAAAAAAAAAIMAAAAAAAAAQwAAAAAAAAADAAAAAAAAAAMAAAAAAAAAYwAAAAAAAACDAAAAAAAAAFMAAAAAAAAAQwAAAAAAAABzAAAAAAAAAHMAAAAAAAAAIwAAAAAAAAAjAAAAAAAAAEMAAAAAAAADwvwAAAAAAAADAAAAAAAAAFMAAAAAAAAAgwAAAAAAAAAjAAAAAAAAAFMAAAAAAAAAAwAAAAAAAABDAAAAAAAAACMAAAAAAAAAIwAAAAAAAABzAAAAAAAAAAMAAAAAAAAAQwAAAAAAAAPC/AAAAAAAAGMAAAAAAAAAUwAAAAAAAAAjAAAAAAAAAAAAAAAAAAAAQwAAAAAAAAADAAAAAAAAACMAAAAAAAADwvwAAAAAAABDAAAAAAAAACMAAAAAAAAAIwAAAAAAAABDAAAAAAAAAEMAAAAAAAADwvwAAAAAAABDAAAAAAAAAEMAAAAAAAAAAAAAAAAAAAAjAAAAAAAAACMAAAAAAAAAQwAAAAAAAAAjAAAAAAAAAAMAAAAAAAAAYwAAAAAAAAPC/AAAAAAAAAMAAAAAAAAAAwAAAAAAAAADAAAAAAAAACMAAAAAAAAAIwAAAAAAAAAjAAAAAAAAAAMAAAAAAAAAIwAAAAAAAABTAAAAAAAAAEMAAAAAAAAAAwAAAAAAAAADAAAAAAAAACMAAAAAAAAAAwAAAAAAAABDAAAAAAAAAEMAAAAAAAAAIwAAAAAAAABDAAAAAAAAAAAAAAAAAAAAIwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABDAAAAAAAAACMAAAAAAAAAAwAAAAAAAAAjAAAAAAAAACMAAAAAAAADwvwAAAAAAAPC/AAAAAAAA8L8AAAAAAADwvwAAAAAAAPC/AAAAAAAACMAAAAAAAAAIwA==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1485\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1486\",\"type\":\"UnionRenderers\"}},\"id\":\"1456\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"source\":{\"id\":\"1271\",\"type\":\"ColumnDataSource\"}},\"id\":\"1275\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1278\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1458\",\"type\":\"Line\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1282\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"label\":{\"value\":\"Infected\"},\"renderers\":[{\"id\":\"1288\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1299\",\"type\":\"LegendItem\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1473\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1280\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data_source\":{\"id\":\"1471\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1472\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1473\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1475\",\"type\":\"CDSView\"}},\"id\":\"1474\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null},\"id\":\"1240\",\"type\":\"DataRange1d\"},{\"attributes\":{\"label\":{\"value\":\"Susceptible\"},\"renderers\":[{\"id\":\"1274\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1284\",\"type\":\"LegendItem\"},{\"attributes\":{\"source\":{\"id\":\"1471\",\"type\":\"ColumnDataSource\"}},\"id\":\"1475\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1315\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1485\",\"type\":\"Selection\"},{\"attributes\":{\"label\":{\"value\":\"Removed\"},\"renderers\":[{\"id\":\"1303\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1316\",\"type\":\"LegendItem\"},{\"attributes\":{\"label\":{\"value\":\"Removed\"},\"renderers\":[{\"id\":\"1474\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1487\",\"type\":\"LegendItem\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#aec7e8\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1286\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1486\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"align\":\"center\",\"text\":\"beta: 0.001, gamma: 0.01, fraction infected: 0.05, tp rate: 1\"},\"id\":\"1489\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1314\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1314\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1315\",\"type\":\"UnionRenderers\"}},\"id\":\"1285\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1287\",\"type\":\"Line\"},{\"attributes\":{\"callback\":null},\"id\":\"1411\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data_source\":{\"id\":\"1285\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1286\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1287\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1289\",\"type\":\"CDSView\"}},\"id\":\"1288\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1285\",\"type\":\"ColumnDataSource\"}},\"id\":\"1289\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1297\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1298\",\"type\":\"UnionRenderers\"}],\"root_ids\":[\"1625\"]},\"title\":\"Bokeh Application\",\"version\":\"1.4.0\"}};\n",
" var render_items = [{\"docid\":\"6bbc79b5-6801-4c5f-8b4a-917aa22fd169\",\"roots\":{\"1625\":\"82dc4cc9-b767-4782-a768-de742e57619e\"}}];\n",
" root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
"\n",
" }\n",
" if (root.Bokeh !== undefined) {\n",
" embed_document(root);\n",
" } else {\n",
" var attempts = 0;\n",
" var timer = setInterval(function(root) {\n",
" if (root.Bokeh !== undefined) {\n",
" clearInterval(timer);\n",
" embed_document(root);\n",
" } else {\n",
" attempts++;\n",
" if (attempts > 100) {\n",
" clearInterval(timer);\n",
" console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
" }\n",
" }\n",
" }, 10, root)\n",
" }\n",
"})(window);"
],
"application/vnd.bokehjs_exec.v0+json": ""
},
"metadata": {
"application/vnd.bokehjs_exec.v0+json": {
"id": "1625"
}
},
"output_type": "display_data"
}
],
"source": [
"vm = MultiPlot()\n",
"vm.add_plot(p)\n",
"vm.add_plot(p2)\n",
"m = vm.plot()\n",
"show(m)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"### Kertesz Threshold model\n",
"\n",
"The Kertesz Threshold model was introduced in 2015 by `Ruan` et al. [1] and it is an extension of the Watts threshold model [2].\n",
"\n",
"We set the initial infected as well blocked node sets equals to the 10% of the overall population, assign a threshold of 0.25 to all the nodes and impose an probability of spontaneous adoptions of 40%.\n",
"\n",
"- [1]\tZ. Ruan, G. In ̃iguez, M. Karsai, and J. Kertész, “Kinetics of social contagion,” Phys. Rev. Lett., vol. 115, p. 218702, Nov 2015.\n",
"- [2]\tD.J. Watts, “A simple model of global cascades on random networks,” Proceedings of the National Academy of Sciences, vol. 99, no. 9, pp. 5766–5771, 2002."
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-02T06:43:28.695686Z",
"start_time": "2020-08-02T06:43:27.593137Z"
},
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 200/200 [00:00<00:00, 207.32it/s]\n"
]
}
],
"source": [
"# Network topology\n",
"g = nx.erdos_renyi_graph(1000, 0.1)\n",
"\n",
"# Model selection\n",
"th_model = ep.KerteszThresholdModel(g)\n",
"\n",
"# Model Configuration\n",
"config = mc.Configuration()\n",
"config.add_model_parameter('adopter_rate', 0.4)\n",
"config.add_model_parameter('percentage_blocked', 0.1)\n",
"config.add_model_parameter('fraction_infected', 0.1)\n",
"\n",
"# Setting node parameters\n",
"threshold = 0.25\n",
"for i in g.nodes():\n",
" config.add_node_configuration(\"threshold\", i, threshold)\n",
"\n",
"th_model.set_initial_status(config)\n",
"\n",
"# Simulation execution\n",
"iterations = th_model.iteration_bunch(200)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-02T06:43:42.346680Z",
"start_time": "2020-08-02T06:43:42.248361Z"
},
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"text/html": [
"\n",
" \n",
"
\n",
"
Loading BokehJS ... \n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"\n",
"(function(root) {\n",
" function now() {\n",
" return new Date();\n",
" }\n",
"\n",
" var force = true;\n",
"\n",
" if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n",
" root._bokeh_onload_callbacks = [];\n",
" root._bokeh_is_loading = undefined;\n",
" }\n",
"\n",
" var JS_MIME_TYPE = 'application/javascript';\n",
" var HTML_MIME_TYPE = 'text/html';\n",
" var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n",
" var CLASS_NAME = 'output_bokeh rendered_html';\n",
"\n",
" /**\n",
" * Render data to the DOM node\n",
" */\n",
" function render(props, node) {\n",
" var script = document.createElement(\"script\");\n",
" node.appendChild(script);\n",
" }\n",
"\n",
" /**\n",
" * Handle when an output is cleared or removed\n",
" */\n",
" function handleClearOutput(event, handle) {\n",
" var cell = handle.cell;\n",
"\n",
" var id = cell.output_area._bokeh_element_id;\n",
" var server_id = cell.output_area._bokeh_server_id;\n",
" // Clean up Bokeh references\n",
" if (id != null && id in Bokeh.index) {\n",
" Bokeh.index[id].model.document.clear();\n",
" delete Bokeh.index[id];\n",
" }\n",
"\n",
" if (server_id !== undefined) {\n",
" // Clean up Bokeh references\n",
" var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n",
" cell.notebook.kernel.execute(cmd, {\n",
" iopub: {\n",
" output: function(msg) {\n",
" var id = msg.content.text.trim();\n",
" if (id in Bokeh.index) {\n",
" Bokeh.index[id].model.document.clear();\n",
" delete Bokeh.index[id];\n",
" }\n",
" }\n",
" }\n",
" });\n",
" // Destroy server and session\n",
" var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n",
" cell.notebook.kernel.execute(cmd);\n",
" }\n",
" }\n",
"\n",
" /**\n",
" * Handle when a new output is added\n",
" */\n",
" function handleAddOutput(event, handle) {\n",
" var output_area = handle.output_area;\n",
" var output = handle.output;\n",
"\n",
" // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n",
" if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n",
" return\n",
" }\n",
"\n",
" var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n",
"\n",
" if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n",
" toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n",
" // store reference to embed id on output_area\n",
" output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n",
" }\n",
" if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n",
" var bk_div = document.createElement(\"div\");\n",
" bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
" var script_attrs = bk_div.children[0].attributes;\n",
" for (var i = 0; i < script_attrs.length; i++) {\n",
" toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
" }\n",
" // store reference to server id on output_area\n",
" output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
" }\n",
" }\n",
"\n",
" function register_renderer(events, OutputArea) {\n",
"\n",
" function append_mime(data, metadata, element) {\n",
" // create a DOM node to render to\n",
" var toinsert = this.create_output_subarea(\n",
" metadata,\n",
" CLASS_NAME,\n",
" EXEC_MIME_TYPE\n",
" );\n",
" this.keyboard_manager.register_events(toinsert);\n",
" // Render to node\n",
" var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
" render(props, toinsert[toinsert.length - 1]);\n",
" element.append(toinsert);\n",
" return toinsert\n",
" }\n",
"\n",
" /* Handle when an output is cleared or removed */\n",
" events.on('clear_output.CodeCell', handleClearOutput);\n",
" events.on('delete.Cell', handleClearOutput);\n",
"\n",
" /* Handle when a new output is added */\n",
" events.on('output_added.OutputArea', handleAddOutput);\n",
"\n",
" /**\n",
" * Register the mime type and append_mime function with output_area\n",
" */\n",
" OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n",
" /* Is output safe? */\n",
" safe: true,\n",
" /* Index of renderer in `output_area.display_order` */\n",
" index: 0\n",
" });\n",
" }\n",
"\n",
" // register the mime type if in Jupyter Notebook environment and previously unregistered\n",
" if (root.Jupyter !== undefined) {\n",
" var events = require('base/js/events');\n",
" var OutputArea = require('notebook/js/outputarea').OutputArea;\n",
"\n",
" if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n",
" register_renderer(events, OutputArea);\n",
" }\n",
" }\n",
"\n",
" \n",
" if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n",
" root._bokeh_timeout = Date.now() + 5000;\n",
" root._bokeh_failed_load = false;\n",
" }\n",
"\n",
" var NB_LOAD_WARNING = {'data': {'text/html':\n",
" \"\\n\"+\n",
" \"
\\n\"+\n",
" \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n",
" \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n",
" \"
\\n\"+\n",
" \"
\\n\"+\n",
" \"re-rerun `output_notebook()` to attempt to load from CDN again, or \\n\"+\n",
" \"use INLINE resources instead, as so: \\n\"+\n",
" \" \\n\"+\n",
" \"
\\n\"+\n",
" \"from bokeh.resources import INLINE\\n\"+\n",
" \"output_notebook(resources=INLINE)\\n\"+\n",
" \"
\\n\"+\n",
" \"
\"}};\n",
"\n",
" function display_loaded() {\n",
" var el = document.getElementById(\"2455\");\n",
" if (el != null) {\n",
" el.textContent = \"BokehJS is loading...\";\n",
" }\n",
" if (root.Bokeh !== undefined) {\n",
" if (el != null) {\n",
" el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n",
" }\n",
" } else if (Date.now() < root._bokeh_timeout) {\n",
" setTimeout(display_loaded, 100)\n",
" }\n",
" }\n",
"\n",
"\n",
" function run_callbacks() {\n",
" try {\n",
" root._bokeh_onload_callbacks.forEach(function(callback) {\n",
" if (callback != null)\n",
" callback();\n",
" });\n",
" } finally {\n",
" delete root._bokeh_onload_callbacks\n",
" }\n",
" console.debug(\"Bokeh: all callbacks have finished\");\n",
" }\n",
"\n",
" function load_libs(css_urls, js_urls, callback) {\n",
" if (css_urls == null) css_urls = [];\n",
" if (js_urls == null) js_urls = [];\n",
"\n",
" root._bokeh_onload_callbacks.push(callback);\n",
" if (root._bokeh_is_loading > 0) {\n",
" console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
" return null;\n",
" }\n",
" if (js_urls == null || js_urls.length === 0) {\n",
" run_callbacks();\n",
" return null;\n",
" }\n",
" console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
" root._bokeh_is_loading = css_urls.length + js_urls.length;\n",
"\n",
" function on_load() {\n",
" root._bokeh_is_loading--;\n",
" if (root._bokeh_is_loading === 0) {\n",
" console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n",
" run_callbacks()\n",
" }\n",
" }\n",
"\n",
" function on_error() {\n",
" console.error(\"failed to load \" + url);\n",
" }\n",
"\n",
" for (var i = 0; i < css_urls.length; i++) {\n",
" var url = css_urls[i];\n",
" const element = document.createElement(\"link\");\n",
" element.onload = on_load;\n",
" element.onerror = on_error;\n",
" element.rel = \"stylesheet\";\n",
" element.type = \"text/css\";\n",
" element.href = url;\n",
" console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
" document.body.appendChild(element);\n",
" }\n",
"\n",
" for (var i = 0; i < js_urls.length; i++) {\n",
" var url = js_urls[i];\n",
" var element = document.createElement('script');\n",
" element.onload = on_load;\n",
" element.onerror = on_error;\n",
" element.async = false;\n",
" element.src = url;\n",
" console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
" document.head.appendChild(element);\n",
" }\n",
" };var element = document.getElementById(\"2455\");\n",
" if (element == null) {\n",
" console.error(\"Bokeh: ERROR: autoload.js configured with elementid '2455' but no matching script tag was found. \")\n",
" return false;\n",
" }\n",
"\n",
" function inject_raw_css(css) {\n",
" const element = document.createElement(\"style\");\n",
" element.appendChild(document.createTextNode(css));\n",
" document.body.appendChild(element);\n",
" }\n",
"\n",
" \n",
" var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.4.0.min.js\"];\n",
" var css_urls = [];\n",
" \n",
"\n",
" var inline_js = [\n",
" function(Bokeh) {\n",
" Bokeh.set_log_level(\"info\");\n",
" },\n",
" function(Bokeh) {\n",
" \n",
" \n",
" }\n",
" ];\n",
"\n",
" function run_inline_js() {\n",
" \n",
" if (root.Bokeh !== undefined || force === true) {\n",
" \n",
" for (var i = 0; i < inline_js.length; i++) {\n",
" inline_js[i].call(root, root.Bokeh);\n",
" }\n",
" if (force === true) {\n",
" display_loaded();\n",
" }} else if (Date.now() < root._bokeh_timeout) {\n",
" setTimeout(run_inline_js, 100);\n",
" } else if (!root._bokeh_failed_load) {\n",
" console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
" root._bokeh_failed_load = true;\n",
" } else if (force !== true) {\n",
" var cell = $(document.getElementById(\"2455\")).parents('.cell').data().cell;\n",
" cell.output_area.append_execute_result(NB_LOAD_WARNING)\n",
" }\n",
"\n",
" }\n",
"\n",
" if (root._bokeh_is_loading === 0) {\n",
" console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
" run_inline_js();\n",
" } else {\n",
" load_libs(css_urls, js_urls, function() {\n",
" console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
" run_inline_js();\n",
" });\n",
" }\n",
"}(window));"
],
"application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"\\n\"+\n \"
\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"
\\n\"+\n \"
\\n\"+\n \"re-rerun `output_notebook()` to attempt to load from CDN again, or \\n\"+\n \"use INLINE resources instead, as so: \\n\"+\n \" \\n\"+\n \"
\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"
\\n\"+\n \"
\"}};\n\n function display_loaded() {\n var el = document.getElementById(\"2455\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };var element = document.getElementById(\"2455\");\n if (element == null) {\n console.error(\"Bokeh: ERROR: autoload.js configured with elementid '2455' but no matching script tag was found. \")\n return false;\n }\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.4.0.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(\"2455\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));"
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"
\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"(function(root) {\n",
" function embed_document(root) {\n",
" \n",
" var docs_json = {\"d0e616ad-7803-47b8-8f80-60c240c64391\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"2465\",\"type\":\"LinearAxis\"},{\"id\":\"2535\",\"type\":\"Title\"}],\"center\":[{\"id\":\"2469\",\"type\":\"Grid\"},{\"id\":\"2474\",\"type\":\"Grid\"},{\"id\":\"2500\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"2470\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"2491\",\"type\":\"GlyphRenderer\"},{\"id\":\"2505\",\"type\":\"GlyphRenderer\"},{\"id\":\"2520\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"2494\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"2481\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"2457\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"2461\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"2459\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"2463\",\"type\":\"LinearScale\"}},\"id\":\"2456\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"2497\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2463\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2646\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"label\":{\"value\":\"Blocked\"},\"renderers\":[{\"id\":\"2520\",\"type\":\"GlyphRenderer\"}]},\"id\":\"2533\",\"type\":\"LegendItem\"},{\"attributes\":{\"text\":\"Kertesz Threhold - Diffusion Trend\"},\"id\":\"2494\",\"type\":\"Title\"},{\"attributes\":{\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"2466\",\"type\":\"BasicTicker\"}},\"id\":\"2469\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#ff7f0e\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2518\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2514\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2480\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"2531\",\"type\":\"Selection\"},{\"attributes\":{\"dimension\":1,\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"2471\",\"type\":\"BasicTicker\"}},\"id\":\"2474\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"2475\",\"type\":\"PanTool\"},{\"attributes\":{\"data_source\":{\"id\":\"2517\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"2518\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2519\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"2521\",\"type\":\"CDSView\"}},\"id\":\"2520\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2471\",\"type\":\"BasicTicker\"},{\"attributes\":{\"source\":{\"id\":\"2502\",\"type\":\"ColumnDataSource\"}},\"id\":\"2506\",\"type\":\"CDSView\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5P5qZmZmZmbk/mpmZmZmZuT+amZmZmZm5Pw==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"2645\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2646\",\"type\":\"UnionRenderers\"}},\"id\":\"2517\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2479\",\"type\":\"ResetTool\"},{\"attributes\":{\"align\":\"center\",\"text\":\"adopter rate: 0.4, percentage blocked: 0.1, fraction infected: 0.1\"},\"id\":\"2535\",\"type\":\"Title\"},{\"attributes\":{\"source\":{\"id\":\"2488\",\"type\":\"ColumnDataSource\"}},\"id\":\"2492\",\"type\":\"CDSView\"},{\"attributes\":{\"overlay\":{\"id\":\"2499\",\"type\":\"BoxAnnotation\"}},\"id\":\"2477\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#aec7e8\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2503\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2519\",\"type\":\"Line\"},{\"attributes\":{\"axis_label\":\"Iterations\",\"formatter\":{\"id\":\"2495\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"2466\",\"type\":\"BasicTicker\"}},\"id\":\"2465\",\"type\":\"LinearAxis\"},{\"attributes\":{\"axis_label\":\"#Nodes\",\"formatter\":{\"id\":\"2497\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"2471\",\"type\":\"BasicTicker\"}},\"id\":\"2470\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"mpmZmZmZ6T9zaJHtfD/dPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"2514\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2515\",\"type\":\"UnionRenderers\"}},\"id\":\"2488\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"2499\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"2645\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2466\",\"type\":\"BasicTicker\"},{\"attributes\":{\"items\":[{\"id\":\"2501\",\"type\":\"LegendItem\"},{\"id\":\"2516\",\"type\":\"LegendItem\"},{\"id\":\"2533\",\"type\":\"LegendItem\"}],\"orientation\":\"horizontal\"},\"id\":\"2500\",\"type\":\"Legend\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"mpmZmZmZuT8nMQisHFrcP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsP83MzMzMzOw/zczMzMzM7D/NzMzMzMzsPw==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"2531\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2532\",\"type\":\"UnionRenderers\"}},\"id\":\"2502\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2478\",\"type\":\"SaveTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2490\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2515\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"label\":{\"value\":\"Infected\"},\"renderers\":[{\"id\":\"2505\",\"type\":\"GlyphRenderer\"}]},\"id\":\"2516\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"2476\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"2495\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"2532\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2461\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null},\"id\":\"2459\",\"type\":\"DataRange1d\"},{\"attributes\":{\"label\":{\"value\":\"Susceptible\"},\"renderers\":[{\"id\":\"2491\",\"type\":\"GlyphRenderer\"}]},\"id\":\"2501\",\"type\":\"LegendItem\"},{\"attributes\":{\"source\":{\"id\":\"2517\",\"type\":\"ColumnDataSource\"}},\"id\":\"2521\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2489\",\"type\":\"Line\"},{\"attributes\":{\"callback\":null},\"id\":\"2457\",\"type\":\"DataRange1d\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2504\",\"type\":\"Line\"},{\"attributes\":{\"data_source\":{\"id\":\"2488\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"2489\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2490\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"2492\",\"type\":\"CDSView\"}},\"id\":\"2491\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data_source\":{\"id\":\"2502\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"2503\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2504\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"2506\",\"type\":\"CDSView\"}},\"id\":\"2505\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"2475\",\"type\":\"PanTool\"},{\"id\":\"2476\",\"type\":\"WheelZoomTool\"},{\"id\":\"2477\",\"type\":\"BoxZoomTool\"},{\"id\":\"2478\",\"type\":\"SaveTool\"},{\"id\":\"2479\",\"type\":\"ResetTool\"},{\"id\":\"2480\",\"type\":\"HelpTool\"}]},\"id\":\"2481\",\"type\":\"Toolbar\"}],\"root_ids\":[\"2456\"]},\"title\":\"Bokeh Application\",\"version\":\"1.4.0\"}};\n",
" var render_items = [{\"docid\":\"d0e616ad-7803-47b8-8f80-60c240c64391\",\"roots\":{\"2456\":\"0c599d0f-d482-4756-86d4-7fd57c14674a\"}}];\n",
" root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
"\n",
" }\n",
" if (root.Bokeh !== undefined) {\n",
" embed_document(root);\n",
" } else {\n",
" var attempts = 0;\n",
" var timer = setInterval(function(root) {\n",
" if (root.Bokeh !== undefined) {\n",
" clearInterval(timer);\n",
" embed_document(root);\n",
" } else {\n",
" attempts++;\n",
" if (attempts > 100) {\n",
" clearInterval(timer);\n",
" console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
" }\n",
" }\n",
" }, 10, root)\n",
" }\n",
"})(window);"
],
"application/vnd.bokehjs_exec.v0+json": ""
},
"metadata": {
"application/vnd.bokehjs_exec.v0+json": {
"id": "2456"
}
},
"output_type": "display_data"
}
],
"source": [
"output_notebook() # show bokeh in notebook\n",
"\n",
"trends = th_model.build_trends(iterations)\n",
"\n",
"viz = DiffusionTrend(th_model, trends)\n",
"p = viz.plot(width=400, height=400)\n",
"show(p)"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-02T06:44:51.346018Z",
"start_time": "2020-08-02T06:44:51.263002Z"
},
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"
\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"(function(root) {\n",
" function embed_document(root) {\n",
" \n",
" var docs_json = {\"91eeb6a2-ff57-4165-a6cc-dadd885d0be7\":{\"roots\":{\"references\":[{\"attributes\":{\"below\":[{\"id\":\"2734\",\"type\":\"LinearAxis\"},{\"id\":\"2804\",\"type\":\"Title\"}],\"center\":[{\"id\":\"2738\",\"type\":\"Grid\"},{\"id\":\"2743\",\"type\":\"Grid\"},{\"id\":\"2769\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"2739\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"2760\",\"type\":\"GlyphRenderer\"},{\"id\":\"2774\",\"type\":\"GlyphRenderer\"},{\"id\":\"2789\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"2763\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"2750\",\"type\":\"Toolbar\"},\"x_range\":{\"id\":\"2726\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"2730\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"2728\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"2732\",\"type\":\"LinearScale\"}},\"id\":\"2725\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"axis_label\":\"Iterations\",\"formatter\":{\"id\":\"2764\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"2735\",\"type\":\"BasicTicker\"}},\"id\":\"2734\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"2749\",\"type\":\"HelpTool\"},{\"attributes\":{\"source\":{\"id\":\"2757\",\"type\":\"ColumnDataSource\"}},\"id\":\"2761\",\"type\":\"CDSView\"},{\"attributes\":{\"text\":\"Kertesz Threhold - Prevalence\"},\"id\":\"2763\",\"type\":\"Title\"},{\"attributes\":{\"data_source\":{\"id\":\"2757\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"2758\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2759\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"2761\",\"type\":\"CDSView\"}},\"id\":\"2760\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAHB1QAAAAAAAkHxAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"2800\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2801\",\"type\":\"UnionRenderers\"}},\"id\":\"2771\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data_source\":{\"id\":\"2771\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"2772\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2773\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"2775\",\"type\":\"CDSView\"}},\"id\":\"2774\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#ff7f0e\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2787\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2766\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"2768\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"callback\":null},\"id\":\"2728\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"2764\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2759\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"2744\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"2783\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2740\",\"type\":\"BasicTicker\"},{\"attributes\":{\"source\":{\"id\":\"2771\",\"type\":\"ColumnDataSource\"}},\"id\":\"2775\",\"type\":\"CDSView\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"2927\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2928\",\"type\":\"UnionRenderers\"}},\"id\":\"2786\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data_source\":{\"id\":\"2786\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"2787\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2788\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"2790\",\"type\":\"CDSView\"}},\"id\":\"2789\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"2732\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"2744\",\"type\":\"PanTool\"},{\"id\":\"2745\",\"type\":\"WheelZoomTool\"},{\"id\":\"2746\",\"type\":\"BoxZoomTool\"},{\"id\":\"2747\",\"type\":\"SaveTool\"},{\"id\":\"2748\",\"type\":\"ResetTool\"},{\"id\":\"2749\",\"type\":\"HelpTool\"}]},\"id\":\"2750\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"2730\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"2735\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2773\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#aec7e8\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2772\",\"type\":\"Line\"},{\"attributes\":{\"items\":[{\"id\":\"2770\",\"type\":\"LegendItem\"},{\"id\":\"2785\",\"type\":\"LegendItem\"},{\"id\":\"2802\",\"type\":\"LegendItem\"}],\"orientation\":\"horizontal\"},\"id\":\"2769\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"2784\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"2735\",\"type\":\"BasicTicker\"}},\"id\":\"2738\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2788\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2758\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"2786\",\"type\":\"ColumnDataSource\"}},\"id\":\"2790\",\"type\":\"CDSView\"},{\"attributes\":{\"callback\":null},\"id\":\"2726\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"2800\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAHB1wAAAAAAAkHzAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"2783\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2784\",\"type\":\"UnionRenderers\"}},\"id\":\"2757\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2745\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"dimension\":1,\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"2740\",\"type\":\"BasicTicker\"}},\"id\":\"2743\",\"type\":\"Grid\"},{\"attributes\":{\"label\":{\"value\":\"Susceptible\"},\"renderers\":[{\"id\":\"2760\",\"type\":\"GlyphRenderer\"}]},\"id\":\"2770\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"2801\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis_label\":\"#Delta Nodes\",\"formatter\":{\"id\":\"2766\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"2740\",\"type\":\"BasicTicker\"}},\"id\":\"2739\",\"type\":\"LinearAxis\"},{\"attributes\":{\"overlay\":{\"id\":\"2768\",\"type\":\"BoxAnnotation\"}},\"id\":\"2746\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"label\":{\"value\":\"Blocked\"},\"renderers\":[{\"id\":\"2789\",\"type\":\"GlyphRenderer\"}]},\"id\":\"2802\",\"type\":\"LegendItem\"},{\"attributes\":{\"align\":\"center\",\"text\":\"adopter rate: 0.4, percentage blocked: 0.1, fraction infected: 0.1\"},\"id\":\"2804\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"2748\",\"type\":\"ResetTool\"},{\"attributes\":{\"label\":{\"value\":\"Infected\"},\"renderers\":[{\"id\":\"2774\",\"type\":\"GlyphRenderer\"}]},\"id\":\"2785\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"2928\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2747\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"2927\",\"type\":\"Selection\"}],\"root_ids\":[\"2725\"]},\"title\":\"Bokeh Application\",\"version\":\"1.4.0\"}};\n",
" var render_items = [{\"docid\":\"91eeb6a2-ff57-4165-a6cc-dadd885d0be7\",\"roots\":{\"2725\":\"8f6f8a05-7834-4101-952c-92cb4ab0e166\"}}];\n",
" root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
"\n",
" }\n",
" if (root.Bokeh !== undefined) {\n",
" embed_document(root);\n",
" } else {\n",
" var attempts = 0;\n",
" var timer = setInterval(function(root) {\n",
" if (root.Bokeh !== undefined) {\n",
" clearInterval(timer);\n",
" embed_document(root);\n",
" } else {\n",
" attempts++;\n",
" if (attempts > 100) {\n",
" clearInterval(timer);\n",
" console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
" }\n",
" }\n",
" }, 10, root)\n",
" }\n",
"})(window);"
],
"application/vnd.bokehjs_exec.v0+json": ""
},
"metadata": {
"application/vnd.bokehjs_exec.v0+json": {
"id": "2725"
}
},
"output_type": "display_data"
}
],
"source": [
"viz2 = DiffusionPrevalence(th_model, trends)\n",
"p2 = viz2.plot(width=400, height=400)\n",
"show(p2)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"### Model Comparisions"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-02T06:30:16.333205Z",
"start_time": "2020-08-02T06:30:13.172719Z"
},
"code_folding": [
0
],
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 200/200 [00:01<00:00, 149.48it/s]\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"100%|██████████| 200/200 [00:01<00:00, 198.91it/s]\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"100%|██████████| 60/60 [00:00<00:00, 94.43it/s] \n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"
\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"(function(root) {\n",
" function embed_document(root) {\n",
" \n",
" var docs_json = {\"8b5f184a-5c7a-4e13-8083-f64f8610ca4a\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"2075\",\"type\":\"ToolbarBox\"},{\"id\":\"2073\",\"type\":\"GridBox\"}]},\"id\":\"2076\",\"type\":\"Column\"},{\"attributes\":{\"axis_label\":\"#Nodes\",\"formatter\":{\"id\":\"1280\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1254\",\"type\":\"BasicTicker\"}},\"id\":\"1253\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null},\"id\":\"1963\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"1249\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1945\",\"type\":\"Line\"},{\"attributes\":{\"data_source\":{\"id\":\"1943\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1944\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1945\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1947\",\"type\":\"CDSView\"}},\"id\":\"1946\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1943\",\"type\":\"ColumnDataSource\"}},\"id\":\"1947\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1955\",\"type\":\"Selection\"},{\"attributes\":{\"below\":[{\"id\":\"1248\",\"type\":\"LinearAxis\"},{\"id\":\"1318\",\"type\":\"Title\"}],\"center\":[{\"id\":\"1252\",\"type\":\"Grid\"},{\"id\":\"1257\",\"type\":\"Grid\"},{\"id\":\"1283\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"1253\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"1274\",\"type\":\"GlyphRenderer\"},{\"id\":\"1288\",\"type\":\"GlyphRenderer\"},{\"id\":\"1303\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1277\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1264\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1240\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1244\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1242\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1246\",\"type\":\"LinearScale\"}},\"id\":\"1239\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"label\":{\"value\":\"Infected\"},\"renderers\":[{\"id\":\"1946\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1957\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1956\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"align\":\"center\",\"text\":\"beta: 0.001, fraction infected: 0.05, tp rate: 1\"},\"id\":\"1959\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1330\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1331\",\"type\":\"UnionRenderers\"}},\"id\":\"1300\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"label\":{\"value\":\"Susceptible\"},\"renderers\":[{\"id\":\"1995\",\"type\":\"GlyphRenderer\"}]},\"id\":\"2005\",\"type\":\"LegendItem\"},{\"attributes\":{\"items\":[{\"id\":\"2005\",\"type\":\"LegendItem\"},{\"id\":\"2020\",\"type\":\"LegendItem\"}],\"orientation\":\"horizontal\"},\"id\":\"2004\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"2046\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1965\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1893\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1254\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1967\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1244\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"Iterations\",\"formatter\":{\"id\":\"1999\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1970\",\"type\":\"BasicTicker\"}},\"id\":\"1969\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1975\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1970\",\"type\":\"BasicTicker\"},{\"attributes\":{\"below\":[{\"id\":\"1843\",\"type\":\"LinearAxis\"},{\"id\":\"1896\",\"type\":\"Title\"}],\"center\":[{\"id\":\"1847\",\"type\":\"Grid\"},{\"id\":\"1852\",\"type\":\"Grid\"},{\"id\":\"1878\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"1848\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"1869\",\"type\":\"GlyphRenderer\"},{\"id\":\"1883\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1872\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1859\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1835\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1839\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1837\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1841\",\"type\":\"LinearScale\"}},\"id\":\"1834\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"callback\":null},\"id\":\"1242\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null},\"id\":\"1837\",\"type\":\"DataRange1d\"},{\"attributes\":{\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"1970\",\"type\":\"BasicTicker\"}},\"id\":\"1973\",\"type\":\"Grid\"},{\"attributes\":{\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"1249\",\"type\":\"BasicTicker\"}},\"id\":\"1252\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1930\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1994\",\"type\":\"Line\"},{\"attributes\":{\"dimension\":1,\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"1975\",\"type\":\"BasicTicker\"}},\"id\":\"1978\",\"type\":\"Grid\"},{\"attributes\":{\"source\":{\"id\":\"1300\",\"type\":\"ColumnDataSource\"}},\"id\":\"1304\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1246\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1839\",\"type\":\"LinearScale\"},{\"attributes\":{\"axis_label\":\"#Nodes\",\"formatter\":{\"id\":\"2001\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1975\",\"type\":\"BasicTicker\"}},\"id\":\"1974\",\"type\":\"LinearAxis\"},{\"attributes\":{\"data_source\":{\"id\":\"1300\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1301\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1302\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1304\",\"type\":\"CDSView\"}},\"id\":\"1303\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"1841\",\"type\":\"LinearScale\"},{\"attributes\":{\"source\":{\"id\":\"1992\",\"type\":\"ColumnDataSource\"}},\"id\":\"1996\",\"type\":\"CDSView\"},{\"attributes\":{\"axis_label\":\"Iterations\",\"formatter\":{\"id\":\"1278\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1249\",\"type\":\"BasicTicker\"}},\"id\":\"1248\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#ff7f0e\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1301\",\"type\":\"Line\"},{\"attributes\":{\"data_source\":{\"id\":\"1992\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1993\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1994\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1996\",\"type\":\"CDSView\"}},\"id\":\"1995\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59],\"y\":{\"__ndarray__\":\"ZmZmZmZm5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/vHSTGARW5j+8dJMYBFbmP7x0kxgEVuY/\",\"dtype\":\"float64\",\"shape\":[60]}},\"selected\":{\"id\":\"2018\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2019\",\"type\":\"UnionRenderers\"}},\"id\":\"1992\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"items\":[{\"id\":\"1879\",\"type\":\"LegendItem\"},{\"id\":\"1894\",\"type\":\"LegendItem\"}],\"orientation\":\"horizontal\"},\"id\":\"1878\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"1979\",\"type\":\"PanTool\"},{\"attributes\":{\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"1844\",\"type\":\"BasicTicker\"}},\"id\":\"1847\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"Iterations\",\"formatter\":{\"id\":\"1873\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1844\",\"type\":\"BasicTicker\"}},\"id\":\"1843\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1980\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1302\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1844\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1273\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1331\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"overlay\":{\"id\":\"2003\",\"type\":\"BoxAnnotation\"}},\"id\":\"1981\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"align\":\"center\",\"text\":\"beta: 0.001, gamma: 0.01, fraction infected: 0.05, tp rate: 1\"},\"id\":\"1318\",\"type\":\"Title\"},{\"attributes\":{},\"id\":\"1849\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"1982\",\"type\":\"SaveTool\"},{\"attributes\":{\"align\":\"center\",\"text\":\"beta: 0.001, lambda: 0.01, fraction infected: 0.05, tp rate: 1\"},\"id\":\"1896\",\"type\":\"Title\"},{\"attributes\":{\"dimension\":1,\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"1254\",\"type\":\"BasicTicker\"}},\"id\":\"1257\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1868\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1983\",\"type\":\"ResetTool\"},{\"attributes\":{\"dimension\":1,\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"1849\",\"type\":\"BasicTicker\"}},\"id\":\"1852\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"#Nodes\",\"formatter\":{\"id\":\"1875\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1849\",\"type\":\"BasicTicker\"}},\"id\":\"1848\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1984\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"1330\",\"type\":\"Selection\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1979\",\"type\":\"PanTool\"},{\"id\":\"1980\",\"type\":\"WheelZoomTool\"},{\"id\":\"1981\",\"type\":\"BoxZoomTool\"},{\"id\":\"1982\",\"type\":\"SaveTool\"},{\"id\":\"1983\",\"type\":\"ResetTool\"},{\"id\":\"1984\",\"type\":\"HelpTool\"}]},\"id\":\"1985\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"ZmZmZmZm7j/n+6nx0k3uP76fGi/dJO4/PzVeukkM7j+WQ4ts5/vtP23n+6nx0u0/cT0K16Nw7T9zaJHtfD/tP3WTGARWDu0/TmIQWDm07D/8qfHSTWLsP4GVQ4ts5+s/sHJoke186z8zMzMzMzPrPzeJQWDl0Oo/5/up8dJN6j9t5/up8dLpP3E9CtejcOk/okW28/3U6D8lBoGVQ4voPwIrhxbZzuc/tMh2vp8a5z9mZmZmZmbmP28Sg8DKoeU/oBov3SQG5T9/arx0kxjkP7Kd76fGS+M/EFg5tMh24j8bL90kBoHhP8uhRbbz/eA/UrgehetR4D9cj8L1KFzfP2q8dJMYBN4/JQaBlUOL3D+F61G4HoXbP+kmMQisHNo/+FPjpZvE2D+wcmiR7XzXPxKDwMqhRdY/d76fGi/d1D+BlUOLbOfTP+XQItv5ftI/nu+nxks30T+oxks3iUHQP8HKoUW2880/2c73U+Olyz89CtejcD3KP1K4HoXrUcg/ukkMAiuHxj9vEoPAyqHFPyuHFtnO98M/O99PjZduwj9I4XoUrkfBP/yp8dJNYsA/EFg5tMh2vj9xPQrXo3C9PzEIrBxaZLs/8tJNYhBYuT9SuB6F61G4PxKDwMqhRbY/w/UoXI/CtT/LoUW28/20PyuHFtnO97M/O99PjZdusj+cxCCwcmixP1g5tMh2vq8/uB6F61G4rj956SYxCKysP5qZmZmZmak/K4cW2c73oz/b+X5qvHSjP0w3iUFg5aA/TDeJQWDloD/8qfHSTWKgP7gehetRuJ4/ObTIdr6fmj85tMh2vp+aP/p+arx0k5g/exSuR+F6lD97FK5H4XqUP3sUrkfhepQ/O99PjZdukj8730+Nl26SP5zEILByaJE//Knx0k1ikD+4HoXrUbiOPzm0yHa+n4o/ukkMAiuHhj97FK5H4XqEP/yp8dJNYoA//Knx0k1igD/8qfHSTWKAP/yp8dJNYoA//Knx0k1igD956SYxCKx8P3npJjEIrHw/eekmMQisfD956SYxCKx8P3npJjEIrHw/eekmMQisfD956SYxCKx8P/p+arx0k3g/+n5qvHSTeD/6fmq8dJN4P/p+arx0k3g/+n5qvHSTeD/8qfHSTWJwP/yp8dJNYnA//Knx0k1icD/8qfHSTWJwP/yp8dJNYnA/+n5qvHSTaD/6fmq8dJNoP/p+arx0k2g/+n5qvHSTaD/6fmq8dJNoP/p+arx0k2g/+n5qvHSTaD/8qfHSTWJgP/yp8dJNYmA//Knx0k1iUD/8qfHSTWJQP/yp8dJNYlA//Knx0k1iUD/8qfHSTWJQP/yp8dJNYlA//Knx0k1iUD8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1297\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1298\",\"type\":\"UnionRenderers\"}},\"id\":\"1271\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1902\",\"type\":\"LinearScale\"},{\"attributes\":{\"text\":\"Threshold - Diffusion Trend\"},\"id\":\"1998\",\"type\":\"Title\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1258\",\"type\":\"PanTool\"},{\"id\":\"1259\",\"type\":\"WheelZoomTool\"},{\"id\":\"1260\",\"type\":\"BoxZoomTool\"},{\"id\":\"1261\",\"type\":\"SaveTool\"},{\"id\":\"1262\",\"type\":\"ResetTool\"},{\"id\":\"1263\",\"type\":\"HelpTool\"}]},\"id\":\"1264\",\"type\":\"Toolbar\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1853\",\"type\":\"PanTool\"},{\"id\":\"1854\",\"type\":\"WheelZoomTool\"},{\"id\":\"1855\",\"type\":\"BoxZoomTool\"},{\"id\":\"1856\",\"type\":\"SaveTool\"},{\"id\":\"1857\",\"type\":\"ResetTool\"},{\"id\":\"1858\",\"type\":\"HelpTool\"}]},\"id\":\"1859\",\"type\":\"Toolbar\"},{\"attributes\":{\"data_source\":{\"id\":\"1271\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1272\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1273\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1275\",\"type\":\"CDSView\"}},\"id\":\"1274\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1892\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1893\",\"type\":\"UnionRenderers\"}},\"id\":\"1866\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1258\",\"type\":\"PanTool\"},{\"attributes\":{\"data_source\":{\"id\":\"1866\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1867\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1868\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1870\",\"type\":\"CDSView\"}},\"id\":\"1869\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"tools\":[{\"id\":\"1258\",\"type\":\"PanTool\"},{\"id\":\"1259\",\"type\":\"WheelZoomTool\"},{\"id\":\"1260\",\"type\":\"BoxZoomTool\"},{\"id\":\"1261\",\"type\":\"SaveTool\"},{\"id\":\"1262\",\"type\":\"ResetTool\"},{\"id\":\"1263\",\"type\":\"HelpTool\"},{\"id\":\"1853\",\"type\":\"PanTool\"},{\"id\":\"1854\",\"type\":\"WheelZoomTool\"},{\"id\":\"1855\",\"type\":\"BoxZoomTool\"},{\"id\":\"1856\",\"type\":\"SaveTool\"},{\"id\":\"1857\",\"type\":\"ResetTool\"},{\"id\":\"1858\",\"type\":\"HelpTool\"},{\"id\":\"1916\",\"type\":\"PanTool\"},{\"id\":\"1917\",\"type\":\"WheelZoomTool\"},{\"id\":\"1918\",\"type\":\"BoxZoomTool\"},{\"id\":\"1919\",\"type\":\"SaveTool\"},{\"id\":\"1920\",\"type\":\"ResetTool\"},{\"id\":\"1921\",\"type\":\"HelpTool\"},{\"id\":\"1979\",\"type\":\"PanTool\"},{\"id\":\"1980\",\"type\":\"WheelZoomTool\"},{\"id\":\"1981\",\"type\":\"BoxZoomTool\"},{\"id\":\"1982\",\"type\":\"SaveTool\"},{\"id\":\"1983\",\"type\":\"ResetTool\"},{\"id\":\"1984\",\"type\":\"HelpTool\"}]},\"id\":\"2074\",\"type\":\"ProxyToolbar\"},{\"attributes\":{},\"id\":\"1853\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"1259\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"1854\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"2003\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1999\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"overlay\":{\"id\":\"1282\",\"type\":\"BoxAnnotation\"}},\"id\":\"1260\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1912\",\"type\":\"BasicTicker\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#aec7e8\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2007\",\"type\":\"Line\"},{\"attributes\":{\"overlay\":{\"id\":\"1877\",\"type\":\"BoxAnnotation\"}},\"id\":\"1855\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"axis_label\":\"Iterations\",\"formatter\":{\"id\":\"1936\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1907\",\"type\":\"BasicTicker\"}},\"id\":\"1906\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1261\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1904\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"1856\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"1262\",\"type\":\"ResetTool\"},{\"attributes\":{\"label\":{\"value\":\"Susceptible\"},\"renderers\":[{\"id\":\"1932\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1942\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"2001\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1993\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1857\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"1907\",\"type\":\"BasicTicker\"},{\"attributes\":{\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"1907\",\"type\":\"BasicTicker\"}},\"id\":\"1910\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null},\"id\":\"1898\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59],\"y\":{\"__ndarray__\":\"MzMzMzMz0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/hxbZzvdT0z+HFtnO91PTP4cW2c73U9M/\",\"dtype\":\"float64\",\"shape\":[60]}},\"selected\":{\"id\":\"2070\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2071\",\"type\":\"UnionRenderers\"}},\"id\":\"2006\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1263\",\"type\":\"HelpTool\"},{\"attributes\":{\"callback\":null},\"id\":\"1961\",\"type\":\"DataRange1d\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1931\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1858\",\"type\":\"HelpTool\"},{\"attributes\":{\"dimension\":1,\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"1912\",\"type\":\"BasicTicker\"}},\"id\":\"1915\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"2008\",\"type\":\"Line\"},{\"attributes\":{\"axis_label\":\"#Nodes\",\"formatter\":{\"id\":\"1938\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"1912\",\"type\":\"BasicTicker\"}},\"id\":\"1911\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"1938\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"label\":{\"value\":\"Susceptible\"},\"renderers\":[{\"id\":\"1869\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1879\",\"type\":\"LegendItem\"},{\"attributes\":{\"text\":\"SIR - Diffusion Trend\"},\"id\":\"1277\",\"type\":\"Title\"},{\"attributes\":{\"data_source\":{\"id\":\"2006\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"2007\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"2008\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"2010\",\"type\":\"CDSView\"}},\"id\":\"2009\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"text\":\"SIS - Diffusion Trend\"},\"id\":\"1872\",\"type\":\"Title\"},{\"attributes\":{\"items\":[{\"id\":\"1284\",\"type\":\"LegendItem\"},{\"id\":\"1299\",\"type\":\"LegendItem\"},{\"id\":\"1316\",\"type\":\"LegendItem\"}],\"orientation\":\"horizontal\"},\"id\":\"1283\",\"type\":\"Legend\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1272\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"2006\",\"type\":\"ColumnDataSource\"}},\"id\":\"2010\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"2018\",\"type\":\"Selection\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"1916\",\"type\":\"PanTool\"},{\"id\":\"1917\",\"type\":\"WheelZoomTool\"},{\"id\":\"1918\",\"type\":\"BoxZoomTool\"},{\"id\":\"1919\",\"type\":\"SaveTool\"},{\"id\":\"1920\",\"type\":\"ResetTool\"},{\"id\":\"1921\",\"type\":\"HelpTool\"}]},\"id\":\"1922\",\"type\":\"Toolbar\"},{\"attributes\":{\"source\":{\"id\":\"1271\",\"type\":\"ColumnDataSource\"}},\"id\":\"1275\",\"type\":\"CDSView\"},{\"attributes\":{\"label\":{\"value\":\"Infected\"},\"renderers\":[{\"id\":\"2009\",\"type\":\"GlyphRenderer\"}]},\"id\":\"2020\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1278\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"1866\",\"type\":\"ColumnDataSource\"}},\"id\":\"1870\",\"type\":\"CDSView\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"ZmZmZmZm7j/n+6nx0k3uP76fGi/dJO4/wcqhRbbz7T+YbhKDwMrtP8UgsHJoke0/Gy/dJAaB7T+e76fGSzftP/hT46WbxOw/ppvEILBy7D/+1HjpJjHsP1g5tMh2vus/sp3vp8ZL6z83iUFg5dDqP7pJDAIrh+o/wcqhRbbz6T+YbhKDwMrpP8UgsHJokek/TDeJQWDl6D+mm8QgsHLoP6wcWmQ73+c/sp3vp8ZL5z85tMh2vp/mP0Jg5dAi2+U/9P3UeOkm5T/8qfHSTWLkP65H4XoUruM/jZduEoPA4j/ByqFFtvPhP8uhRbbz/eA/001iEFg54D9mZmZmZmbeP3npJjEIrNw/hxbZzvdT2z/ufD81XrrZP6wcWmQ739c/vp8aL90k1j9/arx0kxjUPzeJQWDl0NI/RIts5/up0T/+1HjpJjHQP8l2vp8aL80/ObTIdr6fyj/ufD81XrrJP1pkO99Pjcc/bxKDwMqhxT8rhxbZzvfDPzeJQWDl0MI/8KfGSzeJwT+gGi/dJAbBPwisHFpkO78/KVyPwvUovD+JQWDl0CK7P/LSTWIQWLk/ukkMAiuHtj/TTWIQWDm0PzvfT42XbrI/TDeJQWDlsD9YObTIdr6vP2iR7Xw/Na4/ObTIdr6fqj+amZmZmZmpPwrXo3A9Cqc/Gy/dJAaBpT8rhxbZzvejP5zEILByaKE/WDm0yHa+nz956SYxCKycP/p+arx0k5g/WmQ730+Nlz97FK5H4XqUPzvfT42XbpI//Knx0k1ikD85tMh2vp+KP/p+arx0k4g/ukkMAiuHhj+6SQwCK4eGP3sUrkfheoQ/eekmMQisfD956SYxCKx8P3npJjEIrHw/+n5qvHSTeD/6fmq8dJN4P/p+arx0k3g/exSuR+F6dD97FK5H4Xp0P3sUrkfhenQ//Knx0k1icD/6fmq8dJNoP/p+arx0k2g/+n5qvHSTaD/6fmq8dJNoP/yp8dJNYmA//Knx0k1iYD/8qfHSTWJgP/yp8dJNYmA//Knx0k1iYD/8qfHSTWJgP/yp8dJNYmA//Knx0k1iYD/8qfHSTWJgP/yp8dJNYmA//Knx0k1iYD/8qfHSTWJgP/yp8dJNYmA//Knx0k1iYD/8qfHSTWJgP/yp8dJNYlA//Knx0k1iUD/8qfHSTWJQP/yp8dJNYlA//Knx0k1iUD/8qfHSTWJQP/yp8dJNYlA//Knx0k1iUD/8qfHSTWJQP/yp8dJNYlA//Knx0k1iUD/8qfHSTWJQP/yp8dJNYlA//Knx0k1iUD/8qfHSTWJQPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1955\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1956\",\"type\":\"UnionRenderers\"}},\"id\":\"1929\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2019\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data_source\":{\"id\":\"1929\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1930\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1931\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1933\",\"type\":\"CDSView\"}},\"id\":\"1932\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"align\":\"center\",\"text\":\"fraction infected: 0.3\"},\"id\":\"2022\",\"type\":\"Title\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1282\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"1873\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1916\",\"type\":\"PanTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1877\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"label\":{\"value\":\"Infected\"},\"renderers\":[{\"id\":\"1288\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1299\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1917\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"below\":[{\"id\":\"1969\",\"type\":\"LinearAxis\"},{\"id\":\"2022\",\"type\":\"Title\"}],\"center\":[{\"id\":\"1973\",\"type\":\"Grid\"},{\"id\":\"1978\",\"type\":\"Grid\"},{\"id\":\"2004\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"1974\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"1995\",\"type\":\"GlyphRenderer\"},{\"id\":\"2009\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1998\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1985\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1961\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1965\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1963\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1967\",\"type\":\"LinearScale\"}},\"id\":\"1960\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"1280\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"overlay\":{\"id\":\"1940\",\"type\":\"BoxAnnotation\"}},\"id\":\"1918\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"1875\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"callback\":null},\"id\":\"1240\",\"type\":\"DataRange1d\"},{\"attributes\":{\"label\":{\"value\":\"Susceptible\"},\"renderers\":[{\"id\":\"1274\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1284\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1919\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"2047\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1315\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"1920\",\"type\":\"ResetTool\"},{\"attributes\":{\"label\":{\"value\":\"Removed\"},\"renderers\":[{\"id\":\"1303\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1316\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"2059\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"2071\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"1835\",\"type\":\"DataRange1d\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#aec7e8\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1286\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#aec7e8\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1881\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"1921\",\"type\":\"HelpTool\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"mpmZmZmZqT+JQWDl0CKrPxkEVg4tsq0//Knx0k1isD9Ei2zn+6mxP9v5fmq8dLM/K4cW2c73sz8Sg8DKoUW2P0Jg5dAi27k/0SLb+X5qvD8QWDm0yHa+P6AaL90kBsE/N4lBYOXQwj8j2/l+arzEPxfZzvdT48U//tR46SYxyD+iRbbz/dTIP+58PzVeusk/0SLb+X5qzD9oke18PzXOP6jGSzeJQdA/nMQgsHJo0T+Nl24Sg8DSP30/NV66SdQ/GQRWDi2y1T8IrBxaZDvXP6RwPQrXo9g/5dAi2/l+2j9/arx0kxjcP2q8dJMYBN4/WmQ730+N3z/NzMzMzMzgP0SLbOf7qeE/vHSTGARW4j+JQWDl0CLjP6rx0k1iEOQ/IbByaJHt5D/ByqFFtvPlP2Q730+Nl+Y/XrpJDAIr5z+BlUOLbOfnP05iEFg5tOg/8tJNYhBY6T/FILByaJHpP+kmMQisHOo/ZDvfT42X6j81XrpJDALrP7Kd76fGS+s/BFYOLbKd6z9YObTIdr7rP39qvHSTGOw/exSuR+F67D/P91PjpZvsP6JFtvP91Ow/yXa+nxov7T9GtvP91HjtPxkEVg4tsu0/F9nO91Pj7T9qvHSTGATuP+kmMQisHO4/vHSTGARW7j9mZmZmZmbuP4/C9Shcj+4/Di2yne+n7j+Nl24Sg8DuP7bz/dR46e4/NV66SQwC7z+0yHa+nxrvPwisHFpkO+8/3SQGgZVD7z9cj8L1KFzvPwaBlUOLbO8/sHJoke187z8v3SQGgZXvPwRWDi2yne8/2c73U+Ol7z/ZzvdT46XvP65H4XoUru8/LbKd76fG7z8tsp3vp8bvPy2yne+nxu8/AiuHFtnO7z8CK4cW2c7vPwIrhxbZzu8/16NwPQrX7z/Xo3A9CtfvP9ejcD0K1+8/rBxaZDvf7z+BlUOLbOfvP4GVQ4ts5+8/gZVDi2zn7z+BlUOLbOfvP1YOLbKd7+8/Vg4tsp3v7z9WDi2yne/vP1YOLbKd7+8/Vg4tsp3v7z9WDi2yne/vP1YOLbKd7+8/Vg4tsp3v7z9WDi2yne/vP1YOLbKd7+8/Vg4tsp3v7z9WDi2yne/vP1YOLbKd7+8/Vg4tsp3v7z9WDi2yne/vPyuHFtnO9+8/K4cW2c737z8rhxbZzvfvPyuHFtnO9+8/K4cW2c737z8rhxbZzvfvPyuHFtnO9+8/K4cW2c737z8rhxbZzvfvPyuHFtnO9+8/K4cW2c737z8rhxbZzvfvPyuHFtnO9+8/K4cW2c737z8rhxbZzvfvPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPw==\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"2058\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2059\",\"type\":\"UnionRenderers\"}},\"id\":\"1943\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"1314\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"2070\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#aec7e8\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1944\",\"type\":\"Line\"},{\"attributes\":{\"children\":[[{\"id\":\"1239\",\"subtype\":\"Figure\",\"type\":\"Plot\"},0,0],[{\"id\":\"1834\",\"subtype\":\"Figure\",\"type\":\"Plot\"},0,1],[{\"id\":\"1897\",\"subtype\":\"Figure\",\"type\":\"Plot\"},1,0],[{\"id\":\"1960\",\"subtype\":\"Figure\",\"type\":\"Plot\"},1,1]]},\"id\":\"2073\",\"type\":\"GridBox\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"1314\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"1315\",\"type\":\"UnionRenderers\"}},\"id\":\"1285\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,131,132,133,134,135,136,137,138,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199],\"y\":{\"__ndarray__\":\"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\",\"dtype\":\"float64\",\"shape\":[200]}},\"selected\":{\"id\":\"2046\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"2047\",\"type\":\"UnionRenderers\"}},\"id\":\"1880\",\"type\":\"ColumnDataSource\"},{\"attributes\":{},\"id\":\"2058\",\"type\":\"Selection\"},{\"attributes\":{\"text\":\"SI - Diffusion Trend\"},\"id\":\"1935\",\"type\":\"Title\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1287\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1882\",\"type\":\"Line\"},{\"attributes\":{\"items\":[{\"id\":\"1942\",\"type\":\"LegendItem\"},{\"id\":\"1957\",\"type\":\"LegendItem\"}],\"orientation\":\"horizontal\"},\"id\":\"1941\",\"type\":\"Legend\"},{\"attributes\":{\"below\":[{\"id\":\"1906\",\"type\":\"LinearAxis\"},{\"id\":\"1959\",\"type\":\"Title\"}],\"center\":[{\"id\":\"1910\",\"type\":\"Grid\"},{\"id\":\"1915\",\"type\":\"Grid\"},{\"id\":\"1941\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"1911\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"1932\",\"type\":\"GlyphRenderer\"},{\"id\":\"1946\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"1935\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"1922\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"1898\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"1902\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"1900\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"1904\",\"type\":\"LinearScale\"}},\"id\":\"1897\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"toolbar\":{\"id\":\"2074\",\"type\":\"ProxyToolbar\"},\"toolbar_location\":\"above\"},\"id\":\"2075\",\"type\":\"ToolbarBox\"},{\"attributes\":{\"data_source\":{\"id\":\"1285\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1286\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1287\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1289\",\"type\":\"CDSView\"}},\"id\":\"1288\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"data_source\":{\"id\":\"1880\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"1881\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"1882\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"1884\",\"type\":\"CDSView\"}},\"id\":\"1883\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"1285\",\"type\":\"ColumnDataSource\"}},\"id\":\"1289\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"1880\",\"type\":\"ColumnDataSource\"}},\"id\":\"1884\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"1929\",\"type\":\"ColumnDataSource\"}},\"id\":\"1933\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"1936\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"1297\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"1892\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"1867\",\"type\":\"Line\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"1940\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"label\":{\"value\":\"Infected\"},\"renderers\":[{\"id\":\"1883\",\"type\":\"GlyphRenderer\"}]},\"id\":\"1894\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"1298\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"1900\",\"type\":\"DataRange1d\"}],\"root_ids\":[\"2076\"]},\"title\":\"Bokeh Application\",\"version\":\"1.4.0\"}};\n",
" var render_items = [{\"docid\":\"8b5f184a-5c7a-4e13-8083-f64f8610ca4a\",\"roots\":{\"2076\":\"1cd66838-511e-4219-aa17-5602944471b9\"}}];\n",
" root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
"\n",
" }\n",
" if (root.Bokeh !== undefined) {\n",
" embed_document(root);\n",
" } else {\n",
" var attempts = 0;\n",
" var timer = setInterval(function(root) {\n",
" if (root.Bokeh !== undefined) {\n",
" clearInterval(timer);\n",
" embed_document(root);\n",
" } else {\n",
" attempts++;\n",
" if (attempts > 100) {\n",
" clearInterval(timer);\n",
" console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
" }\n",
" }\n",
" }, 10, root)\n",
" }\n",
"})(window);"
],
"application/vnd.bokehjs_exec.v0+json": ""
},
"metadata": {
"application/vnd.bokehjs_exec.v0+json": {
"id": "2076"
}
},
"output_type": "display_data"
}
],
"source": [
"# model comparisions\n",
"vm = MultiPlot()\n",
"vm.add_plot(p)\n",
"\n",
"# SIS\n",
"sis_model = ep.SISModel(g)\n",
"config = mc.Configuration()\n",
"config.add_model_parameter('beta', 0.001)\n",
"config.add_model_parameter('lambda', 0.01)\n",
"config.add_model_parameter(\"fraction_infected\", 0.05)\n",
"sis_model.set_initial_status(config)\n",
"iterations = sis_model.iteration_bunch(200)\n",
"trends = sis_model.build_trends(iterations)\n",
"\n",
"viz = DiffusionTrend(sis_model, trends)\n",
"p3 = viz.plot(width=400, height=400)\n",
"vm.add_plot(p3)\n",
"\n",
"# SI\n",
"si_model = ep.SIModel(g)\n",
"config = mc.Configuration()\n",
"config.add_model_parameter('beta', 0.001)\n",
"config.add_model_parameter(\"fraction_infected\", 0.05)\n",
"si_model.set_initial_status(config)\n",
"iterations = si_model.iteration_bunch(200)\n",
"trends = si_model.build_trends(iterations)\n",
"\n",
"viz = DiffusionTrend(si_model, trends)\n",
"p4 = viz.plot(width=400, height=400)\n",
"vm.add_plot(p4)\n",
"\n",
"# Threshold\n",
"th_model = ep.ThresholdModel(g)\n",
"config = mc.Configuration()\n",
"\n",
"# Set individual node threshold\n",
"threshold = 0.40\n",
"for n in g.nodes():\n",
" config.add_node_configuration(\"threshold\", n, threshold)\n",
"\n",
"config.add_model_parameter(\"fraction_infected\", 0.30)\n",
"th_model.set_initial_status(config)\n",
"iterations = th_model.iteration_bunch(60)\n",
"trends = th_model.build_trends(iterations)\n",
"\n",
"viz = DiffusionTrend(th_model, trends)\n",
"p5 = viz.plot(width=400, height=400)\n",
"vm.add_plot(p5)\n",
"\n",
"m = vm.plot()\n",
"show(m)"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Threshold model\n",
"The threshold model was introduced in 1978 by Granovetter [1]. A node has two distinct and mutually exclusive behavioral alternatives, e.g., the decision to do or not do something. Individual decision depends on the percentage of `its neighbors` have made the same choice, thus imposing a threshold.\n",
"- each node has its own threshold; \n",
"- during a generic iteration every node is observed: \n",
" - if the percentage of its infected neighbors is grater than its threshold it becomes infected as well.\n",
" \n",
"Granovetter, “Threshold models of collective behavior,” The American Journal of Sociology, vol. 83, no. 6, pp. 1420–1443, 1978."
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"![image.png](images/network17.png)"
]
},
{
"cell_type": "markdown",
"metadata": {
"cell_style": "split",
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"![image.png](images/network18.png)"
]
},
{
"cell_type": "markdown",
"metadata": {
"cell_style": "split",
"slideshow": {
"slide_type": "fragment"
}
},
"source": [
"![image.png](images/network19.png)"
]
},
{
"cell_type": "markdown",
"metadata": {
"cell_style": "center",
"slideshow": {
"slide_type": "subslide"
}
},
"source": [
"![image.png](images/network20.png)"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-09T13:57:14.012917Z",
"start_time": "2020-08-09T13:57:14.007801Z"
},
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [],
"source": [
"import networkx as nx\n",
"import ndlib.models.ModelConfig as mc\n",
"import ndlib.models.epidemics as ep\n",
"\n",
"def watts_model_ba_network(m, threshold, fraction_infected, iteration_num):\n",
" # change these two parameters\n",
" # num_neighbors = 1\n",
" # threshold = 0.5\n",
" # fraction_infected = 0.1\n",
" # iteration_num = 30\n",
"\n",
" # Network topology\n",
" #g = nx.erdos_renyi_graph(1000, 0.1)\n",
" g = nx.barabasi_albert_graph(1000, m)\n",
" # Model selection\n",
" model = ep.ThresholdModel(g)\n",
" # Model Configuration\n",
" config = mc.Configuration()\n",
" config.add_model_parameter('fraction_infected', fraction_infected)\n",
" # Setting node parameters\n",
" for i in g.nodes():\n",
" config.add_node_configuration(\"threshold\", i, threshold)\n",
"\n",
" model.set_initial_status(config)\n",
" # Simulation execution\n",
" iterations = model.iteration_bunch(iteration_num)\n",
" return model, iterations\n",
"\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-09T13:55:31.615421Z",
"start_time": "2020-08-09T13:55:31.611095Z"
},
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [],
"source": [
"def plot_diffusion(model, iterations):\n",
" output_notebook() # show bokeh in notebook\n",
" trends = model.build_trends(iterations)\n",
" viz = DiffusionTrend(model, trends)\n",
" p = viz.plot(width=400, height=400)\n",
"\n",
" viz2 = DiffusionPrevalence(model, trends)\n",
" p2 = viz2.plot(width=400, height=400)\n",
"\n",
" vm = MultiPlot()\n",
" vm.add_plot(p)\n",
" vm.add_plot(p2)\n",
" m = vm.plot()\n",
" show(m)\n",
"\n"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-09T13:57:20.240542Z",
"start_time": "2020-08-09T13:57:20.024662Z"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 30/30 [00:00<00:00, 465.02it/s]\n"
]
},
{
"data": {
"text/html": [
"\n",
" \n",
"
\n",
"
Loading BokehJS ... \n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"\n",
"(function(root) {\n",
" function now() {\n",
" return new Date();\n",
" }\n",
"\n",
" var force = true;\n",
"\n",
" if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n",
" root._bokeh_onload_callbacks = [];\n",
" root._bokeh_is_loading = undefined;\n",
" }\n",
"\n",
" var JS_MIME_TYPE = 'application/javascript';\n",
" var HTML_MIME_TYPE = 'text/html';\n",
" var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n",
" var CLASS_NAME = 'output_bokeh rendered_html';\n",
"\n",
" /**\n",
" * Render data to the DOM node\n",
" */\n",
" function render(props, node) {\n",
" var script = document.createElement(\"script\");\n",
" node.appendChild(script);\n",
" }\n",
"\n",
" /**\n",
" * Handle when an output is cleared or removed\n",
" */\n",
" function handleClearOutput(event, handle) {\n",
" var cell = handle.cell;\n",
"\n",
" var id = cell.output_area._bokeh_element_id;\n",
" var server_id = cell.output_area._bokeh_server_id;\n",
" // Clean up Bokeh references\n",
" if (id != null && id in Bokeh.index) {\n",
" Bokeh.index[id].model.document.clear();\n",
" delete Bokeh.index[id];\n",
" }\n",
"\n",
" if (server_id !== undefined) {\n",
" // Clean up Bokeh references\n",
" var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n",
" cell.notebook.kernel.execute(cmd, {\n",
" iopub: {\n",
" output: function(msg) {\n",
" var id = msg.content.text.trim();\n",
" if (id in Bokeh.index) {\n",
" Bokeh.index[id].model.document.clear();\n",
" delete Bokeh.index[id];\n",
" }\n",
" }\n",
" }\n",
" });\n",
" // Destroy server and session\n",
" var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n",
" cell.notebook.kernel.execute(cmd);\n",
" }\n",
" }\n",
"\n",
" /**\n",
" * Handle when a new output is added\n",
" */\n",
" function handleAddOutput(event, handle) {\n",
" var output_area = handle.output_area;\n",
" var output = handle.output;\n",
"\n",
" // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n",
" if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n",
" return\n",
" }\n",
"\n",
" var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n",
"\n",
" if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n",
" toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n",
" // store reference to embed id on output_area\n",
" output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n",
" }\n",
" if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n",
" var bk_div = document.createElement(\"div\");\n",
" bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
" var script_attrs = bk_div.children[0].attributes;\n",
" for (var i = 0; i < script_attrs.length; i++) {\n",
" toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
" }\n",
" // store reference to server id on output_area\n",
" output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
" }\n",
" }\n",
"\n",
" function register_renderer(events, OutputArea) {\n",
"\n",
" function append_mime(data, metadata, element) {\n",
" // create a DOM node to render to\n",
" var toinsert = this.create_output_subarea(\n",
" metadata,\n",
" CLASS_NAME,\n",
" EXEC_MIME_TYPE\n",
" );\n",
" this.keyboard_manager.register_events(toinsert);\n",
" // Render to node\n",
" var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
" render(props, toinsert[toinsert.length - 1]);\n",
" element.append(toinsert);\n",
" return toinsert\n",
" }\n",
"\n",
" /* Handle when an output is cleared or removed */\n",
" events.on('clear_output.CodeCell', handleClearOutput);\n",
" events.on('delete.Cell', handleClearOutput);\n",
"\n",
" /* Handle when a new output is added */\n",
" events.on('output_added.OutputArea', handleAddOutput);\n",
"\n",
" /**\n",
" * Register the mime type and append_mime function with output_area\n",
" */\n",
" OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n",
" /* Is output safe? */\n",
" safe: true,\n",
" /* Index of renderer in `output_area.display_order` */\n",
" index: 0\n",
" });\n",
" }\n",
"\n",
" // register the mime type if in Jupyter Notebook environment and previously unregistered\n",
" if (root.Jupyter !== undefined) {\n",
" var events = require('base/js/events');\n",
" var OutputArea = require('notebook/js/outputarea').OutputArea;\n",
"\n",
" if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n",
" register_renderer(events, OutputArea);\n",
" }\n",
" }\n",
"\n",
" \n",
" if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n",
" root._bokeh_timeout = Date.now() + 5000;\n",
" root._bokeh_failed_load = false;\n",
" }\n",
"\n",
" var NB_LOAD_WARNING = {'data': {'text/html':\n",
" \"\\n\"+\n",
" \"
\\n\"+\n",
" \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n",
" \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n",
" \"
\\n\"+\n",
" \"
\\n\"+\n",
" \"re-rerun `output_notebook()` to attempt to load from CDN again, or \\n\"+\n",
" \"use INLINE resources instead, as so: \\n\"+\n",
" \" \\n\"+\n",
" \"
\\n\"+\n",
" \"from bokeh.resources import INLINE\\n\"+\n",
" \"output_notebook(resources=INLINE)\\n\"+\n",
" \"
\\n\"+\n",
" \"
\"}};\n",
"\n",
" function display_loaded() {\n",
" var el = document.getElementById(\"3185\");\n",
" if (el != null) {\n",
" el.textContent = \"BokehJS is loading...\";\n",
" }\n",
" if (root.Bokeh !== undefined) {\n",
" if (el != null) {\n",
" el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n",
" }\n",
" } else if (Date.now() < root._bokeh_timeout) {\n",
" setTimeout(display_loaded, 100)\n",
" }\n",
" }\n",
"\n",
"\n",
" function run_callbacks() {\n",
" try {\n",
" root._bokeh_onload_callbacks.forEach(function(callback) {\n",
" if (callback != null)\n",
" callback();\n",
" });\n",
" } finally {\n",
" delete root._bokeh_onload_callbacks\n",
" }\n",
" console.debug(\"Bokeh: all callbacks have finished\");\n",
" }\n",
"\n",
" function load_libs(css_urls, js_urls, callback) {\n",
" if (css_urls == null) css_urls = [];\n",
" if (js_urls == null) js_urls = [];\n",
"\n",
" root._bokeh_onload_callbacks.push(callback);\n",
" if (root._bokeh_is_loading > 0) {\n",
" console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
" return null;\n",
" }\n",
" if (js_urls == null || js_urls.length === 0) {\n",
" run_callbacks();\n",
" return null;\n",
" }\n",
" console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
" root._bokeh_is_loading = css_urls.length + js_urls.length;\n",
"\n",
" function on_load() {\n",
" root._bokeh_is_loading--;\n",
" if (root._bokeh_is_loading === 0) {\n",
" console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n",
" run_callbacks()\n",
" }\n",
" }\n",
"\n",
" function on_error() {\n",
" console.error(\"failed to load \" + url);\n",
" }\n",
"\n",
" for (var i = 0; i < css_urls.length; i++) {\n",
" var url = css_urls[i];\n",
" const element = document.createElement(\"link\");\n",
" element.onload = on_load;\n",
" element.onerror = on_error;\n",
" element.rel = \"stylesheet\";\n",
" element.type = \"text/css\";\n",
" element.href = url;\n",
" console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
" document.body.appendChild(element);\n",
" }\n",
"\n",
" for (var i = 0; i < js_urls.length; i++) {\n",
" var url = js_urls[i];\n",
" var element = document.createElement('script');\n",
" element.onload = on_load;\n",
" element.onerror = on_error;\n",
" element.async = false;\n",
" element.src = url;\n",
" console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
" document.head.appendChild(element);\n",
" }\n",
" };var element = document.getElementById(\"3185\");\n",
" if (element == null) {\n",
" console.error(\"Bokeh: ERROR: autoload.js configured with elementid '3185' but no matching script tag was found. \")\n",
" return false;\n",
" }\n",
"\n",
" function inject_raw_css(css) {\n",
" const element = document.createElement(\"style\");\n",
" element.appendChild(document.createTextNode(css));\n",
" document.body.appendChild(element);\n",
" }\n",
"\n",
" \n",
" var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.4.0.min.js\"];\n",
" var css_urls = [];\n",
" \n",
"\n",
" var inline_js = [\n",
" function(Bokeh) {\n",
" Bokeh.set_log_level(\"info\");\n",
" },\n",
" function(Bokeh) {\n",
" \n",
" \n",
" }\n",
" ];\n",
"\n",
" function run_inline_js() {\n",
" \n",
" if (root.Bokeh !== undefined || force === true) {\n",
" \n",
" for (var i = 0; i < inline_js.length; i++) {\n",
" inline_js[i].call(root, root.Bokeh);\n",
" }\n",
" if (force === true) {\n",
" display_loaded();\n",
" }} else if (Date.now() < root._bokeh_timeout) {\n",
" setTimeout(run_inline_js, 100);\n",
" } else if (!root._bokeh_failed_load) {\n",
" console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
" root._bokeh_failed_load = true;\n",
" } else if (force !== true) {\n",
" var cell = $(document.getElementById(\"3185\")).parents('.cell').data().cell;\n",
" cell.output_area.append_execute_result(NB_LOAD_WARNING)\n",
" }\n",
"\n",
" }\n",
"\n",
" if (root._bokeh_is_loading === 0) {\n",
" console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
" run_inline_js();\n",
" } else {\n",
" load_libs(css_urls, js_urls, function() {\n",
" console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
" run_inline_js();\n",
" });\n",
" }\n",
"}(window));"
],
"application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"\\n\"+\n \"
\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"
\\n\"+\n \"
\\n\"+\n \"re-rerun `output_notebook()` to attempt to load from CDN again, or \\n\"+\n \"use INLINE resources instead, as so: \\n\"+\n \" \\n\"+\n \"
\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"
\\n\"+\n \"
\"}};\n\n function display_loaded() {\n var el = document.getElementById(\"3185\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };var element = document.getElementById(\"3185\");\n if (element == null) {\n console.error(\"Bokeh: ERROR: autoload.js configured with elementid '3185' but no matching script tag was found. \")\n return false;\n }\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.4.0.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(\"3185\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));"
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"
\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"(function(root) {\n",
" function embed_document(root) {\n",
" \n",
" var docs_json = {\"e784d739-8e4b-4904-aa67-67cce5637a1f\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"3338\",\"type\":\"ToolbarBox\"},{\"id\":\"3336\",\"type\":\"GridBox\"}]},\"id\":\"3339\",\"type\":\"Column\"},{\"attributes\":{\"align\":\"center\",\"text\":\"fraction infected: 0.1\"},\"id\":\"3248\",\"type\":\"Title\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3297\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"3254\",\"type\":\"LinearScale\"},{\"attributes\":{\"data_source\":{\"id\":\"3295\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"3296\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3297\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"3299\",\"type\":\"CDSView\"}},\"id\":\"3298\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"callback\":null},\"id\":\"3252\",\"type\":\"DataRange1d\"},{\"attributes\":{\"source\":{\"id\":\"3295\",\"type\":\"ColumnDataSource\"}},\"id\":\"3299\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"3307\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"3256\",\"type\":\"LinearScale\"},{\"attributes\":{\"label\":{\"value\":\"Infected\"},\"renderers\":[{\"id\":\"3298\",\"type\":\"GlyphRenderer\"}]},\"id\":\"3309\",\"type\":\"LegendItem\"},{\"attributes\":{\"data_source\":{\"id\":\"3218\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"3219\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3220\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"3222\",\"type\":\"CDSView\"}},\"id\":\"3221\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"axis_label\":\"Iterations\",\"formatter\":{\"id\":\"3289\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"3259\",\"type\":\"BasicTicker\"}},\"id\":\"3258\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"3205\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"3264\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"3320\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"tools\":[{\"id\":\"3205\",\"type\":\"PanTool\"},{\"id\":\"3206\",\"type\":\"WheelZoomTool\"},{\"id\":\"3207\",\"type\":\"BoxZoomTool\"},{\"id\":\"3208\",\"type\":\"SaveTool\"},{\"id\":\"3209\",\"type\":\"ResetTool\"},{\"id\":\"3210\",\"type\":\"HelpTool\"},{\"id\":\"3268\",\"type\":\"PanTool\"},{\"id\":\"3269\",\"type\":\"WheelZoomTool\"},{\"id\":\"3270\",\"type\":\"BoxZoomTool\"},{\"id\":\"3271\",\"type\":\"SaveTool\"},{\"id\":\"3272\",\"type\":\"ResetTool\"},{\"id\":\"3273\",\"type\":\"HelpTool\"}]},\"id\":\"3337\",\"type\":\"ProxyToolbar\"},{\"attributes\":{},\"id\":\"3206\",\"type\":\"WheelZoomTool\"},{\"attributes\":{},\"id\":\"3259\",\"type\":\"BasicTicker\"},{\"attributes\":{\"children\":[[{\"id\":\"3186\",\"subtype\":\"Figure\",\"type\":\"Plot\"},0,0],[{\"id\":\"3249\",\"subtype\":\"Figure\",\"type\":\"Plot\"},0,1]]},\"id\":\"3336\",\"type\":\"GridBox\"},{\"attributes\":{\"align\":\"center\",\"text\":\"fraction infected: 0.1\"},\"id\":\"3311\",\"type\":\"Title\"},{\"attributes\":{\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"3259\",\"type\":\"BasicTicker\"}},\"id\":\"3262\",\"type\":\"Grid\"},{\"attributes\":{\"toolbar\":{\"id\":\"3337\",\"type\":\"ProxyToolbar\"},\"toolbar_location\":\"above\"},\"id\":\"3338\",\"type\":\"ToolbarBox\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"3205\",\"type\":\"PanTool\"},{\"id\":\"3206\",\"type\":\"WheelZoomTool\"},{\"id\":\"3207\",\"type\":\"BoxZoomTool\"},{\"id\":\"3208\",\"type\":\"SaveTool\"},{\"id\":\"3209\",\"type\":\"ResetTool\"},{\"id\":\"3210\",\"type\":\"HelpTool\"}]},\"id\":\"3211\",\"type\":\"Toolbar\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3283\",\"type\":\"Line\"},{\"attributes\":{\"overlay\":{\"id\":\"3229\",\"type\":\"BoxAnnotation\"}},\"id\":\"3207\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"dimension\":1,\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"3264\",\"type\":\"BasicTicker\"}},\"id\":\"3267\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"#Delta Nodes\",\"formatter\":{\"id\":\"3291\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"3264\",\"type\":\"BasicTicker\"}},\"id\":\"3263\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null},\"id\":\"3187\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"3321\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"3333\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"3208\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"3210\",\"type\":\"HelpTool\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"3268\",\"type\":\"PanTool\"},{\"id\":\"3269\",\"type\":\"WheelZoomTool\"},{\"id\":\"3270\",\"type\":\"BoxZoomTool\"},{\"id\":\"3271\",\"type\":\"SaveTool\"},{\"id\":\"3272\",\"type\":\"ResetTool\"},{\"id\":\"3273\",\"type\":\"HelpTool\"}]},\"id\":\"3274\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAIBWwAAAAAAAADnAAAAAAAAAFMAAAAAAAAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"dtype\":\"float64\",\"shape\":[30]}},\"selected\":{\"id\":\"3307\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"3306\",\"type\":\"UnionRenderers\"}},\"id\":\"3281\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data_source\":{\"id\":\"3281\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"3282\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3283\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"3285\",\"type\":\"CDSView\"}},\"id\":\"3284\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"3209\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"3268\",\"type\":\"PanTool\"},{\"attributes\":{\"items\":[{\"id\":\"3231\",\"type\":\"LegendItem\"},{\"id\":\"3246\",\"type\":\"LegendItem\"}],\"orientation\":\"horizontal\"},\"id\":\"3230\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"3269\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"3292\",\"type\":\"BoxAnnotation\"}},\"id\":\"3270\",\"type\":\"BoxZoomTool\"},{\"attributes\":{\"source\":{\"id\":\"3218\",\"type\":\"ColumnDataSource\"}},\"id\":\"3222\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"3226\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"3271\",\"type\":\"SaveTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"3229\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"3272\",\"type\":\"ResetTool\"},{\"attributes\":{},\"id\":\"3228\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"3273\",\"type\":\"HelpTool\"},{\"attributes\":{\"label\":{\"value\":\"Susceptible\"},\"renderers\":[{\"id\":\"3221\",\"type\":\"GlyphRenderer\"}]},\"id\":\"3231\",\"type\":\"LegendItem\"},{\"attributes\":{\"callback\":null},\"id\":\"3250\",\"type\":\"DataRange1d\"},{\"attributes\":{\"text\":\"Threshold - Prevalence\"},\"id\":\"3287\",\"type\":\"Title\"},{\"attributes\":{\"items\":[{\"id\":\"3294\",\"type\":\"LegendItem\"},{\"id\":\"3309\",\"type\":\"LegendItem\"}],\"orientation\":\"horizontal\"},\"id\":\"3293\",\"type\":\"Legend\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#aec7e8\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3233\",\"type\":\"Line\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],\"y\":{\"__ndarray__\":\"mpmZmZmZuT9SuB6F61HIP4XrUbgehcs/KVyPwvUozD/RItv5fmrMP9Ei2/l+asw/0SLb+X5qzD/RItv5fmrMP9Ei2/l+asw/0SLb+X5qzD/RItv5fmrMP9Ei2/l+asw/0SLb+X5qzD/RItv5fmrMP9Ei2/l+asw/0SLb+X5qzD/RItv5fmrMP9Ei2/l+asw/0SLb+X5qzD/RItv5fmrMP9Ei2/l+asw/0SLb+X5qzD/RItv5fmrMP9Ei2/l+asw/0SLb+X5qzD/RItv5fmrMP9Ei2/l+asw/0SLb+X5qzD/RItv5fmrMP9Ei2/l+asw/\",\"dtype\":\"float64\",\"shape\":[30]}},\"selected\":{\"id\":\"3321\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"3320\",\"type\":\"UnionRenderers\"}},\"id\":\"3232\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3282\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3234\",\"type\":\"Line\"},{\"attributes\":{\"source\":{\"id\":\"3281\",\"type\":\"ColumnDataSource\"}},\"id\":\"3285\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"3289\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"below\":[{\"id\":\"3258\",\"type\":\"LinearAxis\"},{\"id\":\"3311\",\"type\":\"Title\"}],\"center\":[{\"id\":\"3262\",\"type\":\"Grid\"},{\"id\":\"3267\",\"type\":\"Grid\"},{\"id\":\"3293\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"3263\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"3284\",\"type\":\"GlyphRenderer\"},{\"id\":\"3298\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"3287\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"3274\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"3250\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"3254\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"3252\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"3256\",\"type\":\"LinearScale\"}},\"id\":\"3249\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"3292\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"data_source\":{\"id\":\"3232\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"3233\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3234\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"3236\",\"type\":\"CDSView\"}},\"id\":\"3235\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"3291\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"source\":{\"id\":\"3232\",\"type\":\"ColumnDataSource\"}},\"id\":\"3236\",\"type\":\"CDSView\"},{\"attributes\":{\"label\":{\"value\":\"Susceptible\"},\"renderers\":[{\"id\":\"3284\",\"type\":\"GlyphRenderer\"}]},\"id\":\"3294\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"3243\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"callback\":null},\"id\":\"3189\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"3332\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"label\":{\"value\":\"Infected\"},\"renderers\":[{\"id\":\"3235\",\"type\":\"GlyphRenderer\"}]},\"id\":\"3246\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"3306\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#aec7e8\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3296\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"3244\",\"type\":\"Selection\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAIBWQAAAAAAAADlAAAAAAAAAFEAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"dtype\":\"float64\",\"shape\":[30]}},\"selected\":{\"id\":\"3333\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"3332\",\"type\":\"UnionRenderers\"}},\"id\":\"3295\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"axis_label\":\"Iterations\",\"formatter\":{\"id\":\"3226\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"3196\",\"type\":\"BasicTicker\"}},\"id\":\"3195\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3220\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"3193\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3219\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"3201\",\"type\":\"BasicTicker\"},{\"attributes\":{\"axis_label\":\"#Nodes\",\"formatter\":{\"id\":\"3228\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"3201\",\"type\":\"BasicTicker\"}},\"id\":\"3200\",\"type\":\"LinearAxis\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],\"y\":{\"__ndarray__\":\"zczMzMzM7D/sUbgehevpPx+F61G4Huk/9ihcj8L16D9MN4lBYOXoP0w3iUFg5eg/TDeJQWDl6D9MN4lBYOXoP0w3iUFg5eg/TDeJQWDl6D9MN4lBYOXoP0w3iUFg5eg/TDeJQWDl6D9MN4lBYOXoP0w3iUFg5eg/TDeJQWDl6D9MN4lBYOXoP0w3iUFg5eg/TDeJQWDl6D9MN4lBYOXoP0w3iUFg5eg/TDeJQWDl6D9MN4lBYOXoP0w3iUFg5eg/TDeJQWDl6D9MN4lBYOXoP0w3iUFg5eg/TDeJQWDl6D9MN4lBYOXoP0w3iUFg5eg/\",\"dtype\":\"float64\",\"shape\":[30]}},\"selected\":{\"id\":\"3244\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"3243\",\"type\":\"UnionRenderers\"}},\"id\":\"3218\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"3196\",\"type\":\"BasicTicker\"}},\"id\":\"3199\",\"type\":\"Grid\"},{\"attributes\":{\"below\":[{\"id\":\"3195\",\"type\":\"LinearAxis\"},{\"id\":\"3248\",\"type\":\"Title\"}],\"center\":[{\"id\":\"3199\",\"type\":\"Grid\"},{\"id\":\"3204\",\"type\":\"Grid\"},{\"id\":\"3230\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"3200\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"3221\",\"type\":\"GlyphRenderer\"},{\"id\":\"3235\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"3224\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"3211\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"3187\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"3191\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"3189\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"3193\",\"type\":\"LinearScale\"}},\"id\":\"3186\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"3196\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"3191\",\"type\":\"LinearScale\"},{\"attributes\":{\"text\":\"Threshold - Diffusion Trend\"},\"id\":\"3224\",\"type\":\"Title\"},{\"attributes\":{\"dimension\":1,\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"3201\",\"type\":\"BasicTicker\"}},\"id\":\"3204\",\"type\":\"Grid\"}],\"root_ids\":[\"3339\"]},\"title\":\"Bokeh Application\",\"version\":\"1.4.0\"}};\n",
" var render_items = [{\"docid\":\"e784d739-8e4b-4904-aa67-67cce5637a1f\",\"roots\":{\"3339\":\"274e15de-82fe-4266-84ed-57cd31cb1507\"}}];\n",
" root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
"\n",
" }\n",
" if (root.Bokeh !== undefined) {\n",
" embed_document(root);\n",
" } else {\n",
" var attempts = 0;\n",
" var timer = setInterval(function(root) {\n",
" if (root.Bokeh !== undefined) {\n",
" clearInterval(timer);\n",
" embed_document(root);\n",
" } else {\n",
" attempts++;\n",
" if (attempts > 100) {\n",
" clearInterval(timer);\n",
" console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
" }\n",
" }\n",
" }, 10, root)\n",
" }\n",
"})(window);"
],
"application/vnd.bokehjs_exec.v0+json": ""
},
"metadata": {
"application/vnd.bokehjs_exec.v0+json": {
"id": "3339"
}
},
"output_type": "display_data"
}
],
"source": [
"model, iterations = watts_model_ba_network(1, 0.5, 0.1, 30)\n",
"plot_diffusion(model, iterations)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-09T13:57:31.361301Z",
"start_time": "2020-08-09T13:57:31.104213Z"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 30/30 [00:00<00:00, 308.63it/s]\n"
]
},
{
"data": {
"text/html": [
"\n",
" \n",
"
\n",
"
Loading BokehJS ... \n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"\n",
"(function(root) {\n",
" function now() {\n",
" return new Date();\n",
" }\n",
"\n",
" var force = true;\n",
"\n",
" if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n",
" root._bokeh_onload_callbacks = [];\n",
" root._bokeh_is_loading = undefined;\n",
" }\n",
"\n",
" var JS_MIME_TYPE = 'application/javascript';\n",
" var HTML_MIME_TYPE = 'text/html';\n",
" var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n",
" var CLASS_NAME = 'output_bokeh rendered_html';\n",
"\n",
" /**\n",
" * Render data to the DOM node\n",
" */\n",
" function render(props, node) {\n",
" var script = document.createElement(\"script\");\n",
" node.appendChild(script);\n",
" }\n",
"\n",
" /**\n",
" * Handle when an output is cleared or removed\n",
" */\n",
" function handleClearOutput(event, handle) {\n",
" var cell = handle.cell;\n",
"\n",
" var id = cell.output_area._bokeh_element_id;\n",
" var server_id = cell.output_area._bokeh_server_id;\n",
" // Clean up Bokeh references\n",
" if (id != null && id in Bokeh.index) {\n",
" Bokeh.index[id].model.document.clear();\n",
" delete Bokeh.index[id];\n",
" }\n",
"\n",
" if (server_id !== undefined) {\n",
" // Clean up Bokeh references\n",
" var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n",
" cell.notebook.kernel.execute(cmd, {\n",
" iopub: {\n",
" output: function(msg) {\n",
" var id = msg.content.text.trim();\n",
" if (id in Bokeh.index) {\n",
" Bokeh.index[id].model.document.clear();\n",
" delete Bokeh.index[id];\n",
" }\n",
" }\n",
" }\n",
" });\n",
" // Destroy server and session\n",
" var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n",
" cell.notebook.kernel.execute(cmd);\n",
" }\n",
" }\n",
"\n",
" /**\n",
" * Handle when a new output is added\n",
" */\n",
" function handleAddOutput(event, handle) {\n",
" var output_area = handle.output_area;\n",
" var output = handle.output;\n",
"\n",
" // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n",
" if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n",
" return\n",
" }\n",
"\n",
" var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n",
"\n",
" if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n",
" toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n",
" // store reference to embed id on output_area\n",
" output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n",
" }\n",
" if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n",
" var bk_div = document.createElement(\"div\");\n",
" bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
" var script_attrs = bk_div.children[0].attributes;\n",
" for (var i = 0; i < script_attrs.length; i++) {\n",
" toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
" }\n",
" // store reference to server id on output_area\n",
" output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
" }\n",
" }\n",
"\n",
" function register_renderer(events, OutputArea) {\n",
"\n",
" function append_mime(data, metadata, element) {\n",
" // create a DOM node to render to\n",
" var toinsert = this.create_output_subarea(\n",
" metadata,\n",
" CLASS_NAME,\n",
" EXEC_MIME_TYPE\n",
" );\n",
" this.keyboard_manager.register_events(toinsert);\n",
" // Render to node\n",
" var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
" render(props, toinsert[toinsert.length - 1]);\n",
" element.append(toinsert);\n",
" return toinsert\n",
" }\n",
"\n",
" /* Handle when an output is cleared or removed */\n",
" events.on('clear_output.CodeCell', handleClearOutput);\n",
" events.on('delete.Cell', handleClearOutput);\n",
"\n",
" /* Handle when a new output is added */\n",
" events.on('output_added.OutputArea', handleAddOutput);\n",
"\n",
" /**\n",
" * Register the mime type and append_mime function with output_area\n",
" */\n",
" OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n",
" /* Is output safe? */\n",
" safe: true,\n",
" /* Index of renderer in `output_area.display_order` */\n",
" index: 0\n",
" });\n",
" }\n",
"\n",
" // register the mime type if in Jupyter Notebook environment and previously unregistered\n",
" if (root.Jupyter !== undefined) {\n",
" var events = require('base/js/events');\n",
" var OutputArea = require('notebook/js/outputarea').OutputArea;\n",
"\n",
" if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n",
" register_renderer(events, OutputArea);\n",
" }\n",
" }\n",
"\n",
" \n",
" if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n",
" root._bokeh_timeout = Date.now() + 5000;\n",
" root._bokeh_failed_load = false;\n",
" }\n",
"\n",
" var NB_LOAD_WARNING = {'data': {'text/html':\n",
" \"\\n\"+\n",
" \"
\\n\"+\n",
" \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n",
" \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n",
" \"
\\n\"+\n",
" \"
\\n\"+\n",
" \"re-rerun `output_notebook()` to attempt to load from CDN again, or \\n\"+\n",
" \"use INLINE resources instead, as so: \\n\"+\n",
" \" \\n\"+\n",
" \"
\\n\"+\n",
" \"from bokeh.resources import INLINE\\n\"+\n",
" \"output_notebook(resources=INLINE)\\n\"+\n",
" \"
\\n\"+\n",
" \"
\"}};\n",
"\n",
" function display_loaded() {\n",
" var el = document.getElementById(\"3626\");\n",
" if (el != null) {\n",
" el.textContent = \"BokehJS is loading...\";\n",
" }\n",
" if (root.Bokeh !== undefined) {\n",
" if (el != null) {\n",
" el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n",
" }\n",
" } else if (Date.now() < root._bokeh_timeout) {\n",
" setTimeout(display_loaded, 100)\n",
" }\n",
" }\n",
"\n",
"\n",
" function run_callbacks() {\n",
" try {\n",
" root._bokeh_onload_callbacks.forEach(function(callback) {\n",
" if (callback != null)\n",
" callback();\n",
" });\n",
" } finally {\n",
" delete root._bokeh_onload_callbacks\n",
" }\n",
" console.debug(\"Bokeh: all callbacks have finished\");\n",
" }\n",
"\n",
" function load_libs(css_urls, js_urls, callback) {\n",
" if (css_urls == null) css_urls = [];\n",
" if (js_urls == null) js_urls = [];\n",
"\n",
" root._bokeh_onload_callbacks.push(callback);\n",
" if (root._bokeh_is_loading > 0) {\n",
" console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
" return null;\n",
" }\n",
" if (js_urls == null || js_urls.length === 0) {\n",
" run_callbacks();\n",
" return null;\n",
" }\n",
" console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
" root._bokeh_is_loading = css_urls.length + js_urls.length;\n",
"\n",
" function on_load() {\n",
" root._bokeh_is_loading--;\n",
" if (root._bokeh_is_loading === 0) {\n",
" console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n",
" run_callbacks()\n",
" }\n",
" }\n",
"\n",
" function on_error() {\n",
" console.error(\"failed to load \" + url);\n",
" }\n",
"\n",
" for (var i = 0; i < css_urls.length; i++) {\n",
" var url = css_urls[i];\n",
" const element = document.createElement(\"link\");\n",
" element.onload = on_load;\n",
" element.onerror = on_error;\n",
" element.rel = \"stylesheet\";\n",
" element.type = \"text/css\";\n",
" element.href = url;\n",
" console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
" document.body.appendChild(element);\n",
" }\n",
"\n",
" for (var i = 0; i < js_urls.length; i++) {\n",
" var url = js_urls[i];\n",
" var element = document.createElement('script');\n",
" element.onload = on_load;\n",
" element.onerror = on_error;\n",
" element.async = false;\n",
" element.src = url;\n",
" console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
" document.head.appendChild(element);\n",
" }\n",
" };var element = document.getElementById(\"3626\");\n",
" if (element == null) {\n",
" console.error(\"Bokeh: ERROR: autoload.js configured with elementid '3626' but no matching script tag was found. \")\n",
" return false;\n",
" }\n",
"\n",
" function inject_raw_css(css) {\n",
" const element = document.createElement(\"style\");\n",
" element.appendChild(document.createTextNode(css));\n",
" document.body.appendChild(element);\n",
" }\n",
"\n",
" \n",
" var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.4.0.min.js\"];\n",
" var css_urls = [];\n",
" \n",
"\n",
" var inline_js = [\n",
" function(Bokeh) {\n",
" Bokeh.set_log_level(\"info\");\n",
" },\n",
" function(Bokeh) {\n",
" \n",
" \n",
" }\n",
" ];\n",
"\n",
" function run_inline_js() {\n",
" \n",
" if (root.Bokeh !== undefined || force === true) {\n",
" \n",
" for (var i = 0; i < inline_js.length; i++) {\n",
" inline_js[i].call(root, root.Bokeh);\n",
" }\n",
" if (force === true) {\n",
" display_loaded();\n",
" }} else if (Date.now() < root._bokeh_timeout) {\n",
" setTimeout(run_inline_js, 100);\n",
" } else if (!root._bokeh_failed_load) {\n",
" console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
" root._bokeh_failed_load = true;\n",
" } else if (force !== true) {\n",
" var cell = $(document.getElementById(\"3626\")).parents('.cell').data().cell;\n",
" cell.output_area.append_execute_result(NB_LOAD_WARNING)\n",
" }\n",
"\n",
" }\n",
"\n",
" if (root._bokeh_is_loading === 0) {\n",
" console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
" run_inline_js();\n",
" } else {\n",
" load_libs(css_urls, js_urls, function() {\n",
" console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
" run_inline_js();\n",
" });\n",
" }\n",
"}(window));"
],
"application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"\\n\"+\n \"
\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"
\\n\"+\n \"
\\n\"+\n \"re-rerun `output_notebook()` to attempt to load from CDN again, or \\n\"+\n \"use INLINE resources instead, as so: \\n\"+\n \" \\n\"+\n \"
\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"
\\n\"+\n \"
\"}};\n\n function display_loaded() {\n var el = document.getElementById(\"3626\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };var element = document.getElementById(\"3626\");\n if (element == null) {\n console.error(\"Bokeh: ERROR: autoload.js configured with elementid '3626' but no matching script tag was found. \")\n return false;\n }\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.4.0.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(\"3626\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));"
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"
\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"(function(root) {\n",
" function embed_document(root) {\n",
" \n",
" var docs_json = {\"8e447537-5c2b-4a65-922b-e5d4727cc4ad\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"3779\",\"type\":\"ToolbarBox\"},{\"id\":\"3777\",\"type\":\"GridBox\"}]},\"id\":\"3780\",\"type\":\"Column\"},{\"attributes\":{\"callback\":null},\"id\":\"3693\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"3748\",\"type\":\"Selection\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3661\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"3695\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"dtype\":\"float64\",\"shape\":[30]}},\"selected\":{\"id\":\"3774\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"3773\",\"type\":\"UnionRenderers\"}},\"id\":\"3736\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"toolbar\":{\"id\":\"3778\",\"type\":\"ProxyToolbar\"},\"toolbar_location\":\"above\"},\"id\":\"3779\",\"type\":\"ToolbarBox\"},{\"attributes\":{\"tools\":[{\"id\":\"3646\",\"type\":\"PanTool\"},{\"id\":\"3647\",\"type\":\"WheelZoomTool\"},{\"id\":\"3648\",\"type\":\"BoxZoomTool\"},{\"id\":\"3649\",\"type\":\"SaveTool\"},{\"id\":\"3650\",\"type\":\"ResetTool\"},{\"id\":\"3651\",\"type\":\"HelpTool\"},{\"id\":\"3709\",\"type\":\"PanTool\"},{\"id\":\"3710\",\"type\":\"WheelZoomTool\"},{\"id\":\"3711\",\"type\":\"BoxZoomTool\"},{\"id\":\"3712\",\"type\":\"SaveTool\"},{\"id\":\"3713\",\"type\":\"ResetTool\"},{\"id\":\"3714\",\"type\":\"HelpTool\"}]},\"id\":\"3778\",\"type\":\"ProxyToolbar\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"3646\",\"type\":\"PanTool\"},{\"id\":\"3647\",\"type\":\"WheelZoomTool\"},{\"id\":\"3648\",\"type\":\"BoxZoomTool\"},{\"id\":\"3649\",\"type\":\"SaveTool\"},{\"id\":\"3650\",\"type\":\"ResetTool\"},{\"id\":\"3651\",\"type\":\"HelpTool\"}]},\"id\":\"3652\",\"type\":\"Toolbar\"},{\"attributes\":{},\"id\":\"3761\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"data_source\":{\"id\":\"3659\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"3660\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3661\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"3663\",\"type\":\"CDSView\"}},\"id\":\"3662\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"3646\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"3697\",\"type\":\"LinearScale\"},{\"attributes\":{\"items\":[{\"id\":\"3735\",\"type\":\"LegendItem\"},{\"id\":\"3750\",\"type\":\"LegendItem\"}],\"orientation\":\"horizontal\"},\"id\":\"3734\",\"type\":\"Legend\"},{\"attributes\":{},\"id\":\"3774\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"3647\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"axis_label\":\"Iterations\",\"formatter\":{\"id\":\"3730\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"3700\",\"type\":\"BasicTicker\"}},\"id\":\"3699\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"3762\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"3705\",\"type\":\"BasicTicker\"},{\"attributes\":{\"overlay\":{\"id\":\"3670\",\"type\":\"BoxAnnotation\"}},\"id\":\"3648\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"3700\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"3773\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"3649\",\"type\":\"SaveTool\"},{\"attributes\":{\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"3700\",\"type\":\"BasicTicker\"}},\"id\":\"3703\",\"type\":\"Grid\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3724\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"3650\",\"type\":\"ResetTool\"},{\"attributes\":{\"dimension\":1,\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"3705\",\"type\":\"BasicTicker\"}},\"id\":\"3708\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"#Delta Nodes\",\"formatter\":{\"id\":\"3732\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"3705\",\"type\":\"BasicTicker\"}},\"id\":\"3704\",\"type\":\"LinearAxis\"},{\"attributes\":{\"label\":{\"value\":\"Susceptible\"},\"renderers\":[{\"id\":\"3725\",\"type\":\"GlyphRenderer\"}]},\"id\":\"3735\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"3651\",\"type\":\"HelpTool\"},{\"attributes\":{},\"id\":\"3632\",\"type\":\"LinearScale\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"3709\",\"type\":\"PanTool\"},{\"id\":\"3710\",\"type\":\"WheelZoomTool\"},{\"id\":\"3711\",\"type\":\"BoxZoomTool\"},{\"id\":\"3712\",\"type\":\"SaveTool\"},{\"id\":\"3713\",\"type\":\"ResetTool\"},{\"id\":\"3714\",\"type\":\"HelpTool\"}]},\"id\":\"3715\",\"type\":\"Toolbar\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#aec7e8\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3737\",\"type\":\"Line\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAAAQwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"dtype\":\"float64\",\"shape\":[30]}},\"selected\":{\"id\":\"3748\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"3747\",\"type\":\"UnionRenderers\"}},\"id\":\"3722\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data_source\":{\"id\":\"3722\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"3723\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3724\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"3726\",\"type\":\"CDSView\"}},\"id\":\"3725\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"3667\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"3709\",\"type\":\"PanTool\"},{\"attributes\":{\"source\":{\"id\":\"3659\",\"type\":\"ColumnDataSource\"}},\"id\":\"3663\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"3710\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"3670\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"overlay\":{\"id\":\"3733\",\"type\":\"BoxAnnotation\"}},\"id\":\"3711\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"3712\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"3669\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"3713\",\"type\":\"ResetTool\"},{\"attributes\":{\"label\":{\"value\":\"Susceptible\"},\"renderers\":[{\"id\":\"3662\",\"type\":\"GlyphRenderer\"}]},\"id\":\"3672\",\"type\":\"LegendItem\"},{\"attributes\":{\"dimension\":1,\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"3642\",\"type\":\"BasicTicker\"}},\"id\":\"3645\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"3714\",\"type\":\"HelpTool\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#aec7e8\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3674\",\"type\":\"Line\"},{\"attributes\":{\"children\":[[{\"id\":\"3627\",\"subtype\":\"Figure\",\"type\":\"Plot\"},0,0],[{\"id\":\"3690\",\"subtype\":\"Figure\",\"type\":\"Plot\"},0,1]]},\"id\":\"3777\",\"type\":\"GridBox\"},{\"attributes\":{\"axis_label\":\"#Nodes\",\"formatter\":{\"id\":\"3669\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"3642\",\"type\":\"BasicTicker\"}},\"id\":\"3641\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"3642\",\"type\":\"BasicTicker\"},{\"attributes\":{\"text\":\"Threshold - Prevalence\"},\"id\":\"3728\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],\"y\":{\"__ndarray__\":\"mpmZmZmZuT85tMh2vp+6Pzm0yHa+n7o/ObTIdr6fuj85tMh2vp+6Pzm0yHa+n7o/ObTIdr6fuj85tMh2vp+6Pzm0yHa+n7o/ObTIdr6fuj85tMh2vp+6Pzm0yHa+n7o/ObTIdr6fuj85tMh2vp+6Pzm0yHa+n7o/ObTIdr6fuj85tMh2vp+6Pzm0yHa+n7o/ObTIdr6fuj85tMh2vp+6Pzm0yHa+n7o/ObTIdr6fuj85tMh2vp+6Pzm0yHa+n7o/ObTIdr6fuj85tMh2vp+6Pzm0yHa+n7o/ObTIdr6fuj85tMh2vp+6Pzm0yHa+n7o/\",\"dtype\":\"float64\",\"shape\":[30]}},\"selected\":{\"id\":\"3762\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"3761\",\"type\":\"UnionRenderers\"}},\"id\":\"3673\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"3637\",\"type\":\"BasicTicker\"}},\"id\":\"3640\",\"type\":\"Grid\"},{\"attributes\":{\"align\":\"center\",\"text\":\"fraction infected: 0.1\"},\"id\":\"3752\",\"type\":\"Title\"},{\"attributes\":{\"text\":\"Threshold - Diffusion Trend\"},\"id\":\"3665\",\"type\":\"Title\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3675\",\"type\":\"Line\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3660\",\"type\":\"Line\"},{\"attributes\":{\"data_source\":{\"id\":\"3673\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"3674\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3675\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"3677\",\"type\":\"CDSView\"}},\"id\":\"3676\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"3722\",\"type\":\"ColumnDataSource\"}},\"id\":\"3726\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"3730\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"3733\",\"type\":\"BoxAnnotation\"},{\"attributes\":{\"source\":{\"id\":\"3673\",\"type\":\"ColumnDataSource\"}},\"id\":\"3677\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"3684\",\"type\":\"UnionRenderers\"},{\"attributes\":{},\"id\":\"3637\",\"type\":\"BasicTicker\"},{\"attributes\":{\"label\":{\"value\":\"Infected\"},\"renderers\":[{\"id\":\"3676\",\"type\":\"GlyphRenderer\"}]},\"id\":\"3687\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"3732\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"3685\",\"type\":\"Selection\"},{\"attributes\":{\"align\":\"center\",\"text\":\"fraction infected: 0.1\"},\"id\":\"3689\",\"type\":\"Title\"},{\"attributes\":{\"below\":[{\"id\":\"3699\",\"type\":\"LinearAxis\"},{\"id\":\"3752\",\"type\":\"Title\"}],\"center\":[{\"id\":\"3703\",\"type\":\"Grid\"},{\"id\":\"3708\",\"type\":\"Grid\"},{\"id\":\"3734\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"3704\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"3725\",\"type\":\"GlyphRenderer\"},{\"id\":\"3739\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"3728\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"3715\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"3691\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"3695\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"3693\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"3697\",\"type\":\"LinearScale\"}},\"id\":\"3690\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3738\",\"type\":\"Line\"},{\"attributes\":{\"callback\":null},\"id\":\"3628\",\"type\":\"DataRange1d\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],\"y\":{\"__ndarray__\":\"zczMzMzM7D956SYxCKzsP3npJjEIrOw/eekmMQis7D956SYxCKzsP3npJjEIrOw/eekmMQis7D956SYxCKzsP3npJjEIrOw/eekmMQis7D956SYxCKzsP3npJjEIrOw/eekmMQis7D956SYxCKzsP3npJjEIrOw/eekmMQis7D956SYxCKzsP3npJjEIrOw/eekmMQis7D956SYxCKzsP3npJjEIrOw/eekmMQis7D956SYxCKzsP3npJjEIrOw/eekmMQis7D956SYxCKzsP3npJjEIrOw/eekmMQis7D956SYxCKzsP3npJjEIrOw/\",\"dtype\":\"float64\",\"shape\":[30]}},\"selected\":{\"id\":\"3685\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"3684\",\"type\":\"UnionRenderers\"}},\"id\":\"3659\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"callback\":null},\"id\":\"3691\",\"type\":\"DataRange1d\"},{\"attributes\":{\"data_source\":{\"id\":\"3736\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"3737\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"3738\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"3740\",\"type\":\"CDSView\"}},\"id\":\"3739\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"3736\",\"type\":\"ColumnDataSource\"}},\"id\":\"3740\",\"type\":\"CDSView\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"3723\",\"type\":\"Line\"},{\"attributes\":{\"label\":{\"value\":\"Infected\"},\"renderers\":[{\"id\":\"3739\",\"type\":\"GlyphRenderer\"}]},\"id\":\"3750\",\"type\":\"LegendItem\"},{\"attributes\":{\"axis_label\":\"Iterations\",\"formatter\":{\"id\":\"3667\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"3637\",\"type\":\"BasicTicker\"}},\"id\":\"3636\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"3747\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"items\":[{\"id\":\"3672\",\"type\":\"LegendItem\"},{\"id\":\"3687\",\"type\":\"LegendItem\"}],\"orientation\":\"horizontal\"},\"id\":\"3671\",\"type\":\"Legend\"},{\"attributes\":{\"callback\":null},\"id\":\"3630\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"3634\",\"type\":\"LinearScale\"},{\"attributes\":{\"below\":[{\"id\":\"3636\",\"type\":\"LinearAxis\"},{\"id\":\"3689\",\"type\":\"Title\"}],\"center\":[{\"id\":\"3640\",\"type\":\"Grid\"},{\"id\":\"3645\",\"type\":\"Grid\"},{\"id\":\"3671\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"3641\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"3662\",\"type\":\"GlyphRenderer\"},{\"id\":\"3676\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"3665\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"3652\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"3628\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"3632\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"3630\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"3634\",\"type\":\"LinearScale\"}},\"id\":\"3627\",\"subtype\":\"Figure\",\"type\":\"Plot\"}],\"root_ids\":[\"3780\"]},\"title\":\"Bokeh Application\",\"version\":\"1.4.0\"}};\n",
" var render_items = [{\"docid\":\"8e447537-5c2b-4a65-922b-e5d4727cc4ad\",\"roots\":{\"3780\":\"00d6429b-564d-4508-a820-8047cfe0c073\"}}];\n",
" root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
"\n",
" }\n",
" if (root.Bokeh !== undefined) {\n",
" embed_document(root);\n",
" } else {\n",
" var attempts = 0;\n",
" var timer = setInterval(function(root) {\n",
" if (root.Bokeh !== undefined) {\n",
" clearInterval(timer);\n",
" embed_document(root);\n",
" } else {\n",
" attempts++;\n",
" if (attempts > 100) {\n",
" clearInterval(timer);\n",
" console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
" }\n",
" }\n",
" }, 10, root)\n",
" }\n",
"})(window);"
],
"application/vnd.bokehjs_exec.v0+json": ""
},
"metadata": {
"application/vnd.bokehjs_exec.v0+json": {
"id": "3780"
}
},
"output_type": "display_data"
}
],
"source": [
"model, iterations = watts_model_ba_network(5, 0.5, 0.1, 30)\n",
"plot_diffusion(model, iterations)"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-09T13:58:23.188076Z",
"start_time": "2020-08-09T13:58:22.977876Z"
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"100%|██████████| 30/30 [00:00<00:00, 1237.37it/s]\n"
]
},
{
"data": {
"text/html": [
"\n",
" \n",
"
\n",
"
Loading BokehJS ... \n",
"
"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"\n",
"(function(root) {\n",
" function now() {\n",
" return new Date();\n",
" }\n",
"\n",
" var force = true;\n",
"\n",
" if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n",
" root._bokeh_onload_callbacks = [];\n",
" root._bokeh_is_loading = undefined;\n",
" }\n",
"\n",
" var JS_MIME_TYPE = 'application/javascript';\n",
" var HTML_MIME_TYPE = 'text/html';\n",
" var EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n",
" var CLASS_NAME = 'output_bokeh rendered_html';\n",
"\n",
" /**\n",
" * Render data to the DOM node\n",
" */\n",
" function render(props, node) {\n",
" var script = document.createElement(\"script\");\n",
" node.appendChild(script);\n",
" }\n",
"\n",
" /**\n",
" * Handle when an output is cleared or removed\n",
" */\n",
" function handleClearOutput(event, handle) {\n",
" var cell = handle.cell;\n",
"\n",
" var id = cell.output_area._bokeh_element_id;\n",
" var server_id = cell.output_area._bokeh_server_id;\n",
" // Clean up Bokeh references\n",
" if (id != null && id in Bokeh.index) {\n",
" Bokeh.index[id].model.document.clear();\n",
" delete Bokeh.index[id];\n",
" }\n",
"\n",
" if (server_id !== undefined) {\n",
" // Clean up Bokeh references\n",
" var cmd = \"from bokeh.io.state import curstate; print(curstate().uuid_to_server['\" + server_id + \"'].get_sessions()[0].document.roots[0]._id)\";\n",
" cell.notebook.kernel.execute(cmd, {\n",
" iopub: {\n",
" output: function(msg) {\n",
" var id = msg.content.text.trim();\n",
" if (id in Bokeh.index) {\n",
" Bokeh.index[id].model.document.clear();\n",
" delete Bokeh.index[id];\n",
" }\n",
" }\n",
" }\n",
" });\n",
" // Destroy server and session\n",
" var cmd = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n",
" cell.notebook.kernel.execute(cmd);\n",
" }\n",
" }\n",
"\n",
" /**\n",
" * Handle when a new output is added\n",
" */\n",
" function handleAddOutput(event, handle) {\n",
" var output_area = handle.output_area;\n",
" var output = handle.output;\n",
"\n",
" // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n",
" if ((output.output_type != \"display_data\") || (!output.data.hasOwnProperty(EXEC_MIME_TYPE))) {\n",
" return\n",
" }\n",
"\n",
" var toinsert = output_area.element.find(\".\" + CLASS_NAME.split(' ')[0]);\n",
"\n",
" if (output.metadata[EXEC_MIME_TYPE][\"id\"] !== undefined) {\n",
" toinsert[toinsert.length - 1].firstChild.textContent = output.data[JS_MIME_TYPE];\n",
" // store reference to embed id on output_area\n",
" output_area._bokeh_element_id = output.metadata[EXEC_MIME_TYPE][\"id\"];\n",
" }\n",
" if (output.metadata[EXEC_MIME_TYPE][\"server_id\"] !== undefined) {\n",
" var bk_div = document.createElement(\"div\");\n",
" bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n",
" var script_attrs = bk_div.children[0].attributes;\n",
" for (var i = 0; i < script_attrs.length; i++) {\n",
" toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n",
" }\n",
" // store reference to server id on output_area\n",
" output_area._bokeh_server_id = output.metadata[EXEC_MIME_TYPE][\"server_id\"];\n",
" }\n",
" }\n",
"\n",
" function register_renderer(events, OutputArea) {\n",
"\n",
" function append_mime(data, metadata, element) {\n",
" // create a DOM node to render to\n",
" var toinsert = this.create_output_subarea(\n",
" metadata,\n",
" CLASS_NAME,\n",
" EXEC_MIME_TYPE\n",
" );\n",
" this.keyboard_manager.register_events(toinsert);\n",
" // Render to node\n",
" var props = {data: data, metadata: metadata[EXEC_MIME_TYPE]};\n",
" render(props, toinsert[toinsert.length - 1]);\n",
" element.append(toinsert);\n",
" return toinsert\n",
" }\n",
"\n",
" /* Handle when an output is cleared or removed */\n",
" events.on('clear_output.CodeCell', handleClearOutput);\n",
" events.on('delete.Cell', handleClearOutput);\n",
"\n",
" /* Handle when a new output is added */\n",
" events.on('output_added.OutputArea', handleAddOutput);\n",
"\n",
" /**\n",
" * Register the mime type and append_mime function with output_area\n",
" */\n",
" OutputArea.prototype.register_mime_type(EXEC_MIME_TYPE, append_mime, {\n",
" /* Is output safe? */\n",
" safe: true,\n",
" /* Index of renderer in `output_area.display_order` */\n",
" index: 0\n",
" });\n",
" }\n",
"\n",
" // register the mime type if in Jupyter Notebook environment and previously unregistered\n",
" if (root.Jupyter !== undefined) {\n",
" var events = require('base/js/events');\n",
" var OutputArea = require('notebook/js/outputarea').OutputArea;\n",
"\n",
" if (OutputArea.prototype.mime_types().indexOf(EXEC_MIME_TYPE) == -1) {\n",
" register_renderer(events, OutputArea);\n",
" }\n",
" }\n",
"\n",
" \n",
" if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n",
" root._bokeh_timeout = Date.now() + 5000;\n",
" root._bokeh_failed_load = false;\n",
" }\n",
"\n",
" var NB_LOAD_WARNING = {'data': {'text/html':\n",
" \"\\n\"+\n",
" \"
\\n\"+\n",
" \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n",
" \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n",
" \"
\\n\"+\n",
" \"
\\n\"+\n",
" \"re-rerun `output_notebook()` to attempt to load from CDN again, or \\n\"+\n",
" \"use INLINE resources instead, as so: \\n\"+\n",
" \" \\n\"+\n",
" \"
\\n\"+\n",
" \"from bokeh.resources import INLINE\\n\"+\n",
" \"output_notebook(resources=INLINE)\\n\"+\n",
" \"
\\n\"+\n",
" \"
\"}};\n",
"\n",
" function display_loaded() {\n",
" var el = document.getElementById(\"6161\");\n",
" if (el != null) {\n",
" el.textContent = \"BokehJS is loading...\";\n",
" }\n",
" if (root.Bokeh !== undefined) {\n",
" if (el != null) {\n",
" el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n",
" }\n",
" } else if (Date.now() < root._bokeh_timeout) {\n",
" setTimeout(display_loaded, 100)\n",
" }\n",
" }\n",
"\n",
"\n",
" function run_callbacks() {\n",
" try {\n",
" root._bokeh_onload_callbacks.forEach(function(callback) {\n",
" if (callback != null)\n",
" callback();\n",
" });\n",
" } finally {\n",
" delete root._bokeh_onload_callbacks\n",
" }\n",
" console.debug(\"Bokeh: all callbacks have finished\");\n",
" }\n",
"\n",
" function load_libs(css_urls, js_urls, callback) {\n",
" if (css_urls == null) css_urls = [];\n",
" if (js_urls == null) js_urls = [];\n",
"\n",
" root._bokeh_onload_callbacks.push(callback);\n",
" if (root._bokeh_is_loading > 0) {\n",
" console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n",
" return null;\n",
" }\n",
" if (js_urls == null || js_urls.length === 0) {\n",
" run_callbacks();\n",
" return null;\n",
" }\n",
" console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n",
" root._bokeh_is_loading = css_urls.length + js_urls.length;\n",
"\n",
" function on_load() {\n",
" root._bokeh_is_loading--;\n",
" if (root._bokeh_is_loading === 0) {\n",
" console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n",
" run_callbacks()\n",
" }\n",
" }\n",
"\n",
" function on_error() {\n",
" console.error(\"failed to load \" + url);\n",
" }\n",
"\n",
" for (var i = 0; i < css_urls.length; i++) {\n",
" var url = css_urls[i];\n",
" const element = document.createElement(\"link\");\n",
" element.onload = on_load;\n",
" element.onerror = on_error;\n",
" element.rel = \"stylesheet\";\n",
" element.type = \"text/css\";\n",
" element.href = url;\n",
" console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n",
" document.body.appendChild(element);\n",
" }\n",
"\n",
" for (var i = 0; i < js_urls.length; i++) {\n",
" var url = js_urls[i];\n",
" var element = document.createElement('script');\n",
" element.onload = on_load;\n",
" element.onerror = on_error;\n",
" element.async = false;\n",
" element.src = url;\n",
" console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n",
" document.head.appendChild(element);\n",
" }\n",
" };var element = document.getElementById(\"6161\");\n",
" if (element == null) {\n",
" console.error(\"Bokeh: ERROR: autoload.js configured with elementid '6161' but no matching script tag was found. \")\n",
" return false;\n",
" }\n",
"\n",
" function inject_raw_css(css) {\n",
" const element = document.createElement(\"style\");\n",
" element.appendChild(document.createTextNode(css));\n",
" document.body.appendChild(element);\n",
" }\n",
"\n",
" \n",
" var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.4.0.min.js\"];\n",
" var css_urls = [];\n",
" \n",
"\n",
" var inline_js = [\n",
" function(Bokeh) {\n",
" Bokeh.set_log_level(\"info\");\n",
" },\n",
" function(Bokeh) {\n",
" \n",
" \n",
" }\n",
" ];\n",
"\n",
" function run_inline_js() {\n",
" \n",
" if (root.Bokeh !== undefined || force === true) {\n",
" \n",
" for (var i = 0; i < inline_js.length; i++) {\n",
" inline_js[i].call(root, root.Bokeh);\n",
" }\n",
" if (force === true) {\n",
" display_loaded();\n",
" }} else if (Date.now() < root._bokeh_timeout) {\n",
" setTimeout(run_inline_js, 100);\n",
" } else if (!root._bokeh_failed_load) {\n",
" console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n",
" root._bokeh_failed_load = true;\n",
" } else if (force !== true) {\n",
" var cell = $(document.getElementById(\"6161\")).parents('.cell').data().cell;\n",
" cell.output_area.append_execute_result(NB_LOAD_WARNING)\n",
" }\n",
"\n",
" }\n",
"\n",
" if (root._bokeh_is_loading === 0) {\n",
" console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n",
" run_inline_js();\n",
" } else {\n",
" load_libs(css_urls, js_urls, function() {\n",
" console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n",
" run_inline_js();\n",
" });\n",
" }\n",
"}(window));"
],
"application/vnd.bokehjs_load.v0+json": "\n(function(root) {\n function now() {\n return new Date();\n }\n\n var force = true;\n\n if (typeof root._bokeh_onload_callbacks === \"undefined\" || force === true) {\n root._bokeh_onload_callbacks = [];\n root._bokeh_is_loading = undefined;\n }\n\n \n\n \n if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n var NB_LOAD_WARNING = {'data': {'text/html':\n \"\\n\"+\n \"
\\n\"+\n \"BokehJS does not appear to have successfully loaded. If loading BokehJS from CDN, this \\n\"+\n \"may be due to a slow or bad network connection. Possible fixes:\\n\"+\n \"
\\n\"+\n \"
\\n\"+\n \"re-rerun `output_notebook()` to attempt to load from CDN again, or \\n\"+\n \"use INLINE resources instead, as so: \\n\"+\n \" \\n\"+\n \"
\\n\"+\n \"from bokeh.resources import INLINE\\n\"+\n \"output_notebook(resources=INLINE)\\n\"+\n \"
\\n\"+\n \"
\"}};\n\n function display_loaded() {\n var el = document.getElementById(\"6161\");\n if (el != null) {\n el.textContent = \"BokehJS is loading...\";\n }\n if (root.Bokeh !== undefined) {\n if (el != null) {\n el.textContent = \"BokehJS \" + root.Bokeh.version + \" successfully loaded.\";\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(display_loaded, 100)\n }\n }\n\n\n function run_callbacks() {\n try {\n root._bokeh_onload_callbacks.forEach(function(callback) {\n if (callback != null)\n callback();\n });\n } finally {\n delete root._bokeh_onload_callbacks\n }\n console.debug(\"Bokeh: all callbacks have finished\");\n }\n\n function load_libs(css_urls, js_urls, callback) {\n if (css_urls == null) css_urls = [];\n if (js_urls == null) js_urls = [];\n\n root._bokeh_onload_callbacks.push(callback);\n if (root._bokeh_is_loading > 0) {\n console.debug(\"Bokeh: BokehJS is being loaded, scheduling callback at\", now());\n return null;\n }\n if (js_urls == null || js_urls.length === 0) {\n run_callbacks();\n return null;\n }\n console.debug(\"Bokeh: BokehJS not loaded, scheduling load and callback at\", now());\n root._bokeh_is_loading = css_urls.length + js_urls.length;\n\n function on_load() {\n root._bokeh_is_loading--;\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: all BokehJS libraries/stylesheets loaded\");\n run_callbacks()\n }\n }\n\n function on_error() {\n console.error(\"failed to load \" + url);\n }\n\n for (var i = 0; i < css_urls.length; i++) {\n var url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error;\n element.rel = \"stylesheet\";\n element.type = \"text/css\";\n element.href = url;\n console.debug(\"Bokeh: injecting link tag for BokehJS stylesheet: \", url);\n document.body.appendChild(element);\n }\n\n for (var i = 0; i < js_urls.length; i++) {\n var url = js_urls[i];\n var element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error;\n element.async = false;\n element.src = url;\n console.debug(\"Bokeh: injecting script tag for BokehJS library: \", url);\n document.head.appendChild(element);\n }\n };var element = document.getElementById(\"6161\");\n if (element == null) {\n console.error(\"Bokeh: ERROR: autoload.js configured with elementid '6161' but no matching script tag was found. \")\n return false;\n }\n\n function inject_raw_css(css) {\n const element = document.createElement(\"style\");\n element.appendChild(document.createTextNode(css));\n document.body.appendChild(element);\n }\n\n \n var js_urls = [\"https://cdn.pydata.org/bokeh/release/bokeh-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-widgets-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-tables-1.4.0.min.js\", \"https://cdn.pydata.org/bokeh/release/bokeh-gl-1.4.0.min.js\"];\n var css_urls = [];\n \n\n var inline_js = [\n function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\n function(Bokeh) {\n \n \n }\n ];\n\n function run_inline_js() {\n \n if (root.Bokeh !== undefined || force === true) {\n \n for (var i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n if (force === true) {\n display_loaded();\n }} else if (Date.now() < root._bokeh_timeout) {\n setTimeout(run_inline_js, 100);\n } else if (!root._bokeh_failed_load) {\n console.log(\"Bokeh: BokehJS failed to load within specified timeout.\");\n root._bokeh_failed_load = true;\n } else if (force !== true) {\n var cell = $(document.getElementById(\"6161\")).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\n }\n\n }\n\n if (root._bokeh_is_loading === 0) {\n console.debug(\"Bokeh: BokehJS loaded, going straight to plotting\");\n run_inline_js();\n } else {\n load_libs(css_urls, js_urls, function() {\n console.debug(\"Bokeh: BokehJS plotting callback run at\", now());\n run_inline_js();\n });\n }\n}(window));"
},
"metadata": {},
"output_type": "display_data"
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n",
"BokehDeprecationWarning: 'legend' keyword is deprecated, use explicit 'legend_label', 'legend_field', or 'legend_group' keywords instead\n"
]
},
{
"data": {
"text/html": [
"\n",
"\n",
"\n",
"\n",
"\n",
"\n",
"
\n"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"application/javascript": [
"(function(root) {\n",
" function embed_document(root) {\n",
" \n",
" var docs_json = {\"04606982-d725-4adf-95d8-617fbf55dc15\":{\"roots\":{\"references\":[{\"attributes\":{\"children\":[{\"id\":\"6314\",\"type\":\"ToolbarBox\"},{\"id\":\"6312\",\"type\":\"GridBox\"}]},\"id\":\"6315\",\"type\":\"Column\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"6273\",\"type\":\"Line\"},{\"attributes\":{\"data_source\":{\"id\":\"6271\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"6272\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"6273\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"6275\",\"type\":\"CDSView\"}},\"id\":\"6274\",\"type\":\"GlyphRenderer\"},{\"attributes\":{\"source\":{\"id\":\"6271\",\"type\":\"ColumnDataSource\"}},\"id\":\"6275\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"6282\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"label\":{\"value\":\"Infected\"},\"renderers\":[{\"id\":\"6274\",\"type\":\"GlyphRenderer\"}]},\"id\":\"6285\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"6283\",\"type\":\"Selection\"},{\"attributes\":{\"align\":\"center\",\"text\":\"fraction infected: 0.1\"},\"id\":\"6287\",\"type\":\"Title\"},{\"attributes\":{\"children\":[[{\"id\":\"6162\",\"subtype\":\"Figure\",\"type\":\"Plot\"},0,0],[{\"id\":\"6225\",\"subtype\":\"Figure\",\"type\":\"Plot\"},0,1]]},\"id\":\"6312\",\"type\":\"GridBox\"},{\"attributes\":{\"callback\":null},\"id\":\"6165\",\"type\":\"DataRange1d\"},{\"attributes\":{\"tools\":[{\"id\":\"6181\",\"type\":\"PanTool\"},{\"id\":\"6182\",\"type\":\"WheelZoomTool\"},{\"id\":\"6183\",\"type\":\"BoxZoomTool\"},{\"id\":\"6184\",\"type\":\"SaveTool\"},{\"id\":\"6185\",\"type\":\"ResetTool\"},{\"id\":\"6186\",\"type\":\"HelpTool\"},{\"id\":\"6244\",\"type\":\"PanTool\"},{\"id\":\"6245\",\"type\":\"WheelZoomTool\"},{\"id\":\"6246\",\"type\":\"BoxZoomTool\"},{\"id\":\"6247\",\"type\":\"SaveTool\"},{\"id\":\"6248\",\"type\":\"ResetTool\"},{\"id\":\"6249\",\"type\":\"HelpTool\"}]},\"id\":\"6313\",\"type\":\"ProxyToolbar\"},{\"attributes\":{},\"id\":\"6167\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"6296\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"toolbar\":{\"id\":\"6313\",\"type\":\"ProxyToolbar\"},\"toolbar_location\":\"above\"},\"id\":\"6314\",\"type\":\"ToolbarBox\"},{\"attributes\":{},\"id\":\"6297\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"6309\",\"type\":\"Selection\"},{\"attributes\":{\"below\":[{\"id\":\"6171\",\"type\":\"LinearAxis\"},{\"id\":\"6224\",\"type\":\"Title\"}],\"center\":[{\"id\":\"6175\",\"type\":\"Grid\"},{\"id\":\"6180\",\"type\":\"Grid\"},{\"id\":\"6206\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"6176\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"6197\",\"type\":\"GlyphRenderer\"},{\"id\":\"6211\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"6200\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"6187\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"6163\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"6167\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"6165\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"6169\",\"type\":\"LinearScale\"}},\"id\":\"6162\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{},\"id\":\"6308\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"6196\",\"type\":\"Line\"},{\"attributes\":{\"dimension\":1,\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"6177\",\"type\":\"BasicTicker\"}},\"id\":\"6180\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null},\"id\":\"6226\",\"type\":\"DataRange1d\"},{\"attributes\":{\"below\":[{\"id\":\"6234\",\"type\":\"LinearAxis\"},{\"id\":\"6287\",\"type\":\"Title\"}],\"center\":[{\"id\":\"6238\",\"type\":\"Grid\"},{\"id\":\"6243\",\"type\":\"Grid\"},{\"id\":\"6269\",\"type\":\"Legend\"}],\"left\":[{\"id\":\"6239\",\"type\":\"LinearAxis\"}],\"plot_height\":400,\"plot_width\":400,\"renderers\":[{\"id\":\"6260\",\"type\":\"GlyphRenderer\"},{\"id\":\"6274\",\"type\":\"GlyphRenderer\"}],\"title\":{\"id\":\"6263\",\"type\":\"Title\"},\"toolbar\":{\"id\":\"6250\",\"type\":\"Toolbar\"},\"toolbar_location\":null,\"x_range\":{\"id\":\"6226\",\"type\":\"DataRange1d\"},\"x_scale\":{\"id\":\"6230\",\"type\":\"LinearScale\"},\"y_range\":{\"id\":\"6228\",\"type\":\"DataRange1d\"},\"y_scale\":{\"id\":\"6232\",\"type\":\"LinearScale\"}},\"id\":\"6225\",\"subtype\":\"Figure\",\"type\":\"Plot\"},{\"attributes\":{\"callback\":null},\"id\":\"6228\",\"type\":\"DataRange1d\"},{\"attributes\":{},\"id\":\"6230\",\"type\":\"LinearScale\"},{\"attributes\":{\"callback\":null},\"id\":\"6163\",\"type\":\"DataRange1d\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"6181\",\"type\":\"PanTool\"},{\"id\":\"6182\",\"type\":\"WheelZoomTool\"},{\"id\":\"6183\",\"type\":\"BoxZoomTool\"},{\"id\":\"6184\",\"type\":\"SaveTool\"},{\"id\":\"6185\",\"type\":\"ResetTool\"},{\"id\":\"6186\",\"type\":\"HelpTool\"}]},\"id\":\"6187\",\"type\":\"Toolbar\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],\"y\":{\"__ndarray__\":\"zczMzMzM7D8X2c73U+PlP9NNYhBYOdw/ObTIdr6fuj/8qfHSTWJgPwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"dtype\":\"float64\",\"shape\":[30]}},\"selected\":{\"id\":\"6220\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"6219\",\"type\":\"UnionRenderers\"}},\"id\":\"6194\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"data_source\":{\"id\":\"6194\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"6195\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"6196\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"6198\",\"type\":\"CDSView\"}},\"id\":\"6197\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"6181\",\"type\":\"PanTool\"},{\"attributes\":{},\"id\":\"6232\",\"type\":\"LinearScale\"},{\"attributes\":{},\"id\":\"6182\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"axis_label\":\"Iterations\",\"formatter\":{\"id\":\"6265\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"6235\",\"type\":\"BasicTicker\"}},\"id\":\"6234\",\"type\":\"LinearAxis\"},{\"attributes\":{\"overlay\":{\"id\":\"6205\",\"type\":\"BoxAnnotation\"}},\"id\":\"6183\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"6240\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"6235\",\"type\":\"BasicTicker\"},{\"attributes\":{},\"id\":\"6184\",\"type\":\"SaveTool\"},{\"attributes\":{\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"6235\",\"type\":\"BasicTicker\"}},\"id\":\"6238\",\"type\":\"Grid\"},{\"attributes\":{},\"id\":\"6185\",\"type\":\"ResetTool\"},{\"attributes\":{\"dimension\":1,\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"6240\",\"type\":\"BasicTicker\"}},\"id\":\"6243\",\"type\":\"Grid\"},{\"attributes\":{\"axis_label\":\"#Delta Nodes\",\"formatter\":{\"id\":\"6267\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"6240\",\"type\":\"BasicTicker\"}},\"id\":\"6239\",\"type\":\"LinearAxis\"},{\"attributes\":{},\"id\":\"6186\",\"type\":\"HelpTool\"},{\"attributes\":{\"grid_line_alpha\":0.5,\"ticker\":{\"id\":\"6172\",\"type\":\"BasicTicker\"}},\"id\":\"6175\",\"type\":\"Grid\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAABrwAAAAAAAYG7AAAAAAAAQdcAAAAAAAIBZwAAAAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"dtype\":\"float64\",\"shape\":[30]}},\"selected\":{\"id\":\"6283\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"6282\",\"type\":\"UnionRenderers\"}},\"id\":\"6257\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"items\":[{\"id\":\"6207\",\"type\":\"LegendItem\"},{\"id\":\"6222\",\"type\":\"LegendItem\"}],\"orientation\":\"horizontal\"},\"id\":\"6206\",\"type\":\"Legend\"},{\"attributes\":{\"active_drag\":\"auto\",\"active_inspect\":\"auto\",\"active_multi\":null,\"active_scroll\":\"auto\",\"active_tap\":\"auto\",\"tools\":[{\"id\":\"6244\",\"type\":\"PanTool\"},{\"id\":\"6245\",\"type\":\"WheelZoomTool\"},{\"id\":\"6246\",\"type\":\"BoxZoomTool\"},{\"id\":\"6247\",\"type\":\"SaveTool\"},{\"id\":\"6248\",\"type\":\"ResetTool\"},{\"id\":\"6249\",\"type\":\"HelpTool\"}]},\"id\":\"6250\",\"type\":\"Toolbar\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"6258\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"6202\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"data_source\":{\"id\":\"6257\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"6258\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"6259\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"6261\",\"type\":\"CDSView\"}},\"id\":\"6260\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"6244\",\"type\":\"PanTool\"},{\"attributes\":{\"source\":{\"id\":\"6194\",\"type\":\"ColumnDataSource\"}},\"id\":\"6198\",\"type\":\"CDSView\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"6205\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"6245\",\"type\":\"WheelZoomTool\"},{\"attributes\":{\"overlay\":{\"id\":\"6268\",\"type\":\"BoxAnnotation\"}},\"id\":\"6246\",\"type\":\"BoxZoomTool\"},{\"attributes\":{},\"id\":\"6204\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{},\"id\":\"6247\",\"type\":\"SaveTool\"},{\"attributes\":{},\"id\":\"6172\",\"type\":\"BasicTicker\"},{\"attributes\":{\"label\":{\"value\":\"Susceptible\"},\"renderers\":[{\"id\":\"6197\",\"type\":\"GlyphRenderer\"}]},\"id\":\"6207\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"6248\",\"type\":\"ResetTool\"},{\"attributes\":{\"axis_label\":\"Iterations\",\"formatter\":{\"id\":\"6202\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"6172\",\"type\":\"BasicTicker\"}},\"id\":\"6171\",\"type\":\"LinearAxis\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"6259\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"6249\",\"type\":\"HelpTool\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#aec7e8\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"6209\",\"type\":\"Line\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],\"y\":{\"__ndarray__\":\"mpmZmZmZuT/TTWIQWDnUPxfZzvdT4+E/eekmMQis7D9WDi2yne/vPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/AAAAAAAA8D8AAAAAAADwPwAAAAAAAPA/\",\"dtype\":\"float64\",\"shape\":[30]}},\"selected\":{\"id\":\"6297\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"6296\",\"type\":\"UnionRenderers\"}},\"id\":\"6208\",\"type\":\"ColumnDataSource\"},{\"attributes\":{\"text\":\"Threshold - Prevalence\"},\"id\":\"6263\",\"type\":\"Title\"},{\"attributes\":{\"text\":\"Threshold - Diffusion Trend\"},\"id\":\"6200\",\"type\":\"Title\"},{\"attributes\":{\"items\":[{\"id\":\"6270\",\"type\":\"LegendItem\"},{\"id\":\"6285\",\"type\":\"LegendItem\"}],\"orientation\":\"horizontal\"},\"id\":\"6269\",\"type\":\"Legend\"},{\"attributes\":{\"line_alpha\":0.1,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"6210\",\"type\":\"Line\"},{\"attributes\":{\"data_source\":{\"id\":\"6208\",\"type\":\"ColumnDataSource\"},\"glyph\":{\"id\":\"6209\",\"type\":\"Line\"},\"hover_glyph\":null,\"muted_glyph\":null,\"nonselection_glyph\":{\"id\":\"6210\",\"type\":\"Line\"},\"selection_glyph\":null,\"view\":{\"id\":\"6212\",\"type\":\"CDSView\"}},\"id\":\"6211\",\"type\":\"GlyphRenderer\"},{\"attributes\":{},\"id\":\"6177\",\"type\":\"BasicTicker\"},{\"attributes\":{\"source\":{\"id\":\"6257\",\"type\":\"ColumnDataSource\"}},\"id\":\"6261\",\"type\":\"CDSView\"},{\"attributes\":{\"source\":{\"id\":\"6208\",\"type\":\"ColumnDataSource\"}},\"id\":\"6212\",\"type\":\"CDSView\"},{\"attributes\":{},\"id\":\"6265\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"bottom_units\":\"screen\",\"fill_alpha\":{\"value\":0.5},\"fill_color\":{\"value\":\"lightgrey\"},\"left_units\":\"screen\",\"level\":\"overlay\",\"line_alpha\":{\"value\":1.0},\"line_color\":{\"value\":\"black\"},\"line_dash\":[4,4],\"line_width\":{\"value\":2},\"render_mode\":\"css\",\"right_units\":\"screen\",\"top_units\":\"screen\"},\"id\":\"6268\",\"type\":\"BoxAnnotation\"},{\"attributes\":{},\"id\":\"6219\",\"type\":\"UnionRenderers\"},{\"attributes\":{\"axis_label\":\"#Nodes\",\"formatter\":{\"id\":\"6204\",\"type\":\"BasicTickFormatter\"},\"ticker\":{\"id\":\"6177\",\"type\":\"BasicTicker\"}},\"id\":\"6176\",\"type\":\"LinearAxis\"},{\"attributes\":{\"label\":{\"value\":\"Infected\"},\"renderers\":[{\"id\":\"6211\",\"type\":\"GlyphRenderer\"}]},\"id\":\"6222\",\"type\":\"LegendItem\"},{\"attributes\":{},\"id\":\"6220\",\"type\":\"Selection\"},{\"attributes\":{},\"id\":\"6267\",\"type\":\"BasicTickFormatter\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#aec7e8\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"6272\",\"type\":\"Line\"},{\"attributes\":{},\"id\":\"6169\",\"type\":\"LinearScale\"},{\"attributes\":{\"line_alpha\":0.5,\"line_color\":\"#1f77b4\",\"line_width\":2,\"x\":{\"field\":\"x\"},\"y\":{\"field\":\"y\"}},\"id\":\"6195\",\"type\":\"Line\"},{\"attributes\":{\"label\":{\"value\":\"Susceptible\"},\"renderers\":[{\"id\":\"6260\",\"type\":\"GlyphRenderer\"}]},\"id\":\"6270\",\"type\":\"LegendItem\"},{\"attributes\":{\"align\":\"center\",\"text\":\"fraction infected: 0.1\"},\"id\":\"6224\",\"type\":\"Title\"},{\"attributes\":{\"callback\":null,\"data\":{\"x\":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],\"y\":{\"__ndarray__\":\"AAAAAAAAAAAAAAAAAABrQAAAAAAAYG5AAAAAAAAQdUAAAAAAAIBZQAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\",\"dtype\":\"float64\",\"shape\":[30]}},\"selected\":{\"id\":\"6309\",\"type\":\"Selection\"},\"selection_policy\":{\"id\":\"6308\",\"type\":\"UnionRenderers\"}},\"id\":\"6271\",\"type\":\"ColumnDataSource\"}],\"root_ids\":[\"6315\"]},\"title\":\"Bokeh Application\",\"version\":\"1.4.0\"}};\n",
" var render_items = [{\"docid\":\"04606982-d725-4adf-95d8-617fbf55dc15\",\"roots\":{\"6315\":\"9661559e-d3cc-4453-abcf-d2b148331648\"}}];\n",
" root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n",
"\n",
" }\n",
" if (root.Bokeh !== undefined) {\n",
" embed_document(root);\n",
" } else {\n",
" var attempts = 0;\n",
" var timer = setInterval(function(root) {\n",
" if (root.Bokeh !== undefined) {\n",
" clearInterval(timer);\n",
" embed_document(root);\n",
" } else {\n",
" attempts++;\n",
" if (attempts > 100) {\n",
" clearInterval(timer);\n",
" console.log(\"Bokeh: ERROR: Unable to run BokehJS code because BokehJS library is missing\");\n",
" }\n",
" }\n",
" }, 10, root)\n",
" }\n",
"})(window);"
],
"application/vnd.bokehjs_exec.v0+json": ""
},
"metadata": {
"application/vnd.bokehjs_exec.v0+json": {
"id": "6315"
}
},
"output_type": "display_data"
}
],
"source": [
"model, iterations = watts_model_ba_network(2, 0.2, 0.1, 30)\n",
"plot_diffusion(model, iterations)"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"ExecuteTime": {
"end_time": "2020-08-09T13:47:11.981708Z",
"start_time": "2020-08-09T13:47:05.410231Z"
},
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAb4AAAEuCAYAAADx63eqAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjMsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+AADFEAAAgAElEQVR4nOydd1gUV9uH7610kK7YFVARC4otxo69RpPYokajif01xphivlhiYootaqxJjB2jscaK2LA3rCgsgohtKUqHrfP9sbKyAkajKIa5r2svdndmzpwZduY35zlPkQiCICAiIiIiIlJCkL7qDoiIiIiIiLxMROETERERESlRiMInIiIiIlKiEIVPRERERKREIQqfiIiIiEiJQhQ+EREREZEShSh8IiIiIiIlClH4RERERERKFKLwiYiIiIiUKEThExEREREpUYjCJyIiIiJSohCFT0RERESkRCEKn4iIiIhIiUIUPhERERGREoUofCIiIiIiJQpR+EREREREShSi8ImIiIiIlChE4RMRERERKVHIX3UHREREXgwhEWrCVIk083GnrZ/nq+6OiEixRSIIgvCqOyEiIvJ8hESoGbPuHDl6IzYKGfP6BIjiJyJSCKKpU0TkP0CYKpEcvRGAbJ2BMFXiK+6RiEjxRRQ+EZH/AM183LFWmC5na7mUZj7ur7hHIiLFF1H4RET+A7T182R+n3q4JF+id4Us0cwpIvIEROETEfmP0NbPk0E1bbh7es+r7oqISLFGFD4RkZdESISar7deJiRCXWT7CAoKYt++fS+0zZfRbxGRl4no1SkiUsSERKhZeyqOo9HJaA1F63UpCAJeXl4cPXqUKlWqPHd7IRFqxgaHk60zFLm3qBiOIfKyEEd8IiJFSK5wHIhMRGso2OvyRY6oJBIJAV0G8mnw6RfSXpgqkWydAShab9GQCDWj151l5Yk4xgaHi6NLkSJFFD4RkSIkr3DkIpcYzV6XucL4om74IRFqVO7NOJtu/0Laa+bjjrX8obeooui8RcNUiWj0JuOTGI4hUtSIwiciUoQ083HHRiEDQCIYqOQgRX87AqPRNPp70SOqMFUiOkHywtpr6+fJ/L71sIo7wai6NkVmgmzm4w56DQA2CpkYjiFSpIjCJyJShLT182RenwD6BZZFEX2IWxl68PJn9NqzhESoLYRRjvG5b/h521NIhBciIG39POlcOpO0q0efu63CaF61FA92zOa9RuXFrDMiRY4ofCIiRUTu3B3Ad73q0rFbT/SC6ZLTCRLCVIlmYWxXyQqO/U5QDY/n2mduey28wDp8nUV7zzOX6FanNeujhSKbe4uNjcVDp2Z6j9qi6IkUOaLwiYgUAQXN3XUJ9EYuMZk40WtwzLoNmMRqyYdtsE5WcejQoefed1s/T5aP6khm5HFOnz5daH+e5VhWRstIKx3AmOBzRSJ+0dHReHt7v/B2RUQKQhQ+EZEioKC5u7Z+nix6ryHOiRdJ2TmHHUu/N68vkUgYNmwYy5YteyH7l0qljBgxgoULFxban6flcFSCOQ9ojs5YJI4novCJvExE4RMRKQLyzrUJOg3OmnuAaTR2atEEpHevcPz4cc6cOWPeZsCAAezYsYPk5OQX0ochQ4awdetWkpKSLLwzn9V5xDbtJhi0AMgwFInjiUqlwsfH54W3KyJSELIpU6ZMedWdEBH5rxASoWbFsRtUdLWjo38ZnG0VtPDQ8v2Y/rRq1QovLy9kMhnt2rVj0aJFHIlNRe1YHb1RwL+CO5cvXyYpKYnGjRv/q/3qjQJV3e0BsLW15dq1a9y+fZsBPdpRrbQjm4NX8d2AlnQPrPzUbc/4YhxtAv1wc7AhKeI4tqWrWOznRTBv3jw6depUZOJX0PkRKbmIwici8oLIDcI+dzOFkKv36ORfhqHNqvCGf1V8fX3p378/nTt3xt3dnTJlyhCVaYXKoxkX72ay76qaap4ONKpRif9bsoHEUn5PfZMOiVAzJvgcZ2+mmNvJ3a5s2bJ89tlnjB49Gm9PB3Yvn0WLejWeWmCio6OZNm0aW1ctxdrWjs2xcPFuRr79PA8hEWqWH4uhYaPG1K1S5rnbK6j93P/Li+z3q0AU8BeDaOoUEXlB5A3CztEZ+ftMtHlZ9+7d+eGHH2jfvj1xcXEAVG3aBanCGng075bj5ou2fv+ndkIJiVAzc+81cnQFZ4Vp0KABrq6u7NljSlxdp04dLly48NTHtGjRIoYMGYKNjQ2nb6YjUVgVuJ9/S65o49OCGYfVReI4s/7Qhf9EcPyLTnZQkhGFT0TkBWERkycx8ue8qWzdutW8fODAgUyYMIG2bduiVpti+KzkpmBziVFP/IMs1p28CXIl8M836dyRTKQ6w/xdQdlVRo4cyferdvL11ssoKtfn4sWLT3U8WVlZrFixguHDh5uPTyE1CciLCjIPUyWaRbsoHGf27NnDjt9monx4p3udg+NfVvq4koBo6hQReUFUdbenmqcDzrYKRrbyZVBQPYYMGcK9e/do1aoVUqmURo0acf/+fSZNmkTTDm+RpZeQk/6AdK2EGw9yuJOSg1QCRgGs5BKaVHFjz5V7BZq2Vhy7wbmbKebPVllJdC2TyYhuTS3WuyNxZe0NKy7ezSAq05o7184yZtC7TzyWkAg1X60Mwc7egY+H9jcfn6+HPds2rGNi1wDebVr9uc+Z3igQctV0fDYKGcNbVH1hJrzNmzczZMgQNq9YTNuG/jjbKhjeouprGyeYrdGwPTwOiUz+ws9VSUOsziAiUoQkJSXRr18/dDod69ato3Tp0giCQJ9PvuOU3A9BpkQmAUOeq7BVNXeuRESgk1mRKSuF1mBEKZPS1NuVfg0rmm/ceSsnCDoN75bLYOPPk4mKikKhUJjb+3rrZVaeiDN/1sScZUjvbrSsbppPy62IkPvewVrB70djydYZUErhl/6BFmIxY8YMVCoVv//++ws5R7su3mLAxO9YN3sybf08X0iVhjVr1vDJJ5+wc+dO6tWr90L6+apRqVS0G/wJAz79Tqxg8ZyIwiciUsQYDAamTZvGb7/9RnBwMNkuPszce83CRCmTSjAYBQS9Dv9ypYhMyORh6JwFj5cGyhUJm9Q4fp74ARUrVmTEiBG8//775m1CItSMWXeOHL0RudTUH0EiQykz2f9yhTX3fe6IM5eBjSsyrbu/+XNSUhI+Pj6oVCrc3Nye+/xoNBocHBzQarXsjbjHyNWn0QvSf10GaenSpUydOpW9e/dSs2bN5+5fcSE0NJTp06dz4MCBV92V1x5xjk9EpIiRyWRMnTqVpUuX8s64bxix6pSF6KHX0LisNZ52cpBIuHKvYNGD/HM7bf08mdbdny8GdmbOnDnExMQwdepUDAaDxTrz+9YjwC4N5f0YBIlpHlJrMJpLJeV9n1f0pICD9aPRI4CbmxtvvfXWCwu2B1MAP8DmY1fNad3+zTzWnDlz+O677zh06FA+0ctN2fbTnsjXsrDu3iv30NTq/tr1uzgiCp+IyEuiU6dO9B43GX2ey66apz2tvOBITArqTD0SmfyJbTzJOaNv375MmzaN+zZleXvGnxY3yLZ+nvz52dvorx1ERl4jT573BRh/jMDvR2Pz3WzHjBnDwoUL0ev1T+zv05DX6JR5/SwywSTaz+KIsjfiHh2/Ws6CzYc4fPhwviwwv+46yYhVp1h5Io5fDka/dp6RIRFqNt514I6dz2vV7+KKKHwiIi+RzvWqYq0wXXaCToPd9QO4lSlvDhN4HMFoEgGpYMAuJfYfTX/eLXri2u1TwjMdGbX2jMUNUqFQMGv8+xgfxOfZQpLnrQR02eZ95lLQyCsgIIDKlSuzZcuWpznsf0QikSAIAif+WsonTVwY2LjiU5s5d1+6w4iVp7hq8EDR4kMiMyzP5Z07d/hm2UaLBw54vTwjw1SJGDCN1F+nfhdXROETEXmJtPXzZH6fegxsXJG579ahgiyFVT99iZyHZkaDDoSH73U5ZJ7eTEb4Dhwu/ons6NJ/FIIwVSJGiWnUqDXADyu3kpOTA5hGDX8leyI4lc2zheUoT5ApkUhlCEZLW+vj5k4wjfrmzZv3TMdfELkjvsuXL6PRaBjRrSnTuvs/leilpKTw+c9/YHhovs3RCxaikJGRQdeuXWlbqxxSwXJ0+jqFNjTzcUchebGhJCUZ0blFROQVc+3aNYZNnc8tvT1dA71ZtWoVdlUDuR9xFE3MGSQSCRKJBGdnZxISEp7YVl5PT2u5lPLx+7h1cicjv1vMwvDsfNXg3WXZJGhkSORKk+BKCn4WftzBBUCn01GlShW2b99O3bp1//XxZ2dn4+LiwmeffUZaWhqzZ89+qu1UKhXdunWjVod+XHQIJEdntHCIMRgM9OjRAwcHB+Lj45FWqEuTtwbj6mBHeo7utfOMDD4SwfgflvLH95/RruaLz3BTkhCFT0SkmLB7927Gjx+Ph4cHUVFRJCUlodPpzGZAmUxGdna2RahCQTweDrBx40bGrT6GvEYbi/WMuhw8ondwNSICu6qB6LPTsQ/shlRhbeHlKRP0LB7YuECR+O6777h+/Tq//fbbvz7urKwsXF1dqVq1KkuWLKFp06b/uM3+/fvNc5offfRRvmMWBIGxY8dy+vRp7ty5w6BBg5g6dSpS6ett5PL29mbLli34+/v/88oihSOIiIgUG7RarTBv3jzB3d1dKFu2rIDJFikAglKpFG7duvWv2t14PEqoPHGLUPHzv4UKEzYLzb5aK9h4NxSsrKwEQHB2dhYAoXqbd4RJmy8Ie6/cE/ZeuSdMXH9GKN+4s7B79+4C201ISBDc6rQWPg0+Ley9cu9f9S0zM1OwsrISypQpIxgMhn9cf+HChYKnp6ewf//+QteZM2eOUK5cOcHFxUXYsGGDxbK9V+4J/7fl0r/u76tkyJAhwoIFC151N157ROETESmGJCcnC2PGjBFsbGwsxO/MmTP/us29V+4J/WdvFTzrBQkODg5ClSpVLNqWy+XCnTt38m23b98+wcvLS0hKSiqwzcqfmQS1+v/t+ldisu3cDcG13Qih19ipT1xPp9MJo0aNEmrUqCGoVKpC1/vrr78Ee3t7oVy5csKFCxcslm06GS1U+Xzrc/X3VbJy5UqhzcCPX1vhLi683uN+EZH/KC4uLsybN4+zZ8+azVo23g358q/z/9qVva2fJ6s/7saVvcEEBQURHx+PjXdDnIM+wsa7IcHBwZQpk3/uqE2bNvTp04cPP/zQIvQALJ1p/o23YUiEmk83R2BfrzMX7esXemwPHjygY8eOxMTEcPz48QKL1oZEqBnyy27enzSbatWqER4eTu3atc3L//77b/43Y9Fr7R0pqxCAyv3N1y4co7ghCp+ISDGmRo0aXLp0iWFT5+PWfSKRQunnvuG5urqyadMmJv68CrfuE3EM7Ip7j89QVgksdJtvv/0WlUrFihUrLL5/PDH3s3ob5k1SrTVSoBBFRkbSqFEjatWqxfbt23Fycsq3TkiEmtFrz7L/lgHXbhOYvnyrOavMgwcPGDRoEGPHjuXjvh3M85dKWf6E3sWdQ1HqF14hoyQiCl8xIze7hPgkJ5KX0nVa5ith9LxkO1U0tymRWzH48x+oW7cun3/+Obt27SItLc28rrW1NatXr+bTTz8lJibG/H1bP0+TF2VFJfpDy2jp4/JMfWjm426Oa3zcTT8kQs3gBbto2X8sn332GbNnz0YmkxXYzqp9Z9A8THgqSBUci3kAwI4dO6hVqxYODg5cvHgRf/9aCEIhaXGKOYIgcGb7KhQSU//FsIZ/j1idoRjxpIKiIiUbvVFg31U1eqOAoNdQV5lAq8BHKbmetUDpuXPn+L/JU1BWqo8RCTIMtC8v5eS+bcTGxhIWFsakSZP466+/iIyMJDs7G39/f+zt7fl6yQZu2VTFYDRVbKjqbk+3wKpsW7MMqVT6TKENpooWjqz7YylLP36H9v5lzMczYvUpYtLA1qcR/Tq1JCYxM98xCoLADz/8wPo/N2Lt3RCDYBKEAYGe/PDVJyxcuJAVK1YwatQoEhISGD1vAylykzgbBAFnWwWtqns8y7/ilbFp0yYObFvPnCkTcbFTvtaVJl41YjhDMeLxLPoFxU6JlFxyXfZz0u+zdsNmPu7biU/6tLWI3XuaxM5btmxh2LBhLF68GMcabxJ86DwnNi/nyt5gNBoNa9asYebMmSiVSrp3745cLufIkSMcP34crwbtya7XF4ncCmu5lPl965n3deDAAT766COuXr1a6MisMOzs7FCr1djb2yMIAh2/Ws4146NjaOHrRlhUAkakyKUSmnm70atuadb+9DkqlYrNmzez7kom+67eo7Iygx0zhtO1a1d+/PFHDAYDP/zwA0uWLKHTh59zWu5Pjt74r5Ngvwo0Gg01a9Zk8eLFBAUFveruvPaIwleMyHsDkxh0/NK/Pp3qlH/V3RIpRuRaBXJ0RgSDjsBy9jg6OnIg8pHps7AHJkEQmDlzJj///DNbtmwhMNA0p2cwGChbtixhYWH4+PgAsPfKXVaHnuPagU2oz+1j3LhxvP/++3y+8Rx7YnLMbUqjwwhyvk/z5s1p3rw5PcdMxvvNrtSvXdMiSLygUkN5v+vTzI/IyEhcXV2ZMGECuy7ewtj4fbNA2erTSBbsLA/IaKBc+lVCZo3lSGyauQIFeg1j6jswpmcLFi9ezLfffkvnzp2ZOnUq5cuXfyFlj142s2fPJjQ0lB07drzqrvwnEIWvmBESoeZwVALHNy9HJpPRsNtAmvt6vDYXqEjRkHuzjr+fxYEoy/k9uRSkEglag4AcI4sGNMz3e9FqtYwYMYJz586xbds2ype3fKAaOXIkFSpU4PPPP7cQVxuFjDH17Tm8bgEhISF0HDqR08paaPQC6LX4pZygvb8XYWFhHL2RhrLVcCRyK1PCa4kEa7mUD96sYq7vlzvKAsz7UMqkZMed54ehXTm0dj7nz59n165dnL2nI0yVSDlFBlNXh6KomN+EKpNK+PltfxZvOchlrav5+yauWk4tmkC1atX4/vvvLbw7XzeSk5OpXr06hw4dws/P71V35z+BKHzFlJ0X4hm15gyCTIm1Qsr8PvVE8Suh5LUEyKWg0+qQyC2zt7xZxQk3Gynr505h26JvadCggXnZ/fv36dWrF46OjqxZswZ7+/xzgPv372fixImcOXOmUJN7bGwsc+fOZd3hy3g360qfFnX5/fffsfcO5P+GvcPR68kW2+WiTbyB0r2S+XN3v1I4Ojiy6uRNi/UkRh3uUdsJXTkXBwcH07ZaLQ0aNOC+TVnkLYcjSGQIgmAuYwRguLafao4C8eWDTA4uBi0Olzby86cf0Lp162c72cWQcePGodFoWLRo0avuyn8G0auzmLLh3F0EmRKAHJ2RPRfy31CKGtHDtHgQpko059jUG8GTBxhuXUT2MGmxTDAQse1XZvQKYP7nH9K3b1+zR2ZUVBSNGzemfv36bNq0qUDRA2jevDk3b94kNjaWZj7u5qTZeT0HK1euzM8//8y10A10KZ3FDz98T2rNntyyrcqHfxxn2cL5GHUmM2ju87TEoMOJnEcljwSBzevXMX/SKASdxqIPglRB0HtjcHBwMP/2PvrmF9RqNZWVGdzf9iNZF3YhiQ9HwqP23+7Wheote6BMVkHKLVqWFriwY9V/QvRWhIbz53VoM3Dcq+7KfwrRq7MY8tOeSDaeu2XOmy/FwIV1Mwnw9qJy5covpQ+5o4yzNx8QcvUe1TwdRQ/TV4SFR6dOw+2dC5ncM5BB3dvibKtgZCtv7pzeQ3BwMJMnT+bq1ats3rwZFxcXOnfuzP/93//xxRdfPDFPpVQqRaVSkZCQwIDu7TiwZQ1erk58/U6TfJYGGxsbmjVrxn3XWly8mwmARCbHqMmEjGTKlVKSeukAFZ3ktCsvwcrJnduahyNUiYT+nVsSsXkBzev4EB0Xj8zBHYlUhlGXQ+zOpew6cpYVKinht9KI0ToguFYmNvoa2dGnKG1MJjvyKMb78Xi5OuKYo+Z0mj1RDwxorZzBxgm1zorqpV//3+vf4Tf5fGskUk8fwmJSRS/vF4g44itmhESoWXwo2qIKtnVKHBP7d6Bfv35Mnz4do7Ho45DyjjJydEYxUPYV0tbPk/ebVESSegdJ1AEqKdL5+++/aV61FNO6+9OuZhl+//130tPTGTNmDLNnz+bgwYN0796diT+vJt6jyVON2t955x02bNgAQEbkcT6sX+qJ5vVSdtaPPggCivK1kVesy325G8N6tiM7bAU//m8Aw7o2Mwe52yhkqC8cpH79+hxZvxCn82vxTz2Bza1TfNzQiT++/QSrinXNtfOkciXKSgG4dp2Aa+1W3L9/n4CAAHxtc4haO514dRLITZYRHpo//wuB3ZmZmXw5byVG6b/PiiNSOKLwFTPCVIkYLApkG/FGzU8//YS/vz+bNm2iY8eOJCYW7UWQNyMHBi2qsO350lWJvBxCItQsOxyN4OSF1C+IH1bvxMbGhr59+5oroCuVSjZt2sSxY8fo0KEDMpkMu8a9WXhRy8oTcQxfc5aRa8490XTdsmVLrl+/TlxcHLGxsVSpUsW8/4K2S8/RPfogkZirx+fojaTblUWj0bB7925zkPvAxhX5OqgcmxdM48aNG+j1elq3bs32xd/hcfMgAR5yGjRowPAeLZEYdRb7kiqsqd6yBw0bNuTkyZP4+fkRGhrK799OfPQ7fcjrHtidnp5Op06dqGiVVWhwv8jzITq3FDPyOjLIJNDMLYek/cs5fPgw3t7e3LhxA3d3d1JTU9m4cSNvvvlmkfYlTJVIQBlrpgzrRc+ePZk8eXKR7U/kEbnn3sFawaZzN7mbpjUvG9i4IpM6+NCjRw9cXV1ZsWIFMpmMzMxM3n77bQ4cOMDwbxay9b4HQt4K6w95UvzaBx98QI0aNZg0aRJpaWkcvp5SYIxgSISatSfj2H/1DhKZAhlGDAYjyOTIBAOK06v439utWbVqFUePHjU7o/Tt25dz586hVqsZNmwYP/74IxKJhHbt2vHJJ5+Q7lSZb5ZuIC76GkqPKthUrotErkTQafC8voOxvVrRs2dPbG1tCzxXr2OdvbykpaXRsWNH/Pz8eGfcNNadjgcB+jWq+NoeU3FEFL5iSEFxRsnJyWzcuJFVq1Zx7tw5DAaTGXL06NG0HzKBI9HJRXrBq9VqmjVrxvDhwxk/fnyR7EMEs6AcvZ6E1pD/0lRIJSzsX5+2fp5kZ2fTqVMnfHx8+Prrr+nWrRt16tRh/PjxdPxqOXK/NgXswURhsX67du3iq6++IiEhgfj4+AI9PJv5uDM2+BzZOiNGvZZGFUtxdMX3TJkyhVt6B970ceP05t/4/fffAVi6dClt2rThyJEjdOzYEZ1Ox8SJE5k6dapZELt06YK8Yj3CbeoiUVhh1OWg2b8YmUyKX5teDAgKZFBQvec9vYVSHGL7UlJS6NChA/Xq1aPhW0OZFnobo+RRwL4ofi8OUfheQ+Lj41mxYgXz588n3bES7t0/Q6KwKvJMFDdv3qR58+ZMmjSJYcOGFck+Xlcev3Hm/Qw81U0172i/MOzSbnB5wUizYKSnp9O0aVNuCS40eWsw/+vTnnZ+pZm/+RAzjyYjUViZ3f9z/z7pd6LVaikT2B6POs2Z98VIAEauPo1OeLTdmpM3OBiVZN7GW7hNxcST+YrRzp8/nylTplCuUUcC3hnD/v37ST61jYn9OlhYDg4fPkzXrl1xbD0UWfVHnpjNPI38PqrDPxbefV6eNfNNUXD//n3at29P48aN8fHx4ccT6cgfi1uUSWB4C28+bV/tpfbtv4jo1fka4uTkRPPmzfn000+5oaxETLrpJqg3CigFDe1rlSuy/Xbp0oX333+fFLsKHLwtPHVuyP8yeT1g911Vk6018N2uq5y9+YA9V+6x89JdzsX/c/7VFcducPbmg0L3I8UI57dQoZQV1atXB2Dnzp0EH4nAvv0YEgUHQq6qqebpSN/mNTkbuo2r588g3IlAmxCLt72O7i0Cn5jjcX9kEnszyqIrVYF9V9V09C8D8efJTklixsA2ZGSks+zIDQSJae5JIhi4vXc5f/423xx7l3tOrho8cKvekCi7WsQ90CBx9MShRlNG9u1BVXd77ty5w5AhQ/juu+/IyspCo9XhUL0pgkSKjULG590D8Snt+G//LU/NwpArZu9UvfHl5+9MTk4mKCiIgIAAoqKiCA8Px6lOGzIkthbrCcC5mw/wK/P6e6y+akTnltecd5vXNk/uywQDq36axMcff4xaXTSxd97e3kz7bTOrYxRiTbCH5PWAzdYZ2Hf1nvmz1mBEazCal609GVeog4kCvUW8W16M6Ylk7J5L+5pl+N///kdGRgY//vgjY8aMoefILyFPzOe+y/EA+DsLlLq+l5Sw1bjfPIDqr9k0Vtx84mgmTJWIIFOY+xumSsQx/QYtHRLIUp1g7IxFGCWPnEkUyTGM6dnCoo7fjvM3GbXmDCtPxHE81QFJrtclYETG6uMxNP94AdXbvMu2bduQSqU4OTkxZVgvlgxqzMDGFV/KqCspKYlPP/2UVTMnIRNM/6+X7USSmJhIy5YtKV26NFu3bsVgMHDx4kUub10CRpPjUt7fgsEoPJd3pxiba0Ic8b3mmLLbO+Bsq2BUa1+mDOtJWFgYH330EQ8ePCAgIICjN9KfKXP/P7HlygMu3EkHXs0TcnEjb5wdeg0dq7sQlZyD3iigkEoQDAaQSFHKpNxIzuD8rVSL0Z/RaGT58uXMDA5B6mHypEQiAcEIEgmCTkPKnl+Q3r3CqVOnKNOgPfOP3OFcsozvp0+hfrVK5v3LBANXN82j/RsB7NixgytXrqDVanFwcOC3337jvffeo127dpQuXbrQY9lz5Y65ysHwFlU5usvkLbp161bGffwJZ+/pMGLql/b0BtYumWNhjhwxJ5gkTCM1QQDBaEDycISI0UBcUiapSldsfRsjTVcz+ePheHh44OXlRd/OrWlV3aNIRzRpaWl8//33DBw4EF9fX9YunkOjauVxtlW81IoHufPmOTk5xMTEkJKSwt27d/H19SVbfQObnGQcrWRgNGBQOpjDNd70dqept9tT70cQBBISEpxFQnUAACAASURBVPht9ykm74kj/LHfX0lEnOP7jxIfH8+3337L1lgBq3pdAClKKfzSP/CpLuwnTfY/nkx70YCGdKjlVURH8nqQe75So06ybeF0pi/fyh97TuKiSUCn00LpGli7leXYjUc17gY2rkiP8lo++HouOc6V6RTUip3Xcyzn+AQjWWe2IFzYRlJSEjbeDXHv8bl5FKWUSfmln8npI/f/dfP433z55Ze4uroSGxtLly5dcHJy4vbt2wwcOJCJEydy/PhxypUr2CS+/dwNPpg0k1U/TUIbe4Z3332Xli1bsnHjRuzs7Hh3/HRuKspzI/YGH7Sszrcje5u3PXnyJG+N/hrHDuPI0RsRdBrsbp0kRWKPldIKjVaDstIjJ5Uuvg4sGNycvhNmkOFQjrHvtCsy4cnOzmbhwoX8+OOPtG/fnilTpphDNl4mIRFqdp+/wbo5X6M+tw+j0Wh+cHBxcUEikZCSkkKdOnVo1KgR98o15+T9RzGTuY5Jj1+jWVlZqFQqIiMjiYqKIjIy0vxeJpPh2WkMWeUa5GunJCIK33+YkAg1H60+YxEM75Fylc1f9aVs2bJP3O6fJvtzk2mHrllAC28XZsyYUVSH8dqxYMECZs6cyZo1a+jWrRt9+vShatWqnLyVzRllLQwSGdZyKf5ppzl69Cj27UajE6TIMOCVdo27Ujf09nnOd9RBbm+bi16vxznoIxwDu1rsr5WvO8sHN7T47tChQ7Rs2RK5XE5UVBTly5ene/fueHh4UK1aNYKDgwkLC7OYl8tL+fLlCQwM5NKlS9jZ2TFnzhwMpWsSpkpkY/Aqciq+gVEix0YhZd7DPLK5NfsaNmzI+UQjCVIXyisyGd87iE6dOuHm5kbv8d9yXFodqcLanIMWYPiqkxiQPbNzyT89oIWpEnmjijM3jm5n+vTpNGzYkG+++YaaNWsW0mLREhKhNjsLGXU5JG39kZzrp3FycqJmzZpUr16dKlWq4OVlepDU6XRcTVOwLckVPVLkGGltfQO93sAhfRUMyJAYdBjCfiXxfChVq1alWrVq+Pr6Wvx1dXUtFk48xQX5q+6ASNERpkq0ED2MBlRh2/D1ncykSZOYMGECSqVp5JD3BvL4nFWYKjHfBdLWz5O2fp6MbTqdevXq0bRpU7p06fKyDq1YM3r0aCQSCf3796dRo0aoVCrs7OwI+eNXFm07ysajlzn21294BFZh4MRvWR9umm8xIEPj5kuQp5K9cTqMUjlGXQ6pV48jk8kYO3YsFd7owtxTaQjSR5fu0evJhESoLf5HWc5VcQ76CIk6klmzZjF37lz+/PNPWrdujZeXFw0bNqRPnz5s3boVudzyNvD333+TmJiIXq/nwoULBHQdxMLLAhf3n0NrMCJUeAOJJDejiJE1oWfZunAnq1atQq/XI5VKUZ/bw/z58+nfvz8AOTk5/O9//+PYpk00eftDTt1IZ/LYgbT18+TrrZcxIHvYXsG/t4L4aU8kiw5GYwTWnLrJ8OZVzR6PeStMrDwShdeNcDZv3myRvPtJPG94Q97tG3hZcfDgQUJDQ9mptsdQ1RR7K1VY41W/DeXK2mBjY4NcLuf+/fukp6dz5coVFAoFcrkchUJBgFUZkhUelJGk4q5N4wxVzOdMkCnoOepLZvXd+sQ6iLmJBF512EZxQBzx/YfJ+4QnlUDZ1CtcWDUde3t7kpKScHZ2Zvny5Sgq1bd4EhzStLK5jIyg09DFJZH5nw8rNNfj0aNH6dmzJydPnqRSpUov9yCLMQsXLmTatGkYStfEpeYbeNvpSblyGL1ezy+//EJgYCAhEWpGrT1ndoABMOpyyDizDZmNPYZbV+hWvxLffvuteZQeEqFm8IKdyJ0ezau2q2TF0o+CzMtHrTmD1ghWcglukduxS7nO+vXr0ev1NG3alLFjx7J9+3Ycqr+BX+teNPNxJ7CMknHjxnHkyBHq169PYGAgdbsMZNjvx5AorCyOTTAakEhlCDoNrpHbaFLBjvXr17Nhwwb69evH3Llz6d3bZAK9ePEi/fr1w8/Pj8WLF+Pi4sLs2bNZtGgRhw4d4kqKjBGrTqFH+tQjkd2X7jBizVmzdymY3P0XvxdIOcl9Rv9xmOvSR6bcpzHr3b9/n0OHDrH20CXOWdfFIHn2ESiYKqv8788L6IwSMGhJ3z2PwDJKgoKCcKjRlJ9PpZKte75CuOLo7fkQhe8/zuNPrsnJyaxcuZKff/4ZtVqNRqPBu/eXaCs1MW/zTh0P2tWuQJgqEV9HIwsnDcfe3p4//vjDbIJ5nFmzZrF+/XrCwsKwsrIqcJ2SyMezlvPXXUekCmsEnYbe5TP5fkx/80NEQcIHIL0XgdWJ33FwcODUqVP52nWv2wbXrhPI0RtRSIxoDiyhrruU6dOnszFWahF0/l6j8mQc/J3du3fzxS/rCL+TzYYF3/D+oPdZG2eFIFWglEJ26C/0aFCVGTNmsGrVKtauXUtChZZoKjTOf2AGPT6OBj4K8sfWxpax3y0kqFY5tv7yjVn0jEYjc+fOZcaMGcyaNYsBAwZYlBOaMWMGK1eu5ODBg3z7xzYuJuqYNKTXP97Ab9y4QbsvfrX4zeZie+s0KaFLaTNwHKfk/mgMQqHCkJ6eTlhYGPv37+fAgQOoVCreeOMN5I37cVnzqLbfP4mmwWAgPDyc0NBQ9u3bxwV5NWzrdjQv79+gHN/2rGP+/KKC5YtD0P3riih8JRRBEDh8+DDTpk3jxK0sXLtOQKqwRioY0MZfooe/G7M/GYxSqUSv1zN9+nQWL17M0qVL6datW4Ht9ezZk3LlyjF//vxXcETFk4nrz/Dn+Ueu44/fRB/PjJKLTCKwoE9dPuzchG3bthEQEGCx3M3NjSV/H+eCWkMzH3eaVXFiyZIlzJgxgwpvdCGhaieQWyY1mDBnBRtuOyBRWKGUQVbseeQVHgVJtykvZ8bbASxZsoS5c+eSk5NDva6DiCvXBqnC+qGX6aMRVm4Wl9z5OUGv4X0fI1M/fJvbt28zaNAgsrOzWb16daFVRSZPnsymTZt4//33iYqKYsmSJU88n+vXr2f06NEIXv7YtR1jGok+LHorNeoYVlPBp/3aI5fL86Uya1TREetkFQcOHGD//v1cvHiRBg0a0Lp1a1q3bk2DBg1QKpX/OJoSBAGVSmUWuoMHD1K6dGlatWpFYmIiR2+kY9t2FFrDk9PDibw6ROEr4YREqNl78SbHDu9HlZiNTaW6SOQKJEYd0uN/MPuTwXTr1g2JRMLRo0d577336NChA7NmzbLIlwimlEv169fnvc9+QPCsXuKfRBMSEmjRbzTaBu8V6rjxuDk675zswMYVcYjaxYULF1i9erVF2x4eHly+fBkPD8swkrS0NKpXr06Oqy9+bXoyqmdr+jY3Ce3jImuHhgy9xOQhqtfim3yUI8EL8fT0JDExkezsbN77/EdCYrJo3649ZWwMrDlzF4nCypxF5HzENY4mPJojHNi4IrV11xg1ahSjR4/miy++yDeHmBdBEPjiiy9Yt24dTZo0ITg4uMD1MjIyGD16NHv27CEtLQ2JREKpms2xqRxA3ZrVqORTg3a1K9DWzxNBELh37x4qlYq/w+P4664TBkmuWXYrneqUp3Xr1jRp0gQbG5sC9/f4aOru3bvs37+fffv2ERoaiiAItGnThqCgIFq3bo1CoaBfv34YDAbWrVvHxeSny9ZT2P5EihZR+EoweW+6Shk0qerGoTypqKoabnH3758pU6YMc+bMoXbt2qSmpjJq1CjOnj3L2rVrSbLysrhgF/99jB/CEhCkihL9tHv37l3atGnDu+++yxvvDueIKqnQm1rekUnu3GruuWvgZYVvq168N+FbOgZUNm/v1aA9/cZ/Q/s6lvkb16xZw7x589i5cyezZs1iyZIlDBw4kC+++IILSYL5/22uYi4Y0NyLIe1YMJqYM3Ts2JG3336bTp06UbfzAOzajUFrMIVNuAv3iYm8io1vE4wCSCWgUZ1AXjEAicIKa7kUn8QwroVuYPXq1TRq1OipzpUgCHTu3JmTJ08SExODk5OTxfLTp0/TrVs30tPTMRqN5OTkMHjwYPr374+dnR0qlYqoqCiioqLM721sbPD19UWo9w637bzNbT2tC39aWhqHDh0yC92dO3do2bIlQUFBtGnTBl9fX7PZ9vjx4/Tu3Zv33nuPadOmPVHoCyKvI05JvmZeJqLwlVBCItTM3HuNSHWG+TuZ+hqS0r7oBVPMn/PVLSSE76NJkyaEhobSo0cPvvnmGzw8PFizZg2fzP4D+3ZjLZwSwlSJ+ZIal7RYoVu3btG6dWsGDRrEpEmTnmnbgnJ+Dl950sLRAmDY8mMgV1rcKHNycqhevTorV66kefPmANy7d4/vvvuONWvW8MEHH5Dt4sOWGAMy1/KPdmrUYzy8DE3MaTZs2EDz5s1NbveLd6GzeyyLidEA0keeg4JBT+syBhS2juxbPZ821T2YM2dOoZXeC2Pz5s2MHz8eLy8v9uzZg729PXsu3+WLn1cQeWgL2dGncHV1JTU1lWrVqnHv3j00Gg2+vr74+Pjg6+uLr68vqfYVidPaEFSznPn8PY0TiEaj4fjx42bz5eXLl2nUqJFZ6OrVq5fPY1IQBObPn8/06dP57bff6Nq1a752n0RWVhY7duzgx9AbJDr7mb8vKDxF5MUihjOUQApKhmyjkDK0XS327NnDpUQ9tcrb89VnQ9HpBjF9+nQUCgXR0dH4+fnx7sff4FzjDVp8MImT8aYch7lu6M183Ak+fROtQUCCkfj7Wflc7YsrL8LcFBcXR+vWrRkxYgQTJkx45u1zw0RyCVMlYpBYuvoD5uKred3/f/nlF2rXrk3z5s3RaDRcvHiRtYcucYYqOPk1Y9asWRiNRqq2eAtjkyEYc0sWSeWUCwwiI/MmAwYM4OeN+/l8WxQ6O/dHI8NcpDLznBqYKq+HJ2hJPL+RVj0/4N32jZ5Z9MBU1b1q1arY2toSEBBApabdULk3BbdauHXzxevGbuKO/U3Pnj0ZOXIkvr6+eHp6WvQtJELNN8HnyNGlsu1SolnkCnLhNxqNnD9/3ix0x44do0aNGgQFBTF9+nTeeOONJ5pB90fc4eyO1SRdOMCJEyeeOhBeq9WyZ88egoOD2bFjB3Xq1KFSQBuSBYM5FVxYdNJrc828rogjvhLI43M9iswEOpcXmNi/A15eXiQkJLB8+XKWLl2Kvb09H330EdWrV2fOnDmcuavFqtVwkCuRSQSkUik6g4Cg19C9ugPpUifCopPQGwXzTbO4Z5V/VAooGa3h35ubYmJiaN26NePHj2fs2LEF7udZhTWv16cMgeEtfYi4k2qug2ejkPFz7zo4psfRrl07unTpQnR0NFeuXKFS065k1+uLUSJHYtDheOUvZo4byLJlyziW6YqidmcEJMgxkh36C752GuLj43FrP5J7jgX/rx6v9PC4MD7tuTMYDERGRnLy5ElOnTpFaGgo169fp27dumRkZGAI6IW+clPz+k5CBk5xYRxaO99SiB+i1+tp/+VvXJdZhjDkxqW+6eNGFWWGWegOHDiAm5ubeUTXsmVLnJ2dn+r/MXrtWTQGAamgZ0HfenSqU/6J2+j1eg4ePMiaNWvYtGkTbm5uODs7k5CQQHp6On5+fqQ0/JBM60dpyPy9nPh7TNHV2izpiMJXAsl7M1XKJAzy1hN14C+2b99OjRo1ePvtt+nZsyfly5dn//79LF26lJCQEHr27MnNyl1QZT5KOqxIjKJloD9Sg5bdsZp88V65yKQSFj+sI1dcCIlQs/ZUHIdViTwWTfDM5qaoqCiCgoL48ssvGT58eL7leyPuMXZdODn6pxPWvPN+y8JiTOEOBgNKpRytQUDQ6/AQ7iONOc610D+RSqW4uroycuRI3N3diY+PZ320QKrnI6/N9xqWZ/pbtQEIDw9n7I+/Eq+1pU+rABqXs2Xo0KG4uLiQYl8Bpw7j0AkSBL2pErpErkAQjI9ybj6Bgszbt2/f5tSpU2ahO3v2LB4eHjRs2JCGDRtia2vLsmXLOHXqFHq9nk4ffo7K/U0E6aMcoNZyKfP71st33pKTk+nduzfpjpV54NcDrQEUUoH6dmmcTrc3eZzqNGSf34GTe2kqKDJpVM4Wd3d3lEolSqUShUJhfv+kz19sDOeSxsW87z71yjC5Sw0UCgUymcwsynsu3+WP3SdQHdnO5d1rAVMWFgcHB+zs7NDpdKSlpWFtbU3ZsmURmg8nq9SjUaMUWDLg6dILijw7ovCVQEIi1IxYfQa9AHIpLOxXj3Y1y6DVagkNDeWvv/5iy5YtVKlShV69etGrVy8cHBwYsXAH53LczHM8EqOBtF1zkEqluLQciMbmscS5eUxiULzm+37aE8niw9cxGAv++StlEn7p93RCffXqVYKCgvjmm28YMmRIgesM/3U/u69nmz8Xlm/R3LdD0RgE0w3QWGCLJuejiW0qYWtrS6dOnejatSuHDx9GoVDQvn17orNtUXm8iUReeK3GI0eO8OWXX5KYmMgHH3zA3LlzyczMRFKuNhUbdyDq0FYkEinKCrURtFk4NOhuCm0oBKVMyk9vVcchNdYscqdOnUKr1dKoUSMaNmxIo0aNCAwMxNX1UaxceHg4gwcP5vz584BJJNoN/oTbrvXQ2j6aZ/S3SqZG5iUSEhJQq9XcuHGD6OhoBEHAzs4O97qtsa4UgKdwH72bDzet84RRPJyflGGgseEq7tq76HQ6tFqt+ZX3c973OTk5xMfHo/OsgUuXT5DIrRB0GjJD5pMZdQKtVosgCCiVSux8m2Dfboy5oG7S1h/JjjbFYspkMuRyOUqlEisrK5RKJXK5HFmFAIxvDLGYPy1O18t/DVH4SiCPmzq1l0NoJI+jVatWtGzZEn9/fwwGA4cOHeKvv/4ymWfqtCarfn8EHgmZ9sY5ytoKJLrVBaks/3wQmGO/BL2GZe83oV3NMrxqQiLUfLTqTKGCksvT3HguXbpE+/bt+eGHHxgwYECh6/Ue/y1nrGqZwxqGNK3Mxfhkjsc+QG80mQh/esuPmJgY5pzJsDjPZgwGkGA61wYdb3KNuGN/c/LkSSpWrMjYsWPp0MFUuLV///44Ojrywdc/cylR90TzqiAI7N27ly+//BKdTkdGRgbx8fF4eHhw584di3VtvBviULcj1g/DXnIzuOQivRdBwoapBAQEmEdzjRo1omLFigiCwIMHD0hISDC/1Go1CQkJREZGsnPnTurUqWNelpmZiXXVBjh3+cQUY2rU09gYQV13GR4eHly9epWlS5cyffp0PvjgA6ytLQXZYi77MaecZxGV69ev8/bbb+Pr68uyZcs4eSu7QJO1wWBAp9Mx5e8Igs/eNX/fwtuVCq52NPf1eOKDVN4HHtG7s2gRha8E8rin2+R2FTDePM+BAwc4ePAgKSkptGjRgpYtW9KqVSuqVavGR8tCCb2pf9SIYKSJUzrH0xworKyjIAhkRx1FacjhfsQxRnZvxsyZM1/OQT6BwX+c4kBknppmD0emgiCA0YBEZsqROcjbwDfD3y20nfDwcDp27MjcuXPp06dPoevpdDrKlSvHj2t3E5UqRX3rBqG3BHPdu1yyLuzCxcWFnPIFhwFo76mQu1VEKldi1GsJyDpHB38vpkyZgkqlwtHRkQ0bNjBq1Cg+++wzPv7440LTzBWEIAhs2rSJSZMmoVarSUlJwca7IdaVAsi5EU529CmkUilyuZzyjTsheFYnNeke9vW7meZ8BT0tFLF422SRlJRkIWwJCQkkJSXh4OCAh4eH+eXp6YmHhwdSqZQFCxawceNG87KMjAzqdx+Mc2AX5PYuNKhVjf6NKtHK15UvvviCv/76i82bN1OnTp1Cj+fjmcvZEHaJNi3e4HSqwzOn+Nq0aRPDhw9n8uTJjBw5ssD5xcfJe30pZBIMBgNGTGWpmlZ1pV+jioXuW4znezmIwldCedIFFh8fz6FDh8xCmJ6eTtW3PuauSy14OBKpZpNJ8p0bJDk/Oct92pntPNi3BKVSiVarJSYmptAsHi+LwctPcSCq4GKeurhwNPfvoEy+TtKFA4SHhxeYyf/06dN06dKFhQsX0qtXryfub/rybSzddhhpQhTxJ3bg1HpYvgoL6LUYwpaRkpqKS+dPkCisEIwGEASzECsfxKH3eOR0UsXFCs3pjfRrUYvBgwfz8ccfExoayrp16546GXMugiCQlZVFSkoKycnJBAcH88uWwzh1+hipwtpsstPdOIeDgwMSiYTs7GyMRiOe9YKwqVIPd0My3tZZBQqbh4cHbm5u5qToj3Pnzh3q16/P3buPRkrthkwg2qMZRonc/HAik4Dj7ZO43TlOcHCwhbk0L0lJSQwZMoS7d++ybt06vL29n0lUtFotn332GVu2bOHPP/985vOZW3po5+GTZDtXtVhW3J29SgKi8In8I3FxcXwafJpTKY/cu3VX9uHqaEdaucYW83jwKIHx4/MbAK6uriQlJfEqCYlQM2LNWVPhWDDfVI26HB7smE1m5HHANB+jVCr59ddfMRqNZGZmkpWVxdWrV1m1ahVt2rShdOnSZGZmml9ZWVkWn3Ue1bFrOxpJHvEAcOs+0ZS/06BDkRxDmcxovG2ycXNzI8WuPAlSV3wc9KhUKk7eTMNFoyYuLg63bhNNophrVtZrGN/YhUVfjaBmzZp8/fXXGI1GUlNT871SUlJISUkhVutAoswV4e5VsqNPmr9XKpWUKlXK/Equ3MZi9OlvlczQuo4WwpYrgs/L/fv3qVq1Kg8ePADgwIEDDJi7Hblfm/wrC0YW969faA3I0NBQBg0aRP/+/fnmm28KFdvCuHnzJr1798bNzY0h/zeH8Ls5zzwC2717N4MHD6bD0IkcMfigEyzPUXF09ipJiMIn8lQ8bh6d0q4iey7Esf+WId+6gkFPdmw4Ged3WYheLp0//Jx6nfo/083EYDAUKCz/9nNKnb4IZR6N5DTqWNKOrCZLdTLfvu3s7OjWrRu2trakpKSwc+dO3nnnHerWrYudnZ35ZWtrm+/zvGP3WH/unrmt8tkxyC9s4qbBiSynimREnyHj2jEApFKp2ekhr+ODwWAgOTmZrKwsbLwb4hz0EYpSeUoQRZ8iceO0fzyHEokEG59GeHT/DEGmQCmDSa286FS7HE5OThYCsXz5cr78JRiH9mPRGgG9lnl9AuhWv9JT/b+elaysLNzc3MjKykKn0+Hv788D23LYtx9rGvE9RkFzdDqdjq+//pqVK1fyxx9/0LZt22fux65duxg8eDCffPIJNdv1ZWxw+DNVjdBqtXz11VesW7eO9957j02bNmHj3Qjb2u24Izjly3UqOq+8GsQAdpGnoqBA4JuZUvbfijat8FhQM5lJ6G6cy9eOjXdDLjoEcvlEHKuORuMauRVFwjV0Op35pdVq0Wg05ldOTg46nQ5ra2tsbW0tXnZ2dtjb21u8coXH2dm5UGG6mAwzDt9DoxewVkj5aWhbclo5sW1beXbt2oVGo0GvN81pZmZmosqyoVbTtzny+yy2bdtGUFCQxXHlNRWmpKSQkJBASkoKiqQM5BJb9IIUmWDARZeA0s0NeUoKKfeOkaJP4YGrKw8ePEAulyOXy82jy9TUVHQ6HUaj0WKuTm5vGW9m712f0b9upl3N0ri5ueHu7o6jo6N5JCYIgvk1efsVVp+MB0BrgLWX0vAqY6Stu9K87uTJk1m9ejUHdu4k3uhMmCqRC3vXs+TrX+lUQP2+F4GVlRU5OTkIgsCcOXNISEjA398D9cmVdB46AQ1W7LlyF4MAgk6Ds1YNmEQjJELN32ejORi8mHLcJzw8PF8O039Cr9czefJkVqxYwYYNG7CysuK97xejf1gB4mnqBMbGxtK7d29ycnIA2LZtG15eXoQf3Uag5g5vBH3AyTRHs/NKMx/3QtsSKVrEEZ/Iv+Zx79DcJMtKKbzvK+Brl0NOTg6ZmZlcuXKFbdu2kebTwWJ+y+7OGVxjQy1u0mDKrJH3pdfrLYQx79+87yUSiTnuKjf2qqC/CoUCvacfWpcqOGbdxiX7tnmZTCYjNTWV6OhoIiMjsaoSaDZNSow6qt47jOTOJbPI5b4UCoWFqTD3pXHzJc2uLD72egI85AWu8/iIKy9ZWVlmt/2FJ5O4Zsx/8825uBvt8TUYDAazaDs7O+Pp6Ymnp6dZEOOc6nDZWMbCazR3NNPC25mhQ4cSGRnJ9u3bLcRDp9PRuXNnfH19mT+/4CDy50WhUKBSqahRowalSpWifPny7Ny5Ezc3U5hM7hydY9ZtZo1/nxMnThCVac3INafRGU2B+AsHNKCdX+mn3mdIhJo9F+II2bkNFDZMGNCF05t/488//2TYlHlsvOP4RIeY3D4Z71xh7qcfIAgC9vb2ZGZm0rRpU95++2169OiBu7u7xfqi88qrRRQ+kX/N4+bPIU0rk55j6Tp/9+5d5syZw6+//krp0qUxlK6JpOmQpw7kfhYEQTC7lBckioX9LWxZTEwMR44c4Zp9bewDOpv384abjvdr2eYTrpdRhzAkQs3w1Wcw5LlqZRL4tEkp3DR3iY2NJTY2luvXrxMdHc2tW7ewtTUFa1tVbUBGrXdM3qSPxVj2DijNqUUTKFWqFGvWrMlXeQMgNTWVpk2bMnToUMaNG/fCj83BwQF/f3/OnDnDm2++yfbt2wtNfzZ37lxTfciu44jQPxo5PYv50JTI4QxaA4AASBD0GmpnnOWP6eNxdXV9olCFRKgZs+4cOXojRl0O97fPorYrDB06lO7duxfqeCPy6hGFT+S5KOzGEBMTw08//cT69evp378/SUlJxMXFsXPnTk7f0RTbp96UlBTWrVvHr7/+SnJyMkOGDMG7RU+mhcaTozNiJZOw4CkD24uK4Qt3sDvuYTD2P3gIGo1G7t41CeL8Y2pOPngU6yaTgEEwVWkXjv5O3UvVuAAAIABJREFU5zrlmTlzZr5kzHmJi4vjjTfeYOHChXTv3v2FHpdLrRZQugY+DgYOr1vwxAcJnU5H7dq1SbQqg2vXCWj0hRecLQhBEOjxzVouZJfKt+xpxNNgMNDnp02cTn30gNA7oDQ/vFv/H/ct8uoR5/hEnovHkypfvnyZ77//nt27dzN8+HCuXLnCp59+yr1799i7dy/29va0LUWxEjxBEAgLC+PXX39l27ZttG/fnu+//542bdqY59bc3d2Zs24X8qRo2vp1eqX9LZN4hmYSGyo37vSPDw9SqZSyZctStmxZsl3UXHxshH49/jZ/L5vJxP4dCswv+jgVK1Zky5YtdOrUibJlyxIYGPhCjikkQo1D+7FIFNakKqQcvp5S6HFlZmbSp08fvLy8sEtNpZ4ihtKBLZ/6QSorK4ueY6cQLXgicXNAyJN4+5/m3gRBYPfu3UycOBFl5fooa79jLjgb5F+u0O1EihmCiMgL4Pjx40K3bt2E0qVLC99//72QkpIiaDQaoVevXkL79u2FzMzM/2fvzMOqqro//rkTgyDIJA4IKoOImoioKM7hPKWmaaVWatlgk1lWb/NrWpqNDllmmWJazmIKKioyCjgwqcyjjDLDhXvvOb8/bly4DM5avT++z3MeLmfYe5+zz9lrr7XX+q6/u4lNcO3aNXH16tWis7Oz6ObmJq5bt04sKCho8fz8/HyxXbt2Yn5+/h3V5x+XK763P0b0j8u90yaLoiiKkydPFv/444+7bsPBgwdFGxsbcf/+/bddzr59+8ROnTqJaWlpd9SOxlj+2znRYcVh3fbe/phmz7t27ZrYv39/8amnnhJra2vF7OxssXPnzuLBgwdvqZ6UlBTRbcwcsevyfaLDisOi/Rv7xHEr94ufH718076JiooSR48eLfbo0UPcv3+/KAjCPevTVjxYtAq+VtwxBEEQAwICxFGjRokODg7id999J1ZVVYmiKIrV1dXipEmTxGnTpolKpfJvbmk9VCqVeOjQIXHatGliu3btxIULF4qhoaGiIAi3dP3ChQvFTz755Lbr9Y/LFV3f+1N0WHFYdH3vz1saKJsbVAVBEG1tbcX09PTbbkNDfPvtt2LHjh3F8PDwOy5j3bp1Yu/evcWSkpK7aosoiuLKnw/qhFFLzyc+Pl7s2rWr+PHHH+v1V1hYmGhjYyPGx8ffsI5jx46J7du3F3vN/+imQrbhs09NTRWfeOIJsWPHjuKmTZtElUp11/fbir8XrWt8rbhtCILAgQMH+PTTT6msrGTFihXMnTsXhUJLwVVZWcm0adOwtrbm119/1e3/O5GSksJPP/3E1q1bsbe3Z9GiRcyePZu2bdveVjl13JxpaWm3FRjd2AP2ZtkfWkqgmpmZiaenJ7m5uXfkWSkIAsuXL+fIkSMcOXLkrlh0RFHkpZdeIjExET8/v7vq57fffps8uS12nj7NmixPnz7N7Nmz+fzzz1mwYEGT63/55RdWrlxJeHh4k/RCoijy+eefs3btWqRSKVWWTthOX4FabD4+78jFTF77PYYajYhEFFCeP8RzgzuxbNmy235fWvHPxK0T+bXi/z1UKhXbtm2jd+/efPrpp7zzzjvExsYyf/583aBXVlbG+PHj6dKlCzt27PhbhZ5SqWTnzp08/PDDDBo0iKRqYx75ry8fb9nPwoUL72gQ69OnDz179uT333+/rescTVW6FD8AwclFBMTntXh+UGKBLlFwwwS0586dw9PT846Ent+FDAa98AVBKSWEhITcNXWcRCLh66+/RqFQ8OKLL3I3c+jg4GDmDu/Fx9N6NxF6vr6+zJo1C19f32aFHsCCBQuYNGkSc+fORaOpJ1WoqKhgzFOv811YPkorZywsLEgI2MXGJwcy38uhidALCQlh6coN1PzlNitKpBh6TMNk8Nw7FnoB8Xm8fyD2hv3digeLVsHXipuiurqa9evX4+zszC+//MI333xDREQE06dP1wusvn79Oj4+PvTp04ctW7Y06x34IAaBS5cu8fLLL2NnZ8fWrVsZOucFJq4+RKSRO35XK3j5t/N3Vf+rr77KV199dcsDvSAIbP3kNTrJynT7ajVCfTb1ZjDM2QZjxV/PT13LQHszQCv4bpc3EmDX2QRe2BFJgYUbZX0eJfJa7T3pC7lczm+//UZERARr1qy5ozJqa2uJjo5m0CB9cm5RFFm1ahVvv/02J06c4OGHm6Eva4A1a9ag0Wh4++23AUhMTMR90jwSbYYhcx1N++kr+GZPIHZ2doxxs9UTspWVlbz66qtMnDiRorhgRI1ar+yNp5Pu6DnVae7bwtLv+r1rxb1Dq+BrRYsoLS1l9erVdOvWjYCAAHbt2sWJEyfw8fFponHk5+czevRohg0bxvr165vNCnA/B4GysjI2b97MwIEDmTRpEhYWFkRGRrL8q1/ZnWnC6aQi1H/lIapWaTh1+dqNC7wBJk2aRHFxMaGhobd0/k8//URRUREZgTtRSLTC8mbeg3VMOfO9HHC9HsKJbV8Cdyb4Ll26xNJP1yORa8MDlCoB34h0XtwReU/6om3bthw+fJhvv/2WP/7447avv3DhAo6OjpiZmen2qdVqnnvuOXbv3k1oaCh9+vS5aTlyuZxdu3axd+9eli1bhoeHByVGHXXJkTXIOJtU1OS6wMBAHB0d+f777ykrK6Orogx5YiCiWJ+4ShDBNyK9ybUtoaqqikOHDvHR5l16mrtveHqr9vcPQKvga0UT5Ofn8+677+Lo6EhsbCzHjx9n//79TWbkdcjJyWHkyJFMmTKFtWvXtmiG8w1P1xsE9ocl3FU7RVEkODiYp59+Gnt7e44dO8ZHH31EWloaH330EV27dtUzGdZBIqjYu2EVMTExd1SvVCpl6dKlfP311zc999q1a7z55pvk5+fz6Qtz2PDkgGZNbM2hTivxXfM2u3fv5tSpU0RGRt6W4Dt27BgDBgygg1iCkUL7uRvJpURHn9dycKJvSr1T2NnZcejQIV544QXCwsL0jt1MswwODsbb21t37tt/nGfkE0vJzMzkzJkzdOrUPBl1c2jXrh3e3t5sPHgWQ+95OHRqj5Fce9+NJxtlZWVMnz6dMWPGkJeXR5s2bVAoFCQnJ1N2dgfmmjL9wm+i4Ofm5vLjjz8ydepUOnTowLp16+jXwQhDmfZ7MJBJCU4ubNX+/gFodW5phQ4ZGRmsXbuW7du389hjj7F8+XKSlSY3DDZPT0/n4Ycf5plnnuGdd95psezGGRGkogbV6e+xVeXxzDPP8Pjjj9OuXdNg4uaQn5/Ptm3b2LJlC6IosmjRIubNm4etbdP2NXQSkUvBqCSN0ig/hnVvh7+/P++99x5Lly69rbx1oB00u3btysWLF+nSpUuL540fP57Q0FC++OILFi1adFt1NMThw4d5YeUm6ODKlpXLbyle7YcffuCFF17Ax8eHw4cPc/JKIduPR3Jix3qGDhvKhTb9UKruLYOOn58fixYtIjg4mO7du2vZTX6L1tXTHLvPrFmzmDZtGrYeY3RMKFJRzYYnPBnfp/Mt111SUsKoUaNIrDLGcoo2ea2RXMLCoY66OkG7flqZHMk3by1GrVYjkUiQyWRYWVkxZ84cnnjiCTw9PTmekM+LvtHUagQMZFLWP+7BGDdbHWnDUGdrOmoKOHjwIAcPHuTq1auMGzeOqVOnMmHCBCwsLCgtLeX7wyGciMshs7iKqnbdde1tJan++9Aq+FrBlStX+Oyzzzhw4AALFy7ktddeo2PHjnpCQ4aGmR3LmNS3C46OjnTq1ImUlBR8fHx49dVXb0ph1TgHniovGbPQjTg4OFBUVMTly5eZMmUKixYtYuTIkU0EkUajwd/fny1btnD8+HGmT5/OwoUL8fb2vqmjR2N2maioKP773/8SHByMsbExTk5ObN++nY4dby87/KuvvoqRkRGrV69uts5N+0/hv+1rVr4w55aCw292D8/+HIooU9xUUImiyIJ3vuBIdAqDu7Xj4MaVVFRUsGzZMgICAti6dSsjR468b7yR69ev57vvvuPkyZMs3hRAbG09dVcdn2vdPfj0bI+dnR1BQUFsuVjOjogs3bkNBcPNqMN2nb7I3g0rqUoMx2zUItq4T9Adf2KAHStn9NVSlO2IpFZAlyLK+HoSTz75JM8//zyurq5NyvWNSAcRXfLYozHZvPzbBa22rFFB7hUGWqt4btJghg4dSlZWFiEhIQQHBxMSEkJqaiqenp4MGTKEtq5D+Pmq9L7Q9bXi9tAq+P4FuF8DVHR0NKtWreL06dMsXbqUl156Sc8VvLELfqfKRKTRf5CUlERpaSlqtRo3Nzd8fHxwcnLC0dERJycnrlYaEZJyXa+9jbOeC1mXML/gi0wmo7q6mry8PJRKJVKpFIVCwbRp03h4/qucz1VSeiWc4z+vo0OHDixatIg5c+Zgbm5+1/d/8eJFPvnkE44ePYpEImHz5s1Y9x19y886OTmZQYMGkZ6ejomJiW5/Qy1HJqrZNN/rrvutcV+0pC2o1WomLn6LK1beSBSGGMik9LSQcGnfBh52bc+6dev01tLuB0RRZNKkSQQGBjJwxiKyHcajbmaUme/lwEL3tnh5eZGdnc2UJe8SbzEIUaov3A9EprBsb1yz4QcB8Xm8sP0cKlGCqFJS7PclU6ZMIcroIZQqAamgok95JDs+X8GctXuJrakXwo+4WfDVvCHN3sOesETeOnAZNVIMZBIcTdVIU0I4f02JQW/9dEdyBOyzThAf8BsymQxvb2+8vb0ZMmQI7u7uep7NrSTV/wy0Cr5/OBpqXUYKKd/O8birD0YURc6cOcOnn35KXFwcb7zxBosXL9YbuJuru+GAc/HiRcaOHcvSpUvp2bOnjhA5OTmZpGpjGPI0EoURoqqG2lObEDIvIveYjrzvZCQSCaIoUhmxh4qQnYiiiCAIurQ5gqBdeDJ2GqjLiCAT1bw13JZnJ3rd8X3fCHFxcbz22msEp5djM+1NkBnc8ox82rRpTJw4keeee06371aF1O1Aq/GFIMoMUEhENjw5oEnbysvLGTNmDMnt+mPST59WzUAqsv6Jptfca5w9e5Zly5ZRVVVFcXExJSUlmE5ajlF3fWqzuudbcOEEe/bsoW/fvhw+fJj3v/+DiIwynWBQq9V4Pvc5Je376q6te54qlYrx7/5EsqyeKmyCYxs2LhqlEzDuHQx5afoIKisrGfDIQjK7+FCjaZnX89y5c6xfv56jhWYY9Rmnd0yGBk/TciLL26KR6Hsse1nW8Nns/tjb29+XzBWtuLdo5er8h8M3ot4hRKkSWPHVzyT1M2P8+PG3FYcliiJ+fn6sWrWK/Px8VqxYwZNPPnlDIuDmcvCdO3eOyZMn89133zFr1qwm1zQc9CUKQ554478sH+XAmpPp/HFJq/FJJBIGDBnOyHGuGBoaYmRkpEu8Ghsby9atW6nt2g+pQkuorJHIyVI1z9J/L9CrVy/8/f15/sdA/kyuAm4t/xrAK6+8wksvvcSzzz6rG/CGOdvgG5aqS2B6L/KujXKxovTPrxgz/2WSgg4xxm2y3vHs7Gy8vb3Jy8vj7e9W8EuSBg31g3OtILml+7ld1AkYJ1M1v3y6jLCwMORyOZWVlcjlchQKBT3kheTKJdSoRQxkUrydrHh8oNZ0+NKGEAwNDdm6dSthYWHY2toyuZ+2bFEUWbp0KaYVoOxcvx45zNmGnJwcZs6cSbKyDUYPv6Bdz1NImTHEDYCRzpakhxzitZc/oUePHsTExPCfp6eiat+zicZ15GImPx8LJ/7EXnKj/GnTpg2VJl0wdB2p8wgFrVdoSmYOY+1MyTbuSkKxiOovIbpwkjcODq0a3L8FrYLvH4yA+DyCG7hfS0SB9sJ1/vhD65RhZWXF+PHjGT9+PCNGjGg2lYxareb3339n9erVSCQS3nnnHczdhhGcXHRDIuA6NCShPnv2LDNmzNB5rjWHYc42/B6VpdMSxz3kgK2tLeP6gl/Cdd3+1+dM1JUrCAL79+/n7bffJi0tDVdXV15dvojPzxbqzn8QSTtnDHHjVIZWwxVVNeRdPI1mcs8bZisYNWoUcrmcgIAAxo4dC2ifmWPeGcx6DOTZKcPvibCJj4/HpjaXHa9Nw+Grl4mJidG5+F+6dIkRI0YgCAJvvvkmmz94iV5j59LOcxLnc6qp1Qj35RkGxOfxkm8UNRpRu2aWUYG5mRkTJ05k0aJFDBw4kIKCAry8vJg3bBiSjm5NTHzHjh2jqKiIs2fPNnFO+vrrrzl79izBwcGEZ1XrBFZMzCUWbPejokSGPO88y4dYUSCzZpizDaIoaLMmHNqGg7yMnTt3MmTIEE6ePMmcOXNYu9OfOmf2jIwMXvn8R6KN3JEojBH6zKQ6NYWSlEik0lyMondi3n8iRQobNKKWwPrTl+frmVlbzZb/TrSaOv/BaGwyQxTokvYnlVfDyMrKorS0FDMzM0RRpLy8HFdXV8aNG4fTiOmk1xhTm3GJfd99TMeOHXnnnXcYP348xxPydeZLRIGu1YkMMsrDysoKS0tLLC0tm/wOSillZ+B5jvz0BdtWLdcN8C2hpQGh8X6VSoWvry+ffPIJxcXFyGQyNm3axPTp05FIJH/LwFJXp2s72PzBS4iiyK+//oq9vX2L7dmyZQt79+7Fz89Pt8/BwYGAgABcXFzuSbu2bNlCYGAg27dv54MPPqCoqIjvvvuOo0ePMmPGDExMTLCxscHCwoJ169bpQk/q2tzWSNHEm/JWnkPj60RR5OLFi+zduxffK2rU3b111zzm0YHPZjVNyxMbG8vo0aPZs2cPw4YN0+2PiorC09OTI0eOMGHCBL1rDh06xJIlSwgJCcHBwQHQTpCe/+9GjpZpY/MkgooNT3gy4SE7BEFg4Qdfc1LpgERuiIEU1j/hqXevr6zZwoF8S5AbIKpqKDjwGUZd++klRraWVjHI0YapA3swrndHvWfRKuD+d9Aq+B4Q7uTjCYjPY8mOKDRCfRfZlMRjlXqCiooKiouLKSoqory8HKVSiSAIemtjEkHFqwPMeOXR0brrmxOmPQvPQvYlrl+/TklJCeXl5boyFV09dOU1N5jcCaqrq9myZQtr1qzBwMCA/Px8XnzxRd59991m1xr/Lmg0GtasWcO6det4/r8b2J1lSrVKg0IqYaiztc5cV11djYODA0FBQfTo0YPs7Gz69u1LQUHBPVvvWbJkCT179uSVV14hMzOT/lOfYvD0ZwjcuRFJTgwWFhasXbuWmTNn6tUZEJ+Hb3g6wclFOs3vZmuXDZ1z6mAggwG1sYTt2YwgCMycORMH7ylsOF9F9S2ERPj7+zN//nyCgoJwdnYmPz8fd3d3TExMSExM1Kt7b0g8+zZ+ysGNKxk4UMtnWlxczOOPP85FeQ8955L5Xg5YpATw/vvvYzR0PibuE/WONVxbbfzuV134kzZl6UiHLUZotGbX6nX5v41WU+cDQEB8Hi/sOIdKkLAjNIWRBin0sQRzc3PdVpfFu247nVRMYMI1hnRpQ3B6JQLaxXUrVQEVFRWkp6eTl5dHx44dcXFxoaKigsTERBQN1sZEqYIiRXu9tgxztmFHREa9MJVIyVSb0LakhKqqKsrLyykoKEAqlaLRaGjboLxagbtaJyotLWXjxo189dVXODs7o1Ao6Nq1K4cPH6ZHj+YTqf6dkMlkrFixAh8fH2Z/9geCk1ZbUQkigVcKCE0u4tu5WmejZ599lnc37MJt9AxkBVfx8vK6p04OkZGRzJ8/H4CEcgVtfF7kYrUh7Sa9xmSLfL5845km67XNCbBbWbsMSizQuwagVgMFMiv++OMP3N3ddffm2uPWJnRjx47lk08+YeLEiZw8eZJZs2bh4uKiR4qgzWgehVIt0nbcK5SaajW98+fPM3nyZK3zzlODiFNIUaoEFBKRTR+9SnHMaRYtWsTU59/m9T9iWzSP97KSIapqtOt26lq6GdeQEHwaS0dv6KzPDHOra7yt+HeiVfA9AAQlFqAStAOFRiIjS90Wk5SLlJaWNtlKSkqose6B9dTlIDcAdS0W+ecxaWeNazsYMaIPDvMn4+DgQEVFBW+99Rb+/v7IZDJmzJjB1Odf4UP/9BY//jFutoxz68CRWC1llyiKqCrLkMvlaDQaiouLsbW1paioCGNjY3x6d+bSXwPN7a4T1Wm5D7VXcP7wNr7//ntGjBjBoEGDiI6OZt26dTz66KP/eC84T09Pvn7Hhld2XUCQ1H8ySrXAh5t+I7JjFScu55PTdTyRYelIBCmDe3ojiuI9ubeamhri4+Nxd3enpqaGt77cCtYPASBVGGHde5hO6DW0LDQnwBQSscU+rK2t5eTJk1zyD0E0dtcKiAYJWpfPmUK/RoKgcSLiG2Hx4sUkJSXRr18/fHx8KC4uZsiQ+nCCU5dzUf4V96AStc44KUH7ef3111EoFPj6+jJ58mQ+3rKfzYfOUJgQxjTPbnx/phhTU63zk1yu0Jlo69hoerXTsGrVKjZv3oxBd08MHfoiyb3C+fggOnfujG1lMrlCT5DW962BTPpA1pVb8fegVfA9ADR2+HhjzmTGuC1s8Xw9k4zcgCkzZutMNoIgsHnzZp566inS0tLo1q0b69evZ9GiRbpB1tLS8oaz8GpVPQGvRCKhqn0v1GI5bWsvYGpqSufOnZFIJGzfvp0RI0bckZnWPz6Xl3yjqNWAqFZhI3RnyvPvcnjTpzzzzDPs2LFDN1j9GzClnwNGhkas2RfKlRKQyBUIKiXn//QlJCkC6/EvYPKXB6AoVXAqPg8bGxsGDBigt3Xo0OGG9TT3rC9evIiLiws1NTUMHz6cDI057R/pg0rUzxjeMPzk96gsnvHuhrFCpnXWUatwNheI3beR9o+tBbRlV1dXc+zYMfbs2YOfnx+urq7MnDmTKb268N76Hcx99BF+23OAH1avuCfaj0ajQSKRUGTUmRhFe1TtXXVt9w+JQiKzRpTKMFJICdm7hZDfv8fDw4OXP/+RPdGpvOQ9hcywI0yaNImtIYewsrLSK7+ujXXP4ZezVynY/xnVSREASFKjkObEUl1dTfv27enSpQvdTGuRySrIFuuZg7ydrFq1vf9htK7xPSDcjvBoLn7OtW0ty5cvZ//+/QiCwLhx4/jiiy/uyHmiMYsKgKiuwZsrRB/6BQ8PDzZs2HDLFGK6MkSRS5cusXv3bnyvqhGdhusdl2hUvPdwZ54Zd/vZBf4u5OfnExQURGBgIMeOHSMtLQ1jp0EY2D+EkBOHJuMCfn5+hGdVsf58NYJUjqBSstTDlMdH9CYyMpKIiAjOnTvHuXPnaNu2rU4IDhw4kP79+xORrdRpKT8Fp1Kt0mjd/h2teHyQA1cD/+DMmTMEBgZSXV2Nv78/Febdm7xPzcUP1ml+ppVZrHllHmOffoPg5EJmD3+I1LMH8ff3x9PTkxkzZjB9+nQ9XsyXXnoJa2trVq9ezfXr15v1Gr4dbNq0iS+//JKPftzLioNXQW6AgUxKD1tT4rJLECRSZBKwaiMnL/wQeQE/8uGHH2Li4sUXocUgN0CiUbFqijNzhvVqUn5VVRWnT5/m85NppMrtdfvFK6foXhxJYmIiW7ZsoXv37tjb2+uZhht/c81Rq7Xifwetgu8+4W49wQLi8zhzNR9yL7Pnmw+4fPkyHTp04JVXXuG11167rSSozZVdx0HYEKq446yZM4DHH3/8tsqLi4tj165d7N69G6VSyezZs+k8cDzfRleiFvWpx/7J/ISiKJKens6ZM2d0wi4nJwfLPiOptexOO+U1Hh/Rh5kzZ+Lm5sY333zDBx98AMD+/fvRdOil48I0KUlGLpezePFi7AdP4kJuDUOdreluUKEnCONLZZiNf1Vr1kYE9E2jxgoZVlcOEL73Rzp16kRISAidOzfPX9kwvKCxc0ZZWRmvrf2JgKouSP8iF3isSyVvPjEBa2vrZsu7ePEikydPxtDQED8/v7tah/3zzz955plnCAoKYlucUt/BqhmIGhU92kFW4E7yJJa07V8ft1j3DomiSExMDMeOHcPf35+wsDD69euH68OzOKXqTq2m3knli9cX0G/yAhRd+rT4TdZ9s2plBb9fLEQlSpBJYMkIJ5aP++etQbfiztEq+O4D9NhW5FK+mv3QLZHt1n14fWwUBPz8Bb6+viiVSoYOHcrnn3+u83C7V230DU/nbFIhKkFEolGxcpIjj49oOf1LQ2FuLyvRCbuSkhJmz57NY489hqGhId9//z27du3CfdJ82jw0hqulEmpvwJZxJ22/F+7lgiCQkJBAUFAQ+88lE39dRJV5iU5iEVVVVWRmZtJ34jzyHCfqgtEbt//ixYtMmzaN3Nxctm7dytnUMmKL1Ly7cCZGhVdZ/asfCRaDEWUKDGTw3eP9GetWb+78z/5LbA/PvGE7yyIP4VAYTkhICMbGxjc8d3dwAq+v+YGtn76FV5c2HD58mN27d3Py5EkcH3ub61b1/evCNfxX3Zg428vLi+rqatasWXPTMJbmEBCfx77QBPZuWMnebz9iyJAhBMTnsXhryF/C/iYQNHg7mBKdW6v7nmZ1riAzzA9/f3+MjY0ZN24c48aNY9SoUTo6tobvSGeK8FnwGmYTXtUj5fbp2Z7s7GwiIyM5d+4ckZGRREZGYjL8aaSuo3RNkEklbHqif6vm9z+EVsF3H9DY5FQR7YcyeBsWFhZYWlpiYWGBhYUFZmZmGBsbY2BgwDWpNVGGfXWmMuWJDTw91pP//Oc/d5z5uSXUDQrkJvDDDz/gMekJXp41Vhe31NI1uvg/dS2q098z08uFxx57jL59+/LHH3/w/fffk5WVxeLFi1m4cKFOM7mXcVB6xNmimqGyJHq3E27oIdumTRuOJ+Rz+koenaSlVCdFEBQUxNmzZ2nbti2dBowjp9t4RKkCUVWDW0k4z4zzZNy4cawNzNDrS4vCS/Rtb4jaxomxOW77AAAgAElEQVRunTsgMWjDIAczfl65jCOXsrCZ+ibI6ynPghIL9K5XpIbw6rBOzJs3DzMzM9Ycu8L6U0lNb1QUQCLVkSlLcmLx8PBg4MCBOlNp9+7dmzjP5OXl4eDgwKRJkzh+/DhDhw5l9uzZTJs2jXM5NXp9WOH/DZs/WMqMGTNafN4//fQTH374Ie+///5tZ5cIiM/jpZ1R1KjFJjRr5m5DcZv6LNmatkhvIgClEugpZpKckUNhbBDeXc0YN24cY8eOxcnJ6Yb1ByUWEHv8d6rMHbisqX/3zPMukHVgHSqVis6dO2Nubo5MJkOpVJKvsEU6/DkksnoXiH+ypaIVt49WwXcfoDeYiSIOlZcxSztNQUEBRUVFlJSUUFZWhkql0nlTmo9erBdIe78+NK3LuDb1C+paVgxvz5Ip3je9rrEw72Fryhw3Ey4e2c727dsZNGgQS5YsYcKECcjl989nqnE7uqrS6ZRzVvdcS0tLqaiooLKykqqqKlQqFUaOA3SxiKhr6XYtEMvqbLKzs4mNjcV++htU2dWvOzbOCtAwrVFHI4GsCgFRKtd5bUo0KobJkkipNiDL2FHvGfn07KC3btejHShjjxN54CdmzZqFbOBcHU1aHURVDeVRB0FuxKieHciOOMrRo0d1msm5c+eIiIigurqaAQMG0LevlscyPj6e06dPo+ngxoRnXueJ0R5MH6gvGOqEQV9bQ957Zhqpqal8t+806TVtmp2YVFZW0nngBPpNnMs7T8+4rYnLe/tj+DU8o8lzTUlJwdHREUNDQxRdPTDuPQbjbu5IbiAAncnhP+NdGDx48E3N/DU1NfiejuHT07moBAmCSklVtB9tPCYhVRjpJpadxCIcHR2xs7OjS5cuur9dunRhZ1wFm8+moRHunaWiFf8ctHp13geUK1X1/0gkVFk48lBnc5zzE7h69SqXLl1CEARdSh6lUsmUIT05K9SnLLnXrtSiKBISEsInf5xHafQXx6fcgBzh1rIcNPRMBbiSV8GH2UWMNOlCVFSUjl3jfqOtUT3TvSiKZCRdpizjMlKpFLVajSAI1NTUoLbtSQc3b2zF62jau1D0VywicgNyJRYMdDJm8eLFDB06lNCMSj3HhobPvo6v1Dc8nTOJBWRWSeGvlEl12pYoU5AvtURWcB6xo50uDOBKXgXJ+Vfp115OZpWCwko1MUUiis6j2HRoEUmn97L5py+QDF0IMgMQ1Ejzr5J79g+qkyLo1KkTFg4T6DRgAO3atcPHxwcfHx9A68jh6+vLzz//zNdff4252zBE2x6YDJ6LQZ9xRJYacnH/ZbKys5k7rBdWVlZIJBK98IOx4eH0n/Y0Hx/PQqIw5PeorCYDfEh6BRaTXidVpuDl387flgCoTo0GjZmO9Lvuuf78889IJBJqamqouRJKxZVQjJ0GYtp3fL0AFAVAAn89Y+fe/RkxwkNXtlqtJi0tjcTERBITE7l69arud05ODh2nvKJzrpIqjBgyYjSj3Sw4f62aoz9vInj3JpydnVts+1v24OFg1crY8j+KVo3vPkDPLFgHdQ29y84xtJs5SUlJHDhwAA8PD1588UUmTpyo5Xu8D9RISUlJ/Prrr2zfvh1DQ0OGzXmRU6pu1KhvfyYbEJ/HWv/LXMmr0O170Cagxh6pmoyLVP65Fnd3d/r27auNdbN2YV14CUqVgKiqoU1GKLXdh6GRyDCSS3VB543v7UbPvnFaJUAX44a6li9nPcT0gY5ajfqHYyiNGrjZCxqQ6jODCJcDeaavKY8++ij7IpLYG5pA5rkASmLP6Fz+pVIpLi4urFixgvnz56NUKjl69Ci7d+/myJEjDBgwgNmzZ2PZZyRvHbqKWmhal3FWBNcOfa0ry9nZGRcXF92286qG3RfqM4HfjO3kVvs7JyeHvn37smrbYTJqTfSea3sPH9RWTijTzuvCDKRSKYIgYD7sScy9HtUzMwJIEBmkukTF5RASExNJT0+nQ4cOODs76+6p7ne3bt04lXhdF7xvKJPw3eP1a3Tr169n06Fgpj77FiNdO7QKtf+HaBV89wkB8Xl8eDCW7FKlbp9lUQwZe9eyYMEClixZcsMZ592gqKiIXbt28euvv5KSksLcuXOZN28eHh4ed82B2VKqogeFxgLIy96UnUuG66113cit/04nFY0FrrymDEVWNGVKNdWp51EmR/DLL7/w6KOPsic8kWV7YpHIDXWJV/UgihB3lNyAH5FIJCi69qedqxeFsUFIr8UB2mByuUM/jLt5MG/MAAovnsTPzw8PDw9mzJjBxIkTsbCwQKVS8fKeBELTy3XFS9D6hxrI4EV3Y3pbiBQWFpKens65HCWp1UZUlRZRWStQXlxA2/5TkSgMEdU1dMkIwF5Wirm5OSYmJmRjRYTcDY1EjlRQ07M4DPOKdFQqlW6rra3V+1+lUpGSkoJcLsfc3Fy3T+jUG3mPEcjteiOVGyColFQc+xaLqkwMDAyoqamhzHk8ph6Tmu2D3oZFLHI3w9nZGUdHR4yMjJqcoxfAH3SGfaGXWffms3p97h+fy3O/hDXJ+9eK/z9oFXz3Cf7xuby4IwodcYZGxWN2lXywaPpdx0M1hyMXs9hxMopr0SeJOvgzEyZMYN68eYwdO1YvEea9wN9J2tswFMNAJmX9481rb/daODesVy4FH+N04v1/IyoqCisrK7KyslAoFHh6evLrr7/yyYELBKZWIDW1air4AFVBGsWntwHo1h9FdQ0OWSeRXoslqboN0mELdWtSxX7rqE4MR6PRIJPJMO0xGKOu/RCvJWDgNgpZl/p8ddKSLBSlWRiVptG2NBWFQoFCoaDaypnMLj5as+pf2qpUVNO5/DLlNRpSgo/QUShAEASKi4t1JOhWD42k3MQOO3kFwx3bYWdnR8eOHbVrdH+VXbcZGBgQFBTE+vXr2b9/P6ampigUCk5cLmDV6Vxt5vIGqMlLpSLEF5OSFBwcHLDsM5L4doOQKLSTBlHUCvEb9WNVVRXZ2dkcPp/OhgtKXWC/YZQvHy6ewSOPPKJ3/v3Il9iKfxdaBd9torlBv6ioiNjYWKKjozlx4gQXLlxA2WsKph71sUcje9jw81P3LhyhcZue/zUCNVIUEpG1M9yY5tn9vtT1T8CtCN77IZybK/P69escPXqUnTt36rIzGDsPov20txBljSYcf3lq1jnFCColyrRLtHGufy86VyWRue8LKnpM1HN26lB+hbGWJbi4uFBs0oX10VW69eBnvLvxQ1AKtRoBUaPilf4mvP6YfpbwgPg8VvnFkHK9psl99bA15Y2xrhgWXmHWrFmEhYXRrVs3VCqVbh3tm2++IT8/H0tLSxITE8nPz6dbt2565lNnZ2dEUeSxZStxGz0Dq9p8imPPkJCQgNDvUYz7jm9UszZusaFQE0WRnwOieP+XYxg49EUjSpACY7tIGGB4jaysLLKyssjOztb9rayspHPnzhgPW0BFxwbZIRJPk7xrVZO0UjeKd2zF/w+0Cr7bQEOPSJmooX3SYRJP7aWyshJDQ0MqKyvp0qULw4cPx2XUo2xLlunFDd2vj6t1BvvPQGZmJl5eXhh5z0fjOFTvmCiKCKV5IJUiM6snDlfmXMXQtjsSmRyZqKbYbx3K5HOMX/gmUYYPIVFoU+xMty1BnhdPcnIyF+QuKLvUkzuTeJq2ldlIO7ohK0gk8dQenn76aWxtbWnXrh3XpNbszjLValt/aXqNeUTr3tHDhw9x9EI6XyxfzOR+9ewngYGBvPPOO4SGhlJbW0tMTAynT58mMjKShIQEMjMzKS4uxrC7p06DrQvFqE6K0MsaIqprUVcUo2hX/z1URPtxPWAToigik8lo5/Mspv3qTZ4GVQX0qLmKu40MOzs7OnfujJ2dHXZ2djrHnYaavlRQ09+0lJ4PeTQ7+dl24gIfbNzJ5o9fv63vsjVF0f8GWgXfbaCxgFFeOorJZW0usbFjxzJixAjMzeu9JB/UR/J3r7s9CPxbBpzU1FSGP/4SRqOeRyU2JagWNSqQSJFIZYjqWkRAKjdAFNTIrpxEkaDVHnfv3k1StTFuo2c2m9ewIUHCOyM70tNMRUlJCSUlJXz77beUtnXA9qERtK3MIlnSkZI2drrra/JSEbIuonDwQG5dL9xcTGtJqzKgVgCpoOaLmb3pKBSQkJBATEwM33zzDd26dSMzMxMHBwd69uyJq6srrq6u9OzZk+vXr/Ps5uPIXOvTYJlkR6IM3kZ+fj5Cp94Yd+uHojAZWfvuyB6ahOQvISzEHMEyKxhra2tsbGxQ27oRbfQQglRBnWaokIjM7FiKk3E1Go1GtwmCoPudrGxDYoWci+fCMB80HQ2yZr+JrKwsvLy8yMrKumF/iqJIRkYG4eHh7ItI5pxBb9Ri82QGrfj3oFXw3QQlJSUEBgYSEBDAsdgc1APnI1EYopCIfDy+K3OH/zM0q3+DYLjTNjZMr3OnA86DeD51dcgKrvLVV1/RZuCjyG26IpE2zeAuatSoS/NRWNZzYzqTw+EP51NVVYWTkxPR0dEthonc6H4ORqXx8m/RIDdELgVBEBHqqNA0aqyvHiD59D5Gz3uFS6aeqEQJUkGNrCgZlU09NVflhSN0LYzQCbZt27bx5ptv0tFzLKGpJbrwhKDEAry6tmPZnDHMfWMVO9ONmkzCRFGkV69evPDCCxgbG7PjsooUeRddXTN6WzHPzZDCwkIKCwspKioiOk/N6ZK2aEzrmW46VSbSszIGmUymt0mlUt3vM2fOUOI0lmq7ehNyYytIUVERLi4uFBUV6T278vJyzp07R3h4OGFhYYSHhyORSBg0aBCqh6YTp7JuscxW/Hvwr4vju98DWG1tLWFhYQQEBBAQEEBcXBxDhgxhzJgx7Hn2WfIVtpxNKvrHCZjbSQ/zd6Ch8GouXuxGaJhep3GetFtd76vTkHZHZjYbznCnEARBGzJy8gK+aUZoJDJENZg69EZi2Vkr9ASN1rTYwEVfIpMjb1c/oMul8OYTUzE0NOSzzz5j6tSpN4yNvFF/R2ZVgFxLwKwWoCH/pyiRUF1VxahRo0gLPkRRbSAmjp50kJVhZ2fHBYmAWpRiIIOagkTWfblOlzU9oVzBliQDClIuUasR8Y3IQBBFBBF2hKXg4DmW9xc+wuBm+iQkJASNRsOLL76IRCLBvpGVYkK/bk1SHoHWSWzJL+EIUjlGCikfLZnLGLdXW3wulZWVODg48OXKjXx6KrfF9FwhGRXIBs7lhyPhkH1JJ+TS0tJwd3dn0KBBPPHEE3zzzTfY29s3MaXej1jbVjw4/Ks0Pj0Tj0LKt3PufgATRZH4+HidoAsKCsLFxQUfHx/GjBmDt7d3s27Trbg9NDYTS5LO0CnnLLa2ttja2lJj3YMSow64dzDiYVcb3X5TU1PW+l9l05lkbfJcdS3WVw+y5tX5qG3dGgxEUr5p4X1oXLdRZjhznWVMnjyZfv36IZVKm1xTh4aC1adne1JSUnScjmeSS0ivNcaoOBWrXkMpsmow+y/JgnYNzIspUSCRoOiideVvHG9X5/xUUVFB9+7dddnc7wQN16Ibmlbr4EwOT7oa0LNnT3r06NGieV6TcZ6FCxdy7tw54kpkvLgjsolXZkMMdmjLziXDmz1WF07z2muvNVvXjb7jPy9l8daXP9PTQsKude/e8N43bdrE0aNH2b9/f4vlH7mYxcu/nUeNFNS19CqNYJJ7F7y8vOjTp88NvaBv1uZ/g+WlFf8ywdc4hsu4OJkZVnkMHjwYLy+vFlnmG+PatWscP36cgIAAjh8/joGBAWPGjGHMmDGMHj36lstpxa2j8brU2yNs6W5YSV5eHsFpZRwsskaDDIlGRbv4vZTGnyUvL08b4zbxVa0GI2pwqk3FOieUwMBA2j38LDUOXro6THIiGWNRjIeHBx4eHri6uuqIARpOmBa7yck5dxQ/Pz9KS0uZOHEikyZNYsyYMXq8qA2vk2hUVAZ8i1FRIv3798fGfTSnartr18NENVXRhzF2n6T15NSo6GwqJb9Wjkoj6iiyyi+H0K7XMAzs+1JTUVJ/vroW00u/85+np5Kenk50dDS7du3Sa8eNBlNBEIiPjyc0NJSQkBBCQ0MpMOhI5/4PU5CTiWUvbyoU7ZBIZUgEFZvmDbohL2tDrFy5Ej8/P0Yt38iOiBuvh7UUXlJYWIiTkxMpKSlYWlreUr2NUVJSwpAhQ3j++edZunRps+cIgkCvXr3YuHEjI0eObHLcPz6XX46GE3zxMnSqn6TcjclSFEVSU1M5e/Yse8ITudjGA+QG9zWrQ6twvXv8awRfQHweS7afQ9PQYUCjxvrKfiqvhpGRkYG1tTVeXl4MHz6cIUOG0KdPHwKvFnEyIQfzqhzyz58gICCArKwsRo0apRN2jo6O//gs4P8LaOmDbRwcbpgexpM9DZgxYwbbE2rZGZWjO/aQUTEu5RfIyMggKrcW1cB5ujQ7svBfMCy8ikqldfQoLy+ne/fu9O3bF9v+Y6i16M7Ugc66LN3DnG3oZlCOn58ffn5+RF6rpcuAMQx3aY/nAE98Y8r0WGpcZXl0KzpHdHQ0WbZDUPTy0R1rk3WOmvQLOI5dQJrSkFqNiKCuRZ0Vi50JpOfk06YsnbTgQ0yZMoXQ0FA+3/EnqdVGDHWyQpUWzerVqwkNDWX58uX85z//wcTERE97qwtdKCqrxFKVT3WiNmNDeHg4NjY2DB48mCFDhjBkyBB69erFySuFvOgbSa0G5BKozbyEPC2Mx4a6sWrVqlvqM0EQmDFjBjJ7dy619UQl3Pg7aU6IfPHFF1y6dIlffvnllupsCampqXh7e7N582YmT57c5PixY8d46623OH/+vO57rnvnKksK2RtXgihTIJdomWJqNbe/ZqzRaIiJidGRnJ89exZBEHB3d6eq52TSDbvqzr0fWR2OxV7jxZ3RqIWWJxoPCv9mAfyvEXyNzVV1UMYco+T4ZmpqmsYnNXShlmhU+LTJYNGEQfTv3/++Eim34tbRODegDJHH7MqpuBLK/v37Mew+AGHwgha98/68lMUPh84ScXAb3Q0rmDFjBkZGRoRmVnKlVEJVcjT5549z/fp11Gq19p2Y+iYShSFyBJ7va8i80e5cLBT1zIOiKGq9Levc/tW1CGe3kH/+OA5DpmDmMYEihQ0CUlDXMMdBySfPzWLeV4cIu16f4NSzkzFRWWWIUm3Gdofsk+RHH8du0AS8Zy7SGzQ2bNiAr68vtra2BAUF8cILL1DpOonfL+bXP7C/TKQSjYqh0qvMGuKKl5cX7dvXh0jUofE3M72XJUc+eYrc3Fw2bNjAE088cUt9VFpaysCBA5my5F22h6ViaN8XiVyBqFFRm5+GUYfuiJLm+0cQBHr06MG2bdsYPHjwLdV3I4SHhzN58mSOHTuGh4eH3rEJEyYwe/Zsnn76aQD8467xkm80tQKIgkbP3Nu5nREu7dvy+CCHG64NByZco01ZBjnnjhIaGsrly5cxNjbGzMwMiURCWVkZVVVVdOnSBauHRnLNaQpI6k3n98IBpqysDH9/fw4dOsQJtQtye3fdsT6dzDi0dNhdlX8nOBiVxhv74vRyHv6bhN8DHf1vd4bgH5/LybgcXMw0FF4rRJeos0EskrKsuFmhB2DczUPLyI+WSLhjv9EMGtTqhfVPQlBigV5C3DblGez+ch3Z2dn06NGDTm2qKbxykGuiOeU5CRwudcZw5ky8vb2RyWTI5Qp69+7NosnfkxJ0gFWrVtFj9CyyHcZS01bEeIAbv37xBWPcbCkvL+fNXZG6bAhqpGz9M4z/Pv8YJsOfQu6m1eAkMoXOHUQikaAqSKMs2BeXNkoGvL2J80prCpAgalQ4mdbwxiNeVFwJpWvXrpSY2tP+kbcQpQrkCISEhGDQtR+gJUvOtx1IQccK1J1GkxyWrnP0Gelsyeeff87WrVuRSqU4ODiw1T+S6jgw7uquFTQNBm9RpqCb10SmTm35fdYjFtfUos6KITQ0lIcffpiFCxfi6OiIl5dXi9fXwdzcnH379jFixAgcHBy4eimAts4DKLkShllZGuuPniMsraTZ7/rkyZOYmJjcUj23gkGDBrFp0yamTp1KaGgoXbpoPUMTEhKIjo5m3759gFZALlr9uy6vnp5nrSiSXaIkr6x+3HjY1YbU1FTi4uKIjY3lTEoJly0Gg9wAQaVCFZGMg6Eh8+bNw9XVFXt7e+zt7XFwcMDGxka3Trzm2BU2nk5CELUa2Z06wCQnJ3Po0CEOHDhAeHg4Xbt2xczMDIVrbxpqKnE5ZQTE591XoaPRaLh8+bLOASgsLIxcu+G06TsBaOpw9m/AA9P4tDN7rdlFKqjpmnMSw8KrKJVKqqurUSqVer81HdwwHbtUu7ajrsW4PJNqC8cm5VrX5tGr8DRBQUGkpaVhbm7OI488wocffsjVSqP/+fi2fzv08utJJYxz64C1qQED7NvSQZ1PbGwsMTExxMbGcuHCBcrKynSpnHr6PEZZn5l6cVVDu5nx2Od7uKS00NXRUpqhhglJd52N5z9/pqH+62uo0/REdQ3dr52ifwcD4kpkxFsNQSKtny/KU4IpPv49JSUljBgxgm3btnEgMoWvfjuGOiuG6upqjB9+AVFWn0pHFNR6ZXhZ1VB4dAMRERFoNBoeeughHLynEGnQR5vBXlBTm3EJg4o8xJ4+SGSKWzZz1U02nc00vD7bhxMnTuDs7Mzw4cNJrDJiwVurmezpdEvfxZ49e1iyZAmFhYWAdlIQExNDr169Wrzm0UcfxcfHhyVLlty0/NvBmjVr2L59uy6n4vPPP0/79u154403mDVrFv7+/rRx9sJq6vIbpjsCQFNL6ZEvaVuWRu/evenVqxdp1gM5V1JPLXirmtvRmByW/nYBlSDeUh/V9c+Q7pbIcuP4+eefCQgIoKysDIVCgVKpxMrKirZt2yKRSKiycEI28nkkDRyyRvWwYetdskI1VEr6WksIDw8nODiYoKAgLly4gKmpKZ07d8bMzAypVMo1mwFUdRumMym/OPLflaX+gQm+xmYX7/ZqnnQ1wMjICCMjI4yNjfX+fhmUzW9R13Tnj3KxISz1un7GA0BU11Li9wWD7U354IMPmphT/s126P8vWHPsCptOJ6Fp8Ca25LVbWFhIXFwcgYGB7E5GL4/e8A4iPywZw5nkEl3ohKiuoVvOKda+Nh9PT0/gBmuNjZynXGxNmOvWluLY0/z4448UOIzCxH2i7rgoaCjYu5LqpAikUim9evXC0tKS2NhYjI2NcRoxHeNuHqRciaPL4Ekk5lfqXSuRyhBVNTjmnSHm6A7ef/99Fi9ejJGRUZPvxTA9jLyLpzCb+LrWK1SjQh6xDZPiZIyMjDA0NNT729y+hIQEQkNDWbZsGTkSa/bmmoFcG5O6yE3GIDvjm5bz9ttvs37/GYy69mNS/+78uvrNFvs1JyeHXr16kZGRcc+TKYuiyJIlS8jIyGDh+1/x0sr1jHTtwO9fvocgaC0IEokE65nv08ZpQIPrBCSSpl68czw6snpWvem0OU7YYd3Nyc7W5nHMzMwkPT2djIwMHXVaTk4OGveZeiTbwzuITO2sndTX1NToJvhKpZLEKmOCNE5oJDI9lps61AmVhv4HRo4DsHpkBdIGdHhSNHhzhS6S4ibXSCSSm+7L0JhzUtlVlwS78MDnKJPPIYoiBgYGGBsbY2Jionsf2rRpQ3m/J1Fa1ed6HO5oyU9PDSDwatEdx+o+yHH6gWp8t6N9NTzfQCbF29EKezMp0bEJxOVWITRwFW8NJP13o6X12xv1a0B8Hr4R6QQnFWmJoxGwSNhP0um9TJw4kR6jZ6Fs1xVvR0tSgg7w2Wef0bdvX957770WzW6N39G3hrXHf+taTpw4wRtvvIHLqJm8tideFwwuaFSoTm7Umto7uOql2bEYMR+zQTNBKkMqqjEouEq1dY+/GFtU1Fz0Q2pogjLtAl+8voDNmzcTEhKi55TRUBN2VqVx7kIMbfvXO3VM6WHGQve2ugG14cDa3D6lUsnvv/+OkZERZqMWkWlcz+dqmhOFdfrJFsup24ydB2E15Q2kCqObfseffPIJ2dnZbNq06RbegtuHWq1mxONLybIfg0Rh2KzwMB/2JOZDHtMxxIDYVPBpVBhH+yJkXtRlktB0cEMx8nmtiVldS8H+1Xrl1qFh4LxCocDE6zEMPKZp+1EUsc6PxqH0ok5oNJxMnJc6k6BpQF936ShVQb+g0WhQq9XU1tYik8l05xsbG2Mw+EkEp6Zrer0UhQwx1Hrd1g3poijq/W5pX7jagStifUxp1YU/KTmxGZVKhUQiQS6X6+6xLl2W6cxPUNjWW+Bqc5MoDflN926IqhpK//wSZfK5m9Zv6DhAx237oCxzD9S55Xal+oGoVH44mUD8dTUC2tlx38poRo4cweY49QPhwWzF/Yde/sK69Vt1DS/3b8uyOWOanL/m2BU2nkpCQOsM49hWzfCOEgZ2Nqa6upqwsDBOnTpFXFwcI0eOZObMmYwbN47PdxxlT3AcdvJyPn5uFqWm9gQlFmIg0VBSVYNCVJNarKKyqpKy6CNcDdyj85CMiYnhfL4G0wmv6a0XqTMuIOvYU2/gBbCZ/o5+wDoi4l8CU4pIxdEvqU6KoLa2FnNzc3766acmnooNNWFBpWSQeSWxqvZ3Zbq/fv067u7uvLTqe7ZekWgzyyNQe+p7/vzxsxuaLUVR5L39MWyPyNTta2lyolar6d69OwcPHsTd3b3J8XuFOWv26jkTlUUeovj497r/LXye0yP7bg6mZWm45gXqWZ/i2/QmWVo/ue4py2e8jdb8WCcERFFEEAS97XixJRer2+muu9nk7UbKgCiKlJSUkJ+fr9vOppWxv9BG9y7B3XuP3qgdFRUV5ObmNtn+rOpKkWF9SMwoFxu6WLbRm8A+7tmZ9yb2uKnG+eHheLaH3/yduq9bFIMAACAASURBVJf4W706GwrCh11tuHr1KqGhobotNTWVrjPfpKJTPeN63UNpNWH+b6GuP89HBJOQnM6TD3vy40cvc/78eWxsbPTOW7I9Us8sKk8Jhqjd1NTUUFtbq7dpNFrWlIYevoJKSVVSBCYuQ5DI5PXreQ2yJpjF7GGwvQmZmZm6cIEu05fpDYZSwKOTEZE59TkX5w2y58rVK0QUG+v2NWdec6hJI2H7RxQWFuoGuIaB5AArfo/mt+h6c/+9yCsIWsLpJ598kq/3BHIpr5Zhzjbknz/OsmXL2Ldv3w29L/UmKepaNs0fyPg+nZucd+jQIT799FNCQ0PvqI03gyAIrFy5ku/2ncFw9BKdllFw4DM9zczUdQiWk5cjkTfOlCHqsrs3tz51p/y3d2LZut3+bDghulfxgrfbjuZMwcADeWb3An+b4GuYGqQuONikJIXBgwfrtr59+3Iq8Xqrg8r/I4iiyAcffMC+ffsYOXIkqampHDp0SDdDbGIWFQW6ZQVAdgwlJSUUFhZS1tYB424etFNeo7thJTKHfqSa9qJCbt6gnubXeurQt00J0ZtX0KdPH9577z0GDx6sz/4vAUdLQ3LPn6Ci86C/zDRSPGtjOHDgINZTlyNI5cikEuylxSQr22jX5tDSk/UqDuXUjm+prKxEo9EwbM6LjJyzRDfwREVFMevVT5B4P41GIr/n7/6bb77J1atX2bdvn+7Z/vnnn8yfP59ff/2V8eMbpxCqR90gGfjbRsb0tOX9999vcs6kSZOYPXs2CxYsuCftbYjy8nLmz59Pfn4+MpmMlBpTpj//NlMHutCrnYb169ezceNGLYF1p95YTH5DPzSlEUY4WeFgbdosGfg/db3qnzDxb64N/+Rn1hB/m+BrPIA9+pANa+c275n0T+jkVjw4iKLI+++/z969ezE0NGTBggW88sorgHa2u/5Uku4844IEvDRxODk54ezsTHEbO76KKEOpFkDQUJ0YjlH3/kgUhvVmVI1azwzZWOMTRRHbwvNsWDJB5xBTh73hiXx5KJKMGmMkcm3IwrMjnCgqryJkzxbiA3YxcuRInvv4O84mFWFRk8tHzz5K54Hj6TpmHnExMfQ2LmXbquX/x955x1VZ9n/8fRZ7bxRUBBeKAxVcuC1H7jK3aOU2R2n2mD3mY2aZo8w9MxU10hy4UAwUVBTcIMoURZC9OfP+/XH0wBE0rZ56fnU+r9d5wTnnvq57nHOu7/1dnw/h4eG89957VNg3xK7/B7q8WW+rDHZ9+RFr167FtlmX/8p3Xy6X065dO6ZOncp7772ne/3ChQsMGjSIVatWMXLkyBfO8eDBA1q1asWZM2do3ry57vXU1FTatGlDeno6pqamL5jh1XHv3j0GDRpEQEAA06ZNo2fPnlhaWnL8+HEaNGig206lUhESEsK/D9+mwKnF8ydUqwABJDIkgoq33EoZ270ljRo1qqbjZ8DfB3+px2fw5Ax4Hp4av3379pGXl0doaCitWrX6Ve3B6h5hZUgLQJGdStndi1j5DdKGx9QqSu9GIbNzx9jZQ7ddW+sy3hsQwPl7OTS00pB97Qw7d+7kxo0bWHd/Ty9v1L+RFSc+n4CRkRG1atUiJCQEIyMj7t+/j7+/PzKZjC1btvDaa69RUlLCggULCL54FzMPX4Z29Ebq7qOX4zBOu0jI4nF4eVVWzf03EB8fT0BAAFFRUTRs2FD3+u3bt+nduzdz587l/ffff+Ec27ZtY+3atVy8eFHHcfmvf/2L8vJyVq1a9Yce77FjxwgMDGTJkiVMnDiR2bNnY2Jiwt69ewkLC8PDw6PamKqRJUGtRIQIJFJkEhGdvBxAQI81yKU4gdyT63n8+DGtW7fGz88PPz8/2rZti5ubG6fjHxtuwv8G+J/J8Rm+RAY8C0EQWLhwId9//z3GxsZcu3aNC/dLX3jDFBqXxaQfrlATl7KgUpBz+CvK7l7E2rsTktrNKE+JpTwxWlv91+5NRBJtSXdR9M9Y+w1GJDNGUMqpCFtPYdw5lEolvv0DKW7+JhVKDTKxQMnJb2njakxmZiZhYWFYWlpSXl5OQEAADRs25P79+5w7d06vYnPijgsIEhkijZIxfrXZe/UxCjWI1ArWjmpD3xbuNZzBH4+1a9ey8egFBkycR5dGlYoPqampvPbaa7z99tssXrz4uZR+giDQp08fAgICWLBgAQqFgjp16hAeHv6bSbZr2scXX3zB2rVr+fHHH+nQoQOlpaXUqVOH2NhYOnXqRGRkJHXq1Klx/NN1pl09a6Kiojh44Q5Fdy/xTm8/Gvccxmen7uuqZyd39mTu643Izc3lypUrREdHEx0dzaVLl5DV88W42xQ04j8+9GzAn4v/N5RlBvwz8dT4rVu3jt69e7Nnz54X3jCFxmUx8Ycr1PSlVqTGkh28GBMTE8rLtWKmDg4OTFu6kb33TZ/QlakouvQTYmNzvdaBktijFJ3dynfffcfEiRP56kQ8e8JvkpsaT8M6LqRdPEHUjxtxcnJCEAQCAwN5JHHkXrGE6UN76qpTBUGg+9wNpMgqF+ny6ydQpt8k4K33iD68k4PfffaHMZ38GqrK/jy7mD9+/Ji+ffvSpk0b1q5d+9zQX3p6Or6+vpw9e5a4uDg2bNhAWFjYH3J8JSUlBAYG8uDBAw4cOECtWlr9wi1btnD48GEOHz6Mq6srMTExuvdeBjdu3GDDhg3s3buXBkM/INuhJRqeT78lCAJzdl/k4O083WuGNqr/v3h+dt8AA/4HIBKJ+M9//sM777zDTz/9xIervn9hlGBPdJqe0RMEre8nqOSU3TiFnZ0dpaWlODg4sGfPHrKzs9E4NdTmBNHq5Jm4eFGeEotGqa3WFJRyZLlJeHh48OWXXzLxszVsOZ9MAeZI6rUmSeyGpPN7XM8RCI3LYtCSPVwodSDZpQuCV2e2xKkJjctCo9EwefJkYkJ2Iyi1dFlijQqrsgzcRHkUhm1m4YSBDB8+nLy8PP4MnL+Xg+YJi8xT6qmncHJy4uzZs9y7d4/hw4frUQOGxmXx6aFbhMZl4e7uztKlSxk/fjzr169n8uTJeu//ViQlJdG+fXtsbGwIDw/XGTZBEFi7di1Tp04FtJRar8q927x5c9atW0daWhpuHl66CEG5Us2esFhUKpXe9iKRiL6+9TGVaY2/QY/v/zcMHt/fFH+3MLIgCAycupBr5q1e2Dw9ePUprmYp9Qdr1BglhZN0cDUODg6sWLGC0aNH695+ligbQYNxUgTp17QMJV51a9Or7wC6NHbGtjSdD/Zc4r5J9XxSt4aOXEjJpUKpQSJCr+VilJ8bSfu+4PTp03Ts2JErj+QY1WlBSxdj9iz/GCMjI9asWcOSJUto3Lgxtra2HD58+L+uGvIy7QlyuZxRo0aRn5/Pzz//zMX0shpp3zp27MjNmzfZHxnPnOBbvyt/f/LkScaOHcuiRYuYPHmy3nW4cOECY8aM4e7du4jFYuzs7EhMTPzNkkdVr4GgklMQshLhwQ2GDRvGW2+9Rffu3XX5y7/b7+qfCoPH9zfE04T+zotpTNtzhaCIWyiVyl8f+D8MkUhEy97DdaTjVb0TQRA4duwYXbt25eqPaxA/m+ETSygztmPLli1kZmbqGT3Qqpl39LKvsjMx8voBmJqaocmII9PGm92XHzBz7zUKzOuw8L23MJE9+ek8uW+UCGqKS4p1SvFqfbeToO+3EhUVhbNvT+47tqO0tJTPh7Tg4HeLMTU1RSKRMGvWLC5fvoyJiQlhYWF8+OGHf9wFfA56eTvz7fBWjG1XF7f7p7hyaHu1bYyNjdm3bx9eXl5069aNUzfu66gDn34OIpGIJk2aoFar2XI0str7LwtBEPjyyy8ZP348wcHBTJkypZrxX7duHVOmTNERQ6tUqt+ltlL1Gmwe34GD3y2mWbNmHDhwgClTpuDs7ExgYCBHjhwhoL61rpfy93izBvy1MHh8f0M8q2+nuXOWzJBvcXBwwM3N7bmPO8UyLqYW/s/ezer10QkaAho6Urs8hSMbliKRSJg3bx5vvfUWZ+/l8tH+GPKriHY8VTh/0dzPNsYPaWaPmZlZjUwlT+/8LU1kPHicQ8Gdi4SdOYOk83sgMarm8ZH/gKI7UVi0GaA13ioFHbhDn+ZutGzZksaNG+u8CkEQmP7FRvb+cp129WwI/ubTP7wtoCY8zdX98ssvNTK4PK20DTp3G0nAu8hVAlKRhvWj/ejkYYWbmxu+vr5cfFCG65B/odC8mmRNaWkpEyZMICUlhQMHDuDm5lZtm8ePH9OoUSOSkpJ0Hp6ZmRk5OTmYmZlV2/73IDIyks8//5yrV6/Svn170lRWZJp7YVyvOZrnyGQZ8P8DBsP3N0NoXBZTdseg0jzhw1MpKTq+EnnyFW1D7xNqpaqceaCvXYhagUfGWZraaHB3d9d71K5dW7dA/xU4dv0BK49Ec69QjEgqQ6RWMqWlCXNHvI5IJCIsLIyFCxeSbeyKul0gakH00koG0zYc52iKEpFYoiPJBvTCYJ/2cOed3m1rHK9Wq/k66BQ/Rd4mPacQY09/bSvFc/oHm8pysLx7nGvXtMK6jRs3pkWLFlg27sCJolpaHTmlHMmlnez4fA6dO3f+4y7kc7Bp0ya2bNlCVFTUc72ob7/9luVBJ2k3KJCrx4O4GxbMpk2bWLRoER4eHojFYlr0HY1Ds4CXvolKTk5m8ODB+Pr6sn79ekxMTGrcbtmyZdy9e5dt27bpXjMyMqKkpAQjo19RYfiNiImJYd43P5Do1FnbD1oFhgKX/58wGL6/GZ5VGDAtz8Yici3p6enk5eVRq1YtnZbYUz2xOnXqcCzLgiMJRbpxHZ1U+IlTSU9P58GDB6Snp5Oenk5mZib29va4u7tj2bgDGudGeNuK6eJli5ubG+7u7ri6uj530XzVHMlT7s2wsDAOHjzInTt3sOnxHha+lRWXY9vV5TX7AhYuXMiDBw9YtGgRw4cPJywh51f3FRqXRfjdLNKjT3H6+1XMWbGdQtNaNbJRCI/i2b5kNr/88suv9tjN23eF/deqh8KecnY+6y2UlpZy69Ytrl+/zu47Sj0lb+Xt05Sf/57evXuzbt06bGxsqs1b03n9llyUIAj06tWL119/nblz5z53u927dzN79mxsmgbQtMebnA1aR/s6Fvz8889kZGTQtm1bzp8/T+PGjX91n6dPn2b06NF88sknTJs27bl5TbVajaenJ8HBwXrEAmKxGJVKpQt9/jdQE5G6weP7/wuD4fub4dkwZ0NLJYu6OlGnTh1cXV2fW5L+soQCKpWKzMxMDl5O4pvLRagEMSKNEvs7hyi9e5Hs7GwKCgqwt7fH2dkZFxcXXF1dqV27NuV2XhzNd0KpqVz4Ab0FurS0lKioKMLDwwkPDycmJgZra2uKioqoX78+U6dOxc2/D/N+vqMTWK2depKH0Sf49NNPGTt27Evne0LjspgeFINcpaXN+2pQE97q8OLes82bN7N06VIiIiJ0IqhV5zt3L5vGNgL79u/nmmkrbR/gU0YYpZzya8fw9e/A+8Neo2+L6qG8Zz8LIwlUnFmPVXEqycnJyOVy/P39efPNN+nQoQOtWrXC2Ni42vinTdtGElg7ss0rLc4pKSn4+flx/vz5F/biLdt1jPXXKrTnqFYxrXtD5vVuAmj7A3fv3s25c+ee+50TBIEVK1awYsUKgoKC6Nq16wuP68iRIyxZsoRLly7pXtNoNEilUp0U0X8LNanFvEi93YD/bRgM398MNZHHvuyP81W8hGfvgK2zrmGbHIpKpUKlUlFeXq4TFX5KHi1rP0qn2gxaVvxyK3fUaKV7rG7+RGL4AXx8fLCxsSE5OVnXxxUYGKijpAqNy2LD6ZskJCRwPyyIXt7OBAUFvVKoq6ysjDe/2E+cqrIk/WXDVqtWrWL9+vVERETg4uKiO6YZQTFUqAQEpZyuRsm0aNGCVUEn6OjnS8OmLahrXM6ct3vi6+vLrVu3GDVqFBMmTNCj+3qKqp+Fl2kZ/v7+HDlyhJSUFGbNmoWFhQWmpqY8xA5X3+60cjHhrQ6N6dChA2uisvQ+G6OybN71d9GFg18G3333HUFBQURERDzXcH3y8w09xpmqKgEajYbu3bszYMAA5syZU21sWVkZ7777LgkJCRw8ePC5zedV0adPH4YPH67H/6lQKLCwsEChULzUef0eGCo6/z4wGL6/If4sktxXpZyrOsZYKqK+uYr4wspFVZ4cg+aXtRQUFNCyZUsmTJjA+PHjdQYtJyeHOSt2EK6qj0hqjBQNn3SvzbxRvQkJCaFt25pzb1Wh0WjYvXs3CxYsoFH3t7jv3gO5SnjlsNXixYsJDg7ml19+wc7OrtqNQLfaYkIWj2P9+vUMHToU0KqGJyUlsWHDBpKTk9m+fTs7duzAxcWFCRMmMGLEiOeGMQ8ePMicOXOIjY3FxMSERYsWsfPMNcx7TUeFGAlqXJKOcetkEI4tu6NpF6jrzwNApcD8+j4WBA7grbfe+tU8rUaj0Uk6PeVJfRYzl2/lUI4jVJFpqnrzkJSUhL+/fzVKtNTUVAYPHkyzZs3YtGnTSxXuJCYm0r59e9LT03X5v9C4LM7GP2Ldp+9TcDviV+f4X4HBgP71MBg+A34zfssPuOoYQL9/Tq2idcVVmtpouHPnDlevXiUjIwNHR0dKSkrIy8vD4fWpmLWs9BrHtqtLc+Ud5s+fT2xsLFZWVs/dd0REBHPmzEEikbBy5Uo6duz4u3Jh8+bNIzw8nNOnT3PpQbnOqMtEAiWnvmXvigV06dJFN8bf358lS5bQq1elxqBarSY0NJRt27Zx6tQp3njjDSZMmEDXrl2r5axmzpxJWloaBw8eJC4ujmFfBlNauzLXNbZdXf79RhPi4uLYERrD8YcyyowqDWkjUSZl53aQnp7OnDlzeOeddzA3N3/uOd67d4/27dtz6dIlkuUWetcpOzsbb29vvN/7mjSNvU5DcUJjEf9+Z7Bujm+//Zb9+/cTHh6ORCIhLCyMkSNHMn/+fGbOnPnSHuiHH36IWCzmq6+0eoehcVnM2BtLhVKDoFLSvWktRvr974cej11PZ+b+63rh/v/1Y/47wmD4DPhL8Wwxzth2dZnc1o4DBw6wf/9+rly5olO3btKkCXmmbpS1HIZIZoJYo+INu8e82b4R27dvR6FQsGvXrmqLaWJiIh999BFXrlxh2bJlvP3224jF4t995y0IAlOnTiUuLo7jx48TmVrMmh9DuXoiiGObluHj46Pb9v79+/j6+vLo0aPnels5OTns3r2brVu3UlJSwvjx4/HqMpj4fAho4EhnTxv8/PwwNzcnMTGRt+d8TmiZ25PFX06zwmg2/XsGtWtrG9CrethSNDjeO8Ktk0E0a9aMiooK7t+/z7Rp05g+fTrXc4Qar8WKFSvYFxlPcbOhlFcRfg7+5lPyzd2JljQFqRESsYjBjczZNe9t1q5dq/NyNRoNXbp00T1ftmwZe/bsoXv37i99ncvKyqhTpw7R0dHUr69VjR/y+V5iSyz1tvtfNSRlZWWcOHGC4OBgwoocMPF5XfeeoSr0r4HB8BnwlyE0Los9l9KITMpFodYgRYP17Z9IPncILy8vXYn//Pnz6d27t86gHbuezuHL97AseUDp3YvExsZy48YNVCoVLVq0YMiQIbRq1QoPDw82btzIzp07+eCDD2jeZxSX0op03ubTApDfs2BqNBrGjRun84COHz/OyZMnq+WsVq9ezc2bN9m6deuvzikIAjExMXyx8ygxJi1AYoQIAW/RQ6LWz0cul3P48GF69uypM95t3Cy4dGAzGzZsYObMmXz44YeYmZlVM+6FhYWEhoZy9OhRDh8+DIDaxRu7/h8iiGV61yI0LouIu4/ZF3IGhUOl5E8fTzMOfjKC+uOXk0ElW0q3ho6Yasr4ecMXrJk/UWfsbt68SZs2bfD09OTYsWPUq1fvla7x9u3bCQ4OJiQkBNDmWL8JPotxt8nI1frLV7dGjrjbmv3lYcQjsakEnb3G4xsRXP55K35+frz55pvY+XTl0xMpBlWavxgGw2fAX4KqoSrUSlQPbtPMtAD7igxCQ0MJCAhg3rx5+Pv7v9R8T/XXJixcTaMuA3l8I5zkc4cwNTWlQ4cO1PbrQyQNdSGmdvXt9DxN94pkPujiTo8ePbC0tHzBnqrj6NX7TPvPGspTr3Lz+G6cnasTZ8/6cgNjerZh/ph+Lz3vs3lDQa2icc55unjZsmnTJq5evYqtra3emNTUVD766CMuXLjAsmXLGDFixAvbAy5fvszHP10lRVppqBuQwdTB3Zh/5K62SV0MSoUSkVSGiVSE2bV92NjYkuTSVadsLhFpWxZVGjCWiCg++Q1r5k+kbdu2DB48GEEQMDMzIyIi4pXbDtq2bcuiRYvo168fS5cuZdu2bXz44Yes2n8GTf32KGzrI5LKkIlBoxFQ19Au8mcgPz+f77//np1nrpHbaAAimTEykYZlAxoztF3ljYMhx/fXw2D4DPhL8Oyi7qjMImnbhwwdOpQPP/zwN0nahMZlMWVXtLbFQq3kX11d6eXtTGxsLBuv5JMguOi2dVZnky9zRPFkoe5lnk5CWDAXL17Ez8+PPn360KdPH7y9vV+Yhwq5dp8Ze6+iEUkRqZV4F1zkyIalusVdW2V7BYUaXVP8q+RDn2WTaWqUQ9K+L8jKysLV1ZUTJ07UWBF5/vx5Zs2ahUwmY/Xq1S+8gdBjxNGoKDqxGsG5sZ46hYM8k8ysTFxdXUk9vRvBpREWrSqNuKAoR2RUWaTS18ucvXOHIAgCn3zyCTNnzqRz586MHDmS6dOnv9T5A0RHR/P2nCWM+nAJDy6fJuyH1VhbWyOTyViyZAnNmjWj/VuTaBgwgHuP8pDWaakb262hI+52v8/7q8lIFRQUkJCQwKEryVxMLSTn1nlSIw9TXFyMiYkJtQfMRlW/o26Olw1nGgzinwcDV6cBfwkCGjhiJKn8+uVKHdlwJJLNmzf/Zh23c/eyUQnaOQWJjHSlOfXq1WPIkCF8OPoNHbO+kQSamxVhefNHKm6cwCkphEYWCtatW0dGRgazZs0iKSmJfv36UbduXSZNmsTPP//M4ZhUPcUBhULBwrV70Iikun2myc2YPn26jhXn3L1sFFraSiqUmlfirezl7czkLl5IxFrDayqTMOvt3sTHx3Po0CGys7Np0qQJr732Gnv27KGsrEw3tlOnTkRHRzN58mSGDBnC6NGjSU9Pf+5+nnJVbhzXjuxrYcwPHIRIrW0R0CgrSEu5h6R2M7Jlzpj2nIq6okSnMIEg6Bk9U5kEWV6S7oahXr16SKVStm/fzqJFi0hOTn7pa7B460EkAe+x61I6Z+X1MK7fls8++4yYmBh69uzJ5s2bybxyCu/yW6ye8VaVz1hMZFIOOy+m8f7eq4TGZb2yYsTRq/eZtvsKOy+mMWnnRdoOegcXFxfc3d0ZNW8Ze1JNSJa6U+QzlOEffM7Dhw8pLy9n/b9nvrSKg0ql4tatW/xrbRBTfojWO14D/nuQLFq0aNFffRAG/PPg6WhB7P18UnO1i7UgEuFqZ0W3xk6/eU6VRuB0fJaWrk0lx9+qiICWjXT7a+Rsia2ZjCldGzDrrR5MGjGId/q2x8lEIDIykoULF7JlyxYA+vbty5dffsnAgQPJz89nU8hF9j8w58ajEk7eysDL0Yx/z56MUq1B7tAQlUabK/xiXHf2bvqGpKQkevbsybnIKK5maanKTGUSJnfxxNPR4qXPqaOXA96uVtiayZjcxZNe3s6IRCLq1q3Lm2++yffff8/w4cM5evQoH3zwAYmJiTpmHbFYTMuWLZk0aRK3b9/mnXfeoby8nLZt21brefR0tKBbYyc8HS0QiUR09PGiaW07pJoKJDlJFNg31dGtiSRShPwHeCpSUFs4oZBU0os1dDLHMe0M10N+ICwsjBEjRjBy5Eg8PDwICAhALBbz9ddfM3bs2F+t6MzJyeGTH04jdm6g2++oNwcydVAXDh06xKBBg8jPz0ej0RAaGoq3mz0NnS1QlhZQ8DiDIsx034uSCiWbzicTc7+A0/FZNHK2rPY5FBYWEhYWxtatW/n000/ZHpWs27cgEtO2RRPe6uhNWloainrtEeyfKHSIJXRs05IBbT1117JcoaaoXMFQX3fGtK8LaG+Ubt68ybFjx9iyZQtLlixh9uzZHD9+nEdWjSg2dtQdr62Z7Hf9Fgx4MQyhTgP+MvyWXsCXmfPcvWwcVDksnTacmJgYXZXjr0EQBG7dusWJEyc4ceIE0dHR+Pv707t3b1Ls2xJyt0S3bfmNE1jdPUFYWBh3io30QlS5ubl07dqVwYMHs23bNkpt6jNp0Wp6eNf+w0NYP/30E3PnziU2NpbS0lJ27drFjh07UKvVjBs3jjFjxuhCoWlpacyfP5/z58/r8n8vk297tvJWUKtQhK0jIexHLj0o17WkyCQizGL30NhSybZt23StEteuXaN3796sXbuWQYMG0bFjR8aNG8eUKVNeuN/ly5cTGp9Fgl0HRDJjjCRimjlKefDLXsruXWLlypW4u7szZMgQDh8+zJ49e9izZw9qtZqA4VOJojFytYBEUKPJvIPgWkm83cjZgvf8XRBl3CIiIoKIiAgSExPx8/Ojc+fOBAQEUGbrxdyDcVp1dtRUnFlHM1uB2bNnI3Zvwcx912v87lbNX0tFGnyKLpN+8RhxcXF4eHjg6+uLr68vrVu3pmXLllhZWf1XfgsGPB8Gw2fAX4r/Zl5jyZIlnD59mjNnzjyXfeRFKC4u5uzZs5w4cYJj1x8gdAhEJDVGpFFidHk3frVNOHr0KP369WPq1Km0b99e58VkZmbSpEkT7OzsaNCgASdOnPhDz60q3n//fR48eMBPP/2kpUYTBKKjo9mxYwf79+/H19eXwMBABg8ejJmZGZGRkdrFWyxmG7VHggAAIABJREFU9erVL1R7r65VKFB4cT+FEbuQSCQ07zOKwmZvoRJAUCvpY5XB+gXVpYSqGj9vb286d+7M5cuXn1vhqdFo8PLyok2bNqhdvLHy7Ut4QhYaxIjRENDAiX6NrYk5tJ01a9ZgZWXF22+/TdeuXcnIyGDf+XgSccLS0ooublJa+7Zm5aV85CqhkjRcKafOwzO80bIOnTt3pnXr1nqe8O3bt/nXur1EpxXhV8eSz6cOp1mzylzds9/d4uJijh49ysrwB2Tbeuu2a2lWSI+mtcgQrOnepNYLeWMNOb4/BwbDZ8DfFmq1mp49e9K9e3cWLlz4u+YSBIGdZ66yKugE6ZdDkSdfplWrVtQPGMgDlSVpl05gXpDM1KlTGTVqFOnp6XTq1Iny8nKGDh3KDz/88AedVXXI5XKdFzVjxgy99yoqKjh06BA7duzg0qVLDB06lMDAQNq1a8eePXv4+OOP6dKlC8uWLavGPQrVi5BM85O4u3k2IpEIa2trRG2G6RGGj/Gvw38G+VSbB/SNX2JiIqGhoYSGhtYY8jx27Bhz587l8ePHxMfHM2nTGWKK9UOTglKOY95NMvMK6VjfnhvHd5GXl0fbQRNIsO+IUhAhFWmolXKSuNC9qJybYNFhJFKHymKgZwtPBEHg5MmTrFq1ihs3bjBlyhQmT56Mk5M27FhTe8iRI0f48ccfOXv2LAEBAfj0HsnPj+2oUGkwkYl5u6UTe2OzfnfrjAF/HAyGz4C/NR4+fEjr1q0JDg6mU6dOv2uuL7/8kh07dhAREYGFhQVrDvzCxptK1CIJglJOrdSTqNJiuXfvHpaWlgwfPpzNmzdjYmLC6tWrGT58+B90VtWRnJxMu3btOHbsmJ5yQVU8fPhQFwpVqVQEBgYydOhQgoKC+O6775g+fTrz5s3TY3N5NgQXIE2EBzewsbEhNTUVuUNDrpu3BqkRqBVozm3lvb7+vPvuu7i6ulY7hqfG79tvv+Xrr7/m3XffZeLEidW26zxiOo8Ea3q3rEs7d3Pmr9mNWc/p1fr20KifUKZpGNzQnK52xfznWAI5dpVhTfWdMNqQTLdu3RC5t2Dt1TIqqjTj9/J2pry8nF27drF69WqkUimzZ89mxIgROgLwgoIC9kfGszwqF6VGhEijhMhtPIw+gaOjIw4ODpiamlJWVkZRURFltp5onBqienAbC682SL176I7ntzSt/16WJIOh1YfB8Bnwt8fRo0eZtnQDw2ctomcz91deBELjslh3IIxrJ4I4v2+9Lmf4rDdkkn4JTUYceUZOyFOvIZFIMKrbgiEdvDm45jNmfrWFChuP/9pCFBwczLx584iNjX2hdJEgCFy+fJkdO3awb98+fH19eeONN4iKiiIyMpIvvviCUaNG6bVknLuXTUdPeyb2a8fBgwexsrLCx8eHli1b8q+1QVxOLyGggSOOikds2LCBffv20aNHD6ZMmUL37t31vLqnxu+jjz5i6dKlxMTE6PKQoXFZbPklnospBdrePJFAaegaZs+ew9bwO6ilZqitXNAgBkEDosocpaBWkXvoS1xdXdG0G4daJNFrIakqHlxcoSSggSPNbDWsW7eODRs24O3tTa9evbC0tCQ1NVXvoVKpsO05CXHjbrr9uRQnMKKBBGdnZ1KVliSVGuFXx4pe3s5YWVlhaWmJTCb73fm7Zzlu53V0oLGlkoKCAt2jsLBQ7/lD7Mjy7IcKscHLrAEGw2fA3x6hcVlM3nkJtUiCqUzMt6/YSzd112WUgghjqYjvRrTWK2J4mv+SiqG9TRlRucZaD1ClBAREUiM0ygpKrhzWqa//EQvR8+7mZ8yYQUZGBsHBwS/Fg1lRUcHhw4fZsWMHFy9epFOnTiQmJmJubs4333xDhw4ddNuGhISwePFiVq5cybBhw+jXrx8hISHcunWrWiN9UVERu3fvZv369cjlciZNmkRgYKBONf2p8evevTu5ubmcOHGC0/GPdQt8VZhRQalKgkgqQ1DJsSq5j9jalaIHd9HUaq4n7jva350lg5pXuz7Hbzxgxr7rqDQgRo3no3ASwn4kIyMDqVSKSCTC09OTevXqYeLph9zOA29bMY8ePeLqo3IyYsPw9fUltVY33XdhXkdHvK1VRCQVsCVOjVJ4fuP8q3hfhYWF3L59m5s3b3Lz5k1+KXGixLW17n1J8nmc08OxsbHBxsYGa2tr3f9PH8ceWxCeUTmngRpNHwbDZ8DfHs96Zq+yCLxorFbt/goqDaBWQlYC1Kp5XsXjFIycPHTPR7apzdKhLWvc9tegpw0nhtn+1vTydsHW1hZTU1MCAgIIGD4Nq4Z+r+RdZmRk6EKheXl5lJeX06VLF9asWcPdUhM+Wr0dVwq5/PNWtm/fTr9+/Zg+fTplZWV6iuhVIQgCFy5cYP369Rw5coSBAwcyZcoU/P39uX79On3f+wijui0Y1rk5JnVbVhN7fVqIoveSRo1ILAGNinrSQlJVNiCWaNtJ+jfARZ3NnTt3iI+P586dO9y5c4fCliMxqV8ZAi5LvEzewSWo1WrEYjFGRkbIZDKM6rfBvOd0RDJjNCoFIkAkNUJQyskPWYlarcLcsw2S7LtYFKZgY2ODovkgCp0qP8vnfb+eNX4KhYKEhASdgXv6yM3NxdvbGx8fH8watCNVUps7haB8hRyhoUr0xTAYPgP+9qi6CKBSMNS1kBVzAl957LMLyLNG0c/NnOuZZchVAjKxCJEIFE8WqwkdPdgWmaJjRxEit7Jm/kTeeOON5+36uXi2vUCSfJ7S8O0UFRVRXl6OqZcfDgPnIZaZgFqBQ8Jh7CsyMDU1xdTUFDMzsxf+NTU1JT09ndOnTxMaGoq0ri8OA+eCxAhUChb2cOOd3loJqOLiYnx8fNi4cSOvv/667prV5N3k5OSwY8cONmzYgIWFBT3HzeZwjgMKjbZQZWQbV3bHZCKWGqFRK1EX5yKzcdE7d53RewJHZRaZ54OxadKevNuRFMVH4unpiZubG46OjlhYWCCVSjlZUZ8ym/q6ccq0q2QHL8bBwQFnZ2ddnu6hS0fSjOvVeN3lt05ReGYzCoVCZzABLDuOxLrD21oPWxCwTI+iTsF1rK2tdY98M3fOlNdBhViXC82KDcXJyQkPDw88PT1p0KABjRo1ol69ehgbG3PlkYIvIjKRqwSt+K2X/SspUBhyfM+HwfAZ8I/A00XAy0LFR6P7sHnz5pc2Os9bQGoyioCe7FLVcVXnEWXcZNq0aTRp0oRvvvmGunXrvvSxTNl1BdWTX62gUaO6cYzS+3GIa3lTkXoVk3qtsGrTXzemZx0Zb9UXKCsro7y8/IV/H2JHttQBcdZd8m7+wqNHjzDpOFZvvuKYo+Sf3oiJiQnm5uZIJBLy8vLw9vZGWrcVuY0GIkhkaJQV5B9dgTz5im6sIAhoNBoEQcCmx0S9eRWZicicPBCJJQgqBYWXDmDlNwixzKRSxV7QIKqS19PkpJIX9BHOzs4UFRWRn5+PnZ0dLi4uODo6Ulpayp07d7Dz6QId30UjEiMTw7L+DRns51mtj/FZpXUAhVpT7aZHLpeTk5NDdnY2q8491Asr9qwrY5CbgsLCQt3j2GML0k0qDa911jXcH19Ao9GgVCpRKpUoFArd/0qlknLv/mi8AnRjDOHKPw4Gw2fAPw4XL16kf//+HD9+/LkVkC+L33NXLZfL+frrr1m1ahUffvghc+bMqVFFvuo+Iu4+5odL9/XeF1QKBNB6SsoKyq+GYNlmIBqxFCka1o/xe6lj+zEqgfmHE1CLJGiUFeQc+oryxGg9D1KjrKCdOg5XTQ4xMTHcuHEDCwsLBEHAzs6OekPncVvpUHmOt06RfXwtZmZmWFtbY2lpibm5OcbGxpTa1CffewhIZAhqJYjEet5c0ZUjVKRexTpgDMbOlWHip0YQ0FZ1Zsbj18AVEyt7ujdxpbdPLYKCglixYgU+Pj70fnceuVJHvaKWF12PZzUjf+3z/bWwYkZGBh2HTUbS+T1UwssXmxjClf89GAyfAf9IHDx4kOnTpxMZGfnKMjl/NFJSUpgxYwZJSUmsXbtWT6suNC6LGUGxVKg0iAUVytSrSOq1qZb3qgrj+xcZ3aM12RIH9n3zGdEHt9ToUZaXl3P+/HlOnTpFaGgoj2oFYNqit+59nWfn2RYr374YGxlTmHYbqakFb3dpwaBBg4m4+5iGVmrU96/x/vvv4xEwkALvwdpGf7WSDiTwejNXzMzMePz4MTExMVy+fJnExES8ugyhuMUwBJGkWghTUKvIPriU8sRorANGY91hmJ6n9yyeGsOnBrsi6TLm5ubYNuuCuNM7IDXCSAxz2tvSs7ETlpaWWFlZYWJi8tJiuFU/k2eN4fNugHJzc+nSpQsjR46k7aB3/vSWBEO4s2YYDJ8B/1h8++23rF+/nqioqGpViX82BEHg8OHDvP/++3Tq1IkFCxYQHR3Nt1GZ5NlXNoTXsZJwv0j97GBA0HpMgoaKtKtsmjuW/r71+Pzzz4mMjCQkJARBELhx4wahoaGcOnWKixcv0qhRI8zNzUlISMA6YDRyr66Alv1F9TiJ8pSrWLTuj1hmghgNapX6SXWlArFEgiCS6LyRsnsXmTt3Liv3nebsnUc4KHNQ37/K1avaR3Z2Ng26DsWyYVuaOxpx5vZDytza6k5DhICACEGtovBiMOWX9mPesD0Wr8/Q5it1hS7Ck21rNoTqO2HYJZ/G2NiY4kZ9KHfz070nzbqDqiiLipSrFNw+h0ql0rUePP1b9f9n/z4QbNn3wBylRoREUDPYOZ8OdS114ywsLHTbi8ViXnvtNTp37sxXX33F6fjHv9kIvawBU6vVFBUVUVBQQGhcJl9H5aHQ/O+K9P5VMBg+A/7RmDNnDjExMZw6dUrXrPxn4dnFLCsri3379rFq1SrS0tLw8fGh38T5HMi0oUKlQSKoKbt6FNNW/XSKEJUQgErP5elC52VaRufOnalTpw737t3DxsaGbt26YWpqSmxsLPHx8YwcOZLx48fzQ1wFP93M1Z9VrdJrF3genuafhg8fjru7O8uXL692jiUlJcz7OR6loPXMiqJ/1uXwxBoVDYUHXEvLwcjIiMKYEIriI7HtOUkvD/gU3Ro6IpfLiUzK1RriJx6fiVTMpOZGmOcnkZCQwOUMOffdejxpsFdq84Riqe76dPGypbi4mOLiYoqKimr8W/X/a9KGZFk11h1H0ZUj5J/e+KvXx6yBP/YDP0L85DjMr+3DsigFjWtTFHaeWFc8wkmRibGxse5hYmKCsbExWVJnIlSe2sIYlQLz6/sxyb2LIAhUVFRQVlZGWVkZpaWlVFRUYGFhgZWVFbJeM9E4N6m8Zo0c2R7o94Kj/OfAYPgM+EdDo9EwbNgwZDIZu3fvfmWR1N+KqvkbKRrs7vzM3bM/0bt3b4YOHYqHhwfTlm4k18gRR2tLUjMy6eRpz4o5gSSUGLMnOo3IRK1yvUQEzxKagLbas+D0Jlq1akV0dDRr1qwhMjKS4OBg2rVrx4QJE+jfvz9GRkZ8ujGY7efuIqndFJFEpj+P3vxPDKwgABoQSTCRilkzQtsbmZ2djY+PD0eOHKHAvI5OixCVgor7N/RaClRxZ5g6pBtpcjMsStK5eesWd+zaa4tZVHLyj65ErVHjMHC+nvGViqFF8WXO7voWpVNjugyfTEl+DshMWDBhaI09dL/cyeTuwxwuZ1ToXv+tDCpPPzcTqZi365SRFH6QqKgo0tPTsbCwwMijDWrHBpQlx6C+fw2ZTIblG/Mw9qjSi5cVj23ubfIaD0IjliIRVHQQ3aWxhQIzMzNkMhlyuRy5XE54qTMJmsrq1rJ70aiLHlOeEos8+QpGRkYYGRnp+hFFIhEit+aY9pyhEwoGrVTT2pEv38P6d4bB8Bnwj0d5eTk9evSgS5cufPHFF3/KPp9thQhw1rB5ci9MTExQKpV8sTOEbXcEeNJD5l1wiV1fzsPe3l43JjQui4i7jynJz+bI3RJUSHSejxQNc9rZMqB1Pfbs2cOyZctQq9XMnz+fsWPH6thncnNzGfHhUu46dASpMWLUNHA0505mCSKJFKlI4LWmtTh+KwMB/VyY6v416tpbUJYcQ/ie77CysgIgKCiIzz//nIGLd7P78gPd9hXJVzCt1wJBLEOkUbJ8UBPebF+pvThv3xX2X6vUoXOQykm/eAyTVgMQVSEZr0i+Qif1TebOnUu30e8z6d+rCWjgwNSBARw7dgxfX98ar/kfVSzyvLBjSUkJG45EsvZaOYJYhqCswOzafnzsBBLqDaRQUsmm42EtpraxkvOPK8/LNvsG6uggHj58SElJCa6urtSuXRtTL39SXLuiFkmQICASi1BpQIqG+lnhpJw7xP3793FycsLe3h4zMzPyPXvphXifwlAZqoVBiNaAfzxMTU05fPgwP/30Exs2bPhT9hnQwFFPrHTsa37cu3ePDz74AFdXV7776bQ2PAeIZMaU29SladOmbNu2jaSkJDZt2sSmf09n3TtdCV3xPm0UN+lSCyZ1qssoPzfGNVBzfMuX+Pj4kJCQwN69e7G2tqZt27Y6oxcSEkLz5s0pNK0FUm2YV4OE9HtxutoZsVhCuVJVzeiZyiT09rLANO4I7dzN6dOnj06o17ZZF8zMzNjx5XydWK1EUDPCrw6Fx1ZjfP8iG8e10zN6APZW5k88SW3OM0dljEXbwXpGT1CrqLh1hqioKPpN+hiHgfM4eDuP2T/exLZZZwYMGMDZs2fJzs7m2Xv6qoK7vyff1cvbmcUDm1Ubb2FhQZFZbQSx7MnnZkL7weNp1aoVqpICvW3rOdsz7nV/ve/AV3MmcOPGDXJzc3XagF9++SXv9fWnr00mnuoHWJY91BImACrEtBsYyL179ygoKCA4OJiJEyfSpEkTxFkJT9iDKmEkEb9QFPefhF8P3htgwD8ADg4OHDt2jICAANzc3H5TY/mrol19OxQKBQ6FCcwfs4CsrCzq1q2LRqNh4hudCM4Q63TuejSohWNAAFOnTkWj0dCrVy+GDRvG6tWrdYbs5s2bbN++nV27dtGkSRPGjx9PUFAQFhZaVYMNGzYwadIkoqKi+OSTTzh9+jQfffQRX+w8iuXrjVE88SLUajWItUuDQq0BQbswP+1t6+hpz0j/unRr2JMuXfbj6elJpsSR9/ddBYkRO8/fRa6xITPmBL19mtOwywDuhh/m5OEjvN53DFkiW0RUr6QsVah11apPKy3VQlWmFjXm+Uko6/tS17gxiaUybdEL2puDLJEd+Q8f6rhBxWIx9vb21KlTB29vb1q2bImXlxd1jZ0Ji9c23v3RYb+ABo4EXUpFKYgQa1RcOrSLf29eRptSEx29nZFEzEj/ujpDXJP3aGJiQv369alfX9v79/aT16uRhj8xZKampvj7++Pv76+bY9zWC4Qn5umed/S0N4Q5n8AQ6jTAgCr4vT1+L1N9dyoukxl7YpCrQVApsSh5QCNpNpcObMHBwYH27dtz5ZGcxw0HIJYaIaiUuKWdYLCfFz179mTX2Rvs/eUqnRo48uWMUYSEhLBt2zaysrIYN24cgYGBeHl51bjvHj16EBMTw5tvvsngwYMJDAwkKCgIoZYPwedvcnjTcoYMGcyxAhcEiazGxvyq55WSkkLbtm1pMubfeg3adeWpDKhdwZYtW5DL5bz22mu8MelfzNx37QlnavVQo57235MKTikahrdyorBMgUZeSkhS+RMGGTnlSZcxadjxiZEU6O6s4uw3s0lLS8Pa2hppXV+sGvkhykog78YvFBcXY9d1HCa+/RGJpQhKObbxP9PESomHhwf169fHw8MDDw8P3N3dkcn0c50vi2+Cw9h4KILVH0/m9skgvvrqK/bs2cMVRS1Ox2fSs4kLc19v9OsTPQcvW+Fp6AN8PgyGzwADnsHTHr+vdh8noVD8wgVGoVCQlZVFZmYmoXFZbE8QUApiJIKaFqUxGGUn6Bjzc0xqUWFdF5WxDSae+kZVo6ygLPQ78m9FoNFoqlUzPs3NVFX3RiUn+9BXtHAQ8+mnn9KrV6/nCu5WVFSwYMECdu/eTUVFBcuWLePTTz9l3759dOvWjYKCAnx9fVm+fDkff/wxU5asI9/Y5YXnnpiYyMqVK9mxYwdGHq2x7jMbkcwYQSnHNeU4frVN2bBhA2+//TY//PDDC3lPFQoFS7YfYmeSDCQyNGolFSnXKLtxClHGTczNzTENGIfg1Vk3Xpmdisyxnu65cdpFFvZtxObNm7mVL8bitRmIZMagVlB66juaN/chqXYPqmZ4etU1ootFFikpKSQnJ5OSkkJKSgqZmZnUqlVLZwirGkUPDw+cnZ0RiUQ1GqGMjAxaDxjPewtXENDAEfGjW4yZ/xVmvaa/UgP7HwFDH1/NMBg+AwyoATO/2sKhbHuQGiETCfQwTcM0L5HMzEwyMzN1xq6kpAQnJyecnZ3R+L5JvkNz3Ry+FsUM8wQbGxsSy81YE1OCXC0gRo2gERDE+pmG4pij5IVuQCKR4DsgkKKmQ6lQaemyvhrcBFVqLEuO3yXXvrI4oUstuLr5Y5ydnVm7di0NGzasdi4xMTGMGTOGpk2bMvyDpaw7EEb04e85vP5zunXrhiAIDB8+HAcHBwICAlizZg3nz59/bmP3xYsXWb58OeHh4fj4+HD9upaX0rvX27ToPZyjm78m/WIIpaWlDBo0iDNntDm5+2qbah6Ij53Axo0b2bhxI/avT6HYpbIwpaV5If6SNPLy8rhTYkSyuBal5rW1TC9KOaWJlzBvHKBTnS+++CPFkXuwsbFB0n0GJvUrqygbiTORSy1IVVSK2UrEIjaMal2jQVAoFNy/f19nCKsaxZSUFMrKynDz74ui7SgEsQyxRsUbdo/p7GlLumDL6ksFiKoocYTEJvHz7Xzd/IYik78WhhyfAQbUAOtG7SBf650oBRH3SqT0c3enTZs2uLi44OLigrOzM3Z2dnq6dVUX9imDu+kRWsvVxYC2gMRSnY88Lxu5jQciqZbXUpabiLW1NZs2bWLYsGEEX0hgb/h1sm+eY1SXYdjZ2ZFjXAuHAQ1BaoSpTMLoHq3YOiWWNWvW0KFDB6ZMmcLHH3+MmZkZSqWSpUuXsnbtWlavXo1Dy+68v/cqFRI37AfMJfhCAt26dWPr1q3Ex8fz+fdHmPPVJt6Z/K9qRk+j0XDkyBGWL19Oeno6vr6+iMViXFxcWL9+PS4uLrRo0QJfZxmPrpzEyMiI999/n6ysLJRKJX3e/YiRcxYzoaMHxRVKnIU8dnw+h2PHjjFs2DBOnjxJpsRJ7/q907cDylQTtp28zC3rNtoQp1qFZVEaDSWPOVtaqDtOkUiEqZUdKzZtIjK1mNCySpV1qQiKcx+TYeUATxxiMTC5s+dzvSAjIyO8vLyeGzIuLi5m/o8xhNwr1V4fsZQ9Z6+yb+VPmHYai6hhVwDKlWreWbAc6/IMRC2GIYhlSAQ1eXGR7C65rrtpcnJywsHBAam05iXZ4Ln9sTB4fAYYUAO0RiyWcqUGsUbFhrF+vNa0uqJ4TeOeR2ity18BaNSUXz1CeXo8jj4BmBWlYVOazmeffcaVK1c4dOgQt2/f5rXXXqNBgwbs2bOH4uJiOnfuzMTP1hCVnF9tHw8fPuSDDz4gOjqauXPnsm3bNuzt7dm6dSu1a9euFmpU3Apl+/Q+jB49mq92H+eLiCwUan2Wj4qKCnbu3MmKFSuwsLCgefPmnDx5kvbt2/PZZ5/RrJnWaykrK2PEiBGEhIRw6NAhmjdvTseOHRn78XLiFHbEPCjVCcuaXdtL8Z0opk2bxoQJE/RYc4IibrE/4ibZNyO4cXw37dq1w6xzINdKrXXbjG1Xl34upXQfMxO3YZ9qvWhBxWx/GzZ8MhXzzuN5bFPZuF2edBlzoUKP8LlbI0dG+tX93XRgVQ310jcaIMq4yZ7wm0RLm4HUCJFGSXfjVHp5u5AsN+fqowpU5cUUlikwyktCmRrL48ePycrKIj8/H1tbWz1j6OzsTLldA8Iq6qAUxEhFGqa3MqdHY0fMzc11DzMzs+f2oBqMZnUYDJ8BBjwHoXFZnL3ziBPbV/F6s1q/u8dvxIYILqQVV74gaGhpnM257+bi7e1NdnY2RUVFDBw4kIEDB9K8eXMWLFhAaGgoMpmM/v37s3r16hc22Ws0GqZNm8bmzZtp2rQphw4d0nGRVqsIlNwj6Ot/sXLlStKd2usZxWEtnbG8e5y1a9fi6+tLkyZN+PHHH2nevDmLFy/W65W7ceMGI0aMoGXLlri6uhIfH8/Ro0fZdvIK/zmTrmuVeIpapgL/HtKa15u5otFoiI2N5ciRIxw+fJj09HT69u1L//79ef3117GysqqxSCPm8HY+//xzDlxKJCwug0uHvqewsIDOb08i/nos8YIrIqkxGmUFuYeXI5VKse33ga4v0in/FvnOrX53zu1FNzonr6dhWphGZswpwsLCKCkpoWW/sSS5dK5xvyqVitzcXLKysnTGMCsri2OPLUgU1dbNXXTlCIVhm5FIJIjFYp3Cg7GxMebm5joicDMzMxSNX6fIrR0CzxfJ/SfCYPgMMOBXkJOTQ4cOHZgzZw6TJ09+pbGhcVkciIrjfvRJLl++jNnrs6AK2bKgViGO2srILj4MHDiQAnN3zifmonp4i22LZ9G3b1/Cw8MZN24cCxcufCGhcmpqKuPHj0ehULB582YOHDjA6tWr9ZQfqi7UB9YsYu/evaxevZpabXvrjItEUFF88lv6tayDl5cXW7duxcvLi8WLF9OuXbvKYxcEvvvuOxYvXsyKFSsYM2YMKpWKDh06MG7cOK5LGxGaptA/yCfVmkZiaFp4ieiDW7G0tKR///4MGDCA9u3b1xjue9bADB48WCc0C3Dq9iOm7LqMGm3FaE93CUdOhmJZ+pDiomJKLN0wFqnRSE1oZi9FUcePNGVlvu/PyLlM+h3aAAAgAElEQVSlpqYyd+9lLheavdJ+9dhiZGIm+xjzMPo4v/zyC7du3cLMzAxLS0ud4TQ3N8fNzQ2LRu154NFX7/tmyC1qYcjxGWDAr6Bqj1+eqRsVNvVeKmy07eRllpzNQCOSIrHvwOjRjYlKuMEju+Y6pQGRRMqYuUt1FZsznwrmqk1p8f4GQo9s5qPZs5k+fXqN+3hqEORp19n2n1nMnTuXDz74AIlEgre3NyNHjmTGjBl8//33rFu3jl7dtHnHgwcPcvLkST7dFMyCXUd5X+qE2/3T3M5V06NpLdq9O4Rvv/2W5ORkduzYQefOnfX2m52dzYQJE8jKyuLChQu6XJhKpWLQoEHMmjWL2n69kXaZhBoxEjGYi1QUqZ/0B2ogV+bEmTNnaNy4cbXzeha9vJ31rnd8fDxNmlSGM88n5qJ+ksArV6qxdXLj5vaFjJy3jOvmvljITLQFMbFHeVSnNcUVJoie5Pv+rMbuevXqMXGAKbdq6MN7EWrs93tLq+ChVqu5fv06586dIyIigvDwcExNTXFxceFxLV89oycGQwP7Exg8PgP+sajqRXRraE9hYSH5+fm69oOnj5SUFI4fP869MhNs3/gAscwECWredC2meyMHatWqRe3atbG1teV0/GPOxD3k/qWT/HInC6NmvXT7c8i7zfT2TqRZt2Dn5QzUgn4+7dkcHIBMJLBudNsajWxoXBbT98QgVwugUvBJ91q828e/2naCIHDo0CFmzpxJQEAAs2bNol+/fsxfs5tvLhfrwn8DHHLwdzNj2bJlWFpa8p///IcePXpU8zJPnz5NYGAgo0ePZvHixRgZGZGWlsb69evZunUrfn5+eHl5EXI9HU378WgQI6iU1C6O55F1Ex1lmWlsEPLkK7zzzjsEBgZSq1atl/7sLCwsWLBgAR9//LHuWtTUs1btmmrUINZv+fizyZv/mzk3QRC4c+cOERERbIgTkW9WGSL1qWXFkRkBLxj9z4HB4zPgH4nlJxPYEJ6IWoDvzydSkXoNIfEcRtkJKBQKSktLKS8v16O9su05SccUokbCuXvZxB7ZQUZGBg8fPvw/9s47KqqzicPPNpr0oigCUgQEC3ZsYDdqIsaukVhjSzTRWGI0X0wziRqjMaZpYm8hGnvDjgUrNlDAQhGlKp1dttzvD2RlARUUW9znnD3A7i1z373cecvM/FBX98G6+8eIZIZoBA8KcqMxUBeApFALbny/TvRt4YmJiQktPWuUevi1qW1H8NlbhSO++ygFEaExqaUekGq1mjmrtqLgvrOQGhBfUKXMaxWJRPTs2ZNOnTrx5Zdf0rx580LHtuQfba6gSGbItjPXOB68nzlz5tC1a9dSDq+goICZM2eydu1aVqxYQfv27Tl06BCLFi3i8OHDDB48mIULF3L27Fk2b95MtkdXTO7nzImkMjp2fYumTmaMmDGX3Gtn2P77t5iamrJ06VJ8fHzw9/dn5MiRdO3a9aHRjQBZWVkIDvW4btmYkMhk7WiwrCooxdu0LKUJCQIIaI/zPCg5eq1MRCIRderUoU6dOrgWC6gykIiZ0KF0qsvrin7Ep+e1IyQymTFrzqLW6N76xVXHy6L1gHGk1n4TuVKjHVW0rW3NkSNHWLp0KfvuWVOlYTft9nUN0zHNucXNPEPUiZe5d/kIt2/fxtDQUDtKLP6zRo0a3BHbEnpH4GxiLkq1UGZAwsWLF+nduzdJEjuqvT0dFY8P0NBoNCxevJiZM2eSlZUFgLF7M6q9PR1BIgOVAsXB34g+uBEzM7NS+8fExDBo0CCqV6/OokWL2L17Nz///DMqlQp/f39ycnLYu3cvjo6O2uCc6/IqTNp4CZHUUMe+Tz75hODgYG7fvk1cXBxVq1YlJyeHv//+myVLlhAfH8+wYcMYPnw41+VVSjmznzYe4ocT6Tp5co+rYLLvcgLLl/6OUf2uiGSGiNFQy9KAG+lykEgxlIj4eVDZOX2vMvqIzrLROz49rw2JiYmcOXOGn8NSiKHsabX866fJ3z0fubxQvkYkEiGRSPjhhx8YO3YsIZHJHLhyG+OMOGIObWT79u0YGBiQm5tLv4lfc1zkqeMYSz5sBEHg3r172lFi8Z/Ff88yc8bC0w9LeRIuBtnUqFEDOzs7zpw5w6FDhzAyMmLjxo2oq/twNCatzAdbSGQyu8/f5NK+fziyttBJqdWFo0mxWIy1tTX51rVxa9Wdz0b1ZesvX2Nra8v8+fN17F25ciWTJ0/mgw8+IDMzk+XLl+Ps7IyRkRERERE0b96cwMBAevTogZOTk44N89bt4ae/Q1jwyWh6Na8NQEJCAvXr18fU1BSJU0MGT/maAI8Ho6DLly+zdOlS1h2JwKTj+wgSGUYyMYsGFErqdJ6+lGgepJaUN2Bj7dq1TF24GnENb6oJ98g2dUDu+GBq2FOUxObPBmFsbPzYY+l5tdE7Pj3/OUIikwm5lICNMhVl7FlOnDhBWFgY+fn5GBsbU1DVC5u3psB93bkiKR8orJ2Zs2chlrnx5OXloVKp2Lx5Mx4eHmzbto3Nmzdz6NAhfDoPBHsvYsN20bOpG19//TU2NjaV1sNWqVSkpKRoneG+fftYtWoVBQUFGBoaFgYvpKRo5WtKjiBvFJiyJ7tGoTyORo0m/hy5aUnIY8MpuHkWCwsLfvzxR7p168YXX3xBcHAwn376Kd988w3bt2+nadOmZGZmMnr0aMLCwrCzsyMyMhJLS0tycnLo2rUrgYGBdO3aFUtLy0dey+TJk7lx4wYbN27UtvOAAQOo4uFHSJ4j4oeM3GZsOs+a04nav2vkxvBVYD0m/7iCdK/Ah+73MARB4I033kAqlXLt2jU6vPsRO+5VQyQzxFAqwilhPzdCN7No0SK6dev22OPpeXXROz49rxRlOZbs7GzOnj3L6dOnCYlMIsq2FSKpIYJKgerIEtIvHKRevXp07NgRf39/WrZsyUf/RnEwKrXMcyjjwqkRs4Xs7Gz69evHoUOHuHjxIp07d6Znz56Y1G7OtK1RKFQCBhJYPKjJM5lGColMZs/FOC6HBHN5zzo0Gg0DBgxgzpw52jWw/Px87ty5o502DAkJ4cCBA8h9emDi21V7rCLnrlEVIBxdSv9WdXByctJOsd67d48vvviCjIwMNNV9aNV7JNuXziM3+gSCIFClShX69u1L7969adu2LQYGBuW+DoVCQfPmzfnggw8YOXIkUFj2bMC8TVA7QLtdyZFbSdHXTlUSOPb3b5w/fx4jt6YMmfYdvVp6V6jtb9y4QbNmzXjnnXc4cOAA4775lZ//2U+VnAT+nj+Tq1ev8sEHH1C/fn0WLFhAVI6hfqrwP4je8el5ZQiJTGb8unPIVRqkaPBMP87No1uIi4vDyckJY2Nj7rp0gPvlogA6OEr5eZh/qemrkMhkxqw+U6ZyuaBWkbt3IeLblwkMDKRnz5506NABI6PCwJZHFVuuzGstitgUaZTkhSxm3sR3CQoKKrXd7vOxZFw9we4/5+Lu7s64ceO4Ljfhj0ihVAQjgHsVBR0kUaWmWJOSkqji4Yd5148Qy4zQKOUYn1vPuMDWDBs2TCs0+yREREQQEBDA8ePHtfVEfbu/S65vP5QaEYJaSaPqJozr0qBUInhxx7PlzA2GTZ+DPDYc6/xEbG1tCQoKwtGvG5fT1OVyUHPmzGHfvn34+vpy4MABZvyynj93HufMtlXMfn8gAwcOZM6cOSzeEop5lw/LtYaq59VC7/j0vDBKPtQUCgW3bt3SvuLj44mMjOT8+fNcu3YN49ZDdBQLrNIuoj65jhs3btC0aVPat2+PuXdrfr0gf+Q6W9G5f9ofTcSdLDQC2sTqIhrYSdj0YdlqB89D7qWkc33DzZjfRrbX2eafsGimbr5SmCcoqPi0bXU6eFVl4sSJHD9+HLVPV6o0ebtUJGNZ4ftpaWmMHDmSI7n2Om2cE76DeyG/o9FoMDIyokaNGtSpU4cWLVrQunVrvL29sbMrX27Y4sWLWb58OcePH0cmk7F+/XrmbwjBJ3A0R6JTUAsijKQiFg0sO8gkJDKZcatPoxREaJRylg5riSzlKvP/3scl0yba+qWP+z6USiVNmjThzdGfEnIzjxSRtTbARXpqJW5Gefzxxx98u/c6W648EJDVJ3//d9CnM+h5IYREJjN29RlUAqw8dh3FgcWkXzyEtbU1hoaG5Ofnk56ejiAICIKAgYEBFvm3EVQFhTUQ1Up8qxny7sKFtGjRQjsaA/Cu8+h1tu3h8Uz852LhSEOlxODeDcyrOpAuPKjkYW1t/VCJn0cJiFYWjR1MWKVRIohlGEnF9G7po/2soKCAn3/+mR8OJSDz6QiAWiRlWWgMM39eA0l5pKamMrC6kpMnl+Pa6V1u5Bui0giFIqjNnLXH+vfUNX7euJ9TW1eSc/U4xu7NMG3QSTviy7t+FqlUynuzfuK2xoLc62e5EbaDgwcPolAoEIlEyGQynJycqF+/Pn5+fvj4+FCnTh0cHR11pHtat+tN1Z07mTVrFt988w29e/dm8uTJNO4+GLVQ2OmQqwQORSWV2aahMako728nlhlx9Fo6Xwa242CWHZfudxLyleoy0z+KI5PJGP3lz8w5mgbSB9+5Qi3QZ+x0OPM3vr6+jP3mV4xlxhVKNtfzaqAf8el5IQxbfkp3jS0nnYwDSzBMiyYzMxOFQoGJiQkWFhZkZmZSv3592rVrh1XdAO4aVqV9nRoVcjhpaWls376dzZs3E6Z0xKj+G9rP3vVzpk1tO52cp8WDGr2waa2oqCgCAwOp22UQnm0DaetpTyfvagiCwLZt2/j444/x8PCg3jufEhyRiVojIKiVAIgkMlAV8OUbLhxeuwiVSsWKFSt0RtcA+yJuEXn+HBcVNoV5h8VSOYzdm2FUqyHy2HA0CRcQOzbANnAqYpmRzppmSkoK586d4/Dhw5w4cYKIiAgyMjIwMTHRRpA6t3wLZdPBaMRSZCKBmR0cmB7UnfXr1+Pv7893333H0ZuZXK8WQL5SjUijpLH8Av8s/LxUu+yNTOK9v47f1/yTs3R4azp5V3uiEXhZxQKK7xsWFsa7776Lm//b1O/cj451a+qnOf9D6B2fnhfCsGWnOBitG1yiUcrJ2PEj8uun8PLyokuXLrRr1442bdqUmVv2OG7evMmWLVvYvHkz4eHhdOrUiZ49e1LFw49Pt18r9aB8GXKetm/fzvDhw5k9e7Y2EAQKQ/wnTpxIYmIi8+fP55LIRZuAL6hVqNJikVV7IKHTwqaAs39M4+zZszptFxKZzLg1p1FqRCBodEpaKZJvkn/tJGLDKshjwwEwqtUQixquCDUejDiN5OnMeKs+Qe19S9mfmZnJ+fPnCQ8PJywsjDCVk04AS/bZ7SjD1qBSqZg1axa+vr7069ePP3aGcTlVhYFIzV+r1tHPvx7fjX9H59jR0dE07jGUvuP/x+bfvuPupUM611WR7664szSQiGnlZsOg5s46++bm5vLJJ5+wefNm/vzzT0Q1G7zw+0NP5aB3fHqeKwUFBWzYsIFftx4l0aVbqfWnNtU0LBra5rEh8mUhCAIXLlxg8+bNbN68mdu3b9OjRw9tcErxAJeXwckVRxAEZs+eza+//kpwcDAtWrQACkeq//vf//jnn3/47LPPGDNmDAej0xi16oyO01LFn8fYuQFKQYREBPnntrLtm1E0btxY5zylRtrFzl8k6CoSFU4Bg4BIalBY8UQkArFE5/MWmgj69+9P+B35Q9uxuGK8RFCRvu0HcqKOo1arEYlEmJiYkJ+fj6WlJS37jSHKuiUFGhCUCqa1qcq4wNbaY43+cjEbj0cwfvRIfv1zOavmzHiq766898C+ffsY/tkCxK2Hg9TwkeuQel4N9I5PzzMjJDKZ/RGJmOfd5vKetRw5Uli5RCqV4uHhgWn3KSSJbbXbS0Tw2+DHpwaUrLF59OhRrbOTSCS8/fbb9OzZkxYtWjx0ne5lIicnh6FDh3Lr1i02bdpEjRo12HXxFr9tPszJLcvp16oOs2bNwtramoiICLp8uhSpd0ft/oJGzRgfCdJq7tpRoBQNvwY1e7QmYEUpMUI0U2aQJTIuVZmlJMW/L383S3788UfmzJmDXC7H3Nyce/fuoVQqsevzOcZuTbT7qeLP06N9K3q28EKEiNErwtAUU61/npGW04LPsuFckvbvrDPbsFGm4tC4A+29axDUvgG1atXSKfP2JJ2rl61D9l9F7/j0PDVF/6wtXa2xV6dw8uRJNp++QaRVc60mmuj4Mjp52zNq1CiaNWum3U8rhSMWMcbfjSldPB97rqIRhFijIjfkZ2qK7tKzZ0969uxJ3bp1Hynd87Jx/fp1evbsSbNmzfjll18wNDQsdFBrzlCgQVtKq52HDcOHD2f16tVU8fDDvvenhcE5GhU9PU1ZOLxDqYTvklGIJde1dBL3i/1+/w2dKNeyMBAUFIgeaO1VJOoxISGBESNGsH//fr766iuWnExC49UR0f30C5GgQdCoQSJDUCowzbtNroVLqeM8r0jLkhGlWac2Y96spzYIKGPHjxTcPIOLiwtubm4YuDThomkjVEiQijS8aZWKszQTpVKJSqVCqVSW+j0Ra8JNGhZG6aKmh206AW5W2gIF9vb2yGSyR9qod5rlQ+/49Dwx6enp/LbtGMuiRKgQIygVqEOXIk2OJK/OmzoJ1A97QJX3n1WlUrF//35mbY/kjumDYrtv17Xmx3daVO6FPSf27t1LUFAQn3/+OWPHjtU6npIOqrmVnJ1fDUWlUmFoaMj+/fv5a89ptp+5zuej+zG8S1OUSiW1Wr2FxP+9h1Y0Kd7RAAF48g6CRCxCrVJp8wQFtZJeVe/y4+ThFTrOmDFjWB8aieVbU3RGkw4WRiRmyrV/e1tqiEhVFga23HfSIrWS5uoIujVwpFGjRnh5eSGVSp/IAWg0GtLT00lKStIKwBa9it5L0FiShBXy2HAMnX110j6yzmzj3r7fATD1bIF563eQ2dXSfu5cEEtDdQwymQyZTMYdsS1JWOFsmIe7cT4ymYxD2VUJz32QK+kkv4nl9b3aAgUpKSlYWT1whMV/3jV2YNUNGQXq5zsSflXROz495SYuLo7Q0FCOHj1KaGgoCQkJuPSZRma1B0EOFsnnmdDKHut6bfl0e8xT5boJgkB4eDirV69m3bp1ODo60qLvaPZk1UCuenSe3suMIAj88MMPzJ8/XxvdWBwdB6UqIG3rXOpZC8SrLegxahqZUWFc2Lma3bt34+joiFqtxsvLi2vXrmHm1YqPvvvtkWtu8/ZeJSo554ntd7A0wqOqmU5wUrOaVTg7fwSjR49m6tSp5T6WRqPBd8Rssuwbat+TiGBMgDt/HbupvX++6urCmLFjGTNrARbGhqRmZGOnTkeTUBhIc+7cOVIN7LFr8TZKGzcEUeFIa2prO5o7GOsomhd3ZkWvtLQ0LCwsqFatWqmXvb299vd//vmHhIQE3ALeZlkU2hGf9ORK4k/swMClsTYCtvi6qfL8NlxzIrDzbU+6VR1uq81RlZClelx0qlqtJjU1VesIi/88pa5Fus2DjqU+5/DR6PP49Oigzblyt6GGkE5oaKjW2SkUClq3bk2rVq1o1KgRZ86cYevZQxh18AaJAUZSMfMmj9T+s5qamj7R1EtcXBxr165l1apVyOVyBg8ezKFDh/D09NSx8VWb0gmJTObglTuc27mGtAsHOXnyJI6OjqW2S09PwyAzjntJSUhunmBS/478uec0pp3Hs+t6HiKRF/OXbcHR0RGNRkPDhg2Ji4tDJBIxqX9HZj3igVfUXg+rWvNwHowQU7ML6OlrQdjNu4UpCGolioh9HD58mI4dO5Kbm8usWbPKNeUsFouZMaI3U7dcQSQ1BEHDmLYeTOniia+jpfZ7zog4QgvHKnzdsz4qlYqkpCQSE9UkGtXGxMQEWa1GHMeLAtGDNV2VIOaTH5dzb9/vGBoaYm1tTa1atXB1daVOnTr06dOHmjVrUq1aNapWrfrIacQiXF1dcXNz49L33+PgkMD/flmL/GY4Go2AbZexOHk3JkVamFNadP0ikQjb2r7cTHckwbguItWD8xTPO3xcfqhEIsHe3h57e3saNmyo81lJp6nPOXw0+hGfHi3F/3kEpQLJyZX4u1nSpk0bWrduTWZmJuvXr2fDhg3Y2dkxYMAABgwYQEye8RM7oiIn1rC6MWkXDrB69WoiIiLo27cvQUFBtGjR4pVas3sYuy7eYvy6cFSIEWtULBrYkO6+ukoGWVlZjP9+CYcULohkhU7AzzyLY79+Qs+v1rItKku77bt+zsx6yxs/Pz8uXryIRCJBpVKRmZmpk8z/MObuieK3I9dRawSkYhFKpQqRREJZU6CCRk0Nc0Pu5Kh0zt+mth2hMak0dTRl9vsDadmyJVOmTKFLly74dB6Ae+u3yn1PfPXXZv7ccYy8G+dY9d1UJBIJiYmJ2tfOnTu1uYFpaWnY2tri4OCgfcXaNCNCaatzTEGpIG3rA5kpmUyGRqPB0tISQRDIysrCycmJms27IXWsSxOHKgQ2ccXLywsrK6uH2vrhhx9ibGzMd999R3JyMq36jaGg6eDCUZ5aVbhOKRJp10lFGhUSiRRVWU9alYJ62Wfo7eeBv78/Li4uT3y/v6odwheB3vHp0VJybamdpx2Tm1Zh3bp1rF+/HpFIxMCBAxkwYADe3t5Pfb6SjrZ2aijje7Wla9euFSqC/DKSmZnJ3r17WbduHaGhoah9e+usCUluHKWFLIGGDRtSv359Ll68yNy5c3Ht+wm3TWtrtxM0ar7q7ET16tVLTYN9PbYfJ0+exMbGhtTUVEaNGsXPP/9cbhuLHpQZaXfYefwiMqmMOp7uXEgH9f0qL63cbci9uBdzM3MOq1xRakQYScUsGqib4H/v3j0CAgJo9vZI5DUbcfRaOoilWlvbedjcH6UllnoV1Qq9ceMGarUaCwsLfH19dRzb999/zzfffEOHDh2wt7cvJVRbVl5eV09zZo8bwN27d8nNzcXAwIDU1FQkEglubm6IxWKSqjbDtNnbICrskJhdCubm0a0YGxvj5eVV6uXs7ExcXBxNmzYlNjYWU1NTPt14nrVnEks2LwC17UzQ5KRzPV+3VqyBRExLN2vaVBdTcPMMR44c4fDhw4jFYgICAvD398ff3x8vLy/2XUnRO7RKRu/49GgpFe6uVqI+8gf9W3szcOBAGjVqVKmjr+dR7Pl5IAgCsbGxhIaGsmXLFo4dO0ZqauH6l7GxMQqFAlPPFtgFTqNAA0YyMZP8rJAmRbJp0yYOHDhAQUEB9vb2eHXoy/UaHRCKjbqK2qXIUZkZyVgbvInrx3bQpW51oqKiiIqKIiEhgapVq1bI9pDIZMauOqUNTvqhT10szC10HrTHjh1jzJgxzN+wjyHTvsXFsTodunTXfp6Tk8OtW7dYHxrJsmgKpyyLob5ygOSdi0qN0kq+LC0tadmyJWlpaSQmJmqLYiclJeHt7a11Wo+6lpIOIi8vj6CgIGJiYlAoFNja2hami+zahYFLE8y6TtTJJX3Xz5kvevhw584drl69WuqVlpaGh4cH6enp1K1blyFDhpBl5sz8sAzkKg2olUhlMlQaEFQK6mefYcjQoXy280bhtLCgpiD+Iu6iZD7u34lu3bppnbggCFy/fp0jR45oX/nW7hh3eB9NsU6E3vk9PXrHpweAjIwMgoOD+eF0HnKbBxVAgpo78VXPes/knM+j2HNlUPKBqlQqOX/+PMeOHWP//v3a9U+1Wo2VlRUNGjQgIyOD2NhYLC0tqVq1KsHBwVy6K9IexyovgcmTJ5OamsrcuXPp3Lkz165dIzw8nBXhd7kqcixMGFcpqJV4gAB3axo1akSelTszd15HI5YiQkAdew55Rgq+9obsXfZDha+trFF+UQFrjUZDWloaCQkJdO7cmQ8++IAdFxJIce+OWGYEqgJy9v5E/rVTODg4YNTqXZ0gFQCpGL5+oxZ9WniWGqWVxenTp2nTpg2DpnxHzSYdaVPbjvSLB1m/fj2bN2+u8PUVXcf06dPZtGlTYZWYP/7gnXfe4bJNG67lFZsW1qjxF0czeWBn6tWrV2YnLycnh+joaLZt28aCBQvo2LEjUVFRxKstsfRqjlFGLElJyTTqNohO9RyJPbaVLWdu4BM4GkdHR95pXouWzqYEBwezdOlSbty4wdChQxkxYgRubm6l7rVJa8LYdDlde/5XtXP4sqF3fK8xBQUF7Nq1i1WrVhESEkKnTp3w7f4uq2/KHqtuUFm87OsSOpVHUGMTtZXLu9diamqKIAjk5ubi7+9Pr169sLa2ZsmSJVy5coX+/fuzfv163nnnHb7++mvtQz82NpYZM2Zw8OBBvvjiC4YNG1amQyhqF08LDcZ3r3Hu3DnCw8M5i6tOndGidaSifL+iNnxcuxYUFHDnzh02HLvC4vB8RNLCqWWRRo3N1X9Jv3iIO3fuYGpqioODA1lZWdjY2GDZcRTXRA7a4/RvaM93fRtpi1GXDJpp52HHsmHNSp7+kfQaP4szhvW0aRled48T4G7NRx99VKHjlGTJkiXMnDmT8d/9wb8XU0mX2cH90Z4Y6FXHFGnkLtavX4+JiQkDBgygf//+xKsty2zLVq1aMXHiRPr06YNarSYuLo6rV6+yZcsWVq5ciUPzrsgdGiOp4YNIKkOjlGMRsYmeTVwJCAigZcuWxMXFsXTpUlatWoVL60DuegWiFETa/z3glegcvmroHd9rhiAIhIWFsWrVKoKDg6lTpw5BQUH06dNHu6D/sjujZ01IZDJ7L8YjTolm3+VbOmHi+Rd2U+3WYd58803eeOMN/Pz8OHz4MF9//TWJiYl88skn5OTkMHv2bJYsWUJgYCBQOKKePXs2f/75J+PHj2fy5MmYmpo+zIQyWbp0KV/9tRlJ27GFUkolqHL7DB0t72JcuzmbkjonxnkAACAASURBVCwoUINMJNDOKBZpUqR2Te3WrVvcvXuXatWqUaVKFXIaByF1epCS0tFJxvTObtSoUUNb5u348eOMGjWKH//ez6jlJxAksjJFeIsHzTzpg/qzzZdYdTJe+7fi0l4+6eTK0KFDsbCwqNCxSjJv3R4Wnc0tDB4qRnEHLQgCJ0+eZP369QSfiMIgYDSCRFZqbXPTpk3MmTOHEydOlBod/rn7NF/tT4AS075F+X5FaQ6GhobY2dlRq1Ytcjy7cc+uvo5NjtYmmBnJyJYrX9v/x2eBPp3hP0xxB+ZikM3q1atZvXo1UqmUoKAgTp8+Ta1atUrtVxRa/boRHR3NguD97Mq0R5AYgMoE9e14xOa1EckMkYkEhowciiAZTevatmReL5yWy87O5u0PPkdl507wrvUknwvhxIkTuLm5UVBQwK+//srs2bPp0aMHly5dokaNGhW2bfXq1cyaNYuDBw+y+YZGW5qsaMRnJBUzvGsLNAkXWBMeS0HVBgAoBRE38w0J9Pamc+fO2vW0atWqIZFImDZtGqkGVTioUCJIZBjLJPQPaICbm+737+fnR0ZGBg6kM9RDw4qjkYgMZAjo1gItmYbwJPeRv0dVVhyN1ubIZcec5t+cC8yYMYP69evTsWNHOnbsiJ+fX4WDoLJMHBDJSqsyDGr+QKpJJBLh5+eHn58fZsWcsFyl4dNFK7Ea0Y4mTZoQGBjI1KlTOX78OK1atdI5ZpzCuJTTM5KJ6fdmK/4K/4e7d+9i26A9oup1kGTFkZgYQX7+QWRtPQqvW63kwNUkRGIJEtQMcpZjXdON7GyTUkXHX+dO6pOiH/H9RymuVo66AMWB3+jXyougoCAaN278n0gReFKK5yqaZcWyZcsWtmzZQlpaGlUChumoCXRxMaJXS2+OXU/HzEjGn8duIFdqQFVAlQt/8+XoPph5teTDDRfIV6oRCyoWDWhItwaObNy4kU8++QQPDw/mzJlD3bpPtjYTHBzMhAkT2L9/vzaa9u9jV/jwu994b+hgkBprH3yCIODdqT/5DQeWS5jVz8+Pr7/+mn4Tv+a9//1AR5+Hy+9MnDgRS0tLmvYczthVp7WdgV8GN630h271Jl1QWLkgjw0n/9op7Ozs+O2337CwsGDfvn3s27ePqKgoWrVqpXWE9erVQywWP/K45VFleNj2EtTc3TYPTcIFXF1def/998nKyuLo0aNs2rTpofuhViKPu0AnF2OWfvEhhoaGTP95HWtjDQsr0agUOMTu4drhf7H0aYN5o+6kGVSleFpJ1YwrKI6vIiYmBisrKzw9PbH08eeiaWNUiMuMtNXzcPSO7z+GWq1m7969fL41ghTLOtr3Bzdz5Ou36z9iz9cDnRQKlQLZqVU4ijOIiYnh7t27mHj4Ydl1IirEpZzGhBVH2Xo1U3usokCDkgEinWsZcnnF/8jLy2PevHl07NixlB3lZevWrbz33nvs3buXBg0aaN+fMGECUqmU+fPn62z/zz//MGLECEZ9sQhjl0aPHAnk5ORgb2/PgQMHePfdd7l69eojbTl+/DjvvfcevWdv0LneQU0dmN2rtETR0+Dn58fJkyd13rOzs6NDhw4sXLiQqlWrcvfuXQ4ePMi+ffvYv38/GRkZdOjQQesInZ2dyzz2k0gYFW3fwFbEtGnT2LJliza1IT8/n40bN9KtW7cy92vubM6CKSO4dOkSVlZWrFixgu13THTaMOvMNjj7N/369eOSVWsSeZBHKBGL+O2dwvVbjUZDQkICUVFR/HIyjfN5D6Z+5Rf3UK/gCp07d6ZZs2Y0atToieS8Xgf0U53/EaKjo1m+fDkrVqygZs2atOk/lh33xNrSXgGe+p4gFKp4F9aqLAy7zzVzIvlGFDk5OXzxxReMHz+e0BuZOg9GtVrNwoUL2bB6F2ZdJmidYlF1jDa17Qg+e6twxKdRsWv5L3w9ZjSDBw9+KnWIPXv2MHLkSHbs2KHj9OLj41m9enUpR5Wbm8tHH32EWq1m2uBu2NraljykDsePH6dhw4ZcuHCB5s2bP9YePz8/srKycDbMx1gm0V5vyoUjUMmOz9XVlYvpglYQN//aKdLS0rh58yZ169Zl7ty5VG/ahQtST3qNb82vv/5KXFwc+/fvZ9++fXz66aeYm5trHWG7du04l6zSfq8ViYwsOfW/bNkyTp06xQcffECtWrXQaDT07duXRo0a0fad8WiqetLWy15nv847dzJ8+HBOnz7Nm2++SaehH2NkVB+5UoNIraQg/iL5mZmsOngBmx5dKBKhEANj/N20xxGLxTg7O+Ps7Iyo5oNOnKFERGM3a479fYnTp09jampKeno6Li4uNG3alKZNm9KkSRN8fX0xMjJ67adI9SO+V4ziN6yfownBwcEsW7aM6OhogoKCGDZsGD4+PqW2fR1v7iJCIpM5HJVMlewEDh46SJR1S0QyQ8QaFTkhixjctj4zZszAxsam1L5RUVEMHz4cqVTKX3/9xQ1F6TJs6enpjPvmN0JjUnmzqTsLJg/HxMTkqexdfyicHX/+wKZFX9CyZUudz0ePHo21tTXffvutzvuffvopR48eRSaTsX///seeZ8in87gjWGKcGUtnn+q8//77j91n0qRJmJub06rfWG3U6Yd92nPhwgUcHBweu3956TX+c84aNtCqw6dvnYtYLMbAqQHO1e3IklqisnEDSdn5bYIgcPnyZe20aFhCHmZvTACJATKRwLdv1aZPi0crgTwOjUbD8uXL+eSTT8jIyODtz5dxMtsMRJIybdJoNHz00UccPHgQFxcXIrOktBswltq1arJ5xx5untiFUM1DJ2rXtiCJ3wf5ltJVLKLk/7ggCJw5c4a1a9eyfv16rKysqFu3LjKZjMjISKKionBt05P8hgNQP8TO1wG943uFKD5NJ9aoyN7zEy2dTRk+fDjdunUrV63B142Say0uJgXYSuSEnb2At7WY3z4bh4tLabkbtVrNggUL+Pbbb5k1axbjxo0rtX4kl8tZtGgRc+bMoV+/fnz++ecVTiAvy94ihXQDMSx+Rzdq8saNGzRt2pTo6GgdRx0dHU3Lli0JCAigffv2j3ViIZHJD/TtVAVMa2PH2B6tH7kPwIkTJxgxYgSRkZHa92bMmEF8fDyrVq16gisumw7Tfue6uKb2b8WdGGS2jjrFn4vzuPy2Gf9eYM2pW9q/c87twOTKdjp16oS/vz+tW7fG1dVVe9yKdBozMjJo1mskiiZBpZLhS9okCAJffPEFa9euZdKkSXy1bAtG7ceiRoJEUKG5sh+NR1tEUkMEpQK7mG2khO/HvE5rPPx70Ki+NwUacbnsUqvVHDp0iLVr1/Lvv//i6+tLnz592JnrzOW75W+7/yL6qc5XiOLTdBqxlCHTvmXewIrlSL1uFG8zJDJuKmTEqg2YPuxtHXXv4ly9epVhw4ZhaGjIyZMncXNz0/lco9GwYcMGpk+fToMGDQgNDcXLy6tS7P3134MoNYXrMgUatAWMi/jyyy8ZP368jtMTBIEJEyYwZcoUvv/+e3766afHnic0JvWBqKvUgFvq8q0FNW/enJycHCIiIrQzC9OnT8fT05OwsDD8/PzKe6mPxNRAAgVqreyRQTU3RPc7HiWdnoFE/NiizG097dkUfod8pRopGtSJl8nOzmbr1q2cOXOGadOmIRaLadOmDfZNOrM7szoKtUDw2VuPHRFZWlrSafB4dsQ8ULyQiEVl2iQSiZg1axZWVlbMXrEd18AJJGQXVkpSi6TU9q5H7Ik1WHg1527EcSxdXbjTejS5TvU4lyPh3LF4EInKZZdEIqFDhw506NCBxYsXs2vXLhZvDiWmag1EUlm52+6/yKNDoPS8VLSpbYexrPBBYCyT0KVB2Yv3eh5QvM2KECQykrAste2ey3d4a9YqAgaNZ/DgwRw4cKCU0zt8+DDNmzdn/vz5rFixgi1btlSa01uxYgW7l/8IqgKAUlX2r169yo4dO5g4caL2vZDIZIIWbONmgRl169bFy8urXFOOOu2iLqCtp325bBSLxfTt25e///5b+56pqSmzZ8/mww8/RKN5QnX3YoREJhOpttc6PUDr9MqilbvNY0c/RcoH7/o582tQM6IO/MPbb7+NIAhYWFggl8tp0KABTk5OHL0joLifhV+knvA4ajnYF6aW3KeLt/0jbfLuNADDdmO0Tg8Kv++pQT0Y2qkRmfuX0KxrX2Ls2yFz9kUoUp247/TLa1cRRkZGvP3227TsNVzr9KB8bfdfRO/4XiGK//O+jvPyT0JRm7XzsMNAUni7lyXbUpT+cUlhjWX3iXi066MztXn16lUCAwMZMmQIkyZN4uTJkwQEBFBZrFmzhmHDhkHiJb4P9Cr1HYdEJjNk0Q56jZ+lTeIuqipzNEWC0GIo8/ZGYdN5LCGRyY89X1G7+Bik4aeOrNC9VOT4iq+SBAUFIQgCa9asqeCVlyY0JhWlUL50G5FGjUYjlPuavwysSyfvQhmiv/76i507dyKXy6lduza+vr5si4N02YO2KO+IKFuu1FGstzV9dH5hyWv0rGaq/b5nzJjBGyOmEpZpplWkL8mTSg+V7DwPavZ6dp4ls2bNmvWijdBTftzsTGnnVRU3u4pV/XidcbMzpWdDB7zszbEykTEmwK3Ug37F8VjOJRSmKqg1YGUio51XVVJSUpg6dSqTJ09m0KBBrFy5koYNG1ZqHuSGDRsYPHgwDg4OzJo1i+F9u+t8xyGRyYxbfZosQzsSscbT3hw3O1NWHI/lbHxGoc0CZEitSVGbsO9KMp7VzB57j9xIzWXL/mP41XWnXROfctvr4ODA3Llz6dSpk3ZNUyQS4ePjw9ivfyHV0hsB8RPfoyqNwL4ryajKKk9zP2FfjAZRRiKCgSlx9+SEXEnCs5p5hc/p4ODAiBEjkMlkLAjej9CoLxTr8Ph72DKp0+ODYFQagZArSag0AoJKQVBje3wcHx5VW/wajWUSvgqsp3NPhqUbciHxgQyVWARtPe3oXq8GdezNyryHy4ObnSme1cwe+n/wuqB3fHpeGx7VaSj5IBrmV5N/li1m8ODBNGrUiL///puOHTuWq9ByRdi4cSMDBgygY8eOiMVi/vjjj1JBNCuOxxJ+K1NrZ5FTLm6zRIRW0aH4Ng+jKOgny9CWqzkGeNmX32mIRCJu3brFgahUzmWbodIIuNmZcjXbgJ0Z9lxKyi238y0LNztTXKwM2LRtJ1LzqiAWYyAR4+9hi7epnJgrl2jTsA7Zd9PIN7DQXrOlsZT2XhV/kItEIho2bEiKZR0iknK170vEIqZ3rVOuayh0KOZcvXgGIvdxPPg3Bg0a9NDKMo9zQCW/27EB7szp04BW7rZP3fHVd571wS169AAPpv6ORKegunWZsT1a4efnR1hYGO7u7o8/QAUJiUxmxd6T/PvrPIYOHcqOHTvYsWNHmXl/964cR6O00RZtLpriKq7YbWYk469jN8utwF086EehEkoF0TwO1zaBbDyWDmFx2kCL4gEzxZXFnwQXgxwszq+lsZMBhy4ns+T76XTyrkZIZDK7bxZw5NpdZFVqgFIJYikitZKrh/5FCKz7xKPxjj412XqpsF0kIt38ufLQybsaTkP9CQj4jG7dutGvXz+2bNny0GjrR5UGfJwau56nQ+/49FSYp8kPfJlzC0W3L7Ft1mRMTEzYsGFDqfy5yuJByoKEqm9P53xBCv4Da5WZq5Wfn8+fX36E1LkRE2b/QoCn7sOy+MOzIjUy29S2Y93JWK0SQEXXi6IyxXBf0aHIyRVP5EdVQCu30nmR5eXatWu4u7vTr1UdNsyfSfM1XwK60ahKtUArVxuOhWylRZOGnL2oZOjM+az45uMnOmdlOBtPT09cXV0JDAzk999/Z+zYsSxZsuSJnPHrWjP3eaCf6tRTOPo4HqudstJoNGRlZZGcnEx8fDzR0dFculRYEWJZyFnmh90j/FYWey7fxloip66TXbn+sefuiWLW9gjOJ2Sw7cItQo+dwCgzDkEQMDc315lGLGnTs+Ty5csMGTKElStX8tVXXzFv3jycnJye2fl+P3CVS3fuT6mJxORLzUg3ctCu3RXn448/JiwsjG5tGvP75xMe2RYVmcJyszNl3z8rqW5jzud9W1b4ATv7u+/IMHVCJJEiKBWY3QpjbI9W1HO04cqF06SFrsfLrKBcFWHKomj026VLF1YfvECcoQsmpmY421TRTgGK1EpmBtbH182BNRH5qK2diVOaE336EN39mz7ReStjGlCtVrN582bWrFnDd999R1JSEm3btn3i4+mpfPQJ7K85xROmBZWC3L2LuHf5CFWqVMHCwkL7srS0xMLCglvVWhJv9CDhW3P1IGl7fsHd3R1PT89Sr+IRiKNXnUEn2F2jRgj9g8zIo2RnZ2NmZoa1tTWmni3Jrt8HQSzDUCLix7716dagJpXN7du3+d///sfWrVuZOXMmY8aMqXC1/4oQEpnMvsu32PLPepRubVCjO61ZMpE4Pj4eDw8PatasyaxZsxg8eHCl2uPu7s6///5LvXoVExrOzc3FysoKqXNDjF0aMW/yCA6u/omDBw8yf/58XFxc6N27N3l5eZw9e/aJOhHjxo2jTp06uLYJZOzq09pp3iKNusPRyfz7y7dMf7c70Wa+OnUviT7EjDc8eO+99yp83sogIyODWrVqcf36dVQqFS1atGDmzJkMHz78hdijpzT6qc7XnNCYVJSawtGaSGrIiJnzmN3L96E1Jkuppn8zhRarZhEdHU1UVBRRUVHs3LmTH3/8kejoaExNTfHy8kLdsDcaI1fdg4kliNxbY5F4CVNTU5RKJffu3SNXbIWxuHBdRKEWGDLtWwwubcbZ2ZlatWpRq1Ytnd+dnJy0unHlIScnh3nz5rFo0SJGjBhBdHQ0lpal8/oqk+JqGRLXNoxu68GVO1kcu5ZOgVpT5nTjuHHjEIlEpKSk0LVr10q159atW2RkZGiT0CvCX3/9hUajIf/aKfKvnSK5vTMrV67kyJEjjBs3jho1aqBWq+nfvz9jx45l+/btFZ7qu3btGm+99RYn4rIK1d55MKValJLQo8ZEevTowS9bQgm+XztUUCoI6tiEWbMmYWZmxoABAyp8fU+LpaUl3bp1Y/369bz//vvs3r0bf39/qlevXunfo54nQz/ie80p5cjKkR9Y3nU6QRBITEwkKiqK7eFxbEmzQSOS6pacUisxvfA3lrnxmJiYYGJigtymNtF2rdGIpIgEDXUlSTQQxZGXl0dubi6ZmZncu3eP9PR0kpOTSUlJwdzcHCcnJ2rVqoWLiwtubm5aB+ns7EyVKlXYfek2S7aHErZ5OW3drfnmm2/K1CN8FpQUVy0a3T2sLY8cOUK3bt3o3r07t2/fJjQ0tFLtWbNmDRs3biwlp/M4NBoNjo6OyOVyMjIyEIlEVKtWjYSEBMRiMUqlkkWLFjFz5kwaNmxIZmYmvcZ/DvZ1KrRu5urqyp49e4hVmvPBurMoVGUL244fP578/Hz6T/qGneE3WDXnUzQJF/jxxx+ZOnUqH839i3wL5+e+prx3715mzJjB6dOngcJSbz169OCrvzZzW2PxUq5xv07oHZ+eSgk4KXmMgoICluwMY8+FePJunOPS7jUobD2R1vRBZu+JYY3a2n27upnwjpeMvLw8srOzuXv3LrsSZZxT2ABixBoVrkmHMUi9Sl5eHvn5+eTn5yOXy5HL5SgUCu1LqVSiVt9XX7jvXAVBwNi9GbaBUxHLjMpUDn/WvDt9HqFqd63Y66M6GHsu32HcVz+RnZ5CbZ/61Lcz4NeZYyvVnlGjRuHj48OHH35Yof22bdvGiBEjsLGx4caNGyiVSuzs7Fi5ciVdunTRbrd9+3aGfPoDJvU7I65eB5H08dddREFBAWZmZmRnZ2NgYMDeyCRGzJjLtxOGMLidrrRWZmYmPj4+rFu3jjZt2rBkyRLmzp1LRkYGQ2f8wIZbVRBJDZ97MWa1Wo2zszO7d+/W6jB+vWwLSyLVL8QePbropzr1PHX0WPFpvDUnbmB15V+uX7+ORdePQGqFYNcahe1p8q+dpGrWTVxtpcRraiGIZaAqYO/KJfwbHUZWVhYKhaJwfbHDe0i82gOFdUlTJTbUFImwsbHByMhI+zI0NNT5u+g9qVRKdnY2u3btYu/evRjVaqidMitQl66B+SzZsGEDoesXM3fdHi4mFzyygxESmcyHG86jdm2NiatAIiLS5CJCIpMrzd6QyGT23bOmiXvF67z+8MMPqNVqVCoVxsbG2tH7L7/8ouP4DFybYNplPKJiKuTlTXFYd+Qy1d/6kMPX7tHJuxqdve1pJo5FkhQB6Do+CwsLFi5cyOjRozl//jwjR44kODiYGjVqsGb/OWQ+HSt07spCIpHw7rvvsmLFCubOnQtAgbUbImncC7FHjy56x6fnqQmNSS1UegfUIglJpu5IahrD/YeeSGZIFbcm9G/trRXHjFVKuJ4rpamjJe3fm4OZmRlmZmaYmJggFotLTcHOmzySTt4zymXPuXPnWLBgAX///TcKhQIAeWw4Vo27aaVYnldh3vDwcD744AP27dtHgwYe9HnM9sXbskiBW6GueJ7dwyjspJxF496G+SczcHEpv0P9bftxrlk0xKJNA7IKNJh6qDAUpBQkXOREfA4TV5+gWyNXOnlX42hMmo7TAxCUCm6f24+8i3spzcPi9n1z8A7UDmDC+nDtqKgop3LgwIGl7OrVqxfLli3jg29/x963HUNnzOfDPu0Y/MkcNt1RIJIZPtfvvIghQ4bQtm1bvv32W6RSaal0D197w8cfRM8zQT/VqafcFE1ntnS1wjo/kaNHj3L06FFOxOdg0H4cIsn9RF21kgaGqVxSVkUjkiJFw8+DGvFGvYrptZVnCrZom1ZuNuRGn2DBggVER0ejUCjIyMjQbieRSFh3JIJLqcrntr6SkpJCs2bNmDt3Ln379i3XPiGRyYxZGYZa9KBPWpnTYiXV4ssrSVM8+reobJj2p1pdWFNLJNaJvCzquBhIxIXFkF1M+Gfh/zifqkHq/x4FmtLX9jD7jhw5wpQpU0qpshex5tBFPtt9E42oUJ/vTesUDq1ZRI+xM/h9y2H69wqkiqXtc19ba9myJTNmzKB79+7Ag/v1+rHtXDv8L/v27dOrpL8A9CM+PeUiJDKZ99ecoUADK0KjqXJhA+08bOnbty8LWrXi8wNJHIy6Xy1eIuNcbBq+prF4BgTSpb7zEz1sHjcFW1SkWa7UsPLYNQzvxePg3IjUY8eAQiUBExMTcnNzadu2LX1belI+9/P0FBQU0KdPH4KCgsrt9ADS76Yjj79EQEBbGtayI1teuY66+KijIqOg4tG/2mLMRT+LRQAXj7wsKxl8UMAmhizaweHbutsXff6wxPrGjRtz+fJlFAoFhoalR0pRmWI0ogdVY4xdGmFlZUXCrVvUa9GOjZGZIM4tl5xPZTJ06FCWL1+udXxF97TQw4dRo67Ts2dPduzYgZGR0XOxR08h+gR2PeWieBFnkUTKwF49mDdpGPXq1cPCwoIqBlL2RCShvj+BYGBZja9Gvs3Ydp7PLAG9eJFmxBLUJjbcNXHE1LkeKnkeXjWsSEhIwNvbm/fff58GDRo8EztKEhKZzMjvVyGWylj+0/flDuUPiUxmUvBFRJYOpOWqGNbKhZFtXCu1/Z60SLFKI7Dz0m0eNz0kEYt4v607bnamD00GNzWzYG/EHdQCoFLQy9scX9fqWvsSI06TkXyL74d20tpnYGDAxo0bady4MTVrls7pLFlrdUyAGx6N27AkUkVqgRREYu12j6tjWpm4ubkxaf5y0qx8QCzRtoVIJKJ79+7s2rWLDRs20Lt374emEOmpfPSOT0+5KOvBUvyB5mZnyrm4e8Sm5wGgEXjmD5iyqviLxBLEFvaYeLQkU2aFubEB6Tcj+eOPP8ocKVQ2IZHJvL/2DHclVshtPPCqblFuxzV3yyli7hWu7z3LB/STVCdxszOlQCVwLv4eJRdHBLUakVhcWN8ywJ2gFo+WunGzM8XL3pyC7LuEr53LriXf4+rqqs0pjL14EkXsOSaOGKSz34ULF8jPzy9T7LYshx58IYULidk625V17z5LQm9ksi/XkcvJeaUKd4vFYgIDA1mzZg0hISGYerZgxYm451Kt6HVHr8enp1yURwtwUHNnHa2vZx1M0Mm7Gl1dDUGjLv2hRIqRaxOMOr5PrSFzOHkr/5naUkRoTCoF982RqzTlFgtVqVQcXPsrgrIwGOdFBGM8jildPPntnca089TVNtQknMPFypAxAe5M6fJ4CR8o/O5+H9WBFbM/RiaTMXnyZN5//33kcjlqtbrM0U/z5s0JCwt75DGLkttBV3vOQCKmnafdc08hCI1JRX1fRLYs8VgDAwP++ecfrmTLGLvqFCvD4piwPrxc+oJ6nhz9iE9PuXncSOF5an3tvnSbCT9v5MDZK4gtqz90OwExCgPzp5LJqQiPGxk/jIULF3Jy31YaONvROaDVS6uV5mZnSk/fB9qGfq42nE2Xck8hcDkxs8Jt7Onpibm5OSdPnsTAwICFCxfi4OBAfn6+dl2sCGNjY77//ns++uijcttadD+ObevOpE7Pbtr9YRS/H2QigXHtapeyQSaTcUPiyKWkPO0+z3M69nVEH9Wp55VjfWgEn26/hkYsRSoGsUhMgVrz2P3KG8H4tFS0IEB8fDyNGjXCw8ODqVOn0rNnz2duY2XxpFGiJZk+fTqHDx+md+/efP755zR8813aDRyn04YajQZbW1siIyOxt7evtGt41oREJrN63xnObF/F5T3rylzzfZIKSnqeHL3j0/NKsX//foYs2oG0Tgfte+087ECEtu5lccSAhspNCahMBEGgR48e+Pr6smDBAm7fvv1KhbcXqsOfQimIn6qNNRoNQUFB3BHbkWPvSzKWZVZ76dq1K2PGjCEwMxLFagAAE7ZJREFUMLCyL+WZIggC9erVY/78+XTu3LnMbV5mya7/Gvo1Pj2vBBqNhm+//ZbBgwczccAbOmuJg5o7s2xoMxYPaoSLYS5oVNrPxrZ1f+S65IskJDKZwT9uJSrXEF9fX5o2bfpKOT0oXFeb0MQMo4STT9XGYrGYd6Z+z80abUmR2iGSFuaEllwXq96kCz+Hpbxya2AikYgpU6Zoq7iURck1Sj3PDv2IT89LT0ZGBkOGDCElJYXg4GBq1qxZZu84NTUVHx8fvl25gziF8Uvdcy5e5s1AAjVzYjCxtObDfl1eWpsfRkZGBjVr1iQrKwux+Mn70iWnTaEwKGXxoEZa9fWxq06hQoyRVMyigY1eqbYqKCjA1dWVrVu30qhRoxdtzmuNfsSn56Xm4sWLNG3aFCcnJw4fPqzN4SqrdzxjxgwGDRrEiDeavvQ95+KlyQrUcNPYncsKm1cyos/S0hJLS0vi4+Mfv/EjaFPbDkmJ5a9W7jba7zE0JhXV/UeWXKXhSHTKU53veWNgYMBHH330yFGfnueD3vHpeekIiUzmf1su8+kv6+nQoQOzZs1i0aJFjxSJPXPmDNu2beNVCVIuHmovEYsQ7tflLCvk/VXAx8eHiIiIpzpGJ+9qjAlwRyIubAtjmYRBzR7kBLapbYfhfc+oUcqJCd36VOd7EYwaNYq9e/dy8+bNF23Ka40+nUHPS0VRGbKz8Rlcuiviy0mjGdrr0eKdGo2GPn36MGXKFFq0aPGcLH06iofat3Kz5XJiZoVTIF4mzp07h1wup1WrVk91nFbutnhXNy8zJcbNzhQLIZftmzagvLiTG6FbsLW1pWHDhk9r/nPD0NCQe/fuERoaqhelfYHoa3XqeakIjUlFrrwfmSk1IL6gymP3WbVqFRqNhqFDhz5b4yqZ4rVIfR0tX+mIPh8fH44ePVopx3pUjdaOdaoiP7oShUKBsbEx06ZNw9XVlbZt21bKuZ8HEyZMwMfHh88//xwbG5sXbc5riX6qU89LRfEpwPJUL8nMzGT69OksWrToqQIrXjSvekRfZUx1lgcTExM0Gg1GRka0b9+epk2b0r9/f2JiYp75uSuLGjVq0KtXL3755ZcXbcpry6v7pNDzn6Q8pdGK8+WXX9K1a1eaNau4qKqeyqNOnTpcl5vw2eZLzzQ4x8TEBIVCgVwux8jIiLNnzzJq1CjefPNN7t2798zOW9lMnjyZX7Yc5dNN51+5YKb/Avp0Bj2vLJGRkQQEBBAREUHVqvryTi+SkMhkRi47hkhq+EyLBQiCgEwmw93dnZSUFL788kv+/fdf6tevz4n4HDoOHk+A56PlrF4GQiKTGbXiBIK4dJK+nmePfsSn55VEEAQmTJjAzJkz9U7vJSA0JlWruP4sI1NFIhFVqlShWbNmVPHwI1xcmziL+lyt1o5k9zdZfSrhlUgJCY1JRRCXnaSv59mjd3x6Xkk2bdpEUlIS48aNe9Gm6OF+Dp7woGLOs1SWMDExoYpHCyT+77E/QYXKsyNXMiUI4gdCtC+7Iym+lq1RysmKPvWCLXq90Ds+Pa8ceXl5fPzxxyxatAiZTPaizdFD4drsmzZpOMlvPvNpOxMTE3JMa4Kk7LzOl1HSqSRFa9mtq6rJ3fszK2Z/zMSJE1Gry5DY0lPp6B2fnleO77//nubNm9OuXbsXbYqeYnRv4Ij0wqZnvlZlYmJCK3cbrXZhES9Kc+9J6eRdjZUfvomNPBEjIyP27t1Lz549yc7OfvzOep4KfR6fnleKmzdvsnjxYsLDw1+0KXpK4OnpSVRU1DM/j4mJCQ3tJJjdPo2FdxsauNhja2rwSuZAisVipk2bxrJly7h69Sp16tShdevWbNu2DScnpxdt3n8W/YhPzyvFpEmTmPj/9u49KKozzeP4t09zuDQQNYrorndA0DFjCEFRVlFcMEYnFwoz5WWMZjXRWXE1OiY1JtFJTNVUEk12vVV0HKM43tcJscQEnBgH4w2RFWOjMAioqB1kVLC5d5/9o6UDahQUusF+Pn9Zx+Zcurv6d973vM/7zptH9+7dnX0q4g7du3fn+vXrLd5iMRgMHMovpaLnEIrMGgfO/dgmQ6/O5MmTyc/PZ8GCBWRmZjJ+/HiGDBnC6qQ03kv6odUP1GmLZMoy0WakpKSwYcMGNm/ejJubdFa0Njqdjr98l0UOXfHwNLTYtGs7d+6ktEsoBbds9+1tfcVyNzc3LBYL3+X+E+/Q5zl9xUzvMdP5MqecrMtl7M82NXlle3F/0uITbcK+rEvM+tMBXnv3Uzw9PZ19OuIeUo0mKp+ZyNd5FS1aUmAwGOhtqEJVbCXIbWEwy4MER8djbD+YfLUHxX7PkH1Tj04v5Q4tRYJPtHp7ThYwKzEdS8C/kZinStePE9StmHG/9z4ttxirA0oKDAYDvdUy5kd0wL3gSJsZzHI/GUXl6FRbHSS6hmszPQ7B3tpI8IlWKy8vj7i4OF5964/gZhu6Lne/jpdqNDFnWyabjhbetyXX1HlWH5a3tzfl5eXEDQ6iJGVNmw89aPje1Wlro1TbEnlQIloVq9XKN998w2effca3335LbW0tXoGD8BkYg6J64q4gd78OlpZbTEWNrb6s7sbjXj/EdbVpLb3KhMFgoLy8HD8/P8xmM+Xl5RgMhhY5lqPUf+98PVXKKmva9ICd1k6CTzhNqtFk/5EM66KyYcMG1qxZQ3V1NUVFRVittuWJKvPSear0BAWVnlRdOEXMh2OdfOauZViQHzszLtnCz1LN4d1/5uaIxbRr1+6u195vSaHmUhd8Op2Obt26cfHiRYKDg1v0mI7giPdO2EjwCaeo6z6rqLGQeOQ81YVZBCk/Ul1dzcWLF9Hdfs6h0+no0aMHs16IJDAwkP79/8DBgweJiopy8hW4jvqtkYhe7di7dj9hYWHs3LnTKYvAGgwGbty4AdhKKB6X4BOOI8EnnKJ+95mm06P2CuV8TSVVIRX4/cIDc94JKDqNr68vJSUlREdHYzAYGDRoEDNmzCAnJ8fJV+Ba6rdGnl+1iu3btxMbG8sHH3zAG2+8Yb9RcYQrSidO1T5BqtFkDz4hmkKWJRJOkWo08Z9bTlJtsTbYrlkt6BQ9Wm0NVYWniA3w5voPB9mzZw8AWVlZhIaGkpKSwqhRo5xx6uK2nJwc4uPjGTBgAJ9//jm+vr4tfswU41VmbTqGReeGl6qnT00BVr0Hb058XroJRaNJ8AmnmbbhOAdyHjBCU7MytP0ttrw9wb4pLCyM0tJScnJyHNrSEHerqKhgzpw5pKWlseDTjVyo9m6xQRk5OTn8+uP/5XqnX9q36dDQ0MmadqJJpJxBOEWq0YSmAwXr/V+oUzhW+kSDIfSrVq2ioKCAr7/+uoXPUjyIl5cX69atI27OEpZ+e5lNRwtJ2HayWWstb926xdtvv83QoUMZ2rsDqs52r65ZatGw3fhImYtoCgk+4XCpRhMJW0/y3blirFYrfTt5oep/vuVm0WjwoxYREUFISAi//XCNzGXYSrj96wB7rWVljZVNKcd51M4kTdPYunUr/fr14/Lly5w+fZpVv5/Jq0FWao37uXl0F9aaSkCKvEXTSPAJh9uXmU9l7e2WnuJGl/ZecPUsnRQz7nrbV9JN0dm/nPf6UZu6aBmWiFcfWFQtHKN+Aba7AseSvuC5554jOzv7ofaXlZXFiBEj+Oijj9i2bRubNm2ia9euAIR1UfG/9Heq0ndRuu+/KT2xh8l9qqWbUzSaBJ9wqMzMTHau/AC3212c7nodh3KLqfELxqx/ghnD+jAloidrJoXx+W+eZUpEz3s+u7mstUNRbXN2VtRY2HKs0OHXIn5SV/IwJaInqyY9y5mUbYwZM4bhw4czb948e/nBg1y/fp2EhARiYmKYMGECJ06cIDIyssFrPDw88PGxTdhcdvZ7el47xuLpcRw+fLjZr0s8niT4hMPs3buX2NhYPp0/jTW/GcSUiJ50qC7GqrO1FCpqLJRV1vD+iwPsw+fr/l2f1WrlyO4/o/DTatUHz5lIysh36PWIhup/XqqqMnfuXM6cOYPZbCYkJIS1a9f+7ArjFouFdevW0a9fPywWC0ajkZkzZ6LX6+96rbu7OxaLhdGjR6MoClf1nRn42of8atFaEr5Ik9a/eCAJPuEQq1evZvr06ezZs4f4+Hhi+vvjd+EA19O/wtPN9jVs7HOaTz75BOXKGYYF/RSIVp3C7KUr2bx58yM/WxLNp3Pnzqxdu5bk5GQSExMJDw/n0KFDDV5z9OhRBg8ezMaNG9m3bx+rV6+mY8eOP7vPrBK41iuakFHj8QwIx33EG5R0HIDv4Hj2nCtt9sE14vEj5QyiRVksFhYuXMjevXtJTk6mT58+ACQlJTFr1iy+//57/lFhaPT8jsePH2fcuHGkp6dz5KKZhV9mo6ieuOmszA1vx4al8zAYDKxcuZKBAwc64hJFI2maxvbt21m4cCGRkZFETUogMSWdwmPf8MeEiUyaNOmB5SmpRhOzt2ZQVavh4abj+tljGAIH3fW6qKBO9OzYcqUVom2T4BMtItVo4kD2FY5++QXWi//H7t27efLJJwFbeI0dO5bk5GTCw8Mbvc/S0lJCQ0P5+OOPiYuLY+rUqXyVUYBvUDi1l05z9m87MRgMrF+/nnfffZdXXnmFUVPmcvJyhfwAtiJms5mZS1fz95oAdKoHnm4KKyY806jP572kH9h09KfnuRbzDdy826MBaJptSR+rBZ3ONiOQ1PeJe5GuTtHs6soVtpwoouBfRvLW/2y2h9758+d56aWXWL9+fZNCT9M0Zs6cSWxsLHFxcWRkZJCcnAxFWSiZuxjZtxPLli1Dr9fz+uuvYzQaKaIjc3dkseloIbO3Zkj3Vyvh7e1NVYfe9vXnKmutja7Bu3P5Hv3t0NMBmmYbMKXo9Wj1nhtLfZ+4kwSfaHZpucX2cgWr4saR/BukGk28teMEo1/7HYsWLeKFF15o9P5SjSZe+WgXJ001LF++HE3TmD9/PuPGjSMyMpKysjKWLl3K6q8OsWDrcVKNJjp27MiAf4+315ZV1Wos+ORPJCYmYjabW+S6ReMVHNn3UDV4daNHg/19GmzXAJ1iCzurBsrtHlN3vSxjJe4mwSea3Z0Lkvp6qiRsO8n2TBPWiFfpOzK+0fuqaz2m3zCgDZnGofxSkpKSKCkpQafTER0dTZVfMH848CM+sf/Frqxie11f/fPwVBVeHtKP7du3061bN6ZNm8bBgwdJOXNFiuAdrLCwkH8c/Cv/3LOMUT3cmtwVGdPfnwWxIfaaTwC9gn0SBA+9jllRgUR1hYr9q/jlz4+TES5Kv2TJkiXOPgnxeAnw8yHY35cOBpWZUQHk/lhGxgVbHZemU+hgUBkZ0rlR+9p4uMD+txYNSiuqWLs7lehfz2D/2WK6h0aR98RACm9Uo90eGFFr1ehgUJk+rE+98wjkP54LZ+LEiUydOhWTycT76//Kl8VPcqqojP3ZJoL9fQnw87nf6YhmsGLFCvz9/ck6lMrvp77I2OHPNnkfAX4+hHR5gltVNRScPs57v3qKCZEhnM/Oot2VdNa8OYGXB/flxoVzLF++nMmTJ6Mocp8vbOSbIFpE/ZquO1uATel6ajAjiF4hLbcYLXA4+wqtWAOHsfvsLXshe536x7hXLWCXLl2YP38+4xPeQ1NUQJ4FOUqK8SrrT5URMPxlVFWlpKTkofcV09+fDVMHEVp6FJ+b+cT092fb7+I4+dUX9hljFi9ejKqqvPPOO811CeIxIC0+0eLubAE2pVur/t+281LJL6lo8P+aBnqd7RmPu15heN9OLBwd0qhj1Fo19mebqLVqeKl6ZkYFSIuvBaUaTczekoGlQy/O3NCj6VVK2/XGr3OXR3rfz5w5w7Vr1xgxYgQeHh5YLBZ27NhBfHw8iqIwZswYZs+ejbl9H/ZfqKXWqsnn7OIk+IRDBPj5MDKk80P94NT9rbeHmz2o6nipemYMC6BfF19mjQjkzZjgRh/jUQJZNN3GwwWcvHgTsHVb6/2DKLZ6P3I383e5JSTnldO7TyABfj48/fTTzF++kQK1J6qHJ0/17IzaK4wVGWayrtySbm0hdXyibUk1mkjLLcbXU6Wsskbq89qQVKOJOdsyqaixoECDBammRPTk/RcHPNQ+Z2/JoMqi2Wv2AGZtPk6tpti3peUWN6j/e9jjiceDm7NPQIimqJvDU7Q9daUIabnFlFy9RHJeJZpefaQlhdJyi6my2O7d6z+nrdWUBtuGBfmxM+MSFTUWWcJIyOAWIYTj1A026uZlwWAuYmSw3yPNrHKvgVP32lZ/9QiZyUVIV6cQwqFSjSZ++5d0aqy6ZplSrK77u3639722CVFHgk8I4VB3zrcpz9uEo0lXpxDCoYYF+dkXIpbnbcIZJPiEEA4V09+faK9Cgrgsz9uEU8ioTiGEw3WqvEwvXx8JPeEU0uITQjhcWVkZPj5SQC6cQ4JPCOFw+dU+pJV3lVUxhFNI8AkhHCrVaCK7QwTpNw32JaSEcCQJPiGEQ6XlFmPR2YYXyKoYwhkk+IQQDvUoy1QJ0RykgF0I4XAys4pwJgk+IYQQLkW6OoUQQrgUCT4hhBAuRYJPCCGES5HgE0II4VIk+IQQQrgUCT4hhBAuRYJPCCGES5HgE0II4VIk+IQQQrgUCT4hhBAuRYJPCCGES5HgE0II4VIk+IQQQrgUCT4hhBAuRYJPCCGES5HgE0II4VIk+IQQQriU/wfSgcOc4gdZSwAAAABJRU5ErkJggg==\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"nx.draw(g, node_size = 10)\n"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## General Threshold\n",
"The General Threshold model was introduced in 2003 by Kempe [1].\n",
"\n",
"In this model, during an epidemics, a node is allowed to change its status from Susceptible to Infected.\n",
"\n",
"At time t nodes become Infected if the sum of the weight of the infected neighbors is greater than the threshold\n",
"\n",
"- David Kempe , Jon Kleinberg, and Éva Tardos. “Maximizing the spread of influence through a social network.” Proceedings of the ninth ACM SIGKDD international conference on Knowledge discovery and data mining. ACM, 2003.\n",
"\n",
"https://ndlib.readthedocs.io/en/latest/reference/models/epidemics/GeneralThreshold.html"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Generalised Threshold\n",
"It was introduced in 2017 by Török and Kertesz [1]. In this model, a node is allowed to change its status from Susceptible to Infected. The model is instantiated on a graph having a non-empty set of infected nodes. \n",
"\n",
"- At time `t` nodes become Infected with rate `mu t/tau`\n",
"- Nodes for which the ratio of the active friends dropped below the threshold are moved to the Infected queue\n",
"- Nodes in the Infected queue become infected with rate tau. If this happens check all its friends for threshold\n",
"\n",
"\n",
"> János Török and János Kertész “Cascading collapse of online social networks” Scientific reports, vol. 7 no. 1, 2017 \n",
"\n",
"\n",
"https://ndlib.readthedocs.io/en/latest/reference/models/epidemics/GeneralisedThreshold.html"
]
},
{
"cell_type": "markdown",
"metadata": {
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"![image.png](images/end.png)"
]
}
],
"metadata": {
"celltoolbar": "Slideshow",
"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.7.6"
},
"toc": {
"base_numbering": 1,
"nav_menu": {},
"number_sections": false,
"sideBar": true,
"skip_h1_title": false,
"title_cell": "Table of Contents",
"title_sidebar": "Contents",
"toc_cell": false,
"toc_position": {
"height": "calc(100% - 180px)",
"left": "10px",
"top": "150px",
"width": "165px"
},
"toc_section_display": true,
"toc_window_display": true
}
},
"nbformat": 4,
"nbformat_minor": 4
}