From 1c1ec0c4055a31f39e6131fc6e2dabcf08fc4cab Mon Sep 17 00:00:00 2001 From: Rolfes <alois.rolfes@hs-hannover.de> Date: Sun, 23 Jan 2022 11:43:52 +0100 Subject: [PATCH] Only Voila and calc crystal --- .gitignore | 7 + Balance_Binary.ipynb | 413 ++- Balance_Crystal.ipynb | 352 +++ binary_balance_1.jpg | Bin 0 -> 127315 bytes nowo1_base.py | 396 ++- nowo1_gui_base.py | 40 +- nowo1_gui_elements.py | 44 + nowo1_log_base.py | 103 +- nowo1_sim_binary.py | 172 +- pics/Knotenmodell_Basis_Vers_1.svg | 2642 ++++++++++++++++++ pics/Knotenmodell_Kristallisation_Vers_1.svg | 669 +++++ pics/Knotenmodell_Kristallisation_Vers_2.svg | 657 +++++ requirements.txt | 3 +- 13 files changed, 5160 insertions(+), 338 deletions(-) create mode 100644 Balance_Crystal.ipynb create mode 100644 binary_balance_1.jpg create mode 100644 nowo1_gui_elements.py create mode 100644 pics/Knotenmodell_Basis_Vers_1.svg create mode 100644 pics/Knotenmodell_Kristallisation_Vers_1.svg create mode 100644 pics/Knotenmodell_Kristallisation_Vers_2.svg diff --git a/.gitignore b/.gitignore index 5d56339..931c1c3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,9 @@ .ipynb_checkpoints/nowo1_base-checkpoint.py __pycache__/nowo1_base.cpython-39.pyc +Readme_Template.ipynb +README_vers_1.md +.ipynb_checkpoints/Readme_Template-checkpoint.ipynb +.ipynb_checkpoints/README_vers_1-checkpoint.md +nowo1_log_base.py +Balance_Binary_doc.ipynb +Balance_Binary.ipynb diff --git a/Balance_Binary.ipynb b/Balance_Binary.ipynb index f5b6b87..bf1b3ba 100644 --- a/Balance_Binary.ipynb +++ b/Balance_Binary.ipynb @@ -1,5 +1,31 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": 3, + "id": "28ffafab-45ee-4719-917f-0cb2bacb4915", + "metadata": { + "extensions": { + "jupyter_dashboards": { + "activeView": "grid_default", + "views": { + "grid_default": { + "col": null, + "height": 2, + "hidden": true, + "row": null, + "width": 2 + } + } + } + } + }, + "outputs": [], + "source": [ + "import markdown \n", + "import ipywidgets as widgets" + ] + }, { "cell_type": "markdown", "id": "valued-saskatchewan", @@ -24,32 +50,34 @@ "tags": [] }, "source": [ - "## Binäre Bilanz " + "### Binäres Bilanzsystem (Knoten)\n", + "###### Bilanzknoten besteht aus drei Größen. Zwei (binär) Angaben sind zur vollstädigen Beschreibung notwendig" ] }, { - "cell_type": "markdown", - "id": "genuine-country", + "cell_type": "code", + "execution_count": 4, + "id": "a1eec605-ec6c-4349-9baa-960c7e6030d3", "metadata": { "extensions": { "jupyter_dashboards": { "activeView": "grid_default", "views": { "grid_default": { - "col": 0, - "height": 11, - "hidden": false, - "row": 2, - "width": 6 + "col": null, + "height": 2, + "hidden": true, + "row": null, + "width": 2 } } } }, "tags": [] }, + "outputs": [], "source": [ - "### Kennzeichen einer binären Bilanz\n", - "\n", + "html_kennzeichen = markdown.markdown(r'''\n", "* Nur __extensive__ Größen lassen sich bilanzieren\n", " * Beispiele: \n", " * Masse m, Stoffmenge n, Teilchenzahl N \n", @@ -59,78 +87,221 @@ " * Enthalpie H \n", " * elektrische Ladung Q\n", "\n", - "\n", - "* eine binäre Bilanz summiert __zwei__ (binär) Größen zu einer Dritten\n", - " * Beispiele:\n", - " * $ m_{AB} = m_A + m_B $\n", - " * $ n_{AB} = n_A + n_B $\n", - " * $H_{AB} = H_A + H_B $\n", + "----\n", + "* eine binäre Bilanz summiert Größen zu einer dritten Größe oder zu 0\n", + " * Beispiele summieren von Größen zu einer dritten Größe:\n", + " * $ m_{C} = m_A + m_B $\n", + " * $ n_{C} = n_A + n_B $\n", + " * $ H_{C} = H_A + H_B $\n", + " * Beispiele summieren von Größen zu 0: \n", + " * $ 0 = m_A + m_B + m_{C}$\n", + " * $ 0 = n_A + n_B + n_{C}$\n", + " * $ 0 = H_A + H_B + H_{C}$\n", "\n", "\n", + "----\n", "* Gehaltsangaben erweitern die Ausdrucksweise\n", " * Beispiele\n", " * Verhältnisse \\ Beladungen z.B. $\\quad\\zeta_{A}=\\tfrac{m_A}{m_B}$\n", " * Anteile \\ Gehalt z.B. $\\quad\\xi_{A}=\\tfrac{m_A}{m_A + m_B}$\n", - " * Konzentration (bezug auf Volumen) z.B. $\\quad\\beta_{A}=\\tfrac{m_A}{V_A + V_B}$" + " * Konzentration (bezug auf Volumen) z.B. $\\quad\\beta_{A}=\\tfrac{m_A}{V_A + V_B}$\n", + " ''')\n", + "\n", + "#HTML(html) \n", + "kennzeichen = widgets.HTMLMath(html_kennzeichen)" ] }, { - "cell_type": "markdown", - "id": "76ca1106-5032-4a20-abaf-b2b439dbffe8", + "cell_type": "raw", + "id": "0a599e23-cc50-440a-bf4e-5a0e10378f1c", + "metadata": {}, + "source": [ + "html_test = '''\n", + "<hr>\n", + "<p><strong>Knoten_1: Solvat und Solvent -Eintritt-</strong></p>\n", + "<ul style = \"margin : 0; padding = 0\" >\n", + "<li style = \"margin : 0\" >C: Eintritt (Feed) eines Kristallisators, bestehend aus Solvat (Salz) und Solvent (Lösungsmittel). Der Eintritt wird hier als <strong>konstant</strong> angesehen</li>\n", + "<li style = \"margin : 0\" >A: Solvat gelöstes und / oder kristallines Solvat. Die Masse ist konstant, aber die Zusammensetzung zwischen kristallines und gelöstes Solvat kann sich ändern. Hängt von einer Temperaturänderung und / oder einer Mengenänderung des Solvents ab (Passieren der Löslichkeitsgrenze)</li>\n", + "<li>B: Solventmasse reines Lösungsmittel. Wird hier als <strong>konstant</strong> angesehen.</li>\n", + "</ul>\n", + "<hr>\n", + "<p><strong>Knoten_2: Solvat</strong></p>\n", + "<ul>\n", + "<li>C: = Knoten_1.A</li>\n", + "<li>A: Kristallines Solvat. Die Menge kann sich ändern. </li>\n", + "<li>B: gelöstestes Solvat. Die Menge kann sich ändern.</li>\n", + "</ul>\n", + "<hr>\n", + "<p><strong>Knoten_3: Solvat und Solvent auf der Löslichkeitskurve</strong></p>\n", + "<ul>\n", + "<li>C: Solvat- und Solventmasse geättigt (Punkt auf Löslichkeitskurve).</li>\n", + "<li>A: Solvent nach einer möglichen Massenänderung </li>\n", + "<li>B: = Knoten_2.B</li>\n", + "</ul>\n", + "<hr>\n", + "<p><strong>Knoten_4: Solvent -Austritt-</strong></p>\n", + "<ul>\n", + "<li>C: = Knoten_1.B</li>\n", + "<li>A: Veränderte Solventmasse </li>\n", + "<li>B: = Abgeführte Solventmasse (Dampf) </li>\n", + "</ul>\n", + "<hr>\n", + "<p><strong>Knoten_5: Solvat und Solvent -Austritt-</strong></p>\n", + "<ul>\n", + "<li>C: Solvent und Solvat (gelöstes und kristallines)</li>\n", + "<li>A: = Knoten_3.C </li>\n", + "<li>B: = Knoten_2.A </li>\n", + "</ul>\n", + "'''\n", + "widgets.HTML(html_test)" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "a42bacd1-6a9b-411f-a242-c06f3c899832", "metadata": { "extensions": { "jupyter_dashboards": { "activeView": "grid_default", "views": { "grid_default": { - "col": 3, - "height": 4, - "hidden": false, - "row": 13, - "width": 6 + "col": null, + "height": 2, + "hidden": true, + "row": null, + "width": 2 } } } }, "tags": [] }, + "outputs": [], "source": [ - "### Bedingungen zur Berechnung einer binären Bilanz\n", - "\n", + "html_bedingungen = markdown.markdown(r'''\n", "* Zwei Größen müssen vorgeben werden\n", "* von den zwei Größen muss eine extensiv sein \n", - "* Volumenberechnung kann nur bei __gleichen Druck und Temperatur__ erfolgen\n" + "* Volumenberechnung kann nur bei __gleichen Druck und Temperatur__ erfolgen\n", + "''')\n", + "\n", + "#HTML(html) \n", + "bedingungen = widgets.HTMLMath(html_bedingungen)" ] }, { - "cell_type": "markdown", - "id": "cc5ef378-a52e-4ced-9050-a82292513eb0", + "cell_type": "code", + "execution_count": 7, + "id": "567374f7-84bd-4f61-afcf-39d21b3fa084", "metadata": { "extensions": { "jupyter_dashboards": { "activeView": "grid_default", "views": { "grid_default": { - "col": 6, - "height": 11, + "col": null, + "height": 2, + "hidden": true, + "row": null, + "width": 2 + } + } + } + }, + "tags": [] + }, + "outputs": [], + "source": [ + "file = open(\"pics/Knotenmodell_Basis_Vers_1.svg\", \"rb\")\n", + "image_1 = file.read()\n", + "balance_image = widgets.Image(\n", + " value=image_1,\n", + " format='svg+xml',\n", + " height=300,\n", + ")\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "a5792526-053c-448a-9e57-7dc25bd86a6f", + "metadata": {}, + "outputs": [], + "source": [ + "html_nodes_infos = markdown.markdown(r'''\n", + "#### Knoten_1: Solvat und Solvent -Eintritt-\n", + "* C: Eintritt (Feed) eines Kristallisators, bestehend aus Solvat (Salz) und Solvent (Lösungsmittel). Der Eintritt wird hier als __konstant__ angesehen\n", + "* A: Solvat gelöstes und / oder kristallines Solvat. Die Masse ist konstant, aber die Zusammensetzung zwischen kristallines und gelöstes Solvat kann sich ändern. Hängt von einer Temperaturänderung und / oder einer Mengenänderung des Solvents ab (Passieren der Löslichkeitsgrenze)\n", + "* B: Solventmasse reines Lösungsmittel. Wird hier als __konstant__ angesehen.\n", + "\n", + "----\n", + "\n", + "''')\n", + "\n", + "#HTML(html) \n", + "html_nodes_infos = widgets.HTMLMath(html_nodes_infos)\n", + "file = open(\"pics/Knotenmodell_Kristallisation_Vers_2.svg\", \"rb\")\n", + "\n", + "image_2 = file.read()\n", + "crystal_image = widgets.Image(\n", + " value=image_2,\n", + " format='svg+xml',\n", + " height=300,\n", + " \n", + ")\n", + "imagebox = widgets.HBox([crystal_image, html_nodes_infos])" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "0b6c3312-1d1d-4b6c-8e8c-ea62057b8b3a", + "metadata": { + "extensions": { + "jupyter_dashboards": { + "activeView": "grid_default", + "views": { + "grid_default": { + "col": 0, + "height": 3, "hidden": false, "row": 2, - "width": 6 + "width": 12 } } } - } + }, + "tags": [] }, + "outputs": [ + { + "data": { + "application/vnd.jupyter.widget-view+json": { + "model_id": "d38e8827b4f648edb4b80c1a7cb2c2e7", + "version_major": 2, + "version_minor": 0 + }, + "text/plain": [ + "Accordion(children=(HTMLMath(value='<ul>\\n<li>Nur <strong>extensive</strong> Größen lassen sich bilanzieren<ul…" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ - "<img src=\"pics/binary_balance_1.jpg\" alt=\"My picture\"\n", - "\ttitle=\"A cute kitten\" width=\"400px\" />\n", - "\n", - "Dieses Bild zeigt den Bilanzknoten mit den extensiven und intensiven Größen" + "accordion = widgets.Accordion(children=[kennzeichen, bedingungen, balance_image, imagebox], selected_index=None)\n", + "accordion.set_title(0, 'Kennzeichen einer binären Bilanz')\n", + "accordion.set_title(1, 'Bedingungen zur Berechnung einer binären Bilanz')\n", + "accordion.set_title(2, 'Vollständiges Bild eines binären Bilanzknoten')\n", + "accordion.set_title(3, 'Binäres Bilanzmodel einer Kristallisation')\n", + "accordion" ] }, { "cell_type": "code", - "execution_count": 1, + "execution_count": 10, "id": "ab70ee95-ce3c-4c4c-a7bc-2658a1a5d41a", "metadata": { "extensions": { @@ -146,19 +317,20 @@ } } } - } + }, + "tags": [] }, "outputs": [], "source": [ "import nowo1_base as no_ba\n", "import nowo1_sim_binary as no_bi\n", "import nowo1_gui_base as no_gui\n", - "import nowo1_log_base as no_log" + "import nowo1_log_base as no_log\n" ] }, { "cell_type": "code", - "execution_count": 2, + "execution_count": 11, "id": "eec838fd-a5a9-49c8-a873-07c0e3653622", "metadata": { "extensions": { @@ -178,7 +350,7 @@ }, "outputs": [], "source": [ - "bilanz_1 = no_bi.binary_node('bilanz_1') # Umgebungs\n", + "bilanz_1 = no_bi.binary_node('bilanz_1', init_methode = 'gui') # Umgebungs\n", "step = no_ba.step_single('step')\n", "gui_data = no_gui.gui_ipysheet('gui_data')\n", "log = no_log.log_sheet('log')" @@ -186,8 +358,8 @@ }, { "cell_type": "code", - "execution_count": 3, - "id": "5e7dc37c-8fe1-4569-a233-e3e45f450ae2", + "execution_count": 12, + "id": "7209ba84-1e31-4d7e-b205-eb3b822fba13", "metadata": { "extensions": { "jupyter_dashboards": { @@ -206,55 +378,76 @@ }, "outputs": [], "source": [ - "step.Init(work_objs=[bilanz_1.Calc_A_B])\n", - "log.Init(Values=[bilanz_1.log_all], Gui_For_Data = gui_data)" + "# stepper for options\n", + "step.Init(work_objs=[bilanz_1.Calc_C])" ] }, { "cell_type": "code", - "execution_count": 4, - "id": "9a853d13-b21f-475a-8262-b9616bad6a60", + "execution_count": 13, + "id": "78564e31-2e23-4fd0-879e-e5fec1cf5c8e", "metadata": { "extensions": { "jupyter_dashboards": { "activeView": "grid_default", "views": { "grid_default": { - "col": 6, - "height": 5, - "hidden": false, - "row": 17, - "width": 6 + "col": null, + "height": 2, + "hidden": true, + "row": null, + "width": 2 } } } - }, - "tags": [] + } }, - "outputs": [ - { - "data": { - "application/vnd.jupyter.widget-view+json": { - "model_id": "056f50bccc764cb9abda14b18b6f1d74", - "version_major": 2, - "version_minor": 0 - }, - "text/plain": [ - "VBox(children=(Sheet(cells=(Cell(column_end=0, column_start=0, row_end=7, row_start=0, squeeze_row=False, type…" - ] - }, - "metadata": {}, - "output_type": "display_data" + "outputs": [], + "source": [ + "bilanz_1.Option(options = {\n", + " 'name' : {'alias' : 'Test', 'visible' : True}} )\n", + "bilanz_1.Gate_A.general.Option(alias_name = 'size')\n", + "bilanz_1.Gate_A.Option(alias_name = 'A')\n", + "bilanz_1.Gate_B.general.Option(alias_name = 'size')\n", + "bilanz_1.Gate_B.Option(alias_name = 'B')\n", + "bilanz_1.Gate_C.general.Option(alias_name = 'size')\n", + "bilanz_1.Gate_C.Option(alias_name = 'C')\n", + "bilanz_1.A_ratio.Option(alias_name = 'Beladung A/B')\n", + "bilanz_1.B_ratio.Option(alias_name = 'Beladung B/A')\n", + "bilanz_1.A_portion.Option(alias_name = 'Anteil A/(A+B)')\n", + "bilanz_1.B_portion.Option(alias_name = 'Anteil B/(A+B)')" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "5bc30890-5c60-4d96-8138-fe9b7c0682d1", + "metadata": { + "extensions": { + "jupyter_dashboards": { + "activeView": "grid_default", + "views": { + "grid_default": { + "col": null, + "height": 2, + "hidden": true, + "row": null, + "width": 2 + } + } + } } - ], + }, + "outputs": [], "source": [ - "gui_data.Show_GUI()" + "#Logger zum Schluss initialisieren\n", + "log.Init(Values=[bilanz_1.log_all], Gui_For_Data = gui_data)" ] }, { "cell_type": "code", - "execution_count": 5, - "id": "155a052c-b1b6-4098-8614-19388211296a", + "execution_count": 15, + "id": "9a853d13-b21f-475a-8262-b9616bad6a60", "metadata": { "extensions": { "jupyter_dashboards": { @@ -262,25 +455,26 @@ "views": { "grid_default": { "col": 0, - "height": 4, + "height": 5, "hidden": false, - "row": 17, - "width": 4 + "row": 5, + "width": 12 } } } - } + }, + "tags": [] }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "df4f302df2794b3592111ef8250b63d6", + "model_id": "8997f6d647954856a5a9cf3850f5d210", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "VBox(children=(VBox(children=(Label(value='extensive Größe:'), HBox(children=(Dropdown(layout=Layout(width='10…" + "VBox(children=(HBox(children=(VBox(children=(VBox(children=(Button(description='Löschen', style=ButtonStyle())…" ] }, "metadata": {}, @@ -288,39 +482,67 @@ } ], "source": [ - "bilanz_1.Show_GUI()" + "left_box = widgets.VBox([log.Box(), step.Box()])\n", + "row_1 = widgets.HBox([left_box, gui_data.Box()])\n", + "widgets.VBox([row_1, bilanz_1.Box()])" ] }, { "cell_type": "code", - "execution_count": 6, - "id": "aa1fe3ad-55bb-491d-a677-ea20354ba5c1", + "execution_count": 19, + "id": "305dd061-c441-491c-8b92-8a5c54d739ad", + "metadata": {}, + "outputs": [], + "source": [ + "html_aufgabe_totesmeer = markdown.markdown(r'''\n", + "Im Meerwasser des Toten Meer gibt es Mineralien in hochkonzentrierter Form, durchschnittlich ca. <b>28% (Massenbeladung)</b> Salz. \n", + "Das Salz setzt sich zusammen aus\n", + "Magnesiumchlorid, Calciumchlorid, Natriumchlorid, Kaliumchlorid und Spurenelemente, bezogen auf die wasserfreiem Salze. \n", + "Totes Meer Salz, wird durch die ständige Verdunstung des Wassers, das Wasser hat eine min. Temperatur von 20°C, in sogenannten Salzgärten gewonnen. \n", + "Die Salzgärten sind großflächig, künstlich angelegte Sammel Becken, indem das Wasser verdunstet und reines Salz zurück bleibt.\n", + "\n", + "## Aufgabe:\n", + "Wieviel Wasser des toten Meeres, bezogen auf $10.0\\ \\text{kg} \\cdot \\text{s}^{-1}$ Meerwasser, muss man verdampfen, um 20% (Massenanteil) des gelösten Salzes als kristallines Salz zu gewinnen?\n", + "\n", + "## Vereinfachung:\n", + "* Das gesamte Salz wird als $N_aC_l$ angenommen\n", + "* Die Temperatur bleibt konstant\n", + "''')\n", + "aufgabe_totesmeer = widgets.HTMLMath(html_aufgabe_totesmeer) \n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "64a1496c-b05d-4517-8bf5-b853ab41a103", "metadata": { "extensions": { "jupyter_dashboards": { "activeView": "grid_default", "views": { "grid_default": { - "col": 4, - "height": 2, + "col": 0, + "height": 3, "hidden": false, - "row": 18, - "width": 2 + "row": 2, + "width": 12 } } } - } + }, + "tags": [] }, "outputs": [ { "data": { "application/vnd.jupyter.widget-view+json": { - "model_id": "387ddd748f7c439eb5f9853ae7c70353", + "model_id": "05c853c0fb834afbba1b94d60cc45745", "version_major": 2, "version_minor": 0 }, "text/plain": [ - "VBox(children=(Button(description='Calc', style=ButtonStyle()),))" + "Accordion(children=(HTMLMath(value='<p>Im Meerwasser des Toten Meer gibt es Mineralien in hochkonzentrierter F…" ] }, "metadata": {}, @@ -328,8 +550,19 @@ } ], "source": [ - "step.Show_GUI()" + "accordion_aufgaben = widgets.Accordion(children=[aufgabe_totesmeer], selected_index=None)\n", + "accordion_aufgaben.set_title(0, 'Verdunsten von Wasser -Totes Meer-')\n", + "\n", + "accordion_aufgaben" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "837544d5-c2fc-4a20-9077-37efd9c31dfc", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { diff --git a/Balance_Crystal.ipynb b/Balance_Crystal.ipynb new file mode 100644 index 0000000..b94d4f2 --- /dev/null +++ b/Balance_Crystal.ipynb @@ -0,0 +1,352 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "id": "28ffafab-45ee-4719-917f-0cb2bacb4915", + "metadata": { + "extensions": { + "jupyter_dashboards": { + "activeView": "grid_default", + "views": { + "grid_default": { + "col": null, + "height": 2, + "hidden": true, + "row": null, + "width": 2 + } + } + } + } + }, + "outputs": [], + "source": [ + "import markdown \n", + "import ipywidgets as widgets\n", + "import nowo1_base as no_ba\n", + "import nowo1_sim_binary as no_bi\n", + "import nowo1_gui_base as no_gui\n", + "import nowo1_log_base as no_log" + ] + }, + { + "cell_type": "markdown", + "id": "valued-saskatchewan", + "metadata": { + "extensions": { + "jupyter_dashboards": { + "activeView": "grid_default", + "views": { + "grid_default": { + "col": 0, + "height": 2, + "hidden": false, + "row": 0, + "width": 12 + } + } + } + }, + "presto": { + "id": "e13f5e37-bda7-4588-b06b-83f75f0bb857" + }, + "tags": [] + }, + "source": [ + "### Bilanzsystem -Kristallisation- " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a0497a7a-9f3a-4566-a880-48e123028b37", + "metadata": {}, + "outputs": [], + "source": [ + "html_infos_nodes = '''\n", + "<hr>\n", + "<p><strong>Knoten_1: Solvat und Solvent -Eintritt-</strong></p>\n", + "<ul style = \"margin : 0; padding = 0\" >\n", + "<li style = \"margin : 0\" >C: Eintritt (Feed) eines Kristallisators, bestehend aus Solvat (Salz) und Solvent (Lösungsmittel). Der Eintritt wird hier als <strong>konstant</strong> angesehen</li>\n", + "<li style = \"margin : 0\" >A: Solvat gelöstes und / oder kristallines Solvat. Die Masse ist konstant, aber die Zusammensetzung zwischen kristallines und gelöstes Solvat kann sich ändern. Hängt von einer Temperaturänderung und / oder einer Mengenänderung des Solvents ab (Passieren der Löslichkeitsgrenze)</li>\n", + "<li>B: Solventmasse reines Lösungsmittel. Wird hier als <strong>konstant</strong> angesehen.</li>\n", + "</ul>\n", + "<hr>\n", + "<p><strong>Knoten_2: Solvat</strong></p>\n", + "<ul>\n", + "<li>C: = Knoten_1.A</li>\n", + "<li>A: Kristallines Solvat. Die Menge kann sich ändern. </li>\n", + "<li>B: gelöstestes Solvat. Die Menge kann sich ändern.</li>\n", + "</ul>\n", + "<hr>\n", + "<p><strong>Knoten_3: Solvat und Solvent auf der Löslichkeitskurve</strong></p>\n", + "<ul>\n", + "<li>C: Solvat- und Solventmasse geättigt (Punkt auf Löslichkeitskurve).</li>\n", + "<li>A: Solvent nach einer möglichen Massenänderung </li>\n", + "<li>B: = Knoten_2.B</li>\n", + "</ul>\n", + "<hr>\n", + "<p><strong>Knoten_4: Solvent -Austritt-</strong></p>\n", + "<ul>\n", + "<li>C: = Knoten_1.B</li>\n", + "<li>A: Veränderte Solventmasse </li>\n", + "<li>B: = Abgeführte Solventmasse (Dampf) </li>\n", + "</ul>\n", + "<hr>\n", + "<p><strong>Knoten_5: Solvat und Solvent -Austritt-</strong></p>\n", + "<ul>\n", + "<li>C: Solvent und Solvat (gelöstes und kristallines)</li>\n", + "<li>A: = Knoten_3.C </li>\n", + "<li>B: = Knoten_2.A </li>\n", + "</ul>\n", + "'''\n", + "infos_nodes = widgets.HTML(html_infos_nodes)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "305dd061-c441-491c-8b92-8a5c54d739ad", + "metadata": {}, + "outputs": [], + "source": [ + "html_aufgabe_totesmeer = markdown.markdown(r'''\n", + "Im Meerwasser des Toten Meer gibt es Mineralien in hochkonzentrierter Form, durchschnittlich ca. <b>28% (Massenbeladung)</b> Salz. \n", + "Das Salz setzt sich zusammen aus\n", + "Magnesiumchlorid, Calciumchlorid, Natriumchlorid, Kaliumchlorid und Spurenelemente, bezogen auf die wasserfreien Salze. \n", + "Totes Meer Salz, wird durch die ständige Verdunstung des Wassers, das Wasser hat eine min. Temperatur von <b>20°C</b>, in sogenannten Salzgärten gewonnen. \n", + "Die Salzgärten sind großflächig, künstlich angelegte Sammel Becken, indem das Wasser verdunstet und reines Salz zurück bleibt.\n", + "\n", + "#### Aufgabe:\n", + "Wieviel Wasser des toten Meeres, bezogen auf $\\pmb{10.0\\ \\text{kg} \\cdot \\text{s}^{-1}}$ <b>Meerwasser </b>, muss man verdampfen, um <b>20% (Massenanteil)</b> des gelösten Salzes als kristallines Salz zu gewinnen?\n", + "\n", + "#### Vereinfachung:\n", + "* Das gesamte Salz wird als $NaCl$ angenommen\n", + "* Die Temperatur bleibt konstant\n", + "* Die Löslichkeit (Beladung) von $NaCl$ bei 20°C beträgt $\\pmb{0.36\\ \\text{kg/kg}}$ (aus Diagramm)\n", + "''')\n", + "aufgabe_totesmeer = widgets.HTMLMath(html_aufgabe_totesmeer) \n", + " " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0b6c3312-1d1d-4b6c-8e8c-ea62057b8b3a", + "metadata": { + "extensions": { + "jupyter_dashboards": { + "activeView": "grid_default", + "views": { + "grid_default": { + "col": 0, + "height": 3, + "hidden": false, + "row": 2, + "width": 12 + } + } + } + }, + "tags": [] + }, + "outputs": [], + "source": [ + "accordion = widgets.Accordion(children=[aufgabe_totesmeer, infos_nodes\n", + "], selected_index=None)\n", + "accordion.set_title(1, 'Informationen zu den Bilanzknoten')\n", + "accordion.set_title(0, 'Übungsaufgabe')\n", + "accordion" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a5792526-053c-448a-9e57-7dc25bd86a6f", + "metadata": {}, + "outputs": [], + "source": [ + "file = open(\"pics/Knotenmodell_Kristallisation_Vers_1.svg\", \"rb\")\n", + "\n", + "image_2 = file.read()\n", + "crystal_image = widgets.Image(\n", + " value=image_2,\n", + " format='svg+xml',\n", + " width = '380px'\n", + " \n", + ")\n", + "#crystal_image.layout.object_fit = 'scale-down'\n", + "#crystal_image.layout.margin = 'image_margin'\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "eec838fd-a5a9-49c8-a873-07c0e3653622", + "metadata": { + "extensions": { + "jupyter_dashboards": { + "activeView": "grid_default", + "views": { + "grid_default": { + "col": null, + "height": 2, + "hidden": true, + "row": null, + "width": 2 + } + } + } + } + }, + "outputs": [], + "source": [ + "bilanz_1 = no_bi.binary_node('bilanz_1', init_methode = 'gui') # Umgebungs\n", + "step = no_ba.step_single('step')\n", + "gui_data = no_gui.gui_ipysheet('gui_data')\n", + "log = no_log.log_sheet('log')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7209ba84-1e31-4d7e-b205-eb3b822fba13", + "metadata": { + "extensions": { + "jupyter_dashboards": { + "activeView": "grid_default", + "views": { + "grid_default": { + "col": null, + "height": 2, + "hidden": true, + "row": null, + "width": 2 + } + } + } + } + }, + "outputs": [], + "source": [ + "# stepper for options initialisieren\n", + "step.Init(work_objs=[bilanz_1.Calc_C])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "78564e31-2e23-4fd0-879e-e5fec1cf5c8e", + "metadata": { + "extensions": { + "jupyter_dashboards": { + "activeView": "grid_default", + "views": { + "grid_default": { + "col": null, + "height": 2, + "hidden": true, + "row": null, + "width": 2 + } + } + } + } + }, + "outputs": [], + "source": [ + "bilanz_1.Option(options = {\n", + " 'name' : {'alias' : 'Test', 'visible' : True}} )\n", + "bilanz_1.Gate_A.general.Option(alias_name = 'size')\n", + "bilanz_1.Gate_A.Option(alias_name = 'A')\n", + "bilanz_1.Gate_B.general.Option(alias_name = 'size')\n", + "bilanz_1.Gate_B.Option(alias_name = 'B')\n", + "bilanz_1.Gate_C.general.Option(alias_name = 'size')\n", + "bilanz_1.Gate_C.Option(alias_name = 'C')\n", + "bilanz_1.A_ratio.Option(alias_name = 'Beladung A/B')\n", + "bilanz_1.B_ratio.Option(alias_name = 'Beladung B/A')\n", + "bilanz_1.A_portion.Option(alias_name = 'Anteil A/(A+B)')\n", + "bilanz_1.B_portion.Option(alias_name = 'Anteil B/(A+B)')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5bc30890-5c60-4d96-8138-fe9b7c0682d1", + "metadata": { + "extensions": { + "jupyter_dashboards": { + "activeView": "grid_default", + "views": { + "grid_default": { + "col": null, + "height": 2, + "hidden": true, + "row": null, + "width": 2 + } + } + } + } + }, + "outputs": [], + "source": [ + "#Logger zum Schluss initialisieren\n", + "log.Init(Values=[bilanz_1.log_all], Gui_For_Data = gui_data)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d95ff8cb-65bd-4e21-a386-6f83531970df", + "metadata": {}, + "outputs": [], + "source": [ + "Col_1_2 = widgets.VBox([log.Box(), step.Box()])\n", + "Row_1 = widgets.HBox([gui_data.Box(), crystal_image])\n", + "Row_2 = widgets.HBox([Col_1_2, bilanz_1.Box()])\n", + "widgets.VBox([Row_1, Row_2])" + ] + } + ], + "metadata": { + "extensions": { + "jupyter_dashboards": { + "activeView": "grid_default", + "version": 1, + "views": { + "grid_default": { + "cellMargin": 2, + "defaultCellHeight": 50, + "maxColumns": 12, + "name": "grid", + "type": "grid" + } + } + } + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.9.7" + }, + "presto": { + "id": "15654236-4ba8-4933-8bde-9e7e68b7138c" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/binary_balance_1.jpg b/binary_balance_1.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f38ed7cfe5b29e470c108db8644087bc13c410b1 GIT binary patch literal 127315 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 T7)=ACX<#%B4EHp^`2QvVXwYk1 literal 0 HcmV?d00001 diff --git a/nowo1_base.py b/nowo1_base.py index 00b6cd8..60938ef 100644 --- a/nowo1_base.py +++ b/nowo1_base.py @@ -1,4 +1,5 @@ import sys +#from types import NoneType import sim_base as sim_g import pandas as pd import datetime as dt @@ -80,11 +81,16 @@ def analyse_func(func): class sim_value(): - def __init__(self, name: str, parent, value_type ): + def __init__(self, name: str, parent, value_type, alias_name = '' ): self.name = name + if alias_name: + self.alias_name = alias_name + else: self.alias_name = self.name + self._parent = parent self._simparent = getattr(self._parent, 'sim_parent', self._parent) if not self._simparent: self._simparent = self._parent + value_type_list = list(value_type) value_type_list.append(type(None)) self.value_type = tuple(value_type_list) @@ -95,17 +101,27 @@ class sim_value(): self.set = self._set # Überschreibbar durch callback funktion self.call_extern = None self.call_intern = None - self._fullname = self._get_fullname() + self._fullname = '' + self._get_fullname() + self._loggerlist : set = set() + def _get_fullname(self): namelist = [] if not self._simparent == self._parent: - namelist.append(self._simparent.name) - namelist.append(self._parent.name) - namelist.append(self.name) - return '.'.join(namelist) + namelist.append(self._simparent.alias_name) + namelist.append(self._parent.alias_name) + namelist.append(self.alias_name) + self._fullname = '.'.join(namelist) + return self._fullname + + + def _changename_logger(self, oldname : str, new_name : str): + for logger in self._loggerlist: + logger.update_buffer(oldname, new_name) + #TODO typen überprüfen def _set(self, value): @@ -113,12 +129,11 @@ class sim_value(): self._value = value return self._value - # Wird geändert über value erfolgt kein callback zugriff es wird nur - #_value geändert oder zurückgegeben - @property - def value(self): - return self._value + + @property + def value(self): return self._value + @value.setter def value(self, value): @@ -145,6 +160,12 @@ class sim_value(): return self._value + def Option(self, alias_name = ''): + if alias_name: + self.alias_name = alias_name + self._get_fullname() + + #TODO Warum Any würde hier nicht auch ein None genügen? def Init(self, value = Any, default = Any, unit = ''): @@ -185,22 +206,38 @@ class sim_value(): #------------------------------------------------------------------- class gate_base: - def __init__(self, name, sim_parent): + def __init__(self, name, sim_parent, alias_name = '' ): self.name = name + if alias_name: + self.alias_name = alias_name + else: self.alias_name = self.name + self.sim_parent = sim_parent self._success_flag : bool = True - + + def set(self, value: Any, value_name: str = ''):pass - + + def get(self, value_name: str = ''):pass - + + def Init(self, values):pass - + + + def Option(self, alias_name = ''): + if alias_name: + self.alias_name = alias_name + self.sim_parent._sync_fullname() + + + def _reset(self): self._success_flag : bool = True def _node_success(self, stepper): pass + def log_all(self, logger): name_list = [] for key, value in self.__dict__.items(): @@ -360,76 +397,178 @@ class gate_dataframe(gate_base): self._success_flag = False -class gui_api(): - def __init__(self): - self._GUI_visible = True + +class nowo_base(): + def __init__(self, name : str, + init_methode : str = 'normal', + alias_name = ''): + + self.name = name + if alias_name: + self.alias_name = alias_name + else: self.alias_name = self.name + + self._init_methode = self._set_init_methode(init_methode) + self._init_para : dict = dict() + self._options = dict() + + self._gui_name_visible = False + self._GUI_is_visible = False # Warum ? + self._GUI_is_create = False + self._GUI_itemlist : dict = dict() - self.GUI_Item = None - self._GUI_is_visible = False - self.info = widgets.Output() + self.info = widgets.Output()# Dient m Debugen + #display(self.info) + self.total_box = widgets.VBox( + layout = widgets.Layout() + ) + + + + def on_click(self, change): + self.alias_name = self.name_widget.value + self._sync_fullname() + + def _set_init_methode(self, init_name): + if init_name == 'normal': + return None + elif init_name == 'gui': + return self.Init_By_GUI + + + def _sync_fullname(self):pass + + + def Init(self, para_from_Init = dict()): + self._init_para = dict(para_from_Init) + self._init_para.pop('self') + self._init_para.pop('__class__') + + if not self._init_methode: + self._init_methode = self.Init_By_Para + + + + def Init_By_GUI(self): + #with self.info: print(' Init_By_GUI Parent') + pass + + def Init_By_Para(self): + #with self.info: print('Init_by_Para', self.name, self._init_para) + self.Init(**self._init_para) + + + def Option(self, options = dict()): + self._options = options + if 'name' in options.keys(): + # Option sichtbarkeit des Namens und die Möglichkeit des editierens + name_options = options['name'] + if 'alias' in name_options.keys(): + self.alias_name = name_options['alias'] + #self.name_widget.value = self.alias_name + self._sync_fullname() + if 'visible' in name_options.keys(): + self._gui_name_visible = name_options['visible'] + + def Show_GUI(self): - if not self.GUI_Item: - self.GUI_Item = self._create_gui() + if not self._GUI_is_create: + self._create_gui() + display(self.total_box) self._GUI_is_visible = True - display(self.GUI_Item) - + + def Box(self): + if not self._GUI_is_create: + self._create_gui() + self._GUI_is_visible = True + return self.total_box + def _create_gui(self): - for widget in self._GUI_itemlist.values(): - setattr(widget, 'parent', self) - return None + self._GUI_is_create = True + # Grundlegende Desings in den Boxen anlegen + style_box = widgets.Layout(margin = '10px') + self.total_box.layout.margin = style_box.margin + if not self._gui_name_visible: return + + layout_name = widgets.Layout(display = 'block') + style_valbox = widgets.Layout(padding = '1em 0 0 0') + self.name_widget = widgets.Text( + value=self.alias_name, + placeholder='Type something', + description='Name:', + disabled=False, + layout = layout_name) + + self.change_button = widgets.Button( + description = 'Ändere', + button_style='danger') + self.change_button.on_click(self.on_click) + + self.name_box = widgets.VBox( + [self.name_widget, self.change_button], + layout = style_valbox) + self._GUI_itemlist.update({ + 'changename_button' : self.change_button, + 'alias_name' : self.name_widget}) + + self.total_box.children = (self.name_box,) + #***************************************************************** -class step_base(gui_api): - def __init__(self, name : str, GUI : bool = False): - super().__init__() - self.name = name +class step_base(nowo_base): + def __init__(self, name : str, init_methode : str = 'normal'): + super().__init__(name, init_methode) self.step_nr: int = 0 self.total_steps: int = 0 self.work_objs = [ ] # Diese Objekte sind mit dem Timer verknüpft self.sim_funcs : dict = {}# Ersetzt self.work_objs und self.work_funcs self._loggerlist : set = set() - # self._GUI_visible = GUI - # self._GUI_itemlist : dict = dict() - # self.GUI_Item = self._create_gui() - # self._GUI_is_visible = False - - # self.info = widgets.Output() - - - - def on_start_clicked(self, args): - parent = args.parent - parent.reset() - parent.work() - - # def Show_GUI(self, show = True): - # for obj in self.work_objs: - # if obj._GUI_visible: - # obj.Show_GUI() - # super().Show_GUI() - # if self.GUI_Item: - # self._GUI_is_visible = True - # display(self.GUI_Item) - - - # def _create_gui(self): - # for widget in self._GUI_itemlist.values(): - # setattr(widget, 'parent', self) - # return None + def on_start_clicked(self, args): + #with self.info: print('on_start_clicked' , self.name) + self.work() + + def _create_gui(self): + start_button = widgets.Button( + description='Berechne', + button_style='danger' + ) + start_label = widgets.Label(value='Starte eine Berechnung') + start_button.on_click(self.on_start_clicked) + #self.total_box = widgets.HBox([start_label, start_button]) + self.total_box = widgets.HBox([start_button]) + self._GUI_itemlist.update({ + 'start_button' : start_button, + 'start_label' : start_label + }) + + super()._create_gui()# Attention! --must-- because the widget get a parent attr. + return + def reset(self): self.step_nr = 0 - + for obj in self.work_objs: + #obj._create_gui() + obj._init_methode() + obj.ready_for_start(self) + + for logger in self._loggerlist: + #logger._create_gui() + logger._init_methode() + logger.ready_for_start(self) + - def Init(self, work_objs : list = []): + + def Init(self, para_from_Init = dict(), work_objs : list = []): + super().Init(para_from_Init = para_from_Init) self.step_nr = 0 if not work_objs: raise Exception(f'obj : {self.name} |wenigstens eine start Methode muss angeben werden!') self.work_objs = [] # Diese Objekte sind mit dem Timer verknüpft @@ -446,20 +585,19 @@ class step_base(gui_api): {func_info[1] : { 'obj' : func_info[0], 'gate' : gate}}) - - - def work(self): - for obj in self.work_objs: - if obj._GUI_is_visible: - obj.Init_Over_GUI() - + for obj in self.work_objs: - obj.ready_for_start(self) + obj._set_stepper(self) + for logger in self._loggerlist: - logger.ready_for_start(self) + logger._set_stepper(self) + + - if self._GUI_visible: pass - #with self.info: print(logger.name, 'work 1') + def work(self): + self.reset() + + while self.step() == 1: self._node_success() @@ -467,10 +605,11 @@ class step_base(gui_api): obj.ready_for_end() for logger in self._loggerlist: - #with self.info: print(logger.name, 'work 2') + #with self.info: print('work 3', logger.ready_for_end) logger.ready_for_end() + def step(self): for obj in self.work_objs: obj._reset() #Todo ist das immer erforderlich? @@ -496,9 +635,10 @@ class step_base(gui_api): def _node_success(self): pass + class step_range(step_base): - def __init__(self, name : str, GUI : bool = False): - super().__init__(name, GUI) + def __init__(self, name : str, init_methode : str = 'normal'): + super().__init__(name, init_methode) self.total_steps = sim_value('total_steps', self, (float, int,)) self.Gate_Step: gate_general = gate_general( 'Gate_Step', self) @@ -543,31 +683,20 @@ class step_range(step_base): self.Gate_Step._node_success(self) - class step_single(step_base): - def __init__(self, name : str, GUI : bool = False): - super().__init__(name, GUI) + def __init__(self, name : str, init_methode : str = 'normal'): + super().__init__(name) - def Init(self, work_objs : list = []): - super().Init(work_objs=work_objs) + def Init(self, + work_objs : list = []): + + super().Init( + work_objs=work_objs, + para_from_Init = locals()) self.step_nr = 0 - # Später im Parent - def _create_gui(self): - start_button = widgets.Button(description='Calc') - start_button.on_click(self.on_start_clicked) - total_box = widgets.VBox([start_button]) - - self._GUI_itemlist.update({ - 'start_button' : start_button - }) - - super()._create_gui()# Attention! --must-- because the widget get a parent attr. - return total_box - - def step(self): if self.step_nr < 1: super().step() @@ -577,8 +706,8 @@ class step_single(step_base): # ------------------------------------------------------------------ class step_timer(step_base): - def __init__(self, name : str, GUI : bool = False): - super().__init__(name, GUI) + def __init__(self, name : str, init_methode : str = 'normal'): + super().__init__(name, init_methode) self.abs_start = dt.datetime(1, 1, 1, 0, 0, 0) self.start: dt.datetime = dt.datetime(1, 1, 1, 0, 0, 0) @@ -648,23 +777,33 @@ class step_timer(step_base): #***************************************************************** -class work_base(gui_api): - def __init__(self, name: str, GUI : bool = False, **kwargs): - super().__init__() - self.name = name +class work_base(nowo_base): + def __init__(self, name: str, init_methode : str = 'normal', **kwargs): + super().__init__(name, init_methode) self._ctrl_ok : bool = False + self._stepper : step_base = None - def Init(self): pass + def _set_stepper(self, stepper): + if isinstance(stepper, step_base): + self._stepper = stepper + + def Init(self, para_from_Init = dict(),): + super().Init(para_from_Init = para_from_Init) def ready_for_start(self, stepper: step_base): pass def ready_for_end(self):pass + def Option(self, options = dict()): + super().Option(options) + def _sync_fullname(self):pass + #self._stepper.reset() +#***************************************************************** class gui_base(work_base): - def __init__(self, name: str, GUI : bool = False, **kwargs): - super().__init__(name, GUI, **kwargs) + def __init__(self, name: str, init_methode : str = 'normal', **kwargs): + super().__init__(name, init_methode, **kwargs) def Init_by_dataframe(self, dataframe): pass @@ -672,8 +811,8 @@ class gui_base(work_base): # ------------------------------------------------------------------ class port_base(work_base): - def __init__(self, name: str, GUI : bool = False, **kwargs): - super().__init__(name, GUI, **kwargs) + def __init__(self, name: str, init_methode : str = 'normal', **kwargs): + super().__init__(name ,init_methode, **kwargs) self.buffer_data: dict = dict() self.col_name : list = list() self.Gui_For_Data : gui_base = None @@ -684,12 +823,16 @@ class port_base(work_base): self.buffer_data[key] = [] + def update_buffer(self, oldname : str, new_name : str): + if oldname in self.buffer_data.keys(): + self.buffer_data[new_name] = self.buffer_data.pop(oldname) + + def ready_for_start(self, stepper: step_base): self.clear_buffer() def ready_for_end(self):pass - #with self.info: # print('ready_for_end') @@ -699,11 +842,12 @@ class port_base(work_base): self.ports[port_parentname] = dict() - def Init(self, + def Init(self, + para_from_Init = dict(), Values = [], Gui_For_Data = None, ): - super().Init() + super().Init(para_from_Init = para_from_Init) self.Gui_For_Data = Gui_For_Data self.buffer_data: dict = dict() for value in Values: @@ -724,8 +868,8 @@ class port_base(work_base): # ------------------------------------------------------------------- class sim_base(work_base): - def __init__(self, name: str, GUI : bool = False, **kwargs): - super().__init__(name, GUI, **kwargs) + def __init__(self, name: str, init_methode : str = 'normal', **kwargs): + super().__init__(name, init_methode, **kwargs) self.time_factor: float = 0.0 self.ch_type: gate_base = None @@ -780,7 +924,9 @@ class sim_base(work_base): - def Init_Over_GUI(self): pass + def Init_By_GUI(self): + super().Init_By_GUI() + pass @@ -892,9 +1038,9 @@ class ctrl_general_step(ctrl_base): #***************************************************************** class sim_dynamic(sim_base): - def __init__(self, name: str, GUI : bool = False, **kwargs): + def __init__(self, name: str, init_methode : str = 'normal', **kwargs): kwargs.update({'ch_type' : gate_general}) - super().__init__(name, GUI, **kwargs) + super().__init__(name, init_methode, **kwargs) self.Gate_Dynamic = gate_dynamic('Gate_Dynamic', self) self.Feature : dict = None @@ -924,9 +1070,9 @@ class sim_dynamic(sim_base): #-------------------------------------------------------------------- class sim_general_node(sim_base): - def __init__(self, name: str, GUI : bool = False, **kwargs): + def __init__(self, name: str, init_methode : str = 'normal', **kwargs): kwargs.update({'ch_type' : gate_general}) - super().__init__(name, GUI, **kwargs) + super().__init__(name, init_methode, **kwargs) self._iterat_counter : int = 0 self.Max_Iterat = sim_value('Max_Iterat', self, (int,)) @@ -1177,9 +1323,9 @@ class sim_general_node(sim_base): class sim_general_chanal(sim_base): - def __init__(self, name: str, GUI : bool = False, **kwargs): + def __init__(self, name: str, init_methode : str = 'normal', **kwargs): kwargs.update({'ch_type' : gate_general}) - super().__init__(name, GUI, **kwargs) + super().__init__(name, init_methode, **kwargs) self.Gate_Set = gate_general('Gate_Set', self) self.Gate_Get = gate_general('Gate_Get', self) @@ -1266,9 +1412,9 @@ class sim_general_user(sim_base): #TODO absolute zeit bezogen auf s einführen #TODO verschiedene Formen auswählen class sim_general_signal(sim_base): - def __init__(self, name: str, GUI : bool = False, **kwargs): + def __init__(self, name: str, init_methode : str = 'normal', **kwargs): kwargs.update({'ch_type' : gate_general}) - super().__init__(name, GUI, **kwargs) + super().__init__(name, init_methode, **kwargs) self.Gate_Signal = gate_general('Gate_Signal', self) @@ -1319,9 +1465,9 @@ class sim_general_signal(sim_base): #-------------------------------------------------------------------- class sim_general_joker(sim_base): - def __init__(self, name: str, GUI : bool = False, **kwargs): + def __init__(self, name: str, init_methode : str = 'normal', **kwargs): kwargs.update({'ch_type' : gate_general}) - super().__init__(name, GUI, **kwargs) + super().__init__(name, init_methode, **kwargs) def Init(self, @@ -1346,9 +1492,9 @@ class sim_general_joker(sim_base): #TODO ch_type raus #-------------------------------------------------------------------- class sim_general_store(sim_base): - def __init__(self, name: str, GUI : bool = False, **kwargs): + def __init__(self, name: str, init_methode : str = 'normal', **kwargs): kwargs.update({'ch_type' : gate_general}) - super().__init__(name, GUI, **kwargs) + super().__init__(name, init_methode, **kwargs) self.Gate_Store = gate_general('Gate_Store', self) self.Gate_Leak = gate_general('Gate_Leak', self) diff --git a/nowo1_gui_base.py b/nowo1_gui_base.py index e79b9aa..24e151a 100644 --- a/nowo1_gui_base.py +++ b/nowo1_gui_base.py @@ -10,13 +10,13 @@ from ipysheet import from_dataframe from IPython.display import display - +#TODO Optionen: +# Möglichkeit der flexiblen Anzahl von Spalten, oder fix +# Safe Button für die Tabelle class gui_ipysheet(nowo.gui_base): - def __init__(self, name: str, GUI : bool = False, **kwargs): - super().__init__(name, GUI, **kwargs) + def __init__(self, name: str, init_methode : str = 'normal', **kwargs): + super().__init__(name, init_methode, **kwargs) self.sheet : ipysheet.sheet = None - self.sheet_colnames : list = [] - self.sheet_rownames : list = [] self.sheet_data: pd.DataFrame = None self.dataframe_out: pd.DataFrame = None @@ -24,25 +24,23 @@ class gui_ipysheet(nowo.gui_base): def Init_by_dataframe(self, dataframe): #with self.info: print(self.name, 'Init_by') self.sheet_data = dataframe - self.sheet_colnames = list(self.sheet_data.head()) - self.sheet_rownames = list(self.sheet_data.index.tolist()) - + + def ready_for_end(self): - #with self.info: print(self.name, 'ready_1') - buffer = self.sheet_data.values.T.tolist() - ipysheet.cell_range(buffer[0], column_start=1) + col_names = ['Größen'] + list(self.sheet_data.columns) + self.sheet.columns = len(col_names) + rows_1 = ipysheet.row(0, col_names) + buffer = self.sheet_data.values.tolist() + value_field = [] + ipysheet.cell_range(buffer, column_start=1, row_start = 1) - + def _create_gui(self): - # sheet = ipysheet.sheet(rows = len(self.sheet_rownames) + 1, columns= len(self.sheet_colnames) + 1) - self.sheet = ipysheet.sheet(rows = len(self.sheet_rownames), - columns= len(self.sheet_colnames) + 1, - column_headers = ['variable'] + self.sheet_colnames) - - cols_1 = ipysheet.column(0, self.sheet_rownames, row_start = 0) - - total_box = widgets.VBox([self.sheet]) + first_col = list(self.sheet_data.index.values) + self.sheet = ipysheet.sheet(rows = len(first_col) + 1, columns=1) + cols_1 = ipysheet.column(0, first_col, row_start = 1, read_only=True) + self.total_box = widgets.VBox([self.sheet]) self._GUI_itemlist.update({'sheet' : self.sheet}) super()._create_gui()# Attention! --must-- because the widget get a parent attr. - return total_box \ No newline at end of file + diff --git a/nowo1_gui_elements.py b/nowo1_gui_elements.py new file mode 100644 index 0000000..98e5539 --- /dev/null +++ b/nowo1_gui_elements.py @@ -0,0 +1,44 @@ +import sim_base as sim_g +import nowo1_base as nowo + +import ipywidgets as widgets +from IPython.display import display +import base64 + + +# Download BUTTONS + +class Download_Button_csv(): + def __init__(self, csv_filename = 'daten.csv') -> None: + self.button = widgets.HTML() + self.csv_text : str = 'empty' + self.csv_filename = csv_filename + self.payload : str = '' + self.html_button = ''' + + <html> + <head> + <meta name="viewport" content="width=device-width, initial-scale=1"> + </head> + <body> + <a download="{filename}" href="data:text/csv;base64,{payload}" download> + <button class="p-Widget jupyter-widgets jupyter-button widget-button ">Download File</button> + </a> + </body> + </html> + ''' + self.set_button() + self.csv_filename = 'daten.csv' + + def _payload(self): + b64 = base64.b64encode(self.csv_text.encode()) + self.payload = b64.decode() + + + def set_button(self, csv_text='empty'): + self.csv_text = csv_text + self._payload() + html_str = self.html_button.format(payload=self.payload,filename=self.csv_filename) + self.button.value = html_str + + diff --git a/nowo1_log_base.py b/nowo1_log_base.py index 8a93a71..02567f4 100644 --- a/nowo1_log_base.py +++ b/nowo1_log_base.py @@ -1,13 +1,15 @@ import sim_base as sim_g import nowo1_base as nowo +from nowo1_gui_elements import Download_Button_csv import datetime as dt import pandas as pd import numpy as np -import pyperclip +import ipywidgets as widgets +#import pyperclip class logger(nowo.port_base): - def __init__(self, name: str, GUI : bool = False, **kwargs): - super().__init__(name, GUI, **kwargs) + def __init__(self, name: str, init_methode : str = 'normal', **kwargs): + super().__init__(name, init_methode, **kwargs) self.log_data: pd.DataFrame = pd.DataFrame() def clear_buffer(self): @@ -20,15 +22,16 @@ class logger(nowo.port_base): -# Nimmt nur den ersten Wert und bildet eine Tabelle -# wird verwendet bei gleichen sim_obj die nur einmal berechnet wurden + class log_sheet(nowo.port_base): - def __init__(self, name: str, GUI : bool = False, **kwargs): + def __init__(self, name: str, init_methode : str = 'normal', **kwargs): self.log_data: pd.DataFrame = pd.DataFrame() - super().__init__(name, GUI, **kwargs) - self.sheet_colnames : list = [] + super().__init__(name, init_methode, **kwargs) + self.sheet_rownames : list = [] self.sheet_data: pd.DataFrame = None + self.full_data: pd.DataFrame = None + self._download_class = Download_Button_csv('sheet_data.csv') def clear_buffer(self): @@ -36,42 +39,86 @@ class log_sheet(nowo.port_base): self.log_data = pd.DataFrame() - def Init(self, Values = [], Gui_For_Data = None): - #with self.info: print(self.name, 'init') - super().Init(Values, Gui_For_Data) + def on_clear_clicked(self, args): + #with self.info: print('on_clear_clicked' , self._init_para) + self.sheet_data.drop(self.sheet_data.columns, axis = 1, inplace = True) + self.full_data.drop(self.sheet_data.columns, axis = 1, inplace = True) + + + + # Später im Parent + def _create_gui(self): + clear_button = widgets.Button(description='Löschen') + clear_label = widgets.Label(value='Löschen') + clear_button.on_click(self.on_clear_clicked) + + + download_button = self._download_class.button + download_label = widgets.Label(value='Download') + + + #self.total_box = widgets.VBox([clear_label, clear_button, download_label, download_button]) + self.total_box = widgets.VBox([clear_button, download_button]) + self._GUI_itemlist.update({ + 'clear_button' : clear_button, + 'clear_label' : clear_label, + 'download_button' : download_button, + 'download_label' : download_label, + }) + + super()._create_gui()# Attention! --must-- because the widget get a parent attr. + return + + + + def Init(self, + Values = [], + Gui_For_Data = None): + + with self.info: print(self.name, 'Init Sheet') + super().Init( + Values = Values, + Gui_For_Data = Gui_For_Data, + para_from_Init = locals()) + + if isinstance(self.sheet_data, pd.DataFrame) : return for name in self.buffer_data.keys(): split_name = name.split('.', 1) - if not split_name[0] in self.sheet_colnames: - self.sheet_colnames.append(split_name[0]) + if not split_name[1] in self.sheet_rownames: self.sheet_rownames.append(split_name[1]) - self.sheet_data = pd.DataFrame(columns = self.sheet_colnames, index = self.sheet_rownames) + self.sheet_data = pd.DataFrame(index = self.sheet_rownames) + self.full_data = pd.DataFrame(index = self.sheet_rownames) if self.Gui_For_Data: self.Gui_For_Data.Init_by_dataframe(self.sheet_data) + def ready_for_end(self): super().ready_for_end() - # self.log_data = pd.DataFrame(dict([ (k,pd.Series(v)) for k,v in self.buffer_data.items() ])) - #with self.info: print(self.name, 'ready') - for col_name in self.sheet_colnames: - for row_name in self.sheet_rownames: - key_name = col_name + '.' + row_name - value = self.buffer_data[key_name] - self.sheet_data.at[row_name, col_name] = value - #self.sheet_data.to_clipboard() - csv_str = self.sheet_data.to_csv() - pyperclip.copy(csv_str) - #copyDF(self.sheet_data) + for name, value in self.buffer_data.items(): + split_name = name.split('.', 1) + col_name = split_name[0] + if not col_name in self.sheet_data.columns: + self.sheet_data[col_name] = '' + self.full_data[col_name] = '' + #with self.info: + # print(split_name[1], col_name, value) + # TODO Hier wird immer das erste Ausgegeben das sollt variable sein + self.sheet_data.at[split_name[1], col_name] = value[0] + self.full_data.at[split_name[1], col_name] = value + + csv_text = self.sheet_data.to_csv(sep = ';') + self._download_class.set_button(csv_text) if self.Gui_For_Data: - #with self.info: print(self.Gui_For_Data.name, 'ready_2') self.Gui_For_Data.ready_for_end() + class log_dataframe(nowo.port_base): - def __init__(self, name: str, GUI : bool = False, **kwargs): - super().__init__(name, GUI, **kwargs) + def __init__(self, name: str, init_methode : str = 'normal', **kwargs): + super().__init__(name, init_methode, **kwargs) self.log_data: pd.DataFrame = pd.DataFrame() def clear_buffer(self): diff --git a/nowo1_sim_binary.py b/nowo1_sim_binary.py index 953e140..3fa6333 100644 --- a/nowo1_sim_binary.py +++ b/nowo1_sim_binary.py @@ -9,19 +9,20 @@ from IPython.display import display class binary_node(nowo.sim_base): - def __init__(self, name: str, **kwargs): + def __init__(self, name: str, + init_methode : str = 'normal', **kwargs): kwargs.update({'ch_type' : nowo.gate_general}) - super().__init__(name, **kwargs) + super().__init__(name, init_methode, **kwargs) self.Gate_A = nowo.gate_general('Gate_A', self) self.Gate_B = nowo.gate_general('Gate_B', self) - self.Gate_A_B = nowo.gate_general('Gate_A_B', self) + self.Gate_C = nowo.gate_general('Gate_C', self) self.A_ratio = nowo.sim_value('A_ratio', self, (float, int,)) self.B_ratio = nowo.sim_value('B_ratio', self, (float, int,)) self.A_portion = nowo.sim_value('A_portion', self, (float, int,)) self.B_portion = nowo.sim_value('B_portion', self, (float, int,)) - self.Info = nowo.sim_value('Info', self, (str,)) + #self.Info = nowo.sim_value('Info', self, (str,)) self.calcflag : bool = True self._value_key : np.byte = 0b00000000 @@ -34,7 +35,7 @@ class binary_node(nowo.sim_base): self._value_keys : dict = { 'A' : 0b01000000, 'B' : 0b00100000, - 'A_B': 0b00010000, + 'C': 0b00010000, 'A_ratio': 0b00001000, 'B_ratio': 0b00000100, 'A_portion':0b00000010, @@ -44,45 +45,65 @@ class binary_node(nowo.sim_base): self._funcgate.update({ self.Calc_A : self.Gate_A, self.Calc_B : self.Gate_B, - self.Calc_A_B : self.Gate_A_B + self.Calc_C : self.Gate_C }) + def _sync_fullname(self): + self.Gate_A.general._get_fullname() + self.Gate_B.general._get_fullname() + self.Gate_C.general._get_fullname() + self.A_ratio._get_fullname() + self.B_ratio._get_fullname() + self.A_portion._get_fullname() + self.B_portion._get_fullname() + super()._sync_fullname() + + + def _create_gui(self): - options =[('Strom A', 'A'), - ('Strom B', 'B'), - ('Summe A und B', 'A_B'), - ('Verhältnis A', 'A_ratio'), - ('Verhältnis B', 'B_ratio'), - ('Anteil A', 'A_portion'), - ('Anteil B', 'B_portion') + # if self._GUI_is_create: return + options =[ + (self.Gate_A.alias_name + '.' + self.Gate_A.general.alias_name, 'A'), + (self.Gate_B.alias_name + '.' + self.Gate_B.general.alias_name, 'B'), + (self.Gate_C.alias_name + '.' + self.Gate_C.general.alias_name, 'C'), + (self.A_ratio.alias_name, 'A_ratio'), + (self.B_ratio.alias_name, 'B_ratio'), + (self.A_portion.alias_name, 'A_portion'), + (self.B_portion.alias_name, 'B_portion'), ] - layout_select = widgets.Layout(width='100%') - layout_valbox = widgets.Layout(padding = '1em 0 0 0', background_color='red') - - val_label_1 = widgets.Label(value='extensive Größe:') + + layout_select = widgets.Layout() + layout_valbox = widgets.Layout(padding = '1em 0 0 0') + style_label = widgets.Layout(width = '100px') + + val_label_1 = widgets.HTML( + value='extensive Größe:', + layout = style_label + ) + val_select_1 = widgets.Dropdown(options = options[:3], value='A', - #description='Extensive Größe:', layout = layout_select ) - value_1 = widgets.FloatText(value = 0.0, layout=widgets.Layout(width='15%')) - val_label_2 = widgets.Label(value='extensive oder intensive Größe') + value_1 = widgets.FloatText(value = 1.0) + val1_box = widgets.HBox([val_label_1, widgets.VBox([val_select_1, value_1])]) + + + val_label_2 = widgets.HTML( + value='extensive oder <br> intensive Größe', + layout = style_label + ) val_select_2 = widgets.Dropdown(options = options, - value='B', - #description='extensive oder intensive Größe:', + value='B', layout = layout_select) - value_2 = widgets.FloatText(value = 0.0, layout=widgets.Layout(width='15%')) + value_2 = widgets.FloatText(value = 1.0) - val1_box = widgets.VBox([val_label_1, widgets.HBox([val_select_1, value_1])], - background_color='red') - val2_box = widgets.VBox([val_label_2, widgets.HBox([val_select_2, value_2])], layout = layout_valbox) + + val2_box = widgets.HBox([val_label_2, widgets.VBox([val_select_2, value_2])], layout = layout_valbox) - - total_box = widgets.VBox([val1_box, val2_box], background_color='red') - self._GUI_itemlist.update({ 'val_select_1' : val_select_1, 'value_1' : value_1, @@ -90,51 +111,58 @@ class binary_node(nowo.sim_base): 'value_2' : value_2, }) super()._create_gui()# Attention! --must-- because the widget get a parent attr. - return total_box + + self.total_box.children = (val1_box, val2_box, *self.total_box.children) + self.total_box.layout.width = '60%' - def Init_Over_GUI(self): + + def Init_By_GUI(self): + + super().Init_By_GUI() para = { self._GUI_itemlist['val_select_1'].value : self._GUI_itemlist['value_1'].value, self._GUI_itemlist['val_select_2'].value : self._GUI_itemlist['value_2'].value } + self.Init(**para) + def Init(self, A = np.nan, B = np.nan, - A_B = np.nan, + C = np.nan, A_ratio = np.nan, B_ratio = np.nan, A_portion = np.nan, B_portion = np.nan, ): - - super().Init() + + super().Init(para_from_Init = locals()) self._value_key = 0b00000000 self.Gate_A.general.Init(A) self.Gate_B.general.Init(B) - self.Gate_A_B.general.Init(A_B) + self.Gate_C.general.Init(C) self.A_ratio.Init(A_ratio) self.B_ratio.Init(B_ratio) self.A_portion.Init(A_portion) self.B_portion.Init(B_portion) - self.Info.Init('kein Kommentar') - self.Info._value = 'Oh mann' + #self.Info.Init('kein Kommentar') + #self.Info._value = 'Oh mann' def _set_values(self): if not self._korr_key & 0b01000000: self.A = np.nan if not self._korr_key & 0b00100000: self.B = np.nan - if not self._korr_key & 0b00010000: self.A_B = np.nan + if not self._korr_key & 0b00010000: self.C = np.nan if not self._korr_key & 0b00001000: self.A_ratio = np.nan if not self._korr_key & 0b00000100: self.B_ratio = np.nan if not self._korr_key & 0b00000010: self.A_portion = np.nan if not self._korr_key & 0b00000001: self.B_portion = np.nan - # es muss mindestens ein A oder B oder A_B vorhanden sein aber nicht mehr wie zwei + # es muss mindestens ein A oder B oder C vorhanden sein aber nicht mehr wie zwei def _check_values(self, stepper : nowo.step_base): # Build zahl bei values count : int = 0 @@ -144,8 +172,8 @@ class binary_node(nowo.sim_base): if not np.isnan(self.Gate_B.general.get_set(stepper)): self._value_key = self._value_key |self._value_keys['B'] count = count + 1 - if not np.isnan(self.Gate_A_B.general.get_set(stepper)): - self._value_key = self._value_key |self._value_keys['A_B'] + if not np.isnan(self.Gate_C.general.get_set(stepper)): + self._value_key = self._value_key |self._value_keys['C'] count = count + 1 if not np.isnan(self.A_ratio.get_set(stepper)): self._value_key = self._value_key |self._value_keys['A_ratio'] @@ -161,15 +189,15 @@ class binary_node(nowo.sim_base): count = count + 1 if count < 2: - self.Info._value = 'Es müssen mind. 2 unterschiedliche Werte angeben werden' + # self.Info._value = 'Es müssen mind. 2 unterschiedliche Werte angeben werden' return False elif count > 2: - self.Info._value = 'Es dürfen nicht mehr als 2 unterschiedliche Werte angeben werden' + # self.Info._value = 'Es dürfen nicht mehr als 2 unterschiedliche Werte angeben werden' return False # Abfrage ob wenigstens eine Masse vorhanden ist if self._value_key < 16: - self.Info._value = 'Es muss min. ein Strom (A, B oder A_B) angegeben werden' + # self.Info._value = 'Es muss min. ein Strom (A, B oder C) angegeben werden' return False return True @@ -185,9 +213,9 @@ class binary_node(nowo.sim_base): return self.Gate_B - def Calc_A_B(self, stepper : nowo.step_base, Gate_In: nowo.gate_general): + def Calc_C(self, stepper : nowo.step_base, Gate_In: nowo.gate_general): self._calc(stepper, Gate_In) - return self.Gate_A_B + return self.Gate_C def _calc(self, stepper : nowo.step_base, Gate_In: nowo.gate_general): @@ -201,7 +229,7 @@ class binary_node(nowo.sim_base): self._calc_B_portion() self._calc_A() self._calc_B() - self._calc_A_B() + self._calc_C() def _set_calcflag(self, flag): @@ -225,11 +253,11 @@ class binary_node(nowo.sim_base): elif self._value_keys['A'] & self._value_key and self._value_keys['B'] & self._value_key: self.A_ratio._value = self.Gate_A.general._value / self.Gate_B.general._value - elif self._value_keys['A_B'] & self._value_key and self._value_keys['A'] & self._value_key: - self.A_ratio._value = self.Gate_A.general._value / (self.Gate_A_B.general._value - self.Gate_A.general._value) + elif self._value_keys['C'] & self._value_key and self._value_keys['A'] & self._value_key: + self.A_ratio._value = self.Gate_A.general._value / (self.Gate_C.general._value - self.Gate_A.general._value) - elif self._value_keys['A_B'] & self._value_key and self._value_keys['B'] & self._value_key: - self.A_ratio._value = (self.Gate_A_B.general._value - self.Gate_B.general._value) / self.B + elif self._value_keys['C'] & self._value_key and self._value_keys['B'] & self._value_key: + self.A_ratio._value = (self.Gate_C.general._value - self.Gate_B.general._value) / self.B else: self._set_calcflag(False) @@ -299,11 +327,11 @@ class binary_node(nowo.sim_base): elif self._value_keys['A'] & self._value_key and self._value_keys['B'] & self._value_key: self.B_ratio._value = self.Gate_B.general._value / self.Gate_A.general._value - elif self._value_keys['A_B'] & self._value_key and self._value_keys['B'] & self._value_key: - self.B_ratio._value = self.Gate_B.general._value / (self.Gate_A_B.general._value - self.Gate_B.general._value) + elif self._value_keys['C'] & self._value_key and self._value_keys['B'] & self._value_key: + self.B_ratio._value = self.Gate_B.general._value / (self.Gate_C.general._value - self.Gate_B.general._value) - elif self._value_keys['A_B'] & self._value_key and self._value_keys['A'] & self._value_key: - self.B_ratio._value = (self.Gate_A_B.general._value - self.Gate_A.general._value) / self.Gate_A.general._value + elif self._value_keys['C'] & self._value_key and self._value_keys['A'] & self._value_key: + self.B_ratio._value = (self.Gate_C.general._value - self.Gate_A.general._value) / self.Gate_A.general._value else: self._set_calcflag(False) return @@ -323,14 +351,14 @@ class binary_node(nowo.sim_base): return try: - if self._value_keys['A_B'] & self._value_key and self._value_keys['B'] & self._value_key: - self.Gate_A.general._value = (self.Gate_A_B.general._value - self.B) + if self._value_keys['C'] & self._value_key and self._value_keys['B'] & self._value_key: + self.Gate_A.general._value = (self.Gate_C.general._value - self.Gate_B.general._value) - elif self._value_keys['A_B'] & self._value_key and self._value_keys['A_portion'] & self._value_key: - self.Gate_A.general._value = (self.Gate_A_B.general._value * self.A_portion._value) + elif self._value_keys['C'] & self._value_key and self._value_keys['A_portion'] & self._value_key: + self.Gate_A.general._value = (self.Gate_C.general._value * self.A_portion._value) - elif self._value_keys['A_B'] & self._value_key and self._value_keys['A_ratio'] & self._value_key: - self.Gate_A.general._value = (self.Gate_A_B.general._value * self.A_portion._value) + elif self._value_keys['C'] & self._value_key and self._value_keys['A_ratio'] & self._value_key: + self.Gate_A.general._value = (self.Gate_C.general._value * self.A_portion._value) elif self._value_keys['B'] & self._value_key and self._value_keys['A_ratio'] & self._value_key: self.Gate_A.general._value = (self.Gate_B.general._value * self.A_ratio._value) @@ -354,10 +382,10 @@ class binary_node(nowo.sim_base): return try: - if self._value_keys['A_B'] & self._value_key and self._value_keys['A'] & self._value_key: - self.Gate_B.general._value = (self.Gate_A_B.general._value - self.Gate_A.general._value) - elif self._value_keys['A_B'] & self._value_key and self._value_keys['B_portion'] & self._value_key: - self.Gate_B.general._value = (self.Gate_A_B.general._value * self.B_portion._value) + if self._value_keys['C'] & self._value_key and self._value_keys['A'] & self._value_key: + self.Gate_B.general._value = (self.Gate_C.general._value - self.Gate_A.general._value) + elif self._value_keys['C'] & self._value_key and self._value_keys['B_portion'] & self._value_key: + self.Gate_B.general._value = (self.Gate_C.general._value * self.B_portion._value) elif self._value_keys['A'] & self._value_key and self._value_keys['B_ratio'] & self._value_key: self.Gate_B.general._value = (self.Gate_A.general._value * self.B_ratio._value) @@ -375,15 +403,15 @@ class binary_node(nowo.sim_base): - def _calc_A_B(self): - if self._value_keys['A_B'] & self._value_key: + def _calc_C(self): + if self._value_keys['C'] & self._value_key: self._set_calcflag(False) return if self._value_keys['A'] & self._value_key and self._value_keys['B'] & self._value_key: - self.Gate_A_B.general._value = (self.Gate_A.general._value + self.Gate_B.general._value) + self.Gate_C.general._value = (self.Gate_A.general._value + self.Gate_B.general._value) self._set_calcflag(True) - self._value_key = self._value_key | self._value_keys['A_B'] + self._value_key = self._value_key | self._value_keys['C'] return self._set_calcflag(False) @@ -391,16 +419,16 @@ class binary_node(nowo.sim_base): def _reset(self): self.Gate_A._reset() self.Gate_B._reset() - self.Gate_A_B._reset() + self.Gate_C._reset() super()._reset() def _node_success(self, stepper: nowo.step_base): self.Gate_A._node_success(stepper) self.Gate_B._node_success(stepper) - self.Gate_A_B._node_success(stepper) + self.Gate_C._node_success(stepper) self.A_ratio._node_success(stepper) self.B_ratio._node_success(stepper) self.A_portion._node_success(stepper) self.B_portion._node_success(stepper) - self.Info._node_success(stepper) \ No newline at end of file + # self.Info._node_success(stepper) \ No newline at end of file diff --git a/pics/Knotenmodell_Basis_Vers_1.svg b/pics/Knotenmodell_Basis_Vers_1.svg new file mode 100644 index 0000000..f1d319c --- /dev/null +++ b/pics/Knotenmodell_Basis_Vers_1.svg @@ -0,0 +1,2642 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="210mm" + height="148mm" + viewBox="0 0 210 148.00001" + version="1.1" + id="svg5" + inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)" + sodipodi:docname="Knotenmodell_Basis_Vers_1.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns:xlink="http://www.w3.org/1999/xlink" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <title + id="title28684">Knotenmodell_Basis</title> + <sodipodi:namedview + id="namedview7" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:document-units="mm" + showgrid="false" + showguides="true" + inkscape:guide-bbox="true" + inkscape:snap-nodes="false" + inkscape:object-paths="true" + inkscape:snap-intersection-paths="true" + inkscape:snap-smooth-nodes="true" + inkscape:snap-midpoints="true" + inkscape:snap-object-midpoints="false" + inkscape:snap-center="false" + inkscape:snap-text-baseline="true" + inkscape:snap-bbox="true" + inkscape:bbox-paths="false" + inkscape:bbox-nodes="true" + inkscape:snap-bbox-edge-midpoints="false" + inkscape:snap-bbox-midpoints="false" + inkscape:zoom="1" + inkscape:cx="615.5" + inkscape:cy="380" + inkscape:window-width="1920" + inkscape:window-height="1018" + inkscape:window-x="-6" + inkscape:window-y="-6" + inkscape:window-maximized="1" + inkscape:current-layer="layer3" + inkscape:snap-global="true" + inkscape:snap-grids="false" + inkscape:snap-others="false" + inkscape:snap-page="true"> + <sodipodi:guide + position="103.8786,74.642438" + orientation="0,-1" + id="guide48961" /> + <sodipodi:guide + position="0,148.00001" + orientation="0,793.70079" + id="guide90110" /> + <sodipodi:guide + position="210.00001,148.00001" + orientation="559.37008,0" + id="guide90112" /> + <sodipodi:guide + position="210.00001,0" + orientation="0,-793.70079" + id="guide90114" /> + <sodipodi:guide + position="0,0" + orientation="-559.37008,0" + id="guide90116" /> + <sodipodi:guide + position="121.68889,100.85927" + orientation="1,0" + id="guide90862" /> + <sodipodi:guide + position="204.22433,132.12941" + orientation="1,0" + id="guide90864" /> + </sodipodi:namedview> + <defs + id="defs2"> + <path + id="MJX-32-TEX-I-42" + d="m 231,637 q -27,0 -32,1 -5,1 -5,11 0,27 11,33 1,1 130,1 259,0 273,-2 63,-10 105,-45 42,-35 43,-92 0,-64 -58,-115 -58,-51 -133,-69 l -10,-3 q 64,-9 105,-46 41,-37 42,-92 Q 702,146 630,78 558,10 453,1 446,0 242,0 42,0 39,2 q -4,3 -4,8 0,7 2,14 5,19 10,21 4,1 15,1 h 6 q 27,0 60,3 14,3 19,12 3,4 72,278 69,274 69,289 0,7 -57,9 z m 418,-93 q 0,30 -15,56 -15,26 -49,34 -7,2 -92,3 -20,0 -42,0 -22,0 -35,-1 h -13 q -15,-1 -19,-10 -2,-4 -32,-120 0,-3 -1,-6 L 320,374 h 81 q 81,0 93,2 60,10 107,58 47,48 48,110 z M 595,229 q 0,44 -23,73 -23,29 -60,34 -6,1 -83,1 -118,0 -119,-1 0,-2 -17,-73 -17,-71 -35,-141 L 240,52 q 0,-4 12,-4 12,0 81,-2 89,0 96,1 62,7 114,58 52,51 52,124 z" /> + <path + id="MJX-32-TEX-I-65" + d="m 39,168 q 0,57 19,104 19,47 49,78 30,31 67,52 37,21 70,31 33,10 63,9 h 3 q 45,0 78,-22 33,-22 33,-65 0,-90 -111,-118 -49,-13 -134,-14 -37,0 -38,-2 0,-2 -6,-35 -6,-33 -7,-58 0,-47 21,-74 21,-27 63,-28 42,-1 93,19 51,20 92,66 9,10 12,10 4,0 13,-9 9,-9 10,-14 1,-5 -9,-16 Q 410,71 390,55 370,39 344,24 318,9 281,-1 244,-11 205,-11 126,-11 83,42 40,95 39,168 Z m 334,185 q -6,52 -68,52 -33,0 -61,-14 -28,-14 -45,-34 -17,-20 -29,-41 -12,-21 -16,-36 -4,-15 -5,-19 0,-1 20,-1 113,0 158,24 45,24 46,69 z" /> + <path + id="MJX-32-TEX-I-6C" + d="m 117,59 q 0,-33 25,-33 37,0 63,105 6,20 10,21 2,1 10,1 h 4 q 9,0 12,0 3,0 5,-2 2,-2 2,-7 -1,-6 -3,-16 Q 243,118 234,90 225,62 214,43 203,24 183,6 163,-12 137,-11 101,-11 70,11 39,33 38,85 q 0,12 1,17 l 65,258 q 63,255 63,263 0,3 -1,5 -1,2 -4,4 -3,2 -5,2 -2,0 -8,1 -6,1 -8,1 -2,0 -9,1 -7,1 -10,0 -10,0 -13,0 -3,0 -8,1 -5,1 -6,3 -1,2 -1,6 0,2 2,14 5,19 11,21 6,2 72,6 15,1 34,2 19,1 30,3 11,2 11,1 12,0 12,-8 0,-11 -73,-300 -73,-289 -75,-303 0,-2 0,-8 0,-6 -1,-10 z" /> + <path + id="MJX-32-TEX-I-61" + d="m 33,157 q 0,101 76,192 76,91 171,92 51,0 90,-49 16,30 46,30 13,0 23,-8 10,-8 10,-20 0,-13 -37,-160 -37,-147 -38,-166 0,-25 7,-33 7,-8 21,-9 9,1 20,9 21,20 41,96 6,20 10,21 2,1 10,1 h 4 q 19,0 19,-9 0,-6 -5,-27 Q 496,96 481,63 466,30 449,13 436,0 417,-8 q -8,-2 -24,-2 -34,0 -57,15 -23,15 -30,31 l -6,15 q -1,1 -4,-1 -2,-2 -4,-4 -59,-56 -120,-56 -55,0 -97,40 -42,40 -42,127 z m 318,171 q 0,6 -5,22 -5,16 -23,35 -18,19 -46,20 -35,0 -67,-31 -32,-31 -50,-81 -29,-79 -41,-164 0,-3 0,-11 0,-8 -1,-12 0,-45 18,-62 18,-17 43,-18 38,0 75,33 37,33 44,51 2,4 27,107 25,103 26,111 z" /> + <path + id="MJX-32-TEX-I-64" + d="m 366,683 q 1,0 72,5 71,5 73,6 12,0 12,-8 0,-7 -73,-302 -73,-295 -75,-301 -2,-6 -1,-15 0,-42 28,-42 9,1 20,9 21,20 41,96 6,20 10,21 2,1 10,1 h 4 4 q 15,0 15,-8 0,-5 -3,-16 Q 490,79 473,48 456,17 445,8 434,-1 417,-8 q -8,-2 -24,-2 -34,0 -57,15 -23,15 -30,31 l -6,15 q -1,1 -4,-1 -2,-2 -4,-4 -59,-56 -120,-56 -55,0 -97,40 -42,40 -42,127 0,48 20,98 20,50 48,86 47,57 94,79 47,22 85,22 56,0 84,-42 5,-6 5,-4 1,4 27,109 26,105 28,111 0,13 -7,16 -7,3 -39,5 h -21 q -6,6 -6,8 0,2 2,19 5,19 13,19 z M 352,326 q -23,79 -75,79 -35,0 -67,-31 -32,-31 -50,-81 -29,-79 -41,-164 0,-3 0,-11 0,-8 -1,-12 0,-45 18,-62 18,-17 43,-18 54,0 111,72 l 8,11 z" /> + <path + id="MJX-32-TEX-I-75" + d="m 21,287 q 0,8 9,31 9,23 25,52 16,29 44,50 28,21 59,22 46,0 69,-25 23,-25 23,-59 0,-18 -34,-112 -34,-94 -34,-141 0,-43 14,-60 14,-17 42,-18 28,-1 53,17 25,18 37,34 l 11,17 q 2,4 38,152 30,120 36,140 6,20 14,29 17,15 36,15 17,0 25,-10 8,-10 8,-19 L 420,84 q -1,-5 -1,-16 0,-25 7,-33 7,-8 21,-9 22,3 35,31 13,28 30,88 2,8 20,8 19,0 19,-9 -1,-5 -2,-14 -1,-9 -9,-32 -8,-23 -17,-43 -9,-20 -25,-38 -16,-18 -36,-25 -8,-2 -24,-2 -66,0 -91,56 -2,-1 -11,-10 -9,-9 -18,-15 -9,-6 -22,-15 -13,-9 -29,-12 -16,-3 -34,-5 -44,0 -78,18 -52,31 -52,106 0,57 35,149 35,92 35,117 0,1 0,2 0,9 0,12 0,3 -4,7 -4,4 -11,4 h -4 Q 131,404 112,385 93,366 82,344 71,322 65,302 59,282 57,280 55,278 41,278 H 27 q -6,6 -6,9 z" /> + <path + id="MJX-32-TEX-I-6E" + d="m 21,287 q 1,6 3,16 2,10 12,38 10,28 20,47 10,19 33,37 23,18 46,17 36,0 60,-18 24,-18 30,-34 6,-16 6,-21 0,-2 1,-2 l 11,11 q 61,64 139,64 54,0 87,-27 33,-27 34,-79 1,-52 -38,-157 -39,-105 -38,-127 0,-26 17,-26 6,0 9,1 29,5 52,38 23,33 35,80 2,8 20,8 20,0 20,-8 0,-1 -4,-15 -8,-29 -22,-57 -14,-28 -46,-56 -32,-28 -69,-27 -47,0 -68,27 -21,27 -21,56 0,19 36,120 36,101 37,152 0,59 -44,59 h -5 Q 288,404 229,303 L 222,291 189,157 Q 156,26 151,16 138,-11 108,-11 95,-11 87,-5 79,1 76,7 q -3,6 -2,10 0,13 38,163 38,150 40,163 1,5 1,23 0,39 -24,39 -38,0 -63,-100 -6,-20 -6,-21 -2,-6 -19,-6 H 27 q -6,6 -6,9 z" /> + <path + id="MJX-32-TEX-I-67" + d="M 311,43 Q 296,30 267,15 238,0 206,0 143,0 105,45 67,90 66,160 q 0,105 77,193 77,88 171,89 47,0 87,-48 l 3,4 q 2,3 5,6 3,3 9,8 6,5 13,7 7,2 16,3 14,0 23,-9 9,-9 10,-19 0,-15 -57,-242 -57,-227 -60,-232 -18,-54 -77,-89 -59,-35 -135,-36 -141,0 -141,68 0,26 18,46 18,20 46,20 15,0 28,-9 13,-9 14,-31 0,-10 -2,-19 -2,-9 -7,-14 -5,-5 -8,-10 -3,-5 -7,-8 l -2,-2 h 1 q 10,-3 60,-3 38,0 60,12 23,11 43,33 20,22 28,47 6,19 16,62 13,48 13,56 z m 73,285 -4,11 q -3,11 -5,15 -2,4 -6,14 -4,10 -10,14 -6,4 -13,11 -7,7 -18,9 -11,2 -22,3 -44,0 -85,-53 -30,-39 -50,-119 -20,-80 -20,-116 0,-79 62,-79 56,0 110,70 l 8,10 z" /> + <path + id="MJX-32-TEX-I-41" + d="m 208,74 q 0,-24 46,-28 18,0 18,-11 0,-1 -2,-13 Q 267,8 264,4 261,0 251,0 249,0 239,0 229,0 205,1 181,2 141,2 70,2 50,0 h -8 q -7,7 -7,11 2,27 13,35 h 14 q 70,3 102,50 6,6 181,305 175,299 178,303 7,12 24,12 h 8 17 q 6,-9 6,-10 l 28,-323 q 28,-323 30,-326 5,-11 65,-11 25,0 25,-10 0,-2 -3,-14 Q 720,7 718,4 716,1 704,0 701,0 690,0 679,0 651,1 623,2 578,2 484,2 455,0 h -12 q -6,6 -6,9 0,3 2,18 4,13 6,16 l 4,3 h 20 q 54,3 64,17 L 521,213 H 283 L 249,155 Q 208,86 208,74 Z m 308,186 q 0,11 -12,156 -12,145 -14,146 L 463,519 Q 447,492 400,412 l -90,-152 103,-1 q 103,0 103,1 z" /> + <path + id="MJX-32-TEX-N-3D" + d="m 56,347 q 0,13 14,20 h 637 q 15,-8 15,-20 0,-11 -14,-19 L 390,327 H 72 q -16,5 -16,20 z m 0,-194 q 0,15 16,20 h 636 q 14,-10 14,-20 0,-13 -15,-20 H 70 q -14,7 -14,20 z" /> + <path + id="MJX-35-TEX-I-42" + d="m 231,637 q -27,0 -32,1 -5,1 -5,11 0,27 11,33 1,1 130,1 259,0 273,-2 63,-10 105,-45 42,-35 43,-92 0,-64 -58,-115 -58,-51 -133,-69 l -10,-3 q 64,-9 105,-46 41,-37 42,-92 Q 702,146 630,78 558,10 453,1 446,0 242,0 42,0 39,2 q -4,3 -4,8 0,7 2,14 5,19 10,21 4,1 15,1 h 6 q 27,0 60,3 14,3 19,12 3,4 72,278 69,274 69,289 0,7 -57,9 z m 418,-93 q 0,30 -15,56 -15,26 -49,34 -7,2 -92,3 -20,0 -42,0 -22,0 -35,-1 h -13 q -15,-1 -19,-10 -2,-4 -32,-120 0,-3 -1,-6 L 320,374 h 81 q 81,0 93,2 60,10 107,58 47,48 48,110 z M 595,229 q 0,44 -23,73 -23,29 -60,34 -6,1 -83,1 -118,0 -119,-1 0,-2 -17,-73 -17,-71 -35,-141 L 240,52 q 0,-4 12,-4 12,0 81,-2 89,0 96,1 62,7 114,58 52,51 52,124 z" /> + <path + id="MJX-35-TEX-I-65" + d="m 39,168 q 0,57 19,104 19,47 49,78 30,31 67,52 37,21 70,31 33,10 63,9 h 3 q 45,0 78,-22 33,-22 33,-65 0,-90 -111,-118 -49,-13 -134,-14 -37,0 -38,-2 0,-2 -6,-35 -6,-33 -7,-58 0,-47 21,-74 21,-27 63,-28 42,-1 93,19 51,20 92,66 9,10 12,10 4,0 13,-9 9,-9 10,-14 1,-5 -9,-16 Q 410,71 390,55 370,39 344,24 318,9 281,-1 244,-11 205,-11 126,-11 83,42 40,95 39,168 Z m 334,185 q -6,52 -68,52 -33,0 -61,-14 -28,-14 -45,-34 -17,-20 -29,-41 -12,-21 -16,-36 -4,-15 -5,-19 0,-1 20,-1 113,0 158,24 45,24 46,69 z" /> + <path + id="MJX-35-TEX-I-6C" + d="m 117,59 q 0,-33 25,-33 37,0 63,105 6,20 10,21 2,1 10,1 h 4 q 9,0 12,0 3,0 5,-2 2,-2 2,-7 -1,-6 -3,-16 Q 243,118 234,90 225,62 214,43 203,24 183,6 163,-12 137,-11 101,-11 70,11 39,33 38,85 q 0,12 1,17 l 65,258 q 63,255 63,263 0,3 -1,5 -1,2 -4,4 -3,2 -5,2 -2,0 -8,1 -6,1 -8,1 -2,0 -9,1 -7,1 -10,0 -10,0 -13,0 -3,0 -8,1 -5,1 -6,3 -1,2 -1,6 0,2 2,14 5,19 11,21 6,2 72,6 15,1 34,2 19,1 30,3 11,2 11,1 12,0 12,-8 0,-11 -73,-300 -73,-289 -75,-303 0,-2 0,-8 0,-6 -1,-10 z" /> + <path + id="MJX-35-TEX-I-61" + d="m 33,157 q 0,101 76,192 76,91 171,92 51,0 90,-49 16,30 46,30 13,0 23,-8 10,-8 10,-20 0,-13 -37,-160 -37,-147 -38,-166 0,-25 7,-33 7,-8 21,-9 9,1 20,9 21,20 41,96 6,20 10,21 2,1 10,1 h 4 q 19,0 19,-9 0,-6 -5,-27 Q 496,96 481,63 466,30 449,13 436,0 417,-8 q -8,-2 -24,-2 -34,0 -57,15 -23,15 -30,31 l -6,15 q -1,1 -4,-1 -2,-2 -4,-4 -59,-56 -120,-56 -55,0 -97,40 -42,40 -42,127 z m 318,171 q 0,6 -5,22 -5,16 -23,35 -18,19 -46,20 -35,0 -67,-31 -32,-31 -50,-81 -29,-79 -41,-164 0,-3 0,-11 0,-8 -1,-12 0,-45 18,-62 18,-17 43,-18 38,0 75,33 37,33 44,51 2,4 27,107 25,103 26,111 z" /> + <path + id="MJX-35-TEX-I-64" + d="m 366,683 q 1,0 72,5 71,5 73,6 12,0 12,-8 0,-7 -73,-302 -73,-295 -75,-301 -2,-6 -1,-15 0,-42 28,-42 9,1 20,9 21,20 41,96 6,20 10,21 2,1 10,1 h 4 4 q 15,0 15,-8 0,-5 -3,-16 Q 490,79 473,48 456,17 445,8 434,-1 417,-8 q -8,-2 -24,-2 -34,0 -57,15 -23,15 -30,31 l -6,15 q -1,1 -4,-1 -2,-2 -4,-4 -59,-56 -120,-56 -55,0 -97,40 -42,40 -42,127 0,48 20,98 20,50 48,86 47,57 94,79 47,22 85,22 56,0 84,-42 5,-6 5,-4 1,4 27,109 26,105 28,111 0,13 -7,16 -7,3 -39,5 h -21 q -6,6 -6,8 0,2 2,19 5,19 13,19 z M 352,326 q -23,79 -75,79 -35,0 -67,-31 -32,-31 -50,-81 -29,-79 -41,-164 0,-3 0,-11 0,-8 -1,-12 0,-45 18,-62 18,-17 43,-18 54,0 111,72 l 8,11 z" /> + <path + id="MJX-35-TEX-I-75" + d="m 21,287 q 0,8 9,31 9,23 25,52 16,29 44,50 28,21 59,22 46,0 69,-25 23,-25 23,-59 0,-18 -34,-112 -34,-94 -34,-141 0,-43 14,-60 14,-17 42,-18 28,-1 53,17 25,18 37,34 l 11,17 q 2,4 38,152 30,120 36,140 6,20 14,29 17,15 36,15 17,0 25,-10 8,-10 8,-19 L 420,84 q -1,-5 -1,-16 0,-25 7,-33 7,-8 21,-9 22,3 35,31 13,28 30,88 2,8 20,8 19,0 19,-9 -1,-5 -2,-14 -1,-9 -9,-32 -8,-23 -17,-43 -9,-20 -25,-38 -16,-18 -36,-25 -8,-2 -24,-2 -66,0 -91,56 -2,-1 -11,-10 -9,-9 -18,-15 -9,-6 -22,-15 -13,-9 -29,-12 -16,-3 -34,-5 -44,0 -78,18 -52,31 -52,106 0,57 35,149 35,92 35,117 0,1 0,2 0,9 0,12 0,3 -4,7 -4,4 -11,4 h -4 Q 131,404 112,385 93,366 82,344 71,322 65,302 59,282 57,280 55,278 41,278 H 27 q -6,6 -6,9 z" /> + <path + id="MJX-35-TEX-I-6E" + d="m 21,287 q 1,6 3,16 2,10 12,38 10,28 20,47 10,19 33,37 23,18 46,17 36,0 60,-18 24,-18 30,-34 6,-16 6,-21 0,-2 1,-2 l 11,11 q 61,64 139,64 54,0 87,-27 33,-27 34,-79 1,-52 -38,-157 -39,-105 -38,-127 0,-26 17,-26 6,0 9,1 29,5 52,38 23,33 35,80 2,8 20,8 20,0 20,-8 0,-1 -4,-15 -8,-29 -22,-57 -14,-28 -46,-56 -32,-28 -69,-27 -47,0 -68,27 -21,27 -21,56 0,19 36,120 36,101 37,152 0,59 -44,59 h -5 Q 288,404 229,303 L 222,291 189,157 Q 156,26 151,16 138,-11 108,-11 95,-11 87,-5 79,1 76,7 q -3,6 -2,10 0,13 38,163 38,150 40,163 1,5 1,23 0,39 -24,39 -38,0 -63,-100 -6,-20 -6,-21 -2,-6 -19,-6 H 27 q -6,6 -6,9 z" /> + <path + id="MJX-35-TEX-I-67" + d="M 311,43 Q 296,30 267,15 238,0 206,0 143,0 105,45 67,90 66,160 q 0,105 77,193 77,88 171,89 47,0 87,-48 l 3,4 q 2,3 5,6 3,3 9,8 6,5 13,7 7,2 16,3 14,0 23,-9 9,-9 10,-19 0,-15 -57,-242 -57,-227 -60,-232 -18,-54 -77,-89 -59,-35 -135,-36 -141,0 -141,68 0,26 18,46 18,20 46,20 15,0 28,-9 13,-9 14,-31 0,-10 -2,-19 -2,-9 -7,-14 -5,-5 -8,-10 -3,-5 -7,-8 l -2,-2 h 1 q 10,-3 60,-3 38,0 60,12 23,11 43,33 20,22 28,47 6,19 16,62 13,48 13,56 z m 73,285 -4,11 q -3,11 -5,15 -2,4 -6,14 -4,10 -10,14 -6,4 -13,11 -7,7 -18,9 -11,2 -22,3 -44,0 -85,-53 -30,-39 -50,-119 -20,-80 -20,-116 0,-79 62,-79 56,0 110,70 l 8,10 z" /> + <path + id="MJX-35-TEX-N-3D" + d="m 56,347 q 0,13 14,20 h 637 q 15,-8 15,-20 0,-11 -14,-19 L 390,327 H 72 q -16,5 -16,20 z m 0,-194 q 0,15 16,20 h 636 q 14,-10 14,-20 0,-13 -15,-20 H 70 q -14,7 -14,20 z" /> + <path + id="MJX-35-TEX-I-41" + d="m 208,74 q 0,-24 46,-28 18,0 18,-11 0,-1 -2,-13 Q 267,8 264,4 261,0 251,0 249,0 239,0 229,0 205,1 181,2 141,2 70,2 50,0 h -8 q -7,7 -7,11 2,27 13,35 h 14 q 70,3 102,50 6,6 181,305 175,299 178,303 7,12 24,12 h 8 17 q 6,-9 6,-10 l 28,-323 q 28,-323 30,-326 5,-11 65,-11 25,0 25,-10 0,-2 -3,-14 Q 720,7 718,4 716,1 704,0 701,0 690,0 679,0 651,1 623,2 578,2 484,2 455,0 h -12 q -6,6 -6,9 0,3 2,18 4,13 6,16 l 4,3 h 20 q 54,3 64,17 L 521,213 H 283 L 249,155 Q 208,86 208,74 Z m 308,186 q 0,11 -12,156 -12,145 -14,146 L 463,519 Q 447,492 400,412 l -90,-152 103,-1 q 103,0 103,1 z" /> + <path + id="MJX-38-TEX-I-42" + d="m 231,637 q -27,0 -32,1 -5,1 -5,11 0,27 11,33 1,1 130,1 259,0 273,-2 63,-10 105,-45 42,-35 43,-92 0,-64 -58,-115 -58,-51 -133,-69 l -10,-3 q 64,-9 105,-46 41,-37 42,-92 Q 702,146 630,78 558,10 453,1 446,0 242,0 42,0 39,2 q -4,3 -4,8 0,7 2,14 5,19 10,21 4,1 15,1 h 6 q 27,0 60,3 14,3 19,12 3,4 72,278 69,274 69,289 0,7 -57,9 z m 418,-93 q 0,30 -15,56 -15,26 -49,34 -7,2 -92,3 -20,0 -42,0 -22,0 -35,-1 h -13 q -15,-1 -19,-10 -2,-4 -32,-120 0,-3 -1,-6 L 320,374 h 81 q 81,0 93,2 60,10 107,58 47,48 48,110 z M 595,229 q 0,44 -23,73 -23,29 -60,34 -6,1 -83,1 -118,0 -119,-1 0,-2 -17,-73 -17,-71 -35,-141 L 240,52 q 0,-4 12,-4 12,0 81,-2 89,0 96,1 62,7 114,58 52,51 52,124 z" /> + <path + id="MJX-38-TEX-I-65" + d="m 39,168 q 0,57 19,104 19,47 49,78 30,31 67,52 37,21 70,31 33,10 63,9 h 3 q 45,0 78,-22 33,-22 33,-65 0,-90 -111,-118 -49,-13 -134,-14 -37,0 -38,-2 0,-2 -6,-35 -6,-33 -7,-58 0,-47 21,-74 21,-27 63,-28 42,-1 93,19 51,20 92,66 9,10 12,10 4,0 13,-9 9,-9 10,-14 1,-5 -9,-16 Q 410,71 390,55 370,39 344,24 318,9 281,-1 244,-11 205,-11 126,-11 83,42 40,95 39,168 Z m 334,185 q -6,52 -68,52 -33,0 -61,-14 -28,-14 -45,-34 -17,-20 -29,-41 -12,-21 -16,-36 -4,-15 -5,-19 0,-1 20,-1 113,0 158,24 45,24 46,69 z" /> + <path + id="MJX-38-TEX-I-6C" + d="m 117,59 q 0,-33 25,-33 37,0 63,105 6,20 10,21 2,1 10,1 h 4 q 9,0 12,0 3,0 5,-2 2,-2 2,-7 -1,-6 -3,-16 Q 243,118 234,90 225,62 214,43 203,24 183,6 163,-12 137,-11 101,-11 70,11 39,33 38,85 q 0,12 1,17 l 65,258 q 63,255 63,263 0,3 -1,5 -1,2 -4,4 -3,2 -5,2 -2,0 -8,1 -6,1 -8,1 -2,0 -9,1 -7,1 -10,0 -10,0 -13,0 -3,0 -8,1 -5,1 -6,3 -1,2 -1,6 0,2 2,14 5,19 11,21 6,2 72,6 15,1 34,2 19,1 30,3 11,2 11,1 12,0 12,-8 0,-11 -73,-300 -73,-289 -75,-303 0,-2 0,-8 0,-6 -1,-10 z" /> + <path + id="MJX-38-TEX-I-61" + d="m 33,157 q 0,101 76,192 76,91 171,92 51,0 90,-49 16,30 46,30 13,0 23,-8 10,-8 10,-20 0,-13 -37,-160 -37,-147 -38,-166 0,-25 7,-33 7,-8 21,-9 9,1 20,9 21,20 41,96 6,20 10,21 2,1 10,1 h 4 q 19,0 19,-9 0,-6 -5,-27 Q 496,96 481,63 466,30 449,13 436,0 417,-8 q -8,-2 -24,-2 -34,0 -57,15 -23,15 -30,31 l -6,15 q -1,1 -4,-1 -2,-2 -4,-4 -59,-56 -120,-56 -55,0 -97,40 -42,40 -42,127 z m 318,171 q 0,6 -5,22 -5,16 -23,35 -18,19 -46,20 -35,0 -67,-31 -32,-31 -50,-81 -29,-79 -41,-164 0,-3 0,-11 0,-8 -1,-12 0,-45 18,-62 18,-17 43,-18 38,0 75,33 37,33 44,51 2,4 27,107 25,103 26,111 z" /> + <path + id="MJX-38-TEX-I-64" + d="m 366,683 q 1,0 72,5 71,5 73,6 12,0 12,-8 0,-7 -73,-302 -73,-295 -75,-301 -2,-6 -1,-15 0,-42 28,-42 9,1 20,9 21,20 41,96 6,20 10,21 2,1 10,1 h 4 4 q 15,0 15,-8 0,-5 -3,-16 Q 490,79 473,48 456,17 445,8 434,-1 417,-8 q -8,-2 -24,-2 -34,0 -57,15 -23,15 -30,31 l -6,15 q -1,1 -4,-1 -2,-2 -4,-4 -59,-56 -120,-56 -55,0 -97,40 -42,40 -42,127 0,48 20,98 20,50 48,86 47,57 94,79 47,22 85,22 56,0 84,-42 5,-6 5,-4 1,4 27,109 26,105 28,111 0,13 -7,16 -7,3 -39,5 h -21 q -6,6 -6,8 0,2 2,19 5,19 13,19 z M 352,326 q -23,79 -75,79 -35,0 -67,-31 -32,-31 -50,-81 -29,-79 -41,-164 0,-3 0,-11 0,-8 -1,-12 0,-45 18,-62 18,-17 43,-18 54,0 111,72 l 8,11 z" /> + <path + id="MJX-38-TEX-I-75" + d="m 21,287 q 0,8 9,31 9,23 25,52 16,29 44,50 28,21 59,22 46,0 69,-25 23,-25 23,-59 0,-18 -34,-112 -34,-94 -34,-141 0,-43 14,-60 14,-17 42,-18 28,-1 53,17 25,18 37,34 l 11,17 q 2,4 38,152 30,120 36,140 6,20 14,29 17,15 36,15 17,0 25,-10 8,-10 8,-19 L 420,84 q -1,-5 -1,-16 0,-25 7,-33 7,-8 21,-9 22,3 35,31 13,28 30,88 2,8 20,8 19,0 19,-9 -1,-5 -2,-14 -1,-9 -9,-32 -8,-23 -17,-43 -9,-20 -25,-38 -16,-18 -36,-25 -8,-2 -24,-2 -66,0 -91,56 -2,-1 -11,-10 -9,-9 -18,-15 -9,-6 -22,-15 -13,-9 -29,-12 -16,-3 -34,-5 -44,0 -78,18 -52,31 -52,106 0,57 35,149 35,92 35,117 0,1 0,2 0,9 0,12 0,3 -4,7 -4,4 -11,4 h -4 Q 131,404 112,385 93,366 82,344 71,322 65,302 59,282 57,280 55,278 41,278 H 27 q -6,6 -6,9 z" /> + <path + id="MJX-38-TEX-I-6E" + d="m 21,287 q 1,6 3,16 2,10 12,38 10,28 20,47 10,19 33,37 23,18 46,17 36,0 60,-18 24,-18 30,-34 6,-16 6,-21 0,-2 1,-2 l 11,11 q 61,64 139,64 54,0 87,-27 33,-27 34,-79 1,-52 -38,-157 -39,-105 -38,-127 0,-26 17,-26 6,0 9,1 29,5 52,38 23,33 35,80 2,8 20,8 20,0 20,-8 0,-1 -4,-15 -8,-29 -22,-57 -14,-28 -46,-56 -32,-28 -69,-27 -47,0 -68,27 -21,27 -21,56 0,19 36,120 36,101 37,152 0,59 -44,59 h -5 Q 288,404 229,303 L 222,291 189,157 Q 156,26 151,16 138,-11 108,-11 95,-11 87,-5 79,1 76,7 q -3,6 -2,10 0,13 38,163 38,150 40,163 1,5 1,23 0,39 -24,39 -38,0 -63,-100 -6,-20 -6,-21 -2,-6 -19,-6 H 27 q -6,6 -6,9 z" /> + <path + id="MJX-38-TEX-I-67" + d="M 311,43 Q 296,30 267,15 238,0 206,0 143,0 105,45 67,90 66,160 q 0,105 77,193 77,88 171,89 47,0 87,-48 l 3,4 q 2,3 5,6 3,3 9,8 6,5 13,7 7,2 16,3 14,0 23,-9 9,-9 10,-19 0,-15 -57,-242 -57,-227 -60,-232 -18,-54 -77,-89 -59,-35 -135,-36 -141,0 -141,68 0,26 18,46 18,20 46,20 15,0 28,-9 13,-9 14,-31 0,-10 -2,-19 -2,-9 -7,-14 -5,-5 -8,-10 -3,-5 -7,-8 l -2,-2 h 1 q 10,-3 60,-3 38,0 60,12 23,11 43,33 20,22 28,47 6,19 16,62 13,48 13,56 z m 73,285 -4,11 q -3,11 -5,15 -2,4 -6,14 -4,10 -10,14 -6,4 -13,11 -7,7 -18,9 -11,2 -22,3 -44,0 -85,-53 -30,-39 -50,-119 -20,-80 -20,-116 0,-79 62,-79 56,0 110,70 l 8,10 z" /> + <path + id="MJX-38-TEX-I-43" + d="m 50,252 q 0,115 67,221 67,106 169,168 102,62 204,63 90,0 143,-51 9,-10 15,-17 6,-7 8,-10 l 1,-3 q 3,0 27,26 7,6 15,14 8,8 16,16 8,8 10,11 l 15,15 h 6 q 14,0 14,-7 0,-4 -32,-137 -36,-139 -36,-140 -2,-5 -5,-6 -3,-1 -18,-2 h -16 q -6,6 -6,9 0,1 1,7 1,6 2,20 1,14 1,32 0,71 -32,124 -32,53 -109,54 -26,0 -56,-7 -30,-7 -72,-24 -42,-17 -83,-56 -41,-39 -73,-93 -32,-57 -51,-133 -19,-76 -19,-124 0,-114 76,-164 48,-34 118,-34 91,0 162,68 71,68 94,148 4,13 6,15 2,2 16,2 20,0 20,-9 0,-5 -1,-9 Q 618,132 523,55 428,-22 319,-22 206,-22 128,53 50,128 50,252 Z" /> + <path + id="MJX-38-TEX-N-3D" + d="m 56,347 q 0,13 14,20 h 637 q 15,-8 15,-20 0,-11 -14,-19 L 390,327 H 72 q -16,5 -16,20 z m 0,-194 q 0,15 16,20 h 636 q 14,-10 14,-20 0,-13 -15,-20 H 70 q -14,7 -14,20 z" /> + <path + id="MJX-38-TEX-I-41" + d="m 208,74 q 0,-24 46,-28 18,0 18,-11 0,-1 -2,-13 Q 267,8 264,4 261,0 251,0 249,0 239,0 229,0 205,1 181,2 141,2 70,2 50,0 h -8 q -7,7 -7,11 2,27 13,35 h 14 q 70,3 102,50 6,6 181,305 175,299 178,303 7,12 24,12 h 8 17 q 6,-9 6,-10 l 28,-323 q 28,-323 30,-326 5,-11 65,-11 25,0 25,-10 0,-2 -3,-14 Q 720,7 718,4 716,1 704,0 701,0 690,0 679,0 651,1 623,2 578,2 484,2 455,0 h -12 q -6,6 -6,9 0,3 2,18 4,13 6,16 l 4,3 h 20 q 54,3 64,17 L 521,213 H 283 L 249,155 Q 208,86 208,74 Z m 308,186 q 0,11 -12,156 -12,145 -14,146 L 463,519 Q 447,492 400,412 l -90,-152 103,-1 q 103,0 103,1 z" /> + <path + id="MJX-39-TEX-I-42" + d="m 231,637 q -27,0 -32,1 -5,1 -5,11 0,27 11,33 1,1 130,1 259,0 273,-2 63,-10 105,-45 42,-35 43,-92 0,-64 -58,-115 -58,-51 -133,-69 l -10,-3 q 64,-9 105,-46 41,-37 42,-92 Q 702,146 630,78 558,10 453,1 446,0 242,0 42,0 39,2 q -4,3 -4,8 0,7 2,14 5,19 10,21 4,1 15,1 h 6 q 27,0 60,3 14,3 19,12 3,4 72,278 69,274 69,289 0,7 -57,9 z m 418,-93 q 0,30 -15,56 -15,26 -49,34 -7,2 -92,3 -20,0 -42,0 -22,0 -35,-1 h -13 q -15,-1 -19,-10 -2,-4 -32,-120 0,-3 -1,-6 L 320,374 h 81 q 81,0 93,2 60,10 107,58 47,48 48,110 z M 595,229 q 0,44 -23,73 -23,29 -60,34 -6,1 -83,1 -118,0 -119,-1 0,-2 -17,-73 -17,-71 -35,-141 L 240,52 q 0,-4 12,-4 12,0 81,-2 89,0 96,1 62,7 114,58 52,51 52,124 z" /> + <path + id="MJX-39-TEX-I-65" + d="m 39,168 q 0,57 19,104 19,47 49,78 30,31 67,52 37,21 70,31 33,10 63,9 h 3 q 45,0 78,-22 33,-22 33,-65 0,-90 -111,-118 -49,-13 -134,-14 -37,0 -38,-2 0,-2 -6,-35 -6,-33 -7,-58 0,-47 21,-74 21,-27 63,-28 42,-1 93,19 51,20 92,66 9,10 12,10 4,0 13,-9 9,-9 10,-14 1,-5 -9,-16 Q 410,71 390,55 370,39 344,24 318,9 281,-1 244,-11 205,-11 126,-11 83,42 40,95 39,168 Z m 334,185 q -6,52 -68,52 -33,0 -61,-14 -28,-14 -45,-34 -17,-20 -29,-41 -12,-21 -16,-36 -4,-15 -5,-19 0,-1 20,-1 113,0 158,24 45,24 46,69 z" /> + <path + id="MJX-39-TEX-I-6C" + d="m 117,59 q 0,-33 25,-33 37,0 63,105 6,20 10,21 2,1 10,1 h 4 q 9,0 12,0 3,0 5,-2 2,-2 2,-7 -1,-6 -3,-16 Q 243,118 234,90 225,62 214,43 203,24 183,6 163,-12 137,-11 101,-11 70,11 39,33 38,85 q 0,12 1,17 l 65,258 q 63,255 63,263 0,3 -1,5 -1,2 -4,4 -3,2 -5,2 -2,0 -8,1 -6,1 -8,1 -2,0 -9,1 -7,1 -10,0 -10,0 -13,0 -3,0 -8,1 -5,1 -6,3 -1,2 -1,6 0,2 2,14 5,19 11,21 6,2 72,6 15,1 34,2 19,1 30,3 11,2 11,1 12,0 12,-8 0,-11 -73,-300 -73,-289 -75,-303 0,-2 0,-8 0,-6 -1,-10 z" /> + <path + id="MJX-39-TEX-I-61" + d="m 33,157 q 0,101 76,192 76,91 171,92 51,0 90,-49 16,30 46,30 13,0 23,-8 10,-8 10,-20 0,-13 -37,-160 -37,-147 -38,-166 0,-25 7,-33 7,-8 21,-9 9,1 20,9 21,20 41,96 6,20 10,21 2,1 10,1 h 4 q 19,0 19,-9 0,-6 -5,-27 Q 496,96 481,63 466,30 449,13 436,0 417,-8 q -8,-2 -24,-2 -34,0 -57,15 -23,15 -30,31 l -6,15 q -1,1 -4,-1 -2,-2 -4,-4 -59,-56 -120,-56 -55,0 -97,40 -42,40 -42,127 z m 318,171 q 0,6 -5,22 -5,16 -23,35 -18,19 -46,20 -35,0 -67,-31 -32,-31 -50,-81 -29,-79 -41,-164 0,-3 0,-11 0,-8 -1,-12 0,-45 18,-62 18,-17 43,-18 38,0 75,33 37,33 44,51 2,4 27,107 25,103 26,111 z" /> + <path + id="MJX-39-TEX-I-64" + d="m 366,683 q 1,0 72,5 71,5 73,6 12,0 12,-8 0,-7 -73,-302 -73,-295 -75,-301 -2,-6 -1,-15 0,-42 28,-42 9,1 20,9 21,20 41,96 6,20 10,21 2,1 10,1 h 4 4 q 15,0 15,-8 0,-5 -3,-16 Q 490,79 473,48 456,17 445,8 434,-1 417,-8 q -8,-2 -24,-2 -34,0 -57,15 -23,15 -30,31 l -6,15 q -1,1 -4,-1 -2,-2 -4,-4 -59,-56 -120,-56 -55,0 -97,40 -42,40 -42,127 0,48 20,98 20,50 48,86 47,57 94,79 47,22 85,22 56,0 84,-42 5,-6 5,-4 1,4 27,109 26,105 28,111 0,13 -7,16 -7,3 -39,5 h -21 q -6,6 -6,8 0,2 2,19 5,19 13,19 z M 352,326 q -23,79 -75,79 -35,0 -67,-31 -32,-31 -50,-81 -29,-79 -41,-164 0,-3 0,-11 0,-8 -1,-12 0,-45 18,-62 18,-17 43,-18 54,0 111,72 l 8,11 z" /> + <path + id="MJX-39-TEX-I-75" + d="m 21,287 q 0,8 9,31 9,23 25,52 16,29 44,50 28,21 59,22 46,0 69,-25 23,-25 23,-59 0,-18 -34,-112 -34,-94 -34,-141 0,-43 14,-60 14,-17 42,-18 28,-1 53,17 25,18 37,34 l 11,17 q 2,4 38,152 30,120 36,140 6,20 14,29 17,15 36,15 17,0 25,-10 8,-10 8,-19 L 420,84 q -1,-5 -1,-16 0,-25 7,-33 7,-8 21,-9 22,3 35,31 13,28 30,88 2,8 20,8 19,0 19,-9 -1,-5 -2,-14 -1,-9 -9,-32 -8,-23 -17,-43 -9,-20 -25,-38 -16,-18 -36,-25 -8,-2 -24,-2 -66,0 -91,56 -2,-1 -11,-10 -9,-9 -18,-15 -9,-6 -22,-15 -13,-9 -29,-12 -16,-3 -34,-5 -44,0 -78,18 -52,31 -52,106 0,57 35,149 35,92 35,117 0,1 0,2 0,9 0,12 0,3 -4,7 -4,4 -11,4 h -4 Q 131,404 112,385 93,366 82,344 71,322 65,302 59,282 57,280 55,278 41,278 H 27 q -6,6 -6,9 z" /> + <path + id="MJX-39-TEX-I-6E" + d="m 21,287 q 1,6 3,16 2,10 12,38 10,28 20,47 10,19 33,37 23,18 46,17 36,0 60,-18 24,-18 30,-34 6,-16 6,-21 0,-2 1,-2 l 11,11 q 61,64 139,64 54,0 87,-27 33,-27 34,-79 1,-52 -38,-157 -39,-105 -38,-127 0,-26 17,-26 6,0 9,1 29,5 52,38 23,33 35,80 2,8 20,8 20,0 20,-8 0,-1 -4,-15 -8,-29 -22,-57 -14,-28 -46,-56 -32,-28 -69,-27 -47,0 -68,27 -21,27 -21,56 0,19 36,120 36,101 37,152 0,59 -44,59 h -5 Q 288,404 229,303 L 222,291 189,157 Q 156,26 151,16 138,-11 108,-11 95,-11 87,-5 79,1 76,7 q -3,6 -2,10 0,13 38,163 38,150 40,163 1,5 1,23 0,39 -24,39 -38,0 -63,-100 -6,-20 -6,-21 -2,-6 -19,-6 H 27 q -6,6 -6,9 z" /> + <path + id="MJX-39-TEX-I-67" + d="M 311,43 Q 296,30 267,15 238,0 206,0 143,0 105,45 67,90 66,160 q 0,105 77,193 77,88 171,89 47,0 87,-48 l 3,4 q 2,3 5,6 3,3 9,8 6,5 13,7 7,2 16,3 14,0 23,-9 9,-9 10,-19 0,-15 -57,-242 -57,-227 -60,-232 -18,-54 -77,-89 -59,-35 -135,-36 -141,0 -141,68 0,26 18,46 18,20 46,20 15,0 28,-9 13,-9 14,-31 0,-10 -2,-19 -2,-9 -7,-14 -5,-5 -8,-10 -3,-5 -7,-8 l -2,-2 h 1 q 10,-3 60,-3 38,0 60,12 23,11 43,33 20,22 28,47 6,19 16,62 13,48 13,56 z m 73,285 -4,11 q -3,11 -5,15 -2,4 -6,14 -4,10 -10,14 -6,4 -13,11 -7,7 -18,9 -11,2 -22,3 -44,0 -85,-53 -30,-39 -50,-119 -20,-80 -20,-116 0,-79 62,-79 56,0 110,70 l 8,10 z" /> + <path + id="MJX-39-TEX-I-43" + d="m 50,252 q 0,115 67,221 67,106 169,168 102,62 204,63 90,0 143,-51 9,-10 15,-17 6,-7 8,-10 l 1,-3 q 3,0 27,26 7,6 15,14 8,8 16,16 8,8 10,11 l 15,15 h 6 q 14,0 14,-7 0,-4 -32,-137 -36,-139 -36,-140 -2,-5 -5,-6 -3,-1 -18,-2 h -16 q -6,6 -6,9 0,1 1,7 1,6 2,20 1,14 1,32 0,71 -32,124 -32,53 -109,54 -26,0 -56,-7 -30,-7 -72,-24 -42,-17 -83,-56 -41,-39 -73,-93 -32,-57 -51,-133 -19,-76 -19,-124 0,-114 76,-164 48,-34 118,-34 91,0 162,68 71,68 94,148 4,13 6,15 2,2 16,2 20,0 20,-9 0,-5 -1,-9 Q 618,132 523,55 428,-22 319,-22 206,-22 128,53 50,128 50,252 Z" /> + <path + id="MJX-39-TEX-N-3D" + d="m 56,347 q 0,13 14,20 h 637 q 15,-8 15,-20 0,-11 -14,-19 L 390,327 H 72 q -16,5 -16,20 z m 0,-194 q 0,15 16,20 h 636 q 14,-10 14,-20 0,-13 -15,-20 H 70 q -14,7 -14,20 z" /> + <path + id="MJX-54-TEX-I-42" + d="m 231,637 q -27,0 -32,1 -5,1 -5,11 0,27 11,33 1,1 130,1 259,0 273,-2 63,-10 105,-45 42,-35 43,-92 0,-64 -58,-115 -58,-51 -133,-69 l -10,-3 q 64,-9 105,-46 41,-37 42,-92 Q 702,146 630,78 558,10 453,1 446,0 242,0 42,0 39,2 q -4,3 -4,8 0,7 2,14 5,19 10,21 4,1 15,1 h 6 q 27,0 60,3 14,3 19,12 3,4 72,278 69,274 69,289 0,7 -57,9 z m 418,-93 q 0,30 -15,56 -15,26 -49,34 -7,2 -92,3 -20,0 -42,0 -22,0 -35,-1 h -13 q -15,-1 -19,-10 -2,-4 -32,-120 0,-3 -1,-6 L 320,374 h 81 q 81,0 93,2 60,10 107,58 47,48 48,110 z M 595,229 q 0,44 -23,73 -23,29 -60,34 -6,1 -83,1 -118,0 -119,-1 0,-2 -17,-73 -17,-71 -35,-141 L 240,52 q 0,-4 12,-4 12,0 81,-2 89,0 96,1 62,7 114,58 52,51 52,124 z" /> + <path + id="MJX-54-TEX-I-65" + d="m 39,168 q 0,57 19,104 19,47 49,78 30,31 67,52 37,21 70,31 33,10 63,9 h 3 q 45,0 78,-22 33,-22 33,-65 0,-90 -111,-118 -49,-13 -134,-14 -37,0 -38,-2 0,-2 -6,-35 -6,-33 -7,-58 0,-47 21,-74 21,-27 63,-28 42,-1 93,19 51,20 92,66 9,10 12,10 4,0 13,-9 9,-9 10,-14 1,-5 -9,-16 Q 410,71 390,55 370,39 344,24 318,9 281,-1 244,-11 205,-11 126,-11 83,42 40,95 39,168 Z m 334,185 q -6,52 -68,52 -33,0 -61,-14 -28,-14 -45,-34 -17,-20 -29,-41 -12,-21 -16,-36 -4,-15 -5,-19 0,-1 20,-1 113,0 158,24 45,24 46,69 z" /> + <path + id="MJX-54-TEX-I-6C" + d="m 117,59 q 0,-33 25,-33 37,0 63,105 6,20 10,21 2,1 10,1 h 4 q 9,0 12,0 3,0 5,-2 2,-2 2,-7 -1,-6 -3,-16 Q 243,118 234,90 225,62 214,43 203,24 183,6 163,-12 137,-11 101,-11 70,11 39,33 38,85 q 0,12 1,17 l 65,258 q 63,255 63,263 0,3 -1,5 -1,2 -4,4 -3,2 -5,2 -2,0 -8,1 -6,1 -8,1 -2,0 -9,1 -7,1 -10,0 -10,0 -13,0 -3,0 -8,1 -5,1 -6,3 -1,2 -1,6 0,2 2,14 5,19 11,21 6,2 72,6 15,1 34,2 19,1 30,3 11,2 11,1 12,0 12,-8 0,-11 -73,-300 -73,-289 -75,-303 0,-2 0,-8 0,-6 -1,-10 z" /> + <path + id="MJX-54-TEX-I-61" + d="m 33,157 q 0,101 76,192 76,91 171,92 51,0 90,-49 16,30 46,30 13,0 23,-8 10,-8 10,-20 0,-13 -37,-160 -37,-147 -38,-166 0,-25 7,-33 7,-8 21,-9 9,1 20,9 21,20 41,96 6,20 10,21 2,1 10,1 h 4 q 19,0 19,-9 0,-6 -5,-27 Q 496,96 481,63 466,30 449,13 436,0 417,-8 q -8,-2 -24,-2 -34,0 -57,15 -23,15 -30,31 l -6,15 q -1,1 -4,-1 -2,-2 -4,-4 -59,-56 -120,-56 -55,0 -97,40 -42,40 -42,127 z m 318,171 q 0,6 -5,22 -5,16 -23,35 -18,19 -46,20 -35,0 -67,-31 -32,-31 -50,-81 -29,-79 -41,-164 0,-3 0,-11 0,-8 -1,-12 0,-45 18,-62 18,-17 43,-18 38,0 75,33 37,33 44,51 2,4 27,107 25,103 26,111 z" /> + <path + id="MJX-54-TEX-I-64" + d="m 366,683 q 1,0 72,5 71,5 73,6 12,0 12,-8 0,-7 -73,-302 -73,-295 -75,-301 -2,-6 -1,-15 0,-42 28,-42 9,1 20,9 21,20 41,96 6,20 10,21 2,1 10,1 h 4 4 q 15,0 15,-8 0,-5 -3,-16 Q 490,79 473,48 456,17 445,8 434,-1 417,-8 q -8,-2 -24,-2 -34,0 -57,15 -23,15 -30,31 l -6,15 q -1,1 -4,-1 -2,-2 -4,-4 -59,-56 -120,-56 -55,0 -97,40 -42,40 -42,127 0,48 20,98 20,50 48,86 47,57 94,79 47,22 85,22 56,0 84,-42 5,-6 5,-4 1,4 27,109 26,105 28,111 0,13 -7,16 -7,3 -39,5 h -21 q -6,6 -6,8 0,2 2,19 5,19 13,19 z M 352,326 q -23,79 -75,79 -35,0 -67,-31 -32,-31 -50,-81 -29,-79 -41,-164 0,-3 0,-11 0,-8 -1,-12 0,-45 18,-62 18,-17 43,-18 54,0 111,72 l 8,11 z" /> + <path + id="MJX-54-TEX-I-75" + d="m 21,287 q 0,8 9,31 9,23 25,52 16,29 44,50 28,21 59,22 46,0 69,-25 23,-25 23,-59 0,-18 -34,-112 -34,-94 -34,-141 0,-43 14,-60 14,-17 42,-18 28,-1 53,17 25,18 37,34 l 11,17 q 2,4 38,152 30,120 36,140 6,20 14,29 17,15 36,15 17,0 25,-10 8,-10 8,-19 L 420,84 q -1,-5 -1,-16 0,-25 7,-33 7,-8 21,-9 22,3 35,31 13,28 30,88 2,8 20,8 19,0 19,-9 -1,-5 -2,-14 -1,-9 -9,-32 -8,-23 -17,-43 -9,-20 -25,-38 -16,-18 -36,-25 -8,-2 -24,-2 -66,0 -91,56 -2,-1 -11,-10 -9,-9 -18,-15 -9,-6 -22,-15 -13,-9 -29,-12 -16,-3 -34,-5 -44,0 -78,18 -52,31 -52,106 0,57 35,149 35,92 35,117 0,1 0,2 0,9 0,12 0,3 -4,7 -4,4 -11,4 h -4 Q 131,404 112,385 93,366 82,344 71,322 65,302 59,282 57,280 55,278 41,278 H 27 q -6,6 -6,9 z" /> + <path + id="MJX-54-TEX-I-6E" + d="m 21,287 q 1,6 3,16 2,10 12,38 10,28 20,47 10,19 33,37 23,18 46,17 36,0 60,-18 24,-18 30,-34 6,-16 6,-21 0,-2 1,-2 l 11,11 q 61,64 139,64 54,0 87,-27 33,-27 34,-79 1,-52 -38,-157 -39,-105 -38,-127 0,-26 17,-26 6,0 9,1 29,5 52,38 23,33 35,80 2,8 20,8 20,0 20,-8 0,-1 -4,-15 -8,-29 -22,-57 -14,-28 -46,-56 -32,-28 -69,-27 -47,0 -68,27 -21,27 -21,56 0,19 36,120 36,101 37,152 0,59 -44,59 h -5 Q 288,404 229,303 L 222,291 189,157 Q 156,26 151,16 138,-11 108,-11 95,-11 87,-5 79,1 76,7 q -3,6 -2,10 0,13 38,163 38,150 40,163 1,5 1,23 0,39 -24,39 -38,0 -63,-100 -6,-20 -6,-21 -2,-6 -19,-6 H 27 q -6,6 -6,9 z" /> + <path + id="MJX-54-TEX-I-67" + d="M 311,43 Q 296,30 267,15 238,0 206,0 143,0 105,45 67,90 66,160 q 0,105 77,193 77,88 171,89 47,0 87,-48 l 3,4 q 2,3 5,6 3,3 9,8 6,5 13,7 7,2 16,3 14,0 23,-9 9,-9 10,-19 0,-15 -57,-242 -57,-227 -60,-232 -18,-54 -77,-89 -59,-35 -135,-36 -141,0 -141,68 0,26 18,46 18,20 46,20 15,0 28,-9 13,-9 14,-31 0,-10 -2,-19 -2,-9 -7,-14 -5,-5 -8,-10 -3,-5 -7,-8 l -2,-2 h 1 q 10,-3 60,-3 38,0 60,12 23,11 43,33 20,22 28,47 6,19 16,62 13,48 13,56 z m 73,285 -4,11 q -3,11 -5,15 -2,4 -6,14 -4,10 -10,14 -6,4 -13,11 -7,7 -18,9 -11,2 -22,3 -44,0 -85,-53 -30,-39 -50,-119 -20,-80 -20,-116 0,-79 62,-79 56,0 110,70 l 8,10 z" /> + <path + id="MJX-54-TEX-I-41" + d="m 208,74 q 0,-24 46,-28 18,0 18,-11 0,-1 -2,-13 Q 267,8 264,4 261,0 251,0 249,0 239,0 229,0 205,1 181,2 141,2 70,2 50,0 h -8 q -7,7 -7,11 2,27 13,35 h 14 q 70,3 102,50 6,6 181,305 175,299 178,303 7,12 24,12 h 8 17 q 6,-9 6,-10 l 28,-323 q 28,-323 30,-326 5,-11 65,-11 25,0 25,-10 0,-2 -3,-14 Q 720,7 718,4 716,1 704,0 701,0 690,0 679,0 651,1 623,2 578,2 484,2 455,0 h -12 q -6,6 -6,9 0,3 2,18 4,13 6,16 l 4,3 h 20 q 54,3 64,17 L 521,213 H 283 L 249,155 Q 208,86 208,74 Z m 308,186 q 0,11 -12,156 -12,145 -14,146 L 463,519 Q 447,492 400,412 l -90,-152 103,-1 q 103,0 103,1 z" /> + <path + id="MJX-54-TEX-N-3D" + d="m 56,347 q 0,13 14,20 h 637 q 15,-8 15,-20 0,-11 -14,-19 L 390,327 H 72 q -16,5 -16,20 z m 0,-194 q 0,15 16,20 h 636 q 14,-10 14,-20 0,-13 -15,-20 H 70 q -14,7 -14,20 z" /> + <path + id="MJX-54-TEX-I-43" + d="m 50,252 q 0,115 67,221 67,106 169,168 102,62 204,63 90,0 143,-51 9,-10 15,-17 6,-7 8,-10 l 1,-3 q 3,0 27,26 7,6 15,14 8,8 16,16 8,8 10,11 l 15,15 h 6 q 14,0 14,-7 0,-4 -32,-137 -36,-139 -36,-140 -2,-5 -5,-6 -3,-1 -18,-2 h -16 q -6,6 -6,9 0,1 1,7 1,6 2,20 1,14 1,32 0,71 -32,124 -32,53 -109,54 -26,0 -56,-7 -30,-7 -72,-24 -42,-17 -83,-56 -41,-39 -73,-93 -32,-57 -51,-133 -19,-76 -19,-124 0,-114 76,-164 48,-34 118,-34 91,0 162,68 71,68 94,148 4,13 6,15 2,2 16,2 20,0 20,-9 0,-5 -1,-9 Q 618,132 523,55 428,-22 319,-22 206,-22 128,53 50,128 50,252 Z" /> + <path + id="MJX-59-TEX-I-42" + d="m 231,637 q -27,0 -32,1 -5,1 -5,11 0,27 11,33 1,1 130,1 259,0 273,-2 63,-10 105,-45 42,-35 43,-92 0,-64 -58,-115 -58,-51 -133,-69 l -10,-3 q 64,-9 105,-46 41,-37 42,-92 Q 702,146 630,78 558,10 453,1 446,0 242,0 42,0 39,2 q -4,3 -4,8 0,7 2,14 5,19 10,21 4,1 15,1 h 6 q 27,0 60,3 14,3 19,12 3,4 72,278 69,274 69,289 0,7 -57,9 z m 418,-93 q 0,30 -15,56 -15,26 -49,34 -7,2 -92,3 -20,0 -42,0 -22,0 -35,-1 h -13 q -15,-1 -19,-10 -2,-4 -32,-120 0,-3 -1,-6 L 320,374 h 81 q 81,0 93,2 60,10 107,58 47,48 48,110 z M 595,229 q 0,44 -23,73 -23,29 -60,34 -6,1 -83,1 -118,0 -119,-1 0,-2 -17,-73 -17,-71 -35,-141 L 240,52 q 0,-4 12,-4 12,0 81,-2 89,0 96,1 62,7 114,58 52,51 52,124 z" /> + <path + id="MJX-59-TEX-I-65" + d="m 39,168 q 0,57 19,104 19,47 49,78 30,31 67,52 37,21 70,31 33,10 63,9 h 3 q 45,0 78,-22 33,-22 33,-65 0,-90 -111,-118 -49,-13 -134,-14 -37,0 -38,-2 0,-2 -6,-35 -6,-33 -7,-58 0,-47 21,-74 21,-27 63,-28 42,-1 93,19 51,20 92,66 9,10 12,10 4,0 13,-9 9,-9 10,-14 1,-5 -9,-16 Q 410,71 390,55 370,39 344,24 318,9 281,-1 244,-11 205,-11 126,-11 83,42 40,95 39,168 Z m 334,185 q -6,52 -68,52 -33,0 -61,-14 -28,-14 -45,-34 -17,-20 -29,-41 -12,-21 -16,-36 -4,-15 -5,-19 0,-1 20,-1 113,0 158,24 45,24 46,69 z" /> + <path + id="MJX-59-TEX-I-6C" + d="m 117,59 q 0,-33 25,-33 37,0 63,105 6,20 10,21 2,1 10,1 h 4 q 9,0 12,0 3,0 5,-2 2,-2 2,-7 -1,-6 -3,-16 Q 243,118 234,90 225,62 214,43 203,24 183,6 163,-12 137,-11 101,-11 70,11 39,33 38,85 q 0,12 1,17 l 65,258 q 63,255 63,263 0,3 -1,5 -1,2 -4,4 -3,2 -5,2 -2,0 -8,1 -6,1 -8,1 -2,0 -9,1 -7,1 -10,0 -10,0 -13,0 -3,0 -8,1 -5,1 -6,3 -1,2 -1,6 0,2 2,14 5,19 11,21 6,2 72,6 15,1 34,2 19,1 30,3 11,2 11,1 12,0 12,-8 0,-11 -73,-300 -73,-289 -75,-303 0,-2 0,-8 0,-6 -1,-10 z" /> + <path + id="MJX-59-TEX-I-61" + d="m 33,157 q 0,101 76,192 76,91 171,92 51,0 90,-49 16,30 46,30 13,0 23,-8 10,-8 10,-20 0,-13 -37,-160 -37,-147 -38,-166 0,-25 7,-33 7,-8 21,-9 9,1 20,9 21,20 41,96 6,20 10,21 2,1 10,1 h 4 q 19,0 19,-9 0,-6 -5,-27 Q 496,96 481,63 466,30 449,13 436,0 417,-8 q -8,-2 -24,-2 -34,0 -57,15 -23,15 -30,31 l -6,15 q -1,1 -4,-1 -2,-2 -4,-4 -59,-56 -120,-56 -55,0 -97,40 -42,40 -42,127 z m 318,171 q 0,6 -5,22 -5,16 -23,35 -18,19 -46,20 -35,0 -67,-31 -32,-31 -50,-81 -29,-79 -41,-164 0,-3 0,-11 0,-8 -1,-12 0,-45 18,-62 18,-17 43,-18 38,0 75,33 37,33 44,51 2,4 27,107 25,103 26,111 z" /> + <path + id="MJX-59-TEX-I-64" + d="m 366,683 q 1,0 72,5 71,5 73,6 12,0 12,-8 0,-7 -73,-302 -73,-295 -75,-301 -2,-6 -1,-15 0,-42 28,-42 9,1 20,9 21,20 41,96 6,20 10,21 2,1 10,1 h 4 4 q 15,0 15,-8 0,-5 -3,-16 Q 490,79 473,48 456,17 445,8 434,-1 417,-8 q -8,-2 -24,-2 -34,0 -57,15 -23,15 -30,31 l -6,15 q -1,1 -4,-1 -2,-2 -4,-4 -59,-56 -120,-56 -55,0 -97,40 -42,40 -42,127 0,48 20,98 20,50 48,86 47,57 94,79 47,22 85,22 56,0 84,-42 5,-6 5,-4 1,4 27,109 26,105 28,111 0,13 -7,16 -7,3 -39,5 h -21 q -6,6 -6,8 0,2 2,19 5,19 13,19 z M 352,326 q -23,79 -75,79 -35,0 -67,-31 -32,-31 -50,-81 -29,-79 -41,-164 0,-3 0,-11 0,-8 -1,-12 0,-45 18,-62 18,-17 43,-18 54,0 111,72 l 8,11 z" /> + <path + id="MJX-59-TEX-I-75" + d="m 21,287 q 0,8 9,31 9,23 25,52 16,29 44,50 28,21 59,22 46,0 69,-25 23,-25 23,-59 0,-18 -34,-112 -34,-94 -34,-141 0,-43 14,-60 14,-17 42,-18 28,-1 53,17 25,18 37,34 l 11,17 q 2,4 38,152 30,120 36,140 6,20 14,29 17,15 36,15 17,0 25,-10 8,-10 8,-19 L 420,84 q -1,-5 -1,-16 0,-25 7,-33 7,-8 21,-9 22,3 35,31 13,28 30,88 2,8 20,8 19,0 19,-9 -1,-5 -2,-14 -1,-9 -9,-32 -8,-23 -17,-43 -9,-20 -25,-38 -16,-18 -36,-25 -8,-2 -24,-2 -66,0 -91,56 -2,-1 -11,-10 -9,-9 -18,-15 -9,-6 -22,-15 -13,-9 -29,-12 -16,-3 -34,-5 -44,0 -78,18 -52,31 -52,106 0,57 35,149 35,92 35,117 0,1 0,2 0,9 0,12 0,3 -4,7 -4,4 -11,4 h -4 Q 131,404 112,385 93,366 82,344 71,322 65,302 59,282 57,280 55,278 41,278 H 27 q -6,6 -6,9 z" /> + <path + id="MJX-59-TEX-I-6E" + d="m 21,287 q 1,6 3,16 2,10 12,38 10,28 20,47 10,19 33,37 23,18 46,17 36,0 60,-18 24,-18 30,-34 6,-16 6,-21 0,-2 1,-2 l 11,11 q 61,64 139,64 54,0 87,-27 33,-27 34,-79 1,-52 -38,-157 -39,-105 -38,-127 0,-26 17,-26 6,0 9,1 29,5 52,38 23,33 35,80 2,8 20,8 20,0 20,-8 0,-1 -4,-15 -8,-29 -22,-57 -14,-28 -46,-56 -32,-28 -69,-27 -47,0 -68,27 -21,27 -21,56 0,19 36,120 36,101 37,152 0,59 -44,59 h -5 Q 288,404 229,303 L 222,291 189,157 Q 156,26 151,16 138,-11 108,-11 95,-11 87,-5 79,1 76,7 q -3,6 -2,10 0,13 38,163 38,150 40,163 1,5 1,23 0,39 -24,39 -38,0 -63,-100 -6,-20 -6,-21 -2,-6 -19,-6 H 27 q -6,6 -6,9 z" /> + <path + id="MJX-59-TEX-I-67" + d="M 311,43 Q 296,30 267,15 238,0 206,0 143,0 105,45 67,90 66,160 q 0,105 77,193 77,88 171,89 47,0 87,-48 l 3,4 q 2,3 5,6 3,3 9,8 6,5 13,7 7,2 16,3 14,0 23,-9 9,-9 10,-19 0,-15 -57,-242 -57,-227 -60,-232 -18,-54 -77,-89 -59,-35 -135,-36 -141,0 -141,68 0,26 18,46 18,20 46,20 15,0 28,-9 13,-9 14,-31 0,-10 -2,-19 -2,-9 -7,-14 -5,-5 -8,-10 -3,-5 -7,-8 l -2,-2 h 1 q 10,-3 60,-3 38,0 60,12 23,11 43,33 20,22 28,47 6,19 16,62 13,48 13,56 z m 73,285 -4,11 q -3,11 -5,15 -2,4 -6,14 -4,10 -10,14 -6,4 -13,11 -7,7 -18,9 -11,2 -22,3 -44,0 -85,-53 -30,-39 -50,-119 -20,-80 -20,-116 0,-79 62,-79 56,0 110,70 l 8,10 z" /> + <path + id="MJX-59-TEX-N-3D" + d="m 56,347 q 0,13 14,20 h 637 q 15,-8 15,-20 0,-11 -14,-19 L 390,327 H 72 q -16,5 -16,20 z m 0,-194 q 0,15 16,20 h 636 q 14,-10 14,-20 0,-13 -15,-20 H 70 q -14,7 -14,20 z" /> + <path + id="MJX-59-TEX-I-43" + d="m 50,252 q 0,115 67,221 67,106 169,168 102,62 204,63 90,0 143,-51 9,-10 15,-17 6,-7 8,-10 l 1,-3 q 3,0 27,26 7,6 15,14 8,8 16,16 8,8 10,11 l 15,15 h 6 q 14,0 14,-7 0,-4 -32,-137 -36,-139 -36,-140 -2,-5 -5,-6 -3,-1 -18,-2 h -16 q -6,6 -6,9 0,1 1,7 1,6 2,20 1,14 1,32 0,71 -32,124 -32,53 -109,54 -26,0 -56,-7 -30,-7 -72,-24 -42,-17 -83,-56 -41,-39 -73,-93 -32,-57 -51,-133 -19,-76 -19,-124 0,-114 76,-164 48,-34 118,-34 91,0 162,68 71,68 94,148 4,13 6,15 2,2 16,2 20,0 20,-9 0,-5 -1,-9 Q 618,132 523,55 428,-22 319,-22 206,-22 128,53 50,128 50,252 Z" /> + <path + id="MJX-67-TEX-I-41" + d="m 208,74 q 0,-24 46,-28 18,0 18,-11 0,-1 -2,-13 Q 267,8 264,4 261,0 251,0 249,0 239,0 229,0 205,1 181,2 141,2 70,2 50,0 h -8 q -7,7 -7,11 2,27 13,35 h 14 q 70,3 102,50 6,6 181,305 175,299 178,303 7,12 24,12 h 8 17 q 6,-9 6,-10 l 28,-323 q 28,-323 30,-326 5,-11 65,-11 25,0 25,-10 0,-2 -3,-14 Q 720,7 718,4 716,1 704,0 701,0 690,0 679,0 651,1 623,2 578,2 484,2 455,0 h -12 q -6,6 -6,9 0,3 2,18 4,13 6,16 l 4,3 h 20 q 54,3 64,17 L 521,213 H 283 L 249,155 Q 208,86 208,74 Z m 308,186 q 0,11 -12,156 -12,145 -14,146 L 463,519 Q 447,492 400,412 l -90,-152 103,-1 q 103,0 103,1 z" /> + <path + id="MJX-67-TEX-I-6E" + d="m 21,287 q 1,6 3,16 2,10 12,38 10,28 20,47 10,19 33,37 23,18 46,17 36,0 60,-18 24,-18 30,-34 6,-16 6,-21 0,-2 1,-2 l 11,11 q 61,64 139,64 54,0 87,-27 33,-27 34,-79 1,-52 -38,-157 -39,-105 -38,-127 0,-26 17,-26 6,0 9,1 29,5 52,38 23,33 35,80 2,8 20,8 20,0 20,-8 0,-1 -4,-15 -8,-29 -22,-57 -14,-28 -46,-56 -32,-28 -69,-27 -47,0 -68,27 -21,27 -21,56 0,19 36,120 36,101 37,152 0,59 -44,59 h -5 Q 288,404 229,303 L 222,291 189,157 Q 156,26 151,16 138,-11 108,-11 95,-11 87,-5 79,1 76,7 q -3,6 -2,10 0,13 38,163 38,150 40,163 1,5 1,23 0,39 -24,39 -38,0 -63,-100 -6,-20 -6,-21 -2,-6 -19,-6 H 27 q -6,6 -6,9 z" /> + <path + id="MJX-67-TEX-I-74" + d="m 26,385 q -7,7 -7,10 0,4 3,16 3,12 5,14 2,5 9,5 7,0 51,1 h 53 l 19,80 q 3,11 7,29 4,18 7,26 3,8 6,20 3,12 8,17 5,5 10,12 5,7 14,9 9,2 18,2 18,-1 25,-11 7,-10 7,-19 0,-7 -9,-47 -9,-40 -20,-79 l -10,-37 q 0,-2 50,-2 h 51 q 7,-7 7,-11 0,-22 -13,-35 H 210 L 174,240 Q 135,80 135,68 q 0,-42 27,-42 35,0 68,34 33,34 53,84 2,6 5,7 3,1 15,2 h 4 q 15,0 15,-8 0,-3 -3,-12 Q 314,117 301,95 288,73 267,48 246,23 216,6 186,-11 155,-11 125,-11 98,4 71,19 59,56 57,64 57,83 v 18 l 35,140 q 35,141 36,142 0,2 -51,2 z" /> + <path + id="MJX-67-TEX-I-65" + d="m 39,168 q 0,57 19,104 19,47 49,78 30,31 67,52 37,21 70,31 33,10 63,9 h 3 q 45,0 78,-22 33,-22 33,-65 0,-90 -111,-118 -49,-13 -134,-14 -37,0 -38,-2 0,-2 -6,-35 -6,-33 -7,-58 0,-47 21,-74 21,-27 63,-28 42,-1 93,19 51,20 92,66 9,10 12,10 4,0 13,-9 9,-9 10,-14 1,-5 -9,-16 Q 410,71 390,55 370,39 344,24 318,9 281,-1 244,-11 205,-11 126,-11 83,42 40,95 39,168 Z m 334,185 q -6,52 -68,52 -33,0 -61,-14 -28,-14 -45,-34 -17,-20 -29,-41 -12,-21 -16,-36 -4,-15 -5,-19 0,-1 20,-1 113,0 158,24 45,24 46,69 z" /> + <path + id="MJX-67-TEX-I-69" + d="m 184,600 q 0,24 19,42 19,18 44,19 18,0 30,-12 12,-12 13,-30 0,-23 -20,-42 -20,-19 -44,-20 -15,0 -28,10 -13,10 -14,33 z M 21,287 q 0,8 9,31 9,23 24,51 15,28 44,51 29,23 60,22 39,0 65,-23 26,-23 27,-62 0,-17 -14,-56 -14,-39 -40,-105 -26,-66 -42,-113 -5,-22 -5,-32 0,-25 17,-25 9,0 19,3 10,3 23,14 13,11 27,35 14,24 25,59 3,12 5,14 2,2 17,2 20,0 20,-10 0,-8 -9,-31 -9,-23 -25,-51 -16,-28 -45,-50 -29,-22 -62,-22 -32,0 -59,21 -27,21 -28,64 0,17 5,32 5,15 43,114 38,101 44,121 6,20 7,39 0,24 -17,24 h -2 q -30,0 -55,-33 -25,-33 -38,-84 -1,-1 -2,-3 -1,-2 -1,-3 0,-1 -2,-2 -2,-1 -3,-1 -1,0 -4,0 -3,0 -8,0 H 27 q -6,6 -6,9 z" /> + <path + id="MJX-67-TEX-I-6C" + d="m 117,59 q 0,-33 25,-33 37,0 63,105 6,20 10,21 2,1 10,1 h 4 q 9,0 12,0 3,0 5,-2 2,-2 2,-7 -1,-6 -3,-16 Q 243,118 234,90 225,62 214,43 203,24 183,6 163,-12 137,-11 101,-11 70,11 39,33 38,85 q 0,12 1,17 l 65,258 q 63,255 63,263 0,3 -1,5 -1,2 -4,4 -3,2 -5,2 -2,0 -8,1 -6,1 -8,1 -2,0 -9,1 -7,1 -10,0 -10,0 -13,0 -3,0 -8,1 -5,1 -6,3 -1,2 -1,6 0,2 2,14 5,19 11,21 6,2 72,6 15,1 34,2 19,1 30,3 11,2 11,1 12,0 12,-8 0,-11 -73,-300 -73,-289 -75,-303 0,-2 0,-8 0,-6 -1,-10 z" /> + <path + id="MJX-67-TEX-I-42" + d="m 231,637 q -27,0 -32,1 -5,1 -5,11 0,27 11,33 1,1 130,1 259,0 273,-2 63,-10 105,-45 42,-35 43,-92 0,-64 -58,-115 -58,-51 -133,-69 l -10,-3 q 64,-9 105,-46 41,-37 42,-92 Q 702,146 630,78 558,10 453,1 446,0 242,0 42,0 39,2 q -4,3 -4,8 0,7 2,14 5,19 10,21 4,1 15,1 h 6 q 27,0 60,3 14,3 19,12 3,4 72,278 69,274 69,289 0,7 -57,9 z m 418,-93 q 0,30 -15,56 -15,26 -49,34 -7,2 -92,3 -20,0 -42,0 -22,0 -35,-1 h -13 q -15,-1 -19,-10 -2,-4 -32,-120 0,-3 -1,-6 L 320,374 h 81 q 81,0 93,2 60,10 107,58 47,48 48,110 z M 595,229 q 0,44 -23,73 -23,29 -60,34 -6,1 -83,1 -118,0 -119,-1 0,-2 -17,-73 -17,-71 -35,-141 L 240,52 q 0,-4 12,-4 12,0 81,-2 89,0 96,1 62,7 114,58 52,51 52,124 z" /> + <path + id="MJX-67-TEX-N-3D" + d="m 56,347 q 0,13 14,20 h 637 q 15,-8 15,-20 0,-11 -14,-19 L 390,327 H 72 q -16,5 -16,20 z m 0,-194 q 0,15 16,20 h 636 q 14,-10 14,-20 0,-13 -15,-20 H 70 q -14,7 -14,20 z" /> + <path + id="MJX-67-TEX-N-2B" + d="m 56,237 q 0,0 0,13 0,13 14,20 h 299 v 150 l 1,150 q 10,13 19,13 13,0 20,-15 V 270 h 298 q 15,-8 15,-20 0,-12 -15,-20 H 409 V -68 q -8,-14 -18,-14 h -2 -2 q -12,0 -18,14 V 230 H 70 q -14,7 -14,20 z" /> + <path + id="MJX-70-TEX-I-41" + d="m 208,74 q 0,-24 46,-28 18,0 18,-11 0,-1 -2,-13 Q 267,8 264,4 261,0 251,0 249,0 239,0 229,0 205,1 181,2 141,2 70,2 50,0 h -8 q -7,7 -7,11 2,27 13,35 h 14 q 70,3 102,50 6,6 181,305 175,299 178,303 7,12 24,12 h 8 17 q 6,-9 6,-10 l 28,-323 q 28,-323 30,-326 5,-11 65,-11 25,0 25,-10 0,-2 -3,-14 Q 720,7 718,4 716,1 704,0 701,0 690,0 679,0 651,1 623,2 578,2 484,2 455,0 h -12 q -6,6 -6,9 0,3 2,18 4,13 6,16 l 4,3 h 20 q 54,3 64,17 L 521,213 H 283 L 249,155 Q 208,86 208,74 Z m 308,186 q 0,11 -12,156 -12,145 -14,146 L 463,519 Q 447,492 400,412 l -90,-152 103,-1 q 103,0 103,1 z" /> + <path + id="MJX-70-TEX-I-6E" + d="m 21,287 q 1,6 3,16 2,10 12,38 10,28 20,47 10,19 33,37 23,18 46,17 36,0 60,-18 24,-18 30,-34 6,-16 6,-21 0,-2 1,-2 l 11,11 q 61,64 139,64 54,0 87,-27 33,-27 34,-79 1,-52 -38,-157 -39,-105 -38,-127 0,-26 17,-26 6,0 9,1 29,5 52,38 23,33 35,80 2,8 20,8 20,0 20,-8 0,-1 -4,-15 -8,-29 -22,-57 -14,-28 -46,-56 -32,-28 -69,-27 -47,0 -68,27 -21,27 -21,56 0,19 36,120 36,101 37,152 0,59 -44,59 h -5 Q 288,404 229,303 L 222,291 189,157 Q 156,26 151,16 138,-11 108,-11 95,-11 87,-5 79,1 76,7 q -3,6 -2,10 0,13 38,163 38,150 40,163 1,5 1,23 0,39 -24,39 -38,0 -63,-100 -6,-20 -6,-21 -2,-6 -19,-6 H 27 q -6,6 -6,9 z" /> + <path + id="MJX-70-TEX-I-74" + d="m 26,385 q -7,7 -7,10 0,4 3,16 3,12 5,14 2,5 9,5 7,0 51,1 h 53 l 19,80 q 3,11 7,29 4,18 7,26 3,8 6,20 3,12 8,17 5,5 10,12 5,7 14,9 9,2 18,2 18,-1 25,-11 7,-10 7,-19 0,-7 -9,-47 -9,-40 -20,-79 l -10,-37 q 0,-2 50,-2 h 51 q 7,-7 7,-11 0,-22 -13,-35 H 210 L 174,240 Q 135,80 135,68 q 0,-42 27,-42 35,0 68,34 33,34 53,84 2,6 5,7 3,1 15,2 h 4 q 15,0 15,-8 0,-3 -3,-12 Q 314,117 301,95 288,73 267,48 246,23 216,6 186,-11 155,-11 125,-11 98,4 71,19 59,56 57,64 57,83 v 18 l 35,140 q 35,141 36,142 0,2 -51,2 z" /> + <path + id="MJX-70-TEX-I-65" + d="m 39,168 q 0,57 19,104 19,47 49,78 30,31 67,52 37,21 70,31 33,10 63,9 h 3 q 45,0 78,-22 33,-22 33,-65 0,-90 -111,-118 -49,-13 -134,-14 -37,0 -38,-2 0,-2 -6,-35 -6,-33 -7,-58 0,-47 21,-74 21,-27 63,-28 42,-1 93,19 51,20 92,66 9,10 12,10 4,0 13,-9 9,-9 10,-14 1,-5 -9,-16 Q 410,71 390,55 370,39 344,24 318,9 281,-1 244,-11 205,-11 126,-11 83,42 40,95 39,168 Z m 334,185 q -6,52 -68,52 -33,0 -61,-14 -28,-14 -45,-34 -17,-20 -29,-41 -12,-21 -16,-36 -4,-15 -5,-19 0,-1 20,-1 113,0 158,24 45,24 46,69 z" /> + <path + id="MJX-70-TEX-I-69" + d="m 184,600 q 0,24 19,42 19,18 44,19 18,0 30,-12 12,-12 13,-30 0,-23 -20,-42 -20,-19 -44,-20 -15,0 -28,10 -13,10 -14,33 z M 21,287 q 0,8 9,31 9,23 24,51 15,28 44,51 29,23 60,22 39,0 65,-23 26,-23 27,-62 0,-17 -14,-56 -14,-39 -40,-105 -26,-66 -42,-113 -5,-22 -5,-32 0,-25 17,-25 9,0 19,3 10,3 23,14 13,11 27,35 14,24 25,59 3,12 5,14 2,2 17,2 20,0 20,-10 0,-8 -9,-31 -9,-23 -25,-51 -16,-28 -45,-50 -29,-22 -62,-22 -32,0 -59,21 -27,21 -28,64 0,17 5,32 5,15 43,114 38,101 44,121 6,20 7,39 0,24 -17,24 h -2 q -30,0 -55,-33 -25,-33 -38,-84 -1,-1 -2,-3 -1,-2 -1,-3 0,-1 -2,-2 -2,-1 -3,-1 -1,0 -4,0 -3,0 -8,0 H 27 q -6,6 -6,9 z" /> + <path + id="MJX-70-TEX-I-6C" + d="m 117,59 q 0,-33 25,-33 37,0 63,105 6,20 10,21 2,1 10,1 h 4 q 9,0 12,0 3,0 5,-2 2,-2 2,-7 -1,-6 -3,-16 Q 243,118 234,90 225,62 214,43 203,24 183,6 163,-12 137,-11 101,-11 70,11 39,33 38,85 q 0,12 1,17 l 65,258 q 63,255 63,263 0,3 -1,5 -1,2 -4,4 -3,2 -5,2 -2,0 -8,1 -6,1 -8,1 -2,0 -9,1 -7,1 -10,0 -10,0 -13,0 -3,0 -8,1 -5,1 -6,3 -1,2 -1,6 0,2 2,14 5,19 11,21 6,2 72,6 15,1 34,2 19,1 30,3 11,2 11,1 12,0 12,-8 0,-11 -73,-300 -73,-289 -75,-303 0,-2 0,-8 0,-6 -1,-10 z" /> + <path + id="MJX-70-TEX-N-3D" + d="m 56,347 q 0,13 14,20 h 637 q 15,-8 15,-20 0,-11 -14,-19 L 390,327 H 72 q -16,5 -16,20 z m 0,-194 q 0,15 16,20 h 636 q 14,-10 14,-20 0,-13 -15,-20 H 70 q -14,7 -14,20 z" /> + <path + id="MJX-70-TEX-N-2B" + d="m 56,237 q 0,0 0,13 0,13 14,20 h 299 v 150 l 1,150 q 10,13 19,13 13,0 20,-15 V 270 h 298 q 15,-8 15,-20 0,-12 -15,-20 H 409 V -68 q -8,-14 -18,-14 h -2 -2 q -12,0 -18,14 V 230 H 70 q -14,7 -14,20 z" /> + <path + id="MJX-70-TEX-I-42" + d="m 231,637 q -27,0 -32,1 -5,1 -5,11 0,27 11,33 1,1 130,1 259,0 273,-2 63,-10 105,-45 42,-35 43,-92 0,-64 -58,-115 -58,-51 -133,-69 l -10,-3 q 64,-9 105,-46 41,-37 42,-92 Q 702,146 630,78 558,10 453,1 446,0 242,0 42,0 39,2 q -4,3 -4,8 0,7 2,14 5,19 10,21 4,1 15,1 h 6 q 27,0 60,3 14,3 19,12 3,4 72,278 69,274 69,289 0,7 -57,9 z m 418,-93 q 0,30 -15,56 -15,26 -49,34 -7,2 -92,3 -20,0 -42,0 -22,0 -35,-1 h -13 q -15,-1 -19,-10 -2,-4 -32,-120 0,-3 -1,-6 L 320,374 h 81 q 81,0 93,2 60,10 107,58 47,48 48,110 z M 595,229 q 0,44 -23,73 -23,29 -60,34 -6,1 -83,1 -118,0 -119,-1 0,-2 -17,-73 -17,-71 -35,-141 L 240,52 q 0,-4 12,-4 12,0 81,-2 89,0 96,1 62,7 114,58 52,51 52,124 z" /> + <path + id="MJX-87-TEX-I-42" + d="M231 637Q204 637 199 638T194 649Q194 676 205 682Q206 683 335 683Q594 683 608 681Q671 671 713 636T756 544Q756 480 698 429T565 360L555 357Q619 348 660 311T702 219Q702 146 630 78T453 1Q446 0 242 0Q42 0 39 2Q35 5 35 10Q35 17 37 24Q42 43 47 45Q51 46 62 46H68Q95 46 128 49Q142 52 147 61Q150 65 219 339T288 628Q288 635 231 637ZM649 544Q649 574 634 600T585 634Q578 636 493 637Q473 637 451 637T416 636H403Q388 635 384 626Q382 622 352 506Q352 503 351 500L320 374H401Q482 374 494 376Q554 386 601 434T649 544ZM595 229Q595 273 572 302T512 336Q506 337 429 337Q311 337 310 336Q310 334 293 263T258 122L240 52Q240 48 252 48T333 46Q422 46 429 47Q491 54 543 105T595 229Z" /> + <path + id="MJX-87-TEX-I-65" + d="M39 168Q39 225 58 272T107 350T174 402T244 433T307 442H310Q355 442 388 420T421 355Q421 265 310 237Q261 224 176 223Q139 223 138 221Q138 219 132 186T125 128Q125 81 146 54T209 26T302 45T394 111Q403 121 406 121Q410 121 419 112T429 98T420 82T390 55T344 24T281 -1T205 -11Q126 -11 83 42T39 168ZM373 353Q367 405 305 405Q272 405 244 391T199 357T170 316T154 280T149 261Q149 260 169 260Q282 260 327 284T373 353Z" /> + <path + id="MJX-87-TEX-I-6C" + d="M117 59Q117 26 142 26Q179 26 205 131Q211 151 215 152Q217 153 225 153H229Q238 153 241 153T246 151T248 144Q247 138 245 128T234 90T214 43T183 6T137 -11Q101 -11 70 11T38 85Q38 97 39 102L104 360Q167 615 167 623Q167 626 166 628T162 632T157 634T149 635T141 636T132 637T122 637Q112 637 109 637T101 638T95 641T94 647Q94 649 96 661Q101 680 107 682T179 688Q194 689 213 690T243 693T254 694Q266 694 266 686Q266 675 193 386T118 83Q118 81 118 75T117 65V59Z" /> + <path + id="MJX-87-TEX-I-61" + d="M33 157Q33 258 109 349T280 441Q331 441 370 392Q386 422 416 422Q429 422 439 414T449 394Q449 381 412 234T374 68Q374 43 381 35T402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487Q506 153 506 144Q506 138 501 117T481 63T449 13Q436 0 417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157ZM351 328Q351 334 346 350T323 385T277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q217 26 254 59T298 110Q300 114 325 217T351 328Z" /> + <path + id="MJX-87-TEX-I-64" + d="M366 683Q367 683 438 688T511 694Q523 694 523 686Q523 679 450 384T375 83T374 68Q374 26 402 26Q411 27 422 35Q443 55 463 131Q469 151 473 152Q475 153 483 153H487H491Q506 153 506 145Q506 140 503 129Q490 79 473 48T445 8T417 -8Q409 -10 393 -10Q359 -10 336 5T306 36L300 51Q299 52 296 50Q294 48 292 46Q233 -10 172 -10Q117 -10 75 30T33 157Q33 205 53 255T101 341Q148 398 195 420T280 442Q336 442 364 400Q369 394 369 396Q370 400 396 505T424 616Q424 629 417 632T378 637H357Q351 643 351 645T353 664Q358 683 366 683ZM352 326Q329 405 277 405Q242 405 210 374T160 293Q131 214 119 129Q119 126 119 118T118 106Q118 61 136 44T179 26Q233 26 290 98L298 109L352 326Z" /> + <path + id="MJX-87-TEX-I-75" + d="M21 287Q21 295 30 318T55 370T99 420T158 442Q204 442 227 417T250 358Q250 340 216 246T182 105Q182 62 196 45T238 27T291 44T328 78L339 95Q341 99 377 247Q407 367 413 387T427 416Q444 431 463 431Q480 431 488 421T496 402L420 84Q419 79 419 68Q419 43 426 35T447 26Q469 29 482 57T512 145Q514 153 532 153Q551 153 551 144Q550 139 549 130T540 98T523 55T498 17T462 -8Q454 -10 438 -10Q372 -10 347 46Q345 45 336 36T318 21T296 6T267 -6T233 -11Q189 -11 155 7Q103 38 103 113Q103 170 138 262T173 379Q173 380 173 381Q173 390 173 393T169 400T158 404H154Q131 404 112 385T82 344T65 302T57 280Q55 278 41 278H27Q21 284 21 287Z" /> + <path + id="MJX-87-TEX-I-6E" + d="M21 287Q22 293 24 303T36 341T56 388T89 425T135 442Q171 442 195 424T225 390T231 369Q231 367 232 367L243 378Q304 442 382 442Q436 442 469 415T503 336T465 179T427 52Q427 26 444 26Q450 26 453 27Q482 32 505 65T540 145Q542 153 560 153Q580 153 580 145Q580 144 576 130Q568 101 554 73T508 17T439 -10Q392 -10 371 17T350 73Q350 92 386 193T423 345Q423 404 379 404H374Q288 404 229 303L222 291L189 157Q156 26 151 16Q138 -11 108 -11Q95 -11 87 -5T76 7T74 17Q74 30 112 180T152 343Q153 348 153 366Q153 405 129 405Q91 405 66 305Q60 285 60 284Q58 278 41 278H27Q21 284 21 287Z" /> + <path + id="MJX-87-TEX-I-67" + d="M311 43Q296 30 267 15T206 0Q143 0 105 45T66 160Q66 265 143 353T314 442Q361 442 401 394L404 398Q406 401 409 404T418 412T431 419T447 422Q461 422 470 413T480 394Q480 379 423 152T363 -80Q345 -134 286 -169T151 -205Q10 -205 10 -137Q10 -111 28 -91T74 -71Q89 -71 102 -80T116 -111Q116 -121 114 -130T107 -144T99 -154T92 -162L90 -164H91Q101 -167 151 -167Q189 -167 211 -155Q234 -144 254 -122T282 -75Q288 -56 298 -13Q311 35 311 43ZM384 328L380 339Q377 350 375 354T369 368T359 382T346 393T328 402T306 405Q262 405 221 352Q191 313 171 233T151 117Q151 38 213 38Q269 38 323 108L331 118L384 328Z" /> + <path + id="MJX-87-TEX-I-41" + d="M208 74Q208 50 254 46Q272 46 272 35Q272 34 270 22Q267 8 264 4T251 0Q249 0 239 0T205 1T141 2Q70 2 50 0H42Q35 7 35 11Q37 38 48 46H62Q132 49 164 96Q170 102 345 401T523 704Q530 716 547 716H555H572Q578 707 578 706L606 383Q634 60 636 57Q641 46 701 46Q726 46 726 36Q726 34 723 22Q720 7 718 4T704 0Q701 0 690 0T651 1T578 2Q484 2 455 0H443Q437 6 437 9T439 27Q443 40 445 43L449 46H469Q523 49 533 63L521 213H283L249 155Q208 86 208 74ZM516 260Q516 271 504 416T490 562L463 519Q447 492 400 412L310 260L413 259Q516 259 516 260Z" /> + <path + id="MJX-87-TEX-N-3D" + d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z" /> + <path + id="MJX-87-TEX-I-43" + d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z" /> + <path + id="MJX-93-TEX-I-43" + d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z" /> + <path + id="MJX-93-TEX-N-3D" + d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z" /> + <path + id="MJX-93-TEX-I-41" + d="M208 74Q208 50 254 46Q272 46 272 35Q272 34 270 22Q267 8 264 4T251 0Q249 0 239 0T205 1T141 2Q70 2 50 0H42Q35 7 35 11Q37 38 48 46H62Q132 49 164 96Q170 102 345 401T523 704Q530 716 547 716H555H572Q578 707 578 706L606 383Q634 60 636 57Q641 46 701 46Q726 46 726 36Q726 34 723 22Q720 7 718 4T704 0Q701 0 690 0T651 1T578 2Q484 2 455 0H443Q437 6 437 9T439 27Q443 40 445 43L449 46H469Q523 49 533 63L521 213H283L249 155Q208 86 208 74ZM516 260Q516 271 504 416T490 562L463 519Q447 492 400 412L310 260L413 259Q516 259 516 260Z" /> + <path + id="MJX-93-TEX-N-2B" + d="M56 237T56 250T70 270H369V420L370 570Q380 583 389 583Q402 583 409 568V270H707Q722 262 722 250T707 230H409V-68Q401 -82 391 -82H389H387Q375 -82 369 -68V230H70Q56 237 56 250Z" /> + <path + id="MJX-93-TEX-I-42" + d="M231 637Q204 637 199 638T194 649Q194 676 205 682Q206 683 335 683Q594 683 608 681Q671 671 713 636T756 544Q756 480 698 429T565 360L555 357Q619 348 660 311T702 219Q702 146 630 78T453 1Q446 0 242 0Q42 0 39 2Q35 5 35 10Q35 17 37 24Q42 43 47 45Q51 46 62 46H68Q95 46 128 49Q142 52 147 61Q150 65 219 339T288 628Q288 635 231 637ZM649 544Q649 574 634 600T585 634Q578 636 493 637Q473 637 451 637T416 636H403Q388 635 384 626Q382 622 352 506Q352 503 351 500L320 374H401Q482 374 494 376Q554 386 601 434T649 544ZM595 229Q595 273 572 302T512 336Q506 337 429 337Q311 337 310 336Q310 334 293 263T258 122L240 52Q240 48 252 48T333 46Q422 46 429 47Q491 54 543 105T595 229Z" /> + <path + id="MJX-96-TEX-I-41" + d="M208 74Q208 50 254 46Q272 46 272 35Q272 34 270 22Q267 8 264 4T251 0Q249 0 239 0T205 1T141 2Q70 2 50 0H42Q35 7 35 11Q37 38 48 46H62Q132 49 164 96Q170 102 345 401T523 704Q530 716 547 716H555H572Q578 707 578 706L606 383Q634 60 636 57Q641 46 701 46Q726 46 726 36Q726 34 723 22Q720 7 718 4T704 0Q701 0 690 0T651 1T578 2Q484 2 455 0H443Q437 6 437 9T439 27Q443 40 445 43L449 46H469Q523 49 533 63L521 213H283L249 155Q208 86 208 74ZM516 260Q516 271 504 416T490 562L463 519Q447 492 400 412L310 260L413 259Q516 259 516 260Z" /> + <path + id="MJX-96-TEX-N-3D" + d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z" /> + <path + id="MJX-96-TEX-I-43" + d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z" /> + <path + id="MJX-96-TEX-N-2212" + d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z" /> + <path + id="MJX-96-TEX-I-42" + d="M231 637Q204 637 199 638T194 649Q194 676 205 682Q206 683 335 683Q594 683 608 681Q671 671 713 636T756 544Q756 480 698 429T565 360L555 357Q619 348 660 311T702 219Q702 146 630 78T453 1Q446 0 242 0Q42 0 39 2Q35 5 35 10Q35 17 37 24Q42 43 47 45Q51 46 62 46H68Q95 46 128 49Q142 52 147 61Q150 65 219 339T288 628Q288 635 231 637ZM649 544Q649 574 634 600T585 634Q578 636 493 637Q473 637 451 637T416 636H403Q388 635 384 626Q382 622 352 506Q352 503 351 500L320 374H401Q482 374 494 376Q554 386 601 434T649 544ZM595 229Q595 273 572 302T512 336Q506 337 429 337Q311 337 310 336Q310 334 293 263T258 122L240 52Q240 48 252 48T333 46Q422 46 429 47Q491 54 543 105T595 229Z" /> + <path + id="MJX-98-TEX-I-42" + d="M231 637Q204 637 199 638T194 649Q194 676 205 682Q206 683 335 683Q594 683 608 681Q671 671 713 636T756 544Q756 480 698 429T565 360L555 357Q619 348 660 311T702 219Q702 146 630 78T453 1Q446 0 242 0Q42 0 39 2Q35 5 35 10Q35 17 37 24Q42 43 47 45Q51 46 62 46H68Q95 46 128 49Q142 52 147 61Q150 65 219 339T288 628Q288 635 231 637ZM649 544Q649 574 634 600T585 634Q578 636 493 637Q473 637 451 637T416 636H403Q388 635 384 626Q382 622 352 506Q352 503 351 500L320 374H401Q482 374 494 376Q554 386 601 434T649 544ZM595 229Q595 273 572 302T512 336Q506 337 429 337Q311 337 310 336Q310 334 293 263T258 122L240 52Q240 48 252 48T333 46Q422 46 429 47Q491 54 543 105T595 229Z" /> + <path + id="MJX-98-TEX-N-3D" + d="M56 347Q56 360 70 367H707Q722 359 722 347Q722 336 708 328L390 327H72Q56 332 56 347ZM56 153Q56 168 72 173H708Q722 163 722 153Q722 140 707 133H70Q56 140 56 153Z" /> + <path + id="MJX-98-TEX-I-43" + d="M50 252Q50 367 117 473T286 641T490 704Q580 704 633 653Q642 643 648 636T656 626L657 623Q660 623 684 649Q691 655 699 663T715 679T725 690L740 705H746Q760 705 760 698Q760 694 728 561Q692 422 692 421Q690 416 687 415T669 413H653Q647 419 647 422Q647 423 648 429T650 449T651 481Q651 552 619 605T510 659Q484 659 454 652T382 628T299 572T226 479Q194 422 175 346T156 222Q156 108 232 58Q280 24 350 24Q441 24 512 92T606 240Q610 253 612 255T628 257Q648 257 648 248Q648 243 647 239Q618 132 523 55T319 -22Q206 -22 128 53T50 252Z" /> + <path + id="MJX-98-TEX-N-2212" + d="M84 237T84 250T98 270H679Q694 262 694 250T679 230H98Q84 237 84 250Z" /> + <path + id="MJX-98-TEX-I-41" + d="M208 74Q208 50 254 46Q272 46 272 35Q272 34 270 22Q267 8 264 4T251 0Q249 0 239 0T205 1T141 2Q70 2 50 0H42Q35 7 35 11Q37 38 48 46H62Q132 49 164 96Q170 102 345 401T523 704Q530 716 547 716H555H572Q578 707 578 706L606 383Q634 60 636 57Q641 46 701 46Q726 46 726 36Q726 34 723 22Q720 7 718 4T704 0Q701 0 690 0T651 1T578 2Q484 2 455 0H443Q437 6 437 9T439 27Q443 40 445 43L449 46H469Q523 49 533 63L521 213H283L249 155Q208 86 208 74ZM516 260Q516 271 504 416T490 562L463 519Q447 492 400 412L310 260L413 259Q516 259 516 260Z" /> + </defs> + <g + inkscape:groupmode="layer" + id="layer5" + inkscape:label="Buffer" + style="display:none" + sodipodi:insensitive="true"> + <g + data-mml-node="math" + id="g40247" + transform="matrix(0.00333333,0,0,-0.00333333,131.20507,102.16386)" + style="fill:#000000;stroke:#000000;stroke-width:0"> + <g + data-mml-node="mi" + id="g40193"> + <use + xlink:href="#MJX-54-TEX-I-42" + id="use40191" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(759)" + id="g40197"> + <use + xlink:href="#MJX-54-TEX-I-65" + id="use40195" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1225)" + id="g40201"> + <use + xlink:href="#MJX-54-TEX-I-6C" + id="use40199" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1523)" + id="g40205"> + <use + xlink:href="#MJX-54-TEX-I-61" + id="use40203" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2052)" + id="g40209"> + <use + xlink:href="#MJX-54-TEX-I-64" + id="use40207" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2572)" + id="g40213"> + <use + xlink:href="#MJX-54-TEX-I-75" + id="use40211" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(3144)" + id="g40217"> + <use + xlink:href="#MJX-54-TEX-I-6E" + id="use40215" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="msub" + transform="translate(3744)" + id="g40227"> + <g + data-mml-node="mi" + id="g40221"> + <use + xlink:href="#MJX-54-TEX-I-67" + id="use40219" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="matrix(0.707,0,0,0.707,477,-152.7)" + id="g40225"> + <use + xlink:href="#MJX-54-TEX-I-41" + id="use40223" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + </g> + <g + data-mml-node="mo" + transform="translate(5079.1)" + id="g40231"> + <use + xlink:href="#MJX-54-TEX-N-3D" + id="use40229" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mstyle" + transform="translate(6134.9)" + id="g40245"> + <g + data-mml-node="mfrac" + id="g40243"> + <g + data-mml-node="mi" + transform="translate(220,676)" + id="g40235"> + <use + xlink:href="#MJX-54-TEX-I-41" + id="use40233" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(237.5,-686)" + id="g40239"> + <use + xlink:href="#MJX-54-TEX-I-43" + id="use40237" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <rect + width="950" + height="60" + x="120" + y="220" + id="rect40241" /> + </g> + </g> + </g> + <g + data-mml-node="math" + id="g40392" + transform="matrix(0.00338655,0,0,-0.00338655,139.19924,121.68567)" + style="fill:#000000;stroke:#000000;stroke-width:0"> + <g + data-mml-node="mi" + id="g40338"> + <use + xlink:href="#MJX-59-TEX-I-42" + id="use40336" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(759)" + id="g40342"> + <use + xlink:href="#MJX-59-TEX-I-65" + id="use40340" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1225)" + id="g40346"> + <use + xlink:href="#MJX-59-TEX-I-6C" + id="use40344" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1523)" + id="g40350"> + <use + xlink:href="#MJX-59-TEX-I-61" + id="use40348" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2052)" + id="g40354"> + <use + xlink:href="#MJX-59-TEX-I-64" + id="use40352" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2572)" + id="g40358"> + <use + xlink:href="#MJX-59-TEX-I-75" + id="use40356" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(3144)" + id="g40362"> + <use + xlink:href="#MJX-59-TEX-I-6E" + id="use40360" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="msub" + transform="translate(3744)" + id="g40372"> + <g + data-mml-node="mi" + id="g40366"> + <use + xlink:href="#MJX-59-TEX-I-67" + id="use40364" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="matrix(0.707,0,0,0.707,477,-150)" + id="g40370"> + <use + xlink:href="#MJX-59-TEX-I-42" + id="use40368" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + </g> + <g + data-mml-node="mo" + transform="translate(5085.5)" + id="g40376"> + <use + xlink:href="#MJX-59-TEX-N-3D" + id="use40374" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mstyle" + transform="translate(6141.2)" + id="g40390"> + <g + data-mml-node="mfrac" + id="g40388"> + <g + data-mml-node="mi" + transform="translate(220,676)" + id="g40380"> + <use + xlink:href="#MJX-59-TEX-I-42" + id="use40378" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(242,-686)" + id="g40384"> + <use + xlink:href="#MJX-59-TEX-I-43" + id="use40382" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <rect + width="959" + height="60" + x="120" + y="220" + id="rect40386" /> + </g> + </g> + </g> + </g> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="Hintergrund" + style="display:inline" + transform="translate(-62.291465,-55.243919)" + sodipodi:insensitive="true"> + <rect + style="fill:#ececec;fill-opacity:1;stroke-width:0.265739" + id="rect90118" + width="118.15743" + height="148" + x="62.291466" + y="55.243916" /> + <rect + style="display:inline;fill:#b3b3b3;fill-opacity:1;stroke-width:0.234286" + id="rect90118-8" + width="91.842567" + height="148" + x="180.4489" + y="55.243916" /> + </g> + <g + inkscape:label="Zeichnung" + inkscape:groupmode="layer" + id="layer1" + style="display:inline" + transform="translate(-62.291465,-55.243919)"> + <circle + style="fill:#999999;fill-rule:evenodd;stroke:#000000;stroke-width:0.580612;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path31-1" + cx="125.43803" + cy="121.90355" + r="9.4408426" /> + <rect + style="fill:#d4aa00;stroke:#000000;stroke-width:0.417049;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294" + width="7.7226257" + height="7.7226253" + x="-55.200184" + y="171.90544" + transform="rotate(-45.647182)" /> + <rect + style="display:inline;fill:#d4aa00;stroke:#000000;stroke-width:0.417049;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294-82" + width="7.7226257" + height="7.7226253" + x="-5.1059084" + y="223.14436" + transform="rotate(-45.647182)" /> + <rect + style="display:inline;fill:#d4aa00;stroke:#000000;stroke-width:0.417049;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294-82-8" + width="7.7226257" + height="7.7226253" + x="26.500803" + y="142.162" + transform="rotate(-45.647182)" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.367814px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 92.446009,156.77848 118.95014,128.76171" + id="path7107" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2294" + inkscape:connection-end="#path31-1" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.367814px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 158.78062,156.79082 131.96084,128.72855" + id="path29090" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2294-82" + inkscape:connection-end="#path31-1" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.367814px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 125.48374,112.46299 0.12939,-26.717541" + id="path29708" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#path31-1" + inkscape:connection-end="#rect2294-82-8" /> + </g> + <g + inkscape:groupmode="layer" + id="layer4" + inkscape:label="Gleichungen" + style="display:inline"> + <g + id="g40916" + transform="translate(12.01978,10.862935)"> + <rect + style="fill:#8daa00;fill-opacity:1;stroke-width:0.360126" + id="rect40782" + width="29.442022" + height="9.8505335" + x="36.373768" + y="79.41732" /> + <g + data-mml-node="math" + id="g39529" + transform="matrix(0.00340682,0,0,-0.00336862,39.156832,85.584004)" + style="display:inline;fill:#000000;stroke:#000000;stroke-width:0"> + <g + data-mml-node="mi" + id="g39475"> + <use + xlink:href="#MJX-32-TEX-I-42" + id="use39473" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(759)" + id="g39479"> + <use + xlink:href="#MJX-32-TEX-I-65" + id="use39477" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1225)" + id="g39483"> + <use + xlink:href="#MJX-32-TEX-I-6C" + id="use39481" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1523)" + id="g39487"> + <use + xlink:href="#MJX-32-TEX-I-61" + id="use39485" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2052)" + id="g39491"> + <use + xlink:href="#MJX-32-TEX-I-64" + id="use39489" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2572)" + id="g39495"> + <use + xlink:href="#MJX-32-TEX-I-75" + id="use39493" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(3144)" + id="g39499"> + <use + xlink:href="#MJX-32-TEX-I-6E" + id="use39497" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="msub" + transform="translate(3744)" + id="g39509"> + <g + data-mml-node="mi" + id="g39503"> + <use + xlink:href="#MJX-32-TEX-I-67" + id="use39501" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="matrix(0.707,0,0,0.707,477,-152.7)" + id="g39507"> + <use + xlink:href="#MJX-32-TEX-I-41" + id="use39505" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + </g> + <g + data-mml-node="mo" + transform="translate(5079.1)" + id="g39513"> + <use + xlink:href="#MJX-32-TEX-N-3D" + id="use39511" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mstyle" + transform="translate(6134.9)" + id="g39527"> + <g + data-mml-node="mfrac" + id="g39525"> + <g + data-mml-node="mi" + transform="translate(224.5,676)" + id="g39517"> + <use + xlink:href="#MJX-32-TEX-I-41" + id="use39515" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(220,-686)" + id="g39521"> + <use + xlink:href="#MJX-32-TEX-I-42" + id="use39519" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <rect + width="959" + height="60" + x="120" + y="220" + id="rect39523" /> + </g> + </g> + </g> + </g> + <g + id="g40970" + transform="translate(11.752051,6.7577665)"> + <rect + style="fill:#8daa00;fill-opacity:1;stroke-width:0.360126" + id="rect40782-7" + width="29.442022" + height="9.8505335" + x="36.950562" + y="96.097572" /> + <g + data-mml-node="math" + id="g39673" + transform="matrix(0.00342298,0,0,-0.00342298,38.576949,102.33762)" + style="display:inline;fill:#000000;stroke:#000000;stroke-width:0"> + <g + data-mml-node="mi" + id="g39619"> + <use + xlink:href="#MJX-35-TEX-I-42" + id="use39617" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(759)" + id="g39623"> + <use + xlink:href="#MJX-35-TEX-I-65" + id="use39621" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1225)" + id="g39627"> + <use + xlink:href="#MJX-35-TEX-I-6C" + id="use39625" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1523)" + id="g39631"> + <use + xlink:href="#MJX-35-TEX-I-61" + id="use39629" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2052)" + id="g39635"> + <use + xlink:href="#MJX-35-TEX-I-64" + id="use39633" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2572)" + id="g39639"> + <use + xlink:href="#MJX-35-TEX-I-75" + id="use39637" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(3144)" + id="g39643"> + <use + xlink:href="#MJX-35-TEX-I-6E" + id="use39641" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="msub" + transform="translate(3744)" + id="g39653"> + <g + data-mml-node="mi" + id="g39647"> + <use + xlink:href="#MJX-35-TEX-I-67" + id="use39645" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="matrix(0.707,0,0,0.707,477,-150)" + id="g39651"> + <use + xlink:href="#MJX-35-TEX-I-42" + id="use39649" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + </g> + <g + data-mml-node="mo" + transform="translate(5085.5)" + id="g39657"> + <use + xlink:href="#MJX-35-TEX-N-3D" + id="use39655" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mstyle" + transform="translate(6141.2)" + id="g39671"> + <g + data-mml-node="mfrac" + id="g39669"> + <g + data-mml-node="mi" + transform="translate(220,676)" + id="g39661"> + <use + xlink:href="#MJX-35-TEX-I-42" + id="use39659" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(224.5,-686)" + id="g39665"> + <use + xlink:href="#MJX-35-TEX-I-41" + id="use39663" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <rect + width="959" + height="60" + x="120" + y="220" + id="rect39667" /> + </g> + </g> + </g> + </g> + <g + id="g41092" + transform="translate(11.662809,0.51077251)"> + <rect + style="fill:#8daa00;fill-opacity:1;stroke-width:0.360126" + id="rect40782-7-4-4" + width="29.442022" + height="9.8505335" + x="63.901882" + y="39.339153" /> + </g> + <g + data-mml-node="math" + id="g39957" + transform="matrix(0.00338655,0,0,-0.00338655,78.553161,59.22966)" + style="fill:#000000;stroke:#000000;stroke-width:0"> + <g + data-mml-node="mi" + id="g39903"> + <use + xlink:href="#MJX-38-TEX-I-42" + id="use39901" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(759)" + id="g39907"> + <use + xlink:href="#MJX-38-TEX-I-65" + id="use39905" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1225)" + id="g39911"> + <use + xlink:href="#MJX-38-TEX-I-6C" + id="use39909" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1523)" + id="g39915"> + <use + xlink:href="#MJX-38-TEX-I-61" + id="use39913" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2052)" + id="g39919"> + <use + xlink:href="#MJX-38-TEX-I-64" + id="use39917" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2572)" + id="g39923"> + <use + xlink:href="#MJX-38-TEX-I-75" + id="use39921" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(3144)" + id="g39927"> + <use + xlink:href="#MJX-38-TEX-I-6E" + id="use39925" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="msub" + transform="translate(3744)" + id="g39937"> + <g + data-mml-node="mi" + id="g39931"> + <use + xlink:href="#MJX-38-TEX-I-67" + id="use39929" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="matrix(0.707,0,0,0.707,477,-150)" + id="g39935"> + <use + xlink:href="#MJX-38-TEX-I-43" + id="use39933" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + </g> + <g + data-mml-node="mo" + transform="translate(5054.4)" + id="g39941"> + <use + xlink:href="#MJX-38-TEX-N-3D" + id="use39939" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mstyle" + transform="translate(6110.1)" + id="g39955"> + <g + data-mml-node="mfrac" + id="g39953"> + <g + data-mml-node="mi" + transform="translate(237.5,676)" + id="g39945"> + <use + xlink:href="#MJX-38-TEX-I-43" + id="use39943" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(220,-686)" + id="g39949"> + <use + xlink:href="#MJX-38-TEX-I-41" + id="use39947" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <rect + width="950" + height="60" + x="120" + y="220" + id="rect39951" /> + </g> + </g> + </g> + <g + data-mml-node="math" + id="g40102" + transform="matrix(0.00338655,0,0,-0.00338655,20.910977,59.22966)" + style="fill:#000000;stroke:#000000;stroke-width:0"> + <g + data-mml-node="mi" + id="g40048"> + <use + xlink:href="#MJX-39-TEX-I-42" + id="use40046" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(759)" + id="g40052"> + <use + xlink:href="#MJX-39-TEX-I-65" + id="use40050" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1225)" + id="g40056"> + <use + xlink:href="#MJX-39-TEX-I-6C" + id="use40054" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1523)" + id="g40060"> + <use + xlink:href="#MJX-39-TEX-I-61" + id="use40058" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2052)" + id="g40064"> + <use + xlink:href="#MJX-39-TEX-I-64" + id="use40062" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2572)" + id="g40068"> + <use + xlink:href="#MJX-39-TEX-I-75" + id="use40066" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(3144)" + id="g40072"> + <use + xlink:href="#MJX-39-TEX-I-6E" + id="use40070" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="msub" + transform="translate(3744)" + id="g40082"> + <g + data-mml-node="mi" + id="g40076"> + <use + xlink:href="#MJX-39-TEX-I-67" + id="use40074" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="matrix(0.707,0,0,0.707,477,-150)" + id="g40080"> + <use + xlink:href="#MJX-39-TEX-I-43" + id="use40078" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + </g> + <g + data-mml-node="mo" + transform="translate(5054.4)" + id="g40086"> + <use + xlink:href="#MJX-39-TEX-N-3D" + id="use40084" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mstyle" + transform="translate(6110.1)" + id="g40100"> + <g + data-mml-node="mfrac" + id="g40098"> + <g + data-mml-node="mi" + transform="translate(242,676)" + id="g40090"> + <use + xlink:href="#MJX-39-TEX-I-43" + id="use40088" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(220,-686)" + id="g40094"> + <use + xlink:href="#MJX-39-TEX-I-42" + id="use40092" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <rect + width="959" + height="60" + x="120" + y="220" + id="rect40096" /> + </g> + </g> + </g> + <g + id="g41089" + transform="translate(8.8070395,-0.02468449)"> + <rect + style="fill:#8daa00;fill-opacity:1;stroke-width:0.360126" + id="rect40782-7-4" + width="29.442022" + height="9.8505335" + x="10.98091" + y="38.892937" /> + <g + data-mml-node="math" + id="g40537" + transform="matrix(0.00329102,0,0,-0.00329102,12.627122,44.536648)" + style="fill:#000000;stroke:#000000;stroke-width:0"> + <g + data-mml-node="mi" + id="g40481"> + <use + xlink:href="#MJX-67-TEX-I-41" + id="use40479" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(750)" + id="g40485"> + <use + xlink:href="#MJX-67-TEX-I-6E" + id="use40483" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1350)" + id="g40489"> + <use + xlink:href="#MJX-67-TEX-I-74" + id="use40487" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1711)" + id="g40493"> + <use + xlink:href="#MJX-67-TEX-I-65" + id="use40491" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2177)" + id="g40497"> + <use + xlink:href="#MJX-67-TEX-I-69" + id="use40495" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="msub" + transform="translate(2522)" + id="g40507"> + <g + data-mml-node="mi" + id="g40501"> + <use + xlink:href="#MJX-67-TEX-I-6C" + id="use40499" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="matrix(0.707,0,0,0.707,298,-150)" + id="g40505"> + <use + xlink:href="#MJX-67-TEX-I-42" + id="use40503" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + </g> + <g + data-mml-node="mo" + transform="translate(3684.5)" + id="g40511"> + <use + xlink:href="#MJX-67-TEX-N-3D" + id="use40509" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mstyle" + transform="translate(4740.2)" + id="g40535"> + <g + data-mml-node="mfrac" + id="g40533"> + <g + data-mml-node="mi" + transform="translate(1206.2,676)" + id="g40515"> + <use + xlink:href="#MJX-67-TEX-I-42" + id="use40513" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mrow" + transform="translate(220,-686)" + id="g40529"> + <g + data-mml-node="mi" + id="g40519"> + <use + xlink:href="#MJX-67-TEX-I-41" + id="use40517" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mo" + transform="translate(972.2)" + id="g40523"> + <use + xlink:href="#MJX-67-TEX-N-2B" + id="use40521" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1972.4)" + id="g40527"> + <use + xlink:href="#MJX-67-TEX-I-42" + id="use40525" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + </g> + <rect + width="2931.3999" + height="60" + x="120" + y="220" + id="rect40531" /> + </g> + </g> + </g> + </g> + <g + data-mml-node="math" + id="g40683" + transform="matrix(0.00324074,0,0,-0.00324074,77.40569,45.363844)" + style="fill:#000000;stroke:#000000;stroke-width:0"> + <g + data-mml-node="mi" + id="g40627"> + <use + xlink:href="#MJX-70-TEX-I-41" + id="use40625" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(750)" + id="g40631"> + <use + xlink:href="#MJX-70-TEX-I-6E" + id="use40629" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1350)" + id="g40635"> + <use + xlink:href="#MJX-70-TEX-I-74" + id="use40633" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1711)" + id="g40639"> + <use + xlink:href="#MJX-70-TEX-I-65" + id="use40637" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2177)" + id="g40643"> + <use + xlink:href="#MJX-70-TEX-I-69" + id="use40641" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="msub" + transform="translate(2522)" + id="g40653"> + <g + data-mml-node="mi" + id="g40647"> + <use + xlink:href="#MJX-70-TEX-I-6C" + id="use40645" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="matrix(0.707,0,0,0.707,298,-152.7)" + id="g40651"> + <use + xlink:href="#MJX-70-TEX-I-41" + id="use40649" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + </g> + <g + data-mml-node="mo" + transform="translate(3678.1)" + id="g40657"> + <use + xlink:href="#MJX-70-TEX-N-3D" + id="use40655" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mstyle" + transform="translate(4733.9)" + id="g40681"> + <g + data-mml-node="mfrac" + id="g40679"> + <g + data-mml-node="mi" + transform="translate(1210.7,676)" + id="g40661"> + <use + xlink:href="#MJX-70-TEX-I-41" + id="use40659" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mrow" + transform="translate(220,-686)" + id="g40675"> + <g + data-mml-node="mi" + id="g40665"> + <use + xlink:href="#MJX-70-TEX-I-41" + id="use40663" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mo" + transform="translate(972.2)" + id="g40669"> + <use + xlink:href="#MJX-70-TEX-N-2B" + id="use40667" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1972.4)" + id="g40673"> + <use + xlink:href="#MJX-70-TEX-I-42" + id="use40671" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + </g> + <rect + width="2931.3999" + height="60" + x="120" + y="220" + id="rect40677" /> + </g> + </g> + </g> + <g + id="g90665" + transform="translate(1.8263596,0.21742376)"> + <rect + style="display:inline;fill:#8daa00;fill-opacity:1;stroke-width:0.559244" + id="rect40782-7-7" + width="30.247076" + height="23.122768" + x="46.79155" + y="116.06202" /> + <g + data-mml-node="math" + id="g90344" + transform="matrix(0.00438596,0,0,-0.00438596,50.263669,121.40467)" + style="fill:#000000;stroke:#000000;stroke-width:0"> + <g + data-mml-node="mi" + id="g90326"> + <use + xlink:href="#MJX-93-TEX-I-43" + id="use90324" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mo" + transform="translate(992.8)" + id="g90330"> + <use + xlink:href="#MJX-93-TEX-N-3D" + id="use90328" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2048.6)" + id="g90334"> + <use + xlink:href="#MJX-93-TEX-I-41" + id="use90332" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mo" + transform="translate(3020.8)" + id="g90338"> + <use + xlink:href="#MJX-93-TEX-N-2B" + id="use90336" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(4021)" + id="g90342"> + <use + xlink:href="#MJX-93-TEX-I-42" + id="use90340" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + </g> + <g + data-mml-node="math" + id="g90442" + transform="matrix(0.00474255,0,0,-0.00474255,49.841862,127.02184)" + style="fill:#000000;stroke:#000000;stroke-width:0"> + <g + data-mml-node="mi" + id="g90424"> + <use + xlink:href="#MJX-96-TEX-I-41" + id="use90422" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mo" + transform="translate(1027.8)" + id="g90428"> + <use + xlink:href="#MJX-96-TEX-N-3D" + id="use90426" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2083.6)" + id="g90432"> + <use + xlink:href="#MJX-96-TEX-I-43" + id="use90430" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mo" + transform="translate(3020.8)" + id="g90436"> + <use + xlink:href="#MJX-96-TEX-N-2212" + id="use90434" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(4021)" + id="g90440"> + <use + xlink:href="#MJX-96-TEX-I-42" + id="use90438" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + </g> + <g + data-mml-node="math" + id="g90504" + transform="matrix(0.00474255,0,0,-0.00474255,49.841056,133.41039)" + style="fill:#000000;stroke:#000000;stroke-width:0"> + <g + data-mml-node="mi" + id="g90486"> + <use + xlink:href="#MJX-98-TEX-I-42" + id="use90484" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mo" + transform="translate(1036.8)" + id="g90490"> + <use + xlink:href="#MJX-98-TEX-N-3D" + id="use90488" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2092.6)" + id="g90494"> + <use + xlink:href="#MJX-98-TEX-I-43" + id="use90492" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mo" + transform="translate(3029.8)" + id="g90498"> + <use + xlink:href="#MJX-98-TEX-N-2212" + id="use90496" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(4030)" + id="g90502"> + <use + xlink:href="#MJX-98-TEX-I-41" + id="use90500" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + </g> + </g> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="Text" + style="display:inline" + transform="translate(-62.291465,-55.243919)"> + <text + xml:space="preserve" + style="font-size:11.7701px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';stroke-width:0.367814" + x="120.91795" + y="71.321014" + id="text17927"><tspan + sodipodi:role="line" + id="tspan17925" + style="font-size:11.7701px;stroke-width:0.367814" + x="120.91795" + y="71.321014">C </tspan><tspan + sodipodi:role="line" + style="font-size:11.7701px;stroke-width:0.367814" + x="120.91795" + y="86.033638" + id="tspan17929" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.7701px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.367814" + x="80.865021" + y="174.67903" + id="text17927-1"><tspan + sodipodi:role="line" + id="tspan21666" + x="80.865021" + y="174.67903" + style="stroke-width:0.367814">B</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:11.7701px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.367814" + x="162.73154" + y="173.96162" + id="text17927-3"><tspan + sodipodi:role="line" + id="tspan21646" + x="162.73154" + y="173.96162" + style="stroke-width:0.367814">A</tspan></text> + <text + xml:space="preserve" + style="font-size:6.86588px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';stroke-width:0.367814" + x="94.261185" + y="102.58765" + id="text34495"><tspan + sodipodi:role="line" + id="tspan34493" + style="stroke-width:0.367814" + x="94.261185" + y="102.58765"> </tspan></text> + <g + id="g136022"> + <rect + style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.670019" + id="rect90736" + width="82.535439" + height="12.575505" + x="183.98035" + y="67.851318" /> + <g + id="g90086" + transform="translate(0.18271605,-31.661175)"> + <rect + style="fill:#8daa00;fill-opacity:1;stroke-width:0.145456" + id="rect40782-7-4-1" + width="6.5958691" + height="7.1732497" + x="186.25372" + y="102.43644" /> + <text + xml:space="preserve" + style="font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';stroke-width:0.264583" + x="196.48686" + y="107.30449" + id="text42847"><tspan + sodipodi:role="line" + id="tspan42845" + style="font-size:4.23333px;stroke-width:0.264583" + x="196.48686" + y="107.30449">Im Berechnungsmodell ausgeführt</tspan></text> + </g> + </g> + <g + id="g136032" + transform="translate(1.109401e-6,-9.525)"> + <rect + style="display:inline;fill:#e6e6e6;fill-opacity:1;stroke-width:0.986745" + id="rect90736-9-0" + width="82.535439" + height="27.274824" + x="183.98035" + y="148.00711" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="186.26335" + y="154.48988" + id="text42847-8-3"><tspan + sodipodi:role="line" + id="tspan84317-2" + x="186.26335" + y="154.48988">Aus Gründen der Einfacheit wurde die</tspan><tspan + sodipodi:role="line" + x="186.26335" + y="159.78154" + id="tspan106403">Summenbildung gegen 0 nicht umgesetzt.</tspan><tspan + sodipodi:role="line" + x="186.26335" + y="165.07321" + id="tspan131947">Summenbildung gegen 0 ist universeller </tspan><tspan + sodipodi:role="line" + x="186.26335" + y="170.36487" + id="tspan131949">erfordert aber die Angabe von Vorzeichen.</tspan><tspan + sodipodi:role="line" + id="tspan84319-7" + x="186.26335" + y="175.65652" /><tspan + sodipodi:role="line" + id="tspan84321-6" + x="186.26335" + y="180.9482" /></text> + </g> + <g + id="g136015" + transform="translate(1.1094087e-6,-10.874544)"> + <rect + style="display:inline;fill:#e6e6e6;fill-opacity:1;stroke-width:1.17315" + id="rect90736-9" + width="82.535439" + height="38.553085" + x="183.98035" + y="100.92294" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="185.24504" + y="109.48244" + id="text42847-8"><tspan + sodipodi:role="line" + id="tspan84315" + x="185.24504" + y="109.48244">Die Definition der Namensgebung bei der</tspan><tspan + sodipodi:role="line" + x="185.24504" + y="114.7741" + id="tspan97016">Beladung führt zu Mehrdeutigkeiten.</tspan><tspan + sodipodi:role="line" + id="tspan84317" + x="185.24504" + y="120.06577">Beispiel:</tspan><tspan + sodipodi:role="line" + id="tspan84319" + x="185.24504" + y="125.35742" /><tspan + sodipodi:role="line" + id="tspan84321" + x="185.24504" + y="130.64908" /></text> + <g + data-mml-node="math" + id="g50346" + transform="matrix(0.00428571,0,0,-0.00428571,188.29492,132.00917)" + style="fill:#000000;stroke:#000000;stroke-width:0"> + <g + data-mml-node="mi" + id="g50232"> + <use + xlink:href="#MJX-87-TEX-I-42" + id="use50230" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(759)" + id="g50236"> + <use + xlink:href="#MJX-87-TEX-I-65" + id="use50234" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1225)" + id="g50240"> + <use + xlink:href="#MJX-87-TEX-I-6C" + id="use50238" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(1523)" + id="g50244"> + <use + xlink:href="#MJX-87-TEX-I-61" + id="use50242" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2052)" + id="g50248"> + <use + xlink:href="#MJX-87-TEX-I-64" + id="use50246" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(2572)" + id="g50252"> + <use + xlink:href="#MJX-87-TEX-I-75" + id="use50250" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(3144)" + id="g50256"> + <use + xlink:href="#MJX-87-TEX-I-6E" + id="use50254" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="msub" + transform="translate(3744)" + id="g50266"> + <g + data-mml-node="mi" + id="g50260"> + <use + xlink:href="#MJX-87-TEX-I-67" + id="use50258" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="matrix(0.707,0,0,0.707,477,-152.7)" + id="g50264"> + <use + xlink:href="#MJX-87-TEX-I-41" + id="use50262" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + </g> + <g + data-mml-node="mo" + transform="translate(5079.1)" + id="g50270"> + <use + xlink:href="#MJX-87-TEX-N-3D" + id="use50268" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mstyle" + transform="translate(6134.9)" + id="g50284"> + <g + data-mml-node="mfrac" + id="g50282"> + <g + data-mml-node="mi" + transform="translate(224.5,676)" + id="g50274"> + <use + xlink:href="#MJX-87-TEX-I-41" + id="use50272" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(220,-686)" + id="g50278"> + <use + xlink:href="#MJX-87-TEX-I-42" + id="use50276" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <rect + width="959" + height="60" + x="120" + y="220" + id="rect50280" /> + </g> + </g> + <g + data-mml-node="mo" + transform="translate(7611.7)" + id="g50288"> + <use + xlink:href="#MJX-87-TEX-N-3D" + id="use50286" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(8667.4)" + id="g50292"> + <use + xlink:href="#MJX-87-TEX-I-42" + id="use50290" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(9426.4)" + id="g50296"> + <use + xlink:href="#MJX-87-TEX-I-65" + id="use50294" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(9892.4)" + id="g50300"> + <use + xlink:href="#MJX-87-TEX-I-6C" + id="use50298" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(10190.4)" + id="g50304"> + <use + xlink:href="#MJX-87-TEX-I-61" + id="use50302" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(10719.4)" + id="g50308"> + <use + xlink:href="#MJX-87-TEX-I-64" + id="use50306" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(11239.4)" + id="g50312"> + <use + xlink:href="#MJX-87-TEX-I-75" + id="use50310" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(11811.4)" + id="g50316"> + <use + xlink:href="#MJX-87-TEX-I-6E" + id="use50314" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="msub" + transform="translate(12411.4)" + id="g50326"> + <g + data-mml-node="mi" + id="g50320"> + <use + xlink:href="#MJX-87-TEX-I-67" + id="use50318" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="matrix(0.707,0,0,0.707,477,-152.7)" + id="g50324"> + <use + xlink:href="#MJX-87-TEX-I-41" + id="use50322" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + </g> + <g + data-mml-node="mo" + transform="translate(13746.5)" + id="g50330"> + <use + xlink:href="#MJX-87-TEX-N-3D" + id="use50328" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mstyle" + transform="translate(14802.3)" + id="g50344"> + <g + data-mml-node="mfrac" + id="g50342"> + <g + data-mml-node="mi" + transform="translate(220,676)" + id="g50334"> + <use + xlink:href="#MJX-87-TEX-I-41" + id="use50332" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <g + data-mml-node="mi" + transform="translate(237.5,-686)" + id="g50338"> + <use + xlink:href="#MJX-87-TEX-I-43" + id="use50336" + x="0" + y="0" + width="100%" + height="100%" /> + </g> + <rect + width="950" + height="60" + x="120" + y="220" + id="rect50340" /> + </g> + </g> + </g> + </g> + </g> + <metadata + id="metadata28682"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:title>Knotenmodell_Basis</dc:title> + <dc:date>21.01.2022</dc:date> + <dc:creator> + <cc:Agent> + <dc:title>Alois Rolfes</dc:title> + </cc:Agent> + </dc:creator> + <dc:subject> + <rdf:Bag> + <rdf:li>Bilanz</rdf:li> + <rdf:li>Knoten</rdf:li> + <rdf:li>Kristallisator</rdf:li> + <rdf:li>Hochschule</rdf:li> + <rdf:li>Programm</rdf:li> + </rdf:Bag> + </dc:subject> + <dc:description>Zeigt die Knotenstruktur einer Kristallisation</dc:description> + </cc:Work> + </rdf:RDF> + </metadata> +</svg> diff --git a/pics/Knotenmodell_Kristallisation_Vers_1.svg b/pics/Knotenmodell_Kristallisation_Vers_1.svg new file mode 100644 index 0000000..25202da --- /dev/null +++ b/pics/Knotenmodell_Kristallisation_Vers_1.svg @@ -0,0 +1,669 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="189.368mm" + height="110.03374mm" + viewBox="0 0 189.368 110.03374" + version="1.1" + id="svg5" + inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)" + sodipodi:docname="Knotenmodell_Kristallisation_Vers_1.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <title + id="title28684">Knotenmodell_Kristallisation</title> + <sodipodi:namedview + id="namedview7" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:document-units="mm" + showgrid="false" + showguides="false" + inkscape:guide-bbox="true" + inkscape:snap-nodes="true" + inkscape:object-paths="true" + inkscape:snap-intersection-paths="true" + inkscape:snap-smooth-nodes="true" + inkscape:snap-midpoints="true" + inkscape:snap-object-midpoints="true" + inkscape:snap-center="true" + inkscape:snap-text-baseline="true" + inkscape:snap-bbox="true" + inkscape:bbox-paths="true" + inkscape:bbox-nodes="true" + inkscape:snap-bbox-edge-midpoints="true" + inkscape:snap-bbox-midpoints="true" + inkscape:zoom="0.84041062" + inkscape:cx="265.94143" + inkscape:cy="116.60966" + inkscape:window-width="1920" + inkscape:window-height="1018" + inkscape:window-x="-6" + inkscape:window-y="-6" + inkscape:window-maximized="1" + inkscape:current-layer="layer3" + inkscape:snap-global="false"> + <sodipodi:guide + position="-62.291466,165.27766" + orientation="0,1122.5197" + id="guide1057" /> + <sodipodi:guide + position="234.70854,165.27766" + orientation="793.70079,0" + id="guide1059" /> + <sodipodi:guide + position="234.70854,-44.722344" + orientation="0,-1122.5197" + id="guide1061" /> + <sodipodi:guide + position="-62.291466,-44.722344" + orientation="-793.70079,0" + id="guide1063" /> + <sodipodi:guide + position="1.8082864e-06,-14.814291" + orientation="1,0" + id="guide7597" /> + <sodipodi:guide + position="189.36801,126.15307" + orientation="1,0" + id="guide7599" /> + <sodipodi:guide + position="92.571236,92.115778" + orientation="1,0" + id="guide1983" /> + </sodipodi:namedview> + <defs + id="defs2"> + <rect + x="639.56831" + y="436.09635" + width="229.0547" + height="108.2804" + id="rect172248" /> + </defs> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="Hintergrund" + style="display:inline" + transform="translate(-62.291465,-55.243919)" + sodipodi:insensitive="true"> + <g + id="g9073" + style="display:inline" + transform="matrix(1.0695271,0,0,1,-4.3309457,0)"> + <rect + style="fill:#ececec;stroke:none;stroke-width:0.340654;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect7377" + width="177.05769" + height="57.202" + x="62.291466" + y="55.243919" /> + <rect + style="fill:#cccccc;stroke:none;stroke-width:0.327382;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect7377-1" + width="177.05769" + height="52.83173" + x="62.291466" + y="112.44592" /> + </g> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="75.588104" + y="66.890434" + id="text2960"><tspan + sodipodi:role="line" + id="tspan3676" + x="75.588104" + y="66.890434">Solvat</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="76.555458" + y="153.5972" + id="text2960-2"><tspan + sodipodi:role="line" + id="tspan3723" + x="76.555458" + y="153.5972">Solvent</tspan></text> + </g> + <g + inkscape:label="Zeichnung" + inkscape:groupmode="layer" + id="layer1" + style="display:inline" + transform="translate(-62.291465,-55.243919)" + sodipodi:insensitive="true"> + <circle + style="fill:#999999;fill-rule:evenodd;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path31" + cx="135.87231" + cy="89.563972" + r="4.8780489" /> + <circle + style="fill:#999999;fill-rule:evenodd;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path31-1" + cx="99.297806" + cy="112.44592" + r="4.8780489" /> + <circle + style="fill:#999999;fill-rule:evenodd;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path31-2" + cx="135.81276" + cy="132.22543" + r="4.8780489" /> + <circle + style="fill:#999999;fill-rule:evenodd;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path31-0" + cx="171.39656" + cy="112.44592" + r="4.8780489" /> + <rect + style="fill:#d4aa00;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294" + width="5.5551906" + height="5.5551901" + x="-29.2388" + y="131.00598" + transform="rotate(-45.647182)" /> + <rect + style="fill:#8daa00;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294-9" + width="5.5551906" + height="5.5551901" + x="50.391106" + y="161.87997" + transform="rotate(-45.647182)" /> + <rect + style="display:inline;fill:#d4aa00;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294-9-4" + width="5.5551906" + height="5.5551901" + x="81.951218" + y="244.80037" + transform="rotate(-45.647182)" /> + <rect + style="fill:#8daa00;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294-8" + width="5.5551906" + height="5.5551901" + x="50.262993" + y="212.32437" + transform="rotate(-45.647182)" /> + <rect + style="fill:#d4aa00;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294-4" + width="5.5551906" + height="5.5551901" + x="3.7021451" + y="207.4637" + transform="rotate(-45.647182)" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 139.97319,92.205437 27.32249,17.599023" + id="path6608" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#path31" + inkscape:connection-end="#path31-0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 131.52364,129.90209 103.58693,114.76926" + id="path6895" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#path31-2" + inkscape:connection-end="#path31-1" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 103.43314,109.85875 131.73698,92.151145" + id="path6897" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#path31-1" + inkscape:connection-end="#path31" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 140.07632,129.8555 167.133,114.81586" + id="path7001" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#path31-2" + inkscape:connection-end="#path31-0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 81.047856,112.44579 13.371901,1e-4" + id="path7107" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2294" + inkscape:connection-end="#path31-1" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 152.52832,78.648628 -12.57608,8.241607" + id="path7109" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2294-9" + inkscape:connection-end="#path31" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 176.27461,112.44588 10.72857,-9e-5" + id="path7111" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#path31-0" + inkscape:connection-end="#rect2294-8" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 140.12102,134.51316 12.18453,6.47009" + id="path7113" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#path31-2" + inkscape:connection-end="#rect2294-4" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583" + x="96.669197" + y="114.98151" + id="text4881"><tspan + sodipodi:role="line" + id="tspan4879" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583" + x="96.669197" + y="114.98151">1</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="133.2437" + y="92.099564" + id="text4881-2"><tspan + sodipodi:role="line" + id="tspan9308" + x="133.2437" + y="92.099564">2</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="169.44664" + y="114.93673" + id="text4881-2-5"><tspan + sodipodi:role="line" + id="tspan9355" + x="169.44664" + y="114.93673">3</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="133.97652" + y="134.75069" + id="text4881-2-5-8"><tspan + sodipodi:role="line" + id="tspan9402" + x="133.97652" + y="134.75069">4</tspan></text> + <circle + style="display:inline;fill:#999999;fill-rule:evenodd;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path31-8" + cx="211.89583" + cy="112.45097" + r="4.8780489" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="209.9995" + y="115.42236" + id="text4881-2-2"><tspan + sodipodi:role="line" + id="tspan135" + x="209.9995" + y="115.42236">5</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 194.77124,112.44672 12.24655,0.003" + id="path309" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2294-8" + inkscape:connection-end="#path31-8" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 216.77383,112.45884 15.60985,0.0252" + id="path1348" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#path31-8" + inkscape:connection-end="#rect2294-9-4" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 157.32484,78.589963 50.4261,31.289127" + id="path1350" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2294-9" + inkscape:connection-end="#path31-8" + sodipodi:nodetypes="cc" /> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="Text" + style="display:inline" + transform="translate(-62.291465,-55.243919)"> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="146.00139" + y="68.558945" + id="text2960-2-8"><tspan + sodipodi:role="line" + id="tspan3770" + x="146.00139" + y="68.558945">Kristalle</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="228.66666" + y="106.18404" + id="text2960-2-8-5"><tspan + sodipodi:role="line" + id="tspan3770-6" + x="228.66666" + y="106.18404">Austritt</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="70.176537" + y="123.77015" + id="text2960-2-8-4"><tspan + sodipodi:role="line" + id="tspan3853" + x="70.176537" + y="123.77015">Feed</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="190.13219" + y="121.45745" + id="text2960-2-8-4-2"><tspan + sodipodi:role="line" + id="tspan2055" + x="190.13219" + y="121.45745">ges.</tspan><tspan + sodipodi:role="line" + id="tspan2057" + x="190.13219" + y="126.74911">Lösung</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="147.31316" + y="151.66415" + id="text2960-2-8-4-4"><tspan + sodipodi:role="line" + id="tspan3937" + x="147.31316" + y="151.66415">Dampf</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';stroke-width:0.264583" + x="90.031036" + y="110.92877" + id="text17927"><tspan + sodipodi:role="line" + id="tspan17925" + style="stroke-width:0.264583" + x="90.031036" + y="110.92877">C</tspan><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="90.031036" + y="117.10239" + id="tspan17929" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="102.9058" + y="121.00934" + id="text17927-1"><tspan + sodipodi:role="line" + id="tspan21666" + x="102.9058" + y="121.00934">B</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="103.37024" + y="107.21708" + id="text17927-3"><tspan + sodipodi:role="line" + id="tspan21646" + x="103.37024" + y="107.21708">A</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';display:inline;stroke-width:0.264583" + x="126.44048" + y="92.219185" + id="text17927-5"><tspan + sodipodi:role="line" + id="tspan17925-2" + style="stroke-width:0.264583" + x="126.44048" + y="92.219185">C</tspan><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="126.44048" + y="98.392807" + id="tspan17929-5" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="139.20383" + y="97.598221" + id="text17927-1-3"><tspan + sodipodi:role="line" + id="tspan21666-4" + x="139.20383" + y="97.598221">B</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="137.0918" + y="83.809402" + id="text17927-3-1"><tspan + sodipodi:role="line" + id="tspan21646-4" + x="137.0918" + y="83.809402">A</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';display:inline;stroke-width:0.264583" + x="128.97603" + y="127.66626" + id="text17927-4"><tspan + sodipodi:role="line" + id="tspan17925-1" + style="stroke-width:0.264583" + x="128.97603" + y="127.66626">C</tspan><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="128.97603" + y="133.83989" + id="tspan17929-0" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="131.59081" + y="141.48419" + id="text17927-1-34"><tspan + sodipodi:role="line" + id="tspan21666-5" + x="131.59081" + y="141.48419">B</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="142.0965" + y="132.79713" + id="text17927-3-2"><tspan + sodipodi:role="line" + id="tspan21646-1" + x="142.0965" + y="132.79713">A</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';display:inline;stroke-width:0.264583" + x="177.23695" + y="110.77304" + id="text17927-12"><tspan + sodipodi:role="line" + id="tspan17925-5" + style="stroke-width:0.264583" + x="177.23695" + y="110.77304">C</tspan><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="177.23695" + y="116.94666" + id="tspan17929-4" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="161.04665" + y="111.68336" + id="text17927-1-1"><tspan + sodipodi:role="line" + id="tspan21666-6" + x="161.04665" + y="111.68336">B</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="165.48331" + y="120.74818" + id="text17927-3-3"><tspan + sodipodi:role="line" + id="tspan21646-7" + x="165.48331" + y="120.74818">A</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';display:inline;stroke-width:0.264583" + x="217.64957" + y="116.89028" + id="text17927-5-4"><tspan + sodipodi:role="line" + id="tspan17925-2-4" + style="stroke-width:0.264583" + x="217.64957" + y="116.89028">C</tspan><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="217.64957" + y="123.0639" + id="tspan17929-5-9" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="204.78934" + y="106.66243" + id="text17927-1-3-7"><tspan + sodipodi:role="line" + id="tspan21666-4-3" + x="204.78934" + y="106.66243">B</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="203.56633" + y="117.47902" + id="text17927-3-1-7"><tspan + sodipodi:role="line" + id="tspan21646-4-9" + x="203.56633" + y="117.47902">A</tspan></text> + <g + id="g187621" + transform="translate(4.8798071,1.4167182)"> + <rect + style="fill:#ececec;fill-opacity:1;stroke-width:0.241954" + id="rect177370" + width="50.105061" + height="20.932934" + x="191.47997" + y="137.92616" /> + <g + id="g166229" + transform="translate(-2.3031101,6.6572776)"> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="204.04491" + y="139.37309" + id="text2960-2-8-5-4"><tspan + sodipodi:role="line" + id="tspan3770-6-3" + x="204.04491" + y="139.37309">Ein- und Ausgänge </tspan></text> + <rect + style="display:inline;fill:#d4aa00;stroke:#000000;stroke-width:0.177129;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294-9-4-6" + width="3.2799497" + height="3.2799494" + x="39.203697" + y="236.97296" + transform="rotate(-45.647182)" /> + </g> + <g + id="g166234" + transform="translate(19.204402,-1.7315444)"> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="182.64436" + y="155.53413" + id="text2960-2-8-5-4-9"><tspan + sodipodi:role="line" + id="tspan3770-6-3-7" + x="182.64436" + y="155.53413">Interne Größen</tspan></text> + <rect + style="display:inline;fill:#8daa00;fill-opacity:1;stroke:#000000;stroke-width:0.177129;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294-9-4-6-0" + width="3.2799497" + height="3.2799494" + x="12.806045" + y="233.35071" + transform="rotate(-45.647182)" /> + </g> + </g> + <text + xml:space="preserve" + transform="matrix(0.26458333,0,0,0.26458333,62.291465,55.243919)" + id="text172246" + style="line-height:1.25;font-family:Arial;font-size:18.66666794px;-inkscape-font-specification:'Arial, Normal';white-space:pre;shape-inside:url(#rect172248)" /> + </g> + <metadata + id="metadata28682"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:title>Knotenmodell_Kristallisation</dc:title> + </cc:Work> + </rdf:RDF> + </metadata> +</svg> diff --git a/pics/Knotenmodell_Kristallisation_Vers_2.svg b/pics/Knotenmodell_Kristallisation_Vers_2.svg new file mode 100644 index 0000000..2989297 --- /dev/null +++ b/pics/Knotenmodell_Kristallisation_Vers_2.svg @@ -0,0 +1,657 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<!-- Created with Inkscape (http://www.inkscape.org/) --> + +<svg + width="115.92763mm" + height="177.55925mm" + viewBox="0 0 115.92763 177.55925" + version="1.1" + id="svg5" + inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)" + sodipodi:docname="Knotenmodell_Kristallisation_Vers_2.svg" + xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" + xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" + xmlns="http://www.w3.org/2000/svg" + xmlns:svg="http://www.w3.org/2000/svg" + xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" + xmlns:cc="http://creativecommons.org/ns#" + xmlns:dc="http://purl.org/dc/elements/1.1/"> + <title + id="title28684">Knotenmodell_Kristallisation</title> + <sodipodi:namedview + id="namedview7" + pagecolor="#ffffff" + bordercolor="#666666" + borderopacity="1.0" + inkscape:pageshadow="2" + inkscape:pageopacity="0.0" + inkscape:pagecheckerboard="0" + inkscape:document-units="mm" + showgrid="false" + showguides="true" + inkscape:guide-bbox="true" + inkscape:snap-nodes="true" + inkscape:object-paths="true" + inkscape:snap-intersection-paths="true" + inkscape:snap-smooth-nodes="true" + inkscape:snap-midpoints="true" + inkscape:snap-object-midpoints="true" + inkscape:snap-center="true" + inkscape:snap-text-baseline="true" + inkscape:snap-bbox="true" + inkscape:bbox-paths="true" + inkscape:bbox-nodes="true" + inkscape:snap-bbox-edge-midpoints="true" + inkscape:snap-bbox-midpoints="true" + inkscape:zoom="0.84041062" + inkscape:cx="314.7271" + inkscape:cy="291.52416" + inkscape:window-width="1920" + inkscape:window-height="1018" + inkscape:window-x="-6" + inkscape:window-y="-6" + inkscape:window-maximized="1" + inkscape:current-layer="layer3" + inkscape:snap-global="true"> + <sodipodi:guide + position="-8.3886718e-06,177.55925" + orientation="0,559.37008" + id="guide7332" /> + <sodipodi:guide + position="147.99999,177.55925" + orientation="793.70079,0" + id="guide7334" /> + <sodipodi:guide + position="147.99999,-32.44075" + orientation="0,-559.37008" + id="guide7336" /> + <sodipodi:guide + position="-8.3886718e-06,-32.44075" + orientation="-793.70079,0" + id="guide7338" /> + </sodipodi:namedview> + <defs + id="defs2"> + <rect + x="639.5683" + y="436.09634" + width="229.0547" + height="108.2804" + id="rect172248" /> + </defs> + <g + inkscape:groupmode="layer" + id="layer2" + inkscape:label="Hintergrund" + style="display:inline" + transform="translate(-62.291473,-55.243919)"> + <rect + style="fill:#ececec;stroke:none;stroke-width:0.343507;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect7377" + width="177.55925" + height="58" + x="55.243919" + y="-178.2191" + transform="rotate(90)" /> + <rect + style="fill:#cccccc;stroke:none;stroke-width:0.343507;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect7377-1" + width="177.55925" + height="58" + x="55.243919" + y="-120.29147" + transform="rotate(90)" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="149.86214" + y="90.762817" + id="text2960"><tspan + sodipodi:role="line" + id="tspan3676" + x="149.86214" + y="90.762817">Solvat</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="75.675407" + y="90.229065" + id="text2960-2"><tspan + sodipodi:role="line" + id="tspan3723" + x="75.675407" + y="90.229065">Solvent</tspan></text> + </g> + <g + inkscape:label="Zeichnung" + inkscape:groupmode="layer" + id="layer1" + style="display:inline" + transform="translate(-62.291473,-55.243919)"> + <circle + style="fill:#999999;fill-rule:evenodd;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path31" + cx="114.25462" + cy="-142.82207" + r="4.8780489" + transform="rotate(90)" /> + <circle + style="fill:#999999;fill-rule:evenodd;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path31-1" + cx="85.617615" + cy="-120.27406" + r="4.8780489" + transform="rotate(90)" /> + <circle + style="fill:#999999;fill-rule:evenodd;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path31-2" + cx="114.19506" + cy="-97.514809" + r="4.8780489" + transform="rotate(90)" /> + <circle + style="fill:#999999;fill-rule:evenodd;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path31-0" + cx="146.60387" + cy="-120.27406" + r="4.8780489" + transform="rotate(90)" /> + <rect + style="fill:#d4aa00;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294" + width="5.5551906" + height="5.5551901" + x="129.82336" + y="-39.194393" + transform="rotate(44.352818)" /> + <rect + style="fill:#8daa00;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294-9" + width="5.5551906" + height="5.5551901" + x="203.1817" + y="-18.000479" + transform="rotate(44.352818)" /> + <rect + style="display:inline;fill:#d4aa00;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294-9-4" + width="5.5551906" + height="5.5551901" + x="225.6752" + y="58.911568" + transform="rotate(44.352818)" /> + <rect + style="fill:#8daa00;fill-opacity:1;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294-8" + width="5.5551906" + height="5.5551901" + x="200.33194" + y="32.925446" + transform="rotate(44.352818)" /> + <rect + style="fill:#d4aa00;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294-4" + width="5.5551906" + height="5.5551901" + x="149.94678" + y="33.865585" + transform="rotate(44.352818)" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 140.03275,118.2564 -16.96937,24.34569" + id="path6608" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#path31" + inkscape:connection-end="#path31-0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 100.5537,110.37931 117.23518,89.433366" + id="path6895" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#path31-2" + inkscape:connection-end="#path31-1" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 123.2917,89.450158 16.51273,20.971922" + id="path6897" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#path31-1" + inkscape:connection-end="#path31" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 100.3182,118.18705 17.15247,24.42483" + id="path7001" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#path31-2" + inkscape:connection-end="#path31-0" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 120.27417,70.54266 -7e-5,10.196906" + id="path7107" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2294" + inkscape:connection-end="#path31-1" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="M 156.16357,130.91184 145.87155,118.06198" + id="path7109" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2294-9" + inkscape:connection-end="#path31" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 120.27407,151.48192 2e-5,12.15175" + id="path7111" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#path31-0" + inkscape:connection-end="#rect2294-8" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 94.608521,118.11282 -9.349243,12.60304" + id="path7113" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#path31-2" + inkscape:connection-end="#rect2294-4" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583" + x="118.05291" + y="87.644585" + id="text4881"><tspan + sodipodi:role="line" + id="tspan4879" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;stroke-width:0.264583" + x="118.05291" + y="87.644585">1</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="140.93959" + y="116.04406" + id="text4881-2"><tspan + sodipodi:role="line" + id="tspan9308" + x="140.93959" + y="116.04406">2</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="118.32413" + y="149.09473" + id="text4881-2-5"><tspan + sodipodi:role="line" + id="tspan9355" + x="118.32413" + y="149.09473">3</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="95.678581" + y="116.72031" + id="text4881-2-5-8"><tspan + sodipodi:role="line" + id="tspan9402" + x="95.678581" + y="116.72031">4</tspan></text> + <circle + style="display:inline;fill:#999999;fill-rule:evenodd;stroke:#000000;stroke-width:0.3;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="path31-8" + cx="186.57423" + cy="-120.269" + r="4.8780489" + transform="rotate(90)" /> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:7.05556px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="118.00082" + y="188.87018" + id="text4881-2-2"><tspan + sodipodi:role="line" + id="tspan135" + x="118.00082" + y="188.87018">5</tspan></text> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 120.27306,171.40163 -0.003,10.29456" + id="path309" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2294-8" + inkscape:connection-end="#path31-8" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 120.25783,191.45221 -0.0194,8.48831" + id="path1348" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#path31-8" + inkscape:connection-end="#rect2294-9-4" /> + <path + style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" + d="m 156.29316,135.39683 -33.21634,47.18849" + id="path1350" + inkscape:connector-type="polyline" + inkscape:connector-curvature="0" + inkscape:connection-start="#rect2294-9" + inkscape:connection-end="#path31-8" + sodipodi:nodetypes="cc" /> + </g> + <g + inkscape:groupmode="layer" + id="layer3" + inkscape:label="Text" + style="display:inline" + transform="translate(-62.291473,-55.243919)"> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="138.56404" + y="134.37471" + id="text2960-2-8"><tspan + sodipodi:role="line" + id="tspan3770" + x="138.56404" + y="134.37471">Kristalle</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="100.31959" + y="207.19911" + id="text2960-2-8-5"><tspan + sodipodi:role="line" + id="tspan3770-6" + x="100.31959" + y="207.19911">Austritt</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="127.897" + y="68.085945" + id="text2960-2-8-4"><tspan + sodipodi:role="line" + id="tspan3853" + x="127.897" + y="68.085945">Feed</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;text-align:center;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="105.59402" + y="165.1544" + id="text2960-2-8-4-2"><tspan + sodipodi:role="line" + id="tspan2055" + x="105.59402" + y="165.1544">ges.</tspan><tspan + sodipodi:role="line" + id="tspan2057" + x="105.59402" + y="170.44606">Lösung</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="87.82476" + y="134.08067" + id="text2960-2-8-4-4"><tspan + sodipodi:role="line" + id="tspan3937" + x="87.82476" + y="134.08067">Dampf</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';stroke-width:0.264583" + x="121.51449" + y="79.440201" + id="text17927"><tspan + sodipodi:role="line" + id="tspan17925" + style="stroke-width:0.264583" + x="121.51449" + y="79.440201">C</tspan><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="121.51449" + y="85.613823" + id="tspan17929" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="112.10262" + y="91.980194" + id="text17927-1"><tspan + sodipodi:role="line" + id="tspan21666" + x="112.10262" + y="91.980194">B</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="125.833" + y="91.727364" + id="text17927-3"><tspan + sodipodi:role="line" + id="tspan21646" + x="125.833" + y="91.727364">A</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';stroke-width:0.264583" + x="103.53815" + y="110.10027" + id="text17927-9"><tspan + sodipodi:role="line" + id="tspan17925-59" + style="stroke-width:0.264583" + x="103.53815" + y="110.10027">C</tspan><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="103.53815" + y="116.2739" + id="tspan17929-2" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="89.312553" + y="120.18967" + id="text17927-1-6"><tspan + sodipodi:role="line" + id="tspan21666-1" + x="89.312553" + y="120.18967">B</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="98.061516" + y="123.94577" + id="text17927-3-15"><tspan + sodipodi:role="line" + id="tspan21646-3" + x="98.061516" + y="123.94577">A</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';stroke-width:0.264583" + x="139.91019" + y="107.76276" + id="text17927-2"><tspan + sodipodi:role="line" + id="tspan17925-0" + style="stroke-width:0.264583" + x="139.91019" + y="107.76276">C</tspan><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="139.91019" + y="113.93638" + id="tspan17929-7" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="134.58934" + y="121.0546" + id="text17927-1-2"><tspan + sodipodi:role="line" + id="tspan21666-14" + x="134.58934" + y="121.0546">B</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="148.23575" + y="120.04996" + id="text17927-3-32"><tspan + sodipodi:role="line" + id="tspan21646-2" + x="148.23575" + y="120.04996">A</tspan></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';stroke-width:0.264583" + x="122.15571" + y="155.48297" + id="text17927-29"><tspan + sodipodi:role="line" + id="tspan17925-7" + style="stroke-width:0.264583" + x="122.15571" + y="155.48297">C</tspan><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="122.15571" + y="161.6566" + id="tspan17929-57" /></text> + <text + xml:space="preserve" + style="font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';display:inline;stroke-width:0.264583" + x="115.73702" + y="196.06419" + id="text17927-29-8"><tspan + sodipodi:role="line" + id="tspan17925-7-5" + style="stroke-width:0.264583" + x="115.73702" + y="196.06419">C</tspan><tspan + sodipodi:role="line" + style="stroke-width:0.264583" + x="115.73702" + y="202.23782" + id="tspan17929-57-0" /></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="121.23235" + y="139.38945" + id="text17927-1-8"><tspan + sodipodi:role="line" + id="tspan21666-44" + x="121.23235" + y="139.38945">B</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="112.06072" + y="142.80972" + id="text17927-3-6"><tspan + sodipodi:role="line" + id="tspan21646-37" + x="112.06072" + y="142.80972">A</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="126.37992" + y="182.10629" + id="text17927-1-8-7"><tspan + sodipodi:role="line" + id="tspan21666-44-9" + x="126.37992" + y="182.10629">B</tspan></text> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.9389px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;stroke-width:0.264583" + x="114.50951" + y="180.40645" + id="text17927-3-6-9"><tspan + sodipodi:role="line" + id="tspan21646-37-7" + x="114.50951" + y="180.40645">A</tspan></text> + <g + id="g7219" + transform="translate(-36.460196,44.232117)"> + <rect + style="fill:#cccccc;fill-opacity:1;stroke-width:0.214262" + id="rect177370" + width="49.160583" + height="16.730906" + x="161.38887" + y="167.40012" /> + <g + id="g166229" + transform="translate(-33.338676,34.084856)"> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="204.04491" + y="139.37309" + id="text2960-2-8-5-4"><tspan + sodipodi:role="line" + id="tspan3770-6-3" + x="204.04491" + y="139.37309">Ein- und Ausgänge </tspan></text> + <rect + style="display:inline;fill:#d4aa00;stroke:#000000;stroke-width:0.177129;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294-9-4-6" + width="3.2799497" + height="3.2799494" + x="39.203697" + y="236.97296" + transform="rotate(-45.647182)" /> + </g> + <g + id="g166234" + transform="translate(-11.831164,25.696034)"> + <text + xml:space="preserve" + style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.23333px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';font-variant-ligatures:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-east-asian:normal;display:inline;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583" + x="182.64436" + y="155.53413" + id="text2960-2-8-5-4-9"><tspan + sodipodi:role="line" + id="tspan3770-6-3-7" + x="182.64436" + y="155.53413">Interne Größen</tspan></text> + <rect + style="display:inline;fill:#8daa00;fill-opacity:1;stroke:#000000;stroke-width:0.177129;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" + id="rect2294-9-4-6-0" + width="3.2799497" + height="3.2799494" + x="12.806045" + y="233.35071" + transform="rotate(-45.647182)" /> + </g> + </g> + <text + xml:space="preserve" + transform="matrix(0.26458333,0,0,0.26458333,62.291465,55.243919)" + id="text172246" + style="font-size:18.6667px;line-height:1.25;font-family:Arial;-inkscape-font-specification:'Arial, Normal';white-space:pre;shape-inside:url(#rect172248)" /> + </g> + <metadata + id="metadata28682"> + <rdf:RDF> + <cc:Work + rdf:about=""> + <dc:title>Knotenmodell_Kristallisation</dc:title> + </cc:Work> + </rdf:RDF> + </metadata> +</svg> diff --git a/requirements.txt b/requirements.txt index 947c323..3faaafa 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,4 @@ voila -voila-gridstack ipysheet pandas -pyperclip \ No newline at end of file +markdown \ No newline at end of file -- GitLab