{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Interactive eigenvectors" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "using Plots, Interact" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "plot_image (generic function with 2 methods)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "function plot_image(M, x, tol=0.05)\n", " \n", " new_x = M * x\n", " \n", " unit_circle = [(cos(θ), sin(θ)) for θ in 0:0.01:2π]\n", " ellipse = [M*[cos(θ), sin(θ)] for θ in 0:0.01:2π];\n", "\n", " \n", " plot([(0, 0), (x[1], x[2])], aspect_ratio=1, lw=2, leg=false, c=:green, arrow=0.4)\n", " plot!([(0, 0), (new_x[1], new_x[2])], lw=3, c=:blue, arrow=0.4)\n", "\n", " plot!(unit_circle, ls=:dash, c=:green)\n", " plot!(first.(ellipse), last.(ellipse), ls=:dash, c=:blue)\n", "\n", "\n", " # highlight when an eigenvector by changing color:\n", " \n", " ang1 = atan(x[2], x[1])\n", " ang2 = atan(new_x[2], new_x[1])\n", " \n", " if abs(ang1 - ang2) < tol || abs(ang1 - ang2 + π) < tol || abs(ang1 - ang2 - π) < tol\n", " plot!([(0, 0), (new_x[1], new_x[2])], lw=4, c=:magenta)\n", " plot!([(0, 0), (x[1], x[2])], lw=4, c=:magenta)\n", " end\n", " \n", " scatter!([0], [0])\n", "\n", " xlims!(-2, 2)\n", " ylims!(-2, 2)\n", "end" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ "a" ], "instanceArgs": { "namespace": "html", "tag": "label" }, "nodeType": "DOM", "props": { "className": "interact ", "style": { "padding": "5px 10px 0px 10px" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-left" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "input" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}", "orient": "horizontal", "type": "range" }, "className": "slider slider is-fullwidth", "max": 41, "min": 1, "step": 1, "style": {} }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-center" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "p" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "text: formatted_val" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-right" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row interact-widget" }, "type": "node" } ], "instanceArgs": { "handlers": { "changes": [ "(function (val){return (val!=this.model[\"changes\"]()) ? (this.valueFromJulia[\"changes\"]=true, this.model[\"changes\"](val)) : undefined})" ], "index": [ "(function (val){return (val!=this.model[\"index\"]()) ? (this.valueFromJulia[\"index\"]=true, this.model[\"index\"](val)) : undefined})" ] }, "id": "knockout-component-24c8dad5-b400-4069-baab-4e449bc928ec", "imports": { "data": [ { "name": "knockout", "type": "js", "url": "/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js" }, { "name": "knockout_punches", "type": "js", "url": "/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js" }, { "name": null, "type": "js", "url": "/assetserver/69078235d89420aa60ec07ae908cfcc65b6ecf85-all.js" }, { "name": null, "type": "css", "url": "/assetserver/98bc206151bf33944d9780fd349511e9eae784a0-style.css" }, { "name": null, "type": "css", "url": "/assetserver/13615fa9690b1c4388c3fe14db802e442333ebc4-bulma_confined.min.css" } ], "type": "async_block" }, "mount_callbacks": [ "function () {\n var handler = (function (ko, koPunches) {\n ko.punches.enableAll();\n ko.bindingHandlers.numericValue = {\n init : function(element, valueAccessor, allBindings, data, context) {\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\n stringified.subscribe(function(value) {\n var val = parseFloat(value);\n if (!isNaN(val)) {\n valueAccessor()(val);\n }\n })\n valueAccessor().subscribe(function(value) {\n var str = JSON.stringify(value);\n if ((str == \"0\") && ([\"-0\", \"-0.\"].indexOf(stringified()) >= 0))\n return;\n if ([\"null\", \"\"].indexOf(str) >= 0)\n return;\n stringified(str);\n })\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n }\n };\n var json_data = {\"formatted_vals\":[\"-2.0\",\"-1.9\",\"-1.8\",\"-1.7\",\"-1.6\",\"-1.5\",\"-1.4\",\"-1.3\",\"-1.2\",\"-1.1\",\"-1.0\",\"-0.9\",\"-0.8\",\"-0.7\",\"-0.6\",\"-0.5\",\"-0.4\",\"-0.3\",\"-0.2\",\"-0.1\",\"0.0\",\"0.1\",\"0.2\",\"0.3\",\"0.4\",\"0.5\",\"0.6\",\"0.7\",\"0.8\",\"0.9\",\"1.0\",\"1.1\",\"1.2\",\"1.3\",\"1.4\",\"1.5\",\"1.6\",\"1.7\",\"1.8\",\"1.9\",\"2.0\"],\"changes\":WebIO.getval({\"name\":\"changes\",\"scope\":\"knockout-component-24c8dad5-b400-4069-baab-4e449bc928ec\",\"id\":\"ob_03\",\"type\":\"observable\"}),\"index\":WebIO.getval({\"name\":\"index\",\"scope\":\"knockout-component-24c8dad5-b400-4069-baab-4e449bc928ec\",\"id\":\"ob_02\",\"type\":\"observable\"})};\n var self = this;\n function AppViewModel() {\n for (var key in json_data) {\n var el = json_data[key];\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n }\n \n [this[\"formatted_val\"]=ko.computed( function(){\n return this.formatted_vals()[parseInt(this.index())-1];\n }\n,this)]\n [this[\"changes\"].subscribe((function (val){!(this.valueFromJulia[\"changes\"]) ? (WebIO.setval({\"name\":\"changes\",\"scope\":\"knockout-component-24c8dad5-b400-4069-baab-4e449bc928ec\",\"id\":\"ob_03\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"changes\"]=false}),self),this[\"index\"].subscribe((function (val){!(this.valueFromJulia[\"index\"]) ? (WebIO.setval({\"name\":\"index\",\"scope\":\"knockout-component-24c8dad5-b400-4069-baab-4e449bc928ec\",\"id\":\"ob_02\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"index\"]=false}),self)]\n \n }\n self.model = new AppViewModel();\n self.valueFromJulia = {};\n for (var key in json_data) {\n self.valueFromJulia[key] = false;\n }\n ko.applyBindings(self.model, self.dom);\n}\n);\n (WebIO.importBlock({\"data\":[{\"name\":\"knockout\",\"type\":\"js\",\"url\":\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\"},{\"name\":\"knockout_punches\",\"type\":\"js\",\"url\":\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\"}],\"type\":\"async_block\"})).then((imports) => handler.apply(this, imports));\n}\n" ], "observables": { "changes": { "id": "ob_03", "sync": false, "value": 0 }, "index": { "id": "ob_02", "sync": true, "value": 21 } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "field interact-widget" }, "type": "node" }, { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ "b" ], "instanceArgs": { "namespace": "html", "tag": "label" }, "nodeType": "DOM", "props": { "className": "interact ", "style": { "padding": "5px 10px 0px 10px" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-left" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "input" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}", "orient": "horizontal", "type": "range" }, "className": "slider slider is-fullwidth", "max": 41, "min": 1, "step": 1, "style": {} }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-center" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "p" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "text: formatted_val" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-right" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row interact-widget" }, "type": "node" } ], "instanceArgs": { "handlers": { "changes": [ "(function (val){return (val!=this.model[\"changes\"]()) ? (this.valueFromJulia[\"changes\"]=true, this.model[\"changes\"](val)) : undefined})" ], "index": [ "(function (val){return (val!=this.model[\"index\"]()) ? (this.valueFromJulia[\"index\"]=true, this.model[\"index\"](val)) : undefined})" ] }, "id": "knockout-component-45a7001d-ed44-47d9-80ee-8165b2973f6b", "imports": { "data": [ { "name": "knockout", "type": "js", "url": "/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js" }, { "name": "knockout_punches", "type": "js", "url": "/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js" }, { "name": null, "type": "js", "url": "/assetserver/69078235d89420aa60ec07ae908cfcc65b6ecf85-all.js" }, { "name": null, "type": "css", "url": "/assetserver/98bc206151bf33944d9780fd349511e9eae784a0-style.css" }, { "name": null, "type": "css", "url": "/assetserver/13615fa9690b1c4388c3fe14db802e442333ebc4-bulma_confined.min.css" } ], "type": "async_block" }, "mount_callbacks": [ "function () {\n var handler = (function (ko, koPunches) {\n ko.punches.enableAll();\n ko.bindingHandlers.numericValue = {\n init : function(element, valueAccessor, allBindings, data, context) {\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\n stringified.subscribe(function(value) {\n var val = parseFloat(value);\n if (!isNaN(val)) {\n valueAccessor()(val);\n }\n })\n valueAccessor().subscribe(function(value) {\n var str = JSON.stringify(value);\n if ((str == \"0\") && ([\"-0\", \"-0.\"].indexOf(stringified()) >= 0))\n return;\n if ([\"null\", \"\"].indexOf(str) >= 0)\n return;\n stringified(str);\n })\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n }\n };\n var json_data = {\"formatted_vals\":[\"-2.0\",\"-1.9\",\"-1.8\",\"-1.7\",\"-1.6\",\"-1.5\",\"-1.4\",\"-1.3\",\"-1.2\",\"-1.1\",\"-1.0\",\"-0.9\",\"-0.8\",\"-0.7\",\"-0.6\",\"-0.5\",\"-0.4\",\"-0.3\",\"-0.2\",\"-0.1\",\"0.0\",\"0.1\",\"0.2\",\"0.3\",\"0.4\",\"0.5\",\"0.6\",\"0.7\",\"0.8\",\"0.9\",\"1.0\",\"1.1\",\"1.2\",\"1.3\",\"1.4\",\"1.5\",\"1.6\",\"1.7\",\"1.8\",\"1.9\",\"2.0\"],\"changes\":WebIO.getval({\"name\":\"changes\",\"scope\":\"knockout-component-45a7001d-ed44-47d9-80ee-8165b2973f6b\",\"id\":\"ob_06\",\"type\":\"observable\"}),\"index\":WebIO.getval({\"name\":\"index\",\"scope\":\"knockout-component-45a7001d-ed44-47d9-80ee-8165b2973f6b\",\"id\":\"ob_05\",\"type\":\"observable\"})};\n var self = this;\n function AppViewModel() {\n for (var key in json_data) {\n var el = json_data[key];\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n }\n \n [this[\"formatted_val\"]=ko.computed( function(){\n return this.formatted_vals()[parseInt(this.index())-1];\n }\n,this)]\n [this[\"changes\"].subscribe((function (val){!(this.valueFromJulia[\"changes\"]) ? (WebIO.setval({\"name\":\"changes\",\"scope\":\"knockout-component-45a7001d-ed44-47d9-80ee-8165b2973f6b\",\"id\":\"ob_06\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"changes\"]=false}),self),this[\"index\"].subscribe((function (val){!(this.valueFromJulia[\"index\"]) ? (WebIO.setval({\"name\":\"index\",\"scope\":\"knockout-component-45a7001d-ed44-47d9-80ee-8165b2973f6b\",\"id\":\"ob_05\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"index\"]=false}),self)]\n \n }\n self.model = new AppViewModel();\n self.valueFromJulia = {};\n for (var key in json_data) {\n self.valueFromJulia[key] = false;\n }\n ko.applyBindings(self.model, self.dom);\n}\n);\n (WebIO.importBlock({\"data\":[{\"name\":\"knockout\",\"type\":\"js\",\"url\":\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\"},{\"name\":\"knockout_punches\",\"type\":\"js\",\"url\":\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\"}],\"type\":\"async_block\"})).then((imports) => handler.apply(this, imports));\n}\n" ], "observables": { "changes": { "id": "ob_06", "sync": false, "value": 0 }, "index": { "id": "ob_05", "sync": true, "value": 21 } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "field interact-widget" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ "c" ], "instanceArgs": { "namespace": "html", "tag": "label" }, "nodeType": "DOM", "props": { "className": "interact ", "style": { "padding": "5px 10px 0px 10px" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-left" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "input" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}", "orient": "horizontal", "type": "range" }, "className": "slider slider is-fullwidth", "max": 41, "min": 1, "step": 1, "style": {} }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-center" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "p" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "text: formatted_val" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-right" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row interact-widget" }, "type": "node" } ], "instanceArgs": { "handlers": { "changes": [ "(function (val){return (val!=this.model[\"changes\"]()) ? (this.valueFromJulia[\"changes\"]=true, this.model[\"changes\"](val)) : undefined})" ], "index": [ "(function (val){return (val!=this.model[\"index\"]()) ? (this.valueFromJulia[\"index\"]=true, this.model[\"index\"](val)) : undefined})" ] }, "id": "knockout-component-d8a2120e-98ec-42f3-8ca1-493755ea1c82", "imports": { "data": [ { "name": "knockout", "type": "js", "url": "/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js" }, { "name": "knockout_punches", "type": "js", "url": "/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js" }, { "name": null, "type": "js", "url": "/assetserver/69078235d89420aa60ec07ae908cfcc65b6ecf85-all.js" }, { "name": null, "type": "css", "url": "/assetserver/98bc206151bf33944d9780fd349511e9eae784a0-style.css" }, { "name": null, "type": "css", "url": "/assetserver/13615fa9690b1c4388c3fe14db802e442333ebc4-bulma_confined.min.css" } ], "type": "async_block" }, "mount_callbacks": [ "function () {\n var handler = (function (ko, koPunches) {\n ko.punches.enableAll();\n ko.bindingHandlers.numericValue = {\n init : function(element, valueAccessor, allBindings, data, context) {\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\n stringified.subscribe(function(value) {\n var val = parseFloat(value);\n if (!isNaN(val)) {\n valueAccessor()(val);\n }\n })\n valueAccessor().subscribe(function(value) {\n var str = JSON.stringify(value);\n if ((str == \"0\") && ([\"-0\", \"-0.\"].indexOf(stringified()) >= 0))\n return;\n if ([\"null\", \"\"].indexOf(str) >= 0)\n return;\n stringified(str);\n })\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n }\n };\n var json_data = {\"formatted_vals\":[\"-2.0\",\"-1.9\",\"-1.8\",\"-1.7\",\"-1.6\",\"-1.5\",\"-1.4\",\"-1.3\",\"-1.2\",\"-1.1\",\"-1.0\",\"-0.9\",\"-0.8\",\"-0.7\",\"-0.6\",\"-0.5\",\"-0.4\",\"-0.3\",\"-0.2\",\"-0.1\",\"0.0\",\"0.1\",\"0.2\",\"0.3\",\"0.4\",\"0.5\",\"0.6\",\"0.7\",\"0.8\",\"0.9\",\"1.0\",\"1.1\",\"1.2\",\"1.3\",\"1.4\",\"1.5\",\"1.6\",\"1.7\",\"1.8\",\"1.9\",\"2.0\"],\"changes\":WebIO.getval({\"name\":\"changes\",\"scope\":\"knockout-component-d8a2120e-98ec-42f3-8ca1-493755ea1c82\",\"id\":\"ob_09\",\"type\":\"observable\"}),\"index\":WebIO.getval({\"name\":\"index\",\"scope\":\"knockout-component-d8a2120e-98ec-42f3-8ca1-493755ea1c82\",\"id\":\"ob_08\",\"type\":\"observable\"})};\n var self = this;\n function AppViewModel() {\n for (var key in json_data) {\n var el = json_data[key];\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n }\n \n [this[\"formatted_val\"]=ko.computed( function(){\n return this.formatted_vals()[parseInt(this.index())-1];\n }\n,this)]\n [this[\"changes\"].subscribe((function (val){!(this.valueFromJulia[\"changes\"]) ? (WebIO.setval({\"name\":\"changes\",\"scope\":\"knockout-component-d8a2120e-98ec-42f3-8ca1-493755ea1c82\",\"id\":\"ob_09\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"changes\"]=false}),self),this[\"index\"].subscribe((function (val){!(this.valueFromJulia[\"index\"]) ? (WebIO.setval({\"name\":\"index\",\"scope\":\"knockout-component-d8a2120e-98ec-42f3-8ca1-493755ea1c82\",\"id\":\"ob_08\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"index\"]=false}),self)]\n \n }\n self.model = new AppViewModel();\n self.valueFromJulia = {};\n for (var key in json_data) {\n self.valueFromJulia[key] = false;\n }\n ko.applyBindings(self.model, self.dom);\n}\n);\n (WebIO.importBlock({\"data\":[{\"name\":\"knockout\",\"type\":\"js\",\"url\":\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\"},{\"name\":\"knockout_punches\",\"type\":\"js\",\"url\":\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\"}],\"type\":\"async_block\"})).then((imports) => handler.apply(this, imports));\n}\n" ], "observables": { "changes": { "id": "ob_09", "sync": false, "value": 0 }, "index": { "id": "ob_08", "sync": true, "value": 21 } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "field interact-widget" }, "type": "node" }, { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ "d" ], "instanceArgs": { "namespace": "html", "tag": "label" }, "nodeType": "DOM", "props": { "className": "interact ", "style": { "padding": "5px 10px 0px 10px" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-left" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "input" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}", "orient": "horizontal", "type": "range" }, "className": "slider slider is-fullwidth", "max": 41, "min": 1, "step": 1, "style": {} }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-center" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "p" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "text: formatted_val" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-right" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row interact-widget" }, "type": "node" } ], "instanceArgs": { "handlers": { "changes": [ "(function (val){return (val!=this.model[\"changes\"]()) ? (this.valueFromJulia[\"changes\"]=true, this.model[\"changes\"](val)) : undefined})" ], "index": [ "(function (val){return (val!=this.model[\"index\"]()) ? (this.valueFromJulia[\"index\"]=true, this.model[\"index\"](val)) : undefined})" ] }, "id": "knockout-component-f75f6c73-384f-4cde-b984-890bfef3429c", "imports": { "data": [ { "name": "knockout", "type": "js", "url": "/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js" }, { "name": "knockout_punches", "type": "js", "url": "/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js" }, { "name": null, "type": "js", "url": "/assetserver/69078235d89420aa60ec07ae908cfcc65b6ecf85-all.js" }, { "name": null, "type": "css", "url": "/assetserver/98bc206151bf33944d9780fd349511e9eae784a0-style.css" }, { "name": null, "type": "css", "url": "/assetserver/13615fa9690b1c4388c3fe14db802e442333ebc4-bulma_confined.min.css" } ], "type": "async_block" }, "mount_callbacks": [ "function () {\n var handler = (function (ko, koPunches) {\n ko.punches.enableAll();\n ko.bindingHandlers.numericValue = {\n init : function(element, valueAccessor, allBindings, data, context) {\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\n stringified.subscribe(function(value) {\n var val = parseFloat(value);\n if (!isNaN(val)) {\n valueAccessor()(val);\n }\n })\n valueAccessor().subscribe(function(value) {\n var str = JSON.stringify(value);\n if ((str == \"0\") && ([\"-0\", \"-0.\"].indexOf(stringified()) >= 0))\n return;\n if ([\"null\", \"\"].indexOf(str) >= 0)\n return;\n stringified(str);\n })\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n }\n };\n var json_data = {\"formatted_vals\":[\"-2.0\",\"-1.9\",\"-1.8\",\"-1.7\",\"-1.6\",\"-1.5\",\"-1.4\",\"-1.3\",\"-1.2\",\"-1.1\",\"-1.0\",\"-0.9\",\"-0.8\",\"-0.7\",\"-0.6\",\"-0.5\",\"-0.4\",\"-0.3\",\"-0.2\",\"-0.1\",\"0.0\",\"0.1\",\"0.2\",\"0.3\",\"0.4\",\"0.5\",\"0.6\",\"0.7\",\"0.8\",\"0.9\",\"1.0\",\"1.1\",\"1.2\",\"1.3\",\"1.4\",\"1.5\",\"1.6\",\"1.7\",\"1.8\",\"1.9\",\"2.0\"],\"changes\":WebIO.getval({\"name\":\"changes\",\"scope\":\"knockout-component-f75f6c73-384f-4cde-b984-890bfef3429c\",\"id\":\"ob_12\",\"type\":\"observable\"}),\"index\":WebIO.getval({\"name\":\"index\",\"scope\":\"knockout-component-f75f6c73-384f-4cde-b984-890bfef3429c\",\"id\":\"ob_11\",\"type\":\"observable\"})};\n var self = this;\n function AppViewModel() {\n for (var key in json_data) {\n var el = json_data[key];\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n }\n \n [this[\"formatted_val\"]=ko.computed( function(){\n return this.formatted_vals()[parseInt(this.index())-1];\n }\n,this)]\n [this[\"changes\"].subscribe((function (val){!(this.valueFromJulia[\"changes\"]) ? (WebIO.setval({\"name\":\"changes\",\"scope\":\"knockout-component-f75f6c73-384f-4cde-b984-890bfef3429c\",\"id\":\"ob_12\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"changes\"]=false}),self),this[\"index\"].subscribe((function (val){!(this.valueFromJulia[\"index\"]) ? (WebIO.setval({\"name\":\"index\",\"scope\":\"knockout-component-f75f6c73-384f-4cde-b984-890bfef3429c\",\"id\":\"ob_11\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"index\"]=false}),self)]\n \n }\n self.model = new AppViewModel();\n self.valueFromJulia = {};\n for (var key in json_data) {\n self.valueFromJulia[key] = false;\n }\n ko.applyBindings(self.model, self.dom);\n}\n);\n (WebIO.importBlock({\"data\":[{\"name\":\"knockout\",\"type\":\"js\",\"url\":\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\"},{\"name\":\"knockout_punches\",\"type\":\"js\",\"url\":\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\"}],\"type\":\"async_block\"})).then((imports) => handler.apply(this, imports));\n}\n" ], "observables": { "changes": { "id": "ob_12", "sync": false, "value": 0 }, "index": { "id": "ob_11", "sync": true, "value": 21 } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "field interact-widget" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\"=>\"flex\",\"flex-direction\"=>\"column\") }\n", " (div { style=Dict(\"display\"=>\"flex\",\"flex-direction\"=>\"row\") }\n", " (div { className=\"field interact-widget\" }\n", " (div { className=\"interact-flex-row interact-widget\" }\n", " (div { className=\"interact-flex-row-left\" }\n", " (label { className=\"interact \" style=Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\") }\n", " \"a\"))\n", " (div { className=\"interact-flex-row-center\" }\n", " (input { max=41 min=1 attributes=Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\") step=1 className=\"slider slider is-fullwidth\" style=Dict{Any,Any}() }))\n", " (div { className=\"interact-flex-row-right\" }\n", " (p { attributes=Dict(\"data-bind\"=>\"text: formatted_val\") }))))\n", " (div { className=\"field interact-widget\" }\n", " (div { className=\"interact-flex-row interact-widget\" }\n", " (div { className=\"interact-flex-row-left\" }\n", " (label { className=\"interact \" style=Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\") }\n", " \"b\"))\n", " (div { className=\"interact-flex-row-center\" }\n", " (input { max=41 min=1 attributes=Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\") step=1 className=\"slider slider is-fullwidth\" style=Dict{Any,Any}() }))\n", " (div { className=\"interact-flex-row-right\" }\n", " (p { attributes=Dict(\"data-bind\"=>\"text: formatted_val\") })))))\n", " (div { style=Dict(\"display\"=>\"flex\",\"flex-direction\"=>\"row\") }\n", " (div { className=\"field interact-widget\" }\n", " (div { className=\"interact-flex-row interact-widget\" }\n", " (div { className=\"interact-flex-row-left\" }\n", " (label { className=\"interact \" style=Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\") }\n", " \"c\"))\n", " (div { className=\"interact-flex-row-center\" }\n", " (input { max=41 min=1 attributes=Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\") step=1 className=\"slider slider is-fullwidth\" style=Dict{Any,Any}() }))\n", " (div { className=\"interact-flex-row-right\" }\n", " (p { attributes=Dict(\"data-bind\"=>\"text: formatted_val\") }))))\n", " (div { className=\"field interact-widget\" }\n", " (div { className=\"interact-flex-row interact-widget\" }\n", " (div { className=\"interact-flex-row-left\" }\n", " (label { className=\"interact \" style=Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\") }\n", " \"d\"))\n", " (div { className=\"interact-flex-row-center\" }\n", " (input { max=41 min=1 attributes=Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\") step=1 className=\"slider slider is-fullwidth\" style=Dict{Any,Any}() }))\n", " (div { className=\"interact-flex-row-right\" }\n", " (p { attributes=Dict(\"data-bind\"=>\"text: formatted_val\") }))))))" ] }, "execution_count": 4, "metadata": { "application/vnd.webio.node+json": { "kernelId": "b60d3081-e7dd-4d68-bb83-50e4fad3e468" } }, "output_type": "execute_result" } ], "source": [ "a = slider(-2:0.1:2, label=\"a\")\n", "b = slider(-2:0.1:2, label=\"b\")\n", "c = slider(-2:0.1:2, label=\"c\")\n", "d = slider(-2:0.1:2, label=\"d\")\n", "\n", "\n", "sliders = vbox( hbox(a, b),\n", " hbox(c, d)\n", " )" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": false }, "outputs": [ { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "webio-observable", "setInnerHtml": "\n\n\n \n \n \n\n\n\n \n \n \n\n\n\n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n-2\n\n\n-1\n\n\n0\n\n\n1\n\n\n2\n\n\n-2\n\n\n-1\n\n\n0\n\n\n1\n\n\n2\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, "type": "node" } ], "instanceArgs": { "handlers": { "obs-output": [ "function (value, scope) {\n scope.setInnerHTML(value);\n}\n" ] }, "id": "scope-5e7d58d9-1c92-48f5-9438-f5e62b79b8c1", "imports": { "data": [], "type": "async_block" }, "mount_callbacks": [], "observables": { "obs-output": { "id": "ob_18", "sync": false, "value": "\n\n\n \n \n \n\n\n\n \n \n \n\n\n\n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n-2\n\n\n-1\n\n\n0\n\n\n1\n\n\n2\n\n\n-2\n\n\n-1\n\n\n0\n\n\n1\n\n\n2\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "Observable{Any} with 0 listeners. Value:\n", "Plot{Plots.GRBackend() n=7}" ] }, "execution_count": 5, "metadata": { "application/vnd.webio.node+json": { "kernelId": "b60d3081-e7dd-4d68-bb83-50e4fad3e468" } }, "output_type": "execute_result" } ], "source": [ "r = -2:0.01:2\n", "\n", "θ_vals = range(-2π, 2π, length = 500)\n", "formatted_vals = map(t -> \"$(floor(t/π, digits=2))π\", θ_vals)\n", "\n", "#@manipulate for a in r, b in r, c in r, d in r, θ in \n", "\n", "θ = slider(θ_vals, formatted_vals, label=\"θ\")\n", "\n", "p = map(a, b, c, d, θ) do a, b, c, d, θ\n", "\n", " M = [a b; c d]\n", " \n", " x = [cos(θ), sin(θ)]\n", " \n", " plot_image(M, x)\n", "\n", "end" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ "a" ], "instanceArgs": { "namespace": "html", "tag": "label" }, "nodeType": "DOM", "props": { "className": "interact ", "style": { "padding": "5px 10px 0px 10px" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-left" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "input" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}", "orient": "horizontal", "type": "range" }, "className": "slider slider is-fullwidth", "max": 41, "min": 1, "step": 1, "style": {} }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-center" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "p" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "text: formatted_val" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-right" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row interact-widget" }, "type": "node" } ], "instanceArgs": { "handlers": { "changes": [ "(function (val){return (val!=this.model[\"changes\"]()) ? (this.valueFromJulia[\"changes\"]=true, this.model[\"changes\"](val)) : undefined})" ], "index": [ "(function (val){return (val!=this.model[\"index\"]()) ? (this.valueFromJulia[\"index\"]=true, this.model[\"index\"](val)) : undefined})" ] }, "id": "knockout-component-24c8dad5-b400-4069-baab-4e449bc928ec", "imports": { "data": [ { "name": "knockout", "type": "js", "url": "/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js" }, { "name": "knockout_punches", "type": "js", "url": "/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js" }, { "name": null, "type": "js", "url": "/assetserver/69078235d89420aa60ec07ae908cfcc65b6ecf85-all.js" }, { "name": null, "type": "css", "url": "/assetserver/98bc206151bf33944d9780fd349511e9eae784a0-style.css" }, { "name": null, "type": "css", "url": "/assetserver/13615fa9690b1c4388c3fe14db802e442333ebc4-bulma_confined.min.css" } ], "type": "async_block" }, "mount_callbacks": [ "function () {\n var handler = (function (ko, koPunches) {\n ko.punches.enableAll();\n ko.bindingHandlers.numericValue = {\n init : function(element, valueAccessor, allBindings, data, context) {\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\n stringified.subscribe(function(value) {\n var val = parseFloat(value);\n if (!isNaN(val)) {\n valueAccessor()(val);\n }\n })\n valueAccessor().subscribe(function(value) {\n var str = JSON.stringify(value);\n if ((str == \"0\") && ([\"-0\", \"-0.\"].indexOf(stringified()) >= 0))\n return;\n if ([\"null\", \"\"].indexOf(str) >= 0)\n return;\n stringified(str);\n })\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n }\n };\n var json_data = {\"formatted_vals\":[\"-2.0\",\"-1.9\",\"-1.8\",\"-1.7\",\"-1.6\",\"-1.5\",\"-1.4\",\"-1.3\",\"-1.2\",\"-1.1\",\"-1.0\",\"-0.9\",\"-0.8\",\"-0.7\",\"-0.6\",\"-0.5\",\"-0.4\",\"-0.3\",\"-0.2\",\"-0.1\",\"0.0\",\"0.1\",\"0.2\",\"0.3\",\"0.4\",\"0.5\",\"0.6\",\"0.7\",\"0.8\",\"0.9\",\"1.0\",\"1.1\",\"1.2\",\"1.3\",\"1.4\",\"1.5\",\"1.6\",\"1.7\",\"1.8\",\"1.9\",\"2.0\"],\"changes\":WebIO.getval({\"name\":\"changes\",\"scope\":\"knockout-component-24c8dad5-b400-4069-baab-4e449bc928ec\",\"id\":\"ob_03\",\"type\":\"observable\"}),\"index\":WebIO.getval({\"name\":\"index\",\"scope\":\"knockout-component-24c8dad5-b400-4069-baab-4e449bc928ec\",\"id\":\"ob_02\",\"type\":\"observable\"})};\n var self = this;\n function AppViewModel() {\n for (var key in json_data) {\n var el = json_data[key];\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n }\n \n [this[\"formatted_val\"]=ko.computed( function(){\n return this.formatted_vals()[parseInt(this.index())-1];\n }\n,this)]\n [this[\"changes\"].subscribe((function (val){!(this.valueFromJulia[\"changes\"]) ? (WebIO.setval({\"name\":\"changes\",\"scope\":\"knockout-component-24c8dad5-b400-4069-baab-4e449bc928ec\",\"id\":\"ob_03\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"changes\"]=false}),self),this[\"index\"].subscribe((function (val){!(this.valueFromJulia[\"index\"]) ? (WebIO.setval({\"name\":\"index\",\"scope\":\"knockout-component-24c8dad5-b400-4069-baab-4e449bc928ec\",\"id\":\"ob_02\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"index\"]=false}),self)]\n \n }\n self.model = new AppViewModel();\n self.valueFromJulia = {};\n for (var key in json_data) {\n self.valueFromJulia[key] = false;\n }\n ko.applyBindings(self.model, self.dom);\n}\n);\n (WebIO.importBlock({\"data\":[{\"name\":\"knockout\",\"type\":\"js\",\"url\":\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\"},{\"name\":\"knockout_punches\",\"type\":\"js\",\"url\":\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\"}],\"type\":\"async_block\"})).then((imports) => handler.apply(this, imports));\n}\n" ], "observables": { "changes": { "id": "ob_03", "sync": false, "value": 0 }, "index": { "id": "ob_02", "sync": true, "value": 21 } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "field interact-widget" }, "type": "node" }, { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ "b" ], "instanceArgs": { "namespace": "html", "tag": "label" }, "nodeType": "DOM", "props": { "className": "interact ", "style": { "padding": "5px 10px 0px 10px" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-left" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "input" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}", "orient": "horizontal", "type": "range" }, "className": "slider slider is-fullwidth", "max": 41, "min": 1, "step": 1, "style": {} }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-center" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "p" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "text: formatted_val" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-right" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row interact-widget" }, "type": "node" } ], "instanceArgs": { "handlers": { "changes": [ "(function (val){return (val!=this.model[\"changes\"]()) ? (this.valueFromJulia[\"changes\"]=true, this.model[\"changes\"](val)) : undefined})" ], "index": [ "(function (val){return (val!=this.model[\"index\"]()) ? (this.valueFromJulia[\"index\"]=true, this.model[\"index\"](val)) : undefined})" ] }, "id": "knockout-component-45a7001d-ed44-47d9-80ee-8165b2973f6b", "imports": { "data": [ { "name": "knockout", "type": "js", "url": "/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js" }, { "name": "knockout_punches", "type": "js", "url": "/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js" }, { "name": null, "type": "js", "url": "/assetserver/69078235d89420aa60ec07ae908cfcc65b6ecf85-all.js" }, { "name": null, "type": "css", "url": "/assetserver/98bc206151bf33944d9780fd349511e9eae784a0-style.css" }, { "name": null, "type": "css", "url": "/assetserver/13615fa9690b1c4388c3fe14db802e442333ebc4-bulma_confined.min.css" } ], "type": "async_block" }, "mount_callbacks": [ "function () {\n var handler = (function (ko, koPunches) {\n ko.punches.enableAll();\n ko.bindingHandlers.numericValue = {\n init : function(element, valueAccessor, allBindings, data, context) {\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\n stringified.subscribe(function(value) {\n var val = parseFloat(value);\n if (!isNaN(val)) {\n valueAccessor()(val);\n }\n })\n valueAccessor().subscribe(function(value) {\n var str = JSON.stringify(value);\n if ((str == \"0\") && ([\"-0\", \"-0.\"].indexOf(stringified()) >= 0))\n return;\n if ([\"null\", \"\"].indexOf(str) >= 0)\n return;\n stringified(str);\n })\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n }\n };\n var json_data = {\"formatted_vals\":[\"-2.0\",\"-1.9\",\"-1.8\",\"-1.7\",\"-1.6\",\"-1.5\",\"-1.4\",\"-1.3\",\"-1.2\",\"-1.1\",\"-1.0\",\"-0.9\",\"-0.8\",\"-0.7\",\"-0.6\",\"-0.5\",\"-0.4\",\"-0.3\",\"-0.2\",\"-0.1\",\"0.0\",\"0.1\",\"0.2\",\"0.3\",\"0.4\",\"0.5\",\"0.6\",\"0.7\",\"0.8\",\"0.9\",\"1.0\",\"1.1\",\"1.2\",\"1.3\",\"1.4\",\"1.5\",\"1.6\",\"1.7\",\"1.8\",\"1.9\",\"2.0\"],\"changes\":WebIO.getval({\"name\":\"changes\",\"scope\":\"knockout-component-45a7001d-ed44-47d9-80ee-8165b2973f6b\",\"id\":\"ob_06\",\"type\":\"observable\"}),\"index\":WebIO.getval({\"name\":\"index\",\"scope\":\"knockout-component-45a7001d-ed44-47d9-80ee-8165b2973f6b\",\"id\":\"ob_05\",\"type\":\"observable\"})};\n var self = this;\n function AppViewModel() {\n for (var key in json_data) {\n var el = json_data[key];\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n }\n \n [this[\"formatted_val\"]=ko.computed( function(){\n return this.formatted_vals()[parseInt(this.index())-1];\n }\n,this)]\n [this[\"changes\"].subscribe((function (val){!(this.valueFromJulia[\"changes\"]) ? (WebIO.setval({\"name\":\"changes\",\"scope\":\"knockout-component-45a7001d-ed44-47d9-80ee-8165b2973f6b\",\"id\":\"ob_06\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"changes\"]=false}),self),this[\"index\"].subscribe((function (val){!(this.valueFromJulia[\"index\"]) ? (WebIO.setval({\"name\":\"index\",\"scope\":\"knockout-component-45a7001d-ed44-47d9-80ee-8165b2973f6b\",\"id\":\"ob_05\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"index\"]=false}),self)]\n \n }\n self.model = new AppViewModel();\n self.valueFromJulia = {};\n for (var key in json_data) {\n self.valueFromJulia[key] = false;\n }\n ko.applyBindings(self.model, self.dom);\n}\n);\n (WebIO.importBlock({\"data\":[{\"name\":\"knockout\",\"type\":\"js\",\"url\":\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\"},{\"name\":\"knockout_punches\",\"type\":\"js\",\"url\":\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\"}],\"type\":\"async_block\"})).then((imports) => handler.apply(this, imports));\n}\n" ], "observables": { "changes": { "id": "ob_06", "sync": false, "value": 0 }, "index": { "id": "ob_05", "sync": true, "value": 21 } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "field interact-widget" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" }, { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ "c" ], "instanceArgs": { "namespace": "html", "tag": "label" }, "nodeType": "DOM", "props": { "className": "interact ", "style": { "padding": "5px 10px 0px 10px" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-left" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "input" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}", "orient": "horizontal", "type": "range" }, "className": "slider slider is-fullwidth", "max": 41, "min": 1, "step": 1, "style": {} }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-center" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "p" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "text: formatted_val" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-right" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row interact-widget" }, "type": "node" } ], "instanceArgs": { "handlers": { "changes": [ "(function (val){return (val!=this.model[\"changes\"]()) ? (this.valueFromJulia[\"changes\"]=true, this.model[\"changes\"](val)) : undefined})" ], "index": [ "(function (val){return (val!=this.model[\"index\"]()) ? (this.valueFromJulia[\"index\"]=true, this.model[\"index\"](val)) : undefined})" ] }, "id": "knockout-component-d8a2120e-98ec-42f3-8ca1-493755ea1c82", "imports": { "data": [ { "name": "knockout", "type": "js", "url": "/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js" }, { "name": "knockout_punches", "type": "js", "url": "/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js" }, { "name": null, "type": "js", "url": "/assetserver/69078235d89420aa60ec07ae908cfcc65b6ecf85-all.js" }, { "name": null, "type": "css", "url": "/assetserver/98bc206151bf33944d9780fd349511e9eae784a0-style.css" }, { "name": null, "type": "css", "url": "/assetserver/13615fa9690b1c4388c3fe14db802e442333ebc4-bulma_confined.min.css" } ], "type": "async_block" }, "mount_callbacks": [ "function () {\n var handler = (function (ko, koPunches) {\n ko.punches.enableAll();\n ko.bindingHandlers.numericValue = {\n init : function(element, valueAccessor, allBindings, data, context) {\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\n stringified.subscribe(function(value) {\n var val = parseFloat(value);\n if (!isNaN(val)) {\n valueAccessor()(val);\n }\n })\n valueAccessor().subscribe(function(value) {\n var str = JSON.stringify(value);\n if ((str == \"0\") && ([\"-0\", \"-0.\"].indexOf(stringified()) >= 0))\n return;\n if ([\"null\", \"\"].indexOf(str) >= 0)\n return;\n stringified(str);\n })\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n }\n };\n var json_data = {\"formatted_vals\":[\"-2.0\",\"-1.9\",\"-1.8\",\"-1.7\",\"-1.6\",\"-1.5\",\"-1.4\",\"-1.3\",\"-1.2\",\"-1.1\",\"-1.0\",\"-0.9\",\"-0.8\",\"-0.7\",\"-0.6\",\"-0.5\",\"-0.4\",\"-0.3\",\"-0.2\",\"-0.1\",\"0.0\",\"0.1\",\"0.2\",\"0.3\",\"0.4\",\"0.5\",\"0.6\",\"0.7\",\"0.8\",\"0.9\",\"1.0\",\"1.1\",\"1.2\",\"1.3\",\"1.4\",\"1.5\",\"1.6\",\"1.7\",\"1.8\",\"1.9\",\"2.0\"],\"changes\":WebIO.getval({\"name\":\"changes\",\"scope\":\"knockout-component-d8a2120e-98ec-42f3-8ca1-493755ea1c82\",\"id\":\"ob_09\",\"type\":\"observable\"}),\"index\":WebIO.getval({\"name\":\"index\",\"scope\":\"knockout-component-d8a2120e-98ec-42f3-8ca1-493755ea1c82\",\"id\":\"ob_08\",\"type\":\"observable\"})};\n var self = this;\n function AppViewModel() {\n for (var key in json_data) {\n var el = json_data[key];\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n }\n \n [this[\"formatted_val\"]=ko.computed( function(){\n return this.formatted_vals()[parseInt(this.index())-1];\n }\n,this)]\n [this[\"changes\"].subscribe((function (val){!(this.valueFromJulia[\"changes\"]) ? (WebIO.setval({\"name\":\"changes\",\"scope\":\"knockout-component-d8a2120e-98ec-42f3-8ca1-493755ea1c82\",\"id\":\"ob_09\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"changes\"]=false}),self),this[\"index\"].subscribe((function (val){!(this.valueFromJulia[\"index\"]) ? (WebIO.setval({\"name\":\"index\",\"scope\":\"knockout-component-d8a2120e-98ec-42f3-8ca1-493755ea1c82\",\"id\":\"ob_08\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"index\"]=false}),self)]\n \n }\n self.model = new AppViewModel();\n self.valueFromJulia = {};\n for (var key in json_data) {\n self.valueFromJulia[key] = false;\n }\n ko.applyBindings(self.model, self.dom);\n}\n);\n (WebIO.importBlock({\"data\":[{\"name\":\"knockout\",\"type\":\"js\",\"url\":\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\"},{\"name\":\"knockout_punches\",\"type\":\"js\",\"url\":\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\"}],\"type\":\"async_block\"})).then((imports) => handler.apply(this, imports));\n}\n" ], "observables": { "changes": { "id": "ob_09", "sync": false, "value": 0 }, "index": { "id": "ob_08", "sync": true, "value": 21 } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "field interact-widget" }, "type": "node" }, { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ "d" ], "instanceArgs": { "namespace": "html", "tag": "label" }, "nodeType": "DOM", "props": { "className": "interact ", "style": { "padding": "5px 10px 0px 10px" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-left" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "input" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}", "orient": "horizontal", "type": "range" }, "className": "slider slider is-fullwidth", "max": 41, "min": 1, "step": 1, "style": {} }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-center" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "p" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "text: formatted_val" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-right" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row interact-widget" }, "type": "node" } ], "instanceArgs": { "handlers": { "changes": [ "(function (val){return (val!=this.model[\"changes\"]()) ? (this.valueFromJulia[\"changes\"]=true, this.model[\"changes\"](val)) : undefined})" ], "index": [ "(function (val){return (val!=this.model[\"index\"]()) ? (this.valueFromJulia[\"index\"]=true, this.model[\"index\"](val)) : undefined})" ] }, "id": "knockout-component-f75f6c73-384f-4cde-b984-890bfef3429c", "imports": { "data": [ { "name": "knockout", "type": "js", "url": "/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js" }, { "name": "knockout_punches", "type": "js", "url": "/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js" }, { "name": null, "type": "js", "url": "/assetserver/69078235d89420aa60ec07ae908cfcc65b6ecf85-all.js" }, { "name": null, "type": "css", "url": "/assetserver/98bc206151bf33944d9780fd349511e9eae784a0-style.css" }, { "name": null, "type": "css", "url": "/assetserver/13615fa9690b1c4388c3fe14db802e442333ebc4-bulma_confined.min.css" } ], "type": "async_block" }, "mount_callbacks": [ "function () {\n var handler = (function (ko, koPunches) {\n ko.punches.enableAll();\n ko.bindingHandlers.numericValue = {\n init : function(element, valueAccessor, allBindings, data, context) {\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\n stringified.subscribe(function(value) {\n var val = parseFloat(value);\n if (!isNaN(val)) {\n valueAccessor()(val);\n }\n })\n valueAccessor().subscribe(function(value) {\n var str = JSON.stringify(value);\n if ((str == \"0\") && ([\"-0\", \"-0.\"].indexOf(stringified()) >= 0))\n return;\n if ([\"null\", \"\"].indexOf(str) >= 0)\n return;\n stringified(str);\n })\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n }\n };\n var json_data = {\"formatted_vals\":[\"-2.0\",\"-1.9\",\"-1.8\",\"-1.7\",\"-1.6\",\"-1.5\",\"-1.4\",\"-1.3\",\"-1.2\",\"-1.1\",\"-1.0\",\"-0.9\",\"-0.8\",\"-0.7\",\"-0.6\",\"-0.5\",\"-0.4\",\"-0.3\",\"-0.2\",\"-0.1\",\"0.0\",\"0.1\",\"0.2\",\"0.3\",\"0.4\",\"0.5\",\"0.6\",\"0.7\",\"0.8\",\"0.9\",\"1.0\",\"1.1\",\"1.2\",\"1.3\",\"1.4\",\"1.5\",\"1.6\",\"1.7\",\"1.8\",\"1.9\",\"2.0\"],\"changes\":WebIO.getval({\"name\":\"changes\",\"scope\":\"knockout-component-f75f6c73-384f-4cde-b984-890bfef3429c\",\"id\":\"ob_12\",\"type\":\"observable\"}),\"index\":WebIO.getval({\"name\":\"index\",\"scope\":\"knockout-component-f75f6c73-384f-4cde-b984-890bfef3429c\",\"id\":\"ob_11\",\"type\":\"observable\"})};\n var self = this;\n function AppViewModel() {\n for (var key in json_data) {\n var el = json_data[key];\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n }\n \n [this[\"formatted_val\"]=ko.computed( function(){\n return this.formatted_vals()[parseInt(this.index())-1];\n }\n,this)]\n [this[\"changes\"].subscribe((function (val){!(this.valueFromJulia[\"changes\"]) ? (WebIO.setval({\"name\":\"changes\",\"scope\":\"knockout-component-f75f6c73-384f-4cde-b984-890bfef3429c\",\"id\":\"ob_12\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"changes\"]=false}),self),this[\"index\"].subscribe((function (val){!(this.valueFromJulia[\"index\"]) ? (WebIO.setval({\"name\":\"index\",\"scope\":\"knockout-component-f75f6c73-384f-4cde-b984-890bfef3429c\",\"id\":\"ob_11\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"index\"]=false}),self)]\n \n }\n self.model = new AppViewModel();\n self.valueFromJulia = {};\n for (var key in json_data) {\n self.valueFromJulia[key] = false;\n }\n ko.applyBindings(self.model, self.dom);\n}\n);\n (WebIO.importBlock({\"data\":[{\"name\":\"knockout\",\"type\":\"js\",\"url\":\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\"},{\"name\":\"knockout_punches\",\"type\":\"js\",\"url\":\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\"}],\"type\":\"async_block\"})).then((imports) => handler.apply(this, imports));\n}\n" ], "observables": { "changes": { "id": "ob_12", "sync": false, "value": 0 }, "index": { "id": "ob_11", "sync": true, "value": 21 } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "field interact-widget" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "row" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ "θ" ], "instanceArgs": { "namespace": "html", "tag": "label" }, "nodeType": "DOM", "props": { "className": "interact ", "style": { "padding": "5px 10px 0px 10px" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-left" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "input" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}", "orient": "horizontal", "type": "range" }, "className": "slider slider is-fullwidth", "max": 629, "min": 1, "step": 1, "style": {} }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-center" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "p" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "text: formatted_val" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-right" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row interact-widget" }, "type": "node" } ], "instanceArgs": { "handlers": { "changes": [ "(function (val){return (val!=this.model[\"changes\"]()) ? (this.valueFromJulia[\"changes\"]=true, this.model[\"changes\"](val)) : undefined})" ], "index": [ "(function (val){return (val!=this.model[\"index\"]()) ? (this.valueFromJulia[\"index\"]=true, this.model[\"index\"](val)) : undefined})" ] }, "id": "knockout-component-30a7bef9-147e-4e26-a079-f1e1d7d1b8aa", "imports": { "data": [ { "name": "knockout", "type": "js", "url": "/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js" }, { "name": "knockout_punches", "type": "js", "url": "/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js" }, { "name": null, "type": "js", "url": "/assetserver/69078235d89420aa60ec07ae908cfcc65b6ecf85-all.js" }, { "name": null, "type": "css", "url": "/assetserver/98bc206151bf33944d9780fd349511e9eae784a0-style.css" }, { "name": null, "type": "css", "url": "/assetserver/13615fa9690b1c4388c3fe14db802e442333ebc4-bulma_confined.min.css" } ], "type": "async_block" }, "mount_callbacks": [ "function () {\n var handler = (function (ko, koPunches) {\n ko.punches.enableAll();\n ko.bindingHandlers.numericValue = {\n init : function(element, valueAccessor, allBindings, data, context) {\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\n stringified.subscribe(function(value) {\n var val = parseFloat(value);\n if (!isNaN(val)) {\n valueAccessor()(val);\n }\n })\n valueAccessor().subscribe(function(value) {\n var str = JSON.stringify(value);\n if ((str == \"0\") && ([\"-0\", \"-0.\"].indexOf(stringified()) >= 0))\n return;\n if ([\"null\", \"\"].indexOf(str) >= 0)\n return;\n stringified(str);\n })\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n }\n };\n var json_data = {\"formatted_vals\":[\"0.0\",\"0.01\",\"0.02\",\"0.03\",\"0.04\",\"0.05\",\"0.06\",\"0.07\",\"0.08\",\"0.09\",\"0.1\",\"0.11\",\"0.12\",\"0.13\",\"0.14\",\"0.15\",\"0.16\",\"0.17\",\"0.18\",\"0.19\",\"0.2\",\"0.21\",\"0.22\",\"0.23\",\"0.24\",\"0.25\",\"0.26\",\"0.27\",\"0.28\",\"0.29\",\"0.3\",\"0.31\",\"0.32\",\"0.33\",\"0.34\",\"0.35\",\"0.36\",\"0.37\",\"0.38\",\"0.39\",\"0.4\",\"0.41\",\"0.42\",\"0.43\",\"0.44\",\"0.45\",\"0.46\",\"0.47\",\"0.48\",\"0.49\",\"0.5\",\"0.51\",\"0.52\",\"0.53\",\"0.54\",\"0.55\",\"0.56\",\"0.57\",\"0.58\",\"0.59\",\"0.6\",\"0.61\",\"0.62\",\"0.63\",\"0.64\",\"0.65\",\"0.66\",\"0.67\",\"0.68\",\"0.69\",\"0.7\",\"0.71\",\"0.72\",\"0.73\",\"0.74\",\"0.75\",\"0.76\",\"0.77\",\"0.78\",\"0.79\",\"0.8\",\"0.81\",\"0.82\",\"0.83\",\"0.84\",\"0.85\",\"0.86\",\"0.87\",\"0.88\",\"0.89\",\"0.9\",\"0.91\",\"0.92\",\"0.93\",\"0.94\",\"0.95\",\"0.96\",\"0.97\",\"0.98\",\"0.99\",\"1.0\",\"1.01\",\"1.02\",\"1.03\",\"1.04\",\"1.05\",\"1.06\",\"1.07\",\"1.08\",\"1.09\",\"1.1\",\"1.11\",\"1.12\",\"1.13\",\"1.14\",\"1.15\",\"1.16\",\"1.17\",\"1.18\",\"1.19\",\"1.2\",\"1.21\",\"1.22\",\"1.23\",\"1.24\",\"1.25\",\"1.26\",\"1.27\",\"1.28\",\"1.29\",\"1.3\",\"1.31\",\"1.32\",\"1.33\",\"1.34\",\"1.35\",\"1.36\",\"1.37\",\"1.38\",\"1.39\",\"1.4\",\"1.41\",\"1.42\",\"1.43\",\"1.44\",\"1.45\",\"1.46\",\"1.47\",\"1.48\",\"1.49\",\"1.5\",\"1.51\",\"1.52\",\"1.53\",\"1.54\",\"1.55\",\"1.56\",\"1.57\",\"1.58\",\"1.59\",\"1.6\",\"1.61\",\"1.62\",\"1.63\",\"1.64\",\"1.65\",\"1.66\",\"1.67\",\"1.68\",\"1.69\",\"1.7\",\"1.71\",\"1.72\",\"1.73\",\"1.74\",\"1.75\",\"1.76\",\"1.77\",\"1.78\",\"1.79\",\"1.8\",\"1.81\",\"1.82\",\"1.83\",\"1.84\",\"1.85\",\"1.86\",\"1.87\",\"1.88\",\"1.89\",\"1.9\",\"1.91\",\"1.92\",\"1.93\",\"1.94\",\"1.95\",\"1.96\",\"1.97\",\"1.98\",\"1.99\",\"2.0\",\"2.01\",\"2.02\",\"2.03\",\"2.04\",\"2.05\",\"2.06\",\"2.07\",\"2.08\",\"2.09\",\"2.1\",\"2.11\",\"2.12\",\"2.13\",\"2.14\",\"2.15\",\"2.16\",\"2.17\",\"2.18\",\"2.19\",\"2.2\",\"2.21\",\"2.22\",\"2.23\",\"2.24\",\"2.25\",\"2.26\",\"2.27\",\"2.28\",\"2.29\",\"2.3\",\"2.31\",\"2.32\",\"2.33\",\"2.34\",\"2.35\",\"2.36\",\"2.37\",\"2.38\",\"2.39\",\"2.4\",\"2.41\",\"2.42\",\"2.43\",\"2.44\",\"2.45\",\"2.46\",\"2.47\",\"2.48\",\"2.49\",\"2.5\",\"2.51\",\"2.52\",\"2.53\",\"2.54\",\"2.55\",\"2.56\",\"2.57\",\"2.58\",\"2.59\",\"2.6\",\"2.61\",\"2.62\",\"2.63\",\"2.64\",\"2.65\",\"2.66\",\"2.67\",\"2.68\",\"2.69\",\"2.7\",\"2.71\",\"2.72\",\"2.73\",\"2.74\",\"2.75\",\"2.76\",\"2.77\",\"2.78\",\"2.79\",\"2.8\",\"2.81\",\"2.82\",\"2.83\",\"2.84\",\"2.85\",\"2.86\",\"2.87\",\"2.88\",\"2.89\",\"2.9\",\"2.91\",\"2.92\",\"2.93\",\"2.94\",\"2.95\",\"2.96\",\"2.97\",\"2.98\",\"2.99\",\"3.0\",\"3.01\",\"3.02\",\"3.03\",\"3.04\",\"3.05\",\"3.06\",\"3.07\",\"3.08\",\"3.09\",\"3.1\",\"3.11\",\"3.12\",\"3.13\",\"3.14\",\"3.15\",\"3.16\",\"3.17\",\"3.18\",\"3.19\",\"3.2\",\"3.21\",\"3.22\",\"3.23\",\"3.24\",\"3.25\",\"3.26\",\"3.27\",\"3.28\",\"3.29\",\"3.3\",\"3.31\",\"3.32\",\"3.33\",\"3.34\",\"3.35\",\"3.36\",\"3.37\",\"3.38\",\"3.39\",\"3.4\",\"3.41\",\"3.42\",\"3.43\",\"3.44\",\"3.45\",\"3.46\",\"3.47\",\"3.48\",\"3.49\",\"3.5\",\"3.51\",\"3.52\",\"3.53\",\"3.54\",\"3.55\",\"3.56\",\"3.57\",\"3.58\",\"3.59\",\"3.6\",\"3.61\",\"3.62\",\"3.63\",\"3.64\",\"3.65\",\"3.66\",\"3.67\",\"3.68\",\"3.69\",\"3.7\",\"3.71\",\"3.72\",\"3.73\",\"3.74\",\"3.75\",\"3.76\",\"3.77\",\"3.78\",\"3.79\",\"3.8\",\"3.81\",\"3.82\",\"3.83\",\"3.84\",\"3.85\",\"3.86\",\"3.87\",\"3.88\",\"3.89\",\"3.9\",\"3.91\",\"3.92\",\"3.93\",\"3.94\",\"3.95\",\"3.96\",\"3.97\",\"3.98\",\"3.99\",\"4.0\",\"4.01\",\"4.02\",\"4.03\",\"4.04\",\"4.05\",\"4.06\",\"4.07\",\"4.08\",\"4.09\",\"4.1\",\"4.11\",\"4.12\",\"4.13\",\"4.14\",\"4.15\",\"4.16\",\"4.17\",\"4.18\",\"4.19\",\"4.2\",\"4.21\",\"4.22\",\"4.23\",\"4.24\",\"4.25\",\"4.26\",\"4.27\",\"4.28\",\"4.29\",\"4.3\",\"4.31\",\"4.32\",\"4.33\",\"4.34\",\"4.35\",\"4.36\",\"4.37\",\"4.38\",\"4.39\",\"4.4\",\"4.41\",\"4.42\",\"4.43\",\"4.44\",\"4.45\",\"4.46\",\"4.47\",\"4.48\",\"4.49\",\"4.5\",\"4.51\",\"4.52\",\"4.53\",\"4.54\",\"4.55\",\"4.56\",\"4.57\",\"4.58\",\"4.59\",\"4.6\",\"4.61\",\"4.62\",\"4.63\",\"4.64\",\"4.65\",\"4.66\",\"4.67\",\"4.68\",\"4.69\",\"4.7\",\"4.71\",\"4.72\",\"4.73\",\"4.74\",\"4.75\",\"4.76\",\"4.77\",\"4.78\",\"4.79\",\"4.8\",\"4.81\",\"4.82\",\"4.83\",\"4.84\",\"4.85\",\"4.86\",\"4.87\",\"4.88\",\"4.89\",\"4.9\",\"4.91\",\"4.92\",\"4.93\",\"4.94\",\"4.95\",\"4.96\",\"4.97\",\"4.98\",\"4.99\",\"5.0\",\"5.01\",\"5.02\",\"5.03\",\"5.04\",\"5.05\",\"5.06\",\"5.07\",\"5.08\",\"5.09\",\"5.1\",\"5.11\",\"5.12\",\"5.13\",\"5.14\",\"5.15\",\"5.16\",\"5.17\",\"5.18\",\"5.19\",\"5.2\",\"5.21\",\"5.22\",\"5.23\",\"5.24\",\"5.25\",\"5.26\",\"5.27\",\"5.28\",\"5.29\",\"5.3\",\"5.31\",\"5.32\",\"5.33\",\"5.34\",\"5.35\",\"5.36\",\"5.37\",\"5.38\",\"5.39\",\"5.4\",\"5.41\",\"5.42\",\"5.43\",\"5.44\",\"5.45\",\"5.46\",\"5.47\",\"5.48\",\"5.49\",\"5.5\",\"5.51\",\"5.52\",\"5.53\",\"5.54\",\"5.55\",\"5.56\",\"5.57\",\"5.58\",\"5.59\",\"5.6\",\"5.61\",\"5.62\",\"5.63\",\"5.64\",\"5.65\",\"5.66\",\"5.67\",\"5.68\",\"5.69\",\"5.7\",\"5.71\",\"5.72\",\"5.73\",\"5.74\",\"5.75\",\"5.76\",\"5.77\",\"5.78\",\"5.79\",\"5.8\",\"5.81\",\"5.82\",\"5.83\",\"5.84\",\"5.85\",\"5.86\",\"5.87\",\"5.88\",\"5.89\",\"5.9\",\"5.91\",\"5.92\",\"5.93\",\"5.94\",\"5.95\",\"5.96\",\"5.97\",\"5.98\",\"5.99\",\"6.0\",\"6.01\",\"6.02\",\"6.03\",\"6.04\",\"6.05\",\"6.06\",\"6.07\",\"6.08\",\"6.09\",\"6.1\",\"6.11\",\"6.12\",\"6.13\",\"6.14\",\"6.15\",\"6.16\",\"6.17\",\"6.18\",\"6.19\",\"6.2\",\"6.21\",\"6.22\",\"6.23\",\"6.24\",\"6.25\",\"6.26\",\"6.27\",\"6.28\"],\"changes\":WebIO.getval({\"name\":\"changes\",\"scope\":\"knockout-component-30a7bef9-147e-4e26-a079-f1e1d7d1b8aa\",\"id\":\"ob_28\",\"type\":\"observable\"}),\"index\":WebIO.getval({\"name\":\"index\",\"scope\":\"knockout-component-30a7bef9-147e-4e26-a079-f1e1d7d1b8aa\",\"id\":\"ob_27\",\"type\":\"observable\"})};\n var self = this;\n function AppViewModel() {\n for (var key in json_data) {\n var el = json_data[key];\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n }\n \n [this[\"formatted_val\"]=ko.computed( function(){\n return this.formatted_vals()[parseInt(this.index())-1];\n }\n,this)]\n [this[\"changes\"].subscribe((function (val){!(this.valueFromJulia[\"changes\"]) ? (WebIO.setval({\"name\":\"changes\",\"scope\":\"knockout-component-30a7bef9-147e-4e26-a079-f1e1d7d1b8aa\",\"id\":\"ob_28\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"changes\"]=false}),self),this[\"index\"].subscribe((function (val){!(this.valueFromJulia[\"index\"]) ? (WebIO.setval({\"name\":\"index\",\"scope\":\"knockout-component-30a7bef9-147e-4e26-a079-f1e1d7d1b8aa\",\"id\":\"ob_27\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"index\"]=false}),self)]\n \n }\n self.model = new AppViewModel();\n self.valueFromJulia = {};\n for (var key in json_data) {\n self.valueFromJulia[key] = false;\n }\n ko.applyBindings(self.model, self.dom);\n}\n);\n (WebIO.importBlock({\"data\":[{\"name\":\"knockout\",\"type\":\"js\",\"url\":\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\"},{\"name\":\"knockout_punches\",\"type\":\"js\",\"url\":\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\"}],\"type\":\"async_block\"})).then((imports) => handler.apply(this, imports));\n}\n" ], "observables": { "changes": { "id": "ob_28", "sync": false, "value": 0 }, "index": { "id": "ob_27", "sync": true, "value": 315 } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "field interact-widget" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "webio-observable", "setInnerHtml": "\n\n\n \n \n \n\n\n\n \n \n \n\n\n\n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n-2\n\n\n-1\n\n\n0\n\n\n1\n\n\n2\n\n\n-2\n\n\n-1\n\n\n0\n\n\n1\n\n\n2\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, "type": "node" } ], "instanceArgs": { "handlers": { "obs-output": [ "function (value, scope) {\n scope.setInnerHTML(value);\n}\n" ] }, "id": "scope-7d13a59b-691d-40da-b65c-93f2587aad81", "imports": { "data": [], "type": "async_block" }, "mount_callbacks": [], "observables": { "obs-output": { "id": "ob_41", "sync": false, "value": "\n\n\n \n \n \n\n\n\n \n \n \n\n\n\n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n-2\n\n\n-1\n\n\n0\n\n\n1\n\n\n2\n\n\n-2\n\n\n-1\n\n\n0\n\n\n1\n\n\n2\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "style": { "display": "flex", "flex-direction": "column" } }, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "(div { style=Dict(\"display\"=>\"flex\",\"flex-direction\"=>\"column\") }\n", " (div { style=Dict(\"display\"=>\"flex\",\"flex-direction\"=>\"column\") }\n", " (div { style=Dict(\"display\"=>\"flex\",\"flex-direction\"=>\"row\") }\n", " (div { className=\"field interact-widget\" }\n", " (div { className=\"interact-flex-row interact-widget\" }\n", " (div { className=\"interact-flex-row-left\" }\n", " (label { className=\"interact \" style=Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\") }\n", " \"a\"))\n", " (div { className=\"interact-flex-row-center\" }\n", " (input { max=41 min=1 attributes=Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\") step=1 className=\"slider slider is-fullwidth\" style=Dict{Any,Any}() }))\n", " (div { className=\"interact-flex-row-right\" }\n", " (p { attributes=Dict(\"data-bind\"=>\"text: formatted_val\") }))))\n", " (div { className=\"field interact-widget\" }\n", " (div { className=\"interact-flex-row interact-widget\" }\n", " (div { className=\"interact-flex-row-left\" }\n", " (label { className=\"interact \" style=Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\") }\n", " \"b\"))\n", " (div { className=\"interact-flex-row-center\" }\n", " (input { max=41 min=1 attributes=Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\") step=1 className=\"slider slider is-fullwidth\" style=Dict{Any,Any}() }))\n", " (div { className=\"interact-flex-row-right\" }\n", " (p { attributes=Dict(\"data-bind\"=>\"text: formatted_val\") })))))\n", " (div { style=Dict(\"display\"=>\"flex\",\"flex-direction\"=>\"row\") }\n", " (div { className=\"field interact-widget\" }\n", " (div { className=\"interact-flex-row interact-widget\" }\n", " (div { className=\"interact-flex-row-left\" }\n", " (label { className=\"interact \" style=Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\") }\n", " \"c\"))\n", " (div { className=\"interact-flex-row-center\" }\n", " (input { max=41 min=1 attributes=Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\") step=1 className=\"slider slider is-fullwidth\" style=Dict{Any,Any}() }))\n", " (div { className=\"interact-flex-row-right\" }\n", " (p { attributes=Dict(\"data-bind\"=>\"text: formatted_val\") }))))\n", " (div { className=\"field interact-widget\" }\n", " (div { className=\"interact-flex-row interact-widget\" }\n", " (div { className=\"interact-flex-row-left\" }\n", " (label { className=\"interact \" style=Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\") }\n", " \"d\"))\n", " (div { className=\"interact-flex-row-center\" }\n", " (input { max=41 min=1 attributes=Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\") step=1 className=\"slider slider is-fullwidth\" style=Dict{Any,Any}() }))\n", " (div { className=\"interact-flex-row-right\" }\n", " (p { attributes=Dict(\"data-bind\"=>\"text: formatted_val\") }))))))\n", " (div { className=\"field interact-widget\" }\n", " (div { className=\"interact-flex-row interact-widget\" }\n", " (div { className=\"interact-flex-row-left\" }\n", " (label { className=\"interact \" style=Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\") }\n", " \"θ\"))\n", " (div { className=\"interact-flex-row-center\" }\n", " (input { max=629 min=1 attributes=Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\") step=1 className=\"slider slider is-fullwidth\" style=Dict{Any,Any}() }))\n", " (div { className=\"interact-flex-row-right\" }\n", " (p { attributes=Dict(\"data-bind\"=>\"text: formatted_val\") }))))\n", " (Scope(\"scope-7d13a59b-691d-40da-b65c-93f2587aad81\", Node{WebIO.DOM}(WebIO.DOM(:html, :div), Any[], Dict{Symbol,Any}(:className=>\"webio-observable\",:setInnerHtml=>\"\\n\\n\\n \\n \\n \\n\\n\\n\\n \\n \\n \\n\\n\\n\\n \\n \\n \\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n-2\\n\\n\\n-1\\n\\n\\n0\\n\\n\\n1\\n\\n\\n2\\n\\n\\n-2\\n\\n\\n-1\\n\\n\\n0\\n\\n\\n1\\n\\n\\n2\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\"), 0), Dict{String,Tuple{Observables.AbstractObservable,Union{Nothing, Bool}}}(\"obs-output\"=>(Observable{AbstractString} with 1 listeners. Value:\n", "\"\\n\\n\\n \\n \\n \\n\\n\\n\\n \\n \\n \\n\\n\\n\\n \\n \\n \\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n-2\\n\\n\\n-1\\n\\n\\n0\\n\\n\\n1\\n\\n\\n2\\n\\n\\n-2\\n\\n\\n-1\\n\\n\\n0\\n\\n\\n1\\n\\n\\n2\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\", nothing)), Set(String[]), nothing, Any[], Dict{Any,Any}(\"obs-output\"=>Any[JSString(\"function (value, scope) {\\n scope.setInnerHTML(value);\\n}\\n\")]), WebIO.ConnectionPool(Channel{Any}(sz_max:9223372036854775807,sz_curr:0), Set(AbstractConnection[]), Channel{AbstractConnection}(sz_max:32,sz_curr:0)), WebIO.JSString[]):\n", " (div { className=\"webio-observable\" setInnerHtml=\"\\n\\n\\n \\n \\n \\n\\n\\n\\n \\n \\n \\n\\n\\n\\n \\n \\n \\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n-2\\n\\n\\n-1\\n\\n\\n0\\n\\n\\n1\\n\\n\\n2\\n\\n\\n-2\\n\\n\\n-1\\n\\n\\n0\\n\\n\\n1\\n\\n\\n2\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\\n\" })))" ] }, "execution_count": 9, "metadata": { "application/vnd.webio.node+json": { "kernelId": "b60d3081-e7dd-4d68-bb83-50e4fad3e468" } }, "output_type": "execute_result" } ], "source": [ "vbox(sliders, θ, p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Define matrix using the SVD" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "using LinearAlgebra" ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "application/vnd.webio.node+json": { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ "σ₁" ], "instanceArgs": { "namespace": "html", "tag": "label" }, "nodeType": "DOM", "props": { "className": "interact ", "style": { "padding": "5px 10px 0px 10px" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-left" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "input" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}", "orient": "horizontal", "type": "range" }, "className": "slider slider is-fullwidth", "max": 201, "min": 1, "step": 1, "style": {} }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-center" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "p" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "text: formatted_val" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-right" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row interact-widget" }, "type": "node" } ], "instanceArgs": { "handlers": { "changes": [ "(function (val){return (val!=this.model[\"changes\"]()) ? (this.valueFromJulia[\"changes\"]=true, this.model[\"changes\"](val)) : undefined})" ], "index": [ "(function (val){return (val!=this.model[\"index\"]()) ? (this.valueFromJulia[\"index\"]=true, this.model[\"index\"](val)) : undefined})" ] }, "id": "knockout-component-86b94cfa-812e-48a9-9b51-d6d0694f4cff", "imports": { "data": [ { "name": "knockout", "type": "js", "url": "/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js" }, { "name": "knockout_punches", "type": "js", "url": "/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js" }, { "name": null, "type": "js", "url": "/assetserver/69078235d89420aa60ec07ae908cfcc65b6ecf85-all.js" }, { "name": null, "type": "css", "url": "/assetserver/98bc206151bf33944d9780fd349511e9eae784a0-style.css" }, { "name": null, "type": "css", "url": "/assetserver/13615fa9690b1c4388c3fe14db802e442333ebc4-bulma_confined.min.css" } ], "type": "async_block" }, "mount_callbacks": [ "function () {\n var handler = (function (ko, koPunches) {\n ko.punches.enableAll();\n ko.bindingHandlers.numericValue = {\n init : function(element, valueAccessor, allBindings, data, context) {\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\n stringified.subscribe(function(value) {\n var val = parseFloat(value);\n if (!isNaN(val)) {\n valueAccessor()(val);\n }\n })\n valueAccessor().subscribe(function(value) {\n var str = JSON.stringify(value);\n if ((str == \"0\") && ([\"-0\", \"-0.\"].indexOf(stringified()) >= 0))\n return;\n if ([\"null\", \"\"].indexOf(str) >= 0)\n return;\n stringified(str);\n })\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n }\n };\n var json_data = {\"formatted_vals\":[\"0.0\",\"0.01\",\"0.02\",\"0.03\",\"0.04\",\"0.05\",\"0.06\",\"0.07\",\"0.08\",\"0.09\",\"0.1\",\"0.11\",\"0.12\",\"0.13\",\"0.14\",\"0.15\",\"0.16\",\"0.17\",\"0.18\",\"0.19\",\"0.2\",\"0.21\",\"0.22\",\"0.23\",\"0.24\",\"0.25\",\"0.26\",\"0.27\",\"0.28\",\"0.29\",\"0.3\",\"0.31\",\"0.32\",\"0.33\",\"0.34\",\"0.35\",\"0.36\",\"0.37\",\"0.38\",\"0.39\",\"0.4\",\"0.41\",\"0.42\",\"0.43\",\"0.44\",\"0.45\",\"0.46\",\"0.47\",\"0.48\",\"0.49\",\"0.5\",\"0.51\",\"0.52\",\"0.53\",\"0.54\",\"0.55\",\"0.56\",\"0.57\",\"0.58\",\"0.59\",\"0.6\",\"0.61\",\"0.62\",\"0.63\",\"0.64\",\"0.65\",\"0.66\",\"0.67\",\"0.68\",\"0.69\",\"0.7\",\"0.71\",\"0.72\",\"0.73\",\"0.74\",\"0.75\",\"0.76\",\"0.77\",\"0.78\",\"0.79\",\"0.8\",\"0.81\",\"0.82\",\"0.83\",\"0.84\",\"0.85\",\"0.86\",\"0.87\",\"0.88\",\"0.89\",\"0.9\",\"0.91\",\"0.92\",\"0.93\",\"0.94\",\"0.95\",\"0.96\",\"0.97\",\"0.98\",\"0.99\",\"1.0\",\"1.01\",\"1.02\",\"1.03\",\"1.04\",\"1.05\",\"1.06\",\"1.07\",\"1.08\",\"1.09\",\"1.1\",\"1.11\",\"1.12\",\"1.13\",\"1.14\",\"1.15\",\"1.16\",\"1.17\",\"1.18\",\"1.19\",\"1.2\",\"1.21\",\"1.22\",\"1.23\",\"1.24\",\"1.25\",\"1.26\",\"1.27\",\"1.28\",\"1.29\",\"1.3\",\"1.31\",\"1.32\",\"1.33\",\"1.34\",\"1.35\",\"1.36\",\"1.37\",\"1.38\",\"1.39\",\"1.4\",\"1.41\",\"1.42\",\"1.43\",\"1.44\",\"1.45\",\"1.46\",\"1.47\",\"1.48\",\"1.49\",\"1.5\",\"1.51\",\"1.52\",\"1.53\",\"1.54\",\"1.55\",\"1.56\",\"1.57\",\"1.58\",\"1.59\",\"1.6\",\"1.61\",\"1.62\",\"1.63\",\"1.64\",\"1.65\",\"1.66\",\"1.67\",\"1.68\",\"1.69\",\"1.7\",\"1.71\",\"1.72\",\"1.73\",\"1.74\",\"1.75\",\"1.76\",\"1.77\",\"1.78\",\"1.79\",\"1.8\",\"1.81\",\"1.82\",\"1.83\",\"1.84\",\"1.85\",\"1.86\",\"1.87\",\"1.88\",\"1.89\",\"1.9\",\"1.91\",\"1.92\",\"1.93\",\"1.94\",\"1.95\",\"1.96\",\"1.97\",\"1.98\",\"1.99\",\"2.0\"],\"changes\":WebIO.getval({\"name\":\"changes\",\"scope\":\"knockout-component-86b94cfa-812e-48a9-9b51-d6d0694f4cff\",\"id\":\"ob_44\",\"type\":\"observable\"}),\"index\":WebIO.getval({\"name\":\"index\",\"scope\":\"knockout-component-86b94cfa-812e-48a9-9b51-d6d0694f4cff\",\"id\":\"ob_43\",\"type\":\"observable\"})};\n var self = this;\n function AppViewModel() {\n for (var key in json_data) {\n var el = json_data[key];\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n }\n \n [this[\"formatted_val\"]=ko.computed( function(){\n return this.formatted_vals()[parseInt(this.index())-1];\n }\n,this)]\n [this[\"changes\"].subscribe((function (val){!(this.valueFromJulia[\"changes\"]) ? (WebIO.setval({\"name\":\"changes\",\"scope\":\"knockout-component-86b94cfa-812e-48a9-9b51-d6d0694f4cff\",\"id\":\"ob_44\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"changes\"]=false}),self),this[\"index\"].subscribe((function (val){!(this.valueFromJulia[\"index\"]) ? (WebIO.setval({\"name\":\"index\",\"scope\":\"knockout-component-86b94cfa-812e-48a9-9b51-d6d0694f4cff\",\"id\":\"ob_43\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"index\"]=false}),self)]\n \n }\n self.model = new AppViewModel();\n self.valueFromJulia = {};\n for (var key in json_data) {\n self.valueFromJulia[key] = false;\n }\n ko.applyBindings(self.model, self.dom);\n}\n);\n (WebIO.importBlock({\"data\":[{\"name\":\"knockout\",\"type\":\"js\",\"url\":\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\"},{\"name\":\"knockout_punches\",\"type\":\"js\",\"url\":\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\"}],\"type\":\"async_block\"})).then((imports) => handler.apply(this, imports));\n}\n" ], "observables": { "changes": { "id": "ob_44", "sync": false, "value": 0 }, "index": { "id": "ob_43", "sync": true, "value": 101 } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "field interact-widget" }, "type": "node" }, { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ "σ₂" ], "instanceArgs": { "namespace": "html", "tag": "label" }, "nodeType": "DOM", "props": { "className": "interact ", "style": { "padding": "5px 10px 0px 10px" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-left" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "input" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}", "orient": "horizontal", "type": "range" }, "className": "slider slider is-fullwidth", "max": 201, "min": 1, "step": 1, "style": {} }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-center" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "p" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "text: formatted_val" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-right" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row interact-widget" }, "type": "node" } ], "instanceArgs": { "handlers": { "changes": [ "(function (val){return (val!=this.model[\"changes\"]()) ? (this.valueFromJulia[\"changes\"]=true, this.model[\"changes\"](val)) : undefined})" ], "index": [ "(function (val){return (val!=this.model[\"index\"]()) ? (this.valueFromJulia[\"index\"]=true, this.model[\"index\"](val)) : undefined})" ] }, "id": "knockout-component-44316dd1-1d7a-412a-bbca-b1775f2edf06", "imports": { "data": [ { "name": "knockout", "type": "js", "url": "/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js" }, { "name": "knockout_punches", "type": "js", "url": "/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js" }, { "name": null, "type": "js", "url": "/assetserver/69078235d89420aa60ec07ae908cfcc65b6ecf85-all.js" }, { "name": null, "type": "css", "url": "/assetserver/98bc206151bf33944d9780fd349511e9eae784a0-style.css" }, { "name": null, "type": "css", "url": "/assetserver/13615fa9690b1c4388c3fe14db802e442333ebc4-bulma_confined.min.css" } ], "type": "async_block" }, "mount_callbacks": [ "function () {\n var handler = (function (ko, koPunches) {\n ko.punches.enableAll();\n ko.bindingHandlers.numericValue = {\n init : function(element, valueAccessor, allBindings, data, context) {\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\n stringified.subscribe(function(value) {\n var val = parseFloat(value);\n if (!isNaN(val)) {\n valueAccessor()(val);\n }\n })\n valueAccessor().subscribe(function(value) {\n var str = JSON.stringify(value);\n if ((str == \"0\") && ([\"-0\", \"-0.\"].indexOf(stringified()) >= 0))\n return;\n if ([\"null\", \"\"].indexOf(str) >= 0)\n return;\n stringified(str);\n })\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n }\n };\n var json_data = {\"formatted_vals\":[\"0.0\",\"0.01\",\"0.02\",\"0.03\",\"0.04\",\"0.05\",\"0.06\",\"0.07\",\"0.08\",\"0.09\",\"0.1\",\"0.11\",\"0.12\",\"0.13\",\"0.14\",\"0.15\",\"0.16\",\"0.17\",\"0.18\",\"0.19\",\"0.2\",\"0.21\",\"0.22\",\"0.23\",\"0.24\",\"0.25\",\"0.26\",\"0.27\",\"0.28\",\"0.29\",\"0.3\",\"0.31\",\"0.32\",\"0.33\",\"0.34\",\"0.35\",\"0.36\",\"0.37\",\"0.38\",\"0.39\",\"0.4\",\"0.41\",\"0.42\",\"0.43\",\"0.44\",\"0.45\",\"0.46\",\"0.47\",\"0.48\",\"0.49\",\"0.5\",\"0.51\",\"0.52\",\"0.53\",\"0.54\",\"0.55\",\"0.56\",\"0.57\",\"0.58\",\"0.59\",\"0.6\",\"0.61\",\"0.62\",\"0.63\",\"0.64\",\"0.65\",\"0.66\",\"0.67\",\"0.68\",\"0.69\",\"0.7\",\"0.71\",\"0.72\",\"0.73\",\"0.74\",\"0.75\",\"0.76\",\"0.77\",\"0.78\",\"0.79\",\"0.8\",\"0.81\",\"0.82\",\"0.83\",\"0.84\",\"0.85\",\"0.86\",\"0.87\",\"0.88\",\"0.89\",\"0.9\",\"0.91\",\"0.92\",\"0.93\",\"0.94\",\"0.95\",\"0.96\",\"0.97\",\"0.98\",\"0.99\",\"1.0\",\"1.01\",\"1.02\",\"1.03\",\"1.04\",\"1.05\",\"1.06\",\"1.07\",\"1.08\",\"1.09\",\"1.1\",\"1.11\",\"1.12\",\"1.13\",\"1.14\",\"1.15\",\"1.16\",\"1.17\",\"1.18\",\"1.19\",\"1.2\",\"1.21\",\"1.22\",\"1.23\",\"1.24\",\"1.25\",\"1.26\",\"1.27\",\"1.28\",\"1.29\",\"1.3\",\"1.31\",\"1.32\",\"1.33\",\"1.34\",\"1.35\",\"1.36\",\"1.37\",\"1.38\",\"1.39\",\"1.4\",\"1.41\",\"1.42\",\"1.43\",\"1.44\",\"1.45\",\"1.46\",\"1.47\",\"1.48\",\"1.49\",\"1.5\",\"1.51\",\"1.52\",\"1.53\",\"1.54\",\"1.55\",\"1.56\",\"1.57\",\"1.58\",\"1.59\",\"1.6\",\"1.61\",\"1.62\",\"1.63\",\"1.64\",\"1.65\",\"1.66\",\"1.67\",\"1.68\",\"1.69\",\"1.7\",\"1.71\",\"1.72\",\"1.73\",\"1.74\",\"1.75\",\"1.76\",\"1.77\",\"1.78\",\"1.79\",\"1.8\",\"1.81\",\"1.82\",\"1.83\",\"1.84\",\"1.85\",\"1.86\",\"1.87\",\"1.88\",\"1.89\",\"1.9\",\"1.91\",\"1.92\",\"1.93\",\"1.94\",\"1.95\",\"1.96\",\"1.97\",\"1.98\",\"1.99\",\"2.0\"],\"changes\":WebIO.getval({\"name\":\"changes\",\"scope\":\"knockout-component-44316dd1-1d7a-412a-bbca-b1775f2edf06\",\"id\":\"ob_47\",\"type\":\"observable\"}),\"index\":WebIO.getval({\"name\":\"index\",\"scope\":\"knockout-component-44316dd1-1d7a-412a-bbca-b1775f2edf06\",\"id\":\"ob_46\",\"type\":\"observable\"})};\n var self = this;\n function AppViewModel() {\n for (var key in json_data) {\n var el = json_data[key];\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n }\n \n [this[\"formatted_val\"]=ko.computed( function(){\n return this.formatted_vals()[parseInt(this.index())-1];\n }\n,this)]\n [this[\"changes\"].subscribe((function (val){!(this.valueFromJulia[\"changes\"]) ? (WebIO.setval({\"name\":\"changes\",\"scope\":\"knockout-component-44316dd1-1d7a-412a-bbca-b1775f2edf06\",\"id\":\"ob_47\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"changes\"]=false}),self),this[\"index\"].subscribe((function (val){!(this.valueFromJulia[\"index\"]) ? (WebIO.setval({\"name\":\"index\",\"scope\":\"knockout-component-44316dd1-1d7a-412a-bbca-b1775f2edf06\",\"id\":\"ob_46\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"index\"]=false}),self)]\n \n }\n self.model = new AppViewModel();\n self.valueFromJulia = {};\n for (var key in json_data) {\n self.valueFromJulia[key] = false;\n }\n ko.applyBindings(self.model, self.dom);\n}\n);\n (WebIO.importBlock({\"data\":[{\"name\":\"knockout\",\"type\":\"js\",\"url\":\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\"},{\"name\":\"knockout_punches\",\"type\":\"js\",\"url\":\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\"}],\"type\":\"async_block\"})).then((imports) => handler.apply(this, imports));\n}\n" ], "observables": { "changes": { "id": "ob_47", "sync": false, "value": 0 }, "index": { "id": "ob_46", "sync": true, "value": 101 } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "field interact-widget" }, "type": "node" }, { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ "θ" ], "instanceArgs": { "namespace": "html", "tag": "label" }, "nodeType": "DOM", "props": { "className": "interact ", "style": { "padding": "5px 10px 0px 10px" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-left" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "input" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}", "orient": "horizontal", "type": "range" }, "className": "slider slider is-fullwidth", "max": 629, "min": 1, "step": 1, "style": {} }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-center" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "p" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "text: formatted_val" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-right" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row interact-widget" }, "type": "node" } ], "instanceArgs": { "handlers": { "changes": [ "(function (val){return (val!=this.model[\"changes\"]()) ? (this.valueFromJulia[\"changes\"]=true, this.model[\"changes\"](val)) : undefined})" ], "index": [ "(function (val){return (val!=this.model[\"index\"]()) ? (this.valueFromJulia[\"index\"]=true, this.model[\"index\"](val)) : undefined})" ] }, "id": "knockout-component-895d9bd1-ec8f-48b6-9f6f-9d8398dac5e4", "imports": { "data": [ { "name": "knockout", "type": "js", "url": "/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js" }, { "name": "knockout_punches", "type": "js", "url": "/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js" }, { "name": null, "type": "js", "url": "/assetserver/69078235d89420aa60ec07ae908cfcc65b6ecf85-all.js" }, { "name": null, "type": "css", "url": "/assetserver/98bc206151bf33944d9780fd349511e9eae784a0-style.css" }, { "name": null, "type": "css", "url": "/assetserver/13615fa9690b1c4388c3fe14db802e442333ebc4-bulma_confined.min.css" } ], "type": "async_block" }, "mount_callbacks": [ "function () {\n var handler = (function (ko, koPunches) {\n ko.punches.enableAll();\n ko.bindingHandlers.numericValue = {\n init : function(element, valueAccessor, allBindings, data, context) {\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\n stringified.subscribe(function(value) {\n var val = parseFloat(value);\n if (!isNaN(val)) {\n valueAccessor()(val);\n }\n })\n valueAccessor().subscribe(function(value) {\n var str = JSON.stringify(value);\n if ((str == \"0\") && ([\"-0\", \"-0.\"].indexOf(stringified()) >= 0))\n return;\n if ([\"null\", \"\"].indexOf(str) >= 0)\n return;\n stringified(str);\n })\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n }\n };\n var json_data = {\"formatted_vals\":[\"0.0\",\"0.01\",\"0.02\",\"0.03\",\"0.04\",\"0.05\",\"0.06\",\"0.07\",\"0.08\",\"0.09\",\"0.1\",\"0.11\",\"0.12\",\"0.13\",\"0.14\",\"0.15\",\"0.16\",\"0.17\",\"0.18\",\"0.19\",\"0.2\",\"0.21\",\"0.22\",\"0.23\",\"0.24\",\"0.25\",\"0.26\",\"0.27\",\"0.28\",\"0.29\",\"0.3\",\"0.31\",\"0.32\",\"0.33\",\"0.34\",\"0.35\",\"0.36\",\"0.37\",\"0.38\",\"0.39\",\"0.4\",\"0.41\",\"0.42\",\"0.43\",\"0.44\",\"0.45\",\"0.46\",\"0.47\",\"0.48\",\"0.49\",\"0.5\",\"0.51\",\"0.52\",\"0.53\",\"0.54\",\"0.55\",\"0.56\",\"0.57\",\"0.58\",\"0.59\",\"0.6\",\"0.61\",\"0.62\",\"0.63\",\"0.64\",\"0.65\",\"0.66\",\"0.67\",\"0.68\",\"0.69\",\"0.7\",\"0.71\",\"0.72\",\"0.73\",\"0.74\",\"0.75\",\"0.76\",\"0.77\",\"0.78\",\"0.79\",\"0.8\",\"0.81\",\"0.82\",\"0.83\",\"0.84\",\"0.85\",\"0.86\",\"0.87\",\"0.88\",\"0.89\",\"0.9\",\"0.91\",\"0.92\",\"0.93\",\"0.94\",\"0.95\",\"0.96\",\"0.97\",\"0.98\",\"0.99\",\"1.0\",\"1.01\",\"1.02\",\"1.03\",\"1.04\",\"1.05\",\"1.06\",\"1.07\",\"1.08\",\"1.09\",\"1.1\",\"1.11\",\"1.12\",\"1.13\",\"1.14\",\"1.15\",\"1.16\",\"1.17\",\"1.18\",\"1.19\",\"1.2\",\"1.21\",\"1.22\",\"1.23\",\"1.24\",\"1.25\",\"1.26\",\"1.27\",\"1.28\",\"1.29\",\"1.3\",\"1.31\",\"1.32\",\"1.33\",\"1.34\",\"1.35\",\"1.36\",\"1.37\",\"1.38\",\"1.39\",\"1.4\",\"1.41\",\"1.42\",\"1.43\",\"1.44\",\"1.45\",\"1.46\",\"1.47\",\"1.48\",\"1.49\",\"1.5\",\"1.51\",\"1.52\",\"1.53\",\"1.54\",\"1.55\",\"1.56\",\"1.57\",\"1.58\",\"1.59\",\"1.6\",\"1.61\",\"1.62\",\"1.63\",\"1.64\",\"1.65\",\"1.66\",\"1.67\",\"1.68\",\"1.69\",\"1.7\",\"1.71\",\"1.72\",\"1.73\",\"1.74\",\"1.75\",\"1.76\",\"1.77\",\"1.78\",\"1.79\",\"1.8\",\"1.81\",\"1.82\",\"1.83\",\"1.84\",\"1.85\",\"1.86\",\"1.87\",\"1.88\",\"1.89\",\"1.9\",\"1.91\",\"1.92\",\"1.93\",\"1.94\",\"1.95\",\"1.96\",\"1.97\",\"1.98\",\"1.99\",\"2.0\",\"2.01\",\"2.02\",\"2.03\",\"2.04\",\"2.05\",\"2.06\",\"2.07\",\"2.08\",\"2.09\",\"2.1\",\"2.11\",\"2.12\",\"2.13\",\"2.14\",\"2.15\",\"2.16\",\"2.17\",\"2.18\",\"2.19\",\"2.2\",\"2.21\",\"2.22\",\"2.23\",\"2.24\",\"2.25\",\"2.26\",\"2.27\",\"2.28\",\"2.29\",\"2.3\",\"2.31\",\"2.32\",\"2.33\",\"2.34\",\"2.35\",\"2.36\",\"2.37\",\"2.38\",\"2.39\",\"2.4\",\"2.41\",\"2.42\",\"2.43\",\"2.44\",\"2.45\",\"2.46\",\"2.47\",\"2.48\",\"2.49\",\"2.5\",\"2.51\",\"2.52\",\"2.53\",\"2.54\",\"2.55\",\"2.56\",\"2.57\",\"2.58\",\"2.59\",\"2.6\",\"2.61\",\"2.62\",\"2.63\",\"2.64\",\"2.65\",\"2.66\",\"2.67\",\"2.68\",\"2.69\",\"2.7\",\"2.71\",\"2.72\",\"2.73\",\"2.74\",\"2.75\",\"2.76\",\"2.77\",\"2.78\",\"2.79\",\"2.8\",\"2.81\",\"2.82\",\"2.83\",\"2.84\",\"2.85\",\"2.86\",\"2.87\",\"2.88\",\"2.89\",\"2.9\",\"2.91\",\"2.92\",\"2.93\",\"2.94\",\"2.95\",\"2.96\",\"2.97\",\"2.98\",\"2.99\",\"3.0\",\"3.01\",\"3.02\",\"3.03\",\"3.04\",\"3.05\",\"3.06\",\"3.07\",\"3.08\",\"3.09\",\"3.1\",\"3.11\",\"3.12\",\"3.13\",\"3.14\",\"3.15\",\"3.16\",\"3.17\",\"3.18\",\"3.19\",\"3.2\",\"3.21\",\"3.22\",\"3.23\",\"3.24\",\"3.25\",\"3.26\",\"3.27\",\"3.28\",\"3.29\",\"3.3\",\"3.31\",\"3.32\",\"3.33\",\"3.34\",\"3.35\",\"3.36\",\"3.37\",\"3.38\",\"3.39\",\"3.4\",\"3.41\",\"3.42\",\"3.43\",\"3.44\",\"3.45\",\"3.46\",\"3.47\",\"3.48\",\"3.49\",\"3.5\",\"3.51\",\"3.52\",\"3.53\",\"3.54\",\"3.55\",\"3.56\",\"3.57\",\"3.58\",\"3.59\",\"3.6\",\"3.61\",\"3.62\",\"3.63\",\"3.64\",\"3.65\",\"3.66\",\"3.67\",\"3.68\",\"3.69\",\"3.7\",\"3.71\",\"3.72\",\"3.73\",\"3.74\",\"3.75\",\"3.76\",\"3.77\",\"3.78\",\"3.79\",\"3.8\",\"3.81\",\"3.82\",\"3.83\",\"3.84\",\"3.85\",\"3.86\",\"3.87\",\"3.88\",\"3.89\",\"3.9\",\"3.91\",\"3.92\",\"3.93\",\"3.94\",\"3.95\",\"3.96\",\"3.97\",\"3.98\",\"3.99\",\"4.0\",\"4.01\",\"4.02\",\"4.03\",\"4.04\",\"4.05\",\"4.06\",\"4.07\",\"4.08\",\"4.09\",\"4.1\",\"4.11\",\"4.12\",\"4.13\",\"4.14\",\"4.15\",\"4.16\",\"4.17\",\"4.18\",\"4.19\",\"4.2\",\"4.21\",\"4.22\",\"4.23\",\"4.24\",\"4.25\",\"4.26\",\"4.27\",\"4.28\",\"4.29\",\"4.3\",\"4.31\",\"4.32\",\"4.33\",\"4.34\",\"4.35\",\"4.36\",\"4.37\",\"4.38\",\"4.39\",\"4.4\",\"4.41\",\"4.42\",\"4.43\",\"4.44\",\"4.45\",\"4.46\",\"4.47\",\"4.48\",\"4.49\",\"4.5\",\"4.51\",\"4.52\",\"4.53\",\"4.54\",\"4.55\",\"4.56\",\"4.57\",\"4.58\",\"4.59\",\"4.6\",\"4.61\",\"4.62\",\"4.63\",\"4.64\",\"4.65\",\"4.66\",\"4.67\",\"4.68\",\"4.69\",\"4.7\",\"4.71\",\"4.72\",\"4.73\",\"4.74\",\"4.75\",\"4.76\",\"4.77\",\"4.78\",\"4.79\",\"4.8\",\"4.81\",\"4.82\",\"4.83\",\"4.84\",\"4.85\",\"4.86\",\"4.87\",\"4.88\",\"4.89\",\"4.9\",\"4.91\",\"4.92\",\"4.93\",\"4.94\",\"4.95\",\"4.96\",\"4.97\",\"4.98\",\"4.99\",\"5.0\",\"5.01\",\"5.02\",\"5.03\",\"5.04\",\"5.05\",\"5.06\",\"5.07\",\"5.08\",\"5.09\",\"5.1\",\"5.11\",\"5.12\",\"5.13\",\"5.14\",\"5.15\",\"5.16\",\"5.17\",\"5.18\",\"5.19\",\"5.2\",\"5.21\",\"5.22\",\"5.23\",\"5.24\",\"5.25\",\"5.26\",\"5.27\",\"5.28\",\"5.29\",\"5.3\",\"5.31\",\"5.32\",\"5.33\",\"5.34\",\"5.35\",\"5.36\",\"5.37\",\"5.38\",\"5.39\",\"5.4\",\"5.41\",\"5.42\",\"5.43\",\"5.44\",\"5.45\",\"5.46\",\"5.47\",\"5.48\",\"5.49\",\"5.5\",\"5.51\",\"5.52\",\"5.53\",\"5.54\",\"5.55\",\"5.56\",\"5.57\",\"5.58\",\"5.59\",\"5.6\",\"5.61\",\"5.62\",\"5.63\",\"5.64\",\"5.65\",\"5.66\",\"5.67\",\"5.68\",\"5.69\",\"5.7\",\"5.71\",\"5.72\",\"5.73\",\"5.74\",\"5.75\",\"5.76\",\"5.77\",\"5.78\",\"5.79\",\"5.8\",\"5.81\",\"5.82\",\"5.83\",\"5.84\",\"5.85\",\"5.86\",\"5.87\",\"5.88\",\"5.89\",\"5.9\",\"5.91\",\"5.92\",\"5.93\",\"5.94\",\"5.95\",\"5.96\",\"5.97\",\"5.98\",\"5.99\",\"6.0\",\"6.01\",\"6.02\",\"6.03\",\"6.04\",\"6.05\",\"6.06\",\"6.07\",\"6.08\",\"6.09\",\"6.1\",\"6.11\",\"6.12\",\"6.13\",\"6.14\",\"6.15\",\"6.16\",\"6.17\",\"6.18\",\"6.19\",\"6.2\",\"6.21\",\"6.22\",\"6.23\",\"6.24\",\"6.25\",\"6.26\",\"6.27\",\"6.28\"],\"changes\":WebIO.getval({\"name\":\"changes\",\"scope\":\"knockout-component-895d9bd1-ec8f-48b6-9f6f-9d8398dac5e4\",\"id\":\"ob_50\",\"type\":\"observable\"}),\"index\":WebIO.getval({\"name\":\"index\",\"scope\":\"knockout-component-895d9bd1-ec8f-48b6-9f6f-9d8398dac5e4\",\"id\":\"ob_49\",\"type\":\"observable\"})};\n var self = this;\n function AppViewModel() {\n for (var key in json_data) {\n var el = json_data[key];\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n }\n \n [this[\"formatted_val\"]=ko.computed( function(){\n return this.formatted_vals()[parseInt(this.index())-1];\n }\n,this)]\n [this[\"changes\"].subscribe((function (val){!(this.valueFromJulia[\"changes\"]) ? (WebIO.setval({\"name\":\"changes\",\"scope\":\"knockout-component-895d9bd1-ec8f-48b6-9f6f-9d8398dac5e4\",\"id\":\"ob_50\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"changes\"]=false}),self),this[\"index\"].subscribe((function (val){!(this.valueFromJulia[\"index\"]) ? (WebIO.setval({\"name\":\"index\",\"scope\":\"knockout-component-895d9bd1-ec8f-48b6-9f6f-9d8398dac5e4\",\"id\":\"ob_49\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"index\"]=false}),self)]\n \n }\n self.model = new AppViewModel();\n self.valueFromJulia = {};\n for (var key in json_data) {\n self.valueFromJulia[key] = false;\n }\n ko.applyBindings(self.model, self.dom);\n}\n);\n (WebIO.importBlock({\"data\":[{\"name\":\"knockout\",\"type\":\"js\",\"url\":\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\"},{\"name\":\"knockout_punches\",\"type\":\"js\",\"url\":\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\"}],\"type\":\"async_block\"})).then((imports) => handler.apply(this, imports));\n}\n" ], "observables": { "changes": { "id": "ob_50", "sync": false, "value": 0 }, "index": { "id": "ob_49", "sync": true, "value": 315 } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "field interact-widget" }, "type": "node" }, { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ "ϕ" ], "instanceArgs": { "namespace": "html", "tag": "label" }, "nodeType": "DOM", "props": { "className": "interact ", "style": { "padding": "5px 10px 0px 10px" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-left" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "input" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}", "orient": "horizontal", "type": "range" }, "className": "slider slider is-fullwidth", "max": 629, "min": 1, "step": 1, "style": {} }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-center" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "p" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "text: formatted_val" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-right" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row interact-widget" }, "type": "node" } ], "instanceArgs": { "handlers": { "changes": [ "(function (val){return (val!=this.model[\"changes\"]()) ? (this.valueFromJulia[\"changes\"]=true, this.model[\"changes\"](val)) : undefined})" ], "index": [ "(function (val){return (val!=this.model[\"index\"]()) ? (this.valueFromJulia[\"index\"]=true, this.model[\"index\"](val)) : undefined})" ] }, "id": "knockout-component-7f597404-8eca-4321-bfe3-e01dc7aa370a", "imports": { "data": [ { "name": "knockout", "type": "js", "url": "/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js" }, { "name": "knockout_punches", "type": "js", "url": "/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js" }, { "name": null, "type": "js", "url": "/assetserver/69078235d89420aa60ec07ae908cfcc65b6ecf85-all.js" }, { "name": null, "type": "css", "url": "/assetserver/98bc206151bf33944d9780fd349511e9eae784a0-style.css" }, { "name": null, "type": "css", "url": "/assetserver/13615fa9690b1c4388c3fe14db802e442333ebc4-bulma_confined.min.css" } ], "type": "async_block" }, "mount_callbacks": [ "function () {\n var handler = (function (ko, koPunches) {\n ko.punches.enableAll();\n ko.bindingHandlers.numericValue = {\n init : function(element, valueAccessor, allBindings, data, context) {\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\n stringified.subscribe(function(value) {\n var val = parseFloat(value);\n if (!isNaN(val)) {\n valueAccessor()(val);\n }\n })\n valueAccessor().subscribe(function(value) {\n var str = JSON.stringify(value);\n if ((str == \"0\") && ([\"-0\", \"-0.\"].indexOf(stringified()) >= 0))\n return;\n if ([\"null\", \"\"].indexOf(str) >= 0)\n return;\n stringified(str);\n })\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n }\n };\n var json_data = {\"formatted_vals\":[\"0.0\",\"0.01\",\"0.02\",\"0.03\",\"0.04\",\"0.05\",\"0.06\",\"0.07\",\"0.08\",\"0.09\",\"0.1\",\"0.11\",\"0.12\",\"0.13\",\"0.14\",\"0.15\",\"0.16\",\"0.17\",\"0.18\",\"0.19\",\"0.2\",\"0.21\",\"0.22\",\"0.23\",\"0.24\",\"0.25\",\"0.26\",\"0.27\",\"0.28\",\"0.29\",\"0.3\",\"0.31\",\"0.32\",\"0.33\",\"0.34\",\"0.35\",\"0.36\",\"0.37\",\"0.38\",\"0.39\",\"0.4\",\"0.41\",\"0.42\",\"0.43\",\"0.44\",\"0.45\",\"0.46\",\"0.47\",\"0.48\",\"0.49\",\"0.5\",\"0.51\",\"0.52\",\"0.53\",\"0.54\",\"0.55\",\"0.56\",\"0.57\",\"0.58\",\"0.59\",\"0.6\",\"0.61\",\"0.62\",\"0.63\",\"0.64\",\"0.65\",\"0.66\",\"0.67\",\"0.68\",\"0.69\",\"0.7\",\"0.71\",\"0.72\",\"0.73\",\"0.74\",\"0.75\",\"0.76\",\"0.77\",\"0.78\",\"0.79\",\"0.8\",\"0.81\",\"0.82\",\"0.83\",\"0.84\",\"0.85\",\"0.86\",\"0.87\",\"0.88\",\"0.89\",\"0.9\",\"0.91\",\"0.92\",\"0.93\",\"0.94\",\"0.95\",\"0.96\",\"0.97\",\"0.98\",\"0.99\",\"1.0\",\"1.01\",\"1.02\",\"1.03\",\"1.04\",\"1.05\",\"1.06\",\"1.07\",\"1.08\",\"1.09\",\"1.1\",\"1.11\",\"1.12\",\"1.13\",\"1.14\",\"1.15\",\"1.16\",\"1.17\",\"1.18\",\"1.19\",\"1.2\",\"1.21\",\"1.22\",\"1.23\",\"1.24\",\"1.25\",\"1.26\",\"1.27\",\"1.28\",\"1.29\",\"1.3\",\"1.31\",\"1.32\",\"1.33\",\"1.34\",\"1.35\",\"1.36\",\"1.37\",\"1.38\",\"1.39\",\"1.4\",\"1.41\",\"1.42\",\"1.43\",\"1.44\",\"1.45\",\"1.46\",\"1.47\",\"1.48\",\"1.49\",\"1.5\",\"1.51\",\"1.52\",\"1.53\",\"1.54\",\"1.55\",\"1.56\",\"1.57\",\"1.58\",\"1.59\",\"1.6\",\"1.61\",\"1.62\",\"1.63\",\"1.64\",\"1.65\",\"1.66\",\"1.67\",\"1.68\",\"1.69\",\"1.7\",\"1.71\",\"1.72\",\"1.73\",\"1.74\",\"1.75\",\"1.76\",\"1.77\",\"1.78\",\"1.79\",\"1.8\",\"1.81\",\"1.82\",\"1.83\",\"1.84\",\"1.85\",\"1.86\",\"1.87\",\"1.88\",\"1.89\",\"1.9\",\"1.91\",\"1.92\",\"1.93\",\"1.94\",\"1.95\",\"1.96\",\"1.97\",\"1.98\",\"1.99\",\"2.0\",\"2.01\",\"2.02\",\"2.03\",\"2.04\",\"2.05\",\"2.06\",\"2.07\",\"2.08\",\"2.09\",\"2.1\",\"2.11\",\"2.12\",\"2.13\",\"2.14\",\"2.15\",\"2.16\",\"2.17\",\"2.18\",\"2.19\",\"2.2\",\"2.21\",\"2.22\",\"2.23\",\"2.24\",\"2.25\",\"2.26\",\"2.27\",\"2.28\",\"2.29\",\"2.3\",\"2.31\",\"2.32\",\"2.33\",\"2.34\",\"2.35\",\"2.36\",\"2.37\",\"2.38\",\"2.39\",\"2.4\",\"2.41\",\"2.42\",\"2.43\",\"2.44\",\"2.45\",\"2.46\",\"2.47\",\"2.48\",\"2.49\",\"2.5\",\"2.51\",\"2.52\",\"2.53\",\"2.54\",\"2.55\",\"2.56\",\"2.57\",\"2.58\",\"2.59\",\"2.6\",\"2.61\",\"2.62\",\"2.63\",\"2.64\",\"2.65\",\"2.66\",\"2.67\",\"2.68\",\"2.69\",\"2.7\",\"2.71\",\"2.72\",\"2.73\",\"2.74\",\"2.75\",\"2.76\",\"2.77\",\"2.78\",\"2.79\",\"2.8\",\"2.81\",\"2.82\",\"2.83\",\"2.84\",\"2.85\",\"2.86\",\"2.87\",\"2.88\",\"2.89\",\"2.9\",\"2.91\",\"2.92\",\"2.93\",\"2.94\",\"2.95\",\"2.96\",\"2.97\",\"2.98\",\"2.99\",\"3.0\",\"3.01\",\"3.02\",\"3.03\",\"3.04\",\"3.05\",\"3.06\",\"3.07\",\"3.08\",\"3.09\",\"3.1\",\"3.11\",\"3.12\",\"3.13\",\"3.14\",\"3.15\",\"3.16\",\"3.17\",\"3.18\",\"3.19\",\"3.2\",\"3.21\",\"3.22\",\"3.23\",\"3.24\",\"3.25\",\"3.26\",\"3.27\",\"3.28\",\"3.29\",\"3.3\",\"3.31\",\"3.32\",\"3.33\",\"3.34\",\"3.35\",\"3.36\",\"3.37\",\"3.38\",\"3.39\",\"3.4\",\"3.41\",\"3.42\",\"3.43\",\"3.44\",\"3.45\",\"3.46\",\"3.47\",\"3.48\",\"3.49\",\"3.5\",\"3.51\",\"3.52\",\"3.53\",\"3.54\",\"3.55\",\"3.56\",\"3.57\",\"3.58\",\"3.59\",\"3.6\",\"3.61\",\"3.62\",\"3.63\",\"3.64\",\"3.65\",\"3.66\",\"3.67\",\"3.68\",\"3.69\",\"3.7\",\"3.71\",\"3.72\",\"3.73\",\"3.74\",\"3.75\",\"3.76\",\"3.77\",\"3.78\",\"3.79\",\"3.8\",\"3.81\",\"3.82\",\"3.83\",\"3.84\",\"3.85\",\"3.86\",\"3.87\",\"3.88\",\"3.89\",\"3.9\",\"3.91\",\"3.92\",\"3.93\",\"3.94\",\"3.95\",\"3.96\",\"3.97\",\"3.98\",\"3.99\",\"4.0\",\"4.01\",\"4.02\",\"4.03\",\"4.04\",\"4.05\",\"4.06\",\"4.07\",\"4.08\",\"4.09\",\"4.1\",\"4.11\",\"4.12\",\"4.13\",\"4.14\",\"4.15\",\"4.16\",\"4.17\",\"4.18\",\"4.19\",\"4.2\",\"4.21\",\"4.22\",\"4.23\",\"4.24\",\"4.25\",\"4.26\",\"4.27\",\"4.28\",\"4.29\",\"4.3\",\"4.31\",\"4.32\",\"4.33\",\"4.34\",\"4.35\",\"4.36\",\"4.37\",\"4.38\",\"4.39\",\"4.4\",\"4.41\",\"4.42\",\"4.43\",\"4.44\",\"4.45\",\"4.46\",\"4.47\",\"4.48\",\"4.49\",\"4.5\",\"4.51\",\"4.52\",\"4.53\",\"4.54\",\"4.55\",\"4.56\",\"4.57\",\"4.58\",\"4.59\",\"4.6\",\"4.61\",\"4.62\",\"4.63\",\"4.64\",\"4.65\",\"4.66\",\"4.67\",\"4.68\",\"4.69\",\"4.7\",\"4.71\",\"4.72\",\"4.73\",\"4.74\",\"4.75\",\"4.76\",\"4.77\",\"4.78\",\"4.79\",\"4.8\",\"4.81\",\"4.82\",\"4.83\",\"4.84\",\"4.85\",\"4.86\",\"4.87\",\"4.88\",\"4.89\",\"4.9\",\"4.91\",\"4.92\",\"4.93\",\"4.94\",\"4.95\",\"4.96\",\"4.97\",\"4.98\",\"4.99\",\"5.0\",\"5.01\",\"5.02\",\"5.03\",\"5.04\",\"5.05\",\"5.06\",\"5.07\",\"5.08\",\"5.09\",\"5.1\",\"5.11\",\"5.12\",\"5.13\",\"5.14\",\"5.15\",\"5.16\",\"5.17\",\"5.18\",\"5.19\",\"5.2\",\"5.21\",\"5.22\",\"5.23\",\"5.24\",\"5.25\",\"5.26\",\"5.27\",\"5.28\",\"5.29\",\"5.3\",\"5.31\",\"5.32\",\"5.33\",\"5.34\",\"5.35\",\"5.36\",\"5.37\",\"5.38\",\"5.39\",\"5.4\",\"5.41\",\"5.42\",\"5.43\",\"5.44\",\"5.45\",\"5.46\",\"5.47\",\"5.48\",\"5.49\",\"5.5\",\"5.51\",\"5.52\",\"5.53\",\"5.54\",\"5.55\",\"5.56\",\"5.57\",\"5.58\",\"5.59\",\"5.6\",\"5.61\",\"5.62\",\"5.63\",\"5.64\",\"5.65\",\"5.66\",\"5.67\",\"5.68\",\"5.69\",\"5.7\",\"5.71\",\"5.72\",\"5.73\",\"5.74\",\"5.75\",\"5.76\",\"5.77\",\"5.78\",\"5.79\",\"5.8\",\"5.81\",\"5.82\",\"5.83\",\"5.84\",\"5.85\",\"5.86\",\"5.87\",\"5.88\",\"5.89\",\"5.9\",\"5.91\",\"5.92\",\"5.93\",\"5.94\",\"5.95\",\"5.96\",\"5.97\",\"5.98\",\"5.99\",\"6.0\",\"6.01\",\"6.02\",\"6.03\",\"6.04\",\"6.05\",\"6.06\",\"6.07\",\"6.08\",\"6.09\",\"6.1\",\"6.11\",\"6.12\",\"6.13\",\"6.14\",\"6.15\",\"6.16\",\"6.17\",\"6.18\",\"6.19\",\"6.2\",\"6.21\",\"6.22\",\"6.23\",\"6.24\",\"6.25\",\"6.26\",\"6.27\",\"6.28\"],\"changes\":WebIO.getval({\"name\":\"changes\",\"scope\":\"knockout-component-7f597404-8eca-4321-bfe3-e01dc7aa370a\",\"id\":\"ob_53\",\"type\":\"observable\"}),\"index\":WebIO.getval({\"name\":\"index\",\"scope\":\"knockout-component-7f597404-8eca-4321-bfe3-e01dc7aa370a\",\"id\":\"ob_52\",\"type\":\"observable\"})};\n var self = this;\n function AppViewModel() {\n for (var key in json_data) {\n var el = json_data[key];\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n }\n \n [this[\"formatted_val\"]=ko.computed( function(){\n return this.formatted_vals()[parseInt(this.index())-1];\n }\n,this)]\n [this[\"changes\"].subscribe((function (val){!(this.valueFromJulia[\"changes\"]) ? (WebIO.setval({\"name\":\"changes\",\"scope\":\"knockout-component-7f597404-8eca-4321-bfe3-e01dc7aa370a\",\"id\":\"ob_53\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"changes\"]=false}),self),this[\"index\"].subscribe((function (val){!(this.valueFromJulia[\"index\"]) ? (WebIO.setval({\"name\":\"index\",\"scope\":\"knockout-component-7f597404-8eca-4321-bfe3-e01dc7aa370a\",\"id\":\"ob_52\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"index\"]=false}),self)]\n \n }\n self.model = new AppViewModel();\n self.valueFromJulia = {};\n for (var key in json_data) {\n self.valueFromJulia[key] = false;\n }\n ko.applyBindings(self.model, self.dom);\n}\n);\n (WebIO.importBlock({\"data\":[{\"name\":\"knockout\",\"type\":\"js\",\"url\":\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\"},{\"name\":\"knockout_punches\",\"type\":\"js\",\"url\":\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\"}],\"type\":\"async_block\"})).then((imports) => handler.apply(this, imports));\n}\n" ], "observables": { "changes": { "id": "ob_53", "sync": false, "value": 0 }, "index": { "id": "ob_52", "sync": true, "value": 315 } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "field interact-widget" }, "type": "node" }, { "children": [ { "children": [ { "children": [ { "children": [ { "children": [ "angle" ], "instanceArgs": { "namespace": "html", "tag": "label" }, "nodeType": "DOM", "props": { "className": "interact ", "style": { "padding": "5px 10px 0px 10px" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-left" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "input" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}", "orient": "horizontal", "type": "range" }, "className": "slider slider is-fullwidth", "max": 1257, "min": 1, "step": 1, "style": {} }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-center" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "p" }, "nodeType": "DOM", "props": { "attributes": { "data-bind": "text: formatted_val" } }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row-right" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row interact-widget" }, "type": "node" } ], "instanceArgs": { "handlers": { "changes": [ "(function (val){return (val!=this.model[\"changes\"]()) ? (this.valueFromJulia[\"changes\"]=true, this.model[\"changes\"](val)) : undefined})" ], "index": [ "(function (val){return (val!=this.model[\"index\"]()) ? (this.valueFromJulia[\"index\"]=true, this.model[\"index\"](val)) : undefined})" ] }, "id": "knockout-component-c37a04b4-0615-4aee-88ba-6db78ee26adb", "imports": { "data": [ { "name": "knockout", "type": "js", "url": "/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js" }, { "name": "knockout_punches", "type": "js", "url": "/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js" }, { "name": null, "type": "js", "url": "/assetserver/69078235d89420aa60ec07ae908cfcc65b6ecf85-all.js" }, { "name": null, "type": "css", "url": "/assetserver/98bc206151bf33944d9780fd349511e9eae784a0-style.css" }, { "name": null, "type": "css", "url": "/assetserver/13615fa9690b1c4388c3fe14db802e442333ebc4-bulma_confined.min.css" } ], "type": "async_block" }, "mount_callbacks": [ "function () {\n var handler = (function (ko, koPunches) {\n ko.punches.enableAll();\n ko.bindingHandlers.numericValue = {\n init : function(element, valueAccessor, allBindings, data, context) {\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\n stringified.subscribe(function(value) {\n var val = parseFloat(value);\n if (!isNaN(val)) {\n valueAccessor()(val);\n }\n })\n valueAccessor().subscribe(function(value) {\n var str = JSON.stringify(value);\n if ((str == \"0\") && ([\"-0\", \"-0.\"].indexOf(stringified()) >= 0))\n return;\n if ([\"null\", \"\"].indexOf(str) >= 0)\n return;\n stringified(str);\n })\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\n }\n };\n var json_data = {\"formatted_vals\":[\"-6.28319\",\"-6.27319\",\"-6.26319\",\"-6.25319\",\"-6.24319\",\"-6.23319\",\"-6.22319\",\"-6.21319\",\"-6.20319\",\"-6.19319\",\"-6.18319\",\"-6.17319\",\"-6.16319\",\"-6.15319\",\"-6.14319\",\"-6.13319\",\"-6.12319\",\"-6.11319\",\"-6.10319\",\"-6.09319\",\"-6.08319\",\"-6.07319\",\"-6.06319\",\"-6.05319\",\"-6.04319\",\"-6.03319\",\"-6.02319\",\"-6.01319\",\"-6.00319\",\"-5.99319\",\"-5.98319\",\"-5.97319\",\"-5.96319\",\"-5.95319\",\"-5.94319\",\"-5.93319\",\"-5.92319\",\"-5.91319\",\"-5.90319\",\"-5.89319\",\"-5.88319\",\"-5.87319\",\"-5.86319\",\"-5.85319\",\"-5.84319\",\"-5.83319\",\"-5.82319\",\"-5.81319\",\"-5.80319\",\"-5.79319\",\"-5.78319\",\"-5.77319\",\"-5.76319\",\"-5.75319\",\"-5.74319\",\"-5.73319\",\"-5.72319\",\"-5.71319\",\"-5.70319\",\"-5.69319\",\"-5.68319\",\"-5.67319\",\"-5.66319\",\"-5.65319\",\"-5.64319\",\"-5.63319\",\"-5.62319\",\"-5.61319\",\"-5.60319\",\"-5.59319\",\"-5.58319\",\"-5.57319\",\"-5.56319\",\"-5.55319\",\"-5.54319\",\"-5.53319\",\"-5.52319\",\"-5.51319\",\"-5.50319\",\"-5.49319\",\"-5.48319\",\"-5.47319\",\"-5.46319\",\"-5.45319\",\"-5.44319\",\"-5.43319\",\"-5.42319\",\"-5.41319\",\"-5.40319\",\"-5.39319\",\"-5.38319\",\"-5.37319\",\"-5.36319\",\"-5.35319\",\"-5.34319\",\"-5.33319\",\"-5.32319\",\"-5.31319\",\"-5.30319\",\"-5.29319\",\"-5.28319\",\"-5.27319\",\"-5.26319\",\"-5.25319\",\"-5.24319\",\"-5.23319\",\"-5.22319\",\"-5.21319\",\"-5.20319\",\"-5.19319\",\"-5.18319\",\"-5.17319\",\"-5.16319\",\"-5.15319\",\"-5.14319\",\"-5.13319\",\"-5.12319\",\"-5.11319\",\"-5.10319\",\"-5.09319\",\"-5.08319\",\"-5.07319\",\"-5.06319\",\"-5.05319\",\"-5.04319\",\"-5.03319\",\"-5.02319\",\"-5.01319\",\"-5.00319\",\"-4.99319\",\"-4.98319\",\"-4.97319\",\"-4.96319\",\"-4.95319\",\"-4.94319\",\"-4.93319\",\"-4.92319\",\"-4.91319\",\"-4.90319\",\"-4.89319\",\"-4.88319\",\"-4.87319\",\"-4.86319\",\"-4.85319\",\"-4.84319\",\"-4.83319\",\"-4.82319\",\"-4.81319\",\"-4.80319\",\"-4.79319\",\"-4.78319\",\"-4.77319\",\"-4.76319\",\"-4.75319\",\"-4.74319\",\"-4.73319\",\"-4.72319\",\"-4.71319\",\"-4.70319\",\"-4.69319\",\"-4.68319\",\"-4.67319\",\"-4.66319\",\"-4.65319\",\"-4.64319\",\"-4.63319\",\"-4.62319\",\"-4.61319\",\"-4.60319\",\"-4.59319\",\"-4.58319\",\"-4.57319\",\"-4.56319\",\"-4.55319\",\"-4.54319\",\"-4.53319\",\"-4.52319\",\"-4.51319\",\"-4.50319\",\"-4.49319\",\"-4.48319\",\"-4.47319\",\"-4.46319\",\"-4.45319\",\"-4.44319\",\"-4.43319\",\"-4.42319\",\"-4.41319\",\"-4.40319\",\"-4.39319\",\"-4.38319\",\"-4.37319\",\"-4.36319\",\"-4.35319\",\"-4.34319\",\"-4.33319\",\"-4.32319\",\"-4.31319\",\"-4.30319\",\"-4.29319\",\"-4.28319\",\"-4.27319\",\"-4.26319\",\"-4.25319\",\"-4.24319\",\"-4.23319\",\"-4.22319\",\"-4.21319\",\"-4.20319\",\"-4.19319\",\"-4.18319\",\"-4.17319\",\"-4.16319\",\"-4.15319\",\"-4.14319\",\"-4.13319\",\"-4.12319\",\"-4.11319\",\"-4.10319\",\"-4.09319\",\"-4.08319\",\"-4.07319\",\"-4.06319\",\"-4.05319\",\"-4.04319\",\"-4.03319\",\"-4.02319\",\"-4.01319\",\"-4.00319\",\"-3.99319\",\"-3.98319\",\"-3.97319\",\"-3.96319\",\"-3.95319\",\"-3.94319\",\"-3.93319\",\"-3.92319\",\"-3.91319\",\"-3.90319\",\"-3.89319\",\"-3.88319\",\"-3.87319\",\"-3.86319\",\"-3.85319\",\"-3.84319\",\"-3.83319\",\"-3.82319\",\"-3.81319\",\"-3.80319\",\"-3.79319\",\"-3.78319\",\"-3.77319\",\"-3.76319\",\"-3.75319\",\"-3.74319\",\"-3.73319\",\"-3.72319\",\"-3.71319\",\"-3.70319\",\"-3.69319\",\"-3.68319\",\"-3.67319\",\"-3.66319\",\"-3.65319\",\"-3.64319\",\"-3.63319\",\"-3.62319\",\"-3.61319\",\"-3.60319\",\"-3.59319\",\"-3.58319\",\"-3.57319\",\"-3.56319\",\"-3.55319\",\"-3.54319\",\"-3.53319\",\"-3.52319\",\"-3.51319\",\"-3.50319\",\"-3.49319\",\"-3.48319\",\"-3.47319\",\"-3.46319\",\"-3.45319\",\"-3.44319\",\"-3.43319\",\"-3.42319\",\"-3.41319\",\"-3.40319\",\"-3.39319\",\"-3.38319\",\"-3.37319\",\"-3.36319\",\"-3.35319\",\"-3.34319\",\"-3.33319\",\"-3.32319\",\"-3.31319\",\"-3.30319\",\"-3.29319\",\"-3.28319\",\"-3.27319\",\"-3.26319\",\"-3.25319\",\"-3.24319\",\"-3.23319\",\"-3.22319\",\"-3.21319\",\"-3.20319\",\"-3.19319\",\"-3.18319\",\"-3.17319\",\"-3.16319\",\"-3.15319\",\"-3.14319\",\"-3.13319\",\"-3.12319\",\"-3.11319\",\"-3.10319\",\"-3.09319\",\"-3.08319\",\"-3.07319\",\"-3.06319\",\"-3.05319\",\"-3.04319\",\"-3.03319\",\"-3.02319\",\"-3.01319\",\"-3.00319\",\"-2.99319\",\"-2.98319\",\"-2.97319\",\"-2.96319\",\"-2.95319\",\"-2.94319\",\"-2.93319\",\"-2.92319\",\"-2.91319\",\"-2.90319\",\"-2.89319\",\"-2.88319\",\"-2.87319\",\"-2.86319\",\"-2.85319\",\"-2.84319\",\"-2.83319\",\"-2.82319\",\"-2.81319\",\"-2.80319\",\"-2.79319\",\"-2.78319\",\"-2.77319\",\"-2.76319\",\"-2.75319\",\"-2.74319\",\"-2.73319\",\"-2.72319\",\"-2.71319\",\"-2.70319\",\"-2.69319\",\"-2.68319\",\"-2.67319\",\"-2.66319\",\"-2.65319\",\"-2.64319\",\"-2.63319\",\"-2.62319\",\"-2.61319\",\"-2.60319\",\"-2.59319\",\"-2.58319\",\"-2.57319\",\"-2.56319\",\"-2.55319\",\"-2.54319\",\"-2.53319\",\"-2.52319\",\"-2.51319\",\"-2.50319\",\"-2.49319\",\"-2.48319\",\"-2.47319\",\"-2.46319\",\"-2.45319\",\"-2.44319\",\"-2.43319\",\"-2.42319\",\"-2.41319\",\"-2.40319\",\"-2.39319\",\"-2.38319\",\"-2.37319\",\"-2.36319\",\"-2.35319\",\"-2.34319\",\"-2.33319\",\"-2.32319\",\"-2.31319\",\"-2.30319\",\"-2.29319\",\"-2.28319\",\"-2.27319\",\"-2.26319\",\"-2.25319\",\"-2.24319\",\"-2.23319\",\"-2.22319\",\"-2.21319\",\"-2.20319\",\"-2.19319\",\"-2.18319\",\"-2.17319\",\"-2.16319\",\"-2.15319\",\"-2.14319\",\"-2.13319\",\"-2.12319\",\"-2.11319\",\"-2.10319\",\"-2.09319\",\"-2.08319\",\"-2.07319\",\"-2.06319\",\"-2.05319\",\"-2.04319\",\"-2.03319\",\"-2.02319\",\"-2.01319\",\"-2.00319\",\"-1.99319\",\"-1.98319\",\"-1.97319\",\"-1.96319\",\"-1.95319\",\"-1.94319\",\"-1.93319\",\"-1.92319\",\"-1.91319\",\"-1.90319\",\"-1.89319\",\"-1.88319\",\"-1.87319\",\"-1.86319\",\"-1.85319\",\"-1.84319\",\"-1.83319\",\"-1.82319\",\"-1.81319\",\"-1.80319\",\"-1.79319\",\"-1.78319\",\"-1.77319\",\"-1.76319\",\"-1.75319\",\"-1.74319\",\"-1.73319\",\"-1.72319\",\"-1.71319\",\"-1.70319\",\"-1.69319\",\"-1.68319\",\"-1.67319\",\"-1.66319\",\"-1.65319\",\"-1.64319\",\"-1.63319\",\"-1.62319\",\"-1.61319\",\"-1.60319\",\"-1.59319\",\"-1.58319\",\"-1.57319\",\"-1.56319\",\"-1.55319\",\"-1.54319\",\"-1.53319\",\"-1.52319\",\"-1.51319\",\"-1.50319\",\"-1.49319\",\"-1.48319\",\"-1.47319\",\"-1.46319\",\"-1.45319\",\"-1.44319\",\"-1.43319\",\"-1.42319\",\"-1.41319\",\"-1.40319\",\"-1.39319\",\"-1.38319\",\"-1.37319\",\"-1.36319\",\"-1.35319\",\"-1.34319\",\"-1.33319\",\"-1.32319\",\"-1.31319\",\"-1.30319\",\"-1.29319\",\"-1.28319\",\"-1.27319\",\"-1.26319\",\"-1.25319\",\"-1.24319\",\"-1.23319\",\"-1.22319\",\"-1.21319\",\"-1.20319\",\"-1.19319\",\"-1.18319\",\"-1.17319\",\"-1.16319\",\"-1.15319\",\"-1.14319\",\"-1.13319\",\"-1.12319\",\"-1.11319\",\"-1.10319\",\"-1.09319\",\"-1.08319\",\"-1.07319\",\"-1.06319\",\"-1.05319\",\"-1.04319\",\"-1.03319\",\"-1.02319\",\"-1.01319\",\"-1.00319\",\"-0.993185\",\"-0.983185\",\"-0.973185\",\"-0.963185\",\"-0.953185\",\"-0.943185\",\"-0.933185\",\"-0.923185\",\"-0.913185\",\"-0.903185\",\"-0.893185\",\"-0.883185\",\"-0.873185\",\"-0.863185\",\"-0.853185\",\"-0.843185\",\"-0.833185\",\"-0.823185\",\"-0.813185\",\"-0.803185\",\"-0.793185\",\"-0.783185\",\"-0.773185\",\"-0.763185\",\"-0.753185\",\"-0.743185\",\"-0.733185\",\"-0.723185\",\"-0.713185\",\"-0.703185\",\"-0.693185\",\"-0.683185\",\"-0.673185\",\"-0.663185\",\"-0.653185\",\"-0.643185\",\"-0.633185\",\"-0.623185\",\"-0.613185\",\"-0.603185\",\"-0.593185\",\"-0.583185\",\"-0.573185\",\"-0.563185\",\"-0.553185\",\"-0.543185\",\"-0.533185\",\"-0.523185\",\"-0.513185\",\"-0.503185\",\"-0.493185\",\"-0.483185\",\"-0.473185\",\"-0.463185\",\"-0.453185\",\"-0.443185\",\"-0.433185\",\"-0.423185\",\"-0.413185\",\"-0.403185\",\"-0.393185\",\"-0.383185\",\"-0.373185\",\"-0.363185\",\"-0.353185\",\"-0.343185\",\"-0.333185\",\"-0.323185\",\"-0.313185\",\"-0.303185\",\"-0.293185\",\"-0.283185\",\"-0.273185\",\"-0.263185\",\"-0.253185\",\"-0.243185\",\"-0.233185\",\"-0.223185\",\"-0.213185\",\"-0.203185\",\"-0.193185\",\"-0.183185\",\"-0.173185\",\"-0.163185\",\"-0.153185\",\"-0.143185\",\"-0.133185\",\"-0.123185\",\"-0.113185\",\"-0.103185\",\"-0.0931853\",\"-0.0831853\",\"-0.0731853\",\"-0.0631853\",\"-0.0531853\",\"-0.0431853\",\"-0.0331853\",\"-0.0231853\",\"-0.0131853\",\"-0.00318531\",\"0.00681469\",\"0.0168147\",\"0.0268147\",\"0.0368147\",\"0.0468147\",\"0.0568147\",\"0.0668147\",\"0.0768147\",\"0.0868147\",\"0.0968147\",\"0.106815\",\"0.116815\",\"0.126815\",\"0.136815\",\"0.146815\",\"0.156815\",\"0.166815\",\"0.176815\",\"0.186815\",\"0.196815\",\"0.206815\",\"0.216815\",\"0.226815\",\"0.236815\",\"0.246815\",\"0.256815\",\"0.266815\",\"0.276815\",\"0.286815\",\"0.296815\",\"0.306815\",\"0.316815\",\"0.326815\",\"0.336815\",\"0.346815\",\"0.356815\",\"0.366815\",\"0.376815\",\"0.386815\",\"0.396815\",\"0.406815\",\"0.416815\",\"0.426815\",\"0.436815\",\"0.446815\",\"0.456815\",\"0.466815\",\"0.476815\",\"0.486815\",\"0.496815\",\"0.506815\",\"0.516815\",\"0.526815\",\"0.536815\",\"0.546815\",\"0.556815\",\"0.566815\",\"0.576815\",\"0.586815\",\"0.596815\",\"0.606815\",\"0.616815\",\"0.626815\",\"0.636815\",\"0.646815\",\"0.656815\",\"0.666815\",\"0.676815\",\"0.686815\",\"0.696815\",\"0.706815\",\"0.716815\",\"0.726815\",\"0.736815\",\"0.746815\",\"0.756815\",\"0.766815\",\"0.776815\",\"0.786815\",\"0.796815\",\"0.806815\",\"0.816815\",\"0.826815\",\"0.836815\",\"0.846815\",\"0.856815\",\"0.866815\",\"0.876815\",\"0.886815\",\"0.896815\",\"0.906815\",\"0.916815\",\"0.926815\",\"0.936815\",\"0.946815\",\"0.956815\",\"0.966815\",\"0.976815\",\"0.986815\",\"0.996815\",\"1.00681\",\"1.01681\",\"1.02681\",\"1.03681\",\"1.04681\",\"1.05681\",\"1.06681\",\"1.07681\",\"1.08681\",\"1.09681\",\"1.10681\",\"1.11681\",\"1.12681\",\"1.13681\",\"1.14681\",\"1.15681\",\"1.16681\",\"1.17681\",\"1.18681\",\"1.19681\",\"1.20681\",\"1.21681\",\"1.22681\",\"1.23681\",\"1.24681\",\"1.25681\",\"1.26681\",\"1.27681\",\"1.28681\",\"1.29681\",\"1.30681\",\"1.31681\",\"1.32681\",\"1.33681\",\"1.34681\",\"1.35681\",\"1.36681\",\"1.37681\",\"1.38681\",\"1.39681\",\"1.40681\",\"1.41681\",\"1.42681\",\"1.43681\",\"1.44681\",\"1.45681\",\"1.46681\",\"1.47681\",\"1.48681\",\"1.49681\",\"1.50681\",\"1.51681\",\"1.52681\",\"1.53681\",\"1.54681\",\"1.55681\",\"1.56681\",\"1.57681\",\"1.58681\",\"1.59681\",\"1.60681\",\"1.61681\",\"1.62681\",\"1.63681\",\"1.64681\",\"1.65681\",\"1.66681\",\"1.67681\",\"1.68681\",\"1.69681\",\"1.70681\",\"1.71681\",\"1.72681\",\"1.73681\",\"1.74681\",\"1.75681\",\"1.76681\",\"1.77681\",\"1.78681\",\"1.79681\",\"1.80681\",\"1.81681\",\"1.82681\",\"1.83681\",\"1.84681\",\"1.85681\",\"1.86681\",\"1.87681\",\"1.88681\",\"1.89681\",\"1.90681\",\"1.91681\",\"1.92681\",\"1.93681\",\"1.94681\",\"1.95681\",\"1.96681\",\"1.97681\",\"1.98681\",\"1.99681\",\"2.00681\",\"2.01681\",\"2.02681\",\"2.03681\",\"2.04681\",\"2.05681\",\"2.06681\",\"2.07681\",\"2.08681\",\"2.09681\",\"2.10681\",\"2.11681\",\"2.12681\",\"2.13681\",\"2.14681\",\"2.15681\",\"2.16681\",\"2.17681\",\"2.18681\",\"2.19681\",\"2.20681\",\"2.21681\",\"2.22681\",\"2.23681\",\"2.24681\",\"2.25681\",\"2.26681\",\"2.27681\",\"2.28681\",\"2.29681\",\"2.30681\",\"2.31681\",\"2.32681\",\"2.33681\",\"2.34681\",\"2.35681\",\"2.36681\",\"2.37681\",\"2.38681\",\"2.39681\",\"2.40681\",\"2.41681\",\"2.42681\",\"2.43681\",\"2.44681\",\"2.45681\",\"2.46681\",\"2.47681\",\"2.48681\",\"2.49681\",\"2.50681\",\"2.51681\",\"2.52681\",\"2.53681\",\"2.54681\",\"2.55681\",\"2.56681\",\"2.57681\",\"2.58681\",\"2.59681\",\"2.60681\",\"2.61681\",\"2.62681\",\"2.63681\",\"2.64681\",\"2.65681\",\"2.66681\",\"2.67681\",\"2.68681\",\"2.69681\",\"2.70681\",\"2.71681\",\"2.72681\",\"2.73681\",\"2.74681\",\"2.75681\",\"2.76681\",\"2.77681\",\"2.78681\",\"2.79681\",\"2.80681\",\"2.81681\",\"2.82681\",\"2.83681\",\"2.84681\",\"2.85681\",\"2.86681\",\"2.87681\",\"2.88681\",\"2.89681\",\"2.90681\",\"2.91681\",\"2.92681\",\"2.93681\",\"2.94681\",\"2.95681\",\"2.96681\",\"2.97681\",\"2.98681\",\"2.99681\",\"3.00681\",\"3.01681\",\"3.02681\",\"3.03681\",\"3.04681\",\"3.05681\",\"3.06681\",\"3.07681\",\"3.08681\",\"3.09681\",\"3.10681\",\"3.11681\",\"3.12681\",\"3.13681\",\"3.14681\",\"3.15681\",\"3.16681\",\"3.17681\",\"3.18681\",\"3.19681\",\"3.20681\",\"3.21681\",\"3.22681\",\"3.23681\",\"3.24681\",\"3.25681\",\"3.26681\",\"3.27681\",\"3.28681\",\"3.29681\",\"3.30681\",\"3.31681\",\"3.32681\",\"3.33681\",\"3.34681\",\"3.35681\",\"3.36681\",\"3.37681\",\"3.38681\",\"3.39681\",\"3.40681\",\"3.41681\",\"3.42681\",\"3.43681\",\"3.44681\",\"3.45681\",\"3.46681\",\"3.47681\",\"3.48681\",\"3.49681\",\"3.50681\",\"3.51681\",\"3.52681\",\"3.53681\",\"3.54681\",\"3.55681\",\"3.56681\",\"3.57681\",\"3.58681\",\"3.59681\",\"3.60681\",\"3.61681\",\"3.62681\",\"3.63681\",\"3.64681\",\"3.65681\",\"3.66681\",\"3.67681\",\"3.68681\",\"3.69681\",\"3.70681\",\"3.71681\",\"3.72681\",\"3.73681\",\"3.74681\",\"3.75681\",\"3.76681\",\"3.77681\",\"3.78681\",\"3.79681\",\"3.80681\",\"3.81681\",\"3.82681\",\"3.83681\",\"3.84681\",\"3.85681\",\"3.86681\",\"3.87681\",\"3.88681\",\"3.89681\",\"3.90681\",\"3.91681\",\"3.92681\",\"3.93681\",\"3.94681\",\"3.95681\",\"3.96681\",\"3.97681\",\"3.98681\",\"3.99681\",\"4.00681\",\"4.01681\",\"4.02681\",\"4.03681\",\"4.04681\",\"4.05681\",\"4.06681\",\"4.07681\",\"4.08681\",\"4.09681\",\"4.10681\",\"4.11681\",\"4.12681\",\"4.13681\",\"4.14681\",\"4.15681\",\"4.16681\",\"4.17681\",\"4.18681\",\"4.19681\",\"4.20681\",\"4.21681\",\"4.22681\",\"4.23681\",\"4.24681\",\"4.25681\",\"4.26681\",\"4.27681\",\"4.28681\",\"4.29681\",\"4.30681\",\"4.31681\",\"4.32681\",\"4.33681\",\"4.34681\",\"4.35681\",\"4.36681\",\"4.37681\",\"4.38681\",\"4.39681\",\"4.40681\",\"4.41681\",\"4.42681\",\"4.43681\",\"4.44681\",\"4.45681\",\"4.46681\",\"4.47681\",\"4.48681\",\"4.49681\",\"4.50681\",\"4.51681\",\"4.52681\",\"4.53681\",\"4.54681\",\"4.55681\",\"4.56681\",\"4.57681\",\"4.58681\",\"4.59681\",\"4.60681\",\"4.61681\",\"4.62681\",\"4.63681\",\"4.64681\",\"4.65681\",\"4.66681\",\"4.67681\",\"4.68681\",\"4.69681\",\"4.70681\",\"4.71681\",\"4.72681\",\"4.73681\",\"4.74681\",\"4.75681\",\"4.76681\",\"4.77681\",\"4.78681\",\"4.79681\",\"4.80681\",\"4.81681\",\"4.82681\",\"4.83681\",\"4.84681\",\"4.85681\",\"4.86681\",\"4.87681\",\"4.88681\",\"4.89681\",\"4.90681\",\"4.91681\",\"4.92681\",\"4.93681\",\"4.94681\",\"4.95681\",\"4.96681\",\"4.97681\",\"4.98681\",\"4.99681\",\"5.00681\",\"5.01681\",\"5.02681\",\"5.03681\",\"5.04681\",\"5.05681\",\"5.06681\",\"5.07681\",\"5.08681\",\"5.09681\",\"5.10681\",\"5.11681\",\"5.12681\",\"5.13681\",\"5.14681\",\"5.15681\",\"5.16681\",\"5.17681\",\"5.18681\",\"5.19681\",\"5.20681\",\"5.21681\",\"5.22681\",\"5.23681\",\"5.24681\",\"5.25681\",\"5.26681\",\"5.27681\",\"5.28681\",\"5.29681\",\"5.30681\",\"5.31681\",\"5.32681\",\"5.33681\",\"5.34681\",\"5.35681\",\"5.36681\",\"5.37681\",\"5.38681\",\"5.39681\",\"5.40681\",\"5.41681\",\"5.42681\",\"5.43681\",\"5.44681\",\"5.45681\",\"5.46681\",\"5.47681\",\"5.48681\",\"5.49681\",\"5.50681\",\"5.51681\",\"5.52681\",\"5.53681\",\"5.54681\",\"5.55681\",\"5.56681\",\"5.57681\",\"5.58681\",\"5.59681\",\"5.60681\",\"5.61681\",\"5.62681\",\"5.63681\",\"5.64681\",\"5.65681\",\"5.66681\",\"5.67681\",\"5.68681\",\"5.69681\",\"5.70681\",\"5.71681\",\"5.72681\",\"5.73681\",\"5.74681\",\"5.75681\",\"5.76681\",\"5.77681\",\"5.78681\",\"5.79681\",\"5.80681\",\"5.81681\",\"5.82681\",\"5.83681\",\"5.84681\",\"5.85681\",\"5.86681\",\"5.87681\",\"5.88681\",\"5.89681\",\"5.90681\",\"5.91681\",\"5.92681\",\"5.93681\",\"5.94681\",\"5.95681\",\"5.96681\",\"5.97681\",\"5.98681\",\"5.99681\",\"6.00681\",\"6.01681\",\"6.02681\",\"6.03681\",\"6.04681\",\"6.05681\",\"6.06681\",\"6.07681\",\"6.08681\",\"6.09681\",\"6.10681\",\"6.11681\",\"6.12681\",\"6.13681\",\"6.14681\",\"6.15681\",\"6.16681\",\"6.17681\",\"6.18681\",\"6.19681\",\"6.20681\",\"6.21681\",\"6.22681\",\"6.23681\",\"6.24681\",\"6.25681\",\"6.26681\",\"6.27681\"],\"changes\":WebIO.getval({\"name\":\"changes\",\"scope\":\"knockout-component-c37a04b4-0615-4aee-88ba-6db78ee26adb\",\"id\":\"ob_56\",\"type\":\"observable\"}),\"index\":WebIO.getval({\"name\":\"index\",\"scope\":\"knockout-component-c37a04b4-0615-4aee-88ba-6db78ee26adb\",\"id\":\"ob_55\",\"type\":\"observable\"})};\n var self = this;\n function AppViewModel() {\n for (var key in json_data) {\n var el = json_data[key];\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\n }\n \n [this[\"formatted_val\"]=ko.computed( function(){\n return this.formatted_vals()[parseInt(this.index())-1];\n }\n,this)]\n [this[\"changes\"].subscribe((function (val){!(this.valueFromJulia[\"changes\"]) ? (WebIO.setval({\"name\":\"changes\",\"scope\":\"knockout-component-c37a04b4-0615-4aee-88ba-6db78ee26adb\",\"id\":\"ob_56\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"changes\"]=false}),self),this[\"index\"].subscribe((function (val){!(this.valueFromJulia[\"index\"]) ? (WebIO.setval({\"name\":\"index\",\"scope\":\"knockout-component-c37a04b4-0615-4aee-88ba-6db78ee26adb\",\"id\":\"ob_55\",\"type\":\"observable\"},val)) : undefined; return this.valueFromJulia[\"index\"]=false}),self)]\n \n }\n self.model = new AppViewModel();\n self.valueFromJulia = {};\n for (var key in json_data) {\n self.valueFromJulia[key] = false;\n }\n ko.applyBindings(self.model, self.dom);\n}\n);\n (WebIO.importBlock({\"data\":[{\"name\":\"knockout\",\"type\":\"js\",\"url\":\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\"},{\"name\":\"knockout_punches\",\"type\":\"js\",\"url\":\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\"}],\"type\":\"async_block\"})).then((imports) => handler.apply(this, imports));\n}\n" ], "observables": { "changes": { "id": "ob_56", "sync": false, "value": 0 }, "index": { "id": "ob_55", "sync": true, "value": 629 } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "field interact-widget" }, "type": "node" }, { "children": [ { "children": [], "instanceArgs": { "id": "ob_62", "name": "obs-node" }, "nodeType": "ObservableNode", "props": {}, "type": "node" } ], "instanceArgs": { "handlers": {}, "id": "scope-b4275c2b-0416-44a1-b75d-0ed930218411", "imports": { "data": [], "type": "async_block" }, "mount_callbacks": [], "observables": { "obs-node": { "id": "ob_62", "sync": false, "value": { "children": [ { "children": [], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "setInnerHtml": "\n\n\n \n \n \n\n\n\n \n \n \n\n\n\n \n \n \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n-2\n\n\n-1\n\n\n0\n\n\n1\n\n\n2\n\n\n-2\n\n\n-1\n\n\n0\n\n\n1\n\n\n2\n\n\nevals = [1.0, 1.0]\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n" }, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": { "className": "interact-flex-row interact-widget" }, "type": "node" } } }, "systemjs_options": null }, "nodeType": "Scope", "props": {}, "type": "node" } ], "instanceArgs": { "namespace": "html", "tag": "div" }, "nodeType": "DOM", "props": {}, "type": "node" }, "text/html": [ "\n", " \n", "\n" ], "text/plain": [ "Node{WebIO.DOM}(WebIO.DOM(:html, :div), Any[Node{DOM}(DOM(:html, :div), Any[Scope(\"knockout-component-86b94cfa-812e-48a9-9b51-d6d0694f4cff\", Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :label), Any[\"σ₁\"], Dict{Symbol,Any}(:className=>\"interact \",:style=>Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\")), 1)], Dict{Symbol,Any}(:className=>\"interact-flex-row-left\"), 2), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :input), Any[], Dict{Symbol,Any}(:max=>201,:min=>1,:attributes=>Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\"),:step=>1,:className=>\"slider slider is-fullwidth\",:style=>Dict{Any,Any}()), 0)], Dict{Symbol,Any}(:className=>\"interact-flex-row-center\"), 1), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :p), Any[], Dict{Symbol,Any}(:attributes=>Dict(\"data-bind\"=>\"text: formatted_val\")), 0)], Dict{Symbol,Any}(:className=>\"interact-flex-row-right\"), 1)], Dict{Symbol,Any}(:className=>\"interact-flex-row interact-widget\"), 7), Dict{String,Tuple{Observables.AbstractObservable,Union{Nothing, Bool}}}(\"changes\"=>(Observable{Int64} with 1 listeners. Value:\n", "0, nothing),\"index\"=>(Observable{Any} with 2 listeners. Value:\n", "101, nothing)), Set(String[]), nothing, Asset[Asset(\"js\", \"knockout\", \"/Users/edelman/.julia/packages/Knockout/JE2Yq/src/../assets/knockout.js\"), Asset(\"js\", \"knockout_punches\", \"/Users/edelman/.julia/packages/Knockout/JE2Yq/src/../assets/knockout_punches.js\"), Asset(\"js\", nothing, \"/Users/edelman/.julia/packages/InteractBase/R8JgH/src/../assets/all.js\"), Asset(\"css\", nothing, \"/Users/edelman/.julia/packages/InteractBase/R8JgH/src/../assets/style.css\"), Asset(\"css\", nothing, \"/Users/edelman/.julia/packages/Interact/0klKX/src/../assets/bulma_confined.min.css\")], Dict{Any,Any}(\"changes\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"changes\\\"]()) ? (this.valueFromJulia[\\\"changes\\\"]=true, this.model[\\\"changes\\\"](val)) : undefined})\")],\"index\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"index\\\"]()) ? (this.valueFromJulia[\\\"index\\\"]=true, this.model[\\\"index\\\"](val)) : undefined})\")]), ConnectionPool(Channel{Any}(sz_max:9223372036854775807,sz_curr:0), Set(AbstractConnection[]), Channel{AbstractConnection}(sz_max:32,sz_curr:0)), WebIO.JSString[JSString(\"function () {\\n var handler = (function (ko, koPunches) {\\n ko.punches.enableAll();\\n ko.bindingHandlers.numericValue = {\\n init : function(element, valueAccessor, allBindings, data, context) {\\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\\n stringified.subscribe(function(value) {\\n var val = parseFloat(value);\\n if (!isNaN(val)) {\\n valueAccessor()(val);\\n }\\n })\\n valueAccessor().subscribe(function(value) {\\n var str = JSON.stringify(value);\\n if ((str == \\\"0\\\") && ([\\\"-0\\\", \\\"-0.\\\"].indexOf(stringified()) >= 0))\\n return;\\n if ([\\\"null\\\", \\\"\\\"].indexOf(str) >= 0)\\n return;\\n stringified(str);\\n })\\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\\n }\\n };\\n var json_data = {\\\"formatted_vals\\\":[\\\"0.0\\\",\\\"0.01\\\",\\\"0.02\\\",\\\"0.03\\\",\\\"0.04\\\",\\\"0.05\\\",\\\"0.06\\\",\\\"0.07\\\",\\\"0.08\\\",\\\"0.09\\\",\\\"0.1\\\",\\\"0.11\\\",\\\"0.12\\\",\\\"0.13\\\",\\\"0.14\\\",\\\"0.15\\\",\\\"0.16\\\",\\\"0.17\\\",\\\"0.18\\\",\\\"0.19\\\",\\\"0.2\\\",\\\"0.21\\\",\\\"0.22\\\",\\\"0.23\\\",\\\"0.24\\\",\\\"0.25\\\",\\\"0.26\\\",\\\"0.27\\\",\\\"0.28\\\",\\\"0.29\\\",\\\"0.3\\\",\\\"0.31\\\",\\\"0.32\\\",\\\"0.33\\\",\\\"0.34\\\",\\\"0.35\\\",\\\"0.36\\\",\\\"0.37\\\",\\\"0.38\\\",\\\"0.39\\\",\\\"0.4\\\",\\\"0.41\\\",\\\"0.42\\\",\\\"0.43\\\",\\\"0.44\\\",\\\"0.45\\\",\\\"0.46\\\",\\\"0.47\\\",\\\"0.48\\\",\\\"0.49\\\",\\\"0.5\\\",\\\"0.51\\\",\\\"0.52\\\",\\\"0.53\\\",\\\"0.54\\\",\\\"0.55\\\",\\\"0.56\\\",\\\"0.57\\\",\\\"0.58\\\",\\\"0.59\\\",\\\"0.6\\\",\\\"0.61\\\",\\\"0.62\\\",\\\"0.63\\\",\\\"0.64\\\",\\\"0.65\\\",\\\"0.66\\\",\\\"0.67\\\",\\\"0.68\\\",\\\"0.69\\\",\\\"0.7\\\",\\\"0.71\\\",\\\"0.72\\\",\\\"0.73\\\",\\\"0.74\\\",\\\"0.75\\\",\\\"0.76\\\",\\\"0.77\\\",\\\"0.78\\\",\\\"0.79\\\",\\\"0.8\\\",\\\"0.81\\\",\\\"0.82\\\",\\\"0.83\\\",\\\"0.84\\\",\\\"0.85\\\",\\\"0.86\\\",\\\"0.87\\\",\\\"0.88\\\",\\\"0.89\\\",\\\"0.9\\\",\\\"0.91\\\",\\\"0.92\\\",\\\"0.93\\\",\\\"0.94\\\",\\\"0.95\\\",\\\"0.96\\\",\\\"0.97\\\",\\\"0.98\\\",\\\"0.99\\\",\\\"1.0\\\",\\\"1.01\\\",\\\"1.02\\\",\\\"1.03\\\",\\\"1.04\\\",\\\"1.05\\\",\\\"1.06\\\",\\\"1.07\\\",\\\"1.08\\\",\\\"1.09\\\",\\\"1.1\\\",\\\"1.11\\\",\\\"1.12\\\",\\\"1.13\\\",\\\"1.14\\\",\\\"1.15\\\",\\\"1.16\\\",\\\"1.17\\\",\\\"1.18\\\",\\\"1.19\\\",\\\"1.2\\\",\\\"1.21\\\",\\\"1.22\\\",\\\"1.23\\\",\\\"1.24\\\",\\\"1.25\\\",\\\"1.26\\\",\\\"1.27\\\",\\\"1.28\\\",\\\"1.29\\\",\\\"1.3\\\",\\\"1.31\\\",\\\"1.32\\\",\\\"1.33\\\",\\\"1.34\\\",\\\"1.35\\\",\\\"1.36\\\",\\\"1.37\\\",\\\"1.38\\\",\\\"1.39\\\",\\\"1.4\\\",\\\"1.41\\\",\\\"1.42\\\",\\\"1.43\\\",\\\"1.44\\\",\\\"1.45\\\",\\\"1.46\\\",\\\"1.47\\\",\\\"1.48\\\",\\\"1.49\\\",\\\"1.5\\\",\\\"1.51\\\",\\\"1.52\\\",\\\"1.53\\\",\\\"1.54\\\",\\\"1.55\\\",\\\"1.56\\\",\\\"1.57\\\",\\\"1.58\\\",\\\"1.59\\\",\\\"1.6\\\",\\\"1.61\\\",\\\"1.62\\\",\\\"1.63\\\",\\\"1.64\\\",\\\"1.65\\\",\\\"1.66\\\",\\\"1.67\\\",\\\"1.68\\\",\\\"1.69\\\",\\\"1.7\\\",\\\"1.71\\\",\\\"1.72\\\",\\\"1.73\\\",\\\"1.74\\\",\\\"1.75\\\",\\\"1.76\\\",\\\"1.77\\\",\\\"1.78\\\",\\\"1.79\\\",\\\"1.8\\\",\\\"1.81\\\",\\\"1.82\\\",\\\"1.83\\\",\\\"1.84\\\",\\\"1.85\\\",\\\"1.86\\\",\\\"1.87\\\",\\\"1.88\\\",\\\"1.89\\\",\\\"1.9\\\",\\\"1.91\\\",\\\"1.92\\\",\\\"1.93\\\",\\\"1.94\\\",\\\"1.95\\\",\\\"1.96\\\",\\\"1.97\\\",\\\"1.98\\\",\\\"1.99\\\",\\\"2.0\\\"],\\\"changes\\\":WebIO.getval({\\\"name\\\":\\\"changes\\\",\\\"scope\\\":\\\"knockout-component-86b94cfa-812e-48a9-9b51-d6d0694f4cff\\\",\\\"id\\\":\\\"ob_44\\\",\\\"type\\\":\\\"observable\\\"}),\\\"index\\\":WebIO.getval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-86b94cfa-812e-48a9-9b51-d6d0694f4cff\\\",\\\"id\\\":\\\"ob_43\\\",\\\"type\\\":\\\"observable\\\"})};\\n var self = this;\\n function AppViewModel() {\\n for (var key in json_data) {\\n var el = json_data[key];\\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\\n }\\n \\n [this[\\\"formatted_val\\\"]=ko.computed( function(){\\n return this.formatted_vals()[parseInt(this.index())-1];\\n }\\n,this)]\\n [this[\\\"changes\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"changes\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"changes\\\",\\\"scope\\\":\\\"knockout-component-86b94cfa-812e-48a9-9b51-d6d0694f4cff\\\",\\\"id\\\":\\\"ob_44\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"changes\\\"]=false}),self),this[\\\"index\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"index\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-86b94cfa-812e-48a9-9b51-d6d0694f4cff\\\",\\\"id\\\":\\\"ob_43\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"index\\\"]=false}),self)]\\n \\n }\\n self.model = new AppViewModel();\\n self.valueFromJulia = {};\\n for (var key in json_data) {\\n self.valueFromJulia[key] = false;\\n }\\n ko.applyBindings(self.model, self.dom);\\n}\\n);\\n (WebIO.importBlock({\\\"data\\\":[{\\\"name\\\":\\\"knockout\\\",\\\"type\\\":\\\"js\\\",\\\"url\\\":\\\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\\\"},{\\\"name\\\":\\\"knockout_punches\\\",\\\"type\\\":\\\"js\\\",\\\"url\\\":\\\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\\\"}],\\\"type\\\":\\\"async_block\\\"})).then((imports) => handler.apply(this, imports));\\n}\\n\")])], Dict{Symbol,Any}(:className=>\"field interact-widget\"), 1), Node{DOM}(DOM(:html, :div), Any[Scope(\"knockout-component-44316dd1-1d7a-412a-bbca-b1775f2edf06\", Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :label), Any[\"σ₂\"], Dict{Symbol,Any}(:className=>\"interact \",:style=>Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\")), 1)], Dict{Symbol,Any}(:className=>\"interact-flex-row-left\"), 2), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :input), Any[], Dict{Symbol,Any}(:max=>201,:min=>1,:attributes=>Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\"),:step=>1,:className=>\"slider slider is-fullwidth\",:style=>Dict{Any,Any}()), 0)], Dict{Symbol,Any}(:className=>\"interact-flex-row-center\"), 1), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :p), Any[], Dict{Symbol,Any}(:attributes=>Dict(\"data-bind\"=>\"text: formatted_val\")), 0)], Dict{Symbol,Any}(:className=>\"interact-flex-row-right\"), 1)], Dict{Symbol,Any}(:className=>\"interact-flex-row interact-widget\"), 7), Dict{String,Tuple{Observables.AbstractObservable,Union{Nothing, Bool}}}(\"changes\"=>(Observable{Int64} with 1 listeners. Value:\n", "0, nothing),\"index\"=>(Observable{Any} with 2 listeners. Value:\n", "101, nothing)), Set(String[]), nothing, Asset[Asset(\"js\", \"knockout\", \"/Users/edelman/.julia/packages/Knockout/JE2Yq/src/../assets/knockout.js\"), Asset(\"js\", \"knockout_punches\", \"/Users/edelman/.julia/packages/Knockout/JE2Yq/src/../assets/knockout_punches.js\"), Asset(\"js\", nothing, \"/Users/edelman/.julia/packages/InteractBase/R8JgH/src/../assets/all.js\"), Asset(\"css\", nothing, \"/Users/edelman/.julia/packages/InteractBase/R8JgH/src/../assets/style.css\"), Asset(\"css\", nothing, \"/Users/edelman/.julia/packages/Interact/0klKX/src/../assets/bulma_confined.min.css\")], Dict{Any,Any}(\"changes\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"changes\\\"]()) ? (this.valueFromJulia[\\\"changes\\\"]=true, this.model[\\\"changes\\\"](val)) : undefined})\")],\"index\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"index\\\"]()) ? (this.valueFromJulia[\\\"index\\\"]=true, this.model[\\\"index\\\"](val)) : undefined})\")]), ConnectionPool(Channel{Any}(sz_max:9223372036854775807,sz_curr:0), Set(AbstractConnection[]), Channel{AbstractConnection}(sz_max:32,sz_curr:0)), WebIO.JSString[JSString(\"function () {\\n var handler = (function (ko, koPunches) {\\n ko.punches.enableAll();\\n ko.bindingHandlers.numericValue = {\\n init : function(element, valueAccessor, allBindings, data, context) {\\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\\n stringified.subscribe(function(value) {\\n var val = parseFloat(value);\\n if (!isNaN(val)) {\\n valueAccessor()(val);\\n }\\n })\\n valueAccessor().subscribe(function(value) {\\n var str = JSON.stringify(value);\\n if ((str == \\\"0\\\") && ([\\\"-0\\\", \\\"-0.\\\"].indexOf(stringified()) >= 0))\\n return;\\n if ([\\\"null\\\", \\\"\\\"].indexOf(str) >= 0)\\n return;\\n stringified(str);\\n })\\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\\n }\\n };\\n var json_data = {\\\"formatted_vals\\\":[\\\"0.0\\\",\\\"0.01\\\",\\\"0.02\\\",\\\"0.03\\\",\\\"0.04\\\",\\\"0.05\\\",\\\"0.06\\\",\\\"0.07\\\",\\\"0.08\\\",\\\"0.09\\\",\\\"0.1\\\",\\\"0.11\\\",\\\"0.12\\\",\\\"0.13\\\",\\\"0.14\\\",\\\"0.15\\\",\\\"0.16\\\",\\\"0.17\\\",\\\"0.18\\\",\\\"0.19\\\",\\\"0.2\\\",\\\"0.21\\\",\\\"0.22\\\",\\\"0.23\\\",\\\"0.24\\\",\\\"0.25\\\",\\\"0.26\\\",\\\"0.27\\\",\\\"0.28\\\",\\\"0.29\\\",\\\"0.3\\\",\\\"0.31\\\",\\\"0.32\\\",\\\"0.33\\\",\\\"0.34\\\",\\\"0.35\\\",\\\"0.36\\\",\\\"0.37\\\",\\\"0.38\\\",\\\"0.39\\\",\\\"0.4\\\",\\\"0.41\\\",\\\"0.42\\\",\\\"0.43\\\",\\\"0.44\\\",\\\"0.45\\\",\\\"0.46\\\",\\\"0.47\\\",\\\"0.48\\\",\\\"0.49\\\",\\\"0.5\\\",\\\"0.51\\\",\\\"0.52\\\",\\\"0.53\\\",\\\"0.54\\\",\\\"0.55\\\",\\\"0.56\\\",\\\"0.57\\\",\\\"0.58\\\",\\\"0.59\\\",\\\"0.6\\\",\\\"0.61\\\",\\\"0.62\\\",\\\"0.63\\\",\\\"0.64\\\",\\\"0.65\\\",\\\"0.66\\\",\\\"0.67\\\",\\\"0.68\\\",\\\"0.69\\\",\\\"0.7\\\",\\\"0.71\\\",\\\"0.72\\\",\\\"0.73\\\",\\\"0.74\\\",\\\"0.75\\\",\\\"0.76\\\",\\\"0.77\\\",\\\"0.78\\\",\\\"0.79\\\",\\\"0.8\\\",\\\"0.81\\\",\\\"0.82\\\",\\\"0.83\\\",\\\"0.84\\\",\\\"0.85\\\",\\\"0.86\\\",\\\"0.87\\\",\\\"0.88\\\",\\\"0.89\\\",\\\"0.9\\\",\\\"0.91\\\",\\\"0.92\\\",\\\"0.93\\\",\\\"0.94\\\",\\\"0.95\\\",\\\"0.96\\\",\\\"0.97\\\",\\\"0.98\\\",\\\"0.99\\\",\\\"1.0\\\",\\\"1.01\\\",\\\"1.02\\\",\\\"1.03\\\",\\\"1.04\\\",\\\"1.05\\\",\\\"1.06\\\",\\\"1.07\\\",\\\"1.08\\\",\\\"1.09\\\",\\\"1.1\\\",\\\"1.11\\\",\\\"1.12\\\",\\\"1.13\\\",\\\"1.14\\\",\\\"1.15\\\",\\\"1.16\\\",\\\"1.17\\\",\\\"1.18\\\",\\\"1.19\\\",\\\"1.2\\\",\\\"1.21\\\",\\\"1.22\\\",\\\"1.23\\\",\\\"1.24\\\",\\\"1.25\\\",\\\"1.26\\\",\\\"1.27\\\",\\\"1.28\\\",\\\"1.29\\\",\\\"1.3\\\",\\\"1.31\\\",\\\"1.32\\\",\\\"1.33\\\",\\\"1.34\\\",\\\"1.35\\\",\\\"1.36\\\",\\\"1.37\\\",\\\"1.38\\\",\\\"1.39\\\",\\\"1.4\\\",\\\"1.41\\\",\\\"1.42\\\",\\\"1.43\\\",\\\"1.44\\\",\\\"1.45\\\",\\\"1.46\\\",\\\"1.47\\\",\\\"1.48\\\",\\\"1.49\\\",\\\"1.5\\\",\\\"1.51\\\",\\\"1.52\\\",\\\"1.53\\\",\\\"1.54\\\",\\\"1.55\\\",\\\"1.56\\\",\\\"1.57\\\",\\\"1.58\\\",\\\"1.59\\\",\\\"1.6\\\",\\\"1.61\\\",\\\"1.62\\\",\\\"1.63\\\",\\\"1.64\\\",\\\"1.65\\\",\\\"1.66\\\",\\\"1.67\\\",\\\"1.68\\\",\\\"1.69\\\",\\\"1.7\\\",\\\"1.71\\\",\\\"1.72\\\",\\\"1.73\\\",\\\"1.74\\\",\\\"1.75\\\",\\\"1.76\\\",\\\"1.77\\\",\\\"1.78\\\",\\\"1.79\\\",\\\"1.8\\\",\\\"1.81\\\",\\\"1.82\\\",\\\"1.83\\\",\\\"1.84\\\",\\\"1.85\\\",\\\"1.86\\\",\\\"1.87\\\",\\\"1.88\\\",\\\"1.89\\\",\\\"1.9\\\",\\\"1.91\\\",\\\"1.92\\\",\\\"1.93\\\",\\\"1.94\\\",\\\"1.95\\\",\\\"1.96\\\",\\\"1.97\\\",\\\"1.98\\\",\\\"1.99\\\",\\\"2.0\\\"],\\\"changes\\\":WebIO.getval({\\\"name\\\":\\\"changes\\\",\\\"scope\\\":\\\"knockout-component-44316dd1-1d7a-412a-bbca-b1775f2edf06\\\",\\\"id\\\":\\\"ob_47\\\",\\\"type\\\":\\\"observable\\\"}),\\\"index\\\":WebIO.getval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-44316dd1-1d7a-412a-bbca-b1775f2edf06\\\",\\\"id\\\":\\\"ob_46\\\",\\\"type\\\":\\\"observable\\\"})};\\n var self = this;\\n function AppViewModel() {\\n for (var key in json_data) {\\n var el = json_data[key];\\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\\n }\\n \\n [this[\\\"formatted_val\\\"]=ko.computed( function(){\\n return this.formatted_vals()[parseInt(this.index())-1];\\n }\\n,this)]\\n [this[\\\"changes\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"changes\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"changes\\\",\\\"scope\\\":\\\"knockout-component-44316dd1-1d7a-412a-bbca-b1775f2edf06\\\",\\\"id\\\":\\\"ob_47\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"changes\\\"]=false}),self),this[\\\"index\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"index\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-44316dd1-1d7a-412a-bbca-b1775f2edf06\\\",\\\"id\\\":\\\"ob_46\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"index\\\"]=false}),self)]\\n \\n }\\n self.model = new AppViewModel();\\n self.valueFromJulia = {};\\n for (var key in json_data) {\\n self.valueFromJulia[key] = false;\\n }\\n ko.applyBindings(self.model, self.dom);\\n}\\n);\\n (WebIO.importBlock({\\\"data\\\":[{\\\"name\\\":\\\"knockout\\\",\\\"type\\\":\\\"js\\\",\\\"url\\\":\\\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\\\"},{\\\"name\\\":\\\"knockout_punches\\\",\\\"type\\\":\\\"js\\\",\\\"url\\\":\\\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\\\"}],\\\"type\\\":\\\"async_block\\\"})).then((imports) => handler.apply(this, imports));\\n}\\n\")])], Dict{Symbol,Any}(:className=>\"field interact-widget\"), 1), Node{DOM}(DOM(:html, :div), Any[Scope(\"knockout-component-895d9bd1-ec8f-48b6-9f6f-9d8398dac5e4\", Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :label), Any[\"θ\"], Dict{Symbol,Any}(:className=>\"interact \",:style=>Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\")), 1)], Dict{Symbol,Any}(:className=>\"interact-flex-row-left\"), 2), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :input), Any[], Dict{Symbol,Any}(:max=>629,:min=>1,:attributes=>Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\"),:step=>1,:className=>\"slider slider is-fullwidth\",:style=>Dict{Any,Any}()), 0)], Dict{Symbol,Any}(:className=>\"interact-flex-row-center\"), 1), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :p), Any[], Dict{Symbol,Any}(:attributes=>Dict(\"data-bind\"=>\"text: formatted_val\")), 0)], Dict{Symbol,Any}(:className=>\"interact-flex-row-right\"), 1)], Dict{Symbol,Any}(:className=>\"interact-flex-row interact-widget\"), 7), Dict{String,Tuple{Observables.AbstractObservable,Union{Nothing, Bool}}}(\"changes\"=>(Observable{Int64} with 1 listeners. Value:\n", "0, nothing),\"index\"=>(Observable{Any} with 2 listeners. Value:\n", "315, nothing)), Set(String[]), nothing, Asset[Asset(\"js\", \"knockout\", \"/Users/edelman/.julia/packages/Knockout/JE2Yq/src/../assets/knockout.js\"), Asset(\"js\", \"knockout_punches\", \"/Users/edelman/.julia/packages/Knockout/JE2Yq/src/../assets/knockout_punches.js\"), Asset(\"js\", nothing, \"/Users/edelman/.julia/packages/InteractBase/R8JgH/src/../assets/all.js\"), Asset(\"css\", nothing, \"/Users/edelman/.julia/packages/InteractBase/R8JgH/src/../assets/style.css\"), Asset(\"css\", nothing, \"/Users/edelman/.julia/packages/Interact/0klKX/src/../assets/bulma_confined.min.css\")], Dict{Any,Any}(\"changes\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"changes\\\"]()) ? (this.valueFromJulia[\\\"changes\\\"]=true, this.model[\\\"changes\\\"](val)) : undefined})\")],\"index\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"index\\\"]()) ? (this.valueFromJulia[\\\"index\\\"]=true, this.model[\\\"index\\\"](val)) : undefined})\")]), ConnectionPool(Channel{Any}(sz_max:9223372036854775807,sz_curr:0), Set(AbstractConnection[]), Channel{AbstractConnection}(sz_max:32,sz_curr:0)), WebIO.JSString[JSString(\"function () {\\n var handler = (function (ko, koPunches) {\\n ko.punches.enableAll();\\n ko.bindingHandlers.numericValue = {\\n init : function(element, valueAccessor, allBindings, data, context) {\\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\\n stringified.subscribe(function(value) {\\n var val = parseFloat(value);\\n if (!isNaN(val)) {\\n valueAccessor()(val);\\n }\\n })\\n valueAccessor().subscribe(function(value) {\\n var str = JSON.stringify(value);\\n if ((str == \\\"0\\\") && ([\\\"-0\\\", \\\"-0.\\\"].indexOf(stringified()) >= 0))\\n return;\\n if ([\\\"null\\\", \\\"\\\"].indexOf(str) >= 0)\\n return;\\n stringified(str);\\n })\\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\\n }\\n };\\n var json_data = {\\\"formatted_vals\\\":[\\\"0.0\\\",\\\"0.01\\\",\\\"0.02\\\",\\\"0.03\\\",\\\"0.04\\\",\\\"0.05\\\",\\\"0.06\\\",\\\"0.07\\\",\\\"0.08\\\",\\\"0.09\\\",\\\"0.1\\\",\\\"0.11\\\",\\\"0.12\\\",\\\"0.13\\\",\\\"0.14\\\",\\\"0.15\\\",\\\"0.16\\\",\\\"0.17\\\",\\\"0.18\\\",\\\"0.19\\\",\\\"0.2\\\",\\\"0.21\\\",\\\"0.22\\\",\\\"0.23\\\",\\\"0.24\\\",\\\"0.25\\\",\\\"0.26\\\",\\\"0.27\\\",\\\"0.28\\\",\\\"0.29\\\",\\\"0.3\\\",\\\"0.31\\\",\\\"0.32\\\",\\\"0.33\\\",\\\"0.34\\\",\\\"0.35\\\",\\\"0.36\\\",\\\"0.37\\\",\\\"0.38\\\",\\\"0.39\\\",\\\"0.4\\\",\\\"0.41\\\",\\\"0.42\\\",\\\"0.43\\\",\\\"0.44\\\",\\\"0.45\\\",\\\"0.46\\\",\\\"0.47\\\",\\\"0.48\\\",\\\"0.49\\\",\\\"0.5\\\",\\\"0.51\\\",\\\"0.52\\\",\\\"0.53\\\",\\\"0.54\\\",\\\"0.55\\\",\\\"0.56\\\",\\\"0.57\\\",\\\"0.58\\\",\\\"0.59\\\",\\\"0.6\\\",\\\"0.61\\\",\\\"0.62\\\",\\\"0.63\\\",\\\"0.64\\\",\\\"0.65\\\",\\\"0.66\\\",\\\"0.67\\\",\\\"0.68\\\",\\\"0.69\\\",\\\"0.7\\\",\\\"0.71\\\",\\\"0.72\\\",\\\"0.73\\\",\\\"0.74\\\",\\\"0.75\\\",\\\"0.76\\\",\\\"0.77\\\",\\\"0.78\\\",\\\"0.79\\\",\\\"0.8\\\",\\\"0.81\\\",\\\"0.82\\\",\\\"0.83\\\",\\\"0.84\\\",\\\"0.85\\\",\\\"0.86\\\",\\\"0.87\\\",\\\"0.88\\\",\\\"0.89\\\",\\\"0.9\\\",\\\"0.91\\\",\\\"0.92\\\",\\\"0.93\\\",\\\"0.94\\\",\\\"0.95\\\",\\\"0.96\\\",\\\"0.97\\\",\\\"0.98\\\",\\\"0.99\\\",\\\"1.0\\\",\\\"1.01\\\",\\\"1.02\\\",\\\"1.03\\\",\\\"1.04\\\",\\\"1.05\\\",\\\"1.06\\\",\\\"1.07\\\",\\\"1.08\\\",\\\"1.09\\\",\\\"1.1\\\",\\\"1.11\\\",\\\"1.12\\\",\\\"1.13\\\",\\\"1.14\\\",\\\"1.15\\\",\\\"1.16\\\",\\\"1.17\\\",\\\"1.18\\\",\\\"1.19\\\",\\\"1.2\\\",\\\"1.21\\\",\\\"1.22\\\",\\\"1.23\\\",\\\"1.24\\\",\\\"1.25\\\",\\\"1.26\\\",\\\"1.27\\\",\\\"1.28\\\",\\\"1.29\\\",\\\"1.3\\\",\\\"1.31\\\",\\\"1.32\\\",\\\"1.33\\\",\\\"1.34\\\",\\\"1.35\\\",\\\"1.36\\\",\\\"1.37\\\",\\\"1.38\\\",\\\"1.39\\\",\\\"1.4\\\",\\\"1.41\\\",\\\"1.42\\\",\\\"1.43\\\",\\\"1.44\\\",\\\"1.45\\\",\\\"1.46\\\",\\\"1.47\\\",\\\"1.48\\\",\\\"1.49\\\",\\\"1.5\\\",\\\"1.51\\\",\\\"1.52\\\",\\\"1.53\\\",\\\"1.54\\\",\\\"1.55\\\",\\\"1.56\\\",\\\"1.57\\\",\\\"1.58\\\",\\\"1.59\\\",\\\"1.6\\\",\\\"1.61\\\",\\\"1.62\\\",\\\"1.63\\\",\\\"1.64\\\",\\\"1.65\\\",\\\"1.66\\\",\\\"1.67\\\",\\\"1.68\\\",\\\"1.69\\\",\\\"1.7\\\",\\\"1.71\\\",\\\"1.72\\\",\\\"1.73\\\",\\\"1.74\\\",\\\"1.75\\\",\\\"1.76\\\",\\\"1.77\\\",\\\"1.78\\\",\\\"1.79\\\",\\\"1.8\\\",\\\"1.81\\\",\\\"1.82\\\",\\\"1.83\\\",\\\"1.84\\\",\\\"1.85\\\",\\\"1.86\\\",\\\"1.87\\\",\\\"1.88\\\",\\\"1.89\\\",\\\"1.9\\\",\\\"1.91\\\",\\\"1.92\\\",\\\"1.93\\\",\\\"1.94\\\",\\\"1.95\\\",\\\"1.96\\\",\\\"1.97\\\",\\\"1.98\\\",\\\"1.99\\\",\\\"2.0\\\",\\\"2.01\\\",\\\"2.02\\\",\\\"2.03\\\",\\\"2.04\\\",\\\"2.05\\\",\\\"2.06\\\",\\\"2.07\\\",\\\"2.08\\\",\\\"2.09\\\",\\\"2.1\\\",\\\"2.11\\\",\\\"2.12\\\",\\\"2.13\\\",\\\"2.14\\\",\\\"2.15\\\",\\\"2.16\\\",\\\"2.17\\\",\\\"2.18\\\",\\\"2.19\\\",\\\"2.2\\\",\\\"2.21\\\",\\\"2.22\\\",\\\"2.23\\\",\\\"2.24\\\",\\\"2.25\\\",\\\"2.26\\\",\\\"2.27\\\",\\\"2.28\\\",\\\"2.29\\\",\\\"2.3\\\",\\\"2.31\\\",\\\"2.32\\\",\\\"2.33\\\",\\\"2.34\\\",\\\"2.35\\\",\\\"2.36\\\",\\\"2.37\\\",\\\"2.38\\\",\\\"2.39\\\",\\\"2.4\\\",\\\"2.41\\\",\\\"2.42\\\",\\\"2.43\\\",\\\"2.44\\\",\\\"2.45\\\",\\\"2.46\\\",\\\"2.47\\\",\\\"2.48\\\",\\\"2.49\\\",\\\"2.5\\\",\\\"2.51\\\",\\\"2.52\\\",\\\"2.53\\\",\\\"2.54\\\",\\\"2.55\\\",\\\"2.56\\\",\\\"2.57\\\",\\\"2.58\\\",\\\"2.59\\\",\\\"2.6\\\",\\\"2.61\\\",\\\"2.62\\\",\\\"2.63\\\",\\\"2.64\\\",\\\"2.65\\\",\\\"2.66\\\",\\\"2.67\\\",\\\"2.68\\\",\\\"2.69\\\",\\\"2.7\\\",\\\"2.71\\\",\\\"2.72\\\",\\\"2.73\\\",\\\"2.74\\\",\\\"2.75\\\",\\\"2.76\\\",\\\"2.77\\\",\\\"2.78\\\",\\\"2.79\\\",\\\"2.8\\\",\\\"2.81\\\",\\\"2.82\\\",\\\"2.83\\\",\\\"2.84\\\",\\\"2.85\\\",\\\"2.86\\\",\\\"2.87\\\",\\\"2.88\\\",\\\"2.89\\\",\\\"2.9\\\",\\\"2.91\\\",\\\"2.92\\\",\\\"2.93\\\",\\\"2.94\\\",\\\"2.95\\\",\\\"2.96\\\",\\\"2.97\\\",\\\"2.98\\\",\\\"2.99\\\",\\\"3.0\\\",\\\"3.01\\\",\\\"3.02\\\",\\\"3.03\\\",\\\"3.04\\\",\\\"3.05\\\",\\\"3.06\\\",\\\"3.07\\\",\\\"3.08\\\",\\\"3.09\\\",\\\"3.1\\\",\\\"3.11\\\",\\\"3.12\\\",\\\"3.13\\\",\\\"3.14\\\",\\\"3.15\\\",\\\"3.16\\\",\\\"3.17\\\",\\\"3.18\\\",\\\"3.19\\\",\\\"3.2\\\",\\\"3.21\\\",\\\"3.22\\\",\\\"3.23\\\",\\\"3.24\\\",\\\"3.25\\\",\\\"3.26\\\",\\\"3.27\\\",\\\"3.28\\\",\\\"3.29\\\",\\\"3.3\\\",\\\"3.31\\\",\\\"3.32\\\",\\\"3.33\\\",\\\"3.34\\\",\\\"3.35\\\",\\\"3.36\\\",\\\"3.37\\\",\\\"3.38\\\",\\\"3.39\\\",\\\"3.4\\\",\\\"3.41\\\",\\\"3.42\\\",\\\"3.43\\\",\\\"3.44\\\",\\\"3.45\\\",\\\"3.46\\\",\\\"3.47\\\",\\\"3.48\\\",\\\"3.49\\\",\\\"3.5\\\",\\\"3.51\\\",\\\"3.52\\\",\\\"3.53\\\",\\\"3.54\\\",\\\"3.55\\\",\\\"3.56\\\",\\\"3.57\\\",\\\"3.58\\\",\\\"3.59\\\",\\\"3.6\\\",\\\"3.61\\\",\\\"3.62\\\",\\\"3.63\\\",\\\"3.64\\\",\\\"3.65\\\",\\\"3.66\\\",\\\"3.67\\\",\\\"3.68\\\",\\\"3.69\\\",\\\"3.7\\\",\\\"3.71\\\",\\\"3.72\\\",\\\"3.73\\\",\\\"3.74\\\",\\\"3.75\\\",\\\"3.76\\\",\\\"3.77\\\",\\\"3.78\\\",\\\"3.79\\\",\\\"3.8\\\",\\\"3.81\\\",\\\"3.82\\\",\\\"3.83\\\",\\\"3.84\\\",\\\"3.85\\\",\\\"3.86\\\",\\\"3.87\\\",\\\"3.88\\\",\\\"3.89\\\",\\\"3.9\\\",\\\"3.91\\\",\\\"3.92\\\",\\\"3.93\\\",\\\"3.94\\\",\\\"3.95\\\",\\\"3.96\\\",\\\"3.97\\\",\\\"3.98\\\",\\\"3.99\\\",\\\"4.0\\\",\\\"4.01\\\",\\\"4.02\\\",\\\"4.03\\\",\\\"4.04\\\",\\\"4.05\\\",\\\"4.06\\\",\\\"4.07\\\",\\\"4.08\\\",\\\"4.09\\\",\\\"4.1\\\",\\\"4.11\\\",\\\"4.12\\\",\\\"4.13\\\",\\\"4.14\\\",\\\"4.15\\\",\\\"4.16\\\",\\\"4.17\\\",\\\"4.18\\\",\\\"4.19\\\",\\\"4.2\\\",\\\"4.21\\\",\\\"4.22\\\",\\\"4.23\\\",\\\"4.24\\\",\\\"4.25\\\",\\\"4.26\\\",\\\"4.27\\\",\\\"4.28\\\",\\\"4.29\\\",\\\"4.3\\\",\\\"4.31\\\",\\\"4.32\\\",\\\"4.33\\\",\\\"4.34\\\",\\\"4.35\\\",\\\"4.36\\\",\\\"4.37\\\",\\\"4.38\\\",\\\"4.39\\\",\\\"4.4\\\",\\\"4.41\\\",\\\"4.42\\\",\\\"4.43\\\",\\\"4.44\\\",\\\"4.45\\\",\\\"4.46\\\",\\\"4.47\\\",\\\"4.48\\\",\\\"4.49\\\",\\\"4.5\\\",\\\"4.51\\\",\\\"4.52\\\",\\\"4.53\\\",\\\"4.54\\\",\\\"4.55\\\",\\\"4.56\\\",\\\"4.57\\\",\\\"4.58\\\",\\\"4.59\\\",\\\"4.6\\\",\\\"4.61\\\",\\\"4.62\\\",\\\"4.63\\\",\\\"4.64\\\",\\\"4.65\\\",\\\"4.66\\\",\\\"4.67\\\",\\\"4.68\\\",\\\"4.69\\\",\\\"4.7\\\",\\\"4.71\\\",\\\"4.72\\\",\\\"4.73\\\",\\\"4.74\\\",\\\"4.75\\\",\\\"4.76\\\",\\\"4.77\\\",\\\"4.78\\\",\\\"4.79\\\",\\\"4.8\\\",\\\"4.81\\\",\\\"4.82\\\",\\\"4.83\\\",\\\"4.84\\\",\\\"4.85\\\",\\\"4.86\\\",\\\"4.87\\\",\\\"4.88\\\",\\\"4.89\\\",\\\"4.9\\\",\\\"4.91\\\",\\\"4.92\\\",\\\"4.93\\\",\\\"4.94\\\",\\\"4.95\\\",\\\"4.96\\\",\\\"4.97\\\",\\\"4.98\\\",\\\"4.99\\\",\\\"5.0\\\",\\\"5.01\\\",\\\"5.02\\\",\\\"5.03\\\",\\\"5.04\\\",\\\"5.05\\\",\\\"5.06\\\",\\\"5.07\\\",\\\"5.08\\\",\\\"5.09\\\",\\\"5.1\\\",\\\"5.11\\\",\\\"5.12\\\",\\\"5.13\\\",\\\"5.14\\\",\\\"5.15\\\",\\\"5.16\\\",\\\"5.17\\\",\\\"5.18\\\",\\\"5.19\\\",\\\"5.2\\\",\\\"5.21\\\",\\\"5.22\\\",\\\"5.23\\\",\\\"5.24\\\",\\\"5.25\\\",\\\"5.26\\\",\\\"5.27\\\",\\\"5.28\\\",\\\"5.29\\\",\\\"5.3\\\",\\\"5.31\\\",\\\"5.32\\\",\\\"5.33\\\",\\\"5.34\\\",\\\"5.35\\\",\\\"5.36\\\",\\\"5.37\\\",\\\"5.38\\\",\\\"5.39\\\",\\\"5.4\\\",\\\"5.41\\\",\\\"5.42\\\",\\\"5.43\\\",\\\"5.44\\\",\\\"5.45\\\",\\\"5.46\\\",\\\"5.47\\\",\\\"5.48\\\",\\\"5.49\\\",\\\"5.5\\\",\\\"5.51\\\",\\\"5.52\\\",\\\"5.53\\\",\\\"5.54\\\",\\\"5.55\\\",\\\"5.56\\\",\\\"5.57\\\",\\\"5.58\\\",\\\"5.59\\\",\\\"5.6\\\",\\\"5.61\\\",\\\"5.62\\\",\\\"5.63\\\",\\\"5.64\\\",\\\"5.65\\\",\\\"5.66\\\",\\\"5.67\\\",\\\"5.68\\\",\\\"5.69\\\",\\\"5.7\\\",\\\"5.71\\\",\\\"5.72\\\",\\\"5.73\\\",\\\"5.74\\\",\\\"5.75\\\",\\\"5.76\\\",\\\"5.77\\\",\\\"5.78\\\",\\\"5.79\\\",\\\"5.8\\\",\\\"5.81\\\",\\\"5.82\\\",\\\"5.83\\\",\\\"5.84\\\",\\\"5.85\\\",\\\"5.86\\\",\\\"5.87\\\",\\\"5.88\\\",\\\"5.89\\\",\\\"5.9\\\",\\\"5.91\\\",\\\"5.92\\\",\\\"5.93\\\",\\\"5.94\\\",\\\"5.95\\\",\\\"5.96\\\",\\\"5.97\\\",\\\"5.98\\\",\\\"5.99\\\",\\\"6.0\\\",\\\"6.01\\\",\\\"6.02\\\",\\\"6.03\\\",\\\"6.04\\\",\\\"6.05\\\",\\\"6.06\\\",\\\"6.07\\\",\\\"6.08\\\",\\\"6.09\\\",\\\"6.1\\\",\\\"6.11\\\",\\\"6.12\\\",\\\"6.13\\\",\\\"6.14\\\",\\\"6.15\\\",\\\"6.16\\\",\\\"6.17\\\",\\\"6.18\\\",\\\"6.19\\\",\\\"6.2\\\",\\\"6.21\\\",\\\"6.22\\\",\\\"6.23\\\",\\\"6.24\\\",\\\"6.25\\\",\\\"6.26\\\",\\\"6.27\\\",\\\"6.28\\\"],\\\"changes\\\":WebIO.getval({\\\"name\\\":\\\"changes\\\",\\\"scope\\\":\\\"knockout-component-895d9bd1-ec8f-48b6-9f6f-9d8398dac5e4\\\",\\\"id\\\":\\\"ob_50\\\",\\\"type\\\":\\\"observable\\\"}),\\\"index\\\":WebIO.getval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-895d9bd1-ec8f-48b6-9f6f-9d8398dac5e4\\\",\\\"id\\\":\\\"ob_49\\\",\\\"type\\\":\\\"observable\\\"})};\\n var self = this;\\n function AppViewModel() {\\n for (var key in json_data) {\\n var el = json_data[key];\\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\\n }\\n \\n [this[\\\"formatted_val\\\"]=ko.computed( function(){\\n return this.formatted_vals()[parseInt(this.index())-1];\\n }\\n,this)]\\n [this[\\\"changes\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"changes\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"changes\\\",\\\"scope\\\":\\\"knockout-component-895d9bd1-ec8f-48b6-9f6f-9d8398dac5e4\\\",\\\"id\\\":\\\"ob_50\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"changes\\\"]=false}),self),this[\\\"index\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"index\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-895d9bd1-ec8f-48b6-9f6f-9d8398dac5e4\\\",\\\"id\\\":\\\"ob_49\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"index\\\"]=false}),self)]\\n \\n }\\n self.model = new AppViewModel();\\n self.valueFromJulia = {};\\n for (var key in json_data) {\\n self.valueFromJulia[key] = false;\\n }\\n ko.applyBindings(self.model, self.dom);\\n}\\n);\\n (WebIO.importBlock({\\\"data\\\":[{\\\"name\\\":\\\"knockout\\\",\\\"type\\\":\\\"js\\\",\\\"url\\\":\\\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\\\"},{\\\"name\\\":\\\"knockout_punches\\\",\\\"type\\\":\\\"js\\\",\\\"url\\\":\\\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\\\"}],\\\"type\\\":\\\"async_block\\\"})).then((imports) => handler.apply(this, imports));\\n}\\n\")])], Dict{Symbol,Any}(:className=>\"field interact-widget\"), 1), Node{DOM}(DOM(:html, :div), Any[Scope(\"knockout-component-7f597404-8eca-4321-bfe3-e01dc7aa370a\", Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :label), Any[\"ϕ\"], Dict{Symbol,Any}(:className=>\"interact \",:style=>Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\")), 1)], Dict{Symbol,Any}(:className=>\"interact-flex-row-left\"), 2), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :input), Any[], Dict{Symbol,Any}(:max=>629,:min=>1,:attributes=>Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\"),:step=>1,:className=>\"slider slider is-fullwidth\",:style=>Dict{Any,Any}()), 0)], Dict{Symbol,Any}(:className=>\"interact-flex-row-center\"), 1), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :p), Any[], Dict{Symbol,Any}(:attributes=>Dict(\"data-bind\"=>\"text: formatted_val\")), 0)], Dict{Symbol,Any}(:className=>\"interact-flex-row-right\"), 1)], Dict{Symbol,Any}(:className=>\"interact-flex-row interact-widget\"), 7), Dict{String,Tuple{Observables.AbstractObservable,Union{Nothing, Bool}}}(\"changes\"=>(Observable{Int64} with 1 listeners. Value:\n", "0, nothing),\"index\"=>(Observable{Any} with 2 listeners. Value:\n", "315, nothing)), Set(String[]), nothing, Asset[Asset(\"js\", \"knockout\", \"/Users/edelman/.julia/packages/Knockout/JE2Yq/src/../assets/knockout.js\"), Asset(\"js\", \"knockout_punches\", \"/Users/edelman/.julia/packages/Knockout/JE2Yq/src/../assets/knockout_punches.js\"), Asset(\"js\", nothing, \"/Users/edelman/.julia/packages/InteractBase/R8JgH/src/../assets/all.js\"), Asset(\"css\", nothing, \"/Users/edelman/.julia/packages/InteractBase/R8JgH/src/../assets/style.css\"), Asset(\"css\", nothing, \"/Users/edelman/.julia/packages/Interact/0klKX/src/../assets/bulma_confined.min.css\")], Dict{Any,Any}(\"changes\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"changes\\\"]()) ? (this.valueFromJulia[\\\"changes\\\"]=true, this.model[\\\"changes\\\"](val)) : undefined})\")],\"index\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"index\\\"]()) ? (this.valueFromJulia[\\\"index\\\"]=true, this.model[\\\"index\\\"](val)) : undefined})\")]), ConnectionPool(Channel{Any}(sz_max:9223372036854775807,sz_curr:0), Set(AbstractConnection[]), Channel{AbstractConnection}(sz_max:32,sz_curr:0)), WebIO.JSString[JSString(\"function () {\\n var handler = (function (ko, koPunches) {\\n ko.punches.enableAll();\\n ko.bindingHandlers.numericValue = {\\n init : function(element, valueAccessor, allBindings, data, context) {\\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\\n stringified.subscribe(function(value) {\\n var val = parseFloat(value);\\n if (!isNaN(val)) {\\n valueAccessor()(val);\\n }\\n })\\n valueAccessor().subscribe(function(value) {\\n var str = JSON.stringify(value);\\n if ((str == \\\"0\\\") && ([\\\"-0\\\", \\\"-0.\\\"].indexOf(stringified()) >= 0))\\n return;\\n if ([\\\"null\\\", \\\"\\\"].indexOf(str) >= 0)\\n return;\\n stringified(str);\\n })\\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\\n }\\n };\\n var json_data = {\\\"formatted_vals\\\":[\\\"0.0\\\",\\\"0.01\\\",\\\"0.02\\\",\\\"0.03\\\",\\\"0.04\\\",\\\"0.05\\\",\\\"0.06\\\",\\\"0.07\\\",\\\"0.08\\\",\\\"0.09\\\",\\\"0.1\\\",\\\"0.11\\\",\\\"0.12\\\",\\\"0.13\\\",\\\"0.14\\\",\\\"0.15\\\",\\\"0.16\\\",\\\"0.17\\\",\\\"0.18\\\",\\\"0.19\\\",\\\"0.2\\\",\\\"0.21\\\",\\\"0.22\\\",\\\"0.23\\\",\\\"0.24\\\",\\\"0.25\\\",\\\"0.26\\\",\\\"0.27\\\",\\\"0.28\\\",\\\"0.29\\\",\\\"0.3\\\",\\\"0.31\\\",\\\"0.32\\\",\\\"0.33\\\",\\\"0.34\\\",\\\"0.35\\\",\\\"0.36\\\",\\\"0.37\\\",\\\"0.38\\\",\\\"0.39\\\",\\\"0.4\\\",\\\"0.41\\\",\\\"0.42\\\",\\\"0.43\\\",\\\"0.44\\\",\\\"0.45\\\",\\\"0.46\\\",\\\"0.47\\\",\\\"0.48\\\",\\\"0.49\\\",\\\"0.5\\\",\\\"0.51\\\",\\\"0.52\\\",\\\"0.53\\\",\\\"0.54\\\",\\\"0.55\\\",\\\"0.56\\\",\\\"0.57\\\",\\\"0.58\\\",\\\"0.59\\\",\\\"0.6\\\",\\\"0.61\\\",\\\"0.62\\\",\\\"0.63\\\",\\\"0.64\\\",\\\"0.65\\\",\\\"0.66\\\",\\\"0.67\\\",\\\"0.68\\\",\\\"0.69\\\",\\\"0.7\\\",\\\"0.71\\\",\\\"0.72\\\",\\\"0.73\\\",\\\"0.74\\\",\\\"0.75\\\",\\\"0.76\\\",\\\"0.77\\\",\\\"0.78\\\",\\\"0.79\\\",\\\"0.8\\\",\\\"0.81\\\",\\\"0.82\\\",\\\"0.83\\\",\\\"0.84\\\",\\\"0.85\\\",\\\"0.86\\\",\\\"0.87\\\",\\\"0.88\\\",\\\"0.89\\\",\\\"0.9\\\",\\\"0.91\\\",\\\"0.92\\\",\\\"0.93\\\",\\\"0.94\\\",\\\"0.95\\\",\\\"0.96\\\",\\\"0.97\\\",\\\"0.98\\\",\\\"0.99\\\",\\\"1.0\\\",\\\"1.01\\\",\\\"1.02\\\",\\\"1.03\\\",\\\"1.04\\\",\\\"1.05\\\",\\\"1.06\\\",\\\"1.07\\\",\\\"1.08\\\",\\\"1.09\\\",\\\"1.1\\\",\\\"1.11\\\",\\\"1.12\\\",\\\"1.13\\\",\\\"1.14\\\",\\\"1.15\\\",\\\"1.16\\\",\\\"1.17\\\",\\\"1.18\\\",\\\"1.19\\\",\\\"1.2\\\",\\\"1.21\\\",\\\"1.22\\\",\\\"1.23\\\",\\\"1.24\\\",\\\"1.25\\\",\\\"1.26\\\",\\\"1.27\\\",\\\"1.28\\\",\\\"1.29\\\",\\\"1.3\\\",\\\"1.31\\\",\\\"1.32\\\",\\\"1.33\\\",\\\"1.34\\\",\\\"1.35\\\",\\\"1.36\\\",\\\"1.37\\\",\\\"1.38\\\",\\\"1.39\\\",\\\"1.4\\\",\\\"1.41\\\",\\\"1.42\\\",\\\"1.43\\\",\\\"1.44\\\",\\\"1.45\\\",\\\"1.46\\\",\\\"1.47\\\",\\\"1.48\\\",\\\"1.49\\\",\\\"1.5\\\",\\\"1.51\\\",\\\"1.52\\\",\\\"1.53\\\",\\\"1.54\\\",\\\"1.55\\\",\\\"1.56\\\",\\\"1.57\\\",\\\"1.58\\\",\\\"1.59\\\",\\\"1.6\\\",\\\"1.61\\\",\\\"1.62\\\",\\\"1.63\\\",\\\"1.64\\\",\\\"1.65\\\",\\\"1.66\\\",\\\"1.67\\\",\\\"1.68\\\",\\\"1.69\\\",\\\"1.7\\\",\\\"1.71\\\",\\\"1.72\\\",\\\"1.73\\\",\\\"1.74\\\",\\\"1.75\\\",\\\"1.76\\\",\\\"1.77\\\",\\\"1.78\\\",\\\"1.79\\\",\\\"1.8\\\",\\\"1.81\\\",\\\"1.82\\\",\\\"1.83\\\",\\\"1.84\\\",\\\"1.85\\\",\\\"1.86\\\",\\\"1.87\\\",\\\"1.88\\\",\\\"1.89\\\",\\\"1.9\\\",\\\"1.91\\\",\\\"1.92\\\",\\\"1.93\\\",\\\"1.94\\\",\\\"1.95\\\",\\\"1.96\\\",\\\"1.97\\\",\\\"1.98\\\",\\\"1.99\\\",\\\"2.0\\\",\\\"2.01\\\",\\\"2.02\\\",\\\"2.03\\\",\\\"2.04\\\",\\\"2.05\\\",\\\"2.06\\\",\\\"2.07\\\",\\\"2.08\\\",\\\"2.09\\\",\\\"2.1\\\",\\\"2.11\\\",\\\"2.12\\\",\\\"2.13\\\",\\\"2.14\\\",\\\"2.15\\\",\\\"2.16\\\",\\\"2.17\\\",\\\"2.18\\\",\\\"2.19\\\",\\\"2.2\\\",\\\"2.21\\\",\\\"2.22\\\",\\\"2.23\\\",\\\"2.24\\\",\\\"2.25\\\",\\\"2.26\\\",\\\"2.27\\\",\\\"2.28\\\",\\\"2.29\\\",\\\"2.3\\\",\\\"2.31\\\",\\\"2.32\\\",\\\"2.33\\\",\\\"2.34\\\",\\\"2.35\\\",\\\"2.36\\\",\\\"2.37\\\",\\\"2.38\\\",\\\"2.39\\\",\\\"2.4\\\",\\\"2.41\\\",\\\"2.42\\\",\\\"2.43\\\",\\\"2.44\\\",\\\"2.45\\\",\\\"2.46\\\",\\\"2.47\\\",\\\"2.48\\\",\\\"2.49\\\",\\\"2.5\\\",\\\"2.51\\\",\\\"2.52\\\",\\\"2.53\\\",\\\"2.54\\\",\\\"2.55\\\",\\\"2.56\\\",\\\"2.57\\\",\\\"2.58\\\",\\\"2.59\\\",\\\"2.6\\\",\\\"2.61\\\",\\\"2.62\\\",\\\"2.63\\\",\\\"2.64\\\",\\\"2.65\\\",\\\"2.66\\\",\\\"2.67\\\",\\\"2.68\\\",\\\"2.69\\\",\\\"2.7\\\",\\\"2.71\\\",\\\"2.72\\\",\\\"2.73\\\",\\\"2.74\\\",\\\"2.75\\\",\\\"2.76\\\",\\\"2.77\\\",\\\"2.78\\\",\\\"2.79\\\",\\\"2.8\\\",\\\"2.81\\\",\\\"2.82\\\",\\\"2.83\\\",\\\"2.84\\\",\\\"2.85\\\",\\\"2.86\\\",\\\"2.87\\\",\\\"2.88\\\",\\\"2.89\\\",\\\"2.9\\\",\\\"2.91\\\",\\\"2.92\\\",\\\"2.93\\\",\\\"2.94\\\",\\\"2.95\\\",\\\"2.96\\\",\\\"2.97\\\",\\\"2.98\\\",\\\"2.99\\\",\\\"3.0\\\",\\\"3.01\\\",\\\"3.02\\\",\\\"3.03\\\",\\\"3.04\\\",\\\"3.05\\\",\\\"3.06\\\",\\\"3.07\\\",\\\"3.08\\\",\\\"3.09\\\",\\\"3.1\\\",\\\"3.11\\\",\\\"3.12\\\",\\\"3.13\\\",\\\"3.14\\\",\\\"3.15\\\",\\\"3.16\\\",\\\"3.17\\\",\\\"3.18\\\",\\\"3.19\\\",\\\"3.2\\\",\\\"3.21\\\",\\\"3.22\\\",\\\"3.23\\\",\\\"3.24\\\",\\\"3.25\\\",\\\"3.26\\\",\\\"3.27\\\",\\\"3.28\\\",\\\"3.29\\\",\\\"3.3\\\",\\\"3.31\\\",\\\"3.32\\\",\\\"3.33\\\",\\\"3.34\\\",\\\"3.35\\\",\\\"3.36\\\",\\\"3.37\\\",\\\"3.38\\\",\\\"3.39\\\",\\\"3.4\\\",\\\"3.41\\\",\\\"3.42\\\",\\\"3.43\\\",\\\"3.44\\\",\\\"3.45\\\",\\\"3.46\\\",\\\"3.47\\\",\\\"3.48\\\",\\\"3.49\\\",\\\"3.5\\\",\\\"3.51\\\",\\\"3.52\\\",\\\"3.53\\\",\\\"3.54\\\",\\\"3.55\\\",\\\"3.56\\\",\\\"3.57\\\",\\\"3.58\\\",\\\"3.59\\\",\\\"3.6\\\",\\\"3.61\\\",\\\"3.62\\\",\\\"3.63\\\",\\\"3.64\\\",\\\"3.65\\\",\\\"3.66\\\",\\\"3.67\\\",\\\"3.68\\\",\\\"3.69\\\",\\\"3.7\\\",\\\"3.71\\\",\\\"3.72\\\",\\\"3.73\\\",\\\"3.74\\\",\\\"3.75\\\",\\\"3.76\\\",\\\"3.77\\\",\\\"3.78\\\",\\\"3.79\\\",\\\"3.8\\\",\\\"3.81\\\",\\\"3.82\\\",\\\"3.83\\\",\\\"3.84\\\",\\\"3.85\\\",\\\"3.86\\\",\\\"3.87\\\",\\\"3.88\\\",\\\"3.89\\\",\\\"3.9\\\",\\\"3.91\\\",\\\"3.92\\\",\\\"3.93\\\",\\\"3.94\\\",\\\"3.95\\\",\\\"3.96\\\",\\\"3.97\\\",\\\"3.98\\\",\\\"3.99\\\",\\\"4.0\\\",\\\"4.01\\\",\\\"4.02\\\",\\\"4.03\\\",\\\"4.04\\\",\\\"4.05\\\",\\\"4.06\\\",\\\"4.07\\\",\\\"4.08\\\",\\\"4.09\\\",\\\"4.1\\\",\\\"4.11\\\",\\\"4.12\\\",\\\"4.13\\\",\\\"4.14\\\",\\\"4.15\\\",\\\"4.16\\\",\\\"4.17\\\",\\\"4.18\\\",\\\"4.19\\\",\\\"4.2\\\",\\\"4.21\\\",\\\"4.22\\\",\\\"4.23\\\",\\\"4.24\\\",\\\"4.25\\\",\\\"4.26\\\",\\\"4.27\\\",\\\"4.28\\\",\\\"4.29\\\",\\\"4.3\\\",\\\"4.31\\\",\\\"4.32\\\",\\\"4.33\\\",\\\"4.34\\\",\\\"4.35\\\",\\\"4.36\\\",\\\"4.37\\\",\\\"4.38\\\",\\\"4.39\\\",\\\"4.4\\\",\\\"4.41\\\",\\\"4.42\\\",\\\"4.43\\\",\\\"4.44\\\",\\\"4.45\\\",\\\"4.46\\\",\\\"4.47\\\",\\\"4.48\\\",\\\"4.49\\\",\\\"4.5\\\",\\\"4.51\\\",\\\"4.52\\\",\\\"4.53\\\",\\\"4.54\\\",\\\"4.55\\\",\\\"4.56\\\",\\\"4.57\\\",\\\"4.58\\\",\\\"4.59\\\",\\\"4.6\\\",\\\"4.61\\\",\\\"4.62\\\",\\\"4.63\\\",\\\"4.64\\\",\\\"4.65\\\",\\\"4.66\\\",\\\"4.67\\\",\\\"4.68\\\",\\\"4.69\\\",\\\"4.7\\\",\\\"4.71\\\",\\\"4.72\\\",\\\"4.73\\\",\\\"4.74\\\",\\\"4.75\\\",\\\"4.76\\\",\\\"4.77\\\",\\\"4.78\\\",\\\"4.79\\\",\\\"4.8\\\",\\\"4.81\\\",\\\"4.82\\\",\\\"4.83\\\",\\\"4.84\\\",\\\"4.85\\\",\\\"4.86\\\",\\\"4.87\\\",\\\"4.88\\\",\\\"4.89\\\",\\\"4.9\\\",\\\"4.91\\\",\\\"4.92\\\",\\\"4.93\\\",\\\"4.94\\\",\\\"4.95\\\",\\\"4.96\\\",\\\"4.97\\\",\\\"4.98\\\",\\\"4.99\\\",\\\"5.0\\\",\\\"5.01\\\",\\\"5.02\\\",\\\"5.03\\\",\\\"5.04\\\",\\\"5.05\\\",\\\"5.06\\\",\\\"5.07\\\",\\\"5.08\\\",\\\"5.09\\\",\\\"5.1\\\",\\\"5.11\\\",\\\"5.12\\\",\\\"5.13\\\",\\\"5.14\\\",\\\"5.15\\\",\\\"5.16\\\",\\\"5.17\\\",\\\"5.18\\\",\\\"5.19\\\",\\\"5.2\\\",\\\"5.21\\\",\\\"5.22\\\",\\\"5.23\\\",\\\"5.24\\\",\\\"5.25\\\",\\\"5.26\\\",\\\"5.27\\\",\\\"5.28\\\",\\\"5.29\\\",\\\"5.3\\\",\\\"5.31\\\",\\\"5.32\\\",\\\"5.33\\\",\\\"5.34\\\",\\\"5.35\\\",\\\"5.36\\\",\\\"5.37\\\",\\\"5.38\\\",\\\"5.39\\\",\\\"5.4\\\",\\\"5.41\\\",\\\"5.42\\\",\\\"5.43\\\",\\\"5.44\\\",\\\"5.45\\\",\\\"5.46\\\",\\\"5.47\\\",\\\"5.48\\\",\\\"5.49\\\",\\\"5.5\\\",\\\"5.51\\\",\\\"5.52\\\",\\\"5.53\\\",\\\"5.54\\\",\\\"5.55\\\",\\\"5.56\\\",\\\"5.57\\\",\\\"5.58\\\",\\\"5.59\\\",\\\"5.6\\\",\\\"5.61\\\",\\\"5.62\\\",\\\"5.63\\\",\\\"5.64\\\",\\\"5.65\\\",\\\"5.66\\\",\\\"5.67\\\",\\\"5.68\\\",\\\"5.69\\\",\\\"5.7\\\",\\\"5.71\\\",\\\"5.72\\\",\\\"5.73\\\",\\\"5.74\\\",\\\"5.75\\\",\\\"5.76\\\",\\\"5.77\\\",\\\"5.78\\\",\\\"5.79\\\",\\\"5.8\\\",\\\"5.81\\\",\\\"5.82\\\",\\\"5.83\\\",\\\"5.84\\\",\\\"5.85\\\",\\\"5.86\\\",\\\"5.87\\\",\\\"5.88\\\",\\\"5.89\\\",\\\"5.9\\\",\\\"5.91\\\",\\\"5.92\\\",\\\"5.93\\\",\\\"5.94\\\",\\\"5.95\\\",\\\"5.96\\\",\\\"5.97\\\",\\\"5.98\\\",\\\"5.99\\\",\\\"6.0\\\",\\\"6.01\\\",\\\"6.02\\\",\\\"6.03\\\",\\\"6.04\\\",\\\"6.05\\\",\\\"6.06\\\",\\\"6.07\\\",\\\"6.08\\\",\\\"6.09\\\",\\\"6.1\\\",\\\"6.11\\\",\\\"6.12\\\",\\\"6.13\\\",\\\"6.14\\\",\\\"6.15\\\",\\\"6.16\\\",\\\"6.17\\\",\\\"6.18\\\",\\\"6.19\\\",\\\"6.2\\\",\\\"6.21\\\",\\\"6.22\\\",\\\"6.23\\\",\\\"6.24\\\",\\\"6.25\\\",\\\"6.26\\\",\\\"6.27\\\",\\\"6.28\\\"],\\\"changes\\\":WebIO.getval({\\\"name\\\":\\\"changes\\\",\\\"scope\\\":\\\"knockout-component-7f597404-8eca-4321-bfe3-e01dc7aa370a\\\",\\\"id\\\":\\\"ob_53\\\",\\\"type\\\":\\\"observable\\\"}),\\\"index\\\":WebIO.getval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-7f597404-8eca-4321-bfe3-e01dc7aa370a\\\",\\\"id\\\":\\\"ob_52\\\",\\\"type\\\":\\\"observable\\\"})};\\n var self = this;\\n function AppViewModel() {\\n for (var key in json_data) {\\n var el = json_data[key];\\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\\n }\\n \\n [this[\\\"formatted_val\\\"]=ko.computed( function(){\\n return this.formatted_vals()[parseInt(this.index())-1];\\n }\\n,this)]\\n [this[\\\"changes\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"changes\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"changes\\\",\\\"scope\\\":\\\"knockout-component-7f597404-8eca-4321-bfe3-e01dc7aa370a\\\",\\\"id\\\":\\\"ob_53\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"changes\\\"]=false}),self),this[\\\"index\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"index\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-7f597404-8eca-4321-bfe3-e01dc7aa370a\\\",\\\"id\\\":\\\"ob_52\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"index\\\"]=false}),self)]\\n \\n }\\n self.model = new AppViewModel();\\n self.valueFromJulia = {};\\n for (var key in json_data) {\\n self.valueFromJulia[key] = false;\\n }\\n ko.applyBindings(self.model, self.dom);\\n}\\n);\\n (WebIO.importBlock({\\\"data\\\":[{\\\"name\\\":\\\"knockout\\\",\\\"type\\\":\\\"js\\\",\\\"url\\\":\\\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\\\"},{\\\"name\\\":\\\"knockout_punches\\\",\\\"type\\\":\\\"js\\\",\\\"url\\\":\\\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\\\"}],\\\"type\\\":\\\"async_block\\\"})).then((imports) => handler.apply(this, imports));\\n}\\n\")])], Dict{Symbol,Any}(:className=>\"field interact-widget\"), 1), Node{DOM}(DOM(:html, :div), Any[Scope(\"knockout-component-c37a04b4-0615-4aee-88ba-6db78ee26adb\", Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :label), Any[\"angle\"], Dict{Symbol,Any}(:className=>\"interact \",:style=>Dict{Any,Any}(:padding=>\"5px 10px 0px 10px\")), 1)], Dict{Symbol,Any}(:className=>\"interact-flex-row-left\"), 2), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :input), Any[], Dict{Symbol,Any}(:max=>1257,:min=>1,:attributes=>Dict{Any,Any}(:type=>\"range\",Symbol(\"data-bind\")=>\"numericValue: index, valueUpdate: 'input', event: {change: function (){this.changes(this.changes()+1)}}\",\"orient\"=>\"horizontal\"),:step=>1,:className=>\"slider slider is-fullwidth\",:style=>Dict{Any,Any}()), 0)], Dict{Symbol,Any}(:className=>\"interact-flex-row-center\"), 1), Node{DOM}(DOM(:html, :div), Any[Node{DOM}(DOM(:html, :p), Any[], Dict{Symbol,Any}(:attributes=>Dict(\"data-bind\"=>\"text: formatted_val\")), 0)], Dict{Symbol,Any}(:className=>\"interact-flex-row-right\"), 1)], Dict{Symbol,Any}(:className=>\"interact-flex-row interact-widget\"), 7), Dict{String,Tuple{Observables.AbstractObservable,Union{Nothing, Bool}}}(\"changes\"=>(Observable{Int64} with 1 listeners. Value:\n", "0, nothing),\"index\"=>(Observable{Any} with 2 listeners. Value:\n", "629, nothing)), Set(String[]), nothing, Asset[Asset(\"js\", \"knockout\", \"/Users/edelman/.julia/packages/Knockout/JE2Yq/src/../assets/knockout.js\"), Asset(\"js\", \"knockout_punches\", \"/Users/edelman/.julia/packages/Knockout/JE2Yq/src/../assets/knockout_punches.js\"), Asset(\"js\", nothing, \"/Users/edelman/.julia/packages/InteractBase/R8JgH/src/../assets/all.js\"), Asset(\"css\", nothing, \"/Users/edelman/.julia/packages/InteractBase/R8JgH/src/../assets/style.css\"), Asset(\"css\", nothing, \"/Users/edelman/.julia/packages/Interact/0klKX/src/../assets/bulma_confined.min.css\")], Dict{Any,Any}(\"changes\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"changes\\\"]()) ? (this.valueFromJulia[\\\"changes\\\"]=true, this.model[\\\"changes\\\"](val)) : undefined})\")],\"index\"=>Any[JSString(\"(function (val){return (val!=this.model[\\\"index\\\"]()) ? (this.valueFromJulia[\\\"index\\\"]=true, this.model[\\\"index\\\"](val)) : undefined})\")]), ConnectionPool(Channel{Any}(sz_max:9223372036854775807,sz_curr:0), Set(AbstractConnection[]), Channel{AbstractConnection}(sz_max:32,sz_curr:0)), WebIO.JSString[JSString(\"function () {\\n var handler = (function (ko, koPunches) {\\n ko.punches.enableAll();\\n ko.bindingHandlers.numericValue = {\\n init : function(element, valueAccessor, allBindings, data, context) {\\n var stringified = ko.observable(ko.unwrap(valueAccessor()));\\n stringified.subscribe(function(value) {\\n var val = parseFloat(value);\\n if (!isNaN(val)) {\\n valueAccessor()(val);\\n }\\n })\\n valueAccessor().subscribe(function(value) {\\n var str = JSON.stringify(value);\\n if ((str == \\\"0\\\") && ([\\\"-0\\\", \\\"-0.\\\"].indexOf(stringified()) >= 0))\\n return;\\n if ([\\\"null\\\", \\\"\\\"].indexOf(str) >= 0)\\n return;\\n stringified(str);\\n })\\n ko.applyBindingsToNode(element, { value: stringified, valueUpdate: allBindings.get('valueUpdate')}, context);\\n }\\n };\\n var json_data = {\\\"formatted_vals\\\":[\\\"-6.28319\\\",\\\"-6.27319\\\",\\\"-6.26319\\\",\\\"-6.25319\\\",\\\"-6.24319\\\",\\\"-6.23319\\\",\\\"-6.22319\\\",\\\"-6.21319\\\",\\\"-6.20319\\\",\\\"-6.19319\\\",\\\"-6.18319\\\",\\\"-6.17319\\\",\\\"-6.16319\\\",\\\"-6.15319\\\",\\\"-6.14319\\\",\\\"-6.13319\\\",\\\"-6.12319\\\",\\\"-6.11319\\\",\\\"-6.10319\\\",\\\"-6.09319\\\",\\\"-6.08319\\\",\\\"-6.07319\\\",\\\"-6.06319\\\",\\\"-6.05319\\\",\\\"-6.04319\\\",\\\"-6.03319\\\",\\\"-6.02319\\\",\\\"-6.01319\\\",\\\"-6.00319\\\",\\\"-5.99319\\\",\\\"-5.98319\\\",\\\"-5.97319\\\",\\\"-5.96319\\\",\\\"-5.95319\\\",\\\"-5.94319\\\",\\\"-5.93319\\\",\\\"-5.92319\\\",\\\"-5.91319\\\",\\\"-5.90319\\\",\\\"-5.89319\\\",\\\"-5.88319\\\",\\\"-5.87319\\\",\\\"-5.86319\\\",\\\"-5.85319\\\",\\\"-5.84319\\\",\\\"-5.83319\\\",\\\"-5.82319\\\",\\\"-5.81319\\\",\\\"-5.80319\\\",\\\"-5.79319\\\",\\\"-5.78319\\\",\\\"-5.77319\\\",\\\"-5.76319\\\",\\\"-5.75319\\\",\\\"-5.74319\\\",\\\"-5.73319\\\",\\\"-5.72319\\\",\\\"-5.71319\\\",\\\"-5.70319\\\",\\\"-5.69319\\\",\\\"-5.68319\\\",\\\"-5.67319\\\",\\\"-5.66319\\\",\\\"-5.65319\\\",\\\"-5.64319\\\",\\\"-5.63319\\\",\\\"-5.62319\\\",\\\"-5.61319\\\",\\\"-5.60319\\\",\\\"-5.59319\\\",\\\"-5.58319\\\",\\\"-5.57319\\\",\\\"-5.56319\\\",\\\"-5.55319\\\",\\\"-5.54319\\\",\\\"-5.53319\\\",\\\"-5.52319\\\",\\\"-5.51319\\\",\\\"-5.50319\\\",\\\"-5.49319\\\",\\\"-5.48319\\\",\\\"-5.47319\\\",\\\"-5.46319\\\",\\\"-5.45319\\\",\\\"-5.44319\\\",\\\"-5.43319\\\",\\\"-5.42319\\\",\\\"-5.41319\\\",\\\"-5.40319\\\",\\\"-5.39319\\\",\\\"-5.38319\\\",\\\"-5.37319\\\",\\\"-5.36319\\\",\\\"-5.35319\\\",\\\"-5.34319\\\",\\\"-5.33319\\\",\\\"-5.32319\\\",\\\"-5.31319\\\",\\\"-5.30319\\\",\\\"-5.29319\\\",\\\"-5.28319\\\",\\\"-5.27319\\\",\\\"-5.26319\\\",\\\"-5.25319\\\",\\\"-5.24319\\\",\\\"-5.23319\\\",\\\"-5.22319\\\",\\\"-5.21319\\\",\\\"-5.20319\\\",\\\"-5.19319\\\",\\\"-5.18319\\\",\\\"-5.17319\\\",\\\"-5.16319\\\",\\\"-5.15319\\\",\\\"-5.14319\\\",\\\"-5.13319\\\",\\\"-5.12319\\\",\\\"-5.11319\\\",\\\"-5.10319\\\",\\\"-5.09319\\\",\\\"-5.08319\\\",\\\"-5.07319\\\",\\\"-5.06319\\\",\\\"-5.05319\\\",\\\"-5.04319\\\",\\\"-5.03319\\\",\\\"-5.02319\\\",\\\"-5.01319\\\",\\\"-5.00319\\\",\\\"-4.99319\\\",\\\"-4.98319\\\",\\\"-4.97319\\\",\\\"-4.96319\\\",\\\"-4.95319\\\",\\\"-4.94319\\\",\\\"-4.93319\\\",\\\"-4.92319\\\",\\\"-4.91319\\\",\\\"-4.90319\\\",\\\"-4.89319\\\",\\\"-4.88319\\\",\\\"-4.87319\\\",\\\"-4.86319\\\",\\\"-4.85319\\\",\\\"-4.84319\\\",\\\"-4.83319\\\",\\\"-4.82319\\\",\\\"-4.81319\\\",\\\"-4.80319\\\",\\\"-4.79319\\\",\\\"-4.78319\\\",\\\"-4.77319\\\",\\\"-4.76319\\\",\\\"-4.75319\\\",\\\"-4.74319\\\",\\\"-4.73319\\\",\\\"-4.72319\\\",\\\"-4.71319\\\",\\\"-4.70319\\\",\\\"-4.69319\\\",\\\"-4.68319\\\",\\\"-4.67319\\\",\\\"-4.66319\\\",\\\"-4.65319\\\",\\\"-4.64319\\\",\\\"-4.63319\\\",\\\"-4.62319\\\",\\\"-4.61319\\\",\\\"-4.60319\\\",\\\"-4.59319\\\",\\\"-4.58319\\\",\\\"-4.57319\\\",\\\"-4.56319\\\",\\\"-4.55319\\\",\\\"-4.54319\\\",\\\"-4.53319\\\",\\\"-4.52319\\\",\\\"-4.51319\\\",\\\"-4.50319\\\",\\\"-4.49319\\\",\\\"-4.48319\\\",\\\"-4.47319\\\",\\\"-4.46319\\\",\\\"-4.45319\\\",\\\"-4.44319\\\",\\\"-4.43319\\\",\\\"-4.42319\\\",\\\"-4.41319\\\",\\\"-4.40319\\\",\\\"-4.39319\\\",\\\"-4.38319\\\",\\\"-4.37319\\\",\\\"-4.36319\\\",\\\"-4.35319\\\",\\\"-4.34319\\\",\\\"-4.33319\\\",\\\"-4.32319\\\",\\\"-4.31319\\\",\\\"-4.30319\\\",\\\"-4.29319\\\",\\\"-4.28319\\\",\\\"-4.27319\\\",\\\"-4.26319\\\",\\\"-4.25319\\\",\\\"-4.24319\\\",\\\"-4.23319\\\",\\\"-4.22319\\\",\\\"-4.21319\\\",\\\"-4.20319\\\",\\\"-4.19319\\\",\\\"-4.18319\\\",\\\"-4.17319\\\",\\\"-4.16319\\\",\\\"-4.15319\\\",\\\"-4.14319\\\",\\\"-4.13319\\\",\\\"-4.12319\\\",\\\"-4.11319\\\",\\\"-4.10319\\\",\\\"-4.09319\\\",\\\"-4.08319\\\",\\\"-4.07319\\\",\\\"-4.06319\\\",\\\"-4.05319\\\",\\\"-4.04319\\\",\\\"-4.03319\\\",\\\"-4.02319\\\",\\\"-4.01319\\\",\\\"-4.00319\\\",\\\"-3.99319\\\",\\\"-3.98319\\\",\\\"-3.97319\\\",\\\"-3.96319\\\",\\\"-3.95319\\\",\\\"-3.94319\\\",\\\"-3.93319\\\",\\\"-3.92319\\\",\\\"-3.91319\\\",\\\"-3.90319\\\",\\\"-3.89319\\\",\\\"-3.88319\\\",\\\"-3.87319\\\",\\\"-3.86319\\\",\\\"-3.85319\\\",\\\"-3.84319\\\",\\\"-3.83319\\\",\\\"-3.82319\\\",\\\"-3.81319\\\",\\\"-3.80319\\\",\\\"-3.79319\\\",\\\"-3.78319\\\",\\\"-3.77319\\\",\\\"-3.76319\\\",\\\"-3.75319\\\",\\\"-3.74319\\\",\\\"-3.73319\\\",\\\"-3.72319\\\",\\\"-3.71319\\\",\\\"-3.70319\\\",\\\"-3.69319\\\",\\\"-3.68319\\\",\\\"-3.67319\\\",\\\"-3.66319\\\",\\\"-3.65319\\\",\\\"-3.64319\\\",\\\"-3.63319\\\",\\\"-3.62319\\\",\\\"-3.61319\\\",\\\"-3.60319\\\",\\\"-3.59319\\\",\\\"-3.58319\\\",\\\"-3.57319\\\",\\\"-3.56319\\\",\\\"-3.55319\\\",\\\"-3.54319\\\",\\\"-3.53319\\\",\\\"-3.52319\\\",\\\"-3.51319\\\",\\\"-3.50319\\\",\\\"-3.49319\\\",\\\"-3.48319\\\",\\\"-3.47319\\\",\\\"-3.46319\\\",\\\"-3.45319\\\",\\\"-3.44319\\\",\\\"-3.43319\\\",\\\"-3.42319\\\",\\\"-3.41319\\\",\\\"-3.40319\\\",\\\"-3.39319\\\",\\\"-3.38319\\\",\\\"-3.37319\\\",\\\"-3.36319\\\",\\\"-3.35319\\\",\\\"-3.34319\\\",\\\"-3.33319\\\",\\\"-3.32319\\\",\\\"-3.31319\\\",\\\"-3.30319\\\",\\\"-3.29319\\\",\\\"-3.28319\\\",\\\"-3.27319\\\",\\\"-3.26319\\\",\\\"-3.25319\\\",\\\"-3.24319\\\",\\\"-3.23319\\\",\\\"-3.22319\\\",\\\"-3.21319\\\",\\\"-3.20319\\\",\\\"-3.19319\\\",\\\"-3.18319\\\",\\\"-3.17319\\\",\\\"-3.16319\\\",\\\"-3.15319\\\",\\\"-3.14319\\\",\\\"-3.13319\\\",\\\"-3.12319\\\",\\\"-3.11319\\\",\\\"-3.10319\\\",\\\"-3.09319\\\",\\\"-3.08319\\\",\\\"-3.07319\\\",\\\"-3.06319\\\",\\\"-3.05319\\\",\\\"-3.04319\\\",\\\"-3.03319\\\",\\\"-3.02319\\\",\\\"-3.01319\\\",\\\"-3.00319\\\",\\\"-2.99319\\\",\\\"-2.98319\\\",\\\"-2.97319\\\",\\\"-2.96319\\\",\\\"-2.95319\\\",\\\"-2.94319\\\",\\\"-2.93319\\\",\\\"-2.92319\\\",\\\"-2.91319\\\",\\\"-2.90319\\\",\\\"-2.89319\\\",\\\"-2.88319\\\",\\\"-2.87319\\\",\\\"-2.86319\\\",\\\"-2.85319\\\",\\\"-2.84319\\\",\\\"-2.83319\\\",\\\"-2.82319\\\",\\\"-2.81319\\\",\\\"-2.80319\\\",\\\"-2.79319\\\",\\\"-2.78319\\\",\\\"-2.77319\\\",\\\"-2.76319\\\",\\\"-2.75319\\\",\\\"-2.74319\\\",\\\"-2.73319\\\",\\\"-2.72319\\\",\\\"-2.71319\\\",\\\"-2.70319\\\",\\\"-2.69319\\\",\\\"-2.68319\\\",\\\"-2.67319\\\",\\\"-2.66319\\\",\\\"-2.65319\\\",\\\"-2.64319\\\",\\\"-2.63319\\\",\\\"-2.62319\\\",\\\"-2.61319\\\",\\\"-2.60319\\\",\\\"-2.59319\\\",\\\"-2.58319\\\",\\\"-2.57319\\\",\\\"-2.56319\\\",\\\"-2.55319\\\",\\\"-2.54319\\\",\\\"-2.53319\\\",\\\"-2.52319\\\",\\\"-2.51319\\\",\\\"-2.50319\\\",\\\"-2.49319\\\",\\\"-2.48319\\\",\\\"-2.47319\\\",\\\"-2.46319\\\",\\\"-2.45319\\\",\\\"-2.44319\\\",\\\"-2.43319\\\",\\\"-2.42319\\\",\\\"-2.41319\\\",\\\"-2.40319\\\",\\\"-2.39319\\\",\\\"-2.38319\\\",\\\"-2.37319\\\",\\\"-2.36319\\\",\\\"-2.35319\\\",\\\"-2.34319\\\",\\\"-2.33319\\\",\\\"-2.32319\\\",\\\"-2.31319\\\",\\\"-2.30319\\\",\\\"-2.29319\\\",\\\"-2.28319\\\",\\\"-2.27319\\\",\\\"-2.26319\\\",\\\"-2.25319\\\",\\\"-2.24319\\\",\\\"-2.23319\\\",\\\"-2.22319\\\",\\\"-2.21319\\\",\\\"-2.20319\\\",\\\"-2.19319\\\",\\\"-2.18319\\\",\\\"-2.17319\\\",\\\"-2.16319\\\",\\\"-2.15319\\\",\\\"-2.14319\\\",\\\"-2.13319\\\",\\\"-2.12319\\\",\\\"-2.11319\\\",\\\"-2.10319\\\",\\\"-2.09319\\\",\\\"-2.08319\\\",\\\"-2.07319\\\",\\\"-2.06319\\\",\\\"-2.05319\\\",\\\"-2.04319\\\",\\\"-2.03319\\\",\\\"-2.02319\\\",\\\"-2.01319\\\",\\\"-2.00319\\\",\\\"-1.99319\\\",\\\"-1.98319\\\",\\\"-1.97319\\\",\\\"-1.96319\\\",\\\"-1.95319\\\",\\\"-1.94319\\\",\\\"-1.93319\\\",\\\"-1.92319\\\",\\\"-1.91319\\\",\\\"-1.90319\\\",\\\"-1.89319\\\",\\\"-1.88319\\\",\\\"-1.87319\\\",\\\"-1.86319\\\",\\\"-1.85319\\\",\\\"-1.84319\\\",\\\"-1.83319\\\",\\\"-1.82319\\\",\\\"-1.81319\\\",\\\"-1.80319\\\",\\\"-1.79319\\\",\\\"-1.78319\\\",\\\"-1.77319\\\",\\\"-1.76319\\\",\\\"-1.75319\\\",\\\"-1.74319\\\",\\\"-1.73319\\\",\\\"-1.72319\\\",\\\"-1.71319\\\",\\\"-1.70319\\\",\\\"-1.69319\\\",\\\"-1.68319\\\",\\\"-1.67319\\\",\\\"-1.66319\\\",\\\"-1.65319\\\",\\\"-1.64319\\\",\\\"-1.63319\\\",\\\"-1.62319\\\",\\\"-1.61319\\\",\\\"-1.60319\\\",\\\"-1.59319\\\",\\\"-1.58319\\\",\\\"-1.57319\\\",\\\"-1.56319\\\",\\\"-1.55319\\\",\\\"-1.54319\\\",\\\"-1.53319\\\",\\\"-1.52319\\\",\\\"-1.51319\\\",\\\"-1.50319\\\",\\\"-1.49319\\\",\\\"-1.48319\\\",\\\"-1.47319\\\",\\\"-1.46319\\\",\\\"-1.45319\\\",\\\"-1.44319\\\",\\\"-1.43319\\\",\\\"-1.42319\\\",\\\"-1.41319\\\",\\\"-1.40319\\\",\\\"-1.39319\\\",\\\"-1.38319\\\",\\\"-1.37319\\\",\\\"-1.36319\\\",\\\"-1.35319\\\",\\\"-1.34319\\\",\\\"-1.33319\\\",\\\"-1.32319\\\",\\\"-1.31319\\\",\\\"-1.30319\\\",\\\"-1.29319\\\",\\\"-1.28319\\\",\\\"-1.27319\\\",\\\"-1.26319\\\",\\\"-1.25319\\\",\\\"-1.24319\\\",\\\"-1.23319\\\",\\\"-1.22319\\\",\\\"-1.21319\\\",\\\"-1.20319\\\",\\\"-1.19319\\\",\\\"-1.18319\\\",\\\"-1.17319\\\",\\\"-1.16319\\\",\\\"-1.15319\\\",\\\"-1.14319\\\",\\\"-1.13319\\\",\\\"-1.12319\\\",\\\"-1.11319\\\",\\\"-1.10319\\\",\\\"-1.09319\\\",\\\"-1.08319\\\",\\\"-1.07319\\\",\\\"-1.06319\\\",\\\"-1.05319\\\",\\\"-1.04319\\\",\\\"-1.03319\\\",\\\"-1.02319\\\",\\\"-1.01319\\\",\\\"-1.00319\\\",\\\"-0.993185\\\",\\\"-0.983185\\\",\\\"-0.973185\\\",\\\"-0.963185\\\",\\\"-0.953185\\\",\\\"-0.943185\\\",\\\"-0.933185\\\",\\\"-0.923185\\\",\\\"-0.913185\\\",\\\"-0.903185\\\",\\\"-0.893185\\\",\\\"-0.883185\\\",\\\"-0.873185\\\",\\\"-0.863185\\\",\\\"-0.853185\\\",\\\"-0.843185\\\",\\\"-0.833185\\\",\\\"-0.823185\\\",\\\"-0.813185\\\",\\\"-0.803185\\\",\\\"-0.793185\\\",\\\"-0.783185\\\",\\\"-0.773185\\\",\\\"-0.763185\\\",\\\"-0.753185\\\",\\\"-0.743185\\\",\\\"-0.733185\\\",\\\"-0.723185\\\",\\\"-0.713185\\\",\\\"-0.703185\\\",\\\"-0.693185\\\",\\\"-0.683185\\\",\\\"-0.673185\\\",\\\"-0.663185\\\",\\\"-0.653185\\\",\\\"-0.643185\\\",\\\"-0.633185\\\",\\\"-0.623185\\\",\\\"-0.613185\\\",\\\"-0.603185\\\",\\\"-0.593185\\\",\\\"-0.583185\\\",\\\"-0.573185\\\",\\\"-0.563185\\\",\\\"-0.553185\\\",\\\"-0.543185\\\",\\\"-0.533185\\\",\\\"-0.523185\\\",\\\"-0.513185\\\",\\\"-0.503185\\\",\\\"-0.493185\\\",\\\"-0.483185\\\",\\\"-0.473185\\\",\\\"-0.463185\\\",\\\"-0.453185\\\",\\\"-0.443185\\\",\\\"-0.433185\\\",\\\"-0.423185\\\",\\\"-0.413185\\\",\\\"-0.403185\\\",\\\"-0.393185\\\",\\\"-0.383185\\\",\\\"-0.373185\\\",\\\"-0.363185\\\",\\\"-0.353185\\\",\\\"-0.343185\\\",\\\"-0.333185\\\",\\\"-0.323185\\\",\\\"-0.313185\\\",\\\"-0.303185\\\",\\\"-0.293185\\\",\\\"-0.283185\\\",\\\"-0.273185\\\",\\\"-0.263185\\\",\\\"-0.253185\\\",\\\"-0.243185\\\",\\\"-0.233185\\\",\\\"-0.223185\\\",\\\"-0.213185\\\",\\\"-0.203185\\\",\\\"-0.193185\\\",\\\"-0.183185\\\",\\\"-0.173185\\\",\\\"-0.163185\\\",\\\"-0.153185\\\",\\\"-0.143185\\\",\\\"-0.133185\\\",\\\"-0.123185\\\",\\\"-0.113185\\\",\\\"-0.103185\\\",\\\"-0.0931853\\\",\\\"-0.0831853\\\",\\\"-0.0731853\\\",\\\"-0.0631853\\\",\\\"-0.0531853\\\",\\\"-0.0431853\\\",\\\"-0.0331853\\\",\\\"-0.0231853\\\",\\\"-0.0131853\\\",\\\"-0.00318531\\\",\\\"0.00681469\\\",\\\"0.0168147\\\",\\\"0.0268147\\\",\\\"0.0368147\\\",\\\"0.0468147\\\",\\\"0.0568147\\\",\\\"0.0668147\\\",\\\"0.0768147\\\",\\\"0.0868147\\\",\\\"0.0968147\\\",\\\"0.106815\\\",\\\"0.116815\\\",\\\"0.126815\\\",\\\"0.136815\\\",\\\"0.146815\\\",\\\"0.156815\\\",\\\"0.166815\\\",\\\"0.176815\\\",\\\"0.186815\\\",\\\"0.196815\\\",\\\"0.206815\\\",\\\"0.216815\\\",\\\"0.226815\\\",\\\"0.236815\\\",\\\"0.246815\\\",\\\"0.256815\\\",\\\"0.266815\\\",\\\"0.276815\\\",\\\"0.286815\\\",\\\"0.296815\\\",\\\"0.306815\\\",\\\"0.316815\\\",\\\"0.326815\\\",\\\"0.336815\\\",\\\"0.346815\\\",\\\"0.356815\\\",\\\"0.366815\\\",\\\"0.376815\\\",\\\"0.386815\\\",\\\"0.396815\\\",\\\"0.406815\\\",\\\"0.416815\\\",\\\"0.426815\\\",\\\"0.436815\\\",\\\"0.446815\\\",\\\"0.456815\\\",\\\"0.466815\\\",\\\"0.476815\\\",\\\"0.486815\\\",\\\"0.496815\\\",\\\"0.506815\\\",\\\"0.516815\\\",\\\"0.526815\\\",\\\"0.536815\\\",\\\"0.546815\\\",\\\"0.556815\\\",\\\"0.566815\\\",\\\"0.576815\\\",\\\"0.586815\\\",\\\"0.596815\\\",\\\"0.606815\\\",\\\"0.616815\\\",\\\"0.626815\\\",\\\"0.636815\\\",\\\"0.646815\\\",\\\"0.656815\\\",\\\"0.666815\\\",\\\"0.676815\\\",\\\"0.686815\\\",\\\"0.696815\\\",\\\"0.706815\\\",\\\"0.716815\\\",\\\"0.726815\\\",\\\"0.736815\\\",\\\"0.746815\\\",\\\"0.756815\\\",\\\"0.766815\\\",\\\"0.776815\\\",\\\"0.786815\\\",\\\"0.796815\\\",\\\"0.806815\\\",\\\"0.816815\\\",\\\"0.826815\\\",\\\"0.836815\\\",\\\"0.846815\\\",\\\"0.856815\\\",\\\"0.866815\\\",\\\"0.876815\\\",\\\"0.886815\\\",\\\"0.896815\\\",\\\"0.906815\\\",\\\"0.916815\\\",\\\"0.926815\\\",\\\"0.936815\\\",\\\"0.946815\\\",\\\"0.956815\\\",\\\"0.966815\\\",\\\"0.976815\\\",\\\"0.986815\\\",\\\"0.996815\\\",\\\"1.00681\\\",\\\"1.01681\\\",\\\"1.02681\\\",\\\"1.03681\\\",\\\"1.04681\\\",\\\"1.05681\\\",\\\"1.06681\\\",\\\"1.07681\\\",\\\"1.08681\\\",\\\"1.09681\\\",\\\"1.10681\\\",\\\"1.11681\\\",\\\"1.12681\\\",\\\"1.13681\\\",\\\"1.14681\\\",\\\"1.15681\\\",\\\"1.16681\\\",\\\"1.17681\\\",\\\"1.18681\\\",\\\"1.19681\\\",\\\"1.20681\\\",\\\"1.21681\\\",\\\"1.22681\\\",\\\"1.23681\\\",\\\"1.24681\\\",\\\"1.25681\\\",\\\"1.26681\\\",\\\"1.27681\\\",\\\"1.28681\\\",\\\"1.29681\\\",\\\"1.30681\\\",\\\"1.31681\\\",\\\"1.32681\\\",\\\"1.33681\\\",\\\"1.34681\\\",\\\"1.35681\\\",\\\"1.36681\\\",\\\"1.37681\\\",\\\"1.38681\\\",\\\"1.39681\\\",\\\"1.40681\\\",\\\"1.41681\\\",\\\"1.42681\\\",\\\"1.43681\\\",\\\"1.44681\\\",\\\"1.45681\\\",\\\"1.46681\\\",\\\"1.47681\\\",\\\"1.48681\\\",\\\"1.49681\\\",\\\"1.50681\\\",\\\"1.51681\\\",\\\"1.52681\\\",\\\"1.53681\\\",\\\"1.54681\\\",\\\"1.55681\\\",\\\"1.56681\\\",\\\"1.57681\\\",\\\"1.58681\\\",\\\"1.59681\\\",\\\"1.60681\\\",\\\"1.61681\\\",\\\"1.62681\\\",\\\"1.63681\\\",\\\"1.64681\\\",\\\"1.65681\\\",\\\"1.66681\\\",\\\"1.67681\\\",\\\"1.68681\\\",\\\"1.69681\\\",\\\"1.70681\\\",\\\"1.71681\\\",\\\"1.72681\\\",\\\"1.73681\\\",\\\"1.74681\\\",\\\"1.75681\\\",\\\"1.76681\\\",\\\"1.77681\\\",\\\"1.78681\\\",\\\"1.79681\\\",\\\"1.80681\\\",\\\"1.81681\\\",\\\"1.82681\\\",\\\"1.83681\\\",\\\"1.84681\\\",\\\"1.85681\\\",\\\"1.86681\\\",\\\"1.87681\\\",\\\"1.88681\\\",\\\"1.89681\\\",\\\"1.90681\\\",\\\"1.91681\\\",\\\"1.92681\\\",\\\"1.93681\\\",\\\"1.94681\\\",\\\"1.95681\\\",\\\"1.96681\\\",\\\"1.97681\\\",\\\"1.98681\\\",\\\"1.99681\\\",\\\"2.00681\\\",\\\"2.01681\\\",\\\"2.02681\\\",\\\"2.03681\\\",\\\"2.04681\\\",\\\"2.05681\\\",\\\"2.06681\\\",\\\"2.07681\\\",\\\"2.08681\\\",\\\"2.09681\\\",\\\"2.10681\\\",\\\"2.11681\\\",\\\"2.12681\\\",\\\"2.13681\\\",\\\"2.14681\\\",\\\"2.15681\\\",\\\"2.16681\\\",\\\"2.17681\\\",\\\"2.18681\\\",\\\"2.19681\\\",\\\"2.20681\\\",\\\"2.21681\\\",\\\"2.22681\\\",\\\"2.23681\\\",\\\"2.24681\\\",\\\"2.25681\\\",\\\"2.26681\\\",\\\"2.27681\\\",\\\"2.28681\\\",\\\"2.29681\\\",\\\"2.30681\\\",\\\"2.31681\\\",\\\"2.32681\\\",\\\"2.33681\\\",\\\"2.34681\\\",\\\"2.35681\\\",\\\"2.36681\\\",\\\"2.37681\\\",\\\"2.38681\\\",\\\"2.39681\\\",\\\"2.40681\\\",\\\"2.41681\\\",\\\"2.42681\\\",\\\"2.43681\\\",\\\"2.44681\\\",\\\"2.45681\\\",\\\"2.46681\\\",\\\"2.47681\\\",\\\"2.48681\\\",\\\"2.49681\\\",\\\"2.50681\\\",\\\"2.51681\\\",\\\"2.52681\\\",\\\"2.53681\\\",\\\"2.54681\\\",\\\"2.55681\\\",\\\"2.56681\\\",\\\"2.57681\\\",\\\"2.58681\\\",\\\"2.59681\\\",\\\"2.60681\\\",\\\"2.61681\\\",\\\"2.62681\\\",\\\"2.63681\\\",\\\"2.64681\\\",\\\"2.65681\\\",\\\"2.66681\\\",\\\"2.67681\\\",\\\"2.68681\\\",\\\"2.69681\\\",\\\"2.70681\\\",\\\"2.71681\\\",\\\"2.72681\\\",\\\"2.73681\\\",\\\"2.74681\\\",\\\"2.75681\\\",\\\"2.76681\\\",\\\"2.77681\\\",\\\"2.78681\\\",\\\"2.79681\\\",\\\"2.80681\\\",\\\"2.81681\\\",\\\"2.82681\\\",\\\"2.83681\\\",\\\"2.84681\\\",\\\"2.85681\\\",\\\"2.86681\\\",\\\"2.87681\\\",\\\"2.88681\\\",\\\"2.89681\\\",\\\"2.90681\\\",\\\"2.91681\\\",\\\"2.92681\\\",\\\"2.93681\\\",\\\"2.94681\\\",\\\"2.95681\\\",\\\"2.96681\\\",\\\"2.97681\\\",\\\"2.98681\\\",\\\"2.99681\\\",\\\"3.00681\\\",\\\"3.01681\\\",\\\"3.02681\\\",\\\"3.03681\\\",\\\"3.04681\\\",\\\"3.05681\\\",\\\"3.06681\\\",\\\"3.07681\\\",\\\"3.08681\\\",\\\"3.09681\\\",\\\"3.10681\\\",\\\"3.11681\\\",\\\"3.12681\\\",\\\"3.13681\\\",\\\"3.14681\\\",\\\"3.15681\\\",\\\"3.16681\\\",\\\"3.17681\\\",\\\"3.18681\\\",\\\"3.19681\\\",\\\"3.20681\\\",\\\"3.21681\\\",\\\"3.22681\\\",\\\"3.23681\\\",\\\"3.24681\\\",\\\"3.25681\\\",\\\"3.26681\\\",\\\"3.27681\\\",\\\"3.28681\\\",\\\"3.29681\\\",\\\"3.30681\\\",\\\"3.31681\\\",\\\"3.32681\\\",\\\"3.33681\\\",\\\"3.34681\\\",\\\"3.35681\\\",\\\"3.36681\\\",\\\"3.37681\\\",\\\"3.38681\\\",\\\"3.39681\\\",\\\"3.40681\\\",\\\"3.41681\\\",\\\"3.42681\\\",\\\"3.43681\\\",\\\"3.44681\\\",\\\"3.45681\\\",\\\"3.46681\\\",\\\"3.47681\\\",\\\"3.48681\\\",\\\"3.49681\\\",\\\"3.50681\\\",\\\"3.51681\\\",\\\"3.52681\\\",\\\"3.53681\\\",\\\"3.54681\\\",\\\"3.55681\\\",\\\"3.56681\\\",\\\"3.57681\\\",\\\"3.58681\\\",\\\"3.59681\\\",\\\"3.60681\\\",\\\"3.61681\\\",\\\"3.62681\\\",\\\"3.63681\\\",\\\"3.64681\\\",\\\"3.65681\\\",\\\"3.66681\\\",\\\"3.67681\\\",\\\"3.68681\\\",\\\"3.69681\\\",\\\"3.70681\\\",\\\"3.71681\\\",\\\"3.72681\\\",\\\"3.73681\\\",\\\"3.74681\\\",\\\"3.75681\\\",\\\"3.76681\\\",\\\"3.77681\\\",\\\"3.78681\\\",\\\"3.79681\\\",\\\"3.80681\\\",\\\"3.81681\\\",\\\"3.82681\\\",\\\"3.83681\\\",\\\"3.84681\\\",\\\"3.85681\\\",\\\"3.86681\\\",\\\"3.87681\\\",\\\"3.88681\\\",\\\"3.89681\\\",\\\"3.90681\\\",\\\"3.91681\\\",\\\"3.92681\\\",\\\"3.93681\\\",\\\"3.94681\\\",\\\"3.95681\\\",\\\"3.96681\\\",\\\"3.97681\\\",\\\"3.98681\\\",\\\"3.99681\\\",\\\"4.00681\\\",\\\"4.01681\\\",\\\"4.02681\\\",\\\"4.03681\\\",\\\"4.04681\\\",\\\"4.05681\\\",\\\"4.06681\\\",\\\"4.07681\\\",\\\"4.08681\\\",\\\"4.09681\\\",\\\"4.10681\\\",\\\"4.11681\\\",\\\"4.12681\\\",\\\"4.13681\\\",\\\"4.14681\\\",\\\"4.15681\\\",\\\"4.16681\\\",\\\"4.17681\\\",\\\"4.18681\\\",\\\"4.19681\\\",\\\"4.20681\\\",\\\"4.21681\\\",\\\"4.22681\\\",\\\"4.23681\\\",\\\"4.24681\\\",\\\"4.25681\\\",\\\"4.26681\\\",\\\"4.27681\\\",\\\"4.28681\\\",\\\"4.29681\\\",\\\"4.30681\\\",\\\"4.31681\\\",\\\"4.32681\\\",\\\"4.33681\\\",\\\"4.34681\\\",\\\"4.35681\\\",\\\"4.36681\\\",\\\"4.37681\\\",\\\"4.38681\\\",\\\"4.39681\\\",\\\"4.40681\\\",\\\"4.41681\\\",\\\"4.42681\\\",\\\"4.43681\\\",\\\"4.44681\\\",\\\"4.45681\\\",\\\"4.46681\\\",\\\"4.47681\\\",\\\"4.48681\\\",\\\"4.49681\\\",\\\"4.50681\\\",\\\"4.51681\\\",\\\"4.52681\\\",\\\"4.53681\\\",\\\"4.54681\\\",\\\"4.55681\\\",\\\"4.56681\\\",\\\"4.57681\\\",\\\"4.58681\\\",\\\"4.59681\\\",\\\"4.60681\\\",\\\"4.61681\\\",\\\"4.62681\\\",\\\"4.63681\\\",\\\"4.64681\\\",\\\"4.65681\\\",\\\"4.66681\\\",\\\"4.67681\\\",\\\"4.68681\\\",\\\"4.69681\\\",\\\"4.70681\\\",\\\"4.71681\\\",\\\"4.72681\\\",\\\"4.73681\\\",\\\"4.74681\\\",\\\"4.75681\\\",\\\"4.76681\\\",\\\"4.77681\\\",\\\"4.78681\\\",\\\"4.79681\\\",\\\"4.80681\\\",\\\"4.81681\\\",\\\"4.82681\\\",\\\"4.83681\\\",\\\"4.84681\\\",\\\"4.85681\\\",\\\"4.86681\\\",\\\"4.87681\\\",\\\"4.88681\\\",\\\"4.89681\\\",\\\"4.90681\\\",\\\"4.91681\\\",\\\"4.92681\\\",\\\"4.93681\\\",\\\"4.94681\\\",\\\"4.95681\\\",\\\"4.96681\\\",\\\"4.97681\\\",\\\"4.98681\\\",\\\"4.99681\\\",\\\"5.00681\\\",\\\"5.01681\\\",\\\"5.02681\\\",\\\"5.03681\\\",\\\"5.04681\\\",\\\"5.05681\\\",\\\"5.06681\\\",\\\"5.07681\\\",\\\"5.08681\\\",\\\"5.09681\\\",\\\"5.10681\\\",\\\"5.11681\\\",\\\"5.12681\\\",\\\"5.13681\\\",\\\"5.14681\\\",\\\"5.15681\\\",\\\"5.16681\\\",\\\"5.17681\\\",\\\"5.18681\\\",\\\"5.19681\\\",\\\"5.20681\\\",\\\"5.21681\\\",\\\"5.22681\\\",\\\"5.23681\\\",\\\"5.24681\\\",\\\"5.25681\\\",\\\"5.26681\\\",\\\"5.27681\\\",\\\"5.28681\\\",\\\"5.29681\\\",\\\"5.30681\\\",\\\"5.31681\\\",\\\"5.32681\\\",\\\"5.33681\\\",\\\"5.34681\\\",\\\"5.35681\\\",\\\"5.36681\\\",\\\"5.37681\\\",\\\"5.38681\\\",\\\"5.39681\\\",\\\"5.40681\\\",\\\"5.41681\\\",\\\"5.42681\\\",\\\"5.43681\\\",\\\"5.44681\\\",\\\"5.45681\\\",\\\"5.46681\\\",\\\"5.47681\\\",\\\"5.48681\\\",\\\"5.49681\\\",\\\"5.50681\\\",\\\"5.51681\\\",\\\"5.52681\\\",\\\"5.53681\\\",\\\"5.54681\\\",\\\"5.55681\\\",\\\"5.56681\\\",\\\"5.57681\\\",\\\"5.58681\\\",\\\"5.59681\\\",\\\"5.60681\\\",\\\"5.61681\\\",\\\"5.62681\\\",\\\"5.63681\\\",\\\"5.64681\\\",\\\"5.65681\\\",\\\"5.66681\\\",\\\"5.67681\\\",\\\"5.68681\\\",\\\"5.69681\\\",\\\"5.70681\\\",\\\"5.71681\\\",\\\"5.72681\\\",\\\"5.73681\\\",\\\"5.74681\\\",\\\"5.75681\\\",\\\"5.76681\\\",\\\"5.77681\\\",\\\"5.78681\\\",\\\"5.79681\\\",\\\"5.80681\\\",\\\"5.81681\\\",\\\"5.82681\\\",\\\"5.83681\\\",\\\"5.84681\\\",\\\"5.85681\\\",\\\"5.86681\\\",\\\"5.87681\\\",\\\"5.88681\\\",\\\"5.89681\\\",\\\"5.90681\\\",\\\"5.91681\\\",\\\"5.92681\\\",\\\"5.93681\\\",\\\"5.94681\\\",\\\"5.95681\\\",\\\"5.96681\\\",\\\"5.97681\\\",\\\"5.98681\\\",\\\"5.99681\\\",\\\"6.00681\\\",\\\"6.01681\\\",\\\"6.02681\\\",\\\"6.03681\\\",\\\"6.04681\\\",\\\"6.05681\\\",\\\"6.06681\\\",\\\"6.07681\\\",\\\"6.08681\\\",\\\"6.09681\\\",\\\"6.10681\\\",\\\"6.11681\\\",\\\"6.12681\\\",\\\"6.13681\\\",\\\"6.14681\\\",\\\"6.15681\\\",\\\"6.16681\\\",\\\"6.17681\\\",\\\"6.18681\\\",\\\"6.19681\\\",\\\"6.20681\\\",\\\"6.21681\\\",\\\"6.22681\\\",\\\"6.23681\\\",\\\"6.24681\\\",\\\"6.25681\\\",\\\"6.26681\\\",\\\"6.27681\\\"],\\\"changes\\\":WebIO.getval({\\\"name\\\":\\\"changes\\\",\\\"scope\\\":\\\"knockout-component-c37a04b4-0615-4aee-88ba-6db78ee26adb\\\",\\\"id\\\":\\\"ob_56\\\",\\\"type\\\":\\\"observable\\\"}),\\\"index\\\":WebIO.getval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-c37a04b4-0615-4aee-88ba-6db78ee26adb\\\",\\\"id\\\":\\\"ob_55\\\",\\\"type\\\":\\\"observable\\\"})};\\n var self = this;\\n function AppViewModel() {\\n for (var key in json_data) {\\n var el = json_data[key];\\n this[key] = Array.isArray(el) ? ko.observableArray(el) : ko.observable(el);\\n }\\n \\n [this[\\\"formatted_val\\\"]=ko.computed( function(){\\n return this.formatted_vals()[parseInt(this.index())-1];\\n }\\n,this)]\\n [this[\\\"changes\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"changes\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"changes\\\",\\\"scope\\\":\\\"knockout-component-c37a04b4-0615-4aee-88ba-6db78ee26adb\\\",\\\"id\\\":\\\"ob_56\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"changes\\\"]=false}),self),this[\\\"index\\\"].subscribe((function (val){!(this.valueFromJulia[\\\"index\\\"]) ? (WebIO.setval({\\\"name\\\":\\\"index\\\",\\\"scope\\\":\\\"knockout-component-c37a04b4-0615-4aee-88ba-6db78ee26adb\\\",\\\"id\\\":\\\"ob_55\\\",\\\"type\\\":\\\"observable\\\"},val)) : undefined; return this.valueFromJulia[\\\"index\\\"]=false}),self)]\\n \\n }\\n self.model = new AppViewModel();\\n self.valueFromJulia = {};\\n for (var key in json_data) {\\n self.valueFromJulia[key] = false;\\n }\\n ko.applyBindings(self.model, self.dom);\\n}\\n);\\n (WebIO.importBlock({\\\"data\\\":[{\\\"name\\\":\\\"knockout\\\",\\\"type\\\":\\\"js\\\",\\\"url\\\":\\\"/assetserver/f07383ad7ba5d9e293900fdc7e5e611110d6ff32-knockout.js\\\"},{\\\"name\\\":\\\"knockout_punches\\\",\\\"type\\\":\\\"js\\\",\\\"url\\\":\\\"/assetserver/306cc87ce82e45c3e5eb81524cb970ae2bab3932-knockout_punches.js\\\"}],\\\"type\\\":\\\"async_block\\\"})).then((imports) => handler.apply(this, imports));\\n}\\n\")])], Dict{Symbol,Any}(:className=>\"field interact-widget\"), 1), Observable{Any} with 0 listeners. Value:\n", "Node{DOM}(DOM(:html, :div), Any[Plot{Plots.GRBackend() n=7}], Dict{Symbol,Any}(:className=>\"interact-flex-row interact-widget\"), 1)], Dict{Symbol,Any}(), 6)" ] }, "execution_count": 11, "metadata": { "application/vnd.webio.node+json": { "kernelId": "b60d3081-e7dd-4d68-bb83-50e4fad3e468" } }, "output_type": "execute_result" } ], "source": [ "@manipulate for σ₁ in 0:0.01:2, σ₂ in 0:0.01:2, θ in 0:0.01:2π, ϕ in 0:0.01:2π, angle=-2π:0.01:2π\n", "\n", " # when phi=theta have U = V so a symmetric matrix\n", " \n", " U = [cos(θ) sin(θ); -sin(θ) cos(θ)]\n", " V = [cos(ϕ) sin(ϕ); -sin(ϕ) cos(ϕ)]\n", "\n", " Σ = Diagonal([σ₁, σ₂])\n", "\n", " M = U * Σ * V'\n", " \n", " x = [cos(angle), sin(angle)]\n", "\n", " plot_image(M, x, 0.01)\n", " \n", " title!(\"evals = $(eigvals(M))\")\n", "end" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "@webio": { "lastCommId": "2cd03ed5f2e94225b16275963664f6e9", "lastKernelId": "b60d3081-e7dd-4d68-bb83-50e4fad3e468" }, "kernelspec": { "display_name": "Julia 1.1.0", "language": "julia", "name": "julia-1.1" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.1.0" } }, "nbformat": 4, "nbformat_minor": 2 }