diff options
author | jaseg <git@jaseg.net> | 2018-05-20 12:30:14 +0200 |
---|---|---|
committer | jaseg <git@jaseg.net> | 2018-05-20 12:30:14 +0200 |
commit | f4d511afdb126de676914a74bf5143d913f62a4f (patch) | |
tree | fe93285af9ee37dc04c09ada14ec05fb1f325e02 | |
parent | 2e7277b0d0f640c1d4e4eb5b3e4c81a32b9d9949 (diff) | |
download | olsndot-f4d511afdb126de676914a74bf5143d913f62a4f.tar.gz olsndot-f4d511afdb126de676914a74bf5143d913f62a4f.tar.bz2 olsndot-f4d511afdb126de676914a74bf5143d913f62a4f.zip |
Some more simulration exports
-rw-r--r-- | firmware/Run_analysis.ipynb | 4874 | ||||
-rw-r--r-- | firmware/spice_sims/asymmetric_iled_r220.txt | 1205 | ||||
-rw-r--r-- | firmware/spice_sims/asymmetric_vgate.svg | 1933 | ||||
-rw-r--r-- | firmware/spice_sims/overshoot_sim_r0.svg | 1422 | ||||
-rw-r--r-- | firmware/spice_sims/overshoot_sim_r10.svg | 1802 | ||||
-rw-r--r-- | firmware/spice_sims/overshoot_sim_r100.svg | 1346 | ||||
-rw-r--r-- | firmware/spice_sims/overshoot_sim_r150.svg | 1604 | ||||
-rw-r--r-- | firmware/spice_sims/overshoot_sim_r220.svg | 1555 | ||||
-rw-r--r-- | firmware/spice_sims/overshoot_sim_r50.svg | 1733 |
9 files changed, 12188 insertions, 5286 deletions
diff --git a/firmware/Run_analysis.ipynb b/firmware/Run_analysis.ipynb index eea8d94..aeebf6d 100644 --- a/firmware/Run_analysis.ipynb +++ b/firmware/Run_analysis.ipynb @@ -9,7 +9,7 @@ "outputs": [], "source": [ "from matplotlib import pyplot as plt\n", - "%matplotlib inline\n", + "%matplotlib notebook\n", "import numpy as np\n", "import numpy.polynomial.polynomial as poly\n", "\n", @@ -32,10 +32,8 @@ }, { "cell_type": "code", - "execution_count": 31, - "metadata": { - "collapsed": false - }, + "execution_count": 3, + "metadata": {}, "outputs": [], "source": [ "def fetch_run(names_or_ids):\n", @@ -70,13 +68,33 @@ }, { "cell_type": "code", - "execution_count": 12, + "execution_count": 4, "metadata": { - "collapsed": false + "collapsed": true }, "outputs": [], "source": [ - "def plot_run(figtitle, *names_or_ids, combine_plots=False):\n", + "def apply_style(ax):\n", + " ax.spines['top'].set_visible(False)\n", + " ax.spines['right'].set_visible(False)\n", + " ax.spines['bottom'].set_color('#08bdf9')\n", + " ax.spines['left'].set_color('#08bdf9')\n", + " ax.tick_params(axis='x', colors='#01769D', which='both')\n", + " ax.tick_params(axis='y', colors='#01769D', which='both')\n", + " ax.xaxis.label.set_color('#01769D')\n", + " ax.yaxis.label.set_color('#01769D')\n", + " ax.grid(color='#08bdf9', linestyle=':')" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [], + "source": [ + "color_bright, color_dark = '#ffd2e9', '#fe3ea0'\n", + "\n", + "def plot_run(figtitle, *names_or_ids, figsize=None, combine_plots=False, svgfile=None):\n", " run_info, data, cal = fetch_run(names_or_ids)\n", " \n", " if combine_plots:\n", @@ -84,8 +102,9 @@ " else:\n", " rows = (len(data)+1)//2\n", " cols = 2 if len(data) > 1 else 1\n", - " fig, axs = plt.subplots(rows, cols, figsize=(16,5*max(2, rows)), squeeze=False)\n", - " fig.suptitle(figtitle)\n", + " fig, axs = plt.subplots(rows, cols, figsize=figsize or (8,3*max(2, rows)), squeeze=False)\n", + " if figtitle:\n", + " fig.suptitle(figtitle)\n", " if combine_plots:\n", " axs = np.array([axs[0,0]] * len(names_or_ids))\n", "\n", @@ -105,15 +124,18 @@ " \n", " offx, slope = fit_coefs = poly.polyfit(duty, volt, 1)\n", " fit_func = poly.polyval(duty, fit_coefs)\n", - " ax.errorbar(duty, volt/vref, yerr=stdev/vref)\n", - " ax.plot(duty, fit_func/vref)\n", + " ax.errorbar(duty, volt/vref, yerr=stdev/vref, color=color_bright, zorder=1)\n", + " ax.plot(duty, fit_func/vref, color=color_dark, zorder=2)\n", " \n", + " apply_style(ax)\n", " ax.set_xscale('log')\n", " ax.set_yscale('log')\n", " bit_offx = offx/slope\n", " offsets.append(bit_offx)\n", + " \n", " print('Channel {} offset: {:6.3f}lsb'.format(ch, bit_offx))\n", - " ax.set_title('Channel {}, offset={:.3f}lsb'.format(ch, bit_offx))\n", + " if figtitle:\n", + " ax.set_title('Channel {}, offset={:.3f}lsb'.format(ch, bit_offx))\n", " \n", " # reuse latest duty cycles here\n", " ax.set_xticks(duty)\n", @@ -124,17 +146,19 @@ "\n", " ax.set_xlim([min_x*0.9, max_x*1.1])\n", " ax.set_ylim([0, max_y*1.1])\n", + " \n", " if len(names_or_ids) > 1:\n", " print('Offset statistics: mean={:.4f}lsb, stdev={:.4f}lsb'.format(\n", - " statistics.mean(offsets), statistics.stdev(offsets)))" + " statistics.mean(offsets), statistics.stdev(offsets)))\n", + " \n", + " if svgfile:\n", + " fig.savefig(svgfile)" ] }, { "cell_type": "code", - "execution_count": 5, - "metadata": { - "collapsed": false - }, + "execution_count": 6, + "metadata": {}, "outputs": [], "source": [ "def fetch_runs(*names):\n", @@ -147,50 +171,2411 @@ }, { "cell_type": "code", - "execution_count": 6, + "execution_count": 11, "metadata": { - "collapsed": false, "scrolled": false }, "outputs": [ { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\n", + "\n", + "mpl.get_websocket_type = function() {\n", + " if (typeof(WebSocket) !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof(MozWebSocket) !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert('Your browser does not have WebSocket support.' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.');\n", + " };\n", + "}\n", + "\n", + "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = (this.ws.binaryType != undefined);\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById(\"mpl-warnings\");\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent = (\n", + " \"This browser does not support binary websocket messages. \" +\n", + " \"Performance may be slow.\");\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = $('<div/>');\n", + " this._root_extra_style(this.root)\n", + " this.root.attr('style', 'display: inline-block');\n", + "\n", + " $(parent_element).append(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", + " fig.send_message(\"send_image_mode\", {});\n", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\n", + " fig.send_message(\"refresh\", {});\n", + " }\n", + "\n", + " this.imageObj.onload = function() {\n", + " if (fig.image_mode == 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function() {\n", + " this.ws.close();\n", + " }\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "}\n", + "\n", + "mpl.figure.prototype._init_header = function() {\n", + " var titlebar = $(\n", + " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", + " 'ui-helper-clearfix\"/>');\n", + " var titletext = $(\n", + " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", + " 'text-align: center; padding: 3px;\"/>');\n", + " titlebar.append(titletext)\n", + " this.root.append(titlebar);\n", + " this.header = titletext[0];\n", + "}\n", + "\n", + "\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._init_canvas = function() {\n", + " var fig = this;\n", + "\n", + " var canvas_div = $('<div/>');\n", + "\n", + " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", + "\n", + " function canvas_keyboard_event(event) {\n", + " return fig.key_event(event, event['data']);\n", + " }\n", + "\n", + " canvas_div.keydown('key_press', canvas_keyboard_event);\n", + " canvas_div.keyup('key_release', canvas_keyboard_event);\n", + " this.canvas_div = canvas_div\n", + " this._canvas_extra_style(canvas_div)\n", + " this.root.append(canvas_div);\n", + "\n", + " var canvas = $('<canvas/>');\n", + " canvas.addClass('mpl-canvas');\n", + " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", + "\n", + " this.canvas = canvas[0];\n", + " this.context = canvas[0].getContext(\"2d\");\n", + "\n", + " var backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", + "\n", + " var rubberband = $('<canvas/>');\n", + " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", + "\n", + " var pass_mouse_events = true;\n", + "\n", + " canvas_div.resizable({\n", + " start: function(event, ui) {\n", + " pass_mouse_events = false;\n", + " },\n", + " resize: function(event, ui) {\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " stop: function(event, ui) {\n", + " pass_mouse_events = true;\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " });\n", + "\n", + " function mouse_event_fn(event) {\n", + " if (pass_mouse_events)\n", + " return fig.mouse_event(event, event['data']);\n", + " }\n", + "\n", + " rubberband.mousedown('button_press', mouse_event_fn);\n", + " rubberband.mouseup('button_release', mouse_event_fn);\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband.mousemove('motion_notify', mouse_event_fn);\n", + "\n", + " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", + " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", + "\n", + " canvas_div.on(\"wheel\", function (event) {\n", + " event = event.originalEvent;\n", + " event['data'] = 'scroll'\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " mouse_event_fn(event);\n", + " });\n", + "\n", + " canvas_div.append(canvas);\n", + " canvas_div.append(rubberband);\n", + "\n", + " this.rubberband = rubberband;\n", + " this.rubberband_canvas = rubberband[0];\n", + " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", + " this.rubberband_context.strokeStyle = \"#000000\";\n", + "\n", + " this._resize_canvas = function(width, height) {\n", + " // Keep the size of the canvas, canvas container, and rubber band\n", + " // canvas in synch.\n", + " canvas_div.css('width', width)\n", + " canvas_div.css('height', height)\n", + "\n", + " canvas.attr('width', width * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", + "\n", + " rubberband.attr('width', width);\n", + " rubberband.attr('height', height);\n", + " }\n", + "\n", + " // Set the figure to an initial 600x600px, this will subsequently be updated\n", + " // upon first draw.\n", + " this._resize_canvas(600, 600);\n", + "\n", + " // Disable right mouse context menu.\n", + " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", + " return false;\n", + " });\n", + "\n", + " function set_focus () {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('<div/>')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " // put a spacer in here.\n", + " continue;\n", + " }\n", + " var button = $('<button/>');\n", + " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", + " 'ui-button-icon-only');\n", + " button.attr('role', 'button');\n", + " button.attr('aria-disabled', 'false');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + "\n", + " var icon_img = $('<span/>');\n", + " icon_img.addClass('ui-button-icon-primary ui-icon');\n", + " icon_img.addClass(image);\n", + " icon_img.addClass('ui-corner-all');\n", + "\n", + " var tooltip_span = $('<span/>');\n", + " tooltip_span.addClass('ui-button-text');\n", + " tooltip_span.html(tooltip);\n", + "\n", + " button.append(icon_img);\n", + " button.append(tooltip_span);\n", + "\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " var fmt_picker_span = $('<span/>');\n", + "\n", + " var fmt_picker = $('<select/>');\n", + " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", + " fmt_picker_span.append(fmt_picker);\n", + " nav_element.append(fmt_picker_span);\n", + " this.format_dropdown = fmt_picker[0];\n", + "\n", + " for (var ind in mpl.extensions) {\n", + " var fmt = mpl.extensions[ind];\n", + " var option = $(\n", + " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", + " fmt_picker.append(option)\n", + " }\n", + "\n", + " // Add hover states to the ui-buttons\n", + " $( \".ui-button\" ).hover(\n", + " function() { $(this).addClass(\"ui-state-hover\");},\n", + " function() { $(this).removeClass(\"ui-state-hover\");}\n", + " );\n", + "\n", + " var status_bar = $('<span class=\"mpl-message\"/>');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "}\n", + "\n", + "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", + " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", + " // which will in turn request a refresh of the image.\n", + " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", + "}\n", + "\n", + "mpl.figure.prototype.send_message = function(type, properties) {\n", + " properties['type'] = type;\n", + " properties['figure_id'] = this.id;\n", + " this.ws.send(JSON.stringify(properties));\n", + "}\n", + "\n", + "mpl.figure.prototype.send_draw_message = function() {\n", + " if (!this.waiting) {\n", + " this.waiting = true;\n", + " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", + " }\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " var format_dropdown = fig.format_dropdown;\n", + " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", + " fig.ondownload(fig, format);\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", + " var size = msg['size'];\n", + " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", + " fig._resize_canvas(size[0], size[1]);\n", + " fig.send_message(\"refresh\", {});\n", + " };\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", + " var x0 = msg['x0'] / mpl.ratio;\n", + " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", + " var x1 = msg['x1'] / mpl.ratio;\n", + " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", + " x0 = Math.floor(x0) + 0.5;\n", + " y0 = Math.floor(y0) + 0.5;\n", + " x1 = Math.floor(x1) + 0.5;\n", + " y1 = Math.floor(y1) + 0.5;\n", + " var min_x = Math.min(x0, x1);\n", + " var min_y = Math.min(y0, y1);\n", + " var width = Math.abs(x1 - x0);\n", + " var height = Math.abs(y1 - y0);\n", + "\n", + " fig.rubberband_context.clearRect(\n", + " 0, 0, fig.canvas.width, fig.canvas.height);\n", + "\n", + " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", + " // Updates the figure title.\n", + " fig.header.textContent = msg['label'];\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", + " var cursor = msg['cursor'];\n", + " switch(cursor)\n", + " {\n", + " case 0:\n", + " cursor = 'pointer';\n", + " break;\n", + " case 1:\n", + " cursor = 'default';\n", + " break;\n", + " case 2:\n", + " cursor = 'crosshair';\n", + " break;\n", + " case 3:\n", + " cursor = 'move';\n", + " break;\n", + " }\n", + " fig.rubberband_canvas.style.cursor = cursor;\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_message = function(fig, msg) {\n", + " fig.message.textContent = msg['message'];\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", + " // Request the server to send over a new figure.\n", + " fig.send_draw_message();\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", + " fig.image_mode = msg['mode'];\n", + "}\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function() {\n", + " // Called whenever the canvas gets updated.\n", + " this.send_message(\"ack\", {});\n", + "}\n", + "\n", + "// A function to construct a web socket function for onmessage handling.\n", + "// Called in the figure constructor.\n", + "mpl.figure.prototype._make_on_message_function = function(fig) {\n", + " return function socket_on_message(evt) {\n", + " if (evt.data instanceof Blob) {\n", + " /* FIXME: We get \"Resource interpreted as Image but\n", + " * transferred with MIME type text/plain:\" errors on\n", + " * Chrome. But how to set the MIME type? It doesn't seem\n", + " * to be part of the websocket stream */\n", + " evt.data.type = \"image/png\";\n", + "\n", + " /* Free the memory for the previous frames */\n", + " if (fig.imageObj.src) {\n", + " (window.URL || window.webkitURL).revokeObjectURL(\n", + " fig.imageObj.src);\n", + " }\n", + "\n", + " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", + " evt.data);\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", + " fig.imageObj.src = evt.data;\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + "\n", + " var msg = JSON.parse(evt.data);\n", + " var msg_type = msg['type'];\n", + "\n", + " // Call the \"handle_{type}\" callback, which takes\n", + " // the figure and JSON message as its only arguments.\n", + " try {\n", + " var callback = fig[\"handle_\" + msg_type];\n", + " } catch (e) {\n", + " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", + " return;\n", + " }\n", + "\n", + " if (callback) {\n", + " try {\n", + " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", + " callback(fig, msg);\n", + " } catch (e) {\n", + " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", + " }\n", + " }\n", + " };\n", + "}\n", + "\n", + "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", + "mpl.findpos = function(e) {\n", + " //this section is from http://www.quirksmode.org/js/events_properties.html\n", + " var targ;\n", + " if (!e)\n", + " e = window.event;\n", + " if (e.target)\n", + " targ = e.target;\n", + " else if (e.srcElement)\n", + " targ = e.srcElement;\n", + " if (targ.nodeType == 3) // defeat Safari bug\n", + " targ = targ.parentNode;\n", + "\n", + " // jQuery normalizes the pageX and pageY\n", + " // pageX,Y are the mouse positions relative to the document\n", + " // offset() returns the position of the element relative to the document\n", + " var x = e.pageX - $(targ).offset().left;\n", + " var y = e.pageY - $(targ).offset().top;\n", + "\n", + " return {\"x\": x, \"y\": y};\n", + "};\n", + "\n", + "/*\n", + " * return a copy of an object with only non-object keys\n", + " * we need this to avoid circular references\n", + " * http://stackoverflow.com/a/24161582/3208463\n", + " */\n", + "function simpleKeys (original) {\n", + " return Object.keys(original).reduce(function (obj, key) {\n", + " if (typeof original[key] !== 'object')\n", + " obj[key] = original[key]\n", + " return obj;\n", + " }, {});\n", + "}\n", + "\n", + "mpl.figure.prototype.mouse_event = function(event, name) {\n", + " var canvas_pos = mpl.findpos(event)\n", + "\n", + " if (name === 'button_press')\n", + " {\n", + " this.canvas.focus();\n", + " this.canvas_div.focus();\n", + " }\n", + "\n", + " var x = canvas_pos.x * mpl.ratio;\n", + " var y = canvas_pos.y * mpl.ratio;\n", + "\n", + " this.send_message(name, {x: x, y: y, button: event.button,\n", + " step: event.step,\n", + " guiEvent: simpleKeys(event)});\n", + "\n", + " /* This prevents the web browser from automatically changing to\n", + " * the text insertion cursor when the button is pressed. We want\n", + " * to control all of the cursor setting manually through the\n", + " * 'cursor' event from matplotlib */\n", + " event.preventDefault();\n", + " return false;\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " // Handle any extra behaviour associated with a key event\n", + "}\n", + "\n", + "mpl.figure.prototype.key_event = function(event, name) {\n", + "\n", + " // Prevent repeat events\n", + " if (name == 'key_press')\n", + " {\n", + " if (event.which === this._key)\n", + " return;\n", + " else\n", + " this._key = event.which;\n", + " }\n", + " if (name == 'key_release')\n", + " this._key = null;\n", + "\n", + " var value = '';\n", + " if (event.ctrlKey && event.which != 17)\n", + " value += \"ctrl+\";\n", + " if (event.altKey && event.which != 18)\n", + " value += \"alt+\";\n", + " if (event.shiftKey && event.which != 16)\n", + " value += \"shift+\";\n", + "\n", + " value += 'k';\n", + " value += event.which.toString();\n", + "\n", + " this._key_event_extra(event, name);\n", + "\n", + " this.send_message(name, {key: value,\n", + " guiEvent: simpleKeys(event)});\n", + " return false;\n", + "}\n", + "\n", + "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", + " if (name == 'download') {\n", + " this.handle_save(this, null);\n", + " } else {\n", + " this.send_message(\"toolbar_button\", {name: name});\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", + " this.message.textContent = tooltip;\n", + "};\n", + "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", + "\n", + "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", + "\n", + "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", + " // Create a \"websocket\"-like object which calls the given IPython comm\n", + " // object with the appropriate methods. Currently this is a non binary\n", + " // socket, so there is still some room for performance tuning.\n", + " var ws = {};\n", + "\n", + " ws.close = function() {\n", + " comm.close()\n", + " };\n", + " ws.send = function(m) {\n", + " //console.log('sending', m);\n", + " comm.send(m);\n", + " };\n", + " // Register the callback with on_msg.\n", + " comm.on_msg(function(msg) {\n", + " //console.log('receiving', msg['content']['data'], msg);\n", + " // Pass the mpl event to the overriden (by mpl) onmessage function.\n", + " ws.onmessage(msg['content']['data'])\n", + " });\n", + " return ws;\n", + "}\n", + "\n", + "mpl.mpl_figure_comm = function(comm, msg) {\n", + " // This is the function which gets called when the mpl process\n", + " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", + "\n", + " var id = msg.content.data.id;\n", + " // Get hold of the div created by the display call when the Comm\n", + " // socket was opened in Python.\n", + " var element = $(\"#\" + id);\n", + " var ws_proxy = comm_websocket_adapter(comm)\n", + "\n", + " function ondownload(figure, format) {\n", + " window.open(figure.imageObj.src);\n", + " }\n", + "\n", + " var fig = new mpl.figure(id, ws_proxy,\n", + " ondownload,\n", + " element.get(0));\n", + "\n", + " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", + " // web socket which is closed, not our websocket->open comm proxy.\n", + " ws_proxy.onopen();\n", + "\n", + " fig.parent_element = element.get(0);\n", + " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", + " if (!fig.cell_info) {\n", + " console.error(\"Failed to find cell for figure\", id, fig);\n", + " return;\n", + " }\n", + "\n", + " var output_index = fig.cell_info[2]\n", + " var cell = fig.cell_info[0];\n", + "\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_close = function(fig, msg) {\n", + " var width = fig.canvas.width/mpl.ratio\n", + " fig.root.unbind('remove')\n", + "\n", + " // Update the output cell to use the data from the current canvas.\n", + " fig.push_to_output();\n", + " var dataURL = fig.canvas.toDataURL();\n", + " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", + " // the notebook keyboard shortcuts fail.\n", + " IPython.keyboard_manager.enable()\n", + " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", + " fig.close_ws(fig, msg);\n", + "}\n", + "\n", + "mpl.figure.prototype.close_ws = function(fig, msg){\n", + " fig.send_message('closing', msg);\n", + " // fig.ws.close()\n", + "}\n", + "\n", + "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", + " // Turn the data on the canvas into data in the output cell.\n", + " var width = this.canvas.width/mpl.ratio\n", + " var dataURL = this.canvas.toDataURL();\n", + " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + "}\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function() {\n", + " // Tell IPython that the notebook contents must change.\n", + " IPython.notebook.set_dirty(true);\n", + " this.send_message(\"ack\", {});\n", + " var fig = this;\n", + " // Wait a second, then push the new image to the DOM so\n", + " // that it is saved nicely (might be nice to debounce this).\n", + " setTimeout(function () { fig.push_to_output() }, 1000);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('<div/>')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items){\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) { continue; };\n", + "\n", + " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", + " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", + " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", + " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", + " buttongrp.append(button);\n", + " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", + " titlebar.prepend(buttongrp);\n", + "}\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(el){\n", + " var fig = this\n", + " el.on(\"remove\", function(){\n", + "\tfig.close_ws(fig, {});\n", + " });\n", + "}\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(el){\n", + " // this is important to make the div 'focusable\n", + " el.attr('tabindex', 0)\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " }\n", + " else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " var manager = IPython.notebook.keyboard_manager;\n", + " if (!manager)\n", + " manager = IPython.keyboard_manager;\n", + "\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which == 13) {\n", + " this.canvas_div.blur();\n", + " // select the cell after this one\n", + " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", + " IPython.notebook.select(index + 1);\n", + " }\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " fig.ondownload(fig, null);\n", + "}\n", + "\n", + "\n", + "mpl.find_output_cell = function(html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i=0; i<ncells; i++) {\n", + " var cell = cells[i];\n", + " if (cell.cell_type === 'code'){\n", + " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", + " var data = cell.output_area.outputs[j];\n", + " if (data.data) {\n", + " // IPython >= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] == html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "}\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel != null) {\n", + " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", + "}\n" + ], + "text/plain": [ + "<IPython.core.display.Javascript object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<img src=\"data:image/png;base64,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ZAPnS7uRP29u+YD5rYfDVXVf2QN09Yer8Fri6o1jruYCmK0eruYCkpktptqLXGQ9uq9n2Mrk86H/+ix04VboloPA4V6rl1m5+jPkai6A2erhai4gmdliqj2i8alq4Gxqe680tZ0y9Jix8vSTl2XwencOHX157OvP4+g7XThy3j149asPo+OmFdi15G3s2d6Fzp4BdGYVhzJ5dPSFjz39eXRmFZ1ZxeGB4vZdfcXtR0u2d5Rs78xq2fYjA8Wv7S7ZfihT3L6nP4/Xu3M4eVkGbx/LDW3f2198/v6S5+8vybqvJOuBCu9hPO9tMNfge6znvQ1uP1iyPYr31tGXR+lxtnHcKr23wf22reR4NvK4VXpvw4+njeNW6b0NP542jlul9za4394sOZ4HMnnIwkOniMikxrRh/aLq0c5jWRxoXozpLSuw7f7X0fHyXuzZdhSdRzPoHMizR9mj7FH26AnbozTBVDVw+unWSX6AocdP5+HkZRk++OCDj9gfhcHTaexRPvjgw+VHEnqUJpi6ztw1zT1Ffj5/qyw8dErZY8bK0yddPxsyY+XpI75m+xFnthtmb254rmr/zeM9b6yvj5VtPO/Z1vGMM/Pga8d9PMdz/CtlG+u16v1alMczAWfu2KMRPJLco2M953jZbHYpe5Q9SmRLXdcui4j4ZtOIbU1tp0zyA0hTm3t/aceZbbR9Ua16c1X7bx7veWN9faxs43nPUahnv8WZefC14z6etT6/9HmVso31WvV+rVYud0cV2KMRSHKPjvWc42Wz2aXsUfYokS11D5xe+uoR21z+4Y8z22j7olr15qr23zze88b6+ljZxvOeo1DPfosz8+Brx308a31+6fMqZRvrter9Wq1ncZmlAAAKhklEQVRc7o4qsEcjkOQeHes5x8tms0vZo+xRooa6avofitd+hnjtZ0zyA4hnmsVrP0Ounfln43pdl3/4Xc3mai4RZquHq7lEmC1q7FF3uJpLhNnq4WouEWYjGpdUenLZzZCFh/hm1rhet6ntveKnW6Wp7b3RBI2Qq9lczSXCbPVwNZcIs0WNPeoOV3OJMFs9XM0lwmxERERERERERERERERERERERERERERERERERERERERERO7y0leLZ7aLZ/rFN6ul2fy17UgiItJizhQvWCC+2V33XP1xSJnrxTNrxDfd4gf7xTOPiB983HYsERHx0leKH6wXz3SJZ7rEN6ukpf1827FGSJnrC9Of/sZ2FPHTrSNmQ/LMZtuxRESkecbp4qXnimcOiR/0iWc2iB/8pe1Y4pnto84ilTLTbUezysUuZY/Wjj1aO5d7VMTNLmWP0oTmpb8ufpCRVPq70nLnJ8Q37eIFRyQ147/bjiYt7eeLb34hLelLnBo4/WCReMFUaW7/pEy78zPimSfENzskdcv7bUeTlLlIvPQFMq39YzKt/WPipX8pnhmQ5vZP2o42pKX9r8QP3hbPvOrKwCm+eU286acNPVpm/jfbseTKOz5Y+D+z/yXN5q8llf6weMG54s38X7ajSVPbqWX7K9V+TjhwpifbjmaNq13KHq0de7R2rvaoiLtdyh6lCc03q8ULbi9uaD1JPLNLvPQ/2Qs1klMD53BNbadO8gNIiznTdpRR+eawpNLfsx1DRAoLwAVbJNV+jnjBM+4MnME62zFGSJlfix88bztGVTzzG/HMmyIyyXYUaxLQpezRcWCPjs3VHhVJTpeyR2nCmNL6HvGC3IgByQvuFs88ainVqJweOJvNRwofm37KdpQyU6a8S1LmG+IHGWm58xO244hI+LPlB7cV/rdDA6c5Jr7ZLZ55Szxzz7hXxI4kl9kkfnCb+MEDhUtU1koq+IHtWCNMaX2P+MFB8YIbbEexJiFdyh6tA3u0Oq72qEgyupQ9ShOKH/xJWPjB/y3bnkr/m/hmtaVUo3J34Gw9SXzzuHhmue0kQ5pnflq8oKfwf4iOipe+wHYkERFJmW+IZzbI1NaTRcSdgbOl/XzxzBRJpf+PtLSfJ55ZKb7ZIX7wAau5PNNfuJfgVzLNfFZS5kfhtcvpy63mGi7V/rXwZy34E9tRrElIl7JHa8AerY2rPSqSjC5lj9KEUmnQ9Mwt4gUvWEo1KmcHTi89QzyzXZrSf2o7ypApre+RZvMR8YO/FC+4STxzwPqZu2nT/4d4wT6Zdudnhra5MnAOd91tfyRe0Gn9cgvPDIhnVpZvS7eJb1ZZSjQ6z/xevGCB7RhWJaRL2aM1YI+Ojys9KpKMLmWP0oSSkMsGRBwdOL3gdvHNTkmlP2w7ypg8s1S8YKbVDL65OJwVJcgNPgr/reIFOZky5V1W8w3nmTXiBTdZzRCePTRl27z0leKZXZYSjdRi/qf4Ji+p9JdsR7EqIV3KHh0H9mjtXOhREfe7lD1KE5JvVotv/rO4ofUk8YIOl26cFHFu4JwkXnB7eIPpnR+1Hea4PPOU+GaW1Qx+8AFJmU+VPTyzRjwzx7lrvq+a/oeFG06vsZrDC+aNuHHSD24bcSbPJj/dKl6wRya3vtt2FOsS0KXs0XFgj9bGlR4Vcb9L2aM0IQ1OHdliviPXpf+3eMFM8YIjcm36j21HC2f6aD9DvPYzCnOKN4vXfob1G9s8c0d4TXD7WWVT6DXf+j6ruUREfPMr8dL/T66b8aHCNcw3iReotKT/3na0EVy5dMAL/l289rPkuhkfkmntfytesEQ8c0Ca2k61mqul/a/EN1nxghuk2XxEUuab4U2ewWVWcw1pPSmcNtX82nYSJ7japezR2rFH68nhZo+KON6l7FGayFLmx4WPKDPim9WSmvk3tiOJiEgqPXnURXosn4UaLVPhY/CpNnOJiIhnAvHM9vBYBvvFM0udHDRFHBo4zb3im93iB5nwjLW51/r88IO89i+IZzaEN1EGrzs1c4sXnDvJDyDT2j9mO4ozXOxS9mjt2KN15HC4R0Xc7VL2KBERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERERER0QRRzaJTntkuqfR1Nb3udTM+FC4C1n7GeOKJn24VP1g3rtcgIoobu5SIiKhK1QyaTW2nyg9n/sHgfxZWPb54zO+ZMuVd4k0/TSa3vntc+ThoElESsEuJiIiqVM2gOUxVg2ZUOGgSURKwS4mIiKrkBc+IF9xeeHSKHxwUz9woIpOKzym5bMAz2yf5AQYf4pnto77u8MsGUunJhcH2bPHNS+IFveKZleIHHy/Pk/4n8YJ94ptu8UwgKfPrEYOmZ74vXvC6eKZfPLNZfHNVyfdfLl7QI96dHy3ZNkM8s1mab33feHYVEVFF7FIiIqIqecEzhQHqN+IHHxc/uEx8c0xSwQ+KzykZNJvaTg0Hw2CqeNNPk6a2U0d93UqDphe8IF77WdJy5yfEM8+JH6wY+p5U+9fEM/2SSn8vzGJ+IZ7pKhs0w3y7pSV9iaTSH5aW9CXimUPSYr5Tkvd+8YIXZXLruyVlLhQ/yEhL+i8i3W9ERKXYpURERFUKB81NUnqWLmV+XdhWeE75jZNVXTYw1lm7oddNXzDJDyBTW08u/DsrJWWmD8v3Qtmg6Zk3xUtfWv4c81PxzMqh/77yjg+Kb3aKZ+4Q3+wVL7jhuPuBiGg82KVERERV8oJnxA/uKtuWSn9JfJOVKVPeFT4nwkGz9CzfNPPZSX4AuXbmnxWyHBEvfXnZ6/jBbUODZuqW9xfO/PWGlwYMPky/eMG+Ye/r3DBnsEKk9aSa9gkRUa3YpURERFVq9KB53W1/VPy3288It834UCHLEfHNt8tep3TQvDb9x4WB8DJpNh8pe6TSHy7/PvML8YKc+MHb0tR2Si27hIioZuxSIiKiKhUvGyjddtNYlw2IZwbEC74y5uvWNWiOctmAb1aVXzYQdEgq/bMx/+1p7X8rnhmQlvbzxQ/WixfcPebziYjGi11KRERUpeKNk7eKH3xcvPSl4gU9kjI/Kj5n+KAZbBHP3CHe9NPkyjs+OOrr1jVopr8uftAnqfR3ZVr7x8Qz/zLixslw1pZeSaWvkWntH5PmmZ+WVPq7kgqmiYiIH3xA/GCb+OY/RESkeeanCzO8TIlmhxERjYJdSkREVCUveEZSZno4vWLQKb45LF76l1Jp6kgRkZS5SHyzVXyTrXnqyLEGzTDPDeKZA+KbbvHNLPHMzSOmjkyZb4pn1oofZMQ3h8U3z0qq/csiIuIHd4kfrJemtvcWnx9ME88ckuYZp9e7m4iIxsQuJSIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiIiv+P3nY7jByKZhtAAAAAElFTkSuQmCC\" width=\"800\">" + ], + "text/plain": [ + "<IPython.core.display.HTML object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { "name": "stdout", "output_type": "stream", "text": [ - "Channel 28 offset: 2.643lsb\n", - "Channel 29 offset: 2.616lsb\n", - "Channel 30 offset: 2.633lsb\n", "Channel 31 offset: 2.681lsb\n", + "Channel 30 offset: 2.633lsb\n", + "Channel 29 offset: 2.616lsb\n", + "Channel 28 offset: 2.643lsb\n", "Offset statistics: mean=2.6432lsb, stdev=0.0276lsb\n" ] + } + ], + "source": [ + "plot_run('All channels, blue runs', *fetch_runs('green1', 'green2', 'green3', 'green4'))" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\n", + "\n", + "mpl.get_websocket_type = function() {\n", + " if (typeof(WebSocket) !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof(MozWebSocket) !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert('Your browser does not have WebSocket support.' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.');\n", + " };\n", + "}\n", + "\n", + "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = (this.ws.binaryType != undefined);\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById(\"mpl-warnings\");\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent = (\n", + " \"This browser does not support binary websocket messages. \" +\n", + " \"Performance may be slow.\");\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = $('<div/>');\n", + " this._root_extra_style(this.root)\n", + " this.root.attr('style', 'display: inline-block');\n", + "\n", + " $(parent_element).append(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", + " fig.send_message(\"send_image_mode\", {});\n", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\n", + " fig.send_message(\"refresh\", {});\n", + " }\n", + "\n", + " this.imageObj.onload = function() {\n", + " if (fig.image_mode == 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function() {\n", + " this.ws.close();\n", + " }\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "}\n", + "\n", + "mpl.figure.prototype._init_header = function() {\n", + " var titlebar = $(\n", + " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", + " 'ui-helper-clearfix\"/>');\n", + " var titletext = $(\n", + " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", + " 'text-align: center; padding: 3px;\"/>');\n", + " titlebar.append(titletext)\n", + " this.root.append(titlebar);\n", + " this.header = titletext[0];\n", + "}\n", + "\n", + "\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._init_canvas = function() {\n", + " var fig = this;\n", + "\n", + " var canvas_div = $('<div/>');\n", + "\n", + " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", + "\n", + " function canvas_keyboard_event(event) {\n", + " return fig.key_event(event, event['data']);\n", + " }\n", + "\n", + " canvas_div.keydown('key_press', canvas_keyboard_event);\n", + " canvas_div.keyup('key_release', canvas_keyboard_event);\n", + " this.canvas_div = canvas_div\n", + " this._canvas_extra_style(canvas_div)\n", + " this.root.append(canvas_div);\n", + "\n", + " var canvas = $('<canvas/>');\n", + " canvas.addClass('mpl-canvas');\n", + " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", + "\n", + " this.canvas = canvas[0];\n", + " this.context = canvas[0].getContext(\"2d\");\n", + "\n", + " var backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", + "\n", + " var rubberband = $('<canvas/>');\n", + " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", + "\n", + " var pass_mouse_events = true;\n", + "\n", + " canvas_div.resizable({\n", + " start: function(event, ui) {\n", + " pass_mouse_events = false;\n", + " },\n", + " resize: function(event, ui) {\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " stop: function(event, ui) {\n", + " pass_mouse_events = true;\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " });\n", + "\n", + " function mouse_event_fn(event) {\n", + " if (pass_mouse_events)\n", + " return fig.mouse_event(event, event['data']);\n", + " }\n", + "\n", + " rubberband.mousedown('button_press', mouse_event_fn);\n", + " rubberband.mouseup('button_release', mouse_event_fn);\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband.mousemove('motion_notify', mouse_event_fn);\n", + "\n", + " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", + " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", + "\n", + " canvas_div.on(\"wheel\", function (event) {\n", + " event = event.originalEvent;\n", + " event['data'] = 'scroll'\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " mouse_event_fn(event);\n", + " });\n", + "\n", + " canvas_div.append(canvas);\n", + " canvas_div.append(rubberband);\n", + "\n", + " this.rubberband = rubberband;\n", + " this.rubberband_canvas = rubberband[0];\n", + " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", + " this.rubberband_context.strokeStyle = \"#000000\";\n", + "\n", + " this._resize_canvas = function(width, height) {\n", + " // Keep the size of the canvas, canvas container, and rubber band\n", + " // canvas in synch.\n", + " canvas_div.css('width', width)\n", + " canvas_div.css('height', height)\n", + "\n", + " canvas.attr('width', width * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", + "\n", + " rubberband.attr('width', width);\n", + " rubberband.attr('height', height);\n", + " }\n", + "\n", + " // Set the figure to an initial 600x600px, this will subsequently be updated\n", + " // upon first draw.\n", + " this._resize_canvas(600, 600);\n", + "\n", + " // Disable right mouse context menu.\n", + " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", + " return false;\n", + " });\n", + "\n", + " function set_focus () {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('<div/>')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " // put a spacer in here.\n", + " continue;\n", + " }\n", + " var button = $('<button/>');\n", + " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", + " 'ui-button-icon-only');\n", + " button.attr('role', 'button');\n", + " button.attr('aria-disabled', 'false');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + "\n", + " var icon_img = $('<span/>');\n", + " icon_img.addClass('ui-button-icon-primary ui-icon');\n", + " icon_img.addClass(image);\n", + " icon_img.addClass('ui-corner-all');\n", + "\n", + " var tooltip_span = $('<span/>');\n", + " tooltip_span.addClass('ui-button-text');\n", + " tooltip_span.html(tooltip);\n", + "\n", + " button.append(icon_img);\n", + " button.append(tooltip_span);\n", + "\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " var fmt_picker_span = $('<span/>');\n", + "\n", + " var fmt_picker = $('<select/>');\n", + " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", + " fmt_picker_span.append(fmt_picker);\n", + " nav_element.append(fmt_picker_span);\n", + " this.format_dropdown = fmt_picker[0];\n", + "\n", + " for (var ind in mpl.extensions) {\n", + " var fmt = mpl.extensions[ind];\n", + " var option = $(\n", + " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", + " fmt_picker.append(option)\n", + " }\n", + "\n", + " // Add hover states to the ui-buttons\n", + " $( \".ui-button\" ).hover(\n", + " function() { $(this).addClass(\"ui-state-hover\");},\n", + " function() { $(this).removeClass(\"ui-state-hover\");}\n", + " );\n", + "\n", + " var status_bar = $('<span class=\"mpl-message\"/>');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "}\n", + "\n", + "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", + " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", + " // which will in turn request a refresh of the image.\n", + " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", + "}\n", + "\n", + "mpl.figure.prototype.send_message = function(type, properties) {\n", + " properties['type'] = type;\n", + " properties['figure_id'] = this.id;\n", + " this.ws.send(JSON.stringify(properties));\n", + "}\n", + "\n", + "mpl.figure.prototype.send_draw_message = function() {\n", + " if (!this.waiting) {\n", + " this.waiting = true;\n", + " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", + " }\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " var format_dropdown = fig.format_dropdown;\n", + " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", + " fig.ondownload(fig, format);\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", + " var size = msg['size'];\n", + " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", + " fig._resize_canvas(size[0], size[1]);\n", + " fig.send_message(\"refresh\", {});\n", + " };\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", + " var x0 = msg['x0'] / mpl.ratio;\n", + " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", + " var x1 = msg['x1'] / mpl.ratio;\n", + " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", + " x0 = Math.floor(x0) + 0.5;\n", + " y0 = Math.floor(y0) + 0.5;\n", + " x1 = Math.floor(x1) + 0.5;\n", + " y1 = Math.floor(y1) + 0.5;\n", + " var min_x = Math.min(x0, x1);\n", + " var min_y = Math.min(y0, y1);\n", + " var width = Math.abs(x1 - x0);\n", + " var height = Math.abs(y1 - y0);\n", + "\n", + " fig.rubberband_context.clearRect(\n", + " 0, 0, fig.canvas.width, fig.canvas.height);\n", + "\n", + " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", + " // Updates the figure title.\n", + " fig.header.textContent = msg['label'];\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", + " var cursor = msg['cursor'];\n", + " switch(cursor)\n", + " {\n", + " case 0:\n", + " cursor = 'pointer';\n", + " break;\n", + " case 1:\n", + " cursor = 'default';\n", + " break;\n", + " case 2:\n", + " cursor = 'crosshair';\n", + " break;\n", + " case 3:\n", + " cursor = 'move';\n", + " break;\n", + " }\n", + " fig.rubberband_canvas.style.cursor = cursor;\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_message = function(fig, msg) {\n", + " fig.message.textContent = msg['message'];\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", + " // Request the server to send over a new figure.\n", + " fig.send_draw_message();\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", + " fig.image_mode = msg['mode'];\n", + "}\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function() {\n", + " // Called whenever the canvas gets updated.\n", + " this.send_message(\"ack\", {});\n", + "}\n", + "\n", + "// A function to construct a web socket function for onmessage handling.\n", + "// Called in the figure constructor.\n", + "mpl.figure.prototype._make_on_message_function = function(fig) {\n", + " return function socket_on_message(evt) {\n", + " if (evt.data instanceof Blob) {\n", + " /* FIXME: We get \"Resource interpreted as Image but\n", + " * transferred with MIME type text/plain:\" errors on\n", + " * Chrome. But how to set the MIME type? It doesn't seem\n", + " * to be part of the websocket stream */\n", + " evt.data.type = \"image/png\";\n", + "\n", + " /* Free the memory for the previous frames */\n", + " if (fig.imageObj.src) {\n", + " (window.URL || window.webkitURL).revokeObjectURL(\n", + " fig.imageObj.src);\n", + " }\n", + "\n", + " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", + " evt.data);\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", + " fig.imageObj.src = evt.data;\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + "\n", + " var msg = JSON.parse(evt.data);\n", + " var msg_type = msg['type'];\n", + "\n", + " // Call the \"handle_{type}\" callback, which takes\n", + " // the figure and JSON message as its only arguments.\n", + " try {\n", + " var callback = fig[\"handle_\" + msg_type];\n", + " } catch (e) {\n", + " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", + " return;\n", + " }\n", + "\n", + " if (callback) {\n", + " try {\n", + " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", + " callback(fig, msg);\n", + " } catch (e) {\n", + " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", + " }\n", + " }\n", + " };\n", + "}\n", + "\n", + "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", + "mpl.findpos = function(e) {\n", + " //this section is from http://www.quirksmode.org/js/events_properties.html\n", + " var targ;\n", + " if (!e)\n", + " e = window.event;\n", + " if (e.target)\n", + " targ = e.target;\n", + " else if (e.srcElement)\n", + " targ = e.srcElement;\n", + " if (targ.nodeType == 3) // defeat Safari bug\n", + " targ = targ.parentNode;\n", + "\n", + " // jQuery normalizes the pageX and pageY\n", + " // pageX,Y are the mouse positions relative to the document\n", + " // offset() returns the position of the element relative to the document\n", + " var x = e.pageX - $(targ).offset().left;\n", + " var y = e.pageY - $(targ).offset().top;\n", + "\n", + " return {\"x\": x, \"y\": y};\n", + "};\n", + "\n", + "/*\n", + " * return a copy of an object with only non-object keys\n", + " * we need this to avoid circular references\n", + " * http://stackoverflow.com/a/24161582/3208463\n", + " */\n", + "function simpleKeys (original) {\n", + " return Object.keys(original).reduce(function (obj, key) {\n", + " if (typeof original[key] !== 'object')\n", + " obj[key] = original[key]\n", + " return obj;\n", + " }, {});\n", + "}\n", + "\n", + "mpl.figure.prototype.mouse_event = function(event, name) {\n", + " var canvas_pos = mpl.findpos(event)\n", + "\n", + " if (name === 'button_press')\n", + " {\n", + " this.canvas.focus();\n", + " this.canvas_div.focus();\n", + " }\n", + "\n", + " var x = canvas_pos.x * mpl.ratio;\n", + " var y = canvas_pos.y * mpl.ratio;\n", + "\n", + " this.send_message(name, {x: x, y: y, button: event.button,\n", + " step: event.step,\n", + " guiEvent: simpleKeys(event)});\n", + "\n", + " /* This prevents the web browser from automatically changing to\n", + " * the text insertion cursor when the button is pressed. We want\n", + " * to control all of the cursor setting manually through the\n", + " * 'cursor' event from matplotlib */\n", + " event.preventDefault();\n", + " return false;\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " // Handle any extra behaviour associated with a key event\n", + "}\n", + "\n", + "mpl.figure.prototype.key_event = function(event, name) {\n", + "\n", + " // Prevent repeat events\n", + " if (name == 'key_press')\n", + " {\n", + " if (event.which === this._key)\n", + " return;\n", + " else\n", + " this._key = event.which;\n", + " }\n", + " if (name == 'key_release')\n", + " this._key = null;\n", + "\n", + " var value = '';\n", + " if (event.ctrlKey && event.which != 17)\n", + " value += \"ctrl+\";\n", + " if (event.altKey && event.which != 18)\n", + " value += \"alt+\";\n", + " if (event.shiftKey && event.which != 16)\n", + " value += \"shift+\";\n", + "\n", + " value += 'k';\n", + " value += event.which.toString();\n", + "\n", + " this._key_event_extra(event, name);\n", + "\n", + " this.send_message(name, {key: value,\n", + " guiEvent: simpleKeys(event)});\n", + " return false;\n", + "}\n", + "\n", + "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", + " if (name == 'download') {\n", + " this.handle_save(this, null);\n", + " } else {\n", + " this.send_message(\"toolbar_button\", {name: name});\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", + " this.message.textContent = tooltip;\n", + "};\n", + "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", + "\n", + "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", + "\n", + "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", + " // Create a \"websocket\"-like object which calls the given IPython comm\n", + " // object with the appropriate methods. Currently this is a non binary\n", + " // socket, so there is still some room for performance tuning.\n", + " var ws = {};\n", + "\n", + " ws.close = function() {\n", + " comm.close()\n", + " };\n", + " ws.send = function(m) {\n", + " //console.log('sending', m);\n", + " comm.send(m);\n", + " };\n", + " // Register the callback with on_msg.\n", + " comm.on_msg(function(msg) {\n", + " //console.log('receiving', msg['content']['data'], msg);\n", + " // Pass the mpl event to the overriden (by mpl) onmessage function.\n", + " ws.onmessage(msg['content']['data'])\n", + " });\n", + " return ws;\n", + "}\n", + "\n", + "mpl.mpl_figure_comm = function(comm, msg) {\n", + " // This is the function which gets called when the mpl process\n", + " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", + "\n", + " var id = msg.content.data.id;\n", + " // Get hold of the div created by the display call when the Comm\n", + " // socket was opened in Python.\n", + " var element = $(\"#\" + id);\n", + " var ws_proxy = comm_websocket_adapter(comm)\n", + "\n", + " function ondownload(figure, format) {\n", + " window.open(figure.imageObj.src);\n", + " }\n", + "\n", + " var fig = new mpl.figure(id, ws_proxy,\n", + " ondownload,\n", + " element.get(0));\n", + "\n", + " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", + " // web socket which is closed, not our websocket->open comm proxy.\n", + " ws_proxy.onopen();\n", + "\n", + " fig.parent_element = element.get(0);\n", + " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", + " if (!fig.cell_info) {\n", + " console.error(\"Failed to find cell for figure\", id, fig);\n", + " return;\n", + " }\n", + "\n", + " var output_index = fig.cell_info[2]\n", + " var cell = fig.cell_info[0];\n", + "\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_close = function(fig, msg) {\n", + " var width = fig.canvas.width/mpl.ratio\n", + " fig.root.unbind('remove')\n", + "\n", + " // Update the output cell to use the data from the current canvas.\n", + " fig.push_to_output();\n", + " var dataURL = fig.canvas.toDataURL();\n", + " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", + " // the notebook keyboard shortcuts fail.\n", + " IPython.keyboard_manager.enable()\n", + " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", + " fig.close_ws(fig, msg);\n", + "}\n", + "\n", + "mpl.figure.prototype.close_ws = function(fig, msg){\n", + " fig.send_message('closing', msg);\n", + " // fig.ws.close()\n", + "}\n", + "\n", + "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", + " // Turn the data on the canvas into data in the output cell.\n", + " var width = this.canvas.width/mpl.ratio\n", + " var dataURL = this.canvas.toDataURL();\n", + " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + "}\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function() {\n", + " // Tell IPython that the notebook contents must change.\n", + " IPython.notebook.set_dirty(true);\n", + " this.send_message(\"ack\", {});\n", + " var fig = this;\n", + " // Wait a second, then push the new image to the DOM so\n", + " // that it is saved nicely (might be nice to debounce this).\n", + " setTimeout(function () { fig.push_to_output() }, 1000);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('<div/>')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items){\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) { continue; };\n", + "\n", + " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", + " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", + " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", + " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", + " buttongrp.append(button);\n", + " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", + " titlebar.prepend(buttongrp);\n", + "}\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(el){\n", + " var fig = this\n", + " el.on(\"remove\", function(){\n", + "\tfig.close_ws(fig, {});\n", + " });\n", + "}\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(el){\n", + " // this is important to make the div 'focusable\n", + " el.attr('tabindex', 0)\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " }\n", + " else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " var manager = IPython.notebook.keyboard_manager;\n", + " if (!manager)\n", + " manager = IPython.keyboard_manager;\n", + "\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which == 13) {\n", + " this.canvas_div.blur();\n", + " // select the cell after this one\n", + " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", + " IPython.notebook.select(index + 1);\n", + " }\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " fig.ondownload(fig, null);\n", + "}\n", + "\n", + "\n", + "mpl.find_output_cell = function(html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i=0; i<ncells; i++) {\n", + " var cell = cells[i];\n", + " if (cell.cell_type === 'code'){\n", + " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", + " var data = cell.output_area.outputs[j];\n", + " if (data.data) {\n", + " // IPython >= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] == html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "}\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel != null) {\n", + " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", + "}\n" + ], + "text/plain": [ + "<IPython.core.display.Javascript object>" + ] + }, + "metadata": {}, + "output_type": "display_data" }, { "data": { - "image/png": "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\n", + "text/html": [ + "<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAlgAAAGQCAYAAAByNR6YAAAgAElEQVR4nO3deZQc5Z3m+1d2X5uZtrnT9wwzPs1MXxu77TPd9hjOdM89d+Z2id1sZrNlEBiDdzbZSJURDYwX9YBXvNAyQqgyApdKu5CE2IQkJBCgXYAW0IL2pbSUqkq1L5mR8XvuH1FVkSWVKqMqlzcy3+dzTp3Tjq7Kiq+ipPdH1puRShEREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREcXKGLW0+Xyl1BjdJ0JERERUGZY2n3/eqhTaPMFwen3BY/s99PrDf14lMrkdYD/72W9qv8ntQPR+3cs4xY2VfEDZzk71aN3uKANWmyeI8nmVyOR2gP3sZ7+p/Sa3A9H7dS/nFFcRn8Fq8wQXrDbzL5rJ7QD72c9+U/tNbgei9+teximuIg5YREREdDbdyzjFFQcsIiKiUdO9jFNcccAiIiIaNd3LOMXVCPZgmTqImdwOsJ/97De13+R2AGg73YOvPb2fe7BolDhg5WRyO8B+9rPf1H6T2+V4O7zxi+CNnYHOFQeG/VzdyzjFFQesnExuB9jPfvab2m9qu+w8BblxHqSqFsevm4eOd08M+/m6l3GKq4gDloigzROImPUXDTC7HWA/+9lvar+J7fL2YcjVsyBVtZDbFqJ9/+mc/bqXcYorbnInIiKCLNoJuXRGMFx9/yXI6e5IX6d7Gae44oBFREQGE9+HTN0cDFZVtRD7NUiPF/nrdS/jFFcRB6x2T3DRmhTaDRzETG4H2M9+9pvab0K7pDOQn78RDle/WwfJ+ACi9+teximuuMk9J5PbAfazn/2m9ld6u3SkIA8sDQarsbWQmduBrP1WfC9Cyg8HrJxMbgfYz372m9pfye1yvANy5+JguLpyJuS1/Wd9DgesSmYl71O2u11ZTruynHZlO+tVdc21SimlJjr/l7KdPynb+VBZbrey3CPKSk5RP5j+f47oe0QcsDIi2NHhI2PQq0n6mdwOsJ/97De1v1LbZXcj5KbgNgxy/RzIe0PfhiFqfzGWfyq2hPNVZSWvU5NqPq8m1XxeWclfKMtJq4k1f68SzheV7SwKPmf6Z1Uiebmy3D3KchaO6HtwkzsRERlC1h6BfKXvNgzjnoMcPJ33YxZpAqCSs53TKpH87pD/P8sZp2w3pS6d/BeRH48DFhERGUCW7IZc1ncbhu+8AGmKdhuGXAq1vJMu48Z9VCWc25XtplT1M3835OdYzveU5TSO6HEjDlidGUHV5jQ6M+YNYia3A+xnP/tN7a+UdvF9yDPvhK8UTKyIdBuGqP2FWOJJh4nTv6Qst1NZbkbZTquyktcN+XnV0/+9sp3Dykr+YtjHmzDl42rClPMHPqatu/C8VSnU9/ho8wQ9WT9IKT+4i2+bJzjR6w9s9vOyjmf/4GUkPJ79slbJOn7mIJd93M/6PXdH1nHPD493ZsLj6azj3VnHe7OO92ad67naurKOD9XWv9Gx/8+oktqA3Netvsc/a6NnpbRFuW791/94r19xbVGuW//1b0r5FdcW5br1X/9TKb/i2nJdt8aUP/BvX9m2pTz0Tn4zHK5+sxaS8SNdt+NZ695wbcVY+qkUxk3+mJrofE7Z7j8oy/2VspzGs57BmjDlfGU7G5XlvKp+MP3/GPbx7OTkMbaLgY9H6nDeqtTAh7UnnOqfPZYZOD5uW3rgB21Fkz9wvGpzeuDzd3SExy9akxr0Fyj7e2S7YHV4/GhP+EN7yYb0wPH1reE/7DdsCY8vbAiP37vTGzj+5OHMwPHH9ns528ZvDxuGajvz/CupDYh+3bL/Yay0tmxntvV/7pfXpyqubSTXbebxsKHS2oa7bv3f8yd7K68t13WbeqS826QzhT0/XAapqkWmqhbPT9k28PlRrtv/3BSue8O1FXMEoFKynJXKcqcP/G/b/aSynHXKclaqeyafl/PrR/kMVlvax4omH55v3jNYni94tTGD5pSZz2A1p3wsacgMOtdKaYty3Tw/+I+KlpSZz2D1X/9uz8xnsPqvf6dn3jNYXV5w7ZtT5fcMlpzshNz1PKSqFv4VdehaunfE1601a93jM1gmsJzXle3UKqX6n7laryx3tfrB9H87qsfjJnciIqogsqcJcsv84FeC182BvHO8qN+vgCs8lYzt/FJZyX9SD037dN9erF8pyxVVnbwqeObK3RDcJ2v6Z5U19VMDH+PGfTTy9+CARUREFUI2HIVcMzsYrr6+ALI//9sw5FLEKYCKxnJcZTmHlO2mlO2eUpazUlUnr1JKKZVIXjpoL1XWh3po2qcjf4+IA1ZXRjB+e3rQU6mmMLkdYD/72W9qf7m1y4sfQi7vuw3DPS9AGrvyeryo/UWaAKhsWckHlO3sVI/W7Y4yYLV5lfuWCbmY3A6wn/3sN7W/XNrF9yHJd8NXCk5cDulK5/7CHKL2617OKa74XoQ5mdwOsJ/97De1vxzaxctAHnsrHK5++TbEy+T+wgg4YFF+Ig5YKV/w7LEMUn58/6IVi8ntAPvZz35T++PeLl1pyI+D2zDI2FrIs1sK+vhR+3Uv4xRX3ORORERlRho6IXcvCYary+sgr+zRdi66l3GKKw5YRERURmRvM+TWBcFwde1syMZjWs9H9zJOcRVxwOrJCKw93qAbtZnC5HaA/exnv6n9cWyXTfXBUFVVGwxZ+5qL9r2i9uteximuuMk9J5PbAfazn/2m9setXV7ZA7miLhiu7l4COdVZ1O/HTe6UHw5YOZncDrCf/ew3tT827SKQZ7cEG9mraoON7Z2p3F+XJw5YlJ+IA1avL3hsvzfo/atMYXI7wH72s9/U/ji0i5cJbr3QfxuGx94q2G0Yconar3sZp7jiJnciIooh6U5DJi0Ph6vkexCJ31qlexmnuOKARUREMSONnZBvv9B3G4YZkBc/1H1K56R7Gae4GsGvCJ88nDH2aXJT2wH2s5/9pvbrapd9p4M3aq6qhXxlFmRDfUm/f7+o/bqXcYorbnLPyeR2gP3sZ7+p/Tra5Z1jkOvmBMPVLfMhe5pK9r3PxE3ulB8OWDmZ3A6wn/3sN7W/1O2ybF94G4a7noc0FPc2DLlwwKL8RBywujOCe3d66I7RDedKxeR2gP3sZ7+p/SVrF4HM2BrehmHCqyW5DUMuUft1L+MUV9zkTkREmkjGh/xmbfhKwcmrIenS3IahUHQv4xRXHLCIiEgD6U5DEivC4eqZd2J5G4ZcdC/jFFcRB6y0L1jY4CNt4CtpTG4H2M9+9pvaX8x2aeqCfPfFYLC6bAbk+d0F/x75itqvexmnuOIm95xMbgfYz372m9pfrHY52AIZ91x4G4Z1Rwv6+IXCTe6UHw5YOZncDrCf/ew3tb8Y7fLeccj1fbdhuGkeZFdjwR670DhgUX4iDlidGcENW9LoNPCVNCa3A+xnP/tN7S90u6zYD7lyZjBcfXMx5ERHQR63WKL2617GKa64yZ2IiIpJBDJre3gbhgeWQjr034ahUHQv4xRXHLCIiKhIJONDfrcufKXgz94ou9sw5KJ7Gae4ijhgeb5gfasPz8BX0pjcDrCf/ew3tT/fdulOQ/55ZThcTd1cVrdhiNqvexmnuOIm95xMbgfYz372m9qfT7s0d0G+91IwWF06A7JoVxHOsLi4yZ3ywwErJ5PbAfazn/2m9o+2XQ61QG5bGAxXV8+CvH24SGdYXBywKD8RB6wOT3DJhjQ6DPxHxuR2gP3sZ7+p/aNply0nIDfMDYarG+dBdp4q4hkWV9R+3cs4xRU3uRMRUQHIqgPhbRjuWAQ53q77lEpC9zJOccUBi4iI8iECmfN+sNeqqhZy7yuQtl7dZ1UyupdxiquIA5YvgqM9Ar+MXgFSKCa3A+xnP/tN7Y/SLr4P+eP68JWCP3kdkvJKeJbFE/Xa617GKa64yT0nk9sB9rOf/ab252qXnjTk4azbMEzZWFa3YciFm9wpPxywcjK5HWA/+9lvav9w7XK6G/LDl8PbMCzYoeEMi4sDFuVnBAPWBavN/UfG1HaA/exnv6n952qXw62Q2xcFw9VVMyFvHtJ0hsUV9drrXsYprrjJnYiIIpJtJ4PbL1TVBrdj2FG+t2EoFN3LOMWNlXxA2c5O9Wjdbg5YRESUi7x+EHJ1320Ybl8EqW/TfUqxoHs5p7jiM1hERDQcEci8D8LbMPzwZUhrj+6zig3dyzjFFTe552RyO8B+9rPf1P42T3Deyl70PLkxfKXgI6sgvZVxG4ZcuMmd8sMBKyeT2wH2s5/9pva3dabx5x+9FQ5XT26A+Ob8OXDAovxwwMrJ5HaA/exnv4n90tyNdN9tGPyxtZB5H+g+pZLjgEX5iThgiQjaPKmom8hFZXI7wH72s9+0ftl/GvKNhcFwddVMyKoDuk9Ji6jXXvcyTnHFTe5ERNRHNhyFXDcn+JXgjfN4G4YIdC/jFFccsIiISASyeBfk8rpguLrreciJDt1nVRZ0L+MUVxEHrHZPcNGaFNoNHMRMbgfYz372V3q/ZPzgfQT7N7NPXA7pShnRPpyo/bqXcYorbnLPyeR2gP3sZ38l90vXGW/Y/MQ6SMYHUPntuXCTO+WHA1ZOJrcD7Gc/+yu1X051Qr77YviGzfMHv1Kwktuj4IBF+Yk4YGVEsKPDR8agV9L0M7kdYD/72V+J/bK7EfK1BcFwdfUsyJojZ31OpbZHFbVf9zJOccVN7kRERpE3D0GumR0MV7fOh+xt1n1KZU33Mk5xxQGLiMgMIpA570Mu63tPwe+8AGns0n1WZU/3Mk6jUe1UKct9SdnO8TG2C2U7N5/1OQ8l/4uynBeV5bYp2+lSlrNZ/Xj630T+HhEHrM6MoGpzGp0Z8wYxk9sB9rOf/ZXQL54PeWJtuJn9n1dCetLDfk2ltI9W1P5CLvtUKtU11yrbeVxVJ28dcsCypn9WWU6zSiR/qyY5lyhr+meV7d6oEtP+Q+TvwU3uOZncDrCf/ewv937p6IVMWh4OV09tivSegpXQng9ucjfE0AOWM09Zzsy8HpgDVk4mtwPsZz/7y7lfjrVB7l4SDFaXzYAs2R35a8u9PV8csAxx9oA1+SPKdjpUIvlTZTnLle2eUrazcchfI2abMOXjasKU8wc+pq278LxVKdT3+GjzBD1ZT4Wm/OB9mNo8QVvax4omH54v8LKOZz91mpHwePaN2STr+Jk/qNnH/axXanRkHfey/kurMxMeT2cd78463pt1vDfrXM/V1pV1fKg2zxe82phBc8qvuDYg93VrTvlY0pAZdK6V0hblunm+YEWTj5a+619JbVGuW//17/b8imuLct36r3+n55ddW8eWk/Bvnh8MV9fORs+G+hFdty4vuPbNKT92baX4+9aate4N11bk5Z+K7awBy5r6qb5jXcpyJiqr5mJlJR9WlivKqhl7zgeyk5PH2C4GPh6pw3mrUgMf1h5v4Afn2WOZgePjt4e/q1/R5A8cr9ocHt/RER6/aE1q0F+g7O+R7YLV4fGjPeEP7SUb0gPH17eG/7DfsCU8vrAhPH7vTm/g+JOHMwPHH9vvsY1tbGObWW3vpXHD9ENouarvlYLjnoMcaqmMthhet1LMAFREZw1YtvvXY2wXynLnDPpEy3lR2c7ccz7QKJ/BMvG/XtjGNraxrezaRND77Fb4lwavFPR/8DKkpbsy2mJ63Yq28FNpnDVgjZv8MWU7nrKcnwz6RMv5jbLdtZEfOOIerK6MYPz29KAfRFOY3A6wn/3sL5d+SXmQx98KN7P/7A1Ir5f7C8+hnNqLIWp/wRZ60uMcm9zXnbXJ3XKeP+tZreFwk3tOJrcD7Gc/+8uhX1q6IRNeDYermnched6BvVzaiyVqf0EWeSqx+6d+IthbVXNx8OvAvr1W/fe5StTcoiwnrRLu99VE53Mq4TyoLDejqqf/f5G/BwesnExuB9jPfvbHvV8OtUDuWBwMVpfXQZbtK8jjlkN7MXHAqmSJ5KWDNqT3fSjbqR34HMv5jrKdvcp2e5TtblWJ5E0j+h4RB6yUL3j2WAapCPdOqTQmtwPsZz/749wv7xyDfHVuMFxdPwey9UTBHjvu7cUWtb/AKz9VDL5VDhFR+RGBvPQh5MqZwXA1fhGkvk33WRlJ9zJOccUBi4iorEjGhzzzDmRs336rB5dC2nt1n5axdC/jFFcRB6yejMDa4w16maspTG4H2M9+9sepX3rSwasD+zez/+ItSNZNYAspbu2lFrVf9zJOccVN7jmZ3A6wn/3sj0u/NHZC7n05GKzG1kLqtuX9SsHhxKldB25yp/xwwMrJ5HaA/exnfxz6ZU8T5LaFwXB15UzI6weK/j3j0q4LByzKT8QBq9cXPLbfG3SHXFOY3A6wn/3s19ovAll7JHiFYFUt5MZ5kJ2nSvKttbdrFrVf9zJOccVN7kRE8SQCWbgTckVdMFzd9TzkZIfus6Iz6F7GKa44YBERxY54Gci/bgg3s09aDulM5f5CKjndyzjF1Qh+Rfjk4YyRTxWb3A6wn/3sL3W/dKYg/7wyHK5+tw6SKc4rBYfDax+tX/cyTnHFTe45mdwOsJ/97C9lv5xoh3z3xWCwunQGZMGOknzfofDac5M75YMDVk4mtwPsZz/7S9UvH5yCfH1BMFxdPQuy5kjRv+dweO05YFE+Ig5Y3RnBvTs9dBt4wzmT2wH2s5/9Re8Xgbx+AHLN7GC4umU+ZF9z8b5fRLz20fp1L+MUV9zkTkSkjy+Q2dshl80IhqtvvwBp7NJ9VjQCupdxiisOWEREWkhvBvLbteFm9odXQno93adFI6R7Gae4ijhgpX3BwgYfaQNfTWJyO8B+9rO/GP3S1hvceqF/uHpqEyRmf8a89tH6dS/jFFfc5J6Tye0A+9nP/kL3y5FWyN1LgsHqshmQF3YX7LELideem9wpHxywcjK5HWA/+9lfyH7ZciLYxF5VC7l2NmTzsYI8bjHw2nPAonxEHLA6M4IbtqTRaeCrSUxuB9jPfvYXpF8E8ure4PYLVbWQcc9BDrYU5ByLhdc+Wr/uZZziipvciYiKK+NDnt0S3Di0qhbyw5chp7t1nxUViO5lnOKKAxYRUdFIdxry+FvhZvafvQFJZXSfFhWQ7mWc4irigOX5gvWtPjwDX01icjvAfvazf7T90twNmfBqOFwl34VI+fw58tpH69e9jFNccZN7Tia3A+xnP/tH0y/7TkPuXBwMVpfXQV7dW6QzLB5ee25yp3xwwMrJ5HaA/exn/4j6RSAb6iE3zg2Gq+vnQLaeKO5JFgmvPQcsykfEAavDE1yyIY0OA/+imdwOsJ/97I/c7wvkhd2QK2cGw9X4RZD6tuKfZJHw2kfr172MU1xxkzsRUd4knYFMewcytm+/1YNLIe0p3adFJaB7Gae44oBFRJQX6UwFrw7s38z+i7chnq/7tKhEdC/jFFcRByxfBEd7BH4ZvQKmUExuB9jPfvYP1y8NnZB7XwkGq7G1kLptZfVKweHw2kfr172MU1xxk3tOJrcD7Gc/+8/VLzsbIbctDIarK2dC3jhY+hMsIl57bnKnfHDAysnkdoD97Gf/Wf0ikDcPBa8QrKqF3DgPsrNR30kWCa89ByzKxwgGrAtWm/kXzeR2gP3sZ/+g/owPWbADckVdMFzd9TzkZIfekywSXvto/bqXcYorbnInIopEej3IkxvCzeyTlkO60rpPizTTvYxTXHHAIiLKSVp7IA+vDIer36+DZPhKQeKARefCAYuIaFhytBXy3RfDVwrO36H7lChGdC/jFFfc5J6Tye0A+9lvcL8I2t87id23LAqGq6tnQtYe0X1WJWP0tQc3uVO+OGDlZHI7wH72G9rvC2T5fmSunQ2pqkXmlvmQvc26z6qkjL32fThgUX44YOVkcjvAfvab1y8pD/LMO5BLZ0CqarH59hfR3tCl+7RKzsRrn40DFuUn4oAlImjzpGLuUDwSJrcD7Ge/Wf3ScsZm9p+9gbaOtDH92Uy79meK2q97Gae44iZ3IiIAgOxthnzr+XAz+6ztxg4XFJ3uZZziigMWEZlOBPLGIcgNc4Ph6trZkA1HdZ8VlQndyzjFVcQBq90TXLQmhXYDBzGT2wH2s7/C+zM+5M9bIZcF+63kzsWQo20D/++K7x+Gye1A9H7dyzjFFTe552RyO8B+9lduv3T0Qn72Rrjf6p9XnnVn9kruz8XkdoCb3ClfHLByMrkdYD/7K7NfDrdCvvNCuN/KfW/I/VaV2h+Fye0ABywaLSv5gLKdnerRut1RfoAyItjR4SNj4IZPk9sB9rO/wvpFIOvrITfOC4arr8yCvHXonJ9ecf0jYHI7EL1f93JOccVN7kRkCl8gc96HXFEXDFe3LYQcbNF9VlTmdC/jFFccsIjIANKThjz+VrjfauJySHuv7tOiCqB7Gae4ijhgdWYEVZvT6MyYN4iZ3A6wn/3l3y8nOiA/eCkcrqZugvjReiqhf7RMbgei9+teximuuMk9J5PbAfazv7z7ZcsJyC3zg8HqqpmQFftH9PXl3p8Pk9sBbnKnfHHAysnkdoD97C/TfhHI4l2QK2cGw9XXFkD2NI34Ycq2vwBMbgc4YJlt3LiPKst5TNnuQWW7Pcp296tE8qdKqTGRHyPigOX5ghVNPryIT6tXEpPbAfazv/z6JeVBnlgb/krwwaWQ1p5RPVY59heKye1A9P7iLfKkj+U+qmy3SSWc69VD0z6tqpNfV7bToRLJH0V+DG5yJ6IKIk1dkAeWhsPV79dDPF/3aVEFK+IqT9rYzsvKctwzji1SVnJW5MfggEVEFUJ2nIJ8/blgsLqiDvLSh7pPiQxQ6KWd4sByH1WWc0hNqvm8UkqpSc98WVlug7LdO8/5NROmfFxNmHL+wMe0dReetyqF+h4fbZ6gJ+vVEilf0OYFH40pH+O3p9GVEXhZx7NfXZGR8Hj2ezdJ1vEzB7ns437Wzdw6so5nPz3bmQmPp7OOd2cd78063pt1rudq68o6PlRbV0Zw+7YUTvT6FdcG5L5uJ3p9fH1ratBjVUpblOvWlRGM355GQ8qvuLYo163/+remw2eBYtcmgs6X98K/Kthv5d88D/JBQ862KNet//qfTvt62kZ53QrxM9mSDq79iV6/4tqiXLdTWevecG2lWvKppCZ/RCWcXyvLFWU7nrJcUQnnkWG/xE5OHmO7GPh4pA7nrUoNfFh7vIEfnGePZQaOj9uWHtjst6LJHzhetTl8364dHeHxi9akBv0Fyv4e2S5YHR4/2hP+0F6yIT1wfH1r+A/7DVvC4wsbwuP37vQGjj95ODNw/LH9Xs628dvDhqHazjz/SmoDol+37H8YK60t25lt/Z/75fWpimsbyXWbeTxsiFObeD5kysaBXwm+edcrOHasc0Rtw123/u/5k73led3y+ZmceqRy26Jct/+5KVz3hmsr0YJPJZVwble2c1QlnNvVxOlfUrZzl7KcZlXt3H3OrxnlM1gnev2BHzRT/uulv63/H4f+P6NKagNyX7f6nvDaV1pblOvWf/2P95r5DFb/9W9Kxe8ZLGntDW4Y2jdc9f7ibbR1ewX9mey//qdS5j2D1ZjyB/7tq7S2KNfteNa6x2ewTGM7R5WVfGDQMcv5ibKc3ZEfI+IerJQvePZYBikDX01icjvAfvbHs1/2NUNuXxgMV5fXQRbuKMr3iWt/KZjcDkTvL/TSTnFgOc3KSt436FjCeURZ7p7Ij8FN7kRUZmTVgeBNmqtqIV+dC3nvuO5TIoMVemmnOLCdWmW59QO3aUjU3KIsp1FZzm8iPwYHLCIqE+L7kOnvQMb23YLhnhcgJzt0nxYZroirPGlju59UlvOksp3DAzcatZ3H1bjJH4v8GBEHrJ6MwNrjDfodtilMbgfYz/549EtnCmK/Ft7f6merIb1e7i/MU1z6dTC5HYjeX8RVnsoa3yonJ5PbAfazX3+/HG6BfHNxMFhdOgMyaxtESnM+cejXxeR2gG+VQ/nigJWTye0A+9mvt1/WHoFcNycYrq6fA1l/tKTfX3e/Tia3AxywKF8RB6xeX/DYfm/Qy19NYXI7wH726+kX34fM2BY8Y1VVGzyDdbStpOcAmH39TW4HovfrXsYprrjJnYhiRno8yE9fD/dbPbwS0pXO/YVEGuheximuOGARUYzI8Y7g1YFVtcGrBZ33ID7frJniS/cyTnFjJR9QtrNTPVq3O+qvCJ88nDHyqWKT2wH2s790/fLOMcgNc4Ph6prZkDcOFv175mLy9Te5HYjer3s5p7jiJvecTG4H2M/+0vTLgg8gl/Xtt7p9EWT/6aJ+v6hMvv4mtwPc5E754oCVk8ntAPvZX9x+SXmQx98K91tNXA7p6C3K9xoNk6+/ye0AByzKV8QBqzsjuHenh24DbzhncjvAfvYXr19OdUK+/1K432rqptjttzL5+pvcDkTv172MU1xxkzsRaSDvN0BumhcMV1fPhCzbp/uUiEZF9zJOccUBi4hKTF7YDbmiLhiuxj0H2d2o+5SIRk33Mk5xFXHASvuChQ0+0ga+msTkdoD97C9cv3g+5Il14X6rB5dCTncX4CyLx+Trb3I7EL1f9zJOccVN7jmZ3A6wn/2F6ZfT3ZD7XgmHq9+tg3jx2m81FJOvv8ntADe5U744YOVkcjvAfvbn3y+7myBfWxAMVlfOhLywGyjRmzXny+Trb3I7wAGL8hVxwOrMCG7Ykkanga8mMbkdYD/78+uX5fuDoaqqFnLLfMi2k3qXzJEAACAASURBVAU+w+Iy+fqb3A5E79e9jFNccZM7ERWBZHzInzaGvxL84cuQhk7dp0VUcLqXcYorDlhEVGDS1gt5aFk4XP3ybUivp/u0iIpC9zJOcRVxwPJ8wfpWH56BryYxuR1gP/tH1i/7T0O+sTAYrK6og8z7oGz2Ww3F5OtvcjsQvV/3Mk5xM8I3ezZ5s6PJ7QD72R+9X1Yfglw9KxiubpoH2VRfgjMsLpOvv8ntADe5U774KsKcTG4H2M/+3P3iC6Tm3fBXgt95EVLfXsKzLB6Tr7/J7QAHLMpXxAGrwxNcsiGNDgP/opncDrCf/cP3S1caYr8WDlc/Xw3pTJX4LIvH5OtvcjsQvV/3Mk5xxU3uRDRKcrQNcsfiYLC6bAZkxlbA0P06ZC7dyzjFFQcsIhoFWX8Ucs3sYLi6YS7krcNlvZmdaLR0L+MUVxEHLF8ER3sEvoH/gJrcDrCf/YP7RQRStw0ytu9Xgt9aAjnQovksi8fk629yOxC9X/cyTnHFTe45mdwOsJ/9Yb/0eJCfvB7ut3pkJaStV/cpFpXJ19/kdoCb3ClfHLByMrkdYD/7g/72o22Qu5cEg9WlM4JXDaYzuk+v6Ey+/ia3AxywKF8jGLAuWG3mXzST2wH2s19w05+PIHP9nGC4um425LX9xuy3Mvn6m9wORO/XvYxTXHGTOxGdg4hA5n8QPGNVVQu5czFkV6Pu0yKKFd3LOMUVBywiGoK090IeXhnut5q0HNLUpfu0iGJH9zJOccUBi4jOIFtPQm6dH+63emoT36yZ6Bx0L+MUV9zknpPJ7QD7TeqXjA9JvhfeguHWBeh445Ax/UMx6fqfyeR2gJvcKV8csHIyuR1gvyn90tAJue+V8FeCiRWQkx3G9J+Lyf0mtwMcsChfHLByMrkdYL8J/bL6IOTavruyXzkTMnPbwC0YTOgfjsn9JrcDHLBotKzkA8p2dqpH63ZH+QESkeBGg4a8NDubye0A+yu5X3ozkN+uDZ+1unMxZPvJQbdgqOT+KEzuN7kdiN6vezmnuOImdyIjycEWyF3Ph8PVY29V/F3ZiYpB9zJOccUBi8goIgJZvCv4VWBVLeS6OZBX9gA+/w0gGg3dyzjFVcQBq90TXLQmhXYDBzGT2wH2V1J/cG+rVeGzVj94CXKoddivqaT+0TC53+R2IHq/7mWc4oqb3HMyuR1gf6X0y9YTkFsXhPe2+tNGSCr3ewlWSv9omdxvcjvATe6ULw5YOZncDrC/3PvFF4jzXvh2N7fMh6w7Gvm9BMu9P18m95vcDnDAonxFHLAyItjR4SNj4KtJTG4H2F/O/XLqjHtbVa+ANI/s7W7Kub8QTO43uR2I3q97Gae44iZ3oookqw8GG9j77201+31Ixtd9WkQVR/cyTnHFAYuookivN/jeVncshuw4pfu0iCqW7mWc4irigNWZEVRtTqMzY94gZnI7wP5y6pcDp8++t1VXOq/HLKf+YjC53+R2IHq/7mWc4oqb3HMyuR1gf7n0y+KdkKv67m117WzIsn2RN7IPp1z6i8XkfpPbAW5yp3xxwMrJ5HaA/XHvl7YeyCNZ97b6/kuQ+raCPX7c+4vN5H6T2wEOWJSviAOW5wtWNPnwDLzbs8ntAPvj3C/vnYB8LeveVk9tgni57201EnHuLwWT+01uB6L3617GKa64yZ2o7EjGhyTfDe9tdfN8yMZ63adFZCTdyziVQsJ5ZIztQlnOk5G/hgMWUVmRkx2Q+8+4t1VLt+7TIjJWEVd1ioXqmn9UtntQWc62YgxYXRnB+O1pdBn4ahKT2wH2x6lfXj8IuaHv3lZX1EHmvg/xi3tvqzj162Byv8ntQPT+Iq7spN39Uz+hLHePStRcqSx3dTEGLJM3O5rcDrA/Dv3Sk4b8JuveVuMXQXY3luR7x6FfJ5P7TW4HuMmdlFLKcmco2/1j3//NAavATG4H2K+7X/Y2Q76VdW+rx9+C9OR3b6uR0N2vm8n9JrcDHLAo4dyuLOd9dc/k85RSuQesCVM+riZMOX/gY9q6C89blUJ9j482T9CT9VRoyhe0ecFHS9rHs8cySPkCL+t49g3YMhIeb8/6gZSs42f+oGYf97Pu2dORdTz7FRydmfB4Out4d9bx3qzjvVnneq627Kd/h2pL+QKn3kNjyq+4NiD3dWtM+Zh6xEMq63tXSluU65byBc8ey6C57/qXrE0EsnAn/KuDe1v518xGz7J9BW2Lct36r3+nF/4qshyuW5S2KNet//q3e37FteW6bh1ecO0bU37FtUW5bqez1r3h2kq13FMpTZr6n5XlNqhJz3x54FiuActOTh5juxj4eKQO561KDXxYe7yBH5xnj2UGjo/fHv4X84omf+B41ebw+I6O8PhFa1KD/gJlf49sF6wOjx/tCX9oL9mQHji+vjX8h/2GLeHxhQ3h8Xt3egPHnzwcvkz9sf0e29hWdm33bOwcdG+rt7/5Cj63+HRFtFXydWObmW2lWO6p1Gzn5uBVg26m/6Pvf4uy3IwaN+6jZ33NKJ/BMvG/XtjGNh1tHRuPI/P154LhamwtMlM3o603UxFtlXzd2GZum4bVn4rOdj+pEs4XB31YzmZlOTNVwvlipMeIuAerJyOw9niDfkBNYXI7wP5S9YuXgdS8A7m8795WN82DbDpW1O8ZBa+/uf0mtwPR+4u80lNscJN7wZncDrC/FP1yrA3ywNJwI/uk+Nzbitff3H6T2wFucqczccAqOJPbAfYXtV8EsnI/5Ia5wWB1eR1k3geQArxJc6Hw+pvbb3I7wAGL8hVxwOr1BY/t9wb9btsUJrcD7C9Wv3SlIb9eAxnb96zV7YsgHzYV9HsUAq+/uf0mtwPR+3Uv4xRXfKscotISgexqhNy9ZPC9rbpLd28rIioc3cs4xRUHLKLSyfiQBTsgX5kVDFZfmQVZsV/3WRFRHnQv4xRXI/gV4ZOHM0Y+VWxyO8D+QvVLUxfk0fDeVvK9FyHH2gt0lsXD629uv8ntQPR+3cs4xRU3uedkcjvA/rz7RSAb6iHjwntbydObIV5x36S5UHj9ze03uR3gJnfKFwesnExuB9ifT7/0pCHT3wleHVhVC7lxHmRTfRHOsnh4/c3tN7kd4IBF+Yo4YHVnBPfu9NBt4A3nTG4H2D+qfhHIwRbIg6+GvxKsXgFp6SnaeRYLr7+5/Sa3A9H7dS/jFFfc5E5UWJ4PWbYPcmN8721FRIWjexmnuOKARVQw0toD+c3a8N5Wty2EfNio+7SIqIh0L+MUVxEHrLQvWNjgD3pzTVOY3A6wP1K/L5D3GyDffiH8leBjb0G6yv/eVrz+5vab3A5E79e9jFNccZN7Tia3A+zP2d/rBb8CvGZ2MFhdPQuyfF9pT7KIeP3N7Te5HeAmd8oXB6ycTG4H2H/OfhHI8fayvLfVSPD6m9tvcjvAAYvyFXHA6swIbtiSRqeBryYxuR1g/5D9ng9ZcyTYY9U/XE0tn3tbjQSvv7n9JrcD0ft1L+MUV9zkTjQi0t4LeeYdyBX997aaW3b3tiKiwtG9jFNcccAiisYXyJ5myI+y7m01aTnkdLfuMyMijXQv4xRXEQcszxesb/XhGfhqEpPbAfZ7vmD9qTS8l/dAbpoXDFaXzYDM/QBiwJ8Jr7+5/Sa3A9H7dS/jFFfc5J6Tye2A4f0iaDveick/exd+9r2tdplzbyujrz/M7je5HeAmd8oXB6ycTG4HDO7v9SBvHkL6nqx7W/3vNyvi3lYjYez172Nyv8ntAAcsylfEAavDE1yyIY0OA/+imdwOGNjvC+RwK+SxNyGXzoBU1aLjylnoeWWv7jPTwrjrfwaT+01uB6L3617GKW6s5APKdnaqR+t2m/xfKETZpDMV3DS0f69VVS3kkVWQEx26T42IYkr3ck5xxVcREgEZH7LlBOT+V8LB6uvPQdYc0X1mRBRzupdxiquIA5YvgqM9Al/MG8RMbgcqv1+auyC/Xx/e1+qyGcF9rno8AJXfnwv7ze03uR2I3q97Gae44ib3nExuByq43/Mhr+6FjHsufNbqwaWQgy2DPq1i+yNiv7n9JrcD3ORO+eKAlZPJ7UAF9otA9p+GJFaEg9VX50KW7YUM8V+qFdc/Quw3t9/kdoADFuVrBAPWBavN/ItmcjtQWf3SnYbUvAv5yqxgsBpbC3liLaQ9dc6vqaT+0WC/uf0mtwPR+3Uv4xRX3OROJhCBrD8K+ebi8Fmrb78A2XlK95kRUZnTvYxTXHHAogonp7ogP18dPFtVVRs8e7VgByTj6z41IqoAupdxiisOWFShJOMHg9T1c8JnrX76BqSpS/epEVEF0b2MU1xxk3tOJrcD5dkvO05BvvdSOFjdvgiyqX5Uj1WO/YXEfnP7TW4HuMmd8sUBKyeT24Hy6pfOFOR364J7WVXVBve2Sr4LSWdG/Zjl1F8M7De33+R2gAMW5YsDVk4mtwPl0y8r9kNunh8+a/XQMkh9W96PWy79xcJ+c/tNbgc4YFG+Ig5YIoI2T4a8T1ClM7kdiH+/HG2F/HhZOFjdPB+ycn/hHj/m/cXGfnP7TW4HovfrXsYprrjJncqUpLzgnlb9b3Fz6YzgLW86z31PKyKiQtO9jFNcccCiMiSb6oON6/3PWn3/JciuJt2nRUQG0r2MU1xFHLDaPcFFa1JoN3AQM7kdiFe/NHVBfvJ6OFhdNwfy3E6IX7x7WsWpXwf2m9tvcjsQvV/3Mk5xxU3uOZncDsSjXzI+ZP4OyDWzw7e4+fnqktzTKg79OrHf3H6T2wFucqd8ccDKyeR2QH+/7GwM3tam/1mrOxdDNtQDJdp4q7tfN/ab229yO8ABi/IVccDKiGBHh4+Mga8mMbkd0NcvHSnIb9eGb3Fz9SyI8x6k1yvpefD6s9/UfpPbgej9updxiitucqeYERHIsn2Qr84Nn7VKrIAcbtF9akREZ9G9jFNcccCiGJGDLZAHl4aD1bjnIMv3AXxjZiKKKd3LOMVVxAGrMyOo2pxGZ8a8QczkdqA0/dLjQZ55Z/Bb3PxhPaSlp2jfMypef/ab2m9yOxC9X/cyTnHFTe45mdwOFL9f1h6BfH1B+KzVfa9Atp8E/Hj8efP6s9/UfpPbAW5yp3xxwMrJ5HageP1ysgPy8MpwsLpxXnArhu50Qb9Pvnj92W9qv8ntAAcsylfEAcvzBSuafHgxeVahlExuBwrfL54Pmb0dctXM8C1u/vdbkKNtJbv1wkjw+rPf1H6T24Ho/bqXcYorbnKnEpKtJyF3PR8+a/XtFyBrDgPpjO5TIyIaFd3LOMUVBywqAWnpgfziray3uJkd3NOqpTuWz1oREUWlexmnuIo4YHVlBOO3p9Fl4KtJTG4H8usXXyAv7A7eM7D/LW4eWQXZ1Vg2t17g9We/qf0mtwPR+3Uv4xRX3OSek8ntwOj75cMmyA9eDp+1umMRZOleoCNVpDMtDl5/9pvab3I7wE3ulHAeUZazWdlOh7LdU8pylijb/ULkr+eAlZPJ7cDI+6UzBfnXDcHm9apayNUzIVM2QurbYnPrhZHg9We/qf0mtwMcsMh2lynLvUdNrPl7NemZLyvLeUXZzmGVeOIvI319xAEr5QuePZZBqgwXyHyZ3A5E7xcRyMoDkJvnh89aPbQcsukYELNbL4wErz/7Te03uR2I3l/kVZ5iY8KUC8bYLlS1UxXp87nJnQpAjrRCJi4PB6uvLYAs2AGc6uImdiKqaEVe1Sk2JjqfG2O7UAnni0P+/ydM+biaMOX8gY9p6y48b1UK9T0+2jxBT9ZmvpQvaPOCj+xNfl7W8ey3EMhIeLw9a2CTrONnDnLZx/2shbgj63j2PUg6M+HxdNbx7qzjvVnHe7POlW1FaOtMw3feg1xeB6mqhX95HXp+vRZtuxrh9Xrl3VbJ141tbGNbwdpKvMqTHpM/omznZWU5a875KXZy8hjbxcDHI3U4b1Vq4MPaEy6Kzx7LDBy/bVsa1h4PPZngxmv9x6s2h7/62dERHr9oTbiRuc2TQd8j2wWrw+NHe8If2ks2pAeOr28NX212w5bw+MKG8Pi9O72B408eDu+p9Nh+L2fb+O1hw1BtPRnBd3akK7INiH7dsv9xumB1Cjc+cxD7bloYPmt178v46vOnyrJtuOvWkxFYezxcvD5VcW39ovxMzj0RNlRa23DXrf/6/3xf5bXlum7Tj1ZuW5Tr9k+bwnVvuLYSLvKkjZWcpiznkJqQ/E/n/JxRPoN1ojf44er/rwmT/uul/x+H/j+jSmoDcl+3+p7w2gOANHQi9b9eHxis/BvnQmZsgxxqQUdvpqzaoly3/ut/vNevuLZ+w/1M9l//plS4mFVKW5Tr1n/9T6X8imvLdd0aU/7Av32V1hbluh3PWvf4DJbJLPcpZTtHVSL5mRF9HV9FmJPJ7UBWf08GMu8DyNWzwre4mfwmZMsJoK1X92kWDa8/+03tN7kd4KsISakxynKfUpZzTFnP/O2IvzrigNXrCx7b7w36LwNTmNwOBP1/XnYMmXuWhL8OvGcJ5NW9wLH2srlh6Gjx+rPf1H6T24Ho/UVY1ykWLOdpZTutyqoZq6ypnxr4mPiHfxPp6/kqQhqG7GqEPLQsHKyunQ2Z/k5wJ/au8r31AhFRoRR5lSddBm1Yz/pQlntPpAfggEVnEBHI5mODb7tQVQt5eCVk/VHgZGdZ3jCUiKgYirvKU/kawa8InzycMfKpYlPaxfMhqw5AvvdiOFRdOgPepBWY+fxh9O5tBnq83A9UYUy5/ufCfnP7TW4HovfrXsYprrjJPadKb5deD/L8LsjtWbdcuHIm5GdvQN44iLatDUF/byb3g1WgSr/+ubDf3H6T2wFucqd8ccDKqVLbpa0XMmMr5Ma5g/dY/XpN8KvAI61AV7pi+6NiP/tN7Te5HeCARfmKOGB1ZwT37vTQnTHvL1qltUtDJ+RPm8LbLVTVQm6ZHxzbciLYY5UOn62qtP6RYj/7Te03uR2I3q97Gae44iZ3Y8iB05DH34JcNiMcrMYvgrhbILsbgZYebl4nIhoh3cs4xRUHrIomIpCtJyH2a4NfEfi9FyHzP4AcbuHtFoiI8qB7Gae4ijhgpX3BwgZ/0FsTmKIc28UXyNuHIT98ORyqxtZCfrwMsnTvWb8GHE459hcS+9lvar/J7UD0ft3LOMUVN7nnVE7tkspAXvoQcseicLC6vA7yyCrImsOj+jVgOfUXA/vZb2q/ye0AN7lTvjhg5VQO7dKZgszcDrlpXjhYfWVWsOdq+8m8fg1YDv3FxH72m9pvcjvAAYvyFXHA6swIbtiSHvTO6aaIc7s0dUGe2gS5JusVgTfOhfzrRsiBlsi/BhxOnPtLgf3sN7Xf5HYger/uZZziipvcy5Icag2enbq8Lhysxj0H+fMWyCm+lQ0RUanoXsYprjhglRXZfhJivRZsWO8frO5ZAnl+N6Qjpfv0iIiMo3sZp7iKOGB5vmB9qw/PwGdGdLeLCOTNQ4NfEVhVC3lwKWT1ISDtF/X76+7Xjf3sN7Xf5HYger/uZZziipvcc9LVLulM8B6Bdywe9ObL8shKyLaTJfs1oMnXHmA/+83tN7kd4CZ3yhcHrJxK3S5tvZA/b4XcPD8crK6aCfnVGsihlpKcQzaTrz3Afvab229yO8ABi/IVccDq8ASXbEijw8C/aKVql+PtkD+uD95wuX+wun4O5OnNkObuon7v4Zh87QH2s9/cfpPbgej9updxiituctfLF8iuJsi/vAm5IusVgV9fAJnzPqSbb2NDRBRnupdxiisOWHqkM5ANRyHVK4J9Vf2D1beWQF7dC8kUd+M6EREVhu5lnOIq4oDli+Boj8AX8waxQrZLZwqybO/QrwjcWA+J4Z+vydceYD/7ze03uR2I3q97Gae44ib3nPJu9wXS2AWZ+z7krucHv/ny/3odsruxsCdcYCZfe4D97De33+R2gJvcKV8csHIadXs6AznSCpn+LuRrC8LB6oo6yG/XQo61F+eEC8zkaw+wn/3m9pvcDnDAonyNYMC6YLWZf9FG3N6Vhuw8BfnduuBVgP2D1bWzITXvQlp6invCBWbytQfYz35z+01uB6L3617GKa64yb0wfAFO90A21QevCLx6ZjhY3boAMv8DSBdfEUhEVGl0L+MUVxyw8pPOACc7IKsOQOzXIJdlvyLweciyfRCPrwgkIqpUupdxiisOWCMnAnSlgcOtkCW7IQ8sPfsVgeuOxvIVgUREVFi6l3GKK25yz2mgPeUDp7shHzZBZr8P+fYLg18R+OgqyAendJ9uwZl87QH2s9/cfpPbAW5yp3xxwMqprcsL2reeDDap37YwHKwur4P8Zi3kUKvu0ywak689wH72m9tvcjvAAYvyxQFraL4ALT3AgRa0v30Eice3IXPjvHCwumZ28B6BjV26z7TojLv2Z2A/+03tN7kd4IBF+Yo4YIkI2jyp7H1FIkB3Gqhvh6w+BHlyQ/BrwLFZ+6tung+ZvR3SkdJ9tiVjxLUfBvvZb2q/ye1A9H7dyzjFFTe5A54POdUJWXkA8qs1kPGLBm9ar6qFfO9FyIsfQnozus+WiIhiRPcyTnFl6oAlAmnpDt5Y+edvBM9MZQ9Ul86A/HgZ5LmdkBMdus+WiIhiSvcyTnEVccBq9wQXrUmhvcwHMWntgby4G2KvDPZRZQ9VV84MXgn46j5Ia3i39UppHy32s5/9Zvab3A5E79e9jFNcGbDJXZq7IQt3Bs9IXVE3eKi6bg7ksbcgbx+G9HhDfn05txcC+9nPfjP7TW4HuMmd8lWhA5Ycbw82o//w5eDXfdlD1a3zIU+shbx7PNJd1sutvdDYz372m9lvcjvAAYvyFXHAyohgR4ePTExfTSIikH3NEPc9yN1Lzt6kfsdiyJ82Bm/CPMKGuLcXG/vZz34z+01uB6L3617GKa7KeJO7ZHzI1pOQP22CfOO5wQPV2FrId14Mbgy6tzm4BQMREVGB6V7GKa7KbMCSXg+y9gjk12sgX507eKi6vA5y/1LIn7dCDpwGMnyTZSIiKi7dyzjFVcQBqzMjqNqcRmem9IOYtPdClu+D/PQNyNWzBg9V18yGJFYE+60OtgC9Q29Uz4fO9jhgP/vZb2a/ye1A9H7dyzjFVUw3uUtDJ2TxLsjE5ZDLztikfuM8yE/eCF4ZuO800NZb1F8BcqMn+9nPfhP7TW4HuMmd8hWTAUtEIAdOQ+q2Qb7/0tmb1G9bCPnl25CX90B2NwKNXUCEVwAWAv+RYT/72W9iv8ntAAcsylfEAcvzBSuafHh+4f6iiS+Q9xuCN02+Y/HZm9TveQHyh/WQlQeAD04B9e1AV7rkG9aL0V5O2M9+9pvZb3I7EL1f9zJOcVXiTe6SykDWH4X8di3k5nlnb1K/7xXItHcga44A2xuAA6eBlh7A0L/gREQUb7qXcYqrEgxY0pGCvLYf8vPVkK+cY5N67VbIpmPBULWrETjZCaT4xspERBRvupdxiquIA1ZXRjB+expdEV9NIo1dkCW7IdUrgmemsoeqm+dDJr8Jmb8D8t6JYKh6vwE40gp0pGJ3z6qRtlca9rOf/Wb2m9wORO/XvYxTXBVwk7scboXM2g659+WzN6nfuRjy+/WQV/ZCtp4MhqrtDcDeZqCpO9b3rOJGT/azn/0m9pvcDnCTO+UrjwFLfIHsOAWZ/g7km8+fPVTd+zIk+S7k7UPhQLW9AdhxCjjeDpzjzZXjhv/IsJ/97Dex3+R2gAMW5SvigJXyBc8eyyDV60E21QfPRt06/+xN6tUrIAt2QLadDH7tlz1YHWwBWnvLbsP6QHuZnXehsJ/97Dez3+R2IHq/7mWc4irCgCVdaciqg5B/eRNy7eyzN6lPXh3caf1AC7C7afBQ9WETcKoTSHPDOhERVR7dyzgVS7VTpSz3JWU7x8fYLpTt3Dyir48yYM1+/4xN6vMgT6yDrDsKOdUJHGgZPFR9cAo42gZ0lv6eVURERKVUpNWdtKuuuVbZzuOqOnlr0Qaso23I3LEIr/9yE3q3NUA6U8Cx9mAvVfZgtf80cLq77H4FmEtPRmDt8dBj6Ctp2M9+9pvZb3I7EL2/SKs7xUmxBiwAaOv2gs1+u5sHD1U7G4ETHUV5k+W44EZP9rOf/Sb2m9wOcJM7ZYk0YE2Y8nE1Ycr5Ax/T1l143qoUdnVkUN/jo6HXR5snaPMEjSkf9T0+6o93Y897DThvVQr17zWgeWsD6ve3or6pFyd6MgOffzrd9/k9Po71hI/TmnW8Put4myeDjrekw//f8azjzanw+Ine8HhT1vGTWcdPZR0/lQqPD9nW4+NE1vHmIY7X9/jI/jOqpLYo121XRya49ln/v0ppi3Ld+q//h52ZimuLct36r//BrkzFtUW5bv3Xf39XpuLacl23A12ZgX/7Kq0tynX7sDP8t2+4NrW0+Xyl1JjSrPSkRaQBy05OHmO7GPj4yRyctyrFD37wgx/84Ac/RvnRN2RRpRrVM1gTZp2vfjZ3r1rafP6wH9PWXTjmkTqoaesuzPm5lfYR5/ZH63aXbX8hzn20jzGSrxtpfymuSSk/inH94/pnNNR5lUt/vo+ZT/tIv/dIPl/nz8pIrj2fwapso9qDpZRStrMz5+dMmHL+GNuFmjDFvCk9zu1Rrl2+itVfiHMf7WOM5OtG2l+Ka1JKxbj+cf0zGuq8yqU/38fMp32k33skn6/zZyXO//ZTaY16wLKSD+T8HJN/0OLcHuXa5atY/YU499E+xki+bqT9pbgmpVSM6x/XP6Ohzqtc+vN9zHzaR/q9R/L5On9W4vxvP5XA/VM/oayai5VVc/EY24WynInKqrlY/Xj63xT0+5j8g2Zyu1LsZz/7Te03uV0p9hsvkbx00Kb1vg9lO7UF/T4Tpnxc2cnJasKUjxf0ccuBye1KsZ/97De13+R2pdhPRERERERERERERERERERE04PgZwAACKhJREFUREREREREREQmsZIPKMs5pCynV9nORjXR+e+6T6lkqp0qZbkvKds5Pur7jJWrhPOIspzNynY6lO2eUpazRNnuF3SfVslYyfuU7W5XltOuLKdd2c56VV1zre7T0iLhPNJ3G5gndZ9KSZz5lmJB+27dp1VSE6ddqKzkLGU5zcp2e5TlvK9s9x90n1ZJWM6hIV+dn3Cm6j41qiRW8jZluymVSH5bVT/zd8p2apTltqjEtP+g+9RKorrmWmU7j6vq5K3GDVi2u0xZ7j1qYs3fq0nPfFlZzivKdg6rxBN/qfvUSiLhfFVZyevUpJrPq0k1n1dW8hfKctJqYs3f6z61kqqu+UdluweV5WwzacBStvOBsqZ+auCjevq/131aJXPf03/V9x/Vf1YTnf+uEsnPKMu9WlnTP6v71EpiwpQLBl37RM2VwYCVvFT3qVElsZ2NynKfCg9M/oiynGPKSj6s76T0MG7AOtOEKReMsV2oaqdK96loYzunVSL5Xd2nUTL3T/2Estw9KlFzpbLc1WYNWO5W3aehTcL5tbLdt3WfRmxYzpPKcvYpvt8gFcy4yR9Tlps5a6iw3BnKcl7QdFbaGD9gTXQ+1/c0+Rd1n0rJjRv3UZVwble2m1LVz/yd7tMpGcudoWz3j33/t2EDltOlbOe4spwDynJmF/zdMeLMdnYq2/2jst3n+rYHbFEJ9/u6T0uLcZM/pmy3SVnuo7pPhSqJ7f51sKC6/++g44nkb5XtbNR0VtqYPWBN/oiynZeV5azRfSYlNXH6l5Tldvb9h0arspLX6T6lkkk4tyvLeV/dM/k8pZRZA1Z1zbXKcsapRPK/quqaryjLWads57Cy3U/qPrWSsJzevj23v1STnEtUwvlhsA8r+S3dp1ZyiZpvBH//3b/WfSpUSc41YFnOE8pyN2g6K22MHrCs5DRlOYfUhOR/0n0qJTVu8sfUROdzynb/QVnur5TlNBrxDNakqf9ZWW6DmvTMlweOmTRgnemhP/47Zbltxvx62HLSynLWDT6WnKJsZ72mM9LHcpYry31J92lQpeGvCAcxdsCy3KeU7RxVieRndJ+KdpazUlnudN2nUXS2c3Pwyjk30//R979FWW5GjRv3Ud2nWHKWs1lZ7q90n0ZJBM/WOYOOWcn7lOUc03RGelQ7/7eyHV8lkjfpPhWqRLazUdnOn8IDkz+iLLeem9yNMEZZ7lPBixqe+VvdJxMLlvN6wd9IPY5s95Mq4Xxx0IflbFaWM9PIPXj3T/1E3wscfqT7VErCcuectcnddv941rNalc5OTlaWe0JdOvkvdJ8KVaL+2zRUO3erh5L/RVnudGW5LerHyf+o+9RK4v6pn1BWzcXKqrm47144E5VVc7ERG14t5+lg31HN2EEvWZ74h3+j+9RKwnZ+qazkP6mHpn26by/Wr5TliqpOXqX71LQw6VeElvs7ZdWMVQ9N+7SaVPM/lOW+piynUU2YcoHuUyuJ6pp/VLbjKct9VE10PqcSzh3Bpn/3Tt2nVjqTPxLclsb5te4zoUqWcB7se8o4pWxno0pM/390n1LJJJKXDnnDOQOexRiqu+/XRPfoPreSsBxXWc6h4OfePaUsZ6Wxw5VShg1YzjxlO8eV7aaCZ+ydecbcA6qfVXODspz3gw3v7i7jXkVouVePsV2oSTWf130qREREREREREREREREREREREREREREREREREREREREREREREREREREVAxRbrZpOYdUIvnQiB73oWmfDm7iWnNxPqen7ORkZbtb83oMIiIiopKKMmBNmHKB+sH0f9v/PyO9h+W4cR9V1tRP5f2eZxywiIiIqOyM4u1iSvom4RywiIiIqOxY7mpluU/1fbQp221SlvOYUmpM+DlZvyK0nEOD38fROTTk4575K8K+98BUtnOFsp13lOV2K8tZp2z3C4PPJ/mwstwGZTsdynJclXB+fdaAZTnfU5a7K3hPOWe3sp37s77+W8pyO5X1zN9mHZumLGe3MW/qTURERJpZ7uq+YeZJZbtfULZ7p7KdrkFvhJs9YE2YcsHAG2RbUz+lJky5YMjHPdeAZbkblFUzVlU/83fKct5Strt24GsSNd9QltOrEsnvBufiPK4sp33QgBWc33FVnbxVJZKfUdXJW5XlNKtq5+6s812gLHeTunTyX6iEc72y3ZSqTv63gv65EREREZ1TMGDtVNnPWCWcX/cd6/ucwZvcI/2KcLhnsAYeN3ndGNuFumfyeX3fZ51KOFPPOL8NgwYsy9mnrOT4wZ/j/ERZzrqB/33f03+lbOeospynle2cVJb7aM4/ByIiIqKCsdzVynafHXQskbxJ2Y6nxo37aPA5BRywsp/xmuRcMsZ2oX48/W/6zqVFWclvDXoc2/3jwICVeOIv+54F6w5+Ddj/4fQqy204o+vq4DzdtUpN/siI/kyIiIiI8lLqAeuhP/678HvXXBwcm/bpvnNpUbZz16DHyR6wfpz8j31D051qovO5QR+J5GcGf53zuLLcjLLdg2rClPNH8kdCRERElJ/wV4TZx3413K8IleWkleV+bdjHHdWANcSvCG1n/eBfEbr1KpH86bDfe1LN/1CWk1bVNdcq292uLHfGsJ9PREREVFDhJvc/KNv9grKS45XldqqE88Pwc84csNw9ynKeVtbUT6n7nv6rIR93VANW8jZluz0qkfy2mlTzeWU5/3LWJvfgFYTdKpH8kZpU83k1cfqXVCL5bZVwJymllLLdTyrb3a9s5/dKKaUmTv9S36sNxxXmD4yIiIgoF8tdrRLO1OBWBm6bsp3Tykr+Qp3rNg1KKZVwvqpsZ6+yHW/Et2kYbsAKzudRZTmNynY6lO3UKsv5zVm3aUg4dyjL2aJsN6Vs57SynTdVouYWpZRStvusst3tasKUj4ef705SltOsJk67cLR/TEREREREREREREREREREREREREREdLb/H0ekbhYuc8NxAAAAAElFTkSuQmCC\" width=\"600\">" + ], "text/plain": [ - "<matplotlib.figure.Figure at 0x72df4ceec940>" + "<IPython.core.display.HTML object>" ] }, "metadata": {}, "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Channel 31 offset: 2.681lsb\n" + ] } ], "source": [ - "plot_run('All channels, blue runs', *fetch_runs('green1', 'green2', 'green3', 'green4'))" + "plot_run(None, *fetch_runs('green1'), figsize=(6, 4), svgfile='/tmp/driver_linearity_raw.svg')" ] }, { "cell_type": "code", - "execution_count": 7, - "metadata": { - "collapsed": false - }, + "execution_count": 15, + "metadata": {}, "outputs": [ { "data": { - "image/png": "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\nhu/n2CypUZsyJQoQDR8e23TOOy/GfveAzp/qxuYaLc2tDQ52kvLy3/9Gu5W99oIll4wquFtuCX//\ne83u//lnWGSR2o1R866xJaIppd5ABbAMMBrolmXZLVVt1C4jVj3dlGXZBfPwno7Nkhqdc86JYoT7\n7RftWI47LvqEDxsGyy2Xd3TlzURUkqZz0UXw/vvxxHP77WHChHjyucQSeUemYjS2RLQ2pJSybt26\nWaRIUqPx5Zew2mpRCb9793hI/e9/w0472RO0GFOLFnXv3t1EVJIgluMedxw88QRssglssAFsthnc\neGPekalYJqLFc2yW1Jh88AF06QIbbhgzoUssEbOj++/vUtxScUZUkoBbb429Hn37RgECgIEDYaWV\n4kvlzUS0eI7NkhqD77+HkSPhlFNg883hrLOiJ+hyy8HTT+cdXcNiIiqp0cuyGGQuuiiW46rhMREt\nnmOzpMbg2GPh+uth2WXh44+heXN44IFYorvhhnlH17BUNza78llSg9a7N0yaFH3AfvoJtt0274gk\nSVJdm1r59osvoFcvePTR2APavHmc3223fONrjExEJTUIU6ZAk5k6I0+eDKefHlVuV1wRjjhi1msk\nSVLDdtNNUCjA8cfDzjvDaadN6yWu/PgrmaSy98svMeM5fPiMx594IhLQQiGeeB54YA7BSWWmsrKS\nQqGQdxiSVGM//TTnc7/+GtVwH3wQjjoqXp9ySt3F1lgVCgUqKyurvcY9opLK3p13Ru+vO++Ev/1t\n2vFdd4XOneGgg/KLTXXHPaLFc2yWVG6efhoOOABGjZr13NixUSn/66/jgfU998Cnn8JCC9V9nI2V\nxYokNWhbbhlLbjfcEK68Mo7dfTccfTR8/jksski+8alumIgWz7FZUjnJMth0U3jjDfjmG1hmmRnP\nH3RQ9Aq/5prYrvPJJ3G96o7FiiQ1WO+8E083+/SBf/wjjp12WlS/e/xxk1BJkhqir76Crl2jANEm\nm0RP0LZt49zf/w7jxsFDD0VV3CWXjOMzJ6rKl3tEJZWt116LpbcnnRRPON9/H0aMgJ494eWXfeop\nSVJDdeSRsPji8Oyz0Lp1JKIw7eH0iBFxzVJL5Run5swZUUllafhw2GknuO462GOPOLbuurEX5C9/\n8amnJEkNzU8/wRZbRA2IgQPho4+iGOFaa8GwYTELesopcPjhcP75sXRX9ZczopLK0g03wP77T0tC\n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\nc2cixYPLAAAAAElFTkSuQmCC\n", + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\n", + "\n", + "mpl.get_websocket_type = function() {\n", + " if (typeof(WebSocket) !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof(MozWebSocket) !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert('Your browser does not have WebSocket support.' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.');\n", + " };\n", + "}\n", + "\n", + "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = (this.ws.binaryType != undefined);\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById(\"mpl-warnings\");\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent = (\n", + " \"This browser does not support binary websocket messages. \" +\n", + " \"Performance may be slow.\");\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = $('<div/>');\n", + " this._root_extra_style(this.root)\n", + " this.root.attr('style', 'display: inline-block');\n", + "\n", + " $(parent_element).append(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", + " fig.send_message(\"send_image_mode\", {});\n", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\n", + " fig.send_message(\"refresh\", {});\n", + " }\n", + "\n", + " this.imageObj.onload = function() {\n", + " if (fig.image_mode == 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function() {\n", + " this.ws.close();\n", + " }\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "}\n", + "\n", + "mpl.figure.prototype._init_header = function() {\n", + " var titlebar = $(\n", + " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", + " 'ui-helper-clearfix\"/>');\n", + " var titletext = $(\n", + " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", + " 'text-align: center; padding: 3px;\"/>');\n", + " titlebar.append(titletext)\n", + " this.root.append(titlebar);\n", + " this.header = titletext[0];\n", + "}\n", + "\n", + "\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._init_canvas = function() {\n", + " var fig = this;\n", + "\n", + " var canvas_div = $('<div/>');\n", + "\n", + " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", + "\n", + " function canvas_keyboard_event(event) {\n", + " return fig.key_event(event, event['data']);\n", + " }\n", + "\n", + " canvas_div.keydown('key_press', canvas_keyboard_event);\n", + " canvas_div.keyup('key_release', canvas_keyboard_event);\n", + " this.canvas_div = canvas_div\n", + " this._canvas_extra_style(canvas_div)\n", + " this.root.append(canvas_div);\n", + "\n", + " var canvas = $('<canvas/>');\n", + " canvas.addClass('mpl-canvas');\n", + " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", + "\n", + " this.canvas = canvas[0];\n", + " this.context = canvas[0].getContext(\"2d\");\n", + "\n", + " var backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", + "\n", + " var rubberband = $('<canvas/>');\n", + " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", + "\n", + " var pass_mouse_events = true;\n", + "\n", + " canvas_div.resizable({\n", + " start: function(event, ui) {\n", + " pass_mouse_events = false;\n", + " },\n", + " resize: function(event, ui) {\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " stop: function(event, ui) {\n", + " pass_mouse_events = true;\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " });\n", + "\n", + " function mouse_event_fn(event) {\n", + " if (pass_mouse_events)\n", + " return fig.mouse_event(event, event['data']);\n", + " }\n", + "\n", + " rubberband.mousedown('button_press', mouse_event_fn);\n", + " rubberband.mouseup('button_release', mouse_event_fn);\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband.mousemove('motion_notify', mouse_event_fn);\n", + "\n", + " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", + " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", + "\n", + " canvas_div.on(\"wheel\", function (event) {\n", + " event = event.originalEvent;\n", + " event['data'] = 'scroll'\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " mouse_event_fn(event);\n", + " });\n", + "\n", + " canvas_div.append(canvas);\n", + " canvas_div.append(rubberband);\n", + "\n", + " this.rubberband = rubberband;\n", + " this.rubberband_canvas = rubberband[0];\n", + " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", + " this.rubberband_context.strokeStyle = \"#000000\";\n", + "\n", + " this._resize_canvas = function(width, height) {\n", + " // Keep the size of the canvas, canvas container, and rubber band\n", + " // canvas in synch.\n", + " canvas_div.css('width', width)\n", + " canvas_div.css('height', height)\n", + "\n", + " canvas.attr('width', width * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", + "\n", + " rubberband.attr('width', width);\n", + " rubberband.attr('height', height);\n", + " }\n", + "\n", + " // Set the figure to an initial 600x600px, this will subsequently be updated\n", + " // upon first draw.\n", + " this._resize_canvas(600, 600);\n", + "\n", + " // Disable right mouse context menu.\n", + " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", + " return false;\n", + " });\n", + "\n", + " function set_focus () {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('<div/>')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " // put a spacer in here.\n", + " continue;\n", + " }\n", + " var button = $('<button/>');\n", + " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", + " 'ui-button-icon-only');\n", + " button.attr('role', 'button');\n", + " button.attr('aria-disabled', 'false');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + "\n", + " var icon_img = $('<span/>');\n", + " icon_img.addClass('ui-button-icon-primary ui-icon');\n", + " icon_img.addClass(image);\n", + " icon_img.addClass('ui-corner-all');\n", + "\n", + " var tooltip_span = $('<span/>');\n", + " tooltip_span.addClass('ui-button-text');\n", + " tooltip_span.html(tooltip);\n", + "\n", + " button.append(icon_img);\n", + " button.append(tooltip_span);\n", + "\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " var fmt_picker_span = $('<span/>');\n", + "\n", + " var fmt_picker = $('<select/>');\n", + " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", + " fmt_picker_span.append(fmt_picker);\n", + " nav_element.append(fmt_picker_span);\n", + " this.format_dropdown = fmt_picker[0];\n", + "\n", + " for (var ind in mpl.extensions) {\n", + " var fmt = mpl.extensions[ind];\n", + " var option = $(\n", + " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", + " fmt_picker.append(option)\n", + " }\n", + "\n", + " // Add hover states to the ui-buttons\n", + " $( \".ui-button\" ).hover(\n", + " function() { $(this).addClass(\"ui-state-hover\");},\n", + " function() { $(this).removeClass(\"ui-state-hover\");}\n", + " );\n", + "\n", + " var status_bar = $('<span class=\"mpl-message\"/>');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "}\n", + "\n", + "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", + " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", + " // which will in turn request a refresh of the image.\n", + " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", + "}\n", + "\n", + "mpl.figure.prototype.send_message = function(type, properties) {\n", + " properties['type'] = type;\n", + " properties['figure_id'] = this.id;\n", + " this.ws.send(JSON.stringify(properties));\n", + "}\n", + "\n", + "mpl.figure.prototype.send_draw_message = function() {\n", + " if (!this.waiting) {\n", + " this.waiting = true;\n", + " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", + " }\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " var format_dropdown = fig.format_dropdown;\n", + " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", + " fig.ondownload(fig, format);\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", + " var size = msg['size'];\n", + " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", + " fig._resize_canvas(size[0], size[1]);\n", + " fig.send_message(\"refresh\", {});\n", + " };\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", + " var x0 = msg['x0'] / mpl.ratio;\n", + " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", + " var x1 = msg['x1'] / mpl.ratio;\n", + " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", + " x0 = Math.floor(x0) + 0.5;\n", + " y0 = Math.floor(y0) + 0.5;\n", + " x1 = Math.floor(x1) + 0.5;\n", + " y1 = Math.floor(y1) + 0.5;\n", + " var min_x = Math.min(x0, x1);\n", + " var min_y = Math.min(y0, y1);\n", + " var width = Math.abs(x1 - x0);\n", + " var height = Math.abs(y1 - y0);\n", + "\n", + " fig.rubberband_context.clearRect(\n", + " 0, 0, fig.canvas.width, fig.canvas.height);\n", + "\n", + " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", + " // Updates the figure title.\n", + " fig.header.textContent = msg['label'];\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", + " var cursor = msg['cursor'];\n", + " switch(cursor)\n", + " {\n", + " case 0:\n", + " cursor = 'pointer';\n", + " break;\n", + " case 1:\n", + " cursor = 'default';\n", + " break;\n", + " case 2:\n", + " cursor = 'crosshair';\n", + " break;\n", + " case 3:\n", + " cursor = 'move';\n", + " break;\n", + " }\n", + " fig.rubberband_canvas.style.cursor = cursor;\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_message = function(fig, msg) {\n", + " fig.message.textContent = msg['message'];\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", + " // Request the server to send over a new figure.\n", + " fig.send_draw_message();\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", + " fig.image_mode = msg['mode'];\n", + "}\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function() {\n", + " // Called whenever the canvas gets updated.\n", + " this.send_message(\"ack\", {});\n", + "}\n", + "\n", + "// A function to construct a web socket function for onmessage handling.\n", + "// Called in the figure constructor.\n", + "mpl.figure.prototype._make_on_message_function = function(fig) {\n", + " return function socket_on_message(evt) {\n", + " if (evt.data instanceof Blob) {\n", + " /* FIXME: We get \"Resource interpreted as Image but\n", + " * transferred with MIME type text/plain:\" errors on\n", + " * Chrome. But how to set the MIME type? It doesn't seem\n", + " * to be part of the websocket stream */\n", + " evt.data.type = \"image/png\";\n", + "\n", + " /* Free the memory for the previous frames */\n", + " if (fig.imageObj.src) {\n", + " (window.URL || window.webkitURL).revokeObjectURL(\n", + " fig.imageObj.src);\n", + " }\n", + "\n", + " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", + " evt.data);\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", + " fig.imageObj.src = evt.data;\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + "\n", + " var msg = JSON.parse(evt.data);\n", + " var msg_type = msg['type'];\n", + "\n", + " // Call the \"handle_{type}\" callback, which takes\n", + " // the figure and JSON message as its only arguments.\n", + " try {\n", + " var callback = fig[\"handle_\" + msg_type];\n", + " } catch (e) {\n", + " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", + " return;\n", + " }\n", + "\n", + " if (callback) {\n", + " try {\n", + " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", + " callback(fig, msg);\n", + " } catch (e) {\n", + " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", + " }\n", + " }\n", + " };\n", + "}\n", + "\n", + "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", + "mpl.findpos = function(e) {\n", + " //this section is from http://www.quirksmode.org/js/events_properties.html\n", + " var targ;\n", + " if (!e)\n", + " e = window.event;\n", + " if (e.target)\n", + " targ = e.target;\n", + " else if (e.srcElement)\n", + " targ = e.srcElement;\n", + " if (targ.nodeType == 3) // defeat Safari bug\n", + " targ = targ.parentNode;\n", + "\n", + " // jQuery normalizes the pageX and pageY\n", + " // pageX,Y are the mouse positions relative to the document\n", + " // offset() returns the position of the element relative to the document\n", + " var x = e.pageX - $(targ).offset().left;\n", + " var y = e.pageY - $(targ).offset().top;\n", + "\n", + " return {\"x\": x, \"y\": y};\n", + "};\n", + "\n", + "/*\n", + " * return a copy of an object with only non-object keys\n", + " * we need this to avoid circular references\n", + " * http://stackoverflow.com/a/24161582/3208463\n", + " */\n", + "function simpleKeys (original) {\n", + " return Object.keys(original).reduce(function (obj, key) {\n", + " if (typeof original[key] !== 'object')\n", + " obj[key] = original[key]\n", + " return obj;\n", + " }, {});\n", + "}\n", + "\n", + "mpl.figure.prototype.mouse_event = function(event, name) {\n", + " var canvas_pos = mpl.findpos(event)\n", + "\n", + " if (name === 'button_press')\n", + " {\n", + " this.canvas.focus();\n", + " this.canvas_div.focus();\n", + " }\n", + "\n", + " var x = canvas_pos.x * mpl.ratio;\n", + " var y = canvas_pos.y * mpl.ratio;\n", + "\n", + " this.send_message(name, {x: x, y: y, button: event.button,\n", + " step: event.step,\n", + " guiEvent: simpleKeys(event)});\n", + "\n", + " /* This prevents the web browser from automatically changing to\n", + " * the text insertion cursor when the button is pressed. We want\n", + " * to control all of the cursor setting manually through the\n", + " * 'cursor' event from matplotlib */\n", + " event.preventDefault();\n", + " return false;\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " // Handle any extra behaviour associated with a key event\n", + "}\n", + "\n", + "mpl.figure.prototype.key_event = function(event, name) {\n", + "\n", + " // Prevent repeat events\n", + " if (name == 'key_press')\n", + " {\n", + " if (event.which === this._key)\n", + " return;\n", + " else\n", + " this._key = event.which;\n", + " }\n", + " if (name == 'key_release')\n", + " this._key = null;\n", + "\n", + " var value = '';\n", + " if (event.ctrlKey && event.which != 17)\n", + " value += \"ctrl+\";\n", + " if (event.altKey && event.which != 18)\n", + " value += \"alt+\";\n", + " if (event.shiftKey && event.which != 16)\n", + " value += \"shift+\";\n", + "\n", + " value += 'k';\n", + " value += event.which.toString();\n", + "\n", + " this._key_event_extra(event, name);\n", + "\n", + " this.send_message(name, {key: value,\n", + " guiEvent: simpleKeys(event)});\n", + " return false;\n", + "}\n", + "\n", + "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", + " if (name == 'download') {\n", + " this.handle_save(this, null);\n", + " } else {\n", + " this.send_message(\"toolbar_button\", {name: name});\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", + " this.message.textContent = tooltip;\n", + "};\n", + "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", + "\n", + "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", + "\n", + "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", + " // Create a \"websocket\"-like object which calls the given IPython comm\n", + " // object with the appropriate methods. Currently this is a non binary\n", + " // socket, so there is still some room for performance tuning.\n", + " var ws = {};\n", + "\n", + " ws.close = function() {\n", + " comm.close()\n", + " };\n", + " ws.send = function(m) {\n", + " //console.log('sending', m);\n", + " comm.send(m);\n", + " };\n", + " // Register the callback with on_msg.\n", + " comm.on_msg(function(msg) {\n", + " //console.log('receiving', msg['content']['data'], msg);\n", + " // Pass the mpl event to the overriden (by mpl) onmessage function.\n", + " ws.onmessage(msg['content']['data'])\n", + " });\n", + " return ws;\n", + "}\n", + "\n", + "mpl.mpl_figure_comm = function(comm, msg) {\n", + " // This is the function which gets called when the mpl process\n", + " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", + "\n", + " var id = msg.content.data.id;\n", + " // Get hold of the div created by the display call when the Comm\n", + " // socket was opened in Python.\n", + " var element = $(\"#\" + id);\n", + " var ws_proxy = comm_websocket_adapter(comm)\n", + "\n", + " function ondownload(figure, format) {\n", + " window.open(figure.imageObj.src);\n", + " }\n", + "\n", + " var fig = new mpl.figure(id, ws_proxy,\n", + " ondownload,\n", + " element.get(0));\n", + "\n", + " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", + " // web socket which is closed, not our websocket->open comm proxy.\n", + " ws_proxy.onopen();\n", + "\n", + " fig.parent_element = element.get(0);\n", + " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", + " if (!fig.cell_info) {\n", + " console.error(\"Failed to find cell for figure\", id, fig);\n", + " return;\n", + " }\n", + "\n", + " var output_index = fig.cell_info[2]\n", + " var cell = fig.cell_info[0];\n", + "\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_close = function(fig, msg) {\n", + " var width = fig.canvas.width/mpl.ratio\n", + " fig.root.unbind('remove')\n", + "\n", + " // Update the output cell to use the data from the current canvas.\n", + " fig.push_to_output();\n", + " var dataURL = fig.canvas.toDataURL();\n", + " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", + " // the notebook keyboard shortcuts fail.\n", + " IPython.keyboard_manager.enable()\n", + " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", + " fig.close_ws(fig, msg);\n", + "}\n", + "\n", + "mpl.figure.prototype.close_ws = function(fig, msg){\n", + " fig.send_message('closing', msg);\n", + " // fig.ws.close()\n", + "}\n", + "\n", + "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", + " // Turn the data on the canvas into data in the output cell.\n", + " var width = this.canvas.width/mpl.ratio\n", + " var dataURL = this.canvas.toDataURL();\n", + " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + "}\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function() {\n", + " // Tell IPython that the notebook contents must change.\n", + " IPython.notebook.set_dirty(true);\n", + " this.send_message(\"ack\", {});\n", + " var fig = this;\n", + " // Wait a second, then push the new image to the DOM so\n", + " // that it is saved nicely (might be nice to debounce this).\n", + " setTimeout(function () { fig.push_to_output() }, 1000);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('<div/>')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items){\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) { continue; };\n", + "\n", + " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", + " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", + " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", + " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", + " buttongrp.append(button);\n", + " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", + " titlebar.prepend(buttongrp);\n", + "}\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(el){\n", + " var fig = this\n", + " el.on(\"remove\", function(){\n", + "\tfig.close_ws(fig, {});\n", + " });\n", + "}\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(el){\n", + " // this is important to make the div 'focusable\n", + " el.attr('tabindex', 0)\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " }\n", + " else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " var manager = IPython.notebook.keyboard_manager;\n", + " if (!manager)\n", + " manager = IPython.keyboard_manager;\n", + "\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which == 13) {\n", + " this.canvas_div.blur();\n", + " // select the cell after this one\n", + " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", + " IPython.notebook.select(index + 1);\n", + " }\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " fig.ondownload(fig, null);\n", + "}\n", + "\n", + "\n", + "mpl.find_output_cell = function(html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i=0; i<ncells; i++) {\n", + " var cell = cells[i];\n", + " if (cell.cell_type === 'code'){\n", + " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", + " var data = cell.output_area.outputs[j];\n", + " if (data.data) {\n", + " // IPython >= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] == html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "}\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel != null) {\n", + " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", + "}\n" + ], + "text/plain": [ + "<IPython.core.display.Javascript object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<img src=\"data:image/png;base64,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\" width=\"800\">" + ], "text/plain": [ - "<matplotlib.figure.Figure at 0x72df4c905710>" + "<IPython.core.display.HTML object>" ] }, "metadata": {}, @@ -202,9 +2587,11 @@ " return [ sum((2**n + offx_lsb) if i&(2**n) else 0 for n in range(nbits)) for i in range(2**nbits) ]\n", "\n", "def plot_bitslide(data):\n", - " fig, (axl, axr) = plt.subplots(1, 2, figsize=(16, 6))\n", - " axl.plot(data)\n", - " axr.plot(data)\n", + " fig, (axl, axr) = plt.subplots(1, 2, figsize=(8, 3))\n", + " apply_style(axl)\n", + " apply_style(axr)\n", + " axl.plot(data, color=color_dark)\n", + " axr.plot(data, color=color_dark)\n", " axr.set_yscale('log')\n", " axr.set_xscale('log')\n", " axl.set_xlim((0, len(data)))\n", @@ -215,10 +2602,817 @@ }, { "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\n", + "\n", + "mpl.get_websocket_type = function() {\n", + " if (typeof(WebSocket) !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof(MozWebSocket) !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert('Your browser does not have WebSocket support.' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.');\n", + " };\n", + "}\n", + "\n", + "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = (this.ws.binaryType != undefined);\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById(\"mpl-warnings\");\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent = (\n", + " \"This browser does not support binary websocket messages. \" +\n", + " \"Performance may be slow.\");\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = $('<div/>');\n", + " this._root_extra_style(this.root)\n", + " this.root.attr('style', 'display: inline-block');\n", + "\n", + " $(parent_element).append(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", + " fig.send_message(\"send_image_mode\", {});\n", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\n", + " fig.send_message(\"refresh\", {});\n", + " }\n", + "\n", + " this.imageObj.onload = function() {\n", + " if (fig.image_mode == 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function() {\n", + " this.ws.close();\n", + " }\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "}\n", + "\n", + "mpl.figure.prototype._init_header = function() {\n", + " var titlebar = $(\n", + " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", + " 'ui-helper-clearfix\"/>');\n", + " var titletext = $(\n", + " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", + " 'text-align: center; padding: 3px;\"/>');\n", + " titlebar.append(titletext)\n", + " this.root.append(titlebar);\n", + " this.header = titletext[0];\n", + "}\n", + "\n", + "\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._init_canvas = function() {\n", + " var fig = this;\n", + "\n", + " var canvas_div = $('<div/>');\n", + "\n", + " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", + "\n", + " function canvas_keyboard_event(event) {\n", + " return fig.key_event(event, event['data']);\n", + " }\n", + "\n", + " canvas_div.keydown('key_press', canvas_keyboard_event);\n", + " canvas_div.keyup('key_release', canvas_keyboard_event);\n", + " this.canvas_div = canvas_div\n", + " this._canvas_extra_style(canvas_div)\n", + " this.root.append(canvas_div);\n", + "\n", + " var canvas = $('<canvas/>');\n", + " canvas.addClass('mpl-canvas');\n", + " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", + "\n", + " this.canvas = canvas[0];\n", + " this.context = canvas[0].getContext(\"2d\");\n", + "\n", + " var backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", + "\n", + " var rubberband = $('<canvas/>');\n", + " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", + "\n", + " var pass_mouse_events = true;\n", + "\n", + " canvas_div.resizable({\n", + " start: function(event, ui) {\n", + " pass_mouse_events = false;\n", + " },\n", + " resize: function(event, ui) {\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " stop: function(event, ui) {\n", + " pass_mouse_events = true;\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " });\n", + "\n", + " function mouse_event_fn(event) {\n", + " if (pass_mouse_events)\n", + " return fig.mouse_event(event, event['data']);\n", + " }\n", + "\n", + " rubberband.mousedown('button_press', mouse_event_fn);\n", + " rubberband.mouseup('button_release', mouse_event_fn);\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband.mousemove('motion_notify', mouse_event_fn);\n", + "\n", + " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", + " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", + "\n", + " canvas_div.on(\"wheel\", function (event) {\n", + " event = event.originalEvent;\n", + " event['data'] = 'scroll'\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " mouse_event_fn(event);\n", + " });\n", + "\n", + " canvas_div.append(canvas);\n", + " canvas_div.append(rubberband);\n", + "\n", + " this.rubberband = rubberband;\n", + " this.rubberband_canvas = rubberband[0];\n", + " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", + " this.rubberband_context.strokeStyle = \"#000000\";\n", + "\n", + " this._resize_canvas = function(width, height) {\n", + " // Keep the size of the canvas, canvas container, and rubber band\n", + " // canvas in synch.\n", + " canvas_div.css('width', width)\n", + " canvas_div.css('height', height)\n", + "\n", + " canvas.attr('width', width * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", + "\n", + " rubberband.attr('width', width);\n", + " rubberband.attr('height', height);\n", + " }\n", + "\n", + " // Set the figure to an initial 600x600px, this will subsequently be updated\n", + " // upon first draw.\n", + " this._resize_canvas(600, 600);\n", + "\n", + " // Disable right mouse context menu.\n", + " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", + " return false;\n", + " });\n", + "\n", + " function set_focus () {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('<div/>')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " // put a spacer in here.\n", + " continue;\n", + " }\n", + " var button = $('<button/>');\n", + " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", + " 'ui-button-icon-only');\n", + " button.attr('role', 'button');\n", + " button.attr('aria-disabled', 'false');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + "\n", + " var icon_img = $('<span/>');\n", + " icon_img.addClass('ui-button-icon-primary ui-icon');\n", + " icon_img.addClass(image);\n", + " icon_img.addClass('ui-corner-all');\n", + "\n", + " var tooltip_span = $('<span/>');\n", + " tooltip_span.addClass('ui-button-text');\n", + " tooltip_span.html(tooltip);\n", + "\n", + " button.append(icon_img);\n", + " button.append(tooltip_span);\n", + "\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " var fmt_picker_span = $('<span/>');\n", + "\n", + " var fmt_picker = $('<select/>');\n", + " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", + " fmt_picker_span.append(fmt_picker);\n", + " nav_element.append(fmt_picker_span);\n", + " this.format_dropdown = fmt_picker[0];\n", + "\n", + " for (var ind in mpl.extensions) {\n", + " var fmt = mpl.extensions[ind];\n", + " var option = $(\n", + " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", + " fmt_picker.append(option)\n", + " }\n", + "\n", + " // Add hover states to the ui-buttons\n", + " $( \".ui-button\" ).hover(\n", + " function() { $(this).addClass(\"ui-state-hover\");},\n", + " function() { $(this).removeClass(\"ui-state-hover\");}\n", + " );\n", + "\n", + " var status_bar = $('<span class=\"mpl-message\"/>');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "}\n", + "\n", + "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", + " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", + " // which will in turn request a refresh of the image.\n", + " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", + "}\n", + "\n", + "mpl.figure.prototype.send_message = function(type, properties) {\n", + " properties['type'] = type;\n", + " properties['figure_id'] = this.id;\n", + " this.ws.send(JSON.stringify(properties));\n", + "}\n", + "\n", + "mpl.figure.prototype.send_draw_message = function() {\n", + " if (!this.waiting) {\n", + " this.waiting = true;\n", + " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", + " }\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " var format_dropdown = fig.format_dropdown;\n", + " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", + " fig.ondownload(fig, format);\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", + " var size = msg['size'];\n", + " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", + " fig._resize_canvas(size[0], size[1]);\n", + " fig.send_message(\"refresh\", {});\n", + " };\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", + " var x0 = msg['x0'] / mpl.ratio;\n", + " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", + " var x1 = msg['x1'] / mpl.ratio;\n", + " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", + " x0 = Math.floor(x0) + 0.5;\n", + " y0 = Math.floor(y0) + 0.5;\n", + " x1 = Math.floor(x1) + 0.5;\n", + " y1 = Math.floor(y1) + 0.5;\n", + " var min_x = Math.min(x0, x1);\n", + " var min_y = Math.min(y0, y1);\n", + " var width = Math.abs(x1 - x0);\n", + " var height = Math.abs(y1 - y0);\n", + "\n", + " fig.rubberband_context.clearRect(\n", + " 0, 0, fig.canvas.width, fig.canvas.height);\n", + "\n", + " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", + " // Updates the figure title.\n", + " fig.header.textContent = msg['label'];\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", + " var cursor = msg['cursor'];\n", + " switch(cursor)\n", + " {\n", + " case 0:\n", + " cursor = 'pointer';\n", + " break;\n", + " case 1:\n", + " cursor = 'default';\n", + " break;\n", + " case 2:\n", + " cursor = 'crosshair';\n", + " break;\n", + " case 3:\n", + " cursor = 'move';\n", + " break;\n", + " }\n", + " fig.rubberband_canvas.style.cursor = cursor;\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_message = function(fig, msg) {\n", + " fig.message.textContent = msg['message'];\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", + " // Request the server to send over a new figure.\n", + " fig.send_draw_message();\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", + " fig.image_mode = msg['mode'];\n", + "}\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function() {\n", + " // Called whenever the canvas gets updated.\n", + " this.send_message(\"ack\", {});\n", + "}\n", + "\n", + "// A function to construct a web socket function for onmessage handling.\n", + "// Called in the figure constructor.\n", + "mpl.figure.prototype._make_on_message_function = function(fig) {\n", + " return function socket_on_message(evt) {\n", + " if (evt.data instanceof Blob) {\n", + " /* FIXME: We get \"Resource interpreted as Image but\n", + " * transferred with MIME type text/plain:\" errors on\n", + " * Chrome. But how to set the MIME type? It doesn't seem\n", + " * to be part of the websocket stream */\n", + " evt.data.type = \"image/png\";\n", + "\n", + " /* Free the memory for the previous frames */\n", + " if (fig.imageObj.src) {\n", + " (window.URL || window.webkitURL).revokeObjectURL(\n", + " fig.imageObj.src);\n", + " }\n", + "\n", + " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", + " evt.data);\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", + " fig.imageObj.src = evt.data;\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + "\n", + " var msg = JSON.parse(evt.data);\n", + " var msg_type = msg['type'];\n", + "\n", + " // Call the \"handle_{type}\" callback, which takes\n", + " // the figure and JSON message as its only arguments.\n", + " try {\n", + " var callback = fig[\"handle_\" + msg_type];\n", + " } catch (e) {\n", + " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", + " return;\n", + " }\n", + "\n", + " if (callback) {\n", + " try {\n", + " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", + " callback(fig, msg);\n", + " } catch (e) {\n", + " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", + " }\n", + " }\n", + " };\n", + "}\n", + "\n", + "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", + "mpl.findpos = function(e) {\n", + " //this section is from http://www.quirksmode.org/js/events_properties.html\n", + " var targ;\n", + " if (!e)\n", + " e = window.event;\n", + " if (e.target)\n", + " targ = e.target;\n", + " else if (e.srcElement)\n", + " targ = e.srcElement;\n", + " if (targ.nodeType == 3) // defeat Safari bug\n", + " targ = targ.parentNode;\n", + "\n", + " // jQuery normalizes the pageX and pageY\n", + " // pageX,Y are the mouse positions relative to the document\n", + " // offset() returns the position of the element relative to the document\n", + " var x = e.pageX - $(targ).offset().left;\n", + " var y = e.pageY - $(targ).offset().top;\n", + "\n", + " return {\"x\": x, \"y\": y};\n", + "};\n", + "\n", + "/*\n", + " * return a copy of an object with only non-object keys\n", + " * we need this to avoid circular references\n", + " * http://stackoverflow.com/a/24161582/3208463\n", + " */\n", + "function simpleKeys (original) {\n", + " return Object.keys(original).reduce(function (obj, key) {\n", + " if (typeof original[key] !== 'object')\n", + " obj[key] = original[key]\n", + " return obj;\n", + " }, {});\n", + "}\n", + "\n", + "mpl.figure.prototype.mouse_event = function(event, name) {\n", + " var canvas_pos = mpl.findpos(event)\n", + "\n", + " if (name === 'button_press')\n", + " {\n", + " this.canvas.focus();\n", + " this.canvas_div.focus();\n", + " }\n", + "\n", + " var x = canvas_pos.x * mpl.ratio;\n", + " var y = canvas_pos.y * mpl.ratio;\n", + "\n", + " this.send_message(name, {x: x, y: y, button: event.button,\n", + " step: event.step,\n", + " guiEvent: simpleKeys(event)});\n", + "\n", + " /* This prevents the web browser from automatically changing to\n", + " * the text insertion cursor when the button is pressed. We want\n", + " * to control all of the cursor setting manually through the\n", + " * 'cursor' event from matplotlib */\n", + " event.preventDefault();\n", + " return false;\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " // Handle any extra behaviour associated with a key event\n", + "}\n", + "\n", + "mpl.figure.prototype.key_event = function(event, name) {\n", + "\n", + " // Prevent repeat events\n", + " if (name == 'key_press')\n", + " {\n", + " if (event.which === this._key)\n", + " return;\n", + " else\n", + " this._key = event.which;\n", + " }\n", + " if (name == 'key_release')\n", + " this._key = null;\n", + "\n", + " var value = '';\n", + " if (event.ctrlKey && event.which != 17)\n", + " value += \"ctrl+\";\n", + " if (event.altKey && event.which != 18)\n", + " value += \"alt+\";\n", + " if (event.shiftKey && event.which != 16)\n", + " value += \"shift+\";\n", + "\n", + " value += 'k';\n", + " value += event.which.toString();\n", + "\n", + " this._key_event_extra(event, name);\n", + "\n", + " this.send_message(name, {key: value,\n", + " guiEvent: simpleKeys(event)});\n", + " return false;\n", + "}\n", + "\n", + "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", + " if (name == 'download') {\n", + " this.handle_save(this, null);\n", + " } else {\n", + " this.send_message(\"toolbar_button\", {name: name});\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", + " this.message.textContent = tooltip;\n", + "};\n", + "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", + "\n", + "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", + "\n", + "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", + " // Create a \"websocket\"-like object which calls the given IPython comm\n", + " // object with the appropriate methods. Currently this is a non binary\n", + " // socket, so there is still some room for performance tuning.\n", + " var ws = {};\n", + "\n", + " ws.close = function() {\n", + " comm.close()\n", + " };\n", + " ws.send = function(m) {\n", + " //console.log('sending', m);\n", + " comm.send(m);\n", + " };\n", + " // Register the callback with on_msg.\n", + " comm.on_msg(function(msg) {\n", + " //console.log('receiving', msg['content']['data'], msg);\n", + " // Pass the mpl event to the overriden (by mpl) onmessage function.\n", + " ws.onmessage(msg['content']['data'])\n", + " });\n", + " return ws;\n", + "}\n", + "\n", + "mpl.mpl_figure_comm = function(comm, msg) {\n", + " // This is the function which gets called when the mpl process\n", + " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", + "\n", + " var id = msg.content.data.id;\n", + " // Get hold of the div created by the display call when the Comm\n", + " // socket was opened in Python.\n", + " var element = $(\"#\" + id);\n", + " var ws_proxy = comm_websocket_adapter(comm)\n", + "\n", + " function ondownload(figure, format) {\n", + " window.open(figure.imageObj.src);\n", + " }\n", + "\n", + " var fig = new mpl.figure(id, ws_proxy,\n", + " ondownload,\n", + " element.get(0));\n", + "\n", + " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", + " // web socket which is closed, not our websocket->open comm proxy.\n", + " ws_proxy.onopen();\n", + "\n", + " fig.parent_element = element.get(0);\n", + " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", + " if (!fig.cell_info) {\n", + " console.error(\"Failed to find cell for figure\", id, fig);\n", + " return;\n", + " }\n", + "\n", + " var output_index = fig.cell_info[2]\n", + " var cell = fig.cell_info[0];\n", + "\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_close = function(fig, msg) {\n", + " var width = fig.canvas.width/mpl.ratio\n", + " fig.root.unbind('remove')\n", + "\n", + " // Update the output cell to use the data from the current canvas.\n", + " fig.push_to_output();\n", + " var dataURL = fig.canvas.toDataURL();\n", + " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", + " // the notebook keyboard shortcuts fail.\n", + " IPython.keyboard_manager.enable()\n", + " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", + " fig.close_ws(fig, msg);\n", + "}\n", + "\n", + "mpl.figure.prototype.close_ws = function(fig, msg){\n", + " fig.send_message('closing', msg);\n", + " // fig.ws.close()\n", + "}\n", + "\n", + "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", + " // Turn the data on the canvas into data in the output cell.\n", + " var width = this.canvas.width/mpl.ratio\n", + " var dataURL = this.canvas.toDataURL();\n", + " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + "}\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function() {\n", + " // Tell IPython that the notebook contents must change.\n", + " IPython.notebook.set_dirty(true);\n", + " this.send_message(\"ack\", {});\n", + " var fig = this;\n", + " // Wait a second, then push the new image to the DOM so\n", + " // that it is saved nicely (might be nice to debounce this).\n", + " setTimeout(function () { fig.push_to_output() }, 1000);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('<div/>')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items){\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) { continue; };\n", + "\n", + " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", + " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", + " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", + " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", + " buttongrp.append(button);\n", + " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", + " titlebar.prepend(buttongrp);\n", + "}\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(el){\n", + " var fig = this\n", + " el.on(\"remove\", function(){\n", + "\tfig.close_ws(fig, {});\n", + " });\n", + "}\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(el){\n", + " // this is important to make the div 'focusable\n", + " el.attr('tabindex', 0)\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " }\n", + " else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " var manager = IPython.notebook.keyboard_manager;\n", + " if (!manager)\n", + " manager = IPython.keyboard_manager;\n", + "\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which == 13) {\n", + " this.canvas_div.blur();\n", + " // select the cell after this one\n", + " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", + " IPython.notebook.select(index + 1);\n", + " }\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " fig.ondownload(fig, null);\n", + "}\n", + "\n", + "\n", + "mpl.find_output_cell = function(html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i=0; i<ncells; i++) {\n", + " var cell = cells[i];\n", + " if (cell.cell_type === 'code'){\n", + " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", + " var data = cell.output_area.outputs[j];\n", + " if (data.data) {\n", + " // IPython >= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] == html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "}\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel != null) {\n", + " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", + "}\n" + ], + "text/plain": [ + "<IPython.core.display.Javascript object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<img src=\"data:image/png;base64,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\" width=\"600\">" + ], + "text/plain": [ + "<IPython.core.display.HTML object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "def frob_export_for_blog(data, svgfile=None):\n", + " fig, ax = plt.subplots(1, 1, figsize=(6, 4))\n", + " apply_style(ax)\n", + " ax.plot(data, color=color_dark)\n", + " ax.set_yscale('log')\n", + " ax.set_xscale('log')\n", + " ax.set_xlim((0, len(data)))\n", + " if svgfile:\n", + " fig.savefig(svgfile)\n", + "\n", + "frob_export_for_blog(bitslide(8, 2.5), svgfile='/tmp/uncorrected_brightness_sim.svg')" + ] + }, + { + "cell_type": "code", "execution_count": 8, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -242,9 +3436,7 @@ { "cell_type": "code", "execution_count": 9, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -269,9 +3461,7 @@ { "cell_type": "code", "execution_count": 10, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "data": { @@ -296,9 +3486,7 @@ { "cell_type": "code", "execution_count": 28, - "metadata": { - "collapsed": false - }, + "metadata": {}, "outputs": [ { "name": "stdout", @@ -324,16 +3512,793 @@ }, { "cell_type": "code", - "execution_count": 52, - "metadata": { - "collapsed": false - }, + "execution_count": 19, + "metadata": {}, "outputs": [ { "data": { - "image/png": "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\n", + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\n", + "\n", + "mpl.get_websocket_type = function() {\n", + " if (typeof(WebSocket) !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof(MozWebSocket) !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert('Your browser does not have WebSocket support.' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.');\n", + " };\n", + "}\n", + "\n", + "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = (this.ws.binaryType != undefined);\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById(\"mpl-warnings\");\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent = (\n", + " \"This browser does not support binary websocket messages. \" +\n", + " \"Performance may be slow.\");\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = $('<div/>');\n", + " this._root_extra_style(this.root)\n", + " this.root.attr('style', 'display: inline-block');\n", + "\n", + " $(parent_element).append(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", + " fig.send_message(\"send_image_mode\", {});\n", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\n", + " fig.send_message(\"refresh\", {});\n", + " }\n", + "\n", + " this.imageObj.onload = function() {\n", + " if (fig.image_mode == 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function() {\n", + " this.ws.close();\n", + " }\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "}\n", + "\n", + "mpl.figure.prototype._init_header = function() {\n", + " var titlebar = $(\n", + " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", + " 'ui-helper-clearfix\"/>');\n", + " var titletext = $(\n", + " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", + " 'text-align: center; padding: 3px;\"/>');\n", + " titlebar.append(titletext)\n", + " this.root.append(titlebar);\n", + " this.header = titletext[0];\n", + "}\n", + "\n", + "\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._init_canvas = function() {\n", + " var fig = this;\n", + "\n", + " var canvas_div = $('<div/>');\n", + "\n", + " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", + "\n", + " function canvas_keyboard_event(event) {\n", + " return fig.key_event(event, event['data']);\n", + " }\n", + "\n", + " canvas_div.keydown('key_press', canvas_keyboard_event);\n", + " canvas_div.keyup('key_release', canvas_keyboard_event);\n", + " this.canvas_div = canvas_div\n", + " this._canvas_extra_style(canvas_div)\n", + " this.root.append(canvas_div);\n", + "\n", + " var canvas = $('<canvas/>');\n", + " canvas.addClass('mpl-canvas');\n", + " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", + "\n", + " this.canvas = canvas[0];\n", + " this.context = canvas[0].getContext(\"2d\");\n", + "\n", + " var backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", + "\n", + " var rubberband = $('<canvas/>');\n", + " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", + "\n", + " var pass_mouse_events = true;\n", + "\n", + " canvas_div.resizable({\n", + " start: function(event, ui) {\n", + " pass_mouse_events = false;\n", + " },\n", + " resize: function(event, ui) {\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " stop: function(event, ui) {\n", + " pass_mouse_events = true;\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " });\n", + "\n", + " function mouse_event_fn(event) {\n", + " if (pass_mouse_events)\n", + " return fig.mouse_event(event, event['data']);\n", + " }\n", + "\n", + " rubberband.mousedown('button_press', mouse_event_fn);\n", + " rubberband.mouseup('button_release', mouse_event_fn);\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband.mousemove('motion_notify', mouse_event_fn);\n", + "\n", + " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", + " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", + "\n", + " canvas_div.on(\"wheel\", function (event) {\n", + " event = event.originalEvent;\n", + " event['data'] = 'scroll'\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " mouse_event_fn(event);\n", + " });\n", + "\n", + " canvas_div.append(canvas);\n", + " canvas_div.append(rubberband);\n", + "\n", + " this.rubberband = rubberband;\n", + " this.rubberband_canvas = rubberband[0];\n", + " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", + " this.rubberband_context.strokeStyle = \"#000000\";\n", + "\n", + " this._resize_canvas = function(width, height) {\n", + " // Keep the size of the canvas, canvas container, and rubber band\n", + " // canvas in synch.\n", + " canvas_div.css('width', width)\n", + " canvas_div.css('height', height)\n", + "\n", + " canvas.attr('width', width * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", + "\n", + " rubberband.attr('width', width);\n", + " rubberband.attr('height', height);\n", + " }\n", + "\n", + " // Set the figure to an initial 600x600px, this will subsequently be updated\n", + " // upon first draw.\n", + " this._resize_canvas(600, 600);\n", + "\n", + " // Disable right mouse context menu.\n", + " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", + " return false;\n", + " });\n", + "\n", + " function set_focus () {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('<div/>')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " // put a spacer in here.\n", + " continue;\n", + " }\n", + " var button = $('<button/>');\n", + " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", + " 'ui-button-icon-only');\n", + " button.attr('role', 'button');\n", + " button.attr('aria-disabled', 'false');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + "\n", + " var icon_img = $('<span/>');\n", + " icon_img.addClass('ui-button-icon-primary ui-icon');\n", + " icon_img.addClass(image);\n", + " icon_img.addClass('ui-corner-all');\n", + "\n", + " var tooltip_span = $('<span/>');\n", + " tooltip_span.addClass('ui-button-text');\n", + " tooltip_span.html(tooltip);\n", + "\n", + " button.append(icon_img);\n", + " button.append(tooltip_span);\n", + "\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " var fmt_picker_span = $('<span/>');\n", + "\n", + " var fmt_picker = $('<select/>');\n", + " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", + " fmt_picker_span.append(fmt_picker);\n", + " nav_element.append(fmt_picker_span);\n", + " this.format_dropdown = fmt_picker[0];\n", + "\n", + " for (var ind in mpl.extensions) {\n", + " var fmt = mpl.extensions[ind];\n", + " var option = $(\n", + " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", + " fmt_picker.append(option)\n", + " }\n", + "\n", + " // Add hover states to the ui-buttons\n", + " $( \".ui-button\" ).hover(\n", + " function() { $(this).addClass(\"ui-state-hover\");},\n", + " function() { $(this).removeClass(\"ui-state-hover\");}\n", + " );\n", + "\n", + " var status_bar = $('<span class=\"mpl-message\"/>');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "}\n", + "\n", + "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", + " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", + " // which will in turn request a refresh of the image.\n", + " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", + "}\n", + "\n", + "mpl.figure.prototype.send_message = function(type, properties) {\n", + " properties['type'] = type;\n", + " properties['figure_id'] = this.id;\n", + " this.ws.send(JSON.stringify(properties));\n", + "}\n", + "\n", + "mpl.figure.prototype.send_draw_message = function() {\n", + " if (!this.waiting) {\n", + " this.waiting = true;\n", + " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", + " }\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " var format_dropdown = fig.format_dropdown;\n", + " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", + " fig.ondownload(fig, format);\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", + " var size = msg['size'];\n", + " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", + " fig._resize_canvas(size[0], size[1]);\n", + " fig.send_message(\"refresh\", {});\n", + " };\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", + " var x0 = msg['x0'] / mpl.ratio;\n", + " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", + " var x1 = msg['x1'] / mpl.ratio;\n", + " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", + " x0 = Math.floor(x0) + 0.5;\n", + " y0 = Math.floor(y0) + 0.5;\n", + " x1 = Math.floor(x1) + 0.5;\n", + " y1 = Math.floor(y1) + 0.5;\n", + " var min_x = Math.min(x0, x1);\n", + " var min_y = Math.min(y0, y1);\n", + " var width = Math.abs(x1 - x0);\n", + " var height = Math.abs(y1 - y0);\n", + "\n", + " fig.rubberband_context.clearRect(\n", + " 0, 0, fig.canvas.width, fig.canvas.height);\n", + "\n", + " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", + " // Updates the figure title.\n", + " fig.header.textContent = msg['label'];\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", + " var cursor = msg['cursor'];\n", + " switch(cursor)\n", + " {\n", + " case 0:\n", + " cursor = 'pointer';\n", + " break;\n", + " case 1:\n", + " cursor = 'default';\n", + " break;\n", + " case 2:\n", + " cursor = 'crosshair';\n", + " break;\n", + " case 3:\n", + " cursor = 'move';\n", + " break;\n", + " }\n", + " fig.rubberband_canvas.style.cursor = cursor;\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_message = function(fig, msg) {\n", + " fig.message.textContent = msg['message'];\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", + " // Request the server to send over a new figure.\n", + " fig.send_draw_message();\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", + " fig.image_mode = msg['mode'];\n", + "}\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function() {\n", + " // Called whenever the canvas gets updated.\n", + " this.send_message(\"ack\", {});\n", + "}\n", + "\n", + "// A function to construct a web socket function for onmessage handling.\n", + "// Called in the figure constructor.\n", + "mpl.figure.prototype._make_on_message_function = function(fig) {\n", + " return function socket_on_message(evt) {\n", + " if (evt.data instanceof Blob) {\n", + " /* FIXME: We get \"Resource interpreted as Image but\n", + " * transferred with MIME type text/plain:\" errors on\n", + " * Chrome. But how to set the MIME type? It doesn't seem\n", + " * to be part of the websocket stream */\n", + " evt.data.type = \"image/png\";\n", + "\n", + " /* Free the memory for the previous frames */\n", + " if (fig.imageObj.src) {\n", + " (window.URL || window.webkitURL).revokeObjectURL(\n", + " fig.imageObj.src);\n", + " }\n", + "\n", + " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", + " evt.data);\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", + " fig.imageObj.src = evt.data;\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + "\n", + " var msg = JSON.parse(evt.data);\n", + " var msg_type = msg['type'];\n", + "\n", + " // Call the \"handle_{type}\" callback, which takes\n", + " // the figure and JSON message as its only arguments.\n", + " try {\n", + " var callback = fig[\"handle_\" + msg_type];\n", + " } catch (e) {\n", + " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", + " return;\n", + " }\n", + "\n", + " if (callback) {\n", + " try {\n", + " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", + " callback(fig, msg);\n", + " } catch (e) {\n", + " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", + " }\n", + " }\n", + " };\n", + "}\n", + "\n", + "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", + "mpl.findpos = function(e) {\n", + " //this section is from http://www.quirksmode.org/js/events_properties.html\n", + " var targ;\n", + " if (!e)\n", + " e = window.event;\n", + " if (e.target)\n", + " targ = e.target;\n", + " else if (e.srcElement)\n", + " targ = e.srcElement;\n", + " if (targ.nodeType == 3) // defeat Safari bug\n", + " targ = targ.parentNode;\n", + "\n", + " // jQuery normalizes the pageX and pageY\n", + " // pageX,Y are the mouse positions relative to the document\n", + " // offset() returns the position of the element relative to the document\n", + " var x = e.pageX - $(targ).offset().left;\n", + " var y = e.pageY - $(targ).offset().top;\n", + "\n", + " return {\"x\": x, \"y\": y};\n", + "};\n", + "\n", + "/*\n", + " * return a copy of an object with only non-object keys\n", + " * we need this to avoid circular references\n", + " * http://stackoverflow.com/a/24161582/3208463\n", + " */\n", + "function simpleKeys (original) {\n", + " return Object.keys(original).reduce(function (obj, key) {\n", + " if (typeof original[key] !== 'object')\n", + " obj[key] = original[key]\n", + " return obj;\n", + " }, {});\n", + "}\n", + "\n", + "mpl.figure.prototype.mouse_event = function(event, name) {\n", + " var canvas_pos = mpl.findpos(event)\n", + "\n", + " if (name === 'button_press')\n", + " {\n", + " this.canvas.focus();\n", + " this.canvas_div.focus();\n", + " }\n", + "\n", + " var x = canvas_pos.x * mpl.ratio;\n", + " var y = canvas_pos.y * mpl.ratio;\n", + "\n", + " this.send_message(name, {x: x, y: y, button: event.button,\n", + " step: event.step,\n", + " guiEvent: simpleKeys(event)});\n", + "\n", + " /* This prevents the web browser from automatically changing to\n", + " * the text insertion cursor when the button is pressed. We want\n", + " * to control all of the cursor setting manually through the\n", + " * 'cursor' event from matplotlib */\n", + " event.preventDefault();\n", + " return false;\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " // Handle any extra behaviour associated with a key event\n", + "}\n", + "\n", + "mpl.figure.prototype.key_event = function(event, name) {\n", + "\n", + " // Prevent repeat events\n", + " if (name == 'key_press')\n", + " {\n", + " if (event.which === this._key)\n", + " return;\n", + " else\n", + " this._key = event.which;\n", + " }\n", + " if (name == 'key_release')\n", + " this._key = null;\n", + "\n", + " var value = '';\n", + " if (event.ctrlKey && event.which != 17)\n", + " value += \"ctrl+\";\n", + " if (event.altKey && event.which != 18)\n", + " value += \"alt+\";\n", + " if (event.shiftKey && event.which != 16)\n", + " value += \"shift+\";\n", + "\n", + " value += 'k';\n", + " value += event.which.toString();\n", + "\n", + " this._key_event_extra(event, name);\n", + "\n", + " this.send_message(name, {key: value,\n", + " guiEvent: simpleKeys(event)});\n", + " return false;\n", + "}\n", + "\n", + "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", + " if (name == 'download') {\n", + " this.handle_save(this, null);\n", + " } else {\n", + " this.send_message(\"toolbar_button\", {name: name});\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", + " this.message.textContent = tooltip;\n", + "};\n", + "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", + "\n", + "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", + "\n", + "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", + " // Create a \"websocket\"-like object which calls the given IPython comm\n", + " // object with the appropriate methods. Currently this is a non binary\n", + " // socket, so there is still some room for performance tuning.\n", + " var ws = {};\n", + "\n", + " ws.close = function() {\n", + " comm.close()\n", + " };\n", + " ws.send = function(m) {\n", + " //console.log('sending', m);\n", + " comm.send(m);\n", + " };\n", + " // Register the callback with on_msg.\n", + " comm.on_msg(function(msg) {\n", + " //console.log('receiving', msg['content']['data'], msg);\n", + " // Pass the mpl event to the overriden (by mpl) onmessage function.\n", + " ws.onmessage(msg['content']['data'])\n", + " });\n", + " return ws;\n", + "}\n", + "\n", + "mpl.mpl_figure_comm = function(comm, msg) {\n", + " // This is the function which gets called when the mpl process\n", + " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", + "\n", + " var id = msg.content.data.id;\n", + " // Get hold of the div created by the display call when the Comm\n", + " // socket was opened in Python.\n", + " var element = $(\"#\" + id);\n", + " var ws_proxy = comm_websocket_adapter(comm)\n", + "\n", + " function ondownload(figure, format) {\n", + " window.open(figure.imageObj.src);\n", + " }\n", + "\n", + " var fig = new mpl.figure(id, ws_proxy,\n", + " ondownload,\n", + " element.get(0));\n", + "\n", + " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", + " // web socket which is closed, not our websocket->open comm proxy.\n", + " ws_proxy.onopen();\n", + "\n", + " fig.parent_element = element.get(0);\n", + " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", + " if (!fig.cell_info) {\n", + " console.error(\"Failed to find cell for figure\", id, fig);\n", + " return;\n", + " }\n", + "\n", + " var output_index = fig.cell_info[2]\n", + " var cell = fig.cell_info[0];\n", + "\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_close = function(fig, msg) {\n", + " var width = fig.canvas.width/mpl.ratio\n", + " fig.root.unbind('remove')\n", + "\n", + " // Update the output cell to use the data from the current canvas.\n", + " fig.push_to_output();\n", + " var dataURL = fig.canvas.toDataURL();\n", + " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", + " // the notebook keyboard shortcuts fail.\n", + " IPython.keyboard_manager.enable()\n", + " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", + " fig.close_ws(fig, msg);\n", + "}\n", + "\n", + "mpl.figure.prototype.close_ws = function(fig, msg){\n", + " fig.send_message('closing', msg);\n", + " // fig.ws.close()\n", + "}\n", + "\n", + "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", + " // Turn the data on the canvas into data in the output cell.\n", + " var width = this.canvas.width/mpl.ratio\n", + " var dataURL = this.canvas.toDataURL();\n", + " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + "}\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function() {\n", + " // Tell IPython that the notebook contents must change.\n", + " IPython.notebook.set_dirty(true);\n", + " this.send_message(\"ack\", {});\n", + " var fig = this;\n", + " // Wait a second, then push the new image to the DOM so\n", + " // that it is saved nicely (might be nice to debounce this).\n", + " setTimeout(function () { fig.push_to_output() }, 1000);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('<div/>')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items){\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) { continue; };\n", + "\n", + " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", + " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", + " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", + " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", + " buttongrp.append(button);\n", + " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", + " titlebar.prepend(buttongrp);\n", + "}\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(el){\n", + " var fig = this\n", + " el.on(\"remove\", function(){\n", + "\tfig.close_ws(fig, {});\n", + " });\n", + "}\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(el){\n", + " // this is important to make the div 'focusable\n", + " el.attr('tabindex', 0)\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " }\n", + " else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " var manager = IPython.notebook.keyboard_manager;\n", + " if (!manager)\n", + " manager = IPython.keyboard_manager;\n", + "\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which == 13) {\n", + " this.canvas_div.blur();\n", + " // select the cell after this one\n", + " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", + " IPython.notebook.select(index + 1);\n", + " }\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " fig.ondownload(fig, null);\n", + "}\n", + "\n", + "\n", + "mpl.find_output_cell = function(html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i=0; i<ncells; i++) {\n", + " var cell = cells[i];\n", + " if (cell.cell_type === 'code'){\n", + " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", + " var data = cell.output_area.outputs[j];\n", + " if (data.data) {\n", + " // IPython >= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] == html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "}\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel != null) {\n", + " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", + "}\n" + ], "text/plain": [ - "<matplotlib.figure.Figure at 0x72df4c863080>" + "<IPython.core.display.Javascript object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<img src=\"data:image/png;base64,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\" width=\"800\">" + ], + "text/plain": [ + "<IPython.core.display.HTML object>" ] }, "metadata": {}, @@ -349,6 +4314,805 @@ "data = np.array(next(iter(data.values())))[:,1] - zero_cal\n", "plot_bitslide(simulate_bitslide(data))" ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "data": { + "application/javascript": [ + "/* Put everything inside the global mpl namespace */\n", + "window.mpl = {};\n", + "\n", + "\n", + "mpl.get_websocket_type = function() {\n", + " if (typeof(WebSocket) !== 'undefined') {\n", + " return WebSocket;\n", + " } else if (typeof(MozWebSocket) !== 'undefined') {\n", + " return MozWebSocket;\n", + " } else {\n", + " alert('Your browser does not have WebSocket support.' +\n", + " 'Please try Chrome, Safari or Firefox ≥ 6. ' +\n", + " 'Firefox 4 and 5 are also supported but you ' +\n", + " 'have to enable WebSockets in about:config.');\n", + " };\n", + "}\n", + "\n", + "mpl.figure = function(figure_id, websocket, ondownload, parent_element) {\n", + " this.id = figure_id;\n", + "\n", + " this.ws = websocket;\n", + "\n", + " this.supports_binary = (this.ws.binaryType != undefined);\n", + "\n", + " if (!this.supports_binary) {\n", + " var warnings = document.getElementById(\"mpl-warnings\");\n", + " if (warnings) {\n", + " warnings.style.display = 'block';\n", + " warnings.textContent = (\n", + " \"This browser does not support binary websocket messages. \" +\n", + " \"Performance may be slow.\");\n", + " }\n", + " }\n", + "\n", + " this.imageObj = new Image();\n", + "\n", + " this.context = undefined;\n", + " this.message = undefined;\n", + " this.canvas = undefined;\n", + " this.rubberband_canvas = undefined;\n", + " this.rubberband_context = undefined;\n", + " this.format_dropdown = undefined;\n", + "\n", + " this.image_mode = 'full';\n", + "\n", + " this.root = $('<div/>');\n", + " this._root_extra_style(this.root)\n", + " this.root.attr('style', 'display: inline-block');\n", + "\n", + " $(parent_element).append(this.root);\n", + "\n", + " this._init_header(this);\n", + " this._init_canvas(this);\n", + " this._init_toolbar(this);\n", + "\n", + " var fig = this;\n", + "\n", + " this.waiting = false;\n", + "\n", + " this.ws.onopen = function () {\n", + " fig.send_message(\"supports_binary\", {value: fig.supports_binary});\n", + " fig.send_message(\"send_image_mode\", {});\n", + " if (mpl.ratio != 1) {\n", + " fig.send_message(\"set_dpi_ratio\", {'dpi_ratio': mpl.ratio});\n", + " }\n", + " fig.send_message(\"refresh\", {});\n", + " }\n", + "\n", + " this.imageObj.onload = function() {\n", + " if (fig.image_mode == 'full') {\n", + " // Full images could contain transparency (where diff images\n", + " // almost always do), so we need to clear the canvas so that\n", + " // there is no ghosting.\n", + " fig.context.clearRect(0, 0, fig.canvas.width, fig.canvas.height);\n", + " }\n", + " fig.context.drawImage(fig.imageObj, 0, 0);\n", + " };\n", + "\n", + " this.imageObj.onunload = function() {\n", + " this.ws.close();\n", + " }\n", + "\n", + " this.ws.onmessage = this._make_on_message_function(this);\n", + "\n", + " this.ondownload = ondownload;\n", + "}\n", + "\n", + "mpl.figure.prototype._init_header = function() {\n", + " var titlebar = $(\n", + " '<div class=\"ui-dialog-titlebar ui-widget-header ui-corner-all ' +\n", + " 'ui-helper-clearfix\"/>');\n", + " var titletext = $(\n", + " '<div class=\"ui-dialog-title\" style=\"width: 100%; ' +\n", + " 'text-align: center; padding: 3px;\"/>');\n", + " titlebar.append(titletext)\n", + " this.root.append(titlebar);\n", + " this.header = titletext[0];\n", + "}\n", + "\n", + "\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(canvas_div) {\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._init_canvas = function() {\n", + " var fig = this;\n", + "\n", + " var canvas_div = $('<div/>');\n", + "\n", + " canvas_div.attr('style', 'position: relative; clear: both; outline: 0');\n", + "\n", + " function canvas_keyboard_event(event) {\n", + " return fig.key_event(event, event['data']);\n", + " }\n", + "\n", + " canvas_div.keydown('key_press', canvas_keyboard_event);\n", + " canvas_div.keyup('key_release', canvas_keyboard_event);\n", + " this.canvas_div = canvas_div\n", + " this._canvas_extra_style(canvas_div)\n", + " this.root.append(canvas_div);\n", + "\n", + " var canvas = $('<canvas/>');\n", + " canvas.addClass('mpl-canvas');\n", + " canvas.attr('style', \"left: 0; top: 0; z-index: 0; outline: 0\")\n", + "\n", + " this.canvas = canvas[0];\n", + " this.context = canvas[0].getContext(\"2d\");\n", + "\n", + " var backingStore = this.context.backingStorePixelRatio ||\n", + "\tthis.context.webkitBackingStorePixelRatio ||\n", + "\tthis.context.mozBackingStorePixelRatio ||\n", + "\tthis.context.msBackingStorePixelRatio ||\n", + "\tthis.context.oBackingStorePixelRatio ||\n", + "\tthis.context.backingStorePixelRatio || 1;\n", + "\n", + " mpl.ratio = (window.devicePixelRatio || 1) / backingStore;\n", + "\n", + " var rubberband = $('<canvas/>');\n", + " rubberband.attr('style', \"position: absolute; left: 0; top: 0; z-index: 1;\")\n", + "\n", + " var pass_mouse_events = true;\n", + "\n", + " canvas_div.resizable({\n", + " start: function(event, ui) {\n", + " pass_mouse_events = false;\n", + " },\n", + " resize: function(event, ui) {\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " stop: function(event, ui) {\n", + " pass_mouse_events = true;\n", + " fig.request_resize(ui.size.width, ui.size.height);\n", + " },\n", + " });\n", + "\n", + " function mouse_event_fn(event) {\n", + " if (pass_mouse_events)\n", + " return fig.mouse_event(event, event['data']);\n", + " }\n", + "\n", + " rubberband.mousedown('button_press', mouse_event_fn);\n", + " rubberband.mouseup('button_release', mouse_event_fn);\n", + " // Throttle sequential mouse events to 1 every 20ms.\n", + " rubberband.mousemove('motion_notify', mouse_event_fn);\n", + "\n", + " rubberband.mouseenter('figure_enter', mouse_event_fn);\n", + " rubberband.mouseleave('figure_leave', mouse_event_fn);\n", + "\n", + " canvas_div.on(\"wheel\", function (event) {\n", + " event = event.originalEvent;\n", + " event['data'] = 'scroll'\n", + " if (event.deltaY < 0) {\n", + " event.step = 1;\n", + " } else {\n", + " event.step = -1;\n", + " }\n", + " mouse_event_fn(event);\n", + " });\n", + "\n", + " canvas_div.append(canvas);\n", + " canvas_div.append(rubberband);\n", + "\n", + " this.rubberband = rubberband;\n", + " this.rubberband_canvas = rubberband[0];\n", + " this.rubberband_context = rubberband[0].getContext(\"2d\");\n", + " this.rubberband_context.strokeStyle = \"#000000\";\n", + "\n", + " this._resize_canvas = function(width, height) {\n", + " // Keep the size of the canvas, canvas container, and rubber band\n", + " // canvas in synch.\n", + " canvas_div.css('width', width)\n", + " canvas_div.css('height', height)\n", + "\n", + " canvas.attr('width', width * mpl.ratio);\n", + " canvas.attr('height', height * mpl.ratio);\n", + " canvas.attr('style', 'width: ' + width + 'px; height: ' + height + 'px;');\n", + "\n", + " rubberband.attr('width', width);\n", + " rubberband.attr('height', height);\n", + " }\n", + "\n", + " // Set the figure to an initial 600x600px, this will subsequently be updated\n", + " // upon first draw.\n", + " this._resize_canvas(600, 600);\n", + "\n", + " // Disable right mouse context menu.\n", + " $(this.rubberband_canvas).bind(\"contextmenu\",function(e){\n", + " return false;\n", + " });\n", + "\n", + " function set_focus () {\n", + " canvas.focus();\n", + " canvas_div.focus();\n", + " }\n", + "\n", + " window.setTimeout(set_focus, 100);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('<div/>')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items) {\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) {\n", + " // put a spacer in here.\n", + " continue;\n", + " }\n", + " var button = $('<button/>');\n", + " button.addClass('ui-button ui-widget ui-state-default ui-corner-all ' +\n", + " 'ui-button-icon-only');\n", + " button.attr('role', 'button');\n", + " button.attr('aria-disabled', 'false');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + "\n", + " var icon_img = $('<span/>');\n", + " icon_img.addClass('ui-button-icon-primary ui-icon');\n", + " icon_img.addClass(image);\n", + " icon_img.addClass('ui-corner-all');\n", + "\n", + " var tooltip_span = $('<span/>');\n", + " tooltip_span.addClass('ui-button-text');\n", + " tooltip_span.html(tooltip);\n", + "\n", + " button.append(icon_img);\n", + " button.append(tooltip_span);\n", + "\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " var fmt_picker_span = $('<span/>');\n", + "\n", + " var fmt_picker = $('<select/>');\n", + " fmt_picker.addClass('mpl-toolbar-option ui-widget ui-widget-content');\n", + " fmt_picker_span.append(fmt_picker);\n", + " nav_element.append(fmt_picker_span);\n", + " this.format_dropdown = fmt_picker[0];\n", + "\n", + " for (var ind in mpl.extensions) {\n", + " var fmt = mpl.extensions[ind];\n", + " var option = $(\n", + " '<option/>', {selected: fmt === mpl.default_extension}).html(fmt);\n", + " fmt_picker.append(option)\n", + " }\n", + "\n", + " // Add hover states to the ui-buttons\n", + " $( \".ui-button\" ).hover(\n", + " function() { $(this).addClass(\"ui-state-hover\");},\n", + " function() { $(this).removeClass(\"ui-state-hover\");}\n", + " );\n", + "\n", + " var status_bar = $('<span class=\"mpl-message\"/>');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "}\n", + "\n", + "mpl.figure.prototype.request_resize = function(x_pixels, y_pixels) {\n", + " // Request matplotlib to resize the figure. Matplotlib will then trigger a resize in the client,\n", + " // which will in turn request a refresh of the image.\n", + " this.send_message('resize', {'width': x_pixels, 'height': y_pixels});\n", + "}\n", + "\n", + "mpl.figure.prototype.send_message = function(type, properties) {\n", + " properties['type'] = type;\n", + " properties['figure_id'] = this.id;\n", + " this.ws.send(JSON.stringify(properties));\n", + "}\n", + "\n", + "mpl.figure.prototype.send_draw_message = function() {\n", + " if (!this.waiting) {\n", + " this.waiting = true;\n", + " this.ws.send(JSON.stringify({type: \"draw\", figure_id: this.id}));\n", + " }\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " var format_dropdown = fig.format_dropdown;\n", + " var format = format_dropdown.options[format_dropdown.selectedIndex].value;\n", + " fig.ondownload(fig, format);\n", + "}\n", + "\n", + "\n", + "mpl.figure.prototype.handle_resize = function(fig, msg) {\n", + " var size = msg['size'];\n", + " if (size[0] != fig.canvas.width || size[1] != fig.canvas.height) {\n", + " fig._resize_canvas(size[0], size[1]);\n", + " fig.send_message(\"refresh\", {});\n", + " };\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_rubberband = function(fig, msg) {\n", + " var x0 = msg['x0'] / mpl.ratio;\n", + " var y0 = (fig.canvas.height - msg['y0']) / mpl.ratio;\n", + " var x1 = msg['x1'] / mpl.ratio;\n", + " var y1 = (fig.canvas.height - msg['y1']) / mpl.ratio;\n", + " x0 = Math.floor(x0) + 0.5;\n", + " y0 = Math.floor(y0) + 0.5;\n", + " x1 = Math.floor(x1) + 0.5;\n", + " y1 = Math.floor(y1) + 0.5;\n", + " var min_x = Math.min(x0, x1);\n", + " var min_y = Math.min(y0, y1);\n", + " var width = Math.abs(x1 - x0);\n", + " var height = Math.abs(y1 - y0);\n", + "\n", + " fig.rubberband_context.clearRect(\n", + " 0, 0, fig.canvas.width, fig.canvas.height);\n", + "\n", + " fig.rubberband_context.strokeRect(min_x, min_y, width, height);\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_figure_label = function(fig, msg) {\n", + " // Updates the figure title.\n", + " fig.header.textContent = msg['label'];\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_cursor = function(fig, msg) {\n", + " var cursor = msg['cursor'];\n", + " switch(cursor)\n", + " {\n", + " case 0:\n", + " cursor = 'pointer';\n", + " break;\n", + " case 1:\n", + " cursor = 'default';\n", + " break;\n", + " case 2:\n", + " cursor = 'crosshair';\n", + " break;\n", + " case 3:\n", + " cursor = 'move';\n", + " break;\n", + " }\n", + " fig.rubberband_canvas.style.cursor = cursor;\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_message = function(fig, msg) {\n", + " fig.message.textContent = msg['message'];\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_draw = function(fig, msg) {\n", + " // Request the server to send over a new figure.\n", + " fig.send_draw_message();\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_image_mode = function(fig, msg) {\n", + " fig.image_mode = msg['mode'];\n", + "}\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function() {\n", + " // Called whenever the canvas gets updated.\n", + " this.send_message(\"ack\", {});\n", + "}\n", + "\n", + "// A function to construct a web socket function for onmessage handling.\n", + "// Called in the figure constructor.\n", + "mpl.figure.prototype._make_on_message_function = function(fig) {\n", + " return function socket_on_message(evt) {\n", + " if (evt.data instanceof Blob) {\n", + " /* FIXME: We get \"Resource interpreted as Image but\n", + " * transferred with MIME type text/plain:\" errors on\n", + " * Chrome. But how to set the MIME type? It doesn't seem\n", + " * to be part of the websocket stream */\n", + " evt.data.type = \"image/png\";\n", + "\n", + " /* Free the memory for the previous frames */\n", + " if (fig.imageObj.src) {\n", + " (window.URL || window.webkitURL).revokeObjectURL(\n", + " fig.imageObj.src);\n", + " }\n", + "\n", + " fig.imageObj.src = (window.URL || window.webkitURL).createObjectURL(\n", + " evt.data);\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + " else if (typeof evt.data === 'string' && evt.data.slice(0, 21) == \"data:image/png;base64\") {\n", + " fig.imageObj.src = evt.data;\n", + " fig.updated_canvas_event();\n", + " fig.waiting = false;\n", + " return;\n", + " }\n", + "\n", + " var msg = JSON.parse(evt.data);\n", + " var msg_type = msg['type'];\n", + "\n", + " // Call the \"handle_{type}\" callback, which takes\n", + " // the figure and JSON message as its only arguments.\n", + " try {\n", + " var callback = fig[\"handle_\" + msg_type];\n", + " } catch (e) {\n", + " console.log(\"No handler for the '\" + msg_type + \"' message type: \", msg);\n", + " return;\n", + " }\n", + "\n", + " if (callback) {\n", + " try {\n", + " // console.log(\"Handling '\" + msg_type + \"' message: \", msg);\n", + " callback(fig, msg);\n", + " } catch (e) {\n", + " console.log(\"Exception inside the 'handler_\" + msg_type + \"' callback:\", e, e.stack, msg);\n", + " }\n", + " }\n", + " };\n", + "}\n", + "\n", + "// from http://stackoverflow.com/questions/1114465/getting-mouse-location-in-canvas\n", + "mpl.findpos = function(e) {\n", + " //this section is from http://www.quirksmode.org/js/events_properties.html\n", + " var targ;\n", + " if (!e)\n", + " e = window.event;\n", + " if (e.target)\n", + " targ = e.target;\n", + " else if (e.srcElement)\n", + " targ = e.srcElement;\n", + " if (targ.nodeType == 3) // defeat Safari bug\n", + " targ = targ.parentNode;\n", + "\n", + " // jQuery normalizes the pageX and pageY\n", + " // pageX,Y are the mouse positions relative to the document\n", + " // offset() returns the position of the element relative to the document\n", + " var x = e.pageX - $(targ).offset().left;\n", + " var y = e.pageY - $(targ).offset().top;\n", + "\n", + " return {\"x\": x, \"y\": y};\n", + "};\n", + "\n", + "/*\n", + " * return a copy of an object with only non-object keys\n", + " * we need this to avoid circular references\n", + " * http://stackoverflow.com/a/24161582/3208463\n", + " */\n", + "function simpleKeys (original) {\n", + " return Object.keys(original).reduce(function (obj, key) {\n", + " if (typeof original[key] !== 'object')\n", + " obj[key] = original[key]\n", + " return obj;\n", + " }, {});\n", + "}\n", + "\n", + "mpl.figure.prototype.mouse_event = function(event, name) {\n", + " var canvas_pos = mpl.findpos(event)\n", + "\n", + " if (name === 'button_press')\n", + " {\n", + " this.canvas.focus();\n", + " this.canvas_div.focus();\n", + " }\n", + "\n", + " var x = canvas_pos.x * mpl.ratio;\n", + " var y = canvas_pos.y * mpl.ratio;\n", + "\n", + " this.send_message(name, {x: x, y: y, button: event.button,\n", + " step: event.step,\n", + " guiEvent: simpleKeys(event)});\n", + "\n", + " /* This prevents the web browser from automatically changing to\n", + " * the text insertion cursor when the button is pressed. We want\n", + " * to control all of the cursor setting manually through the\n", + " * 'cursor' event from matplotlib */\n", + " event.preventDefault();\n", + " return false;\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " // Handle any extra behaviour associated with a key event\n", + "}\n", + "\n", + "mpl.figure.prototype.key_event = function(event, name) {\n", + "\n", + " // Prevent repeat events\n", + " if (name == 'key_press')\n", + " {\n", + " if (event.which === this._key)\n", + " return;\n", + " else\n", + " this._key = event.which;\n", + " }\n", + " if (name == 'key_release')\n", + " this._key = null;\n", + "\n", + " var value = '';\n", + " if (event.ctrlKey && event.which != 17)\n", + " value += \"ctrl+\";\n", + " if (event.altKey && event.which != 18)\n", + " value += \"alt+\";\n", + " if (event.shiftKey && event.which != 16)\n", + " value += \"shift+\";\n", + "\n", + " value += 'k';\n", + " value += event.which.toString();\n", + "\n", + " this._key_event_extra(event, name);\n", + "\n", + " this.send_message(name, {key: value,\n", + " guiEvent: simpleKeys(event)});\n", + " return false;\n", + "}\n", + "\n", + "mpl.figure.prototype.toolbar_button_onclick = function(name) {\n", + " if (name == 'download') {\n", + " this.handle_save(this, null);\n", + " } else {\n", + " this.send_message(\"toolbar_button\", {name: name});\n", + " }\n", + "};\n", + "\n", + "mpl.figure.prototype.toolbar_button_onmouseover = function(tooltip) {\n", + " this.message.textContent = tooltip;\n", + "};\n", + "mpl.toolbar_items = [[\"Home\", \"Reset original view\", \"fa fa-home icon-home\", \"home\"], [\"Back\", \"Back to previous view\", \"fa fa-arrow-left icon-arrow-left\", \"back\"], [\"Forward\", \"Forward to next view\", \"fa fa-arrow-right icon-arrow-right\", \"forward\"], [\"\", \"\", \"\", \"\"], [\"Pan\", \"Pan axes with left mouse, zoom with right\", \"fa fa-arrows icon-move\", \"pan\"], [\"Zoom\", \"Zoom to rectangle\", \"fa fa-square-o icon-check-empty\", \"zoom\"], [\"\", \"\", \"\", \"\"], [\"Download\", \"Download plot\", \"fa fa-floppy-o icon-save\", \"download\"]];\n", + "\n", + "mpl.extensions = [\"eps\", \"jpeg\", \"pdf\", \"png\", \"ps\", \"raw\", \"svg\", \"tif\"];\n", + "\n", + "mpl.default_extension = \"png\";var comm_websocket_adapter = function(comm) {\n", + " // Create a \"websocket\"-like object which calls the given IPython comm\n", + " // object with the appropriate methods. Currently this is a non binary\n", + " // socket, so there is still some room for performance tuning.\n", + " var ws = {};\n", + "\n", + " ws.close = function() {\n", + " comm.close()\n", + " };\n", + " ws.send = function(m) {\n", + " //console.log('sending', m);\n", + " comm.send(m);\n", + " };\n", + " // Register the callback with on_msg.\n", + " comm.on_msg(function(msg) {\n", + " //console.log('receiving', msg['content']['data'], msg);\n", + " // Pass the mpl event to the overriden (by mpl) onmessage function.\n", + " ws.onmessage(msg['content']['data'])\n", + " });\n", + " return ws;\n", + "}\n", + "\n", + "mpl.mpl_figure_comm = function(comm, msg) {\n", + " // This is the function which gets called when the mpl process\n", + " // starts-up an IPython Comm through the \"matplotlib\" channel.\n", + "\n", + " var id = msg.content.data.id;\n", + " // Get hold of the div created by the display call when the Comm\n", + " // socket was opened in Python.\n", + " var element = $(\"#\" + id);\n", + " var ws_proxy = comm_websocket_adapter(comm)\n", + "\n", + " function ondownload(figure, format) {\n", + " window.open(figure.imageObj.src);\n", + " }\n", + "\n", + " var fig = new mpl.figure(id, ws_proxy,\n", + " ondownload,\n", + " element.get(0));\n", + "\n", + " // Call onopen now - mpl needs it, as it is assuming we've passed it a real\n", + " // web socket which is closed, not our websocket->open comm proxy.\n", + " ws_proxy.onopen();\n", + "\n", + " fig.parent_element = element.get(0);\n", + " fig.cell_info = mpl.find_output_cell(\"<div id='\" + id + \"'></div>\");\n", + " if (!fig.cell_info) {\n", + " console.error(\"Failed to find cell for figure\", id, fig);\n", + " return;\n", + " }\n", + "\n", + " var output_index = fig.cell_info[2]\n", + " var cell = fig.cell_info[0];\n", + "\n", + "};\n", + "\n", + "mpl.figure.prototype.handle_close = function(fig, msg) {\n", + " var width = fig.canvas.width/mpl.ratio\n", + " fig.root.unbind('remove')\n", + "\n", + " // Update the output cell to use the data from the current canvas.\n", + " fig.push_to_output();\n", + " var dataURL = fig.canvas.toDataURL();\n", + " // Re-enable the keyboard manager in IPython - without this line, in FF,\n", + " // the notebook keyboard shortcuts fail.\n", + " IPython.keyboard_manager.enable()\n", + " $(fig.parent_element).html('<img src=\"' + dataURL + '\" width=\"' + width + '\">');\n", + " fig.close_ws(fig, msg);\n", + "}\n", + "\n", + "mpl.figure.prototype.close_ws = function(fig, msg){\n", + " fig.send_message('closing', msg);\n", + " // fig.ws.close()\n", + "}\n", + "\n", + "mpl.figure.prototype.push_to_output = function(remove_interactive) {\n", + " // Turn the data on the canvas into data in the output cell.\n", + " var width = this.canvas.width/mpl.ratio\n", + " var dataURL = this.canvas.toDataURL();\n", + " this.cell_info[1]['text/html'] = '<img src=\"' + dataURL + '\" width=\"' + width + '\">';\n", + "}\n", + "\n", + "mpl.figure.prototype.updated_canvas_event = function() {\n", + " // Tell IPython that the notebook contents must change.\n", + " IPython.notebook.set_dirty(true);\n", + " this.send_message(\"ack\", {});\n", + " var fig = this;\n", + " // Wait a second, then push the new image to the DOM so\n", + " // that it is saved nicely (might be nice to debounce this).\n", + " setTimeout(function () { fig.push_to_output() }, 1000);\n", + "}\n", + "\n", + "mpl.figure.prototype._init_toolbar = function() {\n", + " var fig = this;\n", + "\n", + " var nav_element = $('<div/>')\n", + " nav_element.attr('style', 'width: 100%');\n", + " this.root.append(nav_element);\n", + "\n", + " // Define a callback function for later on.\n", + " function toolbar_event(event) {\n", + " return fig.toolbar_button_onclick(event['data']);\n", + " }\n", + " function toolbar_mouse_event(event) {\n", + " return fig.toolbar_button_onmouseover(event['data']);\n", + " }\n", + "\n", + " for(var toolbar_ind in mpl.toolbar_items){\n", + " var name = mpl.toolbar_items[toolbar_ind][0];\n", + " var tooltip = mpl.toolbar_items[toolbar_ind][1];\n", + " var image = mpl.toolbar_items[toolbar_ind][2];\n", + " var method_name = mpl.toolbar_items[toolbar_ind][3];\n", + "\n", + " if (!name) { continue; };\n", + "\n", + " var button = $('<button class=\"btn btn-default\" href=\"#\" title=\"' + name + '\"><i class=\"fa ' + image + ' fa-lg\"></i></button>');\n", + " button.click(method_name, toolbar_event);\n", + " button.mouseover(tooltip, toolbar_mouse_event);\n", + " nav_element.append(button);\n", + " }\n", + "\n", + " // Add the status bar.\n", + " var status_bar = $('<span class=\"mpl-message\" style=\"text-align:right; float: right;\"/>');\n", + " nav_element.append(status_bar);\n", + " this.message = status_bar[0];\n", + "\n", + " // Add the close button to the window.\n", + " var buttongrp = $('<div class=\"btn-group inline pull-right\"></div>');\n", + " var button = $('<button class=\"btn btn-mini btn-primary\" href=\"#\" title=\"Stop Interaction\"><i class=\"fa fa-power-off icon-remove icon-large\"></i></button>');\n", + " button.click(function (evt) { fig.handle_close(fig, {}); } );\n", + " button.mouseover('Stop Interaction', toolbar_mouse_event);\n", + " buttongrp.append(button);\n", + " var titlebar = this.root.find($('.ui-dialog-titlebar'));\n", + " titlebar.prepend(buttongrp);\n", + "}\n", + "\n", + "mpl.figure.prototype._root_extra_style = function(el){\n", + " var fig = this\n", + " el.on(\"remove\", function(){\n", + "\tfig.close_ws(fig, {});\n", + " });\n", + "}\n", + "\n", + "mpl.figure.prototype._canvas_extra_style = function(el){\n", + " // this is important to make the div 'focusable\n", + " el.attr('tabindex', 0)\n", + " // reach out to IPython and tell the keyboard manager to turn it's self\n", + " // off when our div gets focus\n", + "\n", + " // location in version 3\n", + " if (IPython.notebook.keyboard_manager) {\n", + " IPython.notebook.keyboard_manager.register_events(el);\n", + " }\n", + " else {\n", + " // location in version 2\n", + " IPython.keyboard_manager.register_events(el);\n", + " }\n", + "\n", + "}\n", + "\n", + "mpl.figure.prototype._key_event_extra = function(event, name) {\n", + " var manager = IPython.notebook.keyboard_manager;\n", + " if (!manager)\n", + " manager = IPython.keyboard_manager;\n", + "\n", + " // Check for shift+enter\n", + " if (event.shiftKey && event.which == 13) {\n", + " this.canvas_div.blur();\n", + " // select the cell after this one\n", + " var index = IPython.notebook.find_cell_index(this.cell_info[0]);\n", + " IPython.notebook.select(index + 1);\n", + " }\n", + "}\n", + "\n", + "mpl.figure.prototype.handle_save = function(fig, msg) {\n", + " fig.ondownload(fig, null);\n", + "}\n", + "\n", + "\n", + "mpl.find_output_cell = function(html_output) {\n", + " // Return the cell and output element which can be found *uniquely* in the notebook.\n", + " // Note - this is a bit hacky, but it is done because the \"notebook_saving.Notebook\"\n", + " // IPython event is triggered only after the cells have been serialised, which for\n", + " // our purposes (turning an active figure into a static one), is too late.\n", + " var cells = IPython.notebook.get_cells();\n", + " var ncells = cells.length;\n", + " for (var i=0; i<ncells; i++) {\n", + " var cell = cells[i];\n", + " if (cell.cell_type === 'code'){\n", + " for (var j=0; j<cell.output_area.outputs.length; j++) {\n", + " var data = cell.output_area.outputs[j];\n", + " if (data.data) {\n", + " // IPython >= 3 moved mimebundle to data attribute of output\n", + " data = data.data;\n", + " }\n", + " if (data['text/html'] == html_output) {\n", + " return [cell, data, j];\n", + " }\n", + " }\n", + " }\n", + " }\n", + "}\n", + "\n", + "// Register the function which deals with the matplotlib target/channel.\n", + "// The kernel may be null if the page has been refreshed.\n", + "if (IPython.notebook.kernel != null) {\n", + " IPython.notebook.kernel.comm_manager.register_target('matplotlib', mpl.mpl_figure_comm);\n", + "}\n" + ], + "text/plain": [ + "<IPython.core.display.Javascript object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/html": [ + "<img src=\"data:image/png;base64,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\" width=\"600\">" + ], + "text/plain": [ + "<IPython.core.display.HTML object>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "frob_export_for_blog(simulate_bitslide(data), svgfile='/tmp/corrected_brightness_sim.svg')" + ] } ], "metadata": { @@ -367,9 +5131,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.5.4" + "version": "3.6.5" } }, "nbformat": 4, - "nbformat_minor": 0 + "nbformat_minor": 1 } diff --git a/firmware/spice_sims/asymmetric_iled_r220.txt b/firmware/spice_sims/asymmetric_iled_r220.txt new file mode 100644 index 0000000..67c0f0a --- /dev/null +++ b/firmware/spice_sims/asymmetric_iled_r220.txt @@ -0,0 +1,1205 @@ +time V(vgate) V(n005) I(D1) +0.000000000000000e+000 3.300000e+000 3.300000e+000 4.111923e-001 +1.508828950581066e-012 3.300000e+000 3.295021e+000 4.111923e-001 +3.017657901162131e-012 3.300000e+000 3.290042e+000 4.111923e-001 +4.526486851743197e-012 3.300000e+000 3.285063e+000 4.111923e-001 +6.035315802324263e-012 3.300000e+000 3.280083e+000 4.111923e-001 +7.544144752905329e-012 3.300000e+000 3.275104e+000 4.111923e-001 +9.052973703486393e-012 3.300000e+000 3.270125e+000 4.111923e-001 +1.056180265406746e-011 3.300000e+000 3.265146e+000 4.111923e-001 +1.571627122282733e-011 3.300000e+000 3.248136e+000 4.111923e-001 +2.044695857491339e-011 3.300000e+000 3.232525e+000 4.111923e-001 +2.550657104900410e-011 3.300000e+000 3.215828e+000 4.111923e-001 +3.190228830318521e-011 3.299999e+000 3.194722e+000 4.111923e-001 +3.989691079915231e-011 3.299999e+000 3.168340e+000 4.111923e-001 +5.010730726840188e-011 3.299997e+000 3.134646e+000 4.111923e-001 +6.292740088066810e-011 3.299995e+000 3.092340e+000 4.111923e-001 +7.931187140187258e-011 3.299990e+000 3.038271e+000 4.111923e-001 +1.001470904629165e-010 3.299981e+000 2.969515e+000 4.111923e-001 +1.270598010247991e-010 3.299962e+000 2.880703e+000 4.111923e-001 +1.619583159793241e-010 3.299925e+000 2.765538e+000 4.111923e-001 +2.080912770074965e-010 3.299847e+000 2.613299e+000 4.111923e-001 +2.701706989137157e-010 3.299685e+000 2.408437e+000 4.111923e-001 +3.568935324569544e-010 3.299328e+000 2.122251e+000 4.111923e-001 +4.857697112018517e-010 3.298472e+000 1.696960e+000 4.111923e-001 +7.110053007324891e-010 3.296148e+000 9.536825e-001 4.111923e-001 +1.000000000000000e-009 3.292249e+000 0.000000e+000 4.111923e-001 +1.028899469926751e-009 3.291737e+000 0.000000e+000 4.111923e-001 +1.086698409780253e-009 3.290694e+000 0.000000e+000 4.111923e-001 +1.202296289487258e-009 3.288592e+000 0.000000e+000 4.111923e-001 +1.411357931440812e-009 3.284899e+000 0.000000e+000 4.111923e-001 +1.618505001001407e-009 3.281540e+000 0.000000e+000 4.111923e-001 +1.835097663875111e-009 3.278469e+000 0.000000e+000 4.111923e-001 +2.047211722533345e-009 3.275906e+000 0.000000e+000 4.111923e-001 +2.300059758310649e-009 3.273315e+000 0.000000e+000 4.111923e-001 +2.584896098942381e-009 3.270811e+000 0.000000e+000 4.111923e-001 +2.954895967787727e-009 3.267951e+000 0.000000e+000 4.111923e-001 +3.429507435064014e-009 3.264582e+000 0.000000e+000 4.111923e-001 +4.190069003776759e-009 3.259398e+000 0.000000e+000 4.111924e-001 +5.103191817425666e-009 3.253235e+000 0.000000e+000 4.111924e-001 +6.772298185845203e-009 3.241988e+000 0.000000e+000 4.111925e-001 +8.580399362495924e-009 3.229846e+000 0.000000e+000 4.111926e-001 +1.219660171579736e-008 3.205742e+000 0.000000e+000 4.111926e-001 +1.942900642240024e-008 3.158092e+000 0.000000e+000 4.111922e-001 +2.919463142240024e-008 3.094757e+000 0.000000e+000 4.111904e-001 +4.872588142240024e-008 2.971714e+000 0.000000e+000 4.111817e-001 +5.849150642240024e-008 2.912040e+000 0.000000e+000 4.111746e-001 +7.802275642240024e-008 2.796263e+000 0.000000e+000 4.111551e-001 +1.073196314224002e-007 2.631166e+000 0.000000e+000 4.111131e-001 +1.268508814224002e-007 2.526546e+000 0.000000e+000 4.110768e-001 +1.463821314224002e-007 2.426079e+000 0.000000e+000 4.110339e-001 +1.659133814224002e-007 2.329598e+000 0.000000e+000 4.109840e-001 +1.854446314224002e-007 2.236948e+000 0.000000e+000 4.109269e-001 +2.049758814224002e-007 2.147978e+000 0.000000e+000 4.108621e-001 +2.245071314224002e-007 2.062547e+000 0.000000e+000 4.107888e-001 +2.342727564224002e-007 2.021116e+000 0.000000e+000 4.107487e-001 +2.440383814224002e-007 1.980522e+000 0.000000e+000 4.107062e-001 +2.538040064224002e-007 1.940749e+000 0.000000e+000 4.106610e-001 +2.635696314224003e-007 1.901782e+000 0.000000e+000 4.106130e-001 +2.733352564224003e-007 1.863608e+000 0.000000e+000 4.105619e-001 +2.831008814224003e-007 1.826215e+000 0.000000e+000 4.105077e-001 +2.928665064224003e-007 1.789590e+000 0.000000e+000 4.104499e-001 +3.026321314224004e-007 1.753722e+000 0.000000e+000 4.103884e-001 +3.123977564224004e-007 1.718602e+000 0.000000e+000 4.103227e-001 +3.221633814224004e-007 1.684220e+000 0.000000e+000 4.102526e-001 +3.319290064224004e-007 1.650569e+000 0.000000e+000 4.101775e-001 +3.416946314224005e-007 1.617643e+000 0.000000e+000 4.100970e-001 +3.514602564224005e-007 1.585439e+000 0.000000e+000 4.100105e-001 +3.612258814224005e-007 1.553953e+000 0.000000e+000 4.099174e-001 +3.709915064224005e-007 1.523186e+000 0.000000e+000 4.098169e-001 +3.807571314224006e-007 1.493142e+000 0.000000e+000 4.097081e-001 +3.905227564224006e-007 1.463826e+000 0.000000e+000 4.095902e-001 +4.002883814224006e-007 1.435251e+000 0.000000e+000 4.094617e-001 +4.100540064224006e-007 1.407431e+000 0.000000e+000 4.093214e-001 +4.198196314224007e-007 1.380389e+000 0.000000e+000 4.091675e-001 +4.295852564224007e-007 1.354155e+000 0.000000e+000 4.089982e-001 +4.393508814224007e-007 1.328769e+000 0.000000e+000 4.088110e-001 +4.491165064224007e-007 1.304284e+000 0.000000e+000 4.086032e-001 +4.588821314224008e-007 1.280768e+000 0.000000e+000 4.083713e-001 +4.686477564224008e-007 1.258311e+000 0.000000e+000 4.081111e-001 +4.784133814224008e-007 1.237032e+000 0.000000e+000 4.078175e-001 +4.881790064224008e-007 1.217092e+000 0.000000e+000 4.074842e-001 +4.979446314224009e-007 1.198708e+000 0.000000e+000 4.071031e-001 +5.077102564224009e-007 1.182180e+000 0.000000e+000 4.066640e-001 +5.174758814224009e-007 1.167937e+000 0.000000e+000 4.061535e-001 +5.272415064224009e-007 1.156593e+000 0.000000e+000 4.055539e-001 +5.370071314224010e-007 1.149026e+000 0.000000e+000 4.048414e-001 +5.467727564224010e-007 1.145495e+000 0.000000e+000 4.039852e-001 +5.565383814224010e-007 1.144509e+000 0.000000e+000 4.029546e-001 +5.663040064224011e-007 1.144149e+000 0.000000e+000 4.017306e-001 +5.760696314224011e-007 1.143739e+000 0.000000e+000 4.003111e-001 +5.858352564224011e-007 1.143280e+000 0.000000e+000 3.987051e-001 +5.956008814224011e-007 1.142777e+000 0.000000e+000 3.969249e-001 +6.053665064224012e-007 1.142231e+000 0.000000e+000 3.949830e-001 +6.151321314224012e-007 1.141645e+000 0.000000e+000 3.928906e-001 +6.248977564224012e-007 1.141021e+000 0.000000e+000 3.906583e-001 +6.444290064224013e-007 1.139667e+000 0.000000e+000 3.858107e-001 +6.639602564224013e-007 1.138182e+000 0.000000e+000 3.805056e-001 +6.834915064224014e-007 1.136574e+000 0.000000e+000 3.747958e-001 +7.127883814224014e-007 1.133946e+000 0.000000e+000 3.655608e-001 +7.420852564224015e-007 1.131068e+000 0.000000e+000 3.556079e-001 +7.602214171366873e-007 1.129181e+000 0.000000e+000 3.491302e-001 +7.783575778509730e-007 1.127177e+000 0.000000e+000 3.423959e-001 +7.964937385652588e-007 1.125057e+000 0.000000e+000 3.354048e-001 +8.146298992795445e-007 1.122821e+000 0.000000e+000 3.281571e-001 +8.327660599938303e-007 1.120468e+000 0.000000e+000 3.206527e-001 +8.509022207081161e-007 1.118000e+000 0.000000e+000 3.128915e-001 +8.690383814224018e-007 1.115415e+000 0.000000e+000 3.048737e-001 +8.983352564224019e-007 1.110852e+000 0.000000e+000 2.912048e-001 +9.276321314224020e-007 1.105778e+000 0.000000e+000 2.765899e-001 +9.569290064224021e-007 1.100070e+000 0.000000e+000 2.608692e-001 +9.862258814224022e-007 1.093568e+000 0.000000e+000 2.438576e-001 +1.015522756422402e-006 1.086060e+000 0.000000e+000 2.253566e-001 +1.035054006422402e-006 1.080362e+000 0.000000e+000 2.120983e-001 +1.054585256422402e-006 1.073987e+000 0.000000e+000 1.980395e-001 +1.074116506422402e-006 1.066802e+000 0.000000e+000 1.831383e-001 +1.093647756422402e-006 1.058635e+000 0.000000e+000 1.673672e-001 +1.103413381422403e-006 1.054114e+000 0.000000e+000 1.591524e-001 +1.113179006422403e-006 1.049256e+000 0.000000e+000 1.507195e-001 +1.122944631422403e-006 1.044017e+000 0.000000e+000 1.420724e-001 +1.132710256422403e-006 1.038346e+000 0.000000e+000 1.332170e-001 +1.142475881422403e-006 1.032179e+000 0.000000e+000 1.241623e-001 +1.152241506422403e-006 1.025437e+000 0.000000e+000 1.149206e-001 +1.162007131422403e-006 1.018017e+000 0.000000e+000 1.055084e-001 +1.171772756422403e-006 1.009786e+000 0.000000e+000 9.594698e-002 +1.181538381422403e-006 1.000563e+000 0.000000e+000 8.626381e-002 +1.191304006422403e-006 9.900947e-001 0.000000e+000 7.649405e-002 +1.201069631422403e-006 9.780097e-001 0.000000e+000 6.668270e-002 +1.210835256422403e-006 9.637286e-001 0.000000e+000 5.688784e-002 +1.220600881422403e-006 9.462773e-001 0.000000e+000 4.718538e-002 +1.230366506422403e-006 9.238396e-001 0.000000e+000 3.767753e-002 +1.240132131422403e-006 8.925769e-001 0.000000e+000 2.850910e-002 +1.249897756422403e-006 8.438182e-001 0.000000e+000 1.990328e-002 +1.259663381422403e-006 7.672037e-001 0.000000e+000 1.207327e-002 +1.265902716901472e-006 6.936543e-001 0.000000e+000 7.766862e-003 +1.272782460628027e-006 5.868617e-001 0.000000e+000 4.013561e-003 +1.279891555476077e-006 4.644714e-001 0.000000e+000 1.378195e-003 +1.287535407966314e-006 3.403195e-001 0.000000e+000 5.369317e-005 +1.294655418594390e-006 2.482962e-001 0.000000e+000 1.033713e-004 +1.299698290657254e-006 2.048283e-001 0.000000e+000 8.203594e-004 +1.302812632309471e-006 1.914916e-001 0.000000e+000 1.532589e-003 +1.306537549618792e-006 1.895571e-001 0.000000e+000 2.559669e-003 +1.310254822905819e-006 2.013713e-001 0.000000e+000 3.658243e-003 +1.316056792697075e-006 2.415073e-001 0.000000e+000 5.338320e-003 +1.322104580362828e-006 3.020402e-001 0.000000e+000 6.791070e-003 +1.330115209296508e-006 3.945875e-001 0.000000e+000 7.941367e-003 +1.338279498805075e-006 4.783847e-001 0.000000e+000 8.003766e-003 +1.347289232983071e-006 5.396532e-001 0.000000e+000 6.853831e-003 +1.352605010299336e-006 5.521697e-001 0.000000e+000 5.639468e-003 +1.356201015420198e-006 5.458354e-001 0.000000e+000 4.601543e-003 +1.359183811065737e-006 5.313167e-001 0.000000e+000 3.673967e-003 +1.362764885574719e-006 5.043945e-001 0.000000e+000 2.554100e-003 +1.367184296450658e-006 4.601969e-001 0.000000e+000 1.261356e-003 +1.373103856207120e-006 3.888833e-001 0.000000e+000 -1.731487e-004 +1.380000618545356e-006 2.996839e-001 0.000000e+000 -1.266792e-003 +1.387104646781203e-006 2.135644e-001 0.000000e+000 -1.628319e-003 +1.393795835401002e-006 1.488192e-001 0.000000e+000 -1.245123e-003 +1.399431145773778e-006 1.122254e-001 0.000000e+000 -4.467381e-004 +1.402898629233267e-006 1.009755e-001 0.000000e+000 2.358265e-004 +1.406500921508545e-006 9.961671e-002 0.000000e+000 1.053045e-003 +1.410023785200690e-006 1.077703e-001 0.000000e+000 1.884867e-003 +1.415610661818043e-006 1.355567e-001 0.000000e+000 3.151375e-003 +1.421510062405258e-006 1.781127e-001 0.000000e+000 4.254945e-003 +1.429338591478610e-006 2.441194e-001 0.000000e+000 5.160621e-003 +1.436912464796087e-006 3.025098e-001 0.000000e+000 5.290286e-003 +1.445597411776183e-006 3.493043e-001 0.000000e+000 4.576537e-003 +1.451322600742850e-006 3.623021e-001 0.000000e+000 3.678562e-003 +1.455045190297934e-006 3.595462e-001 0.000000e+000 2.923297e-003 +1.458023863217941e-006 3.502661e-001 0.000000e+000 2.264204e-003 +1.461623298342277e-006 3.318536e-001 0.000000e+000 1.459984e-003 +1.465981271383291e-006 3.013635e-001 0.000000e+000 5.472983e-004 +1.471871043117216e-006 2.507895e-001 0.000000e+000 -4.771066e-004 +1.478642036181664e-006 1.873296e-001 0.000000e+000 -1.258387e-003 +1.485222166962522e-006 1.280491e-001 0.000000e+000 -1.526385e-003 +1.491216254762072e-006 8.334558e-002 0.000000e+000 -1.309035e-003 +1.496980884886216e-006 5.330937e-002 0.000000e+000 -7.337920e-004 +1.501425693108896e-006 4.070330e-002 0.000000e+000 -9.638393e-005 +1.504766717372929e-006 3.852559e-002 0.000000e+000 4.688482e-004 +1.507920918484894e-006 4.286885e-002 0.000000e+000 1.035633e-003 +1.512894870902492e-006 5.928880e-002 0.000000e+000 1.913151e-003 +1.518486509123129e-006 8.766035e-002 0.000000e+000 2.772470e-003 +1.525748381177869e-006 1.334242e-001 0.000000e+000 3.564999e-003 +1.532661351713629e-006 1.772313e-001 0.000000e+000 3.860591e-003 +1.540688889522163e-006 2.171995e-001 0.000000e+000 3.586774e-003 +1.548787921884197e-006 2.394725e-001 0.000000e+000 2.792678e-003 +1.553324110796552e-006 2.410512e-001 0.000000e+000 2.153653e-003 +1.556240105775004e-006 2.358041e-001 0.000000e+000 1.680826e-003 +1.560253682773225e-006 2.220885e-001 0.000000e+000 1.014515e-003 +1.564231808275036e-006 2.026664e-001 0.000000e+000 3.930619e-004 +1.570371227447082e-006 1.648574e-001 0.000000e+000 -4.134555e-004 +1.576717849115374e-006 1.214860e-001 0.000000e+000 -9.886933e-004 +1.582693892084063e-006 8.111477e-002 0.000000e+000 -1.217514e-003 +1.588155009516843e-006 4.899674e-002 0.000000e+000 -1.135140e-003 +1.593144839867187e-006 2.673557e-002 0.000000e+000 -8.276430e-004 +1.597791576739393e-006 1.367604e-002 0.000000e+000 -3.768454e-004 +1.601751655344448e-006 9.229858e-003 0.000000e+000 1.013909e-004 +1.605636937317777e-006 1.110498e-002 0.000000e+000 6.212259e-004 +1.609541819814428e-006 1.910086e-002 0.000000e+000 1.150888e-003 +1.615228533440389e-006 3.889112e-002 0.000000e+000 1.864316e-003 +1.621025043839995e-006 6.537539e-002 0.000000e+000 2.441907e-003 +1.627751608077550e-006 9.940243e-002 0.000000e+000 2.835270e-003 +1.634594555630306e-006 1.308400e-001 0.000000e+000 2.875743e-003 +1.642403269562366e-006 1.568091e-001 0.000000e+000 2.514548e-003 +1.648286902260471e-006 1.665120e-001 0.000000e+000 2.005510e-003 +1.652152030359540e-006 1.664998e-001 0.000000e+000 1.572944e-003 +1.655128002987812e-006 1.624084e-001 0.000000e+000 1.207105e-003 +1.658762360132030e-006 1.532176e-001 0.000000e+000 7.547865e-004 +1.663066467043326e-006 1.376612e-001 0.000000e+000 2.523978e-004 +1.668953186150254e-006 1.108810e-001 0.000000e+000 -3.188193e-004 +1.675625253847402e-006 7.715633e-002 0.000000e+000 -7.567408e-004 +1.681467593233665e-006 4.803125e-002 0.000000e+000 -9.130407e-004 +1.686429036587593e-006 2.631441e-002 0.000000e+000 -8.536879e-004 +1.690734627700903e-006 1.142975e-002 0.000000e+000 -6.645580e-004 +1.694349831658165e-006 2.481533e-003 0.000000e+000 -4.210144e-004 +1.697019664444699e-006 -1.582537e-003 0.000000e+000 -1.973421e-004 +1.699772386481722e-006 -3.168076e-003 0.000000e+000 6.432962e-005 +1.703354292095617e-006 -1.883136e-003 0.000000e+000 4.291888e-004 +1.706897375918008e-006 2.817661e-003 0.000000e+000 7.986172e-004 +1.710788329305021e-006 1.178553e-002 0.000000e+000 1.190312e-003 +1.715572558249549e-006 2.688626e-002 0.000000e+000 1.616064e-003 +1.721006284533123e-006 4.728160e-002 0.000000e+000 1.982268e-003 +1.727261795156937e-006 7.171727e-002 0.000000e+000 2.205793e-003 +1.734075961795809e-006 9.499603e-002 0.000000e+000 2.183322e-003 +1.741705534636442e-006 1.132795e-001 0.000000e+000 1.873159e-003 +1.747100803436301e-006 1.193680e-001 0.000000e+000 1.501004e-003 +1.750755476390844e-006 1.190301e-001 0.000000e+000 1.185556e-003 +1.753847122811723e-006 1.157231e-001 0.000000e+000 8.969039e-004 +1.757097807979488e-006 1.094650e-001 0.000000e+000 5.923650e-004 +1.761783452153259e-006 9.666446e-002 0.000000e+000 1.827564e-004 +1.767428446540253e-006 7.741610e-002 0.000000e+000 -2.208914e-004 +1.774507386333531e-006 5.070051e-002 0.000000e+000 -5.520685e-004 +1.780314442638237e-006 2.928273e-002 0.000000e+000 -6.528139e-004 +1.784883319832244e-006 1.453840e-002 0.000000e+000 -6.008015e-004 +1.788745210854647e-006 4.518694e-003 0.000000e+000 -4.711577e-004 +1.791533027267029e-006 -7.344657e-004 0.000000e+000 -3.307531e-004 +1.795070929550878e-006 -4.694094e-003 0.000000e+000 -1.068687e-004 +1.799025610177533e-006 -5.904339e-003 0.000000e+000 1.795471e-004 +1.803146025672558e-006 -3.547478e-003 0.000000e+000 5.004309e-004 +1.807424145195080e-006 2.531317e-003 0.000000e+000 8.344893e-004 +1.811820382696011e-006 1.204291e-002 0.000000e+000 1.151765e-003 +1.816640921996820e-006 2.519269e-002 0.000000e+000 1.437505e-003 +1.822349548031629e-006 4.236828e-002 0.000000e+000 1.661070e-003 +1.828673471290074e-006 6.059194e-002 0.000000e+000 1.739611e-003 +1.835824623388357e-006 7.667597e-002 0.000000e+000 1.611869e-003 +1.843701922694656e-006 8.693959e-002 0.000000e+000 1.267833e-003 +1.848315993756200e-006 8.829340e-002 0.000000e+000 9.865924e-004 +1.851248453649316e-006 8.644821e-002 0.000000e+000 7.820015e-004 +1.855195228479809e-006 8.118176e-002 0.000000e+000 5.009159e-004 +1.859207945215401e-006 7.327889e-002 0.000000e+000 2.330762e-004 +1.865290927175168e-006 5.793064e-002 0.000000e+000 -1.059285e-004 +1.871652794964561e-006 3.996009e-002 0.000000e+000 -3.499814e-004 +1.877159024764637e-006 2.441410e-002 0.000000e+000 -4.427142e-004 +1.881839702009173e-006 1.257517e-002 0.000000e+000 -4.226179e-004 +1.885830396653953e-006 4.256213e-003 0.000000e+000 -3.366153e-004 +1.888749613951027e-006 -2.737700e-004 0.000000e+000 -2.335576e-004 +1.892446897981108e-006 -3.881398e-003 0.000000e+000 -6.362210e-005 +1.896205696336339e-006 -5.275751e-003 0.000000e+000 1.379768e-004 +1.900007313761707e-006 -4.248352e-003 0.000000e+000 3.610211e-004 +1.903816915252201e-006 -8.808201e-004 0.000000e+000 5.901008e-004 +1.907728673153684e-006 4.704432e-003 0.000000e+000 8.168130e-004 +1.911523845938437e-006 1.187803e-002 0.000000e+000 1.011399e-003 +1.916836933774801e-006 2.365046e-002 0.000000e+000 1.223082e-003 +1.922460676425407e-006 3.662900e-002 0.000000e+000 1.351175e-003 +1.929333965886402e-006 5.095990e-002 0.000000e+000 1.359154e-003 +1.936489517662573e-006 6.200246e-002 0.000000e+000 1.214058e-003 +1.942310599774914e-006 6.681757e-002 0.000000e+000 9.954139e-004 +1.946330428043301e-006 6.733421e-002 0.000000e+000 8.011464e-004 +1.949151413329279e-006 6.596591e-002 0.000000e+000 6.509113e-004 +1.953231742091883e-006 6.189708e-002 0.000000e+000 4.301174e-004 +1.957149778442979e-006 5.610096e-002 0.000000e+000 2.316924e-004 +1.963306882076677e-006 4.438242e-002 0.000000e+000 -2.871269e-005 +1.969551055015780e-006 3.107078e-002 0.000000e+000 -2.107141e-004 +1.975038534645277e-006 1.936645e-002 0.000000e+000 -2.807657e-004 +1.979798240239174e-006 1.028640e-002 0.000000e+000 -2.647800e-004 +1.983901178525536e-006 3.888258e-003 0.000000e+000 -1.960562e-004 +1.987050721271027e-006 2.628039e-004 0.000000e+000 -1.101339e-004 +1.990449103606709e-006 -2.188585e-003 0.000000e+000 9.615601e-006 +1.993884158373995e-006 -3.279507e-003 0.000000e+000 1.492657e-004 +1.996330982934908e-006 -3.221303e-003 0.000000e+000 2.570440e-004 +1.997393523761383e-006 -2.903169e-003 0.000000e+000 3.057719e-004 +1.998874918347050e-006 -2.175936e-003 0.000000e+000 3.747924e-004 +1.999874918347050e-006 -1.570945e-003 0.000000e+000 4.215787e-004 +2.000000000000000e-006 -1.484368e-003 0.000000e+000 4.274371e-004 +2.000250163305900e-006 -1.299033e-003 0.000000e+000 4.391481e-004 +2.000357282833628e-006 -1.218557e-003 0.000000e+000 4.441619e-004 +2.000464402361357e-006 -1.136580e-003 0.000000e+000 4.491729e-004 +2.000571521889086e-006 -1.053102e-003 0.000000e+000 4.541809e-004 +2.000678641416814e-006 -9.681223e-004 0.000000e+000 4.591861e-004 +2.000785760944543e-006 -8.816418e-004 0.000000e+000 4.641884e-004 +2.000892880472272e-006 -7.936601e-004 0.000000e+000 4.691879e-004 +2.001000000000000e-006 -7.041773e-004 0.000000e+000 4.741844e-004 +2.001002577912064e-006 -7.020123e-004 8.507110e-003 4.743046e-004 +2.001005524097280e-006 -6.995305e-004 1.822952e-002 4.744420e-004 +2.001011416467711e-006 -6.945216e-004 3.767435e-002 4.747167e-004 +2.001023201208574e-006 -6.842400e-004 7.656399e-002 4.752660e-004 +2.001041180435515e-006 -6.677629e-004 1.358954e-001 4.761041e-004 +2.001057752953667e-006 -6.512222e-004 1.905847e-001 4.768765e-004 +2.001078828063486e-006 -6.275135e-004 2.601326e-001 4.778587e-004 +2.001101352063412e-006 -5.977659e-004 3.344618e-001 4.789082e-004 +2.001131736677839e-006 -5.485623e-004 4.347310e-001 4.803236e-004 +2.001168117571876e-006 -4.725039e-004 5.547880e-001 4.820180e-004 +2.001218239027917e-006 -3.301972e-004 7.201888e-001 4.843515e-004 +2.001283255966042e-006 -6.563213e-005 9.347447e-001 4.873771e-004 +2.001377285205119e-006 4.788071e-004 1.245041e+000 4.917501e-004 +2.001464574884188e-006 1.177592e-003 1.533097e+000 4.958067e-004 +2.001553799804461e-006 2.129518e-003 1.827539e+000 4.999498e-004 +2.001648860233172e-006 3.446644e-003 2.141239e+000 5.043593e-004 +2.001778920649937e-006 5.645572e-003 2.570438e+000 5.103861e-004 +2.001832498348748e-006 6.707214e-003 2.747245e+000 5.128662e-004 +2.001892844602377e-006 8.088700e-003 2.946387e+000 5.156563e-004 +2.002000000000000e-006 1.075222e-002 3.300000e+000 5.206064e-004 +2.002032146619287e-006 1.165693e-002 3.300000e+000 5.220892e-004 +2.002075008778336e-006 1.291920e-002 3.300000e+000 5.240644e-004 +2.002160733096434e-006 1.560117e-002 3.300000e+000 5.280080e-004 +2.002332181732631e-006 2.134229e-002 3.300000e+000 5.358654e-004 +2.002601555106860e-006 3.084824e-002 3.300000e+000 5.481229e-004 +2.002916141374127e-006 4.221896e-002 3.300000e+000 5.622592e-004 +2.003275950312796e-006 5.519026e-002 3.300000e+000 5.780925e-004 +2.003703085219519e-006 7.033217e-002 3.300000e+000 5.962522e-004 +2.004244847912753e-006 8.920193e-002 3.300000e+000 6.181062e-004 +2.004807650928720e-006 1.085396e-001 3.300000e+000 6.389216e-004 +2.005600574465174e-006 1.354884e-001 3.300000e+000 6.639836e-004 +2.006751899455285e-006 1.740620e-001 3.300000e+000 6.882972e-004 +2.009054549435508e-006 2.492183e-001 3.300000e+000 6.915351e-004 +2.012565833168545e-006 3.589542e-001 3.300000e+000 5.914317e-004 +2.016393865451630e-006 4.710301e-001 3.300000e+000 3.371852e-004 +2.020227231482341e-006 5.725698e-001 3.300000e+000 -7.875682e-005 +2.025587497312064e-006 6.946712e-001 3.300000e+000 -8.534527e-004 +2.031079040529339e-006 7.912770e-001 3.300000e+000 -1.750621e-003 +2.036487825889451e-006 8.497288e-001 3.300000e+000 -2.573700e-003 +2.042300414423660e-006 8.774537e-001 3.300000e+000 -3.160229e-003 +2.047752424688986e-006 8.871072e-001 3.300000e+000 -3.176525e-003 +2.055018341757658e-006 8.977470e-001 3.300000e+000 -2.318576e-003 +2.060891386030704e-006 9.104057e-001 3.300000e+000 -8.492315e-004 +2.068836014602991e-006 9.308379e-001 3.300000e+000 2.179798e-003 +2.077036672217756e-006 9.511055e-001 3.300000e+000 6.277574e-003 +2.086802297217756e-006 9.722573e-001 3.300000e+000 1.223238e-002 +2.096567922217756e-006 9.902766e-001 3.300000e+000 1.908094e-002 +2.106333547217756e-006 1.005499e+000 3.300000e+000 2.665774e-002 +2.116099172217756e-006 1.018325e+000 3.300000e+000 3.485665e-002 +2.125864797217756e-006 1.029081e+000 3.300000e+000 4.382000e-002 +2.135630422217756e-006 1.038061e+000 3.300000e+000 5.403489e-002 +2.145396047217756e-006 1.045574e+000 3.300000e+000 6.599104e-002 +2.155161672217756e-006 1.051973e+000 3.300000e+000 7.932854e-002 +2.164927297217756e-006 1.057621e+000 3.300000e+000 9.262999e-002 +2.174692922217756e-006 1.062829e+000 3.300000e+000 1.045884e-001 +2.184458547217756e-006 1.067796e+000 3.300000e+000 1.150228e-001 +2.194224172217756e-006 1.072617e+000 3.300000e+000 1.245120e-001 +2.203989797217756e-006 1.077317e+000 3.300000e+000 1.336204e-001 +2.213755422217756e-006 1.081891e+000 3.300000e+000 1.426472e-001 +2.223521047217756e-006 1.086328e+000 3.300000e+000 1.517020e-001 +2.233286672217756e-006 1.090617e+000 3.300000e+000 1.608006e-001 +2.243052297217756e-006 1.094753e+000 3.300000e+000 1.699221e-001 +2.252817922217756e-006 1.098733e+000 3.300000e+000 1.790365e-001 +2.262583547217756e-006 1.102559e+000 3.300000e+000 1.881150e-001 +2.272349172217756e-006 1.106237e+000 3.300000e+000 1.971340e-001 +2.291880422217756e-006 1.113167e+000 3.300000e+000 2.149253e-001 +2.311411672217756e-006 1.119578e+000 3.300000e+000 2.323179e-001 +2.330942922217756e-006 1.125528e+000 3.300000e+000 2.492721e-001 +2.360239797217756e-006 1.133705e+000 3.300000e+000 2.738719e-001 +2.370005422217756e-006 1.136256e+000 3.300000e+000 2.818574e-001 +2.379771047217756e-006 1.138896e+000 3.300000e+000 2.897405e-001 +2.389536672217756e-006 1.144519e+000 3.300000e+000 2.975236e-001 +2.397416838818876e-006 1.156313e+000 3.300000e+000 3.037037e-001 +2.405952151005005e-006 1.177906e+000 3.300000e+000 3.102399e-001 +2.414343516432570e-006 1.204467e+000 3.300000e+000 3.164454e-001 +2.423258046959081e-006 1.235883e+000 3.300000e+000 3.227321e-001 +2.433023671959081e-006 1.272203e+000 3.300000e+000 3.292350e-001 +2.442789296959081e-006 1.309482e+000 3.300000e+000 3.353265e-001 +2.452554921959081e-006 1.347128e+000 3.300000e+000 3.410015e-001 +2.462320546959081e-006 1.384753e+000 3.300000e+000 3.462741e-001 +2.472086171959081e-006 1.422118e+000 3.300000e+000 3.511641e-001 +2.481851796959081e-006 1.459074e+000 3.300000e+000 3.556936e-001 +2.491617421959081e-006 1.495525e+000 3.300000e+000 3.598856e-001 +2.501383046959081e-006 1.531412e+000 3.300000e+000 3.637628e-001 +2.511148671959081e-006 1.566695e+000 3.300000e+000 3.673472e-001 +2.520914296959081e-006 1.601355e+000 3.300000e+000 3.706597e-001 +2.530679921959081e-006 1.635378e+000 3.300000e+000 3.737203e-001 +2.540445546959081e-006 1.668761e+000 3.300000e+000 3.765475e-001 +2.550211171959081e-006 1.701504e+000 3.300000e+000 3.791587e-001 +2.559976796959081e-006 1.733610e+000 3.300000e+000 3.815704e-001 +2.569742421959081e-006 1.765086e+000 3.300000e+000 3.837975e-001 +2.579508046959081e-006 1.795939e+000 3.300000e+000 3.858540e-001 +2.589273671959081e-006 1.826180e+000 3.300000e+000 3.877531e-001 +2.599039296959081e-006 1.855816e+000 3.300000e+000 3.895066e-001 +2.608804921959081e-006 1.884859e+000 3.300000e+000 3.911259e-001 +2.618570546959081e-006 1.913319e+000 3.300000e+000 3.926212e-001 +2.628336171959081e-006 1.941207e+000 3.300000e+000 3.940020e-001 +2.638101796959081e-006 1.968534e+000 3.300000e+000 3.952771e-001 +2.647867421959081e-006 1.995311e+000 3.300000e+000 3.964547e-001 +2.657633046959081e-006 2.021547e+000 3.300000e+000 3.975424e-001 +2.667398671959081e-006 2.047255e+000 3.300000e+000 3.985469e-001 +2.677164296959082e-006 2.072444e+000 3.300000e+000 3.994748e-001 +2.686929921959082e-006 2.097125e+000 3.300000e+000 4.003320e-001 +2.696695546959082e-006 2.121309e+000 3.300000e+000 4.011238e-001 +2.706461171959082e-006 2.145004e+000 3.300000e+000 4.018554e-001 +2.716226796959082e-006 2.168221e+000 3.300000e+000 4.025314e-001 +2.725992421959082e-006 2.190971e+000 3.300000e+000 4.031562e-001 +2.735758046959082e-006 2.213262e+000 3.300000e+000 4.037335e-001 +2.745523671959082e-006 2.235103e+000 3.300000e+000 4.042671e-001 +2.755289296959082e-006 2.256504e+000 3.300000e+000 4.047604e-001 +2.765054921959082e-006 2.277474e+000 3.300000e+000 4.052165e-001 +2.774820546959082e-006 2.298021e+000 3.300000e+000 4.056382e-001 +2.784586171959082e-006 2.318154e+000 3.300000e+000 4.060282e-001 +2.794351796959082e-006 2.337882e+000 3.300000e+000 4.063889e-001 +2.804117421959082e-006 2.357213e+000 3.300000e+000 4.067226e-001 +2.813883046959082e-006 2.376154e+000 3.300000e+000 4.070313e-001 +2.823648671959082e-006 2.394714e+000 3.300000e+000 4.073170e-001 +2.833414296959082e-006 2.412900e+000 3.300000e+000 4.075814e-001 +2.843179921959082e-006 2.430721e+000 3.300000e+000 4.078262e-001 +2.852945546959082e-006 2.448183e+000 3.300000e+000 4.080528e-001 +2.862711171959082e-006 2.465293e+000 3.300000e+000 4.082627e-001 +2.872476796959082e-006 2.482059e+000 3.300000e+000 4.084571e-001 +2.882242421959082e-006 2.498489e+000 3.300000e+000 4.086372e-001 +2.892008046959082e-006 2.514587e+000 3.300000e+000 4.088041e-001 +2.901773671959082e-006 2.530362e+000 3.300000e+000 4.089589e-001 +2.911539296959082e-006 2.545820e+000 3.300000e+000 4.091024e-001 +2.921304921959082e-006 2.560967e+000 3.300000e+000 4.092354e-001 +2.931070546959082e-006 2.575810e+000 3.300000e+000 4.093589e-001 +2.940836171959082e-006 2.590354e+000 3.300000e+000 4.094734e-001 +2.950601796959082e-006 2.604606e+000 3.300000e+000 4.095798e-001 +2.960367421959082e-006 2.618571e+000 3.300000e+000 4.096785e-001 +2.970133046959082e-006 2.632256e+000 3.300000e+000 4.097703e-001 +2.979898671959082e-006 2.645665e+000 3.300000e+000 4.098555e-001 +2.989664296959082e-006 2.658806e+000 3.300000e+000 4.099347e-001 +2.999429921959082e-006 2.671682e+000 3.300000e+000 4.100084e-001 +3.009195546959082e-006 2.684299e+000 3.300000e+000 4.100769e-001 +3.018961171959082e-006 2.696663e+000 3.300000e+000 4.101407e-001 +3.028726796959082e-006 2.708779e+000 3.300000e+000 4.102001e-001 +3.038492421959082e-006 2.720651e+000 3.300000e+000 4.102554e-001 +3.048258046959082e-006 2.732285e+000 3.300000e+000 4.103070e-001 +3.058023671959083e-006 2.743685e+000 3.300000e+000 4.103550e-001 +3.067789296959083e-006 2.754856e+000 3.300000e+000 4.103999e-001 +3.077554921959083e-006 2.765802e+000 3.300000e+000 4.104417e-001 +3.087320546959083e-006 2.776529e+000 3.300000e+000 4.104807e-001 +3.097086171959083e-006 2.787041e+000 3.300000e+000 4.105172e-001 +3.116617421959083e-006 2.807434e+000 3.300000e+000 4.105832e-001 +3.136148671959083e-006 2.827017e+000 3.300000e+000 4.106410e-001 +3.155679921959083e-006 2.845821e+000 3.300000e+000 4.106916e-001 +3.175211171959083e-006 2.863877e+000 3.300000e+000 4.107363e-001 +3.194742421959083e-006 2.881216e+000 3.300000e+000 4.107756e-001 +3.214273671959083e-006 2.897865e+000 3.300000e+000 4.108104e-001 +3.233804921959083e-006 2.913852e+000 3.300000e+000 4.108413e-001 +3.253336171959083e-006 2.929203e+000 3.300000e+000 4.108688e-001 +3.272867421959083e-006 2.943944e+000 3.300000e+000 4.108933e-001 +3.292398671959083e-006 2.958100e+000 3.300000e+000 4.109152e-001 +3.311929921959083e-006 2.971692e+000 3.300000e+000 4.109349e-001 +3.331461171959083e-006 2.984744e+000 3.300000e+000 4.109527e-001 +3.350992421959083e-006 2.997277e+000 3.300000e+000 4.109687e-001 +3.370523671959083e-006 3.009312e+000 3.300000e+000 4.109832e-001 +3.390054921959083e-006 3.020869e+000 3.300000e+000 4.109964e-001 +3.409586171959083e-006 3.031966e+000 3.300000e+000 4.110084e-001 +3.438883046959084e-006 3.047790e+000 3.300000e+000 4.110245e-001 +3.468179921959084e-006 3.062680e+000 3.300000e+000 4.110387e-001 +3.497476796959084e-006 3.076690e+000 3.300000e+000 4.110513e-001 +3.526773671959084e-006 3.089874e+000 3.300000e+000 4.110625e-001 +3.556070546959084e-006 3.102279e+000 3.300000e+000 4.110725e-001 +3.585367421959084e-006 3.113953e+000 3.300000e+000 4.110815e-001 +3.614664296959084e-006 3.124936e+000 3.300000e+000 4.110896e-001 +3.638380814816227e-006 3.133306e+000 3.300000e+000 4.110956e-001 +3.662097332673370e-006 3.141318e+000 3.300000e+000 4.111012e-001 +3.685813850530513e-006 3.148970e+000 3.300000e+000 4.111064e-001 +3.709530368387656e-006 3.156265e+000 3.300000e+000 4.111113e-001 +3.733246886244799e-006 3.163200e+000 3.300000e+000 4.111159e-001 +3.756963404101942e-006 3.169777e+000 3.300000e+000 4.111201e-001 +3.780679921959084e-006 3.175996e+000 3.300000e+000 4.111239e-001 +3.808581707673369e-006 3.182928e+000 3.300000e+000 4.111282e-001 +3.836483493387654e-006 3.189518e+000 3.300000e+000 4.111322e-001 +3.864385279101939e-006 3.195767e+000 3.300000e+000 4.111359e-001 +3.892287064816224e-006 3.201675e+000 3.300000e+000 4.111395e-001 +3.920188850530508e-006 3.207241e+000 3.300000e+000 4.111427e-001 +3.948090636244793e-006 3.212466e+000 3.300000e+000 4.111457e-001 +3.975992421959078e-006 3.217350e+000 3.300000e+000 4.111485e-001 +3.985758046959077e-006 3.219014e+000 3.300000e+000 4.111494e-001 +3.990234375000000e-006 3.219767e+000 3.300000e+000 4.111499e-001 +3.991047343918154e-006 3.219903e+000 3.300000e+000 4.111499e-001 +3.992673281754461e-006 3.220172e+000 3.300000e+000 4.111501e-001 +3.995925157427076e-006 3.220710e+000 3.300000e+000 4.111504e-001 +3.996925157427076e-006 3.220875e+000 3.300000e+000 4.111505e-001 +3.998000000000001e-006 3.221051e+000 3.300000e+000 4.111506e-001 +3.999000000000000e-006 3.221215e+000 3.300000e+000 4.111507e-001 +4.000000000000000e-006 3.221379e+000 3.300000e+000 4.111508e-001 +4.000014362868407e-006 3.221381e+000 3.252603e+000 4.111508e-001 +4.000043088605221e-006 3.221381e+000 3.157808e+000 4.111508e-001 +4.000100540078848e-006 3.221364e+000 2.968218e+000 4.111508e-001 +4.000177457676301e-006 3.221292e+000 2.714390e+000 4.111508e-001 +4.000256157025335e-006 3.221137e+000 2.454682e+000 4.111508e-001 +4.000338466164485e-006 3.220865e+000 2.183062e+000 4.111508e-001 +4.000413884758564e-006 3.220482e+000 1.934180e+000 4.111508e-001 +4.000542569773351e-006 3.219507e+000 1.509520e+000 4.111508e-001 +4.000742629970427e-006 3.217324e+000 8.493211e-001 4.111508e-001 +4.001000000000000e-006 3.213778e+000 1.150191e-012 4.111508e-001 +4.001025737002957e-006 3.213326e+000 3.833970e-013 4.111508e-001 +4.001077211008871e-006 3.212409e+000 0.000000e+000 4.111508e-001 +4.001180159020700e-006 3.210552e+000 0.000000e+000 4.111509e-001 +4.001383785215433e-006 3.206963e+000 0.000000e+000 4.111509e-001 +4.001591165036111e-006 3.203587e+000 0.000000e+000 4.111509e-001 +4.001806475012406e-006 3.200509e+000 0.000000e+000 4.111509e-001 +4.002014866049487e-006 3.197968e+000 0.000000e+000 4.111510e-001 +4.002260815895064e-006 3.195428e+000 0.000000e+000 4.111510e-001 +4.002536350756757e-006 3.192998e+000 0.000000e+000 4.111510e-001 +4.002890272842582e-006 3.190272e+000 0.000000e+000 4.111511e-001 +4.003338504015990e-006 3.187129e+000 0.000000e+000 4.111511e-001 +4.004030999411170e-006 3.182503e+000 0.000000e+000 4.111512e-001 +4.004899255334656e-006 3.176779e+000 0.000000e+000 4.111513e-001 +4.006363059615741e-006 3.167149e+000 0.000000e+000 4.111515e-001 +4.008049094066603e-006 3.156087e+000 0.000000e+000 4.111518e-001 +4.011421162968328e-006 3.134115e+000 0.000000e+000 4.111521e-001 +4.018165300771778e-006 3.090658e+000 0.000000e+000 4.111524e-001 +4.027930925771778e-006 3.028692e+000 0.000000e+000 4.111515e-001 +4.047462175771777e-006 2.908277e+000 0.000000e+000 4.111441e-001 +4.057227800771777e-006 2.849877e+000 0.000000e+000 4.111376e-001 +4.076759050771776e-006 2.736570e+000 0.000000e+000 4.111186e-001 +4.096290300771775e-006 2.627765e+000 0.000000e+000 4.110923e-001 +4.115821550771774e-006 2.523280e+000 0.000000e+000 4.110589e-001 +4.135352800771773e-006 2.422943e+000 0.000000e+000 4.110183e-001 +4.154884050771773e-006 2.326587e+000 0.000000e+000 4.109703e-001 +4.174415300771772e-006 2.234057e+000 0.000000e+000 4.109148e-001 +4.193946550771771e-006 2.145201e+000 0.000000e+000 4.108513e-001 +4.213477800771770e-006 2.059881e+000 0.000000e+000 4.107790e-001 +4.223243425771770e-006 2.018504e+000 0.000000e+000 4.107394e-001 +4.233009050771769e-006 1.977963e+000 0.000000e+000 4.106972e-001 +4.242774675771769e-006 1.938241e+000 0.000000e+000 4.106523e-001 +4.252540300771769e-006 1.899326e+000 0.000000e+000 4.106046e-001 +4.262305925771768e-006 1.861202e+000 0.000000e+000 4.105538e-001 +4.272071550771768e-006 1.823858e+000 0.000000e+000 4.104997e-001 +4.281837175771767e-006 1.787282e+000 0.000000e+000 4.104421e-001 +4.291602800771767e-006 1.751462e+000 0.000000e+000 4.103806e-001 +4.301368425771767e-006 1.716389e+000 0.000000e+000 4.103149e-001 +4.311134050771766e-006 1.682053e+000 0.000000e+000 4.102448e-001 +4.320899675771766e-006 1.648449e+000 0.000000e+000 4.101696e-001 +4.330665300771765e-006 1.615569e+000 0.000000e+000 4.100890e-001 +4.340430925771765e-006 1.583410e+000 0.000000e+000 4.100023e-001 +4.350196550771765e-006 1.551970e+000 0.000000e+000 4.099090e-001 +4.359962175771764e-006 1.521250e+000 0.000000e+000 4.098082e-001 +4.369727800771764e-006 1.491251e+000 0.000000e+000 4.096990e-001 +4.379493425771763e-006 1.461983e+000 0.000000e+000 4.095805e-001 +4.389259050771763e-006 1.433455e+000 0.000000e+000 4.094515e-001 +4.399024675771763e-006 1.405684e+000 0.000000e+000 4.093105e-001 +4.408790300771762e-006 1.378692e+000 0.000000e+000 4.091558e-001 +4.418555925771762e-006 1.352511e+000 0.000000e+000 4.089856e-001 +4.428321550771761e-006 1.327181e+000 0.000000e+000 4.087973e-001 +4.438087175771761e-006 1.302755e+000 0.000000e+000 4.085881e-001 +4.447852800771761e-006 1.279304e+000 0.000000e+000 4.083546e-001 +4.457618425771760e-006 1.256918e+000 0.000000e+000 4.080925e-001 +4.467384050771760e-006 1.235720e+000 0.000000e+000 4.077967e-001 +4.477149675771759e-006 1.215871e+000 0.000000e+000 4.074607e-001 +4.486915300771759e-006 1.197595e+000 0.000000e+000 4.070762e-001 +4.496680925771759e-006 1.181199e+000 0.000000e+000 4.066331e-001 +4.506446550771758e-006 1.167120e+000 0.000000e+000 4.061176e-001 +4.516212175771758e-006 1.155987e+000 0.000000e+000 4.055116e-001 +4.525977800771757e-006 1.148689e+000 0.000000e+000 4.047909e-001 +4.535743425771757e-006 1.145392e+000 0.000000e+000 4.039245e-001 +4.545509050771757e-006 1.144487e+000 0.000000e+000 4.028819e-001 +4.555274675771756e-006 1.144124e+000 0.000000e+000 4.016453e-001 +4.565040300771756e-006 1.143711e+000 0.000000e+000 4.002136e-001 +4.574805925771756e-006 1.143249e+000 0.000000e+000 3.985962e-001 +4.584571550771755e-006 1.142743e+000 0.000000e+000 3.968054e-001 +4.594337175771755e-006 1.142194e+000 0.000000e+000 3.948536e-001 +4.604102800771754e-006 1.141606e+000 0.000000e+000 3.927520e-001 +4.613868425771754e-006 1.140980e+000 0.000000e+000 3.905111e-001 +4.633399675771753e-006 1.139622e+000 0.000000e+000 3.856481e-001 +4.652930925771752e-006 1.138132e+000 0.000000e+000 3.803294e-001 +4.672462175771752e-006 1.136521e+000 0.000000e+000 3.746074e-001 +4.701759050771750e-006 1.133888e+000 0.000000e+000 3.653564e-001 +4.731055925771749e-006 1.131004e+000 0.000000e+000 3.553890e-001 +4.749192086486034e-006 1.129114e+000 0.000000e+000 3.489033e-001 +4.767328247200319e-006 1.127106e+000 0.000000e+000 3.421606e-001 +4.785464407914604e-006 1.124983e+000 0.000000e+000 3.351609e-001 +4.803600568628889e-006 1.122742e+000 0.000000e+000 3.279042e-001 +4.821736729343174e-006 1.120386e+000 0.000000e+000 3.203905e-001 +4.839872890057459e-006 1.117912e+000 0.000000e+000 3.126198e-001 +4.858009050771744e-006 1.115322e+000 0.000000e+000 3.045922e-001 +4.887305925771743e-006 1.110750e+000 0.000000e+000 2.909046e-001 +4.916602800771742e-006 1.105663e+000 0.000000e+000 2.762680e-001 +4.945899675771740e-006 1.099940e+000 0.000000e+000 2.605218e-001 +4.975196550771739e-006 1.093420e+000 0.000000e+000 2.434807e-001 +5.004493425771738e-006 1.085888e+000 0.000000e+000 2.249458e-001 +5.024024675771737e-006 1.080170e+000 0.000000e+000 2.116628e-001 +5.043555925771736e-006 1.073771e+000 0.000000e+000 1.975778e-001 +5.063087175771736e-006 1.066558e+000 0.000000e+000 1.826492e-001 +5.082618425771735e-006 1.058356e+000 0.000000e+000 1.668501e-001 +5.092384050771734e-006 1.053815e+000 0.000000e+000 1.586213e-001 +5.102149675771734e-006 1.048934e+000 0.000000e+000 1.501747e-001 +5.111915300771734e-006 1.043669e+000 0.000000e+000 1.415140e-001 +5.121680925771733e-006 1.037969e+000 0.000000e+000 1.326456e-001 +5.131446550771733e-006 1.031768e+000 0.000000e+000 1.235786e-001 +5.141212175771732e-006 1.024985e+000 0.000000e+000 1.143255e-001 +5.150977800771732e-006 1.017518e+000 0.000000e+000 1.049031e-001 +5.160743425771732e-006 1.009230e+000 0.000000e+000 9.533302e-002 +5.170509050771731e-006 9.999357e-001 0.000000e+000 8.564319e-002 +5.180274675771731e-006 9.893774e-001 0.000000e+000 7.586932e-002 +5.190040300771730e-006 9.771726e-001 0.000000e+000 6.605714e-002 +5.199805925771730e-006 9.627243e-001 0.000000e+000 5.626567e-002 +5.209571550771730e-006 9.450222e-001 0.000000e+000 4.657222e-002 +5.219337175771729e-006 9.221690e-001 0.000000e+000 3.708111e-002 +5.229102800771729e-006 8.901220e-001 0.000000e+000 2.794075e-002 +5.238868425771728e-006 8.397840e-001 0.000000e+000 1.938128e-002 +5.248634050771728e-006 7.603321e-001 0.000000e+000 1.162849e-002 +5.255007869335099e-006 6.827722e-001 0.000000e+000 7.312533e-003 +5.262046853367249e-006 5.713989e-001 0.000000e+000 3.609010e-003 +5.269236708483420e-006 4.472737e-001 0.000000e+000 1.105031e-003 +5.276555157636016e-006 3.303134e-001 0.000000e+000 -2.632851e-006 +5.283601272949632e-006 2.421820e-001 0.000000e+000 1.646519e-004 +5.288411628401100e-006 2.026547e-001 0.000000e+000 8.948646e-004 +5.291376378570137e-006 1.910108e-001 0.000000e+000 1.588968e-003 +5.295180734971292e-006 1.901919e-001 0.000000e+000 2.647522e-003 +5.299002747345558e-006 2.034795e-001 0.000000e+000 3.778220e-003 +5.304921028416571e-006 2.461682e-001 0.000000e+000 5.477466e-003 +5.311046199827854e-006 3.087038e-001 0.000000e+000 6.908838e-003 +5.319173999591414e-006 4.026809e-001 0.000000e+000 7.992455e-003 +5.327311147033912e-006 4.841487e-001 0.000000e+000 7.953777e-003 +5.336426949098460e-006 5.422421e-001 0.000000e+000 6.688327e-003 +5.341521738374264e-006 5.518514e-001 0.000000e+000 5.486117e-003 +5.344954369618570e-006 5.442287e-001 0.000000e+000 4.480807e-003 +5.348075508547065e-006 5.280574e-001 0.000000e+000 3.505696e-003 +5.351238446927956e-006 5.034549e-001 0.000000e+000 2.520014e-003 +5.356107625223020e-006 4.537547e-001 0.000000e+000 1.107112e-003 +5.361773005098778e-006 3.850180e-001 0.000000e+000 -2.319544e-004 +5.369174231160362e-006 2.894409e-001 0.000000e+000 -1.331529e-003 +5.376367827282227e-006 2.038993e-001 0.000000e+000 -1.612538e-003 +5.382978188704302e-006 1.423980e-001 0.000000e+000 -1.156148e-003 +5.388308706564735e-006 1.098968e-001 0.000000e+000 -3.569868e-004 +5.391579108388096e-006 1.004481e-001 0.000000e+000 3.020002e-004 +5.395285176603030e-006 1.002121e-001 0.000000e+000 1.150027e-003 +5.398978855732697e-006 1.099130e-001 0.000000e+000 2.021296e-003 +5.404716900916410e-006 1.402464e-001 0.000000e+000 3.304022e-003 +5.410745613885857e-006 1.850670e-001 0.000000e+000 4.387603e-003 +5.418725129880598e-006 2.525518e-001 0.000000e+000 5.221012e-003 +5.426291696729558e-006 3.090455e-001 0.000000e+000 5.248545e-003 +5.435110898444576e-006 3.528676e-001 0.000000e+000 4.418457e-003 +5.440412444529389e-006 3.624806e-001 0.000000e+000 3.544651e-003 +5.443894706840915e-006 3.583953e-001 0.000000e+000 2.822735e-003 +5.447027240281611e-006 3.477594e-001 0.000000e+000 2.125072e-003 +5.450138906184246e-006 3.311300e-001 0.000000e+000 1.432306e-003 +5.455018573053958e-006 2.960979e-001 0.000000e+000 4.194449e-004 +5.460610974391353e-006 2.476098e-001 0.000000e+000 -5.257633e-004 +5.467957440446092e-006 1.787566e-001 0.000000e+000 -1.311430e-003 +5.474677002925373e-006 1.193967e-001 0.000000e+000 -1.516691e-003 +5.480558291303990e-006 7.752066e-002 0.000000e+000 -1.237770e-003 +5.486304544039650e-006 4.985943e-002 0.000000e+000 -6.147437e-004 +5.490398612172473e-006 3.992211e-002 0.000000e+000 -4.919718e-006 +5.493920249069945e-006 3.908140e-002 0.000000e+000 6.018896e-004 +5.497262676622952e-006 4.509145e-002 0.000000e+000 1.203243e-003 +5.502608130143826e-006 6.508221e-002 0.000000e+000 2.129238e-003 +5.508367522526798e-006 9.630202e-002 0.000000e+000 2.965560e-003 +5.515903401040700e-006 1.448110e-001 0.000000e+000 3.683646e-003 +5.522816273922658e-006 1.872328e-001 0.000000e+000 3.856882e-003 +5.531081499707153e-006 2.252527e-001 0.000000e+000 3.449556e-003 +5.537656293160430e-006 2.407795e-001 0.000000e+000 2.742218e-003 +5.541740430957169e-006 2.411183e-001 0.000000e+000 2.147719e-003 +5.544615657078886e-006 2.357735e-001 0.000000e+000 1.679812e-003 +5.548602126798040e-006 2.221388e-001 0.000000e+000 1.018111e-003 +5.552607645380336e-006 2.025943e-001 0.000000e+000 3.923895e-004 +5.558724291599461e-006 1.649493e-001 0.000000e+000 -4.111209e-004 +5.565089536271418e-006 1.214650e-001 0.000000e+000 -9.877766e-004 +5.571081338811628e-006 8.100895e-002 0.000000e+000 -1.216840e-003 +5.576542871354997e-006 4.891512e-002 0.000000e+000 -1.133860e-003 +5.581530338946047e-006 2.669618e-002 0.000000e+000 -8.259446e-004 +5.586178207014990e-006 1.366117e-002 0.000000e+000 -3.747345e-004 +5.590130976950079e-006 9.243949e-003 0.000000e+000 1.026971e-004 +5.594019188368541e-006 1.113865e-002 0.000000e+000 6.228698e-004 +5.597927575475524e-006 1.915667e-002 0.000000e+000 1.152795e-003 +5.603618886799111e-006 3.898096e-002 0.000000e+000 1.866257e-003 +5.609417270628057e-006 6.548185e-002 0.000000e+000 2.443189e-003 +5.616147097168453e-006 9.951573e-002 0.000000e+000 2.835477e-003 +5.622991854372975e-006 1.309277e-001 0.000000e+000 2.874566e-003 +5.630804205361817e-006 1.568544e-001 0.000000e+000 2.511902e-003 +5.636675704789255e-006 1.664955e-001 0.000000e+000 2.003328e-003 +5.640534316659360e-006 1.664591e-001 0.000000e+000 1.571339e-003 +5.643513769181855e-006 1.623521e-001 0.000000e+000 1.205104e-003 +5.647136505164601e-006 1.531816e-001 0.000000e+000 7.543837e-004 +5.651451324736593e-006 1.375799e-001 0.000000e+000 2.509722e-004 +5.657330838656340e-006 1.108327e-001 0.000000e+000 -3.190617e-004 +5.664014525533837e-006 7.705640e-002 0.000000e+000 -7.569693e-004 +5.669861364260442e-006 4.792648e-002 0.000000e+000 -9.126353e-004 +5.674820336147746e-006 2.624284e-002 0.000000e+000 -8.526465e-004 +5.679123224385291e-006 1.139036e-002 0.000000e+000 -6.631681e-004 +5.682736539525097e-006 2.466772e-003 0.000000e+000 -4.194789e-004 +5.685408663938919e-006 -1.587665e-003 0.000000e+000 -1.955021e-004 +5.688154202051857e-006 -3.156759e-003 0.000000e+000 6.552860e-005 +5.691739637958512e-006 -1.854829e-003 0.000000e+000 4.307264e-004 +5.695288329962776e-006 2.861229e-003 0.000000e+000 8.006638e-004 +5.699151078679826e-006 1.176927e-002 0.000000e+000 1.189355e-003 +5.703953934102852e-006 2.692947e-002 0.000000e+000 1.616627e-003 +5.709371408117966e-006 4.725612e-002 0.000000e+000 1.981555e-003 +5.715643508809706e-006 7.175099e-002 0.000000e+000 2.205505e-003 +5.722444719460701e-006 9.497316e-002 0.000000e+000 2.182955e-003 +5.730088129370353e-006 1.132713e-001 0.000000e+000 1.872000e-003 +5.735486808528182e-006 1.193499e-001 0.000000e+000 1.499566e-003 +5.739138128339565e-006 1.190004e-001 0.000000e+000 1.184392e-003 +5.742233424585296e-006 1.156820e-001 0.000000e+000 8.954377e-004 +5.745472473258427e-006 1.094404e-001 0.000000e+000 5.920998e-004 +5.750170511525436e-006 9.660050e-002 0.000000e+000 1.816107e-004 +5.755808518810945e-006 7.737604e-002 0.000000e+000 -2.211457e-004 +5.762901153475290e-006 5.061511e-002 0.000000e+000 -5.522548e-004 +5.768712513848308e-006 2.919606e-002 0.000000e+000 -6.524329e-004 +5.773277572871606e-006 1.448103e-002 0.000000e+000 -5.999478e-004 +5.777135350832872e-006 4.487742e-003 0.000000e+000 -4.701057e-004 +5.779917968099940e-006 -7.458095e-004 0.000000e+000 -3.298237e-004 +5.783450533091320e-006 -4.688606e-003 0.000000e+000 -1.061949e-004 +5.787410469707287e-006 -5.891995e-003 0.000000e+000 1.806068e-004 +5.791522421966751e-006 -3.532694e-003 0.000000e+000 5.007634e-004 +5.795809323801057e-006 2.562394e-003 0.000000e+000 8.354243e-004 +5.800187247597096e-006 1.203450e-002 0.000000e+000 1.151244e-003 +5.805020229793614e-006 2.521696e-002 0.000000e+000 1.437619e-003 +5.810718433198110e-006 4.235523e-002 0.000000e+000 1.660665e-003 +5.817052969288625e-006 6.060446e-002 0.000000e+000 1.739244e-003 +5.824195462226015e-006 7.666088e-002 0.000000e+000 1.611623e-003 +5.832082034983608e-006 8.692579e-002 0.000000e+000 1.267133e-003 +5.836697751082174e-006 8.827321e-002 0.000000e+000 9.858201e-004 +5.839633496642073e-006 8.642180e-002 0.000000e+000 7.810300e-004 +5.843570949863300e-006 8.116320e-002 0.000000e+000 5.006935e-004 +5.847590840414979e-006 7.324357e-002 0.000000e+000 2.324808e-004 +5.853668177744461e-006 5.791020e-002 0.000000e+000 -1.059802e-004 +5.860038001601682e-006 3.992070e-002 0.000000e+000 -3.500215e-004 +5.865547321552200e-006 2.437334e-002 0.000000e+000 -4.425128e-004 +5.870226208846007e-006 1.254778e-002 0.000000e+000 -4.221707e-004 +5.874214745081408e-006 4.241801e-003 0.000000e+000 -3.360439e-004 +5.877131591555712e-006 -2.787608e-004 0.000000e+000 -2.329958e-004 +5.880826246930587e-006 -3.877234e-003 0.000000e+000 -6.313827e-005 +5.884587383298015e-006 -5.265831e-003 0.000000e+000 1.385922e-004 +5.888393987871941e-006 -4.229630e-003 0.000000e+000 3.618964e-004 +5.892209688718890e-006 -8.473685e-004 0.000000e+000 5.912528e-004 +5.896132041372580e-006 4.764939e-003 0.000000e+000 8.183685e-004 +5.899946308222688e-006 1.198563e-002 0.000000e+000 1.013553e-003 +5.905267938696379e-006 2.378540e-002 0.000000e+000 1.224714e-003 +5.910904137763802e-006 3.678610e-002 0.000000e+000 1.351849e-003 +5.917782527076591e-006 5.109105e-002 0.000000e+000 1.358092e-003 +5.924949697025427e-006 6.209421e-002 0.000000e+000 1.211168e-003 +5.930737679013806e-006 6.683171e-002 0.000000e+000 9.929033e-004 +5.934738697953044e-006 6.731320e-002 0.000000e+000 7.992208e-004 +5.937570819330238e-006 6.592472e-002 0.000000e+000 6.483381e-004 +5.941614088868082e-006 6.187692e-002 0.000000e+000 4.296306e-004 +5.945560117095508e-006 5.602851e-002 0.000000e+000 2.299192e-004 +5.951693475030261e-006 4.434930e-002 0.000000e+000 -2.905768e-005 +5.957967744013095e-006 3.097353e-002 0.000000e+000 -2.112411e-004 +5.963467045423979e-006 1.925549e-002 0.000000e+000 -2.807258e-004 +5.968219450801321e-006 1.020764e-002 0.000000e+000 -2.640528e-004 +5.972320967271043e-006 3.831354e-003 0.000000e+000 -1.948205e-004 +5.975458774704183e-006 2.367004e-004 0.000000e+000 -1.088968e-004 +5.978872140479121e-006 -2.203621e-003 0.000000e+000 1.166554e-005 +5.982321903737915e-006 -3.129034e-003 0.000000e+000 1.530332e-004 +5.986072336254966e-006 -2.387282e-003 0.000000e+000 3.204480e-004 +5.989825161613028e-006 9.283050e-005 0.000000e+000 4.921122e-004 +5.994025658516793e-006 4.543857e-003 0.000000e+000 6.791297e-004 +5.996737278738859e-006 8.185839e-003 0.000000e+000 7.929473e-004 +5.997737278738859e-006 9.718528e-003 0.000000e+000 8.318928e-004 +5.999000000000000e-006 1.178301e-002 0.000000e+000 8.778946e-004 +5.999999999999999e-006 1.347727e-002 0.000000e+000 9.122471e-004 +6.001000000000000e-006 1.521285e-002 0.000000e+000 9.449336e-004 +6.001002304608790e-006 1.521693e-002 7.605209e-003 9.450052e-004 +6.001006913826371e-006 1.522510e-002 2.281563e-002 9.451484e-004 +6.001015165410521e-006 1.523980e-002 5.004586e-002 9.454046e-004 +6.001023487485516e-006 1.525481e-002 7.750870e-002 9.456628e-004 +6.001040131635506e-006 1.528592e-002 1.324344e-001 9.461787e-004 +6.001073419935485e-006 1.535352e-002 2.422858e-001 9.472084e-004 +6.001118186779440e-006 1.545770e-002 3.900164e-001 9.485899e-004 +6.001159841004819e-006 1.557186e-002 5.274753e-001 9.498718e-004 +6.001188907761777e-006 1.566680e-002 6.233956e-001 9.507639e-004 +6.001223875741682e-006 1.580456e-002 7.387900e-001 9.518340e-004 +6.001276297626948e-006 1.606467e-002 9.117821e-001 9.534322e-004 +6.001360313597754e-006 1.663155e-002 1.189035e+000 9.559794e-004 +6.001488440852859e-006 1.791787e-002 1.611855e+000 9.598289e-004 +6.001697604094663e-006 2.077019e-002 2.302094e+000 9.660548e-004 +6.001754989300025e-006 2.179096e-002 2.491465e+000 9.677454e-004 +6.001869759710748e-006 2.433256e-002 2.870207e+000 9.710910e-004 +6.002000000000000e-006 2.756421e-002 3.300000e+000 9.748627e-004 +6.002013024028925e-006 2.793856e-002 3.300000e+000 9.752361e-004 +6.002039072086775e-006 2.870320e-002 3.300000e+000 9.759816e-004 +6.002091168202475e-006 3.030106e-002 3.300000e+000 9.774658e-004 +6.002195360433876e-006 3.370824e-002 3.300000e+000 9.804047e-004 +6.002403744896676e-006 4.097559e-002 3.300000e+000 9.861796e-004 +6.002676687849139e-006 5.092113e-002 3.300000e+000 9.935264e-004 +6.003010892751281e-006 6.328923e-002 3.300000e+000 1.002132e-003 +6.003375526929379e-006 7.666482e-002 3.300000e+000 1.010904e-003 +6.003843659682066e-006 9.352472e-002 3.300000e+000 1.021068e-003 +6.004365522781804e-006 1.119942e-001 3.300000e+000 1.030708e-003 +6.004988021935610e-006 1.337226e-001 3.300000e+000 1.039297e-003 +6.005817560257242e-006 1.623064e-001 3.300000e+000 1.044430e-003 +6.007229777393838e-006 2.099663e-001 3.300000e+000 1.032048e-003 +6.010054211667031e-006 3.021766e-001 3.300000e+000 9.416079e-004 +6.013044072257879e-006 3.946965e-001 3.300000e+000 7.466403e-004 +6.016826077025338e-006 5.030234e-001 3.300000e+000 3.515544e-004 +6.020632649184190e-006 6.001707e-001 3.300000e+000 -1.968546e-004 +6.026124520274470e-006 7.173295e-001 3.300000e+000 -1.161865e-003 +6.031633900823242e-006 8.036730e-001 3.300000e+000 -2.184510e-003 +6.037224437690149e-006 8.535413e-001 3.300000e+000 -3.083523e-003 +6.043156812632544e-006 8.751227e-001 3.300000e+000 -3.630263e-003 +6.049146109668292e-006 8.845695e-001 3.300000e+000 -3.466470e-003 +6.057871190487922e-006 9.004055e-001 3.300000e+000 -2.009933e-003 +6.064577850110859e-006 9.172667e-001 3.300000e+000 1.504608e-005 +6.070759201097128e-006 9.340561e-001 3.300000e+000 2.699646e-003 +6.080524826097127e-006 9.580173e-001 3.300000e+000 8.040142e-003 +6.090290451097127e-006 9.785136e-001 3.300000e+000 1.435618e-002 +6.100056076097127e-006 9.957291e-001 3.300000e+000 2.153028e-002 +6.109821701097126e-006 1.010212e+000 3.300000e+000 2.936827e-002 +6.119587326097126e-006 1.022370e+000 3.300000e+000 3.782445e-002 +6.129352951097125e-006 1.032530e+000 3.300000e+000 4.715455e-002 +6.139118576097125e-006 1.040992e+000 3.300000e+000 5.793105e-002 +6.148884201097125e-006 1.048085e+000 3.300000e+000 7.048404e-002 +6.158649826097124e-006 1.054175e+000 3.300000e+000 8.405972e-002 +6.168415451097124e-006 1.059620e+000 3.300000e+000 9.707891e-002 +6.178181076097123e-006 1.064703e+000 3.300000e+000 1.085294e-001 +6.187946701097123e-006 1.069589e+000 3.300000e+000 1.185735e-001 +6.197712326097123e-006 1.074346e+000 3.300000e+000 1.278674e-001 +6.207477951097122e-006 1.078985e+000 3.300000e+000 1.369024e-001 +6.217243576097122e-006 1.083498e+000 3.300000e+000 1.459077e-001 +6.227009201097121e-006 1.087873e+000 3.300000e+000 1.549549e-001 +6.236774826097121e-006 1.092099e+000 3.300000e+000 1.640435e-001 +6.246540451097121e-006 1.096172e+000 3.300000e+000 1.731477e-001 +6.256306076097120e-006 1.100092e+000 3.300000e+000 1.822367e-001 +6.266071701097120e-006 1.103861e+000 3.300000e+000 1.912832e-001 +6.285602951097119e-006 1.110965e+000 3.300000e+000 2.091654e-001 +6.305134201097118e-006 1.117533e+000 3.300000e+000 2.266774e-001 +6.324665451097117e-006 1.123623e+000 3.300000e+000 2.437636e-001 +6.353962326097116e-006 1.131981e+000 3.300000e+000 2.685639e-001 +6.373493576097115e-006 1.137107e+000 3.300000e+000 2.845605e-001 +6.383259201097115e-006 1.140471e+000 3.300000e+000 2.924043e-001 +6.393024826097115e-006 1.148752e+000 3.300000e+000 3.001415e-001 +6.400857325046390e-006 1.163491e+000 3.300000e+000 3.062331e-001 +6.409192668237304e-006 1.187120e+000 3.300000e+000 3.125287e-001 +6.418958293237304e-006 1.219770e+000 3.300000e+000 3.196094e-001 +6.428049041288138e-006 1.252719e+000 3.300000e+000 3.258592e-001 +6.437814666288138e-006 1.289595e+000 3.300000e+000 3.321653e-001 +6.447580291288137e-006 1.327107e+000 3.300000e+000 3.380585e-001 +6.457345916288137e-006 1.364780e+000 3.300000e+000 3.435409e-001 +6.467111541288137e-006 1.402306e+000 3.300000e+000 3.486300e-001 +6.476877166288136e-006 1.439494e+000 3.300000e+000 3.533467e-001 +6.486642791288136e-006 1.476223e+000 3.300000e+000 3.577139e-001 +6.496408416288135e-006 1.512415e+000 3.300000e+000 3.617543e-001 +6.506174041288135e-006 1.548022e+000 3.300000e+000 3.654904e-001 +6.515939666288135e-006 1.583015e+000 3.300000e+000 3.689438e-001 +6.525705291288134e-006 1.617378e+000 3.300000e+000 3.721350e-001 +6.535470916288134e-006 1.651101e+000 3.300000e+000 3.750830e-001 +6.545236541288133e-006 1.684183e+000 3.300000e+000 3.778062e-001 +6.555002166288133e-006 1.716627e+000 3.300000e+000 3.803212e-001 +6.564767791288133e-006 1.748437e+000 3.300000e+000 3.826438e-001 +6.574533416288132e-006 1.779620e+000 3.300000e+000 3.847887e-001 +6.584299041288132e-006 1.810185e+000 3.300000e+000 3.867693e-001 +6.594064666288131e-006 1.840141e+000 3.300000e+000 3.885982e-001 +6.603830291288131e-006 1.869498e+000 3.300000e+000 3.902870e-001 +6.613595916288131e-006 1.898267e+000 3.300000e+000 3.918465e-001 +6.623361541288130e-006 1.926458e+000 3.300000e+000 3.932866e-001 +6.633127166288130e-006 1.954082e+000 3.300000e+000 3.946165e-001 +6.642892791288129e-006 1.981149e+000 3.300000e+000 3.958446e-001 +6.652658416288129e-006 2.007671e+000 3.300000e+000 3.969788e-001 +6.662424041288129e-006 2.033659e+000 3.300000e+000 3.980264e-001 +6.672189666288128e-006 2.059122e+000 3.300000e+000 3.989940e-001 +6.681955291288128e-006 2.084072e+000 3.300000e+000 3.998878e-001 +6.691720916288128e-006 2.108519e+000 3.300000e+000 4.007134e-001 +6.701486541288127e-006 2.132472e+000 3.300000e+000 4.014763e-001 +6.711252166288127e-006 2.155942e+000 3.300000e+000 4.021811e-001 +6.721017791288126e-006 2.178939e+000 3.300000e+000 4.028324e-001 +6.730783416288126e-006 2.201473e+000 3.300000e+000 4.034342e-001 +6.740549041288126e-006 2.223551e+000 3.300000e+000 4.039905e-001 +6.750314666288125e-006 2.245185e+000 3.300000e+000 4.045047e-001 +6.760080291288125e-006 2.266383e+000 3.300000e+000 4.049801e-001 +6.769845916288124e-006 2.287154e+000 3.300000e+000 4.054196e-001 +6.779611541288124e-006 2.307506e+000 3.300000e+000 4.058260e-001 +6.789377166288124e-006 2.327448e+000 3.300000e+000 4.062019e-001 +6.799142791288123e-006 2.346989e+000 3.300000e+000 4.065495e-001 +6.808908416288123e-006 2.366136e+000 3.300000e+000 4.068712e-001 +6.818674041288122e-006 2.384898e+000 3.300000e+000 4.071688e-001 +6.828439666288122e-006 2.403282e+000 3.300000e+000 4.074442e-001 +6.838205291288122e-006 2.421296e+000 3.300000e+000 4.076992e-001 +6.847970916288121e-006 2.438947e+000 3.300000e+000 4.079352e-001 +6.857736541288121e-006 2.456244e+000 3.300000e+000 4.081538e-001 +6.867502166288120e-006 2.473192e+000 3.300000e+000 4.083562e-001 +6.877267791288120e-006 2.489799e+000 3.300000e+000 4.085437e-001 +6.887033416288120e-006 2.506073e+000 3.300000e+000 4.087175e-001 +6.896799041288119e-006 2.522019e+000 3.300000e+000 4.088786e-001 +6.906564666288119e-006 2.537645e+000 3.300000e+000 4.090279e-001 +6.916330291288118e-006 2.552956e+000 3.300000e+000 4.091663e-001 +6.926095916288118e-006 2.567960e+000 3.300000e+000 4.092948e-001 +6.935861541288118e-006 2.582661e+000 3.300000e+000 4.094139e-001 +6.945627166288117e-006 2.597068e+000 3.300000e+000 4.095246e-001 +6.955392791288117e-006 2.611185e+000 3.300000e+000 4.096273e-001 +6.965158416288116e-006 2.625018e+000 3.300000e+000 4.097226e-001 +6.974924041288116e-006 2.638573e+000 3.300000e+000 4.098112e-001 +6.984689666288116e-006 2.651856e+000 3.300000e+000 4.098936e-001 +6.994455291288115e-006 2.664871e+000 3.300000e+000 4.099701e-001 +7.004220916288115e-006 2.677626e+000 3.300000e+000 4.100413e-001 +7.013986541288114e-006 2.690124e+000 3.300000e+000 4.101076e-001 +7.023752166288114e-006 2.702371e+000 3.300000e+000 4.101692e-001 +7.033517791288114e-006 2.714372e+000 3.300000e+000 4.102267e-001 +7.043283416288113e-006 2.726132e+000 3.300000e+000 4.102802e-001 +7.053049041288113e-006 2.737655e+000 3.300000e+000 4.103300e-001 +7.062814666288112e-006 2.748948e+000 3.300000e+000 4.103765e-001 +7.072580291288112e-006 2.760013e+000 3.300000e+000 4.104199e-001 +7.082345916288112e-006 2.770856e+000 3.300000e+000 4.104604e-001 +7.092111541288111e-006 2.781481e+000 3.300000e+000 4.104982e-001 +7.101877166288111e-006 2.791893e+000 3.300000e+000 4.105335e-001 +7.121408416288110e-006 2.812093e+000 3.300000e+000 4.105975e-001 +7.140939666288109e-006 2.831491e+000 3.300000e+000 4.106535e-001 +7.160470916288108e-006 2.850117e+000 3.300000e+000 4.107027e-001 +7.180002166288108e-006 2.868003e+000 3.300000e+000 4.107460e-001 +7.199533416288107e-006 2.885177e+000 3.300000e+000 4.107842e-001 +7.219064666288106e-006 2.901669e+000 3.300000e+000 4.108180e-001 +7.238595916288105e-006 2.917504e+000 3.300000e+000 4.108481e-001 +7.258127166288104e-006 2.932711e+000 3.300000e+000 4.108748e-001 +7.277658416288104e-006 2.947313e+000 3.300000e+000 4.108987e-001 +7.297189666288103e-006 2.961334e+000 3.300000e+000 4.109201e-001 +7.316720916288102e-006 2.974798e+000 3.300000e+000 4.109392e-001 +7.336252166288101e-006 2.987726e+000 3.300000e+000 4.109566e-001 +7.355783416288100e-006 3.000141e+000 3.300000e+000 4.109722e-001 +7.375314666288100e-006 3.012062e+000 3.300000e+000 4.109864e-001 +7.394845916288099e-006 3.023509e+000 3.300000e+000 4.109993e-001 +7.414377166288098e-006 3.034501e+000 3.300000e+000 4.110111e-001 +7.443674041288097e-006 3.050176e+000 3.300000e+000 4.110269e-001 +7.472970916288096e-006 3.064925e+000 3.300000e+000 4.110408e-001 +7.502267791288094e-006 3.078803e+000 3.300000e+000 4.110531e-001 +7.531564666288093e-006 3.091862e+000 3.300000e+000 4.110641e-001 +7.560861541288092e-006 3.104150e+000 3.300000e+000 4.110740e-001 +7.590158416288091e-006 3.115712e+000 3.300000e+000 4.110828e-001 +7.619455291288090e-006 3.126593e+000 3.300000e+000 4.110908e-001 +7.643171809145232e-006 3.134883e+000 3.300000e+000 4.110967e-001 +7.666888327002373e-006 3.142819e+000 3.300000e+000 4.111022e-001 +7.690604844859516e-006 3.150399e+000 3.300000e+000 4.111074e-001 +7.714321362716658e-006 3.157624e+000 3.300000e+000 4.111122e-001 +7.738037880573799e-006 3.164494e+000 3.300000e+000 4.111167e-001 +7.761754398430942e-006 3.171009e+000 3.300000e+000 4.111208e-001 +7.785470916288084e-006 3.177169e+000 3.300000e+000 4.111246e-001 +7.813372702002369e-006 3.184035e+000 3.300000e+000 4.111289e-001 +7.841274487716653e-006 3.190563e+000 3.300000e+000 4.111328e-001 +7.869176273430938e-006 3.196753e+000 3.300000e+000 4.111365e-001 +7.897078059145222e-006 3.202605e+000 3.300000e+000 4.111400e-001 +7.924979844859507e-006 3.208119e+000 3.300000e+000 4.111432e-001 +7.952881630573791e-006 3.213294e+000 3.300000e+000 4.111462e-001 +7.980783416288076e-006 3.218132e+000 3.300000e+000 4.111489e-001 +7.990549041288075e-006 3.219783e+000 3.300000e+000 4.111499e-001 +7.991549041288076e-006 3.219950e+000 3.300000e+000 4.111499e-001 +7.993549041288077e-006 3.220282e+000 3.300000e+000 4.111501e-001 +7.995999999999998e-006 3.220687e+000 3.300000e+000 4.111504e-001 +7.996999999999998e-006 3.220851e+000 3.300000e+000 4.111505e-001 +7.997999999999999e-006 3.221016e+000 3.300000e+000 4.111505e-001 +7.998999999999999e-006 3.221179e+000 3.300000e+000 4.111506e-001 +8.000000000000000e-006 3.221342e+000 3.300000e+000 4.111507e-001 +8.000014369340110e-006 3.221344e+000 3.252581e+000 4.111507e-001 +8.000043108020334e-006 3.221345e+000 3.157743e+000 4.111507e-001 +8.000100585380780e-006 3.221328e+000 2.968068e+000 4.111508e-001 +8.000177509257571e-006 3.221257e+000 2.714219e+000 4.111508e-001 +8.000256232011530e-006 3.221102e+000 2.454434e+000 4.111508e-001 +8.000338549162782e-006 3.220830e+000 2.182788e+000 4.111508e-001 +8.000413985452349e-006 3.220446e+000 1.933848e+000 4.111508e-001 +8.000542746847255e-006 3.219471e+000 1.508935e+000 4.111508e-001 +8.000742477210186e-006 3.217291e+000 8.498252e-001 4.111508e-001 +8.001000000000000e-006 3.213742e+000 0.000000e+000 4.111508e-001 +8.001025752278982e-006 3.213291e+000 0.000000e+000 4.111508e-001 +8.001077256836945e-006 3.212373e+000 0.000000e+000 4.111508e-001 +8.001180265952871e-006 3.210515e+000 0.000000e+000 4.111508e-001 +8.001383911964856e-006 3.206926e+000 0.000000e+000 4.111509e-001 +8.001591287375885e-006 3.203550e+000 0.000000e+000 4.111509e-001 +8.001806594328829e-006 3.200472e+000 0.000000e+000 4.111509e-001 +8.002014995973893e-006 3.197931e+000 0.000000e+000 4.111509e-001 +8.002260964162332e-006 3.195392e+000 0.000000e+000 4.111510e-001 +8.002536527592794e-006 3.192962e+000 0.000000e+000 4.111510e-001 +8.002890495606147e-006 3.190235e+000 0.000000e+000 4.111510e-001 +8.003338807197161e-006 3.187093e+000 0.000000e+000 4.111511e-001 +8.004031499930795e-006 3.182465e+000 0.000000e+000 4.111512e-001 +8.004899875705417e-006 3.176741e+000 0.000000e+000 4.111513e-001 +8.006364250124709e-006 3.167106e+000 0.000000e+000 4.111515e-001 +8.008050559682252e-006 3.156043e+000 0.000000e+000 4.111517e-001 +8.011423178797334e-006 3.134067e+000 0.000000e+000 4.111521e-001 +8.018168417027500e-006 3.090605e+000 0.000000e+000 4.111524e-001 +8.027934042027499e-006 3.028640e+000 0.000000e+000 4.111514e-001 +8.047465292027498e-006 2.908226e+000 0.000000e+000 4.111441e-001 +8.057230917027498e-006 2.849828e+000 0.000000e+000 4.111375e-001 +8.076762167027497e-006 2.736523e+000 0.000000e+000 4.111186e-001 +8.096293417027496e-006 2.627720e+000 0.000000e+000 4.110923e-001 +8.115824667027496e-006 2.523237e+000 0.000000e+000 4.110588e-001 +8.135355917027495e-006 2.422901e+000 0.000000e+000 4.110182e-001 +8.154887167027494e-006 2.326547e+000 0.000000e+000 4.109703e-001 +8.174418417027493e-006 2.234018e+000 0.000000e+000 4.109148e-001 +8.193949667027492e-006 2.145164e+000 0.000000e+000 4.108513e-001 +8.213480917027492e-006 2.059845e+000 0.000000e+000 4.107790e-001 +8.223246542027491e-006 2.018469e+000 0.000000e+000 4.107394e-001 +8.233012167027491e-006 1.977928e+000 0.000000e+000 4.106972e-001 +8.242777792027491e-006 1.938208e+000 0.000000e+000 4.106523e-001 +8.252543417027490e-006 1.899292e+000 0.000000e+000 4.106045e-001 +8.262309042027490e-006 1.861170e+000 0.000000e+000 4.105537e-001 +8.272074667027489e-006 1.823826e+000 0.000000e+000 4.104996e-001 +8.281840292027489e-006 1.787250e+000 0.000000e+000 4.104420e-001 +8.291605917027489e-006 1.751431e+000 0.000000e+000 4.103805e-001 +8.301371542027488e-006 1.716359e+000 0.000000e+000 4.103149e-001 +8.311137167027488e-006 1.682024e+000 0.000000e+000 4.102447e-001 +8.320902792027487e-006 1.648420e+000 0.000000e+000 4.101695e-001 +8.330668417027487e-006 1.615541e+000 0.000000e+000 4.100889e-001 +8.340434042027487e-006 1.583383e+000 0.000000e+000 4.100022e-001 +8.350199667027486e-006 1.551944e+000 0.000000e+000 4.099089e-001 +8.359965292027486e-006 1.521223e+000 0.000000e+000 4.098080e-001 +8.369730917027485e-006 1.491226e+000 0.000000e+000 4.096989e-001 +8.379496542027485e-006 1.461958e+000 0.000000e+000 4.095804e-001 +8.389262167027485e-006 1.433430e+000 0.000000e+000 4.094514e-001 +8.399027792027484e-006 1.405660e+000 0.000000e+000 4.093103e-001 +8.408793417027484e-006 1.378670e+000 0.000000e+000 4.091557e-001 +8.418559042027483e-006 1.352489e+000 0.000000e+000 4.089854e-001 +8.428324667027483e-006 1.327160e+000 0.000000e+000 4.087971e-001 +8.438090292027483e-006 1.302735e+000 0.000000e+000 4.085879e-001 +8.447855917027482e-006 1.279284e+000 0.000000e+000 4.083544e-001 +8.457621542027482e-006 1.256899e+000 0.000000e+000 4.080923e-001 +8.467387167027481e-006 1.235702e+000 0.000000e+000 4.077964e-001 +8.477152792027481e-006 1.215855e+000 0.000000e+000 4.074604e-001 +8.486918417027481e-006 1.197580e+000 0.000000e+000 4.070759e-001 +8.496684042027480e-006 1.181185e+000 0.000000e+000 4.066327e-001 +8.506449667027480e-006 1.167109e+000 0.000000e+000 4.061171e-001 +8.516215292027479e-006 1.155979e+000 0.000000e+000 4.055111e-001 +8.525980917027479e-006 1.148685e+000 0.000000e+000 4.047903e-001 +8.535746542027479e-006 1.145391e+000 0.000000e+000 4.039237e-001 +8.545512167027478e-006 1.144487e+000 0.000000e+000 4.028809e-001 +8.555277792027478e-006 1.144124e+000 0.000000e+000 4.016442e-001 +8.565043417027477e-006 1.143710e+000 0.000000e+000 4.002123e-001 +8.574809042027477e-006 1.143249e+000 0.000000e+000 3.985947e-001 +8.584574667027477e-006 1.142742e+000 0.000000e+000 3.968038e-001 +8.594340292027476e-006 1.142194e+000 0.000000e+000 3.948518e-001 +8.604105917027476e-006 1.141605e+000 0.000000e+000 3.927501e-001 +8.613871542027475e-006 1.140979e+000 0.000000e+000 3.905091e-001 +8.633402792027475e-006 1.139621e+000 0.000000e+000 3.856459e-001 +8.652934042027474e-006 1.138132e+000 0.000000e+000 3.803270e-001 +8.672465292027473e-006 1.136520e+000 0.000000e+000 3.746049e-001 +8.701762167027472e-006 1.133887e+000 0.000000e+000 3.653536e-001 +8.731059042027471e-006 1.131003e+000 0.000000e+000 3.553861e-001 +8.749195202741756e-006 1.129113e+000 0.000000e+000 3.489003e-001 +8.767331363456040e-006 1.127106e+000 0.000000e+000 3.421574e-001 +8.785467524170326e-006 1.124982e+000 0.000000e+000 3.351576e-001 +8.803603684884610e-006 1.122741e+000 0.000000e+000 3.279008e-001 +8.821739845598896e-006 1.120385e+000 0.000000e+000 3.203870e-001 +8.839876006313180e-006 1.117911e+000 0.000000e+000 3.126162e-001 +8.858012167027465e-006 1.115321e+000 0.000000e+000 3.045883e-001 +8.887309042027464e-006 1.110748e+000 0.000000e+000 2.909005e-001 +8.916605917027463e-006 1.105662e+000 0.000000e+000 2.762636e-001 +8.945902792027462e-006 1.099939e+000 0.000000e+000 2.605172e-001 +8.975199667027461e-006 1.093417e+000 0.000000e+000 2.434756e-001 +9.004496542027459e-006 1.085886e+000 0.000000e+000 2.249403e-001 +9.024027792027459e-006 1.080167e+000 0.000000e+000 2.116569e-001 +9.043559042027458e-006 1.073768e+000 0.000000e+000 1.975715e-001 +9.063090292027457e-006 1.066555e+000 0.000000e+000 1.826425e-001 +9.082621542027456e-006 1.058352e+000 0.000000e+000 1.668431e-001 +9.092387167027456e-006 1.053811e+000 0.000000e+000 1.586141e-001 +9.102152792027455e-006 1.048929e+000 0.000000e+000 1.501673e-001 +9.111918417027455e-006 1.043665e+000 0.000000e+000 1.415065e-001 +9.121684042027455e-006 1.037964e+000 0.000000e+000 1.326379e-001 +9.131449667027454e-006 1.031762e+000 0.000000e+000 1.235707e-001 +9.141215292027454e-006 1.024979e+000 0.000000e+000 1.143175e-001 +9.150980917027453e-006 1.017511e+000 0.000000e+000 1.048949e-001 +9.160746542027453e-006 1.009222e+000 0.000000e+000 9.532475e-002 +9.170512167027453e-006 9.999273e-001 0.000000e+000 8.563483e-002 +9.180277792027452e-006 9.893677e-001 0.000000e+000 7.586090e-002 +9.190043417027452e-006 9.771613e-001 0.000000e+000 6.604871e-002 +9.199809042027452e-006 9.627107e-001 0.000000e+000 5.625729e-002 +9.209574667027451e-006 9.450052e-001 0.000000e+000 4.656397e-002 +9.219340292027451e-006 9.221463e-001 0.000000e+000 3.707308e-002 +9.229105917027450e-006 8.900884e-001 0.000000e+000 2.793311e-002 +9.238871542027450e-006 8.397288e-001 0.000000e+000 1.937427e-002 +9.248637167027450e-006 7.602373e-001 0.000000e+000 1.162256e-002 +9.255013376779846e-006 6.826152e-001 0.000000e+000 7.306152e-003 +9.262054097618052e-006 5.711869e-001 0.000000e+000 3.603633e-003 +9.269245385309544e-006 4.470344e-001 0.000000e+000 1.101438e-003 +9.276559697100550e-006 3.301698e-001 0.000000e+000 -3.333682e-006 +9.283604873409619e-006 2.420939e-001 0.000000e+000 1.656182e-004 +9.288411864498134e-006 2.026230e-001 0.000000e+000 8.959926e-004 +9.291374303292921e-006 1.910037e-001 0.000000e+000 1.589789e-003 +9.295179835954882e-006 1.902015e-001 0.000000e+000 2.648808e-003 +9.299003275645458e-006 2.035105e-001 0.000000e+000 3.779941e-003 +9.304923313909244e-006 2.462369e-001 0.000000e+000 5.479473e-003 +9.311049532162674e-006 3.088002e-001 0.000000e+000 6.910497e-003 +9.319179125933011e-006 4.027980e-001 0.000000e+000 7.993132e-003 +9.327315840785882e-006 4.842304e-001 0.000000e+000 7.952995e-003 +9.336433265459165e-006 5.422712e-001 0.000000e+000 6.685765e-003 +9.341527835181089e-006 5.518392e-001 0.000000e+000 5.482990e-003 +9.344957997891890e-006 5.441923e-001 0.000000e+000 4.478157e-003 +9.348082241274200e-006 5.279843e-001 0.000000e+000 3.501988e-003 +9.351235845001060e-006 5.034364e-001 0.000000e+000 2.519302e-003 +9.356115918346870e-006 4.536023e-001 0.000000e+000 1.103518e-003 +9.361775751718346e-006 3.849222e-001 0.000000e+000 -2.334115e-004 +9.369189341856841e-006 2.891908e-001 0.000000e+000 -1.333013e-003 +9.376384812108905e-006 2.036687e-001 0.000000e+000 -1.612031e-003 +9.382993153041214e-006 1.422470e-001 0.000000e+000 -1.153906e-003 +9.388316380127575e-006 1.098416e-001 0.000000e+000 -3.547913e-004 +9.391581895357098e-006 1.004350e-001 0.000000e+000 3.035712e-004 +9.395290497404237e-006 1.002265e-001 0.000000e+000 1.152348e-003 +9.398987920240535e-006 1.099643e-001 0.000000e+000 2.024472e-003 +9.404729679682955e-006 1.403589e-001 0.000000e+000 3.307587e-003 +9.410761221320959e-006 1.852303e-001 0.000000e+000 4.390612e-003 +9.418744553020509e-006 2.527496e-001 0.000000e+000 5.222286e-003 +9.426310826895537e-006 3.091950e-001 0.000000e+000 5.247422e-003 +9.435133418756473e-006 3.529441e-001 0.000000e+000 4.414554e-003 +9.440425237501484e-006 3.624815e-001 0.000000e+000 3.541376e-003 +9.443901666894097e-006 3.583669e-001 0.000000e+000 2.820316e-003 +9.447037992972903e-006 3.476971e-001 0.000000e+000 2.121706e-003 +9.450137760486139e-006 3.311140e-001 0.000000e+000 1.431662e-003 +9.455031762908716e-006 2.959566e-001 0.000000e+000 4.160810e-004 +9.460617009985270e-006 2.475189e-001 0.000000e+000 -5.271532e-004 +9.467979404080128e-006 1.785194e-001 0.000000e+000 -1.312727e-003 +9.474705363077274e-006 1.191403e-001 0.000000e+000 -1.516157e-003 +9.480584143205192e-006 7.734434e-002 0.000000e+000 -1.235403e-003 +9.486329764990731e-006 4.975737e-002 0.000000e+000 -6.109464e-004 +9.490412609154174e-006 3.989902e-002 0.000000e+000 -2.115257e-006 +9.493939672197543e-006 3.910417e-002 0.000000e+000 6.059529e-004 +9.497293834681959e-006 4.518125e-002 0.000000e+000 1.209415e-003 +9.502647340022638e-006 6.527879e-002 0.000000e+000 2.136138e-003 +9.508415719871429e-006 9.661086e-002 0.000000e+000 2.972151e-003 +9.515948604224803e-006 1.451254e-001 0.000000e+000 3.686586e-003 +9.522867700552126e-006 1.875397e-001 0.000000e+000 3.856265e-003 +9.531133254418094e-006 2.254519e-001 0.000000e+000 3.445121e-003 +9.537679295998858e-006 2.408148e-001 0.000000e+000 2.738809e-003 +9.541752036998832e-006 2.411004e-001 0.000000e+000 2.145280e-003 +9.544631507436574e-006 2.357265e-001 0.000000e+000 1.676535e-003 +9.548602196827796e-006 2.221240e-001 0.000000e+000 1.017472e-003 +9.552620274452253e-006 2.025015e-001 0.000000e+000 3.898884e-004 +9.558726956777622e-006 1.649059e-001 0.000000e+000 -4.118375e-004 +9.565105680769558e-006 1.213249e-001 0.000000e+000 -9.888575e-004 +9.571100000552764e-006 8.086433e-002 0.000000e+000 -1.217046e-003 +9.576558206670719e-006 4.881372e-002 0.000000e+000 -1.133124e-003 +9.581543483667718e-006 2.663386e-002 0.000000e+000 -8.245733e-004 +9.586190941307585e-006 1.362662e-002 0.000000e+000 -3.729237e-004 +9.590136507979004e-006 9.238940e-003 0.000000e+000 1.038770e-004 +9.594027926540957e-006 1.115557e-002 0.000000e+000 6.245832e-004 +9.597940099559124e-006 1.920043e-002 0.000000e+000 1.154962e-003 +9.603636185185911e-006 3.906710e-002 0.000000e+000 1.868677e-003 +9.609434638559992e-006 6.558524e-002 0.000000e+000 2.444930e-003 +9.616167752895890e-006 9.963711e-002 0.000000e+000 2.836277e-003 +9.623013102862949e-006 1.310284e-001 0.000000e+000 2.874038e-003 +9.630829284081014e-006 1.569231e-001 0.000000e+000 2.509844e-003 +9.636689582629028e-006 1.665088e-001 0.000000e+000 2.001543e-003 +9.640541880134227e-006 1.664492e-001 0.000000e+000 1.569995e-003 +9.643524901333552e-006 1.623256e-001 0.000000e+000 1.203251e-003 +9.647135831833412e-006 1.531737e-001 0.000000e+000 7.540212e-004 +9.651461578129491e-006 1.375219e-001 0.000000e+000 2.494161e-004 +9.657333775772101e-006 1.108009e-001 0.000000e+000 -3.195909e-004 +9.664029311597142e-006 7.696238e-002 0.000000e+000 -7.576271e-004 +9.669880378149840e-006 4.782063e-002 0.000000e+000 -9.127075e-004 +9.674836208740331e-006 2.616629e-002 0.000000e+000 -8.520972e-004 +9.679135429261025e-006 1.134341e-002 0.000000e+000 -6.622979e-004 +9.682745218858741e-006 2.444842e-003 0.000000e+000 -4.185277e-004 +9.685424333275831e-006 -1.610274e-003 0.000000e+000 -1.938124e-004 +9.688154697407375e-006 -3.162982e-003 0.000000e+000 6.585944e-005 +9.691738768808333e-006 -1.854357e-003 0.000000e+000 4.309792e-004 +9.695286193249566e-006 2.861432e-003 0.000000e+000 8.007965e-004 +9.699144966727482e-006 1.176034e-002 0.000000e+000 1.189098e-003 +9.703948397181801e-006 2.692134e-002 0.000000e+000 1.616466e-003 +9.709363693797651e-006 4.723863e-002 0.000000e+000 1.981331e-003 +9.715636723717729e-006 7.173808e-002 0.000000e+000 2.205453e-003 +9.722436282943223e-006 9.495811e-002 0.000000e+000 2.183080e-003 +9.730080354907297e-006 1.132634e-001 0.000000e+000 1.872248e-003 +9.735481417168551e-006 1.193486e-001 0.000000e+000 1.499720e-003 +9.739133625659174e-006 1.190010e-001 0.000000e+000 1.184491e-003 +9.742228576214987e-006 1.156840e-001 0.000000e+000 8.955723e-004 +9.745468744978051e-006 1.094409e-001 0.000000e+000 5.921249e-004 +9.750165496290434e-006 9.660544e-002 0.000000e+000 1.817364e-004 +9.755804193007319e-006 7.737906e-002 0.000000e+000 -2.211011e-004 +9.762895432268149e-006 5.062337e-002 0.000000e+000 -5.522115e-004 +9.768706381591761e-006 2.920482e-002 0.000000e+000 -6.524469e-004 +9.773271866233101e-006 1.448701e-002 0.000000e+000 -6.000109e-004 +9.777130112404054e-006 4.491166e-003 0.000000e+000 -4.701896e-004 +9.779913356841767e-006 -7.443833e-004 0.000000e+000 -3.298922e-004 +9.783446543893091e-006 -4.688784e-003 0.000000e+000 -1.062360e-004 +9.787405843579100e-006 -5.892690e-003 0.000000e+000 1.805139e-004 +9.791518591293409e-006 -3.533612e-003 0.000000e+000 5.007327e-004 +9.795804648603861e-006 2.559773e-003 0.000000e+000 8.353291e-004 +9.800184085931568e-006 1.203491e-002 0.000000e+000 1.151265e-003 +9.805016017490372e-006 2.521432e-002 0.000000e+000 1.437583e-003 +9.810715094840180e-006 4.235540e-002 0.000000e+000 1.660673e-003 +9.817048735073917e-006 6.060220e-002 0.000000e+000 1.739251e-003 +9.824191948259946e-006 7.666079e-002 0.000000e+000 1.611628e-003 +9.832077728313574e-006 8.692561e-002 0.000000e+000 1.267186e-003 +9.836693340961835e-006 8.827370e-002 0.000000e+000 9.858839e-004 +9.839628759419599e-006 8.642295e-002 0.000000e+000 7.811182e-004 +9.843567158392169e-006 8.116365e-002 0.000000e+000 5.007119e-004 +9.847586319782519e-006 7.324589e-002 0.000000e+000 2.325432e-004 +9.853664231107139e-006 5.791133e-002 0.000000e+000 -1.059650e-004 +9.860033248355301e-006 3.992414e-002 0.000000e+000 -3.500014e-004 +9.865542270666446e-006 2.437724e-002 0.000000e+000 -4.425145e-004 +9.870221366217663e-006 1.255054e-002 0.000000e+000 -4.221965e-004 +9.874210161100097e-006 4.243407e-003 0.000000e+000 -3.360818e-004 +9.877127323589867e-006 -2.780568e-004 0.000000e+000 -2.330310e-004 +9.880822304498913e-006 -3.877329e-003 0.000000e+000 -6.316500e-005 +9.884583114385617e-006 -5.266318e-003 0.000000e+000 1.385442e-004 +9.888389277300869e-006 -4.230871e-003 0.000000e+000 3.618215e-004 +9.892204443719832e-006 -8.499352e-004 0.000000e+000 5.911493e-004 +9.896125968081365e-006 4.760094e-003 0.000000e+000 8.182306e-004 +9.899938753445728e-006 1.197695e-002 0.000000e+000 1.013367e-003 +9.905259725855663e-006 2.377438e-002 0.000000e+000 1.224568e-003 +9.910894954710255e-006 3.677316e-002 0.000000e+000 1.351779e-003 +9.917772943771366e-006 5.107998e-002 0.000000e+000 1.358161e-003 +9.924939199671301e-006 6.208615e-002 0.000000e+000 1.211385e-003 +9.930729825425322e-006 6.682976e-002 0.000000e+000 9.930934e-004 +9.934732349350342e-006 6.731404e-002 0.000000e+000 7.993669e-004 +9.937563574866272e-006 6.592719e-002 0.000000e+000 6.485386e-004 +9.941609816569012e-006 6.187776e-002 0.000000e+000 4.296674e-004 +9.945553581873501e-006 5.603366e-002 0.000000e+000 2.300633e-004 +9.951688842309787e-006 4.435149e-002 0.000000e+000 -2.902389e-005 +9.957960678072972e-006 3.098112e-002 0.000000e+000 -2.111896e-004 +9.963459040362214e-006 1.926435e-002 0.000000e+000 -2.807191e-004 +9.968212061141169e-006 1.021402e-002 0.000000e+000 -2.641008e-004 +9.972313838995560e-006 3.835899e-003 0.000000e+000 -1.949068e-004 +9.975452639422097e-006 2.388280e-004 0.000000e+000 -1.089821e-004 +9.978864733436998e-006 -2.202233e-003 0.000000e+000 1.151158e-005 +9.982313261693814e-006 -3.129457e-003 0.000000e+000 1.528097e-004 +9.986061199278197e-006 -2.391384e-003 0.000000e+000 3.201011e-004 +9.989810861496121e-006 8.264877e-005 0.000000e+000 4.916295e-004 +9.994007463554188e-006 4.526827e-003 0.000000e+000 6.784840e-004 +9.996742951365462e-006 8.200277e-003 0.000000e+000 7.933036e-004 +9.997742951365462e-006 9.733029e-003 0.000000e+000 8.322442e-004 +9.998999999999999e-006 1.178874e-002 0.000000e+000 8.780248e-004 +9.999999999999999e-006 1.347147e-002 0.000000e+000 9.128932e-004 diff --git a/firmware/spice_sims/asymmetric_vgate.svg b/firmware/spice_sims/asymmetric_vgate.svg new file mode 100644 index 0000000..473f494 --- /dev/null +++ b/firmware/spice_sims/asymmetric_vgate.svg @@ -0,0 +1,1933 @@ +<?xml version="1.0" encoding="utf-8" standalone="no"?> +<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" + "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> +<!-- Created with matplotlib (http://matplotlib.org/) --> +<svg height="288pt" version="1.1" viewBox="0 0 432 288" width="432pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> + <defs> + <style type="text/css"> +*{stroke-linecap:butt;stroke-linejoin:round;} + </style> + </defs> + <g id="figure_1"> + <g id="patch_1"> + <path d="M 0 288 +L 432 288 +L 432 0 +L 0 0 +z +" style="fill:#ffffff;"/> + </g> + <g id="axes_1"> + <g id="patch_2"> + <path d="M 42.086 120.32 +L 418.68 120.32 +L 418.68 26.16 +L 42.086 26.16 +z +" style="fill:#ffffff;"/> + </g> + <g id="matplotlib.axis_1"> + <g id="xtick_1"> + <g id="line2d_1"> + <path clip-path="url(#pffe7941796)" d="M 59.203858 120.32 +L 59.203858 26.16 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_2"> + <defs> + <path d="M 0 0 +L 0 3.5 +" id="m368118d4a5" style="stroke:#01769d;stroke-width:0.8;"/> + </defs> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.203858" xlink:href="#m368118d4a5" y="120.32"/> + </g> + </g> + </g> + <g id="xtick_2"> + <g id="line2d_3"> + <path clip-path="url(#pffe7941796)" d="M 127.675504 120.32 +L 127.675504 26.16 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_4"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="127.675504" xlink:href="#m368118d4a5" y="120.32"/> + </g> + </g> + </g> + <g id="xtick_3"> + <g id="line2d_5"> + <path clip-path="url(#pffe7941796)" d="M 196.147151 120.32 +L 196.147151 26.16 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_6"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="196.147151" xlink:href="#m368118d4a5" y="120.32"/> + </g> + </g> + </g> + <g id="xtick_4"> + <g id="line2d_7"> + <path clip-path="url(#pffe7941796)" d="M 264.618798 120.32 +L 264.618798 26.16 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_8"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="264.618798" xlink:href="#m368118d4a5" y="120.32"/> + </g> + </g> + </g> + <g id="xtick_5"> + <g id="line2d_9"> + <path clip-path="url(#pffe7941796)" d="M 333.090444 120.32 +L 333.090444 26.16 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_10"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="333.090444" xlink:href="#m368118d4a5" y="120.32"/> + </g> + </g> + </g> + <g id="xtick_6"> + <g id="line2d_11"> + <path clip-path="url(#pffe7941796)" d="M 401.562091 120.32 +L 401.562091 26.16 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_12"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="401.562091" xlink:href="#m368118d4a5" y="120.32"/> + </g> + </g> + </g> + </g> + <g id="matplotlib.axis_2"> + <g id="ytick_1"> + <g id="line2d_13"> + <path clip-path="url(#pffe7941796)" d="M 42.086 89.55382 +L 418.68 89.55382 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_14"> + <defs> + <path d="M 0 0 +L -3.5 0 +" id="me614ab69d6" style="stroke:#01769d;stroke-width:0.8;"/> + </defs> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="42.086" xlink:href="#me614ab69d6" y="89.55382"/> + </g> + </g> + <g id="text_1"> + <!-- 0 --> + <defs> + <path d="M 31.78125 66.40625 +Q 24.171875 66.40625 20.328125 58.90625 +Q 16.5 51.421875 16.5 36.375 +Q 16.5 21.390625 20.328125 13.890625 +Q 24.171875 6.390625 31.78125 6.390625 +Q 39.453125 6.390625 43.28125 13.890625 +Q 47.125 21.390625 47.125 36.375 +Q 47.125 51.421875 43.28125 58.90625 +Q 39.453125 66.40625 31.78125 66.40625 +M 31.78125 74.21875 +Q 44.046875 74.21875 50.515625 64.515625 +Q 56.984375 54.828125 56.984375 36.375 +Q 56.984375 17.96875 50.515625 8.265625 +Q 44.046875 -1.421875 31.78125 -1.421875 +Q 19.53125 -1.421875 13.0625 8.265625 +Q 6.59375 17.96875 6.59375 36.375 +Q 6.59375 54.828125 13.0625 64.515625 +Q 19.53125 74.21875 31.78125 74.21875 +" id="DejaVuSans-30"/> + </defs> + <g style="fill:#01769d;" transform="translate(28.7235 93.353039)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + </g> + </g> + </g> + <g id="ytick_2"> + <g id="line2d_15"> + <path clip-path="url(#pffe7941796)" d="M 42.086 53.727262 +L 418.68 53.727262 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_16"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="42.086" xlink:href="#me614ab69d6" y="53.727262"/> + </g> + </g> + <g id="text_2"> + <!-- 2 --> + <defs> + <path d="M 19.1875 8.296875 +L 53.609375 8.296875 +L 53.609375 0 +L 7.328125 0 +L 7.328125 8.296875 +Q 12.9375 14.109375 22.625 23.890625 +Q 32.328125 33.6875 34.8125 36.53125 +Q 39.546875 41.84375 41.421875 45.53125 +Q 43.3125 49.21875 43.3125 52.78125 +Q 43.3125 58.59375 39.234375 62.25 +Q 35.15625 65.921875 28.609375 65.921875 +Q 23.96875 65.921875 18.8125 64.3125 +Q 13.671875 62.703125 7.8125 59.421875 +L 7.8125 69.390625 +Q 13.765625 71.78125 18.9375 73 +Q 24.125 74.21875 28.421875 74.21875 +Q 39.75 74.21875 46.484375 68.546875 +Q 53.21875 62.890625 53.21875 53.421875 +Q 53.21875 48.921875 51.53125 44.890625 +Q 49.859375 40.875 45.40625 35.40625 +Q 44.1875 33.984375 37.640625 27.21875 +Q 31.109375 20.453125 19.1875 8.296875 +" id="DejaVuSans-32"/> + </defs> + <g style="fill:#01769d;" transform="translate(28.7235 57.526481)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-32"/> + </g> + </g> + </g> + <g id="text_3"> + <!-- $V_{gate}\;(V)$ --> + <defs> + <path d="M 20.609375 0 +L 7.8125 72.90625 +L 17.484375 72.90625 +L 28.078125 10.203125 +L 63.484375 72.90625 +L 74.21875 72.90625 +L 32.078125 0 +z +" id="DejaVuSans-Oblique-56"/> + <path d="M 59.625 54.6875 +L 50.296875 6.78125 +Q 47.609375 -7.125 40.015625 -13.953125 +Q 32.421875 -20.796875 19.578125 -20.796875 +Q 14.84375 -20.796875 10.78125 -20.09375 +Q 6.734375 -19.390625 3.21875 -17.921875 +L 4.890625 -9.1875 +Q 8.203125 -11.328125 11.90625 -12.34375 +Q 15.625 -13.375 19.828125 -13.375 +Q 28.375 -13.375 33.859375 -8.703125 +Q 39.359375 -4.046875 41.109375 4.6875 +L 41.890625 8.796875 +Q 38.140625 4.5 33.15625 2.25 +Q 28.171875 0 22.40625 0 +Q 14.109375 0 9.34375 5.484375 +Q 4.59375 10.984375 4.59375 20.609375 +Q 4.59375 28.171875 7.46875 35.421875 +Q 10.359375 42.671875 15.578125 48.296875 +Q 19.046875 52 23.65625 54 +Q 28.265625 56 33.296875 56 +Q 38.8125 56 42.90625 53.4375 +Q 47.015625 50.875 49.03125 46.1875 +L 50.59375 54.6875 +z +M 46.09375 34.625 +Q 46.09375 41.265625 42.96875 44.875 +Q 39.84375 48.484375 34.078125 48.484375 +Q 30.515625 48.484375 27.296875 47.0625 +Q 24.078125 45.65625 21.78125 43.109375 +Q 18.0625 38.921875 15.984375 33.234375 +Q 13.921875 27.546875 13.921875 21.484375 +Q 13.921875 14.75 17.0625 11.125 +Q 20.21875 7.515625 26.125 7.515625 +Q 34.671875 7.515625 40.375 15.25 +Q 46.09375 23 46.09375 34.625 +" id="DejaVuSans-Oblique-67"/> + <path d="M 53.71875 31.203125 +L 47.609375 0 +L 38.625 0 +L 40.28125 8.296875 +Q 36.328125 3.421875 31.265625 1 +Q 26.21875 -1.421875 20.015625 -1.421875 +Q 13.03125 -1.421875 8.5625 2.84375 +Q 4.109375 7.125 4.109375 13.8125 +Q 4.109375 23.390625 11.75 28.953125 +Q 19.390625 34.515625 32.8125 34.515625 +L 45.3125 34.515625 +L 45.796875 36.921875 +Q 45.90625 37.3125 45.953125 37.765625 +Q 46 38.234375 46 39.203125 +Q 46 43.5625 42.453125 45.96875 +Q 38.921875 48.390625 32.515625 48.390625 +Q 28.125 48.390625 23.5 47.265625 +Q 18.890625 46.140625 14.015625 43.890625 +L 15.578125 52.203125 +Q 20.65625 54.109375 25.515625 55.046875 +Q 30.375 56 34.90625 56 +Q 44.578125 56 49.625 51.796875 +Q 54.6875 47.609375 54.6875 39.59375 +Q 54.6875 37.984375 54.4375 35.8125 +Q 54.203125 33.640625 53.71875 31.203125 +M 44 27.484375 +L 35.015625 27.484375 +Q 23.96875 27.484375 18.671875 24.53125 +Q 13.375 21.578125 13.375 15.375 +Q 13.375 11.078125 16.078125 8.640625 +Q 18.796875 6.203125 23.578125 6.203125 +Q 30.90625 6.203125 36.375 11.453125 +Q 41.84375 16.703125 43.609375 25.484375 +z +" id="DejaVuSans-Oblique-61"/> + <path d="M 42.28125 54.6875 +L 40.921875 47.703125 +L 23 47.703125 +L 17.1875 18.015625 +Q 16.890625 16.359375 16.75 15.234375 +Q 16.609375 14.109375 16.609375 13.484375 +Q 16.609375 10.359375 18.484375 8.9375 +Q 20.359375 7.515625 24.515625 7.515625 +L 33.59375 7.515625 +L 32.078125 0 +L 23.484375 0 +Q 15.484375 0 11.546875 3.125 +Q 7.625 6.25 7.625 12.59375 +Q 7.625 13.71875 7.765625 15.0625 +Q 7.90625 16.40625 8.203125 18.015625 +L 14.015625 47.703125 +L 6.390625 47.703125 +L 7.8125 54.6875 +L 15.28125 54.6875 +L 18.3125 70.21875 +L 27.296875 70.21875 +L 24.3125 54.6875 +z +" id="DejaVuSans-Oblique-74"/> + <path d="M 48.09375 32.234375 +Q 48.25 33.015625 48.3125 33.84375 +Q 48.390625 34.671875 48.390625 35.5 +Q 48.390625 41.453125 44.890625 44.921875 +Q 41.40625 48.390625 35.40625 48.390625 +Q 28.71875 48.390625 23.578125 44.15625 +Q 18.453125 39.9375 15.828125 32.171875 +z +M 55.90625 25.203125 +L 14.109375 25.203125 +Q 13.8125 23.34375 13.71875 22.265625 +Q 13.625 21.1875 13.625 20.40625 +Q 13.625 13.625 17.796875 9.90625 +Q 21.96875 6.203125 29.59375 6.203125 +Q 35.453125 6.203125 40.671875 7.515625 +Q 45.90625 8.84375 50.390625 11.375 +L 48.6875 2.484375 +Q 43.84375 0.53125 38.6875 -0.4375 +Q 33.546875 -1.421875 28.21875 -1.421875 +Q 16.84375 -1.421875 10.71875 4.015625 +Q 4.59375 9.46875 4.59375 19.484375 +Q 4.59375 28.03125 7.640625 35.375 +Q 10.6875 42.71875 16.609375 48.484375 +Q 20.40625 52.09375 25.65625 54.046875 +Q 30.90625 56 36.8125 56 +Q 46.09375 56 51.578125 50.4375 +Q 57.078125 44.875 57.078125 35.5 +Q 57.078125 33.25 56.78125 30.6875 +Q 56.5 28.125 55.90625 25.203125 +" id="DejaVuSans-Oblique-65"/> + <path d="M 31 75.875 +Q 24.46875 64.65625 21.28125 53.65625 +Q 18.109375 42.671875 18.109375 31.390625 +Q 18.109375 20.125 21.3125 9.0625 +Q 24.515625 -2 31 -13.1875 +L 23.1875 -13.1875 +Q 15.875 -1.703125 12.234375 9.375 +Q 8.59375 20.453125 8.59375 31.390625 +Q 8.59375 42.28125 12.203125 53.3125 +Q 15.828125 64.359375 23.1875 75.875 +z +" id="DejaVuSans-28"/> + <path d="M 8.015625 75.875 +L 15.828125 75.875 +Q 23.140625 64.359375 26.78125 53.3125 +Q 30.421875 42.28125 30.421875 31.390625 +Q 30.421875 20.453125 26.78125 9.375 +Q 23.140625 -1.703125 15.828125 -13.1875 +L 8.015625 -13.1875 +Q 14.5 -2 17.703125 9.0625 +Q 20.90625 20.125 20.90625 31.390625 +Q 20.90625 42.671875 17.703125 53.65625 +Q 14.5 64.65625 8.015625 75.875 +" id="DejaVuSans-29"/> + </defs> + <g style="fill:#01769d;" transform="translate(21.6235 93.39)rotate(-90)scale(0.1 -0.1)"> + <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> + <use transform="translate(68.408203 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-67"/> + <use transform="translate(112.841797 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-61"/> + <use transform="translate(155.737305 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-74"/> + <use transform="translate(183.183594 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-65"/> + <use transform="translate(256.043511 0.125)" xlink:href="#DejaVuSans-28"/> + <use transform="translate(295.057183 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> + <use transform="translate(363.465386 0.125)" xlink:href="#DejaVuSans-29"/> + </g> + </g> + </g> + <g id="line2d_17"> + <path clip-path="url(#pffe7941796)" d="M 59.203909 30.44 +L 59.226984 30.522741 +L 59.296153 32.147924 +L 59.634489 38.463985 +L 60.353952 48.984991 +L 61.356955 60.239868 +L 62.299267 67.667233 +L 62.688425 69.408654 +L 62.864138 69.63472 +L 63.482756 69.694425 +L 65.154427 69.899962 +L 66.15743 70.174304 +L 66.826098 70.491601 +L 67.494767 71.026349 +L 67.829101 71.455372 +L 68.163435 72.146763 +L 68.497769 73.522938 +L 68.729218 75.675244 +L 69.037948 83.596924 +L 69.849754 113.408826 +L 70.061051 116.031939 +L 70.253844 115.61576 +L 70.595972 109.016562 +L 71.584688 75.09482 +L 71.760601 73.838746 +L 71.904685 73.9465 +L 72.183 75.213203 +L 72.563868 79.499908 +L 73.598754 98.576045 +L 73.830336 99.894825 +L 74.022764 99.728906 +L 74.300889 97.450884 +L 75.548607 82.019155 +L 75.778078 82.003984 +L 76.07273 83.647149 +L 77.320656 94.460246 +L 77.533365 94.515839 +L 77.822954 93.46582 +L 78.37527 89.315943 +L 78.83517 86.450113 +L 79.057571 85.837157 +L 79.296835 85.772812 +L 79.601587 86.569889 +L 80.138814 89.462269 +L 80.526763 91.275615 +L 80.735563 91.801722 +L 80.996268 92.013371 +L 81.187316 91.855082 +L 81.54443 90.833716 +L 82.28662 88.13742 +L 82.494298 87.762708 +L 82.769446 87.615904 +L 83.106941 87.973129 +L 83.639619 89.397274 +L 84.044829 90.37288 +L 84.261478 90.655493 +L 84.50109 90.769387 +L 84.820585 90.57112 +L 85.210966 89.888189 +L 85.742604 88.896847 +L 86.197748 88.541292 +L 86.569989 88.669155 +L 87.107656 89.364821 +L 87.698719 90.038918 +L 88.121903 90.131708 +L 88.518969 89.898812 +L 89.424862 89.094632 +L 89.88346 89.016636 +L 90.302979 89.19638 +L 91.361003 89.807848 +L 91.876715 89.767624 +L 93.384809 89.254466 +L 94.119053 89.456784 +L 94.870268 89.65958 +L 95.653976 89.580707 +L 96.724976 89.377982 +L 97.714767 89.497218 +L 98.742019 89.587346 +L 101.280952 89.509528 +L 102.633975 89.532954 +L 104.597188 89.501546 +L 106.770414 89.505384 +L 111.493786 89.512072 +L 120.52081 89.524307 +L 127.731352 89.441116 +L 127.773947 87.923516 +L 128.082285 70.182472 +L 128.126061 70.200529 +L 128.31646 70.245688 +L 128.73031 70.025086 +L 130.323629 68.576976 +L 130.530948 66.996595 +L 131.587571 56.474479 +L 132.444029 50.158919 +L 133.447031 44.664791 +L 134.450034 40.706118 +L 135.453036 37.850491 +L 136.456039 35.789568 +L 137.459042 34.301888 +L 138.462044 33.227915 +L 139.465047 32.452539 +L 140.802384 31.743191 +L 142.139721 31.283787 +L 143.811392 30.93 +L 146.151731 30.668878 +L 149.829408 30.509127 +L 157.853429 30.445034 +L 196.163361 30.472333 +L 196.21467 31.483538 +L 196.540983 37.855865 +L 197.194608 47.612153 +L 198.197611 59.252775 +L 199.16326 67.170569 +L 199.58156 69.281201 +L 199.743111 69.596027 +L 200.086657 69.67549 +L 201.944154 69.87105 +L 203.281491 70.245813 +L 203.950159 70.607984 +L 204.618828 71.237887 +L 204.953162 71.777839 +L 205.287496 72.830497 +L 205.62183 75.162158 +L 205.791636 77.893438 +L 206.209676 92.865306 +L 206.615508 108.852243 +L 207.012134 116.04 +L 207.204564 115.536798 +L 207.544528 108.874617 +L 208.539116 74.958297 +L 208.711882 73.821094 +L 208.850614 73.949368 +L 209.128144 75.206808 +L 209.494694 79.272675 +L 210.537336 98.528794 +L 210.765532 99.882285 +L 210.957186 99.765435 +L 211.239312 97.511248 +L 212.483492 82.048231 +L 212.717312 81.999434 +L 213.0147 83.632287 +L 214.251513 94.432344 +L 214.469225 94.522535 +L 214.763169 93.486202 +L 215.316832 89.334488 +L 215.77289 86.474993 +L 215.994249 85.850844 +L 216.237016 85.771578 +L 216.544016 86.566199 +L 217.100091 89.556404 +L 217.510449 91.40294 +L 217.719379 91.875958 +L 217.964721 92.013053 +L 218.14729 91.827581 +L 218.486372 90.840551 +L 219.243928 88.105493 +L 219.454973 87.743542 +L 219.73353 87.623551 +L 220.064896 88.002348 +L 220.70869 89.744744 +L 220.989219 90.373664 +L 221.207784 90.656947 +L 221.44858 90.768976 +L 221.767057 90.568002 +L 222.158266 89.881603 +L 222.692766 88.888383 +L 223.150638 88.541041 +L 223.52058 88.674599 +L 224.057816 89.373567 +L 224.650798 90.043753 +L 225.071797 90.130859 +L 225.466545 89.895753 +L 226.367564 89.095336 +L 226.826525 89.016538 +L 227.246348 89.195906 +L 228.299776 89.807103 +L 228.815774 89.769292 +L 230.324552 89.254321 +L 231.06168 89.456311 +L 231.797708 89.658175 +L 232.578147 89.585751 +L 233.579336 89.382515 +L 234.475103 89.461227 +L 235.67371 89.587995 +L 238.219524 89.508941 +L 239.585022 89.532567 +L 241.542575 89.501596 +L 243.714572 89.505405 +L 248.437643 89.512071 +L 257.464667 89.524315 +L 264.674643 89.441147 +L 264.717213 87.925091 +L 265.025426 70.182741 +L 265.069134 70.200242 +L 265.2594 70.245724 +L 265.673246 70.025355 +L 267.267091 68.575812 +L 267.474519 66.993711 +L 268.527527 56.502656 +L 269.381481 50.196555 +L 270.384483 44.691894 +L 271.387486 40.725661 +L 272.390488 37.864588 +L 273.393491 35.79976 +L 274.396494 34.309232 +L 275.399496 33.233218 +L 276.402499 32.456372 +L 277.739836 31.745681 +L 279.077173 31.285399 +L 280.748844 30.930931 +L 283.089183 30.669308 +L 286.76686 30.509253 +L 294.790881 30.445052 +L 333.107157 30.475235 +L 333.158631 31.501756 +L 333.490673 37.962162 +L 334.160206 47.914368 +L 335.163208 59.470242 +L 336.12366 67.280449 +L 336.535659 69.311098 +L 336.698782 69.605611 +L 337.056306 69.676726 +L 338.922558 69.877445 +L 340.259895 70.260789 +L 340.928563 70.632597 +L 341.597232 71.284103 +L 341.931566 71.852402 +L 342.2659 73.026459 +L 342.600234 75.694771 +L 342.920918 83.406413 +L 343.723164 113.072862 +L 343.929408 115.85234 +L 344.125571 115.668586 +L 344.475309 109.238776 +L 345.639307 73.920914 +L 345.804697 73.999892 +L 346.093061 75.369339 +L 346.456958 79.596726 +L 347.488886 98.588646 +L 347.721348 99.884892 +L 347.913657 99.696333 +L 348.189947 97.412418 +L 349.439066 82.017858 +L 349.666734 82.016396 +L 349.96025 83.661503 +L 351.21273 94.464305 +L 351.423401 94.505975 +L 351.711181 93.452024 +L 352.262915 89.308678 +L 352.724383 86.444215 +L 352.947203 85.836686 +L 353.185048 85.778382 +L 353.488889 86.576205 +L 354.136187 90.067074 +L 354.413125 91.272306 +L 354.622071 91.79851 +L 354.882471 92.010397 +L 355.073444 91.852923 +L 355.43095 90.832381 +L 356.171146 88.144232 +L 356.378306 87.768105 +L 356.652938 87.617398 +L 356.991336 87.970603 +L 357.52303 89.388289 +L 357.930991 90.370963 +L 358.147318 90.653407 +L 358.386615 90.767836 +L 358.706384 90.570718 +L 359.096522 89.88975 +L 359.627332 88.900214 +L 360.081716 88.542656 +L 360.454626 88.668638 +L 360.815204 89.104577 +L 361.431826 89.919597 +L 361.860375 90.138421 +L 362.289468 89.994971 +L 363.548795 89.017728 +L 363.952938 89.067927 +L 364.633588 89.519057 +L 365.031659 89.748764 +L 365.493745 89.821566 +L 366.032822 89.650108 +L 367.01464 89.260783 +L 367.719506 89.350712 +L 368.759053 89.659556 +L 369.54323 89.580077 +L 370.62115 89.377827 +L 371.603771 89.497601 +L 372.630337 89.587215 +L 375.168829 89.509613 +L 376.508164 89.533724 +L 378.460939 89.500381 +L 380.57853 89.507619 +L 384.973871 89.508479 +L 400.687579 89.527219 +L 401.562091 89.527375 +L 401.562091 89.527375 +" style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> + </g> + <g id="patch_3"> + <path d="M 42.086 120.32 +L 42.086 26.16 +" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_4"> + <path d="M 42.086 120.32 +L 418.68 120.32 +" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="text_4"> + <!-- No dampening --> + <defs> + <path d="M 50.40625 68.5 +Q 52.296875 72 54.1875 72.59375 +Q 56.09375 73.203125 58.9375 73.203125 +Q 61.796875 73.203125 63.546875 72.703125 +Q 65.296875 72.203125 66.140625 71.5 +Q 67 70.796875 67.40625 69.40625 +Q 68 67.796875 68 64.296875 +L 68 8.796875 +Q 68 6.40625 67.84375 5.296875 +Q 67.703125 4.203125 66.90625 2.703125 +Q 65.5 0 59.09375 0 +Q 55.203125 0 53.703125 0.59375 +Q 52.203125 1.203125 51.203125 2.5 +Q 28.703125 32.5 21.59375 41.703125 +L 21.59375 8.796875 +Q 21.59375 6.40625 21.4375 5.296875 +Q 21.296875 4.203125 20.5 2.703125 +Q 19.09375 0 12.703125 0 +Q 6.5 0 5.09375 2.703125 +Q 4.296875 4.203125 4.140625 5.390625 +Q 4 6.59375 4 8.90625 +L 4 64.703125 +Q 4 68.5 4.953125 70.25 +Q 5.90625 72 7.796875 72.59375 +Q 9.703125 73.203125 12.703125 73.203125 +Q 15.703125 73.203125 17.453125 72.640625 +Q 19.203125 72.09375 19.90625 71.40625 +Q 20.296875 71.09375 22.203125 68.796875 +Q 43.296875 40.09375 50.40625 30.90625 +L 50.40625 64.703125 +Q 50.40625 68.5 52.296875 72 +" id="FredokaOne-Regular-4e"/> + <path d="M 2.5 26.296875 +Q 2.5 38.296875 10.890625 46.09375 +Q 19.296875 53.90625 30.09375 53.90625 +Q 40.90625 53.90625 49.203125 46.15625 +Q 57.5 38.40625 57.5 26.40625 +Q 57.5 18.09375 53.203125 11.640625 +Q 48.90625 5.203125 42.75 2.140625 +Q 36.59375 -0.90625 30 -0.90625 +Q 23.40625 -0.90625 17.203125 2.34375 +Q 11 5.59375 6.75 11.9375 +Q 2.5 18.296875 2.5 26.296875 +z +M 20.203125 21.59375 +Q 26.59375 16.703125 29.890625 16.703125 +Q 33.203125 16.703125 36.5 19.203125 +Q 39.796875 21.703125 39.796875 26.59375 +Q 39.796875 31.5 36.6875 33.890625 +Q 33.59375 36.296875 30 36.296875 +Q 26.40625 36.296875 23.296875 33.796875 +Q 20.203125 31.296875 20.203125 26.4375 +Q 20.203125 21.59375 26.59375 16.703125 +" id="FredokaOne-Regular-6f"/> + <path id="FredokaOne-Regular-20"/> + <path d="M 38.59375 73.203125 +Q 40.09375 76.09375 42 76.6875 +Q 43.90625 77.296875 47.046875 77.296875 +Q 50.203125 77.296875 52.09375 76.6875 +Q 54 76.09375 54.75 74.59375 +Q 55.5 73.09375 55.640625 71.9375 +Q 55.796875 70.796875 55.796875 68.5 +L 55.796875 8.796875 +Q 55.796875 6.5 55.640625 5.34375 +Q 55.5 4.203125 54.703125 2.796875 +Q 53.203125 0.09375 46.25 0.09375 +Q 39.296875 0.09375 38.5 5 +Q 34.296875 0.203125 26.796875 0.203125 +Q 17.796875 0.203125 10.390625 8.046875 +Q 3 15.90625 3 26.34375 +Q 3 36.796875 10.453125 44.6875 +Q 17.90625 52.59375 26.796875 52.59375 +Q 34.203125 52.59375 38.296875 47.59375 +L 38.296875 68.59375 +Q 38.296875 70.90625 38.4375 72.046875 +Q 38.59375 73.203125 40.09375 76.09375 +M 20.5 23 +Q 25.703125 17.59375 29.390625 17.59375 +Q 33.09375 17.59375 35.546875 20.296875 +Q 38 23 38 26.25 +Q 38 29.5 35.640625 32.296875 +Q 33.296875 35.09375 29.296875 35.09375 +Q 25.296875 35.09375 22.890625 32.34375 +Q 20.5 29.59375 20.5 26.296875 +Q 20.5 23 25.703125 17.59375 +" id="FredokaOne-Regular-64"/> + <path d="M 38.203125 47.09375 +Q 38.796875 52.703125 46.09375 52.703125 +Q 50 52.703125 51.890625 52.09375 +Q 53.796875 51.5 54.546875 50 +Q 55.296875 48.5 55.4375 47.34375 +Q 55.59375 46.203125 55.59375 43.90625 +L 55.59375 8.90625 +Q 55.59375 6.59375 55.4375 5.4375 +Q 55.296875 4.296875 54.59375 2.796875 +Q 53.203125 0.203125 47.75 0.203125 +Q 42.296875 0.203125 40.4375 1.546875 +Q 38.59375 2.90625 38.296875 5.5 +Q 34.59375 0.203125 25.9375 0.203125 +Q 17.296875 0.203125 9.890625 8.09375 +Q 2.5 16 2.5 26.453125 +Q 2.5 36.90625 9.953125 44.75 +Q 17.40625 52.59375 26.296875 52.59375 +Q 29.703125 52.59375 32.5 51.390625 +Q 35.296875 50.203125 36.390625 49.140625 +Q 37.5 48.09375 38.203125 47.09375 +M 20 29.59375 +Q 20 23 22.59375 20.34375 +Q 25.203125 17.703125 28.890625 17.703125 +Q 32.59375 17.703125 35.046875 20.390625 +Q 37.5 23.09375 37.5 26.34375 +Q 37.5 29.59375 35.140625 32.390625 +Q 32.796875 35.203125 28.84375 35.203125 +Q 24.90625 35.203125 22.453125 32.390625 +Q 20 29.59375 20 23 +" id="FredokaOne-Regular-61"/> + <path d="M 21.203125 45.703125 +Q 25.90625 52.796875 32.5 52.796875 +Q 42.703125 52.796875 47.703125 44.09375 +Q 48.796875 45.59375 50.34375 47.25 +Q 51.90625 48.90625 55.296875 50.84375 +Q 58.703125 52.796875 62.296875 52.796875 +Q 70.296875 52.796875 75.6875 46.640625 +Q 81.09375 40.5 81.09375 26.296875 +L 81.09375 8.796875 +Q 81.09375 6.5 80.9375 5.34375 +Q 80.796875 4.203125 80 2.703125 +Q 78.703125 0 72.296875 0 +Q 66 0 64.59375 2.796875 +Q 63.90625 4.296875 63.75 5.4375 +Q 63.59375 6.59375 63.59375 8.90625 +L 63.59375 26.40625 +Q 63.59375 35.09375 57.40625 35.09375 +Q 53.90625 35.09375 52.65625 32.796875 +Q 51.40625 30.5 51.40625 26.296875 +L 51.40625 8.796875 +Q 51.40625 6.40625 51.25 5.296875 +Q 51.09375 4.203125 50.296875 2.703125 +Q 48.90625 0 42.5 0 +Q 36.203125 0 34.796875 2.796875 +Q 34.09375 4.296875 33.9375 5.4375 +Q 33.796875 6.59375 33.796875 8.90625 +L 33.796875 26.40625 +Q 33.796875 35.09375 27.59375 35.09375 +Q 21.59375 35.09375 21.59375 26.40625 +L 21.59375 8.703125 +Q 21.59375 6.40625 21.4375 5.25 +Q 21.296875 4.09375 20.5 2.59375 +Q 19 0 12.703125 0 +Q 6.40625 0 5 2.703125 +Q 4.296875 4.203125 4.140625 5.296875 +Q 4 6.40625 4 8.796875 +L 4 44 +Q 4 46.296875 4.140625 47.4375 +Q 4.296875 48.59375 5.09375 50 +Q 6.59375 52.703125 12.1875 52.703125 +Q 17.796875 52.703125 19.5 50.890625 +Q 21.203125 49.09375 21.203125 45.703125 +" id="FredokaOne-Regular-6d"/> + <path d="M 4 -14.296875 +L 4 44.09375 +Q 4 46.40625 4.140625 47.5 +Q 4.296875 48.59375 5 50 +Q 6.40625 52.703125 11.703125 52.703125 +Q 17 52.703125 18.84375 51.34375 +Q 20.703125 50 21 47.40625 +Q 24.796875 52.59375 32.9375 52.59375 +Q 41.09375 52.59375 48.390625 44.890625 +Q 55.703125 37.203125 55.703125 27 +Q 55.703125 16.796875 48.453125 9.09375 +Q 41.203125 1.40625 33 1.40625 +Q 24.796875 1.40625 21.09375 6 +L 21.09375 -14.203125 +Q 21.09375 -16.5 20.9375 -17.59375 +Q 20.796875 -18.703125 20.046875 -20.140625 +Q 19.296875 -21.59375 17.5 -22.1875 +Q 15.703125 -22.796875 12.59375 -22.796875 +Q 9.5 -22.796875 7.640625 -22.1875 +Q 5.796875 -21.59375 5.046875 -20.1875 +Q 4.296875 -18.796875 4.140625 -17.6875 +Q 4 -16.59375 4 -14.296875 +M 26.09375 35.5 +Q 21.5 30.09375 21.5 26.890625 +Q 21.5 23.703125 23.84375 21.046875 +Q 26.203125 18.40625 29.84375 18.40625 +Q 33.5 18.40625 36.046875 21 +Q 38.59375 23.59375 38.59375 26.890625 +Q 38.59375 30.203125 36.1875 32.84375 +Q 33.796875 35.5 29.9375 35.5 +Q 26.09375 35.5 21.5 30.09375 +" id="FredokaOne-Regular-70"/> + <path d="M 54.796875 38.796875 +Q 54.796875 26.5 51.75 23.546875 +Q 48.703125 20.59375 45 20.59375 +L 21.296875 20.59375 +Q 21.296875 17.796875 24.59375 15.890625 +Q 27.90625 14 31.203125 14 +Q 37 14 40.296875 15.203125 +L 41.40625 15.59375 +Q 43.796875 16.703125 45.40625 16.703125 +Q 48.59375 16.703125 50.90625 12.203125 +Q 52.203125 9.5 52.203125 7.59375 +Q 52.203125 -1.296875 30.90625 -1.296875 +Q 23.5 -1.296875 17.75 1.25 +Q 12 3.796875 8.796875 8 +Q 2.5 16.09375 2.5 26.09375 +Q 2.5 38.703125 10.640625 46.25 +Q 18.796875 53.796875 31 53.796875 +Q 44.90625 53.796875 51.40625 44 +Q 54.796875 38.796875 54.796875 26.5 +M 33.703125 29.703125 +Q 37.5 29.703125 37.5 32.90625 +Q 37.5 35.203125 35.75 36.59375 +Q 34 38 30.75 38 +Q 27.5 38 24.296875 35.34375 +Q 21.09375 32.703125 21.09375 29.703125 +z +" id="FredokaOne-Regular-65"/> + <path d="M 33.296875 52.703125 +Q 43.296875 52.703125 49.9375 45.046875 +Q 56.59375 37.40625 56.59375 26.40625 +L 56.59375 8.796875 +Q 56.59375 6.5 56.4375 5.34375 +Q 56.296875 4.203125 55.59375 2.796875 +Q 54.203125 0.09375 47.796875 0.09375 +Q 40.703125 0.09375 39.59375 3.796875 +Q 39 5.5 39 8.90625 +L 39 26.5 +Q 39 30.59375 36.640625 32.890625 +Q 34.296875 35.203125 30.34375 35.203125 +Q 26.40625 35.203125 23.953125 32.796875 +Q 21.5 30.40625 21.5 26.5 +L 21.5 8.796875 +Q 21.5 6.5 21.34375 5.34375 +Q 21.203125 4.203125 20.40625 2.796875 +Q 19.09375 0.09375 12.703125 0.09375 +Q 6.40625 0.09375 5 2.796875 +Q 4.296875 4.296875 4.140625 5.4375 +Q 4 6.59375 4 8.90625 +L 4 44.296875 +Q 4 46.5 4.140625 47.640625 +Q 4.296875 48.796875 5.09375 50.203125 +Q 6.5 52.703125 12.796875 52.703125 +Q 18.90625 52.703125 20.296875 50.40625 +Q 21.296875 48.703125 21.296875 46.296875 +Q 21.703125 47 23.09375 48.296875 +Q 24.5 49.59375 25.796875 50.40625 +Q 29.203125 52.703125 33.296875 52.703125 +" id="FredokaOne-Regular-6e"/> + <path d="M 4 43.90625 +Q 4 46.203125 4.140625 47.34375 +Q 4.296875 48.5 5 50 +Q 6.40625 52.59375 12.796875 52.59375 +Q 17.59375 52.59375 19.59375 50.90625 +Q 21.296875 49.5 21.40625 46.59375 +Q 21.5 45.59375 21.5 43.703125 +L 21.5 8.703125 +Q 21.5 6.40625 21.34375 5.25 +Q 21.203125 4.09375 20.40625 2.59375 +Q 19.09375 0 12.703125 0 +Q 6.40625 0 5 2.703125 +Q 4.296875 4.203125 4.140625 5.296875 +Q 4 6.40625 4 8.796875 +z +M 21.203125 63.90625 +Q 19.703125 61 17.796875 60.390625 +Q 15.90625 59.796875 12.75 59.796875 +Q 9.59375 59.796875 7.6875 60.390625 +Q 5.796875 61 5.046875 62.5 +Q 4.296875 64 4.140625 65.140625 +Q 4 66.296875 4 68.59375 +Q 4 70.90625 4.140625 72.046875 +Q 4.296875 73.203125 5 74.59375 +Q 6.40625 77.296875 12.796875 77.296875 +Q 19.09375 77.296875 20.40625 74.59375 +Q 21.203125 73.09375 21.34375 71.9375 +Q 21.5 70.796875 21.5 68.5 +Q 21.5 66.203125 21.34375 65.046875 +Q 21.203125 63.90625 19.703125 61 +" id="FredokaOne-Regular-69"/> + <path d="M 37.40625 6.59375 +Q 33.59375 1.59375 25.296875 1.59375 +Q 17 1.59375 9.75 9.25 +Q 2.5 16.90625 2.5 27.09375 +Q 2.5 37.296875 9.796875 45 +Q 17.09375 52.703125 25.796875 52.703125 +Q 29.203125 52.703125 32 51.453125 +Q 34.796875 50.203125 35.84375 49.140625 +Q 36.90625 48.09375 37.5 47.203125 +Q 37.796875 50 39.546875 51.453125 +Q 41.296875 52.90625 45.1875 52.90625 +Q 49.09375 52.90625 50.890625 52.296875 +Q 52.703125 51.703125 53.453125 50.25 +Q 54.203125 48.796875 54.34375 47.6875 +Q 54.5 46.59375 54.5 44.296875 +L 54.5 2.90625 +Q 54.5 -8.59375 46.5 -15.640625 +Q 38.5 -22.703125 28.5 -22.703125 +Q 20.90625 -22.703125 14 -19 +Q 7.09375 -15.296875 7.09375 -12.296875 +Q 7.09375 -8.40625 10.09375 -5.40625 +Q 12 -3.296875 13.046875 -2.5 +Q 14.09375 -1.703125 15.5 -1.703125 +Q 16.90625 -1.703125 18.40625 -2.90625 +Q 23.203125 -6.59375 28.796875 -6.59375 +Q 32.59375 -6.59375 35 -3.59375 +Q 37.40625 -0.59375 37.40625 3.59375 +z +M 19.59375 30.296875 +Q 19.59375 23.796875 22.140625 21.1875 +Q 24.703125 18.59375 28.34375 18.59375 +Q 32 18.59375 34.390625 21.25 +Q 36.796875 23.90625 36.796875 27.046875 +Q 36.796875 30.203125 34.5 32.953125 +Q 32.203125 35.703125 28.296875 35.703125 +Q 24.40625 35.703125 22 33 +Q 19.59375 30.296875 19.59375 23.796875 +" id="FredokaOne-Regular-67"/> + </defs> + <g style="fill:#fe3ea0;" transform="translate(189.434875 20.16)scale(0.12 -0.12)"> + <use xlink:href="#FredokaOne-Regular-4e"/> + <use x="71.999985" xlink:href="#FredokaOne-Regular-6f"/> + <use x="131.999969" xlink:href="#FredokaOne-Regular-20"/> + <use x="157.299957" xlink:href="#FredokaOne-Regular-64"/> + <use x="217.099945" xlink:href="#FredokaOne-Regular-61"/> + <use x="276.699936" xlink:href="#FredokaOne-Regular-6d"/> + <use x="361.799927" xlink:href="#FredokaOne-Regular-70"/> + <use x="419.999924" xlink:href="#FredokaOne-Regular-65"/> + <use x="477.299911" xlink:href="#FredokaOne-Regular-6e"/> + <use x="537.899902" xlink:href="#FredokaOne-Regular-69"/> + <use x="563.399887" xlink:href="#FredokaOne-Regular-6e"/> + <use x="623.999878" xlink:href="#FredokaOne-Regular-67"/> + </g> + </g> + </g> + <g id="axes_2"> + <g id="patch_5"> + <path d="M 42.086 243.16 +L 418.68 243.16 +L 418.68 149 +L 42.086 149 +z +" style="fill:#ffffff;"/> + </g> + <g id="matplotlib.axis_3"> + <g id="xtick_7"> + <g id="line2d_18"> + <path clip-path="url(#p5947393e86)" d="M 59.203858 243.16 +L 59.203858 149 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_19"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.203858" xlink:href="#m368118d4a5" y="243.16"/> + </g> + </g> + <g id="text_5"> + <!-- 0 --> + <g style="fill:#01769d;" transform="translate(56.022608 257.758438)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + </g> + </g> + </g> + <g id="xtick_8"> + <g id="line2d_20"> + <path clip-path="url(#p5947393e86)" d="M 127.675504 243.16 +L 127.675504 149 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_21"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="127.675504" xlink:href="#m368118d4a5" y="243.16"/> + </g> + </g> + <g id="text_6"> + <!-- 2 --> + <g style="fill:#01769d;" transform="translate(124.494254 257.758438)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-32"/> + </g> + </g> + </g> + <g id="xtick_9"> + <g id="line2d_22"> + <path clip-path="url(#p5947393e86)" d="M 196.147151 243.16 +L 196.147151 149 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_23"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="196.147151" xlink:href="#m368118d4a5" y="243.16"/> + </g> + </g> + <g id="text_7"> + <!-- 4 --> + <defs> + <path d="M 37.796875 64.3125 +L 12.890625 25.390625 +L 37.796875 25.390625 +z +M 35.203125 72.90625 +L 47.609375 72.90625 +L 47.609375 25.390625 +L 58.015625 25.390625 +L 58.015625 17.1875 +L 47.609375 17.1875 +L 47.609375 0 +L 37.796875 0 +L 37.796875 17.1875 +L 4.890625 17.1875 +L 4.890625 26.703125 +z +" id="DejaVuSans-34"/> + </defs> + <g style="fill:#01769d;" transform="translate(192.965901 257.758438)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-34"/> + </g> + </g> + </g> + <g id="xtick_10"> + <g id="line2d_24"> + <path clip-path="url(#p5947393e86)" d="M 264.618798 243.16 +L 264.618798 149 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_25"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="264.618798" xlink:href="#m368118d4a5" y="243.16"/> + </g> + </g> + <g id="text_8"> + <!-- 6 --> + <defs> + <path d="M 33.015625 40.375 +Q 26.375 40.375 22.484375 35.828125 +Q 18.609375 31.296875 18.609375 23.390625 +Q 18.609375 15.53125 22.484375 10.953125 +Q 26.375 6.390625 33.015625 6.390625 +Q 39.65625 6.390625 43.53125 10.953125 +Q 47.40625 15.53125 47.40625 23.390625 +Q 47.40625 31.296875 43.53125 35.828125 +Q 39.65625 40.375 33.015625 40.375 +M 52.59375 71.296875 +L 52.59375 62.3125 +Q 48.875 64.0625 45.09375 64.984375 +Q 41.3125 65.921875 37.59375 65.921875 +Q 27.828125 65.921875 22.671875 59.328125 +Q 17.53125 52.734375 16.796875 39.40625 +Q 19.671875 43.65625 24.015625 45.921875 +Q 28.375 48.1875 33.59375 48.1875 +Q 44.578125 48.1875 50.953125 41.515625 +Q 57.328125 34.859375 57.328125 23.390625 +Q 57.328125 12.15625 50.6875 5.359375 +Q 44.046875 -1.421875 33.015625 -1.421875 +Q 20.359375 -1.421875 13.671875 8.265625 +Q 6.984375 17.96875 6.984375 36.375 +Q 6.984375 53.65625 15.1875 63.9375 +Q 23.390625 74.21875 37.203125 74.21875 +Q 40.921875 74.21875 44.703125 73.484375 +Q 48.484375 72.75 52.59375 71.296875 +" id="DejaVuSans-36"/> + </defs> + <g style="fill:#01769d;" transform="translate(261.437548 257.758438)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-36"/> + </g> + </g> + </g> + <g id="xtick_11"> + <g id="line2d_26"> + <path clip-path="url(#p5947393e86)" d="M 333.090444 243.16 +L 333.090444 149 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_27"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="333.090444" xlink:href="#m368118d4a5" y="243.16"/> + </g> + </g> + <g id="text_9"> + <!-- 8 --> + <defs> + <path d="M 31.78125 34.625 +Q 24.75 34.625 20.71875 30.859375 +Q 16.703125 27.09375 16.703125 20.515625 +Q 16.703125 13.921875 20.71875 10.15625 +Q 24.75 6.390625 31.78125 6.390625 +Q 38.8125 6.390625 42.859375 10.171875 +Q 46.921875 13.96875 46.921875 20.515625 +Q 46.921875 27.09375 42.890625 30.859375 +Q 38.875 34.625 31.78125 34.625 +M 21.921875 38.8125 +Q 15.578125 40.375 12.03125 44.71875 +Q 8.5 49.078125 8.5 55.328125 +Q 8.5 64.0625 14.71875 69.140625 +Q 20.953125 74.21875 31.78125 74.21875 +Q 42.671875 74.21875 48.875 69.140625 +Q 55.078125 64.0625 55.078125 55.328125 +Q 55.078125 49.078125 51.53125 44.71875 +Q 48 40.375 41.703125 38.8125 +Q 48.828125 37.15625 52.796875 32.3125 +Q 56.78125 27.484375 56.78125 20.515625 +Q 56.78125 9.90625 50.3125 4.234375 +Q 43.84375 -1.421875 31.78125 -1.421875 +Q 19.734375 -1.421875 13.25 4.234375 +Q 6.78125 9.90625 6.78125 20.515625 +Q 6.78125 27.484375 10.78125 32.3125 +Q 14.796875 37.15625 21.921875 38.8125 +M 18.3125 54.390625 +Q 18.3125 48.734375 21.84375 45.5625 +Q 25.390625 42.390625 31.78125 42.390625 +Q 38.140625 42.390625 41.71875 45.5625 +Q 45.3125 48.734375 45.3125 54.390625 +Q 45.3125 60.0625 41.71875 63.234375 +Q 38.140625 66.40625 31.78125 66.40625 +Q 25.390625 66.40625 21.84375 63.234375 +Q 18.3125 60.0625 18.3125 54.390625 +" id="DejaVuSans-38"/> + </defs> + <g style="fill:#01769d;" transform="translate(329.909194 257.758438)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-38"/> + </g> + </g> + </g> + <g id="xtick_12"> + <g id="line2d_28"> + <path clip-path="url(#p5947393e86)" d="M 401.562091 243.16 +L 401.562091 149 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_29"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="401.562091" xlink:href="#m368118d4a5" y="243.16"/> + </g> + </g> + <g id="text_10"> + <!-- 10 --> + <defs> + <path d="M 12.40625 8.296875 +L 28.515625 8.296875 +L 28.515625 63.921875 +L 10.984375 60.40625 +L 10.984375 69.390625 +L 28.421875 72.90625 +L 38.28125 72.90625 +L 38.28125 8.296875 +L 54.390625 8.296875 +L 54.390625 0 +L 12.40625 0 +z +" id="DejaVuSans-31"/> + </defs> + <g style="fill:#01769d;" transform="translate(395.199591 257.758438)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-31"/> + <use x="63.623047" xlink:href="#DejaVuSans-30"/> + </g> + </g> + </g> + <g id="text_11"> + <!-- $t\;(\mu s)$ --> + <defs> + <path d="M -1.3125 -20.796875 +L 13.375 54.6875 +L 22.40625 54.6875 +L 15.765625 20.65625 +Q 15.578125 19.625 15.421875 18.359375 +Q 15.28125 17.09375 15.28125 15.828125 +Q 15.28125 11.28125 18.140625 8.828125 +Q 21 6.390625 26.3125 6.390625 +Q 33.546875 6.390625 37.984375 10.484375 +Q 42.4375 14.59375 44 22.796875 +L 50.203125 54.6875 +L 59.1875 54.6875 +L 51.03125 12.640625 +Q 50.828125 11.71875 50.75 11.03125 +Q 50.6875 10.359375 50.6875 9.8125 +Q 50.6875 8.296875 51.296875 7.59375 +Q 51.90625 6.890625 53.21875 6.890625 +Q 53.71875 6.890625 54.5625 7.125 +Q 55.421875 7.375 56.984375 8.015625 +L 55.609375 0.78125 +Q 53.46875 -0.296875 51.515625 -0.859375 +Q 49.5625 -1.421875 47.703125 -1.421875 +Q 44.484375 -1.421875 42.65625 0.625 +Q 40.828125 2.6875 40.828125 6.296875 +Q 38.09375 2.390625 34.296875 0.484375 +Q 30.515625 -1.421875 25.390625 -1.421875 +Q 20.84375 -1.421875 17.453125 0.671875 +Q 14.0625 2.78125 12.984375 6.203125 +L 7.71875 -20.796875 +z +" id="DejaVuSans-Oblique-3bc"/> + <path d="M 50 53.078125 +L 48.296875 44.578125 +Q 44.734375 46.53125 40.765625 47.5 +Q 36.8125 48.484375 32.625 48.484375 +Q 25.53125 48.484375 21.453125 46.0625 +Q 17.390625 43.65625 17.390625 39.5 +Q 17.390625 34.671875 26.859375 32.078125 +Q 27.59375 31.890625 27.9375 31.78125 +L 30.8125 30.90625 +Q 39.796875 28.421875 42.796875 25.6875 +Q 45.796875 22.953125 45.796875 18.21875 +Q 45.796875 9.515625 38.890625 4.046875 +Q 31.984375 -1.421875 20.796875 -1.421875 +Q 16.453125 -1.421875 11.671875 -0.578125 +Q 6.890625 0.25 1.125 2 +L 2.875 11.28125 +Q 7.8125 8.734375 12.59375 7.421875 +Q 17.390625 6.109375 21.78125 6.109375 +Q 28.375 6.109375 32.5 8.9375 +Q 36.625 11.765625 36.625 16.109375 +Q 36.625 20.796875 25.78125 23.6875 +L 24.859375 23.921875 +L 21.78125 24.703125 +Q 14.9375 26.515625 11.765625 29.46875 +Q 8.59375 32.421875 8.59375 37.015625 +Q 8.59375 45.75 15.15625 50.875 +Q 21.734375 56 33.015625 56 +Q 37.453125 56 41.671875 55.265625 +Q 45.90625 54.546875 50 53.078125 +" id="DejaVuSans-Oblique-73"/> + </defs> + <g style="fill:#01769d;" transform="translate(217.333 271.438125)scale(0.1 -0.1)"> + <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-74"/> + <use transform="translate(66.26812 0.125)" xlink:href="#DejaVuSans-28"/> + <use transform="translate(105.281792 0.125)" xlink:href="#DejaVuSans-Oblique-3bc"/> + <use transform="translate(168.904839 0.125)" xlink:href="#DejaVuSans-Oblique-73"/> + <use transform="translate(221.004448 0.125)" xlink:href="#DejaVuSans-29"/> + </g> + </g> + </g> + <g id="matplotlib.axis_4"> + <g id="ytick_3"> + <g id="line2d_30"> + <path clip-path="url(#p5947393e86)" d="M 42.086 238.727119 +L 418.68 238.727119 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_31"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="42.086" xlink:href="#me614ab69d6" y="238.727119"/> + </g> + </g> + <g id="text_12"> + <!-- 0 --> + <g style="fill:#01769d;" transform="translate(28.7235 242.526337)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + </g> + </g> + </g> + <g id="ytick_4"> + <g id="line2d_32"> + <path clip-path="url(#p5947393e86)" d="M 42.086 212.834052 +L 418.68 212.834052 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_33"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="42.086" xlink:href="#me614ab69d6" y="212.834052"/> + </g> + </g> + <g id="text_13"> + <!-- 1 --> + <g style="fill:#01769d;" transform="translate(28.7235 216.633271)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-31"/> + </g> + </g> + </g> + <g id="ytick_5"> + <g id="line2d_34"> + <path clip-path="url(#p5947393e86)" d="M 42.086 186.940986 +L 418.68 186.940986 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_35"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="42.086" xlink:href="#me614ab69d6" y="186.940986"/> + </g> + </g> + <g id="text_14"> + <!-- 2 --> + <g style="fill:#01769d;" transform="translate(28.7235 190.740205)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-32"/> + </g> + </g> + </g> + <g id="ytick_6"> + <g id="line2d_36"> + <path clip-path="url(#p5947393e86)" d="M 42.086 161.04792 +L 418.68 161.04792 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_37"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="42.086" xlink:href="#me614ab69d6" y="161.04792"/> + </g> + </g> + <g id="text_15"> + <!-- 3 --> + <defs> + <path d="M 40.578125 39.3125 +Q 47.65625 37.796875 51.625 33 +Q 55.609375 28.21875 55.609375 21.1875 +Q 55.609375 10.40625 48.1875 4.484375 +Q 40.765625 -1.421875 27.09375 -1.421875 +Q 22.515625 -1.421875 17.65625 -0.515625 +Q 12.796875 0.390625 7.625 2.203125 +L 7.625 11.71875 +Q 11.71875 9.328125 16.59375 8.109375 +Q 21.484375 6.890625 26.8125 6.890625 +Q 36.078125 6.890625 40.9375 10.546875 +Q 45.796875 14.203125 45.796875 21.1875 +Q 45.796875 27.640625 41.28125 31.265625 +Q 36.765625 34.90625 28.71875 34.90625 +L 20.21875 34.90625 +L 20.21875 43.015625 +L 29.109375 43.015625 +Q 36.375 43.015625 40.234375 45.921875 +Q 44.09375 48.828125 44.09375 54.296875 +Q 44.09375 59.90625 40.109375 62.90625 +Q 36.140625 65.921875 28.71875 65.921875 +Q 24.65625 65.921875 20.015625 65.03125 +Q 15.375 64.15625 9.8125 62.3125 +L 9.8125 71.09375 +Q 15.4375 72.65625 20.34375 73.4375 +Q 25.25 74.21875 29.59375 74.21875 +Q 40.828125 74.21875 47.359375 69.109375 +Q 53.90625 64.015625 53.90625 55.328125 +Q 53.90625 49.265625 50.4375 45.09375 +Q 46.96875 40.921875 40.578125 39.3125 +" id="DejaVuSans-33"/> + </defs> + <g style="fill:#01769d;" transform="translate(28.7235 164.847139)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-33"/> + </g> + </g> + </g> + <g id="text_16"> + <!-- $V_{gate}\;(V)$ --> + <g style="fill:#01769d;" transform="translate(21.6235 216.23)rotate(-90)scale(0.1 -0.1)"> + <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> + <use transform="translate(68.408203 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-67"/> + <use transform="translate(112.841797 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-61"/> + <use transform="translate(155.737305 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-74"/> + <use transform="translate(183.183594 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-65"/> + <use transform="translate(256.043511 0.125)" xlink:href="#DejaVuSans-28"/> + <use transform="translate(295.057183 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> + <use transform="translate(363.465386 0.125)" xlink:href="#DejaVuSans-29"/> + </g> + </g> + </g> + <g id="line2d_38"> + <path clip-path="url(#p5947393e86)" d="M 59.203909 153.28 +L 59.228199 153.37974 +L 59.497615 155.096502 +L 61.206362 163.325474 +L 62.878033 170.598163 +L 64.884039 178.406683 +L 67.224378 186.394228 +L 69.230384 192.389146 +L 71.236389 197.675242 +L 73.242394 202.284414 +L 74.914065 205.564108 +L 76.251402 207.688893 +L 76.92007 208.485648 +L 77.588739 208.975312 +L 78.257407 209.092271 +L 82.603752 209.297733 +L 88.335196 209.778671 +L 91.96511 210.242933 +L 94.639784 210.753234 +L 96.980123 211.432875 +L 98.651794 212.17541 +L 99.654797 212.819475 +L 100.657799 213.77323 +L 101.326468 214.806079 +L 101.660802 215.615566 +L 101.995136 216.878078 +L 102.543079 220.766282 +L 103.700099 233.423486 +L 103.934246 233.818904 +L 104.06151 233.512998 +L 104.467196 230.906372 +L 105.020958 226.340272 +L 105.329414 224.753843 +L 105.511404 224.429752 +L 105.634516 224.593766 +L 105.859235 225.666798 +L 106.449315 230.967383 +L 106.921606 234.873733 +L 107.233247 236.112553 +L 107.356575 236.147736 +L 107.477183 235.936615 +L 107.870425 234.115235 +L 108.397739 230.894212 +L 108.891082 229.346006 +L 109.018528 229.417365 +L 109.243735 230.134411 +L 109.594575 232.233409 +L 110.256874 236.569046 +L 110.606402 237.673185 +L 110.720785 237.729573 +L 110.828772 237.617113 +L 111.190493 236.457323 +L 111.95061 233.103158 +L 112.227887 232.526441 +L 112.383187 232.485564 +L 112.620427 232.976566 +L 112.966809 234.458455 +L 113.746483 238.034853 +L 114.041144 238.488129 +L 114.17416 238.439577 +L 114.307847 238.232539 +L 114.700985 237.034349 +L 115.432886 234.66685 +L 115.766643 234.415928 +L 115.992953 234.759845 +L 116.341844 235.856069 +L 117.08755 238.431167 +L 117.396965 238.80915 +L 117.640895 238.654161 +L 117.937897 238.030951 +L 118.832581 235.793965 +L 119.142413 235.645064 +L 119.359548 235.892734 +L 119.713226 236.722578 +L 120.538466 238.746136 +L 120.794981 238.88 +L 121.082511 238.661575 +L 121.593495 237.630074 +L 122.054825 236.741743 +L 122.482477 236.440932 +L 122.717994 236.625074 +L 123.063628 237.227117 +L 123.866756 238.734207 +L 124.122021 238.863724 +L 124.382597 238.749926 +L 124.828348 238.114736 +L 125.501171 237.121685 +L 125.838082 236.983629 +L 126.074354 237.124413 +L 126.419285 237.577922 +L 127.232175 238.720314 +L 127.586269 238.802291 +L 127.731954 238.637874 +L 127.840098 235.916696 +L 128.368 223.901531 +L 128.739521 218.238531 +L 129.123694 216.007152 +L 130.032162 214.624871 +L 130.647252 213.552396 +L 131.315921 212.691666 +L 132.318923 211.848536 +L 133.321926 211.342068 +L 135.9966 210.380607 +L 138.336939 209.737811 +L 141.011613 209.092012 +L 141.281397 208.786629 +L 141.860896 207.539775 +L 143.503429 202.871617 +L 145.843768 196.382168 +L 147.849774 191.441719 +L 149.855779 187.062399 +L 151.861784 183.186388 +L 153.867789 179.756333 +L 155.873795 176.72063 +L 157.8798 174.033577 +L 160.220139 171.285883 +L 162.560479 168.902245 +L 164.900818 166.834269 +L 167.241158 165.040087 +L 169.915832 163.278556 +L 172.590505 161.780901 +L 175.265179 160.507557 +L 177.939853 159.424942 +L 180.948861 158.399603 +L 184.578775 157.388764 +L 188.638547 156.490844 +L 193.41475 155.681815 +L 196.165726 155.364211 +L 196.538164 157.575271 +L 198.106392 164.935065 +L 200.112397 173.391662 +L 202.118402 180.880533 +L 204.458742 188.540116 +L 206.464747 194.284545 +L 208.470752 199.337292 +L 210.142423 203.028555 +L 211.814094 206.181658 +L 212.817097 207.717712 +L 213.485766 208.506803 +L 214.154434 208.984038 +L 214.823102 209.092841 +L 219.169447 209.299105 +L 224.900891 209.780949 +L 228.530805 210.246299 +L 231.205479 210.758205 +L 233.545818 211.440617 +L 235.217489 212.187114 +L 236.220492 212.835717 +L 237.223495 213.799234 +L 237.892163 214.849336 +L 238.226497 215.679131 +L 238.560831 216.982536 +L 239.113379 221.048053 +L 240.256984 233.479767 +L 240.358484 233.781263 +L 240.48873 233.802467 +L 240.619579 233.45841 +L 241.031897 230.733831 +L 241.588741 226.191024 +L 241.900828 224.686808 +L 242.075252 224.437994 +L 242.192771 224.635369 +L 242.407912 225.691127 +L 243.021958 231.232606 +L 243.494548 235.039998 +L 243.789007 236.126209 +L 243.915888 236.13232 +L 244.042344 235.881134 +L 244.445189 233.935166 +L 244.977421 230.724983 +L 245.279354 229.590294 +L 245.460857 229.341384 +L 245.580075 229.447165 +L 245.79385 230.153148 +L 246.15237 232.315742 +L 246.835283 236.719871 +L 247.172174 237.693413 +L 247.292741 237.715181 +L 247.407171 237.559563 +L 247.787355 236.233564 +L 248.564987 232.894635 +L 248.79008 232.492599 +L 248.929904 232.483826 +L 249.16482 232.975264 +L 249.51136 234.456075 +L 250.292144 238.035873 +L 250.586594 238.487764 +L 250.71971 238.438705 +L 250.853517 238.231094 +L 251.246876 237.031593 +L 251.979076 234.665677 +L 252.312194 234.416982 +L 252.538225 234.760777 +L 252.887237 235.85732 +L 253.633317 238.432187 +L 253.9425 238.808857 +L 254.186743 238.653033 +L 254.483417 238.029832 +L 255.378142 235.794177 +L 255.687977 235.645833 +L 255.904838 235.893371 +L 256.258701 236.723616 +L 257.084108 238.74643 +L 257.34062 238.87968 +L 257.628162 238.66077 +L 258.138587 237.630412 +L 258.599984 236.742133 +L 259.028011 236.441454 +L 259.26332 236.625554 +L 259.609007 237.227646 +L 260.412296 238.734337 +L 260.667552 238.863467 +L 260.928508 238.74906 +L 261.375567 238.111242 +L 262.049389 237.119309 +L 262.384523 236.984173 +L 262.619908 237.124935 +L 262.964984 237.578779 +L 263.778609 238.72099 +L 264.013573 238.808139 +L 264.270454 238.724715 +L 264.669756 238.26317 +L 264.750388 236.305477 +L 265.325173 223.186859 +L 265.70181 217.91756 +L 265.893207 216.626317 +L 266.301355 215.822902 +L 266.829673 214.976271 +L 267.709965 213.390401 +L 268.378634 212.569632 +L 269.381637 211.772644 +L 270.718973 211.158693 +L 273.393647 210.242364 +L 275.733987 209.633074 +L 277.739992 209.196827 +L 278.074326 208.982407 +L 278.342478 208.600769 +L 278.96218 207.143533 +L 284.622756 191.855878 +L 286.628762 187.429096 +L 288.634767 183.51088 +L 290.640772 180.043513 +L 292.646777 176.974797 +L 294.652783 174.258588 +L 296.993122 171.481065 +L 299.333462 169.07156 +L 301.673801 166.981161 +L 303.679806 165.411135 +L 306.35448 163.594011 +L 309.029154 162.049101 +L 311.703828 160.735598 +L 315.04717 159.366813 +L 318.056178 158.351157 +L 321.686092 157.349898 +L 325.745864 156.460471 +L 330.522067 155.659081 +L 333.109026 155.365143 +L 333.481526 157.576514 +L 335.049792 164.936333 +L 337.055797 173.392776 +L 339.061802 180.881543 +L 341.402142 188.54097 +L 343.408147 194.285321 +L 345.414152 199.337991 +L 347.085823 203.029125 +L 348.757495 206.18215 +L 349.760497 207.7181 +L 350.429166 208.507088 +L 351.097834 208.984142 +L 351.766502 209.092841 +L 356.112847 209.299131 +L 361.844291 209.780975 +L 365.474205 210.246325 +L 368.148879 210.758283 +L 370.489218 211.440721 +L 372.160889 212.187269 +L 373.163892 212.835935 +L 374.166895 213.799587 +L 374.835563 214.849923 +L 375.169897 215.680001 +L 375.504231 216.983965 +L 376.05686 221.052118 +L 377.200285 233.480588 +L 377.301707 233.781447 +L 377.431992 233.802219 +L 377.562891 233.457608 +L 377.975304 230.731335 +L 378.532195 226.188909 +L 378.844337 224.686054 +L 379.018754 224.43831 +L 379.136189 224.636311 +L 379.351116 225.691607 +L 379.965769 231.239082 +L 380.438353 235.043908 +L 380.732396 236.126548 +L 380.859363 236.131947 +L 380.985948 235.879806 +L 381.389016 233.930938 +L 381.92137 230.721112 +L 382.223418 229.588314 +L 382.404588 229.341361 +L 382.523607 229.447901 +L 382.737104 230.153562 +L 383.09587 232.318095 +L 383.779461 236.724436 +L 384.115947 237.694011 +L 384.236699 237.714592 +L 384.351531 237.557237 +L 384.732298 236.225567 +L 385.510052 232.889478 +L 385.734161 232.491685 +L 385.873595 232.48429 +L 386.108115 232.975647 +L 386.454745 234.457199 +L 387.235888 238.037486 +L 387.530077 238.487894 +L 387.663303 238.438267 +L 387.797239 238.229961 +L 388.190764 237.028916 +L 388.923227 234.663898 +L 389.255746 234.417238 +L 389.481496 234.760982 +L 389.830631 235.858144 +L 390.577028 238.433403 +L 390.88581 238.809018 +L 391.129963 238.653027 +L 391.426521 238.030043 +L 392.32117 235.794382 +L 392.631116 235.645818 +L 392.848004 235.893358 +L 393.201846 236.723537 +L 394.027243 238.746393 +L 394.283755 238.879698 +L 394.571295 238.660838 +L 395.081766 237.630407 +L 395.543158 236.742136 +L 395.971153 236.441442 +L 396.206484 236.625543 +L 396.552165 237.227617 +L 397.355444 238.734318 +L 397.610699 238.86348 +L 397.871621 238.749126 +L 398.31858 238.111527 +L 398.992323 237.119518 +L 399.327599 236.984152 +L 399.563055 237.124914 +L 399.908119 237.578722 +L 400.721692 238.720935 +L 400.956571 238.80815 +L 401.213257 238.724979 +L 401.562091 238.378301 +L 401.562091 238.378301 +" style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> + </g> + <g id="patch_6"> + <path d="M 42.086 243.16 +L 42.086 149 +" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_7"> + <path d="M 42.086 243.16 +L 418.68 243.16 +" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="text_17"> + <!-- With dampening --> + <defs> + <path d="M 91.703125 72.90625 +Q 98.40625 70.5 98.40625 66.5 +Q 98.40625 65.203125 97.203125 61.59375 +L 78 6.09375 +Q 77.796875 5.40625 77.296875 4.40625 +Q 76.796875 3.40625 74.640625 1.75 +Q 72.5 0.09375 69.546875 0.09375 +Q 66.59375 0.09375 64.4375 1.75 +Q 62.296875 3.40625 61.59375 5 +L 49.90625 39.5 +Q 38.796875 6.703125 38.59375 6.09375 +Q 38.40625 5.5 37.703125 4.390625 +Q 37 3.296875 36.09375 2.40625 +Q 33.796875 0.09375 30.59375 0.09375 +Q 27.40625 0.09375 25.34375 1.59375 +Q 23.296875 3.09375 22.59375 4.59375 +L 21.90625 6.09375 +L 2.59375 61.59375 +Q 1.5 64.90625 1.5 66.5 +Q 1.5 70.5 8.203125 72.796875 +Q 11.09375 73.796875 13.4375 73.796875 +Q 15.796875 73.796875 17.046875 72.1875 +Q 18.296875 70.59375 19.296875 67.296875 +L 30.296875 33.90625 +L 41.203125 66.796875 +Q 42.59375 71 46.296875 72.59375 +Q 47.90625 73.296875 50.453125 73.296875 +Q 53 73.296875 55.203125 71.640625 +Q 57.40625 70 58 68.40625 +L 69.5 33.703125 +L 80.5 67.296875 +Q 81.296875 69.59375 81.796875 70.6875 +Q 82.296875 71.796875 83.640625 72.84375 +Q 85 73.90625 87 73.90625 +Q 89 73.90625 91.703125 72.90625 +" id="FredokaOne-Regular-57"/> + <path d="M 34.59375 35 +L 28.09375 35.40625 +L 28.09375 21.59375 +Q 28.09375 18.90625 28.9375 17.703125 +Q 29.796875 16.5 32.140625 16.5 +Q 34.5 16.5 35.75 16.34375 +Q 37 16.203125 38.40625 15.40625 +Q 40.703125 14.09375 40.703125 8.703125 +Q 40.703125 2.40625 37.90625 1 +Q 36.40625 0.296875 35.25 0.140625 +Q 34.09375 0 31.90625 0 +Q 21.5 0 16.09375 4.703125 +Q 10.703125 9.40625 10.703125 20.59375 +L 10.703125 35.40625 +Q 8.796875 35.09375 6.59375 35.09375 +Q 4.40625 35.09375 2.953125 36.796875 +Q 1.5 38.5 1.5 42.59375 +Q 1.5 46.703125 2 48.546875 +Q 2.5 50.40625 3.40625 51.203125 +Q 5 52.5 7.40625 52.5 +L 10.703125 52.09375 +L 10.703125 62.40625 +Q 10.703125 64.703125 10.84375 65.796875 +Q 11 66.90625 11.796875 68.203125 +Q 13.09375 70.703125 19.5 70.703125 +Q 26.296875 70.703125 27.59375 67 +Q 28.09375 65.40625 28.09375 61.90625 +L 28.09375 52.09375 +Q 32.5 52.5 34.75 52.5 +Q 37 52.5 38.140625 52.34375 +Q 39.296875 52.203125 40.796875 51.40625 +Q 43.40625 50.09375 43.40625 43.703125 +Q 43.40625 37.40625 40.703125 36 +Q 39.203125 35.296875 38.046875 35.140625 +Q 36.90625 35 34.59375 35 +" id="FredokaOne-Regular-74"/> + <path d="M 33.203125 52.5 +Q 43.203125 52.5 49.84375 44.890625 +Q 56.5 37.296875 56.5 26.296875 +L 56.5 8.703125 +Q 56.5 6.40625 56.34375 5.25 +Q 56.203125 4.09375 55.40625 2.59375 +Q 54.09375 0 47.703125 0 +Q 41.59375 0 40.09375 2.59375 +Q 39.296875 4.09375 39.140625 5.296875 +Q 39 6.5 39 8.90625 +L 39 26.40625 +Q 39 30.5 36.703125 32.796875 +Q 34.40625 35.09375 30.84375 35.09375 +Q 27.296875 35.09375 24.59375 32.9375 +Q 21.90625 30.796875 21.5 28.09375 +L 21.5 8.703125 +Q 21.5 6.40625 21.34375 5.25 +Q 21.203125 4.09375 20.40625 2.59375 +Q 19.09375 0 12.703125 0 +Q 6.40625 0 5 2.703125 +Q 4.296875 4.203125 4.140625 5.296875 +Q 4 6.40625 4 8.796875 +L 4 68.59375 +Q 4 70.90625 4.140625 72.046875 +Q 4.296875 73.203125 5 74.59375 +Q 6.40625 77.296875 12.796875 77.296875 +Q 19.09375 77.296875 20.40625 74.59375 +Q 21.203125 73.09375 21.34375 71.9375 +Q 21.5 70.796875 21.5 68.5 +L 21.5 46.40625 +Q 26.5 52.5 33.203125 52.5 +" id="FredokaOne-Regular-68"/> + </defs> + <g style="fill:#fe3ea0;" transform="translate(183.506125 143)scale(0.12 -0.12)"> + <use xlink:href="#FredokaOne-Regular-57"/> + <use x="99.899994" xlink:href="#FredokaOne-Regular-69"/> + <use x="125.399979" xlink:href="#FredokaOne-Regular-74"/> + <use x="170.299973" xlink:href="#FredokaOne-Regular-68"/> + <use x="230.799957" xlink:href="#FredokaOne-Regular-20"/> + <use x="256.099945" xlink:href="#FredokaOne-Regular-64"/> + <use x="315.899933" xlink:href="#FredokaOne-Regular-61"/> + <use x="375.499924" xlink:href="#FredokaOne-Regular-6d"/> + <use x="460.599915" xlink:href="#FredokaOne-Regular-70"/> + <use x="518.799911" xlink:href="#FredokaOne-Regular-65"/> + <use x="576.099899" xlink:href="#FredokaOne-Regular-6e"/> + <use x="636.69989" xlink:href="#FredokaOne-Regular-69"/> + <use x="662.199875" xlink:href="#FredokaOne-Regular-6e"/> + <use x="722.799866" xlink:href="#FredokaOne-Regular-67"/> + </g> + </g> + </g> + </g> + <defs> + <clipPath id="pffe7941796"> + <rect height="94.16" width="376.594" x="42.086" y="26.16"/> + </clipPath> + <clipPath id="p5947393e86"> + <rect height="94.16" width="376.594" x="42.086" y="149"/> + </clipPath> + </defs> +</svg> diff --git a/firmware/spice_sims/overshoot_sim_r0.svg b/firmware/spice_sims/overshoot_sim_r0.svg deleted file mode 100644 index be92966..0000000 --- a/firmware/spice_sims/overshoot_sim_r0.svg +++ /dev/null @@ -1,1422 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" - "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="345pt" version="1.1" viewBox="0 0 460 345" width="460pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> - <defs> - <style type="text/css"> -*{stroke-linecap:butt;stroke-linejoin:round;} - </style> - </defs> - <g id="figure_1"> - <g id="patch_1"> - <path d="M 0 345.6 -L 460.8 345.6 -L 460.8 0 -L 0 0 -z -" style="fill:#ffffff;"/> - </g> - <g id="axes_1"> - <g id="patch_2"> - <path d="M 59.906 148.04 -L 447.48 148.04 -L 447.48 14.76 -L 59.906 14.76 -z -" style="fill:#ffffff;"/> - </g> - <g id="matplotlib.axis_1"> - <g id="xtick_1"> - <g id="line2d_1"> - <path clip-path="url(#p0abb017c56)" d="M 77.073816 148.04 -L 77.073816 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_2"> - <defs> - <path d="M 0 0 -L 0 3.5 -" id="m34009888c3" style="stroke:#01769d;stroke-width:0.8;"/> - </defs> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="77.073816" xlink:href="#m34009888c3" y="148.04"/> - </g> - </g> - </g> - <g id="xtick_2"> - <g id="line2d_3"> - <path clip-path="url(#p0abb017c56)" d="M 121.182234 148.04 -L 121.182234 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_4"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="121.182234" xlink:href="#m34009888c3" y="148.04"/> - </g> - </g> - </g> - <g id="xtick_3"> - <g id="line2d_5"> - <path clip-path="url(#p0abb017c56)" d="M 165.290652 148.04 -L 165.290652 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_6"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="165.290652" xlink:href="#m34009888c3" y="148.04"/> - </g> - </g> - </g> - <g id="xtick_4"> - <g id="line2d_7"> - <path clip-path="url(#p0abb017c56)" d="M 209.399069 148.04 -L 209.399069 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_8"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="209.399069" xlink:href="#m34009888c3" y="148.04"/> - </g> - </g> - </g> - <g id="xtick_5"> - <g id="line2d_9"> - <path clip-path="url(#p0abb017c56)" d="M 253.507487 148.04 -L 253.507487 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_10"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="253.507487" xlink:href="#m34009888c3" y="148.04"/> - </g> - </g> - </g> - <g id="xtick_6"> - <g id="line2d_11"> - <path clip-path="url(#p0abb017c56)" d="M 297.615905 148.04 -L 297.615905 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_12"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="297.615905" xlink:href="#m34009888c3" y="148.04"/> - </g> - </g> - </g> - <g id="xtick_7"> - <g id="line2d_13"> - <path clip-path="url(#p0abb017c56)" d="M 341.724322 148.04 -L 341.724322 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_14"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="341.724322" xlink:href="#m34009888c3" y="148.04"/> - </g> - </g> - </g> - <g id="xtick_8"> - <g id="line2d_15"> - <path clip-path="url(#p0abb017c56)" d="M 385.83274 148.04 -L 385.83274 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_16"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="385.83274" xlink:href="#m34009888c3" y="148.04"/> - </g> - </g> - </g> - <g id="xtick_9"> - <g id="line2d_17"> - <path clip-path="url(#p0abb017c56)" d="M 429.941157 148.04 -L 429.941157 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_18"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="429.941157" xlink:href="#m34009888c3" y="148.04"/> - </g> - </g> - </g> - </g> - <g id="matplotlib.axis_2"> - <g id="ytick_1"> - <g id="line2d_19"> - <path clip-path="url(#p0abb017c56)" d="M 59.906 148.04 -L 447.48 148.04 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_20"> - <defs> - <path d="M 0 0 -L -3.5 0 -" id="mab356067c9" style="stroke:#01769d;stroke-width:0.8;"/> - </defs> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mab356067c9" y="148.04"/> - </g> - </g> - <g id="text_1"> - <!-- −0.1 --> - <defs> - <path d="M 10.59375 35.5 -L 73.1875 35.5 -L 73.1875 27.203125 -L 10.59375 27.203125 -z -" id="DejaVuSans-2212"/> - <path d="M 31.78125 66.40625 -Q 24.171875 66.40625 20.328125 58.90625 -Q 16.5 51.421875 16.5 36.375 -Q 16.5 21.390625 20.328125 13.890625 -Q 24.171875 6.390625 31.78125 6.390625 -Q 39.453125 6.390625 43.28125 13.890625 -Q 47.125 21.390625 47.125 36.375 -Q 47.125 51.421875 43.28125 58.90625 -Q 39.453125 66.40625 31.78125 66.40625 -M 31.78125 74.21875 -Q 44.046875 74.21875 50.515625 64.515625 -Q 56.984375 54.828125 56.984375 36.375 -Q 56.984375 17.96875 50.515625 8.265625 -Q 44.046875 -1.421875 31.78125 -1.421875 -Q 19.53125 -1.421875 13.0625 8.265625 -Q 6.59375 17.96875 6.59375 36.375 -Q 6.59375 54.828125 13.0625 64.515625 -Q 19.53125 74.21875 31.78125 74.21875 -" id="DejaVuSans-30"/> - <path d="M 10.6875 12.40625 -L 21 12.40625 -L 21 0 -L 10.6875 0 -z -" id="DejaVuSans-2e"/> - <path d="M 12.40625 8.296875 -L 28.515625 8.296875 -L 28.515625 63.921875 -L 10.984375 60.40625 -L 10.984375 69.390625 -L 28.421875 72.90625 -L 38.28125 72.90625 -L 38.28125 8.296875 -L 54.390625 8.296875 -L 54.390625 0 -L 12.40625 0 -z -" id="DejaVuSans-31"/> - </defs> - <g style="fill:#01769d;" transform="translate(28.623188 151.839219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-30"/> - <use x="147.412109" xlink:href="#DejaVuSans-2e"/> - <use x="179.199219" xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="ytick_2"> - <g id="line2d_21"> - <path clip-path="url(#p0abb017c56)" d="M 59.906 121.384 -L 447.48 121.384 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_22"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mab356067c9" y="121.384"/> - </g> - </g> - <g id="text_2"> - <!-- 0.0 --> - <g style="fill:#01769d;" transform="translate(37.002875 125.183219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="ytick_3"> - <g id="line2d_23"> - <path clip-path="url(#p0abb017c56)" d="M 59.906 94.728 -L 447.48 94.728 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_24"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mab356067c9" y="94.728"/> - </g> - </g> - <g id="text_3"> - <!-- 0.1 --> - <g style="fill:#01769d;" transform="translate(37.002875 98.527219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="ytick_4"> - <g id="line2d_25"> - <path clip-path="url(#p0abb017c56)" d="M 59.906 68.072 -L 447.48 68.072 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_26"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mab356067c9" y="68.072"/> - </g> - </g> - <g id="text_4"> - <!-- 0.2 --> - <defs> - <path d="M 19.1875 8.296875 -L 53.609375 8.296875 -L 53.609375 0 -L 7.328125 0 -L 7.328125 8.296875 -Q 12.9375 14.109375 22.625 23.890625 -Q 32.328125 33.6875 34.8125 36.53125 -Q 39.546875 41.84375 41.421875 45.53125 -Q 43.3125 49.21875 43.3125 52.78125 -Q 43.3125 58.59375 39.234375 62.25 -Q 35.15625 65.921875 28.609375 65.921875 -Q 23.96875 65.921875 18.8125 64.3125 -Q 13.671875 62.703125 7.8125 59.421875 -L 7.8125 69.390625 -Q 13.765625 71.78125 18.9375 73 -Q 24.125 74.21875 28.421875 74.21875 -Q 39.75 74.21875 46.484375 68.546875 -Q 53.21875 62.890625 53.21875 53.421875 -Q 53.21875 48.921875 51.53125 44.890625 -Q 49.859375 40.875 45.40625 35.40625 -Q 44.1875 33.984375 37.640625 27.21875 -Q 31.109375 20.453125 19.1875 8.296875 -" id="DejaVuSans-32"/> - </defs> - <g style="fill:#01769d;" transform="translate(37.002875 71.871219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-32"/> - </g> - </g> - </g> - <g id="ytick_5"> - <g id="line2d_27"> - <path clip-path="url(#p0abb017c56)" d="M 59.906 41.416 -L 447.48 41.416 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_28"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mab356067c9" y="41.416"/> - </g> - </g> - <g id="text_5"> - <!-- 0.3 --> - <defs> - <path d="M 40.578125 39.3125 -Q 47.65625 37.796875 51.625 33 -Q 55.609375 28.21875 55.609375 21.1875 -Q 55.609375 10.40625 48.1875 4.484375 -Q 40.765625 -1.421875 27.09375 -1.421875 -Q 22.515625 -1.421875 17.65625 -0.515625 -Q 12.796875 0.390625 7.625 2.203125 -L 7.625 11.71875 -Q 11.71875 9.328125 16.59375 8.109375 -Q 21.484375 6.890625 26.8125 6.890625 -Q 36.078125 6.890625 40.9375 10.546875 -Q 45.796875 14.203125 45.796875 21.1875 -Q 45.796875 27.640625 41.28125 31.265625 -Q 36.765625 34.90625 28.71875 34.90625 -L 20.21875 34.90625 -L 20.21875 43.015625 -L 29.109375 43.015625 -Q 36.375 43.015625 40.234375 45.921875 -Q 44.09375 48.828125 44.09375 54.296875 -Q 44.09375 59.90625 40.109375 62.90625 -Q 36.140625 65.921875 28.71875 65.921875 -Q 24.65625 65.921875 20.015625 65.03125 -Q 15.375 64.15625 9.8125 62.3125 -L 9.8125 71.09375 -Q 15.4375 72.65625 20.34375 73.4375 -Q 25.25 74.21875 29.59375 74.21875 -Q 40.828125 74.21875 47.359375 69.109375 -Q 53.90625 64.015625 53.90625 55.328125 -Q 53.90625 49.265625 50.4375 45.09375 -Q 46.96875 40.921875 40.578125 39.3125 -" id="DejaVuSans-33"/> - </defs> - <g style="fill:#01769d;" transform="translate(37.002875 45.215219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-33"/> - </g> - </g> - </g> - <g id="ytick_6"> - <g id="line2d_29"> - <path clip-path="url(#p0abb017c56)" d="M 59.906 14.76 -L 447.48 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_30"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mab356067c9" y="14.76"/> - </g> - </g> - <g id="text_6"> - <!-- 0.4 --> - <defs> - <path d="M 37.796875 64.3125 -L 12.890625 25.390625 -L 37.796875 25.390625 -z -M 35.203125 72.90625 -L 47.609375 72.90625 -L 47.609375 25.390625 -L 58.015625 25.390625 -L 58.015625 17.1875 -L 47.609375 17.1875 -L 47.609375 0 -L 37.796875 0 -L 37.796875 17.1875 -L 4.890625 17.1875 -L 4.890625 26.703125 -z -" id="DejaVuSans-34"/> - </defs> - <g style="fill:#01769d;" transform="translate(37.002875 18.559219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-34"/> - </g> - </g> - </g> - <g id="text_7"> - <!-- $V_{gate}\;(A)$ --> - <defs> - <path d="M 20.609375 0 -L 7.8125 72.90625 -L 17.484375 72.90625 -L 28.078125 10.203125 -L 63.484375 72.90625 -L 74.21875 72.90625 -L 32.078125 0 -z -" id="DejaVuSans-Oblique-56"/> - <path d="M 59.625 54.6875 -L 50.296875 6.78125 -Q 47.609375 -7.125 40.015625 -13.953125 -Q 32.421875 -20.796875 19.578125 -20.796875 -Q 14.84375 -20.796875 10.78125 -20.09375 -Q 6.734375 -19.390625 3.21875 -17.921875 -L 4.890625 -9.1875 -Q 8.203125 -11.328125 11.90625 -12.34375 -Q 15.625 -13.375 19.828125 -13.375 -Q 28.375 -13.375 33.859375 -8.703125 -Q 39.359375 -4.046875 41.109375 4.6875 -L 41.890625 8.796875 -Q 38.140625 4.5 33.15625 2.25 -Q 28.171875 0 22.40625 0 -Q 14.109375 0 9.34375 5.484375 -Q 4.59375 10.984375 4.59375 20.609375 -Q 4.59375 28.171875 7.46875 35.421875 -Q 10.359375 42.671875 15.578125 48.296875 -Q 19.046875 52 23.65625 54 -Q 28.265625 56 33.296875 56 -Q 38.8125 56 42.90625 53.4375 -Q 47.015625 50.875 49.03125 46.1875 -L 50.59375 54.6875 -z -M 46.09375 34.625 -Q 46.09375 41.265625 42.96875 44.875 -Q 39.84375 48.484375 34.078125 48.484375 -Q 30.515625 48.484375 27.296875 47.0625 -Q 24.078125 45.65625 21.78125 43.109375 -Q 18.0625 38.921875 15.984375 33.234375 -Q 13.921875 27.546875 13.921875 21.484375 -Q 13.921875 14.75 17.0625 11.125 -Q 20.21875 7.515625 26.125 7.515625 -Q 34.671875 7.515625 40.375 15.25 -Q 46.09375 23 46.09375 34.625 -" id="DejaVuSans-Oblique-67"/> - <path d="M 53.71875 31.203125 -L 47.609375 0 -L 38.625 0 -L 40.28125 8.296875 -Q 36.328125 3.421875 31.265625 1 -Q 26.21875 -1.421875 20.015625 -1.421875 -Q 13.03125 -1.421875 8.5625 2.84375 -Q 4.109375 7.125 4.109375 13.8125 -Q 4.109375 23.390625 11.75 28.953125 -Q 19.390625 34.515625 32.8125 34.515625 -L 45.3125 34.515625 -L 45.796875 36.921875 -Q 45.90625 37.3125 45.953125 37.765625 -Q 46 38.234375 46 39.203125 -Q 46 43.5625 42.453125 45.96875 -Q 38.921875 48.390625 32.515625 48.390625 -Q 28.125 48.390625 23.5 47.265625 -Q 18.890625 46.140625 14.015625 43.890625 -L 15.578125 52.203125 -Q 20.65625 54.109375 25.515625 55.046875 -Q 30.375 56 34.90625 56 -Q 44.578125 56 49.625 51.796875 -Q 54.6875 47.609375 54.6875 39.59375 -Q 54.6875 37.984375 54.4375 35.8125 -Q 54.203125 33.640625 53.71875 31.203125 -M 44 27.484375 -L 35.015625 27.484375 -Q 23.96875 27.484375 18.671875 24.53125 -Q 13.375 21.578125 13.375 15.375 -Q 13.375 11.078125 16.078125 8.640625 -Q 18.796875 6.203125 23.578125 6.203125 -Q 30.90625 6.203125 36.375 11.453125 -Q 41.84375 16.703125 43.609375 25.484375 -z -" id="DejaVuSans-Oblique-61"/> - <path d="M 42.28125 54.6875 -L 40.921875 47.703125 -L 23 47.703125 -L 17.1875 18.015625 -Q 16.890625 16.359375 16.75 15.234375 -Q 16.609375 14.109375 16.609375 13.484375 -Q 16.609375 10.359375 18.484375 8.9375 -Q 20.359375 7.515625 24.515625 7.515625 -L 33.59375 7.515625 -L 32.078125 0 -L 23.484375 0 -Q 15.484375 0 11.546875 3.125 -Q 7.625 6.25 7.625 12.59375 -Q 7.625 13.71875 7.765625 15.0625 -Q 7.90625 16.40625 8.203125 18.015625 -L 14.015625 47.703125 -L 6.390625 47.703125 -L 7.8125 54.6875 -L 15.28125 54.6875 -L 18.3125 70.21875 -L 27.296875 70.21875 -L 24.3125 54.6875 -z -" id="DejaVuSans-Oblique-74"/> - <path d="M 48.09375 32.234375 -Q 48.25 33.015625 48.3125 33.84375 -Q 48.390625 34.671875 48.390625 35.5 -Q 48.390625 41.453125 44.890625 44.921875 -Q 41.40625 48.390625 35.40625 48.390625 -Q 28.71875 48.390625 23.578125 44.15625 -Q 18.453125 39.9375 15.828125 32.171875 -z -M 55.90625 25.203125 -L 14.109375 25.203125 -Q 13.8125 23.34375 13.71875 22.265625 -Q 13.625 21.1875 13.625 20.40625 -Q 13.625 13.625 17.796875 9.90625 -Q 21.96875 6.203125 29.59375 6.203125 -Q 35.453125 6.203125 40.671875 7.515625 -Q 45.90625 8.84375 50.390625 11.375 -L 48.6875 2.484375 -Q 43.84375 0.53125 38.6875 -0.4375 -Q 33.546875 -1.421875 28.21875 -1.421875 -Q 16.84375 -1.421875 10.71875 4.015625 -Q 4.59375 9.46875 4.59375 19.484375 -Q 4.59375 28.03125 7.640625 35.375 -Q 10.6875 42.71875 16.609375 48.484375 -Q 20.40625 52.09375 25.65625 54.046875 -Q 30.90625 56 36.8125 56 -Q 46.09375 56 51.578125 50.4375 -Q 57.078125 44.875 57.078125 35.5 -Q 57.078125 33.25 56.78125 30.6875 -Q 56.5 28.125 55.90625 25.203125 -" id="DejaVuSans-Oblique-65"/> - <path d="M 31 75.875 -Q 24.46875 64.65625 21.28125 53.65625 -Q 18.109375 42.671875 18.109375 31.390625 -Q 18.109375 20.125 21.3125 9.0625 -Q 24.515625 -2 31 -13.1875 -L 23.1875 -13.1875 -Q 15.875 -1.703125 12.234375 9.375 -Q 8.59375 20.453125 8.59375 31.390625 -Q 8.59375 42.28125 12.203125 53.3125 -Q 15.828125 64.359375 23.1875 75.875 -z -" id="DejaVuSans-28"/> - <path d="M 36.8125 72.90625 -L 48 72.90625 -L 61.53125 0 -L 51.21875 0 -L 48.1875 18.703125 -L 15.375 18.703125 -L 5.078125 0 -L -5.328125 0 -z -M 40.375 63.1875 -L 19.921875 26.90625 -L 46.6875 26.90625 -z -" id="DejaVuSans-Oblique-41"/> - <path d="M 8.015625 75.875 -L 15.828125 75.875 -Q 23.140625 64.359375 26.78125 53.3125 -Q 30.421875 42.28125 30.421875 31.390625 -Q 30.421875 20.453125 26.78125 9.375 -Q 23.140625 -1.703125 15.828125 -13.1875 -L 8.015625 -13.1875 -Q 14.5 -2 17.703125 9.0625 -Q 20.90625 20.125 20.90625 31.390625 -Q 20.90625 42.671875 17.703125 53.65625 -Q 14.5 64.65625 8.015625 75.875 -" id="DejaVuSans-29"/> - </defs> - <g style="fill:#01769d;" transform="translate(21.523188 101.55)rotate(-90)scale(0.1 -0.1)"> - <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> - <use transform="translate(68.408203 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-67"/> - <use transform="translate(112.841797 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-61"/> - <use transform="translate(155.737305 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-74"/> - <use transform="translate(183.183594 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-65"/> - <use transform="translate(256.043511 0.125)" xlink:href="#DejaVuSans-28"/> - <use transform="translate(295.057183 0.125)" xlink:href="#DejaVuSans-Oblique-41"/> - <use transform="translate(363.465386 0.125)" xlink:href="#DejaVuSans-29"/> - </g> - </g> - </g> - <g id="line2d_31"> - <path clip-path="url(#p0abb017c56)" d="M 77.523 121.368323 -L 82.104834 121.247495 -L 95.371819 121.314144 -L 100.196178 121.31904 -L 108.019049 121.384974 -L 116.906607 121.3437 -L 125.758588 121.356131 -L 135.309784 121.367994 -L 155.548998 121.365532 -L 166.342161 121.440757 -L 166.6357 121.437925 -L 166.779192 121.367198 -L 167.066174 121.059361 -L 167.434755 120.343497 -L 167.9441 118.800289 -L 168.547144 116.334551 -L 169.753234 110.000313 -L 170.959323 102.700034 -L 172.165413 94.008874 -L 172.763798 88.05571 -L 173.833832 76.286686 -L 174.608428 70.100655 -L 175.739825 63.775666 -L 176.945915 58.788435 -L 178.152005 54.739522 -L 179.358094 51.301937 -L 180.564184 48.343974 -L 181.770273 45.787877 -L 183.579407 42.582467 -L 185.388542 39.995982 -L 187.197676 37.906311 -L 189.00681 36.216587 -L 190.815945 34.849348 -L 192.625079 33.742537 -L 195.037258 32.587 -L 197.449437 31.714362 -L 200.464661 30.917188 -L 203.479885 30.355493 -L 207.098154 29.895783 -L 211.922512 29.517934 -L 218.556004 29.247429 -L 228.807765 29.084908 -L 250.517377 29.019441 -L 260.284788 29.098449 -L 262.5508 29.314096 -L 263.382668 29.565515 -L 264.386341 30.208698 -L 264.989386 30.815202 -L 266.195475 32.517268 -L 267.401565 34.891198 -L 268.607655 37.958743 -L 269.813744 41.803791 -L 271.019834 46.600192 -L 272.225923 52.619144 -L 273.432013 60.192513 -L 274.638102 69.624712 -L 275.844192 81.053739 -L 277.653326 101.162356 -L 279.423344 120.346638 -L 280.528675 129.234712 -L 281.070793 132.186405 -L 281.673838 134.385051 -L 282.276883 135.496065 -L 282.879927 135.588513 -L 283.482972 134.791867 -L 284.086017 133.251528 -L 284.689062 131.123511 -L 285.895151 125.757381 -L 287.704286 117.298038 -L 288.910375 112.967653 -L 289.496023 111.548352 -L 290.099068 110.647702 -L 290.702113 110.342144 -L 291.305158 110.636855 -L 291.908203 111.497649 -L 292.511247 112.857412 -L 293.717337 116.690982 -L 296.114163 125.520214 -L 296.717207 127.259601 -L 297.320252 128.577148 -L 297.923297 129.408384 -L 298.526342 129.7284 -L 299.129386 129.548618 -L 299.732431 128.910418 -L 300.335476 127.878121 -L 301.541566 124.963829 -L 303.759998 118.811897 -L 304.951355 116.320751 -L 305.554399 115.497124 -L 306.157444 115.014618 -L 306.760489 114.890692 -L 307.363534 115.121469 -L 307.966579 115.68367 -L 308.569623 116.536247 -L 309.775713 118.877666 -L 312.187892 124.052196 -L 312.790937 125.018716 -L 313.393982 125.737903 -L 313.997026 126.177996 -L 314.600071 126.325985 -L 315.203116 126.187203 -L 315.806161 125.783509 -L 316.409205 125.150535 -L 317.615295 123.388523 -L 319.974098 119.511045 -L 320.957494 118.323582 -L 321.560539 117.846357 -L 322.163584 117.567354 -L 322.766629 117.503998 -L 323.369674 117.652736 -L 323.972718 117.99856 -L 325.178808 119.171139 -L 328.797076 123.555414 -L 329.400121 123.976264 -L 330.003166 124.23298 -L 330.606211 124.317874 -L 331.209256 124.23354 -L 331.8123 123.99209 -L 333.01839 123.12574 -L 337.052433 119.480025 -L 337.655478 119.213869 -L 338.258523 119.070475 -L 338.861567 119.056881 -L 339.464612 119.169359 -L 340.670702 119.72454 -L 342.479836 121.068853 -L 344.28897 122.396287 -L 345.49506 122.953923 -L 346.701149 123.122986 -L 347.907239 122.897752 -L 349.113328 122.358201 -L 352.731597 120.341636 -L 353.937687 120.017974 -L 355.143776 120.000261 -L 356.349866 120.270731 -L 358.159 121.03466 -L 360.368816 122.009901 -L 361.574906 122.32687 -L 362.780996 122.40973 -L 363.987085 122.258762 -L 365.796219 121.714491 -L 368.208399 120.87632 -L 369.414488 120.611358 -L 370.620578 120.522646 -L 371.826667 120.616382 -L 373.635801 121.01828 -L 377.035951 121.870934 -L 378.845085 121.98414 -L 380.654219 121.79284 -L 386.047837 120.864546 -L 387.856971 120.914861 -L 390.26915 121.262984 -L 393.193663 121.678337 -L 395.002797 121.727913 -L 397.414976 121.527195 -L 401.399261 121.083871 -L 403.81144 121.088486 -L 407.855142 121.45744 -L 410.244034 121.58036 -L 412.656213 121.509192 -L 418.512878 121.173165 -L 421.528102 121.278235 -L 426.244731 121.490437 -L 429.863 121.393803 -L 429.863 121.393803 -" style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> - </g> - <g id="patch_3"> - <path d="M 59.906 148.04 -L 59.906 14.76 -" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> - </g> - <g id="patch_4"> - <path d="M 59.906 148.04 -L 447.48 148.04 -" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> - </g> - </g> - <g id="axes_2"> - <g id="patch_5"> - <path d="M 59.906 300.76 -L 447.48 300.76 -L 447.48 167.48 -L 59.906 167.48 -z -" style="fill:#ffffff;"/> - </g> - <g id="matplotlib.axis_3"> - <g id="xtick_10"> - <g id="line2d_32"> - <path clip-path="url(#p7b2710af9c)" d="M 77.073816 300.76 -L 77.073816 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_33"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="77.073816" xlink:href="#m34009888c3" y="300.76"/> - </g> - </g> - <g id="text_8"> - <!-- 0.0 --> - <g style="fill:#01769d;" transform="translate(69.122254 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_11"> - <g id="line2d_34"> - <path clip-path="url(#p7b2710af9c)" d="M 121.182234 300.76 -L 121.182234 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_35"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="121.182234" xlink:href="#m34009888c3" y="300.76"/> - </g> - </g> - <g id="text_9"> - <!-- 0.5 --> - <defs> - <path d="M 10.796875 72.90625 -L 49.515625 72.90625 -L 49.515625 64.59375 -L 19.828125 64.59375 -L 19.828125 46.734375 -Q 21.96875 47.46875 24.109375 47.828125 -Q 26.265625 48.1875 28.421875 48.1875 -Q 40.625 48.1875 47.75 41.5 -Q 54.890625 34.8125 54.890625 23.390625 -Q 54.890625 11.625 47.5625 5.09375 -Q 40.234375 -1.421875 26.90625 -1.421875 -Q 22.3125 -1.421875 17.546875 -0.640625 -Q 12.796875 0.140625 7.71875 1.703125 -L 7.71875 11.625 -Q 12.109375 9.234375 16.796875 8.0625 -Q 21.484375 6.890625 26.703125 6.890625 -Q 35.15625 6.890625 40.078125 11.328125 -Q 45.015625 15.765625 45.015625 23.390625 -Q 45.015625 31 40.078125 35.4375 -Q 35.15625 39.890625 26.703125 39.890625 -Q 22.75 39.890625 18.8125 39.015625 -Q 14.890625 38.140625 10.796875 36.28125 -z -" id="DejaVuSans-35"/> - </defs> - <g style="fill:#01769d;" transform="translate(113.230672 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> - </g> - </g> - </g> - <g id="xtick_12"> - <g id="line2d_36"> - <path clip-path="url(#p7b2710af9c)" d="M 165.290652 300.76 -L 165.290652 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_37"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="165.290652" xlink:href="#m34009888c3" y="300.76"/> - </g> - </g> - <g id="text_10"> - <!-- 1.0 --> - <g style="fill:#01769d;" transform="translate(157.339089 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_13"> - <g id="line2d_38"> - <path clip-path="url(#p7b2710af9c)" d="M 209.399069 300.76 -L 209.399069 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_39"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="209.399069" xlink:href="#m34009888c3" y="300.76"/> - </g> - </g> - <g id="text_11"> - <!-- 1.5 --> - <g style="fill:#01769d;" transform="translate(201.447507 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> - </g> - </g> - </g> - <g id="xtick_14"> - <g id="line2d_40"> - <path clip-path="url(#p7b2710af9c)" d="M 253.507487 300.76 -L 253.507487 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_41"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="253.507487" xlink:href="#m34009888c3" y="300.76"/> - </g> - </g> - <g id="text_12"> - <!-- 2.0 --> - <g style="fill:#01769d;" transform="translate(245.555924 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-32"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_15"> - <g id="line2d_42"> - <path clip-path="url(#p7b2710af9c)" d="M 297.615905 300.76 -L 297.615905 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_43"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="297.615905" xlink:href="#m34009888c3" y="300.76"/> - </g> - </g> - <g id="text_13"> - <!-- 2.5 --> - <g style="fill:#01769d;" transform="translate(289.664342 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-32"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> - </g> - </g> - </g> - <g id="xtick_16"> - <g id="line2d_44"> - <path clip-path="url(#p7b2710af9c)" d="M 341.724322 300.76 -L 341.724322 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_45"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="341.724322" xlink:href="#m34009888c3" y="300.76"/> - </g> - </g> - <g id="text_14"> - <!-- 3.0 --> - <g style="fill:#01769d;" transform="translate(333.77276 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-33"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_17"> - <g id="line2d_46"> - <path clip-path="url(#p7b2710af9c)" d="M 385.83274 300.76 -L 385.83274 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_47"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="385.83274" xlink:href="#m34009888c3" y="300.76"/> - </g> - </g> - <g id="text_15"> - <!-- 3.5 --> - <g style="fill:#01769d;" transform="translate(377.881177 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-33"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> - </g> - </g> - </g> - <g id="xtick_18"> - <g id="line2d_48"> - <path clip-path="url(#p7b2710af9c)" d="M 429.941157 300.76 -L 429.941157 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_49"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="429.941157" xlink:href="#m34009888c3" y="300.76"/> - </g> - </g> - <g id="text_16"> - <!-- 4.0 --> - <g style="fill:#01769d;" transform="translate(421.989595 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-34"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="text_17"> - <!-- $t\;(\mu s)$ --> - <defs> - <path d="M -1.3125 -20.796875 -L 13.375 54.6875 -L 22.40625 54.6875 -L 15.765625 20.65625 -Q 15.578125 19.625 15.421875 18.359375 -Q 15.28125 17.09375 15.28125 15.828125 -Q 15.28125 11.28125 18.140625 8.828125 -Q 21 6.390625 26.3125 6.390625 -Q 33.546875 6.390625 37.984375 10.484375 -Q 42.4375 14.59375 44 22.796875 -L 50.203125 54.6875 -L 59.1875 54.6875 -L 51.03125 12.640625 -Q 50.828125 11.71875 50.75 11.03125 -Q 50.6875 10.359375 50.6875 9.8125 -Q 50.6875 8.296875 51.296875 7.59375 -Q 51.90625 6.890625 53.21875 6.890625 -Q 53.71875 6.890625 54.5625 7.125 -Q 55.421875 7.375 56.984375 8.015625 -L 55.609375 0.78125 -Q 53.46875 -0.296875 51.515625 -0.859375 -Q 49.5625 -1.421875 47.703125 -1.421875 -Q 44.484375 -1.421875 42.65625 0.625 -Q 40.828125 2.6875 40.828125 6.296875 -Q 38.09375 2.390625 34.296875 0.484375 -Q 30.515625 -1.421875 25.390625 -1.421875 -Q 20.84375 -1.421875 17.453125 0.671875 -Q 14.0625 2.78125 12.984375 6.203125 -L 7.71875 -20.796875 -z -" id="DejaVuSans-Oblique-3bc"/> - <path d="M 50 53.078125 -L 48.296875 44.578125 -Q 44.734375 46.53125 40.765625 47.5 -Q 36.8125 48.484375 32.625 48.484375 -Q 25.53125 48.484375 21.453125 46.0625 -Q 17.390625 43.65625 17.390625 39.5 -Q 17.390625 34.671875 26.859375 32.078125 -Q 27.59375 31.890625 27.9375 31.78125 -L 30.8125 30.90625 -Q 39.796875 28.421875 42.796875 25.6875 -Q 45.796875 22.953125 45.796875 18.21875 -Q 45.796875 9.515625 38.890625 4.046875 -Q 31.984375 -1.421875 20.796875 -1.421875 -Q 16.453125 -1.421875 11.671875 -0.578125 -Q 6.890625 0.25 1.125 2 -L 2.875 11.28125 -Q 7.8125 8.734375 12.59375 7.421875 -Q 17.390625 6.109375 21.78125 6.109375 -Q 28.375 6.109375 32.5 8.9375 -Q 36.625 11.765625 36.625 16.109375 -Q 36.625 20.796875 25.78125 23.6875 -L 24.859375 23.921875 -L 21.78125 24.703125 -Q 14.9375 26.515625 11.765625 29.46875 -Q 8.59375 32.421875 8.59375 37.015625 -Q 8.59375 45.75 15.15625 50.875 -Q 21.734375 56 33.015625 56 -Q 37.453125 56 41.671875 55.265625 -Q 45.90625 54.546875 50 53.078125 -" id="DejaVuSans-Oblique-73"/> - </defs> - <g style="fill:#01769d;" transform="translate(240.643 329.038125)scale(0.1 -0.1)"> - <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-74"/> - <use transform="translate(66.26812 0.125)" xlink:href="#DejaVuSans-28"/> - <use transform="translate(105.281792 0.125)" xlink:href="#DejaVuSans-Oblique-3bc"/> - <use transform="translate(168.904839 0.125)" xlink:href="#DejaVuSans-Oblique-73"/> - <use transform="translate(221.004448 0.125)" xlink:href="#DejaVuSans-29"/> - </g> - </g> - </g> - <g id="matplotlib.axis_4"> - <g id="ytick_7"> - <g id="line2d_50"> - <path clip-path="url(#p7b2710af9c)" d="M 59.906 292.43 -L 447.48 292.43 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_51"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mab356067c9" y="292.43"/> - </g> - </g> - <g id="text_18"> - <!-- 0 --> - <g style="fill:#01769d;" transform="translate(46.5435 296.229219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="ytick_8"> - <g id="line2d_52"> - <path clip-path="url(#p7b2710af9c)" d="M 59.906 259.11 -L 447.48 259.11 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_53"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mab356067c9" y="259.11"/> - </g> - </g> - <g id="text_19"> - <!-- 2 --> - <g style="fill:#01769d;" transform="translate(46.5435 262.909219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-32"/> - </g> - </g> - </g> - <g id="ytick_9"> - <g id="line2d_54"> - <path clip-path="url(#p7b2710af9c)" d="M 59.906 225.79 -L 447.48 225.79 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_55"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mab356067c9" y="225.79"/> - </g> - </g> - <g id="text_20"> - <!-- 4 --> - <g style="fill:#01769d;" transform="translate(46.5435 229.589219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-34"/> - </g> - </g> - </g> - <g id="ytick_10"> - <g id="line2d_56"> - <path clip-path="url(#p7b2710af9c)" d="M 59.906 192.47 -L 447.48 192.47 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_57"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mab356067c9" y="192.47"/> - </g> - </g> - <g id="text_21"> - <!-- 6 --> - <defs> - <path d="M 33.015625 40.375 -Q 26.375 40.375 22.484375 35.828125 -Q 18.609375 31.296875 18.609375 23.390625 -Q 18.609375 15.53125 22.484375 10.953125 -Q 26.375 6.390625 33.015625 6.390625 -Q 39.65625 6.390625 43.53125 10.953125 -Q 47.40625 15.53125 47.40625 23.390625 -Q 47.40625 31.296875 43.53125 35.828125 -Q 39.65625 40.375 33.015625 40.375 -M 52.59375 71.296875 -L 52.59375 62.3125 -Q 48.875 64.0625 45.09375 64.984375 -Q 41.3125 65.921875 37.59375 65.921875 -Q 27.828125 65.921875 22.671875 59.328125 -Q 17.53125 52.734375 16.796875 39.40625 -Q 19.671875 43.65625 24.015625 45.921875 -Q 28.375 48.1875 33.59375 48.1875 -Q 44.578125 48.1875 50.953125 41.515625 -Q 57.328125 34.859375 57.328125 23.390625 -Q 57.328125 12.15625 50.6875 5.359375 -Q 44.046875 -1.421875 33.015625 -1.421875 -Q 20.359375 -1.421875 13.671875 8.265625 -Q 6.984375 17.96875 6.984375 36.375 -Q 6.984375 53.65625 15.1875 63.9375 -Q 23.390625 74.21875 37.203125 74.21875 -Q 40.921875 74.21875 44.703125 73.484375 -Q 48.484375 72.75 52.59375 71.296875 -" id="DejaVuSans-36"/> - </defs> - <g style="fill:#01769d;" transform="translate(46.5435 196.269219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-36"/> - </g> - </g> - </g> - <g id="text_22"> - <!-- $I_{LED}\;(A)$ --> - <defs> - <path d="M 16.890625 72.90625 -L 26.8125 72.90625 -L 12.59375 0 -L 2.6875 0 -z -" id="DejaVuSans-Oblique-49"/> - <path d="M 16.796875 72.90625 -L 26.703125 72.90625 -L 14.203125 8.203125 -L 49.703125 8.203125 -L 48.09375 0 -L 2.6875 0 -z -" id="DejaVuSans-Oblique-4c"/> - <path d="M 16.890625 72.90625 -L 62.984375 72.90625 -L 61.375 64.59375 -L 25.09375 64.59375 -L 20.90625 43.015625 -L 55.71875 43.015625 -L 54.109375 34.71875 -L 19.28125 34.71875 -L 14.203125 8.296875 -L 51.3125 8.296875 -L 49.703125 0 -L 2.6875 0 -z -" id="DejaVuSans-Oblique-45"/> - <path d="M 16.890625 72.90625 -L 38.09375 72.90625 -Q 54.984375 72.90625 63.59375 65.75 -Q 72.21875 58.59375 72.21875 44.484375 -Q 72.21875 35.15625 68.9375 26.53125 -Q 65.671875 17.921875 59.90625 12.015625 -Q 54.109375 5.953125 45.171875 2.96875 -Q 36.234375 0 24.03125 0 -L 2.6875 0 -z -M 25.203125 64.796875 -L 14.203125 8.109375 -L 27.09375 8.109375 -Q 43.65625 8.109375 52.734375 17.625 -Q 61.8125 27.15625 61.8125 44.484375 -Q 61.8125 54.984375 55.953125 59.890625 -Q 50.09375 64.796875 37.59375 64.796875 -z -" id="DejaVuSans-Oblique-44"/> - </defs> - <g style="fill:#01769d;" transform="translate(40.463813 251.27)rotate(-90)scale(0.1 -0.1)"> - <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-49"/> - <use transform="translate(29.492188 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-4c"/> - <use transform="translate(68.491211 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-45"/> - <use transform="translate(112.719727 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-44"/> - <use transform="translate(196.414604 0.125)" xlink:href="#DejaVuSans-28"/> - <use transform="translate(235.428276 0.125)" xlink:href="#DejaVuSans-Oblique-41"/> - <use transform="translate(303.836479 0.125)" xlink:href="#DejaVuSans-29"/> - </g> - </g> - </g> - <g id="line2d_58"> - <path clip-path="url(#p7b2710af9c)" d="M 77.523 211.310211 -L 79.692655 211.177581 -L 85.120058 210.715765 -L 88.135282 210.80413 -L 92.95964 211.042585 -L 95.974864 210.932729 -L 101.402267 210.651691 -L 105.606869 210.754383 -L 109.690089 210.818008 -L 123.346409 210.635964 -L 128.112079 210.578237 -L 135.309784 210.450788 -L 145.373573 210.400941 -L 153.175191 210.332236 -L 162.785536 210.24567 -L 165.471215 210.11304 -L 166.052936 207.895177 -L 166.153524 207.98894 -L 166.342161 210.260764 -L 167.9441 250.952214 -L 168.547144 260.774434 -L 169.150189 268.265986 -L 170.356279 278.805534 -L 171.562368 286.673525 -L 172.383511 291.063781 -L 172.628965 291.572312 -L 173.073548 291.893175 -L 173.833832 292.088473 -L 175.739825 292.220578 -L 181.770273 292.288144 -L 220.968183 292.305144 -L 257.269564 292.219211 -L 259.681743 292.025875 -L 260.887832 291.765694 -L 261.490877 291.502911 -L 262.093922 291.045809 -L 262.5508 290.406563 -L 263.382668 288.249759 -L 265.592431 281.158714 -L 267.401565 274.441632 -L 268.607655 269.030247 -L 269.813744 262.316833 -L 271.019834 253.683055 -L 272.225923 242.599257 -L 273.432013 228.890992 -L 275.241147 204.536938 -L 276.447237 188.426818 -L 277.050281 181.946561 -L 277.653326 177.437082 -L 278.256371 175.325127 -L 278.859416 175.648115 -L 279.423344 178.066864 -L 280.026389 182.5583 -L 281.070793 194.003486 -L 284.086017 232.083198 -L 284.689062 237.264942 -L 285.292107 240.925643 -L 285.895151 242.936122 -L 286.498196 243.262475 -L 287.101241 241.960579 -L 287.704286 239.166997 -L 288.30733 235.087913 -L 289.496023 224.347694 -L 291.908203 200.665037 -L 292.511247 196.230445 -L 293.114292 192.898012 -L 293.717337 190.814046 -L 294.320382 190.048686 -L 294.923426 190.58647 -L 295.511118 192.300934 -L 296.114163 195.13455 -L 297.320252 203.178098 -L 299.732431 221.431611 -L 300.335476 224.948903 -L 300.938521 227.651772 -L 301.541566 229.425962 -L 302.14461 230.258812 -L 302.635543 230.190972 -L 303.156953 229.359672 -L 303.759998 227.600326 -L 304.363042 225.12465 -L 305.554399 218.670965 -L 307.363534 207.877318 -L 308.569623 202.265713 -L 309.172668 200.392813 -L 309.775713 199.261782 -L 310.378758 198.90794 -L 310.981802 199.321525 -L 311.584847 200.449907 -L 312.187892 202.202106 -L 313.393982 207.06441 -L 315.806161 217.845996 -L 316.409205 219.883364 -L 317.01225 221.427129 -L 317.615295 222.411935 -L 318.21834 222.805678 -L 318.821384 222.621651 -L 319.371054 221.956034 -L 319.974098 220.753182 -L 320.957494 217.932544 -L 323.972718 207.578338 -L 324.575763 206.077405 -L 325.178808 204.97303 -L 325.781853 204.311428 -L 326.384897 204.112491 -L 326.987942 204.369555 -L 327.590987 205.050716 -L 328.194032 206.101562 -L 329.400121 209.006466 -L 331.8123 215.428496 -L 332.415345 216.638795 -L 333.01839 217.553463 -L 333.621435 218.133331 -L 334.224479 218.359174 -L 334.827524 218.237256 -L 335.390253 217.817024 -L 335.993298 217.080302 -L 337.052433 215.221446 -L 340.067657 209.053114 -L 340.670702 208.192492 -L 341.273746 207.575139 -L 341.876791 207.225729 -L 342.479836 207.153224 -L 343.082881 207.350862 -L 343.685926 207.797067 -L 344.28897 208.457286 -L 345.49506 210.231443 -L 347.907239 214.031922 -L 348.510284 214.726011 -L 349.113328 215.238256 -L 349.716373 215.547049 -L 350.319418 215.642827 -L 350.922463 215.528056 -L 351.525508 215.216681 -L 352.731597 214.109357 -L 356.349866 209.771677 -L 356.952911 209.322156 -L 357.555955 209.026775 -L 358.159 208.888613 -L 358.657674 208.900242 -L 359.162727 209.034172 -L 360.368816 209.736724 -L 361.574906 210.815009 -L 363.38404 212.571539 -L 364.59013 213.460617 -L 365.193175 213.747369 -L 365.796219 213.910737 -L 366.399264 213.946023 -L 367.002309 213.855776 -L 368.208399 213.342081 -L 369.414488 212.510214 -L 371.826667 210.69479 -L 373.032757 210.095314 -L 374.238846 209.865489 -L 375.396251 210.009331 -L 376.526958 210.442292 -L 378.845085 211.765645 -L 380.051175 212.379666 -L 381.257264 212.768277 -L 382.463354 212.86269 -L 383.660229 212.663553 -L 384.841747 212.240922 -L 388.460016 210.669934 -L 389.666105 210.42025 -L 390.872195 210.40464 -L 392.044342 210.600228 -L 393.796708 211.14476 -L 396.208887 211.913703 -L 397.414976 212.118404 -L 399.014271 212.114522 -L 400.796216 211.775225 -L 405.01753 210.719231 -L 406.747454 210.635398 -L 408.458187 210.82149 -L 413.259258 211.638463 -L 414.931159 211.641128 -L 417.306788 211.338083 -L 420.925057 210.782339 -L 422.659716 210.718947 -L 425.038642 210.888496 -L 429.259955 211.299598 -L 429.863 211.312477 -L 429.863 211.312477 -" style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> - </g> - <g id="patch_6"> - <path d="M 59.906 300.76 -L 59.906 167.48 -" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> - </g> - <g id="patch_7"> - <path d="M 59.906 300.76 -L 447.48 300.76 -" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> - </g> - </g> - </g> - <defs> - <clipPath id="p0abb017c56"> - <rect height="133.28" width="387.574" x="59.906" y="14.76"/> - </clipPath> - <clipPath id="p7b2710af9c"> - <rect height="133.28" width="387.574" x="59.906" y="167.48"/> - </clipPath> - </defs> -</svg> diff --git a/firmware/spice_sims/overshoot_sim_r10.svg b/firmware/spice_sims/overshoot_sim_r10.svg index d92af72..883fb1c 100644 --- a/firmware/spice_sims/overshoot_sim_r10.svg +++ b/firmware/spice_sims/overshoot_sim_r10.svg @@ -2,7 +2,7 @@ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="345pt" version="1.1" viewBox="0 0 460 345" width="460pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<svg height="432pt" version="1.1" viewBox="0 0 432 432" width="432pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> *{stroke-linecap:butt;stroke-linejoin:round;} @@ -10,133 +10,133 @@ </defs> <g id="figure_1"> <g id="patch_1"> - <path d="M 0 345.6 -L 460.8 345.6 -L 460.8 0 + <path d="M 0 432 +L 432 432 +L 432 0 L 0 0 z " style="fill:#ffffff;"/> </g> <g id="axes_1"> <g id="patch_2"> - <path d="M 59.906 148.04 -L 447.48 148.04 -L 447.48 14.76 -L 59.906 14.76 + <path d="M 50.078 126.413333 +L 418.68 126.413333 +L 418.68 13.32 +L 50.078 13.32 z " style="fill:#ffffff;"/> </g> <g id="matplotlib.axis_1"> <g id="xtick_1"> <g id="line2d_1"> - <path clip-path="url(#p8f76f333f0)" d="M 76.929129 148.04 -L 76.929129 14.76 + <path clip-path="url(#p1104c7f0b4)" d="M 66.267836 126.413333 +L 66.267836 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_2"> <defs> <path d="M 0 0 L 0 3.5 -" id="md88e215ea2" style="stroke:#01769d;stroke-width:0.8;"/> +" id="m46a3efc31f" style="stroke:#01769d;stroke-width:0.8;"/> </defs> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="76.929129" xlink:href="#md88e215ea2" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="66.267836" xlink:href="#m46a3efc31f" y="126.413333"/> </g> </g> </g> <g id="xtick_2"> <g id="line2d_3"> - <path clip-path="url(#p8f76f333f0)" d="M 121.047281 148.04 -L 121.047281 14.76 + <path clip-path="url(#p1104c7f0b4)" d="M 108.226376 126.413333 +L 108.226376 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_4"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="121.047281" xlink:href="#md88e215ea2" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="108.226376" xlink:href="#m46a3efc31f" y="126.413333"/> </g> </g> </g> <g id="xtick_3"> <g id="line2d_5"> - <path clip-path="url(#p8f76f333f0)" d="M 165.165433 148.04 -L 165.165433 14.76 + <path clip-path="url(#p1104c7f0b4)" d="M 150.184915 126.413333 +L 150.184915 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_6"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="165.165433" xlink:href="#md88e215ea2" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="150.184915" xlink:href="#m46a3efc31f" y="126.413333"/> </g> </g> </g> <g id="xtick_4"> <g id="line2d_7"> - <path clip-path="url(#p8f76f333f0)" d="M 209.283586 148.04 -L 209.283586 14.76 + <path clip-path="url(#p1104c7f0b4)" d="M 192.143455 126.413333 +L 192.143455 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_8"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="209.283586" xlink:href="#md88e215ea2" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="192.143455" xlink:href="#m46a3efc31f" y="126.413333"/> </g> </g> </g> <g id="xtick_5"> <g id="line2d_9"> - <path clip-path="url(#p8f76f333f0)" d="M 253.401738 148.04 -L 253.401738 14.76 + <path clip-path="url(#p1104c7f0b4)" d="M 234.101995 126.413333 +L 234.101995 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_10"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="253.401738" xlink:href="#md88e215ea2" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="234.101995" xlink:href="#m46a3efc31f" y="126.413333"/> </g> </g> </g> <g id="xtick_6"> <g id="line2d_11"> - <path clip-path="url(#p8f76f333f0)" d="M 297.51989 148.04 -L 297.51989 14.76 + <path clip-path="url(#p1104c7f0b4)" d="M 276.060535 126.413333 +L 276.060535 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_12"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="297.51989" xlink:href="#md88e215ea2" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="276.060535" xlink:href="#m46a3efc31f" y="126.413333"/> </g> </g> </g> <g id="xtick_7"> <g id="line2d_13"> - <path clip-path="url(#p8f76f333f0)" d="M 341.638042 148.04 -L 341.638042 14.76 + <path clip-path="url(#p1104c7f0b4)" d="M 318.019075 126.413333 +L 318.019075 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_14"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="341.638042" xlink:href="#md88e215ea2" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="318.019075" xlink:href="#m46a3efc31f" y="126.413333"/> </g> </g> </g> <g id="xtick_8"> <g id="line2d_15"> - <path clip-path="url(#p8f76f333f0)" d="M 385.756194 148.04 -L 385.756194 14.76 + <path clip-path="url(#p1104c7f0b4)" d="M 359.977615 126.413333 +L 359.977615 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_16"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="385.756194" xlink:href="#md88e215ea2" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="359.977615" xlink:href="#m46a3efc31f" y="126.413333"/> </g> </g> </g> <g id="xtick_9"> <g id="line2d_17"> - <path clip-path="url(#p8f76f333f0)" d="M 429.874346 148.04 -L 429.874346 14.76 + <path clip-path="url(#p1104c7f0b4)" d="M 401.936155 126.413333 +L 401.936155 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_18"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="429.874346" xlink:href="#md88e215ea2" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="401.936155" xlink:href="#m46a3efc31f" y="126.413333"/> </g> </g> </g> @@ -144,29 +144,23 @@ L 429.874346 14.76 <g id="matplotlib.axis_2"> <g id="ytick_1"> <g id="line2d_19"> - <path clip-path="url(#p8f76f333f0)" d="M 59.906 148.04 -L 447.48 148.04 + <path clip-path="url(#p1104c7f0b4)" d="M 50.078 110.257143 +L 418.68 110.257143 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_20"> <defs> <path d="M 0 0 L -3.5 0 -" id="m49dbdc804c" style="stroke:#01769d;stroke-width:0.8;"/> +" id="m9a7d95ec17" style="stroke:#01769d;stroke-width:0.8;"/> </defs> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m49dbdc804c" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m9a7d95ec17" y="110.257143"/> </g> </g> <g id="text_1"> - <!-- −0.1 --> + <!-- 0 --> <defs> - <path d="M 10.59375 35.5 -L 73.1875 35.5 -L 73.1875 27.203125 -L 10.59375 27.203125 -z -" id="DejaVuSans-2212"/> <path d="M 31.78125 66.40625 Q 24.171875 66.40625 20.328125 58.90625 Q 16.5 51.421875 16.5 36.375 @@ -186,12 +180,26 @@ Q 6.59375 17.96875 6.59375 36.375 Q 6.59375 54.828125 13.0625 64.515625 Q 19.53125 74.21875 31.78125 74.21875 " id="DejaVuSans-30"/> - <path d="M 10.6875 12.40625 -L 21 12.40625 -L 21 0 -L 10.6875 0 -z -" id="DejaVuSans-2e"/> + </defs> + <g style="fill:#01769d;" transform="translate(36.7155 114.056362)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + </g> + </g> + </g> + <g id="ytick_2"> + <g id="line2d_21"> + <path clip-path="url(#p1104c7f0b4)" d="M 50.078 83.330159 +L 418.68 83.330159 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_22"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m9a7d95ec17" y="83.330159"/> + </g> + </g> + <g id="text_2"> + <!-- 1 --> + <defs> <path d="M 12.40625 8.296875 L 28.515625 8.296875 L 28.515625 63.921875 @@ -206,67 +214,24 @@ L 12.40625 0 z " id="DejaVuSans-31"/> </defs> - <g style="fill:#01769d;" transform="translate(28.623188 151.839219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-30"/> - <use x="147.412109" xlink:href="#DejaVuSans-2e"/> - <use x="179.199219" xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="ytick_2"> - <g id="line2d_21"> - <path clip-path="url(#p8f76f333f0)" d="M 59.906 121.384 -L 447.48 121.384 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_22"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m49dbdc804c" y="121.384"/> - </g> - </g> - <g id="text_2"> - <!-- 0.0 --> - <g style="fill:#01769d;" transform="translate(37.002875 125.183219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <g style="fill:#01769d;" transform="translate(36.7155 87.129377)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-31"/> </g> </g> </g> <g id="ytick_3"> <g id="line2d_23"> - <path clip-path="url(#p8f76f333f0)" d="M 59.906 94.728 -L 447.48 94.728 + <path clip-path="url(#p1104c7f0b4)" d="M 50.078 56.403175 +L 418.68 56.403175 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_24"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m49dbdc804c" y="94.728"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m9a7d95ec17" y="56.403175"/> </g> </g> <g id="text_3"> - <!-- 0.1 --> - <g style="fill:#01769d;" transform="translate(37.002875 98.527219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="ytick_4"> - <g id="line2d_25"> - <path clip-path="url(#p8f76f333f0)" d="M 59.906 68.072 -L 447.48 68.072 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_26"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m49dbdc804c" y="68.072"/> - </g> - </g> - <g id="text_4"> - <!-- 0.2 --> + <!-- 2 --> <defs> <path d="M 19.1875 8.296875 L 53.609375 8.296875 @@ -292,26 +257,24 @@ Q 44.1875 33.984375 37.640625 27.21875 Q 31.109375 20.453125 19.1875 8.296875 " id="DejaVuSans-32"/> </defs> - <g style="fill:#01769d;" transform="translate(37.002875 71.871219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-32"/> + <g style="fill:#01769d;" transform="translate(36.7155 60.202393)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-32"/> </g> </g> </g> - <g id="ytick_5"> - <g id="line2d_27"> - <path clip-path="url(#p8f76f333f0)" d="M 59.906 41.416 -L 447.48 41.416 + <g id="ytick_4"> + <g id="line2d_25"> + <path clip-path="url(#p1104c7f0b4)" d="M 50.078 29.47619 +L 418.68 29.47619 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_28"> + <g id="line2d_26"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m49dbdc804c" y="41.416"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m9a7d95ec17" y="29.47619"/> </g> </g> - <g id="text_5"> - <!-- 0.3 --> + <g id="text_4"> + <!-- 3 --> <defs> <path d="M 40.578125 39.3125 Q 47.65625 37.796875 51.625 33 @@ -345,54 +308,13 @@ Q 53.90625 49.265625 50.4375 45.09375 Q 46.96875 40.921875 40.578125 39.3125 " id="DejaVuSans-33"/> </defs> - <g style="fill:#01769d;" transform="translate(37.002875 45.215219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-33"/> - </g> - </g> - </g> - <g id="ytick_6"> - <g id="line2d_29"> - <path clip-path="url(#p8f76f333f0)" d="M 59.906 14.76 -L 447.48 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_30"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m49dbdc804c" y="14.76"/> - </g> - </g> - <g id="text_6"> - <!-- 0.4 --> - <defs> - <path d="M 37.796875 64.3125 -L 12.890625 25.390625 -L 37.796875 25.390625 -z -M 35.203125 72.90625 -L 47.609375 72.90625 -L 47.609375 25.390625 -L 58.015625 25.390625 -L 58.015625 17.1875 -L 47.609375 17.1875 -L 47.609375 0 -L 37.796875 0 -L 37.796875 17.1875 -L 4.890625 17.1875 -L 4.890625 26.703125 -z -" id="DejaVuSans-34"/> - </defs> - <g style="fill:#01769d;" transform="translate(37.002875 18.559219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-34"/> + <g style="fill:#01769d;" transform="translate(36.7155 33.275409)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-33"/> </g> </g> </g> - <g id="text_7"> - <!-- $V_{gate}\;(A)$ --> + <g id="text_5"> + <!-- $V_{gate}\;(V)$ --> <defs> <path d="M 20.609375 0 L 7.8125 72.90625 @@ -540,20 +462,6 @@ Q 8.59375 42.28125 12.203125 53.3125 Q 15.828125 64.359375 23.1875 75.875 z " id="DejaVuSans-28"/> - <path d="M 36.8125 72.90625 -L 48 72.90625 -L 61.53125 0 -L 51.21875 0 -L 48.1875 18.703125 -L 15.375 18.703125 -L 5.078125 0 -L -5.328125 0 -z -M 40.375 63.1875 -L 19.921875 26.90625 -L 46.6875 26.90625 -z -" id="DejaVuSans-Oblique-41"/> <path d="M 8.015625 75.875 L 15.828125 75.875 Q 23.140625 64.359375 26.78125 53.3125 @@ -567,232 +475,772 @@ Q 20.90625 42.671875 17.703125 53.65625 Q 14.5 64.65625 8.015625 75.875 " id="DejaVuSans-29"/> </defs> - <g style="fill:#01769d;" transform="translate(21.523188 101.55)rotate(-90)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(29.6155 90.016667)rotate(-90)scale(0.1 -0.1)"> <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> <use transform="translate(68.408203 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-67"/> <use transform="translate(112.841797 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-61"/> <use transform="translate(155.737305 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-74"/> <use transform="translate(183.183594 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-65"/> <use transform="translate(256.043511 0.125)" xlink:href="#DejaVuSans-28"/> - <use transform="translate(295.057183 0.125)" xlink:href="#DejaVuSans-Oblique-41"/> + <use transform="translate(295.057183 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> <use transform="translate(363.465386 0.125)" xlink:href="#DejaVuSans-29"/> </g> </g> </g> - <g id="line2d_31"> - <path clip-path="url(#p8f76f333f0)" d="M 77.523 121.450343 -L 82.789926 121.297152 -L 86.9535 121.275139 -L 95.944664 121.377495 -L 103.785977 121.316443 -L 112.560413 121.357254 -L 121.004903 121.342663 -L 130.579921 121.338481 -L 148.966578 121.338547 -L 166.359493 121.444185 -L 166.691515 121.445527 -L 166.848319 121.372513 -L 167.161927 121.04939 -L 167.581831 120.268796 -L 168.136076 118.682854 -L 168.739253 116.377795 -L 169.945609 110.507899 -L 171.151965 103.733372 -L 172.358321 95.479574 -L 173.680216 82.625909 -L 174.445286 75.563909 -L 175.322619 69.624605 -L 176.311969 64.553994 -L 177.467231 59.776866 -L 178.673587 55.61869 -L 179.879942 52.070483 -L 181.086298 49.013653 -L 182.292654 46.37143 -L 184.102187 43.057663 -L 185.911721 40.383453 -L 187.721255 38.222638 -L 189.530788 36.47507 -L 191.340322 35.06081 -L 193.149855 33.915641 -L 194.959389 32.988039 -L 197.3721 32.019014 -L 199.784812 31.286693 -L 203.403879 30.509191 -L 207.022946 29.997902 -L 211.848369 29.577271 -L 217.880148 29.294557 -L 227.530994 29.105913 -L 245.626329 29.025145 -L 261.00405 29.098929 -L 263.416761 29.264356 -L 264.49403 29.456332 -L 265.49632 29.855799 -L 266.610836 30.716975 -L 267.817191 32.164315 -L 269.023547 34.145389 -L 270.229903 36.650254 -L 271.436259 39.697088 -L 272.642614 43.346587 -L 273.84897 47.713933 -L 275.055326 52.972122 -L 276.261681 59.335869 -L 277.468037 67.022367 -L 278.674393 76.189738 -L 279.880749 86.845901 -L 283.499816 121.512454 -L 284.102994 125.835669 -L 284.706172 129.245436 -L 285.309349 131.6674 -L 285.912527 133.10121 -L 286.515705 133.606147 -L 287.118883 133.280192 -L 287.722061 132.243081 -L 288.325239 130.62696 -L 289.531594 126.220611 -L 291.90358 116.741298 -L 293.049947 113.503537 -L 293.653125 112.463111 -L 294.256303 111.918076 -L 294.859481 111.892771 -L 295.462658 112.370703 -L 296.065836 113.306643 -L 296.669014 114.632134 -L 297.87537 118.109036 -L 299.674809 123.87278 -L 300.881165 126.857511 -L 301.484343 127.804807 -L 302.087521 128.324361 -L 302.690699 128.408682 -L 303.293876 128.079036 -L 303.897054 127.379777 -L 304.500232 126.372537 -L 305.706588 123.734635 -L 307.516122 119.435878 -L 308.629912 117.329148 -L 309.120575 116.672317 -L 309.723753 116.125667 -L 310.326931 115.867088 -L 310.930109 115.913064 -L 311.533287 116.250953 -L 312.136464 116.852523 -L 313.34282 118.669489 -L 316.251456 123.854543 -L 316.854634 124.606958 -L 317.457812 125.141456 -L 318.060989 125.436141 -L 318.664167 125.484836 -L 319.267345 125.296426 -L 319.870523 124.893089 -L 321.076879 123.581982 -L 324.092768 119.495665 -L 325.127018 118.56641 -L 325.730196 118.253738 -L 326.333373 118.113874 -L 326.936551 118.154415 -L 327.539729 118.36689 -L 328.746085 119.229459 -L 330.461754 121.048464 -L 331.625941 122.290768 -L 332.832297 123.272537 -L 333.435475 123.583387 -L 334.038653 123.754852 -L 334.641831 123.783097 -L 335.245009 123.672703 -L 336.451364 123.091484 -L 337.65772 122.178234 -L 340.070431 120.243099 -L 341.145127 119.678216 -L 342.351482 119.426996 -L 343.557838 119.595173 -L 344.764194 120.119965 -L 348.809797 122.485082 -L 350.014217 122.767611 -L 351.220573 122.71862 -L 352.426929 122.374649 -L 354.236462 121.529057 -L 356.045996 120.686018 -L 357.211601 120.331141 -L 358.417957 120.20227 -L 359.624312 120.322285 -L 360.830668 120.648515 -L 364.888421 122.041214 -L 366.094777 122.191157 -L 367.301132 122.144655 -L 369.110666 121.772035 -L 372.693389 120.812378 -L 374.502923 120.663434 -L 376.312456 120.838874 -L 381.687573 121.830291 -L 383.497107 121.800338 -L 385.909818 121.452471 -L 388.801435 121.011162 -L 390.610969 120.938822 -L 393.02368 121.12767 -L 397.687583 121.633425 -L 400.100294 121.574524 -L 406.562091 121.101569 -L 409.57798 121.261141 -L 413.764784 121.518095 -L 416.780673 121.445026 -L 422.804194 121.201696 -L 427.629617 121.393616 -L 429.863 121.449373 -L 429.863 121.449373 + <g id="line2d_27"> + <path clip-path="url(#p1104c7f0b4)" d="M 66.832636 110.339649 +L 70.274548 110.318628 +L 76.948811 110.14542 +L 86.647156 110.254529 +L 92.383675 110.185155 +L 102.449553 110.236906 +L 109.333376 110.225572 +L 117.866039 110.234855 +L 127.417801 110.250333 +L 150.277934 110.225005 +L 150.307591 109.844015 +L 151.320525 80.412701 +L 151.516551 79.631064 +L 151.785423 79.608122 +L 153.010143 79.958685 +L 154.157447 79.979176 +L 155.878402 79.548883 +L 157.599358 78.99171 +L 158.101397 78.483005 +L 158.282894 77.951763 +L 159.010513 74.145553 +L 160.785821 64.927719 +L 162.458184 57.640658 +L 164.17914 51.421386 +L 165.900095 46.277767 +L 167.621051 42.019668 +L 169.342007 38.492556 +L 171.062963 35.569848 +L 172.783918 33.147469 +L 174.504874 31.139524 +L 176.22583 29.474925 +L 177.946786 28.09489 +L 179.667741 26.950736 +L 181.962349 25.723404 +L 184.256957 24.767415 +L 186.551564 24.022749 +L 189.993476 23.202688 +L 193.435387 22.638837 +L 198.024603 22.151054 +L 203.761122 21.801408 +L 212.3659 21.55621 +L 225.559894 21.435712 +L 234.121594 21.471579 +L 234.187008 23.330079 +L 234.328732 25.340152 +L 235.216025 33.179701 +L 236.742954 44.932064 +L 238.463909 56.097876 +L 240.184865 65.357635 +L 241.905821 72.964751 +L 243.053125 77.097639 +L 243.626777 78.779822 +L 244.200429 80.056214 +L 244.651312 80.596504 +L 245.14242 80.750769 +L 248.959107 80.949598 +L 251.827366 81.297037 +L 254.121974 81.813281 +L 255.84293 82.450158 +L 256.990234 83.078203 +L 258.137537 84.005218 +L 258.711189 84.669714 +L 259.284841 85.571669 +L 259.858493 86.854769 +L 260.432145 88.705315 +L 261.005797 91.265072 +L 262.153101 98.324146 +L 264.447708 114.384783 +L 265.595012 120.409259 +L 266.168664 122.467079 +L 266.742316 123.778668 +L 267.315968 124.294212 +L 267.88962 123.995756 +L 268.463272 122.903697 +L 269.036924 121.082894 +L 270.145495 115.961444 +L 272.383051 104.064152 +L 272.956703 101.790925 +L 273.530355 100.117725 +L 274.104006 99.106924 +L 274.677658 98.772057 +L 275.25131 99.084211 +L 275.824962 99.980362 +L 276.398614 101.372065 +L 277.536318 105.172402 +L 279.830925 113.790628 +L 280.978229 116.890018 +L 281.551881 117.860499 +L 282.125533 118.384576 +L 282.699185 118.443463 +L 283.272837 118.042003 +L 283.846489 117.209959 +L 284.420141 116.002031 +L 285.567445 112.787877 +L 287.093359 108.080215 +L 288.240663 105.324561 +L 288.814315 104.413438 +L 289.387967 103.871067 +L 289.961619 103.707913 +L 290.535271 103.911567 +L 291.108923 104.449916 +L 291.682574 105.268844 +L 292.727875 107.31471 +L 295.022483 112.377985 +L 296.169786 114.1946 +L 296.743438 114.754119 +L 297.31709 115.046484 +L 297.890742 115.063125 +L 298.464394 114.810229 +L 299.038046 114.308703 +L 300.18535 112.710654 +L 302.889928 108.06956 +L 303.46358 107.352742 +L 304.037232 106.827192 +L 304.610884 106.513861 +L 305.184535 106.420147 +L 305.758187 106.540473 +L 306.331839 106.857635 +L 307.389873 107.857845 +L 309.070725 110.062789 +L 310.218029 111.517774 +L 311.365333 112.589994 +L 311.938985 112.916303 +L 312.512636 113.082823 +L 313.086288 113.085513 +L 313.65994 112.929301 +L 314.807244 112.202312 +L 315.954548 111.09633 +L 318.12394 108.928086 +L 319.271244 108.212028 +L 319.844896 108.034455 +L 320.418548 107.985648 +L 320.9922 108.062556 +L 322.139503 108.544511 +L 323.118812 109.219003 +L 325.985231 111.355042 +L 327.132535 111.826124 +L 328.279838 111.921058 +L 329.427142 111.645086 +L 330.574446 111.08274 +L 333.40395 109.418545 +L 334.551254 109.015713 +L 335.698558 108.903928 +L 336.845861 109.083327 +L 338.410377 109.676942 +L 341.278636 110.933929 +L 342.42594 111.193568 +L 343.573244 111.227237 +L 344.720548 111.043751 +L 346.406939 110.503224 +L 348.701546 109.719426 +L 349.84885 109.495919 +L 350.996154 109.446414 +L 352.143458 109.567751 +L 353.851298 109.972949 +L 356.681807 110.688514 +L 358.402763 110.831919 +L 360.123719 110.680737 +L 365.742049 109.763522 +L 367.463005 109.851275 +L 373.619562 110.589197 +L 375.914169 110.434642 +L 380.338701 109.966814 +L 382.633309 110.005114 +L 389.483425 110.434801 +L 392.917483 110.214187 +L 396.359394 110.066402 +L 399.801306 110.203436 +L 401.925364 110.319073 +L 401.925364 110.319073 " style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> </g> <g id="patch_3"> - <path d="M 59.906 148.04 -L 59.906 14.76 + <path d="M 50.078 126.413333 +L 50.078 13.32 " style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> <g id="patch_4"> - <path d="M 59.906 148.04 -L 447.48 148.04 + <path d="M 50.078 126.413333 +L 418.68 126.413333 " style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> </g> <g id="axes_2"> <g id="patch_5"> - <path d="M 59.906 300.76 -L 447.48 300.76 -L 447.48 167.48 -L 59.906 167.48 + <path d="M 50.078 256.786667 +L 418.68 256.786667 +L 418.68 143.693333 +L 50.078 143.693333 z " style="fill:#ffffff;"/> </g> <g id="matplotlib.axis_3"> <g id="xtick_10"> + <g id="line2d_28"> + <path clip-path="url(#p84f7e2ee27)" d="M 66.267836 256.786667 +L 66.267836 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_29"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="66.267836" xlink:href="#m46a3efc31f" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_11"> + <g id="line2d_30"> + <path clip-path="url(#p84f7e2ee27)" d="M 108.226376 256.786667 +L 108.226376 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_31"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="108.226376" xlink:href="#m46a3efc31f" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_12"> <g id="line2d_32"> - <path clip-path="url(#p5ecb7fb25e)" d="M 76.929129 300.76 -L 76.929129 167.48 + <path clip-path="url(#p84f7e2ee27)" d="M 150.184915 256.786667 +L 150.184915 143.693333 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_33"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="76.929129" xlink:href="#md88e215ea2" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="150.184915" xlink:href="#m46a3efc31f" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_13"> + <g id="line2d_34"> + <path clip-path="url(#p84f7e2ee27)" d="M 192.143455 256.786667 +L 192.143455 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_35"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="192.143455" xlink:href="#m46a3efc31f" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_14"> + <g id="line2d_36"> + <path clip-path="url(#p84f7e2ee27)" d="M 234.101995 256.786667 +L 234.101995 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_37"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="234.101995" xlink:href="#m46a3efc31f" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_15"> + <g id="line2d_38"> + <path clip-path="url(#p84f7e2ee27)" d="M 276.060535 256.786667 +L 276.060535 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_39"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="276.060535" xlink:href="#m46a3efc31f" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_16"> + <g id="line2d_40"> + <path clip-path="url(#p84f7e2ee27)" d="M 318.019075 256.786667 +L 318.019075 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_41"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="318.019075" xlink:href="#m46a3efc31f" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_17"> + <g id="line2d_42"> + <path clip-path="url(#p84f7e2ee27)" d="M 359.977615 256.786667 +L 359.977615 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_43"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="359.977615" xlink:href="#m46a3efc31f" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_18"> + <g id="line2d_44"> + <path clip-path="url(#p84f7e2ee27)" d="M 401.936155 256.786667 +L 401.936155 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_45"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="401.936155" xlink:href="#m46a3efc31f" y="256.786667"/> + </g> + </g> + </g> + </g> + <g id="matplotlib.axis_4"> + <g id="ytick_5"> + <g id="line2d_46"> + <path clip-path="url(#p84f7e2ee27)" d="M 50.078 249.718333 +L 418.68 249.718333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_47"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m9a7d95ec17" y="249.718333"/> + </g> + </g> + <g id="text_6"> + <!-- 0 --> + <g style="fill:#01769d;" transform="translate(36.7155 253.517552)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + </g> + </g> + </g> + <g id="ytick_6"> + <g id="line2d_48"> + <path clip-path="url(#p84f7e2ee27)" d="M 50.078 221.445 +L 418.68 221.445 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_49"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m9a7d95ec17" y="221.445"/> + </g> + </g> + <g id="text_7"> + <!-- 2 --> + <g style="fill:#01769d;" transform="translate(36.7155 225.244219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-32"/> + </g> + </g> + </g> + <g id="ytick_7"> + <g id="line2d_50"> + <path clip-path="url(#p84f7e2ee27)" d="M 50.078 193.171667 +L 418.68 193.171667 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_51"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m9a7d95ec17" y="193.171667"/> </g> </g> <g id="text_8"> + <!-- 4 --> + <defs> + <path d="M 37.796875 64.3125 +L 12.890625 25.390625 +L 37.796875 25.390625 +z +M 35.203125 72.90625 +L 47.609375 72.90625 +L 47.609375 25.390625 +L 58.015625 25.390625 +L 58.015625 17.1875 +L 47.609375 17.1875 +L 47.609375 0 +L 37.796875 0 +L 37.796875 17.1875 +L 4.890625 17.1875 +L 4.890625 26.703125 +z +" id="DejaVuSans-34"/> + </defs> + <g style="fill:#01769d;" transform="translate(36.7155 196.970885)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-34"/> + </g> + </g> + </g> + <g id="ytick_8"> + <g id="line2d_52"> + <path clip-path="url(#p84f7e2ee27)" d="M 50.078 164.898333 +L 418.68 164.898333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_53"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m9a7d95ec17" y="164.898333"/> + </g> + </g> + <g id="text_9"> + <!-- 6 --> + <defs> + <path d="M 33.015625 40.375 +Q 26.375 40.375 22.484375 35.828125 +Q 18.609375 31.296875 18.609375 23.390625 +Q 18.609375 15.53125 22.484375 10.953125 +Q 26.375 6.390625 33.015625 6.390625 +Q 39.65625 6.390625 43.53125 10.953125 +Q 47.40625 15.53125 47.40625 23.390625 +Q 47.40625 31.296875 43.53125 35.828125 +Q 39.65625 40.375 33.015625 40.375 +M 52.59375 71.296875 +L 52.59375 62.3125 +Q 48.875 64.0625 45.09375 64.984375 +Q 41.3125 65.921875 37.59375 65.921875 +Q 27.828125 65.921875 22.671875 59.328125 +Q 17.53125 52.734375 16.796875 39.40625 +Q 19.671875 43.65625 24.015625 45.921875 +Q 28.375 48.1875 33.59375 48.1875 +Q 44.578125 48.1875 50.953125 41.515625 +Q 57.328125 34.859375 57.328125 23.390625 +Q 57.328125 12.15625 50.6875 5.359375 +Q 44.046875 -1.421875 33.015625 -1.421875 +Q 20.359375 -1.421875 13.671875 8.265625 +Q 6.984375 17.96875 6.984375 36.375 +Q 6.984375 53.65625 15.1875 63.9375 +Q 23.390625 74.21875 37.203125 74.21875 +Q 40.921875 74.21875 44.703125 73.484375 +Q 48.484375 72.75 52.59375 71.296875 +" id="DejaVuSans-36"/> + </defs> + <g style="fill:#01769d;" transform="translate(36.7155 168.697552)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-36"/> + </g> + </g> + </g> + <g id="text_10"> + <!-- $V_{drain}\;(V)$ --> + <defs> + <path d="M 41.796875 8.203125 +Q 38.1875 3.46875 33.25 1.015625 +Q 28.328125 -1.421875 22.3125 -1.421875 +Q 14.109375 -1.421875 9.34375 4.171875 +Q 4.59375 9.765625 4.59375 19.484375 +Q 4.59375 27.59375 7.46875 34.9375 +Q 10.359375 42.28125 15.828125 48.09375 +Q 19.4375 51.953125 23.96875 53.96875 +Q 28.515625 56 33.5 56 +Q 38.765625 56 42.796875 53.453125 +Q 46.828125 50.921875 49.03125 46.1875 +L 54.890625 75.984375 +L 63.921875 75.984375 +L 49.125 0 +L 40.09375 0 +z +M 13.921875 21.09375 +Q 13.921875 14.015625 17.109375 10.0625 +Q 20.3125 6.109375 25.984375 6.109375 +Q 30.171875 6.109375 33.765625 8.125 +Q 37.359375 10.15625 40.09375 14.109375 +Q 42.96875 18.21875 44.625 23.578125 +Q 46.296875 28.953125 46.296875 34.1875 +Q 46.296875 40.96875 43.09375 44.765625 +Q 39.890625 48.578125 34.28125 48.578125 +Q 30.03125 48.578125 26.359375 46.578125 +Q 22.703125 44.578125 20.125 40.828125 +Q 17.28125 36.765625 15.59375 31.390625 +Q 13.921875 26.03125 13.921875 21.09375 +" id="DejaVuSans-Oblique-64"/> + <path d="M 44.578125 46.390625 +Q 43.21875 47.125 41.453125 47.515625 +Q 39.703125 47.90625 37.703125 47.90625 +Q 30.515625 47.90625 25.140625 42.453125 +Q 19.78125 37.015625 18.015625 27.875 +L 12.5 0 +L 3.515625 0 +L 14.203125 54.6875 +L 23.1875 54.6875 +L 21.484375 46.1875 +Q 25.046875 50.921875 30 53.453125 +Q 34.96875 56 40.578125 56 +Q 42.046875 56 43.453125 55.828125 +Q 44.875 55.671875 46.296875 55.28125 +z +" id="DejaVuSans-Oblique-72"/> + <path d="M 18.3125 75.984375 +L 27.296875 75.984375 +L 25.09375 64.59375 +L 16.109375 64.59375 +z +M 14.203125 54.6875 +L 23.1875 54.6875 +L 12.5 0 +L 3.515625 0 +z +" id="DejaVuSans-Oblique-69"/> + <path d="M 55.71875 33.015625 +L 49.3125 0 +L 40.28125 0 +L 46.6875 32.671875 +Q 47.125 34.96875 47.359375 36.71875 +Q 47.609375 38.484375 47.609375 39.5 +Q 47.609375 43.609375 45.015625 45.890625 +Q 42.4375 48.1875 37.796875 48.1875 +Q 30.5625 48.1875 25.34375 43.375 +Q 20.125 38.578125 18.5 30.328125 +L 12.5 0 +L 3.515625 0 +L 14.109375 54.6875 +L 23.09375 54.6875 +L 21.296875 46.09375 +Q 25.046875 50.828125 30.3125 53.40625 +Q 35.59375 56 41.40625 56 +Q 48.640625 56 52.609375 52.09375 +Q 56.59375 48.1875 56.59375 41.109375 +Q 56.59375 39.359375 56.375 37.359375 +Q 56.15625 35.359375 55.71875 33.015625 +" id="DejaVuSans-Oblique-6e"/> + </defs> + <g style="fill:#01769d;" transform="translate(30.635813 221.49)rotate(-90)scale(0.1 -0.1)"> + <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> + <use transform="translate(68.408203 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-64"/> + <use transform="translate(112.841797 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-72"/> + <use transform="translate(141.621094 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-61"/> + <use transform="translate(184.516602 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-69"/> + <use transform="translate(203.964844 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-6e"/> + <use transform="translate(278.123589 0.125)" xlink:href="#DejaVuSans-28"/> + <use transform="translate(317.137261 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> + <use transform="translate(385.545464 0.125)" xlink:href="#DejaVuSans-29"/> + </g> + </g> + </g> + <g id="line2d_54"> + <path clip-path="url(#p84f7e2ee27)" d="M 66.832636 181.755121 +L 69.700896 181.887878 +L 72.359595 181.785826 +L 78.096115 181.446263 +L 82.057941 181.569648 +L 86.073504 181.617628 +L 96.713034 181.382464 +L 101.875901 181.392006 +L 111.627984 181.221405 +L 118.43969 181.178514 +L 126.844149 181.071104 +L 135.352657 180.987373 +L 146.252043 180.903358 +L 150.362575 180.758132 +L 151.064508 178.871114 +L 151.157657 178.990908 +L 151.320525 180.5525 +L 151.785423 190.73681 +L 152.483029 204.725536 +L 153.583795 220.685677 +L 154.157447 226.567237 +L 155.30475 235.040345 +L 156.452054 241.229758 +L 157.599358 246.429378 +L 158.282894 248.770818 +L 158.727638 249.165829 +L 159.251287 249.333279 +L 160.231119 249.458118 +L 163.605488 249.562256 +L 177.946786 249.606531 +L 237.890258 249.552133 +L 241.332169 249.347119 +L 242.479473 249.150892 +L 243.626777 248.682967 +L 244.200429 248.177939 +L 244.651312 247.501061 +L 246.090847 244.294632 +L 248.385455 238.605066 +L 250.106411 233.650471 +L 251.253715 229.735307 +L 252.401018 225.038413 +L 253.548322 219.246791 +L 254.695626 212.069888 +L 255.84293 203.340708 +L 256.990234 193.107571 +L 260.432145 160.628565 +L 261.005797 157.770866 +L 261.579449 156.645206 +L 262.153101 157.301091 +L 262.726753 159.596871 +L 263.300405 163.288181 +L 264.447708 173.614309 +L 266.742316 196.299263 +L 267.315968 200.520684 +L 267.88962 203.689262 +L 268.463272 205.678757 +L 269.036924 206.433146 +L 269.610576 205.983417 +L 270.145495 204.509584 +L 270.719147 201.924285 +L 271.809399 194.893343 +L 274.104006 177.229507 +L 274.677658 173.617504 +L 275.25131 170.733766 +L 275.824962 168.710992 +L 276.398614 167.628322 +L 276.972266 167.504626 +L 277.536318 168.29365 +L 278.10997 169.938366 +L 278.683622 172.296814 +L 279.830925 178.486865 +L 281.551881 188.525708 +L 282.699185 193.583468 +L 283.272837 195.213963 +L 283.846489 196.147605 +L 284.420141 196.361549 +L 284.993793 195.87276 +L 285.567445 194.735281 +L 286.141097 193.050911 +L 287.093359 189.294516 +L 289.387967 179.070172 +L 289.961619 177.039496 +L 290.535271 175.446831 +L 291.108923 174.363595 +L 291.682574 173.812972 +L 292.18561 173.798906 +L 292.727875 174.270434 +L 293.301527 175.236789 +L 293.875179 176.61452 +L 295.022483 180.233846 +L 296.743438 186.120622 +L 297.890742 189.097677 +L 298.464394 190.060144 +L 299.038046 190.61276 +L 299.611698 190.741036 +L 300.18535 190.454147 +L 300.759002 189.78356 +L 301.831895 187.699914 +L 303.46358 183.374914 +L 304.610884 180.46539 +L 305.184535 179.280455 +L 305.758187 178.356482 +L 306.331839 177.734314 +L 306.905491 177.423703 +L 307.389873 177.423731 +L 307.923421 177.701615 +L 308.497073 178.271493 +L 309.644377 180.083983 +L 312.512636 185.648514 +L 313.086288 186.433919 +L 313.65994 186.999881 +L 314.233592 187.323299 +L 314.807244 187.395368 +L 315.380896 187.221416 +L 315.954548 186.820034 +L 317.043945 185.553261 +L 320.418548 180.535621 +L 320.9922 179.998993 +L 321.565852 179.64241 +L 322.139503 179.468529 +L 322.597833 179.473816 +L 323.118812 179.637123 +L 323.692464 179.973887 +L 324.839768 181.042774 +L 327.706186 184.321958 +L 328.85349 185.115901 +L 329.427142 185.303834 +L 330.000794 185.34254 +L 330.574446 185.235172 +L 331.72175 184.633502 +L 332.830298 183.700552 +L 335.124906 181.584406 +L 336.272209 180.878464 +L 337.419513 180.596466 +L 338.410377 180.720882 +L 339.557681 181.230354 +L 341.278636 182.399668 +L 342.999592 183.506979 +L 344.146896 183.944028 +L 345.2942 184.041274 +L 346.406939 183.808189 +L 347.554242 183.305645 +L 350.996154 181.502513 +L 352.143458 181.22354 +L 353.290762 181.214323 +L 354.42495 181.450066 +L 356.108155 182.086414 +L 358.402763 182.950362 +L 359.550067 183.168264 +L 360.697371 183.180196 +L 361.818634 183.001155 +L 363.447441 182.507601 +L 365.742049 181.757962 +L 367.463005 181.472204 +L 368.610308 181.480262 +L 370.225779 181.724741 +L 374.193214 182.560769 +L 375.914169 182.603703 +L 377.561666 182.403852 +L 382.633309 181.555681 +L 384.352718 181.587262 +L 387.188818 181.940905 +L 389.483425 182.179518 +L 391.770179 182.153322 +L 394.638439 181.822355 +L 397.506698 181.546082 +L 399.801306 181.558056 +L 401.925364 181.709177 +L 401.925364 181.709177 +" style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> + </g> + <g id="patch_6"> + <path d="M 50.078 256.786667 +L 50.078 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_7"> + <path d="M 50.078 256.786667 +L 418.68 256.786667 +" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + </g> + <g id="axes_3"> + <g id="patch_8"> + <path d="M 50.078 387.16 +L 418.68 387.16 +L 418.68 274.066667 +L 50.078 274.066667 +z +" style="fill:#ffffff;"/> + </g> + <g id="matplotlib.axis_5"> + <g id="xtick_19"> + <g id="line2d_55"> + <path clip-path="url(#p2e9ec69460)" d="M 66.267836 387.16 +L 66.267836 274.066667 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_56"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="66.267836" xlink:href="#m46a3efc31f" y="387.16"/> + </g> + </g> + <g id="text_11"> <!-- 0.0 --> - <g style="fill:#01769d;" transform="translate(68.977567 315.358437)scale(0.1 -0.1)"> + <defs> + <path d="M 10.6875 12.40625 +L 21 12.40625 +L 21 0 +L 10.6875 0 +z +" id="DejaVuSans-2e"/> + </defs> + <g style="fill:#01769d;" transform="translate(58.316273 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-30"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="xtick_11"> - <g id="line2d_34"> - <path clip-path="url(#p5ecb7fb25e)" d="M 121.047281 300.76 -L 121.047281 167.48 + <g id="xtick_20"> + <g id="line2d_57"> + <path clip-path="url(#p2e9ec69460)" d="M 108.226376 387.16 +L 108.226376 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_35"> + <g id="line2d_58"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="121.047281" xlink:href="#md88e215ea2" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="108.226376" xlink:href="#m46a3efc31f" y="387.16"/> </g> </g> - <g id="text_9"> + <g id="text_12"> <!-- 0.5 --> <defs> <path d="M 10.796875 72.90625 @@ -820,154 +1268,154 @@ Q 14.890625 38.140625 10.796875 36.28125 z " id="DejaVuSans-35"/> </defs> - <g style="fill:#01769d;" transform="translate(113.095719 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(100.274813 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-30"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-35"/> </g> </g> </g> - <g id="xtick_12"> - <g id="line2d_36"> - <path clip-path="url(#p5ecb7fb25e)" d="M 165.165433 300.76 -L 165.165433 167.48 + <g id="xtick_21"> + <g id="line2d_59"> + <path clip-path="url(#p2e9ec69460)" d="M 150.184915 387.16 +L 150.184915 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_37"> + <g id="line2d_60"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="165.165433" xlink:href="#md88e215ea2" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="150.184915" xlink:href="#m46a3efc31f" y="387.16"/> </g> </g> - <g id="text_10"> + <g id="text_13"> <!-- 1.0 --> - <g style="fill:#01769d;" transform="translate(157.213871 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(142.233353 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-31"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="xtick_13"> - <g id="line2d_38"> - <path clip-path="url(#p5ecb7fb25e)" d="M 209.283586 300.76 -L 209.283586 167.48 + <g id="xtick_22"> + <g id="line2d_61"> + <path clip-path="url(#p2e9ec69460)" d="M 192.143455 387.16 +L 192.143455 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_39"> + <g id="line2d_62"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="209.283586" xlink:href="#md88e215ea2" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="192.143455" xlink:href="#m46a3efc31f" y="387.16"/> </g> </g> - <g id="text_11"> + <g id="text_14"> <!-- 1.5 --> - <g style="fill:#01769d;" transform="translate(201.332023 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(184.191893 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-31"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-35"/> </g> </g> </g> - <g id="xtick_14"> - <g id="line2d_40"> - <path clip-path="url(#p5ecb7fb25e)" d="M 253.401738 300.76 -L 253.401738 167.48 + <g id="xtick_23"> + <g id="line2d_63"> + <path clip-path="url(#p2e9ec69460)" d="M 234.101995 387.16 +L 234.101995 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_41"> + <g id="line2d_64"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="253.401738" xlink:href="#md88e215ea2" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="234.101995" xlink:href="#m46a3efc31f" y="387.16"/> </g> </g> - <g id="text_12"> + <g id="text_15"> <!-- 2.0 --> - <g style="fill:#01769d;" transform="translate(245.450175 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(226.150433 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-32"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="xtick_15"> - <g id="line2d_42"> - <path clip-path="url(#p5ecb7fb25e)" d="M 297.51989 300.76 -L 297.51989 167.48 + <g id="xtick_24"> + <g id="line2d_65"> + <path clip-path="url(#p2e9ec69460)" d="M 276.060535 387.16 +L 276.060535 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_43"> + <g id="line2d_66"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="297.51989" xlink:href="#md88e215ea2" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="276.060535" xlink:href="#m46a3efc31f" y="387.16"/> </g> </g> - <g id="text_13"> + <g id="text_16"> <!-- 2.5 --> - <g style="fill:#01769d;" transform="translate(289.568327 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(268.108973 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-32"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-35"/> </g> </g> </g> - <g id="xtick_16"> - <g id="line2d_44"> - <path clip-path="url(#p5ecb7fb25e)" d="M 341.638042 300.76 -L 341.638042 167.48 + <g id="xtick_25"> + <g id="line2d_67"> + <path clip-path="url(#p2e9ec69460)" d="M 318.019075 387.16 +L 318.019075 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_45"> + <g id="line2d_68"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="341.638042" xlink:href="#md88e215ea2" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="318.019075" xlink:href="#m46a3efc31f" y="387.16"/> </g> </g> - <g id="text_14"> + <g id="text_17"> <!-- 3.0 --> - <g style="fill:#01769d;" transform="translate(333.68648 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(310.067512 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-33"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="xtick_17"> - <g id="line2d_46"> - <path clip-path="url(#p5ecb7fb25e)" d="M 385.756194 300.76 -L 385.756194 167.48 + <g id="xtick_26"> + <g id="line2d_69"> + <path clip-path="url(#p2e9ec69460)" d="M 359.977615 387.16 +L 359.977615 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_47"> + <g id="line2d_70"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="385.756194" xlink:href="#md88e215ea2" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="359.977615" xlink:href="#m46a3efc31f" y="387.16"/> </g> </g> - <g id="text_15"> + <g id="text_18"> <!-- 3.5 --> - <g style="fill:#01769d;" transform="translate(377.804632 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(352.026052 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-33"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-35"/> </g> </g> </g> - <g id="xtick_18"> - <g id="line2d_48"> - <path clip-path="url(#p5ecb7fb25e)" d="M 429.874346 300.76 -L 429.874346 167.48 + <g id="xtick_27"> + <g id="line2d_71"> + <path clip-path="url(#p2e9ec69460)" d="M 401.936155 387.16 +L 401.936155 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_49"> + <g id="line2d_72"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="429.874346" xlink:href="#md88e215ea2" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="401.936155" xlink:href="#m46a3efc31f" y="387.16"/> </g> </g> - <g id="text_16"> + <g id="text_19"> <!-- 4.0 --> - <g style="fill:#01769d;" transform="translate(421.922784 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(393.984592 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-34"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="text_17"> + <g id="text_20"> <!-- $t\;(\mu s)$ --> <defs> <path d="M -1.3125 -20.796875 @@ -1032,7 +1480,7 @@ Q 37.453125 56 41.671875 55.265625 Q 45.90625 54.546875 50 53.078125 " id="DejaVuSans-Oblique-73"/> </defs> - <g style="fill:#01769d;" transform="translate(240.643 329.038125)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(221.329 415.438125)scale(0.1 -0.1)"> <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-74"/> <use transform="translate(66.26812 0.125)" xlink:href="#DejaVuSans-28"/> <use transform="translate(105.281792 0.125)" xlink:href="#DejaVuSans-Oblique-3bc"/> @@ -1041,110 +1489,137 @@ Q 45.90625 54.546875 50 53.078125 </g> </g> </g> - <g id="matplotlib.axis_4"> - <g id="ytick_7"> - <g id="line2d_50"> - <path clip-path="url(#p5ecb7fb25e)" d="M 59.906 292.43 -L 447.48 292.43 + <g id="matplotlib.axis_6"> + <g id="ytick_9"> + <g id="line2d_73"> + <path clip-path="url(#p2e9ec69460)" d="M 50.078 387.16 +L 418.68 387.16 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_51"> + <g id="line2d_74"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m49dbdc804c" y="292.43"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m9a7d95ec17" y="387.16"/> </g> </g> - <g id="text_18"> - <!-- 0 --> - <g style="fill:#01769d;" transform="translate(46.5435 296.229219)scale(0.1 -0.1)"> + <g id="text_21"> + <!-- −0.1 --> + <defs> + <path d="M 10.59375 35.5 +L 73.1875 35.5 +L 73.1875 27.203125 +L 10.59375 27.203125 +z +" id="DejaVuSans-2212"/> + </defs> + <g style="fill:#01769d;" transform="translate(18.795188 390.959219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-2212"/> + <use x="83.789062" xlink:href="#DejaVuSans-30"/> + <use x="147.412109" xlink:href="#DejaVuSans-2e"/> + <use x="179.199219" xlink:href="#DejaVuSans-31"/> + </g> + </g> + </g> + <g id="ytick_10"> + <g id="line2d_75"> + <path clip-path="url(#p2e9ec69460)" d="M 50.078 364.541333 +L 418.68 364.541333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_76"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m9a7d95ec17" y="364.541333"/> + </g> + </g> + <g id="text_22"> + <!-- 0.0 --> + <g style="fill:#01769d;" transform="translate(27.174875 368.340552)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="ytick_8"> - <g id="line2d_52"> - <path clip-path="url(#p5ecb7fb25e)" d="M 59.906 259.11 -L 447.48 259.11 + <g id="ytick_11"> + <g id="line2d_77"> + <path clip-path="url(#p2e9ec69460)" d="M 50.078 341.922667 +L 418.68 341.922667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_53"> + <g id="line2d_78"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m49dbdc804c" y="259.11"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m9a7d95ec17" y="341.922667"/> </g> </g> - <g id="text_19"> - <!-- 2 --> - <g style="fill:#01769d;" transform="translate(46.5435 262.909219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-32"/> + <g id="text_23"> + <!-- 0.1 --> + <g style="fill:#01769d;" transform="translate(27.174875 345.721885)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-31"/> </g> </g> </g> - <g id="ytick_9"> - <g id="line2d_54"> - <path clip-path="url(#p5ecb7fb25e)" d="M 59.906 225.79 -L 447.48 225.79 + <g id="ytick_12"> + <g id="line2d_79"> + <path clip-path="url(#p2e9ec69460)" d="M 50.078 319.304 +L 418.68 319.304 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_55"> + <g id="line2d_80"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m49dbdc804c" y="225.79"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m9a7d95ec17" y="319.304"/> </g> </g> - <g id="text_20"> - <!-- 4 --> - <g style="fill:#01769d;" transform="translate(46.5435 229.589219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-34"/> + <g id="text_24"> + <!-- 0.2 --> + <g style="fill:#01769d;" transform="translate(27.174875 323.103219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-32"/> </g> </g> </g> - <g id="ytick_10"> - <g id="line2d_56"> - <path clip-path="url(#p5ecb7fb25e)" d="M 59.906 192.47 -L 447.48 192.47 + <g id="ytick_13"> + <g id="line2d_81"> + <path clip-path="url(#p2e9ec69460)" d="M 50.078 296.685333 +L 418.68 296.685333 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_57"> + <g id="line2d_82"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m49dbdc804c" y="192.47"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m9a7d95ec17" y="296.685333"/> </g> </g> - <g id="text_21"> - <!-- 6 --> - <defs> - <path d="M 33.015625 40.375 -Q 26.375 40.375 22.484375 35.828125 -Q 18.609375 31.296875 18.609375 23.390625 -Q 18.609375 15.53125 22.484375 10.953125 -Q 26.375 6.390625 33.015625 6.390625 -Q 39.65625 6.390625 43.53125 10.953125 -Q 47.40625 15.53125 47.40625 23.390625 -Q 47.40625 31.296875 43.53125 35.828125 -Q 39.65625 40.375 33.015625 40.375 -M 52.59375 71.296875 -L 52.59375 62.3125 -Q 48.875 64.0625 45.09375 64.984375 -Q 41.3125 65.921875 37.59375 65.921875 -Q 27.828125 65.921875 22.671875 59.328125 -Q 17.53125 52.734375 16.796875 39.40625 -Q 19.671875 43.65625 24.015625 45.921875 -Q 28.375 48.1875 33.59375 48.1875 -Q 44.578125 48.1875 50.953125 41.515625 -Q 57.328125 34.859375 57.328125 23.390625 -Q 57.328125 12.15625 50.6875 5.359375 -Q 44.046875 -1.421875 33.015625 -1.421875 -Q 20.359375 -1.421875 13.671875 8.265625 -Q 6.984375 17.96875 6.984375 36.375 -Q 6.984375 53.65625 15.1875 63.9375 -Q 23.390625 74.21875 37.203125 74.21875 -Q 40.921875 74.21875 44.703125 73.484375 -Q 48.484375 72.75 52.59375 71.296875 -" id="DejaVuSans-36"/> - </defs> - <g style="fill:#01769d;" transform="translate(46.5435 196.269219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-36"/> + <g id="text_25"> + <!-- 0.3 --> + <g style="fill:#01769d;" transform="translate(27.174875 300.484552)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-33"/> + </g> + </g> + </g> + <g id="ytick_14"> + <g id="line2d_83"> + <path clip-path="url(#p2e9ec69460)" d="M 50.078 274.066667 +L 418.68 274.066667 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_84"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m9a7d95ec17" y="274.066667"/> + </g> + </g> + <g id="text_26"> + <!-- 0.4 --> + <g style="fill:#01769d;" transform="translate(27.174875 277.865885)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-34"/> </g> </g> </g> - <g id="text_22"> + <g id="text_27"> <!-- $I_{LED}\;(A)$ --> <defs> <path d="M 16.890625 72.90625 @@ -1194,8 +1669,22 @@ Q 61.8125 54.984375 55.953125 59.890625 Q 50.09375 64.796875 37.59375 64.796875 z " id="DejaVuSans-Oblique-44"/> + <path d="M 36.8125 72.90625 +L 48 72.90625 +L 61.53125 0 +L 51.21875 0 +L 48.1875 18.703125 +L 15.375 18.703125 +L 5.078125 0 +L -5.328125 0 +z +M 40.375 63.1875 +L 19.921875 26.90625 +L 46.6875 26.90625 +z +" id="DejaVuSans-Oblique-41"/> </defs> - <g style="fill:#01769d;" transform="translate(40.463813 251.27)rotate(-90)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(12.7155 347.763333)rotate(-90)scale(0.1 -0.1)"> <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-49"/> <use transform="translate(29.492188 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-4c"/> <use transform="translate(68.491211 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-45"/> @@ -1206,202 +1695,175 @@ z </g> </g> </g> - <g id="line2d_58"> - <path clip-path="url(#p5ecb7fb25e)" d="M 77.523 212.335651 -L 80.538889 212.492105 -L 83.334432 212.371836 -L 88.763033 211.978027 -L 91.722419 212.02939 -L 97.15102 212.187526 -L 101.373265 211.985924 -L 105.59551 211.840449 -L 117.989014 211.770493 -L 122.814437 211.690792 -L 131.786277 211.656122 -L 140.020136 211.528157 -L 148.966578 211.443491 -L 158.617424 211.351161 -L 165.327148 211.221896 -L 165.491477 210.633148 -L 166.090299 208.936861 -L 166.188242 209.078037 -L 166.359493 210.918368 -L 166.848319 222.920532 -L 167.581831 239.406185 -L 168.136076 249.408499 -L 168.739253 258.215141 -L 169.342431 265.146534 -L 170.548787 275.132055 -L 171.755143 282.426251 -L 172.961498 288.553981 -L 173.680216 291.313357 -L 174.147851 291.778876 -L 174.698452 291.976215 -L 175.728716 292.123338 -L 178.673587 292.236974 -L 189.530788 292.293167 -L 255.575449 292.281831 -L 259.797694 292.113182 -L 261.607228 291.89784 -L 262.813583 291.55285 -L 263.416761 291.209825 -L 264.019939 290.614651 -L 264.49403 289.816954 -L 266.007658 286.038191 -L 268.420369 279.333063 -L 270.229903 273.494094 -L 271.436259 268.88009 -L 272.642614 263.344822 -L 273.84897 256.51942 -L 275.055326 248.061471 -L 276.261681 237.774171 -L 277.468037 225.714464 -L 281.087104 187.438097 -L 281.690282 184.070311 -L 282.29346 182.743725 -L 282.896638 183.516683 -L 283.499816 186.22225 -L 284.102994 190.572443 -L 285.309349 202.74174 -L 287.722061 229.475858 -L 288.325239 234.450784 -L 288.928417 238.18494 -L 289.531594 240.529552 -L 290.134772 241.418596 -L 290.73795 240.888591 -L 291.300402 239.151687 -L 291.90358 236.104922 -L 293.049947 227.818988 -L 295.462658 207.002235 -L 296.065836 202.745505 -L 296.669014 199.347031 -L 297.272192 196.963202 -L 297.87537 195.687279 -L 298.478548 195.541504 -L 299.071631 196.471365 -L 299.674809 198.409657 -L 300.277987 201.189078 -L 301.484343 208.484025 -L 303.293876 220.314758 -L 303.897054 223.607507 -L 304.500232 226.275306 -L 305.10341 228.196837 -L 305.706588 229.29713 -L 306.309766 229.549262 -L 306.912944 228.973226 -L 307.516122 227.632713 -L 308.119299 225.64769 -L 309.120575 221.220795 -L 311.533287 209.17145 -L 312.136464 206.778308 -L 312.739642 204.901359 -L 313.34282 203.62477 -L 313.945998 202.975863 -L 314.474924 202.959286 -L 315.0451 203.51498 -L 315.648278 204.653825 -L 316.251456 206.277475 -L 317.457812 210.542835 -L 319.267345 217.480375 -L 320.473701 220.988821 -L 321.076879 222.123084 -L 321.680057 222.77434 -L 322.283235 222.925513 -L 322.886412 222.587415 -L 323.48959 221.797131 -L 324.092768 220.623751 -L 325.127018 217.914268 -L 327.539729 210.815709 -L 328.142907 209.419268 -L 328.746085 208.33037 -L 329.349263 207.597147 -L 329.952441 207.231093 -L 330.461754 207.231127 -L 331.022764 207.558612 -L 331.625941 208.23021 -L 332.229119 209.185711 -L 333.435475 211.69654 -L 335.245009 215.782988 -L 336.451364 217.849594 -L 337.054542 218.516577 -L 337.65772 218.897725 -L 338.260898 218.982657 -L 338.864076 218.777656 -L 339.467254 218.304629 -L 340.612722 216.811743 -L 344.161016 210.898476 -L 344.764194 210.266062 -L 345.367372 209.84583 -L 345.97055 209.640912 -L 346.45247 209.647143 -L 347.000264 209.839599 -L 347.603442 210.236474 -L 348.809797 211.496153 -L 351.823751 215.360657 -L 352.426929 215.905205 -L 353.030106 216.296316 -L 353.633284 216.517794 -L 354.236462 216.563409 -L 354.83964 216.436876 -L 355.442818 216.15124 -L 356.649174 215.195673 -L 360.22749 211.662087 -L 361.433846 211.070773 -L 362.566242 210.992838 -L 363.682065 211.370353 -L 364.888421 212.138463 -L 367.90431 214.400208 -L 369.110666 214.915268 -L 370.317022 215.029872 -L 371.487033 214.755182 -L 372.693389 214.162936 -L 376.312456 212.037953 -L 377.518812 211.709185 -L 378.725168 211.698322 -L 379.917733 211.976144 -L 381.687573 212.726078 -L 383.497107 213.536187 -L 384.703463 213.901607 -L 385.909818 214.038736 -L 387.088793 213.936943 -L 388.801435 213.451121 -L 392.420502 212.182745 -L 393.626858 212.002234 -L 394.833214 212.01173 -L 396.531833 212.299848 -L 400.703472 213.285104 -L 402.513006 213.3357 -L 404.245299 213.100178 -L 408.974802 212.144111 -L 410.784336 212.099045 -L 413.161606 212.362057 -L 416.780673 212.8358 -L 418.581949 212.84443 -L 420.99466 212.593114 -L 424.613727 212.127317 -L 427.026439 212.076671 -L 429.863 212.281506 -L 429.863 212.281506 + <g id="line2d_85"> + <path clip-path="url(#p2e9ec69460)" d="M 66.832636 364.597628 +L 92.957327 364.501514 +L 100.154945 364.518638 +L 109.333376 364.516787 +L 120.734298 364.496695 +L 151.785423 364.531586 +L 152.083679 364.257404 +L 152.483029 363.595039 +L 153.010143 362.249305 +L 153.583795 360.293371 +L 154.731099 355.312533 +L 155.878402 349.56408 +L 157.025706 342.560407 +L 158.282894 331.653566 +L 159.010513 325.66118 +L 159.8449 320.621447 +L 160.785821 316.318834 +L 161.884532 312.265252 +L 163.031836 308.736876 +L 164.17914 305.726082 +L 165.900095 301.97066 +L 167.621051 298.949281 +L 169.342007 296.512391 +L 171.062963 294.544047 +L 172.783918 292.952597 +L 174.504874 291.664894 +L 176.22583 290.622422 +L 178.520438 289.533876 +L 180.815045 288.71162 +L 183.109653 288.090217 +L 186.551564 287.430476 +L 189.993476 286.996627 +L 194.582691 286.639705 +L 201.466514 286.368824 +L 212.3659 286.216736 +L 236.742954 286.166409 +L 242.479473 286.283732 +L 244.651312 286.537084 +L 245.604539 286.876047 +L 246.664499 287.606789 +L 247.811803 288.834914 +L 248.959107 290.515934 +L 250.106411 292.64141 +L 251.253715 295.226769 +L 252.401018 298.323513 +L 253.548322 302.029378 +L 254.695626 306.491159 +L 255.84293 311.891049 +L 256.990234 318.413345 +L 258.137537 326.192221 +L 259.284841 335.234395 +L 262.726753 364.650331 +L 263.300405 368.31875 +L 263.874057 371.212071 +L 264.447708 373.267203 +L 265.02136 374.483848 +L 265.595012 374.912306 +L 266.168664 374.635721 +L 266.742316 373.755692 +L 267.315968 372.384349 +L 268.463272 368.645389 +L 270.719147 360.601818 +L 271.809399 357.85445 +L 272.383051 356.971607 +L 272.956703 356.509124 +L 273.530355 356.487652 +L 274.104006 356.893195 +L 274.677658 357.687377 +L 275.25131 358.812109 +L 276.398614 361.762397 +L 278.683622 368.053126 +L 279.257274 369.185823 +L 279.830925 369.989641 +L 280.404577 370.430504 +L 280.978229 370.502053 +L 281.551881 370.222335 +L 282.125533 369.628986 +L 283.272837 367.720588 +L 286.141097 361.846649 +L 287.093359 360.543285 +L 287.667011 360.07943 +L 288.240663 359.860016 +L 288.814315 359.899028 +L 289.387967 360.18574 +L 289.961619 360.696196 +L 291.108923 362.237964 +L 293.875179 366.637687 +L 294.448831 367.27614 +L 295.022483 367.729683 +L 295.596134 367.979735 +L 296.169786 368.021055 +L 296.743438 367.861181 +L 297.31709 367.518934 +L 298.464394 366.406407 +L 301.831895 362.487751 +L 302.889928 361.885183 +L 303.46358 361.766502 +L 304.037232 361.800903 +L 304.610884 361.981197 +L 305.758187 362.71312 +L 307.389873 364.256618 +L 309.070725 365.772366 +L 310.218029 366.4076 +L 310.791681 366.553094 +L 311.365333 366.577061 +L 312.512636 366.282467 +L 313.65994 365.62677 +L 317.043945 363.298996 +L 318.12394 362.94319 +L 319.271244 362.909095 +L 320.418548 363.214417 +L 321.565852 363.770113 +L 324.266116 365.257402 +L 325.411579 365.630021 +L 326.558883 365.729275 +L 327.706186 365.554953 +L 329.427142 364.922548 +L 331.72175 363.949068 +L 332.830298 363.647941 +L 333.977602 363.538589 +L 335.124906 363.640426 +L 336.845861 364.099713 +L 339.557681 364.976271 +L 340.704985 365.183391 +L 341.852288 365.226813 +L 343.573244 365.002193 +L 348.127894 363.982572 +L 349.84885 363.951479 +L 351.569806 364.175414 +L 355.534503 364.87948 +L 357.255459 364.926992 +L 359.550067 364.689158 +L 363.447441 364.185628 +L 365.168397 364.180859 +L 368.036656 364.462176 +L 370.751302 364.729798 +L 373.04591 364.735277 +L 377.061473 364.402353 +L 379.765049 364.301679 +L 382.633309 364.437082 +L 386.615166 364.655118 +L 389.483425 364.593116 +L 395.21209 364.386641 +L 401.925364 364.596805 +L 401.925364 364.596805 " style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> </g> - <g id="patch_6"> - <path d="M 59.906 300.76 -L 59.906 167.48 + <g id="patch_9"> + <path d="M 50.078 387.16 +L 50.078 274.066667 " style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> - <g id="patch_7"> - <path d="M 59.906 300.76 -L 447.48 300.76 + <g id="patch_10"> + <path d="M 50.078 387.16 +L 418.68 387.16 " style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> </g> </g> <defs> - <clipPath id="p8f76f333f0"> - <rect height="133.28" width="387.574" x="59.906" y="14.76"/> + <clipPath id="p1104c7f0b4"> + <rect height="113.093333" width="368.602" x="50.078" y="13.32"/> + </clipPath> + <clipPath id="p84f7e2ee27"> + <rect height="113.093333" width="368.602" x="50.078" y="143.693333"/> </clipPath> - <clipPath id="p5ecb7fb25e"> - <rect height="133.28" width="387.574" x="59.906" y="167.48"/> + <clipPath id="p2e9ec69460"> + <rect height="113.093333" width="368.602" x="50.078" y="274.066667"/> </clipPath> </defs> </svg> diff --git a/firmware/spice_sims/overshoot_sim_r100.svg b/firmware/spice_sims/overshoot_sim_r100.svg deleted file mode 100644 index 261f5cf..0000000 --- a/firmware/spice_sims/overshoot_sim_r100.svg +++ /dev/null @@ -1,1346 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="no"?> -<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" - "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> -<!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="345pt" version="1.1" viewBox="0 0 460 345" width="460pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> - <defs> - <style type="text/css"> -*{stroke-linecap:butt;stroke-linejoin:round;} - </style> - </defs> - <g id="figure_1"> - <g id="patch_1"> - <path d="M 0 345.6 -L 460.8 345.6 -L 460.8 0 -L 0 0 -z -" style="fill:#ffffff;"/> - </g> - <g id="axes_1"> - <g id="patch_2"> - <path d="M 59.906 148.04 -L 447.48 148.04 -L 447.48 14.76 -L 59.906 14.76 -z -" style="fill:#ffffff;"/> - </g> - <g id="matplotlib.axis_1"> - <g id="xtick_1"> - <g id="line2d_1"> - <path clip-path="url(#p8741a3ea9b)" d="M 77.299193 148.04 -L 77.299193 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_2"> - <defs> - <path d="M 0 0 -L 0 3.5 -" id="m1b7bff1125" style="stroke:#01769d;stroke-width:0.8;"/> - </defs> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="77.299193" xlink:href="#m1b7bff1125" y="148.04"/> - </g> - </g> - </g> - <g id="xtick_2"> - <g id="line2d_3"> - <path clip-path="url(#p8741a3ea9b)" d="M 121.379888 148.04 -L 121.379888 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_4"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="121.379888" xlink:href="#m1b7bff1125" y="148.04"/> - </g> - </g> - </g> - <g id="xtick_3"> - <g id="line2d_5"> - <path clip-path="url(#p8741a3ea9b)" d="M 165.460583 148.04 -L 165.460583 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_6"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="165.460583" xlink:href="#m1b7bff1125" y="148.04"/> - </g> - </g> - </g> - <g id="xtick_4"> - <g id="line2d_7"> - <path clip-path="url(#p8741a3ea9b)" d="M 209.541278 148.04 -L 209.541278 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_8"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="209.541278" xlink:href="#m1b7bff1125" y="148.04"/> - </g> - </g> - </g> - <g id="xtick_5"> - <g id="line2d_9"> - <path clip-path="url(#p8741a3ea9b)" d="M 253.621973 148.04 -L 253.621973 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_10"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="253.621973" xlink:href="#m1b7bff1125" y="148.04"/> - </g> - </g> - </g> - <g id="xtick_6"> - <g id="line2d_11"> - <path clip-path="url(#p8741a3ea9b)" d="M 297.702668 148.04 -L 297.702668 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_12"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="297.702668" xlink:href="#m1b7bff1125" y="148.04"/> - </g> - </g> - </g> - <g id="xtick_7"> - <g id="line2d_13"> - <path clip-path="url(#p8741a3ea9b)" d="M 341.783362 148.04 -L 341.783362 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_14"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="341.783362" xlink:href="#m1b7bff1125" y="148.04"/> - </g> - </g> - </g> - <g id="xtick_8"> - <g id="line2d_15"> - <path clip-path="url(#p8741a3ea9b)" d="M 385.864057 148.04 -L 385.864057 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_16"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="385.864057" xlink:href="#m1b7bff1125" y="148.04"/> - </g> - </g> - </g> - <g id="xtick_9"> - <g id="line2d_17"> - <path clip-path="url(#p8741a3ea9b)" d="M 429.944752 148.04 -L 429.944752 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_18"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="429.944752" xlink:href="#m1b7bff1125" y="148.04"/> - </g> - </g> - </g> - </g> - <g id="matplotlib.axis_2"> - <g id="ytick_1"> - <g id="line2d_19"> - <path clip-path="url(#p8741a3ea9b)" d="M 59.906 148.04 -L 447.48 148.04 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_20"> - <defs> - <path d="M 0 0 -L -3.5 0 -" id="m21d20507da" style="stroke:#01769d;stroke-width:0.8;"/> - </defs> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m21d20507da" y="148.04"/> - </g> - </g> - <g id="text_1"> - <!-- −0.1 --> - <defs> - <path d="M 10.59375 35.5 -L 73.1875 35.5 -L 73.1875 27.203125 -L 10.59375 27.203125 -z -" id="DejaVuSans-2212"/> - <path d="M 31.78125 66.40625 -Q 24.171875 66.40625 20.328125 58.90625 -Q 16.5 51.421875 16.5 36.375 -Q 16.5 21.390625 20.328125 13.890625 -Q 24.171875 6.390625 31.78125 6.390625 -Q 39.453125 6.390625 43.28125 13.890625 -Q 47.125 21.390625 47.125 36.375 -Q 47.125 51.421875 43.28125 58.90625 -Q 39.453125 66.40625 31.78125 66.40625 -M 31.78125 74.21875 -Q 44.046875 74.21875 50.515625 64.515625 -Q 56.984375 54.828125 56.984375 36.375 -Q 56.984375 17.96875 50.515625 8.265625 -Q 44.046875 -1.421875 31.78125 -1.421875 -Q 19.53125 -1.421875 13.0625 8.265625 -Q 6.59375 17.96875 6.59375 36.375 -Q 6.59375 54.828125 13.0625 64.515625 -Q 19.53125 74.21875 31.78125 74.21875 -" id="DejaVuSans-30"/> - <path d="M 10.6875 12.40625 -L 21 12.40625 -L 21 0 -L 10.6875 0 -z -" id="DejaVuSans-2e"/> - <path d="M 12.40625 8.296875 -L 28.515625 8.296875 -L 28.515625 63.921875 -L 10.984375 60.40625 -L 10.984375 69.390625 -L 28.421875 72.90625 -L 38.28125 72.90625 -L 38.28125 8.296875 -L 54.390625 8.296875 -L 54.390625 0 -L 12.40625 0 -z -" id="DejaVuSans-31"/> - </defs> - <g style="fill:#01769d;" transform="translate(28.623188 151.839219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-30"/> - <use x="147.412109" xlink:href="#DejaVuSans-2e"/> - <use x="179.199219" xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="ytick_2"> - <g id="line2d_21"> - <path clip-path="url(#p8741a3ea9b)" d="M 59.906 121.384 -L 447.48 121.384 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_22"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m21d20507da" y="121.384"/> - </g> - </g> - <g id="text_2"> - <!-- 0.0 --> - <g style="fill:#01769d;" transform="translate(37.002875 125.183219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="ytick_3"> - <g id="line2d_23"> - <path clip-path="url(#p8741a3ea9b)" d="M 59.906 94.728 -L 447.48 94.728 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_24"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m21d20507da" y="94.728"/> - </g> - </g> - <g id="text_3"> - <!-- 0.1 --> - <g style="fill:#01769d;" transform="translate(37.002875 98.527219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="ytick_4"> - <g id="line2d_25"> - <path clip-path="url(#p8741a3ea9b)" d="M 59.906 68.072 -L 447.48 68.072 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_26"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m21d20507da" y="68.072"/> - </g> - </g> - <g id="text_4"> - <!-- 0.2 --> - <defs> - <path d="M 19.1875 8.296875 -L 53.609375 8.296875 -L 53.609375 0 -L 7.328125 0 -L 7.328125 8.296875 -Q 12.9375 14.109375 22.625 23.890625 -Q 32.328125 33.6875 34.8125 36.53125 -Q 39.546875 41.84375 41.421875 45.53125 -Q 43.3125 49.21875 43.3125 52.78125 -Q 43.3125 58.59375 39.234375 62.25 -Q 35.15625 65.921875 28.609375 65.921875 -Q 23.96875 65.921875 18.8125 64.3125 -Q 13.671875 62.703125 7.8125 59.421875 -L 7.8125 69.390625 -Q 13.765625 71.78125 18.9375 73 -Q 24.125 74.21875 28.421875 74.21875 -Q 39.75 74.21875 46.484375 68.546875 -Q 53.21875 62.890625 53.21875 53.421875 -Q 53.21875 48.921875 51.53125 44.890625 -Q 49.859375 40.875 45.40625 35.40625 -Q 44.1875 33.984375 37.640625 27.21875 -Q 31.109375 20.453125 19.1875 8.296875 -" id="DejaVuSans-32"/> - </defs> - <g style="fill:#01769d;" transform="translate(37.002875 71.871219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-32"/> - </g> - </g> - </g> - <g id="ytick_5"> - <g id="line2d_27"> - <path clip-path="url(#p8741a3ea9b)" d="M 59.906 41.416 -L 447.48 41.416 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_28"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m21d20507da" y="41.416"/> - </g> - </g> - <g id="text_5"> - <!-- 0.3 --> - <defs> - <path d="M 40.578125 39.3125 -Q 47.65625 37.796875 51.625 33 -Q 55.609375 28.21875 55.609375 21.1875 -Q 55.609375 10.40625 48.1875 4.484375 -Q 40.765625 -1.421875 27.09375 -1.421875 -Q 22.515625 -1.421875 17.65625 -0.515625 -Q 12.796875 0.390625 7.625 2.203125 -L 7.625 11.71875 -Q 11.71875 9.328125 16.59375 8.109375 -Q 21.484375 6.890625 26.8125 6.890625 -Q 36.078125 6.890625 40.9375 10.546875 -Q 45.796875 14.203125 45.796875 21.1875 -Q 45.796875 27.640625 41.28125 31.265625 -Q 36.765625 34.90625 28.71875 34.90625 -L 20.21875 34.90625 -L 20.21875 43.015625 -L 29.109375 43.015625 -Q 36.375 43.015625 40.234375 45.921875 -Q 44.09375 48.828125 44.09375 54.296875 -Q 44.09375 59.90625 40.109375 62.90625 -Q 36.140625 65.921875 28.71875 65.921875 -Q 24.65625 65.921875 20.015625 65.03125 -Q 15.375 64.15625 9.8125 62.3125 -L 9.8125 71.09375 -Q 15.4375 72.65625 20.34375 73.4375 -Q 25.25 74.21875 29.59375 74.21875 -Q 40.828125 74.21875 47.359375 69.109375 -Q 53.90625 64.015625 53.90625 55.328125 -Q 53.90625 49.265625 50.4375 45.09375 -Q 46.96875 40.921875 40.578125 39.3125 -" id="DejaVuSans-33"/> - </defs> - <g style="fill:#01769d;" transform="translate(37.002875 45.215219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-33"/> - </g> - </g> - </g> - <g id="ytick_6"> - <g id="line2d_29"> - <path clip-path="url(#p8741a3ea9b)" d="M 59.906 14.76 -L 447.48 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_30"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m21d20507da" y="14.76"/> - </g> - </g> - <g id="text_6"> - <!-- 0.4 --> - <defs> - <path d="M 37.796875 64.3125 -L 12.890625 25.390625 -L 37.796875 25.390625 -z -M 35.203125 72.90625 -L 47.609375 72.90625 -L 47.609375 25.390625 -L 58.015625 25.390625 -L 58.015625 17.1875 -L 47.609375 17.1875 -L 47.609375 0 -L 37.796875 0 -L 37.796875 17.1875 -L 4.890625 17.1875 -L 4.890625 26.703125 -z -" id="DejaVuSans-34"/> - </defs> - <g style="fill:#01769d;" transform="translate(37.002875 18.559219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-34"/> - </g> - </g> - </g> - <g id="text_7"> - <!-- $V_{gate}\;(A)$ --> - <defs> - <path d="M 20.609375 0 -L 7.8125 72.90625 -L 17.484375 72.90625 -L 28.078125 10.203125 -L 63.484375 72.90625 -L 74.21875 72.90625 -L 32.078125 0 -z -" id="DejaVuSans-Oblique-56"/> - <path d="M 59.625 54.6875 -L 50.296875 6.78125 -Q 47.609375 -7.125 40.015625 -13.953125 -Q 32.421875 -20.796875 19.578125 -20.796875 -Q 14.84375 -20.796875 10.78125 -20.09375 -Q 6.734375 -19.390625 3.21875 -17.921875 -L 4.890625 -9.1875 -Q 8.203125 -11.328125 11.90625 -12.34375 -Q 15.625 -13.375 19.828125 -13.375 -Q 28.375 -13.375 33.859375 -8.703125 -Q 39.359375 -4.046875 41.109375 4.6875 -L 41.890625 8.796875 -Q 38.140625 4.5 33.15625 2.25 -Q 28.171875 0 22.40625 0 -Q 14.109375 0 9.34375 5.484375 -Q 4.59375 10.984375 4.59375 20.609375 -Q 4.59375 28.171875 7.46875 35.421875 -Q 10.359375 42.671875 15.578125 48.296875 -Q 19.046875 52 23.65625 54 -Q 28.265625 56 33.296875 56 -Q 38.8125 56 42.90625 53.4375 -Q 47.015625 50.875 49.03125 46.1875 -L 50.59375 54.6875 -z -M 46.09375 34.625 -Q 46.09375 41.265625 42.96875 44.875 -Q 39.84375 48.484375 34.078125 48.484375 -Q 30.515625 48.484375 27.296875 47.0625 -Q 24.078125 45.65625 21.78125 43.109375 -Q 18.0625 38.921875 15.984375 33.234375 -Q 13.921875 27.546875 13.921875 21.484375 -Q 13.921875 14.75 17.0625 11.125 -Q 20.21875 7.515625 26.125 7.515625 -Q 34.671875 7.515625 40.375 15.25 -Q 46.09375 23 46.09375 34.625 -" id="DejaVuSans-Oblique-67"/> - <path d="M 53.71875 31.203125 -L 47.609375 0 -L 38.625 0 -L 40.28125 8.296875 -Q 36.328125 3.421875 31.265625 1 -Q 26.21875 -1.421875 20.015625 -1.421875 -Q 13.03125 -1.421875 8.5625 2.84375 -Q 4.109375 7.125 4.109375 13.8125 -Q 4.109375 23.390625 11.75 28.953125 -Q 19.390625 34.515625 32.8125 34.515625 -L 45.3125 34.515625 -L 45.796875 36.921875 -Q 45.90625 37.3125 45.953125 37.765625 -Q 46 38.234375 46 39.203125 -Q 46 43.5625 42.453125 45.96875 -Q 38.921875 48.390625 32.515625 48.390625 -Q 28.125 48.390625 23.5 47.265625 -Q 18.890625 46.140625 14.015625 43.890625 -L 15.578125 52.203125 -Q 20.65625 54.109375 25.515625 55.046875 -Q 30.375 56 34.90625 56 -Q 44.578125 56 49.625 51.796875 -Q 54.6875 47.609375 54.6875 39.59375 -Q 54.6875 37.984375 54.4375 35.8125 -Q 54.203125 33.640625 53.71875 31.203125 -M 44 27.484375 -L 35.015625 27.484375 -Q 23.96875 27.484375 18.671875 24.53125 -Q 13.375 21.578125 13.375 15.375 -Q 13.375 11.078125 16.078125 8.640625 -Q 18.796875 6.203125 23.578125 6.203125 -Q 30.90625 6.203125 36.375 11.453125 -Q 41.84375 16.703125 43.609375 25.484375 -z -" id="DejaVuSans-Oblique-61"/> - <path d="M 42.28125 54.6875 -L 40.921875 47.703125 -L 23 47.703125 -L 17.1875 18.015625 -Q 16.890625 16.359375 16.75 15.234375 -Q 16.609375 14.109375 16.609375 13.484375 -Q 16.609375 10.359375 18.484375 8.9375 -Q 20.359375 7.515625 24.515625 7.515625 -L 33.59375 7.515625 -L 32.078125 0 -L 23.484375 0 -Q 15.484375 0 11.546875 3.125 -Q 7.625 6.25 7.625 12.59375 -Q 7.625 13.71875 7.765625 15.0625 -Q 7.90625 16.40625 8.203125 18.015625 -L 14.015625 47.703125 -L 6.390625 47.703125 -L 7.8125 54.6875 -L 15.28125 54.6875 -L 18.3125 70.21875 -L 27.296875 70.21875 -L 24.3125 54.6875 -z -" id="DejaVuSans-Oblique-74"/> - <path d="M 48.09375 32.234375 -Q 48.25 33.015625 48.3125 33.84375 -Q 48.390625 34.671875 48.390625 35.5 -Q 48.390625 41.453125 44.890625 44.921875 -Q 41.40625 48.390625 35.40625 48.390625 -Q 28.71875 48.390625 23.578125 44.15625 -Q 18.453125 39.9375 15.828125 32.171875 -z -M 55.90625 25.203125 -L 14.109375 25.203125 -Q 13.8125 23.34375 13.71875 22.265625 -Q 13.625 21.1875 13.625 20.40625 -Q 13.625 13.625 17.796875 9.90625 -Q 21.96875 6.203125 29.59375 6.203125 -Q 35.453125 6.203125 40.671875 7.515625 -Q 45.90625 8.84375 50.390625 11.375 -L 48.6875 2.484375 -Q 43.84375 0.53125 38.6875 -0.4375 -Q 33.546875 -1.421875 28.21875 -1.421875 -Q 16.84375 -1.421875 10.71875 4.015625 -Q 4.59375 9.46875 4.59375 19.484375 -Q 4.59375 28.03125 7.640625 35.375 -Q 10.6875 42.71875 16.609375 48.484375 -Q 20.40625 52.09375 25.65625 54.046875 -Q 30.90625 56 36.8125 56 -Q 46.09375 56 51.578125 50.4375 -Q 57.078125 44.875 57.078125 35.5 -Q 57.078125 33.25 56.78125 30.6875 -Q 56.5 28.125 55.90625 25.203125 -" id="DejaVuSans-Oblique-65"/> - <path d="M 31 75.875 -Q 24.46875 64.65625 21.28125 53.65625 -Q 18.109375 42.671875 18.109375 31.390625 -Q 18.109375 20.125 21.3125 9.0625 -Q 24.515625 -2 31 -13.1875 -L 23.1875 -13.1875 -Q 15.875 -1.703125 12.234375 9.375 -Q 8.59375 20.453125 8.59375 31.390625 -Q 8.59375 42.28125 12.203125 53.3125 -Q 15.828125 64.359375 23.1875 75.875 -z -" id="DejaVuSans-28"/> - <path d="M 36.8125 72.90625 -L 48 72.90625 -L 61.53125 0 -L 51.21875 0 -L 48.1875 18.703125 -L 15.375 18.703125 -L 5.078125 0 -L -5.328125 0 -z -M 40.375 63.1875 -L 19.921875 26.90625 -L 46.6875 26.90625 -z -" id="DejaVuSans-Oblique-41"/> - <path d="M 8.015625 75.875 -L 15.828125 75.875 -Q 23.140625 64.359375 26.78125 53.3125 -Q 30.421875 42.28125 30.421875 31.390625 -Q 30.421875 20.453125 26.78125 9.375 -Q 23.140625 -1.703125 15.828125 -13.1875 -L 8.015625 -13.1875 -Q 14.5 -2 17.703125 9.0625 -Q 20.90625 20.125 20.90625 31.390625 -Q 20.90625 42.671875 17.703125 53.65625 -Q 14.5 64.65625 8.015625 75.875 -" id="DejaVuSans-29"/> - </defs> - <g style="fill:#01769d;" transform="translate(21.523188 101.55)rotate(-90)scale(0.1 -0.1)"> - <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> - <use transform="translate(68.408203 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-67"/> - <use transform="translate(112.841797 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-61"/> - <use transform="translate(155.737305 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-74"/> - <use transform="translate(183.183594 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-65"/> - <use transform="translate(256.043511 0.125)" xlink:href="#DejaVuSans-28"/> - <use transform="translate(295.057183 0.125)" xlink:href="#DejaVuSans-Oblique-41"/> - <use transform="translate(363.465386 0.125)" xlink:href="#DejaVuSans-29"/> - </g> - </g> - </g> - <g id="line2d_31"> - <path clip-path="url(#p8741a3ea9b)" d="M 77.523 121.327656 -L 81.138995 121.381587 -L 91.801041 121.27744 -L 97.225032 121.351082 -L 108.675682 121.311053 -L 115.064173 121.316603 -L 123.501494 121.304066 -L 133.144146 121.301847 -L 152.42945 121.308806 -L 166.984533 121.409753 -L 168.414574 121.588111 -L 168.683729 121.508082 -L 169.036645 121.268368 -L 169.639311 120.56404 -L 170.241976 119.532488 -L 171.447308 116.564057 -L 172.652639 112.765665 -L 174.460637 106.080649 -L 175.665968 100.288857 -L 178.076631 86.440969 -L 179.281963 81.47397 -L 181.08996 75.154046 -L 186.451248 57.470242 -L 187.798123 53.521876 -L 189.60612 48.972416 -L 191.414118 45.243642 -L 193.222115 42.211042 -L 195.030112 39.748321 -L 196.838109 37.748747 -L 198.646107 36.124917 -L 201.05677 34.423598 -L 203.467433 33.133341 -L 205.878096 32.154213 -L 208.288759 31.410724 -L 211.904753 30.616348 -L 215.520748 30.089332 -L 220.342074 29.650548 -L 226.368731 29.349682 -L 236.011383 29.140832 -L 254.43619 29.039433 -L 267.077998 29.118228 -L 274.309987 29.348242 -L 277.925981 29.672086 -L 279.733979 30.019147 -L 280.93931 30.418614 -L 282.144642 31.009658 -L 283.349973 31.791798 -L 285.15797 33.284614 -L 286.363302 34.46782 -L 288.773965 37.225064 -L 289.979296 38.780068 -L 291.787294 41.31652 -L 294.800622 46.076642 -L 297.211285 50.394887 -L 299.621948 55.246706 -L 302.032611 60.756341 -L 304.443274 67.085461 -L 306.251272 72.474532 -L 308.059269 78.484153 -L 309.867266 85.149113 -L 312.277929 95.015514 -L 317.701921 118.302239 -L 318.907252 122.007132 -L 319.509918 123.361158 -L 320.112584 124.345199 -L 320.71525 124.95527 -L 321.317915 125.206095 -L 321.920581 125.128288 -L 322.523247 124.764842 -L 323.125913 124.167526 -L 324.331244 122.50313 -L 326.694629 118.982221 -L 327.892224 117.82109 -L 328.49489 117.502929 -L 329.097555 117.376409 -L 329.700221 117.440306 -L 330.302887 117.683694 -L 330.905553 118.08773 -L 332.110884 119.268716 -L 334.918261 122.458647 -L 336.123593 123.271481 -L 336.726259 123.454522 -L 337.328924 123.482093 -L 337.93159 123.361621 -L 339.136922 122.746316 -L 340.853413 121.361692 -L 342.544249 120.021313 -L 343.74958 119.393256 -L 344.935063 119.17394 -L 346.140394 119.369207 -L 347.345726 119.914916 -L 351.349183 122.260563 -L 352.554514 122.529924 -L 353.731966 122.468033 -L 354.937297 122.118698 -L 357.138461 121.092036 -L 358.946458 120.351923 -L 360.015225 120.117703 -L 361.220556 120.0883 -L 362.425888 120.290757 -L 364.233885 120.891229 -L 366.61402 121.723104 -L 367.819352 121.959696 -L 368.991956 122.009077 -L 370.197287 121.876914 -L 372.005284 121.43955 -L 374.98721 120.697154 -L 376.78149 120.572094 -L 378.589487 120.755731 -L 383.971008 121.701875 -L 385.578501 121.671493 -L 387.989164 121.346056 -L 391.002493 120.91817 -L 392.81049 120.865841 -L 395.221153 121.064973 -L 399.439813 121.521541 -L 401.723033 121.499749 -L 409.557688 121.065794 -L 417.995009 121.400878 -L 425.226998 121.155869 -L 429.863 121.350289 -L 429.863 121.350289 -" style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> - </g> - <g id="patch_3"> - <path d="M 59.906 148.04 -L 59.906 14.76 -" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> - </g> - <g id="patch_4"> - <path d="M 59.906 148.04 -L 447.48 148.04 -" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> - </g> - </g> - <g id="axes_2"> - <g id="patch_5"> - <path d="M 59.906 300.76 -L 447.48 300.76 -L 447.48 167.48 -L 59.906 167.48 -z -" style="fill:#ffffff;"/> - </g> - <g id="matplotlib.axis_3"> - <g id="xtick_10"> - <g id="line2d_32"> - <path clip-path="url(#pb7c64354ed)" d="M 77.299193 300.76 -L 77.299193 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_33"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="77.299193" xlink:href="#m1b7bff1125" y="300.76"/> - </g> - </g> - <g id="text_8"> - <!-- 0.0 --> - <g style="fill:#01769d;" transform="translate(69.34763 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_11"> - <g id="line2d_34"> - <path clip-path="url(#pb7c64354ed)" d="M 121.379888 300.76 -L 121.379888 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_35"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="121.379888" xlink:href="#m1b7bff1125" y="300.76"/> - </g> - </g> - <g id="text_9"> - <!-- 0.5 --> - <defs> - <path d="M 10.796875 72.90625 -L 49.515625 72.90625 -L 49.515625 64.59375 -L 19.828125 64.59375 -L 19.828125 46.734375 -Q 21.96875 47.46875 24.109375 47.828125 -Q 26.265625 48.1875 28.421875 48.1875 -Q 40.625 48.1875 47.75 41.5 -Q 54.890625 34.8125 54.890625 23.390625 -Q 54.890625 11.625 47.5625 5.09375 -Q 40.234375 -1.421875 26.90625 -1.421875 -Q 22.3125 -1.421875 17.546875 -0.640625 -Q 12.796875 0.140625 7.71875 1.703125 -L 7.71875 11.625 -Q 12.109375 9.234375 16.796875 8.0625 -Q 21.484375 6.890625 26.703125 6.890625 -Q 35.15625 6.890625 40.078125 11.328125 -Q 45.015625 15.765625 45.015625 23.390625 -Q 45.015625 31 40.078125 35.4375 -Q 35.15625 39.890625 26.703125 39.890625 -Q 22.75 39.890625 18.8125 39.015625 -Q 14.890625 38.140625 10.796875 36.28125 -z -" id="DejaVuSans-35"/> - </defs> - <g style="fill:#01769d;" transform="translate(113.428325 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> - </g> - </g> - </g> - <g id="xtick_12"> - <g id="line2d_36"> - <path clip-path="url(#pb7c64354ed)" d="M 165.460583 300.76 -L 165.460583 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_37"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="165.460583" xlink:href="#m1b7bff1125" y="300.76"/> - </g> - </g> - <g id="text_10"> - <!-- 1.0 --> - <g style="fill:#01769d;" transform="translate(157.50902 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_13"> - <g id="line2d_38"> - <path clip-path="url(#pb7c64354ed)" d="M 209.541278 300.76 -L 209.541278 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_39"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="209.541278" xlink:href="#m1b7bff1125" y="300.76"/> - </g> - </g> - <g id="text_11"> - <!-- 1.5 --> - <g style="fill:#01769d;" transform="translate(201.589715 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-31"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> - </g> - </g> - </g> - <g id="xtick_14"> - <g id="line2d_40"> - <path clip-path="url(#pb7c64354ed)" d="M 253.621973 300.76 -L 253.621973 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_41"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="253.621973" xlink:href="#m1b7bff1125" y="300.76"/> - </g> - </g> - <g id="text_12"> - <!-- 2.0 --> - <g style="fill:#01769d;" transform="translate(245.67041 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-32"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_15"> - <g id="line2d_42"> - <path clip-path="url(#pb7c64354ed)" d="M 297.702668 300.76 -L 297.702668 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_43"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="297.702668" xlink:href="#m1b7bff1125" y="300.76"/> - </g> - </g> - <g id="text_13"> - <!-- 2.5 --> - <g style="fill:#01769d;" transform="translate(289.751105 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-32"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> - </g> - </g> - </g> - <g id="xtick_16"> - <g id="line2d_44"> - <path clip-path="url(#pb7c64354ed)" d="M 341.783362 300.76 -L 341.783362 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_45"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="341.783362" xlink:href="#m1b7bff1125" y="300.76"/> - </g> - </g> - <g id="text_14"> - <!-- 3.0 --> - <g style="fill:#01769d;" transform="translate(333.8318 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-33"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="xtick_17"> - <g id="line2d_46"> - <path clip-path="url(#pb7c64354ed)" d="M 385.864057 300.76 -L 385.864057 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_47"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="385.864057" xlink:href="#m1b7bff1125" y="300.76"/> - </g> - </g> - <g id="text_15"> - <!-- 3.5 --> - <g style="fill:#01769d;" transform="translate(377.912495 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-33"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-35"/> - </g> - </g> - </g> - <g id="xtick_18"> - <g id="line2d_48"> - <path clip-path="url(#pb7c64354ed)" d="M 429.944752 300.76 -L 429.944752 167.48 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_49"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="429.944752" xlink:href="#m1b7bff1125" y="300.76"/> - </g> - </g> - <g id="text_16"> - <!-- 4.0 --> - <g style="fill:#01769d;" transform="translate(421.99319 315.358437)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-34"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="text_17"> - <!-- $t\;(\mu s)$ --> - <defs> - <path d="M -1.3125 -20.796875 -L 13.375 54.6875 -L 22.40625 54.6875 -L 15.765625 20.65625 -Q 15.578125 19.625 15.421875 18.359375 -Q 15.28125 17.09375 15.28125 15.828125 -Q 15.28125 11.28125 18.140625 8.828125 -Q 21 6.390625 26.3125 6.390625 -Q 33.546875 6.390625 37.984375 10.484375 -Q 42.4375 14.59375 44 22.796875 -L 50.203125 54.6875 -L 59.1875 54.6875 -L 51.03125 12.640625 -Q 50.828125 11.71875 50.75 11.03125 -Q 50.6875 10.359375 50.6875 9.8125 -Q 50.6875 8.296875 51.296875 7.59375 -Q 51.90625 6.890625 53.21875 6.890625 -Q 53.71875 6.890625 54.5625 7.125 -Q 55.421875 7.375 56.984375 8.015625 -L 55.609375 0.78125 -Q 53.46875 -0.296875 51.515625 -0.859375 -Q 49.5625 -1.421875 47.703125 -1.421875 -Q 44.484375 -1.421875 42.65625 0.625 -Q 40.828125 2.6875 40.828125 6.296875 -Q 38.09375 2.390625 34.296875 0.484375 -Q 30.515625 -1.421875 25.390625 -1.421875 -Q 20.84375 -1.421875 17.453125 0.671875 -Q 14.0625 2.78125 12.984375 6.203125 -L 7.71875 -20.796875 -z -" id="DejaVuSans-Oblique-3bc"/> - <path d="M 50 53.078125 -L 48.296875 44.578125 -Q 44.734375 46.53125 40.765625 47.5 -Q 36.8125 48.484375 32.625 48.484375 -Q 25.53125 48.484375 21.453125 46.0625 -Q 17.390625 43.65625 17.390625 39.5 -Q 17.390625 34.671875 26.859375 32.078125 -Q 27.59375 31.890625 27.9375 31.78125 -L 30.8125 30.90625 -Q 39.796875 28.421875 42.796875 25.6875 -Q 45.796875 22.953125 45.796875 18.21875 -Q 45.796875 9.515625 38.890625 4.046875 -Q 31.984375 -1.421875 20.796875 -1.421875 -Q 16.453125 -1.421875 11.671875 -0.578125 -Q 6.890625 0.25 1.125 2 -L 2.875 11.28125 -Q 7.8125 8.734375 12.59375 7.421875 -Q 17.390625 6.109375 21.78125 6.109375 -Q 28.375 6.109375 32.5 8.9375 -Q 36.625 11.765625 36.625 16.109375 -Q 36.625 20.796875 25.78125 23.6875 -L 24.859375 23.921875 -L 21.78125 24.703125 -Q 14.9375 26.515625 11.765625 29.46875 -Q 8.59375 32.421875 8.59375 37.015625 -Q 8.59375 45.75 15.15625 50.875 -Q 21.734375 56 33.015625 56 -Q 37.453125 56 41.671875 55.265625 -Q 45.90625 54.546875 50 53.078125 -" id="DejaVuSans-Oblique-73"/> - </defs> - <g style="fill:#01769d;" transform="translate(240.643 329.038125)scale(0.1 -0.1)"> - <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-74"/> - <use transform="translate(66.26812 0.125)" xlink:href="#DejaVuSans-28"/> - <use transform="translate(105.281792 0.125)" xlink:href="#DejaVuSans-Oblique-3bc"/> - <use transform="translate(168.904839 0.125)" xlink:href="#DejaVuSans-Oblique-73"/> - <use transform="translate(221.004448 0.125)" xlink:href="#DejaVuSans-29"/> - </g> - </g> - </g> - <g id="matplotlib.axis_4"> - <g id="ytick_7"> - <g id="line2d_50"> - <path clip-path="url(#pb7c64354ed)" d="M 59.906 292.43 -L 447.48 292.43 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_51"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m21d20507da" y="292.43"/> - </g> - </g> - <g id="text_18"> - <!-- 0 --> - <g style="fill:#01769d;" transform="translate(46.5435 296.229219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - </g> - </g> - </g> - <g id="ytick_8"> - <g id="line2d_52"> - <path clip-path="url(#pb7c64354ed)" d="M 59.906 259.11 -L 447.48 259.11 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_53"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m21d20507da" y="259.11"/> - </g> - </g> - <g id="text_19"> - <!-- 2 --> - <g style="fill:#01769d;" transform="translate(46.5435 262.909219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-32"/> - </g> - </g> - </g> - <g id="ytick_9"> - <g id="line2d_54"> - <path clip-path="url(#pb7c64354ed)" d="M 59.906 225.79 -L 447.48 225.79 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_55"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m21d20507da" y="225.79"/> - </g> - </g> - <g id="text_20"> - <!-- 4 --> - <g style="fill:#01769d;" transform="translate(46.5435 229.589219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-34"/> - </g> - </g> - </g> - <g id="ytick_10"> - <g id="line2d_56"> - <path clip-path="url(#pb7c64354ed)" d="M 59.906 192.47 -L 447.48 192.47 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_57"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m21d20507da" y="192.47"/> - </g> - </g> - <g id="text_21"> - <!-- 6 --> - <defs> - <path d="M 33.015625 40.375 -Q 26.375 40.375 22.484375 35.828125 -Q 18.609375 31.296875 18.609375 23.390625 -Q 18.609375 15.53125 22.484375 10.953125 -Q 26.375 6.390625 33.015625 6.390625 -Q 39.65625 6.390625 43.53125 10.953125 -Q 47.40625 15.53125 47.40625 23.390625 -Q 47.40625 31.296875 43.53125 35.828125 -Q 39.65625 40.375 33.015625 40.375 -M 52.59375 71.296875 -L 52.59375 62.3125 -Q 48.875 64.0625 45.09375 64.984375 -Q 41.3125 65.921875 37.59375 65.921875 -Q 27.828125 65.921875 22.671875 59.328125 -Q 17.53125 52.734375 16.796875 39.40625 -Q 19.671875 43.65625 24.015625 45.921875 -Q 28.375 48.1875 33.59375 48.1875 -Q 44.578125 48.1875 50.953125 41.515625 -Q 57.328125 34.859375 57.328125 23.390625 -Q 57.328125 12.15625 50.6875 5.359375 -Q 44.046875 -1.421875 33.015625 -1.421875 -Q 20.359375 -1.421875 13.671875 8.265625 -Q 6.984375 17.96875 6.984375 36.375 -Q 6.984375 53.65625 15.1875 63.9375 -Q 23.390625 74.21875 37.203125 74.21875 -Q 40.921875 74.21875 44.703125 73.484375 -Q 48.484375 72.75 52.59375 71.296875 -" id="DejaVuSans-36"/> - </defs> - <g style="fill:#01769d;" transform="translate(46.5435 196.269219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-36"/> - </g> - </g> - </g> - <g id="text_22"> - <!-- $I_{LED}\;(A)$ --> - <defs> - <path d="M 16.890625 72.90625 -L 26.8125 72.90625 -L 12.59375 0 -L 2.6875 0 -z -" id="DejaVuSans-Oblique-49"/> - <path d="M 16.796875 72.90625 -L 26.703125 72.90625 -L 14.203125 8.203125 -L 49.703125 8.203125 -L 48.09375 0 -L 2.6875 0 -z -" id="DejaVuSans-Oblique-4c"/> - <path d="M 16.890625 72.90625 -L 62.984375 72.90625 -L 61.375 64.59375 -L 25.09375 64.59375 -L 20.90625 43.015625 -L 55.71875 43.015625 -L 54.109375 34.71875 -L 19.28125 34.71875 -L 14.203125 8.296875 -L 51.3125 8.296875 -L 49.703125 0 -L 2.6875 0 -z -" id="DejaVuSans-Oblique-45"/> - <path d="M 16.890625 72.90625 -L 38.09375 72.90625 -Q 54.984375 72.90625 63.59375 65.75 -Q 72.21875 58.59375 72.21875 44.484375 -Q 72.21875 35.15625 68.9375 26.53125 -Q 65.671875 17.921875 59.90625 12.015625 -Q 54.109375 5.953125 45.171875 2.96875 -Q 36.234375 0 24.03125 0 -L 2.6875 0 -z -M 25.203125 64.796875 -L 14.203125 8.109375 -L 27.09375 8.109375 -Q 43.65625 8.109375 52.734375 17.625 -Q 61.8125 27.15625 61.8125 44.484375 -Q 61.8125 54.984375 55.953125 59.890625 -Q 50.09375 64.796875 37.59375 64.796875 -z -" id="DejaVuSans-Oblique-44"/> - </defs> - <g style="fill:#01769d;" transform="translate(40.463813 251.27)rotate(-90)scale(0.1 -0.1)"> - <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-49"/> - <use transform="translate(29.492188 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-4c"/> - <use transform="translate(68.491211 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-45"/> - <use transform="translate(112.719727 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-44"/> - <use transform="translate(196.414604 0.125)" xlink:href="#DejaVuSans-28"/> - <use transform="translate(235.428276 0.125)" xlink:href="#DejaVuSans-Oblique-41"/> - <use transform="translate(303.836479 0.125)" xlink:href="#DejaVuSans-29"/> - </g> - </g> - </g> - <g id="line2d_58"> - <path clip-path="url(#pb7c64354ed)" d="M 77.523 215.692207 -L 84.569051 215.925914 -L 88.185046 215.585917 -L 91.801041 215.315791 -L 94.814369 215.336167 -L 99.635695 215.406688 -L 103.25169 215.199055 -L 108.073016 214.937859 -L 121.693496 214.651124 -L 126.514822 214.563359 -L 133.746811 214.450638 -L 142.184132 214.219463 -L 151.224118 214.046166 -L 160.264104 213.873402 -L 165.658313 213.714182 -L 166.984533 211.920966 -L 167.370469 211.640462 -L 167.593777 211.754916 -L 167.790596 212.309128 -L 168.175316 215.099861 -L 170.241976 235.796729 -L 171.447308 245.463994 -L 172.652639 253.382175 -L 173.857971 259.844556 -L 175.063302 265.148833 -L 176.268634 269.573163 -L 177.473965 273.349652 -L 179.281963 278.177657 -L 181.08996 282.363607 -L 184.103289 288.561969 -L 185.30862 290.651672 -L 185.683377 291.055564 -L 186.451248 291.482262 -L 187.798123 291.805653 -L 190.208786 292.024467 -L 195.030112 292.160994 -L 208.288759 292.253292 -L 256.230014 292.288043 -L 268.885995 292.084934 -L 273.707321 291.807987 -L 276.117984 291.477149 -L 277.925981 290.979084 -L 279.131313 290.355267 -L 280.336644 289.298556 -L 285.15797 284.210274 -L 288.773965 280.126287 -L 291.787294 276.413967 -L 294.800622 272.250075 -L 297.211285 268.431137 -L 299.621948 263.998577 -L 302.032611 258.763455 -L 304.443274 252.554157 -L 306.251272 247.192419 -L 308.059269 241.225024 -L 310.469932 232.44677 -L 314.688592 216.662569 -L 315.291258 214.853276 -L 315.893924 213.397042 -L 316.496589 212.436677 -L 317.099255 212.104326 -L 317.701921 212.474262 -L 318.304587 213.534954 -L 318.907252 215.198138 -L 320.112584 219.764978 -L 321.920581 227.292382 -L 322.523247 229.377364 -L 323.125913 231.050395 -L 323.728578 232.231389 -L 324.331244 232.87135 -L 324.93391 232.963763 -L 325.489297 232.556692 -L 326.091963 231.62195 -L 326.694629 230.261211 -L 327.892224 226.628365 -L 330.302887 218.668283 -L 330.905553 217.163252 -L 331.508218 216.012946 -L 332.110884 215.260947 -L 332.71355 214.906472 -L 333.198671 214.927164 -L 333.71293 215.254649 -L 334.315596 215.956552 -L 334.918261 216.937709 -L 336.123593 219.47646 -L 337.93159 223.466396 -L 338.534256 224.529938 -L 339.136922 225.357123 -L 339.739587 225.908086 -L 340.342253 226.171564 -L 340.853413 226.158086 -L 341.338917 225.927062 -L 341.941583 225.391193 -L 342.544249 224.630847 -L 343.74958 222.59886 -L 346.140394 218.230542 -L 346.74306 217.396992 -L 347.345726 216.759614 -L 347.948391 216.34298 -L 348.551057 216.148408 -L 349.049161 216.161919 -L 349.541185 216.337899 -L 350.143851 216.731258 -L 351.349183 217.953652 -L 354.334631 221.52609 -L 354.937297 221.996984 -L 355.539963 222.311125 -L 356.142629 222.461299 -L 356.653515 222.452969 -L 357.138461 222.319739 -L 357.741127 222.010346 -L 358.946458 221.022141 -L 362.425888 217.432311 -L 363.631219 216.748168 -L 364.233885 216.601394 -L 364.836551 216.586749 -L 366.011354 216.914985 -L 367.216686 217.618137 -L 370.197287 219.648374 -L 371.402619 220.079185 -L 372.60795 220.117187 -L 373.781879 219.779005 -L 374.98721 219.138512 -L 377.986821 217.24337 -L 379.192153 216.761846 -L 380.397484 216.581985 -L 381.560345 216.695822 -L 382.765676 217.053946 -L 386.181167 218.363339 -L 387.386498 218.573554 -L 388.59183 218.547981 -L 389.797161 218.297482 -L 391.605158 217.638545 -L 394.015821 216.728943 -L 395.221153 216.456152 -L 396.426484 216.366021 -L 397.631816 216.452836 -L 399.439813 216.811976 -L 402.325699 217.401857 -L 404.133696 217.46065 -L 405.941694 217.214565 -L 411.365685 216.083801 -L 413.173683 216.066658 -L 415.584346 216.322622 -L 418.597674 216.623801 -L 420.405672 216.591981 -L 422.816335 216.293533 -L 426.432329 215.769876 -L 428.717208 215.679396 -L 429.863 215.717397 -L 429.863 215.717397 -" style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> - </g> - <g id="patch_6"> - <path d="M 59.906 300.76 -L 59.906 167.48 -" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> - </g> - <g id="patch_7"> - <path d="M 59.906 300.76 -L 447.48 300.76 -" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> - </g> - </g> - </g> - <defs> - <clipPath id="p8741a3ea9b"> - <rect height="133.28" width="387.574" x="59.906" y="14.76"/> - </clipPath> - <clipPath id="pb7c64354ed"> - <rect height="133.28" width="387.574" x="59.906" y="167.48"/> - </clipPath> - </defs> -</svg> diff --git a/firmware/spice_sims/overshoot_sim_r150.svg b/firmware/spice_sims/overshoot_sim_r150.svg index 3fe3f67..3aaa604 100644 --- a/firmware/spice_sims/overshoot_sim_r150.svg +++ b/firmware/spice_sims/overshoot_sim_r150.svg @@ -2,7 +2,7 @@ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="345pt" version="1.1" viewBox="0 0 460 345" width="460pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<svg height="432pt" version="1.1" viewBox="0 0 432 432" width="432pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> *{stroke-linecap:butt;stroke-linejoin:round;} @@ -10,133 +10,133 @@ </defs> <g id="figure_1"> <g id="patch_1"> - <path d="M 0 345.6 -L 460.8 345.6 -L 460.8 0 + <path d="M 0 432 +L 432 432 +L 432 0 L 0 0 z " style="fill:#ffffff;"/> </g> <g id="axes_1"> <g id="patch_2"> - <path d="M 59.906 148.04 -L 447.48 148.04 -L 447.48 14.76 -L 59.906 14.76 + <path d="M 50.078 126.413333 +L 418.68 126.413333 +L 418.68 13.32 +L 50.078 13.32 z " style="fill:#ffffff;"/> </g> <g id="matplotlib.axis_1"> <g id="xtick_1"> <g id="line2d_1"> - <path clip-path="url(#pe927b75a56)" d="M 77.163742 148.04 -L 77.163742 14.76 + <path clip-path="url(#p8d47cb9d68)" d="M 66.490964 126.413333 +L 66.490964 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_2"> <defs> <path d="M 0 0 L 0 3.5 -" id="m7aab5ed287" style="stroke:#01769d;stroke-width:0.8;"/> +" id="mf6cf698329" style="stroke:#01769d;stroke-width:0.8;"/> </defs> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="77.163742" xlink:href="#m7aab5ed287" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="66.490964" xlink:href="#mf6cf698329" y="126.413333"/> </g> </g> </g> <g id="xtick_2"> <g id="line2d_3"> - <path clip-path="url(#pe927b75a56)" d="M 121.295095 148.04 -L 121.295095 14.76 + <path clip-path="url(#p8d47cb9d68)" d="M 108.462058 126.413333 +L 108.462058 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_4"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="121.295095" xlink:href="#m7aab5ed287" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="108.462058" xlink:href="#mf6cf698329" y="126.413333"/> </g> </g> </g> <g id="xtick_3"> <g id="line2d_5"> - <path clip-path="url(#pe927b75a56)" d="M 165.426447 148.04 -L 165.426447 14.76 + <path clip-path="url(#p8d47cb9d68)" d="M 150.433153 126.413333 +L 150.433153 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_6"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="165.426447" xlink:href="#m7aab5ed287" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="150.433153" xlink:href="#mf6cf698329" y="126.413333"/> </g> </g> </g> <g id="xtick_4"> <g id="line2d_7"> - <path clip-path="url(#pe927b75a56)" d="M 209.5578 148.04 -L 209.5578 14.76 + <path clip-path="url(#p8d47cb9d68)" d="M 192.404247 126.413333 +L 192.404247 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_8"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="209.5578" xlink:href="#m7aab5ed287" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="192.404247" xlink:href="#mf6cf698329" y="126.413333"/> </g> </g> </g> <g id="xtick_5"> <g id="line2d_9"> - <path clip-path="url(#pe927b75a56)" d="M 253.689153 148.04 -L 253.689153 14.76 + <path clip-path="url(#p8d47cb9d68)" d="M 234.375341 126.413333 +L 234.375341 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_10"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="253.689153" xlink:href="#m7aab5ed287" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="234.375341" xlink:href="#mf6cf698329" y="126.413333"/> </g> </g> </g> <g id="xtick_6"> <g id="line2d_11"> - <path clip-path="url(#pe927b75a56)" d="M 297.820506 148.04 -L 297.820506 14.76 + <path clip-path="url(#p8d47cb9d68)" d="M 276.346436 126.413333 +L 276.346436 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_12"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="297.820506" xlink:href="#m7aab5ed287" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="276.346436" xlink:href="#mf6cf698329" y="126.413333"/> </g> </g> </g> <g id="xtick_7"> <g id="line2d_13"> - <path clip-path="url(#pe927b75a56)" d="M 341.951859 148.04 -L 341.951859 14.76 + <path clip-path="url(#p8d47cb9d68)" d="M 318.31753 126.413333 +L 318.31753 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_14"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="341.951859" xlink:href="#m7aab5ed287" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="318.31753" xlink:href="#mf6cf698329" y="126.413333"/> </g> </g> </g> <g id="xtick_8"> <g id="line2d_15"> - <path clip-path="url(#pe927b75a56)" d="M 386.083212 148.04 -L 386.083212 14.76 + <path clip-path="url(#p8d47cb9d68)" d="M 360.288624 126.413333 +L 360.288624 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_16"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="386.083212" xlink:href="#m7aab5ed287" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="360.288624" xlink:href="#mf6cf698329" y="126.413333"/> </g> </g> </g> <g id="xtick_9"> <g id="line2d_17"> - <path clip-path="url(#pe927b75a56)" d="M 430.214564 148.04 -L 430.214564 14.76 + <path clip-path="url(#p8d47cb9d68)" d="M 402.259719 126.413333 +L 402.259719 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_18"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="430.214564" xlink:href="#m7aab5ed287" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="402.259719" xlink:href="#mf6cf698329" y="126.413333"/> </g> </g> </g> @@ -144,29 +144,23 @@ L 430.214564 14.76 <g id="matplotlib.axis_2"> <g id="ytick_1"> <g id="line2d_19"> - <path clip-path="url(#pe927b75a56)" d="M 59.906 148.04 -L 447.48 148.04 + <path clip-path="url(#p8d47cb9d68)" d="M 50.078 110.257143 +L 418.68 110.257143 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_20"> <defs> <path d="M 0 0 L -3.5 0 -" id="m0dfc7dc7b9" style="stroke:#01769d;stroke-width:0.8;"/> +" id="m36bb1efbd4" style="stroke:#01769d;stroke-width:0.8;"/> </defs> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0dfc7dc7b9" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m36bb1efbd4" y="110.257143"/> </g> </g> <g id="text_1"> - <!-- −0.1 --> + <!-- 0 --> <defs> - <path d="M 10.59375 35.5 -L 73.1875 35.5 -L 73.1875 27.203125 -L 10.59375 27.203125 -z -" id="DejaVuSans-2212"/> <path d="M 31.78125 66.40625 Q 24.171875 66.40625 20.328125 58.90625 Q 16.5 51.421875 16.5 36.375 @@ -186,12 +180,26 @@ Q 6.59375 17.96875 6.59375 36.375 Q 6.59375 54.828125 13.0625 64.515625 Q 19.53125 74.21875 31.78125 74.21875 " id="DejaVuSans-30"/> - <path d="M 10.6875 12.40625 -L 21 12.40625 -L 21 0 -L 10.6875 0 -z -" id="DejaVuSans-2e"/> + </defs> + <g style="fill:#01769d;" transform="translate(36.7155 114.056362)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + </g> + </g> + </g> + <g id="ytick_2"> + <g id="line2d_21"> + <path clip-path="url(#p8d47cb9d68)" d="M 50.078 83.330159 +L 418.68 83.330159 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_22"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m36bb1efbd4" y="83.330159"/> + </g> + </g> + <g id="text_2"> + <!-- 1 --> + <defs> <path d="M 12.40625 8.296875 L 28.515625 8.296875 L 28.515625 63.921875 @@ -206,67 +214,24 @@ L 12.40625 0 z " id="DejaVuSans-31"/> </defs> - <g style="fill:#01769d;" transform="translate(28.623188 151.839219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-30"/> - <use x="147.412109" xlink:href="#DejaVuSans-2e"/> - <use x="179.199219" xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="ytick_2"> - <g id="line2d_21"> - <path clip-path="url(#pe927b75a56)" d="M 59.906 121.384 -L 447.48 121.384 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_22"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0dfc7dc7b9" y="121.384"/> - </g> - </g> - <g id="text_2"> - <!-- 0.0 --> - <g style="fill:#01769d;" transform="translate(37.002875 125.183219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <g style="fill:#01769d;" transform="translate(36.7155 87.129377)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-31"/> </g> </g> </g> <g id="ytick_3"> <g id="line2d_23"> - <path clip-path="url(#pe927b75a56)" d="M 59.906 94.728 -L 447.48 94.728 + <path clip-path="url(#p8d47cb9d68)" d="M 50.078 56.403175 +L 418.68 56.403175 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_24"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0dfc7dc7b9" y="94.728"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m36bb1efbd4" y="56.403175"/> </g> </g> <g id="text_3"> - <!-- 0.1 --> - <g style="fill:#01769d;" transform="translate(37.002875 98.527219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="ytick_4"> - <g id="line2d_25"> - <path clip-path="url(#pe927b75a56)" d="M 59.906 68.072 -L 447.48 68.072 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_26"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0dfc7dc7b9" y="68.072"/> - </g> - </g> - <g id="text_4"> - <!-- 0.2 --> + <!-- 2 --> <defs> <path d="M 19.1875 8.296875 L 53.609375 8.296875 @@ -292,26 +257,24 @@ Q 44.1875 33.984375 37.640625 27.21875 Q 31.109375 20.453125 19.1875 8.296875 " id="DejaVuSans-32"/> </defs> - <g style="fill:#01769d;" transform="translate(37.002875 71.871219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-32"/> + <g style="fill:#01769d;" transform="translate(36.7155 60.202393)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-32"/> </g> </g> </g> - <g id="ytick_5"> - <g id="line2d_27"> - <path clip-path="url(#pe927b75a56)" d="M 59.906 41.416 -L 447.48 41.416 + <g id="ytick_4"> + <g id="line2d_25"> + <path clip-path="url(#p8d47cb9d68)" d="M 50.078 29.47619 +L 418.68 29.47619 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_28"> + <g id="line2d_26"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0dfc7dc7b9" y="41.416"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m36bb1efbd4" y="29.47619"/> </g> </g> - <g id="text_5"> - <!-- 0.3 --> + <g id="text_4"> + <!-- 3 --> <defs> <path d="M 40.578125 39.3125 Q 47.65625 37.796875 51.625 33 @@ -345,54 +308,13 @@ Q 53.90625 49.265625 50.4375 45.09375 Q 46.96875 40.921875 40.578125 39.3125 " id="DejaVuSans-33"/> </defs> - <g style="fill:#01769d;" transform="translate(37.002875 45.215219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-33"/> - </g> - </g> - </g> - <g id="ytick_6"> - <g id="line2d_29"> - <path clip-path="url(#pe927b75a56)" d="M 59.906 14.76 -L 447.48 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_30"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0dfc7dc7b9" y="14.76"/> - </g> - </g> - <g id="text_6"> - <!-- 0.4 --> - <defs> - <path d="M 37.796875 64.3125 -L 12.890625 25.390625 -L 37.796875 25.390625 -z -M 35.203125 72.90625 -L 47.609375 72.90625 -L 47.609375 25.390625 -L 58.015625 25.390625 -L 58.015625 17.1875 -L 47.609375 17.1875 -L 47.609375 0 -L 37.796875 0 -L 37.796875 17.1875 -L 4.890625 17.1875 -L 4.890625 26.703125 -z -" id="DejaVuSans-34"/> - </defs> - <g style="fill:#01769d;" transform="translate(37.002875 18.559219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-34"/> + <g style="fill:#01769d;" transform="translate(36.7155 33.275409)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-33"/> </g> </g> </g> - <g id="text_7"> - <!-- $V_{gate}\;(A)$ --> + <g id="text_5"> + <!-- $V_{gate}\;(V)$ --> <defs> <path d="M 20.609375 0 L 7.8125 72.90625 @@ -540,20 +462,6 @@ Q 8.59375 42.28125 12.203125 53.3125 Q 15.828125 64.359375 23.1875 75.875 z " id="DejaVuSans-28"/> - <path d="M 36.8125 72.90625 -L 48 72.90625 -L 61.53125 0 -L 51.21875 0 -L 48.1875 18.703125 -L 15.375 18.703125 -L 5.078125 0 -L -5.328125 0 -z -M 40.375 63.1875 -L 19.921875 26.90625 -L 46.6875 26.90625 -z -" id="DejaVuSans-Oblique-41"/> <path d="M 8.015625 75.875 L 15.828125 75.875 Q 23.140625 64.359375 26.78125 53.3125 @@ -567,188 +475,692 @@ Q 20.90625 42.671875 17.703125 53.65625 Q 14.5 64.65625 8.015625 75.875 " id="DejaVuSans-29"/> </defs> - <g style="fill:#01769d;" transform="translate(21.523188 101.55)rotate(-90)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(29.6155 90.016667)rotate(-90)scale(0.1 -0.1)"> <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> <use transform="translate(68.408203 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-67"/> <use transform="translate(112.841797 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-61"/> <use transform="translate(155.737305 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-74"/> <use transform="translate(183.183594 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-65"/> <use transform="translate(256.043511 0.125)" xlink:href="#DejaVuSans-28"/> - <use transform="translate(295.057183 0.125)" xlink:href="#DejaVuSans-Oblique-41"/> + <use transform="translate(295.057183 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> <use transform="translate(363.465386 0.125)" xlink:href="#DejaVuSans-29"/> </g> </g> </g> - <g id="line2d_31"> - <path clip-path="url(#pe927b75a56)" d="M 77.523 121.131797 -L 85.311185 121.359206 -L 93.758202 121.208012 -L 101.488688 121.330596 -L 109.777939 121.249793 -L 117.978395 121.313452 -L 127.028771 121.292022 -L 135.475787 121.298704 -L 145.129521 121.318419 -L 167.682538 121.492229 -L 168.926152 121.657824 -L 169.573356 121.48625 -L 170.025594 121.155697 -L 170.628952 120.469373 -L 171.23231 119.527649 -L 172.439027 116.975887 -L 173.645744 113.802671 -L 175.455819 108.308933 -L 176.662535 103.771437 -L 179.679327 89.763906 -L 180.886044 85.72395 -L 183.299477 78.666854 -L 188.729702 63.385262 -L 192.862945 52.467818 -L 194.611723 48.430686 -L 196.421798 44.899219 -L 198.231873 41.989664 -L 200.041948 39.609416 -L 201.852023 37.667127 -L 203.662098 36.083734 -L 205.472173 34.793317 -L 207.282248 33.741684 -L 209.695681 32.63562 -L 212.109115 31.793104 -L 214.522548 31.150908 -L 218.142698 30.461424 -L 221.762848 30.000994 -L 226.589715 29.614243 -L 233.830015 29.309485 -L 244.690465 29.128517 -L 263.080582 29.079523 -L 275.147748 29.260544 -L 281.181332 29.534941 -L 284.801482 29.918867 -L 286.611557 30.283975 -L 288.421632 30.901861 -L 290.231707 31.827757 -L 292.041782 33.024958 -L 294.455215 34.96914 -L 297.472007 37.852279 -L 300.488799 41.147494 -L 302.902232 44.048253 -L 306.522382 48.83783 -L 309.539174 53.255796 -L 313.159324 59.204855 -L 314.969399 62.503268 -L 317.98619 68.592032 -L 320.399624 74.085007 -L 322.813057 80.204612 -L 325.22649 86.985632 -L 327.639924 94.401304 -L 331.260074 106.356062 -L 333.673507 114.190263 -L 334.880224 117.654042 -L 336.086941 120.486109 -L 336.690299 121.58312 -L 337.293657 122.436187 -L 337.897016 123.035292 -L 338.500374 123.382498 -L 339.103732 123.491325 -L 339.707091 123.385165 -L 340.310449 123.095217 -L 341.517166 122.114556 -L 344.533957 119.194094 -L 345.740674 118.537456 -L 346.344032 118.397243 -L 346.947391 118.388004 -L 347.550749 118.505467 -L 348.757466 119.073384 -L 349.964182 119.955846 -L 352.377616 121.820125 -L 353.584332 122.392664 -L 354.791049 122.566552 -L 355.997766 122.347787 -L 357.204482 121.830347 -L 360.607766 120.082046 -L 361.814483 119.786892 -L 363.021199 119.777116 -L 364.227916 120.034623 -L 366.037991 120.751177 -L 368.360053 121.693562 -L 369.56677 121.965869 -L 370.773487 122.017733 -L 371.980203 121.85825 -L 373.790279 121.351886 -L 376.114962 120.654389 -L 377.81276 120.410072 -L 379.019477 120.431976 -L 380.829552 120.731836 -L 384.841238 121.628152 -L 386.651313 121.709189 -L 388.328471 121.541642 -L 393.699588 120.762441 -L 395.509664 120.826111 -L 398.398863 121.219366 -L 400.752749 121.493834 -L 402.562824 121.531371 -L 404.976258 121.350524 -L 408.894557 120.987074 -L 411.30799 121.008566 -L 419.145585 121.412722 -L 427.449567 121.13184 -L 429.863 121.255227 -L 429.863 121.255227 + <g id="line2d_27"> + <path clip-path="url(#p8d47cb9d68)" d="M 66.832636 109.760588 +L 69.127931 109.766963 +L 77.108702 110.151689 +L 83.994585 109.887715 +L 93.491911 110.084086 +L 98.656323 109.965721 +L 110.472126 110.048072 +L 115.636538 110.050809 +L 123.096244 110.11084 +L 131.703597 110.093666 +L 140.310951 110.10006 +L 150.560685 109.944893 +L 150.977169 105.078513 +L 152.004983 94.713517 +L 153.037768 86.144341 +L 153.517827 83.807569 +L 153.761545 83.348345 +L 154.053338 83.126564 +L 154.807168 83.013228 +L 156.528638 82.693228 +L 161.119227 81.485983 +L 164.562168 80.984684 +L 172.595698 80.022421 +L 174.890992 79.743754 +L 175.464816 79.440367 +L 176.038639 78.855729 +L 177.042143 77.389204 +L 184.501849 65.353327 +L 187.370967 61.332374 +L 190.240084 57.679056 +L 193.683026 53.736003 +L 197.125967 50.223997 +L 200.568908 47.095189 +L 204.01185 44.307143 +L 207.454791 41.822347 +L 210.897732 39.607549 +L 214.340674 37.633209 +L 217.783615 35.873126 +L 222.374204 33.819675 +L 226.964792 32.05768 +L 231.55538 30.545676 +L 234.3964 29.755504 +L 234.404584 29.789001 +L 234.797776 31.368834 +L 237.568818 38.321866 +L 239.864112 43.620962 +L 242.159406 48.531502 +L 244.4547 53.082162 +L 247.323818 58.303708 +L 250.192936 63.047462 +L 253.062054 67.348105 +L 255.931171 71.225618 +L 258.800289 74.67036 +L 261.095583 77.063334 +L 262.817054 78.567745 +L 263.964701 79.359371 +L 265.112348 79.870014 +L 266.259995 80.007773 +L 274.293525 80.195885 +L 284.622349 80.648931 +L 290.934408 81.077366 +L 296.672644 81.675711 +L 300.689409 82.325324 +L 303.558527 83.011128 +L 305.853821 83.81241 +L 307.575291 84.70172 +L 308.722939 85.561135 +L 309.870586 86.82334 +L 310.444409 87.693808 +L 311.018233 88.780129 +L 312.16588 91.692315 +L 313.313527 95.434751 +L 315.608821 103.142748 +L 316.756468 105.933935 +L 317.330292 106.889576 +L 317.904115 107.526617 +L 318.477939 107.847546 +L 319.051763 107.871434 +L 319.625586 107.632314 +L 320.19941 107.176685 +L 321.347057 105.844408 +L 323.068527 103.715 +L 323.642351 103.192369 +L 324.216175 102.832019 +L 324.789998 102.658111 +L 325.363822 102.682297 +L 325.937645 102.9039 +L 326.511469 103.310773 +L 327.659116 104.583178 +L 331.102057 109.389617 +L 332.249704 110.338586 +L 332.823528 110.583934 +L 333.397351 110.671283 +L 333.971175 110.609232 +L 334.962838 110.195701 +L 336.060218 109.404341 +L 338.355513 107.607496 +L 339.50316 107.074341 +L 340.650807 106.963768 +L 341.738447 107.254577 +L 342.859203 107.889489 +L 346.302144 110.305092 +L 347.449791 110.728391 +L 348.597438 110.809193 +L 349.745086 110.567271 +L 351.27537 109.901912 +L 353.570664 108.82269 +L 354.718311 108.519369 +L 355.865958 108.466398 +L 356.908236 108.630288 +L 358.533623 109.199264 +L 361.317782 110.296139 +L 362.423977 110.526896 +L 363.571624 110.574356 +L 364.719271 110.432777 +L 366.958351 109.82144 +L 368.679822 109.355574 +L 370.401292 109.145473 +L 372.001417 109.248173 +L 374.240079 109.737993 +L 376.535373 110.242024 +L 378.256843 110.381875 +L 379.82591 110.283446 +L 383.130986 109.728437 +L 384.852457 109.538724 +L 386.573928 109.544289 +L 388.863455 109.807551 +L 392.306396 110.227782 +L 394.465657 110.223745 +L 397.908599 109.88991 +L 400.203893 109.741643 +L 401.925364 109.767015 +L 401.925364 109.767015 " style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> </g> <g id="patch_3"> - <path d="M 59.906 148.04 -L 59.906 14.76 + <path d="M 50.078 126.413333 +L 50.078 13.32 " style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> <g id="patch_4"> - <path d="M 59.906 148.04 -L 447.48 148.04 + <path d="M 50.078 126.413333 +L 418.68 126.413333 " style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> </g> <g id="axes_2"> <g id="patch_5"> - <path d="M 59.906 300.76 -L 447.48 300.76 -L 447.48 167.48 -L 59.906 167.48 + <path d="M 50.078 256.786667 +L 418.68 256.786667 +L 418.68 143.693333 +L 50.078 143.693333 z " style="fill:#ffffff;"/> </g> <g id="matplotlib.axis_3"> <g id="xtick_10"> + <g id="line2d_28"> + <path clip-path="url(#pe3a0da4c2d)" d="M 66.490964 256.786667 +L 66.490964 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_29"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="66.490964" xlink:href="#mf6cf698329" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_11"> + <g id="line2d_30"> + <path clip-path="url(#pe3a0da4c2d)" d="M 108.462058 256.786667 +L 108.462058 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_31"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="108.462058" xlink:href="#mf6cf698329" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_12"> <g id="line2d_32"> - <path clip-path="url(#p1dc5037314)" d="M 77.163742 300.76 -L 77.163742 167.48 + <path clip-path="url(#pe3a0da4c2d)" d="M 150.433153 256.786667 +L 150.433153 143.693333 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_33"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="77.163742" xlink:href="#m7aab5ed287" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="150.433153" xlink:href="#mf6cf698329" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_13"> + <g id="line2d_34"> + <path clip-path="url(#pe3a0da4c2d)" d="M 192.404247 256.786667 +L 192.404247 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_35"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="192.404247" xlink:href="#mf6cf698329" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_14"> + <g id="line2d_36"> + <path clip-path="url(#pe3a0da4c2d)" d="M 234.375341 256.786667 +L 234.375341 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_37"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="234.375341" xlink:href="#mf6cf698329" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_15"> + <g id="line2d_38"> + <path clip-path="url(#pe3a0da4c2d)" d="M 276.346436 256.786667 +L 276.346436 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_39"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="276.346436" xlink:href="#mf6cf698329" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_16"> + <g id="line2d_40"> + <path clip-path="url(#pe3a0da4c2d)" d="M 318.31753 256.786667 +L 318.31753 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_41"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="318.31753" xlink:href="#mf6cf698329" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_17"> + <g id="line2d_42"> + <path clip-path="url(#pe3a0da4c2d)" d="M 360.288624 256.786667 +L 360.288624 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_43"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="360.288624" xlink:href="#mf6cf698329" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_18"> + <g id="line2d_44"> + <path clip-path="url(#pe3a0da4c2d)" d="M 402.259719 256.786667 +L 402.259719 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_45"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="402.259719" xlink:href="#mf6cf698329" y="256.786667"/> + </g> + </g> + </g> + </g> + <g id="matplotlib.axis_4"> + <g id="ytick_5"> + <g id="line2d_46"> + <path clip-path="url(#pe3a0da4c2d)" d="M 50.078 249.718333 +L 418.68 249.718333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_47"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m36bb1efbd4" y="249.718333"/> + </g> + </g> + <g id="text_6"> + <!-- 0 --> + <g style="fill:#01769d;" transform="translate(36.7155 253.517552)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + </g> + </g> + </g> + <g id="ytick_6"> + <g id="line2d_48"> + <path clip-path="url(#pe3a0da4c2d)" d="M 50.078 221.445 +L 418.68 221.445 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_49"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m36bb1efbd4" y="221.445"/> + </g> + </g> + <g id="text_7"> + <!-- 2 --> + <g style="fill:#01769d;" transform="translate(36.7155 225.244219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-32"/> + </g> + </g> + </g> + <g id="ytick_7"> + <g id="line2d_50"> + <path clip-path="url(#pe3a0da4c2d)" d="M 50.078 193.171667 +L 418.68 193.171667 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_51"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m36bb1efbd4" y="193.171667"/> </g> </g> <g id="text_8"> + <!-- 4 --> + <defs> + <path d="M 37.796875 64.3125 +L 12.890625 25.390625 +L 37.796875 25.390625 +z +M 35.203125 72.90625 +L 47.609375 72.90625 +L 47.609375 25.390625 +L 58.015625 25.390625 +L 58.015625 17.1875 +L 47.609375 17.1875 +L 47.609375 0 +L 37.796875 0 +L 37.796875 17.1875 +L 4.890625 17.1875 +L 4.890625 26.703125 +z +" id="DejaVuSans-34"/> + </defs> + <g style="fill:#01769d;" transform="translate(36.7155 196.970885)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-34"/> + </g> + </g> + </g> + <g id="ytick_8"> + <g id="line2d_52"> + <path clip-path="url(#pe3a0da4c2d)" d="M 50.078 164.898333 +L 418.68 164.898333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_53"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m36bb1efbd4" y="164.898333"/> + </g> + </g> + <g id="text_9"> + <!-- 6 --> + <defs> + <path d="M 33.015625 40.375 +Q 26.375 40.375 22.484375 35.828125 +Q 18.609375 31.296875 18.609375 23.390625 +Q 18.609375 15.53125 22.484375 10.953125 +Q 26.375 6.390625 33.015625 6.390625 +Q 39.65625 6.390625 43.53125 10.953125 +Q 47.40625 15.53125 47.40625 23.390625 +Q 47.40625 31.296875 43.53125 35.828125 +Q 39.65625 40.375 33.015625 40.375 +M 52.59375 71.296875 +L 52.59375 62.3125 +Q 48.875 64.0625 45.09375 64.984375 +Q 41.3125 65.921875 37.59375 65.921875 +Q 27.828125 65.921875 22.671875 59.328125 +Q 17.53125 52.734375 16.796875 39.40625 +Q 19.671875 43.65625 24.015625 45.921875 +Q 28.375 48.1875 33.59375 48.1875 +Q 44.578125 48.1875 50.953125 41.515625 +Q 57.328125 34.859375 57.328125 23.390625 +Q 57.328125 12.15625 50.6875 5.359375 +Q 44.046875 -1.421875 33.015625 -1.421875 +Q 20.359375 -1.421875 13.671875 8.265625 +Q 6.984375 17.96875 6.984375 36.375 +Q 6.984375 53.65625 15.1875 63.9375 +Q 23.390625 74.21875 37.203125 74.21875 +Q 40.921875 74.21875 44.703125 73.484375 +Q 48.484375 72.75 52.59375 71.296875 +" id="DejaVuSans-36"/> + </defs> + <g style="fill:#01769d;" transform="translate(36.7155 168.697552)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-36"/> + </g> + </g> + </g> + <g id="text_10"> + <!-- $V_{drain}\;(V)$ --> + <defs> + <path d="M 41.796875 8.203125 +Q 38.1875 3.46875 33.25 1.015625 +Q 28.328125 -1.421875 22.3125 -1.421875 +Q 14.109375 -1.421875 9.34375 4.171875 +Q 4.59375 9.765625 4.59375 19.484375 +Q 4.59375 27.59375 7.46875 34.9375 +Q 10.359375 42.28125 15.828125 48.09375 +Q 19.4375 51.953125 23.96875 53.96875 +Q 28.515625 56 33.5 56 +Q 38.765625 56 42.796875 53.453125 +Q 46.828125 50.921875 49.03125 46.1875 +L 54.890625 75.984375 +L 63.921875 75.984375 +L 49.125 0 +L 40.09375 0 +z +M 13.921875 21.09375 +Q 13.921875 14.015625 17.109375 10.0625 +Q 20.3125 6.109375 25.984375 6.109375 +Q 30.171875 6.109375 33.765625 8.125 +Q 37.359375 10.15625 40.09375 14.109375 +Q 42.96875 18.21875 44.625 23.578125 +Q 46.296875 28.953125 46.296875 34.1875 +Q 46.296875 40.96875 43.09375 44.765625 +Q 39.890625 48.578125 34.28125 48.578125 +Q 30.03125 48.578125 26.359375 46.578125 +Q 22.703125 44.578125 20.125 40.828125 +Q 17.28125 36.765625 15.59375 31.390625 +Q 13.921875 26.03125 13.921875 21.09375 +" id="DejaVuSans-Oblique-64"/> + <path d="M 44.578125 46.390625 +Q 43.21875 47.125 41.453125 47.515625 +Q 39.703125 47.90625 37.703125 47.90625 +Q 30.515625 47.90625 25.140625 42.453125 +Q 19.78125 37.015625 18.015625 27.875 +L 12.5 0 +L 3.515625 0 +L 14.203125 54.6875 +L 23.1875 54.6875 +L 21.484375 46.1875 +Q 25.046875 50.921875 30 53.453125 +Q 34.96875 56 40.578125 56 +Q 42.046875 56 43.453125 55.828125 +Q 44.875 55.671875 46.296875 55.28125 +z +" id="DejaVuSans-Oblique-72"/> + <path d="M 18.3125 75.984375 +L 27.296875 75.984375 +L 25.09375 64.59375 +L 16.109375 64.59375 +z +M 14.203125 54.6875 +L 23.1875 54.6875 +L 12.5 0 +L 3.515625 0 +z +" id="DejaVuSans-Oblique-69"/> + <path d="M 55.71875 33.015625 +L 49.3125 0 +L 40.28125 0 +L 46.6875 32.671875 +Q 47.125 34.96875 47.359375 36.71875 +Q 47.609375 38.484375 47.609375 39.5 +Q 47.609375 43.609375 45.015625 45.890625 +Q 42.4375 48.1875 37.796875 48.1875 +Q 30.5625 48.1875 25.34375 43.375 +Q 20.125 38.578125 18.5 30.328125 +L 12.5 0 +L 3.515625 0 +L 14.109375 54.6875 +L 23.09375 54.6875 +L 21.296875 46.09375 +Q 25.046875 50.828125 30.3125 53.40625 +Q 35.59375 56 41.40625 56 +Q 48.640625 56 52.609375 52.09375 +Q 56.59375 48.1875 56.59375 41.109375 +Q 56.59375 39.359375 56.375 37.359375 +Q 56.15625 35.359375 55.71875 33.015625 +" id="DejaVuSans-Oblique-6e"/> + </defs> + <g style="fill:#01769d;" transform="translate(30.635813 221.49)rotate(-90)scale(0.1 -0.1)"> + <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> + <use transform="translate(68.408203 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-64"/> + <use transform="translate(112.841797 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-72"/> + <use transform="translate(141.621094 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-61"/> + <use transform="translate(184.516602 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-69"/> + <use transform="translate(203.964844 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-6e"/> + <use transform="translate(278.123589 0.125)" xlink:href="#DejaVuSans-28"/> + <use transform="translate(317.137261 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> + <use transform="translate(385.545464 0.125)" xlink:href="#DejaVuSans-29"/> + </g> + </g> + </g> + <g id="line2d_54"> + <path clip-path="url(#pe3a0da4c2d)" d="M 66.832636 185.434881 +L 69.127931 185.274614 +L 71.94429 185.382731 +L 75.387232 185.543493 +L 77.682526 185.438924 +L 84.568409 184.877896 +L 89.051365 184.984063 +L 92.344264 184.92794 +L 101.290949 184.504179 +L 107.603008 184.462363 +L 116.784185 184.141588 +L 123.670068 184.031025 +L 131.703597 183.807086 +L 140.310951 183.639114 +L 148.34448 183.482395 +L 150.673937 183.366772 +L 152.004983 182.136358 +L 152.578806 181.833692 +L 153.037768 181.952398 +L 153.303856 182.4522 +L 153.761545 184.730819 +L 156.528638 203.017968 +L 157.676285 209.060686 +L 158.823933 214.281824 +L 159.97158 218.793315 +L 161.119227 222.695289 +L 162.840697 227.60371 +L 164.562168 231.61947 +L 166.283639 234.994571 +L 167.431286 236.994696 +L 169.72658 240.595472 +L 172.595698 244.627246 +L 174.890992 247.599971 +L 175.464816 248.170767 +L 176.526616 248.756303 +L 177.615966 249.02141 +L 179.91126 249.269185 +L 184.501849 249.432502 +L 195.97832 249.538987 +L 235.273524 249.599568 +L 252.48823 249.40878 +L 258.226466 249.170902 +L 261.669407 248.81359 +L 263.390878 248.461832 +L 264.538525 248.083233 +L 265.686172 247.488335 +L 269.702937 244.711057 +L 274.293525 241.385105 +L 278.884114 237.817006 +L 282.327055 234.8414 +L 285.769996 231.521588 +L 289.212938 227.661486 +L 290.934408 225.464804 +L 292.655879 223.052834 +L 295.524997 218.485107 +L 297.820291 214.288341 +L 300.689409 208.345823 +L 303.558527 201.718512 +L 308.722939 189.508715 +L 309.870586 187.492459 +L 310.444409 186.797656 +L 311.018233 186.400189 +L 311.592056 186.356889 +L 312.16588 186.693949 +L 312.739703 187.39558 +L 313.313527 188.407398 +L 314.461174 191.029029 +L 316.182645 195.065895 +L 316.756468 196.104728 +L 317.330292 196.885638 +L 317.904115 197.370511 +L 318.477939 197.53967 +L 319.051763 197.391999 +L 319.625586 196.944022 +L 320.19941 196.228325 +L 321.347057 194.188644 +L 323.642351 189.420375 +L 324.789998 187.665562 +L 325.363822 187.100647 +L 325.937645 186.770824 +L 326.511469 186.678738 +L 327.085292 186.813545 +L 327.659116 187.152232 +L 328.806763 188.300157 +L 331.675881 191.785793 +L 332.249704 192.238166 +L 332.823528 192.5357 +L 333.397351 192.664627 +L 333.971175 192.623221 +L 334.962838 192.171851 +L 336.060218 191.193339 +L 339.50316 187.465585 +L 340.650807 186.814068 +L 341.738447 186.671387 +L 342.859203 186.991413 +L 344.00685 187.666509 +L 346.875968 189.588403 +L 348.023615 189.956027 +L 349.171262 189.938427 +L 350.318909 189.552793 +L 351.27537 189.011868 +L 354.144487 187.119647 +L 355.292134 186.628511 +L 356.439782 186.425706 +L 357.385975 186.486706 +L 358.533623 186.787011 +L 362.423977 188.183148 +L 363.571624 188.288084 +L 364.719271 188.163555 +L 366.384528 187.64693 +L 369.827469 186.327654 +L 370.975116 186.115279 +L 372.518608 186.109596 +L 374.240079 186.404487 +L 377.109196 187.008334 +L 378.762011 187.098639 +L 380.338432 186.922553 +L 382.557163 186.387834 +L 384.852457 185.856041 +L 386.573928 185.683149 +L 388.289631 185.741152 +L 393.891834 186.215112 +L 396.187128 185.983963 +L 400.777717 185.322268 +L 401.925364 185.274642 +L 401.925364 185.274642 +" style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> + </g> + <g id="patch_6"> + <path d="M 50.078 256.786667 +L 50.078 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_7"> + <path d="M 50.078 256.786667 +L 418.68 256.786667 +" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + </g> + <g id="axes_3"> + <g id="patch_8"> + <path d="M 50.078 387.16 +L 418.68 387.16 +L 418.68 274.066667 +L 50.078 274.066667 +z +" style="fill:#ffffff;"/> + </g> + <g id="matplotlib.axis_5"> + <g id="xtick_19"> + <g id="line2d_55"> + <path clip-path="url(#pbb0896d060)" d="M 66.490964 387.16 +L 66.490964 274.066667 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_56"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="66.490964" xlink:href="#mf6cf698329" y="387.16"/> + </g> + </g> + <g id="text_11"> <!-- 0.0 --> - <g style="fill:#01769d;" transform="translate(69.212179 315.358437)scale(0.1 -0.1)"> + <defs> + <path d="M 10.6875 12.40625 +L 21 12.40625 +L 21 0 +L 10.6875 0 +z +" id="DejaVuSans-2e"/> + </defs> + <g style="fill:#01769d;" transform="translate(58.539402 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-30"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="xtick_11"> - <g id="line2d_34"> - <path clip-path="url(#p1dc5037314)" d="M 121.295095 300.76 -L 121.295095 167.48 + <g id="xtick_20"> + <g id="line2d_57"> + <path clip-path="url(#pbb0896d060)" d="M 108.462058 387.16 +L 108.462058 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_35"> + <g id="line2d_58"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="121.295095" xlink:href="#m7aab5ed287" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="108.462058" xlink:href="#mf6cf698329" y="387.16"/> </g> </g> - <g id="text_9"> + <g id="text_12"> <!-- 0.5 --> <defs> <path d="M 10.796875 72.90625 @@ -776,154 +1188,154 @@ Q 14.890625 38.140625 10.796875 36.28125 z " id="DejaVuSans-35"/> </defs> - <g style="fill:#01769d;" transform="translate(113.343532 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(100.510496 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-30"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-35"/> </g> </g> </g> - <g id="xtick_12"> - <g id="line2d_36"> - <path clip-path="url(#p1dc5037314)" d="M 165.426447 300.76 -L 165.426447 167.48 + <g id="xtick_21"> + <g id="line2d_59"> + <path clip-path="url(#pbb0896d060)" d="M 150.433153 387.16 +L 150.433153 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_37"> + <g id="line2d_60"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="165.426447" xlink:href="#m7aab5ed287" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="150.433153" xlink:href="#mf6cf698329" y="387.16"/> </g> </g> - <g id="text_10"> + <g id="text_13"> <!-- 1.0 --> - <g style="fill:#01769d;" transform="translate(157.474885 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(142.48159 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-31"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="xtick_13"> - <g id="line2d_38"> - <path clip-path="url(#p1dc5037314)" d="M 209.5578 300.76 -L 209.5578 167.48 + <g id="xtick_22"> + <g id="line2d_61"> + <path clip-path="url(#pbb0896d060)" d="M 192.404247 387.16 +L 192.404247 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_39"> + <g id="line2d_62"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="209.5578" xlink:href="#m7aab5ed287" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="192.404247" xlink:href="#mf6cf698329" y="387.16"/> </g> </g> - <g id="text_11"> + <g id="text_14"> <!-- 1.5 --> - <g style="fill:#01769d;" transform="translate(201.606238 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(184.452685 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-31"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-35"/> </g> </g> </g> - <g id="xtick_14"> - <g id="line2d_40"> - <path clip-path="url(#p1dc5037314)" d="M 253.689153 300.76 -L 253.689153 167.48 + <g id="xtick_23"> + <g id="line2d_63"> + <path clip-path="url(#pbb0896d060)" d="M 234.375341 387.16 +L 234.375341 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_41"> + <g id="line2d_64"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="253.689153" xlink:href="#m7aab5ed287" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="234.375341" xlink:href="#mf6cf698329" y="387.16"/> </g> </g> - <g id="text_12"> + <g id="text_15"> <!-- 2.0 --> - <g style="fill:#01769d;" transform="translate(245.737591 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(226.423779 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-32"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="xtick_15"> - <g id="line2d_42"> - <path clip-path="url(#p1dc5037314)" d="M 297.820506 300.76 -L 297.820506 167.48 + <g id="xtick_24"> + <g id="line2d_65"> + <path clip-path="url(#pbb0896d060)" d="M 276.346436 387.16 +L 276.346436 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_43"> + <g id="line2d_66"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="297.820506" xlink:href="#m7aab5ed287" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="276.346436" xlink:href="#mf6cf698329" y="387.16"/> </g> </g> - <g id="text_13"> + <g id="text_16"> <!-- 2.5 --> - <g style="fill:#01769d;" transform="translate(289.868943 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(268.394873 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-32"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-35"/> </g> </g> </g> - <g id="xtick_16"> - <g id="line2d_44"> - <path clip-path="url(#p1dc5037314)" d="M 341.951859 300.76 -L 341.951859 167.48 + <g id="xtick_25"> + <g id="line2d_67"> + <path clip-path="url(#pbb0896d060)" d="M 318.31753 387.16 +L 318.31753 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_45"> + <g id="line2d_68"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="341.951859" xlink:href="#m7aab5ed287" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="318.31753" xlink:href="#mf6cf698329" y="387.16"/> </g> </g> - <g id="text_14"> + <g id="text_17"> <!-- 3.0 --> - <g style="fill:#01769d;" transform="translate(334.000296 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(310.365968 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-33"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="xtick_17"> - <g id="line2d_46"> - <path clip-path="url(#p1dc5037314)" d="M 386.083212 300.76 -L 386.083212 167.48 + <g id="xtick_26"> + <g id="line2d_69"> + <path clip-path="url(#pbb0896d060)" d="M 360.288624 387.16 +L 360.288624 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_47"> + <g id="line2d_70"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="386.083212" xlink:href="#m7aab5ed287" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="360.288624" xlink:href="#mf6cf698329" y="387.16"/> </g> </g> - <g id="text_15"> + <g id="text_18"> <!-- 3.5 --> - <g style="fill:#01769d;" transform="translate(378.131649 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(352.337062 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-33"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-35"/> </g> </g> </g> - <g id="xtick_18"> - <g id="line2d_48"> - <path clip-path="url(#p1dc5037314)" d="M 430.214564 300.76 -L 430.214564 167.48 + <g id="xtick_27"> + <g id="line2d_71"> + <path clip-path="url(#pbb0896d060)" d="M 402.259719 387.16 +L 402.259719 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_49"> + <g id="line2d_72"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="430.214564" xlink:href="#m7aab5ed287" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="402.259719" xlink:href="#mf6cf698329" y="387.16"/> </g> </g> - <g id="text_16"> + <g id="text_19"> <!-- 4.0 --> - <g style="fill:#01769d;" transform="translate(422.263002 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(394.308156 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-34"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="text_17"> + <g id="text_20"> <!-- $t\;(\mu s)$ --> <defs> <path d="M -1.3125 -20.796875 @@ -988,7 +1400,7 @@ Q 37.453125 56 41.671875 55.265625 Q 45.90625 54.546875 50 53.078125 " id="DejaVuSans-Oblique-73"/> </defs> - <g style="fill:#01769d;" transform="translate(240.643 329.038125)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(221.329 415.438125)scale(0.1 -0.1)"> <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-74"/> <use transform="translate(66.26812 0.125)" xlink:href="#DejaVuSans-28"/> <use transform="translate(105.281792 0.125)" xlink:href="#DejaVuSans-Oblique-3bc"/> @@ -997,110 +1409,137 @@ Q 45.90625 54.546875 50 53.078125 </g> </g> </g> - <g id="matplotlib.axis_4"> - <g id="ytick_7"> - <g id="line2d_50"> - <path clip-path="url(#p1dc5037314)" d="M 59.906 292.43 -L 447.48 292.43 + <g id="matplotlib.axis_6"> + <g id="ytick_9"> + <g id="line2d_73"> + <path clip-path="url(#pbb0896d060)" d="M 50.078 387.16 +L 418.68 387.16 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_51"> + <g id="line2d_74"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0dfc7dc7b9" y="292.43"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m36bb1efbd4" y="387.16"/> </g> </g> - <g id="text_18"> - <!-- 0 --> - <g style="fill:#01769d;" transform="translate(46.5435 296.229219)scale(0.1 -0.1)"> + <g id="text_21"> + <!-- −0.1 --> + <defs> + <path d="M 10.59375 35.5 +L 73.1875 35.5 +L 73.1875 27.203125 +L 10.59375 27.203125 +z +" id="DejaVuSans-2212"/> + </defs> + <g style="fill:#01769d;" transform="translate(18.795188 390.959219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-2212"/> + <use x="83.789062" xlink:href="#DejaVuSans-30"/> + <use x="147.412109" xlink:href="#DejaVuSans-2e"/> + <use x="179.199219" xlink:href="#DejaVuSans-31"/> + </g> + </g> + </g> + <g id="ytick_10"> + <g id="line2d_75"> + <path clip-path="url(#pbb0896d060)" d="M 50.078 364.541333 +L 418.68 364.541333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_76"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m36bb1efbd4" y="364.541333"/> + </g> + </g> + <g id="text_22"> + <!-- 0.0 --> + <g style="fill:#01769d;" transform="translate(27.174875 368.340552)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="ytick_8"> - <g id="line2d_52"> - <path clip-path="url(#p1dc5037314)" d="M 59.906 259.11 -L 447.48 259.11 + <g id="ytick_11"> + <g id="line2d_77"> + <path clip-path="url(#pbb0896d060)" d="M 50.078 341.922667 +L 418.68 341.922667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_53"> + <g id="line2d_78"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0dfc7dc7b9" y="259.11"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m36bb1efbd4" y="341.922667"/> </g> </g> - <g id="text_19"> - <!-- 2 --> - <g style="fill:#01769d;" transform="translate(46.5435 262.909219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-32"/> + <g id="text_23"> + <!-- 0.1 --> + <g style="fill:#01769d;" transform="translate(27.174875 345.721885)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-31"/> </g> </g> </g> - <g id="ytick_9"> - <g id="line2d_54"> - <path clip-path="url(#p1dc5037314)" d="M 59.906 225.79 -L 447.48 225.79 + <g id="ytick_12"> + <g id="line2d_79"> + <path clip-path="url(#pbb0896d060)" d="M 50.078 319.304 +L 418.68 319.304 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_55"> + <g id="line2d_80"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0dfc7dc7b9" y="225.79"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m36bb1efbd4" y="319.304"/> </g> </g> - <g id="text_20"> - <!-- 4 --> - <g style="fill:#01769d;" transform="translate(46.5435 229.589219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-34"/> + <g id="text_24"> + <!-- 0.2 --> + <g style="fill:#01769d;" transform="translate(27.174875 323.103219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-32"/> </g> </g> </g> - <g id="ytick_10"> - <g id="line2d_56"> - <path clip-path="url(#p1dc5037314)" d="M 59.906 192.47 -L 447.48 192.47 + <g id="ytick_13"> + <g id="line2d_81"> + <path clip-path="url(#pbb0896d060)" d="M 50.078 296.685333 +L 418.68 296.685333 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_57"> + <g id="line2d_82"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0dfc7dc7b9" y="192.47"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m36bb1efbd4" y="296.685333"/> </g> </g> - <g id="text_21"> - <!-- 6 --> - <defs> - <path d="M 33.015625 40.375 -Q 26.375 40.375 22.484375 35.828125 -Q 18.609375 31.296875 18.609375 23.390625 -Q 18.609375 15.53125 22.484375 10.953125 -Q 26.375 6.390625 33.015625 6.390625 -Q 39.65625 6.390625 43.53125 10.953125 -Q 47.40625 15.53125 47.40625 23.390625 -Q 47.40625 31.296875 43.53125 35.828125 -Q 39.65625 40.375 33.015625 40.375 -M 52.59375 71.296875 -L 52.59375 62.3125 -Q 48.875 64.0625 45.09375 64.984375 -Q 41.3125 65.921875 37.59375 65.921875 -Q 27.828125 65.921875 22.671875 59.328125 -Q 17.53125 52.734375 16.796875 39.40625 -Q 19.671875 43.65625 24.015625 45.921875 -Q 28.375 48.1875 33.59375 48.1875 -Q 44.578125 48.1875 50.953125 41.515625 -Q 57.328125 34.859375 57.328125 23.390625 -Q 57.328125 12.15625 50.6875 5.359375 -Q 44.046875 -1.421875 33.015625 -1.421875 -Q 20.359375 -1.421875 13.671875 8.265625 -Q 6.984375 17.96875 6.984375 36.375 -Q 6.984375 53.65625 15.1875 63.9375 -Q 23.390625 74.21875 37.203125 74.21875 -Q 40.921875 74.21875 44.703125 73.484375 -Q 48.484375 72.75 52.59375 71.296875 -" id="DejaVuSans-36"/> - </defs> - <g style="fill:#01769d;" transform="translate(46.5435 196.269219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-36"/> + <g id="text_25"> + <!-- 0.3 --> + <g style="fill:#01769d;" transform="translate(27.174875 300.484552)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-33"/> + </g> + </g> + </g> + <g id="ytick_14"> + <g id="line2d_83"> + <path clip-path="url(#pbb0896d060)" d="M 50.078 274.066667 +L 418.68 274.066667 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_84"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#m36bb1efbd4" y="274.066667"/> + </g> + </g> + <g id="text_26"> + <!-- 0.4 --> + <g style="fill:#01769d;" transform="translate(27.174875 277.865885)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-34"/> </g> </g> </g> - <g id="text_22"> + <g id="text_27"> <!-- $I_{LED}\;(A)$ --> <defs> <path d="M 16.890625 72.90625 @@ -1150,8 +1589,22 @@ Q 61.8125 54.984375 55.953125 59.890625 Q 50.09375 64.796875 37.59375 64.796875 z " id="DejaVuSans-Oblique-44"/> + <path d="M 36.8125 72.90625 +L 48 72.90625 +L 61.53125 0 +L 51.21875 0 +L 48.1875 18.703125 +L 15.375 18.703125 +L 5.078125 0 +L -5.328125 0 +z +M 40.375 63.1875 +L 19.921875 26.90625 +L 46.6875 26.90625 +z +" id="DejaVuSans-Oblique-41"/> </defs> - <g style="fill:#01769d;" transform="translate(40.463813 251.27)rotate(-90)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(12.7155 347.763333)rotate(-90)scale(0.1 -0.1)"> <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-49"/> <use transform="translate(29.492188 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-4c"/> <use transform="translate(68.491211 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-45"/> @@ -1162,165 +1615,138 @@ z </g> </g> </g> - <g id="line2d_58"> - <path clip-path="url(#p1dc5037314)" d="M 77.523 216.672232 -L 79.333075 216.501733 -L 81.691035 216.526374 -L 87.12126 216.791068 -L 89.534693 216.614805 -L 94.964919 216.046649 -L 97.868538 216.039902 -L 103.140998 216.130899 -L 106.761148 215.886496 -L 110.984656 215.598795 -L 114.961604 215.591198 -L 119.78847 215.553213 -L 131.252279 215.148192 -L 136.682504 215.043717 -L 145.732879 214.753883 -L 154.179896 214.57787 -L 162.626913 214.3786 -L 165.679625 214.234974 -L 167.07918 212.784937 -L 167.682538 212.428247 -L 168.165123 212.568141 -L 168.444906 213.157155 -L 168.66989 214.17025 -L 169.232964 218.208167 -L 170.628952 229.14754 -L 171.835669 237.393823 -L 173.042385 244.51514 -L 174.249102 250.668228 -L 175.455819 255.985 -L 176.662535 260.58346 -L 177.869252 264.571914 -L 179.679327 269.621077 -L 181.489402 273.819381 -L 183.299477 277.435249 -L 185.71291 281.678747 -L 188.729702 286.430176 -L 191.143135 289.933519 -L 191.746494 290.6062 -L 192.349852 291.05574 -L 193.405006 291.46925 -L 195.215081 291.790555 -L 198.231873 292.001381 -L 204.868815 292.152389 -L 221.762848 292.249734 -L 260.667148 292.249765 -L 273.941032 292.02841 -L 279.371257 291.736164 -L 282.388048 291.363764 -L 284.198123 290.949219 -L 285.40484 290.503041 -L 286.611557 289.801957 -L 290.231707 287.005166 -L 295.661932 282.609327 -L 300.488799 278.404338 -L 304.108949 274.897599 -L 307.729099 270.985215 -L 309.539174 268.804437 -L 311.349249 266.436102 -L 313.159324 263.847321 -L 314.969399 261.004825 -L 317.98619 255.621779 -L 320.399624 250.675908 -L 323.416415 243.672677 -L 326.433207 235.862419 -L 331.863432 221.473227 -L 333.070149 219.097078 -L 333.673507 218.278256 -L 334.276866 217.809843 -L 334.880224 217.758814 -L 335.483582 218.156038 -L 336.086941 218.982907 -L 336.690299 220.17533 -L 337.897016 223.26491 -L 339.707091 228.02234 -L 340.310449 229.2466 -L 340.913807 230.166899 -L 341.517166 230.73832 -L 342.120524 230.937673 -L 342.723882 230.763643 -L 343.327241 230.235704 -L 343.930599 229.392259 -L 345.137316 226.988504 -L 347.550749 221.369119 -L 348.757466 219.30108 -L 349.360824 218.63533 -L 349.964182 218.246635 -L 350.567541 218.138112 -L 351.170899 218.296982 -L 351.774257 218.696122 -L 352.980974 220.048947 -L 355.997766 224.156754 -L 356.601124 224.689874 -L 357.204482 225.040517 -L 357.807841 225.192456 -L 358.411199 225.143659 -L 358.984308 224.922164 -L 360.004408 224.116853 -L 361.211124 222.712248 -L 363.624558 219.653689 -L 364.831274 218.607791 -L 365.434633 218.297598 -L 366.037991 218.138628 -L 366.578254 218.129449 -L 367.153337 218.253066 -L 368.360053 218.865104 -L 370.170128 220.286002 -L 371.376845 221.203885 -L 372.583562 221.837465 -L 373.18692 222.000383 -L 373.790279 222.048114 -L 374.996995 221.800546 -L 376.114962 221.22391 -L 377.81276 219.963115 -L 379.622835 218.657721 -L 380.829552 218.078919 -L 382.036268 217.839915 -L 383.031163 217.911803 -L 384.237879 218.265711 -L 388.328471 219.911053 -L 389.535187 220.03472 -L 390.741904 219.887962 -L 391.948621 219.507081 -L 396.71638 217.573188 -L 397.923097 217.425914 -L 398.942674 217.46738 -L 400.752749 217.814908 -L 403.769541 218.52654 -L 405.507426 218.632964 -L 407.164985 218.425447 -L 409.497915 217.795282 -L 411.911348 217.168567 -L 413.721423 216.964815 -L 415.525434 217.033171 -L 421.415983 217.591731 -L 423.226058 217.415501 -L 429.259642 216.501733 -L 429.863 216.483391 -L 429.863 216.483391 + <g id="line2d_85"> + <path clip-path="url(#pbb0896d060)" d="M 66.832636 364.327329 +L 74.239585 364.520295 +L 82.273114 364.392001 +L 89.625189 364.496018 +L 98.082499 364.43729 +L 105.881537 364.474042 +L 113.915067 364.463287 +L 123.096244 364.460613 +L 141.458598 364.46871 +L 152.004983 364.55785 +L 154.053338 364.738785 +L 154.377067 364.628096 +L 154.807168 364.347609 +L 155.380991 363.765237 +L 155.954815 362.966147 +L 157.102462 360.800875 +L 158.250109 358.108277 +L 159.97158 353.446624 +L 161.119227 349.59638 +L 163.988344 337.710438 +L 165.135992 334.282375 +L 167.431286 328.294151 +L 172.595698 315.327118 +L 176.526616 306.063236 +L 178.18979 302.637571 +L 179.91126 299.640982 +L 181.632731 297.17211 +L 183.354202 295.152376 +L 185.075672 293.504267 +L 186.797143 292.160695 +L 188.518614 291.065726 +L 190.240084 290.173374 +L 192.535379 289.234835 +L 194.830673 288.519927 +L 198.273614 287.753131 +L 201.716556 287.241904 +L 206.307144 286.813507 +L 212.04538 286.51684 +L 221.226556 286.306962 +L 238.142641 286.203707 +L 251.914407 286.310015 +L 259.374113 286.537921 +L 263.390878 286.855487 +L 265.686172 287.239371 +L 267.407643 287.763672 +L 269.129113 288.549331 +L 270.850584 289.565203 +L 273.145878 291.214918 +L 276.014996 293.661376 +L 278.884114 296.457496 +L 282.327055 300.224024 +L 285.769996 304.436954 +L 289.212938 309.172556 +L 292.655879 314.578712 +L 295.524997 319.745268 +L 297.820291 324.406274 +L 300.689409 330.984641 +L 302.984703 336.878139 +L 305.853821 344.962502 +L 311.018233 359.958905 +L 312.16588 362.659637 +L 313.313527 364.710294 +L 313.887351 365.434156 +L 314.461174 365.94252 +L 315.034998 366.237138 +L 315.608821 366.329482 +L 316.182645 366.239401 +L 316.756468 365.993368 +L 317.904115 365.161239 +L 320.773233 362.683112 +L 321.92088 362.125929 +L 323.068527 361.999113 +L 324.216175 362.297144 +L 325.363822 362.931799 +L 328.806763 365.19348 +L 329.95441 365.514975 +L 331.102057 365.490083 +L 332.249704 365.16412 +L 333.971175 364.35324 +L 335.486395 363.641782 +L 336.634042 363.282217 +L 337.781689 363.151437 +L 338.929336 363.261668 +L 340.650807 363.779497 +L 343.433026 364.804009 +L 344.580674 365.035072 +L 345.728321 365.079081 +L 346.875968 364.943753 +L 349.171262 364.346904 +L 351.27537 363.83578 +L 352.99684 363.706755 +L 354.718311 363.879198 +L 360.255093 364.821316 +L 361.850153 364.745019 +L 364.719271 364.301614 +L 366.958351 364.036959 +L 368.679822 364.030588 +L 370.975116 364.261502 +L 374.240079 364.634532 +L 376.535373 364.64544 +L 380.338432 364.307702 +L 383.130986 364.189382 +L 386.000104 364.33881 +L 390.011102 364.582932 +L 392.88022 364.514592 +L 398.482422 364.299789 +L 401.925364 364.432064 +L 401.925364 364.432064 " style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> </g> - <g id="patch_6"> - <path d="M 59.906 300.76 -L 59.906 167.48 + <g id="patch_9"> + <path d="M 50.078 387.16 +L 50.078 274.066667 " style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> - <g id="patch_7"> - <path d="M 59.906 300.76 -L 447.48 300.76 + <g id="patch_10"> + <path d="M 50.078 387.16 +L 418.68 387.16 " style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> </g> </g> <defs> - <clipPath id="pe927b75a56"> - <rect height="133.28" width="387.574" x="59.906" y="14.76"/> + <clipPath id="p8d47cb9d68"> + <rect height="113.093333" width="368.602" x="50.078" y="13.32"/> + </clipPath> + <clipPath id="pe3a0da4c2d"> + <rect height="113.093333" width="368.602" x="50.078" y="143.693333"/> </clipPath> - <clipPath id="p1dc5037314"> - <rect height="133.28" width="387.574" x="59.906" y="167.48"/> + <clipPath id="pbb0896d060"> + <rect height="113.093333" width="368.602" x="50.078" y="274.066667"/> </clipPath> </defs> </svg> diff --git a/firmware/spice_sims/overshoot_sim_r220.svg b/firmware/spice_sims/overshoot_sim_r220.svg index 527c43c..647a273 100644 --- a/firmware/spice_sims/overshoot_sim_r220.svg +++ b/firmware/spice_sims/overshoot_sim_r220.svg @@ -2,7 +2,7 @@ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="345pt" version="1.1" viewBox="0 0 460 345" width="460pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<svg height="432pt" version="1.1" viewBox="0 0 432 432" width="432pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> *{stroke-linecap:butt;stroke-linejoin:round;} @@ -10,133 +10,133 @@ </defs> <g id="figure_1"> <g id="patch_1"> - <path d="M 0 345.6 -L 460.8 345.6 -L 460.8 0 + <path d="M 0 432 +L 432 432 +L 432 0 L 0 0 z " style="fill:#ffffff;"/> </g> <g id="axes_1"> <g id="patch_2"> - <path d="M 59.906 148.04 -L 447.48 148.04 -L 447.48 14.76 -L 59.906 14.76 + <path d="M 50.078 126.413333 +L 418.68 126.413333 +L 418.68 13.32 +L 50.078 13.32 z " style="fill:#ffffff;"/> </g> <g id="matplotlib.axis_1"> <g id="xtick_1"> <g id="line2d_1"> - <path clip-path="url(#p2f28d60236)" d="M 76.967755 148.04 -L 76.967755 14.76 + <path clip-path="url(#p6e9e5beee6)" d="M 66.304571 126.413333 +L 66.304571 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_2"> <defs> <path d="M 0 0 L 0 3.5 -" id="md08f1bef02" style="stroke:#01769d;stroke-width:0.8;"/> +" id="m4a5b82e8fa" style="stroke:#01769d;stroke-width:0.8;"/> </defs> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="76.967755" xlink:href="#md08f1bef02" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="66.304571" xlink:href="#m4a5b82e8fa" y="126.413333"/> </g> </g> </g> <g id="xtick_2"> <g id="line2d_3"> - <path clip-path="url(#p2f28d60236)" d="M 121.098159 148.04 -L 121.098159 14.76 + <path clip-path="url(#p6e9e5beee6)" d="M 108.274762 126.413333 +L 108.274762 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_4"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="121.098159" xlink:href="#md08f1bef02" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="108.274762" xlink:href="#m4a5b82e8fa" y="126.413333"/> </g> </g> </g> <g id="xtick_3"> <g id="line2d_5"> - <path clip-path="url(#p2f28d60236)" d="M 165.228562 148.04 -L 165.228562 14.76 + <path clip-path="url(#p6e9e5beee6)" d="M 150.244954 126.413333 +L 150.244954 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_6"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="165.228562" xlink:href="#md08f1bef02" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="150.244954" xlink:href="#m4a5b82e8fa" y="126.413333"/> </g> </g> </g> <g id="xtick_4"> <g id="line2d_7"> - <path clip-path="url(#p2f28d60236)" d="M 209.358965 148.04 -L 209.358965 14.76 + <path clip-path="url(#p6e9e5beee6)" d="M 192.215145 126.413333 +L 192.215145 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_8"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="209.358965" xlink:href="#md08f1bef02" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="192.215145" xlink:href="#m4a5b82e8fa" y="126.413333"/> </g> </g> </g> <g id="xtick_5"> <g id="line2d_9"> - <path clip-path="url(#p2f28d60236)" d="M 253.489369 148.04 -L 253.489369 14.76 + <path clip-path="url(#p6e9e5beee6)" d="M 234.185337 126.413333 +L 234.185337 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_10"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="253.489369" xlink:href="#md08f1bef02" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="234.185337" xlink:href="#m4a5b82e8fa" y="126.413333"/> </g> </g> </g> <g id="xtick_6"> <g id="line2d_11"> - <path clip-path="url(#p2f28d60236)" d="M 297.619772 148.04 -L 297.619772 14.76 + <path clip-path="url(#p6e9e5beee6)" d="M 276.155528 126.413333 +L 276.155528 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_12"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="297.619772" xlink:href="#md08f1bef02" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="276.155528" xlink:href="#m4a5b82e8fa" y="126.413333"/> </g> </g> </g> <g id="xtick_7"> <g id="line2d_13"> - <path clip-path="url(#p2f28d60236)" d="M 341.750176 148.04 -L 341.750176 14.76 + <path clip-path="url(#p6e9e5beee6)" d="M 318.125719 126.413333 +L 318.125719 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_14"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="341.750176" xlink:href="#md08f1bef02" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="318.125719" xlink:href="#m4a5b82e8fa" y="126.413333"/> </g> </g> </g> <g id="xtick_8"> <g id="line2d_15"> - <path clip-path="url(#p2f28d60236)" d="M 385.880579 148.04 -L 385.880579 14.76 + <path clip-path="url(#p6e9e5beee6)" d="M 360.095911 126.413333 +L 360.095911 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_16"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="385.880579" xlink:href="#md08f1bef02" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="360.095911" xlink:href="#m4a5b82e8fa" y="126.413333"/> </g> </g> </g> <g id="xtick_9"> <g id="line2d_17"> - <path clip-path="url(#p2f28d60236)" d="M 430.010982 148.04 -L 430.010982 14.76 + <path clip-path="url(#p6e9e5beee6)" d="M 402.066102 126.413333 +L 402.066102 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_18"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="430.010982" xlink:href="#md08f1bef02" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="402.066102" xlink:href="#m4a5b82e8fa" y="126.413333"/> </g> </g> </g> @@ -144,29 +144,23 @@ L 430.010982 14.76 <g id="matplotlib.axis_2"> <g id="ytick_1"> <g id="line2d_19"> - <path clip-path="url(#p2f28d60236)" d="M 59.906 148.04 -L 447.48 148.04 + <path clip-path="url(#p6e9e5beee6)" d="M 50.078 110.257143 +L 418.68 110.257143 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_20"> <defs> <path d="M 0 0 L -3.5 0 -" id="mf9db589884" style="stroke:#01769d;stroke-width:0.8;"/> +" id="maa7a6699d1" style="stroke:#01769d;stroke-width:0.8;"/> </defs> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mf9db589884" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#maa7a6699d1" y="110.257143"/> </g> </g> <g id="text_1"> - <!-- −0.1 --> + <!-- 0 --> <defs> - <path d="M 10.59375 35.5 -L 73.1875 35.5 -L 73.1875 27.203125 -L 10.59375 27.203125 -z -" id="DejaVuSans-2212"/> <path d="M 31.78125 66.40625 Q 24.171875 66.40625 20.328125 58.90625 Q 16.5 51.421875 16.5 36.375 @@ -186,12 +180,26 @@ Q 6.59375 17.96875 6.59375 36.375 Q 6.59375 54.828125 13.0625 64.515625 Q 19.53125 74.21875 31.78125 74.21875 " id="DejaVuSans-30"/> - <path d="M 10.6875 12.40625 -L 21 12.40625 -L 21 0 -L 10.6875 0 -z -" id="DejaVuSans-2e"/> + </defs> + <g style="fill:#01769d;" transform="translate(36.7155 114.056362)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + </g> + </g> + </g> + <g id="ytick_2"> + <g id="line2d_21"> + <path clip-path="url(#p6e9e5beee6)" d="M 50.078 83.330159 +L 418.68 83.330159 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_22"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#maa7a6699d1" y="83.330159"/> + </g> + </g> + <g id="text_2"> + <!-- 1 --> + <defs> <path d="M 12.40625 8.296875 L 28.515625 8.296875 L 28.515625 63.921875 @@ -206,67 +214,24 @@ L 12.40625 0 z " id="DejaVuSans-31"/> </defs> - <g style="fill:#01769d;" transform="translate(28.623188 151.839219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-30"/> - <use x="147.412109" xlink:href="#DejaVuSans-2e"/> - <use x="179.199219" xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="ytick_2"> - <g id="line2d_21"> - <path clip-path="url(#p2f28d60236)" d="M 59.906 121.384 -L 447.48 121.384 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_22"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mf9db589884" y="121.384"/> - </g> - </g> - <g id="text_2"> - <!-- 0.0 --> - <g style="fill:#01769d;" transform="translate(37.002875 125.183219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <g style="fill:#01769d;" transform="translate(36.7155 87.129377)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-31"/> </g> </g> </g> <g id="ytick_3"> <g id="line2d_23"> - <path clip-path="url(#p2f28d60236)" d="M 59.906 94.728 -L 447.48 94.728 + <path clip-path="url(#p6e9e5beee6)" d="M 50.078 56.403175 +L 418.68 56.403175 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_24"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mf9db589884" y="94.728"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#maa7a6699d1" y="56.403175"/> </g> </g> <g id="text_3"> - <!-- 0.1 --> - <g style="fill:#01769d;" transform="translate(37.002875 98.527219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="ytick_4"> - <g id="line2d_25"> - <path clip-path="url(#p2f28d60236)" d="M 59.906 68.072 -L 447.48 68.072 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_26"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mf9db589884" y="68.072"/> - </g> - </g> - <g id="text_4"> - <!-- 0.2 --> + <!-- 2 --> <defs> <path d="M 19.1875 8.296875 L 53.609375 8.296875 @@ -292,26 +257,24 @@ Q 44.1875 33.984375 37.640625 27.21875 Q 31.109375 20.453125 19.1875 8.296875 " id="DejaVuSans-32"/> </defs> - <g style="fill:#01769d;" transform="translate(37.002875 71.871219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-32"/> + <g style="fill:#01769d;" transform="translate(36.7155 60.202393)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-32"/> </g> </g> </g> - <g id="ytick_5"> - <g id="line2d_27"> - <path clip-path="url(#p2f28d60236)" d="M 59.906 41.416 -L 447.48 41.416 + <g id="ytick_4"> + <g id="line2d_25"> + <path clip-path="url(#p6e9e5beee6)" d="M 50.078 29.47619 +L 418.68 29.47619 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_28"> + <g id="line2d_26"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mf9db589884" y="41.416"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#maa7a6699d1" y="29.47619"/> </g> </g> - <g id="text_5"> - <!-- 0.3 --> + <g id="text_4"> + <!-- 3 --> <defs> <path d="M 40.578125 39.3125 Q 47.65625 37.796875 51.625 33 @@ -345,54 +308,13 @@ Q 53.90625 49.265625 50.4375 45.09375 Q 46.96875 40.921875 40.578125 39.3125 " id="DejaVuSans-33"/> </defs> - <g style="fill:#01769d;" transform="translate(37.002875 45.215219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-33"/> - </g> - </g> - </g> - <g id="ytick_6"> - <g id="line2d_29"> - <path clip-path="url(#p2f28d60236)" d="M 59.906 14.76 -L 447.48 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_30"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mf9db589884" y="14.76"/> - </g> - </g> - <g id="text_6"> - <!-- 0.4 --> - <defs> - <path d="M 37.796875 64.3125 -L 12.890625 25.390625 -L 37.796875 25.390625 -z -M 35.203125 72.90625 -L 47.609375 72.90625 -L 47.609375 25.390625 -L 58.015625 25.390625 -L 58.015625 17.1875 -L 47.609375 17.1875 -L 47.609375 0 -L 37.796875 0 -L 37.796875 17.1875 -L 4.890625 17.1875 -L 4.890625 26.703125 -z -" id="DejaVuSans-34"/> - </defs> - <g style="fill:#01769d;" transform="translate(37.002875 18.559219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-34"/> + <g style="fill:#01769d;" transform="translate(36.7155 33.275409)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-33"/> </g> </g> </g> - <g id="text_7"> - <!-- $V_{gate}\;(A)$ --> + <g id="text_5"> + <!-- $V_{gate}\;(V)$ --> <defs> <path d="M 20.609375 0 L 7.8125 72.90625 @@ -540,20 +462,6 @@ Q 8.59375 42.28125 12.203125 53.3125 Q 15.828125 64.359375 23.1875 75.875 z " id="DejaVuSans-28"/> - <path d="M 36.8125 72.90625 -L 48 72.90625 -L 61.53125 0 -L 51.21875 0 -L 48.1875 18.703125 -L 15.375 18.703125 -L 5.078125 0 -L -5.328125 0 -z -M 40.375 63.1875 -L 19.921875 26.90625 -L 46.6875 26.90625 -z -" id="DejaVuSans-Oblique-41"/> <path d="M 8.015625 75.875 L 15.828125 75.875 Q 23.140625 64.359375 26.78125 53.3125 @@ -567,183 +475,669 @@ Q 20.90625 42.671875 17.703125 53.65625 Q 14.5 64.65625 8.015625 75.875 " id="DejaVuSans-29"/> </defs> - <g style="fill:#01769d;" transform="translate(21.523188 101.55)rotate(-90)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(29.6155 90.016667)rotate(-90)scale(0.1 -0.1)"> <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> <use transform="translate(68.408203 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-67"/> <use transform="translate(112.841797 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-61"/> <use transform="translate(155.737305 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-74"/> <use transform="translate(183.183594 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-65"/> <use transform="translate(256.043511 0.125)" xlink:href="#DejaVuSans-28"/> - <use transform="translate(295.057183 0.125)" xlink:href="#DejaVuSans-Oblique-41"/> + <use transform="translate(295.057183 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> <use transform="translate(363.465386 0.125)" xlink:href="#DejaVuSans-29"/> </g> </g> </g> - <g id="line2d_31"> - <path clip-path="url(#p2f28d60236)" d="M 77.523 121.346264 -L 79.936381 121.40104 -L 83.519509 121.204422 -L 87.139581 121.05318 -L 90.759653 121.187392 -L 94.983071 121.357489 -L 99.013545 121.24939 -L 103.840308 121.151154 -L 115.287339 121.254262 -L 120.717447 121.221241 -L 129.666398 121.295072 -L 137.509887 121.265184 -L 146.560068 121.289377 -L 156.213594 121.306829 -L 167.488926 121.428079 -L 169.816114 121.700341 -L 170.639135 121.410699 -L 171.241676 120.935747 -L 171.845022 120.260622 -L 173.051712 118.361671 -L 174.258403 115.928402 -L 176.068439 111.694696 -L 177.27513 108.488224 -L 178.481821 104.538021 -L 180.895202 95.430111 -L 182.101893 91.934025 -L 183.911929 87.440703 -L 191.755418 68.557752 -L 195.892644 59.310786 -L 199.598908 51.589422 -L 202.01229 46.900472 -L 203.822326 43.818372 -L 205.632362 41.211149 -L 207.442398 39.045322 -L 209.252434 37.259717 -L 211.06247 35.792757 -L 212.872506 34.589692 -L 214.682542 33.603926 -L 217.095924 32.561223 -L 219.509305 31.762103 -L 221.922686 31.149362 -L 225.542759 30.486614 -L 229.162831 30.039779 -L 233.989594 29.659851 -L 241.229738 29.354187 -L 252.089954 29.164876 -L 264.961889 29.136887 -L 278.235487 29.328837 -L 285.475631 29.626664 -L 289.699049 30.001847 -L 292.11243 30.385827 -L 293.922466 30.84423 -L 295.732503 31.514389 -L 298.145884 32.71223 -L 300.559265 34.188865 -L 304.179338 36.80086 -L 308.575139 40.453558 -L 312.970941 44.511668 -L 317.711512 49.309535 -L 320.986815 52.92894 -L 324.262119 56.812692 -L 327.278846 60.639907 -L 330.036996 64.473333 -L 332.795146 68.654753 -L 335.553296 73.184221 -L 339.173368 79.814981 -L 342.190095 85.959162 -L 345.810167 94.056909 -L 350.033585 104.250147 -L 353.653657 112.95147 -L 355.463693 116.819488 -L 356.670384 118.981916 -L 357.877074 120.647192 -L 358.48042 121.256002 -L 359.083765 121.704799 -L 359.687111 121.99345 -L 360.290456 122.128541 -L 360.893801 122.122878 -L 362.100492 121.765589 -L 363.859199 120.761293 -L 365.669235 119.719104 -L 366.875926 119.287472 -L 368.082617 119.168028 -L 369.289308 119.367446 -L 370.495998 119.825945 -L 374.085935 121.534153 -L 375.292625 121.819577 -L 376.499316 121.85344 -L 377.706007 121.658655 -L 379.516043 121.100772 -L 381.929424 120.37462 -L 383.136115 120.202899 -L 384.342806 120.208738 -L 386.152842 120.513775 -L 390.376259 121.541734 -L 392.186295 121.627097 -L 393.996332 121.42905 -L 398.776762 120.668512 -L 400.586799 120.692115 -L 403.00018 121.005098 -L 405.84159 121.409433 -L 407.651626 121.489747 -L 410.065008 121.338453 -L 414.844958 120.908271 -L 417.25834 120.981102 -L 423.879284 121.400727 -L 427.449619 121.204002 -L 429.863 121.072123 -L 429.863 121.072123 + <g id="line2d_27"> + <path clip-path="url(#p6e9e5beee6)" d="M 66.832636 109.373669 +L 70.275504 109.88813 +L 72.535613 109.937118 +L 75.404669 109.682853 +L 78.273725 109.466537 +L 80.568969 109.526546 +L 87.271206 109.979697 +L 90.714073 109.797952 +L 94.15694 109.680505 +L 97.585119 109.831186 +L 101.600764 109.997861 +L 105.617442 109.88982 +L 109.634121 109.817658 +L 121.587882 109.92454 +L 126.752183 109.93835 +L 134.211728 110.008383 +L 142.245085 109.991829 +L 150.340234 110.014035 +L 150.394643 109.707213 +L 151.004234 104.502844 +L 152.394671 94.178446 +L 153.542294 87.183429 +L 153.972136 85.301408 +L 154.286685 84.437192 +L 154.607942 84.000522 +L 154.981355 83.792778 +L 158.258967 83.005069 +L 161.128023 82.194163 +L 163.423268 81.780188 +L 170.309003 80.950487 +L 177.932494 80.186945 +L 183.50666 79.635157 +L 184.080472 79.308102 +L 185.228094 78.226984 +L 187.523339 75.487351 +L 193.261451 68.482216 +L 196.704318 64.638254 +L 199.573374 61.668989 +L 203.016242 58.372668 +L 206.459109 55.34691 +L 209.901976 52.569876 +L 213.344843 50.020968 +L 217.935333 46.944802 +L 222.525823 44.200108 +L 227.116312 41.750883 +L 231.706802 39.565085 +L 234.201949 38.495222 +L 234.220353 38.546922 +L 234.510347 39.44281 +L 237.636724 44.713013 +L 241.079591 50.06949 +L 243.374836 53.396373 +L 247.391515 58.783735 +L 250.834382 62.992181 +L 254.85106 67.458371 +L 258.293928 70.922016 +L 261.736795 74.043796 +L 264.605851 76.351869 +L 266.901096 77.952786 +L 268.622529 78.949677 +L 270.343963 79.668385 +L 271.491585 79.895353 +L 274.934453 79.964016 +L 286.574623 80.247881 +L 299.936227 80.775273 +L 308.297476 81.287451 +L 313.953615 81.805203 +L 318.544105 82.416526 +L 322.560783 83.20791 +L 324.856028 83.857136 +L 326.577462 84.514731 +L 328.298895 85.433334 +L 329.446518 86.299486 +L 330.59414 87.509943 +L 331.741762 89.227658 +L 332.889385 91.535979 +L 336.906063 100.678119 +L 338.053686 102.187893 +L 338.627497 102.645062 +L 339.152492 102.888259 +L 339.726303 102.978908 +L 340.300115 102.919273 +L 341.447737 102.469286 +L 343.742982 101.300248 +L 344.890604 101.109228 +L 345.464415 101.184723 +L 346.038227 101.382284 +L 347.185849 102.121895 +L 348.304811 103.1964 +L 351.173867 106.31653 +L 352.321489 107.213198 +L 353.469112 107.723838 +L 354.616734 107.836442 +L 355.764357 107.621658 +L 359.781035 106.336784 +L 360.928657 106.351489 +L 362.07628 106.631653 +L 363.223902 107.130058 +L 366.66677 108.921109 +L 367.814392 109.272437 +L 368.962014 109.404254 +L 370.065573 109.330923 +L 371.787006 108.952959 +L 374.082251 108.391185 +L 375.229874 108.261222 +L 376.377496 108.287181 +L 377.932195 108.556876 +L 382.522685 109.7458 +L 384.199598 109.837292 +L 385.921031 109.675413 +L 389.93771 109.092218 +L 391.659144 109.092451 +L 393.93931 109.376653 +L 397.382177 109.889678 +L 399.630119 109.936896 +L 401.925364 109.744975 +L 401.925364 109.744975 " style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> </g> <g id="patch_3"> - <path d="M 59.906 148.04 -L 59.906 14.76 + <path d="M 50.078 126.413333 +L 50.078 13.32 " style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> <g id="patch_4"> - <path d="M 59.906 148.04 -L 447.48 148.04 + <path d="M 50.078 126.413333 +L 418.68 126.413333 " style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> </g> <g id="axes_2"> <g id="patch_5"> - <path d="M 59.906 300.76 -L 447.48 300.76 -L 447.48 167.48 -L 59.906 167.48 + <path d="M 50.078 256.786667 +L 418.68 256.786667 +L 418.68 143.693333 +L 50.078 143.693333 z " style="fill:#ffffff;"/> </g> <g id="matplotlib.axis_3"> <g id="xtick_10"> + <g id="line2d_28"> + <path clip-path="url(#p395017bce3)" d="M 66.304571 256.786667 +L 66.304571 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_29"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="66.304571" xlink:href="#m4a5b82e8fa" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_11"> + <g id="line2d_30"> + <path clip-path="url(#p395017bce3)" d="M 108.274762 256.786667 +L 108.274762 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_31"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="108.274762" xlink:href="#m4a5b82e8fa" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_12"> <g id="line2d_32"> - <path clip-path="url(#pc87b95f737)" d="M 76.967755 300.76 -L 76.967755 167.48 + <path clip-path="url(#p395017bce3)" d="M 150.244954 256.786667 +L 150.244954 143.693333 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_33"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="76.967755" xlink:href="#md08f1bef02" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="150.244954" xlink:href="#m4a5b82e8fa" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_13"> + <g id="line2d_34"> + <path clip-path="url(#p395017bce3)" d="M 192.215145 256.786667 +L 192.215145 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_35"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="192.215145" xlink:href="#m4a5b82e8fa" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_14"> + <g id="line2d_36"> + <path clip-path="url(#p395017bce3)" d="M 234.185337 256.786667 +L 234.185337 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_37"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="234.185337" xlink:href="#m4a5b82e8fa" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_15"> + <g id="line2d_38"> + <path clip-path="url(#p395017bce3)" d="M 276.155528 256.786667 +L 276.155528 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_39"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="276.155528" xlink:href="#m4a5b82e8fa" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_16"> + <g id="line2d_40"> + <path clip-path="url(#p395017bce3)" d="M 318.125719 256.786667 +L 318.125719 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_41"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="318.125719" xlink:href="#m4a5b82e8fa" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_17"> + <g id="line2d_42"> + <path clip-path="url(#p395017bce3)" d="M 360.095911 256.786667 +L 360.095911 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_43"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="360.095911" xlink:href="#m4a5b82e8fa" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_18"> + <g id="line2d_44"> + <path clip-path="url(#p395017bce3)" d="M 402.066102 256.786667 +L 402.066102 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_45"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="402.066102" xlink:href="#m4a5b82e8fa" y="256.786667"/> + </g> + </g> + </g> + </g> + <g id="matplotlib.axis_4"> + <g id="ytick_5"> + <g id="line2d_46"> + <path clip-path="url(#p395017bce3)" d="M 50.078 249.718333 +L 418.68 249.718333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_47"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#maa7a6699d1" y="249.718333"/> + </g> + </g> + <g id="text_6"> + <!-- 0 --> + <g style="fill:#01769d;" transform="translate(36.7155 253.517552)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + </g> + </g> + </g> + <g id="ytick_6"> + <g id="line2d_48"> + <path clip-path="url(#p395017bce3)" d="M 50.078 221.445 +L 418.68 221.445 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_49"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#maa7a6699d1" y="221.445"/> + </g> + </g> + <g id="text_7"> + <!-- 2 --> + <g style="fill:#01769d;" transform="translate(36.7155 225.244219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-32"/> + </g> + </g> + </g> + <g id="ytick_7"> + <g id="line2d_50"> + <path clip-path="url(#p395017bce3)" d="M 50.078 193.171667 +L 418.68 193.171667 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_51"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#maa7a6699d1" y="193.171667"/> </g> </g> <g id="text_8"> + <!-- 4 --> + <defs> + <path d="M 37.796875 64.3125 +L 12.890625 25.390625 +L 37.796875 25.390625 +z +M 35.203125 72.90625 +L 47.609375 72.90625 +L 47.609375 25.390625 +L 58.015625 25.390625 +L 58.015625 17.1875 +L 47.609375 17.1875 +L 47.609375 0 +L 37.796875 0 +L 37.796875 17.1875 +L 4.890625 17.1875 +L 4.890625 26.703125 +z +" id="DejaVuSans-34"/> + </defs> + <g style="fill:#01769d;" transform="translate(36.7155 196.970885)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-34"/> + </g> + </g> + </g> + <g id="ytick_8"> + <g id="line2d_52"> + <path clip-path="url(#p395017bce3)" d="M 50.078 164.898333 +L 418.68 164.898333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_53"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#maa7a6699d1" y="164.898333"/> + </g> + </g> + <g id="text_9"> + <!-- 6 --> + <defs> + <path d="M 33.015625 40.375 +Q 26.375 40.375 22.484375 35.828125 +Q 18.609375 31.296875 18.609375 23.390625 +Q 18.609375 15.53125 22.484375 10.953125 +Q 26.375 6.390625 33.015625 6.390625 +Q 39.65625 6.390625 43.53125 10.953125 +Q 47.40625 15.53125 47.40625 23.390625 +Q 47.40625 31.296875 43.53125 35.828125 +Q 39.65625 40.375 33.015625 40.375 +M 52.59375 71.296875 +L 52.59375 62.3125 +Q 48.875 64.0625 45.09375 64.984375 +Q 41.3125 65.921875 37.59375 65.921875 +Q 27.828125 65.921875 22.671875 59.328125 +Q 17.53125 52.734375 16.796875 39.40625 +Q 19.671875 43.65625 24.015625 45.921875 +Q 28.375 48.1875 33.59375 48.1875 +Q 44.578125 48.1875 50.953125 41.515625 +Q 57.328125 34.859375 57.328125 23.390625 +Q 57.328125 12.15625 50.6875 5.359375 +Q 44.046875 -1.421875 33.015625 -1.421875 +Q 20.359375 -1.421875 13.671875 8.265625 +Q 6.984375 17.96875 6.984375 36.375 +Q 6.984375 53.65625 15.1875 63.9375 +Q 23.390625 74.21875 37.203125 74.21875 +Q 40.921875 74.21875 44.703125 73.484375 +Q 48.484375 72.75 52.59375 71.296875 +" id="DejaVuSans-36"/> + </defs> + <g style="fill:#01769d;" transform="translate(36.7155 168.697552)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-36"/> + </g> + </g> + </g> + <g id="text_10"> + <!-- $V_{drain}\;(V)$ --> + <defs> + <path d="M 41.796875 8.203125 +Q 38.1875 3.46875 33.25 1.015625 +Q 28.328125 -1.421875 22.3125 -1.421875 +Q 14.109375 -1.421875 9.34375 4.171875 +Q 4.59375 9.765625 4.59375 19.484375 +Q 4.59375 27.59375 7.46875 34.9375 +Q 10.359375 42.28125 15.828125 48.09375 +Q 19.4375 51.953125 23.96875 53.96875 +Q 28.515625 56 33.5 56 +Q 38.765625 56 42.796875 53.453125 +Q 46.828125 50.921875 49.03125 46.1875 +L 54.890625 75.984375 +L 63.921875 75.984375 +L 49.125 0 +L 40.09375 0 +z +M 13.921875 21.09375 +Q 13.921875 14.015625 17.109375 10.0625 +Q 20.3125 6.109375 25.984375 6.109375 +Q 30.171875 6.109375 33.765625 8.125 +Q 37.359375 10.15625 40.09375 14.109375 +Q 42.96875 18.21875 44.625 23.578125 +Q 46.296875 28.953125 46.296875 34.1875 +Q 46.296875 40.96875 43.09375 44.765625 +Q 39.890625 48.578125 34.28125 48.578125 +Q 30.03125 48.578125 26.359375 46.578125 +Q 22.703125 44.578125 20.125 40.828125 +Q 17.28125 36.765625 15.59375 31.390625 +Q 13.921875 26.03125 13.921875 21.09375 +" id="DejaVuSans-Oblique-64"/> + <path d="M 44.578125 46.390625 +Q 43.21875 47.125 41.453125 47.515625 +Q 39.703125 47.90625 37.703125 47.90625 +Q 30.515625 47.90625 25.140625 42.453125 +Q 19.78125 37.015625 18.015625 27.875 +L 12.5 0 +L 3.515625 0 +L 14.203125 54.6875 +L 23.1875 54.6875 +L 21.484375 46.1875 +Q 25.046875 50.921875 30 53.453125 +Q 34.96875 56 40.578125 56 +Q 42.046875 56 43.453125 55.828125 +Q 44.875 55.671875 46.296875 55.28125 +z +" id="DejaVuSans-Oblique-72"/> + <path d="M 18.3125 75.984375 +L 27.296875 75.984375 +L 25.09375 64.59375 +L 16.109375 64.59375 +z +M 14.203125 54.6875 +L 23.1875 54.6875 +L 12.5 0 +L 3.515625 0 +z +" id="DejaVuSans-Oblique-69"/> + <path d="M 55.71875 33.015625 +L 49.3125 0 +L 40.28125 0 +L 46.6875 32.671875 +Q 47.125 34.96875 47.359375 36.71875 +Q 47.609375 38.484375 47.609375 39.5 +Q 47.609375 43.609375 45.015625 45.890625 +Q 42.4375 48.1875 37.796875 48.1875 +Q 30.5625 48.1875 25.34375 43.375 +Q 20.125 38.578125 18.5 30.328125 +L 12.5 0 +L 3.515625 0 +L 14.109375 54.6875 +L 23.09375 54.6875 +L 21.296875 46.09375 +Q 25.046875 50.828125 30.3125 53.40625 +Q 35.59375 56 41.40625 56 +Q 48.640625 56 52.609375 52.09375 +Q 56.59375 48.1875 56.59375 41.109375 +Q 56.59375 39.359375 56.375 37.359375 +Q 56.15625 35.359375 55.71875 33.015625 +" id="DejaVuSans-Oblique-6e"/> + </defs> + <g style="fill:#01769d;" transform="translate(30.635813 221.49)rotate(-90)scale(0.1 -0.1)"> + <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> + <use transform="translate(68.408203 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-64"/> + <use transform="translate(112.841797 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-72"/> + <use transform="translate(141.621094 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-61"/> + <use transform="translate(184.516602 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-69"/> + <use transform="translate(203.964844 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-6e"/> + <use transform="translate(278.123589 0.125)" xlink:href="#DejaVuSans-28"/> + <use transform="translate(317.137261 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> + <use transform="translate(385.545464 0.125)" xlink:href="#DejaVuSans-29"/> + </g> + </g> + </g> + <g id="line2d_54"> + <path clip-path="url(#p395017bce3)" d="M 66.832636 186.653094 +L 71.423126 187.072388 +L 73.109424 186.964115 +L 75.97848 186.484712 +L 78.847536 186.070777 +L 81.142781 186.019192 +L 87.845017 186.193228 +L 91.287884 185.813362 +L 94.15694 185.549459 +L 97.011308 185.524013 +L 102.174575 185.58244 +L 105.617442 185.344618 +L 109.634121 185.079061 +L 114.128336 185.073039 +L 118.145014 185.00736 +L 127.899805 184.630137 +L 134.211728 184.513411 +L 142.245085 184.251246 +L 150.418292 184.066904 +L 151.004234 183.614446 +L 152.394671 182.71927 +L 152.968482 182.518798 +L 153.542294 182.647738 +L 153.972136 183.246497 +L 154.286685 184.191208 +L 154.981355 187.518513 +L 156.537534 195.555137 +L 158.258967 203.208969 +L 159.980401 209.748195 +L 161.701834 215.378094 +L 163.423268 220.214658 +L 165.144702 224.338959 +L 166.866135 227.838816 +L 168.013758 229.884533 +L 170.309003 233.451172 +L 172.604247 236.516256 +L 175.473303 239.895452 +L 179.408009 244.039185 +L 182.932849 247.464584 +L 184.080472 248.292243 +L 185.228094 248.710508 +L 186.949528 249.020637 +L 189.818584 249.249057 +L 195.556696 249.415483 +L 208.754354 249.526505 +L 241.079591 249.5487 +L 257.146305 249.33448 +L 263.458228 249.061345 +L 266.901096 248.731521 +L 269.196341 248.327145 +L 270.917774 247.808738 +L 272.639208 246.996718 +L 280.672565 242.804778 +L 286.574623 239.52916 +L 292.148789 236.151104 +L 295.263764 234.102264 +L 298.378739 231.834432 +L 301.493714 229.34758 +L 304.36277 226.839156 +L 306.985907 224.252146 +L 309.609044 221.370076 +L 312.232181 218.192945 +L 315.675049 213.493705 +L 318.544105 209.135611 +L 322.560783 202.473509 +L 327.725084 193.766665 +L 328.872706 192.116944 +L 330.020329 190.794911 +L 330.59414 190.322747 +L 331.167951 190.018808 +L 331.741762 189.91202 +L 332.315574 190.019953 +L 332.889385 190.34169 +L 333.463196 190.855119 +L 334.610819 192.283573 +L 336.332252 194.597392 +L 337.479875 195.654518 +L 338.053686 195.928981 +L 338.627497 196.014918 +L 339.152492 195.918138 +L 339.726303 195.628181 +L 340.300115 195.171736 +L 341.447737 193.860575 +L 344.316793 190.034302 +L 345.464415 189.045485 +L 346.038227 188.761649 +L 346.612038 188.626191 +L 347.185849 188.633005 +L 348.304811 189.012094 +L 349.452433 189.747271 +L 351.747678 191.363856 +L 352.895301 191.824456 +L 354.042923 191.883732 +L 355.190545 191.53163 +L 356.338168 190.849012 +L 359.781035 188.391438 +L 360.928657 187.948451 +L 362.07628 187.829109 +L 363.223902 188.0088 +L 364.945336 188.637288 +L 366.66677 189.309953 +L 367.814392 189.582254 +L 368.962014 189.628749 +L 370.065573 189.444591 +L 371.787006 188.812272 +L 374.656063 187.56956 +L 375.803685 187.270612 +L 376.951307 187.157717 +L 378.506006 187.287689 +L 383.670307 188.143989 +L 385.34722 187.965344 +L 387.642465 187.3747 +L 389.93771 186.782671 +L 391.659144 186.570168 +L 393.365498 186.601877 +L 399.056308 187.057785 +L 401.351552 186.798377 +L 401.925364 186.697936 +L 401.925364 186.697936 +" style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> + </g> + <g id="patch_6"> + <path d="M 50.078 256.786667 +L 50.078 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_7"> + <path d="M 50.078 256.786667 +L 418.68 256.786667 +" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + </g> + <g id="axes_3"> + <g id="patch_8"> + <path d="M 50.078 387.16 +L 418.68 387.16 +L 418.68 274.066667 +L 50.078 274.066667 +z +" style="fill:#ffffff;"/> + </g> + <g id="matplotlib.axis_5"> + <g id="xtick_19"> + <g id="line2d_55"> + <path clip-path="url(#p084dcaa612)" d="M 66.304571 387.16 +L 66.304571 274.066667 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_56"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="66.304571" xlink:href="#m4a5b82e8fa" y="387.16"/> + </g> + </g> + <g id="text_11"> <!-- 0.0 --> - <g style="fill:#01769d;" transform="translate(69.016193 315.358437)scale(0.1 -0.1)"> + <defs> + <path d="M 10.6875 12.40625 +L 21 12.40625 +L 21 0 +L 10.6875 0 +z +" id="DejaVuSans-2e"/> + </defs> + <g style="fill:#01769d;" transform="translate(58.353009 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-30"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="xtick_11"> - <g id="line2d_34"> - <path clip-path="url(#pc87b95f737)" d="M 121.098159 300.76 -L 121.098159 167.48 + <g id="xtick_20"> + <g id="line2d_57"> + <path clip-path="url(#p084dcaa612)" d="M 108.274762 387.16 +L 108.274762 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_35"> + <g id="line2d_58"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="121.098159" xlink:href="#md08f1bef02" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="108.274762" xlink:href="#m4a5b82e8fa" y="387.16"/> </g> </g> - <g id="text_9"> + <g id="text_12"> <!-- 0.5 --> <defs> <path d="M 10.796875 72.90625 @@ -771,154 +1165,154 @@ Q 14.890625 38.140625 10.796875 36.28125 z " id="DejaVuSans-35"/> </defs> - <g style="fill:#01769d;" transform="translate(113.146596 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(100.3232 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-30"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-35"/> </g> </g> </g> - <g id="xtick_12"> - <g id="line2d_36"> - <path clip-path="url(#pc87b95f737)" d="M 165.228562 300.76 -L 165.228562 167.48 + <g id="xtick_21"> + <g id="line2d_59"> + <path clip-path="url(#p084dcaa612)" d="M 150.244954 387.16 +L 150.244954 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_37"> + <g id="line2d_60"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="165.228562" xlink:href="#md08f1bef02" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="150.244954" xlink:href="#m4a5b82e8fa" y="387.16"/> </g> </g> - <g id="text_10"> + <g id="text_13"> <!-- 1.0 --> - <g style="fill:#01769d;" transform="translate(157.276999 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(142.293391 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-31"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="xtick_13"> - <g id="line2d_38"> - <path clip-path="url(#pc87b95f737)" d="M 209.358965 300.76 -L 209.358965 167.48 + <g id="xtick_22"> + <g id="line2d_61"> + <path clip-path="url(#p084dcaa612)" d="M 192.215145 387.16 +L 192.215145 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_39"> + <g id="line2d_62"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="209.358965" xlink:href="#md08f1bef02" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="192.215145" xlink:href="#m4a5b82e8fa" y="387.16"/> </g> </g> - <g id="text_11"> + <g id="text_14"> <!-- 1.5 --> - <g style="fill:#01769d;" transform="translate(201.407403 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(184.263583 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-31"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-35"/> </g> </g> </g> - <g id="xtick_14"> - <g id="line2d_40"> - <path clip-path="url(#pc87b95f737)" d="M 253.489369 300.76 -L 253.489369 167.48 + <g id="xtick_23"> + <g id="line2d_63"> + <path clip-path="url(#p084dcaa612)" d="M 234.185337 387.16 +L 234.185337 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_41"> + <g id="line2d_64"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="253.489369" xlink:href="#md08f1bef02" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="234.185337" xlink:href="#m4a5b82e8fa" y="387.16"/> </g> </g> - <g id="text_12"> + <g id="text_15"> <!-- 2.0 --> - <g style="fill:#01769d;" transform="translate(245.537806 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(226.233774 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-32"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="xtick_15"> - <g id="line2d_42"> - <path clip-path="url(#pc87b95f737)" d="M 297.619772 300.76 -L 297.619772 167.48 + <g id="xtick_24"> + <g id="line2d_65"> + <path clip-path="url(#p084dcaa612)" d="M 276.155528 387.16 +L 276.155528 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_43"> + <g id="line2d_66"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="297.619772" xlink:href="#md08f1bef02" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="276.155528" xlink:href="#m4a5b82e8fa" y="387.16"/> </g> </g> - <g id="text_13"> + <g id="text_16"> <!-- 2.5 --> - <g style="fill:#01769d;" transform="translate(289.66821 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(268.203966 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-32"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-35"/> </g> </g> </g> - <g id="xtick_16"> - <g id="line2d_44"> - <path clip-path="url(#pc87b95f737)" d="M 341.750176 300.76 -L 341.750176 167.48 + <g id="xtick_25"> + <g id="line2d_67"> + <path clip-path="url(#p084dcaa612)" d="M 318.125719 387.16 +L 318.125719 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_45"> + <g id="line2d_68"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="341.750176" xlink:href="#md08f1bef02" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="318.125719" xlink:href="#m4a5b82e8fa" y="387.16"/> </g> </g> - <g id="text_14"> + <g id="text_17"> <!-- 3.0 --> - <g style="fill:#01769d;" transform="translate(333.798613 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(310.174157 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-33"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="xtick_17"> - <g id="line2d_46"> - <path clip-path="url(#pc87b95f737)" d="M 385.880579 300.76 -L 385.880579 167.48 + <g id="xtick_26"> + <g id="line2d_69"> + <path clip-path="url(#p084dcaa612)" d="M 360.095911 387.16 +L 360.095911 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_47"> + <g id="line2d_70"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="385.880579" xlink:href="#md08f1bef02" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="360.095911" xlink:href="#m4a5b82e8fa" y="387.16"/> </g> </g> - <g id="text_15"> + <g id="text_18"> <!-- 3.5 --> - <g style="fill:#01769d;" transform="translate(377.929016 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(352.144348 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-33"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-35"/> </g> </g> </g> - <g id="xtick_18"> - <g id="line2d_48"> - <path clip-path="url(#pc87b95f737)" d="M 430.010982 300.76 -L 430.010982 167.48 + <g id="xtick_27"> + <g id="line2d_71"> + <path clip-path="url(#p084dcaa612)" d="M 402.066102 387.16 +L 402.066102 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_49"> + <g id="line2d_72"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="430.010982" xlink:href="#md08f1bef02" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="402.066102" xlink:href="#m4a5b82e8fa" y="387.16"/> </g> </g> - <g id="text_16"> + <g id="text_19"> <!-- 4.0 --> - <g style="fill:#01769d;" transform="translate(422.05942 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(394.11454 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-34"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="text_17"> + <g id="text_20"> <!-- $t\;(\mu s)$ --> <defs> <path d="M -1.3125 -20.796875 @@ -983,7 +1377,7 @@ Q 37.453125 56 41.671875 55.265625 Q 45.90625 54.546875 50 53.078125 " id="DejaVuSans-Oblique-73"/> </defs> - <g style="fill:#01769d;" transform="translate(240.643 329.038125)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(221.329 415.438125)scale(0.1 -0.1)"> <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-74"/> <use transform="translate(66.26812 0.125)" xlink:href="#DejaVuSans-28"/> <use transform="translate(105.281792 0.125)" xlink:href="#DejaVuSans-Oblique-3bc"/> @@ -992,110 +1386,137 @@ Q 45.90625 54.546875 50 53.078125 </g> </g> </g> - <g id="matplotlib.axis_4"> - <g id="ytick_7"> - <g id="line2d_50"> - <path clip-path="url(#pc87b95f737)" d="M 59.906 292.43 -L 447.48 292.43 + <g id="matplotlib.axis_6"> + <g id="ytick_9"> + <g id="line2d_73"> + <path clip-path="url(#p084dcaa612)" d="M 50.078 387.16 +L 418.68 387.16 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_51"> + <g id="line2d_74"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mf9db589884" y="292.43"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#maa7a6699d1" y="387.16"/> </g> </g> - <g id="text_18"> - <!-- 0 --> - <g style="fill:#01769d;" transform="translate(46.5435 296.229219)scale(0.1 -0.1)"> + <g id="text_21"> + <!-- −0.1 --> + <defs> + <path d="M 10.59375 35.5 +L 73.1875 35.5 +L 73.1875 27.203125 +L 10.59375 27.203125 +z +" id="DejaVuSans-2212"/> + </defs> + <g style="fill:#01769d;" transform="translate(18.795188 390.959219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-2212"/> + <use x="83.789062" xlink:href="#DejaVuSans-30"/> + <use x="147.412109" xlink:href="#DejaVuSans-2e"/> + <use x="179.199219" xlink:href="#DejaVuSans-31"/> + </g> + </g> + </g> + <g id="ytick_10"> + <g id="line2d_75"> + <path clip-path="url(#p084dcaa612)" d="M 50.078 364.541333 +L 418.68 364.541333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_76"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#maa7a6699d1" y="364.541333"/> + </g> + </g> + <g id="text_22"> + <!-- 0.0 --> + <g style="fill:#01769d;" transform="translate(27.174875 368.340552)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="ytick_8"> - <g id="line2d_52"> - <path clip-path="url(#pc87b95f737)" d="M 59.906 259.11 -L 447.48 259.11 + <g id="ytick_11"> + <g id="line2d_77"> + <path clip-path="url(#p084dcaa612)" d="M 50.078 341.922667 +L 418.68 341.922667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_53"> + <g id="line2d_78"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mf9db589884" y="259.11"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#maa7a6699d1" y="341.922667"/> </g> </g> - <g id="text_19"> - <!-- 2 --> - <g style="fill:#01769d;" transform="translate(46.5435 262.909219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-32"/> + <g id="text_23"> + <!-- 0.1 --> + <g style="fill:#01769d;" transform="translate(27.174875 345.721885)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-31"/> </g> </g> </g> - <g id="ytick_9"> - <g id="line2d_54"> - <path clip-path="url(#pc87b95f737)" d="M 59.906 225.79 -L 447.48 225.79 + <g id="ytick_12"> + <g id="line2d_79"> + <path clip-path="url(#p084dcaa612)" d="M 50.078 319.304 +L 418.68 319.304 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_55"> + <g id="line2d_80"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mf9db589884" y="225.79"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#maa7a6699d1" y="319.304"/> </g> </g> - <g id="text_20"> - <!-- 4 --> - <g style="fill:#01769d;" transform="translate(46.5435 229.589219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-34"/> + <g id="text_24"> + <!-- 0.2 --> + <g style="fill:#01769d;" transform="translate(27.174875 323.103219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-32"/> </g> </g> </g> - <g id="ytick_10"> - <g id="line2d_56"> - <path clip-path="url(#pc87b95f737)" d="M 59.906 192.47 -L 447.48 192.47 + <g id="ytick_13"> + <g id="line2d_81"> + <path clip-path="url(#p084dcaa612)" d="M 50.078 296.685333 +L 418.68 296.685333 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_57"> + <g id="line2d_82"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#mf9db589884" y="192.47"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#maa7a6699d1" y="296.685333"/> </g> </g> - <g id="text_21"> - <!-- 6 --> - <defs> - <path d="M 33.015625 40.375 -Q 26.375 40.375 22.484375 35.828125 -Q 18.609375 31.296875 18.609375 23.390625 -Q 18.609375 15.53125 22.484375 10.953125 -Q 26.375 6.390625 33.015625 6.390625 -Q 39.65625 6.390625 43.53125 10.953125 -Q 47.40625 15.53125 47.40625 23.390625 -Q 47.40625 31.296875 43.53125 35.828125 -Q 39.65625 40.375 33.015625 40.375 -M 52.59375 71.296875 -L 52.59375 62.3125 -Q 48.875 64.0625 45.09375 64.984375 -Q 41.3125 65.921875 37.59375 65.921875 -Q 27.828125 65.921875 22.671875 59.328125 -Q 17.53125 52.734375 16.796875 39.40625 -Q 19.671875 43.65625 24.015625 45.921875 -Q 28.375 48.1875 33.59375 48.1875 -Q 44.578125 48.1875 50.953125 41.515625 -Q 57.328125 34.859375 57.328125 23.390625 -Q 57.328125 12.15625 50.6875 5.359375 -Q 44.046875 -1.421875 33.015625 -1.421875 -Q 20.359375 -1.421875 13.671875 8.265625 -Q 6.984375 17.96875 6.984375 36.375 -Q 6.984375 53.65625 15.1875 63.9375 -Q 23.390625 74.21875 37.203125 74.21875 -Q 40.921875 74.21875 44.703125 73.484375 -Q 48.484375 72.75 52.59375 71.296875 -" id="DejaVuSans-36"/> - </defs> - <g style="fill:#01769d;" transform="translate(46.5435 196.269219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-36"/> + <g id="text_25"> + <!-- 0.3 --> + <g style="fill:#01769d;" transform="translate(27.174875 300.484552)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-33"/> + </g> + </g> + </g> + <g id="ytick_14"> + <g id="line2d_83"> + <path clip-path="url(#p084dcaa612)" d="M 50.078 274.066667 +L 418.68 274.066667 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_84"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#maa7a6699d1" y="274.066667"/> + </g> + </g> + <g id="text_26"> + <!-- 0.4 --> + <g style="fill:#01769d;" transform="translate(27.174875 277.865885)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-34"/> </g> </g> </g> - <g id="text_22"> + <g id="text_27"> <!-- $I_{LED}\;(A)$ --> <defs> <path d="M 16.890625 72.90625 @@ -1145,8 +1566,22 @@ Q 61.8125 54.984375 55.953125 59.890625 Q 50.09375 64.796875 37.59375 64.796875 z " id="DejaVuSans-Oblique-44"/> + <path d="M 36.8125 72.90625 +L 48 72.90625 +L 61.53125 0 +L 51.21875 0 +L 48.1875 18.703125 +L 15.375 18.703125 +L 5.078125 0 +L -5.328125 0 +z +M 40.375 63.1875 +L 19.921875 26.90625 +L 46.6875 26.90625 +z +" id="DejaVuSans-Oblique-41"/> </defs> - <g style="fill:#01769d;" transform="translate(40.463813 251.27)rotate(-90)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(12.7155 347.763333)rotate(-90)scale(0.1 -0.1)"> <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-49"/> <use transform="translate(29.492188 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-4c"/> <use transform="translate(68.491211 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-45"/> @@ -1157,152 +1592,130 @@ z </g> </g> </g> - <g id="line2d_58"> - <path clip-path="url(#pc87b95f737)" d="M 77.523 218.107891 -L 81.746418 218.594796 -L 83.519509 218.541567 -L 85.932891 218.161952 -L 89.552963 217.486689 -L 91.362999 217.35291 -L 93.77638 217.425181 -L 97.891549 217.642544 -L 100.220236 217.511229 -L 107.46038 216.763479 -L 111.065009 216.837999 -L 114.683993 216.846129 -L 118.304065 216.565858 -L 122.527483 216.2529 -L 126.649671 216.239572 -L 130.873088 216.196139 -L 143.543341 215.71848 -L 148.370104 215.586283 -L 156.816939 215.277323 -L 165.368267 215.07777 -L 165.608658 214.891395 -L 166.88558 213.855759 -L 167.488926 213.471896 -L 168.092271 213.23564 -L 168.695616 213.387596 -L 169.147583 214.093231 -L 169.478321 215.206568 -L 170.208746 219.127783 -L 171.845022 228.598909 -L 173.655058 237.618917 -L 175.465094 245.325366 -L 177.27513 251.960178 -L 179.085166 257.660047 -L 180.895202 262.520519 -L 182.705238 266.645085 -L 183.911929 269.055953 -L 186.32531 273.259221 -L 188.738692 276.871409 -L 191.755418 280.853777 -L 195.892644 285.737148 -L 199.598908 289.773966 -L 200.805599 290.749359 -L 202.01229 291.242283 -L 203.822326 291.607768 -L 206.839052 291.87696 -L 212.269161 292.061385 -L 224.336068 292.191257 -L 255.308363 292.263848 -L 274.615415 292.054954 -L 282.458905 291.775754 -L 286.682322 291.426724 -L 289.095704 291.061694 -L 290.90574 290.620406 -L 292.11243 290.179551 -L 293.922466 289.222588 -L 302.369301 284.282405 -L 308.575139 280.422103 -L 314.436209 276.44108 -L 317.711512 274.026531 -L 320.986815 271.3539 -L 324.262119 268.423157 -L 327.278846 265.46699 -L 330.036996 262.41821 -L 332.795146 259.021702 -L 335.553296 255.277467 -L 339.173368 249.739433 -L 342.190095 244.603438 -L 345.810167 237.908801 -L 351.843621 226.491203 -L 353.050312 224.547014 -L 354.257002 222.989004 -L 354.860348 222.43256 -L 355.463693 222.07437 -L 356.067038 221.948521 -L 356.670384 222.07572 -L 357.273729 222.454885 -L 357.877074 223.059959 -L 359.083765 224.743385 -L 360.893801 227.470211 -L 361.497147 228.182676 -L 362.100492 228.716029 -L 362.703837 229.039483 -L 363.307183 229.140759 -L 363.859199 229.026705 -L 364.462545 228.684992 -L 365.06589 228.147073 -L 366.272581 226.601875 -L 369.289308 222.09263 -L 370.495998 220.927313 -L 371.099344 220.592813 -L 371.702689 220.433177 -L 372.306034 220.441207 -L 372.879244 220.594662 -L 374.085935 221.284869 -L 377.706007 223.984739 -L 378.309352 224.202319 -L 378.912698 224.299813 -L 379.516043 224.272174 -L 380.722734 223.857223 -L 381.929424 223.052762 -L 385.549497 220.156521 -L 386.756187 219.634463 -L 387.962878 219.493819 -L 389.169569 219.705585 -L 390.979605 220.446255 -L 392.789641 221.238988 -L 393.996332 221.559893 -L 395.203022 221.614687 -L 396.363381 221.397658 -L 397.570072 220.941357 -L 401.793489 218.98559 -L 403.00018 218.74172 -L 404.127666 218.712382 -L 405.84159 218.982424 -L 409.461662 219.801813 -L 410.668353 219.864904 -L 411.828232 219.764278 -L 413.638268 219.341797 -L 417.861685 218.144143 -L 419.671721 217.993487 -L 421.465903 218.110057 -L 425.68932 218.595379 -L 427.449619 218.541017 -L 429.863 218.160736 -L 429.863 218.160736 + <g id="line2d_85"> + <path clip-path="url(#p084dcaa612)" d="M 66.832636 364.509313 +L 69.701692 364.542505 +L 78.273725 364.317268 +L 84.585648 364.511535 +L 94.15694 364.399225 +L 99.880364 364.490096 +L 110.207932 364.446511 +L 116.423581 364.465875 +L 125.030749 364.45485 +L 133.637917 364.451688 +L 148.557009 364.463854 +L 151.82086 364.515924 +L 154.607942 364.809761 +L 155.390676 364.563989 +L 155.963722 364.160973 +L 156.537534 363.588103 +L 157.685156 361.976768 +L 158.832778 359.912043 +L 160.554212 356.319577 +L 161.701834 353.598759 +L 162.849457 350.246856 +L 165.144702 342.518436 +L 166.292324 339.551869 +L 169.16138 333.263201 +L 175.473303 319.71618 +L 179.408009 311.869764 +L 182.932849 305.317883 +L 185.228094 301.339124 +L 186.949528 298.723841 +L 188.670961 296.511509 +L 190.392395 294.67372 +L 192.113829 293.158563 +L 193.835262 291.91379 +L 195.556696 290.892942 +L 197.851941 289.812742 +L 199.573374 289.171706 +L 201.868619 288.493621 +L 205.311486 287.761025 +L 208.754354 287.268074 +L 213.344843 286.850285 +L 219.082955 286.555993 +L 228.263935 286.341206 +L 242.227214 286.255391 +L 256.572494 286.403453 +L 264.605851 286.681617 +L 268.622529 286.999975 +L 271.491585 287.437511 +L 273.213019 287.883913 +L 275.508264 288.758282 +L 277.803509 289.900299 +L 280.672565 291.616829 +L 283.78754 293.764133 +L 287.968164 296.978268 +L 292.148789 300.536388 +L 295.263764 303.383309 +L 298.378739 306.454516 +L 301.493714 309.750034 +L 304.36277 312.997576 +L 306.985907 316.25039 +L 309.609044 319.798489 +L 312.232181 323.641921 +L 315.675049 329.268382 +L 318.544105 334.481962 +L 321.986972 341.353219 +L 326.00365 350.002584 +L 329.446518 357.386 +L 331.167951 360.668165 +L 332.315574 362.503071 +L 333.463196 363.916123 +L 334.610819 364.813544 +L 335.18463 365.058475 +L 335.758441 365.173105 +L 336.906063 365.059389 +L 338.053686 364.606572 +L 341.447737 362.915111 +L 342.595359 362.676783 +L 343.742982 362.713742 +L 344.890604 363.002331 +L 346.612038 363.733874 +L 348.304811 364.47553 +L 349.452433 364.815778 +L 350.600056 364.951903 +L 351.747678 364.878285 +L 353.469112 364.475257 +L 356.338168 363.684835 +L 358.059601 363.522642 +L 359.781035 363.68927 +L 362.650091 364.36121 +L 364.371525 364.675177 +L 366.092958 364.747611 +L 367.814392 364.57956 +L 372.360818 363.934213 +L 374.082251 363.954242 +L 376.377496 364.21982 +L 379.653629 364.602668 +L 381.948874 364.592903 +L 389.363899 364.166885 +L 397.382177 364.520051 +L 401.925364 364.276694 +L 401.925364 364.276694 " style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> </g> - <g id="patch_6"> - <path d="M 59.906 300.76 -L 59.906 167.48 + <g id="patch_9"> + <path d="M 50.078 387.16 +L 50.078 274.066667 " style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> - <g id="patch_7"> - <path d="M 59.906 300.76 -L 447.48 300.76 + <g id="patch_10"> + <path d="M 50.078 387.16 +L 418.68 387.16 " style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> </g> </g> <defs> - <clipPath id="p2f28d60236"> - <rect height="133.28" width="387.574" x="59.906" y="14.76"/> + <clipPath id="p6e9e5beee6"> + <rect height="113.093333" width="368.602" x="50.078" y="13.32"/> + </clipPath> + <clipPath id="p395017bce3"> + <rect height="113.093333" width="368.602" x="50.078" y="143.693333"/> </clipPath> - <clipPath id="pc87b95f737"> - <rect height="133.28" width="387.574" x="59.906" y="167.48"/> + <clipPath id="p084dcaa612"> + <rect height="113.093333" width="368.602" x="50.078" y="274.066667"/> </clipPath> </defs> </svg> diff --git a/firmware/spice_sims/overshoot_sim_r50.svg b/firmware/spice_sims/overshoot_sim_r50.svg index 1d283e8..567ea7c 100644 --- a/firmware/spice_sims/overshoot_sim_r50.svg +++ b/firmware/spice_sims/overshoot_sim_r50.svg @@ -2,7 +2,7 @@ <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"> <!-- Created with matplotlib (http://matplotlib.org/) --> -<svg height="345pt" version="1.1" viewBox="0 0 460 345" width="460pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> +<svg height="432pt" version="1.1" viewBox="0 0 432 432" width="432pt" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink"> <defs> <style type="text/css"> *{stroke-linecap:butt;stroke-linejoin:round;} @@ -10,133 +10,133 @@ </defs> <g id="figure_1"> <g id="patch_1"> - <path d="M 0 345.6 -L 460.8 345.6 -L 460.8 0 + <path d="M 0 432 +L 432 432 +L 432 0 L 0 0 z " style="fill:#ffffff;"/> </g> <g id="axes_1"> <g id="patch_2"> - <path d="M 59.906 148.04 -L 447.48 148.04 -L 447.48 14.76 -L 59.906 14.76 + <path d="M 50.078 126.413333 +L 418.68 126.413333 +L 418.68 13.32 +L 50.078 13.32 z " style="fill:#ffffff;"/> </g> <g id="matplotlib.axis_1"> <g id="xtick_1"> <g id="line2d_1"> - <path clip-path="url(#pd91fca6433)" d="M 77.431 148.04 -L 77.431 14.76 + <path clip-path="url(#p575d5920f8)" d="M 66.74514 126.413333 +L 66.74514 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_2"> <defs> <path d="M 0 0 L 0 3.5 -" id="ma3d4688e71" style="stroke:#01769d;stroke-width:0.8;"/> +" id="m71acad7e69" style="stroke:#01769d;stroke-width:0.8;"/> </defs> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="77.431" xlink:href="#ma3d4688e71" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="66.74514" xlink:href="#m71acad7e69" y="126.413333"/> </g> </g> </g> <g id="xtick_2"> <g id="line2d_3"> - <path clip-path="url(#pd91fca6433)" d="M 121.485473 148.04 -L 121.485473 14.76 + <path clip-path="url(#p575d5920f8)" d="M 108.643118 126.413333 +L 108.643118 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_4"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="121.485473" xlink:href="#ma3d4688e71" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="108.643118" xlink:href="#m71acad7e69" y="126.413333"/> </g> </g> </g> <g id="xtick_3"> <g id="line2d_5"> - <path clip-path="url(#pd91fca6433)" d="M 165.539946 148.04 -L 165.539946 14.76 + <path clip-path="url(#p575d5920f8)" d="M 150.541095 126.413333 +L 150.541095 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_6"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="165.539946" xlink:href="#ma3d4688e71" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="150.541095" xlink:href="#m71acad7e69" y="126.413333"/> </g> </g> </g> <g id="xtick_4"> <g id="line2d_7"> - <path clip-path="url(#pd91fca6433)" d="M 209.594419 148.04 -L 209.594419 14.76 + <path clip-path="url(#p575d5920f8)" d="M 192.439073 126.413333 +L 192.439073 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_8"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="209.594419" xlink:href="#ma3d4688e71" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="192.439073" xlink:href="#m71acad7e69" y="126.413333"/> </g> </g> </g> <g id="xtick_5"> <g id="line2d_9"> - <path clip-path="url(#pd91fca6433)" d="M 253.648892 148.04 -L 253.648892 14.76 + <path clip-path="url(#p575d5920f8)" d="M 234.337051 126.413333 +L 234.337051 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_10"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="253.648892" xlink:href="#ma3d4688e71" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="234.337051" xlink:href="#m71acad7e69" y="126.413333"/> </g> </g> </g> <g id="xtick_6"> <g id="line2d_11"> - <path clip-path="url(#pd91fca6433)" d="M 297.703365 148.04 -L 297.703365 14.76 + <path clip-path="url(#p575d5920f8)" d="M 276.235029 126.413333 +L 276.235029 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_12"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="297.703365" xlink:href="#ma3d4688e71" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="276.235029" xlink:href="#m71acad7e69" y="126.413333"/> </g> </g> </g> <g id="xtick_7"> <g id="line2d_13"> - <path clip-path="url(#pd91fca6433)" d="M 341.757838 148.04 -L 341.757838 14.76 + <path clip-path="url(#p575d5920f8)" d="M 318.133007 126.413333 +L 318.133007 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_14"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="341.757838" xlink:href="#ma3d4688e71" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="318.133007" xlink:href="#m71acad7e69" y="126.413333"/> </g> </g> </g> <g id="xtick_8"> <g id="line2d_15"> - <path clip-path="url(#pd91fca6433)" d="M 385.812311 148.04 -L 385.812311 14.76 + <path clip-path="url(#p575d5920f8)" d="M 360.030984 126.413333 +L 360.030984 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_16"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="385.812311" xlink:href="#ma3d4688e71" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="360.030984" xlink:href="#m71acad7e69" y="126.413333"/> </g> </g> </g> <g id="xtick_9"> <g id="line2d_17"> - <path clip-path="url(#pd91fca6433)" d="M 429.866784 148.04 -L 429.866784 14.76 + <path clip-path="url(#p575d5920f8)" d="M 401.928962 126.413333 +L 401.928962 13.32 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_18"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="429.866784" xlink:href="#ma3d4688e71" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="401.928962" xlink:href="#m71acad7e69" y="126.413333"/> </g> </g> </g> @@ -144,29 +144,23 @@ L 429.866784 14.76 <g id="matplotlib.axis_2"> <g id="ytick_1"> <g id="line2d_19"> - <path clip-path="url(#pd91fca6433)" d="M 59.906 148.04 -L 447.48 148.04 + <path clip-path="url(#p575d5920f8)" d="M 50.078 110.257143 +L 418.68 110.257143 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_20"> <defs> <path d="M 0 0 L -3.5 0 -" id="m0a3baca114" style="stroke:#01769d;stroke-width:0.8;"/> +" id="mbdd9d20e31" style="stroke:#01769d;stroke-width:0.8;"/> </defs> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0a3baca114" y="148.04"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#mbdd9d20e31" y="110.257143"/> </g> </g> <g id="text_1"> - <!-- −0.1 --> + <!-- 0 --> <defs> - <path d="M 10.59375 35.5 -L 73.1875 35.5 -L 73.1875 27.203125 -L 10.59375 27.203125 -z -" id="DejaVuSans-2212"/> <path d="M 31.78125 66.40625 Q 24.171875 66.40625 20.328125 58.90625 Q 16.5 51.421875 16.5 36.375 @@ -186,12 +180,26 @@ Q 6.59375 17.96875 6.59375 36.375 Q 6.59375 54.828125 13.0625 64.515625 Q 19.53125 74.21875 31.78125 74.21875 " id="DejaVuSans-30"/> - <path d="M 10.6875 12.40625 -L 21 12.40625 -L 21 0 -L 10.6875 0 -z -" id="DejaVuSans-2e"/> + </defs> + <g style="fill:#01769d;" transform="translate(36.7155 114.056362)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + </g> + </g> + </g> + <g id="ytick_2"> + <g id="line2d_21"> + <path clip-path="url(#p575d5920f8)" d="M 50.078 83.330159 +L 418.68 83.330159 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_22"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#mbdd9d20e31" y="83.330159"/> + </g> + </g> + <g id="text_2"> + <!-- 1 --> + <defs> <path d="M 12.40625 8.296875 L 28.515625 8.296875 L 28.515625 63.921875 @@ -206,67 +214,24 @@ L 12.40625 0 z " id="DejaVuSans-31"/> </defs> - <g style="fill:#01769d;" transform="translate(28.623188 151.839219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-2212"/> - <use x="83.789062" xlink:href="#DejaVuSans-30"/> - <use x="147.412109" xlink:href="#DejaVuSans-2e"/> - <use x="179.199219" xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="ytick_2"> - <g id="line2d_21"> - <path clip-path="url(#pd91fca6433)" d="M 59.906 121.384 -L 447.48 121.384 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_22"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0a3baca114" y="121.384"/> - </g> - </g> - <g id="text_2"> - <!-- 0.0 --> - <g style="fill:#01769d;" transform="translate(37.002875 125.183219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-30"/> + <g style="fill:#01769d;" transform="translate(36.7155 87.129377)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-31"/> </g> </g> </g> <g id="ytick_3"> <g id="line2d_23"> - <path clip-path="url(#pd91fca6433)" d="M 59.906 94.728 -L 447.48 94.728 + <path clip-path="url(#p575d5920f8)" d="M 50.078 56.403175 +L 418.68 56.403175 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_24"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0a3baca114" y="94.728"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#mbdd9d20e31" y="56.403175"/> </g> </g> <g id="text_3"> - <!-- 0.1 --> - <g style="fill:#01769d;" transform="translate(37.002875 98.527219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-31"/> - </g> - </g> - </g> - <g id="ytick_4"> - <g id="line2d_25"> - <path clip-path="url(#pd91fca6433)" d="M 59.906 68.072 -L 447.48 68.072 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_26"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0a3baca114" y="68.072"/> - </g> - </g> - <g id="text_4"> - <!-- 0.2 --> + <!-- 2 --> <defs> <path d="M 19.1875 8.296875 L 53.609375 8.296875 @@ -292,26 +257,24 @@ Q 44.1875 33.984375 37.640625 27.21875 Q 31.109375 20.453125 19.1875 8.296875 " id="DejaVuSans-32"/> </defs> - <g style="fill:#01769d;" transform="translate(37.002875 71.871219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-32"/> + <g style="fill:#01769d;" transform="translate(36.7155 60.202393)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-32"/> </g> </g> </g> - <g id="ytick_5"> - <g id="line2d_27"> - <path clip-path="url(#pd91fca6433)" d="M 59.906 41.416 -L 447.48 41.416 + <g id="ytick_4"> + <g id="line2d_25"> + <path clip-path="url(#p575d5920f8)" d="M 50.078 29.47619 +L 418.68 29.47619 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_28"> + <g id="line2d_26"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0a3baca114" y="41.416"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#mbdd9d20e31" y="29.47619"/> </g> </g> - <g id="text_5"> - <!-- 0.3 --> + <g id="text_4"> + <!-- 3 --> <defs> <path d="M 40.578125 39.3125 Q 47.65625 37.796875 51.625 33 @@ -345,54 +308,13 @@ Q 53.90625 49.265625 50.4375 45.09375 Q 46.96875 40.921875 40.578125 39.3125 " id="DejaVuSans-33"/> </defs> - <g style="fill:#01769d;" transform="translate(37.002875 45.215219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-33"/> - </g> - </g> - </g> - <g id="ytick_6"> - <g id="line2d_29"> - <path clip-path="url(#pd91fca6433)" d="M 59.906 14.76 -L 447.48 14.76 -" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> - </g> - <g id="line2d_30"> - <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0a3baca114" y="14.76"/> - </g> - </g> - <g id="text_6"> - <!-- 0.4 --> - <defs> - <path d="M 37.796875 64.3125 -L 12.890625 25.390625 -L 37.796875 25.390625 -z -M 35.203125 72.90625 -L 47.609375 72.90625 -L 47.609375 25.390625 -L 58.015625 25.390625 -L 58.015625 17.1875 -L 47.609375 17.1875 -L 47.609375 0 -L 37.796875 0 -L 37.796875 17.1875 -L 4.890625 17.1875 -L 4.890625 26.703125 -z -" id="DejaVuSans-34"/> - </defs> - <g style="fill:#01769d;" transform="translate(37.002875 18.559219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-30"/> - <use x="63.623047" xlink:href="#DejaVuSans-2e"/> - <use x="95.410156" xlink:href="#DejaVuSans-34"/> + <g style="fill:#01769d;" transform="translate(36.7155 33.275409)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-33"/> </g> </g> </g> - <g id="text_7"> - <!-- $V_{gate}\;(A)$ --> + <g id="text_5"> + <!-- $V_{gate}\;(V)$ --> <defs> <path d="M 20.609375 0 L 7.8125 72.90625 @@ -540,20 +462,6 @@ Q 8.59375 42.28125 12.203125 53.3125 Q 15.828125 64.359375 23.1875 75.875 z " id="DejaVuSans-28"/> - <path d="M 36.8125 72.90625 -L 48 72.90625 -L 61.53125 0 -L 51.21875 0 -L 48.1875 18.703125 -L 15.375 18.703125 -L 5.078125 0 -L -5.328125 0 -z -M 40.375 63.1875 -L 19.921875 26.90625 -L 46.6875 26.90625 -z -" id="DejaVuSans-Oblique-41"/> <path d="M 8.015625 75.875 L 15.828125 75.875 Q 23.140625 64.359375 26.78125 53.3125 @@ -567,213 +475,752 @@ Q 20.90625 42.671875 17.703125 53.65625 Q 14.5 64.65625 8.015625 75.875 " id="DejaVuSans-29"/> </defs> - <g style="fill:#01769d;" transform="translate(21.523188 101.55)rotate(-90)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(29.6155 90.016667)rotate(-90)scale(0.1 -0.1)"> <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> <use transform="translate(68.408203 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-67"/> <use transform="translate(112.841797 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-61"/> <use transform="translate(155.737305 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-74"/> <use transform="translate(183.183594 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-65"/> <use transform="translate(256.043511 0.125)" xlink:href="#DejaVuSans-28"/> - <use transform="translate(295.057183 0.125)" xlink:href="#DejaVuSans-Oblique-41"/> + <use transform="translate(295.057183 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> <use transform="translate(363.465386 0.125)" xlink:href="#DejaVuSans-29"/> </g> </g> </g> - <g id="line2d_31"> - <path clip-path="url(#pd91fca6433)" d="M 77.523 121.405747 -L 90.71815 121.351851 -L 96.087965 121.334491 -L 103.315652 121.29193 -L 112.006089 121.331139 -L 121.040698 121.32565 -L 131.222416 121.311182 -L 166.066958 121.334451 -L 168.022704 121.379921 -L 168.498656 120.872083 -L 169.063016 119.874871 -L 169.665324 118.355817 -L 170.869938 114.211867 -L 172.074553 109.145596 -L 173.279167 103.382614 -L 173.881474 99.935343 -L 175.086089 91.199465 -L 176.290703 82.424603 -L 177.495318 75.856965 -L 179.714706 66.091006 -L 181.340882 59.811919 -L 183.117986 54.045853 -L 184.3226 50.757062 -L 185.527215 47.904977 -L 187.334137 44.321024 -L 189.141058 41.42437 -L 190.94798 39.081014 -L 192.754902 37.183667 -L 194.561824 35.646522 -L 196.368745 34.400461 -L 197.57336 33.703593 -L 199.982589 32.57018 -L 202.391818 31.712203 -L 204.801047 31.06241 -L 208.41489 30.370527 -L 212.028734 29.913696 -L 216.847192 29.535794 -L 224.074879 29.24615 -L 234.916409 29.084428 -L 258.137577 29.027944 -L 266.569879 29.17999 -L 270.183722 29.447429 -L 271.990644 29.818481 -L 273.195259 30.335634 -L 274.399873 31.158878 -L 275.604488 32.283255 -L 276.809102 33.684667 -L 278.616024 36.26041 -L 280.422946 39.366527 -L 282.229867 42.996221 -L 284.036789 47.18921 -L 285.843711 52.040575 -L 287.650633 57.704016 -L 289.457554 64.379291 -L 291.264476 72.275731 -L 293.071398 81.54994 -L 294.87832 92.208262 -L 299.09447 118.873083 -L 300.299085 124.341571 -L 300.901392 126.246508 -L 301.503699 127.548515 -L 302.106007 128.25528 -L 302.708314 128.404972 -L 303.310621 128.058508 -L 303.912928 127.292196 -L 304.515235 126.191945 -L 305.71985 123.356129 -L 307.470887 118.99362 -L 308.675501 116.718947 -L 309.277808 115.973141 -L 309.880116 115.530377 -L 310.482423 115.400365 -L 311.08473 115.575524 -L 311.687037 116.033013 -L 312.289345 116.737894 -L 313.493959 118.706991 -L 315.903188 123.226807 -L 316.505495 124.094014 -L 317.107803 124.744868 -L 317.71011 125.1494 -L 318.312417 125.296173 -L 318.914724 125.191231 -L 319.517032 124.855675 -L 320.119339 124.322568 -L 321.323953 122.836546 -L 323.733182 119.552641 -L 324.801064 118.537326 -L 325.333873 118.231174 -L 325.93618 118.047031 -L 326.538487 118.036505 -L 327.140795 118.198147 -L 327.743102 118.51667 -L 328.947716 119.526102 -L 331.959253 122.628357 -L 333.046007 123.335354 -L 333.594394 123.518376 -L 334.196701 123.587373 -L 334.799009 123.520467 -L 336.003623 123.018069 -L 337.208238 122.164788 -L 339.617467 120.27714 -L 340.713818 119.683881 -L 341.808697 119.421387 -L 343.013311 119.51539 -L 344.217926 119.968571 -L 346.024848 121.040508 -L 347.831769 122.080163 -L 348.930927 122.484771 -L 350.087572 122.623211 -L 351.292187 122.464593 -L 352.496801 122.053254 -L 356.110645 120.482856 -L 357.263035 120.234589 -L 358.46765 120.211315 -L 359.672264 120.412547 -L 361.479186 120.997788 -L 363.775511 121.777896 -L 365.409901 122.056096 -L 366.614516 122.042401 -L 368.421437 121.723802 -L 372.637588 120.719388 -L 374.44451 120.665421 -L 376.251432 120.898956 -L 380.816921 121.720592 -L 382.588844 121.731712 -L 384.998073 121.438997 -L 388.438522 120.962476 -L 390.245443 120.925207 -L 392.654672 121.12985 -L 396.850974 121.558553 -L 399.232862 121.520274 -L 406.460549 121.090835 -L 410.486624 121.35273 -L 413.49816 121.46766 -L 417.023577 121.338766 -L 421.526683 121.173981 -L 425.742834 121.312889 -L 429.863 121.405762 -L 429.863 121.405762 + <g id="line2d_27"> + <path clip-path="url(#p575d5920f8)" d="M 66.832636 110.287982 +L 69.696756 110.307928 +L 78.240766 110.118152 +L 85.061658 110.259107 +L 94.123758 110.16973 +L 100.773403 110.228212 +L 109.365762 110.186552 +L 117.330607 110.204348 +L 126.495789 110.212783 +L 144.253331 110.21782 +L 150.644301 110.150212 +L 150.716518 108.561773 +L 151.04231 101.204751 +L 151.931962 85.205701 +L 152.209122 82.271309 +L 152.506375 81.348764 +L 152.902321 81.270891 +L 153.891709 81.337643 +L 155.037357 81.234028 +L 157.328653 80.682213 +L 160.192772 80.041862 +L 163.056892 79.4775 +L 163.331773 79.185153 +L 163.789945 78.077162 +L 165.074295 73.846798 +L 167.258679 66.821952 +L 168.977151 61.909716 +L 170.695622 57.530257 +L 172.414094 53.628887 +L 174.132566 50.152506 +L 176.423862 46.097275 +L 178.715157 42.616505 +L 181.006453 39.627771 +L 183.297748 37.060903 +L 185.589044 34.855986 +L 187.88034 32.961808 +L 190.171635 31.334422 +L 192.462931 29.936184 +L 194.754227 28.73481 +L 198.19117 27.24222 +L 201.628114 26.05334 +L 205.065057 25.106372 +L 209.647649 24.136408 +L 214.23024 23.420177 +L 219.958479 22.782277 +L 226.832366 22.276453 +L 234.353395 21.960923 +L 234.423738 23.055747 +L 234.5718 24.357829 +L 236.314717 33.686925 +L 238.033189 41.919231 +L 239.75166 49.269947 +L 241.470132 55.834181 +L 243.188604 61.693762 +L 244.907076 66.914446 +L 246.625547 71.537082 +L 248.344019 75.54861 +L 249.489667 77.8115 +L 250.635315 79.552087 +L 251.208139 80.069786 +L 251.780962 80.286656 +L 254.645082 80.393475 +L 260.373321 80.722603 +L 264.383089 81.146623 +L 267.247208 81.634944 +L 269.538504 82.22828 +L 271.256976 82.881771 +L 272.402623 83.491322 +L 273.548271 84.353325 +L 274.121095 84.946553 +L 274.693919 85.719123 +L 275.266743 86.762601 +L 275.839567 88.197332 +L 276.412391 90.134258 +L 277.558039 95.569168 +L 280.422158 112.072802 +L 280.994982 114.649106 +L 281.567806 116.705604 +L 282.14063 118.169179 +L 282.713454 118.995717 +L 283.286278 119.173017 +L 283.859102 118.722709 +L 284.431926 117.710583 +L 284.9516 116.359277 +L 286.097248 112.401319 +L 287.81572 106.019013 +L 288.388544 104.297447 +L 288.961368 102.947743 +L 289.534191 102.030777 +L 290.107015 101.577437 +L 290.679839 101.5895 +L 291.252663 102.042229 +L 291.825487 102.888151 +L 292.971135 105.483759 +L 295.835254 113.239576 +L 296.408078 114.34632 +L 296.980902 115.158681 +L 297.553726 115.643568 +L 298.12655 115.78623 +L 298.699374 115.590993 +L 299.272198 115.080983 +L 299.845022 114.296748 +L 300.99067 112.138416 +L 303.085829 107.796363 +L 303.658653 106.879594 +L 304.231477 106.17806 +L 304.804301 105.721648 +L 305.377125 105.524545 +L 305.949949 105.585486 +L 306.522773 105.888897 +L 307.095597 106.406713 +L 308.241245 107.925137 +L 310.941993 112.036 +L 311.514817 112.652856 +L 312.08764 113.100627 +L 312.660464 113.360919 +L 313.233288 113.426177 +L 313.806112 113.299884 +L 314.378936 112.996172 +L 315.524584 111.959564 +L 318.7542 108.300042 +L 319.327024 107.896034 +L 319.899848 107.631567 +L 320.472672 107.515392 +L 321.045496 107.547502 +L 321.61832 107.719623 +L 322.763967 108.415327 +L 324.482439 109.95367 +L 326.054995 111.279582 +L 327.200643 111.886028 +L 328.346291 112.061798 +L 329.491939 111.801053 +L 330.637587 111.19313 +L 334.024862 109.002905 +L 335.17051 108.663944 +L 336.316158 108.666735 +L 337.387611 108.952113 +L 339.0729 109.771573 +L 341.20011 110.844751 +L 342.345758 111.18741 +L 343.491406 111.276153 +L 344.637053 111.111056 +L 346.355525 110.519385 +L 348.646821 109.620236 +L 349.792469 109.345649 +L 350.938116 109.264876 +L 352.542253 109.471337 +L 354.781009 110.140394 +L 356.392484 110.594838 +L 358.110956 110.821833 +L 359.715774 110.729746 +L 361.955817 110.251264 +L 364.247112 109.76353 +L 365.965584 109.639557 +L 367.684056 109.771183 +L 373.367414 110.563338 +L 375.085886 110.479217 +L 381.386949 109.866338 +L 384.070298 110.070638 +L 387.507241 110.388774 +L 389.714439 110.385684 +L 398.006882 110.050898 +L 401.925364 110.287987 +L 401.925364 110.287987 " style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> </g> <g id="patch_3"> - <path d="M 59.906 148.04 -L 59.906 14.76 + <path d="M 50.078 126.413333 +L 50.078 13.32 " style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> <g id="patch_4"> - <path d="M 59.906 148.04 -L 447.48 148.04 + <path d="M 50.078 126.413333 +L 418.68 126.413333 " style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> </g> <g id="axes_2"> <g id="patch_5"> - <path d="M 59.906 300.76 -L 447.48 300.76 -L 447.48 167.48 -L 59.906 167.48 + <path d="M 50.078 256.786667 +L 418.68 256.786667 +L 418.68 143.693333 +L 50.078 143.693333 z " style="fill:#ffffff;"/> </g> <g id="matplotlib.axis_3"> <g id="xtick_10"> + <g id="line2d_28"> + <path clip-path="url(#pb7ef422ad4)" d="M 66.74514 256.786667 +L 66.74514 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_29"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="66.74514" xlink:href="#m71acad7e69" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_11"> + <g id="line2d_30"> + <path clip-path="url(#pb7ef422ad4)" d="M 108.643118 256.786667 +L 108.643118 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_31"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="108.643118" xlink:href="#m71acad7e69" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_12"> <g id="line2d_32"> - <path clip-path="url(#p17de413c00)" d="M 77.431 300.76 -L 77.431 167.48 + <path clip-path="url(#pb7ef422ad4)" d="M 150.541095 256.786667 +L 150.541095 143.693333 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> <g id="line2d_33"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="77.431" xlink:href="#ma3d4688e71" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="150.541095" xlink:href="#m71acad7e69" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_13"> + <g id="line2d_34"> + <path clip-path="url(#pb7ef422ad4)" d="M 192.439073 256.786667 +L 192.439073 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_35"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="192.439073" xlink:href="#m71acad7e69" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_14"> + <g id="line2d_36"> + <path clip-path="url(#pb7ef422ad4)" d="M 234.337051 256.786667 +L 234.337051 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_37"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="234.337051" xlink:href="#m71acad7e69" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_15"> + <g id="line2d_38"> + <path clip-path="url(#pb7ef422ad4)" d="M 276.235029 256.786667 +L 276.235029 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_39"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="276.235029" xlink:href="#m71acad7e69" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_16"> + <g id="line2d_40"> + <path clip-path="url(#pb7ef422ad4)" d="M 318.133007 256.786667 +L 318.133007 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_41"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="318.133007" xlink:href="#m71acad7e69" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_17"> + <g id="line2d_42"> + <path clip-path="url(#pb7ef422ad4)" d="M 360.030984 256.786667 +L 360.030984 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_43"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="360.030984" xlink:href="#m71acad7e69" y="256.786667"/> + </g> + </g> + </g> + <g id="xtick_18"> + <g id="line2d_44"> + <path clip-path="url(#pb7ef422ad4)" d="M 401.928962 256.786667 +L 401.928962 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_45"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="401.928962" xlink:href="#m71acad7e69" y="256.786667"/> + </g> + </g> + </g> + </g> + <g id="matplotlib.axis_4"> + <g id="ytick_5"> + <g id="line2d_46"> + <path clip-path="url(#pb7ef422ad4)" d="M 50.078 249.718333 +L 418.68 249.718333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_47"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#mbdd9d20e31" y="249.718333"/> + </g> + </g> + <g id="text_6"> + <!-- 0 --> + <g style="fill:#01769d;" transform="translate(36.7155 253.517552)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + </g> + </g> + </g> + <g id="ytick_6"> + <g id="line2d_48"> + <path clip-path="url(#pb7ef422ad4)" d="M 50.078 221.445 +L 418.68 221.445 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_49"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#mbdd9d20e31" y="221.445"/> + </g> + </g> + <g id="text_7"> + <!-- 2 --> + <g style="fill:#01769d;" transform="translate(36.7155 225.244219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-32"/> + </g> + </g> + </g> + <g id="ytick_7"> + <g id="line2d_50"> + <path clip-path="url(#pb7ef422ad4)" d="M 50.078 193.171667 +L 418.68 193.171667 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_51"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#mbdd9d20e31" y="193.171667"/> </g> </g> <g id="text_8"> + <!-- 4 --> + <defs> + <path d="M 37.796875 64.3125 +L 12.890625 25.390625 +L 37.796875 25.390625 +z +M 35.203125 72.90625 +L 47.609375 72.90625 +L 47.609375 25.390625 +L 58.015625 25.390625 +L 58.015625 17.1875 +L 47.609375 17.1875 +L 47.609375 0 +L 37.796875 0 +L 37.796875 17.1875 +L 4.890625 17.1875 +L 4.890625 26.703125 +z +" id="DejaVuSans-34"/> + </defs> + <g style="fill:#01769d;" transform="translate(36.7155 196.970885)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-34"/> + </g> + </g> + </g> + <g id="ytick_8"> + <g id="line2d_52"> + <path clip-path="url(#pb7ef422ad4)" d="M 50.078 164.898333 +L 418.68 164.898333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_53"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#mbdd9d20e31" y="164.898333"/> + </g> + </g> + <g id="text_9"> + <!-- 6 --> + <defs> + <path d="M 33.015625 40.375 +Q 26.375 40.375 22.484375 35.828125 +Q 18.609375 31.296875 18.609375 23.390625 +Q 18.609375 15.53125 22.484375 10.953125 +Q 26.375 6.390625 33.015625 6.390625 +Q 39.65625 6.390625 43.53125 10.953125 +Q 47.40625 15.53125 47.40625 23.390625 +Q 47.40625 31.296875 43.53125 35.828125 +Q 39.65625 40.375 33.015625 40.375 +M 52.59375 71.296875 +L 52.59375 62.3125 +Q 48.875 64.0625 45.09375 64.984375 +Q 41.3125 65.921875 37.59375 65.921875 +Q 27.828125 65.921875 22.671875 59.328125 +Q 17.53125 52.734375 16.796875 39.40625 +Q 19.671875 43.65625 24.015625 45.921875 +Q 28.375 48.1875 33.59375 48.1875 +Q 44.578125 48.1875 50.953125 41.515625 +Q 57.328125 34.859375 57.328125 23.390625 +Q 57.328125 12.15625 50.6875 5.359375 +Q 44.046875 -1.421875 33.015625 -1.421875 +Q 20.359375 -1.421875 13.671875 8.265625 +Q 6.984375 17.96875 6.984375 36.375 +Q 6.984375 53.65625 15.1875 63.9375 +Q 23.390625 74.21875 37.203125 74.21875 +Q 40.921875 74.21875 44.703125 73.484375 +Q 48.484375 72.75 52.59375 71.296875 +" id="DejaVuSans-36"/> + </defs> + <g style="fill:#01769d;" transform="translate(36.7155 168.697552)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-36"/> + </g> + </g> + </g> + <g id="text_10"> + <!-- $V_{drain}\;(V)$ --> + <defs> + <path d="M 41.796875 8.203125 +Q 38.1875 3.46875 33.25 1.015625 +Q 28.328125 -1.421875 22.3125 -1.421875 +Q 14.109375 -1.421875 9.34375 4.171875 +Q 4.59375 9.765625 4.59375 19.484375 +Q 4.59375 27.59375 7.46875 34.9375 +Q 10.359375 42.28125 15.828125 48.09375 +Q 19.4375 51.953125 23.96875 53.96875 +Q 28.515625 56 33.5 56 +Q 38.765625 56 42.796875 53.453125 +Q 46.828125 50.921875 49.03125 46.1875 +L 54.890625 75.984375 +L 63.921875 75.984375 +L 49.125 0 +L 40.09375 0 +z +M 13.921875 21.09375 +Q 13.921875 14.015625 17.109375 10.0625 +Q 20.3125 6.109375 25.984375 6.109375 +Q 30.171875 6.109375 33.765625 8.125 +Q 37.359375 10.15625 40.09375 14.109375 +Q 42.96875 18.21875 44.625 23.578125 +Q 46.296875 28.953125 46.296875 34.1875 +Q 46.296875 40.96875 43.09375 44.765625 +Q 39.890625 48.578125 34.28125 48.578125 +Q 30.03125 48.578125 26.359375 46.578125 +Q 22.703125 44.578125 20.125 40.828125 +Q 17.28125 36.765625 15.59375 31.390625 +Q 13.921875 26.03125 13.921875 21.09375 +" id="DejaVuSans-Oblique-64"/> + <path d="M 44.578125 46.390625 +Q 43.21875 47.125 41.453125 47.515625 +Q 39.703125 47.90625 37.703125 47.90625 +Q 30.515625 47.90625 25.140625 42.453125 +Q 19.78125 37.015625 18.015625 27.875 +L 12.5 0 +L 3.515625 0 +L 14.203125 54.6875 +L 23.1875 54.6875 +L 21.484375 46.1875 +Q 25.046875 50.921875 30 53.453125 +Q 34.96875 56 40.578125 56 +Q 42.046875 56 43.453125 55.828125 +Q 44.875 55.671875 46.296875 55.28125 +z +" id="DejaVuSans-Oblique-72"/> + <path d="M 18.3125 75.984375 +L 27.296875 75.984375 +L 25.09375 64.59375 +L 16.109375 64.59375 +z +M 14.203125 54.6875 +L 23.1875 54.6875 +L 12.5 0 +L 3.515625 0 +z +" id="DejaVuSans-Oblique-69"/> + <path d="M 55.71875 33.015625 +L 49.3125 0 +L 40.28125 0 +L 46.6875 32.671875 +Q 47.125 34.96875 47.359375 36.71875 +Q 47.609375 38.484375 47.609375 39.5 +Q 47.609375 43.609375 45.015625 45.890625 +Q 42.4375 48.1875 37.796875 48.1875 +Q 30.5625 48.1875 25.34375 43.375 +Q 20.125 38.578125 18.5 30.328125 +L 12.5 0 +L 3.515625 0 +L 14.109375 54.6875 +L 23.09375 54.6875 +L 21.296875 46.09375 +Q 25.046875 50.828125 30.3125 53.40625 +Q 35.59375 56 41.40625 56 +Q 48.640625 56 52.609375 52.09375 +Q 56.59375 48.1875 56.59375 41.109375 +Q 56.59375 39.359375 56.375 37.359375 +Q 56.15625 35.359375 55.71875 33.015625 +" id="DejaVuSans-Oblique-6e"/> + </defs> + <g style="fill:#01769d;" transform="translate(30.635813 221.49)rotate(-90)scale(0.1 -0.1)"> + <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> + <use transform="translate(68.408203 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-64"/> + <use transform="translate(112.841797 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-72"/> + <use transform="translate(141.621094 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-61"/> + <use transform="translate(184.516602 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-69"/> + <use transform="translate(203.964844 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-6e"/> + <use transform="translate(278.123589 0.125)" xlink:href="#DejaVuSans-28"/> + <use transform="translate(317.137261 0.125)" xlink:href="#DejaVuSans-Oblique-56"/> + <use transform="translate(385.545464 0.125)" xlink:href="#DejaVuSans-29"/> + </g> + </g> + </g> + <g id="line2d_54"> + <path clip-path="url(#pb7ef422ad4)" d="M 66.832636 183.798717 +L 69.696756 183.870108 +L 72.512527 183.713869 +L 77.095118 183.396982 +L 80.527523 183.427192 +L 85.061658 183.48805 +L 89.64425 183.262514 +L 93.654017 183.14426 +L 103.637523 183.046011 +L 109.365762 182.904107 +L 119.049078 182.779068 +L 126.495789 182.660942 +L 135.660972 182.508322 +L 150.782687 182.115931 +L 151.493893 180.81229 +L 151.786892 180.42544 +L 151.931962 180.418358 +L 152.084077 180.814312 +L 152.342269 183.010683 +L 154.464533 209.350248 +L 155.610181 219.180009 +L 156.755829 226.414392 +L 157.901477 231.864261 +L 159.047125 236.221687 +L 160.765596 241.650386 +L 162.484068 246.38427 +L 163.331773 248.366187 +L 163.789945 248.847703 +L 164.31461 249.089769 +L 165.568566 249.331624 +L 168.404327 249.484358 +L 176.423862 249.568275 +L 211.938944 249.609182 +L 242.042956 249.513387 +L 246.625547 249.300654 +L 248.916843 248.977238 +L 250.062491 248.615693 +L 250.635315 248.311977 +L 251.208139 247.849903 +L 252.353786 246.431621 +L 255.79073 241.515732 +L 258.082026 237.943051 +L 260.373321 233.936484 +L 262.091793 230.471318 +L 263.810265 226.40861 +L 265.528736 221.520433 +L 266.674384 217.690231 +L 268.392856 210.960994 +L 270.111328 203.006376 +L 271.8298 193.96742 +L 274.693919 178.285629 +L 275.266743 175.708784 +L 275.839567 173.718426 +L 276.412391 172.5556 +L 276.985215 172.388674 +L 277.558039 173.251379 +L 278.130863 175.053648 +L 278.703687 177.630579 +L 279.849334 184.284962 +L 281.567806 194.739776 +L 282.14063 197.551913 +L 282.713454 199.770281 +L 283.286278 201.296263 +L 283.859102 202.073724 +L 284.431926 202.106323 +L 284.9516 201.48455 +L 285.524424 200.143743 +L 286.097248 198.243945 +L 287.242896 193.237006 +L 288.961368 184.996277 +L 290.107015 180.735217 +L 290.679839 179.314001 +L 291.252663 178.450279 +L 291.825487 178.165355 +L 292.398311 178.446646 +L 292.971135 179.249934 +L 293.543959 180.503531 +L 294.689607 183.97127 +L 296.980902 191.531912 +L 297.553726 192.921589 +L 298.12655 193.949706 +L 298.699374 194.572455 +L 299.272198 194.770255 +L 299.845022 194.547772 +L 300.417846 193.932516 +L 300.99067 192.972509 +L 302.006278 190.641175 +L 304.231477 184.696438 +L 305.377125 182.448751 +L 305.949949 181.742992 +L 306.522773 181.356396 +L 307.095597 181.295707 +L 307.668421 181.549022 +L 308.241245 182.08729 +L 309.386892 183.826779 +L 312.08764 188.910027 +L 312.660464 189.699631 +L 313.233288 190.281298 +L 313.806112 190.629654 +L 314.378936 190.733275 +L 314.95176 190.594779 +L 315.524584 190.230081 +L 316.097408 189.667003 +L 317.140092 188.266187 +L 319.327024 184.872383 +L 320.472672 183.564883 +L 321.045496 183.152488 +L 321.61832 182.924365 +L 322.191143 182.884527 +L 322.763967 183.026262 +L 323.336791 183.3329 +L 324.482439 184.330906 +L 327.200643 187.271644 +L 328.346291 188.049981 +L 328.919115 188.242098 +L 329.491939 188.291463 +L 330.064763 188.199744 +L 331.21041 187.637939 +L 332.356058 186.708948 +L 334.597686 184.677255 +L 335.743334 183.955182 +L 336.888982 183.632711 +L 337.927252 183.720344 +L 339.0729 184.170992 +L 340.627286 185.131395 +L 342.345758 186.174427 +L 343.491406 186.606033 +L 344.637053 186.720201 +L 345.782701 186.508603 +L 346.928349 186.033837 +L 350.365293 184.262061 +L 351.51094 183.961091 +L 352.542253 183.903852 +L 353.635361 184.065717 +L 355.280122 184.590314 +L 357.538132 185.384767 +L 358.68378 185.61306 +L 359.715774 185.659909 +L 360.810169 185.531661 +L 362.528641 185.065066 +L 365.39276 184.163585 +L 367.111232 183.926569 +L 368.810826 184.017397 +L 371.076119 184.456581 +L 373.367414 184.846499 +L 375.085886 184.883311 +L 376.804358 184.676011 +L 381.959773 183.815738 +L 384.070298 183.860367 +L 389.714439 184.326284 +L 391.81423 184.183546 +L 397.434058 183.612354 +L 400.298178 183.695152 +L 401.925364 183.798618 +L 401.925364 183.798618 +" style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> + </g> + <g id="patch_6"> + <path d="M 50.078 256.786667 +L 50.078 143.693333 +" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + <g id="patch_7"> + <path d="M 50.078 256.786667 +L 418.68 256.786667 +" style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> + </g> + </g> + <g id="axes_3"> + <g id="patch_8"> + <path d="M 50.078 387.16 +L 418.68 387.16 +L 418.68 274.066667 +L 50.078 274.066667 +z +" style="fill:#ffffff;"/> + </g> + <g id="matplotlib.axis_5"> + <g id="xtick_19"> + <g id="line2d_55"> + <path clip-path="url(#p122f759c81)" d="M 66.74514 387.16 +L 66.74514 274.066667 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_56"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="66.74514" xlink:href="#m71acad7e69" y="387.16"/> + </g> + </g> + <g id="text_11"> <!-- 0.0 --> - <g style="fill:#01769d;" transform="translate(69.479437 315.358437)scale(0.1 -0.1)"> + <defs> + <path d="M 10.6875 12.40625 +L 21 12.40625 +L 21 0 +L 10.6875 0 +z +" id="DejaVuSans-2e"/> + </defs> + <g style="fill:#01769d;" transform="translate(58.793577 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-30"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="xtick_11"> - <g id="line2d_34"> - <path clip-path="url(#p17de413c00)" d="M 121.485473 300.76 -L 121.485473 167.48 + <g id="xtick_20"> + <g id="line2d_57"> + <path clip-path="url(#p122f759c81)" d="M 108.643118 387.16 +L 108.643118 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_35"> + <g id="line2d_58"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="121.485473" xlink:href="#ma3d4688e71" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="108.643118" xlink:href="#m71acad7e69" y="387.16"/> </g> </g> - <g id="text_9"> + <g id="text_12"> <!-- 0.5 --> <defs> <path d="M 10.796875 72.90625 @@ -801,154 +1248,154 @@ Q 14.890625 38.140625 10.796875 36.28125 z " id="DejaVuSans-35"/> </defs> - <g style="fill:#01769d;" transform="translate(113.53391 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(100.691555 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-30"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-35"/> </g> </g> </g> - <g id="xtick_12"> - <g id="line2d_36"> - <path clip-path="url(#p17de413c00)" d="M 165.539946 300.76 -L 165.539946 167.48 + <g id="xtick_21"> + <g id="line2d_59"> + <path clip-path="url(#p122f759c81)" d="M 150.541095 387.16 +L 150.541095 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_37"> + <g id="line2d_60"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="165.539946" xlink:href="#ma3d4688e71" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="150.541095" xlink:href="#m71acad7e69" y="387.16"/> </g> </g> - <g id="text_10"> + <g id="text_13"> <!-- 1.0 --> - <g style="fill:#01769d;" transform="translate(157.588383 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(142.589533 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-31"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="xtick_13"> - <g id="line2d_38"> - <path clip-path="url(#p17de413c00)" d="M 209.594419 300.76 -L 209.594419 167.48 + <g id="xtick_22"> + <g id="line2d_61"> + <path clip-path="url(#p122f759c81)" d="M 192.439073 387.16 +L 192.439073 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_39"> + <g id="line2d_62"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="209.594419" xlink:href="#ma3d4688e71" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="192.439073" xlink:href="#m71acad7e69" y="387.16"/> </g> </g> - <g id="text_11"> + <g id="text_14"> <!-- 1.5 --> - <g style="fill:#01769d;" transform="translate(201.642856 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(184.487511 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-31"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-35"/> </g> </g> </g> - <g id="xtick_14"> - <g id="line2d_40"> - <path clip-path="url(#p17de413c00)" d="M 253.648892 300.76 -L 253.648892 167.48 + <g id="xtick_23"> + <g id="line2d_63"> + <path clip-path="url(#p122f759c81)" d="M 234.337051 387.16 +L 234.337051 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_41"> + <g id="line2d_64"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="253.648892" xlink:href="#ma3d4688e71" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="234.337051" xlink:href="#m71acad7e69" y="387.16"/> </g> </g> - <g id="text_12"> + <g id="text_15"> <!-- 2.0 --> - <g style="fill:#01769d;" transform="translate(245.697329 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(226.385488 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-32"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="xtick_15"> - <g id="line2d_42"> - <path clip-path="url(#p17de413c00)" d="M 297.703365 300.76 -L 297.703365 167.48 + <g id="xtick_24"> + <g id="line2d_65"> + <path clip-path="url(#p122f759c81)" d="M 276.235029 387.16 +L 276.235029 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_43"> + <g id="line2d_66"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="297.703365" xlink:href="#ma3d4688e71" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="276.235029" xlink:href="#m71acad7e69" y="387.16"/> </g> </g> - <g id="text_13"> + <g id="text_16"> <!-- 2.5 --> - <g style="fill:#01769d;" transform="translate(289.751802 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(268.283466 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-32"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-35"/> </g> </g> </g> - <g id="xtick_16"> - <g id="line2d_44"> - <path clip-path="url(#p17de413c00)" d="M 341.757838 300.76 -L 341.757838 167.48 + <g id="xtick_25"> + <g id="line2d_67"> + <path clip-path="url(#p122f759c81)" d="M 318.133007 387.16 +L 318.133007 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_45"> + <g id="line2d_68"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="341.757838" xlink:href="#ma3d4688e71" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="318.133007" xlink:href="#m71acad7e69" y="387.16"/> </g> </g> - <g id="text_14"> + <g id="text_17"> <!-- 3.0 --> - <g style="fill:#01769d;" transform="translate(333.806275 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(310.181444 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-33"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="xtick_17"> - <g id="line2d_46"> - <path clip-path="url(#p17de413c00)" d="M 385.812311 300.76 -L 385.812311 167.48 + <g id="xtick_26"> + <g id="line2d_69"> + <path clip-path="url(#p122f759c81)" d="M 360.030984 387.16 +L 360.030984 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_47"> + <g id="line2d_70"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="385.812311" xlink:href="#ma3d4688e71" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="360.030984" xlink:href="#m71acad7e69" y="387.16"/> </g> </g> - <g id="text_15"> + <g id="text_18"> <!-- 3.5 --> - <g style="fill:#01769d;" transform="translate(377.860748 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(352.079422 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-33"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-35"/> </g> </g> </g> - <g id="xtick_18"> - <g id="line2d_48"> - <path clip-path="url(#p17de413c00)" d="M 429.866784 300.76 -L 429.866784 167.48 + <g id="xtick_27"> + <g id="line2d_71"> + <path clip-path="url(#p122f759c81)" d="M 401.928962 387.16 +L 401.928962 274.066667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_49"> + <g id="line2d_72"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="429.866784" xlink:href="#ma3d4688e71" y="300.76"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="401.928962" xlink:href="#m71acad7e69" y="387.16"/> </g> </g> - <g id="text_16"> + <g id="text_19"> <!-- 4.0 --> - <g style="fill:#01769d;" transform="translate(421.915221 315.358437)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(393.9774 401.758438)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-34"/> <use x="63.623047" xlink:href="#DejaVuSans-2e"/> <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="text_17"> + <g id="text_20"> <!-- $t\;(\mu s)$ --> <defs> <path d="M -1.3125 -20.796875 @@ -1013,7 +1460,7 @@ Q 37.453125 56 41.671875 55.265625 Q 45.90625 54.546875 50 53.078125 " id="DejaVuSans-Oblique-73"/> </defs> - <g style="fill:#01769d;" transform="translate(240.643 329.038125)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(221.329 415.438125)scale(0.1 -0.1)"> <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-74"/> <use transform="translate(66.26812 0.125)" xlink:href="#DejaVuSans-28"/> <use transform="translate(105.281792 0.125)" xlink:href="#DejaVuSans-Oblique-3bc"/> @@ -1022,110 +1469,137 @@ Q 45.90625 54.546875 50 53.078125 </g> </g> </g> - <g id="matplotlib.axis_4"> - <g id="ytick_7"> - <g id="line2d_50"> - <path clip-path="url(#p17de413c00)" d="M 59.906 292.43 -L 447.48 292.43 + <g id="matplotlib.axis_6"> + <g id="ytick_9"> + <g id="line2d_73"> + <path clip-path="url(#p122f759c81)" d="M 50.078 387.16 +L 418.68 387.16 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_51"> + <g id="line2d_74"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0a3baca114" y="292.43"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#mbdd9d20e31" y="387.16"/> </g> </g> - <g id="text_18"> - <!-- 0 --> - <g style="fill:#01769d;" transform="translate(46.5435 296.229219)scale(0.1 -0.1)"> + <g id="text_21"> + <!-- −0.1 --> + <defs> + <path d="M 10.59375 35.5 +L 73.1875 35.5 +L 73.1875 27.203125 +L 10.59375 27.203125 +z +" id="DejaVuSans-2212"/> + </defs> + <g style="fill:#01769d;" transform="translate(18.795188 390.959219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-2212"/> + <use x="83.789062" xlink:href="#DejaVuSans-30"/> + <use x="147.412109" xlink:href="#DejaVuSans-2e"/> + <use x="179.199219" xlink:href="#DejaVuSans-31"/> + </g> + </g> + </g> + <g id="ytick_10"> + <g id="line2d_75"> + <path clip-path="url(#p122f759c81)" d="M 50.078 364.541333 +L 418.68 364.541333 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_76"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#mbdd9d20e31" y="364.541333"/> + </g> + </g> + <g id="text_22"> + <!-- 0.0 --> + <g style="fill:#01769d;" transform="translate(27.174875 368.340552)scale(0.1 -0.1)"> <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-30"/> </g> </g> </g> - <g id="ytick_8"> - <g id="line2d_52"> - <path clip-path="url(#p17de413c00)" d="M 59.906 259.11 -L 447.48 259.11 + <g id="ytick_11"> + <g id="line2d_77"> + <path clip-path="url(#p122f759c81)" d="M 50.078 341.922667 +L 418.68 341.922667 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_53"> + <g id="line2d_78"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0a3baca114" y="259.11"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#mbdd9d20e31" y="341.922667"/> </g> </g> - <g id="text_19"> - <!-- 2 --> - <g style="fill:#01769d;" transform="translate(46.5435 262.909219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-32"/> + <g id="text_23"> + <!-- 0.1 --> + <g style="fill:#01769d;" transform="translate(27.174875 345.721885)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-31"/> </g> </g> </g> - <g id="ytick_9"> - <g id="line2d_54"> - <path clip-path="url(#p17de413c00)" d="M 59.906 225.79 -L 447.48 225.79 + <g id="ytick_12"> + <g id="line2d_79"> + <path clip-path="url(#p122f759c81)" d="M 50.078 319.304 +L 418.68 319.304 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_55"> + <g id="line2d_80"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0a3baca114" y="225.79"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#mbdd9d20e31" y="319.304"/> </g> </g> - <g id="text_20"> - <!-- 4 --> - <g style="fill:#01769d;" transform="translate(46.5435 229.589219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-34"/> + <g id="text_24"> + <!-- 0.2 --> + <g style="fill:#01769d;" transform="translate(27.174875 323.103219)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-32"/> </g> </g> </g> - <g id="ytick_10"> - <g id="line2d_56"> - <path clip-path="url(#p17de413c00)" d="M 59.906 192.47 -L 447.48 192.47 + <g id="ytick_13"> + <g id="line2d_81"> + <path clip-path="url(#p122f759c81)" d="M 50.078 296.685333 +L 418.68 296.685333 " style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> </g> - <g id="line2d_57"> + <g id="line2d_82"> <g> - <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="59.906" xlink:href="#m0a3baca114" y="192.47"/> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#mbdd9d20e31" y="296.685333"/> </g> </g> - <g id="text_21"> - <!-- 6 --> - <defs> - <path d="M 33.015625 40.375 -Q 26.375 40.375 22.484375 35.828125 -Q 18.609375 31.296875 18.609375 23.390625 -Q 18.609375 15.53125 22.484375 10.953125 -Q 26.375 6.390625 33.015625 6.390625 -Q 39.65625 6.390625 43.53125 10.953125 -Q 47.40625 15.53125 47.40625 23.390625 -Q 47.40625 31.296875 43.53125 35.828125 -Q 39.65625 40.375 33.015625 40.375 -M 52.59375 71.296875 -L 52.59375 62.3125 -Q 48.875 64.0625 45.09375 64.984375 -Q 41.3125 65.921875 37.59375 65.921875 -Q 27.828125 65.921875 22.671875 59.328125 -Q 17.53125 52.734375 16.796875 39.40625 -Q 19.671875 43.65625 24.015625 45.921875 -Q 28.375 48.1875 33.59375 48.1875 -Q 44.578125 48.1875 50.953125 41.515625 -Q 57.328125 34.859375 57.328125 23.390625 -Q 57.328125 12.15625 50.6875 5.359375 -Q 44.046875 -1.421875 33.015625 -1.421875 -Q 20.359375 -1.421875 13.671875 8.265625 -Q 6.984375 17.96875 6.984375 36.375 -Q 6.984375 53.65625 15.1875 63.9375 -Q 23.390625 74.21875 37.203125 74.21875 -Q 40.921875 74.21875 44.703125 73.484375 -Q 48.484375 72.75 52.59375 71.296875 -" id="DejaVuSans-36"/> - </defs> - <g style="fill:#01769d;" transform="translate(46.5435 196.269219)scale(0.1 -0.1)"> - <use xlink:href="#DejaVuSans-36"/> + <g id="text_25"> + <!-- 0.3 --> + <g style="fill:#01769d;" transform="translate(27.174875 300.484552)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-33"/> + </g> + </g> + </g> + <g id="ytick_14"> + <g id="line2d_83"> + <path clip-path="url(#p122f759c81)" d="M 50.078 274.066667 +L 418.68 274.066667 +" style="fill:none;stroke:#08bdf9;stroke-dasharray:2.2,2.2;stroke-dashoffset:0;stroke-width:0.8;"/> + </g> + <g id="line2d_84"> + <g> + <use style="fill:#01769d;stroke:#01769d;stroke-width:0.8;" x="50.078" xlink:href="#mbdd9d20e31" y="274.066667"/> + </g> + </g> + <g id="text_26"> + <!-- 0.4 --> + <g style="fill:#01769d;" transform="translate(27.174875 277.865885)scale(0.1 -0.1)"> + <use xlink:href="#DejaVuSans-30"/> + <use x="63.623047" xlink:href="#DejaVuSans-2e"/> + <use x="95.410156" xlink:href="#DejaVuSans-34"/> </g> </g> </g> - <g id="text_22"> + <g id="text_27"> <!-- $I_{LED}\;(A)$ --> <defs> <path d="M 16.890625 72.90625 @@ -1175,8 +1649,22 @@ Q 61.8125 54.984375 55.953125 59.890625 Q 50.09375 64.796875 37.59375 64.796875 z " id="DejaVuSans-Oblique-44"/> + <path d="M 36.8125 72.90625 +L 48 72.90625 +L 61.53125 0 +L 51.21875 0 +L 48.1875 18.703125 +L 15.375 18.703125 +L 5.078125 0 +L -5.328125 0 +z +M 40.375 63.1875 +L 19.921875 26.90625 +L 46.6875 26.90625 +z +" id="DejaVuSans-Oblique-41"/> </defs> - <g style="fill:#01769d;" transform="translate(40.463813 251.27)rotate(-90)scale(0.1 -0.1)"> + <g style="fill:#01769d;" transform="translate(12.7155 347.763333)rotate(-90)scale(0.1 -0.1)"> <use transform="translate(0 0.125)" xlink:href="#DejaVuSans-Oblique-49"/> <use transform="translate(29.492188 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-4c"/> <use transform="translate(68.491211 -16.28125)scale(0.7)" xlink:href="#DejaVuSans-Oblique-45"/> @@ -1187,184 +1675,163 @@ z </g> </g> </g> - <g id="line2d_58"> - <path clip-path="url(#p17de413c00)" d="M 77.523 214.74402 -L 80.534536 214.828153 -L 83.495235 214.644027 -L 88.313693 214.270576 -L 91.320457 214.28597 -L 96.690272 214.3779 -L 100.906423 214.150091 -L 105.122574 213.976577 -L 117.426854 213.80238 -L 122.847619 213.688659 -L 131.222416 213.583734 -L 139.05241 213.409338 -L 148.689326 213.25345 -L 158.326242 213.111407 -L 165.724397 212.911004 -L 167.0024 210.760281 -L 167.162345 211.226911 -L 167.433826 213.815325 -L 169.063016 237.667547 -L 170.267631 251.088577 -L 171.472245 261.025833 -L 172.67686 268.383739 -L 173.881474 274.077227 -L 175.086089 278.787777 -L 176.893011 284.846598 -L 178.699932 290.195329 -L 179.253883 291.210389 -L 179.714706 291.554314 -L 180.411813 291.809602 -L 181.913371 292.033438 -L 184.924908 292.169984 -L 193.959516 292.258556 -L 232.50718 292.301905 -L 261.149114 292.20426 -L 265.967572 291.990207 -L 268.376801 291.690306 -L 269.581415 291.377799 -L 270.78603 290.772615 -L 271.388337 290.228063 -L 272.592951 288.556623 -L 276.206795 282.76327 -L 278.616024 278.552881 -L 280.422946 275.075861 -L 282.229867 271.174772 -L 284.036789 266.6498 -L 285.241404 263.161295 -L 286.446018 259.198898 -L 287.650633 254.685021 -L 288.855247 249.558872 -L 290.662169 240.661382 -L 292.469091 230.396407 -L 296.685241 205.210069 -L 297.287549 202.864441 -L 297.889856 201.494056 -L 298.492163 201.297334 -L 299.09447 202.314027 -L 299.696778 204.437994 -L 300.299085 207.474896 -L 301.503699 215.317058 -L 303.310621 227.63801 -L 303.912928 230.952101 -L 304.515235 233.566438 -L 305.117543 235.364802 -L 305.71985 236.281035 -L 306.322157 236.319453 -L 306.868579 235.586696 -L 307.470887 234.006562 -L 308.073194 231.767658 -L 309.277808 225.867003 -L 311.08473 216.155339 -L 312.289345 211.133698 -L 312.891652 209.458802 -L 313.493959 208.440909 -L 314.096266 208.105127 -L 314.698574 208.436627 -L 315.300881 209.383299 -L 315.903188 210.860657 -L 317.107803 214.947372 -L 318.914724 221.872384 -L 320.119339 225.495285 -L 320.721646 226.706916 -L 321.323953 227.440823 -L 321.926261 227.673929 -L 322.528568 227.411734 -L 323.130875 226.686658 -L 323.733182 225.555294 -L 324.801064 222.807827 -L 327.140795 215.80198 -L 327.743102 214.330586 -L 328.345409 213.15309 -L 328.947716 212.321356 -L 329.550024 211.865755 -L 330.152331 211.794234 -L 330.754638 212.092764 -L 331.356945 212.727111 -L 331.959253 213.645526 -L 333.046007 215.800947 -L 334.799009 219.637562 -L 336.003623 221.698221 -L 336.60593 222.383713 -L 337.208238 222.794249 -L 337.810545 222.916367 -L 338.412852 222.753149 -L 339.015159 222.323354 -L 339.617467 221.659769 -L 340.713818 220.008913 -L 343.013311 216.00933 -L 344.217926 214.468447 -L 344.820233 213.982442 -L 345.42254 213.713599 -L 346.024848 213.666651 -L 346.627155 213.833684 -L 347.229462 214.195056 -L 348.434077 215.371203 -L 351.292187 218.836849 -L 352.496801 219.754115 -L 353.099109 219.980525 -L 353.701416 220.038701 -L 354.303723 219.930611 -L 354.90603 219.667433 -L 356.110645 218.760013 -L 359.672264 215.301247 -L 360.876879 214.676181 -L 362.003479 214.544683 -L 363.173203 214.871103 -L 364.377818 215.564092 -L 367.216823 217.543783 -L 368.421437 218.05243 -L 369.626052 218.186976 -L 370.830666 217.937609 -L 372.035281 217.378099 -L 375.649124 215.290068 -L 376.853739 214.935377 -L 377.938133 214.867921 -L 379.087504 215.058678 -L 380.816921 215.676914 -L 383.191151 216.613172 -L 384.395766 216.882215 -L 385.480877 216.937426 -L 386.6316 216.786286 -L 388.438522 216.236406 -L 391.450058 215.174015 -L 392.654672 214.943707 -L 393.859287 214.890262 -L 395.646359 215.107541 -L 400.437476 216.027623 -L 402.244398 215.96903 -L 404.05132 215.650857 -L 407.665163 214.881748 -L 409.472085 214.74442 -L 411.088931 214.816674 -L 417.023577 215.365755 -L 419.231445 215.197539 -L 425.140526 214.524391 -L 427.549755 214.582568 -L 429.863 214.743904 -L 429.863 214.743904 + <g id="line2d_85"> + <path clip-path="url(#p122f759c81)" d="M 66.832636 364.559786 +L 79.954699 364.522827 +L 85.634482 364.478326 +L 91.935545 364.471166 +L 100.20058 364.49019 +L 109.365762 364.500838 +L 127.641437 364.504204 +L 151.493893 364.533202 +L 152.675995 364.642224 +L 152.902321 364.537873 +L 153.354975 364.106952 +L 153.891709 363.260778 +L 154.464533 361.971801 +L 155.610181 358.455496 +L 157.328653 351.811034 +L 158.474301 346.341302 +L 159.619948 338.928566 +L 160.765596 331.48275 +L 161.911244 325.909849 +L 164.021992 317.623049 +L 165.568566 312.294995 +L 167.258679 307.402261 +L 168.977151 303.358405 +L 170.695622 300.092881 +L 172.414094 297.454481 +L 174.132566 295.320681 +L 175.851038 293.593475 +L 177.569509 292.194397 +L 179.287981 291.060501 +L 181.006453 290.141052 +L 183.297748 289.179306 +L 185.589044 288.451279 +L 189.025988 287.676545 +L 192.462931 287.165385 +L 197.045522 286.742891 +L 202.773762 286.45672 +L 211.938944 286.262923 +L 229.123662 286.176362 +L 244.907076 286.251388 +L 249.489667 286.470223 +L 251.208139 286.706588 +L 252.353786 287.033044 +L 253.499434 287.59946 +L 254.645082 288.428118 +L 255.79073 289.502278 +L 257.509202 291.530788 +L 259.227673 294.018819 +L 260.946145 296.949022 +L 262.664617 300.341098 +L 264.383089 304.259375 +L 266.10156 308.818009 +L 267.820032 314.175828 +L 269.538504 320.512538 +L 271.256976 327.983303 +L 272.975447 336.648152 +L 275.266743 349.716179 +L 276.985215 359.523452 +L 278.130863 364.94699 +L 278.703687 367.050949 +L 279.27651 368.667363 +L 279.849334 369.772167 +L 280.422158 370.371885 +L 280.994982 370.498905 +L 281.567806 370.204916 +L 282.14063 369.55467 +L 283.286278 367.481468 +L 286.097248 361.449624 +L 286.670072 360.582852 +L 287.242896 359.950006 +L 287.81572 359.574304 +L 288.388544 359.463983 +L 288.961368 359.612613 +L 289.534191 360.00081 +L 290.107015 360.598929 +L 291.252663 362.269786 +L 293.543959 366.105028 +L 294.116783 366.840887 +L 294.689607 367.393163 +L 295.262431 367.736424 +L 295.835254 367.860966 +L 296.408078 367.771919 +L 296.980902 367.487186 +L 298.12655 366.450309 +L 301.563494 362.452152 +L 302.513005 361.866036 +L 303.085829 361.709784 +L 303.658653 361.700852 +L 304.231477 361.838011 +L 305.377125 362.492175 +L 306.522773 363.497467 +L 308.814068 365.597219 +L 309.847626 366.197134 +L 310.941993 366.410982 +L 312.08764 366.188291 +L 313.233288 365.592293 +L 316.670232 363.296127 +L 317.608552 362.962751 +L 318.7542 362.87342 +L 319.899848 363.115246 +L 321.045496 363.616039 +L 323.909615 365.132055 +L 324.954968 365.475381 +L 326.054995 365.592852 +L 327.200643 365.458259 +L 328.346291 365.109222 +L 331.783234 363.776677 +L 332.879214 363.566013 +L 334.024862 363.546264 +L 335.17051 363.717018 +L 337.387611 364.37947 +L 339.0729 364.87557 +L 340.627286 365.111634 +L 341.772934 365.100012 +L 343.491406 364.829669 +L 347.501173 363.977384 +L 349.219645 363.931591 +L 350.938116 364.129754 +L 355.280122 364.826945 +L 356.965308 364.83638 +L 359.256604 364.588001 +L 362.528641 364.183654 +L 364.819936 364.176111 +L 368.238002 364.518509 +L 371.076119 364.700698 +L 373.367414 364.620311 +L 379.095654 364.282097 +L 382.532597 364.450752 +L 386.361594 364.612322 +L 390.178993 364.478606 +L 393.997115 364.363124 +L 398.579706 364.503161 +L 401.925364 364.5598 +L 401.925364 364.5598 " style="fill:none;stroke:#fe3ea0;stroke-linecap:square;stroke-width:1.5;"/> </g> - <g id="patch_6"> - <path d="M 59.906 300.76 -L 59.906 167.48 + <g id="patch_9"> + <path d="M 50.078 387.16 +L 50.078 274.066667 " style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> - <g id="patch_7"> - <path d="M 59.906 300.76 -L 447.48 300.76 + <g id="patch_10"> + <path d="M 50.078 387.16 +L 418.68 387.16 " style="fill:none;stroke:#08bdf9;stroke-linecap:square;stroke-linejoin:miter;stroke-width:0.8;"/> </g> </g> </g> <defs> - <clipPath id="pd91fca6433"> - <rect height="133.28" width="387.574" x="59.906" y="14.76"/> + <clipPath id="p575d5920f8"> + <rect height="113.093333" width="368.602" x="50.078" y="13.32"/> + </clipPath> + <clipPath id="pb7ef422ad4"> + <rect height="113.093333" width="368.602" x="50.078" y="143.693333"/> </clipPath> - <clipPath id="p17de413c00"> - <rect height="133.28" width="387.574" x="59.906" y="167.48"/> + <clipPath id="p122f759c81"> + <rect height="113.093333" width="368.602" x="50.078" y="274.066667"/> </clipPath> </defs> </svg> |