{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Designing networks\n", "\n", "Having actors and locations as agents makes the life of an agent-based modeler much easier.\n", "Managing the relationships between interacting entities in agent-based models is now very convenient.\n", "However, it is still very tedious to connect a large number of actors through a specific network structure.\n", "This is where the real magic of Pop2net comes into play.\n", "\n", "Pop2net enables you to design a specific network structure by the definition of a special kind of class: the `LocationDesigner`.\n", "A `LocationDesigner` can be considered as an *interface* with a special syntax to create a certain number of location instances that connect specific actors in a specific way.\n", "The assignment of actors to locations by the definition of a `LocationDesigner` is primarely done through actor attributes.\n", "Hence, **the creation of networks using pop2net makes the most sense when actors have informative attributes.**\n", "However, even when the actors in your simulation do not have any attributes the `LocationDesigner` class makes it easy to quickly connect actors in a certain way, for instance using classic network models.\n", "\n", "The creation of the network based on what is defined in a `LocationDesigner` is managed by the `Creator` class.\n", "The `Creator` *reads* the definition of a `LocationDesigner` and translates it into a certain number of certain location instances and then assigns the actors to the corresponding location instances." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The Creator class\n", "\n", "In order to *design* a specific network in Pop2net, the first thing we need is an instance of the `Creator` class.\n", "The purpose of the `Creator` is to generate actors and locations as well as to connect actors and locations.\n", "Hence, the first step after creating an `Environment` is the creation of an instance of `Creator`." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import pop2net as p2n\n", "\n", "env = p2n.Environment()\n", "creator = p2n.Creator(env)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": { "nbsphinx": "hidden" }, "outputs": [], "source": [ "# this is a hidden cell which sets seeds for consistent outputs\n", "\n", "import random\n", "\n", "import numpy as np\n", "\n", "random.seed(0)\n", "np.random.seed(0)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generating Actors\n", "\n", "Although the main task of Pop2net and the `Creator` class is connecting existing actors via the definition of `LocationDesigner`s, the `Creator` can also generate actors for you.\n", "A special feature of the `Creator` class is that it has some convenient methods to create actors based on micro-level data.\n", "This makes it easy to create *empirical* actors from survey data, for instance.\n", "\n", "Important to know is that while the generation of locations highly depents on the actors and their attributes, the generation of actors is independent from the generation of locations and their connection.\n", "This may be different from classic network generators in which you generate nodes and edges in one step.\n", "\n", "
\n", "Tip: You do not have to generate your actor population using Pop2net or the Creator class. If you plan to create your actors in your own way and just want to connect your actors using Pop2net and the Creator class, you can skip this subsection! However, to connect actors using Pop2net, they must inherit from the Pop2net actor class and must be added to the environment.\n", "
\n", "\n", "The simplest way to generate actors using a `creator` is by using the method `creator.create_actors()` and define the desired number of actors by setting a certain `n`:" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "creator.create_actors(n=10)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ]" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "env.actors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That is not very impressive.\n", "We could have done the same using a simple for-loop.\n", "Let's reset everything by removing those actors from the environment:" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [], "source": [ "env.remove_actors(env.actors)" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "env.actors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now let's have a look at an example for what Pop2net was originally designed:\n", "The creation of a population of actors based on survey data and their flexible connection via locations.\n", "For the following example, we assume that we want to create a network model for schools and have access to a sample of individual data collected in a school.\n", "This is our example data:" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
statusgendergradehoursfriend_group
0pupilm3.0514
1teachermNaN60
2pupilw2.0412
3pupilm2.0411
4pupilm3.056
\n", "
" ], "text/plain": [ " status gender grade hours friend_group\n", "0 pupil m 3.0 5 14\n", "1 teacher m NaN 6 0\n", "2 pupil w 2.0 4 12\n", "3 pupil m 2.0 4 11\n", "4 pupil m 3.0 5 6" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "import pandas as pd\n", "\n", "np.random.seed(0)\n", "\n", "df_school = (\n", " pd.read_csv(\"example_school_data.csv\", sep=\";\")\n", " .sample(frac=1, replace=False)\n", " .reset_index(drop=True)\n", ")\n", "\n", "df_school.head()" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
statusgendergradehoursfriend_group
37teacherwNaN90
38pupilw3.055
39social_workerwNaN60
40pupilw1.042
41pupilm1.041
\n", "
" ], "text/plain": [ " status gender grade hours friend_group\n", "37 teacher w NaN 9 0\n", "38 pupil w 3.0 5 5\n", "39 social_worker w NaN 6 0\n", "40 pupil w 1.0 4 2\n", "41 pupil m 1.0 4 1" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df_school.tail()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To create actors from this dataset, we can simply use the method `creator.create_actors()`.\n", "This method creates one actor object for each row in the given dataset.\n", "Each column is translated into an actor attribute with the corresponding value." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [], "source": [ "_ = creator.create_actors(df=df_school)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The created actors are added to the environment's network and thus appear in `env.actors`:" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ,\n", " ]" ] }, "execution_count": 10, "metadata": {}, "output_type": "execute_result" } ], "source": [ "env.actors" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's also take a look at the network graph to better understand that the actors are now in the graph of the environment, but not yet connected to each other:" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"3101c6ae-7795-4c1d-9263-6c54df053223\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1001\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1002\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1003\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1010\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1011\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1008\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1033\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1050\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GkovD/Y91T+r8A8erersvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A9ddpztW4b+a01E9+ADovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nidmFkqU3j+B1oTs+3Ppvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TxdwNR7n7r+ilvY8373Jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0eilctmN6r/53ZSAQ5Lhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x1pz6bOS5L8i8T7ntPnnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"T0nxgSmP6L8ric8rM6rdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jI/Vu48O5D/puLVh6oPovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"45DhqVSY7T8svUyDh5DUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QK/C+4pP7L/CJVlKYVDWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kEzoz7M47D++Qr7LRInGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+HstrfqV3L83T+JODHXsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"arl71vNrtT8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"07Utb5+j5D+jDxsuvWTjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IywLs8kj7z/oVQTEvJ6cPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eSRwbvr25r+z6XqJDHnfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vaKn6SBCz7+FN6m9ISDqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"X/AuW8d2yj9bJzutYDPpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QeQovcSd3j/G7nfZ7HzsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LT0LQJfswT9ClMowWyTvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[30,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/zVeqLVoxD9Lf5x9VIjsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[31,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qtceRttg6T8WdoTnHMrkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[32,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wVfnnV+cpL8CkwPtsOzuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[33,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rzUXqkmCzr92Z/+63Y7uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Djk9xB5w2r8R44LvIoztPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1um71c7a7L8N/gJTY/Wvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h/yRO0es4j9Cbi04eJvoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lHS/U39L7D897gH81G3Zvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JVR7jbBht7+MJcswR+/uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QMxORO/dz7/MTU7hrqTuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Pn2ico626D/0CnkFwk/kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jAXg5fFT5r9pVJbB+1fnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[42,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xKXpPFdb6j8uTAlsDEndPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[43,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OZMy3avi7D+lEXdTqw/Ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[44,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"51BbZNrF679/l9NvmH3NPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[45,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v99s4YWh7r+wgbZncX21Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[46,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fgTmZ8du7b/zZuVpk/TVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[47,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0awYyUDU5z/6/wGJkQ7gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[48,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h1PHJSK65r84A/XOJXrjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[49,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZgrEGDky378WUDAVm3fpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[50,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nAwOZlRf1D/VTveFgJrtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[51,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vLOJx7ac6z+yWmZy0im1vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1038\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1035\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1036\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1037\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]],[\"index\",[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]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1039\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1040\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1051\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1045\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1042\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1043\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1044\"},\"data\":{\"type\":\"map\",\"entries\":[[\"start\",[]],[\"end\",[]],[\"start_display\",[]],[\"end_display\",[]],[\"index_display\",[]],[\"type_display\",[]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1046\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1047\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1041\"}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1048\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1049\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1009\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1022\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1023\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1029\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1028\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1030\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1031\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1032\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1052\",\"attributes\":{\"renderers\":[{\"id\":\"p1045\"},{\"id\":\"p1038\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1017\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1018\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1019\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1020\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1012\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1013\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1014\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1015\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1016\",\"attributes\":{\"axis\":{\"id\":\"p1012\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1021\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1017\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"3101c6ae-7795-4c1d-9263-6c54df053223\",\"roots\":{\"p1001\":\"adc6a3c8-e85b-4aec-82e1-363915d111ec\"},\"root_ids\":[\"p1001\"],\"notebook_comms_target\":\"p1053\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p1001" } }, "output_type": "display_data" } ], "source": [ "inspector = p2n.NetworkInspector(env)\n", "inspector.plot_bipartite_network()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's have look at the attributes of the first actor.\n", "We can see that each cell of the first row of the given data was translated in an actor attribute with the name of the corresponding column.\n", "That was done for each row of the given data." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "{'env': ,\n", " 'id_p2n': 10,\n", " 'model': None,\n", " 'type': 'Actor',\n", " 'status': 'pupil',\n", " 'gender': 'm',\n", " 'grade': 3.0,\n", " 'hours': 5,\n", " 'friend_group': 14}" ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "vars(env.actors[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If we do not insert an actor class via the parameter `actor_class`, the default actor class of Pop2net is used to create the actor instances, but we could also use our own actor class (that inherits from `p2n.Actor`):" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[<__main__.MyActor at 0x75e9d94d69c0>,\n", " <__main__.MyActor at 0x75e9d94d6990>,\n", " <__main__.MyActor at 0x75e9d94d6ab0>,\n", " <__main__.MyActor at 0x75e9d94d6a20>,\n", " <__main__.MyActor at 0x75e9d94d6b10>,\n", " <__main__.MyActor at 0x75e9d94d4b60>,\n", " <__main__.MyActor at 0x75e9d94d69f0>,\n", " <__main__.MyActor at 0x75e9d94d63c0>,\n", " <__main__.MyActor at 0x75e9d94d6a80>,\n", " <__main__.MyActor at 0x75e9d94d6660>,\n", " <__main__.MyActor at 0x75e9d94d6720>,\n", " <__main__.MyActor at 0x75e9d94d6b40>,\n", " <__main__.MyActor at 0x75e9d94d6b70>,\n", " <__main__.MyActor at 0x75e9d94d6ba0>,\n", " <__main__.MyActor at 0x75e9d94d6bd0>,\n", " <__main__.MyActor at 0x75e9d94d6c00>,\n", " <__main__.MyActor at 0x75e9d94d6c30>,\n", " <__main__.MyActor at 0x75e9d94d6c60>,\n", " <__main__.MyActor at 0x75e9d94d6c90>,\n", " <__main__.MyActor at 0x75e9d94d6cc0>,\n", " <__main__.MyActor at 0x75e9d94d6cf0>,\n", " <__main__.MyActor at 0x75e9d94d6d20>,\n", " <__main__.MyActor at 0x75e9d94d6d50>,\n", " <__main__.MyActor at 0x75e9d94d6d80>,\n", " <__main__.MyActor at 0x75e9d94d6db0>,\n", " <__main__.MyActor at 0x75e9d94d6de0>,\n", " <__main__.MyActor at 0x75e9d94d6e10>,\n", " <__main__.MyActor at 0x75e9d94d6e40>,\n", " <__main__.MyActor at 0x75e9d94d6e70>,\n", " <__main__.MyActor at 0x75e9d94d6ea0>,\n", " <__main__.MyActor at 0x75e9d94d6ed0>,\n", " <__main__.MyActor at 0x75e9d94d6f00>,\n", " <__main__.MyActor at 0x75e9d94d6f30>,\n", " <__main__.MyActor at 0x75e9d94d6f60>,\n", " <__main__.MyActor at 0x75e9d94d6f90>,\n", " <__main__.MyActor at 0x75e9d94d6fc0>,\n", " <__main__.MyActor at 0x75e9d94d6ff0>,\n", " <__main__.MyActor at 0x75e9d94d70b0>,\n", " <__main__.MyActor at 0x75e9d94d70e0>,\n", " <__main__.MyActor at 0x75e9d94d7110>,\n", " <__main__.MyActor at 0x75e9d94d7140>,\n", " <__main__.MyActor at 0x75e9d94d71a0>]" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "class MyActor(p2n.Actor):\n", " pass\n", "\n", "\n", "env = p2n.Environment()\n", "creator = p2n.Creator(env)\n", "actors = creator.create_actors(\n", " df=df_school,\n", " actor_class=MyActor,\n", ")\n", "actors" ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "__main__.MyActor" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "type(actors[0])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "For now, this is enough information on how to create actors based on micro-level data using Pop2net.\n", "\n", "
\n", "Tip: More useful options for the generation of actors based on micro-level data can be found in chapter >>>From survey participants to actors<<< (not online yet).\n", "
" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## The LocationDesigner\n", "\n", "To generate locations using the `Creator` class, we have to use it in combination with the `LocationDesigner` class.\n", "The `LocationDesigner` can be considered as an interface to controll the automatic generation of locations and assignment of actors to the locations by the `creator`.\n", "\n", "The `LocationDesigner` class has various attributes and methods which can be customized by the user to specify which kind of locations are created and how the actors are assigned to which location instances.\n", "The attributes and methods of the `LocationDesigner` are *read* by the `Creator` and then translated into the bipartite network of actors and locations.\n", "Here is an overview of the attributes and methods of the `LocationDesigner` class:" ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [], "source": [ "from __future__ import annotations # noqa: F404\n", "\n", "\n", "class MyLocation(p2n.LocationDesigner):\n", " n_actors: int | None = None\n", " overcrowding: bool | None = None\n", " only_exact_n_actors: bool = False\n", " n_locations: int | None = None\n", " recycle: bool = True\n", "\n", " def filter(self, actor: p2n.Actor) -> bool:\n", " \"\"\"Assigns only actors with certain attributes to this location.\"\"\"\n", " return True\n", "\n", " def split(self, actor: p2n.Actor) -> str | float | str | list | None:\n", " \"\"\"Creates separated locations for each value of an agent-attribute.\"\"\"\n", " return None\n", "\n", " def bridge(self, actor: p2n.Actor) -> float | str | list | None:\n", " \"\"\"Create locations with one actor for each unique value returned.\"\"\"\n", " return None\n", "\n", " def stick_together(self, actor: p2n.Actor) -> str | float:\n", " \"\"\"Ensures that actors with a shared value on an attribute are assigned to the same\n", " location instance.\"\"\"\n", " return actor.id_p2n\n", "\n", " def weight(self, actor: p2n.Actor) -> float:\n", " \"\"\"Defines the edge weight between the actor and the location instance.\"\"\"\n", " return 1\n", "\n", " def nest(self) -> str | None:\n", " \"\"\"Ensures that the actors assigned to the same instance of this location class\n", " are also assigned to the same instance of the returned location class.\"\"\"\n", " return None\n", "\n", " def melt(self) -> list[p2n.Location] | tuple[p2n.Location]:\n", " \"\"\"Merges the actors assigned to the instances of the returned location classes\n", " into one instance of this location class.\"\"\"\n", " return []\n", "\n", " def project_weights(self, actor1: p2n.Actor, actor2: p2n.Actor) -> float:\n", " \"\"\"Calculates the edge weight between two actors that are assigned to the same location\n", " instance.\"\"\"\n", " return min([self.get_weight(actor1), self.get_weight(actor2)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generating locations (and assigning actors)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We start by just using the default class of `LocationDesigner` without defining any further attributes or methods.\n", "Every location class defined by the user must inherit - directly or indirectly - from `p2n.LocationDesigner`.\n", "We call our first location `ClassRoom`." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " pass" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we use the `creator.create_locations()` to create the location instances and - and this is important - to assign the actors, which are already in the environment, to the location instances:" ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "creator.create_locations(location_designers=[ClassRoom])" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[]" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "env.locations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`creator.create_locations()` has not only created the location instances with respect to the given actor population, but has also assigned the actors to the location according to the rules specified by the location classes.\n", "We can check this by looking at the bipartite network:" ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"1f996b3b-21c2-41da-87ed-e149e5a055d3\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1096\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1097\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1098\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1105\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1106\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1103\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1128\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1145\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0MMjYelA6D9g9Quu497evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5tvon2S+3D9cI6sR20qyPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"u+gJCWoP3j/r5R8LaRnsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bp74TAiux78CORrOiNHuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QuvibWlZtj/PUru6pUzvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IxG24ujDpT9SfqLDRHvdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WsvYYp+j2L9NiGEtLyrlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aruDjDnIyb8KXpWJTlDZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sclS8NYS3D8GppwtcyHivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Jqvije99sb+dzE5qnITmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JKv7enln5j+whCETu+Pmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rsJkNRQm7b804CotY7/Rvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oRGP1ErXwj+k75SUr6Tvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nM1/wd3D7j+VWpu07JC7vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aedGkcXH47/V2wUdY7Povw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9/O2+Ejh5r/c79SCm9nmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b7T/D77R6r8N2lPZ/h/bPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vSLl2HWmub91wtar77/nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YaVS1DOw3r9NIECSB3/Nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QS3Ah2+65j8km0/+2p3jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"////////77+a1fQlibCcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OnuGAm5R479b8qr7qZLePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wdCM6P7q5z/DwE2DeMSBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pNgdugrS679bWwcudAjhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o8LhWOog7z8R96nKeJbGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"s46UerXLwb85L/NwUqnvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"csxPVgum2L8viYlUWC7svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ug55PNal3L+nu/dbY4jsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ywjrvDLC7D9C1xcxOGjcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BP2nJRR44b8HXQC/xEjFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[30,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UkLlMJXm1r+bEddTuA7ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[31,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"riZWhxoF6L8H8uN2OKajvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[32,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2V2iE+KX4T9M7aqZNaDoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[33,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o3dt0o/L1T+ndYJTvFTdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uPRZTNvy5D9vFOHTyQPVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OwzcFgKK7r85mHu9KXLNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1C1qpQu+7T8cDIqRuuLVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J1wW6b7x1z/6dcU9PtztPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YIGtoT/eyz8z7qQbANfmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8HOAzt29zD/8VtVDqPznvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6Pq90zVz5L9JoudQb4ffvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2jjWmJ+B4D+4JXs6NiXSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[42,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Quutu3Q9cj+pjyeTvccmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1133\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1130\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1131\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1132\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\"]],[\"type\",[\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]],[\"index\",[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]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1134\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1135\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1147\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1140\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1137\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1138\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1139\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[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]],[\"end\",[42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42,42]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1141\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1142\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1146\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1143\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1144\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1104\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1117\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1118\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1124\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1123\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1125\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1126\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1127\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1148\",\"attributes\":{\"renderers\":[{\"id\":\"p1140\"},{\"id\":\"p1133\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1112\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1113\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1114\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1115\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1107\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1108\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1109\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1110\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1111\",\"attributes\":{\"axis\":{\"id\":\"p1107\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1116\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1112\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"1f996b3b-21c2-41da-87ed-e149e5a055d3\",\"roots\":{\"p1096\":\"b1a8b350-853b-4073-b747-13b89322031c\"},\"root_ids\":[\"p1096\"],\"notebook_comms_target\":\"p1149\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p1096" } }, "output_type": "display_data" } ], "source": [ "inspector = p2n.NetworkInspector(env)\n", "inspector.plot_bipartite_network()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The node in the center of the graph is the location.\n", "All other nodes are actors.\n", "This means that if we use the default location class without further customization, only one location instance is created to which all actors are connected.\n", "Since each actor is assigned to this one location instance, the result is a fully connected actor graph:" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"7dc0c7ae-2d49-4f65-9ebc-3da5760d9d3a\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1193\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1194\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1195\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1202\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1203\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1200\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1225\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1242\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v9dd8k3B778EY/XwlRnHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zA+Q9hZqsL9kZXxHg3DSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rvoARuHSvL/ITPIrc+7mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HiwBsPrX4T8W/eYTvWucPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VBtb6ilD77+TFtJGVnPSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cZG+II3r2j/X6LKErfbZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xiJ1S3SSvr8SHuhv/FLuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WlN+jMhB2b/4f38GXy7Fvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PHSZZVdR2z9SxLAvzvznPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hSBMDDop7T/v5tjJrh7gPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6Bt8vhGc3b8aL0AVxPfuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2EsFKmg75j+sm2Pvq5jVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yaBrKRAY0D+Y+kU746Tuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pzhh72pHxD/gLJ7m4PndPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XW5z7LMjsb88ybakvMGyPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xpsB29ja4j+siXN3nfzjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+fCNigpP5D+j/MI00BjUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H/Bpo9557z+ggHzn/O/EPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/QuEO35y0z9STIt0onDYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"82YI1wwt5j9jBR5+OyXnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PzVX7ggV2L/uMjctoqzVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gWKpsLsc6z8kpWBIPpKsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4Bhz/Afs3z+dGnvcuUPrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dYZq42y7xj9D+dvxGpbkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6wjM7v667b+26/Lbj7ffPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"T1XYvQ8j1b8ajkprS9ntvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3HYwRhk70j/////////vPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1GjYYS4117/TPMgULSjnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hmP5BeQi479myssWEfXovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gUjSH55D7z9dHzUs5PPRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[30,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2cNyudtP6b8WZFIYury3vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[31,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uFCGvSmk67/tNuTiT+Livw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[32,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l/xLTNzwv78eCLfSL2rgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[33,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XbYx7lbN5L8CoyR8XWKzPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m3+u46Ey6z/SyUYR80vivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"V0QMIgl3uD8xisN4nIzpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3eKZNzf85L8GIB39WOrkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4txGJXfW1r/uASVqTCDivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ioWDJ8mnzT/Gs6/VibJ0vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7SClqL675L/w5ubmavDbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xUGO8GCS5b+bSrbXvSfYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"duldWRFeo79KXDArbGTvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1230\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1227\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1228\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1229\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\",\"MyActor\"]],[\"index\",[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]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1231\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1232\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1244\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1237\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1234\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1235\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1236\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,22,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,23,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,25,26,26,26,26,26,26,26,26,26,26,26,26,26,26,26,27,27,27,27,27,27,27,27,27,27,27,27,27,27,28,28,28,28,28,28,28,28,28,28,28,28,28,29,29,29,29,29,29,29,29,29,29,29,29,30,30,30,30,30,30,30,30,30,30,30,31,31,31,31,31,31,31,31,31,31,32,32,32,32,32,32,32,32,32,33,33,33,33,33,33,33,33,34,34,34,34,34,34,34,35,35,35,35,35,35,36,36,36,36,36,37,37,37,37,38,38,38,39,39,40]],[\"end\",[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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,28,29,30,31,32,33,34,35,36,37,38,39,40,41,29,30,31,32,33,34,35,36,37,38,39,40,41,30,31,32,33,34,35,36,37,38,39,40,41,31,32,33,34,35,36,37,38,39,40,41,32,33,34,35,36,37,38,39,40,41,33,34,35,36,37,38,39,40,41,34,35,36,37,38,39,40,41,35,36,37,38,39,40,41,36,37,38,39,40,41,37,38,39,40,41,38,39,40,41,39,40,41,40,41,41]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1238\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1239\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1243\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1240\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1241\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1201\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1214\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1215\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1221\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1220\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1222\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1223\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1224\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1245\",\"attributes\":{\"renderers\":[{\"id\":\"p1237\"},{\"id\":\"p1230\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1209\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1210\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1211\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1212\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1204\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1205\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1206\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1207\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1208\",\"attributes\":{\"axis\":{\"id\":\"p1204\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1213\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1209\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"7dc0c7ae-2d49-4f65-9ebc-3da5760d9d3a\",\"roots\":{\"p1193\":\"e10e2c32-075d-41bc-90a9-55184c3b87a2\"},\"root_ids\":[\"p1193\"],\"notebook_comms_target\":\"p1246\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p1193" } }, "output_type": "display_data" } ], "source": [ "inspector.plot_actor_network()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Generating actors and locations in one step" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Before diving into all the details of the definition of location classes, let's simplify the process of generating actors and locations.\n", "The method `create()` combines `create_actors()` and `create_locations()` into one simple method.\n", "However, note that `create()` always creates the actors based on a given dataset.\n", "If you already have a population of actors, use `create_locations()` instead. " ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [], "source": [ "env = p2n.Environment()\n", "creator = p2n.Creator(env)\n", "inspector = p2n.NetworkInspector(env)\n", "\n", "# Let the Creator create actors and locations\n", "creator.create(\n", " df=df_school,\n", " location_designers=[ClassRoom],\n", ")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The method `create()` also has the convenient argument `clear`.\n", "Set this to `True` if you want to remove all existing actors and locations from the environment before adding new ones to the environment.\n", "This way you do not have to create new instances of `Environment`, `Creator` and `Inspector` if you want to create a completely new network.\n", "In the following, we first run `create()` with `clear` explicitly set to `False` and then with `clear` set to `True`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If `clear` is `False` (which is the default value) the new actors and locations are added to the environment without removing the existing ones:" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "actors: 84 locations: 2\n" ] } ], "source": [ "creator.create(\n", " df=df_school,\n", " location_designers=[ClassRoom],\n", " clear=False,\n", ")\n", "print(\"actors:\", len(env.actors), \"locations:\", len(env.locations))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "If `clear` is `True` only the new actors and locations remain in the environment:" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "actors: 42 locations: 1\n" ] } ], "source": [ "creator.create(\n", " df=df_school,\n", " location_designers=[ClassRoom],\n", " clear=True,\n", ")\n", "print(\"actors:\", len(env.actors), \"locations:\", len(env.locations))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The keyword `clear` is also available in `create_actors()` and `create_locations()`, where it removes either all existing actors or all existing locations from the environment." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Setting the location size\n", "\n", "In the next step, we specify the number of people in one classroom.\n", "In this example, we assume tiny classrooms of four actors.\n", "To set the number of actors per location, we need to set the class attribute `n_actors` to the desired value." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Let's use the modified `ClassRoom` to create the network:" ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"47ba18df-0e9b-4d92-a1fe-591f12f30169\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1289\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1290\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1291\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1298\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1299\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1296\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1321\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1338\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[129,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9DLgH/Jd5z/Ps/rdVlHdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[130,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3rSiw+3V6z+iVq5PNtLaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[131,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RiqForHR6j9LnQhTuY7ePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[132,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OxRdvcWZ6T80ph0O5wbWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[133,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R1pyQHD/4L+WD+qsm4/ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[134,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NCZT+bFE4L9ZXIXKDKHqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[135,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0jfR7eGe3L+di8YatlTrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[136,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Kqto9kIF3L+4rSj14xvmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[137,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rEkBOa6twb+yu5XNDbbpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[138,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jTqSKCk3tr9SKaGHWHfrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[139,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xMLbTF/qyr/q8m0BaXTqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[140,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4EPFEVVPxb/w3ZmwSX7uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[141,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3XspB5Nr6D8e79C+ETnnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[142,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1D6qkEVN5z9Eku0KqhDrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[143,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YWOTmNg85D/p/ccry6Tmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[144,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uhSdddfV5z9vKj/1jf/ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[145,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"K5PbHQ+42T8oFNUjifLqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[146,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"S6z8FN5v1T+GZbaZXGXrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[147,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xFWIOrZ02T9uHNEmRLTnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[148,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"j9u8cNQE0z/cq8ROb1HmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[149,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"n9fcofxc678gg0ap617Rvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[150,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rTca/Jgw7L9eqBiiF3LOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[151,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BLEqEfiV6r/56EyZzujWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[152,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rYMjasEz6L9wTz6gsqjTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[153,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CcL/XfSN4L/2Rd4GgBDlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[154,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l/DewFgN5b8LzDMhoLzlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[155,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1hWkc6Su47+Itiw/1HTnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[156,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ilUtf55z4b9j1VAtwoDiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[157,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NQpOEGRl5z+1PFZlGP3Evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[158,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LpPt1aFE6z+p3qfQe5DPvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[159,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Opi+LE3Q6z+1mIYw4abAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[160,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nK6QaV/u7D+vYYo/nRbJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[161,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PZeeM7jD67885OJB8q/YPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[162,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Pl6oGQHG679tJl2KzVfQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[163,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xRRArwcl7r9cEgH70jPVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[164,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mqRCFBWj6L/0aJ55s2jTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[165,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sL0jhzU/sT9D5umS5Qrvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[166,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GuC8Jm8IwD9gwJIuwBfrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[167,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"15SkprgdyD+p+wSZwJ/vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[168,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zyJ3Wwzavz8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[169,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UJTlLGOM5j/Ic5UMH6nXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[170,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nu3bfRWT2L83QRVeftnnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[171,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2s5b+FEE6T/GrHAuDE7aPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[172,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZM7inNIo3b8VS/5U3qbovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[173,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tbKbMMmzw7/9P93IONPrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[174,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Uu/V4WZg5j8TdJcr1WDovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[175,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0zwGnCQg1j+wJqc7CNvoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[176,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WEFxOJ0W6r8zNgEzC3rSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[177,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eQLIUFGl4r/GeEHgKunkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[178,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VQC11ug76j+5BkUnpCjHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[179,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qevwBO9r678MYD8bXXDUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[180,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TeA6p0+JwD+9A5p0s9jtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1326\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1323\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1324\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1325\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1]],[\"index\",[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]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1327\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1328\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1340\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1333\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1330\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1331\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1332\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[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]],[\"end\",[171,171,171,171,172,172,172,172,173,173,173,173,174,174,174,174,175,175,175,175,176,176,176,176,177,177,177,177,178,178,178,178,179,179,179,179,180,180,180,180,171,172]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1334\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1335\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1339\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1336\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1337\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1297\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1310\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1311\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1317\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1316\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1318\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1319\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1320\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1341\",\"attributes\":{\"renderers\":[{\"id\":\"p1333\"},{\"id\":\"p1326\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1305\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1306\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1307\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1308\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1300\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1301\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1302\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1303\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1304\",\"attributes\":{\"axis\":{\"id\":\"p1300\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1309\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1305\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"47ba18df-0e9b-4d92-a1fe-591f12f30169\",\"roots\":{\"p1289\":\"adef36c3-48b8-4aa0-a8aa-76371de93a19\"},\"root_ids\":[\"p1289\"],\"notebook_comms_target\":\"p1342\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p1289" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"9d088faf-1db7-4ef4-aa3a-636d566181f4\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1395\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1396\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1397\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1404\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1405\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1402\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1427\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1444\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[129,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6fgWuGJ84j9j8u631zraPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[130,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ar5Xof4Y4j9KpeFyTU7XPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[131,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mX84z6Qm4T/JfO1R5pHbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[132,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zMcWdDMS4D9SqlmG46nZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[133,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qr/TP1yFxD8DwzzMOuTvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[134,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4ZjXuTpRwj+lWzpmm1Xtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[135,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2lfN/bXIvT+JbgPhElTuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[136,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wDJ3oT3byD/3i/A85Xztvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[137,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sXQ9RrP667+Nekdz+1XWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[138,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OQd+Ffp47b85r303CKLZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[139,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qaM+aDgb77/LC3a7WZPYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[140,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y8xkPYkz7r/xNO2nj6jVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[141,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"apeqDNeo37/DoWCMJ9W+Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[142,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"szYJc4sR3b9iQA/wpIm2Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[143,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4RELz2r84L9aSBo4FiG0Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[144,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Iib0s5YH37+Z6a8fVD6nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[145,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+LxDppRW1L/vHZCaONHuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[146,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BuGYGJhs0r8HqeOe/ZfsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[147,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rQMOL11Q1b8Fz8Ewn63sPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[148,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"38z3o6PN0L+B7xGRv7rtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[149,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vYC7Tm4r6b8TlMMley7hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[150,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GEdFiCIK7L8NEBEe5vTiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[151,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pcCbHbeI67+A1twTmV7hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[152,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qBcwJt1h6r9pwvF6SSTjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[153,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Jz2UjA/Q2z8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[154,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LHOtCRBK2D9DXUp6wXDtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[155,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6kufEbKt2z/Sy+700SfuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[156,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"59SlQPN72D+2AuRTT7jvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[157,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cRxtgB4h7T9XdfFVSbS2vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[158,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M1n/gb2Q7z9TLxldi9Csvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[159,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QDUtkfvf7j9omRPI+PG6vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[160,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NIvVYba87T/RkEhTDCCkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[161,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Gan76ryZ2b+Gmbb7AxPovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[162,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BQNZVAtr3r+qImZf1dbnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[163,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QT2wVuj4279ZXuiyggrnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[164,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mJDp4AH03L/YjuSys43pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[165,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"V8iMopKh6T8qtC+rrCvkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[166,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SHuwOE6A6T/gkmFU9d/lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[167,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SCCy4Jm05z9YRAfLR1Llvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[168,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"P/xx3uid5z/GuKRr+4bjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[169,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hstGB9eq4D80gTZTnf/WPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[170,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tdVf6+uXxj+XWE7HV3/uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1432\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1429\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1430\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1431\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[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]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1433\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1434\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1446\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1439\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1436\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1437\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1438\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[129,129,129,129,130,130,130,131,131,132,133,133,133,133,134,134,134,135,135,136,137,137,137,138,138,139,141,141,141,142,142,143,145,145,145,146,146,147,149,149,149,150,150,151,153,153,153,154,154,155,157,157,157,158,158,159,161,161,161,162,162,163,165,165,165,166,166,167]],[\"end\",[130,131,132,169,131,132,169,132,169,169,134,135,136,170,135,136,170,136,170,170,138,139,140,139,140,140,144,142,143,144,143,144,146,147,148,147,148,148,152,150,151,152,151,152,154,155,156,155,156,156,160,158,159,160,159,160,162,163,164,163,164,164,168,166,167,168,167,168]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1440\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1441\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1445\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1442\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1443\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1403\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1416\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1417\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1423\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1422\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1424\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1425\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1426\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1447\",\"attributes\":{\"renderers\":[{\"id\":\"p1439\"},{\"id\":\"p1432\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1411\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1412\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1413\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1414\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1406\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1407\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1408\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1409\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1410\",\"attributes\":{\"axis\":{\"id\":\"p1406\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1415\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1411\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"9d088faf-1db7-4ef4-aa3a-636d566181f4\",\"roots\":{\"p1395\":\"d015ebf0-9efa-409d-b72b-a225c2dc2706\"},\"root_ids\":[\"p1395\"],\"notebook_comms_target\":\"p1448\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p1395" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "inspector.plot_networks()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The network diagrams above now show multiple clusters.\n", "Each cluster represents one classroom.\n", "If we set a specific size for a location, the Creator creates as many location instances with that size as needed.\n", "The actors are then assigned randomly to one of these location instances.\n", "As you can see, some classrooms have more than four members because the number of actors assigned to classrooms cannot be divided exactly by the desired number of four.\n", "\n", "The `overcrowding` attribute determines how the number of required locations is rounded.\n", "By default, `overcrowding` is set to `None` which means that the number of required locations is either rounded up or rounded down using `round`.\n", "Below we change `overcrowding` to `False` to create one more location instance to avoid *overcrowding* the classrooms." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"02a606d2-d297-4434-a501-7e4119e15e45\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1491\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1492\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1493\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1500\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1501\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1498\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1523\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1540\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[181,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"t/GM6Z+Y6L/ezzQbZlG9Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[182,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jay/LJE97r+6tWSIE9XCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[183,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OdvHlSs2678kKfovLdqnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[184,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sjvdmc197r+26RILgre0Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[185,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gOYkYwS+xj96hujSyWDqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[186,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r9sW9OHbzD+We6qNNSTtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[187,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CJ/X/BNB0j8vCGddmPHrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[188,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zBDhobgy1D8+VCOSl4HqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[189,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uprHluCBkD++5Zmwlm3JPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[190,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pYvDnpaum7+h2yVnbI2xPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[191,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IJaPhBFWrj9nZ37Y2j+9Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[192,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DIfFjVPNsb/DV/q2i7HEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[193,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Gv4m9gpZ6D+hmZJ+3abhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[194,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ev4cau/25D9+ZMCuPtnhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[195,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YQoMYKEW5D9aUG9R6KTdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[196,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DEFOTvTV5j96S2ZD2CLcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[197,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+PNGicKg5z+igoaY+mTkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[198,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Odc7dJt+5T9Er2Yn1z7kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[199,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e/+eAvbA6D/HKkG+zczivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[200,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"K6mJdbb65z9GA+EWR83gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[201,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EqiNfwsJ7z+zNEkem817vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[202,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YH06rjRv6T8UoKZfq4mgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[203,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sUN+CMAB7D9ba4enqDG4Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[204,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KVtygyh77z+oBf9devutPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[205,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"swxzGVSmzT92g03UG3Psvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[206,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4MgQASSyyj/////////vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[207,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tlYCTRWCzz841j/kJXLrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[208,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BEQJtcVKwD9uZBPQIkXtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[209,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5cCZjFCx4r8LyduDlQ3ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[210,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZAGBUaax4b+0ZnJ9z5/mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[211,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"27HvY8M24b98qeAmrYHqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[212,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wlYIx/mJ3b9nlcxh+srpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[213,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/0ygK4Ti1b+OBHm9yRDevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[214,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WiFWFiDn3r9Bq/jzFt7dvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[215,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KGQmbHOk278gSsbqf1DZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[216,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AtCL2qRx2r+EN28CFtbgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[217,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bc/XN9w85r8nHz5agAPiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[218,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uFytCtk94r8tZ3dYu2fjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[219,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yFL21swQ4r+Fid1L9d/fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[220,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m3hfgrGh5L+uVZOGPY3jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[221,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"B7aSbSub4r8nSshj5iXtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[222,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ooDEvJRx4L8oXXwLfrXtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[223,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jr/nUI3j67+11yPBox+7Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[224,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oCaGsKsRzz/JI0fOM4HqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[225,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sGchzf8Fer9cBHTnXSLBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[226,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6elFAVId5j9ds/stsRbgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[227,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"okWMdFAl5j9jJd2/zxLivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[228,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ixW6IpLH7D/vYSl42OWiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[229,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PpN8eZ8ByT9/Km3nslvtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[230,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ru0wnYh64L+C5hH6oj7ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[231,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"t1WQDfAd2r+RnkzZs0jdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[232,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LbcQlRqX47+boYtDHbnhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[233,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/VocROjM4L/+NEVAS1HrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1528\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1525\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1526\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1527\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1]],[\"index\",[181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1529\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1530\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1542\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1535\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1532\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1533\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1534\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,196,197,198,199,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222]],[\"end\",[223,223,223,223,224,224,224,224,225,225,225,225,226,226,226,226,227,227,227,227,228,228,228,228,229,229,229,229,230,230,230,230,231,231,231,231,232,232,232,232,233,233]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1536\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1537\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1541\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1538\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1539\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1499\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1512\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1513\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1519\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1518\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1520\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1521\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1522\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1543\",\"attributes\":{\"renderers\":[{\"id\":\"p1535\"},{\"id\":\"p1528\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1507\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1508\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1509\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1510\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1502\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1503\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1504\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1505\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1506\",\"attributes\":{\"axis\":{\"id\":\"p1502\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1511\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1507\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"02a606d2-d297-4434-a501-7e4119e15e45\",\"roots\":{\"p1491\":\"ed43e37a-43cd-4387-9288-b15639459e05\"},\"root_ids\":[\"p1491\"],\"notebook_comms_target\":\"p1544\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p1491" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", " overcrowding = False\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_bipartite_network()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The plot above shows that there is now is no class room that has more than 4 members.\n", "However, now there is a class room which only has two members.\n", "We could also set `overcrowding` to `True` to always round down the number of necessary location instances.\n", "\n", "If we do not want locations that are either overcrowded or undercrowded but only locations that have exactly the size we defined, we could use the attribute `only_exact_n_actors` to `True`:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"19a2c48e-d8ba-476a-b456-b703a0a30f6e\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1598\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1599\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1600\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1607\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1608\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1605\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1630\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1647\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[234,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QNgf6eFtxr/Qp4PG1wvkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[235,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G9rv9b5T078rqmRIbqzlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[236,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"u7f6dZ2zz7/1DF9sSynnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[237,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"54XX06Nw0L8U7VEbtLvivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[238,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dH/l8+pO0L/9TSF1yZTtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[239,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eUZUKHYhxr8M2sKgUDXqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[240,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TMLylKKwzr8EhQDZ/uXoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[241,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Bi8CJ9JG079m3ysIm43qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[242,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YyzP68RG5L+Wcy8ScHfiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[243,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CAcb1kvN5L+An37nlFjdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[244,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+5KM3G/V5b9fXKpNRijhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[245,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"j6onc0234L8r5FEShLrcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[246,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/XcUm+Ec7T+FzstxkzDHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[247,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"srkKuE975z9fAF0qspO7Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[248,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CoqSs9kN7T/a8skycve9Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[249,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tI8S6wKu6j8x/gflgaTKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[250,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zmsp8ZSV1j/8UX83ABnrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[251,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eGImGE4S1D/tYjRimxftPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[252,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jV1eSaKezz9xc2mGUezqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[253,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Mzz6Sv8HzD9eo8J3rnrsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[254,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yh488nPU4z+vjueSB7LqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[255,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LbTH0C5w0L/////////vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[256,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qMUaSPYa7T95ib0Obybcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[257,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xi/UMK4F7T/l08qUpRLYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[258,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"O/gx0qSx5z+iaQUmfZfVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[259,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uwQrUZxU6z+ocy0E3gnevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[260,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bGuwW8aa6b9UnajEvt7gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[261,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zMvvRA4x5r8VYCg3TQzgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[262,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"f/lWdehl6r+m6BAq3efdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[263,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VA/cKDUI5b+G/RoezEPavw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[264,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Yckbkq1v5r+V1TPaFViEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[265,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QlkGU6+t5r9zbsj/O0utPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[266,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M5xMuKSj4r9q6CzvE0GHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[267,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RBS9dGhy47/eQiJ8viK1Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[268,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9S5osrNKxD8yLW1dOJbrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[269,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pUpDzcOpvT9bCu10oensvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[270,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RDV/YMhgrz9bdoCcZEjtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[271,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UyHMaVdoqj8+RVfeVbTnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[272,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lBv9OdLZ1j9Epjz/PHOnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[273,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XPfLofeU2j8OMTvon9WZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[274,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZBU+z6su0j8uVpVaXYOSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[275,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KopylglS1j90nzYHGX+2Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[276,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DPCEuuy66j/Wk3fiFlDZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[277,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jAKKTI7K57/awubLzuPdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[278,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iquZHohR5L+IhWVp9wmbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[279,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pMvGAJJgtj/LjuILHM7qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[280,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QBmIFL5Q1j9tFrwUayaVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[281,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IROo4HF4zr9yTx+Q4Krkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[282,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TzJ5Ix1zzr+Xiz6gVObqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[283,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tLzQqvFl478BAX1TfBTgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[284,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G2SeEbet6j/ocJng4lvCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[285,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ur9+LqxN0j+NPJUaM6rrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1635\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1632\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1633\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1634\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1]],[\"index\",[234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1636\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1637\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1649\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1642\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1639\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1640\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1641\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275]],[\"end\",[281,281,281,281,282,282,282,282,283,283,283,283,284,284,284,284,285,285,285,285,276,276,276,276,277,277,277,277,278,278,278,278,279,279,279,279,280,280,280,280]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1643\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1644\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1648\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1645\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1646\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1606\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1619\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1620\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1626\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1625\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1627\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1628\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1629\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1650\",\"attributes\":{\"renderers\":[{\"id\":\"p1642\"},{\"id\":\"p1635\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1614\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1615\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1616\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1617\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1609\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1610\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1611\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1612\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1613\",\"attributes\":{\"axis\":{\"id\":\"p1609\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1618\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1614\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"19a2c48e-d8ba-476a-b456-b703a0a30f6e\",\"roots\":{\"p1598\":\"ff553444-6ee5-447a-8e64-ad4d770d433a\"},\"root_ids\":[\"p1598\"],\"notebook_comms_target\":\"p1651\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p1598" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", " only_exact_n_actors = True\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_bipartite_network()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As a consequence, two actors are not assigned to any location." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Defining the number of locations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The attribute `n_actors` implicitly changes the number of the created locations.\n", "Using the attribute `n_locations`, you can also set the number of locations explicitly:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"2f365fe6-7610-4394-b4ec-7e060a79fbb8\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1704\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1705\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1706\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1713\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1714\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1711\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1736\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1753\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[286,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yFWhfq9f3L9fMZ7b94PPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[287,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UQ6WUyHp2b98EVTQlrPVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[288,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QiBa7lDE4L9//L78rXPSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[289,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H/nBjty23799XoPq9HvXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[290,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r72JSk8u2D+5ikVWicPgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[291,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v4CQGX9X1z/MetzNBO7kPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[292,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z+HDEkHq0j8TdbeJWsziPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[293,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sJ9e2bwt2z/Vai8esTvjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[294,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Kv39aZf34T/OQMc/KkHVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[295,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"obcqpXJH4z92JCv0z7bQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[296,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m+FUuxP/4D9Qx/185k3Kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[297,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kfH3G3tq3j9KJnM0uJ3Svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[298,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SRni6DP6079m/+aE41rsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[299,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"L8VxWBOH078CHDYiA5vpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[300,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vcyRhrMZyb+YFudSuDHrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[301,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MPYx0hUZ0L8EBMxBXUHtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[302,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ub+WSbFD5z9SGUFNzDjnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[303,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xXVnalOW5z/z/ZczGe7jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[304,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rrdOe6QV6z8d93Q3qrrUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[305,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nPCx2AmB5L8lT/9KCuznvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[306,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3cGLarPM5b/CdexjcXThvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[307,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W7/8FDzd7L/lMdhDjlrVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[308,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yE8b4NnH6b9pGrTuiErkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[309,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r7HJumNT4T9oTqa39bjovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[310,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZrqEP88L7z8ecmZnlNO/Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[311,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Un+MwBIhzL9L35ZC/8TrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[312,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kfqkGmxN7b850PxN1He9Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[313,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nK0T/V236r+4bqvyqTPhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[314,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IOR5KcMduz+aJJCMBqLuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[315,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SVGOUU9J7j+pSQVrZrq9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[316,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qixRwf30678JDJ52XKTVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[317,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6RoJAujh6T8sBTosWtjcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[318,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"beCl7Yxv0T/tRhrTidzsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[319,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ECY/ygjdwj8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[320,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qO/iT9i12D90ZXwIHmDpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[321,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kTogH2Pv3D+9HV43XyLsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[322,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kFq/ghgf678iWoFVxATIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[323,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VBW+4h/n7T8+2euEoXfWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[324,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lvwyIFXZ77+M+YFJnH2uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[325,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0KRKHZe74r/fLjxo4fDrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[326,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HjGxolPSir+5JcBqrYXsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[327,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"B+1rov8M3L/AVILZwXjpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[328,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5osdqw9y3b++5jjFVqrTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[329,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aQVph3X41j/Zl9YiR6riPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[330,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SqMGGU0d4T9oKMPb8TLRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[331,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IDYUBMZt0L9J5AXapcPqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1741\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1738\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1739\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1740\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1]],[\"index\",[286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311,312,313,314,315,316,317,318,319,320,321,322,323,324,325,326,327,328,329,330,331]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1742\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1743\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1755\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1748\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1745\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1746\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1747\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[286,287,288,289,290,291,292,293,294,295,296,297,298,299,300,301]],[\"end\",[328,328,328,328,329,329,329,329,330,330,330,330,331,331,331,331]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1749\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1750\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1754\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1751\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1752\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1712\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1725\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1726\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1732\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1731\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1733\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1734\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1735\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1756\",\"attributes\":{\"renderers\":[{\"id\":\"p1748\"},{\"id\":\"p1741\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1720\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1721\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1722\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1723\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1715\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1716\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1717\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1718\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1719\",\"attributes\":{\"axis\":{\"id\":\"p1715\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1724\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1720\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"2f365fe6-7610-4394-b4ec-7e060a79fbb8\",\"roots\":{\"p1704\":\"b0784bf3-fbe1-4a52-84eb-342ac4aa944c\"},\"root_ids\":[\"p1704\"],\"notebook_comms_target\":\"p1757\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p1704" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", " n_locations = 4\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_bipartite_network()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "While in the example above four classrooms with the defined size of `n_actors = 4` are created, in the example below `n_actors` is not set explicitly:" ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"d5c36f3a-0e7b-42b9-a4b8-ea7dd7ed08db\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1804\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1805\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1806\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1813\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1814\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1811\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1836\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1853\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[332,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KUGJzh5P6z91DU6wqrvnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[333,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YhsTM6ny7T+Ji+9JUWDlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[334,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KemlxLmO6j/R0nB42IrfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[335,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r3zlRqV15z9ZSlGK0bblPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[336,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+qeLq50d6T+2igPQq03nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[337,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DieJt7uL6D+1pmcSXSfhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[338,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"C3lFwvSP7T/WIqp7ZlvnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[339,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2kkUrRxy7j/0NmnrSsXhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[340,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"leT07MIt5z+Oh7mltFfjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[341,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YcEHjYxH7z+8IkNmQtbjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[342,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nL7drxzG2T8rqIRL9frjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[343,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MWmyuwy64T+uSagziVfnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[344,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i8MNLAS41T/TsBOaGmjlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[345,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A1LK7Dob4D+k9GK2XQzrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[346,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EEPaUbvG1D+fGaoyPZ3pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[347,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9QXY9RL54D9b86Jh0DTlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[348,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yLGOyxd14T+vz8/tK3vpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[349,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1mDwpGU93D+3nn/wwpXrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[350,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"alioPJZd3j/slaB4Y7njvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[351,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"evtZPKti0z82NqeszGXnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[352,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qsW0kFDw6b9hS50dMrTrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[353,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IvqBFig17r+lcCTCi+Pqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[354,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6ihy70Og7b81ECStQQrnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[355,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iMc7HhiD6b9L7mBvHeTkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[356,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hZQ45jYa6L/Pxbmqkifqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[357,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3ijC+Z0y7L8Vz9+ysNXrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[358,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EEJXcZtv7796pSP7fObovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[359,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+wAvdrzD7r87E44AT2rlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[360,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fDgpDaKm579j4ykE32nnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[361,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b9EL5UIm7L/7VbaWHSTkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[362,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dKrVGilV4L8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[363,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cy54A10b37/4TGy0EjDoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[364,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+1FP1bCd4r8a9Otg8KzoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[365,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WVDR+QwD5b8kqpvflYrsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[366,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NkSrsGOC5L8My7umNUTqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[367,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TcPKxi6H2r9oP7RN6efsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[368,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"S+TAgzFz3L+xXvLc1LLuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[369,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"52gpTnh03L+DTU5MA63qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[370,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JTLLYCeI4r/XEvoGzNTvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[371,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ko01heNO5L83TrIwoJ/uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[372,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A9jBNW3i7D9WRDHG8zTgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[373,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aU2tNyEV2D/Hz1JXfCjrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[374,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sT5o4ZvI6j+ey51OL53jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[375,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"chQODNJG2z9/YL1jElznvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[376,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BY7hAUwK678GZNLJb9Pnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[377,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"djklY/Xv4L+kH3pnQO3rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1841\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1838\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1839\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1840\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1]],[\"index\",[332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373,374,375,376,377]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1842\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1843\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1855\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1848\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1845\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1846\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1847\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[332,333,334,335,336,337,338,339,340,341,342,343,344,345,346,347,348,349,350,351,352,353,354,355,356,357,358,359,360,361,362,363,364,365,366,367,368,369,370,371,372,373]],[\"end\",[374,374,374,374,374,374,374,374,374,374,375,375,375,375,375,375,375,375,375,375,376,376,376,376,376,376,376,376,376,376,377,377,377,377,377,377,377,377,377,377,374,375]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1849\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1850\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1854\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1851\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1852\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1812\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1825\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1826\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1832\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1831\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1833\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1834\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1835\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1856\",\"attributes\":{\"renderers\":[{\"id\":\"p1848\"},{\"id\":\"p1841\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1820\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1821\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1822\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1823\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1815\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1816\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1817\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1818\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1819\",\"attributes\":{\"axis\":{\"id\":\"p1815\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1824\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1820\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"d5c36f3a-0e7b-42b9-a4b8-ea7dd7ed08db\",\"roots\":{\"p1804\":\"e4e21634-7c38-4a48-8975-21f458621137\"},\"root_ids\":[\"p1804\"],\"notebook_comms_target\":\"p1857\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p1804" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_locations = 4\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_bipartite_network()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Specifying location visitors\n", "\n", "The classrooms above are made of all actors.\n", "But in many cases we want specific locations to be exclusively accessible to certain actors.\n", "For this scenario the method `filter()` exists.\n", "If this method returns `True`, an actor gets assigned to an instance of this location class.\n", "The most common way to use this method is to specify a condition that requires a certain actor attribute to contain a certain value.\n", "\n", "In this example we want classrooms to be only accessible for pupils." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"6982295f-7ecd-43e3-89f2-d06eb93444bc\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p1904\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1905\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p1906\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1913\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p1914\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p1911\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p1936\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p1953\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[378,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lBjMeHmH6b9Rs0cSW56UPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[379,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"f3wd4rwksT8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[380,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UhG6rG5Q1j+eql9A6mXmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[381,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rtqBzTcg3j92m7iM7ujpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[382,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aSBsUt2g2z9ApbZJjmnmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[383,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zkVBFuMw2j/rQlMR60Prvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[384,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"U1sgxj+U3b8rz7Md0EXjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[385,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7lXIiwxC4b91t3rVpznoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[386,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wNxXOmdt77+aVyptugXhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[387,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yV4PMccG4r9tBmsmb8PjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[388,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"d4bl1a434791+kY4KibnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[389,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D9UBK1xyzD9iNM5PVcOpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[390,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"txQ8Z8OT4j80B7eGq8TuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[391,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/V1FhJP6wj9JKV1uy7yxvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[392,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wq+OVk/p7r/sniOpNs+/vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[393,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/WlydYdA4787fOlDr7Xtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[394,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KRmzCLnLvz9QnmmCltCgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[395,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"O+J2d678zj8rWwMmoIimvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[396,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9tNxyWtA7z9KJNJQAezYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[397,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KcejwDGkzL+Kq4hFyLHuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[398,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XVqPrA0F5z8E8nFL0NDbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[399,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h0Mduc6t5z+K7SnhYaLiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[400,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XMDX7zlJ6T/0dK23MvLgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[401,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q0CasMYu7r/GDOQXjf/ePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[402,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7P28xPBZ5D9VdPUgKnXdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[403,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AsJu6jjq6T+BO7XklW7Fvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[404,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J/pcsL4Q7D97Vxo6YV3Qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[405,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hOxbws+T7z+DXEJO2MDFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[406,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zteqZoCO7z/lUzMVd7HOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[407,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nXhxDhDM478BQ8W1qr7ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[408,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NNVQDy6247+pNKB8zObfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[409,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W8z84Bcc4b9zAOhkjzrjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[410,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KeaAfUi137+yrLXqKzjfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[411,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oD+u4YIXqr8q/gahTtHrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[412,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SImNXuIoqL/+aPOJDGbuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[413,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"op5UMVLosT/nMpAML/vtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[414,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W3w9fdtRkT8gtQeLiXjvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[415,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aF4Dn1dw6z/cPoOPfyrnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[416,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1vDmZNMd6r99hby5H6S8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[417,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ldc9DRuv4r/pCIGLlMHqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[418,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/8hyc4gZ579adTuAQQLBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[419,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hSAa8Hsy579Jx1QJLnaOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[420,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AOo0/ZX64L9y7w6ae5DlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[421,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"09gwbxEwxz/Mum6vRj1+vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[422,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vrme5lHc5j9lQk9ujx7gPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[423,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6Th2QksQ7T+TXTnbnGjJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[424,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"99H6zeO54b++NaQEHf/gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[425,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TnkjXhqycD/4u+SN5pnsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[426,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nLHKkm0T6L+u6ouUMHWyPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[427,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pn7fMdMX2j+AKTFn3oXovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1941\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1938\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1939\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1940\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null,null,null,null,null,null,null,null]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"index\",[378,379,380,381,382,383,384,385,386,387,388,389,390,391,392,393,394,395,396,397,398,399,400,401,402,403,404,405,406,407,408,409,410,411,412,413,414,415,416,417,418,419,420,421,422,423,424,425,426,427]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1942\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1943\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p1955\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p1948\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p1945\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p1946\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p1947\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[378,380,381,382,383,384,385,387,388,389,391,394,395,398,399,400,402,403,404,405,406,407,408,409,410,411,412,413,414,416,418,419]],[\"end\",[426,427,427,427,427,420,420,420,420,421,421,421,421,422,422,422,422,423,423,423,423,424,424,424,424,425,425,425,425,426,426,426]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p1949\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p1950\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p1954\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1951\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p1952\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p1912\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p1925\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p1926\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p1932\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p1931\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p1933\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p1934\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p1935\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p1956\",\"attributes\":{\"renderers\":[{\"id\":\"p1948\"},{\"id\":\"p1941\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
status:@status
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1920\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1921\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1922\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1923\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p1915\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p1916\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p1917\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p1918\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1919\",\"attributes\":{\"axis\":{\"id\":\"p1915\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p1924\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p1920\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"6982295f-7ecd-43e3-89f2-d06eb93444bc\",\"roots\":{\"p1904\":\"e909eb4a-8712-41aa-9080-fa3a49d53504\"},\"root_ids\":[\"p1904\"],\"notebook_comms_target\":\"p1957\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p1904" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_bipartite_network(actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now classrooms consist only of pupils, while all other actors do not belong to any location." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Building separated locations" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Currently, classrooms are not separated by grade.\n", "To seperate actors by grade, we could define one location class for each grade and use `filter()` to assign only actors with a specific grade value to a specific location.\n", "\n", "A more convenient way to do it is to use the method `split()`.\n", "For each actor, the method `split()` returns one value.\n", "For each unique value, seperated location instances are created.\n", "In this case, the method `split()` returns the attribute `grade` for each actors.\n", "Thus, the Creator builds seperate classroom instances for each unique value of the actor attribute `grade`." ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"8b970f5d-63ea-4cbd-b70d-7e33569e4db9\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2008\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2009\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2010\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2017\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2018\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2015\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2040\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2057\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[428,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"N4Q8KuN22T8PYP8lDW7qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[429,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Bp1ygMQx7z9d5s8tdETKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[430,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AV1Ft8iL0D/pfSoy9uvfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[431,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KRnlRSOD1T+qA/cEOfriPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[432,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ybs28mXr2z/y3M+Snvrovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[433,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oq0SrVNG0j+CNsqEInjkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[434,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WXHZUxC01T+i0pRRDAPqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[435,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WdaRZuUb2b9P6D8KXTThvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[436,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pWEC6UGcl78AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[437,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OCb6KOpg379FR/s8+mrjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[438,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SXH0dOp82L/eOzkzOLnkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[439,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G14rZub95r+FLjH5OvjMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[440,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tTUCEi0t6T9nWWdeuODMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[441,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"knH75DnD6b8VwiKakArVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[442,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"L2KxzRaK6L+CTTwNFZzlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[443,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7BkXo5f65j+RE+Rqvwzkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[444,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QP3dibsh4T+ViaKP2JzGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[445,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vGjGeOaR578dUHrodoPTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[446,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"58jDwjSe5z9NIvzij0XnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[447,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"37eBIYc+o79ODLUTo2/vPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[448,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HhlMRf3p1T+ImXu+y7Xlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[449,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8SJdKj4I6b96oTWsal/HPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[450,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZxXjb5m14T99VjsiO6jYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[451,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Sh8J52H347+rGRfAY+DkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[452,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Skdxn/W95b+3/PqDYx/MPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[453,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z3IpwxfM6r9q2NbB/lfPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[454,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8CpTeZ2a6b9YXy0udgfTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[455,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KF6iU2Bw5D9PsDrKQjTTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[456,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8fZhj6rs4z8WAN3BzNHMPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[457,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J+MjvkBjy7+6z01ILWblPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[458,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w5RZrEBN4T/OmTF7KcPSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[459,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uayJ9PSC5T8UYr/iG/fFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[460,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yTAeq7Ko4j91T6gcDOO6Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[461,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WxLslMWW5D/wyiYuDB7Yvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[462,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2GC/eeH1yj/OZSxxdSHiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[463,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BszT6CFi07+yVULNq4joPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[464,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tt9t3uGCz78S6ehmSLnpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[465,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mmDjHJNw0T8acIJA/1XtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[466,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0BmZXzdl3b/W+ap4Donlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[467,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cOvGsyYpjr/EszVZBUnrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[468,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cKb+P/ai078yBis+H1DmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[469,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5wuCLkef678sxsYjypbRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[470,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6SqipT/K1z+EH5DSFPvnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[471,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1yqCJJlF278vaDeQB1Tjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[472,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zhd/tgyt4j8D0pdHLj7Vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[473,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UVUp4Xlq0T/E8ewQqiHiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[474,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e8kQJvFV0L+FlxQ3M1TnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[475,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TQ59EQgg6b+YohSL0m7Rvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[476,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"K0XLyKxW6L8zzvmRfHLOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[477,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uVkc6mMW4z9nZlpDxSXFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2045\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2042\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2043\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2044\"},\"data\":{\"type\":\"map\",\"entries\":[[\"grade\",[3.0,{\"type\":\"number\",\"value\":\"nan\"},2.0,2.0,3.0,2.0,3.0,3.0,{\"type\":\"number\",\"value\":\"nan\"},3.0,3.0,1.0,{\"type\":\"number\",\"value\":\"nan\"},1.0,{\"type\":\"number\",\"value\":\"nan\"},{\"type\":\"number\",\"value\":\"nan\"},4.0,1.0,{\"type\":\"number\",\"value\":\"nan\"},{\"type\":\"number\",\"value\":\"nan\"},3.0,4.0,2.0,{\"type\":\"number\",\"value\":\"nan\"},4.0,4.0,4.0,2.0,4.0,1.0,2.0,4.0,4.0,2.0,2.0,1.0,1.0,{\"type\":\"number\",\"value\":\"nan\"},3.0,{\"type\":\"number\",\"value\":\"nan\"},1.0,1.0,null,null,null,null,null,null,null,null]],[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"index\",[428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469,470,471,472,473,474,475,476,477]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#ff7f0e\",\"#2ca02c\",\"#aec7e8\",\"#aec7e8\",\"#ff7f0e\",\"#aec7e8\",\"#ff7f0e\",\"#ff7f0e\",\"#e377c2\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#f7b6d2\",\"#1f77b4\",\"#d62728\",\"#9467bd\",\"#ffbb78\",\"#1f77b4\",\"#ff9896\",\"#c5b0d5\",\"#ff7f0e\",\"#ffbb78\",\"#aec7e8\",\"#8c564b\",\"#ffbb78\",\"#ffbb78\",\"#ffbb78\",\"#aec7e8\",\"#ffbb78\",\"#1f77b4\",\"#aec7e8\",\"#ffbb78\",\"#ffbb78\",\"#aec7e8\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"#98df8a\",\"#ff7f0e\",\"#c49c94\",\"#1f77b4\",\"#1f77b4\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"grade_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2046\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2047\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2059\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2052\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2049\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2050\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2051\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[428,430,431,432,433,434,435,437,438,439,441,444,445,448,449,450,452,453,454,455,456,457,458,459,460,461,462,463,464,466,468,469]],[\"end\",[470,473,473,470,473,470,471,471,471,475,475,477,475,470,476,472,476,476,476,472,477,474,472,477,477,472,473,474,474,471,474,475]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"grade_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2053\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2054\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2058\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2055\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2056\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2016\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2029\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2030\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2036\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2035\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2037\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2038\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2039\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2060\",\"attributes\":{\"renderers\":[{\"id\":\"p2052\"},{\"id\":\"p2045\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
grade:@grade
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2024\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2025\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2026\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2027\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2019\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2020\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2021\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2022\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2023\",\"attributes\":{\"axis\":{\"id\":\"p2019\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2028\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2024\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"8b970f5d-63ea-4cbd-b70d-7e33569e4db9\",\"roots\":{\"p2008\":\"ca2df427-6bbf-4f3f-8c24-4d48fd0f73a9\"},\"root_ids\":[\"p2008\"],\"notebook_comms_target\":\"p2061\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p2008" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"974443d8-b022-465e-a961-268eb646d227\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2112\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2113\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2114\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2121\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2122\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2119\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2144\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2161\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[428,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Gw8q+Dnkob9hXJPWpMXHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[429,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GQ+mkTcU7b9vynj+V0rcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[430,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tLkRjbzv5L96sqce2+60vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[431,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9IuKfbRy5b9fHT5ew7SWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[432,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oGB/W8bLor8COqYFIy3CPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[433,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"c7yC1RJW5L/CHKLOA7Smvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[434,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dhzNNE0RfT+8cTOl9dnBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[435,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WPianvMH4z+ObATKxt7iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[436,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"msUvujpX7b9imuqIWeytvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[437,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/Xu7NgLH4j+eQe0EgNrgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[438,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rlXDjboN5D+F6o7N4urhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[439,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uPYKoPFT2L9hYSNCiOfivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[440,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D/NH+Ixc5XIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[441,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jAptE+X22b/xCpX1chvhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[442,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DvOjehVz7D/m5FVJq4Pivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[443,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4uixMmWR67+y2jLJ0PLavw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[444,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qq4eNPQu47+5X7xCVkbkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[445,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1Fx55gh0179I6B50Kqbhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[446,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xde/uHh40b96HuyMcNzqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[447,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bsrrIaS24T8J9pXKPBjqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[448,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xTxB+Jv5gz+YzkN3X5fHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[449,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qU01hCIfpb8RZJLy5YTrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[450,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sDBCiMz3wj/EMC9QlJTovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[451,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SvBtfAko0j8X5/mRup7uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[452,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5sYp5KQmsb9PGJN0+w3qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[453,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R9rTS7QVsr++hei18pTsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[454,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZOe4VILluL8ykeg1e3XrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[455,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8yG5UcWftj8vMpLnYk/ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[456,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qr7DWKuG5L+0+yOor5vkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[457,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AyMrx5pV5j90MpmoIsLgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[458,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dUVWMkFzvT9uns4nrobpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[459,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/6QA/7m+5L9mCyBmSkLjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[460,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OSMkmT8j479BJJMBSrLiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[461,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bgwjW+Qgvz9pNhzNpF/nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[462,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zDenHOtf5r/jCtw5/qSuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[463,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6n5oteJq5T/GR/T96/7evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[464,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Mgz12PBG5D/v2smHv0bgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[465,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"32YJpWFc6j/Bf4l+0yvIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[466,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RuVLEFEJ4j/dl4QQkAviPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[467,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r/g9hEe07j/ecpdb9qO+Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[468,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4mjnZ6UR5T9bdyIVBnLhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[469,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6aDFqnkk278SiDymQZPivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2149\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2146\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2147\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2148\"},\"data\":{\"type\":\"map\",\"entries\":[[\"grade\",[3.0,{\"type\":\"number\",\"value\":\"nan\"},2.0,2.0,3.0,2.0,3.0,3.0,{\"type\":\"number\",\"value\":\"nan\"},3.0,3.0,1.0,{\"type\":\"number\",\"value\":\"nan\"},1.0,{\"type\":\"number\",\"value\":\"nan\"},{\"type\":\"number\",\"value\":\"nan\"},4.0,1.0,{\"type\":\"number\",\"value\":\"nan\"},{\"type\":\"number\",\"value\":\"nan\"},3.0,4.0,2.0,{\"type\":\"number\",\"value\":\"nan\"},4.0,4.0,4.0,2.0,4.0,1.0,2.0,4.0,4.0,2.0,2.0,1.0,1.0,{\"type\":\"number\",\"value\":\"nan\"},3.0,{\"type\":\"number\",\"value\":\"nan\"},1.0,1.0]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[428,429,430,431,432,433,434,435,436,437,438,439,440,441,442,443,444,445,446,447,448,449,450,451,452,453,454,455,456,457,458,459,460,461,462,463,464,465,466,467,468,469]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#ff7f0e\",\"#2ca02c\",\"#aec7e8\",\"#aec7e8\",\"#ff7f0e\",\"#aec7e8\",\"#ff7f0e\",\"#ff7f0e\",\"#e377c2\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#f7b6d2\",\"#1f77b4\",\"#d62728\",\"#9467bd\",\"#ffbb78\",\"#1f77b4\",\"#ff9896\",\"#c5b0d5\",\"#ff7f0e\",\"#ffbb78\",\"#aec7e8\",\"#8c564b\",\"#ffbb78\",\"#ffbb78\",\"#ffbb78\",\"#aec7e8\",\"#ffbb78\",\"#1f77b4\",\"#aec7e8\",\"#ffbb78\",\"#ffbb78\",\"#aec7e8\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"#98df8a\",\"#ff7f0e\",\"#c49c94\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"grade_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2150\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2151\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2163\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2156\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2153\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2154\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2155\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[428,428,428,430,430,430,431,431,432,432,433,434,435,435,435,437,437,438,439,439,439,441,441,444,444,444,445,449,449,449,450,450,450,452,452,453,455,455,456,456,457,457,457,458,459,463,463,464]],[\"end\",[448,434,432,433,462,431,433,462,448,434,462,448,466,437,438,466,438,466,441,445,469,445,469,456,459,460,469,452,453,454,458,461,455,453,454,454,458,461,459,460,464,468,463,461,460,464,468,468]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"grade_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2157\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2158\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2162\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2159\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2160\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2120\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2133\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2134\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2140\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2139\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2141\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2142\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2143\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2164\",\"attributes\":{\"renderers\":[{\"id\":\"p2156\"},{\"id\":\"p2149\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
grade:@grade
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2128\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2129\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2130\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2131\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2123\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2124\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2125\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2126\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2127\",\"attributes\":{\"axis\":{\"id\":\"p2123\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2132\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2128\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"974443d8-b022-465e-a961-268eb646d227\",\"roots\":{\"p2112\":\"bcef70ee-32ab-4302-86b4-5597adbac33a\"},\"root_ids\":[\"p2112\"],\"notebook_comms_target\":\"p2165\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p2112" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_networks(actor_color=\"grade\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Keeping actors together\n", "\n", "In the following plot the nodes are colored by their attribute `friend_group`.\n", "It shows that the members of friend groups are distributed over different classrooms." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"3429d932-8d9e-4d3d-9f96-ad950226f3db\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2208\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2209\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2210\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2217\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2218\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2215\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2240\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2257\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[478,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y1DZnM3M5D/m2YdktGncPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[479,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hJi4bBR86T/wFj6u9k/hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[480,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4RV7MV4g6r9YvUZjkfHQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[481,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"POEP6HL36b9SCgh9IcjCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[482,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"f8mas6SM4b9g8izHrcTbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[483,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DCvRq21F5r9972Ru0X/Ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[484,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hYeSd8mO5b8ewoCBwcLaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[485,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z9qVy9YU47+0wSJYsPfVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[486,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/LwNM1QR1r+XH0aIjdXuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[487,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RPVERTsZ5D+rTdUNEFbXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[488,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"knLNuBH76D82lzaJaVfaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[489,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fYq63EYbxz/INJmcZLXlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[490,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D06YqlKs6L/EVXg3Q0bevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[491,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ph53v+Q50D9Og+UMgDjqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[492,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D+p5T2mjOCYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[493,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LVBcSr0mv7/h3Tmhb/3rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[494,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"euym9KElfr9UDCkFHujsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[495,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1rz053iMyj9qeDbGvJHrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[496,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qE6ZB6pO5T/ufWYZYpLnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[497,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"reTcKmuX5T9j8CBe53bnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[498,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PtVC8oxk6D+hm9AKmEDePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[499,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OJiqEjvLjj+U5rNiUNvovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[500,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Luut+htC5z/FK+dPK2TJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[501,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iR2wjaas7r+g3/oBmI/UPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[502,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m9e3RJ/0tz+j3xokm4Hqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[503,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"noc77eyLrz/QpTwN+cHtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[504,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gbjgTp8g0r9on7KjFBCgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[505,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ls/+n1b25D90qdNpak7Svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[506,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lLERf5ES1b/lwQ/jLWLDvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[507,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W3L4m2tWwz993nIDo8jqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[508,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kkvnDmtE5z/MwMbTFdvQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[509,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cyQ0hMT71r/NcbCMj4uxvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[510,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J1YQm8bMz78U1IMlMarAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[511,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oUXA6dSP4j+7eTL4LyTHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[512,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lVWkZmU5679jHDU1Cp3Kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[513,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zSL0Kxwzxz8DRWykqaKjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[514,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Swx5ASXH0D/QoUxwCfywPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[515,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dNz04sBl779uho9mZxTOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[516,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HTQOZWa6479ej73snBvePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[517,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4Bjo1L7A4b+Jf/fSrF/nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[518,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OC9Z4Kq/zj8oQIjWS2jDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[519,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EoGiVAnZwz9BbG9n6nDBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[520,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"voFUR29Y479zgxFDlgTaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[521,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ywx+QcyN5j/mHh2ekafaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[522,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"plL7aQjd6L8FaDmJPuvJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[523,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Eel5fA8W5T/9Pt+oH2TMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[524,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Oyno8TE5yj/QvlInQbq4Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[525,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w9sLtQP6yD/nEkN0ivToPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[526,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7+DFZQ7qoj/gIFw2i0jrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[527,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M2H4hC8d0787F9fuJF+3vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2245\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2242\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2243\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2244\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"friend_group\",[14,0,12,11,6,11,13,6,0,14,13,9,0,2,0,0,15,10,0,0,5,7,3,0,15,8,16,4,16,3,12,8,8,3,1,10,9,0,5,0,2,1,null,null,null,null,null,null,null,null]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"index\",[478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#7f7f7f\",\"#1f77b4\",\"#e377c2\",\"#c49c94\",\"#d62728\",\"#c49c94\",\"#f7b6d2\",\"#d62728\",\"#1f77b4\",\"#7f7f7f\",\"#f7b6d2\",\"#c5b0d5\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#c7c7c7\",\"#8c564b\",\"#1f77b4\",\"#1f77b4\",\"#98df8a\",\"#ff9896\",\"#ffbb78\",\"#1f77b4\",\"#c7c7c7\",\"#9467bd\",\"#bcbd22\",\"#2ca02c\",\"#bcbd22\",\"#ffbb78\",\"#e377c2\",\"#9467bd\",\"#9467bd\",\"#ffbb78\",\"#aec7e8\",\"#8c564b\",\"#c5b0d5\",\"#1f77b4\",\"#98df8a\",\"#1f77b4\",\"#ff7f0e\",\"#aec7e8\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]],[\"friend_group_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2246\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2247\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2259\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2252\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2249\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2250\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2251\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[478,480,481,482,483,484,485,487,488,489,491,494,495,498,499,500,502,503,504,505,506,507,508,509,510,511,512,513,514,516,518,519]],[\"end\",[521,522,522,520,522,520,520,521,521,525,525,526,525,521,526,523,526,526,527,523,527,525,523,527,527,523,522,524,524,520,524,524]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"friend_group_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2253\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2254\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2258\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2255\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2256\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2216\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2229\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2230\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2236\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2235\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2237\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2238\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2239\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2260\",\"attributes\":{\"renderers\":[{\"id\":\"p2252\"},{\"id\":\"p2245\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
friend_group:@friend_group
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2224\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2225\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2226\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2227\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2219\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2220\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2221\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2222\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2223\",\"attributes\":{\"axis\":{\"id\":\"p2219\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2228\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2224\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"3429d932-8d9e-4d3d-9f96-ad950226f3db\",\"roots\":{\"p2208\":\"dd1ce251-eafb-4f88-956f-303470cbf7a6\"},\"root_ids\":[\"p2208\"],\"notebook_comms_target\":\"p2261\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p2208" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"2591dbe6-6e84-4e6e-b5a4-c5544b72b39e\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2312\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2313\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2314\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2321\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2322\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2319\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2344\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2361\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[478,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h87UyHWly7+uas46zmPjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[479,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FOrwo04i7r9osxV2Vi3fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[480,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7rVuG+Ou1T+btxgA+VfkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[481,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4in4pd141D8MahPlmU3iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[482,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VmL5ejXU5j/voyU/J0HTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[483,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UIyMSd6/1j88a0hTruniPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[484,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+40xB/RB5T+lgl+L9eDTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[485,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mmHNsAV75z/KbEHvMcrVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[486,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VbPdGD7B7z+R4VedibLGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[487,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JWeFzLrHx79X/ulrK6Dhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[488,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XbPlXyHmzL9uu90mT+bhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[489,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yZA9iv81xr9tdVDDfRLkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[490,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lfZnlWJPsj8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[491,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0+laALsVzL+2MpfIp7jiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[492,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Pr9Vy4LQ4T8F7LJZHVbpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[493,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pmjtY5Xc4r99kfaj/IrkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[494,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G+3yHp/t6L+fFli2BXbEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[495,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Sf4qSKH1y78gDxL0ekPkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[496,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+A0B3Fkn07+KNVa/7Ajuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[497,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"O4C9SEc/2b9XjihvWvjtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[498,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"10LAfNPmxb/waZ9RmNrivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[499,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kEUJgA7A6L+OyZsJnuLLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[500,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HtzpVBHN1D9S6QncJ/fovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[501,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kbnkOJI26D9lL0NoSzTjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[502,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zsOucz716b+IXohRv5bIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[503,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5V238KCn57+DH1S77rfHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[504,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Jv3kaoQx6L+4T5HHIJ7Xvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[505,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TEsZpIwc1D+Gno9oOHvqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[506,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pUnHicZG5r9/YYAa8O7Yvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[507,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FkpMLtGixr9uFOmTmbziPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[508,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cY6UBYs00j8QYLyjGGvovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[509,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Glhbmr3S57/auQjzyFHavw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[510,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a4FyFrTz5r+BlQQpz4nWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[511,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"g5H1fr9v0T+r5USruc7pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[512,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"K4QErKj50j/qwpNNg2TjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[513,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/fivfiN85z9YbgA8hXDQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[514,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6TJdaL2O5z/1UyCSxDDLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[515,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ldTyudya5r9VTw0pjHXpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[516,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GDM5kpce5j80nfVz0ZzWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[517,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dmBzHfcfa79UvoAmLzzsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[518,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BvLaWV815j+qjuv8AZvKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[519,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fejMADH/5T+ZCCdLnxDQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2349\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2346\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2347\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2348\"},\"data\":{\"type\":\"map\",\"entries\":[[\"friend_group\",[14,0,12,11,6,11,13,6,0,14,13,9,0,2,0,0,15,10,0,0,5,7,3,0,15,8,16,4,16,3,12,8,8,3,1,10,9,0,5,0,2,1]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#7f7f7f\",\"#1f77b4\",\"#e377c2\",\"#c49c94\",\"#d62728\",\"#c49c94\",\"#f7b6d2\",\"#d62728\",\"#1f77b4\",\"#7f7f7f\",\"#f7b6d2\",\"#c5b0d5\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#c7c7c7\",\"#8c564b\",\"#1f77b4\",\"#1f77b4\",\"#98df8a\",\"#ff9896\",\"#ffbb78\",\"#1f77b4\",\"#c7c7c7\",\"#9467bd\",\"#bcbd22\",\"#2ca02c\",\"#bcbd22\",\"#ffbb78\",\"#e377c2\",\"#9467bd\",\"#9467bd\",\"#ffbb78\",\"#aec7e8\",\"#8c564b\",\"#c5b0d5\",\"#1f77b4\",\"#98df8a\",\"#1f77b4\",\"#ff7f0e\",\"#aec7e8\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"friend_group_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2350\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2351\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2363\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2356\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2353\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2354\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2355\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[478,478,478,480,480,480,481,481,482,482,482,483,484,484,485,487,487,488,489,489,489,491,491,494,494,494,495,499,499,500,500,500,502,504,504,504,505,505,506,506,508,509,513,513,513,514,514,518]],[\"end\",[488,498,487,481,483,512,483,512,516,484,485,512,516,485,516,488,498,498,491,507,495,507,495,503,499,502,507,503,502,505,508,511,503,506,509,510,508,511,509,510,511,510,514,518,519,518,519,519]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"friend_group_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2357\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2358\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2362\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2359\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2360\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2320\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2333\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2334\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2340\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2339\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2341\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2342\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2343\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2364\",\"attributes\":{\"renderers\":[{\"id\":\"p2356\"},{\"id\":\"p2349\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
friend_group:@friend_group
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2328\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2329\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2330\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2331\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2323\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2324\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2325\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2326\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2327\",\"attributes\":{\"axis\":{\"id\":\"p2323\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2332\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2328\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"2591dbe6-6e84-4e6e-b5a4-c5544b72b39e\",\"roots\":{\"p2312\":\"b074c8a0-8b19-419e-937f-96321aeb1f9b\"},\"root_ids\":[\"p2312\"],\"notebook_comms_target\":\"p2365\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p2312" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_networks(actor_color=\"friend_group\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Although this is a very realistic situation, in this example, we want that all friend group members are always in the same class.\n", "To implement that, we use the location method `stick_together()`:\n", "For each actor, the method `stick_together()` returns a specific value.\n", "Actors with the same return value are sticked together." ] }, { "cell_type": "code", "execution_count": 33, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"0b4e623a-4ce0-4e5d-8273-75691922e366\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2408\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2409\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2410\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2417\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2418\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2415\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2440\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2457\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[478,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/do28Vdb7b8gjFbuy2jKvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[479,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wKVaWOeEcD+LEP/KQlbtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[480,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zxFrMO6f0z+H1k6rHeXgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[481,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"is7QGXQx1z+bwLu9UiHfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[482,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KF29e2v11z9TakJMK2rlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[483,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qiiKEHaK1j9WDH0+BYvivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[484,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ezRIdn3I1j+TD5a7G4boPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[485,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"onR5kyRb2T833DcXwB/oPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[486,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"32rHWD1+0T+eNLG07v3vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[487,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RlyHeQ3i7b+2i5HCEZ/Fvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[488,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sRb8BvyU6b+ysCFXIkvEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[489,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GwrmO5Mfw78+nwqqPBnivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[490,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HzdJibKmq7+PWunTpX/uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[491,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5OWEPb2OxL/E6CRc90rkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[492,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Lk6sA2qf5T/b2dQl3KDovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[493,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zgJKVdad7T9CAJ9mUxvdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[494,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nFUrRCAY6L9c/rW2KgniPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[495,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XcsAAxvUtL+uDJduoc3ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[496,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+xYF9Vmo5D9G+wStRI/oPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[497,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZMD+osLIxj/DQBtoQvbtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[498,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mDmFK11c67++7y4cZ/HAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[499,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v6Hlb0m95b9TpOfJcurhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[500,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qw7h28sGy78cVJwTV9jDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[501,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4vYxoMf9y78PO5LAicrvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[502,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kLELGM485r8u/XUzuJ7fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[503,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZUyH8p23579q4MGAVo3fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[504,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qEn36p6V5D8SWNHyno/gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[505,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jadChfPVxr8wFBKV/mzLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[506,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KF40LNXM5D9PwTYZmkndvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[507,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l+8a8pjgu79vpJ3CbKnkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[508,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lLG9lTIZ0b/qFKSDUIPIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[509,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zYNkHNP05z9oXwKrW9ffvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[510,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/VuxfXSS5j8mZ9OWgL3hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[511,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qTcSXqBEzr//Snuk3v7OPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[512,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"amdcMjYy2T+7rokogarhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[513,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R7it9g9umT+wMf/i1dTkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[514,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hLGp/Y0LpL9AzEjkVdLmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[515,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QVsOEi01xr87xHTXkfjuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[516,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5/OVwhjA1D+dKZcICcHkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[517,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mHSjPPVo479XcuR+/ObsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[518,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0l4L+Na2p79frlLmKQDlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[519,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vaw5ZP4Thj//klGRW1DnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[520,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wLhE8vLj1j89PLAV4K3mPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[521,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3pmQ52HW67/j3Sthp9PFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[522,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DU3Wnbpe1j/K+1hwRurgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[523,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/V6E1to5zL/oDGzOhXfJPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[524,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dkappgSLhL/FCe+C/63lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[525,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OYAW5xtqv78ntwtmnjXjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[526,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UaYYBhy05r+QAXFjb9bgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[527,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H7RahiLx5T9s1EJkpwbgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[528,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hfQSrbvQ078oHUyKmfboPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[529,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D9Ca8QcRqe2vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[530,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QaJUMctB5L9vxv8tAf3Svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[531,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LNEr8ku15b991dhnv8LWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[532,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"krtwUXKw0b/7bNoFT8DmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[533,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZD9nSjZv5L+IopbSCZ7Yvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[534,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TW+0yqVz4r8nSZIUtKfmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[535,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ge6GDOz/078+68tXo6vlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[536,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"n7s+DjjL3j+8nbPz88nsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[537,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ukXd1jT41r9o7Oemne3oPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[538,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sl7Kgf2g4b84PHMQRbDnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[539,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6/uWEOuN5z/mbaHYhVjCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[540,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x2xJiKrn4D8mKfk4wVPtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[541,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pHph8Dyo6r/xXl8JLKG4Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[542,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HCyw6tEh579JdZhPTPzlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[543,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EPOI0GwN678sPDgRAKbmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[544,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Vl7NO9nktz+AgKF98B7tvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[545,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"y/tWYhPJ6T+xHkGvt1HLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[546,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ShtEmOAU6T9c3AEKuRfjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[547,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W8Jv2WI25z/FXMBb34zgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[548,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PfbfU/iS379T32r5mbvmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[549,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jhbTkmDV4D+tjbF0sWzbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[550,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DT+NpHgE5j8Fo+uyshnBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[551,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zSy0elh61r+jy3vz5hztvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[552,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Page2fSSrz84P4bZ6iHqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[553,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tRjhXGy/4j8HZyJwRl/gPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[554,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZPPdT7ISqT8eeQPgbHrsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[555,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pxyFomzy6D8JlsUJFYC8vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[556,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CsgH5Y4jwD8Tni2XXhvsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[557,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QtwqyYPs6L82kFO9NjXBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[558,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vEyykkqu4r/yuUGptFbWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[559,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"huMuo4L94z/E1jTInlrfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[560,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"og4FnHaM4z92UNkj6PzbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[561,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mUgIzKgJ6j88otKHjGfDvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[562,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1gkidhRZ6T9Y5lKI+gnIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[563,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r0oT+80y5j+73zBoARTGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[564,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AA7TVHU76j+ad23EPxvGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[565,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rYAgehs577/ETkXgohXdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[566,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UASTpgsK379SpTWGHvvjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[567,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2yT700XG7z8on6ZtjDHMPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[568,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VUjNBsg86r9qltJCej/HPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[569,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YCHnW0ZC7L9EnptLNzXDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[570,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3162/9DI4L/T+J2g19zlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[571,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ElEc1lZS1L9WT9dWqHPnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[572,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tnzxH00s6D8Xu5zef9/Cvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[573,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kuIuJTL547+ckOI/9bHVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[574,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ELV9VMZF6r9xow2vAanBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[575,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2ApL61te6D+FAfZE8OPGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[576,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iFeXmCRb4j8HGXjk83/dPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[577,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mpfMzBartD83wunNiXvrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2445\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2442\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2443\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2444\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"friend_group\",[14,0,12,11,6,11,13,6,0,14,13,9,0,2,0,0,15,10,0,0,5,7,3,0,15,8,16,4,16,3,12,8,8,3,1,10,9,0,5,0,2,1,null,null,null,null,null,null,null,null,14,0,12,11,6,11,13,6,0,14,13,9,0,2,0,0,15,10,0,0,5,7,3,0,15,8,16,4,16,3,12,8,8,3,1,10,9,0,5,0,2,1,null,null,null,null,null,null,null,null]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"index\",[478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,520,521,522,523,524,525,526,527,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569,570,571,572,573,574,575,576,577]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#7f7f7f\",\"#1f77b4\",\"#e377c2\",\"#c49c94\",\"#d62728\",\"#c49c94\",\"#f7b6d2\",\"#d62728\",\"#1f77b4\",\"#7f7f7f\",\"#f7b6d2\",\"#c5b0d5\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#c7c7c7\",\"#8c564b\",\"#1f77b4\",\"#1f77b4\",\"#98df8a\",\"#ff9896\",\"#ffbb78\",\"#1f77b4\",\"#c7c7c7\",\"#9467bd\",\"#bcbd22\",\"#2ca02c\",\"#bcbd22\",\"#ffbb78\",\"#e377c2\",\"#9467bd\",\"#9467bd\",\"#ffbb78\",\"#aec7e8\",\"#8c564b\",\"#c5b0d5\",\"#1f77b4\",\"#98df8a\",\"#1f77b4\",\"#ff7f0e\",\"#aec7e8\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"#7f7f7f\",\"#1f77b4\",\"#e377c2\",\"#c49c94\",\"#d62728\",\"#c49c94\",\"#f7b6d2\",\"#d62728\",\"#1f77b4\",\"#7f7f7f\",\"#f7b6d2\",\"#c5b0d5\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#c7c7c7\",\"#8c564b\",\"#1f77b4\",\"#1f77b4\",\"#98df8a\",\"#ff9896\",\"#ffbb78\",\"#1f77b4\",\"#c7c7c7\",\"#9467bd\",\"#bcbd22\",\"#2ca02c\",\"#bcbd22\",\"#ffbb78\",\"#e377c2\",\"#9467bd\",\"#9467bd\",\"#ffbb78\",\"#aec7e8\",\"#8c564b\",\"#c5b0d5\",\"#1f77b4\",\"#98df8a\",\"#1f77b4\",\"#ff7f0e\",\"#aec7e8\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]],[\"friend_group_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2446\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2447\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2459\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2452\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2449\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2450\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2451\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[478,480,481,482,483,484,485,487,488,489,491,494,495,498,499,500,502,503,504,505,506,507,508,509,510,511,512,513,514,516,518,519,528,530,531,532,533,534,535,537,538,539,541,544,545,548,549,550,552,553,554,555,556,557,558,559,560,561,562,563,564,566,568,569]],[\"end\",[521,522,522,520,522,520,520,521,521,525,525,526,525,521,526,523,526,526,527,523,527,525,523,527,527,523,522,524,524,520,524,524,571,573,573,571,573,570,571,571,570,575,574,577,575,570,576,572,577,576,577,572,577,574,573,576,576,572,572,575,575,570,574,574]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"friend_group_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2453\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2454\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2458\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2455\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2456\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2416\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2429\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2430\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2436\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2435\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2437\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2438\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2439\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2460\",\"attributes\":{\"renderers\":[{\"id\":\"p2452\"},{\"id\":\"p2445\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
friend_group:@friend_group
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2424\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2425\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2426\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2427\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2419\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2420\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2421\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2422\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2423\",\"attributes\":{\"axis\":{\"id\":\"p2419\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2428\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2424\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"0b4e623a-4ce0-4e5d-8273-75691922e366\",\"roots\":{\"p2408\":\"d91eabc2-60c4-4f28-8551-42458a8e6a31\"},\"root_ids\":[\"p2408\"],\"notebook_comms_target\":\"p2461\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p2408" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"5972d57a-cc75-4d0e-9851-d208c7c23271\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2562\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2563\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2564\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2571\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2572\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2569\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2594\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2611\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[478,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HKCg3vIWzj+hhue86p3mPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[479,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Pk314fm45z8Cnq/wEAPkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[480,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hSStIEg51j/Ew4V5Ng7nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[481,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8x97ZZel1D9WxDMpEVzmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[482,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RpJo8Z5m478gNcRh2iLlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[483,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tYRLGac+1z+IVDWhIT/mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[484,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7cV+57995L8jMDQnqVzkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[485,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l0oXnfeN478p4UEv6DPkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[486,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mvvjxKEE7b+mvbsthRfaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[487,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JLVggRTNyj9AIy9XiLznPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[488,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VhNr1krEzj9XEDf+R6nnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[489,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XdbPT1/zrj/h8OeJ2Nfpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[490,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fiIoQZVb3j95P2IwE9PsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[491,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Jv7R0qFzpD8J6PzSuEPqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[492,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lmMBdX9v6b8wRp+sjU/gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[493,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r6MP0loFpT89+QM33/3vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[494,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fXyBEG3K6L9mtpFj9RGYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[495,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pR/qkQcXtT+p9IkQNybqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[496,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PlLcApND7j/JrYmJGRbUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[497,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/+42gclC7T+HZIS8iJ3Evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[498,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AWY6B1hPyj+NoCc9RtPmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[499,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Nx+1T0YV6r/95fREYy6TPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[500,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pxtEl71K4L/0buvY72rivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[501,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3ktIByvI4z/Oc+N8qZHnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[502,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tdLo1WNS6b+X4UOJ20emPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[503,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"s7urpmIs6b/fg4UgkNtEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[504,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KIUZ5EpU6b/ThSc001bXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[505,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2DnNawZv4b8uq8t10xfjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[506,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MAn/BeHi6b8+7/IlbczVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[507,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MKTKoAk1rT+UFSzZyPvovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[508,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cSV+BN+a4b9chR9sewPivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[509,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aLWR939b6L8Bd70IXAHWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[510,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KG+6yWIC6b/hzW34upzUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[511,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gIfqZGPa4L9wNvIVAcDhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[512,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"U4CDuteA1T+pknsQLnflvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[513,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XndiXPfd4T97mQkqn9ncvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[514,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LWMUp8c94j9n/6YLonrfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[515,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q2C+ZKvv5D+xHvbmy/bhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[516,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"V4Npw1Bx5L/YbJueZWnlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[517,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rmxckR5n6j/DnYqxTsPePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[518,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9v+0o/th4T94fOzXrvDdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[519,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2PAuN0TZ4D80r0dfpOvevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[528,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o8KzTZ8Q57+joQvGPtXQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[529,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qm0lTecs6r8a4j3VjaPkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[530,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BukexKC76j/RKTjeiXDCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[531,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yLqCZXzQ6z+CjDOUZwLFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[532,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8Z3FEpuF5r9IijNEhGjSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[533,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e8iT+sgJ6z8tSIcHbpDHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[534,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fYNnwtpg0r820M8jO2Hovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[535,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"30nSqEi757/ILAqUQkfTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[536,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/InOofC+6j/EJP8ejz3ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[537,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"O4JxZMjT57+v2lcQo1nRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[538,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jJpdjtaA0L96jxw3kSzovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[539,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JIleZPyB5z9KjpCt+iPBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[540,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"u1D+2z895j+sF3NoH2Xpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[541,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AnEa0LFUhr+2RF/sQ0DYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[542,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"txYLt4kvyb8Ljose7Hjuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[543,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MvpXW5kp7z/Scw4LRyXIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[544,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XPSQdqd9zL8YVKHdpaToPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[545,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WPYgheq65j8DuzMOUrHCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[546,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0MuIuIYa3j/BAnWaWujpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[547,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8L+GthweRkyzPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[548,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a7QsrG6Q0r8ry5hdqmTnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[549,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZgCw0R2v0D9+SBRndQKjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[550,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VQ16ICjCvb97Bwf01kyyvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[551,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xLyCqVQDzD9MBKmlba7uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[552,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9/Sd/Mzvz7+A8lfk9UXoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[553,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D3kTOVdGzz+mA2avmeWvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[554,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fUYz1cfq0L/SrUF3pProPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[555,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7xmAKRP/wL8wmy2QXzSnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[556,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uo6hRdmozr+ata0TVaXpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[557,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5c/k9IwsLz/sA2fnRH3VPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[558,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3T5SNuAs6j/dyM8GQH/FPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[559,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xjPX/uUt0T+d5NljbXe0Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[560,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pgm5tEFl0j80UopCrEGsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[561,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OHsBO6Amwr8urLsGhmi2vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[562,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xTw+cGpGxL+3plF5eoKvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[563,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AQuhZMXu5j+fVqPQDzbGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[564,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2DCBCMX+5z+J1AlVLP7Evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[565,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HbksJU3Auz+Awl/BtqzrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[566,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A2SoyQih0L8Ih/4knwbnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[567,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EyFy+IFB1r+00CJ/StXrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[568,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3LgkGsZXkD8F5P2Cow7XPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[569,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DDddIFRrmr81ilD0tFnWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2599\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2596\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2597\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2598\"},\"data\":{\"type\":\"map\",\"entries\":[[\"friend_group\",[14,0,12,11,6,11,13,6,0,14,13,9,0,2,0,0,15,10,0,0,5,7,3,0,15,8,16,4,16,3,12,8,8,3,1,10,9,0,5,0,2,1,14,0,12,11,6,11,13,6,0,14,13,9,0,2,0,0,15,10,0,0,5,7,3,0,15,8,16,4,16,3,12,8,8,3,1,10,9,0,5,0,2,1]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[478,479,480,481,482,483,484,485,486,487,488,489,490,491,492,493,494,495,496,497,498,499,500,501,502,503,504,505,506,507,508,509,510,511,512,513,514,515,516,517,518,519,528,529,530,531,532,533,534,535,536,537,538,539,540,541,542,543,544,545,546,547,548,549,550,551,552,553,554,555,556,557,558,559,560,561,562,563,564,565,566,567,568,569]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#7f7f7f\",\"#1f77b4\",\"#e377c2\",\"#c49c94\",\"#d62728\",\"#c49c94\",\"#f7b6d2\",\"#d62728\",\"#1f77b4\",\"#7f7f7f\",\"#f7b6d2\",\"#c5b0d5\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#c7c7c7\",\"#8c564b\",\"#1f77b4\",\"#1f77b4\",\"#98df8a\",\"#ff9896\",\"#ffbb78\",\"#1f77b4\",\"#c7c7c7\",\"#9467bd\",\"#bcbd22\",\"#2ca02c\",\"#bcbd22\",\"#ffbb78\",\"#e377c2\",\"#9467bd\",\"#9467bd\",\"#ffbb78\",\"#aec7e8\",\"#8c564b\",\"#c5b0d5\",\"#1f77b4\",\"#98df8a\",\"#1f77b4\",\"#ff7f0e\",\"#aec7e8\",\"#7f7f7f\",\"#1f77b4\",\"#e377c2\",\"#c49c94\",\"#d62728\",\"#c49c94\",\"#f7b6d2\",\"#d62728\",\"#1f77b4\",\"#7f7f7f\",\"#f7b6d2\",\"#c5b0d5\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#c7c7c7\",\"#8c564b\",\"#1f77b4\",\"#1f77b4\",\"#98df8a\",\"#ff9896\",\"#ffbb78\",\"#1f77b4\",\"#c7c7c7\",\"#9467bd\",\"#bcbd22\",\"#2ca02c\",\"#bcbd22\",\"#ffbb78\",\"#e377c2\",\"#9467bd\",\"#9467bd\",\"#ffbb78\",\"#aec7e8\",\"#8c564b\",\"#c5b0d5\",\"#1f77b4\",\"#98df8a\",\"#1f77b4\",\"#ff7f0e\",\"#aec7e8\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"friend_group_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2600\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2601\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2613\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2606\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2603\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2604\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2605\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[478,478,478,480,480,480,481,481,482,482,482,483,484,484,485,487,487,488,489,489,489,491,491,494,494,494,495,499,499,500,500,500,502,504,504,504,505,505,506,506,508,509,513,513,513,514,514,518,528,528,528,530,530,530,531,531,532,532,533,534,534,534,535,538,538,539,539,539,541,541,541,544,544,544,545,545,548,549,549,549,550,550,550,552,552,553,553,554,555,555,557,557,559,561,563,568]],[\"end\",[488,498,487,481,483,512,483,512,516,484,485,512,516,485,516,488,498,498,491,507,495,507,495,503,499,502,507,503,502,505,508,511,503,506,509,510,508,511,509,510,511,510,514,518,519,518,519,519,537,532,535,531,533,558,533,558,537,535,558,538,548,566,537,548,566,545,564,563,568,569,557,554,552,556,564,563,566,560,553,559,561,562,555,554,556,560,559,556,561,562,568,569,560,562,564,569]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"friend_group_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2607\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2608\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2612\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2609\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2610\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2570\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2583\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2584\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2590\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2589\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2591\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2592\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2593\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2614\",\"attributes\":{\"renderers\":[{\"id\":\"p2606\"},{\"id\":\"p2599\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
friend_group:@friend_group
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2578\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2579\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2580\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2581\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2573\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2574\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2575\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2576\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2577\",\"attributes\":{\"axis\":{\"id\":\"p2573\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2582\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2578\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"5972d57a-cc75-4d0e-9851-d208c7c23271\",\"roots\":{\"p2562\":\"d47c2b72-92c2-442e-b819-3f93340c0235\"},\"root_ids\":[\"p2562\"],\"notebook_comms_target\":\"p2615\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p2562" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom])\n", "\n", "inspector.plot_networks(actor_color=\"friend_group\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Edge weights\n", "\n", "Until now, all edges between nodes have a weight of `1`.\n", "The location method `weight()` can be used to set different weights.\n", "In the following, we set the weight of all edges generated by a classroom to `5`.\n", "This number could, for instance, represent that actors are together in classrooms for five hours." ] }, { "cell_type": "code", "execution_count": 34, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"26e453df-9746-4bf6-8510-4d81e5ce5df5\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2700\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2701\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2702\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2709\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2710\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2707\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2732\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2749\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[578,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SjkGkH5hkz9WOVdHr9SBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[579,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fPH+AZjZ0z8qv7NeD9TqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[580,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aGDnPscp2z9TnfL0bgXcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[581,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LbqHiLfQ3T8B0hUbu/7Yvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[582,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m5qN79N/sT+jy5gYLr6IPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[583,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VABXK1TY3z+1DJoqJZrbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[584,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MupQm3Nj1z+lEcN2gRjEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[585,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QUoymKyTpj9GiAGuXR2uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[586,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1tLa4cvv7T9/5f1N/WXJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[587,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3QaxSWqftj8a1Zw8p26jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[588,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ky+5/iaK1T/M5iYCwDXLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[589,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3+T0N7Ims7+4F+rVsAnmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[590,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"83E8+c385r+/eAWg7VnnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[591,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D3hndIlI5j9GVzlJ1/nPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[592,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2ejzWgmA7L/zPHjw9VvePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[593,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/kXXiRfF679yVtg/ZFDZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[594,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"f5ovM8/F4b+w5vxFK4jKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[595,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rCgX8inAvb+dCKV2jxTkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[596,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HZPnYy5Cu78AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[597,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/C7nRHR20z/+W1ru7rntvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[598,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SB+t6Ujk2T+amuKp3snHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[599,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"g5gJjzQr1b/YeK9jjRGOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[600,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"djsb6BVQsr/kD+sScKrgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[601,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qMKogJO/7r+SKm6lDlG3Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[602,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iZ9TR6HV4L9EdZEYJ/XQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[603,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lrxT/pYk1b8iTyz46c6gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[604,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UWRYEWVv4r8OnGYPkLzRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[605,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KOo6Qrj8wL/6JDzQezPgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[606,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KLTUoFYH478PhAv9+HbOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[607,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oNZrrgN35T+s/4U4TOfTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[608,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+oPmREof3j93ZD6VHrTdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[609,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+XD2HG7/0b9hxuP47oOjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[610,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zeYYxin40b+X4rq9k3OXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[611,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dvL13kdswb+O9/YgvNHhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[612,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OcaOUyL9t79x78q3sSzivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[613,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b5i3c2zVq7/azg7k73DkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[614,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xYsmpQ/Mvb+1br6gmK3lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[615,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fJt0MDOI5b8Zd/C+9Tflvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[616,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x18M04GN2D8Q9WWry0nNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[617,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gYNZuLhylD9WPpc6Y5vsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[618,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vJKrOoMS5z8QwvqV7GPUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[619,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aVYc7QCP5z+iCbXtnd/RPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[620,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DmS06MN81z8w6peXkqrIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[621,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"My7SksO/qz/rHlTsS76Wvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[622,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/BvJHmUfu7+DngM9HvXgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[623,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VDZpUcJJ3T9rPXY/lTHbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[624,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"giIWMDlE5j/S6ClWCUbSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[625,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pMJ/CSaxtr9IE+n3SMbkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[626,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uNxGiR8107+npRSF1bR9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[627,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mddIrcu84b+IY9IaeRnPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2737\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2734\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2735\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2736\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"index\",[578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619,620,621,622,623,624,625,626,627]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2738\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2739\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2751\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2744\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2741\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2742\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2743\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5]],[\"start\",[578,580,581,582,583,584,585,587,588,589,591,594,595,598,599,600,602,603,604,605,606,607,608,609,610,611,612,613,614,616,618,619]],[\"end\",[621,623,623,621,623,620,621,621,620,625,624,627,625,620,626,622,627,626,627,622,627,624,623,626,626,622,622,625,625,620,624,624]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2745\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2746\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2750\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2747\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2748\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2708\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2721\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2722\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2728\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2727\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2729\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2730\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2731\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2752\",\"attributes\":{\"renderers\":[{\"id\":\"p2744\"},{\"id\":\"p2737\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2716\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2717\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2718\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2719\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2711\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2712\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2713\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2714\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2715\",\"attributes\":{\"axis\":{\"id\":\"p2711\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2720\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2716\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"26e453df-9746-4bf6-8510-4d81e5ce5df5\",\"roots\":{\"p2700\":\"e97e4695-449b-49e0-9845-e1000b151e58\"},\"root_ids\":[\"p2700\"],\"notebook_comms_target\":\"p2753\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p2700" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"1137754d-f447-4b09-9ecb-6d9ca106ac51\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2804\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2805\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2806\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2813\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2814\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2811\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2836\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2853\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[578,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gvDmACLOvz8GFcPtQWnEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[579,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hVxjvxZD6r+Ho+BUNGXUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[580,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gPuvNoz53T/JwZ7ixHygPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[581,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xNPKuFsq4D+8Gre4cH+kPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[582,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4ksPGAVSwD8MrxRDtarHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[583,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lY2wTr033z+eIs8nmj+TPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[584,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R4toNoFws79eX1mFHtCyvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[585,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9tfab2NFuT+oFVR6NrrEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[586,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ikVUERY45D8uosjqRk3qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[587,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z/2KJHgiuj/WfPLwpvzHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[588,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JDm01ZoNrL/EBUlurZmuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[589,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ds24WzZCsD+j7mMrc4HhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[590,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UZNygniU5D8mLlGwie3ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[591,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i8yEK7r7wz8Q3vEbT2bRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[592,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8L/izF+ycvetPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[593,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k4vSS77C7D+MduBn57zOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[594,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nTN2AY381L/iXgK7QmXbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[595,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z+b3M5akoz8bjD6eO7DgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[596,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yZKHNNuGwz/v0yuUL03vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[597,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NhxdIuXe57/IZMaNMl3hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[598,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4n/dJogPt79HL9rVcuuqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[599,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y+8NhlJdrb8LFXjCV7fivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[600,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nMjl1XoN2b8DztM15BfBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[601,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"djxtr8is2D+uOP+hPhnoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[602,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"t+7t2JXJ1b/n8oJy4DvZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[603,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"41dCCyzMo79g+xa09WLjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[604,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DcqK2GyT1r8uYkV229raPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[605,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MPcYsI3g178Rx3fZuODCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[606,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vIUjoxZq1L/9p3H5TP/ZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[607,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8j9tbzOtxj8W9mZZATvSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[608,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wOm5THmx3j8SE4YJr1arPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[609,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CnWPokwOlr/Dn6l9d5jivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[610,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BjXACypApb+5wOJ9fDXivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[611,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qqIR+etl2L/CDj5cv5rFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[612,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OXxkTtsF2r865g/IuiHEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[613,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wGKOfUxpoz/Ec9yWuHfhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[614,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rbexhcxPsD9P4jB9pKngPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[615,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4XNgEhQD7b+KOAlKkD3Evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[616,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ox15hgp8sb+0hTUL1XWjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[617,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oHHHR1fB6z8dp6+8SencPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[618,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CcZUszbVxD/MWGTaPZPTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[619,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GxUcdDwjwj/DqrHIhL/Svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2841\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2838\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2839\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2840\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[578,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,595,596,597,598,599,600,601,602,603,604,605,606,607,608,609,610,611,612,613,614,615,616,617,618,619]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2842\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2843\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2855\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2848\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2845\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2846\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2847\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5]],[\"start\",[578,578,578,580,580,580,581,581,582,582,583,584,584,584,585,588,588,589,589,589,591,591,591,594,594,594,595,595,598,599,599,599,600,600,600,602,602,603,603,604,605,605,607,607,609,611,613,618]],[\"end\",[585,587,582,608,581,583,608,583,585,587,608,616,588,598,587,616,598,613,595,614,618,619,607,604,602,606,613,614,616,609,610,603,611,612,605,604,606,609,610,606,611,612,618,619,610,612,614,619]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2849\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2850\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2854\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2851\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2852\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2812\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2825\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2826\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2832\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2831\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2833\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2834\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2835\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2856\",\"attributes\":{\"renderers\":[{\"id\":\"p2848\"},{\"id\":\"p2841\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2820\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2821\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2822\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2823\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2815\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2816\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2817\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2818\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2819\",\"attributes\":{\"axis\":{\"id\":\"p2815\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2824\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2820\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"1137754d-f447-4b09-9ecb-6d9ca106ac51\",\"roots\":{\"p2804\":\"f6850761-9044-4d17-afe1-a34b573b693c\"},\"root_ids\":[\"p2804\"],\"notebook_comms_target\":\"p2857\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p2804" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", " def weight(self, actor):\n", " return 5\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_networks()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To implement individual weights between an actor and a location, we could also let `weight()` return an actor attribute. \n", "In this case we use the actor attribute `actor.hours`:" ] }, { "cell_type": "code", "execution_count": 35, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"581b2a38-070e-417f-9af0-9d3f8608a953\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p2900\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2901\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p2902\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2909\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p2910\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p2907\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p2932\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p2949\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[628,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zct7xldu1D/eQgEo7mDiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[629,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lhzzh66y67/7xYabMn/hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[630,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m54X+M1D5b9yzjiMtZzAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[631,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m0zunSUT578jm5cCi6TAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[632,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BuZvjXl30T8RD8lpP1DkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[633,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GPm6TmW05b+IqXEAiEeuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[634,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BVgNcQfkpD/cxiDCmheIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[635,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+zWU+7xk1D+zWLAJDh7kPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[636,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BbWh3MyY4T/6pEJTJ4nqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[637,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EAmskwMM0D+qRNu5X9jiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[638,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SeZU1755qj9Uaq4+322wPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[639,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WYq7I3MC1b+IxQsVSBfkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[640,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a/4D49iz778q7xWN0zPJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[641,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zdZrDSXwyj9mAKmjTwPRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[642,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"US3rZF+k7T9ntMLnm2vYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[643,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gxKsWwAq6j8bdKHs+d/lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[644,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1UdE4Mkc2L9MQ2WvoibjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[645,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KgqXOfds1b/m1VlVw/jlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[646,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k1dir6MVsb/QRxYHrVvvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[647,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dBD+NBxt2j8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[648,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mZGis6Z8vD+L8y1H0EymPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[649,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UigceKHJur99DJON0nDQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[650,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k9+QYWwQ5j+5nmSfwGzLvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[651,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R+gyd/Q457/fqPvRdl3WPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[652,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ydAcLPJA2r/cS4qaFkLiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[653,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G5PbMtYrur88agOdyqbTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[654,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Zf+qlFrk2L8UqPEmC9vgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[655,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"muzco0CC5T9tV93eQJfQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[656,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FvA51Iqh1b+m+2onQwDiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[657,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rYNuXVNewj+q8xqWCTHTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[658,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+JuXOXF/578L2wuRyAy1vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[659,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kWMPxwgFpr/eMXfgXv3Qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[660,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"E2/ienfPrL8tuJoD5vzTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[661,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zPKH1xqA5D/006ftkV3Hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[662,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gtPKMkyl4z+DVuj/zxDQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[663,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SZGrWi+H0L+6ONGif+rkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[664,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Q0d6Tzqa0r/5xfJJ5nbmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[665,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VoBsZ2ZJzz/3iRuK2Ezqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[666,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rZCYCxuDuD9XzueRU0Nxvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[667,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8skUKs0j7j9bFLBjmQPbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[668,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bEgL5tP5zD+mWUrQBkfUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[669,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"O0ol0xOWxj8DY5YEDtTVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[670,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lH7uwlXYsj/My0Dg9sSePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[671,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GLEugmNb0j8FEYx+3w/jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[672,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TNwHyO+U5D9QJjGvtInMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[673,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"49gA6soO5r/PEkVF/Da5vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[674,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dga7fDOgxz9HIg/g+hvTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[675,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KGfZPUga0783rr8/pfjkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[676,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DTMniX1ds78LvVnEh9XRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[677,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UdZ3tTLf17/ZktOiwN3hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2937\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2934\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2935\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2936\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"index\",[628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669,670,671,672,673,674,675,676,677]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2938\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2939\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p2951\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p2944\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p2941\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p2942\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p2943\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[5,4,4,5,4,5,5,5,5,4,4,6,4,5,6,4,6,6,6,4,6,4,4,6,6,4,4,4,4,5,4,4]],[\"start\",[628,630,631,632,633,634,635,637,638,639,641,644,645,648,649,650,652,653,654,655,656,657,658,659,660,661,662,663,664,666,668,669]],[\"end\",[671,673,673,671,673,670,671,671,670,675,674,677,675,670,676,672,677,676,677,672,677,674,673,676,676,672,672,675,675,670,674,674]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.6666666666666666,0.3333333333333333,0.3333333333333333,0.6666666666666666,0.3333333333333333,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.3333333333333333,0.3333333333333333,1.0,0.3333333333333333,0.6666666666666666,1.0,0.3333333333333333,1.0,1.0,1.0,0.3333333333333333,1.0,0.3333333333333333,0.3333333333333333,1.0,1.0,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.6666666666666666,0.3333333333333333,0.3333333333333333]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p2945\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p2946\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p2950\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2947\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p2948\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p2908\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p2921\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p2922\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p2928\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p2927\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p2929\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p2930\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p2931\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p2952\",\"attributes\":{\"renderers\":[{\"id\":\"p2944\"},{\"id\":\"p2937\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2916\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2917\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2918\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2919\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p2911\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p2912\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p2913\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p2914\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2915\",\"attributes\":{\"axis\":{\"id\":\"p2911\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p2920\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p2916\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"581b2a38-070e-417f-9af0-9d3f8608a953\",\"roots\":{\"p2900\":\"b6e13086-12be-422a-b581-638966114653\"},\"root_ids\":[\"p2900\"],\"notebook_comms_target\":\"p2953\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p2900" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"08283bd8-36ea-47bb-a6ea-5e52a56cf0ca\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3004\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3005\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3006\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3013\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3014\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3011\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3036\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3053\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[628,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8yexJYCvZj/f9qEEcwqEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[629,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wyzHGwfq7T9jKlPxwyLFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[630,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"s8lZ79zw2L9rEKHaWMXkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[631,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UG+bVBWr2r+lMizWGwrlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[632,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"33aNY6Hgl79YJjQ0Fd9cPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[633,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rlHZk1CC2L/BXb9li6TlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[634,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kCZ4nzFE0D9/MQgJQl7Kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[635,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kEE/FikBgL9scAG9HzeiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[636,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KwQx0l6e5D/KV6QxYzTmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[637,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DqQd+VGtn7+Yl4ElkbOZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[638,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FNSbtvSKzT+CljkxPH7Lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[639,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IenJEBnf0D/OG3Ao50HPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[640,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CKQH3cHG67//DbsenGjbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[641,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GDc31opu0b/PsSX/J9jTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[642,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eTFuCizH3r/Xx675fEvpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[643,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BoNw2l4C6r9qISd+CYjBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[644,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ns86QAMP5D/TRa5zXvjPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[645,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rgt5IjTD0j9S8IDMN4/PPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[646,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"87URTiEq7j9WOF1holrivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[647,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3Wy5E92V4b+ZxLGPWYPrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[648,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PsHcwGAxzj++VkZ7/IvOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[649,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OmBlw/TYpz8RroV8GMDgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[650,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AHGiUsVa1L8Wl/WxE6PTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[651,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AlnuUdU9uz9no5WoQQjtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[652,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1dcVmrAt4z9YoLEp8krQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[653,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lIA3fg26rz8AOrgqn17hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[654,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Xcwtvc7B4z+ZxcKEzMHMPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[655,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vAXKkS7I1L9A+Q88VNLRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[656,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZRANq3YL4z9gZbbkWZrNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[657,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xqsDZcB+z7+zHvK7WqrUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[658,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jX+DCQlj2r+fNe1/uAXmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[659,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Zgt7AbflpT+cw2wd8Obhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[660,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0LLC3cPgmz/K1/xblzzhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[661,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QTYHh6p/0r9QB+rVFwvTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[662,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bA6Xyh8g07/4TCJqqFzRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[663,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MZDCRxG00j9sWh8dNqXLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[664,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RXjwDSby0D89YmPwqrjLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[665,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sVIkMEI4yD8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[666,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZkPIvrng0D8eYutDD97Nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[667,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UfmZz/117b/Pibl3uem7Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[668,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oLv2Dfjkzb+H4CF34SLTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[669,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iKqijTd80L9CST8c2y7SPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3041\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3038\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3039\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3040\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[628,629,630,631,632,633,634,635,636,637,638,639,640,641,642,643,644,645,646,647,648,649,650,651,652,653,654,655,656,657,658,659,660,661,662,663,664,665,666,667,668,669]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3042\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3043\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3055\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3048\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3045\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3046\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3047\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[5,5,5,4,4,4,4,4,5,5,4,5,5,5,5,5,5,4,4,4,4,4,4,6,6,6,4,4,5,6,6,6,4,4,4,6,6,6,6,6,4,4,4,4,6,4,4,4]],[\"start\",[628,628,628,630,630,630,631,631,632,632,633,634,634,634,635,638,638,639,639,639,641,641,641,644,644,644,645,645,648,649,649,649,650,650,650,652,652,653,653,654,655,655,657,657,659,661,663,668]],[\"end\",[632,635,637,633,658,631,633,658,635,637,658,648,666,638,637,648,666,664,663,645,657,668,669,656,652,654,664,663,666,659,660,653,661,662,655,656,654,659,660,656,661,662,668,669,660,662,664,669]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.6666666666666666,0.6666666666666666,0.6666666666666666,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.6666666666666666,0.6666666666666666,0.3333333333333333,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,1.0,1.0,1.0,0.3333333333333333,0.3333333333333333,0.6666666666666666,1.0,1.0,1.0,0.3333333333333333,0.3333333333333333,0.3333333333333333,1.0,1.0,1.0,1.0,1.0,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,1.0,0.3333333333333333,0.3333333333333333,0.3333333333333333]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3049\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3050\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3054\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3051\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3052\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3012\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3025\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3026\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3032\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3031\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3033\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3034\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3035\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3056\",\"attributes\":{\"renderers\":[{\"id\":\"p3048\"},{\"id\":\"p3041\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3020\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3021\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3022\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3023\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3015\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3016\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3017\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3018\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3019\",\"attributes\":{\"axis\":{\"id\":\"p3015\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3024\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3020\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"08283bd8-36ea-47bb-a6ea-5e52a56cf0ca\",\"roots\":{\"p3004\":\"a8b697f7-7155-40e2-b12a-fc482168d5fe\"},\"root_ids\":[\"p3004\"],\"notebook_comms_target\":\"p3057\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p3004" } }, "output_type": "display_data" } ], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", " def weight(self, actor):\n", " return actor.hours\n", "\n", "\n", "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "\n", "inspector.plot_networks()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As the value returned by `location.weight()` refers to the weight between the actor and the location, all the weights between the actors and the locations must be somehow combined when determining the weight between actors (aka graph projection).\n", "The location method `project_weights()` defines how those weights are combined.\n", "By default, `project_weights()` returns the smallest weight of the two to be combined.\n", "The code cell below shows how `project_weights()` combines the two weights by default.\n", "In this example, we keep this way of combining the weights, but this method could be easily rewritten." ] }, { "cell_type": "code", "execution_count": 36, "metadata": {}, "outputs": [], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", " def weight(self, actor):\n", " return actor.hours\n", "\n", " def project_weights(self, agent1, agent2) -> float:\n", " return min([self.get_weight(agent1), self.get_weight(agent2)])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that we use the method `location.get_weight()` to access the weight between the actor and the location." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Bringing together different actors\n", "\n", "So far, we are able to connect actors who share a certain attribut value.\n", "But what if we want to explicitly connect actors who have different values on a certain attribute?\n", "One solution could be to simply give those actors we want to be in the same location the same value on a certain attribute and then define a location class that brings together these actors. Besides this, Pop2net offers two more convinient solutions." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The quick way: bridge()\n", "\n", "With the `bridge()` method, we can quickly connect actors that have different values on an attribute.\n", "The `bridge()` method instructs the creator to create location instances that only connect actors with different values for an attribute (or more precisely: location instances that connect actors for which `bridge()` has returned different values).\n", "That sounds complicated.\n", "Let's look at an example.\n", "\n", "Let's define a location `PupilsAndTeachers` that connects teachers and pupils.\n", "Since pupils and teachers differ in their `actor.status` attribute, we can use this attribute to bring them together.\n", "To make it clearer, we first create only one location by setting `n_locations` to `1`:" ] }, { "cell_type": "code", "execution_count": 37, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"7c59a624-10dd-4986-b321-79b7556bee95\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3100\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3101\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3102\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3109\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3110\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3107\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3132\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3149\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[678,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zfj59LX+579WBvIDn93jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[679,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b1accZtT57+33o52TknnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[680,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"leAvOuI30D/ftt7VJ7ruvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[681,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G0KfwfBH6D8EI0tIO37kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[682,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"U0CTCWH+7b+zH3hxRQLXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[683,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VhlJ39X+77816nZpOUXMPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[684,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NAPUZE5l3L8iZgFkaXPrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[685,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Xhnvz1Xg7j+vQd7kMKeXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[686,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"10hpUHqd6r9DYBqNM2rWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[687,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EjQiMVy34z/WAGclcB/ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[688,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+l9o2Qww7D9tyTIOXVDaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[689,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DRuJxzI85j8gZx5OdDjiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[690,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HdopYsGC6b9xxfimg3vivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[691,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"P50D2UOLyr8f7Ntaopzrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[692,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wddUb0e45L+f9H03oCTlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[693,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QkPq9ESx7j+912h8waLAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[694,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bY/1F/Al5T/hzm1V8g/oPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[695,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MwM6iXjE7D/bpkTwSMfcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[696,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3KCf6etN5z9GDNQrdEHgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[697,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gxLLRKMw7D8vRBwGURnSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[698,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+W+VCl/ttz+vYrBvrijuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[699,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"spedzdlc1L+s53vlMPrrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[700,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5VJ5aBwns79o7pSAndPrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[701,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rVLROmet1z8iuehQRwzrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[702,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+desJW693L+QNbsKOEDuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[703,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4V0Fx/N057/bN5/Dcivnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[704,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NruMZEZe4D/BcLRMAR7pPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[705,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FvLt3n5jsL+b/xEVi1Xvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[706,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JnTerd/u4r8ZcBH6WgDqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[707,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Evp9OnX76j+KDydlVL7iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[708,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SfowfTpJwL8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[709,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QOkqOX4wzj8qKdqu2PjsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[710,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2GDagL6xtz9xvB3cMArvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[711,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HKsit9267z8g49rcuG3Hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[712,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7IZ571ct778JCoRezGSovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[713,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2/ViD49h4D94vBSdH6rsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[714,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kdRo9JEV7z/iyNfa7hbSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[715,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lVl2wkA77b/iz3yVqSO9Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[716,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/XxehwBF7b8PojLxfuvIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[717,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D6NtI1Yu2D8xupL4OF3rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[718,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EB6wMY500r8FgWhClfTuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[719,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5gMk0R9x6b9PH6IVWIzbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[720,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RbD9WY+w5r9n6Wykg2XlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3137\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3134\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3135\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3136\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"PupilsAndTeachers\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]],[\"index\",[678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719,720]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\"]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3138\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3139\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3151\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3144\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3141\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3142\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3143\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1]],[\"start\",[678,679,692]],[\"end\",[720,720,720]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0]],[\"start_display\",[1,1,1]],[\"end_display\",[1,1,1]],[\"weight_display\",[1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3145\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3146\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3150\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3147\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3148\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3108\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3121\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3122\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3128\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3127\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3129\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3130\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3131\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3152\",\"attributes\":{\"renderers\":[{\"id\":\"p3144\"},{\"id\":\"p3137\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
status:@status
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3116\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3117\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3118\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3119\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3111\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3112\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3113\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3114\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3115\",\"attributes\":{\"axis\":{\"id\":\"p3111\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3120\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3116\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"7c59a624-10dd-4986-b321-79b7556bee95\",\"roots\":{\"p3100\":\"a591f1a2-bdc0-4c07-83e9-56e0dd287de9\"},\"root_ids\":[\"p3100\"],\"notebook_comms_target\":\"p3153\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p3100" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"bf820301-ee2d-449d-bd15-81452fc384d4\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3197\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3198\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3199\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3206\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3207\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3204\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3229\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3246\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[678,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"y1y/fayFzT/t5vE0VwSuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[679,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FvhkUOw6zD/a0Ns4rJ2Bvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[680,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"21lObe285b+UkR/7WMXjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[681,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D2dgVVn26b++7rF476/dvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[682,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J/B4FMvr0T9ugE4E86Luvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[683,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"70/jBW4orb/SnTZggRTsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[684,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QlsDoQnT6z+C7PZp3M/UPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[685,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KPIF0YnL5b+ccKGy9InnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[686,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KnlHDDXF7b/D+TsGMy++Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[687,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jruQyaEh7r9osMd8iKeovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[688,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D8K2rcQckuBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[689,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"L9xMEzOq7z/dpcBZj0jLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[690,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RAlY3zjQzT8nVd9uPBDqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[691,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QJe4c30p4L/tgXa7ThrrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[692,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HpKh4k4vxz+KYkFz+LWlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[693,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NS9EFhLV7b9V4/fqo33Vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[694,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h63YCIWe27+3hxl1Rivtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[695,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"daDLjlYJ7T9pr6bbIWbXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[696,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ggit+jgW6D+pw/6mPE3lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[697,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kW8n3AQo1r/GSN/8jW3rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[698,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hz5gZ5Ka67+lrAD7snPePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[699,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YfLqtPfv67/7XXTRiX7RPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[700,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m6MT+4vv1z/O83WVzsrqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[701,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l+T4s2Ve7j9Y94RRanfGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[702,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4aFYIgTd5j9rfdAckjjiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[703,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dfhbgpuM4j8+OFZxGanlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[704,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vLtz6BzAsT9FF+QxzvvuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[705,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CtcrX+I15r8Frpapx2fjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[706,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M4a/bQ/+5r8iEKf29LjZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[707,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Q+qmdgFE4D+TwNTDvZDrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[708,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3SVRrvtTzz9D8KUZsePtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[709,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"B6WalO/uz7/8hzRu3pjvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[710,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Jyuh/ifU679mvOpZJznJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[711,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cy1Dd6irvr+roJnZjkfsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[712,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PvteJ5nz4D/eQ9GjhX3qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[713,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pLA9jeo84b97jrsCOEnpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[714,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XTzfbIj3nz/v3hGCQMfvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[715,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zCX93oCn7D+k/qmLNybhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[716,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0TTyjc167T+cZXTggd3hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[717,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8SMKx3yk5791NIUGAhDnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[718,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nhYoJndc5j8JrAe2GunnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[719,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XZ9SI5WZyb/gZq+fK3juPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3234\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3231\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3232\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3233\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\"]],[\"index\",[678,679,680,681,682,683,684,685,686,687,688,689,690,691,692,693,694,695,696,697,698,699,700,701,702,703,704,705,706,707,708,709,710,711,712,713,714,715,716,717,718,719]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3235\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3236\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3248\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3241\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3238\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3239\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3240\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1]],[\"start\",[678,678,679]],[\"end\",[692,679,692]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0]],[\"start_display\",[1,1,1]],[\"end_display\",[1,1,1]],[\"weight_display\",[1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3242\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3243\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3247\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3244\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3245\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3205\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3218\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3219\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3225\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3224\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3226\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3227\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3228\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3249\",\"attributes\":{\"renderers\":[{\"id\":\"p3241\"},{\"id\":\"p3234\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3213\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3214\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3215\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3216\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3208\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3209\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3210\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3211\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3212\",\"attributes\":{\"axis\":{\"id\":\"p3208\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3217\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3213\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"bf820301-ee2d-449d-bd15-81452fc384d4\",\"roots\":{\"p3197\":\"f9034cbe-7d16-4820-8c81-15f0ef494a1d\"},\"root_ids\":[\"p3197\"],\"notebook_comms_target\":\"p3250\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p3197" } }, "output_type": "display_data" } ], "source": [ "class PupilsAndTeachers(p2n.LocationDesigner):\n", " n_locations = 1\n", "\n", " def bridge(self, actor):\n", " return actor.status\n", "\n", "\n", "creator.create(df=df_school, location_designers=[PupilsAndTeachers], clear=True)\n", "\n", "inspector.plot_networks(actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "We can see that there is one location instance of type `PupilsAndTeachers` that connects three actors that have different values on `actor.status`, including social workers.\n", "As we only want teachers and pupils in that location, we add a filter statement:" ] }, { "cell_type": "code", "execution_count": 38, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"043528ca-9bf6-45d2-8b6f-f92916a275c8\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3293\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3294\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3295\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3302\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3303\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3300\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3325\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3342\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[721,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LhQrdcQazz+dYwPOQsSvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[722,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"caQHm0CY7j8fYcaZOq21Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[723,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q0kSKwV95r8Pu/ly+4zgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[724,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cPDBnUYR7j8McLQtSb7Yvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[725,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tlVdamiczL8BUItunIrsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[726,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IQJWNFAY7L+lpSNF7Ne8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[727,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5Et/JSqc47/2zIpBXa/hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[728,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fT+2L6+qzj89kP7E4WTuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[729,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aZTpyuFYu7+pR9Kcn7fvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[730,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kG/qebNd4796jhbpjgbqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[731,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7MT1uQmq2L/rwCNEj+ftPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[732,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cDtTdNuw4T/04V720+7pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[733,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fwxZ0oVv7z/z3SuZgVvQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[734,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RQEXr5+q2j8cBasEJQfuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[735,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qd3q1P2v6z9YMNm3X2DFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[736,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KLN9qEkNzz9JoKiep2HHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[737,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yYKh+Zww4r+zkkzb8XTrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[738,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eqGW9f49vL/ma8/6Y8jrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[739,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z28p3HjQ679D0KPZKoncPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[740,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"K8Kfwu967T/6acJLXEncPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[741,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ngI3uRKbsj94r7lBmPrvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[742,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3mRe5PKP4z+UFUsgKs/kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[743,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7zbdt0mR5r9xiv7aYyjlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[744,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wfzNqQV46T88fbd28NXiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[745,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Nc83utl06T/Fv8I8cpXmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[746,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z02uCAjz7L+WxoHprtPEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[747,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YE191V5f7z//nKPjN3/Bvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[748,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zG8MEjzw0D9jDbHEBarsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[749,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5YwrztwT678AN1nW9qjbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[750,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Fzja5Uwc67+3RI5ZNiLkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[751,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"39uy+Xj90r+octGcy/zsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[752,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"guIHpMTX3L/XCjM2okzrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[753,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CqA3gy3U5L/yAMCE4OzmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[754,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6z/8Mtkv7b/vUaZCRuvRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[755,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uDmG/i7cuz9pQNB25+Luvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[756,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OuDtNJnm4T/V1Pu+UjHqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[757,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3ufKdbN/5z+493ACQ7XoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[758,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xqimljJ66T+iUDw+Us3fvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[759,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dKhEt5c877/jSwrGQMXRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[760,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HChJEdRH2j8j9PTct7DtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[761,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NIisJmqB77/oOiNEEmmbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[762,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fiL92XB6t78AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[763,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oNEttfukzj/vJkGiij6/Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3330\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3327\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3328\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3329\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"PupilsAndTeachers\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1]],[\"index\",[721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762,763]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\"]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3331\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3332\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3344\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3337\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3334\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3335\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3336\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1]],[\"start\",[721,736]],[\"end\",[763,763]],[\"_color\",[\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0]],[\"_size\",[1.0,1.0]],[\"start_display\",[1,1]],[\"end_display\",[1,1]],[\"weight_display\",[1,1]],[\"index_display\",[\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3338\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3339\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3343\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3340\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3341\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3301\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3314\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3315\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3321\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3320\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3322\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3323\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3324\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3345\",\"attributes\":{\"renderers\":[{\"id\":\"p3337\"},{\"id\":\"p3330\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
status:@status
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3309\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3310\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3311\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3312\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3304\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3305\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3306\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3307\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3308\",\"attributes\":{\"axis\":{\"id\":\"p3304\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3313\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3309\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"043528ca-9bf6-45d2-8b6f-f92916a275c8\",\"roots\":{\"p3293\":\"bdfef08e-05dd-4f43-8ce0-73dba30a09d3\"},\"root_ids\":[\"p3293\"],\"notebook_comms_target\":\"p3346\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p3293" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"5e59d6d2-1860-4d44-9199-a1765e9554a4\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3390\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3391\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3392\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3399\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3400\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3397\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3422\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3439\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[721,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hjNKqr4qqL9OsQ0eksvqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[722,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XQ49xxVI5r9p3kbepxDnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[723,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GcMRtwN22z/neyEDDdvpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[724,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aoWMiHXV7L8f3cvISwS5Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[725,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Xo4i3oSh5D88+QO/fqvqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[726,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YfApwPYE1796KNOId5rtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[727,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BBM4JTqn4T8acFAY+c7rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[728,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uyNu8+ya6r9bzGOdXE/gPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[729,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AIrzg/Id57+sKSHS22fivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[730,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iBpDmlai7T9LwkWC3iHWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[731,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1FNaL6r07T+MUZvs2Xy6vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[732,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KrVJl+lSxr9WQRdUeVvuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[733,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cDETFDTx5z9ZclqvLtHfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[734,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cmen2Psc6j8+tgBsivnjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[735,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vWxgGcah7D+hjOUyZOzIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[736,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ip5caV1opb/lZGm02GDsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[737,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oMLIlFNB1T/QK0dU7Fbtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[738,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wQ4LUDSDuT+nQwSpc6PvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[739,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"827bhnn/5D+c9o//gF/mPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[740,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h2p2K0dh6j+kHLLV2n/hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[741,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fHO81bXc6z+0h98nVxrZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[742,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6ZOW6uz7yr8X4zar8+TuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[743,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1mHXOatb5z8qgygHZVDhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[744,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nmeSq55ah7/////////vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[745,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BEQMQGzU7L+xPUC4pz3Kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[746,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iK4RLpC54L9GsCgP3nzrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[747,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"C+VNK1rP7r8oXONcq66ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[748,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SE1evm6l7r8LCv0ViZLVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[749,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+7vgVHrU67/wVUmrex7VPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[750,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DKKqhJXg7j9WzFLbeXOsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[751,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8VdXxI7s4D/DglpZz1novw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[752,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"elmr5M951r+mkvj5feHnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[753,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VZRx6g1n0z+Naq7Lg5zovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[754,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nFqqZkMz4b9XVRlmzjzqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[755,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"y77y0reL5r8apJsnRFnjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[756,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y3rcUY6BwT9Vtehi0PTtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[757,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7qIZUfbp5L/IhGBk6ujnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[758,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pVBG+MC3179HkVAXvy3sPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[759,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vHM3L7EB7z9paVVeEobQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[760,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GVPrX5Pe7r8L4xXPXZDTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[761,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tgS1rKPZ0T/woYNxGDjtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[762,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mXnEk7Yp67/BnutNNL3evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3427\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3424\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3425\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3426\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\"]],[\"index\",[721,722,723,724,725,726,727,728,729,730,731,732,733,734,735,736,737,738,739,740,741,742,743,744,745,746,747,748,749,750,751,752,753,754,755,756,757,758,759,760,761,762]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3428\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3429\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3441\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3434\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3431\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3432\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3433\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1]],[\"start\",[721]],[\"end\",[736]],[\"_color\",[\"#440154\"]],[\"_alpha\",[1.0]],[\"_size\",[1.0]],[\"start_display\",[1]],[\"end_display\",[1]],[\"weight_display\",[1]],[\"index_display\",[\"none\"]],[\"type_display\",[\"none\"]],[\"status_display\",[\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3435\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3436\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3440\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3437\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3438\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3398\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3411\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3412\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3418\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3417\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3419\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3420\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3421\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3442\",\"attributes\":{\"renderers\":[{\"id\":\"p3434\"},{\"id\":\"p3427\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3406\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3407\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3408\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3409\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3401\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3402\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3403\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3404\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3405\",\"attributes\":{\"axis\":{\"id\":\"p3401\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3410\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3406\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"5e59d6d2-1860-4d44-9199-a1765e9554a4\",\"roots\":{\"p3390\":\"d69732e1-9493-40dd-b81f-e3429122199e\"},\"root_ids\":[\"p3390\"],\"notebook_comms_target\":\"p3443\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p3390" } }, "output_type": "display_data" } ], "source": [ "class PupilsAndTeachers(p2n.LocationDesigner):\n", " n_locations = 1\n", "\n", " def bridge(self, actor):\n", " return actor.status\n", "\n", " def filter(self, actor):\n", " return actor.status in [\"teacher\", \"pupil\"]\n", "\n", "\n", "creator.create(df=df_school, location_designers=[PupilsAndTeachers], clear=True)\n", "\n", "inspector.plot_networks(actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we do not only want to have one of that location, let's remove the specifiction of `n_locations`:" ] }, { "cell_type": "code", "execution_count": 39, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"cc3722f9-dfff-4d63-9a55-2f6159ab40f0\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3486\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3487\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3488\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3495\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3496\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3493\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3518\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3535\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[764,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"429clPdP6D/Aa4rubZfivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[765,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9y+xJlJEur/RxGQs0EWVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[766,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QMZQAGKTzL+ydg+Qe0zhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[767,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WtOpbLWLe7+VWefVIuXIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[768,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o0v0c3iQ5b/NkwBoH1Tlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[769,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J/OmV7Km4L9mUr8MUY3nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[770,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZbekU0b3wD+fAP165r7evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[771,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Mqhl0bCd4T9XbJk8GavRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[772,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DJC8VW3E47/C/e6Jm7XjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[773,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2a3RCneZuT+yG6X905TlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[774,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nyuUEfWO4z8X+GZVhqzVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[775,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ior/Xcso17/E9zzYlTDivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[776,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"N1ZS11nDwj+e4mjZVF7Uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[777,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QpXkOLKNxb/bRz+wBHPAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[778,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sT+MHjIm5T8VeAhB+R7rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[779,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ilJAJISP5T+wAZvNIPzIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[780,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LHARRq8h2L/0R0lw8BzUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[781,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+ywWHJt04b8JyE0I9KnjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[782,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"REQfZ589zj8YHUZSJ3zmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[783,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w/MVS4cu4z+qiG9Xkc7fvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[784,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TaXSytMZ0j/ihOkg8S/Zvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[785,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"d0xFn9qr6j8PAPnLNGrDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[786,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"f34/jR+hyD+Rn3qGmZDrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[787,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IdkgRwil079J4kZ2WhjZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[788,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WHQr/zJw4T8nre7sFTXkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[789,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7alTT++23b/G4cQv21nVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[790,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UDHWyOGXlz/b2D27g06nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[791,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1x/s2UHZ6L9e3+7MOGHjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[792,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BOkJQD9857/KGSeeCBXnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[793,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pv5rkBeGxT9KmBs6xoHAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[794,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"28K/tKob6j+07joCzQfTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[795,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"17O1QcGM1T8rAmdmjyXrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[796,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e+zTQ0oJ3z9N7muPRV/ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[797,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ALMkrlPV0b8Xoi37+x/Jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[798,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r0CaI1WD0L9SLFMcy46TPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[799,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gGPc/U/F6b+U7LkkfrLfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[800,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Xic0vPjr6L8bdvP+YNTiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[801,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"osa6vLeX479mMRV39F/fvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[802,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JgblBEXYoj9+6ge6k+favw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[803,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"npjQIpuP4L8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[804,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GKyTRmX24j/MT5+BaAO1Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[805,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1ibllQl51j+5mzyHIfLjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[806,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Tngvtt125L9LsCXwXtzivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[807,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"y1tvKxzH4b/FvfzulqzlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[808,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MiRnsAkywT+HrK62d93Zvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[809,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BxsuCQdX4z9VFRQjbabOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[810,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gqO4HTe+xD8ckhvlRN3lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[811,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zCl+U+EP4z/+XMlet+bZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[812,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Xtp//e2j1b8/0GtkQVbfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[813,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1eiUMdqWwb/guemPPnSwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[814,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3336Q3Gn3r9WlUpLJkvZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[815,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dO10VxDe4b8Bn5Or4DPiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[816,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XIDukrjJzD+tzrEc8tbWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[817,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ne8mXB1f6D8XVuVP7YjFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[818,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MoI6Ahkbyz/iOOFRI17pPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[819,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9Qcj52Os4j9ImpHSV2vivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[820,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"imwKupYD2b9QlRODoBfXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[821,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yiYv6TNaob9sxRInGA2QPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[822,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hSr4yMh/5r8/Beu0xr3hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[823,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+d4O5W3R5b+qGobZMqLlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[824,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eJQo4/mNxD8xy0ZAJXXLvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[825,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HZQP+a/f5z/WBXvYGk3QPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[826,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MEAZKPLf0j8tli6ZQAnpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[827,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z97skjE64T+o5PcEfybhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[828,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jKUWWdo50r/xDvSESiHSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[829,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PQJDx640yL/z4ODRd8B6vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[830,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fKi4DTMF57+j1jbcQjHfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[831,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LFo0VsB+5r9mYcgS8NLiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[832,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"La88SHlnsz8mtOXhviTXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[833,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+yQHvZY55D8sT9O+DNnAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[834,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QhNIMsYd0z+4spED3g/lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[835,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Qtn7eh485j/dHOHFrXjhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[836,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"P99kD2lb0L/ladM+nCnevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[837,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OIJ8rRHbq78P+POpOWi8vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3523\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3520\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3521\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3522\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index\",[764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805,806,807,808,809,810,811,812,813,814,815,816,817,818,819,820,821,822,823,824,825,826,827,828,829,830,831,832,833,834,835,836,837]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3524\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3525\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3537\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3530\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3527\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3528\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3529\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[764,765,765,765,765,766,767,768,769,770,771,772,772,772,772,773,774,775,776,776,776,776,777,779,779,779,779,780,781,782,782,782,782,783,783,783,783,784,785,786,787,787,787,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,801,801,801,802,804,805]],[\"end\",[835,813,821,829,837,836,837,806,807,808,809,807,815,823,831,810,811,812,808,816,824,832,813,809,817,825,833,814,815,810,818,826,834,811,819,827,835,816,817,818,812,820,828,836,819,820,821,822,823,824,825,826,827,828,829,830,831,806,814,822,830,832,833,834]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3531\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3532\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3536\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3533\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3534\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3494\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3507\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3508\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3514\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3513\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3515\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3516\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3517\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3538\",\"attributes\":{\"renderers\":[{\"id\":\"p3530\"},{\"id\":\"p3523\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
status:@status
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3502\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3503\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3504\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3505\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3497\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3498\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3499\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3500\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3501\",\"attributes\":{\"axis\":{\"id\":\"p3497\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3506\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3502\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"cc3722f9-dfff-4d63-9a55-2f6159ab40f0\",\"roots\":{\"p3486\":\"f9f14140-8361-49bd-af62-5eb2bff5f56b\"},\"root_ids\":[\"p3486\"],\"notebook_comms_target\":\"p3539\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p3486" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"da6020e6-935d-46c4-90fc-07caa803ac9e\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3614\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3615\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3616\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3623\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3624\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3621\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3646\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3663\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[764,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xYLgSVMCzD8Odi8mDR3kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[765,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mg6fkjRQ6D/rMatqkKTPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[766,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hOnSlHqs1j9aIrsy6bXqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[767,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0vygdAVH6j/QW4nZna7LPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[768,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XF63qrhf7L+J0B3G+S7Mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[769,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DkC7yyRg4r81c88MsarSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[770,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Fe6HS99Q0r/0RJK7u53kPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[771,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DnBL3PY54j8MB8CZZd7Vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[772,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iR19Mpjv5L8GrLeobujUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[773,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KvLTe+rP1b+OWhkcQdPrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[774,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tY7brbAH1j+fxCangbvmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[775,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QlAMcO1I1z8HvvJdLMzmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[776,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ctYNCspf0r81zWpcrATnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[777,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bJT3/e/b5z/Ib1YWcoLHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[778,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fZ58Vh6w5b/5m+sug63hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[779,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"waYkE6Hw4T/9n1C8x1jRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[780,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZKh24H6D5r+kESLLxZ/Gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[781,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gt02kNXL5b+nvptEUYvZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[782,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TB9AtlYx1L+pckgJoi3pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[783,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bSCRHWkF0j+g0/D1LzLlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[784,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"++trSa1/0b9ofj1dSCjpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[785,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l0283jPR3z/aaAcQpN7Pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[786,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9kdBFQ272L+fajEHKx/qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[787,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bJ2FeDyb2T+zuc4zcwfpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[788,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NHCmQ4tp0T9D73cBvGDivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[789,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cC3Np9oZ3D+RXrZwwHXrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[790,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FVXWFGbe6T9gsolDf47TPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[791,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rLT9G/K76r99ITbkwSrRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[792,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b0Uw7CX/5b8aKockPlHRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[793,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J+pdw1iB1r8fDJBr8kfoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[794,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M3vE9ksd4z8CAqyGUH7Lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[795,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KMvznrlP0b9AG2ESjfHqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[796,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JmC5UN/q0T9MjZe5H9Pnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[797,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NakXKr7c3T8LZijxBZDoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[798,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aW8dZBEk5j9vBqt5rjXRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[799,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QYA+QpF767+Ln4M2hbbDvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[800,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i6kJ5+KG57+Cbyacd4bWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[801,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vU+aR5ms6b8L2h4ZobDJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[802,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R5tMUqchzL/OJ0PIvfLmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[803,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D8syG+1NVLFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[804,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Jsw6TCZs5D/8TdNoHTTTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[805,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fYzUz88N0r/YkQnZPiXmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3651\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3648\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3649\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3650\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\"]],[\"index\",[764,765,766,767,768,769,770,771,772,773,774,775,776,777,778,779,780,781,782,783,784,785,786,787,788,789,790,791,792,793,794,795,796,797,798,799,800,801,802,803,804,805]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3652\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3653\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3665\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3658\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3655\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3656\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3657\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[764,765,765,765,765,766,768,769,770,771,772,772,772,773,774,775,776,776,776,779,779,779,780,782,782,782,783,783,787,787,791,799]],[\"end\",[783,777,790,798,767,787,801,772,776,779,800,781,792,782,783,787,802,784,793,804,785,794,801,805,786,795,796,788,789,797,801,801]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3659\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3660\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3664\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3661\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3662\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3622\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3635\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3636\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3642\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3641\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3643\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3644\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3645\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3666\",\"attributes\":{\"renderers\":[{\"id\":\"p3658\"},{\"id\":\"p3651\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3630\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3631\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3632\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3633\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3625\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3626\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3627\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3628\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3629\",\"attributes\":{\"axis\":{\"id\":\"p3625\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3634\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3630\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"da6020e6-935d-46c4-90fc-07caa803ac9e\",\"roots\":{\"p3614\":\"f09e07c8-70bf-4614-b92e-53eeb70a69a5\"},\"root_ids\":[\"p3614\"],\"notebook_comms_target\":\"p3667\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p3614" } }, "output_type": "display_data" } ], "source": [ "class PupilsAndTeachers(p2n.LocationDesigner):\n", " def filter(self, actor):\n", " return actor.status in [\"teacher\", \"pupil\"]\n", "\n", " def bridge(self, actor):\n", " return actor.status\n", "\n", "\n", "creator.create(df=df_school, location_designers=[PupilsAndTeachers], clear=True)\n", "\n", "inspector.plot_networks(actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "What happened?\n", "If you take a closer look, you can see that there is still one location for one edge between one teacher and one pupil.\n", "However, teachers are assigned to more than one location of this type.\n", "This is because the LocationDesigner attribute `recycle` is set to `True` by default.\n", "If `recycle` is `True` the creator builds as many locations as needed to assign every actor at least to one instance of the corresponding location type.\n", "That means that the actors with the most frequent value returned by `bridge()` determine the number of the location instances to build.\n", "Therefore it can be that actors from the other groups are assigned multiple times so that everybody has a partner.\n", "\n", "To turn this behavior off, set `recycle` to `False`.\n", "As a result, nobody will be assigned multiple times and the actors with the least frequent value determine the number of locations of this type.\n", "In the following, we set `recycle` ot `False` and thus only get 8 location instances of this type, as there are only 8 teachers." ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"83967b74-1c81-4f35-9b86-d3f766858298\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3710\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3711\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3712\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3719\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3720\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3717\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3742\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3759\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[838,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SsyVT22tub9zgegQXoDsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[839,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Sy+DYPFicL8MWfjRSkXrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[840,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EPAUmheM6b/y1zFei5/jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[841,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+z8NT8Mc1D/6OlzkA9LNvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[842,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7NNuoGaQ67/D/I6vUHraPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[843,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kktA9UEI3T+2qaygkRbmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[844,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dWAgEMXY6T/JX4McCxPZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[845,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"acQ9CEuoyL8AB1/N4KibPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[846,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OTmpZuQV2j9bbQNabAfHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[847,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"egBLExfo6r/2ujICW8XHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[848,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x5pStz7V6z93b+H0xXK8vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[849,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EnPKXuHi4L+EigheXrrmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[850,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"c+9/nGMh6L9J4r7RRpnaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[851,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Cw7sZC8y578PmkJVHnbkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[852,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k8+U5PLI4T+/dUaAjLfpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[853,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4IapYBdC2T99e2+Rc8Xovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[854,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"82eHgRRd1D9u+zmxTjTuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[855,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jDFiWZ7Wzb9jO1Xw6f7uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[856,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"E8farDwD5j8Ghp4WS5/YPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[857,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WM+86eQyxL/23jfnBl/APw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[858,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WKOUfYxh6D8e12GT97exPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[859,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nk+tKN6tzb/o3vUuLUvpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[860,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kgI0a5TJ07+y4bQkJyPtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[861,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XbRDea9b7b9nQ0b58kzQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[862,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wRr7DrH24z9yjsM8RVDqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[863,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Yp9VACuh47+DHY+ACjzpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[864,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AluT9WJ07j9S/QuIPCnRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[865,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"d+wrG8deuz9IySBT/8nvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[866,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ceX8zkIX7D9AwfqjrSbgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[867,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kBvr3P5n4b984x+XTGjrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[868,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZJMNgKq05j8y8YNU70/hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[869,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Fvax56Q1xD8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[870,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"c758lA1W7b9W+wYZHYOgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[871,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zQHkRcSv7L+rJuMoVbXHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[872,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"adr9ELex6j/pKYZs6XPgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[873,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EGFnRkJ25z/UPDvy8y/mPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[874,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7s64Civktb+O8DFPMnjuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[875,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"s0dijK0q6r98FJOVLx/hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[876,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pyydoQMz3L8hHqKOs3/rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[877,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SVle7E+oyz+ihKDzewHmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[878,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J+6oZyjp7z+7uExNqNbGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[879,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HjVdgXud1z8onaKibGLsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[880,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/ppWt/KgrL9/U2FDwonrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[881,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/vfhWVF66L/xNnXovcHhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[882,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8aeKFF611j/d3WxpxUDJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[883,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y6gedqb66b9xghhmeWnbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[884,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VnlMx/ow2j9NJZHELArnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[885,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"I20xZ5rJ5z9myP+hGl/YPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[886,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4jXZxhHYxL+OBpoBh7eyPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[887,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mVb4cyqR7L9ZnAEJNfrKvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3747\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3744\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3745\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3746\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\",\"PupilsAndTeachers\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null,null,null,null,null,null,null,null]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"index\",[838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879,880,881,882,883,884,885,886,887]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3748\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3749\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3761\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3754\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3751\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3752\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3753\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[838,839,840,841,842,843,844,845,846,847,850,853,856,857,861,875]],[\"end\",[880,880,881,882,883,884,885,886,882,887,883,884,885,886,887,881]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3755\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3756\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3760\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3757\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3758\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3718\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3731\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3732\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3738\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3737\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3739\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3740\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3741\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3762\",\"attributes\":{\"renderers\":[{\"id\":\"p3754\"},{\"id\":\"p3747\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
status:@status
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3726\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3727\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3728\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3729\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3721\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3722\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3723\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3724\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3725\",\"attributes\":{\"axis\":{\"id\":\"p3721\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3730\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3726\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"83967b74-1c81-4f35-9b86-d3f766858298\",\"roots\":{\"p3710\":\"f46eddfb-6d65-4b3b-8117-21eb9981a498\"},\"root_ids\":[\"p3710\"],\"notebook_comms_target\":\"p3763\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p3710" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"e5629e4e-af49-4f18-b4ca-a734c604147c\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3814\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3815\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3816\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3823\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3824\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3821\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3846\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3863\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[838,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Mh877d9V2L+63IsotFzpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[839,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jrC4WhgG2784FZRf1XToPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[840,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"E5gfxb/W6L8ALgXdLhLMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[841,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KNpUWneO5r92qk/+UQHmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[842,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7MWc8csQ6j+bpWpeUbnkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[843,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ie53aLzcmr+8zfBlL2zsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[844,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"E27D2KB53T+ZIbaBJ0Ckvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[845,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MC7DvnMI2j/WdbrHESPmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[846,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3KcCru6w5r/rvC2PLG3kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[847,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RTxodE5ZzT/m/A84IHbmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[848,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3se+cIYn4r8z/E4f18Dsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[849,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bdmckJ0/vD/wOB/PcxDtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[850,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"u800/QSw6D+kR6krZZ3mPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[851,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EpTwtGDw5L/6IjKUP33nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[852,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/d9ANJ2F2b/PNXt3irnrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[853,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"g4wdnlZOn7/ZpPrRB1buPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[854,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PNtENmFF679vqexE233gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[855,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2I6US32I779UcW7Jom/Qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[856,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YVhBNIKE2z+SPz1VmX+0vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[857,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JEUa314+1z+DfKmJVUHlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[858,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5w/LqQvU0D/VvLtJ76nvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[859,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iw+wuj115b+PydNCol7cPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[860,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VqufX1B27T8wE8kL5RTTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[861,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+UZ8/YV/yT+eBpA71iHlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[862,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"doucP0mi5j+kZrADjITjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[863,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"C0/iMra/s7+mRgVv0ZTuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[864,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8L/iv+D5wtuePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[865,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wowUy2sQ1j/g+vjqieTrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[866,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aHWvC4hy6T+ymajL1ILmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[867,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Eg53ulNK6T9Ift4rrnPYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[868,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fZse/kYp7r+388zC35zdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[869,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OVzsjkdZ67+XZNHhsCnCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[870,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xiXK31cT3D80dSY+qKHqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[871,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YO69HCgP4T9jJHCSharrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[872,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4OYjDZRJ6T+4NCM6fJrlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[873,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Df7cqYQD7z8LvPo397LBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[874,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wnaoO6Mg6r/xAyghUV/ePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[875,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xy6Yg7s4578+/G8yDUfMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[876,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F+GIiWa07j80M9ycV+axvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[877,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CQ+atB822r8lFQ2advjtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[878,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fffWxtsa7j+KyFQS+vTVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[879,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fEfHTlHwzb8M9BZEBWPrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3851\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3848\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3849\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3850\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\"]],[\"index\",[838,839,840,841,842,843,844,845,846,847,848,849,850,851,852,853,854,855,856,857,858,859,860,861,862,863,864,865,866,867,868,869,870,871,872,873,874,875,876,877,878,879]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3852\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3853\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3865\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3858\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3855\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3856\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3857\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1]],[\"start\",[838,840,841,842,843,844,845,847]],[\"end\",[839,875,846,850,853,856,857,861]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3859\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3860\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3864\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3861\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3862\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3822\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3835\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3836\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3842\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3841\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3843\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3844\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3845\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3866\",\"attributes\":{\"renderers\":[{\"id\":\"p3858\"},{\"id\":\"p3851\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3830\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3831\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3832\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3833\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3825\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3826\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3827\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3828\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3829\",\"attributes\":{\"axis\":{\"id\":\"p3825\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3834\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3830\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"e5629e4e-af49-4f18-b4ca-a734c604147c\",\"roots\":{\"p3814\":\"a4e7d8bf-3792-4772-85dd-913638d2d780\"},\"root_ids\":[\"p3814\"],\"notebook_comms_target\":\"p3867\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p3814" } }, "output_type": "display_data" } ], "source": [ "class PupilsAndTeachers(p2n.LocationDesigner):\n", " recycle = False\n", "\n", " def filter(self, actor):\n", " return actor.status in [\"teacher\", \"pupil\"]\n", "\n", " def bridge(self, actor):\n", " return actor.status\n", "\n", "\n", "creator.create(df=df_school, location_designers=[PupilsAndTeachers], clear=True)\n", "\n", "inspector.plot_networks(actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### The detailed way: melt()\n", "\n", "The method `bridge()` is a quick way to bring together different actors.\n", "However, it is limited.\n", "To have more controll over the composition of actors that are assigned to a location, we have to *melt* different locations together.\n", "To do this, we have to define at least three location classes: Two or more locations that are the components that get melted into one location and one location that melts those components together.\n", "\n", "Assume we want to create classrooms that consist of one teacher and four pupils.\n", "To create such a location, we first define a `MeltLocationDesigner` (`TeachersInClassRoom`) that consists of only one teacher.\n", "Then we define a `MeltLocationDesigner` (`PupilsInClassRoom`) that consists of four pupils.\n", "Finally, we define a location (`ClassRoom`) that uses the method `melt()` to melt the two previously defined locations into one location.\n", "The method `melt()` must return a tuple or list of at least two location classes that shall be melted into one." ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "# a location for teachers\n", "class TeachersInClassRoom(p2n.MeltLocationDesigner):\n", " n_actors = 1\n", "\n", " def filter(self, actor):\n", " return actor.status == \"teacher\"\n", "\n", "\n", "# a location for pupils\n", "class PupilsInClassRoom(p2n.MeltLocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", "\n", "# a location for teachers and pupils\n", "class ClassRoom(p2n.LocationDesigner):\n", " def melt(self):\n", " return TeachersInClassRoom, PupilsInClassRoom" ] }, { "cell_type": "code", "execution_count": 42, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"db4a6f29-9f9d-42c7-8c29-5ce75f412bfe\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p3910\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3911\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p3912\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3919\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p3920\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p3917\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p3942\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p3959\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[888,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"B+lg5g0V1L+krQMmWBznPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[889,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AXaV3heU1r/YVciSQWjmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[890,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"n3wVWdit3b/BXteBPQ3nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[891,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gK+/puHJ2L/A4z3TQGTkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[892,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Q7DgfVMJ2L/v5yCFWgDnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[893,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W9pXFwfE278yq+/vHZbqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[894,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CW8dKM1v2b94KVYukCjlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[895,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7Q0xUTqv3r+Ajsu0ddzovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[896,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"haeBnV/z6D9kSOal49vTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[897,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k8+tgnSq5T+1X/q/iF/Zvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[898,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"letKE1YW6j8Qz5GjJ2fYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[899,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"85Y2kDj56D90GYft++Hbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[900,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5TBCfJEt4b9SN7UoJ2asvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[901,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/GRUbDkL5z9lZ5KpkNbTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[902,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HQPSUqcf6T/b/K02rfrovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[903,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Zx8NJ/pD779UVv7tmp+tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[904,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zglLnt+03L+bWlsEGXKmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[905,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LrVLvGAA2r99x7HQoTmgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[906,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IEPSq4rb0j/WS0ErQpXnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[907,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GfWxGqIgyj/FuNLVho/pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[908,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cX3XwGO73b/BCmszXGq3vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[909,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qUnNqwvO4L/e9jBdZ6KZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[910,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3i1Il14b778Xxl0q75ipvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[911,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+bp5bi/a4z9IRpujGRzcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[912,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UzFMnOVp7b/1SdwbD260Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[913,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"epwM6Brc6r/A6uh64hp8vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[914,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"////////779LCsRoQ3NOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[915,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hM85x/B7xT+254JXvEjpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[916,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rMIf8fdSyz9VigRAUInqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[917,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"X980k+payz9mmhLpJm3mPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[918,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"d1XHGX/y0T9nT52emd3qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[919,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ank782zJwj+JKoQaq1jovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[920,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lQryS1iK0D+O4FH1M53ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[921,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8FNFAhiR0D/N51C8l/Dlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[922,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"g/Y9dlG+xT9ypm9P0mTkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[923,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vj6Ln/eD5j9Xl6V7PcnhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[924,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v7goOceQ6D9Pm0hs0HjhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[925,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CvRwJ7I+1b891YdeZA3ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[926,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uHP06MhW6T8VtENJPoPfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[927,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J+t/vlTA7j/wHmTFgjajvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[928,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"C1I7AN4f6D9mu5QMesbbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[929,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"afIA6oFn27/WjbeB5IPpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[930,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vvK7Mnmi5z+aoo22fXnXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[931,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e+y8TJk43r+CbPeE4x+Wvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[932,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o60N33te7b8i9tk4OciFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[933,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i2EoFVvqzT8Iagcqb4boPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[934,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GjpYKouhyT/9N/4F8dzmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[935,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KGdud7Kt5j/I0sIO+QvfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[936,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/LsT83Q22b++x5LPgPbmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[937,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gYmSfywj2r+zd4Msievnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3947\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3944\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3945\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3946\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null,null,null,null,null,null,null,null]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"index\",[888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929,930,931,932,933,934,935,936,937]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3948\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3949\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p3961\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p3954\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p3951\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p3952\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p3953\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[888,889,890,891,892,893,894,895,896,897,898,899,900,901,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,928,929]],[\"end\",[936,936,936,936,937,937,937,937,930,930,930,930,931,930,932,931,931,933,934,931,931,932,935,932,932,932,933,933,933,933,934,934,934,934,935,935,937,935,935,936]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p3955\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p3956\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p3960\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3957\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p3958\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p3918\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p3931\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p3932\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p3938\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p3937\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p3939\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p3940\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p3941\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p3962\",\"attributes\":{\"renderers\":[{\"id\":\"p3954\"},{\"id\":\"p3947\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
status:@status
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3926\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3927\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3928\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3929\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p3921\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p3922\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p3923\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p3924\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3925\",\"attributes\":{\"axis\":{\"id\":\"p3921\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p3930\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p3926\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"db4a6f29-9f9d-42c7-8c29-5ce75f412bfe\",\"roots\":{\"p3910\":\"ef3a623d-4cb6-4b45-958a-977ffdad5fe8\"},\"root_ids\":[\"p3910\"],\"notebook_comms_target\":\"p3963\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p3910" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"3fd8c02b-1133-463f-82fc-fd87ef9c301d\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4014\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4015\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4016\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4023\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4024\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4021\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4046\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4063\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[888,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fjkjtxiuwz+ILs0dSE/svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[889,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mc/zhgiOyj/yvDFbuqntvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[890,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3ImxvvQLzD8qE0At8jzsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[891,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6N5KQQpKxT8KC0MVSWDtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[892,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e4W7z2A07T//IrJII/zNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[893,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7a0bGYk07T/wsPFoP8/IPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[894,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2WDnq4KR7j/bej7b23XIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[895,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"P424/o5n7z+TO+ouBGjNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[896,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vP3dnA953z9hk4PSyVfXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[897,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jorDIhjP4D8vSuLszMbVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[898,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WwhsCWw+3T+YboTBIPnVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[899,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gPJmF3A64D8Jek9nHTrTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[900,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nA9LFfBd479bDURk2He0vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[901,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"X3Onv1H93T9Hcil7nILTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[902,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D/wwIDuKWPWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[903,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uVJseTX4dz+VHYu8wf3UPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[904,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dRdhoQZC4r91gzupbd26vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[905,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ECW1U2O64r90+hkr9Y6lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[906,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TQN1NEez4r8U1D1KbYrovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[907,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1hF9z37a1D+EububfGvsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[908,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5paKFtxv4b/gh1vbHf2mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[909,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/tcsvhkn4b+y6R/EZrS1vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[910,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0NoQL6E0or89WNPCfGTYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[911,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jWzlQBd267+6/q2bRY/fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[912,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8YdkfnXerb9Z7FrFlyzWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[913,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v59vRa+Vbz8L8VjcUabXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[914,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"u8yIFKXAoL+Hi7HV4jTUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[915,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IuZh/o7J4b9E5gEal4Dpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[916,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7M4xPsyL4L/F9GpDKuDovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[917,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HJBgJm3o4L+MtrhvPbjnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[918,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0h40/GoY4r9r1afEzVfnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[919,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"76FvDLVM0z98hrb7pa7tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[920,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MPQzk7Lv1j+t5uOy+BrsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[921,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OjYfmIjU0j9T+bdVQ/brPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[922,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Lg+f/nRB1j9jXDpe297tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[923,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TaxDyWwn7b/C8nq8gtXcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[924,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ccOfZrfa7L8dfBix3m3fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[925,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M8hR5oQT7j/8qzIU9jfQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[926,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"az8p8WYN7L9anPYs7GXbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[927,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Jobdmoxk47+xWbITPk/vPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[928,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OQ6tfEcp679iwCxUpjbdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[929,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uNnnUjTexz8+GoEAKnXrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4051\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4048\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4049\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4050\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\"]],[\"index\",[888,889,890,891,892,893,894,895,896,897,898,899,900,901,902,903,904,905,906,907,908,909,910,911,912,913,914,915,916,917,918,919,920,921,922,923,924,925,926,927,928,929]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4052\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4053\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4065\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4058\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4055\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4056\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4057\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[888,888,888,888,889,889,889,890,890,891,892,892,892,892,893,893,893,894,894,895,896,896,896,896,897,897,897,898,898,899,900,900,900,900,903,903,903,903,904,904,904,905,905,906,906,906,906,907,907,907,907,908,910,910,910,911,911,911,911,912,912,913,915,915,915,916,916,917,919,919,919,920,920,921,923,923,923,924,924,926]],[\"end\",[929,889,890,891,929,890,891,929,891,929,925,893,894,895,925,894,895,925,895,925,897,898,899,901,898,899,901,899,901,901,904,905,908,909,910,912,913,914,905,908,909,908,909,915,916,917,918,919,920,921,922,909,912,913,914,928,923,924,926,913,914,914,916,917,918,917,918,918,920,921,922,921,922,922,928,924,926,928,926,928]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4059\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4060\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4064\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4061\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4062\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4022\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4035\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4036\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4042\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4041\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4043\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4044\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4045\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4066\",\"attributes\":{\"renderers\":[{\"id\":\"p4058\"},{\"id\":\"p4051\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4030\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4031\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4032\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4033\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4025\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4026\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4027\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4028\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4029\",\"attributes\":{\"axis\":{\"id\":\"p4025\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4034\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4030\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"3fd8c02b-1133-463f-82fc-fd87ef9c301d\",\"roots\":{\"p4014\":\"b541cd2d-6b6d-416b-a66c-8b7282666f26\"},\"root_ids\":[\"p4014\"],\"notebook_comms_target\":\"p4067\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p4014" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "inspector.plot_networks(actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now we bring back all other settings we made so far:" ] }, { "cell_type": "code", "execution_count": 43, "metadata": {}, "outputs": [], "source": [ "class TeachersInClassRoom(p2n.MeltLocationDesigner):\n", " n_actors = 1\n", "\n", " def filter(self, actor):\n", " return actor.status == \"teacher\"\n", "\n", "\n", "class PupilsInClassRoom(p2n.MeltLocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", "\n", "class ClassRoom(p2n.LocationDesigner):\n", " def melt(self):\n", " return TeachersInClassRoom, PupilsInClassRoom\n", "\n", " def weight(self, actor):\n", " return actor.hours" ] }, { "cell_type": "code", "execution_count": 44, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"ebafdb53-8cb8-4ac7-b8ab-2021584268dd\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4110\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4111\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4112\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4119\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4120\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4117\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4142\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4159\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[938,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7YFki/Awx794+g0Yj3Ttvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[939,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AMwpJCMexL82mhfWjcDrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[940,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LIKa0nMfsj9DF4BSlSG1Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[941,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GBqL0Lk1vz/KVLc6ImCoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[942,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Xk+KOAyywr8XP5I6f73uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[943,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zBO9zhzzoD9Ub9coL3iVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[944,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"35bWCLP73b/WEvQ/OG3Evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[945,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"f+z5645Ttb9Er83fVl/svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[946,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ATR1trq5tz9movwIqaxwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[947,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SBjXFgSiuL8C0yTJkEXuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[948,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2GocdaFJ4L+1NHfV+SDAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[949,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WEJLR+MU0b9WWf9H2oPlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[950,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EWRAi+Lx6T9mLhKp6iXjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[951,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KTyIf+dT6j83SyKNSo/hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[952,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6pu+5tgl6T8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[953,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mj7gh6LsyL8MQOcrXFTlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[954,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Xficb/rv6b/KVN1nP+rDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[955,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rEDimNsQxb9I86FFmQznPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[956,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9r6Eoz4L0D/UvXTOZv/Svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[957,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oezo0Vic6r+RUBRvz2XOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[958,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZyJtOklq37+lkbCZI86xvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[959,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GspupvU9zT8yPpluO3nWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[960,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KQ41Pfr53T8oVuLg7a7lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[961,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4sSfkjW3278Z/jd1lzuxvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[962,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uNn3fsE76b9LHSgIts7NPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[963,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"23LZdbCq0z834MLwOKTSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[964,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e/3EFK0M7L+Jz/PdMivMPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[965,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Up/dyO5E4j/l/ZmC22nmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[966,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bEUOYN6967+5OQ6/L/vFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[967,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gdpDnqR56D8JY9144QHkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[968,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2BKkP/bVjj8VoH59EbGmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[969,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"waIN0Bpz1D+0W6zKRDbWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[970,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hGEgr5u/0T8pO55iLCDYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[971,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+vxJFI6Q4D8DIX3W1wfnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[972,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"190ORY5u4j831E0Z4YHkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[973,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tLtlvSbQ0L+hdpStcG/nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[974,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XjDnMxZ5y7/jaP2ig0voPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[975,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"he0rtS954D8QGPaTQPLjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[976,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9ScLrj982r9GgwNIaVjBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[977,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Mo5pHsrk6L+oPIPqfVDtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[978,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1/m/grmh6D9KfeuX3Wfgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[979,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GG873Z7y5j9acQ2Nrs/ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[980,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Lpt1vq8N3b/GhkzSOU67vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[981,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GgvlnpOYwL8ih4GyDt3svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[982,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aWAEgX2h4D+g4X7EaB3lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[983,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1LpFbgMusT8xUmOQFjKZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[984,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pmicc9xp6D/ojd30Ghfivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[985,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+UZXHSWoy7+rEH7IhjXmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[986,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dQpUtRhV0T8k9Viu8tfUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[987,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XBrbfsZL6r+zIdC5bKbJPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4147\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4144\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4145\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4146\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null,null,null,null,null,null,null,null]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1]],[\"index\",[938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979,980,981,982,983,984,985,986,987]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4148\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4149\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4161\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4154\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4151\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4152\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4153\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[5,6,4,4,5,4,5,5,9,5,5,4,5,4,9,6,4,11,10,5,6,4,6,6,6,6,4,6,4,4,6,6,4,4,4,4,9,5,4,4]],[\"start\",[938,939,940,941,942,943,944,945,946,947,948,949,950,951,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,978,979]],[\"end\",[981,981,983,983,981,983,980,981,983,981,980,985,984,984,985,987,985,986,987,980,986,982,980,987,986,987,982,987,984,983,986,986,982,982,985,985,982,980,984,984]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.3333333333333333,0.5,0.16666666666666666,0.16666666666666666,0.3333333333333333,0.16666666666666666,0.3333333333333333,0.3333333333333333,0.6666666666666666,0.3333333333333333,0.3333333333333333,0.16666666666666666,0.3333333333333333,0.16666666666666666,0.6666666666666666,0.5,0.16666666666666666,0.9999999999999999,0.8333333333333333,0.3333333333333333,0.5,0.16666666666666666,0.5,0.5,0.5,0.5,0.16666666666666666,0.5,0.16666666666666666,0.16666666666666666,0.5,0.5,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.6666666666666666,0.3333333333333333,0.16666666666666666,0.16666666666666666]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4155\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4156\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4160\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4157\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4158\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4118\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4131\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4132\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4138\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4137\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4139\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4140\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4141\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4162\",\"attributes\":{\"renderers\":[{\"id\":\"p4154\"},{\"id\":\"p4147\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
status:@status
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4126\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4127\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4128\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4129\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4121\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4122\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4123\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4124\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4125\",\"attributes\":{\"axis\":{\"id\":\"p4121\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4130\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4126\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"ebafdb53-8cb8-4ac7-b8ab-2021584268dd\",\"roots\":{\"p4110\":\"bad371ca-0b3d-4239-b1e5-bd3714c36bea\"},\"root_ids\":[\"p4110\"],\"notebook_comms_target\":\"p4163\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p4110" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"b5218219-18ec-4720-ba42-bd8a524fab21\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4214\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4215\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4216\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4223\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4224\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4221\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4246\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4263\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[938,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"57OgjkIfu7+e7MURZXvXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[939,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k+NgFFgys7+BbLBql7LYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[940,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"n9k/ebWJwT9FmohnzITiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[941,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kJ49zs5LwT+W7xU2qyfhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[942,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5IEgTl7Hsb8wiDApCVLXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[943,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ooVyNoEFvT8TGCpEQSfiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[944,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GVf6mctCvD+WJa81e3vBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[945,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MtM2gOQeub+RbsA20fHYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[946,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QrNIvoOvvD/L5O7pCWXhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[947,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Y1OllQHXtr+qNFvV/qTWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[948,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"y0mdRerSsj/n3LdNawDCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[949,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Mg67jE/iqT/J9OpxTl3mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[950,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sp+ivSai1r/UgOj1Jf6Yvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[951,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GoYfpgfZ179JW0X4ycKGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[952,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Q50FdouE6z/IrAgi5Y/hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[953,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vayWPHpOoj/MnHCU/GHnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[954,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GBrUhBxc4L/3JjxzIk7LPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[955,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uK9zqXiJnz+IETAHx3/mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[956,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lUjXl8X+3z+ti8ZsEkCKvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[957,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dX51+kUX4L/VOWoHuSXQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[958,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VOno9Ud8tz/keA+C16bCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[959,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"awhv0kIU3z95YRtAOtqmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[960,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YC8m81IRoj+fiycv1tHAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[961,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dAtCbKB5tD+HUNakctm9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[962,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z3DeMsgU37+EtLC1ADPNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[963,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZxjIkDog3j/oW3bDjz+evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[964,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FEuknhrM4L8UlHoZSz/OPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[965,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+alrkjS0eD+AsWUxHqjCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[966,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Gqdo8pke4L9nfdL/RLrNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[967,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"78lJLnI71r+0FX4TkOmCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[968,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ImhxZ3gTwz/+6x9cEb3hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[969,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oy+fANYW4D+MT5178EChvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[970,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kfKiuJam3j+Wta5bx3+Evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[971,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i3JauTVqqj+wuZzwtHPDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[972,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r+rEts4yoT9AXJX9pf3FPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[973,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F136MGxwkD8ng2lOqwDmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[974,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pX0FC2YOgz91HGOm7vbmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[975,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o8TDCHbBlT+50bwK0c7DPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[976,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mDSOyeFruj82KJk7d2e9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[977,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A4fy2AA2iD8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[978,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"O9bBM/V21b9f7DBr4gegvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[979,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Vv+LOoYi1b9KgpV3JjJ2vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4251\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4248\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4249\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4250\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\"]],[\"index\",[938,939,940,941,942,943,944,945,946,947,948,949,950,951,952,953,954,955,956,957,958,959,960,961,962,963,964,965,966,967,968,969,970,971,972,973,974,975,976,977,978,979]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4252\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4253\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4265\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4258\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4255\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4256\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4257\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[5,5,5,5,5,5,5,4,4,4,4,4,4,4,5,5,4,4,5,5,5,5,5,4,5,5,5,4,4,4,4,4,4,4,4,4,4,4,4,4,4,6,6,6,6,4,4,6,6,6,6,6,6,6,5,5,6,6,6,4,4,4,4,5,6,6,6,6,6,4,4,4,4,4,6,4,4,4,4,4]],[\"start\",[938,938,938,938,939,939,939,940,940,940,940,941,941,941,942,942,943,943,944,944,944,944,945,946,948,948,948,949,949,949,949,950,950,950,950,951,951,951,953,953,953,954,954,954,954,955,955,956,956,956,956,957,957,957,958,958,959,959,959,960,960,960,960,961,962,962,963,963,964,965,965,965,967,967,969,971,971,972,973,978]],[\"end\",[939,942,945,947,942,945,947,968,941,943,946,968,943,946,945,947,968,946,961,976,948,958,947,968,961,976,958,973,974,953,955,967,978,979,951,967,978,979,973,974,955,962,964,966,957,973,974,963,969,970,959,962,964,966,961,976,963,969,970,965,971,972,975,976,964,966,969,970,966,971,972,975,978,979,970,972,975,975,974,979]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.6666666666666666,0.6666666666666666,0.3333333333333333,0.3333333333333333,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.3333333333333333,0.6666666666666666,0.6666666666666666,0.6666666666666666,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,1.0,1.0,1.0,1.0,0.3333333333333333,0.3333333333333333,1.0,1.0,1.0,1.0,1.0,1.0,1.0,0.6666666666666666,0.6666666666666666,1.0,1.0,1.0,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.6666666666666666,1.0,1.0,1.0,1.0,1.0,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,1.0,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333,0.3333333333333333]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4259\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4260\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4264\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4261\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4262\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4222\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4235\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4236\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4242\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4241\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4243\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4244\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4245\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4266\",\"attributes\":{\"renderers\":[{\"id\":\"p4258\"},{\"id\":\"p4251\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4230\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4231\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4232\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4233\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4225\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4226\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4227\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4228\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4229\",\"attributes\":{\"axis\":{\"id\":\"p4225\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4234\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4230\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"b5218219-18ec-4720-ba42-bd8a524fab21\",\"roots\":{\"p4214\":\"cd717ea5-11a1-436e-9b2d-870dac632bf2\"},\"root_ids\":[\"p4214\"],\"notebook_comms_target\":\"p4267\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p4214" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[ClassRoom], clear=True)\n", "inspector.plot_networks(actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## More than one location\n", "\n", "The melting of locations combines different locations into one location, but does not create multiple different location classes.\n", "If we want to generate multiple different location types, we have to simply feed more than one location class into the `Creator`.\n", "\n", "In the following, we introduce a `School` as a second type of location.\n", "(In order to keep the code clean, we skip the melting of locations temporarely.)" ] }, { "cell_type": "code", "execution_count": 45, "metadata": {}, "outputs": [], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", " def weight(self, actor):\n", " return actor.hours\n", "\n", "\n", "class School(p2n.LocationDesigner):\n", " n_locations = 2" ] }, { "cell_type": "code", "execution_count": 46, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"d12d2ec3-671d-4e0c-b15a-db628458a315\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4310\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4311\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4312\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4319\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4320\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4317\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4342\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4359\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[988,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hsqHTAzrzb+3Sl2qxHHbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[989,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UL81Rg7a6L9y3x1f2sPhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[990,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/Mw7IDZ20L9fq4thEhx9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[991,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v4hE7VTQyL9dK0DOYdizvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[992,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DsYl9LbK0b/5NDHUpxXgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[993,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Po/Q4ipwxr8LKBR39A6pPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[994,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ApGm8Pzs3r+HshmUSavTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[995,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VS3Ka2Gjvr9MQzUI4OzYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[996,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h7M1bMPt4797EzP52WXjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[997,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JtI/1cHP079FcxL6lW7iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[998,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5+AjVRRm4r/aWlGSd07Wvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[999,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HQS6YLDf4b8IzA+jo7zHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1000,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hR+BVpP/77/GJmsu/8rQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1001,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FgI3HLuB4r/6aJGLW6LbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1002,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8L+9LIWQ0BPAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1003,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h71YB9ZK7D8+rS2greOwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1004,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ra7FwQjb1z8uvwqiqxLUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1005,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"niMSCGS7s7/DGBeKmE/Svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1006,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5O+kgMF+5z9qPoJ1fTKsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1007,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"olrwLYTr7D9JSxZFcT+uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1008,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nJKDhj/3ur/GE7HHz33cvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1009,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LruACvG76z8lUAqIx8zZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1010,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4zsJbo8d4T/OvGychtzgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1011,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Cj4SKnK16D8v1H1k2SPBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1012,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fIllDl9l4T8RRQi74k/WPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1013,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qfeG/u7N6j9/gF33dPXUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1014,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tZYgwbmv4j+TpC6iYFvRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1015,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MdLoZGz23j+2e1Y1gT3jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1016,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"StrypCv13T9szA2aMVXQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1017,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6D0rzocDw7+hKf60kcXIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1018,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/1CM6QmSwz+u5sOCK2DEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1019,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DrmaEBW17j+fZg9ZQWjNvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1020,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0p/PkJvf6z9Gr3NFkprPvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1021,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CcN3g40O5D9uETJPzlrgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1022,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o+sUsh0L5j+YRnol0F3ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1023,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4dE51NJ8vb+l01PHLZnLvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1024,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WOUkMVmd4L/Vw2W4Ad6+vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1025,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uDMWFS517b/n+IwIC0baPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1026,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DqnyjpGZ4L+59lLPm3bYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1027,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8SOR2CfD7r+tpocvkoJ/vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1028,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DMLEKdLt5L+hvYqiitvXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1029,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RUkaJT035b8UJB3Eiw/SPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1030,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rptczI1+2L+57wafyhzcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1031,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WCPGo5E7w7/vuQ3s397gPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1032,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yCv4vREs4z9NVk7mY+/kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1033,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1xXK2t/fq7+J5n/7qXSzvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1034,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ze7MjL8N3r+JYC6ng/LTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1035,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"t5TQLmt81b864uVLgiLNvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1036,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YQOOc3eh7j/Tty2MQ2PVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1037,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2WFT9D2M3j/MsyQRaXLYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1038,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r2WsFPqf4b9vEN+rTxTEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1039,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DYw83uwQ3j/LYAPmMGrCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4347\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4344\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4345\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4346\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"School\",\"School\"]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1]],[\"index\",[988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029,1030,1031,1032,1033,1034,1035,1036,1037,1038,1039]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4348\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4349\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4361\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4354\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4351\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4352\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4353\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[5,1,1,4,1,4,1,5,1,4,1,5,1,5,1,1,5,1,5,1,4,1,1,4,1,1,1,6,1,4,1,1,1,5,1,6,1,4,1,1,6,1,6,1,6,1,4,1,6,1,4,1,4,1,6,1,6,1,4,1,4,1,4,1,4,1,1,5,1,1,4,1,4,1]],[\"start\",[988,988,989,990,990,991,991,992,992,993,993,994,994,995,995,996,997,997,998,998,999,999,1000,1001,1001,1002,1003,1004,1004,1005,1005,1006,1007,1008,1008,1009,1009,1010,1010,1011,1012,1012,1013,1013,1014,1014,1015,1015,1016,1016,1017,1017,1018,1018,1019,1019,1020,1020,1021,1021,1022,1022,1023,1023,1024,1024,1025,1026,1026,1027,1028,1028,1029,1029]],[\"end\",[1031,1038,1038,1033,1038,1033,1038,1031,1038,1033,1038,1030,1038,1031,1038,1038,1031,1038,1030,1038,1035,1038,1038,1034,1038,1038,1039,1037,1039,1035,1039,1039,1039,1030,1039,1036,1039,1032,1039,1039,1037,1039,1036,1039,1037,1039,1032,1039,1037,1039,1034,1039,1033,1039,1036,1039,1036,1039,1032,1039,1032,1039,1035,1039,1035,1038,1038,1030,1038,1038,1034,1038,1034,1038]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.75,0.25,0.25,0.5,0.25,0.5,0.25,0.75,0.25,0.5,0.25,0.75,0.25,0.75,0.25,0.25,0.75,0.25,0.75,0.25,0.5,0.25,0.25,0.5,0.25,0.25,0.25,1.0,0.25,0.5,0.25,0.25,0.25,0.75,0.25,1.0,0.25,0.5,0.25,0.25,1.0,0.25,1.0,0.25,1.0,0.25,0.5,0.25,1.0,0.25,0.5,0.25,0.5,0.25,1.0,0.25,1.0,0.25,0.5,0.25,0.5,0.25,0.5,0.25,0.5,0.25,0.25,0.75,0.25,0.25,0.5,0.25,0.5,0.25]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4355\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4356\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4360\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4357\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4358\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4318\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4331\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4332\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4338\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4337\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4339\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4340\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4341\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4362\",\"attributes\":{\"renderers\":[{\"id\":\"p4354\"},{\"id\":\"p4347\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4326\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4327\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4328\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4329\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4321\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4322\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4323\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4324\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4325\",\"attributes\":{\"axis\":{\"id\":\"p4321\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4330\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4326\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"d12d2ec3-671d-4e0c-b15a-db628458a315\",\"roots\":{\"p4310\":\"dc59de86-9882-4b7b-a722-914f0994228d\"},\"root_ids\":[\"p4310\"],\"notebook_comms_target\":\"p4363\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p4310" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"03424c1c-faa8-4642-975f-ab1830000e27\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4416\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4417\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4418\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4425\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4426\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4423\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4448\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4465\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[988,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DOu/bOGC1r+MfOqwcSjoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[989,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PA1jDns7zD/yrSdD3IjqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[990,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Qc2C9Xj/yz/dsfahGpbiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[991,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VX39lrKoyj/fKRlP43nePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[992,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KITL4ekAyL9crZx8LZbpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[993,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"V93axJAGuD+ByN6bpPLgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[994,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ry3+vK8Mzb+Dot5yufPXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[995,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l+SJjB1i1r+ymp1qN7PrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[996,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CSy/+meSuD+wJjI3iSvqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[997,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A0briYNKz7/kk34rdQftPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[998,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uomR6ROg1r+KVyATIwHgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[999,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ExLBVyEIuz+laWoPCrTSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1000,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qVFlX0p4m7+QlXDuWmfvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1001,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ra/cN37C0b8SetkzI6nbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1002,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WuqFWiXnw78AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1003,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e/Efl6w80z8usSjBXNDpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1004,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iuns8g4nvL9ZPB5jYwrnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1005,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XJ136Ilsqz+ps5tdC0HWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1006,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3WGFEHNp0z9QHVgVin3ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1007,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/BXu8E+V2T/x0v//9o3pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1008,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hLCD5BgYxL/1fPgguBfGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1009,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BYecTuAOu789tRhopFvuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1010,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ti8UOfOTxj+KtfRuZdzkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1011,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W6lG8fee2T9Ua9klKgnlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1012,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mTl/jU3jzb8XBZRCyv3nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1013,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RBAhe2qzu7+nmMqLuuXqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1014,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LI9plyXAr78BgIJc44vjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1015,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"B3LE2XVqsj8UAeZG6yzovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1016,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"trRrMnkKyr816pPMsAHkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1017,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ildw2etdo79cDK8e8LbKvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1018,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"U/QPLrjgxz+rfNbGtRfEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1019,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4yGFREMAsj/5cQYjKajtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1020,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uQ9drF1JZ79yRMwYa5Xvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1021,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nLQN0gJjzD8NYly+QqTtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1022,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KIlttBwFxz+tXor9aLvpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1023,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SszvpsJrxj/9UVnHBTjVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1024,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CVRl43Srdr/H7eNy4r/QPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1025,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WXQk2C4hor9QRyPFJa/pPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1026,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"occcaWw/yr9+O5mTdKLgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1027,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iMzmfLRduz8tUlpmiFjuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1028,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uPSfQYh5rr8Wj4cEEovgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1029,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QLA7y57xtr/J4UQHwH7aPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4453\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4450\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4451\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4452\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[988,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1003,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1025,1026,1027,1028,1029]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4454\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4455\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4467\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4460\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4457\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4458\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4459\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,6,1,1,6,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,5,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,6,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,6,1,1,1,1,1,1,6,1,1,1,1,5,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,1,1,1,5,5,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,7,1,7,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,7,7,1,1,1,1,1,1,1,5,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,7,1,1,1,1,1,1,1,1,1,1,1,1,7,7,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,5,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5]],[\"start\",[988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,988,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,989,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,990,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,991,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,992,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,993,994,994,994,994,994,994,994,994,994,994,994,994,994,994,994,995,995,995,995,995,995,995,995,995,995,995,995,995,996,996,996,996,996,996,996,996,996,996,996,996,997,997,997,997,997,997,997,997,997,997,997,998,998,998,998,998,998,998,998,998,998,998,999,999,999,999,999,999,999,999,999,999,999,1000,1000,1000,1000,1000,1000,1000,1000,1001,1001,1001,1001,1001,1001,1001,1001,1002,1002,1002,1002,1002,1002,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1003,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1004,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1005,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1006,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1007,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1008,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1009,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1010,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1011,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1012,1013,1013,1013,1013,1013,1013,1013,1013,1013,1013,1014,1014,1014,1014,1014,1014,1014,1014,1014,1015,1015,1015,1015,1015,1015,1015,1015,1016,1016,1016,1016,1016,1016,1016,1017,1017,1017,1017,1017,1017,1017,1017,1018,1018,1018,1018,1018,1019,1019,1019,1019,1020,1020,1020,1021,1021,1022,1023,1024,1024,1024,1024,1024,1025,1025,1025,1025,1026,1026,1026,1027,1027,1028]],[\"end\",[1024,1025,1026,1027,1028,1029,989,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1024,1025,1026,1027,1028,1029,990,991,992,993,994,995,996,997,998,999,1000,1001,1002,1024,1025,1026,1027,1028,1029,991,992,993,994,995,996,997,998,999,1000,1001,1002,1018,1024,1025,1026,1027,1028,1029,992,993,994,995,996,997,998,999,1000,1001,1002,1018,1024,1025,1026,1027,1028,1029,993,994,995,996,997,998,999,1000,1001,1002,1024,1025,1026,1027,1028,1029,994,995,996,997,998,999,1000,1001,1002,1018,1024,1025,1026,1027,1028,1029,995,996,997,998,999,1000,1001,1002,1008,1024,1025,1026,1027,1028,1029,996,997,998,999,1000,1001,1002,1024,1025,1026,1027,1028,1029,997,998,999,1000,1001,1002,1024,1025,1026,1027,1028,1029,998,999,1000,1001,1002,1024,1025,1026,1027,1028,1029,999,1000,1001,1002,1008,1024,1025,1026,1027,1028,1029,1000,1001,1002,1005,1023,1024,1025,1026,1027,1028,1029,1001,1002,1024,1025,1026,1027,1028,1029,1002,1017,1024,1025,1026,1027,1028,1029,1004,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1005,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1024,1006,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1007,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1008,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1026,1009,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1010,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1011,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1012,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1013,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1014,1015,1016,1017,1018,1019,1020,1021,1022,1023,1015,1016,1017,1018,1019,1020,1021,1022,1023,1016,1017,1018,1019,1020,1021,1022,1023,1017,1018,1019,1020,1021,1022,1023,1028,1029,1018,1019,1020,1021,1022,1023,1019,1020,1021,1022,1023,1020,1021,1022,1023,1021,1022,1023,1022,1023,1023,1024,1025,1026,1027,1028,1029,1026,1027,1028,1029,1027,1028,1029,1028,1029,1029]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.8,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.6000000000000001,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1.0,0.2,1.0,0.2,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1.0,0.2,0.2,0.2,0.2,0.2,1.0,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1.0,0.2,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1.0,1.0,0.2,0.2,0.2,0.2,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4461\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4462\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4466\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4463\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4464\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4424\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4437\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4438\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4444\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4443\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4445\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4446\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4447\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4468\",\"attributes\":{\"renderers\":[{\"id\":\"p4460\"},{\"id\":\"p4453\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4432\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4433\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4434\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4435\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4427\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4428\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4429\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4430\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4431\",\"attributes\":{\"axis\":{\"id\":\"p4427\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4436\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4432\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"03424c1c-faa8-4642-975f-ab1830000e27\",\"roots\":{\"p4416\":\"a4b272f6-59d8-4a90-9b54-518c9167847a\"},\"root_ids\":[\"p4416\"],\"notebook_comms_target\":\"p4469\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p4416" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[ClassRoom, School], clear=True)\n", "inspector.plot_networks(location_color=\"label\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Nesting locations\n", "The plot above shows two big clusters.\n", "Each of those clusters represents one school.\n", "The plot above also shows something unrealistic: The schools are connected because members of one class are not always in the same school.\n", "\n", "### Nesting locations using `stick_together()`\n", "We can use the `School`-method `stick_together()` to fix this issue.\n", "This works because whenever an actor is assigned to a location instance, the actor gets a new attribute named after the location class.\n", "This new attribute is set to a location instance identifier value." ] }, { "cell_type": "code", "execution_count": 47, "metadata": {}, "outputs": [], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", " def weight(self, actor):\n", " return actor.hours\n", "\n", "\n", "class School(p2n.LocationDesigner):\n", " n_locations = 2\n", "\n", " def stick_together(self, actor):\n", " return actor.ClassRoom" ] }, { "cell_type": "code", "execution_count": 48, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"d0a85bbd-92bf-4c6e-be8e-b0e236e1627c\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4512\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4513\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4514\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4521\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4522\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4519\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4544\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4561\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1040,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+bZE92F52z8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1041,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MIB9Tbmt2j8rGGNXra/iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1042,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b840GyIK5T+F6VCmbjPvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1043,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ivEhw6qG5T8ZmKICc4PrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1044,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TOWL2XEN2z8B5l62S/TtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1045,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OOIY+B8R5D8kKf1rUXPtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1046,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3FTZp3+J479KNSELGSPgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1047,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k3ohMUhm1z9IAzZULt3sPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1048,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1qvrM9qF5b99TNz73evkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1049,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l8eb3FHL0z93qRhPae/tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1050,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jUylUK+l4L9sJhw8adXbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1051,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UGLGobz11L9/hx8lV0vjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1052,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1UX8Bswm6T9cXbqFBiPoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1053,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+7v206WQ6L/uBbIch0zsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1054,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aoN5zthI6T/K+Txp1rTkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1055,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k+sG1dIg4r/hu1NS3DPvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1056,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UBwA8tvy079f/JXZRknrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1057,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+edyixpk07/BIKwOQmThvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1058,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"U8I1kjaD5j98GXpLTlnlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1059,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bIdzzM4w37/t1zqD3drvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1060,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xh5zQvt/4b9m+2LGeiDfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1061,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nz5NdDJt5T/yk6zVxI3dPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1062,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tHHDZN30yz+QW3FCwGHoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1063,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"scTotcMu4z9zLAFLKMPjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1064,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"erbZFmMK0L9vmYSjfJrrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1065,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SZZaKtXV4T8KTECu10bePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1066,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"L6IacABj1r82ri41MADtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1067,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"K03ZxzJC0T9g9piab0rnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1068,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rHDyMO031b8mVLSWi+Duvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1069,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8guTYQaf5r+CveCiJJvrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1070,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9WqLo4bJ5z8qN+6UEUjrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1071,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z/2fR6fb4D9XYN0sbzXbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1072,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uxATtR7W4z8jslvd8S/fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1073,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hYfvZC4n0T8vVjwvTCflPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1074,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PtAvFXdazz9Kqv+VhHjjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1075,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+rTbFCgp079xU1By20zlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1076,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OxqEQHYazr/WNg2S0LHlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1077,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YYRELdOr5L89jUwRkW7vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1078,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zVMsk0M95b+sYstx8Hfevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1079,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bLxbCMr16L9f78cnT2/kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1080,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TS2JBWqw5r/u0GPqojfpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1081,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LkUfmrnb6L+HccVKT7Pnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1082,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"n6eXkmUt47+o83twqqfavw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1083,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"diewhj911j/OjYsVY4TvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1084,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e/TwaEMwxz/iQ0VY56PlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1085,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EMpcfLfi5j9pco2aaK7tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1086,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zKlmVvEp6b/HFmmQBxLqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1087,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/mpnSLDLzb8D1/gcE+zivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1088,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SGElamxa4z89AZvR9wnaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1089,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qXxYQ4Am0b9QFX8mbH/tvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1090,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R5dD7Fk04D+od71vqOLmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1091,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dvAqAwI74L/mD93YRTXnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4549\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4546\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4547\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4548\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"School\",\"School\"]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1]],[\"index\",[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081,1082,1083,1084,1085,1086,1087,1088,1089,1090,1091]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4550\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4551\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4563\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4556\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4553\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4554\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4555\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[5,1,1,4,1,4,1,5,1,4,1,5,1,5,1,1,5,1,5,1,4,1,1,4,1,1,1,6,1,4,1,1,1,5,1,6,1,4,1,1,6,1,6,1,6,1,4,1,6,1,4,1,4,1,6,1,6,1,4,1,4,1,4,1,4,1,1,5,1,1,4,1,4,1]],[\"start\",[1040,1040,1041,1042,1042,1043,1043,1044,1044,1045,1045,1046,1046,1047,1047,1048,1049,1049,1050,1050,1051,1051,1052,1053,1053,1054,1055,1056,1056,1057,1057,1058,1059,1060,1060,1061,1061,1062,1062,1063,1064,1064,1065,1065,1066,1066,1067,1067,1068,1068,1069,1069,1070,1070,1071,1071,1072,1072,1073,1073,1074,1074,1075,1075,1076,1076,1077,1078,1078,1079,1080,1080,1081,1081]],[\"end\",[1083,1090,1090,1085,1090,1085,1090,1083,1090,1085,1090,1082,1091,1083,1090,1091,1083,1090,1082,1091,1087,1091,1090,1086,1091,1090,1091,1089,1091,1087,1091,1090,1091,1082,1091,1088,1090,1084,1090,1090,1089,1091,1088,1090,1089,1091,1084,1090,1089,1091,1086,1091,1085,1090,1088,1090,1088,1090,1084,1090,1084,1090,1087,1091,1087,1091,1091,1082,1091,1091,1086,1091,1086,1091]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.75,0.25,0.25,0.5,0.25,0.5,0.25,0.75,0.25,0.5,0.25,0.75,0.25,0.75,0.25,0.25,0.75,0.25,0.75,0.25,0.5,0.25,0.25,0.5,0.25,0.25,0.25,1.0,0.25,0.5,0.25,0.25,0.25,0.75,0.25,1.0,0.25,0.5,0.25,0.25,1.0,0.25,1.0,0.25,1.0,0.25,0.5,0.25,1.0,0.25,0.5,0.25,0.5,0.25,1.0,0.25,1.0,0.25,0.5,0.25,0.5,0.25,0.5,0.25,0.5,0.25,0.25,0.75,0.25,0.25,0.5,0.25,0.5,0.25]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4557\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4558\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4562\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4559\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4560\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4520\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4533\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4534\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4540\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4539\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4541\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4542\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4543\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4564\",\"attributes\":{\"renderers\":[{\"id\":\"p4556\"},{\"id\":\"p4549\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4528\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4529\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4530\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4531\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4523\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4524\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4525\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4526\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4527\",\"attributes\":{\"axis\":{\"id\":\"p4523\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4532\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4528\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"d0a85bbd-92bf-4c6e-be8e-b0e236e1627c\",\"roots\":{\"p4512\":\"bede320a-f283-417f-95ac-cbb423fbdeda\"},\"root_ids\":[\"p4512\"],\"notebook_comms_target\":\"p4565\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p4512" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"97bdc9a6-d325-4a40-ab3e-86b0d844c9b5\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4618\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4619\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4620\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4627\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4628\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4625\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4650\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4667\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1040,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lQX+ZVYq3D/EEgUCcZfovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1041,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2PeCUCx44T/////////vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1042,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Uq2B0que5D9ILOnApzDmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1043,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2jL8vJWs5D/2tX0RLaLovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1044,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5E1EKxs62D8yMj5NUgjpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1045,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hL+36os75j+SLxyPxJDqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1046,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lZMibnIo3L8rUqeiWuLpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1047,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VxsO0ISO3T9m+XkuEO7lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1048,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3KeYsr1j479b3z+7HV3sPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1049,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SIe0MUiE2T/iyd5SR5Dmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1050,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DRIECpbw2L8IOSxETPLnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1051,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tXeZkaS44b/hD4S5RerkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1052,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1QFN0Zpl5T8lFpqPvvfsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1053,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XG17p1Av5r9r3/Z1Dy7oPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1054,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2euaxk964T8Xh7RLrJDtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1055,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yYOMp+dS5L/B1pyNYwDmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1056,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"67ysmuT33L8Xdejj/9vuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1057,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nA3QlXDo3b+9ielbxyHnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1058,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"If29cuXF4z8blFmPPaLuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1059,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/rFCXo/j4b8+oXFM8tTvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1060,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uaQH1EV8178DDRKps/HpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1061,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zrEk3LB/3D+WWcv/+ebrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1062,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UaNwU6h/4j/Z1daGUJXnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1063,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dIQgf7GH4T/kpmn7csrkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1064,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"f+lbiWze278Xt2IZPO7sPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1065,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tqUJDjoh2j+ksI5uOxfuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1066,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Vwg/Bl6W4L/YtMvTZCvuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1067,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SsMIgxCZ4D8/FaUt5Szovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1068,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4zkH7dMo4L+aq+ev+hrsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1069,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YQfhCNnC5b9ibqWsmvLrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1070,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"n4XcYASO5j9+JirqrkPovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1071,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WJOJO75z2D8aDVxp2TLsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1072,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dG3zWqHb3T9D28V7QG3uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1073,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZddMqUNC4z8bc/aDyfPqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1074,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k51AwF4G4T8oE+S+J7nqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1075,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uZKf4axK4b+3aBx1SeTmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1076,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3WMBJ4Wq3r9PxcSDsj/lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1077,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XOI4RwDY4b+sgveombbpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1078,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZQ09AK0x2L8j2O4I7e/rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1079,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"StgQzqB15L/QybIX1rHuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1080,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ROMTrkhl5r+COnI28iPqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1081,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m5r21bI15L8ejAT2iPHoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4655\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4652\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4653\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4654\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[1040,1041,1042,1043,1044,1045,1046,1047,1048,1049,1050,1051,1052,1053,1054,1055,1056,1057,1058,1059,1060,1061,1062,1063,1064,1065,1066,1067,1068,1069,1070,1071,1072,1073,1074,1075,1076,1077,1078,1079,1080,1081]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4656\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4657\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4669\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4662\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4659\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4660\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4661\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,6,1,6,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,5,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,6,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,6,1,1,1,1,1,1,6,1,1,1,1,1,1,1,6,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,6,1,1,1,1,1,1,5,1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,7,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,7,1,1,7,7,1,1,1,1,5,1,1,1,5,5,1,1,1,1,1,1,1,7,7,1,1,1,1,1,1,1,1,1,1,7,7,1,1,7,1,1,1,1,1,1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,1,1,1,1,7,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5]],[\"start\",[1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1040,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1041,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1042,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1043,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1044,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1045,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1046,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1047,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1048,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1049,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1050,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1051,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1052,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1053,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1054,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1055,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1056,1057,1057,1057,1057,1057,1057,1057,1057,1057,1057,1057,1057,1057,1058,1058,1058,1058,1058,1058,1058,1058,1058,1058,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1059,1060,1060,1060,1060,1060,1060,1060,1060,1060,1060,1060,1061,1061,1061,1061,1061,1061,1061,1061,1061,1062,1062,1062,1062,1062,1062,1062,1062,1063,1063,1063,1063,1063,1063,1063,1064,1064,1064,1064,1064,1064,1064,1064,1064,1064,1065,1065,1065,1065,1065,1065,1066,1066,1066,1066,1066,1066,1066,1066,1066,1067,1067,1067,1067,1067,1068,1068,1068,1068,1068,1068,1068,1068,1069,1069,1069,1069,1069,1069,1069,1070,1070,1070,1070,1071,1071,1071,1072,1072,1073,1075,1075,1075,1075,1075,1075,1076,1076,1076,1076,1076,1077,1077,1077,1077,1078,1078,1078,1079,1079,1080]],[\"end\",[1041,1042,1043,1044,1045,1047,1049,1052,1054,1058,1061,1062,1063,1065,1067,1070,1071,1072,1073,1074,1042,1043,1044,1045,1047,1049,1052,1054,1058,1061,1062,1063,1065,1067,1070,1071,1072,1073,1074,1043,1044,1045,1047,1049,1052,1054,1058,1061,1062,1063,1065,1067,1070,1071,1072,1073,1074,1044,1045,1047,1049,1052,1054,1058,1061,1062,1063,1065,1067,1070,1071,1072,1073,1074,1045,1047,1049,1052,1054,1058,1061,1062,1063,1065,1067,1070,1071,1072,1073,1074,1047,1049,1052,1054,1058,1061,1062,1063,1065,1067,1070,1071,1072,1073,1074,1048,1050,1051,1053,1055,1056,1057,1059,1060,1064,1066,1068,1069,1075,1076,1077,1078,1079,1080,1081,1049,1052,1054,1058,1061,1062,1063,1065,1067,1070,1071,1072,1073,1074,1050,1051,1053,1055,1056,1057,1059,1060,1064,1066,1068,1069,1075,1076,1077,1078,1079,1080,1081,1052,1054,1058,1061,1062,1063,1065,1067,1070,1071,1072,1073,1074,1051,1053,1055,1056,1057,1059,1060,1064,1066,1068,1069,1075,1076,1077,1078,1079,1080,1081,1053,1055,1056,1057,1059,1060,1064,1066,1068,1069,1075,1076,1077,1078,1079,1080,1081,1054,1058,1061,1062,1063,1065,1067,1070,1071,1072,1073,1074,1055,1056,1057,1059,1060,1064,1066,1068,1069,1075,1076,1077,1078,1079,1080,1081,1058,1061,1062,1063,1065,1067,1070,1071,1072,1073,1074,1056,1057,1059,1060,1064,1066,1068,1069,1075,1076,1077,1078,1079,1080,1081,1057,1059,1060,1064,1066,1068,1069,1075,1076,1077,1078,1079,1080,1081,1059,1060,1064,1066,1068,1069,1075,1076,1077,1078,1079,1080,1081,1061,1062,1063,1065,1067,1070,1071,1072,1073,1074,1060,1064,1066,1068,1069,1075,1076,1077,1078,1079,1080,1081,1064,1066,1068,1069,1075,1076,1077,1078,1079,1080,1081,1062,1063,1065,1067,1070,1071,1072,1073,1074,1063,1065,1067,1070,1071,1072,1073,1074,1065,1067,1070,1071,1072,1073,1074,1066,1068,1069,1075,1076,1077,1078,1079,1080,1081,1067,1070,1071,1072,1073,1074,1068,1069,1075,1076,1077,1078,1079,1080,1081,1070,1071,1072,1073,1074,1069,1075,1076,1077,1078,1079,1080,1081,1075,1076,1077,1078,1079,1080,1081,1071,1072,1073,1074,1072,1073,1074,1073,1074,1074,1076,1077,1078,1079,1080,1081,1077,1078,1079,1080,1081,1078,1079,1080,1081,1079,1080,1081,1080,1081,1081]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.25,0.25,0.25,0.75,0.25,0.75,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.75,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.25,1.0,1.0,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4663\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4664\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4668\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4665\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4666\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4626\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4639\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4640\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4646\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4645\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4647\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4648\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4649\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4670\",\"attributes\":{\"renderers\":[{\"id\":\"p4662\"},{\"id\":\"p4655\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4634\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4635\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4636\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4637\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4629\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4630\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4631\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4632\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4633\",\"attributes\":{\"axis\":{\"id\":\"p4629\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4638\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4634\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"97bdc9a6-d325-4a40-ab3e-86b0d844c9b5\",\"roots\":{\"p4618\":\"d24dda7d-a596-4e88-8183-07427a705b46\"},\"root_ids\":[\"p4618\"],\"notebook_comms_target\":\"p4671\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p4618" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[ClassRoom, School], clear=True)\n", "inspector.plot_networks(location_color=\"label\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note that it is very important that the actors get assigned to classrooms before getting assigned to schools.\n", "This means that the order of the creation of the locations is important and, hence, the order of the location classes given to the `location_designers` argument.\n", "\n", "If we build schools before classrooms, the above method does not work the way intended:" ] }, { "cell_type": "code", "execution_count": 49, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"67909bb2-55b8-4ca8-93a1-6b4e9f6d8c2e\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4714\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4715\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4716\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4723\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4724\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4721\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4746\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4763\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1092,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/LfWIwOu2L9qIuCfBmLVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1093,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vzFlNSTU5r9F8+hI4tfpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1094,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LxYa+GBo7b876vXX+VjGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1095,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CiotyPIZ3r8b0/B4mxSfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1096,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZUtFKl4asL/iSwt8zIfhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1097,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"faypKivY7L+2n8kCwmzSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1098,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qVVQ1crppD/6N15OjcDtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1099,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uq5HNv3+3r/WwZ1wx3jXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1100,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EC2RHizn7z97iyCUqJHePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1101,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HefW3jqPoL+GIYeHFFvkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1102,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GpIL9XO31b/ejgVUkgnjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1103,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OsUv9Ao80b8bwbaKptWePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1104,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D/q+EmPj4jCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1105,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z7E1IsPi6j/zoEOmaefWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1106,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3e0CjMT74b/1NeDcF9bsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1107,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jAWiFpFH7r+tOGPpnLORvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1108,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5xAaUwBigL+R9nCqQTTXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1109,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GVocbzZ7tT9aXM2U76XVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1110,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zM0Fvjzo5j+Ii5UWGRnpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1111,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z/5DS00B4j8VRwsjCE/rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1112,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TsjZSPDwvj8rf6BNH3/rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1113,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ts7nGyG01j+IbmRL4bLSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1114,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m9mqyawk0D9zTb2kg7/lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1115,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"irnoo6oU7r8wf6eAfUrivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1116,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CrZHu+oVrr+tefaus97Svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1117,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xYQVujFd3D/ZyDPeZqHTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1118,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H1R7PQ8J17+aV6WBy9zkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1119,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cWrE/NDf5D95mfe/XX7Yvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1120,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"46A/8X340L9RzSgk7zvnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1121,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0TsaFTtb5z8IaGinztnbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1122,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M77nKldk6b+7J7i4ui3Vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1123,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LZlX7O3t0T8OqGx4+wXPvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1124,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M71J33jYsj8QB5vfaWXjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1125,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rM3kUvBv1j/zaVUXt1Thvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1126,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DGtuuI3XzT9+cQCL663ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1127,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lpB+swSn1b9olj38hrvAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1128,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KtNcMkfMwb+L6s4Tii17Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1129,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"I9JSNA5x6z/gIgXmvxbmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1130,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dRNvRsqEhT8nAYvFOQrqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1131,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+KwOp76C6r/hvfFJtmTmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1132,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Vx2ivFb12D/YjwoHIKeqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1133,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SMDaFKJG6z+4Ic91QuLKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1134,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SZe+VyVd1z+ntFPtGZDSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1135,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kG4sf2zw1r8tN+YVctLSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1136,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pny5JVVzwb9MWvbVU3nrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1137,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+G/fSVLt0L/kianJDsngPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1138,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Qep7/OeY3z9/dp7Tj+vkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1139,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Xo5W/Tug6L+9nUlP4qjBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1140,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w+oUzRMb5j/s35CixVrOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1141,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w1Y6P1/nv7/8N713szrIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1142,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"71nN3xqs0D83RNgPbu/cvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1143,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3kZ3pwgnx7+h72zs9S7hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4751\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4748\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4749\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4750\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"School\",\"School\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1]],[\"index\",[1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133,1134,1135,1136,1137,1138,1139,1140,1141,1142,1143]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4752\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4753\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4765\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4758\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4755\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4756\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4757\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,5,1,1,4,1,4,1,5,1,4,1,5,1,5,1,1,5,1,5,1,4,1,1,4,1,1,1,6,1,4,1,1,1,5,1,6,1,4,1,1,6,1,6,1,6,1,4,1,6,1,4,1,4,1,6,1,6,1,4,1,4,1,4,1,4,1,1,5,1,1,4,1,4]],[\"start\",[1092,1092,1093,1094,1094,1095,1095,1096,1096,1097,1097,1098,1098,1099,1099,1100,1101,1101,1102,1102,1103,1103,1104,1105,1105,1106,1107,1108,1108,1109,1109,1110,1111,1112,1112,1113,1113,1114,1114,1115,1116,1116,1117,1117,1118,1118,1119,1119,1120,1120,1121,1121,1122,1122,1123,1123,1124,1124,1125,1125,1126,1126,1127,1127,1128,1128,1129,1130,1130,1131,1132,1132,1133,1133]],[\"end\",[1135,1137,1135,1135,1139,1134,1139,1134,1137,1135,1139,1134,1136,1135,1137,1134,1134,1137,1135,1136,1135,1141,1134,1134,1140,1135,1135,1134,1143,1134,1141,1134,1134,1134,1136,1134,1142,1135,1138,1135,1134,1143,1134,1142,1135,1143,1134,1138,1135,1143,1134,1140,1135,1139,1134,1142,1135,1142,1135,1138,1135,1138,1135,1141,1135,1141,1134,1134,1136,1135,1135,1140,1134,1140]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.25,0.75,0.25,0.25,0.5,0.25,0.5,0.25,0.75,0.25,0.5,0.25,0.75,0.25,0.75,0.25,0.25,0.75,0.25,0.75,0.25,0.5,0.25,0.25,0.5,0.25,0.25,0.25,1.0,0.25,0.5,0.25,0.25,0.25,0.75,0.25,1.0,0.25,0.5,0.25,0.25,1.0,0.25,1.0,0.25,1.0,0.25,0.5,0.25,1.0,0.25,0.5,0.25,0.5,0.25,1.0,0.25,1.0,0.25,0.5,0.25,0.5,0.25,0.5,0.25,0.5,0.25,0.25,0.75,0.25,0.25,0.5,0.25,0.5]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4759\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4760\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4764\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4761\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4762\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4722\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4735\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4736\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4742\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4741\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4743\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4744\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4745\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4766\",\"attributes\":{\"renderers\":[{\"id\":\"p4758\"},{\"id\":\"p4751\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4730\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4731\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4732\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4733\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4725\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4726\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4727\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4728\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4729\",\"attributes\":{\"axis\":{\"id\":\"p4725\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4734\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4730\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"67909bb2-55b8-4ca8-93a1-6b4e9f6d8c2e\",\"roots\":{\"p4714\":\"e75c15db-44e6-4db1-b52f-87cdee868bde\"},\"root_ids\":[\"p4714\"],\"notebook_comms_target\":\"p4767\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p4714" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"0896aaa5-e926-4998-853e-4d161f8a1721\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4820\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4821\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4822\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4829\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4830\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4827\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4852\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4869\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1092,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EPn5pb1xyD9Pan6CAUHdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1093,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ep6go1oCxL+FZ2URd43vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1094,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7j1cE6V62b+HASNe7prhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1095,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r/5Js295qj/gWqHK3Mi2Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1096,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NoxVqYPT1j+niy6fK6nLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1097,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z8HTfzrIz7/tcqZ9Axvhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1098,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qbuDEMr5zj/2j0tVM4njPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1099,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pUJ4ICaMsD8aaOsOPVjZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1100,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aLISi16F1z8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1101,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IRSEzfru3j8E47RRCW/EPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1102,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yY00g94ixr9+kqKx9XuTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1103,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LYqYSe/gbr9Ke/NmJ5jkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1104,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"maXr8Sx/xT8C32THjInvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1105,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hKmlGLrM3D9S1sDDWsLfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1106,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+9fUzHy85L/Qn8Mhfr7nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1107,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6kry+1892r9aE19gHWTrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1108,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7ncW19SPeL+4WDf8wEvVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1109,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xV0Na4+I1T9j/5sLHFeXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1110,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/J83TF494j8IZv7zzcvrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1111,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dFv9FQ365D9XxzYP2xjnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1112,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"V1G1/6xCwz8ANq7A1TbnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1113,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VWHiHJWIx78ntf/foOLiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1114,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a8YAuIsL47803qXUq2fevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1115,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2bDBWknA1b+bbHLWeSnvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1116,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YJUFFpMcwj9VzzXUe8TSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1117,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r8Lh5hfht7+SWxpC5FrlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1118,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SUmZ6gorwb98wh18LEDQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1119,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HDf3zd0K0L/UUO4Mr+bRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1120,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8VS83KQO0r+/0g07tn7Mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1121,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xvML0pfH4j80ZtLzWX/fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1122,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CbzDSDj0zL8WRA+mWoLlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1123,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0fajPHt+nT8Op1bcjGXhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1124,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dBYLSQ+v1r93a+MXZOaBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1125,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"p1Mb0+bG5L8a9J0cb8DVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1126,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3w0E+MQl4L8VcgF+GTrWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1127,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cmffmDUcwj9papNyEwPnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1128,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QkppbVE0aT/M95rgIlzpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1129,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dyyD0GUB2z9uRE0I5OPqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1130,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7Gd90uexez/0iMKR9jTpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1131,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EssZfQPJ4b8umUKq4arsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1132,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1rA6ojBqyD/C6D51KEPMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1133,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"alent5ZX4z/RqhGI9efXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4857\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4854\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4855\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4856\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[1092,1093,1094,1095,1096,1097,1098,1099,1100,1101,1102,1103,1104,1105,1106,1107,1108,1109,1110,1111,1112,1113,1114,1115,1116,1117,1118,1119,1120,1121,1122,1123,1124,1125,1126,1127,1128,1129,1130,1131,1132,1133]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4858\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4859\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4871\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4864\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4861\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4862\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4863\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,5,1,6,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,5,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,1,1,1,1,1,5,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,6,1,1,1,1,1,1,1,6,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,4,1,1,1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,4,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,6,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,7,1,1,7,6,1,1,1,1,1,4,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,6,1,1,1,1,1,1,1,7,6,1,1,1,7,1,1,1,1,1,1,1,1,1,1,4,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,5,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,4]],[\"start\",[1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1092,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1093,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1094,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1095,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1096,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1097,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1098,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1099,1100,1100,1100,1100,1100,1100,1100,1100,1100,1100,1100,1100,1100,1100,1100,1100,1100,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1101,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1102,1103,1103,1103,1103,1103,1103,1103,1103,1103,1103,1103,1103,1103,1103,1103,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1104,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1105,1106,1106,1106,1106,1106,1106,1106,1106,1106,1106,1106,1106,1106,1107,1107,1107,1107,1107,1107,1107,1107,1107,1107,1107,1107,1108,1108,1108,1108,1108,1108,1108,1108,1108,1108,1108,1108,1108,1108,1108,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1109,1110,1110,1110,1110,1110,1110,1110,1110,1110,1110,1110,1111,1111,1111,1111,1111,1111,1111,1111,1111,1111,1112,1112,1112,1112,1112,1112,1112,1112,1112,1113,1113,1113,1113,1113,1113,1113,1113,1113,1114,1114,1114,1114,1114,1114,1114,1114,1114,1114,1114,1114,1115,1115,1115,1115,1115,1115,1115,1115,1115,1115,1116,1116,1116,1116,1116,1116,1116,1116,1116,1117,1117,1117,1117,1117,1117,1117,1118,1118,1118,1118,1118,1118,1118,1118,1118,1119,1119,1119,1119,1119,1119,1119,1120,1120,1120,1120,1120,1120,1120,1120,1121,1121,1121,1121,1121,1122,1122,1122,1122,1122,1122,1122,1123,1123,1123,1123,1124,1124,1124,1124,1124,1124,1125,1125,1125,1125,1125,1126,1126,1126,1126,1127,1127,1127,1128,1128,1129,1129,1130,1131,1132]],[\"end\",[1093,1094,1096,1097,1099,1101,1102,1103,1106,1107,1114,1115,1118,1120,1122,1124,1125,1126,1127,1128,1131,1132,1094,1097,1099,1102,1103,1106,1107,1114,1115,1118,1120,1122,1124,1125,1126,1127,1128,1131,1132,1095,1097,1099,1102,1103,1106,1107,1114,1115,1118,1120,1122,1124,1125,1126,1127,1128,1131,1132,1096,1097,1098,1100,1101,1104,1105,1108,1109,1110,1111,1112,1113,1116,1117,1119,1121,1122,1123,1129,1130,1133,1098,1099,1100,1101,1104,1105,1108,1109,1110,1111,1112,1113,1116,1117,1119,1121,1123,1129,1130,1133,1099,1102,1103,1106,1107,1114,1115,1118,1120,1122,1124,1125,1126,1127,1128,1131,1132,1100,1101,1102,1104,1105,1108,1109,1110,1111,1112,1113,1116,1117,1119,1121,1123,1129,1130,1133,1101,1102,1103,1106,1107,1114,1115,1118,1120,1122,1124,1125,1126,1127,1128,1131,1132,1101,1104,1105,1108,1109,1110,1111,1112,1113,1116,1117,1119,1121,1123,1129,1130,1133,1104,1105,1108,1109,1110,1111,1112,1113,1116,1117,1119,1121,1123,1129,1130,1133,1103,1106,1107,1112,1114,1115,1118,1120,1122,1124,1125,1126,1127,1128,1130,1131,1132,1106,1107,1109,1114,1115,1118,1120,1122,1124,1125,1126,1127,1128,1131,1132,1105,1108,1109,1110,1111,1112,1113,1116,1117,1119,1121,1123,1129,1130,1133,1108,1109,1110,1111,1112,1113,1116,1117,1119,1121,1123,1129,1130,1132,1133,1107,1114,1115,1118,1120,1122,1124,1125,1126,1127,1128,1131,1132,1114,1115,1118,1120,1122,1124,1125,1126,1127,1128,1131,1132,1109,1110,1111,1112,1113,1116,1117,1118,1119,1120,1121,1123,1129,1130,1133,1110,1111,1112,1113,1116,1117,1119,1121,1123,1127,1128,1129,1130,1133,1111,1112,1113,1116,1117,1119,1121,1123,1129,1130,1133,1112,1113,1116,1117,1119,1121,1123,1129,1130,1133,1113,1116,1117,1119,1121,1123,1129,1130,1133,1116,1117,1119,1121,1123,1124,1129,1130,1133,1115,1118,1119,1120,1122,1124,1125,1126,1127,1128,1131,1132,1118,1120,1122,1124,1125,1126,1127,1128,1131,1132,1117,1118,1119,1120,1121,1123,1129,1130,1133,1119,1121,1123,1124,1129,1130,1133,1120,1122,1124,1125,1126,1127,1128,1131,1132,1121,1123,1125,1126,1129,1130,1133,1122,1124,1125,1126,1127,1128,1131,1132,1123,1129,1130,1132,1133,1124,1125,1126,1127,1128,1131,1132,1124,1129,1130,1133,1125,1126,1127,1128,1131,1132,1126,1127,1128,1131,1132,1127,1128,1131,1132,1128,1131,1132,1131,1132,1130,1133,1133,1132,1133]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.2,0.2,0.6000000000000001,0.2,0.8,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.4,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1.0,0.2,0.8,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,1.0,0.2,0.2,1.0,0.8,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.6000000000000001,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1.0,0.8,0.2,0.2,0.2,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4865\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4866\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4870\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4867\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4868\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4828\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4841\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4842\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4848\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4847\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4849\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4850\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4851\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4872\",\"attributes\":{\"renderers\":[{\"id\":\"p4864\"},{\"id\":\"p4857\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4836\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4837\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4838\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4839\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4831\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4832\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4833\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4834\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4835\",\"attributes\":{\"axis\":{\"id\":\"p4831\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4840\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4836\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"0896aaa5-e926-4998-853e-4d161f8a1721\",\"roots\":{\"p4820\":\"fa13181b-59b2-4f33-b36a-4f2658ccbe78\"},\"root_ids\":[\"p4820\"],\"notebook_comms_target\":\"p4873\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p4820" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[School, ClassRoom], clear=True)\n", "\n", "inspector.plot_networks(location_color=\"label\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we saw, the method `stick_together()` can be used to nest locations into other locations.\n", "However, this approach is limited because we can only specify one location class as the return value of `stick_together()`.\n", "\n", "### Nesting locations using `nest()`\n", "\n", "Another way to nest locations into other locations is to use the location method `nest()`.\n", "The method `nest()` can return `None` or a location label.\n", "If `nest()` returns a location label, the location is nested into the corresponding location type.\n", "For instance, to nest classrooms within schools, we must define the method `nest()` for the location `ClassRoom` and let this method return `\"School\"`.\n", "Again, the order of location creation plays a crucial role: The level-1 location must always be created after the level-2 location." ] }, { "cell_type": "code", "execution_count": 50, "metadata": {}, "outputs": [], "source": [ "class ClassRoom(p2n.LocationDesigner):\n", " def setup(self):\n", " self.n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", " def weight(self, actor):\n", " return actor.hours\n", "\n", " def nest(self):\n", " return \"School\"\n", "\n", "\n", "class School(p2n.LocationDesigner):\n", " n_locations = 2" ] }, { "cell_type": "code", "execution_count": 51, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"85c33523-362d-4611-8a00-dc0ec7184801\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p4916\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4917\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p4918\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4925\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p4926\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p4923\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p4948\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p4965\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1144,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o7VqTFFq4T9Sv+zbA2Syvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1145,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NKpEGRKd6z8ix5jt/vq8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1146,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rhjLEws25T9s5SV1W6bHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1147,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7n8rJWFj7j+r6T4fiim0Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1148,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IzdhPvg/5D/2OmboVB6Zvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1149,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/y3H7FGn7z+qjB4R956hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1150,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"J6+fSYHm4z98InZrGJ+dPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1151,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5Qrb3RMf4j/1x/q024ijPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1152,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nxC6KkTM77/Q5t6klyDBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1153,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nYNDe5QE6L+Tyl/9wEa8vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1154,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6i/G0SML5r+GMgoSRKe7vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1155,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OWxY19pk4b/alkXqNe+wPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1156,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lW5IbkRL7L/iep5ASD7QPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1157,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ihWsrW0m4r9hbjz+/vfEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1158,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"K7vXLXK07b8eCkX6UHC4vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1159,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DciSqIlA7r8KOpn/KprKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1160,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LlrbbGpq4799Hh60BfrDvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1161,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BXC7p62J4r9CEXkPkCC8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1162,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ob1tgM4s57/SxsweRKrKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1163,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6fNOJ/Ps6b/uvdc0Po/QPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1164,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Sr9M3z586b/wM0lQYmnDvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1165,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jnP8sGM767/7oEpegNa7Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1166,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"m/SdZi+Q5r/7pP/u5avUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1167,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8L9pp/UTwxxfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1168,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KhXZ8hv15L8VuPEpt/rGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1169,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ScWKMKWE7b9LR8h4qS+2Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1170,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/b44qwkx6789AQtLeT5fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1171,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x8pW+XHc5L8iAWVFe4LTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1172,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BE5y4mw+7b9BZERuWgKIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1173,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dCRjIv8v5z/ipLAizKvTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1174,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"V9L2qM6N4z8FxcvTC8XEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1175,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dZ6jf7bx7T9F9CPc6cHNvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1176,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"B05rrnTw7j8a6AYndgPIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1177,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vCb+c4Ec7j+sne0ZpQeWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1178,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7rSrArG47T8H2arlGzGfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1179,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QnVUhn0O6D+4uuL/5CbRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1180,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UrhlMPm04z+I3LcV1AvQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1181,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eyvBKXKk6T9+NYXZAYPAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1182,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/cUSFLkX4z8NxkVI0Zmyvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1183,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bnIUbrJm6z+y/Eu7Li/Gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1184,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RrLVr9sL5T/Lb0HBf1nMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1185,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pngzBGq+5j+WnFHqZPXNvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1186,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bWE+6ec26L8HOiDhpyCxPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1187,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eD8l6Igz6D8qQTmoMxyvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1188,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lnA8Zsvv4T8e5RnojxeOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1189,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QXIAuB3a7z8RQ2kGL2igPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1190,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M1HZ2pj94j9yMeG78FjPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1191,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Pdyy7Ytz57+3uFsGNuLFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1192,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DoiLucsg4L9hadnvHUDAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1193,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"czD2P8QE7L+qQmE87FyrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1194,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TfyqRdVQ478c6ZQdPajNvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1195,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+SiBun7t5L8JfMSErhHZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1196,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CtfsLSNX5T81awkUQMnSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1197,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DMuK6I/L7z/vSv7a8fjPvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4953\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4950\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4951\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4952\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"School\",\"School\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index\",[1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1186,1187,1188,1189,1190,1191,1192,1193,1194,1195,1196,1197]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4954\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4955\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p4967\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p4960\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p4957\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p4958\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p4959\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,5,1,1,4,1,4,1,5,1,4,1,5,1,5,1,1,5,1,5,1,4,1,1,4,1,1,1,6,1,4,1,1,1,5,1,6,1,4,1,1,6,1,6,1,6,1,4,1,6,1,4,1,4,1,6,1,6,1,4,1,4,1,4,1,4,1,1,5,1,1,4,1,4]],[\"start\",[1144,1144,1145,1146,1146,1147,1147,1148,1148,1149,1149,1150,1150,1151,1151,1152,1153,1153,1154,1154,1155,1155,1156,1157,1157,1158,1159,1160,1160,1161,1161,1162,1163,1164,1164,1165,1165,1166,1166,1167,1168,1168,1169,1169,1170,1170,1171,1171,1172,1172,1173,1173,1174,1174,1175,1175,1176,1176,1177,1177,1178,1178,1179,1179,1180,1180,1181,1182,1182,1183,1184,1184,1185,1185]],[\"end\",[1187,1188,1187,1187,1190,1187,1189,1187,1188,1187,1189,1187,1188,1187,1188,1186,1186,1191,1186,1191,1186,1192,1186,1186,1192,1186,1186,1186,1194,1186,1192,1186,1186,1186,1191,1186,1193,1186,1195,1186,1186,1194,1186,1193,1186,1193,1186,1195,1186,1193,1187,1196,1187,1190,1187,1197,1187,1197,1187,1189,1187,1189,1187,1196,1187,1196,1187,1187,1188,1187,1187,1196,1187,1196]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.25,0.75,0.25,0.25,0.5,0.25,0.5,0.25,0.75,0.25,0.5,0.25,0.75,0.25,0.75,0.25,0.25,0.75,0.25,0.75,0.25,0.5,0.25,0.25,0.5,0.25,0.25,0.25,1.0,0.25,0.5,0.25,0.25,0.25,0.75,0.25,1.0,0.25,0.5,0.25,0.25,1.0,0.25,1.0,0.25,1.0,0.25,0.5,0.25,1.0,0.25,0.5,0.25,0.5,0.25,1.0,0.25,1.0,0.25,0.5,0.25,0.5,0.25,0.5,0.25,0.5,0.25,0.25,0.75,0.25,0.25,0.5,0.25,0.5]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p4961\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p4962\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p4966\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4963\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p4964\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p4924\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p4937\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p4938\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p4944\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p4943\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p4945\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p4946\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p4947\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p4968\",\"attributes\":{\"renderers\":[{\"id\":\"p4960\"},{\"id\":\"p4953\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4932\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4933\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4934\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4935\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p4927\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p4928\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p4929\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p4930\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4931\",\"attributes\":{\"axis\":{\"id\":\"p4927\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p4936\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p4932\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"85c33523-362d-4611-8a00-dc0ec7184801\",\"roots\":{\"p4916\":\"f287437b-10c0-4a32-bda4-5fd078bc41b8\"},\"root_ids\":[\"p4916\"],\"notebook_comms_target\":\"p4969\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p4916" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"85ae0095-e6fc-4d46-9beb-6c913252f0f3\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5024\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5025\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5026\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5033\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5034\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5031\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5056\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5073\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1144,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"S66qb8x2xb8oViG3Y2btPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1145,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pykB7bnx27/ZydTlUbTtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1146,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fVYOyf7q078AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1147,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kFMb/sZ02L9/GTU4WGzrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1148,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xv2kTm2B0L9v6DxYoKftPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1149,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8DVnSyAu179cLdQs9lTpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1150,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BLV+sKCp0L/Gjn++3qDrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1151,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"S+xIlDgfyb/PEk/mMB/sPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1152,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OedXezQS0T/8jhWHJT3svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1153,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OXYmQa3kzT8CmlJsqYnvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1154,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FU97mFnkyT+kxC/nOObtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1155,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/I1M+gYGwz/urSDhsS7qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1156,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"C5Hy1cgf1z+Jt/zo5/Dvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1157,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7LfBvcggyz87OrY2irnqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1158,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BhNYxjrKxT/z5gCBrbfnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1159,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TYCeLoau1T/yxe2m1Izmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1160,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uNGrWadazT+wmqYLAt/nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1161,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"g1rZZ/HSwz+VLqgf8l7svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1162,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"baqS/kbA1z+xTTErSCDpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1163,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ioYfB9O72T9he/NUnbPmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1164,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dwVC5v1j0j8eM5Y6OvXuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1165,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ppsc0PXs2j8kuYSTBQzsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1166,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xvmsMeX03T+voCgd5Ljqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1167,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9UR8/ekH0T/dgRO6r5blvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1168,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gb/xqZJN0j/N4u37WCbovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1169,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RxNL3ohW1j8d+cdGFiXrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1170,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aJD8ioth2j+Yj3LakLztvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1171,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ujQnxIZ03D/W0DHiSbXovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1172,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eAX3DDts1j9l/2CaTTntvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1173,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mmZnxSllzb/ZgogW8+noPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1174,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4zV/UAqz1b+OFvB9MnrtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1175,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7qrVmQOa179B3KF6GYDmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1176,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"d3QzJ1AQ1L+SEoRgau/lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1177,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0C/fQgpV3L9Fr25+d3vpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1178,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hF8SgZqz3L/iedzDWzzrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1179,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iruILLc7xb9m1sY5z/fpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1180,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QCTfdZ7Iy78wlA8H14HmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1181,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W2uybG1j278HBSB4XZLnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1182,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pFvadCVVzL/jLqVk2vvuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1183,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ds3OMQOf2L/iUhdos2vvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1184,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"X8CI52hZ0b94N8GEY7/nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1185,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LihyI37bxb86THcyzSHoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5061\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5058\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5059\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5060\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[1144,1145,1146,1147,1148,1149,1150,1151,1152,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5062\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5063\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5075\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5068\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5065\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5066\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5067\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,6,1,6,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,5,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,6,6,1,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,6,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,6,1,1,1,1,1,1,1,1,1,5,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,7,7,1,7,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,7,1,7,1,7,1,1,1,1,1,1,5,5,1,1,1,5,5,1,1,1,1,1,1,1,1,1,1,1,7,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,1,1,1,5,5,1,1,1,5,5,1,1,1,1,1,1,1,1,1,5]],[\"start\",[1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1144,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1145,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1146,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1147,1148,1148,1148,1148,1148,1148,1148,1148,1148,1148,1148,1148,1148,1148,1148,1148,1149,1149,1149,1149,1149,1149,1149,1149,1149,1149,1149,1149,1149,1149,1149,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1150,1151,1151,1151,1151,1151,1151,1151,1151,1151,1151,1151,1151,1151,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1152,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1153,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1154,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1155,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1156,1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,1157,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1158,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,1159,1160,1160,1160,1160,1160,1160,1160,1160,1160,1160,1160,1160,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1161,1162,1162,1162,1162,1162,1162,1162,1162,1162,1162,1163,1163,1163,1163,1163,1163,1163,1163,1163,1164,1164,1164,1164,1164,1164,1164,1164,1165,1165,1165,1165,1165,1165,1165,1166,1166,1166,1166,1166,1166,1167,1167,1167,1167,1167,1168,1168,1168,1168,1169,1169,1169,1170,1170,1171,1173,1173,1173,1173,1173,1173,1173,1173,1173,1173,1173,1173,1174,1174,1174,1174,1174,1174,1174,1174,1174,1174,1174,1175,1175,1175,1175,1175,1175,1175,1175,1175,1175,1176,1176,1176,1176,1176,1176,1176,1176,1176,1177,1177,1177,1177,1177,1177,1177,1177,1178,1178,1178,1178,1178,1178,1178,1179,1179,1179,1179,1179,1179,1180,1180,1180,1180,1180,1181,1181,1181,1181,1182,1182,1182,1183,1183,1184]],[\"end\",[1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1145,1146,1147,1148,1149,1150,1151,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1146,1147,1148,1149,1150,1151,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1147,1148,1149,1150,1151,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1148,1149,1150,1151,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1149,1150,1151,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1150,1151,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1151,1173,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1153,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1154,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1155,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1156,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1157,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1158,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1159,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1160,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1161,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1162,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1163,1164,1165,1166,1167,1168,1169,1170,1171,1172,1164,1165,1166,1167,1168,1169,1170,1171,1172,1165,1166,1167,1168,1169,1170,1171,1172,1166,1167,1168,1169,1170,1171,1172,1167,1168,1169,1170,1171,1172,1168,1169,1170,1171,1172,1169,1170,1171,1172,1170,1171,1172,1171,1172,1172,1174,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1175,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1176,1177,1178,1179,1180,1181,1182,1183,1184,1185,1177,1178,1179,1180,1181,1182,1183,1184,1185,1178,1179,1180,1181,1182,1183,1184,1185,1179,1180,1181,1182,1183,1184,1185,1180,1181,1182,1183,1184,1185,1181,1182,1183,1184,1185,1182,1183,1184,1185,1183,1184,1185,1184,1185,1185]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.75,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.75,0.75,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,0.25,1.0,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.25,1.0,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5069\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5070\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5074\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5071\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5072\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5032\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5045\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5046\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5052\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5051\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5053\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5054\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5055\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5076\",\"attributes\":{\"renderers\":[{\"id\":\"p5068\"},{\"id\":\"p5061\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5040\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5041\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5042\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5043\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5035\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5036\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5037\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5038\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5039\",\"attributes\":{\"axis\":{\"id\":\"p5035\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5044\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5040\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"85ae0095-e6fc-4d46-9beb-6c913252f0f3\",\"roots\":{\"p5024\":\"cdc278ff-98e3-4946-8796-14a23d336b2c\"},\"root_ids\":[\"p5024\"],\"notebook_comms_target\":\"p5077\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p5024" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[School, ClassRoom], clear=True)\n", "inspector.plot_networks(location_color=\"label\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "`nest()` allows us to nest as many locations in as many levels as we want.\n", "However, `nest()` has one disadvantage: Because the actors are first grouped into the level-2 location and then into the level-1 location, specific compositions defined at level 1 are not considered when grouping the actors into the level-2 locations.\n", "\n", "The following example demonstrates that:" ] }, { "cell_type": "code", "execution_count": 52, "metadata": {}, "outputs": [], "source": [ "class TeachersInClassRoom(p2n.MeltLocationDesigner):\n", " def setup(self):\n", " self.n_actors = 1\n", "\n", " def filter(self, actor):\n", " return actor.status == \"teacher\"\n", "\n", "\n", "class PupilsInClassRoom(p2n.MeltLocationDesigner):\n", " def setup(self):\n", " self.n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", "\n", "class ClassRoom(p2n.LocationDesigner):\n", " def melt(self):\n", " return [TeachersInClassRoom, PupilsInClassRoom]\n", "\n", " def weight(self, actor):\n", " return actor.hours * 10\n", "\n", " def nest(self):\n", " return \"School\"\n", "\n", "\n", "class School(p2n.LocationDesigner):\n", " n_locations = 2" ] }, { "cell_type": "code", "execution_count": 53, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"13166c71-c564-49e5-9fde-3679697126e0\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5120\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5121\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5122\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5129\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5130\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5127\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5152\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5169\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1198,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gwl6L1Ri4T+qDbcwEbzjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1199,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IqnDWC8v3z++hItgikvQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1200,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uGlkfCTq4j/s7qO/+NrAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1201,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SB6fLeZS4D+fOXUpI8/DPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1202,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2H/j64C65D+71BPEUNPkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1203,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cbkhtnTC4z9EqjqUuh7MPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1204,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"66XENUvM4T8ZImvKl0jivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1205,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cOwPjj705L9vQNaFsdjOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1206,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gjs4CKY+xL+8juMMQfXrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1207,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D+pU/gKn5b8yQbFIA7XUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1208,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o1XaAhcq6L+YsvvlIBXVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1209,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RXIIIJUZyr9sEsmR8BXvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1210,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/Gt5KQv85b+4QVcSedvPPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1211,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jxaQCFYqqb9oeeKzOj/tvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1212,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NqHUHOeF3b8v/JOEZnfqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1213,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wXmoeUpH5D+gwckUx+/fvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1214,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"emWvQzqx5L9OzMN5DprTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1215,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bQHjyFs7tb8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1216,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PHEkgj3r4T8zhBiwX7fmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1217,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rie71txz5787k5nLWwXJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1218,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7PGYkEti5T/fkldlLTbjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1219,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+VQW8opzu7/CCsL/ZJPIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1220,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tJKmk4Lnzj9folIv6o6pPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1221,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7eCs37/nwL9VympnRHHqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1222,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KKxaP4Y1xr8J3tDaJ/rDvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1223,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q582LQbIxb/oBPY7Lo65vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1224,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"p+CaESMnwb9/4y5cPieqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1225,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"V/uv+nDC0D9rbT4FXbaJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1226,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A8nzfifcir/rugBx1GHuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1227,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Q/ya/0di1r/UdBVvs//oPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1228,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IBaWwRq0xz/mx1sp7721Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1229,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lHNLbquqrz9BZ+VUB/7qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1230,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Yall3c8lqT9uayqRyD/tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1231,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QP7DIqQuzT/sfIlyXpSzvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1232,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3JLQ1bKQvj9cn3SO9W2zPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1233,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/Kjaa9By078j/LDJtDLtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1234,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fSQSXp80zb9KDs+4CT/tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1235,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6WQT8xHvoj9xcZsf2Cy1vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1236,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Wv/wjxr4or+/4t1efsmtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1237,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JmYebskF2j9iQCLw4+7tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1238,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3kVClImV1r+Pw3B44nDrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1239,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"x685mCiM0b+HhlEmxp3nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1240,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AG1KcmTijD8gVOXy1bjWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1241,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KoQQYrN2nb+vnEamjhnaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1242,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KjPeoOEd4z9dyYr+ib3kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1243,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hzdgG6SO5785kiUVBWHQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1244,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a8TGXaHq4T9zqIICVZrNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1245,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1u99ICXjwL/wSRqNcfjtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1246,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o1obpoci57+Gc3awux/WPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1247,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/BO7tDkQ5D+7VnqAiR7ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1248,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ybXW48Motb+d0ddRdFfAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1249,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qNEnNFuRkr9fq8zPw8TrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1250,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TXYc66L/wz8KKbmlHcaXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1251,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pM6990eA0L+TV7eoIHzqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1252,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4C2rDfEVaD+Ci9/PJl+evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5157\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5154\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5155\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5156\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"School\",\"School\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null,null,null,null,null,null,null,null,null,null,null,null,null]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index\",[1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1240,1241,1242,1243,1244,1245,1246,1247,1248,1249,1250,1251,1252]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5158\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5159\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5171\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5164\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5161\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5162\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5163\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,50,50,1,60,1,40,1,40,1,50,50,1,40,1,50,50,1,50,1,90,1,50,1,50,1,40,1,50,1,40,1,1,90,1,60,1,40,1,110,1,100,1,50,50,1,60,1,40,1,60,60,1,60,1,60,1,60,1,40,1,60,1,40,1,40,1,60,1,60,1,40,1,40,1,40,1,40,1,90,90,90,1,50,1,1,40,1,40]],[\"start\",[1198,1198,1198,1199,1199,1200,1200,1201,1201,1202,1202,1202,1203,1203,1204,1204,1204,1205,1205,1206,1206,1207,1207,1208,1208,1209,1209,1210,1210,1211,1211,1212,1213,1213,1214,1214,1215,1215,1216,1216,1217,1217,1218,1218,1218,1219,1219,1220,1220,1221,1221,1221,1222,1222,1223,1223,1224,1224,1225,1225,1226,1226,1227,1227,1228,1228,1229,1229,1230,1230,1231,1231,1232,1232,1233,1233,1234,1234,1235,1235,1235,1235,1236,1236,1237,1238,1238,1239,1239]],[\"end\",[1240,1242,1247,1240,1244,1240,1244,1240,1244,1240,1242,1247,1240,1244,1240,1242,1247,1240,1243,1240,1245,1240,1243,1240,1243,1240,1245,1240,1246,1240,1245,1240,1240,1247,1240,1246,1240,1245,1240,1242,1240,1243,1240,1242,1247,1241,1248,1241,1250,1241,1249,1251,1241,1248,1241,1248,1241,1248,1241,1250,1241,1249,1241,1251,1241,1250,1241,1249,1241,1249,1241,1250,1241,1250,1241,1251,1241,1251,1241,1248,1250,1252,1241,1252,1241,1241,1251,1241,1251]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.14285714285714285,0.42857142857142855,0.42857142857142855,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.42857142857142855,0.42857142857142855,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.42857142857142855,0.42857142857142855,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.7142857142857142,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.7142857142857142,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.9999999999999998,0.14285714285714285,0.857142857142857,0.14285714285714285,0.42857142857142855,0.42857142857142855,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.5714285714285714,0.5714285714285714,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.7142857142857142,0.7142857142857142,0.7142857142857142,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5165\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5166\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5170\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5167\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5168\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5128\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5141\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5142\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5148\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5147\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5149\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5150\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5151\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5172\",\"attributes\":{\"renderers\":[{\"id\":\"p5164\"},{\"id\":\"p5157\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
status:@status
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5136\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5137\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5138\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5139\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5131\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5132\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5133\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5134\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5135\",\"attributes\":{\"axis\":{\"id\":\"p5131\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5140\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5136\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"13166c71-c564-49e5-9fde-3679697126e0\",\"roots\":{\"p5120\":\"bde50ad4-42b5-43a6-b69f-d55d37f62036\"},\"root_ids\":[\"p5120\"],\"notebook_comms_target\":\"p5173\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p5120" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"d82e9564-971c-42dd-ab5b-daec9daf3f78\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5229\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5230\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5231\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5238\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5239\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5236\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5261\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5278\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1198,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OfM0CaNo5T8tNG6cmHWkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1199,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NWUZTeQc7z/5+gVIJfajvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1200,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cA+b3QCF7T+gWTIr3GOUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1201,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aOlF09tD7z/zKgf5nWaIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1202,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UfoYdO8/5D84UQv+7Zh6vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1203,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DKH4PgxG7T/4gSE+t2mmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1204,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Npjhv0DZ4z8eZd8uq2yjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1205,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v3OIYoNf6T9kTOSbWOfHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1206,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UhxcN/m+6T8IGoCBMHGwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1207,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oW3C74kd6T+hMv9sDEzOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1208,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2k3U7dvW5z+ocXw7OTzGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1209,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YAtxYqLS6j8gnvjImhG5Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1210,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mXz44ceL7T9SmFnW/FrIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1211,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XGHes4wa6j8VBxr9/MzBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1212,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ed9FW6LL7z8T69UTZKfBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1213,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k05DsrOj4z8CUxkRfgC4vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1214,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xGOS7qyi7D+K+aW9utnOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1215,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pxt9CLk66D8L5GhneQC9Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1216,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dTa4mmRb5j96TIIby4t2vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1217,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qI+CMiV/5z/WcOPpeGjNvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1218,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XnrJAkPF5D93Elgf922xvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1219,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HyTUyQi27b+xJtkN+UfIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1220,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"linrmRMD6b8gf+gHwHfKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1221,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z3J/wyPU5r/NkryTqWujvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1222,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"U/Y5ww5n7L837vICW+nIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1223,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sQ39UjT87b8Sn/Pz8efCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1224,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mACPluLW7L+VUiqR8W7APw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1225,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UAdrqvDF6L9Zg9tSzHrDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1226,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"X2vSUqDL5b98NFjjfoySPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1227,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PX2h3l3L57/qH2LKiOC8vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1228,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jlq1Mlre578X68H2GfDMPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1229,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zG23jVNE5L+oM2oxiHSaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1230,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"p6BVgfqb5L/gqcbGk/iZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1231,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cK1QnT8W578nKrsYAHfIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1232,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ccSDoF9Z57/MfirJdgHDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1233,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Zxv0TuGn6L80YiZftKmxvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1234,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XxutMKAq6b+FCTqiD1nAvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1235,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SMjaVJad6r+Pp0cl8cvDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1236,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IjoUGPIO7b98kCRb4ByuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1237,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8L8TIVbyl2+Zvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1238,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5KtJZzf46b/jQ1yR6B2uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1239,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qjIuOyVc6r+o1zlA4Aq6vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5266\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5263\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5264\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5265\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\"]],[\"index\",[1198,1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1219,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5267\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5268\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5280\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5273\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5270\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5271\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5272\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,101,1,101,1,1,1,1,1,1,1,1,51,1,1,51,1,101,41,41,1,41,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,1,41,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,101,1,1,1,1,1,1,1,1,51,1,1,51,1,101,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,51,1,1,51,1,101,1,51,51,1,1,1,1,1,1,1,1,51,1,1,1,41,1,41,1,1,1,41,1,1,1,51,1,1,1,1,1,1,1,1,51,1,1,1,1,1,1,1,1,1,51,1,1,41,1,1,1,41,1,1,1,1,1,1,51,1,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,1,1,1,1,1,51,1,1,1,1,1,1,1,1,51,1,1,1,61,61,61,1,1,1,1,1,1,1,1,1,1,61,1,1,1,1,1,1,1,1,41,1,1,41,1,1,41,41,1,1,41,1,1,1,1,1,1,1,1,61,41,1,61,61,1,1,41,41,1,1,1,41,41,61,61,1,1,1,1,1,1,1,1,1,1,61,1,1,1,1,61,1,1,1,1,1,1,1,1,1,1,61,1,1,1,1,1,1,1,1,1,1,1,1,1,1,61,1,1,1,1,1,1,41,1,1,41,41,1,1,41,1,1,1,1,1,1,61,61,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,41,1,1,1,41,41,1,1,41,41,1,1,41,1,1,1,1,61,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,1,1,41,1,1,1,1,1,1,41,1,1,1,1,41,1,1,1,41,41,1,1,1,41,41,51,1,1,1,1,1,1,1,1,41]],[\"start\",[1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1198,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1199,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1200,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1201,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1202,1203,1203,1203,1203,1203,1203,1203,1203,1203,1203,1203,1203,1203,1203,1203,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1204,1205,1205,1205,1205,1205,1205,1205,1205,1205,1205,1205,1205,1205,1206,1206,1206,1206,1206,1206,1206,1206,1206,1206,1206,1206,1207,1207,1207,1207,1207,1207,1207,1207,1207,1207,1207,1208,1208,1208,1208,1208,1208,1208,1208,1208,1208,1209,1209,1209,1209,1209,1209,1209,1209,1209,1210,1210,1210,1210,1210,1210,1210,1210,1211,1211,1211,1211,1211,1211,1211,1212,1212,1212,1212,1212,1212,1213,1213,1213,1213,1213,1214,1214,1214,1214,1215,1215,1215,1216,1216,1217,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1219,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1220,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1221,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1222,1223,1223,1223,1223,1223,1223,1223,1223,1223,1223,1223,1223,1223,1223,1223,1223,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1224,1225,1225,1225,1225,1225,1225,1225,1225,1225,1225,1225,1225,1225,1225,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1226,1227,1227,1227,1227,1227,1227,1227,1227,1227,1227,1227,1227,1228,1228,1228,1228,1228,1228,1228,1228,1228,1228,1228,1229,1229,1229,1229,1229,1229,1229,1229,1229,1229,1230,1230,1230,1230,1230,1230,1230,1230,1230,1231,1231,1231,1231,1231,1231,1231,1231,1232,1232,1232,1232,1232,1232,1232,1233,1233,1233,1233,1233,1233,1234,1234,1234,1234,1234,1235,1235,1235,1235,1236,1236,1236,1237,1237,1238]],[\"end\",[1199,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1200,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1201,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1202,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1203,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1204,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1205,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1206,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1207,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1208,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1209,1210,1211,1212,1213,1214,1215,1216,1217,1218,1210,1211,1212,1213,1214,1215,1216,1217,1218,1211,1212,1213,1214,1215,1216,1217,1218,1212,1213,1214,1215,1216,1217,1218,1213,1214,1215,1216,1217,1218,1214,1215,1216,1217,1218,1215,1216,1217,1218,1216,1217,1218,1217,1218,1218,1220,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1221,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1222,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1223,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1224,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1225,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1226,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1227,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1228,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1229,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1230,1231,1232,1233,1234,1235,1236,1237,1238,1239,1231,1232,1233,1234,1235,1236,1237,1238,1239,1232,1233,1234,1235,1236,1237,1238,1239,1233,1234,1235,1236,1237,1238,1239,1234,1235,1236,1237,1238,1239,1235,1236,1237,1238,1239,1236,1237,1238,1239,1237,1238,1239,1238,1239,1239]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.2,0.2,0.2,1.0,0.2,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.6000000000000001,0.2,1.0,0.4,0.4,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.6000000000000001,0.2,1.0,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.6000000000000001,0.2,1.0,0.2,0.6000000000000001,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.4,0.2,0.4,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.4,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.6000000000000001,0.2,0.2,0.2,0.8,0.8,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.4,0.2,0.2,0.4,0.4,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.4,0.2,0.8,0.8,0.2,0.2,0.4,0.4,0.2,0.2,0.2,0.4,0.4,0.8,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.4,0.4,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.8,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.4,0.2,0.2,0.2,0.4,0.4,0.2,0.2,0.4,0.4,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.8,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.2,0.4,0.2,0.2,0.2,0.4,0.4,0.2,0.2,0.2,0.4,0.4,0.6000000000000001,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.2,0.4]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5274\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5275\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5279\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5276\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5277\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5237\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5250\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5251\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5257\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5256\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5258\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5259\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5260\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5281\",\"attributes\":{\"renderers\":[{\"id\":\"p5273\"},{\"id\":\"p5266\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5245\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5246\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5247\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5248\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5240\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5241\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5242\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5243\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5244\",\"attributes\":{\"axis\":{\"id\":\"p5240\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5249\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5245\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"d82e9564-971c-42dd-ab5b-daec9daf3f78\",\"roots\":{\"p5229\":\"e8ecb08f-05b9-4f6d-a645-174c13644236\"},\"root_ids\":[\"p5229\"],\"notebook_comms_target\":\"p5282\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p5229" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[School, ClassRoom], clear=True)\n", "inspector.plot_networks(location_color=\"label\", actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As you can see in the graph above, the compositions defined by `ClassRoom` are not always met.\n", "That is due to the fact that the actors are first assigned to the schools independently of the settings defined by `ClassRoom`.\n", "When the classrooms are built, there are not always the *necessary* actors in each school needed to meet the composition defined in `ClassRoom`.\n", "This might not always be a problem.\n", "However, if we want to ensure that classrooms always have the defined composition of actors, they have to be created before the schools are created and, thus, we have to use the method `stick_together()` to nest classrooms into schools:" ] }, { "cell_type": "code", "execution_count": 54, "metadata": {}, "outputs": [], "source": [ "class TeachersInClassRoom(p2n.MeltLocationDesigner):\n", " def setup(self):\n", " self.n_actors = 1\n", "\n", " def filter(self, actor):\n", " return actor.status == \"teacher\"\n", "\n", "\n", "class PupilsInClassRoom(p2n.MeltLocationDesigner):\n", " def setup(self):\n", " self.n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", "\n", "class ClassRoom(p2n.LocationDesigner):\n", " def melt(self):\n", " return [TeachersInClassRoom, PupilsInClassRoom]\n", "\n", " def weight(self, actor):\n", " return actor.hours * 10\n", "\n", "\n", "class School(p2n.LocationDesigner):\n", " n_locations = 2\n", "\n", " def stick_together(self, actor):\n", " return actor.ClassRoom" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"b5ada101-0a6f-4aa9-82f6-acb30d0a708f\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5325\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5326\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5327\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5334\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5335\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5332\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5357\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5374\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1253,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ndLj88m6zz8me8uqpszuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1254,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AGCPSwJy57+zySUcaQrkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1255,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9tfC/tNf07+WJkCeizPoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1256,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Pw0vEbhRxr+L3K97DhXnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1257,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"S4Y85bo/0z+fAcNWHT3qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1258,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Mm0GxISmyr/S94p7vPXoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1259,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RxU233FS57/5PtJksyvgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1260,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"C9ubFAEzyT/GDC+J+uTrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1261,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"d1Zt4yECuj9ldCwOYfrqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1262,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H5Bv+OSc1T9zVUdd+vPtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1263,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"N6+29vIA6r8PrqQBomzgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1264,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yh4F5BCn6j+ozkg2xQraPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1265,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b8dB13S90b/tDK0cNIDkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1266,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Pv1Fjkqh4L9jpOIwH2fCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1267,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1lFbUV0r6T8FQst4FsrBPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1268,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ei1/Vpuo37+YWwuz86eCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1269,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cRYtkbzbkD9nArnVBpjFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1270,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QNJ+DI+A5j9cJclZoU/ZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1271,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gvn/BzKs6T+ezGTCivLTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1272,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Txp4g0zK1T+PDmXkvl3Lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1273,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eXvGmFjK6b8GixLZaQnkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1274,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"99zUWWdt2D/2ZkQgpS7Mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1275,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xV1BwqjKwz/wb42OP+npvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1276,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Li1W0Z4RqL987HEy/MnEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1277,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l9f/CmAVob+075Z3Fgajvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1278,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QWNL9rGE1z9Teb7QOh/Cvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1279,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ac1saF+Vs7+iClmq66+6vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1280,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TdUkcU+NpD8nTE8fa5nsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1281,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ghL1mBpOrT/L/NJc8am4vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1282,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VuDaQt/v3L9CwUlHpX+4vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1283,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tQn+fB9nyb+67dSWXePkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1284,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3OMrFhXn0z9Pa0NLw5G/vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1285,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zXm2Y9Bezz8YsVEYwEfHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1286,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SgN4sMSoyD/V1TwoQSztvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1287,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ghvHJfb7sz9c2+xW8obuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1288,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w/FbP/rP5j/s1i5gAivUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1289,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LXWmNfCJ6D8VSKKjOmrcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1290,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SesTeWwA1D9m2XvO7gLsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1291,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rTkexn3p5b/bu3qzhn7ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1292,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pfMIbyD/3r8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1293,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"s/y634cw47+rR3sWZhemvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1294,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w/N7pAy04r/fp02D4X+9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1295,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9Cwh6rhU6L/UyZ9Vkvnhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1296,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i9yvCLYH0T+Bk9sBpaXsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1297,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QTjAoRAYwT9uR5a0E2bsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1298,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LgdQqs3H0L8e2VN28LTmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1299,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vup73G2m4L/fEhT2Ukysvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1300,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NyMIKvnK6D/q/FvRuqnWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1301,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Pa8mPsRh0z9FipoTRPXKvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1302,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AILuY6QLKj/sx2L5eRO4vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1303,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i0QBmakw0j+OM7oZwcPaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1304,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3QpKGbBv0r/bmA9T06jevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5362\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5359\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5360\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5361\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"School\",\"School\"]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1]],[\"index\",[1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294,1295,1296,1297,1298,1299,1300,1301,1302,1303,1304]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5363\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5364\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5376\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5369\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5366\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5367\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5368\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[50,1,60,1,40,1,40,1,50,1,40,1,50,1,50,1,90,1,50,1,50,1,40,1,50,1,40,1,1,90,1,60,1,40,1,110,1,100,1,50,1,60,1,40,1,60,1,60,1,60,1,60,1,40,1,60,1,40,1,40,1,60,1,60,1,40,1,40,1,40,1,40,1,90,1,50,1,1,40,1,40,1]],[\"start\",[1253,1253,1254,1254,1255,1255,1256,1256,1257,1257,1258,1258,1259,1259,1260,1260,1261,1261,1262,1262,1263,1263,1264,1264,1265,1265,1266,1266,1267,1268,1268,1269,1269,1270,1270,1271,1271,1272,1272,1273,1273,1274,1274,1275,1275,1276,1276,1277,1277,1278,1278,1279,1279,1280,1280,1281,1281,1282,1282,1283,1283,1284,1284,1285,1285,1286,1286,1287,1287,1288,1288,1289,1289,1290,1290,1291,1291,1292,1293,1293,1294,1294]],[\"end\",[1296,1303,1295,1304,1298,1303,1298,1303,1296,1303,1298,1303,1295,1304,1296,1303,1297,1304,1296,1303,1295,1304,1300,1303,1298,1303,1299,1304,1303,1299,1304,1302,1304,1300,1303,1300,1303,1301,1303,1295,1304,1301,1303,1297,1304,1302,1304,1302,1304,1301,1303,1302,1304,1297,1304,1302,1304,1299,1304,1298,1303,1301,1303,1301,1303,1297,1304,1297,1304,1300,1303,1300,1303,1296,1303,1295,1304,1304,1299,1304,1299,1304]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.42857142857142855,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.7142857142857142,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.7142857142857142,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.9999999999999998,0.14285714285714285,0.857142857142857,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.7142857142857142,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.2857142857142857,0.14285714285714285]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5370\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5371\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5375\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5372\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5373\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5333\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5346\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5347\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5353\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5352\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5354\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5355\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5356\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5377\",\"attributes\":{\"renderers\":[{\"id\":\"p5369\"},{\"id\":\"p5362\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5341\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5342\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5343\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5344\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5336\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5337\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5338\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5339\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5340\",\"attributes\":{\"axis\":{\"id\":\"p5336\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5345\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5341\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"b5ada101-0a6f-4aa9-82f6-acb30d0a708f\",\"roots\":{\"p5325\":\"dc62a732-845f-4f7c-80db-dc6b50e0091c\"},\"root_ids\":[\"p5325\"],\"notebook_comms_target\":\"p5378\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p5325" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"4fd797a6-f382-46b5-93c4-cc2ff51ddb19\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5431\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5432\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5433\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5440\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5441\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5438\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5463\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5480\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1253,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jvbSkCaT5b/3mILTjBHhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1254,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9kiqOYwG4z+QYfgxK6rcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1255,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LFJewygH5r85BX4V2rXXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1256,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DIYhfIl75r8SkdZEvrTUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1257,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"d/kBNpX/5r//dfjFrVzjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1258,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oZHyytNP5L95vy+GLmrYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1259,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eIDMv/J/5T/CsEUF4iLePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1260,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"93asgtA6579N92brk7Xgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1261,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D+VI7Qp2KXZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1262,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"onEjmDKs57/TwION+BLivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1263,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"p5WQQqXo4z8wEgCF2TffPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1264,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+mtxOquv7L/6QX9ffkbTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1265,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HqyawQzy47/+SI7PxTPVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1266,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7y0q5Dsu6j/QHlcPYwLkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1267,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k/+I0PnY7L/s9tqgEDHkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1268,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"piLNmMW96j8tv2LRj07hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1269,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1SOG4tvE5z8lCOCWiJHSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1270,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CauNzI1v7b+ErhFdMoLQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1271,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"umMa0JgV679DjTMgR/bSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1272,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"knI3O+e/7r8fd5HIoMzbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1273,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2uZUFx5A5T8Lzu0ma7DaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1274,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"S4OJTxBg779lUKo63Nrdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1275,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uGGZ1r507j8t1vdIKxTbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1276,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NL3oMYNn5z89EwB1N0HOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1277,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iDJC9G3v6T+AME2tW/jOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1278,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dq9GwqOo7b8Csa7rAGjgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1279,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"H6z/EgMC6T/lwAsGQY7RPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1280,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mDYyrKGR7z839EoFqWfWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1281,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W+bqybri6D/CzKBxW+jKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1282,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2G5Zn+8+6z/SUlvK89DiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1283,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ThlBFCoe5b8V+Y5+l4fSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1284,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h1kmBiU/7b/zDCTCgq/dvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1285,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jiLBc4Uj779esaXTlkrgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1286,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QWXgV5g47T/LrVN4v5nYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1287,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zVdJSXEf7j/86tOAXDfVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1288,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SiZO4kl36r9UgAvc//HOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1289,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hmMyaxYk7L8cR/HXYofMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1290,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v2tNkoVm5b+uSyVsS5/ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1291,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bv7rtPfS4z91R9A7HtvZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1292,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Q0KZpFnc7z8YgBIvYMLhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1293,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"COKPA3ow6T/k3c1JW7zhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1294,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"23X/OX9+6D8KO6iUgnDjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5468\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5465\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5466\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5467\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[1253,1254,1255,1256,1257,1258,1259,1260,1261,1262,1263,1264,1265,1266,1267,1268,1269,1270,1271,1272,1273,1274,1275,1276,1277,1278,1279,1280,1281,1282,1283,1284,1285,1286,1287,1288,1289,1290,1291,1292,1293,1294]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5469\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5470\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5482\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5475\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5472\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5473\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5474\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,51,1,1,51,1,51,51,1,1,1,1,1,1,1,1,1,1,1,1,1,51,1,1,1,51,1,51,1,1,1,51,1,1,1,1,41,1,1,1,1,1,41,1,41,1,1,1,41,1,1,1,1,1,1,41,1,1,1,1,1,1,41,1,1,1,41,1,1,1,1,1,1,1,1,1,1,1,51,1,51,51,1,1,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,1,1,1,51,1,1,1,1,51,1,1,1,51,1,1,1,1,1,1,1,1,1,51,51,1,1,1,1,1,1,1,1,41,1,1,41,41,1,1,1,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,51,1,1,1,1,1,1,1,1,1,1,1,1,1,51,1,1,1,1,1,1,51,1,1,1,1,1,1,1,41,41,1,1,1,41,41,1,1,1,41,1,1,1,1,1,1,1,1,1,1,1,1,1,41,1,1,1,1,41,41,41,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,1,1,1,1,41,41,1,1,1,1,1,1,1,61,1,1,1,1,1,1,1,1,1,61,61,61,1,1,1,41,41,1,41,1,1,1,1,1,1,41,41,1,1,1,1,1,61,61,1,1,1,61,61,1,1,1,1,1,51,1,1,1,1,1,1,1,1,61,61,1,1,1,61,41,1,1,41,41,1,1,1,1,1,1,1,1,61,1,1,1,1,1,1,1,61,61,1,61,1,1,1,1,1,1,1,61,1,61,61,1,1,1,1,61,1,1,1,1,1,1,1,1,1,41,41,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,41,41,1,1,1,1,1,61,1,1,1,1,1,1,41,1,1,1,1,1,1,1,1,41,1,1,1,1,1,1,1,41]],[\"start\",[1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1253,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1254,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1255,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1256,1257,1257,1257,1257,1257,1257,1257,1257,1257,1257,1257,1257,1257,1257,1257,1257,1257,1258,1258,1258,1258,1258,1258,1258,1258,1258,1258,1258,1258,1258,1258,1258,1258,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1259,1260,1260,1260,1260,1260,1260,1260,1260,1260,1260,1260,1260,1260,1260,1260,1261,1261,1261,1261,1261,1261,1261,1261,1261,1261,1261,1261,1261,1261,1261,1261,1261,1261,1262,1262,1262,1262,1262,1262,1262,1262,1262,1262,1262,1262,1262,1262,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1263,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1264,1265,1265,1265,1265,1265,1265,1265,1265,1265,1265,1265,1265,1266,1266,1266,1266,1266,1266,1266,1266,1266,1266,1266,1266,1266,1266,1266,1266,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1267,1268,1268,1268,1268,1268,1268,1268,1268,1268,1268,1268,1268,1268,1268,1268,1269,1269,1269,1269,1269,1269,1269,1269,1269,1269,1269,1269,1269,1269,1270,1270,1270,1270,1270,1270,1270,1270,1270,1270,1271,1271,1271,1271,1271,1271,1271,1271,1271,1272,1272,1272,1272,1272,1272,1272,1272,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1273,1274,1274,1274,1274,1274,1274,1274,1275,1275,1275,1275,1275,1275,1275,1275,1275,1275,1275,1275,1276,1276,1276,1276,1276,1276,1276,1276,1276,1276,1276,1277,1277,1277,1277,1277,1277,1277,1277,1277,1277,1278,1278,1278,1278,1278,1278,1279,1279,1279,1279,1279,1279,1279,1279,1279,1280,1280,1280,1280,1280,1280,1280,1280,1281,1281,1281,1281,1281,1281,1281,1282,1282,1282,1282,1282,1282,1283,1283,1283,1283,1283,1284,1284,1284,1284,1285,1285,1285,1286,1286,1286,1286,1286,1287,1287,1287,1287,1288,1288,1289,1291,1291,1291,1292,1292,1293]],[\"end\",[1283,1284,1285,1288,1289,1290,1255,1256,1257,1258,1260,1262,1264,1265,1267,1270,1271,1272,1274,1278,1280,1281,1282,1286,1287,1291,1292,1293,1294,1259,1261,1263,1266,1268,1269,1273,1275,1276,1277,1279,1283,1284,1285,1288,1289,1290,1256,1257,1258,1260,1262,1264,1265,1267,1270,1271,1272,1274,1278,1283,1284,1285,1288,1289,1290,1257,1258,1260,1262,1264,1265,1267,1270,1271,1272,1274,1278,1283,1284,1285,1288,1289,1290,1258,1260,1262,1264,1265,1267,1270,1271,1272,1274,1278,1283,1284,1285,1288,1289,1290,1260,1262,1264,1265,1267,1270,1271,1272,1274,1278,1280,1281,1282,1286,1287,1291,1292,1293,1294,1261,1263,1266,1268,1269,1273,1275,1276,1277,1279,1283,1284,1285,1288,1289,1290,1262,1264,1265,1267,1270,1271,1272,1274,1278,1280,1281,1282,1286,1287,1291,1292,1293,1294,1263,1266,1268,1269,1273,1275,1276,1277,1279,1283,1284,1285,1288,1289,1290,1264,1265,1267,1270,1271,1272,1274,1278,1280,1281,1282,1286,1287,1291,1292,1293,1294,1266,1268,1269,1273,1275,1276,1277,1279,1283,1284,1285,1288,1289,1290,1265,1267,1270,1271,1272,1274,1278,1283,1284,1285,1288,1289,1290,1267,1270,1271,1272,1274,1278,1280,1281,1282,1286,1287,1291,1292,1293,1294,1268,1269,1273,1275,1276,1277,1279,1283,1284,1285,1288,1289,1290,1270,1271,1272,1274,1278,1280,1281,1282,1286,1287,1291,1292,1293,1294,1269,1273,1275,1276,1277,1279,1280,1281,1282,1286,1287,1291,1292,1293,1294,1273,1275,1276,1277,1279,1283,1284,1285,1288,1289,1290,1271,1272,1274,1278,1283,1284,1285,1288,1289,1290,1272,1274,1278,1283,1284,1285,1288,1289,1290,1274,1278,1280,1281,1282,1286,1287,1291,1292,1293,1294,1275,1276,1277,1279,1283,1284,1285,1288,1289,1290,1278,1280,1281,1282,1286,1287,1291,1292,1293,1294,1276,1277,1279,1280,1281,1282,1286,1287,1291,1292,1293,1294,1277,1279,1280,1281,1282,1286,1287,1291,1292,1293,1294,1279,1283,1284,1285,1288,1289,1290,1280,1281,1282,1286,1287,1291,1292,1293,1294,1281,1282,1286,1287,1291,1292,1293,1294,1282,1286,1287,1291,1292,1293,1294,1286,1287,1291,1292,1293,1294,1284,1285,1288,1289,1290,1285,1288,1289,1290,1288,1289,1290,1287,1291,1292,1293,1294,1291,1292,1293,1294,1289,1290,1290,1292,1293,1294,1293,1294,1294]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.75,0.25,0.75,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.75,0.25,0.75,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.5,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.75,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.5,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,1.0,0.25,0.25,0.25,0.5,0.5,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,1.0,1.0,0.25,0.25,0.25,1.0,1.0,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,0.25,0.25,0.25,1.0,0.5,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,1.0,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.25,1.0,1.0,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5476\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5477\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5481\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5478\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5479\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5439\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5452\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5453\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5459\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5458\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5460\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5461\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5462\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5483\",\"attributes\":{\"renderers\":[{\"id\":\"p5475\"},{\"id\":\"p5468\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5447\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5448\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5449\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5450\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5442\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5443\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5444\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5445\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5446\",\"attributes\":{\"axis\":{\"id\":\"p5442\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5451\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5447\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"4fd797a6-f382-46b5-93c4-cc2ff51ddb19\",\"roots\":{\"p5431\":\"d8efb4a8-84ad-45e6-befc-92459177348a\"},\"root_ids\":[\"p5431\"],\"notebook_comms_target\":\"p5484\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p5431" } }, "output_type": "display_data" } ], "source": [ "creator.create(df=df_school, location_designers=[ClassRoom, School], clear=True)\n", "inspector.plot_networks(location_color=\"label\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "It is also possible to combine both nesting techniques.\n", "We could first nest the class `ClassRoom` into `School` using `stick_together()` in order to get the composition wanted for `ClassRoom` and then use `nest()` to nest further locations into `School`, as it is done in the next example:" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [], "source": [ "class TeachersInClassRoom(p2n.MeltLocationDesigner):\n", " n_actors = 1\n", "\n", " def filter(self, actor):\n", " return actor.status == \"teacher\"\n", "\n", "\n", "class PupilsInClassRoom(p2n.MeltLocationDesigner):\n", " n_actors = 4\n", "\n", " def filter(self, actor):\n", " return actor.status == \"pupil\"\n", "\n", " def split(self, actor):\n", " return actor.grade\n", "\n", " def stick_together(self, actor):\n", " return actor.friend_group\n", "\n", "\n", "class ClassRoom(p2n.LocationDesigner):\n", " def melt(self):\n", " return [TeachersInClassRoom, PupilsInClassRoom]\n", "\n", " def weight(self, actor):\n", " return actor.hours * 10\n", "\n", "\n", "class School(p2n.LocationDesigner):\n", " n_locations = 2\n", "\n", " def stick_together(self, actor):\n", " return actor.ClassRoom\n", "\n", "\n", "class SoccerTeam(p2n.LocationDesigner):\n", " n_actors = 11\n", "\n", " def nest(self):\n", " return \"School\"" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [], "source": [ "creator.create(\n", " df=df_school,\n", " location_designers=[\n", " ClassRoom, # nested into School using `stick_together()`\n", " School,\n", " SoccerTeam, # nested into School using `nest()`\n", " ],\n", " clear=True,\n", ")" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"084f08b3-e410-4c20-a2ab-c0f1cb2eb9c4\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5527\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5528\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5529\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5536\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5537\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5534\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5559\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5576\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1305,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UvvkzQS15b++NcV9GmPpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1306,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"c9xgf9oSsT9gWCqBQKfePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1307,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kEVLuJd62b8L28KVGe3bPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1308,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b+JQc/Qt3b/te9jQLe3ZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1309,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"52uZ5yyF5b+pe7R/ktLlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1310,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SZL+UCuw3b/pX1+ky6LVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1311,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XeTyynFl1b/3yiuuQALjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1312,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wY4Dol5b4r8f4oUNfqjoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1313,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OBeF+NXb1b/gw4uYDRfmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1314,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uuIaPHDk4r/2wdwq7FHmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1315,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uFTrxlcy0r8jv/LBrWTnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1316,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MG7wCbPUuz/6Ffq908LsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1317,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rW3fttWv47+0Ey5arC3qPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1318,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BaKNVQ4M3z/RVx3zLw/pvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1319,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"asg41TMV2j8WMctuLIvhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1320,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3mJxSpscrz8B3B0/VMTvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1321,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mW8nX+bXzj8isfwgArTQvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1322,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"unuTfHZruj/i3aRQKM3uPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1323,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mNSJ/u+/1b/H5wWXd4nWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1324,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UO/IW2G43z+1Ds1HCvLmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1325,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Gjhw9ryk0L/Tod17s0njvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1326,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fTQy72H8xT8dn2+qznTdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1327,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eO1wiPPJbD/olsL8YkPuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1328,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7DPDeIHl0D+ASMO0NkTtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1329,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HCo4dYGJxz+VBNAgpJLPvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1330,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hWQWA5o2yD8utyftaw7ZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1331,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MHXfswcG1D8YG2786zLKvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1332,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Co33LC6NxT9NvLF7LJXtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1333,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8ChtoNz/xT+q91KTH6/Ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1334,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lqsWJ7fj4j8Jlic1PRbpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1335,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2amUsy+J0r81o6CWpLXWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1336,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"S2/ekR5Vsj9jqG1h767XPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1337,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hFPnZz4vtT+QUuT37b/bPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1338,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FZLCev18wz8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1339,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VStnX5GauD+Ry4dnEB7svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1340,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OnboF6onyz8A3K3ELIjrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1341,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/soJQ1JoyT/bfKa4yNzvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1342,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q4LasKqN0T8zuudIeZPIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1343,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Avn6RzaUzL/StWo/q07lvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1344,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Fq8tMqqm1j+XD9J/sdzoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1345,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1pPs4TCY4T/i/DX5fsHkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1346,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2NeQjdmU4z8+Iae3UVjlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1347,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MOd/TQ3X07/Lx3Axucvkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1348,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bi/H06qM5L/1GWgcXJ/nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1349,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WT8XzutMtj/2lHSK2zbuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1350,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aVtrPDPU2L/9oI90GefVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1351,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5WWJM1av4T8mHK35JATnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1352,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"X+VtVlFdyT/J7ihxfKDtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1353,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"niC/L0Lpvz+ECxK12rbZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1354,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FaS6d8W0zT+mpxMS4hbGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1355,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fPeF64ngxL9IRe3QeyDlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1356,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WtA6D0MJwz8vEqe4Xrjjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1357,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zpR/D9581b+mqLr7sRTnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1358,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fk1AhMY5sT+p3hqfarHkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1359,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YKMLtLwEqz8Bmx1Z1q3kvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1360,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WKcMsuk00T9OppImVnfjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5564\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5561\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5562\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5563\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"ClassRoom\",\"School\",\"School\",\"SoccerTeam\",\"SoccerTeam\",\"SoccerTeam\",\"SoccerTeam\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\",null,null,null,null,null,null,null,null,null,null,null,null,null,null]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index\",[1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346,1347,1348,1349,1350,1351,1352,1353,1354,1355,1356,1357,1358,1359,1360]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#aec7e8\",\"#aec7e8\",\"#ff7f0e\",\"#ff7f0e\",\"#ff7f0e\",\"#ff7f0e\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5565\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5566\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5578\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5571\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5568\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5569\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5570\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[50,1,1,60,1,1,40,1,1,40,1,1,50,1,1,40,1,1,50,1,1,50,1,1,90,1,1,50,1,1,50,1,1,40,1,1,50,1,1,40,1,1,1,1,90,1,1,60,1,1,40,1,1,110,1,1,100,1,1,50,1,1,60,1,1,40,1,1,60,1,1,60,1,1,60,1,1,60,1,1,40,1,1,60,1,1,40,1,1,40,1,1,60,1,1,60,1,1,40,1,1,40,1,1,40,1,1,40,1,1,90,1,1,50,1,1,1,1,40,1,1,40,1,1]],[\"start\",[1305,1305,1305,1306,1306,1306,1307,1307,1307,1308,1308,1308,1309,1309,1309,1310,1310,1310,1311,1311,1311,1312,1312,1312,1313,1313,1313,1314,1314,1314,1315,1315,1315,1316,1316,1316,1317,1317,1317,1318,1318,1318,1319,1319,1320,1320,1320,1321,1321,1321,1322,1322,1322,1323,1323,1323,1324,1324,1324,1325,1325,1325,1326,1326,1326,1327,1327,1327,1328,1328,1328,1329,1329,1329,1330,1330,1330,1331,1331,1331,1332,1332,1332,1333,1333,1333,1334,1334,1334,1335,1335,1335,1336,1336,1336,1337,1337,1337,1338,1338,1338,1339,1339,1339,1340,1340,1340,1341,1341,1341,1342,1342,1342,1343,1343,1343,1344,1344,1345,1345,1345,1346,1346,1346]],[\"end\",[1348,1355,1357,1353,1355,1357,1350,1355,1357,1350,1355,1357,1348,1355,1357,1350,1355,1357,1347,1356,1359,1348,1355,1357,1347,1356,1359,1348,1355,1357,1347,1356,1359,1352,1355,1357,1348,1355,1357,1351,1356,1359,1356,1359,1349,1356,1359,1354,1356,1359,1352,1355,1357,1350,1355,1358,1351,1356,1359,1347,1356,1359,1353,1355,1358,1349,1356,1359,1352,1355,1358,1354,1356,1359,1353,1355,1358,1354,1356,1360,1349,1356,1360,1354,1356,1360,1351,1356,1360,1350,1355,1358,1353,1355,1358,1353,1355,1358,1349,1356,1360,1349,1356,1360,1352,1355,1358,1352,1355,1358,1354,1356,1360,1347,1356,1360,1355,1358,1351,1356,1360,1351,1356,1360]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.42857142857142855,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.7142857142857142,0.14285714285714285,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.14285714285714285,0.14285714285714285,0.7142857142857142,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.9999999999999998,0.14285714285714285,0.14285714285714285,0.857142857142857,0.14285714285714285,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.5714285714285714,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.7142857142857142,0.14285714285714285,0.14285714285714285,0.42857142857142855,0.14285714285714285,0.14285714285714285,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285,0.2857142857142857,0.14285714285714285,0.14285714285714285]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5572\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5573\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5577\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5574\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5575\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5535\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5548\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5549\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5555\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5554\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5556\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5557\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5558\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5579\",\"attributes\":{\"renderers\":[{\"id\":\"p5571\"},{\"id\":\"p5564\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
status:@status
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5543\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5544\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5545\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5546\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5538\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5539\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5540\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5541\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5542\",\"attributes\":{\"axis\":{\"id\":\"p5538\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5547\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5543\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"084f08b3-e410-4c20-a2ab-c0f1cb2eb9c4\",\"roots\":{\"p5527\":\"fa29520f-674b-4521-9559-929b5f4aa472\"},\"root_ids\":[\"p5527\"],\"notebook_comms_target\":\"p5580\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p5527" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"c0c8c3c1-2808-47d9-b15c-89ee1f0b7058\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5637\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5638\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5639\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5646\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5647\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5644\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5669\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5686\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[1305,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+YwB2xfB479FBrofoEjLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1306,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LSuAKrVp67/dwCICmaC8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1307,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QRIUrggU5r8F7apRwKiiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1308,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cfS+b9sP5r+qAyZatT+8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1309,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DWFpwOGI5L8zjX/bWVfTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1310,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TLK++q8F5b86t9HrzW6yPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1311,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aM2O9hrd4z/YW1sdM4rSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1312,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"orKMSoR747/7nbiSW/PQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1313,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"oiW4ArnB5D8MWQIQBE7Qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1314,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"c4LwKw/b5b9VtuTwbtrRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1315,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1abtnwyt5T+/hUmsR9zSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1316,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zPxXBeYj6r/qYSQxtpjSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1317,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZL5mXFpD5b+oGefpNTjOPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1318,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mwz8CBdT7T/dS5nw9hTEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1319,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"d0LfGE1x5D9HvqZj+wy+vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1320,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qN5qo49U6D/wVVd9yjKmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1321,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vo0QBK3t6j+6qofjCuvUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1322,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tHCPhok96r+z11VawZrVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1323,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fKqrt3jZ57/bR++8l2G3Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1324,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"14SNLzr76z9xM9d6ZXfCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1325,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nxkkCMaz4z8FPl/xrrrMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1326,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EC3S+ICH67+Ydg2WRq+rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1327,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hkEA5FSz5j94YpzrbjKivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1328,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QXMA5x7K7L9+lUFeV7nSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1329,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GqrQAqBw6T/1L2meUt3Uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1330,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w9wk0tUb7b/6/orExW6oPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1331,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"prN2gXTY6T/9sOoDIhDSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1332,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CEKDTw6O6D+2LsGbzi2APw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1333,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mJHOeHYx6j/DPRgq6lrPvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1334,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IvQ7uFK77j8PNKTttcnHvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1335,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dxgfWAbO57/LU/sqpGmjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1336,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"g4v3zkPs7L8BA+dzkny8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1337,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XZq77mgD7r/KszrYRVe2Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1338,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0eAq9ukm6D9msOZydvW0vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1339,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ud58qNgF6j8/7CoEWhOcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1340,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fwMxdIYe7L81ij4rp0rVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1341,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RFoAjAPK67/LxMMSbJfQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1342,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"u4yP5uWx6z9rjWMqnyPSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1343,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5BVoH2/25T8AN60Gr1jNvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1344,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8L+xjsHAkEfKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1345,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R3FIWWFP7j+uPpfucv+3vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1346,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lcj0O5Ao7z9GfN+Tcb/Bvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5674\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5671\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5672\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5673\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"status\",[\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"teacher\",\"pupil\",\"pupil\",\"teacher\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"pupil\",\"teacher\",\"pupil\",\"social_worker\",\"pupil\",\"pupil\"]],[\"index\",[1305,1306,1307,1308,1309,1310,1311,1312,1313,1314,1315,1316,1317,1318,1319,1320,1321,1322,1323,1324,1325,1326,1327,1328,1329,1330,1331,1332,1333,1334,1335,1336,1337,1338,1339,1340,1341,1342,1343,1344,1345,1346]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#aec7e8\",\"#1f77b4\",\"#1f77b4\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"status_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5675\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5676\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5688\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5681\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5678\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5679\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5680\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[2,2,2,52,2,52,52,2,52,2,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,1,61,1,61,1,61,61,1,1,1,42,2,42,2,2,2,2,2,41,1,1,1,41,1,1,1,1,1,2,42,2,2,2,2,2,41,1,1,1,41,1,1,1,1,1,2,52,52,2,52,2,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,41,1,1,1,41,1,1,1,1,1,52,52,2,2,2,2,2,52,2,2,1,1,1,1,1,1,1,51,1,1,52,2,52,2,1,1,1,1,1,1,1,1,1,1,52,2,2,2,2,2,52,2,2,1,1,1,1,1,1,1,51,1,1,2,52,2,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,52,2,2,1,1,1,1,1,1,1,51,1,1,2,42,1,1,41,1,1,1,1,41,41,1,2,1,1,1,1,1,1,1,1,1,1,2,2,2,42,2,2,2,1,1,1,41,1,1,1,1,41,41,2,2,2,2,2,2,1,1,1,1,1,1,1,1,1,1,2,2,2,42,2,1,41,1,1,41,41,1,1,1,1,2,2,2,62,61,1,61,1,1,1,61,1,1,1,1,1,41,1,1,1,1,41,41,1,2,2,2,42,2,2,2,2,2,2,2,2,1,1,1,41,1,1,1,1,41,41,2,2,1,1,1,1,1,1,1,51,1,1,2,62,2,62,62,2,2,2,2,1,41,1,1,41,41,1,1,1,1,2,2,2,2,42,42,2,61,1,61,1,1,1,61,1,1,1,2,62,62,2,2,2,2,62,2,2,2,62,2,2,2,2,2,42,42,2,2,2,2,2,2,2,62,2,2,2,2,2,2,2,42,42,2,2,2,2,2,62,2,2,2,2,2,2,42,2,2,2,2,2,2,2,2,42,2,2,2,2,2,2,2,42]],[\"start\",[1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1305,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1306,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1307,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1308,1309,1309,1309,1309,1309,1309,1309,1309,1309,1309,1309,1309,1309,1309,1309,1309,1310,1310,1310,1310,1310,1310,1310,1310,1310,1310,1310,1310,1310,1310,1310,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1311,1312,1312,1312,1312,1312,1312,1312,1312,1312,1312,1312,1312,1312,1312,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1313,1314,1314,1314,1314,1314,1314,1314,1314,1314,1314,1314,1314,1314,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1315,1316,1316,1316,1316,1316,1316,1316,1316,1316,1316,1316,1316,1317,1317,1317,1317,1317,1317,1317,1317,1317,1317,1317,1318,1318,1318,1318,1318,1318,1318,1318,1318,1318,1318,1318,1318,1318,1318,1318,1318,1319,1319,1319,1319,1319,1319,1319,1319,1319,1319,1319,1319,1319,1319,1319,1319,1320,1320,1320,1320,1320,1320,1320,1320,1320,1320,1320,1320,1320,1320,1320,1321,1321,1321,1321,1321,1321,1321,1321,1321,1321,1321,1321,1321,1321,1322,1322,1322,1322,1322,1322,1322,1322,1322,1322,1323,1323,1323,1323,1323,1323,1323,1323,1323,1324,1324,1324,1324,1324,1324,1324,1324,1324,1324,1324,1324,1324,1325,1325,1325,1325,1325,1325,1325,1325,1325,1325,1325,1325,1326,1326,1326,1326,1326,1326,1326,1326,1327,1327,1327,1327,1327,1327,1327,1327,1327,1327,1327,1328,1328,1328,1328,1328,1328,1328,1329,1329,1329,1329,1329,1329,1329,1329,1329,1329,1330,1330,1330,1330,1330,1330,1331,1331,1331,1331,1331,1331,1331,1331,1331,1332,1332,1332,1332,1332,1332,1332,1332,1333,1333,1333,1333,1333,1333,1333,1334,1334,1334,1334,1334,1334,1335,1335,1335,1335,1335,1336,1336,1336,1336,1337,1337,1337,1338,1338,1338,1338,1338,1339,1339,1339,1339,1340,1340,1341,1342,1342,1342,1343,1343,1345]],[\"end\",[1306,1307,1308,1309,1310,1312,1314,1316,1317,1322,1323,1326,1328,1330,1335,1336,1337,1340,1341,1344,1307,1308,1309,1310,1312,1314,1316,1317,1322,1323,1326,1328,1330,1335,1336,1337,1340,1341,1344,1308,1309,1310,1312,1314,1316,1317,1322,1323,1326,1328,1330,1335,1336,1337,1340,1341,1344,1309,1310,1312,1314,1316,1317,1322,1323,1326,1328,1330,1335,1336,1337,1340,1341,1344,1310,1312,1314,1316,1317,1322,1323,1326,1328,1330,1335,1336,1337,1340,1341,1344,1312,1314,1316,1317,1322,1323,1326,1328,1330,1335,1336,1337,1340,1341,1344,1313,1315,1318,1319,1320,1321,1324,1325,1327,1329,1331,1332,1333,1334,1338,1339,1342,1343,1345,1346,1314,1316,1317,1322,1323,1326,1328,1330,1335,1336,1337,1340,1341,1344,1315,1318,1319,1320,1321,1324,1325,1327,1329,1331,1332,1333,1334,1338,1339,1342,1343,1345,1346,1316,1317,1322,1323,1326,1328,1330,1335,1336,1337,1340,1341,1344,1318,1319,1320,1321,1324,1325,1327,1329,1331,1332,1333,1334,1338,1339,1342,1343,1345,1346,1317,1322,1323,1326,1328,1330,1335,1336,1337,1340,1341,1344,1322,1323,1326,1328,1330,1335,1336,1337,1340,1341,1344,1319,1320,1321,1324,1325,1327,1329,1331,1332,1333,1334,1338,1339,1342,1343,1345,1346,1320,1321,1324,1325,1327,1329,1331,1332,1333,1334,1338,1339,1342,1343,1345,1346,1321,1324,1325,1327,1329,1331,1332,1333,1334,1338,1339,1342,1343,1345,1346,1324,1325,1327,1329,1331,1332,1333,1334,1338,1339,1342,1343,1345,1346,1323,1326,1328,1330,1335,1336,1337,1340,1341,1344,1326,1328,1330,1335,1336,1337,1340,1341,1344,1325,1327,1329,1331,1332,1333,1334,1338,1339,1342,1343,1345,1346,1327,1329,1331,1332,1333,1334,1338,1339,1342,1343,1345,1346,1328,1330,1335,1336,1337,1340,1341,1344,1329,1331,1332,1333,1334,1338,1339,1342,1343,1345,1346,1330,1335,1336,1337,1340,1341,1344,1331,1332,1333,1334,1338,1339,1342,1343,1345,1346,1335,1336,1337,1340,1341,1344,1332,1333,1334,1338,1339,1342,1343,1345,1346,1333,1334,1338,1339,1342,1343,1345,1346,1334,1338,1339,1342,1343,1345,1346,1338,1339,1342,1343,1345,1346,1336,1337,1340,1341,1344,1337,1340,1341,1344,1340,1341,1344,1339,1342,1343,1345,1346,1342,1343,1345,1346,1341,1344,1344,1343,1345,1346,1345,1346,1346]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[0.25,0.25,0.25,0.75,0.25,0.75,0.75,0.25,0.75,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.125,0.875,0.125,0.875,0.125,0.875,0.875,0.125,0.125,0.125,0.5,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.375,0.125,0.125,0.125,0.375,0.125,0.125,0.125,0.125,0.125,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.375,0.125,0.125,0.125,0.375,0.125,0.125,0.125,0.125,0.125,0.25,0.75,0.75,0.25,0.75,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.25,0.25,0.25,0.25,0.25,0.375,0.125,0.125,0.125,0.375,0.125,0.125,0.125,0.125,0.125,0.75,0.75,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.625,0.125,0.125,0.75,0.25,0.75,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.75,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.625,0.125,0.125,0.25,0.75,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.25,0.25,0.25,0.25,0.25,0.75,0.25,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.625,0.125,0.125,0.25,0.5,0.125,0.125,0.375,0.125,0.125,0.125,0.125,0.375,0.375,0.125,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.125,0.125,0.125,0.375,0.125,0.125,0.125,0.125,0.375,0.375,0.25,0.25,0.25,0.25,0.25,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.25,0.25,0.25,0.5,0.25,0.125,0.375,0.125,0.125,0.375,0.375,0.125,0.125,0.125,0.125,0.25,0.25,0.25,1.0,0.875,0.125,0.875,0.125,0.125,0.125,0.875,0.125,0.125,0.125,0.125,0.125,0.375,0.125,0.125,0.125,0.125,0.375,0.375,0.125,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.125,0.125,0.125,0.375,0.125,0.125,0.125,0.125,0.375,0.375,0.25,0.25,0.125,0.125,0.125,0.125,0.125,0.125,0.125,0.625,0.125,0.125,0.25,1.0,0.25,1.0,1.0,0.25,0.25,0.25,0.25,0.125,0.375,0.125,0.125,0.375,0.375,0.125,0.125,0.125,0.125,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.875,0.125,0.875,0.125,0.125,0.125,0.875,0.125,0.125,0.125,0.25,1.0,1.0,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.5,0.25,0.25,0.25,0.25,0.25,1.0,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5,0.25,0.25,0.25,0.25,0.25,0.25,0.25,0.5]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"status_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5682\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5683\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5687\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5684\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5685\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5645\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5658\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5659\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5665\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5664\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5666\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5667\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5668\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5689\",\"attributes\":{\"renderers\":[{\"id\":\"p5681\"},{\"id\":\"p5674\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
status:@status
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5653\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5654\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5655\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5656\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5648\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5649\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5650\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5651\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5652\",\"attributes\":{\"axis\":{\"id\":\"p5648\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5657\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5653\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"c0c8c3c1-2808-47d9-b15c-89ee1f0b7058\",\"roots\":{\"p5637\":\"b1f2179d-7764-4745-972f-8a8a9e2a275f\"},\"root_ids\":[\"p5637\"],\"notebook_comms_target\":\"p5690\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p5637" } }, "output_type": "display_data" } ], "source": [ "inspector.plot_networks(location_color=\"label\", actor_color=\"status\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "This way we can nest multiple locations into one level-2 location and at the same time ensure that the composition of actors defined in `ClassRoom` is met in each school.\n", "The order of the locations plays a crucial role:\n", "1. The classrooms with the desired compositions are created\n", "2. The schools are created keeping together whole classrooms\n", "3. Soccer teams are created within the schools" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Integrating networkx graphs\n", "\n", "One great features of Pop2net is that we do not have to forego classic network models because networkX graph (generators) are easily integrateble.\n", "To build a network component based on a networkX graph or networkX graph generator, we only have to set the LocationDesigner class attribute `nxgraph` to the desired graph (generator).\n", "\n", "In the following example, we define a location class that creates a small world network from a networkx graph generator:" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"60c3636e-f27d-45b4-8a2e-2464ebd0ed3a\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5733\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5734\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5735\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5742\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5743\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5740\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5765\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5782\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HmrLg9fI3j+fkXvYeArWvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uhyEtiQ81T+ecbAhPFzcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lPD5vmDMzD/2Ay1H/zfhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aXE0MxKroz+hMPyLmU/dvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vdEReW7lpD8u5E4Hlk7Xvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sdp1nf/6uL83UbZMXZTEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MZBPKxrwnr9uzR/QL2aAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CHoNlvr6wL8AcZa6dH/MPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6erdJlOct78rNOoBrCjZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cWHt1Fptvr+m45tUYKviPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nY4jzI1+nz/LXGTN0avkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OEKfd9prwD/6YiHL5M/iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ylnxb0f70z/FZAn0SaHbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JqH6nqgQ1z82GsbSHW/LPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hvJWxkQu3T+I+6BK6PKUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+38v1QrT2j8gMlVYeFLSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7l/SToHI2T8OhkM7mbPgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7NZyNq6Dzj/zVint1Uvnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gSvfkVANtD/Nksh+74/qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6BozI0uPw78xVYiGW4Xsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0NIoaups1L/Y1Q8eRmbsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Nw3qXs1n3r9fwkGBhbLlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OBylkWq52r+iWA/HDIbqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vPQx4/GDzb/D8yXRspbmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XLU12+KV0b+H7jDpHovhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pfHGS32P0L9V2M16UpzYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2amKi7qX07/ZiJhZMva8vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2wV7pqfT0r8KK4qT5BZ/vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YfJNmJm9zL/cSzMlPuTbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pGSel8cgt78/1Vj9J7brPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[30,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rhPhR4FWhT/CaYf22LvrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[31,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HDlQSm6zyj83iGIC47zvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[32,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2ZvTIrXo0j8+tRhuMifsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[33,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a30G7t6s1z9Sa4x4FwbpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OUCO7AK0xT/vnm54TfXhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cj2/G0Jiyz+GS1ach3zdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8QdBhZkG0r/hfLXLrXLVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KXjFarea1r8E5F3SVQvZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"frI2Lon65L+GVQBQVHDTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sVaIZPjM57+ebhzGQM3RPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LZoBZgCl6b+uxC7ans20Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Yv8GNgZU5b/QedaDJnqSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[42,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GQvPEa6e37/S8X/75KvGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[43,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"K/V0mJVAzb/m7mzQuLeTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[44,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jA0yuZAYkD9LjsjQBsVZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[45,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"cG7eosFi0j9rjbSol3OIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[46,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5+kNdCGU3j+yRsxx5qfAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[47,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"46kzrqAB5j/8PRIBzFWgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[48,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CbdzrY4C5z/8tVgZS9S9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[49,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3eHdne8T5T9zBvOtpJXSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[50,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fzlM8U7Fqb96kwEkIBq4vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[51,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q1Vu+tib2T+RrFFG5Kagvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[52,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ItXJIW6x3b+/NxGYzhhwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[53,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"g3Kt742I1z/scSK6p4Plvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[54,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CbIFRey6kD/Ur9FANd7Hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[55,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5RuIyR5zsD/C7Biwm6XmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[56,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7HbBsO6fxD9Yu19EekTtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[57,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"keTocji64L8GjcUUefvWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[58,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WAh5gMio1b/VtLKsIurpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[59,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wqETH6th5D+UipxZWmS2Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[60,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gf/va7K/wr8rfvbWroLgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[61,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nSJaRXobyL//1W5GdorlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[62,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mP2jA5klt78iWiB7IEXmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[63,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wYobAl5G0D8sOqH9GbGyPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[64,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9Cc/xi4g1L/01p77XArRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[65,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5fCIKGs0wL9Ke80hsH/rvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[66,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5Ijxj/ya6T8r0fVS8Q6wvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[67,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QnPAfKaa0r8hlW501jvKvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[68,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZpRvmjb62T9QTVpru+zZvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[69,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CYxe5AKp5z/2gRKlwrDFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[70,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eCiyvxzRvz9hyPaWQu3evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[71,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"19rCX+CC4L9Jp4L3RRHpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[72,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"D3oa3lMjwr+npqOluKTUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[73,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HwEHceSepr8jwU3v/1ThPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[74,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lRxvLFEH0D91sTqjwljgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[75,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3AJRH1hbvD+tpFAvQPnhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[76,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"T8WyOS4f4D9xkjOR1nXYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[77,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KCm14Cko2j9mGXbngBzMPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[78,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"t3QSL58/4D9+FUzf3yVpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[79,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ryB3ovWo3D+1syC0xY++Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[80,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"z63AdxHoxD/Jr8mWBwyDPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[81,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IHJVGBFU4r+l/TRCrh/XPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[82,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/Lr/UF/C4z9AHe4tGPHNvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[83,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9HMYgSoowL/5ZNOiWbigPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[84,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZDmAwWHC4j/bFHB6W17Vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[85,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pXRpnQ8x0z/L5KECa6PlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[86,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fiksGnxV079zYZAuis7Vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[87,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vv7bBWmYuj8jGBIjKprvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[88,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G9setfIA6D8ptsr5J3TMvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[89,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VzWafIPP0L9f2rZwNyTfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[90,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EElGfPGC1j8tdm3u3d3gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[91,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v8A0DAQW2j9+zo5hLh3sPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[92,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1UQxZAQZ178t2Z0ew2Dmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[93,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PmejiARVr7839ruGfKLuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[94,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W85xPX5IkD/mh40+mPfevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[95,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tRRMH354z7+qfYJcL6m2vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[96,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iVGt6Hqf3j9q6RluUBPEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[97,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+Ffdf+6OyL9rPuoOQ6Xhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[98,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"k6BPMs8Kyr+NYe6Odenkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[99,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SL40qHC96b8QNs//OCmUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[100,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CScPr6Hv3L/IbFBjJiHqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[101,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FM8lktpu2D8vlV7lAA/UPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[102,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Hq850QgZ1L8iipf4cTPqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[103,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jIp9MFCP17+Hos5IWeKrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[104,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YUoZNY1Oxz8xlUuGd3viPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[105,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GZ022Zie0b+YeLy95M3EPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[106,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UqAVL8R/2D/paDGRs7jWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[107,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MxzA0ANPyD//IYI/xRzrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[108,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BOk3tw0f6b+5avCZiMvLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[109,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OwWtoFRC2j9VwiJ3HEKyPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[110,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Glwr4KlrtL9vF+Sts3e/Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[111,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"i/FNs6r00b/QX3jIt3LMPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[112,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zCl3wZYtv78Hfr/x6ljlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[113,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5hyoCXEL2b8QzjnZEGjYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[114,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XNE+9ueHsL95Da+lkGrbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[115,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GPsiJZAn0D9o321vA2jnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[116,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fkVuAA2u2r8D/wyd+R/uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[117,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LjtIc0dE67/7AyqFslDJPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[118,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"IbSrl20O5L9U5fG5Eqy6vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[119,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"un+krzgn3j9jRE+mG7Pbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[120,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qhjHb6xaxz+Srufw7g3evw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[121,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kGAL6Aof6L/NnDWsGYnCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[122,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lC/jQVyqpz/WfImd5d7qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[123,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HTFE5Lgz0T+GtUbYVI/hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[124,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0lQXi1ok1z86PIcDCIjdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[125,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HYFj0VyQ0z8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[126,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HkAqNQWE1T/B/lkZx7DtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[127,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Rkkqbtj6qr9/Gtc8QDbKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[128,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"73vavtS4iL94B3n14YzkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[129,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ua/w6vPX6L+tYtdFNCfWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[130,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NwOCyD4ko7//XMBpIubZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[131,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WuUpOyUTpT9JACIXZ2l4vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[132,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8IIbmOL72L+tsVFZ2gu5vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[133,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jhMVuGOIyr/enW+Tqva6vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[134,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EdxXzJB05D+SA/LyokqaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[135,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1HfTeUSVp7/Lv7gOZhvVvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[136,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JRRQMgfw3r/ICj/gxpTTPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[137,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gCEnanXJ0D9M9AmFSW7mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[138,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Po+VYTD5oL9+0roYrdHRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[139,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F9weqUAEn78JAdh1WXztvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[140,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OnZPKwi7u7/MydsslziLvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[141,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jtUdwAzdzj8+iWU1Vu3hPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[142,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Qx14T/FX0L+s6Xa1atnuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[143,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vtHEjV/J5b9JuuiCqq+wvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[144,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DsE8a55T1T9InFWGHvnjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[145,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SjKlnbTZzj8qFxWNmEDaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[146,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ds5G2DIY3T++Hv33Q2PRvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[147,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"h1Sdd8u0qT8q5hVx6BTvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[148,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5o7Z1KUiw79kFzZ10InaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[149,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xSk3gz974L/7BSr+/czbvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5770\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5767\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5768\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5769\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\"]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index\",[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]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5771\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5772\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5784\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5777\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5774\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5775\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5776\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49]],[\"end\",[68,82,84,124,68,74,76,120,70,74,75,124,75,94,120,135,54,70,94,138,50,83,133,135,138,50,54,110,127,72,83,110,148,60,72,73,127,60,62,128,148,55,62,73,104,55,128,141,145,77,104,106,141,51,79,106,145,77,79,96,146,51,90,96,119,53,119,137,146,53,90,107,122,65,107,137,139,58,122,139,142,65,100,116,142,58,71,100,149,71,92,102,116,97,98,102,86,89,92,98,64,67,89,97,64,86,103,105,67,103,111,133,61,105,111,112,61,93,147,56,87,93,112,87,125,126,147,56,91,115,125,85,91,126,144,85,115,123,130,101,114,123,144,113,130,136,57,81,113,114,57,108,129,136,81,117,121,129,99,108,117,143,52,99,118,121,95,118,132,143,149,52,131,132,140,63,80,95,140,78,80,109,131,59,63,101,109,134,59,66,69,78,66,82,88,134,69,76,84,88]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5778\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5779\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5783\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5780\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5781\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5741\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5754\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5755\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5761\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5760\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5762\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5763\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5764\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5785\",\"attributes\":{\"renderers\":[{\"id\":\"p5777\"},{\"id\":\"p5770\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5749\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5750\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5751\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5752\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5744\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5745\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5746\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5747\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5748\",\"attributes\":{\"axis\":{\"id\":\"p5744\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5753\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5749\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"60c3636e-f27d-45b4-8a2e-2464ebd0ed3a\",\"roots\":{\"p5733\":\"f5e4385f-12fa-42df-90fd-ec43e49e0545\"},\"root_ids\":[\"p5733\"],\"notebook_comms_target\":\"p5786\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p5733" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"02960020-569f-40fd-816d-470262790714\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p5937\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5938\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p5939\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5946\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p5947\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p5944\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p5969\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p5986\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GmKw5ehG4z/r+GngOFvqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/cyqHtDA3z9n2aRya2vtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zLhtD8Mt1z/TB69bcmXvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hnowwSdSyD8/YmfAqZnuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EAy40OrzsT9/+Bk2QPbtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"97AWfnkzxL/JTbg04Ynpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9TCvRZpKqr8FgBFiImfnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1Fs1xlsAwL+lYtRvl6Xivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2DIwuQzMtr+2dVXywRzcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7WDYuSAuvb/O6zvPoX3Rvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/vgBXtk2u78oswlb6Ni3vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dmYLO4tgvr8Lz/idBWO2Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"berMhsg3wL/I4DhJq0bSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nvjnfIaUwr9jYdhnTIPdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eoRGLwfuwb+UEpcidlzkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G0ZyKKL6wL+2VpHl/FXpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fGdgUGnvxb9lE6OEI03tPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ST+v30iHzL8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fSVsfwTb1L8hOyMI+dvsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TfdMP45xzL/S7MFlWyvpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9IaqrXRG078Cm+Qg//3jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZoNv9WFamL+0ECVttVzgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"V7DedjuZ2b/PQVAGH87SPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zXVjGkmx4r/MO34fn5+YPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"izSBgxEZ47+9CC9OAuayvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LKY6kTha5L8OC5QFRB7Rvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5wuqzQxg5r9odMZCAC7Xvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"O8lzPK6s4b9ydn8RBTvhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0rojRQBE6r+RupMP+NPUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a5E8Ei9c7b+C5xPhzfC8vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[30,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FvXFU0Re6b+b/UrfQI2uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[31,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"boYgj/Cx5b/8eDKMxvGoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[32,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2gDUqhzo378WSVzHXUu6Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[33,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"S6U1KhmZ0r9/80zUtq21Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kr7jWa2Dvr9tTxELKwjHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"utBMSjcdxD8sbV/gP6qyPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fR1bSFAoyD9Tpo1HKX3XPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kJG6Qxbq1j9G1tw4gyHWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"G52zE7kp3D8l4tBX/2LgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uMAa0j944j/o8x+j4BjgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Js2ySubz5D9WzRmY2lrhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"opVMfadC5z9MOFjwZobaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[42,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"M1s9K4S03z+WtmH+OxbXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[43,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MWMioJzK5z+7FEWLE6rJPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[44,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ivBct09W5T88M/I5gf+zPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[45,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ODdCuydo6D95tnGgfte2vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[46,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7igrEoAC4j8agd69LXbGvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[47,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"znw7Oiij5z84UPbkg2rYvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[48,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"clZ7rTSI5T/kb+4S9a7gvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[49,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DnqxwIsx5j+VtpBuAx3mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5974\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5971\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5972\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5973\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[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]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5975\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5976\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p5988\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p5981\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p5978\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p5979\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p5980\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[0,0,0,0,1,1,1,2,2,3,3,4,4,5,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,28,28,29,29,30,30,31,31,32,32,33,33,34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48]],[\"end\",[1,2,48,49,2,3,49,3,4,4,5,5,6,6,7,27,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17,18,18,19,19,20,20,21,21,22,42,22,23,24,24,25,25,26,26,27,27,28,28,29,30,30,31,32,31,32,33,33,34,34,35,35,36,37,46,37,38,38,39,39,40,40,41,41,42,42,43,43,44,44,45,45,46,46,47,47,48,48,49,49]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p5982\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p5983\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p5987\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5984\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p5985\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p5945\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p5958\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p5959\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p5965\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p5964\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p5966\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p5967\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p5968\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p5989\",\"attributes\":{\"renderers\":[{\"id\":\"p5981\"},{\"id\":\"p5974\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5953\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5954\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5955\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5956\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p5948\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p5949\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p5950\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p5951\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5952\",\"attributes\":{\"axis\":{\"id\":\"p5948\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p5957\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p5953\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"02960020-569f-40fd-816d-470262790714\",\"roots\":{\"p5937\":\"e6659a16-3735-496a-ad9c-ab7378258e32\"},\"root_ids\":[\"p5937\"],\"notebook_comms_target\":\"p5990\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p5937" } }, "output_type": "display_data" } ], "source": [ "import networkx as nx\n", "\n", "env = p2n.Environment()\n", "creator = p2n.Creator(env)\n", "inspector = p2n.NetworkInspector(env)\n", "\n", "N_ACTORS = 50\n", "\n", "\n", "class SmallWorld(p2n.LocationDesigner):\n", " nxgraph = nx.watts_strogatz_graph(n=N_ACTORS, k=4, p=0.05)\n", "\n", "\n", "creator.create_actors(n=N_ACTORS)\n", "creator.create_locations(\n", " location_designers=[\n", " SmallWorld,\n", " ],\n", ")\n", "inspector.plot_networks()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As we can see in the bipartite network graph, networkX graphs are translated into a pop2net graph by creating one location instance for each bilateral relation between nodes.\n", "Thus, actors are assigned to multiple instances of the `SmallWorld` location class:" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "SmallWorld\n", "SmallWorld\n", "SmallWorld\n", "SmallWorld\n" ] } ], "source": [ "actor = env.actors[0]\n", "\n", "for location in actor.locations:\n", " print(location.label)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "To get all neighbors that are connected to an actor via the small world graph we could do the following:" ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[,\n", " ,\n", " ,\n", " ]" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "actor.neighbors(location_labels=[\"SmallWorld\"])" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "When building locations based on networkX graphs we still retain the flexibility of Pop2net and its LocationDesigners.\n", "For instance, we could create seperated small worlds for each group of actors or layer multiple network structures by defining multiple location classes:" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"21311f38-dfc2-4c0d-b800-713eaf44d951\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p6041\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6042\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6043\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6050\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6051\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p6048\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p6073\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p6090\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[150,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r2kJBEo1tz+b+QRkfgejPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[151,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OvB+TrJ3t7/S6MCS+NbdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[152,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QdYL2D9gxj++uTtHcCi0vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[153,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OZHLjBUO0b91ySbjydPkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[154,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"6pmq8h7tdD+jv7IsXVC1vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[155,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zq00Qama2L/oi+mxYyDlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[156,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fT02qJ/4wL+7sMR0b3yvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[157,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7GdVj0qL4L/aPf4OWAHoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[158,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAull2dZ078hnhS7rzC8vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[159,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gqOeFYTX4L8wYStTsZbrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[160,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"p2cGmL/+2r8cy4a0irO9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[161,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kC3HrFnt3r+sky3rksjtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[162,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HArWj4Ut4r8wSM48pYDJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[163,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tPImrTkA1r9NR4oj4rLuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[164,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XZfEKSaP4r9Ppu0ybLHTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[165,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mcv867H8x7+d8oMnzmntPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[166,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ftl8IeRE4r+wXBmiG8/avw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[167,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vRosmeRArb8qA0WcwcbpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[168,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gCrR6rzz2b/vllMQcDLgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[169,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3Uou4AdVwj+JMZVniBzoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[170,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8XH+MdUN1L8cIrbrT0Divw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[171,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DBhagoWUyT9sglUN5XnfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[172,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"t+cW0rhoq78q5G1yESzkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[173,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"N8m43lL43j9WBwYQG3ThPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[174,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w0xjnNipqz/KXDmamt3ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[175,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"w7eLOE8J4T/OnBfaXeLXPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[176,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GdLxVJR9zT+ltToazK3mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[177,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AfJ3Iv585T9/8g8fj9XQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[178,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ILOzTI3Hzj+hC/l9vU/nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[179,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dU0bVtm64z/3XidoJpS2Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[180,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Sdu5lSO1yT9K+bUqQizsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[181,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TZQFEWoW5T9ACMnwBTGivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[182,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kFzL/e//rT9GRhZBluLrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[183,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pPtp0n+G3z91LO4sv0W+vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[184,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WjZboOVCqb/oQlWuXA7uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[185,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F6NC0ylP3D/NhZLc2De+vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[186,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BeS3Yk8ky79A6ccterTqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[187,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hgMbeXDV0D8lsW54ANGzPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[188,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bJKZoK/hy7+ZBMOi1nzrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[189,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Dva8hZ3F1T9MJcCSo0W+Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[190,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RryYmPDww78QR9mj1kbnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[191,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RERRWsDOyz8RFy6IJfbQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[192,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JgdR1YP6vr9Sjky6tcvivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[193,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MOc5GaT+0z/yR5aqUYfZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[194,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sMepac/MkD+EnjkVCSbfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[195,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uA/bd78yyj/84hIoZ9LgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[196,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3Vc6l1E3oz+ZbpYSIJzTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[197,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ywROHWiwwz/d7BKvxY7iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[198,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eWLcfPLOxT9pnGMSimXOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[199,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iZDetfmWg78y01SqM1vkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[200,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3eg/IXHFwz+9DK7TVAC5vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[201,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"apC0AeNKtT+QMQ5bCaPtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[202,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"foyE4Lm6vD8pT9FTLOrXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[203,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9Bt08qGg4L9VoeA0csW/vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[204,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZMZViA50w7+6F6WPT/e5vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[205,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BTg9+Y6DsT9tOviOfJzBvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[206,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bl6NdoOkwj9EIPV411Ltvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[207,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"MgJs+z+lzL/f0fNMgOCyvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[208,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"O96yYCeP5L/jYK3DqfvXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[209,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DO/bBrSl0T+Pio8Zd2Pqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[210,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JGQ5r99Vmz+UZMgEThKvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[211,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R/kChvBVqr9/fJ9thD/hvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[212,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"b7FRW5D/w7+L6iCwhmzuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[213,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jYDcKu0vqL9FbltI0zjcvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[214,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"hE4PvgXdkj9QyMxgHafuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[215,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fj6qR/eu3L/oZ+GylV7Dvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[216,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Uzm4LOAttD8CHHM4iXGUvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[217,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bAA0bKQ33b/3LNM1e+nfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[218,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"FWG71Xa+vz8gAcVvuu+5vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[219,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NY3E0my5478QKf1WmrbTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[220,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tyqZFyeuzT9hmi7+J6fFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[221,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Fe5OsqAOzr/K0Xf7Zi/ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[222,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a6z8o+Va0D+iKjFwbmHqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[223,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"a3zZ9kcjsb9kDiHSrMWxvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[224,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bP9qeLhkvz++jV4YaOrSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[225,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vaC54Iq3xL/v+Lb+/Gnlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[226,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rvRoIGDioj8GDJAcnK7Zvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[227,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZKm70ozWxT+8gJXe4RTkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[228,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SbabkrxryL9UWzhDSC/nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[229,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ccIrqyzrwL/C60ymnrXhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[230,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"sFu2ufPh0b/YBSqWLPyyvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[231,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8P53VL18xj9Ci+0gm4Hkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[232,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"F+JyCwwz1D+OT8Hf9c/mvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[233,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WGI8acP4s7+XEsgVtZTrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[234,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tEgd6dYZ2L9fiMf5w7G1vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[235,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2uBGxBVu0b/A/AuMe+Hsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[236,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lj4f1WwulD9UCzlB4cnkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[237,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TmqMjaGSx7+7iQZiqD/qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[238,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ujkFiI2p4L+znlT4Dzrfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[239,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"65wJuWG+wr/Nm72zAHntvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[240,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lo5eiNbp2b+t9BCQ+4/ivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[241,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"03SYLKj5uD+ImRFnXLTlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[242,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DRhcEunaxD8LdVlZgOLpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[243,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nSE7VoxK4L9DPeDbuWHavw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[244,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"s38B/wKo4L87aIcl9TrKvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[245,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BIhmfQhp5L/z2pFEiLXOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[246,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"moxk4bbVzb8hpvNDxHHpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[247,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2nlN6brU0r/pZe0y/ODmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[248,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tAjcCdVqsr9O2Ib145vjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[249,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ojbj/XpkyD/7j7BZR4RePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[250,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+gaNz5KHsL+BUCck7wriPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[251,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uBT9De5F4j+WfD5aeDy9vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[252,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EfONrXBsuj/utn5k9kDjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[253,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"53ChKZD8278AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[254,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Aswgt74E3r+2z5+y5I7oPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[255,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WIwzuXjGnj+sW6UH8/XgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[256,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iSrmwlKc4z9xsrX84wC+vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[257,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Z48l+Xm74r8sG0YTa5rpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[258,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Iw82nIDKvL/AXj5mX9HsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[259,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R3q+n+U/5j+dUwFRzI27Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[260,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"R4syc1Ko2b938qgGij7mPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[261,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TvGaA1le0j8dFOV0FGfePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[262,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"iZLzD1NS2T+nJk2J2/uKvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[263,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KWGDwZy50D9lAy1A5JDgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[264,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4PAbfYuE3z8X5jcWnrfIvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[265,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YcUTmBYV3b+FzXTlOzzuPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[266,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xKYbhzqUz79XvwFCYPjhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[267,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"NWewTzgwsT8lXs6vYhDlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[268,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"E7rJqIyR1b83hcyhhePlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[269,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"A/qVqop1yr8AghvQhnHsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[270,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KnDFeRb9wb/hh64VCC3lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[271,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"4CIR/JTP1D9d3xBoAFTlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[272,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Nq1BoryT5T8KxxAnRomIPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[273,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W92hZYHS3r/fPIpGug/mPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[274,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Jrb+sj9Ntz+WtDza0AXlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[275,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"X0PDUzP80T/sD9AXIp/VPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[276,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fY7zT4wyzT8Bnd9OuUzjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[277,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QB6ge3jY4j+DuMfwWarNPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[278,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bV8gIqQn1j+l2b512J3QPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[279,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"g/KhlfML2D8pR3yxYk/cPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[280,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9jxGVeCt4b/6heHe9zPrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[281,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"K3jIKqxg5D+oQrxJ6qnVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[282,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ee+4ObQU5j8PTsHxKunFPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[283,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ikCGQYcF1z/QySz9b3Csvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[284,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fuqYWKom4r/ZrYhPrdntPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[285,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qnb+2cvF0z9rbp6d0qG2Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[286,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aW8BAeCv4T9KcKmDOPPePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[287,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"C9t0DAQz0T8xrrOjgXjHPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[288,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zxbi3C8sqj/RdhjDSzPqPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[289,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/uPYypo01T/m18nIE8eqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[290,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2sVrRTjNxz/hvGydbIjkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[291,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"rEncr4o94z9Aj8iZAK3aPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[292,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+SQ7IAZ+4T8Ffr7Mbiyivw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[293,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Tt7fZYWDlL9t5Zb0/EbrPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[294,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WR+2j7bt1b/3s7yoM9LtPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[295,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"vGN43q0a0b+LkwAfkZvvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[296,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"zX6U0n7xyT+98e8xCpTEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[297,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Bw1mr7DBzD/R6B2qWUvSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[298,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"v8ZZjUt/yj9rUap+v3TZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[299,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+XmW8NDnx7+eXAqt/PnhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[300,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3QDL3dzWQT98vYryXFTQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6078\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6075\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6076\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6077\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"SmallWorld\",\"Bridge\"]],[\"group\",[0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index\",[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,200,201,202,203,204,205,206,207,208,209,210,211,212,213,214,215,216,217,218,219,220,221,222,223,224,225,226,227,228,229,230,231,232,233,234,235,236,237,238,239,240,241,242,243,244,245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294,295,296,297,298,299,300]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"group_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6079\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6080\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p6092\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6085\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6082\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6083\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6084\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[150,150,150,150,150,151,151,151,151,151,152,152,152,152,153,153,153,153,154,154,154,154,155,155,155,155,156,156,156,156,157,157,157,157,158,158,158,158,159,159,159,159,160,160,160,160,161,161,161,161,162,162,162,162,163,163,163,163,164,164,164,164,165,165,165,165,166,166,166,166,167,167,167,167,168,168,168,168,169,169,169,169,170,170,170,170,171,171,171,171,172,172,172,173,173,173,174,174,174,174,175,175,175,175,176,176,176,176,177,177,177,177,178,178,178,178,179,179,179,179,180,180,180,180,181,181,181,181,182,182,182,182,183,183,183,183,184,184,184,184,185,185,185,185,186,186,186,186,186,187,187,187,187,187,188,188,188,188,189,189,189,189,190,190,190,190,191,191,191,191,192,192,192,192,193,193,193,193,194,194,194,194,195,195,195,195,196,196,196,196,197,197,197,197,198,198,198,198,199,199,199,199]],[\"end\",[200,205,216,249,300,250,255,266,299,300,210,218,220,249,260,268,270,299,204,216,218,223,254,266,268,273,207,210,223,230,257,260,273,280,204,207,215,234,254,257,265,284,203,230,234,244,253,280,284,294,203,215,219,245,253,265,269,295,208,243,244,245,258,293,294,295,208,217,219,238,258,267,269,288,221,238,240,243,271,288,290,293,217,229,240,247,267,279,290,297,221,236,241,271,286,291,227,229,231,236,277,279,281,286,209,231,232,241,259,281,282,291,222,227,232,242,272,277,282,292,201,206,209,222,251,256,259,272,206,214,233,242,256,264,283,292,201,212,214,239,251,262,264,289,233,235,239,246,247,283,285,289,296,297,212,228,235,237,262,278,285,287,225,237,246,248,275,287,296,298,211,213,225,228,261,263,275,278,202,211,226,248,252,261,276,298,205,213,224,226,255,263,274,276,200,202,220,224,250,252,270,274]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"group_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6086\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6087\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p6091\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6088\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6089\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p6049\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p6062\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p6063\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p6069\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p6068\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p6070\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p6071\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p6072\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p6093\",\"attributes\":{\"renderers\":[{\"id\":\"p6085\"},{\"id\":\"p6078\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
group:@group
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6057\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6058\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6059\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6060\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6052\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6053\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6054\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6055\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6056\",\"attributes\":{\"axis\":{\"id\":\"p6052\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6061\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p6057\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"21311f38-dfc2-4c0d-b800-713eaf44d951\",\"roots\":{\"p6041\":\"c7aaff66-caff-466f-9cfa-bab9ab80cf4b\"},\"root_ids\":[\"p6041\"],\"notebook_comms_target\":\"p6094\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p6041" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"c0e0a10b-c1f6-4124-9283-250ba7890605\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p6246\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6247\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6248\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6255\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6256\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p6253\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p6278\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p6295\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[150,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jUB3GBeY2L99j9m0Z3LePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[151,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"U/M//Qez2b9c7xvF2w/kPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[152,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AvDvrVAt3r8rECLRVnfWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[153,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kKaJZmc84L+iKLPE0dThPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[154,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fZz7TF1J3L/jSzRZLL3NPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[155,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/P4U/mee47/w/PTU8enaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[156,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ySF+foeM2b+QdzjH4bO6Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[157,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JWQnQXpa5r85dqT/rWrRPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[158,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"993/MMSe07+RpPjWcjlmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[159,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wEx8jroi6L/RqmFdyUS8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[160,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ApVo2BEuyL//L5BpuG+4vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[161,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"r8iW/kl66L+I7VaK0zCuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[162,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uG+/PngPrL8ChNZ5gBbDvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[163,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"s1eSmL+z57/sbyCcKUjLvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[164,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Et/IfJhauj/VUW7o1BPOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[165,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gCcwvzQe5r+QI9AKSufXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[166,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2OIm9Y460T+S2aTkezfJvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[167,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8DLSwn084r/7U0b5S4Pdvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[168,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"7Cew4wSl3D/wRrwBDZ/Qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[169,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"U0F9RzcP378e7WdIDK/jvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[170,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ibHIyHIr4j97VLmbtgC5vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[171,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3YCWjP9Z0b/VYCm3mLDgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[172,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xA1Kc1NZ6D8ZEzm660LSvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[173,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HKtWm9B50r88nwfXG+Xqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[174,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0fY763vd6j90VnrC3abFvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[175,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ap/eIO15w79I4e3BBfjovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[176,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jRGvvFsW7z+KCVQE79fEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[177,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LYBFo2whp78rlr7olKfrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[178,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AAAAAAAA8D+Mny0bQ3Wkvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[179,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kPzy9rgdrz8xNIGDGrzovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[180,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5OHovAcF7z8h9ihAan6yPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[181,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"c0FVy9ppwD9D3wVLI3Hlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[182,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ydpZmyq+6z/ZT/ip0WTCPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[183,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yFwWT+7wuz9c32xL7gLhvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[184,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1GF1jW6/6D8kvU+mjofQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[185,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"d5SBWLkSxD+ogF+7FXvXvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[186,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TeSvAfJV4z8bpaUmkbDLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[187,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Pn9uDzbYlj+E3ctaSY7Ovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[188,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wLNz4tsm4D9XhfxcmkjZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[189,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tw6MDNu0vz9w/o8bnUaOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[190,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"kyzSERc21T9Q2ZMvbUXaPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[191,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PbnM5AQwsz8oYUiiTXPEPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[192,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ol59k3O2xz8hFSmx2QvgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[193,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"73bTpbw4tz/5C/plt3HWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[194,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"d8oPJTPeiD9BL3dh0TbfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[195,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"RNRpxthDgT/4E7+UxLDgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[196,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Tj0SCCsCv7+po9VCtknhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[197,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ys7DgjQIu79RnFbRUf/jPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[198,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1aX/rqGA0b++QKy9NhngPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[199,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"OBD6ZOUM0L8F1g47S5/lPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6283\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6280\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6281\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6282\"},\"data\":{\"type\":\"map\",\"entries\":[[\"group\",[0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[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]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\",\"#1f77b4\",\"#ff7f0e\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"group_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6284\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6285\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p6297\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6290\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6287\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6288\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6289\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[150,150,150,150,150,151,151,151,151,152,152,152,153,153,153,154,154,155,155,156,156,157,157,158,158,159,159,160,160,161,161,162,162,163,163,164,164,165,165,166,166,167,167,168,168,169,169,170,170,171,171,172,172,173,173,174,174,175,175,176,176,177,177,178,178,179,179,180,180,181,181,182,182,183,183,184,184,185,185,186,186,187,187,188,188,189,189,190,190,191,191,192,192,193,193,194,194,195,195,196,197]],[\"end\",[196,198,151,152,154,197,199,153,155,198,154,156,199,155,157,156,158,157,159,160,158,161,159,160,162,161,163,162,164,163,165,164,166,165,167,166,168,167,169,168,170,169,171,170,172,171,173,174,186,175,187,174,176,177,175,176,178,177,179,178,180,179,181,180,182,181,183,182,184,183,185,184,186,185,187,186,188,187,189,188,190,189,191,192,190,193,191,192,194,193,195,194,196,195,197,196,198,197,199,198,199]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"group_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6291\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6292\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p6296\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6293\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6294\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p6254\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p6267\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p6268\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p6274\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p6273\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p6275\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p6276\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p6277\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p6298\",\"attributes\":{\"renderers\":[{\"id\":\"p6290\"},{\"id\":\"p6283\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
group:@group
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6262\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6263\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6264\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6265\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6257\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6258\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6259\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6260\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6261\",\"attributes\":{\"axis\":{\"id\":\"p6257\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6266\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p6262\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"c0e0a10b-c1f6-4124-9283-250ba7890605\",\"roots\":{\"p6246\":\"a90455f8-3fe6-40df-8c0b-337c496434e7\"},\"root_ids\":[\"p6246\"],\"notebook_comms_target\":\"p6299\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p6246" } }, "output_type": "display_data" } ], "source": [ "N_ACTORS = 50\n", "N_GROUPS = 2\n", "\n", "\n", "class SmallWorld(p2n.LocationDesigner):\n", " nxgraph = nx.watts_strogatz_graph(n=int(N_ACTORS / N_GROUPS), k=4, p=0.05)\n", "\n", " def split(self, actor):\n", " return actor.group\n", "\n", "\n", "class Bridge(p2n.LocationDesigner):\n", " n_locations = 1\n", "\n", " def bridge(self, actor):\n", " return actor.group\n", "\n", "\n", "creator.create_actors(n=N_ACTORS, clear=True)\n", "\n", "for i, actor in enumerate(env.actors):\n", " actor.group = i % N_GROUPS\n", "\n", "creator.create_locations(\n", " location_designers=[\n", " SmallWorld,\n", " Bridge,\n", " ],\n", " clear=True,\n", ")\n", "inspector.plot_networks(actor_color=\"group\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Magic actor attributes\n", "\n", "When creating locations with the Creator class, the Creator temporarily sets certain actor attributes that provide information about the specific location to which the actor has been assigned and the position of the actor within this location.\n", "These temporary actor attributes can be used to address specific actors when defining a second location type.\n", "Each of the temporary actor attributes begins with the name of the location label.\n", "\n", "The following list shows all magic actor attributes:\n", "\n", "- `actor.LOCATIONLABEL`: An identifier of the location the actor was assigned to.\n", "- `actor.LOCATIONLABEL_assigned`: A bool which is `True` if the actor was assigned to this location class.\n", "- `actor.LOCATIONLABEL_id`: An identifier of the sub-location instance.\n", "- `actor.LOCATIONLABEL_position`: An identifier of the agent's *position* within the location. The *first* actor gets a `0`.\n", "- `actor.LOCATIONLABEL_head`: A bool which is `True` if the actor is the first actor within the location.\n", "- `actor.LOCATIONLABEL_tail`: A bool which is `True` if the actor is the last actor within the location.\n", "\n", "In the following example, we first create 3 simple clusters by defining the 'Cluster' location class.\n", "In the next step we select an actor from each cluster and connect them to the location class `Bridge`.\n", "To select only one actor from each cluster, we filter by the magic actor attribute `actor.Cluster_head` that was set when the clusters were created.\n", "This way, only the *first* actor of each cluster is assigned to the `Bridge` location." ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"2aa3c03c-d9f0-4e68-8838-36b85f0c8e7e\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p6350\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6351\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6352\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6359\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6360\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p6357\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p6382\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p6399\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"yy9nqUrn1z/kgBCQlqe2vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SsyUp2Rm7z/yywmnBG7Nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"60jy1A4B6D9JRkCk2ul4vw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ywMfv/B87j8XOlilD0Gqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aIzEL1nA6z+8M44oznR5Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gj2GMIzi7j8C4K1TqiHCvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gb4pVgXY6j+AvXdDl47Wvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"56npI1Ro5z9NZj/suV3Vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"SWFkCNOD7T+wcvYq62zTvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wK430xy65D8IdXbXRCrLvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"QNilYTgw0785f4rGsE7Uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pfkbl1CL57+xd6dB/VDpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"B+e9AthE47/IKz9ifHrevw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Jbqlu6Bn579W0n96jjTgvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bmD6hQGU37/ht3Ygklrpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JXt8PHgb6b/FxrErZkDmvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tbjSM3Gr5L9LcqAQkO/nvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"XhSzoEw9479C8AjaCOPqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fqpWw7Ya3L/0trf37rnlvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Moqgti436b84R7+qFwrjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0JAb9wd7ub/2+i8X7CLYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/PIYVBVB0L8AAAAAAADwPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Zitio0Qx0b9sV+WB7PvsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"g1bQ19dkrr9V/NfISmruPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WpO2Sgyr17/nC0LJiqDsPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ueKZPCYEw78Z25qGv5DvPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Xct+7dUygL9bexEwIo3rPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BypMCXip17/CyCW0deDoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eISnJRtX0r+EPgEdjKLlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aVLdCmn5ob8f3iviaqLnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[30,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"5idLQB+k6D/ZjcQbGrTEvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[31,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1FD9zCq34r8RuGC6bLXjvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[32,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"87Hd9YP0xr/75A9iWO/oPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[33,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"N8vhodMJkL/CC5ZTHmqOvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6387\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6384\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6385\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6386\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"Cluster\",\"Cluster\",\"Cluster\",\"Bridge\"]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1]],[\"index\",[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]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6388\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6389\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p6401\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6394\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6391\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6392\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6393\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[0,0,1,2,3,4,5,6,7,8,9,10,10,11,12,13,14,15,16,17,18,19,20,20,21,22,23,24,25,26,27,28,29]],[\"end\",[30,33,30,30,30,30,30,30,30,30,30,31,33,31,31,31,31,31,31,31,31,31,32,33,32,32,32,32,32,32,32,32,32]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6395\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6396\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p6400\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6397\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6398\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p6358\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p6371\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p6372\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p6378\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p6377\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p6379\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p6380\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p6381\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p6402\",\"attributes\":{\"renderers\":[{\"id\":\"p6394\"},{\"id\":\"p6387\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6366\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6367\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6368\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6369\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6361\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6362\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6363\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6364\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6365\",\"attributes\":{\"axis\":{\"id\":\"p6361\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6370\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p6366\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"2aa3c03c-d9f0-4e68-8838-36b85f0c8e7e\",\"roots\":{\"p6350\":\"e948d028-d06e-46e1-b70b-32aee85b3a11\"},\"root_ids\":[\"p6350\"],\"notebook_comms_target\":\"p6403\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p6350" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"e8531359-fb5a-4b17-a86e-0d74286eccda\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p6438\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6439\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6440\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6447\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6448\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p6445\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p6470\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p6487\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[0,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ICcKCXTtxL9Eh71NY6Tfvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[1,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"laAP21JI0L8Lg33/otbrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[2,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"1gSqAp4Hw78Pcayf/z7qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[3,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KkGUJxgC2L8nulOtPeDrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[4,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"BlEsfJPO3b9a1OJQ4rbqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[5,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0lERGd/L0L8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[6,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"0OxxTtcDxL/j8gWCGSjuvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[7,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WN2t7hyR2L9mLwG6M6Hnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[8,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AJClO5lL2L8Rm+xsuD/vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[9,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Yd0vSHLB0L/gf/lCEsDnvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[10,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"eIdfxW2W3z+Rq7OBEgu+Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[11,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"dcmnLwbU7z+hw6dKhwHGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[12,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"EAHHKJOi7z+W6KFxTBnSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[13,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9/CeGJgU6j8WpiaKVITYPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[14,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"JTqS04ch6j91/QCCcWCzPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[15,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TcGeNJmt7T9KtEi8ik20Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[16,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bOx4+bkL7T8DcdqJzUbWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[17,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"UGxiWRYF7D/q9SQp0IjKPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[18,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"WkD4bdz/5z98m/NLPsbGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[19,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"fQdmbHXs5z+C0K/JI/LSPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[20,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"jOyniv9w1L8MTq3vz+XWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[21,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"e7GJY/St5b9Qo/K3BR3nPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[22,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"VOfg6KE84r8o8odzECXkPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[23,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"LxAjzVm/3r86BYwst8boPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[24,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lADqm00N278Nfl70qePlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[25,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qIppUrIp3b/Up3rul2DiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[26,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bf8SSNHU5r93fJG7T9jjPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[27,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TlgcCJan5b/u6iT+qaLgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[28,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bVOISrEZ4r8v6wry4drfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[29,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YaU6o5Ku4r/5FSHbGanoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6475\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6472\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6473\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6474\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[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]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6476\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6477\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p6489\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6482\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6479\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6480\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6481\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,3,3,3,3,3,3,4,4,4,4,4,5,5,5,5,6,6,6,7,7,8,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,14,14,14,15,15,15,15,16,16,16,17,17,18,20,20,20,20,20,20,20,20,20,21,21,21,21,21,21,21,21,22,22,22,22,22,22,22,23,23,23,23,23,23,24,24,24,24,24,25,25,25,25,26,26,26,27,27,28]],[\"end\",[1,2,3,4,5,6,7,8,9,10,20,2,3,4,5,6,7,8,9,3,4,5,6,7,8,9,4,5,6,7,8,9,5,6,7,8,9,6,7,8,9,7,8,9,8,9,9,11,12,13,14,15,16,17,18,19,20,12,13,14,15,16,17,18,19,13,14,15,16,17,18,19,14,15,16,17,18,19,15,16,17,18,19,16,17,18,19,17,18,19,18,19,19,21,22,23,24,25,26,27,28,29,22,23,24,25,26,27,28,29,23,24,25,26,27,28,29,24,25,26,27,28,29,25,26,27,28,29,26,27,28,29,27,28,29,28,29,29]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6483\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6484\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p6488\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6485\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6486\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p6446\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p6459\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p6460\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p6466\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p6465\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p6467\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p6468\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p6469\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p6490\",\"attributes\":{\"renderers\":[{\"id\":\"p6482\"},{\"id\":\"p6475\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6454\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6455\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6456\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6457\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6449\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6450\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6451\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6452\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6453\",\"attributes\":{\"axis\":{\"id\":\"p6449\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6458\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p6454\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"e8531359-fb5a-4b17-a86e-0d74286eccda\",\"roots\":{\"p6438\":\"a6a829a5-2f8f-44df-90dd-affa20aae5f3\"},\"root_ids\":[\"p6438\"],\"notebook_comms_target\":\"p6491\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p6438" } }, "output_type": "display_data" } ], "source": [ "env = p2n.Environment()\n", "creator = p2n.Creator(env)\n", "inspector = p2n.NetworkInspector(env)\n", "\n", "\n", "class Cluster(p2n.LocationDesigner):\n", " n_locations = 3\n", "\n", "\n", "class Bridge(p2n.LocationDesigner):\n", " def filter(self, actor):\n", " return actor.Cluster_head\n", "\n", "\n", "creator.create_actors(n=30)\n", "creator.create_locations(\n", " location_designers=[\n", " Cluster,\n", " Bridge,\n", " ],\n", ")\n", "\n", "inspector.plot_networks()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "As the creator builds one location class after another, it is very important that the order of the location classes provided to the creator is correct.\n", "In the following, the connection of the clusters fails due to an incorrect order of the location classes provided to the creator." ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"7c3d20aa-6026-4a5f-b9e8-b379428122ed\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p6522\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6523\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6524\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6531\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6532\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p6529\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p6554\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p6571\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"U7fQqYzutz/4QJhUUg7vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nGrTbaFkwT+L8fhd4EXtvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9UK5jAZhoD8AAAAAAADwvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"X9wcJhqjd7/u0j8vqGnovw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CHsNbXKItT9zAy3zr7Povw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"TJnIukOvtL+e6p6Iieztvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Uilk1i/Ns78PjMlOnsfpvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AEBazaQGu7+wAvk3LNXrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[42,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"p7A5vDJDwT9qFsnAUPLqvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[43,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q6hq8ZT2ob8yO2ez65/vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[44,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ucwAhTD+3r8neggbmSjpPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[45,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Nvqfhnn8179R0u9Ozq/iPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[46,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"ZJuJkCAD479QKHbPuvniPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[47,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"wdQQvmPI4L/djsIlPyLhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[48,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aolZSPKR4b+2oUFnBZjoPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[49,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"o/IUV4NK3b/h7yMP3gHiPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[50,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"p8c9WlRk2L9dyFXWrgLmPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[51,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"HZUIRwe62r/VoJqeqjToPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[52,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"pbQu+sRM478z7TdGQFTnPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[53,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"q/tL0tDE47/JMTq0DyrlPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[54,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"qQdwCS7Z3j8YoNBtWInVPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[55,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"byAlSuk81z+FKt2qTGvQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[56,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"aLQ0OMKZ2j+VfKDksB+8Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[57,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ixja8Ckb2j8hEIB0IWHUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[58,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"9sSUsjqX1z863oaj3mPGPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[59,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"d7Qxw1AL4z+vRxrEZZ/IPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[60,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xXUA+FSg4T+BoaA2YSLUPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[61,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"srzxJld/3z/b2DVwN8m4Pw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[62,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GyyBXRcC4z/NAPhZgbPQPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[63,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8ofFsLfn4T/VdGvJPcDAPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[64,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"DR6YYxCwlD8vvEqW4rPrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[65,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"tDUVyTBG379cObVARv7kPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[66,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"izGrFq3w3T/cJawN3WvLPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6559\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6556\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6557\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6558\"},\"data\":{\"type\":\"map\",\"entries\":[[\"label\",[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,\"Cluster\",\"Cluster\",\"Cluster\"]],[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Location\",\"Location\",\"Location\"]],[\"bipartite\",[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1]],[\"index\",[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]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"square\",\"square\",\"square\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"steelblue\",\"steelblue\",\"steelblue\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6560\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6561\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p6573\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6566\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6563\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6564\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6565\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[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]],[\"end\",[64,64,64,64,64,64,64,64,64,64,65,65,65,65,65,65,65,65,65,65,66,66,66,66,66,66,66,66,66,66]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"label_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6567\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6568\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p6572\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6569\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6570\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p6530\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p6543\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p6544\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p6550\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p6549\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p6551\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p6552\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p6553\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p6574\",\"attributes\":{\"renderers\":[{\"id\":\"p6566\"},{\"id\":\"p6559\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
label:@label
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6538\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6539\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6540\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6541\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6533\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6534\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6535\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6536\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6537\",\"attributes\":{\"axis\":{\"id\":\"p6533\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6542\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p6538\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"7c3d20aa-6026-4a5f-b9e8-b379428122ed\",\"roots\":{\"p6522\":\"afb4b71b-ed97-426e-af54-f3c461821507\"},\"root_ids\":[\"p6522\"],\"notebook_comms_target\":\"p6575\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p6522" } }, "output_type": "display_data" }, { "data": { "application/javascript": "'use strict';\n(function(root) {\n function now() {\n return new Date();\n }\n\n const 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\nconst JS_MIME_TYPE = 'application/javascript';\n const HTML_MIME_TYPE = 'text/html';\n const EXEC_MIME_TYPE = 'application/vnd.bokehjs_exec.v0+json';\n const CLASS_NAME = 'output_bokeh rendered_html';\n\n /**\n * Render data to the DOM node\n */\n function render(props, node) {\n const 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 function drop(id) {\n const view = Bokeh.index.get_by_id(id)\n if (view != null) {\n view.model.document.clear()\n Bokeh.index.delete(view)\n }\n }\n\n const cell = handle.cell;\n\n const id = cell.output_area._bokeh_element_id;\n const server_id = cell.output_area._bokeh_server_id;\n\n // Clean up Bokeh references\n if (id != null) {\n drop(id)\n }\n\n if (server_id !== undefined) {\n // Clean up Bokeh references\n const cmd_clean = \"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_clean, {\n iopub: {\n output: function(msg) {\n const id = msg.content.text.trim()\n drop(id)\n }\n }\n });\n // Destroy server and session\n const cmd_destroy = \"import bokeh.io.notebook as ion; ion.destroy_server('\" + server_id + \"')\";\n cell.notebook.kernel.execute(cmd_destroy);\n }\n }\n\n /**\n * Handle when a new output is added\n */\n function handleAddOutput(event, handle) {\n const output_area = handle.output_area;\n const output = handle.output;\n\n // limit handleAddOutput to display_data with EXEC_MIME_TYPE content only\n if ((output.output_type != \"display_data\") || (!Object.prototype.hasOwnProperty.call(output.data, EXEC_MIME_TYPE))) {\n return\n }\n\n const 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 const bk_div = document.createElement(\"div\");\n bk_div.innerHTML = output.data[HTML_MIME_TYPE];\n const script_attrs = bk_div.children[0].attributes;\n for (let i = 0; i < script_attrs.length; i++) {\n toinsert[toinsert.length - 1].firstChild.setAttribute(script_attrs[i].name, script_attrs[i].value);\n toinsert[toinsert.length - 1].firstChild.textContent = bk_div.children[0].textContent\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 const 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 const 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 const events = require('base/js/events');\n const 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 if (typeof (root._bokeh_timeout) === \"undefined\" || force === true) {\n root._bokeh_timeout = Date.now() + 5000;\n root._bokeh_failed_load = false;\n }\n\n const 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(error = null) {\n const el = document.getElementById(null);\n if (el != null) {\n const html = (() => {\n if (typeof root.Bokeh === \"undefined\") {\n if (error == null) {\n return \"BokehJS is loading ...\";\n } else {\n return \"BokehJS failed to load.\";\n }\n } else {\n const prefix = `BokehJS ${root.Bokeh.version}`;\n if (error == null) {\n return `${prefix} successfully loaded.`;\n } else {\n return `${prefix} encountered errors while loading and may not function as expected.`;\n }\n }\n })();\n el.innerHTML = html;\n\n if (error != null) {\n const wrapper = document.createElement(\"div\");\n wrapper.style.overflow = \"auto\";\n wrapper.style.height = \"5em\";\n wrapper.style.resize = \"vertical\";\n const content = document.createElement(\"div\");\n content.style.fontFamily = \"monospace\";\n content.style.whiteSpace = \"pre-wrap\";\n content.style.backgroundColor = \"rgb(255, 221, 221)\";\n content.textContent = error.stack ?? error.toString();\n wrapper.append(content);\n el.append(wrapper);\n }\n } else if (Date.now() < root._bokeh_timeout) {\n setTimeout(() => display_loaded(error), 100);\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(url) {\n console.error(\"failed to load \" + url);\n }\n\n for (let i = 0; i < css_urls.length; i++) {\n const url = css_urls[i];\n const element = document.createElement(\"link\");\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 (let i = 0; i < js_urls.length; i++) {\n const url = js_urls[i];\n const element = document.createElement('script');\n element.onload = on_load;\n element.onerror = on_error.bind(null, url);\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 };\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 const js_urls = [\"https://cdn.bokeh.org/bokeh/release/bokeh-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-gl-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-widgets-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-tables-3.7.1.min.js\", \"https://cdn.bokeh.org/bokeh/release/bokeh-mathjax-3.7.1.min.js\"];\n const css_urls = [];\n\n const inline_js = [ function(Bokeh) {\n Bokeh.set_log_level(\"info\");\n },\nfunction(Bokeh) {\n }\n ];\n\n function run_inline_js() {\n if (root.Bokeh !== undefined || force === true) {\n try {\n for (let i = 0; i < inline_js.length; i++) {\n inline_js[i].call(root, root.Bokeh);\n }\n\n } catch (error) {throw error;\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 const cell = $(document.getElementById(null)).parents('.cell').data().cell;\n cell.output_area.append_execute_result(NB_LOAD_WARNING)\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": "" }, "metadata": {}, "output_type": "display_data" }, { "data": { "text/html": [ "\n", "
\n" ] }, "metadata": {}, "output_type": "display_data" }, { "data": { "application/javascript": "(function(root) {\n function embed_document(root) {\n const docs_json = {\"b7b31016-92fd-4e49-80d5-71cbfbe90bff\":{\"version\":\"3.7.1\",\"title\":\"Bokeh Application\",\"roots\":[{\"type\":\"object\",\"name\":\"Figure\",\"id\":\"p6609\",\"attributes\":{\"width\":400,\"height\":400,\"x_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6610\"},\"y_range\":{\"type\":\"object\",\"name\":\"DataRange1d\",\"id\":\"p6611\"},\"x_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6618\"},\"y_scale\":{\"type\":\"object\",\"name\":\"LinearScale\",\"id\":\"p6619\"},\"title\":{\"type\":\"object\",\"name\":\"Title\",\"id\":\"p6616\"},\"renderers\":[{\"type\":\"object\",\"name\":\"GraphRenderer\",\"id\":\"p6641\",\"attributes\":{\"layout_provider\":{\"type\":\"object\",\"name\":\"StaticLayoutProvider\",\"id\":\"p6658\",\"attributes\":{\"graph_layout\":{\"type\":\"map\",\"entries\":[[34,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mvQtXPTr578M81J1SvvZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[35,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"B0zytbvy5794ZABrneHhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[36,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"90YRyy+O67/NEYBBt0/bPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[37,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"2+2/xZoY578NksRwiyHdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[38,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AIxuoePW5r8E3CsqTEbgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[39,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"bn0A9L+F6b8s7mHe6lvhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[40,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"W3btYATP6b+D46p2u1fZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[41,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"KwH13Lm+6b8xjRv8hErePw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[42,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YmFLCwNf678w7QCsXobhPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[43,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"8Hj6JCAa7L8shCkcIy/fPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[44,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"CDaiojNDkz/avTer8P/svw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[45,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"/XKTtEWHYb8WftESZn7uvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[46,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"AkKkc5kcw7+iWc6l/6Hsvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[47,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"K8l76Svssr/NskdyJq/tvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[48,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"mk+T00qUwr/5jF11+4juvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[49,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"lBQPsekXib/udaaRunbrvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[50,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"+gih8mLEub8M4TCFyeXvvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[51,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"GhFCS2MXsL+pp8HH+t7qvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[52,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"l1z2ML71vb9LyV6+mh/rvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[53,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"YHGQ686jo7/////////vvw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[54,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"nAbpaSNf6T9avJtF7v3YPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[55,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PacHD+2U7T+vGh6/I4HfPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[56,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"uGIHVL5l7j86LKFaUebbPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[57,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ob5CWBiK7T9/Bihpm6/XPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[58,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3/ITT/Hg6D9Q3Uo9DKzcPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[59,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"PcXxpxjr6j+VDxyVKVTWPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[60,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"3bcDQ+vJ6T/rh121+SXgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[61,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"Ov63aQgF7D+PF/slDp7ZPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[62,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"xseeY+V56z8IBHHYz3LdPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}],[63,{\"type\":\"ndarray\",\"array\":{\"type\":\"bytes\",\"data\":\"gx3j1C7K6z96KplrY9HgPw==\"},\"shape\":[2],\"dtype\":\"float64\",\"order\":\"little\"}]]}}},\"node_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6646\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6643\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6644\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6645\"},\"data\":{\"type\":\"map\",\"entries\":[[\"type\",[\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\",\"Actor\"]],[\"index\",[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]],[\"_marker\",[\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\",\"circle\"]],[\"_color\",[\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\",\"firebrick\"]],[\"_alpha\",[0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5,0.5]],[\"_size\",[10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10]],[\"start_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"end_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"weight_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"index_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"type_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6647\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6648\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"Scatter\",\"id\":\"p6660\",\"attributes\":{\"size\":{\"type\":\"field\",\"field\":\"_size\"},\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"fill_color\":{\"type\":\"field\",\"field\":\"_color\"},\"fill_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"marker\":{\"type\":\"field\",\"field\":\"_marker\"}}}}},\"edge_renderer\":{\"type\":\"object\",\"name\":\"GlyphRenderer\",\"id\":\"p6653\",\"attributes\":{\"data_source\":{\"type\":\"object\",\"name\":\"ColumnDataSource\",\"id\":\"p6650\",\"attributes\":{\"selected\":{\"type\":\"object\",\"name\":\"Selection\",\"id\":\"p6651\",\"attributes\":{\"indices\":[],\"line_indices\":[]}},\"selection_policy\":{\"type\":\"object\",\"name\":\"UnionRenderers\",\"id\":\"p6652\"},\"data\":{\"type\":\"map\",\"entries\":[[\"weight\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"start\",[34,34,34,34,34,34,34,34,34,35,35,35,35,35,35,35,35,36,36,36,36,36,36,36,37,37,37,37,37,37,38,38,38,38,38,39,39,39,39,40,40,40,41,41,42,44,44,44,44,44,44,44,44,44,45,45,45,45,45,45,45,45,46,46,46,46,46,46,46,47,47,47,47,47,47,48,48,48,48,48,49,49,49,49,50,50,50,51,51,52,54,54,54,54,54,54,54,54,54,55,55,55,55,55,55,55,55,56,56,56,56,56,56,56,57,57,57,57,57,57,58,58,58,58,58,59,59,59,59,60,60,60,61,61,62]],[\"end\",[35,36,37,38,39,40,41,42,43,36,37,38,39,40,41,42,43,37,38,39,40,41,42,43,38,39,40,41,42,43,39,40,41,42,43,40,41,42,43,41,42,43,42,43,43,45,46,47,48,49,50,51,52,53,46,47,48,49,50,51,52,53,47,48,49,50,51,52,53,48,49,50,51,52,53,49,50,51,52,53,50,51,52,53,51,52,53,52,53,53,55,56,57,58,59,60,61,62,63,56,57,58,59,60,61,62,63,57,58,59,60,61,62,63,58,59,60,61,62,63,59,60,61,62,63,60,61,62,63,61,62,63,62,63,63]],[\"_color\",[\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\",\"#440154\"]],[\"_alpha\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"_size\",[1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0,1.0]],[\"start_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"end_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"weight_display\",[1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1]],[\"index_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]],[\"type_display\",[\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\",\"none\"]]]}}},\"view\":{\"type\":\"object\",\"name\":\"CDSView\",\"id\":\"p6654\",\"attributes\":{\"filter\":{\"type\":\"object\",\"name\":\"AllIndices\",\"id\":\"p6655\"}}},\"glyph\":{\"type\":\"object\",\"name\":\"MultiLine\",\"id\":\"p6659\",\"attributes\":{\"line_color\":{\"type\":\"field\",\"field\":\"_color\"},\"line_alpha\":{\"type\":\"field\",\"field\":\"_alpha\"},\"line_width\":{\"type\":\"field\",\"field\":\"_size\"}}}}},\"selection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6656\"},\"inspection_policy\":{\"type\":\"object\",\"name\":\"NodesOnly\",\"id\":\"p6657\"}}}],\"toolbar\":{\"type\":\"object\",\"name\":\"Toolbar\",\"id\":\"p6617\",\"attributes\":{\"tools\":[{\"type\":\"object\",\"name\":\"BoxZoomTool\",\"id\":\"p6630\",\"attributes\":{\"dimensions\":\"both\",\"overlay\":{\"type\":\"object\",\"name\":\"BoxAnnotation\",\"id\":\"p6631\",\"attributes\":{\"syncable\":false,\"line_color\":\"black\",\"line_alpha\":1.0,\"line_width\":2,\"line_dash\":[4,4],\"fill_color\":\"lightgrey\",\"fill_alpha\":0.5,\"level\":\"overlay\",\"visible\":false,\"left\":{\"type\":\"number\",\"value\":\"nan\"},\"right\":{\"type\":\"number\",\"value\":\"nan\"},\"top\":{\"type\":\"number\",\"value\":\"nan\"},\"bottom\":{\"type\":\"number\",\"value\":\"nan\"},\"left_units\":\"canvas\",\"right_units\":\"canvas\",\"top_units\":\"canvas\",\"bottom_units\":\"canvas\",\"handles\":{\"type\":\"object\",\"name\":\"BoxInteractionHandles\",\"id\":\"p6637\",\"attributes\":{\"all\":{\"type\":\"object\",\"name\":\"AreaVisuals\",\"id\":\"p6636\",\"attributes\":{\"fill_color\":\"white\",\"hover_fill_color\":\"lightgray\"}}}}}}}},{\"type\":\"object\",\"name\":\"ResetTool\",\"id\":\"p6638\"},{\"type\":\"object\",\"name\":\"WheelZoomTool\",\"id\":\"p6639\",\"attributes\":{\"renderers\":\"auto\"}},{\"type\":\"object\",\"name\":\"PanTool\",\"id\":\"p6640\"},{\"type\":\"object\",\"name\":\"HoverTool\",\"id\":\"p6661\",\"attributes\":{\"renderers\":[{\"id\":\"p6653\"},{\"id\":\"p6646\"}],\"tooltips\":\"
\\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n \\n
start:@start
end:@end
weight:@weight
index:@index
type:@type
\",\"line_policy\":\"interp\"}}],\"logo\":null}},\"left\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6625\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6626\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6627\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6628\"}}}],\"below\":[{\"type\":\"object\",\"name\":\"LinearAxis\",\"id\":\"p6620\",\"attributes\":{\"visible\":false,\"ticker\":{\"type\":\"object\",\"name\":\"BasicTicker\",\"id\":\"p6621\",\"attributes\":{\"mantissas\":[1,2,5]}},\"formatter\":{\"type\":\"object\",\"name\":\"BasicTickFormatter\",\"id\":\"p6622\"},\"major_label_policy\":{\"type\":\"object\",\"name\":\"AllLabels\",\"id\":\"p6623\"}}}],\"center\":[{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6624\",\"attributes\":{\"axis\":{\"id\":\"p6620\"},\"grid_line_color\":null}},{\"type\":\"object\",\"name\":\"Grid\",\"id\":\"p6629\",\"attributes\":{\"dimension\":1,\"axis\":{\"id\":\"p6625\"},\"grid_line_color\":null}}]}}]}};\n const render_items = [{\"docid\":\"b7b31016-92fd-4e49-80d5-71cbfbe90bff\",\"roots\":{\"p6609\":\"d0dd02a4-7b4e-47ae-a969-3c176ce8da29\"},\"root_ids\":[\"p6609\"],\"notebook_comms_target\":\"p6662\"}];\n void root.Bokeh.embed.embed_items_notebook(docs_json, render_items);\n }\n if (root.Bokeh !== undefined) {\n embed_document(root);\n } else {\n let attempts = 0;\n const 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": "p6609" } }, "output_type": "display_data" } ], "source": [ "class Cluster(p2n.LocationDesigner):\n", " n_locations = 3\n", "\n", "\n", "class Bridge(p2n.LocationDesigner):\n", " def filter(self, actor):\n", " return actor.Cluster_head\n", "\n", "\n", "creator.create_actors(n=30, clear=True)\n", "creator.create_locations(\n", " location_designers=[\n", " Bridge,\n", " Cluster,\n", " ],\n", " clear=True,\n", ")\n", "\n", "inspector.plot_networks()" ] } ], "metadata": { "kernelspec": { "display_name": "pop2net-py3.12", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.12.3" } }, "nbformat": 4, "nbformat_minor": 2 }