=0?1:-1)}else if(r===i.length-1&&Object.hasOwn(n,t.arrowTypeEnd)){let{angle:e,deltaX:r}=a(i[i.length-1],i[i.length-2]);s=n[t.arrowTypeEnd]*Math.cos(e)*(r>=0?1:-1)}let h=Math.abs(o(e).x-o(i[i.length-1]).x),c=Math.abs(o(e).y-o(i[i.length-1]).y),u=Math.abs(o(e).x-o(i[0]).x),d=Math.abs(o(e).y-o(i[0]).y),f=n[t.arrowTypeStart],p=n[t.arrowTypeEnd];if(h0&&c
0&&d=0?1:-1)}else if(r===i.length-1&&Object.hasOwn(n,t.arrowTypeEnd)){let{angle:e,deltaY:r}=a(i[i.length-1],i[i.length-2]);s=n[t.arrowTypeEnd]*Math.abs(Math.sin(e))*(r>=0?1:-1)}let h=Math.abs(o(e).y-o(i[i.length-1]).y),c=Math.abs(o(e).x-o(i[i.length-1]).x),u=Math.abs(o(e).y-o(i[0]).y),d=Math.abs(o(e).x-o(i[0]).x),f=n[t.arrowTypeStart],p=n[t.arrowTypeEnd];if(h0&&c
0&&dr,contentTitle:()=>o,default:()=>p,assets:()=>c,toc:()=>u,frontMatter:()=>l});var r=JSON.parse('{"id":"exercises/data-objects/data-objects01","title":"DataObjects01","description":"","source":"@site/docs/exercises/data-objects/data-objects01.mdx","sourceDirName":"exercises/data-objects","slug":"/exercises/data-objects/data-objects01","permalink":"/java-docs/pr-preview/pr-236/exercises/data-objects/data-objects01","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/data-objects/data-objects01.mdx","tags":[],"version":"current","frontMatter":{"title":"DataObjects01","description":""},"sidebar":"exercisesSidebar","previous":{"title":"Datenobjekte","permalink":"/java-docs/pr-preview/pr-236/exercises/data-objects/"},"next":{"title":"DataObjects02","permalink":"/java-docs/pr-preview/pr-236/exercises/data-objects/data-objects02"}}'),n=a("85893"),s=a("50065"),i=a("39661");let l={title:"DataObjects01",description:""},o=void 0,c={},u=[{value:"Konsolenausgabe",id:"konsolenausgabe",level:2}];function d(e){let t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.p,{children:["Erstelle eine ausf\xfchrbare Klasse, welche die drei Variablen ",(0,n.jsx)(t.code,{children:"name"})," (Datentyp\n",(0,n.jsx)(t.code,{children:"String"}),"), ",(0,n.jsx)(t.code,{children:"age"})," (Datentyp ",(0,n.jsx)(t.code,{children:"int"}),") und ",(0,n.jsx)(t.code,{children:"gender"})," (Datentyp ",(0,n.jsx)(t.code,{children:"char"}),") deklariert,\ninitialisiert und \xfcber die Konsole ausgibt."]}),"\n",(0,n.jsx)(t.h2,{id:"konsolenausgabe",children:"Konsolenausgabe"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-console",children:"Name: Hans\nAlter: 25\nGeschlecht: m\n"})}),"\n",(0,n.jsx)(i.Z,{pullRequest:"3",branchSuffix:"data-objects/01"})]})}function p(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},5525:function(e,t,a){a.d(t,{Z:()=>i});var r=a("85893");a("67294");var n=a("67026");let s="tabItem_Ymn6";function i(e){let{children:t,hidden:a,className:i}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,n.Z)(s,i),hidden:a,children:t})}},47902:function(e,t,a){a.d(t,{Z:()=>g});var r=a("85893"),n=a("67294"),s=a("67026"),i=a("69599"),l=a("16550"),o=a("32000"),c=a("4520"),u=a("38341"),d=a("76009");function p(e){return n.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||n.isValidElement(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})?.filter(Boolean)??[]}function h(e){let{value:t,tabValues:a}=e;return a.some(e=>e.value===t)}var b=a("7227");let f="tabList__CuJ",j="tabItem_LNqP";function m(e){let{className:t,block:a,selectedValue:n,selectValue:l,tabValues:o}=e,c=[],{blockElementScrollPositionUntilNextRender:u}=(0,i.o5)(),d=e=>{let t=e.currentTarget,a=o[c.indexOf(t)].value;a!==n&&(u(t),l(a))},p=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let a=c.indexOf(e.currentTarget)+1;t=c[a]??c[0];break}case"ArrowLeft":{let a=c.indexOf(e.currentTarget)-1;t=c[a]??c[c.length-1]}}t?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":a},t),children:o.map(e=>{let{value:t,label:a,attributes:i}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:n===t?0:-1,"aria-selected":n===t,ref:e=>c.push(e),onKeyDown:p,onClick:d,...i,className:(0,s.Z)("tabs__item",j,i?.className,{"tabs__item--active":n===t}),children:a??t},t)})})}function v(e){let{lazy:t,children:a,selectedValue:i}=e,l=(Array.isArray(a)?a:[a]).filter(Boolean);if(t){let e=l.find(e=>e.props.value===i);return e?(0,n.cloneElement)(e,{className:(0,s.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:l.map((e,t)=>(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==i}))})}function x(e){let t=function(e){let{defaultValue:t,queryString:a=!1,groupId:r}=e,s=function(e){let{values:t,children:a}=e;return(0,n.useMemo)(()=>{let e=t??p(a).map(e=>{let{props:{value:t,label:a,attributes:r,default:n}}=e;return{value:t,label:a,attributes:r,default:n}});return!function(e){let t=(0,u.lx)(e,(e,t)=>e.value===t.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>e.value).join(", ")}" found in . Every value needs to be unique.`)}(e),e},[t,a])}(e),[i,b]=(0,n.useState)(()=>(function(e){let{defaultValue:t,tabValues:a}=e;if(0===a.length)throw Error("Docusaurus error: the component requires at least one children component");if(t){if(!h({value:t,tabValues:a}))throw Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${a.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}let r=a.find(e=>e.default)??a[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:t,tabValues:s})),[f,j]=function(e){let{queryString:t=!1,groupId:a}=e,r=(0,l.k6)(),s=function(e){let{queryString:t=!1,groupId:a}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!a)throw Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return a??null}({queryString:t,groupId:a}),i=(0,c._X)(s);return[i,(0,n.useCallback)(e=>{if(!s)return;let t=new URLSearchParams(r.location.search);t.set(s,e),r.replace({...r.location,search:t.toString()})},[s,r])]}({queryString:a,groupId:r}),[m,v]=function(e){var t;let{groupId:a}=e;let r=(t=a)?`docusaurus.tab.${t}`:null,[s,i]=(0,d.Nk)(r);return[s,(0,n.useCallback)(e=>{if(!!r)i.set(e)},[r,i])]}({groupId:r}),x=(()=>{let e=f??m;return h({value:e,tabValues:s})?e:null})();return(0,o.Z)(()=>{x&&b(x)},[x]),{selectedValue:i,selectValue:(0,n.useCallback)(e=>{if(!h({value:e,tabValues:s}))throw Error(`Can't select invalid tab value=${e}`);b(e),j(e),v(e)},[j,v,s]),tabValues:s}}(e);return(0,r.jsxs)("div",{className:(0,s.Z)("tabs-container",f),children:[(0,r.jsx)(m,{...t,...e}),(0,r.jsx)(v,{...t,...e})]})}function g(e){let t=(0,b.Z)();return(0,r.jsx)(x,{...e,children:p(e.children)},String(t))}},39661:function(e,t,a){a.d(t,{Z:function(){return o}});var r=a(85893);a(67294);var n=a(47902),s=a(5525),i=a(83012),l=a(45056);function o(e){let{pullRequest:t,branchSuffix:a}=e;return(0,r.jsxs)(n.Z,{children:[(0,r.jsxs)(s.Z,{value:"exercise",label:"Exercise",default:!0,children:[(0,r.jsx)(l.Z,{language:"console",children:`git switch exercises/${a}`}),(0,r.jsx)(i.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/exercises/${a}/Exercise.java`,children:(0,r.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,r.jsxs)(s.Z,{value:"solution",label:"Solution",children:[(0,r.jsx)(l.Z,{language:"console",children:`git switch solutions/${a}`}),(0,r.jsx)(i.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/solutions/${a}/Exercise.java`,children:(0,r.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,r.jsxs)(s.Z,{value:"pullrequest",label:"Pull Request",children:["Alle \xa0\xc4nderungen zwischen der Aufgabe und der L\xf6sung findest du im Pull Request"," ",(0,r.jsxs)(i.Z,{to:`https://github.com/jappuccini/java-exercises/pull/${t}/files?diff=split`,children:["PR#",t]})]})]})}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/1b6c4170.08f3c185.js b/pr-preview/pr-236/assets/js/1b6c4170.08f3c185.js
deleted file mode 100644
index a6f2037586..0000000000
--- a/pr-preview/pr-236/assets/js/1b6c4170.08f3c185.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["5519"],{62735:function(e){e.exports=JSON.parse('{"tag":{"label":"polymorphism","permalink":"/java-docs/pr-preview/pr-236/tags/polymorphism","allTagsPath":"/java-docs/pr-preview/pr-236/tags","count":15,"items":[{"id":"documentation/polymorphy","title":"(Dynamische) Polymorphie","description":"","permalink":"/java-docs/pr-preview/pr-236/documentation/polymorphy"},{"id":"exam-exercises/exam-exercises-java2/class-diagrams/library","title":"Bibliothek","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/class-diagrams/library"},{"id":"exam-exercises/exam-exercises-java1/class-diagrams/fast-food","title":"Fast Food","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java1/class-diagrams/fast-food"},{"id":"exam-exercises/exam-exercises-java1/class-diagrams/shape","title":"Geometrische Form","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java1/class-diagrams/shape"},{"id":"exam-exercises/exam-exercises-java1/class-diagrams/cashier-system","title":"Kassensystem","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java1/class-diagrams/cashier-system"},{"id":"exam-exercises/exam-exercises-java2/class-diagrams/lego-brick","title":"Lego-Baustein","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/class-diagrams/lego-brick"},{"id":"exam-exercises/exam-exercises-java1/class-diagrams/cookie-jar","title":"Pl\xe4tzchendose","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java1/class-diagrams/cookie-jar"},{"id":"exercises/polymorphy/polymorphy","title":"Polymorphie","description":"","permalink":"/java-docs/pr-preview/pr-236/exercises/polymorphy/"},{"id":"exam-exercises/exam-exercises-java2/class-diagrams/job-offer","title":"Stellenangebot","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/class-diagrams/job-offer"},{"id":"exam-exercises/exam-exercises-java2/class-diagrams/corner-shop","title":"Tante-Emma-Laden","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/class-diagrams/corner-shop"},{"id":"exam-exercises/exam-exercises-java2/class-diagrams/team","title":"Team","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/class-diagrams/team"},{"id":"exam-exercises/exam-exercises-java1/class-diagrams/parking-garage","title":"Tiefgarage","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java1/class-diagrams/parking-garage"},{"id":"exam-exercises/exam-exercises-java2/class-diagrams/video-collection","title":"Videosammlung","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/class-diagrams/video-collection"},{"id":"exam-exercises/exam-exercises-java1/class-diagrams/christmas-tree","title":"Weihnachtsbaum","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java1/class-diagrams/christmas-tree"},{"id":"exam-exercises/exam-exercises-java1/class-diagrams/zoo","title":"Zoo","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java1/class-diagrams/zoo"}],"unlisted":false}}')}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/1b894b62.1e58802e.js b/pr-preview/pr-236/assets/js/1b894b62.1e58802e.js
deleted file mode 100644
index e3625ccb08..0000000000
--- a/pr-preview/pr-236/assets/js/1b894b62.1e58802e.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["8582"],{46024:function(e,n,i){i.r(n),i.d(n,{metadata:()=>s,contentTitle:()=>t,default:()=>m,assets:()=>c,toc:()=>d,frontMatter:()=>r});var s=JSON.parse('{"id":"exam-exercises/exam-exercises-java1/dice-games/dice-game-03","title":"W\xfcrfelspiel 3","description":"","source":"@site/docs/exam-exercises/exam-exercises-java1/dice-games/dice-game-03.md","sourceDirName":"exam-exercises/exam-exercises-java1/dice-games","slug":"/exam-exercises/exam-exercises-java1/dice-games/dice-game-03","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java1/dice-games/dice-game-03","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java1/dice-games/dice-game-03.md","tags":[{"inline":true,"label":"console-applications","permalink":"/java-docs/pr-preview/pr-236/tags/console-applications"},{"inline":true,"label":"oo","permalink":"/java-docs/pr-preview/pr-236/tags/oo"}],"version":"current","frontMatter":{"title":"W\xfcrfelspiel 3","description":"","tags":["console-applications","oo"]},"sidebar":"examExercisesSidebar","previous":{"title":"W\xfcrfelspiel 2","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java1/dice-games/dice-game-02"},"next":{"title":"W\xfcrfelspiel 4","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java1/dice-games/dice-game-04"}}'),l=i("85893"),a=i("50065");let r={title:"W\xfcrfelspiel 3",description:"",tags:["console-applications","oo"]},t=void 0,c={},d=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Allgemeine Hinweise",id:"allgemeine-hinweise",level:2},{value:"Hinweis zur Klasse Dice",id:"hinweis-zur-klasse-dice",level:2},{value:"Hinweis zur Klasse Player",id:"hinweis-zur-klasse-player",level:2},{value:"Spielablauf",id:"spielablauf",level:2},{value:"Beispielhafte Konsolenausgabe",id:"beispielhafte-konsolenausgabe",level:2}];function o(e){let n={code:"code",em:"em",h2:"h2",li:"li",mermaid:"mermaid",p:"p",pre:"pre",ul:"ul",...(0,a.a)(),...e.components};return(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(n.p,{children:"Setze das abgebildete Klassendiagramm vollst\xe4ndig um. Orientiere Dich bei der\nKonsolenausgabe am abgebildeten Beispiel."}),"\n",(0,l.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,l.jsx)(n.mermaid,{value:"classDiagram\n MainClass o-- Player\n Player o-- Dice\n\n class MainClass {\n -player1: Player$\n -player2: Player$\n -scanner: Scanner$\n +main(args: String[]) void$\n }\n\n class Player {\n -name: String #123;final#125;\n -dice: Dice #123;final#125;\n -healthPoints: int\n +Player(name: String)\n +rollTheDice() int\n +reduceHealthPoints(points: int) void\n }\n\n class Dice {\n +rollTheDice() int\n }"}),"\n",(0,l.jsx)(n.h2,{id:"allgemeine-hinweise",children:"Allgemeine Hinweise"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Aus Gr\xfcnden der \xdcbersicht werden im Klassendiagramm keine Getter und\nObject-Methoden dargestellt"}),"\n",(0,l.jsx)(n.li,{children:"So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die\nObject-Methoden wie gewohnt implementiert werden"}),"\n"]}),"\n",(0,l.jsxs)(n.h2,{id:"hinweis-zur-klasse-dice",children:["Hinweis zur Klasse ",(0,l.jsx)(n.em,{children:"Dice"})]}),"\n",(0,l.jsxs)(n.p,{children:["Die Methode ",(0,l.jsx)(n.code,{children:"int rollTheDice()"})," soll mit einer gleichverteilten\nWahrscheinlichkeit einen Wert zwischen 1 und 6 zur\xfcckgeben."]}),"\n",(0,l.jsxs)(n.h2,{id:"hinweis-zur-klasse-player",children:["Hinweis zur Klasse ",(0,l.jsx)(n.em,{children:"Player"})]}),"\n",(0,l.jsx)(n.p,{children:"Der Konstruktor soll alle Attribute initialisieren und die Lebenspunkte auf den\nWert 10 setzen."}),"\n",(0,l.jsx)(n.h2,{id:"spielablauf",children:"Spielablauf"}),"\n",(0,l.jsxs)(n.ul,{children:["\n",(0,l.jsx)(n.li,{children:"Zu Beginn des Spiels sollen die Spieler ihre Namen eingeben k\xf6nnen"}),"\n",(0,l.jsx)(n.li,{children:"Beide Spieler sollen zu Beginn des Spiels 10 Lebenspunkte besitzen"}),"\n",(0,l.jsx)(n.li,{children:"Zu Beginn einer jeder Runde soll der aktuelle Punktestand ausgegeben werden"}),"\n",(0,l.jsx)(n.li,{children:"Anschlie\xdfend sollen beide Spieler ihre W\xfcrfel werfen"}),"\n",(0,l.jsx)(n.li,{children:"Der Spieler mit dem niedrigeren Wurfwert soll einen Lebenspunkt verlieren, bei\nGleichstand soll keiner der Spieler einen Lebenspunkt verlieren"}),"\n",(0,l.jsx)(n.li,{children:"Das Spiel soll Enden, sobald ein Spieler keine Lebenspunkte mehr besitzt"}),"\n",(0,l.jsx)(n.li,{children:"Am Ende soll der Gewinner des Spiels ausgegeben werden"}),"\n"]}),"\n",(0,l.jsx)(n.h2,{id:"beispielhafte-konsolenausgabe",children:"Beispielhafte Konsolenausgabe"}),"\n",(0,l.jsx)(n.pre,{children:(0,l.jsx)(n.code,{className:"language-console",children:"Spieler 1, gib bitte Deinen Namen ein: Hans\nSpieler 2, gib bitte Deinen Namen ein: Peter\n\nHans hat 10 Lebenspunkte\nPeter hat 10 Lebenspunkte\nHans w\xfcrfelt eine 6\nPeter w\xfcrfelt eine 6\n...\nHans hat 4 Lebenspunkte\nPeter hat 1 Lebenspunkte\nHans w\xfcrfelt eine 5\nPeter w\xfcrfelt eine 1\nPeter verliert einen Punkt\n\nHans gewinnt\n"})})]})}function m(e={}){let{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,l.jsx)(n,{...e,children:(0,l.jsx)(o,{...e})}):o(e)}},50065:function(e,n,i){i.d(n,{Z:function(){return t},a:function(){return r}});var s=i(67294);let l={},a=s.createContext(l);function r(e){let n=s.useContext(a);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(l):e.components||l:r(e.components),s.createElement(a.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/1b91faeb.f85548e9.js b/pr-preview/pr-236/assets/js/1b91faeb.f85548e9.js
deleted file mode 100644
index b44ccfd4b6..0000000000
--- a/pr-preview/pr-236/assets/js/1b91faeb.f85548e9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["2736"],{10125:function(e,n,s){s.r(n),s.d(n,{metadata:()=>t,contentTitle:()=>l,default:()=>u,assets:()=>d,toc:()=>a,frontMatter:()=>o});var t=JSON.parse('{"id":"exercises/unit-tests/unit-tests03","title":"UnitTests03","description":"","source":"@site/docs/exercises/unit-tests/unit-tests03.md","sourceDirName":"exercises/unit-tests","slug":"/exercises/unit-tests/unit-tests03","permalink":"/java-docs/pr-preview/pr-236/exercises/unit-tests/unit-tests03","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/unit-tests/unit-tests03.md","tags":[],"version":"current","frontMatter":{"title":"UnitTests03","description":""},"sidebar":"exercisesSidebar","previous":{"title":"UnitTests02","permalink":"/java-docs/pr-preview/pr-236/exercises/unit-tests/unit-tests02"},"next":{"title":"UnitTests04","permalink":"/java-docs/pr-preview/pr-236/exercises/unit-tests/unit-tests04"}}'),i=s("85893"),r=s("50065");let o={title:"UnitTests03",description:""},l=void 0,d={},a=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweise zur Klasse TelephoneBookTest",id:"hinweise-zur-klasse-telephonebooktest",level:2},{value:"Hinweis",id:"hinweis",level:2}];function c(e){let n={a:"a",code:"code",em:"em",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(n.p,{children:["Erstelle die JUnit5-Testklasse ",(0,i.jsx)(n.code,{children:"TelephoneBookTest"})," anhand des abgebildeten\nKlassendiagramms."]}),"\n",(0,i.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,i.jsx)(n.mermaid,{value:"classDiagram\n TelephoneBook o-- Person\n TelephoneBook o-- TelephoneNumber\n TelephoneBookTest o-- TelephoneBook\n\n class Person {\n <>\n name: String\n }\n\n class TelephoneNumber {\n <>\n value: String\n }\n\n class TelephoneBook {\n <>\n entries: Map~Person, TelephoneNumber~\n +addEntry(person: Person, telephoneNumber: TelephoneNumber) void\n +getTelephoneNumberByName(name: String) Optional~TelephoneNumber~\n }\n\n class TelephoneBookTest {\n <>\n -telephoneBook: TelephoneBook\n +setUp() void\n +testAddEntry() void\n +testGetTelephoneNumberByName1() void\n +testGetTelephoneNumberByName2() void\n }"}),"\n",(0,i.jsxs)(n.h2,{id:"hinweise-zur-klasse-telephonebooktest",children:["Hinweise zur Klasse ",(0,i.jsx)(n.em,{children:"TelephoneBookTest"})]}),"\n",(0,i.jsxs)(n.ul,{children:["\n",(0,i.jsxs)(n.li,{children:["Die Lebenszyklus-Methode ",(0,i.jsx)(n.code,{children:"void setUp()"})," soll ein Telefonbuch samt\ndazugeh\xf6riger Eintr\xe4ge erzeugen"]}),"\n",(0,i.jsxs)(n.li,{children:["Die Testmethode ",(0,i.jsx)(n.code,{children:"void testAddEntry()"})," soll pr\xfcfen, ob nach dem Ausf\xfchren der\nMethode ",(0,i.jsx)(n.code,{children:"void addEntry(person: Person, telephoneNumber: TelephoneNumber)"})," mit\neiner Person, zu der es bereits einen Eintrag im Telefonbuch gibt, die\nTelefonnummer aktualisiert wurde"]}),"\n",(0,i.jsxs)(n.li,{children:["Die Testmethode ",(0,i.jsx)(n.code,{children:"void testGetTelephoneNumberByName1()"})," soll pr\xfcfen, ob beim\nAusf\xfchren der Methode\n",(0,i.jsx)(n.code,{children:"Optional getTelephoneNumberByName(name: String)"})," mit einem\nNamen, zu dem es eine entsprechende Person im Telefonbuch gibt, die\ndazugeh\xf6rige Telefonnummer als Optional zur\xfcckgegeben wird"]}),"\n",(0,i.jsxs)(n.li,{children:["Die Testmethode ",(0,i.jsx)(n.code,{children:"void testGetTelephoneNumberByName2()"})," soll pr\xfcfen, ob beim\nAusf\xfchren der Methode\n",(0,i.jsx)(n.code,{children:"Optional getTelephoneNumberByName(name: String)"})," mit einem\nNamen, zu dem es keine entsprechende Person im Telefonbuch gibt, ein leeres\nOptional zur\xfcckgegeben wird"]}),"\n"]}),"\n",(0,i.jsx)(n.h2,{id:"hinweis",children:"Hinweis"}),"\n",(0,i.jsxs)(n.p,{children:["Verweden die Klasse ",(0,i.jsx)(n.code,{children:"TelephoneBook"})," aus \xdcbungsaufgabe\n",(0,i.jsx)(n.a,{href:"../optionals/optionals02",children:"Optionals02"}),"."]})]})}function u(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,i.jsx)(n,{...e,children:(0,i.jsx)(c,{...e})}):c(e)}},50065:function(e,n,s){s.d(n,{Z:function(){return l},a:function(){return o}});var t=s(67294);let i={},r=t.createContext(i);function o(e){let n=t.useContext(r);return t.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:o(e.components),t.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/1be23d26.5332c63d.js b/pr-preview/pr-236/assets/js/1be23d26.5332c63d.js
deleted file mode 100644
index 86919ba0c5..0000000000
--- a/pr-preview/pr-236/assets/js/1be23d26.5332c63d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["2541"],{39298:function(e,n,s){s.r(n),s.d(n,{metadata:()=>i,contentTitle:()=>l,default:()=>d,assets:()=>o,toc:()=>m,frontMatter:()=>t});var i=JSON.parse('{"id":"exam-exercises/exam-exercises-java2/class-diagrams/team","title":"Team","description":"","source":"@site/docs/exam-exercises/exam-exercises-java2/class-diagrams/team.md","sourceDirName":"exam-exercises/exam-exercises-java2/class-diagrams","slug":"/exam-exercises/exam-exercises-java2/class-diagrams/team","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/class-diagrams/team","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java2/class-diagrams/team.md","tags":[{"inline":true,"label":"inheritance","permalink":"/java-docs/pr-preview/pr-236/tags/inheritance"},{"inline":true,"label":"polymorphism","permalink":"/java-docs/pr-preview/pr-236/tags/polymorphism"},{"inline":true,"label":"interfaces","permalink":"/java-docs/pr-preview/pr-236/tags/interfaces"},{"inline":true,"label":"comparators","permalink":"/java-docs/pr-preview/pr-236/tags/comparators"},{"inline":true,"label":"exceptions","permalink":"/java-docs/pr-preview/pr-236/tags/exceptions"},{"inline":true,"label":"records","permalink":"/java-docs/pr-preview/pr-236/tags/records"},{"inline":true,"label":"generics","permalink":"/java-docs/pr-preview/pr-236/tags/generics"},{"inline":true,"label":"maps","permalink":"/java-docs/pr-preview/pr-236/tags/maps"},{"inline":true,"label":"optionals","permalink":"/java-docs/pr-preview/pr-236/tags/optionals"}],"version":"current","frontMatter":{"title":"Team","description":"","tags":["inheritance","polymorphism","interfaces","comparators","exceptions","records","generics","maps","optionals"]},"sidebar":"examExercisesSidebar","previous":{"title":"Raumstation","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/class-diagrams/space-station"},"next":{"title":"Videosammlung","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/class-diagrams/video-collection"}}'),a=s("85893"),r=s("50065");let t={title:"Team",description:"",tags:["inheritance","polymorphism","interfaces","comparators","exceptions","records","generics","maps","optionals"]},l=void 0,o={},m=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Allgemeine Hinweise",id:"allgemeine-hinweise",level:2},{value:"Hinweise zur Klasse Sportsman",id:"hinweise-zur-klasse-sportsman",level:2},{value:"Hinweise zur Klasse Team",id:"hinweise-zur-klasse-team",level:2}];function c(e){let n={code:"code",em:"em",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:"Setze das abgebildete Klassendiagramm vollst\xe4ndig um. Erstelle zum Testen eine\nausf\xfchrbare Klasse und/oder eine Testklasse."}),"\n",(0,a.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,a.jsx)(n.mermaid,{value:"classDiagram\n Sportsman <|-- Footballer : extends\n Team~T extends Sportsman~ o-- Position\n Comparable~Sportsman~ <|.. Sportsman : implements\n\n class Footballer {\n -numberOfGoals: int\n -numberOfAssists: int\n +Footballer(name: String, numberOfGoals: int, numberOfAssists: int)\n +getScorerPoints() int\n }\n\n class Position {\n <>\n DEFENDER\n GOALKEEPER\n MIDFIELDER\n STRIKER\n }\n\n class Sportsman {\n <>\n -name: String #123;final#125;\n +Sportsman(name: String)\n +getScorerPoints() int #123;abstract#125;\n +compareTo(other: Sportsman) int\n }\n\n class Team~T extends Sportsman~ {\n <>\n name: String\n members: Map~T, Position~\n +addTeamMember(member: T, position: Position) void\n +getBestScorer() Optional~T~\n +getAllTeamMembersByPosition(position: Position) List~T~\n }\n\n class Comparable~Sportsman~ {\n <>\n +compareTo(o: Sportsman) int\n }"}),"\n",(0,a.jsx)(n.h2,{id:"allgemeine-hinweise",children:"Allgemeine Hinweise"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Aus Gr\xfcnden der \xdcbersicht werden im Klassendiagramm keine Getter und\nObject-Methoden dargestellt"}),"\n",(0,a.jsx)(n.li,{children:"So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die\nObject-Methoden wie gewohnt implementiert werden"}),"\n"]}),"\n",(0,a.jsxs)(n.h2,{id:"hinweise-zur-klasse-sportsman",children:["Hinweise zur Klasse ",(0,a.jsx)(n.em,{children:"Sportsman"})]}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Der Konstruktor soll alle Attribute initialisieren"}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"int compareTo(other: Sportsman)"})," soll so implementiert werden,\ndass Sportler absteigend nach ihren Scorer-Punkten sortiert werden k\xf6nnen"]}),"\n"]}),"\n",(0,a.jsxs)(n.h2,{id:"hinweise-zur-klasse-team",children:["Hinweise zur Klasse ",(0,a.jsx)(n.em,{children:"Team"})]}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsxs)(n.li,{children:["Der Assoziativspeicher ",(0,a.jsx)(n.code,{children:"members"})," beinhaltet als Schl\xfcssel alle Mitglieder der\nMannschaft sowie als Wert deren Position"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"void addTeamMember(member: T, position: Position)"})," soll der\nMannschaft den eingehenden Sportler als Mitglied mit der eingehenden Position\nhinzuf\xfcgen. F\xfcr den Fall, dass der Sportler bereits Teil der Mannschaft ist,\nsoll die Ausnahme ",(0,a.jsx)(n.code,{children:"DuplicateKeyException"})," ausgel\xf6st werden"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"Optional getBestScorer()"})," soll den Sportler mit den meisten\nScorer-Punkten als Optional zur\xfcckgeben"]}),"\n",(0,a.jsxs)(n.li,{children:["Die Methode ",(0,a.jsx)(n.code,{children:"List getAllTeamMembersByPosition(position: Position)"})," soll\nalle Sportler zur eingehenden Position als Liste zur\xfcckgeben"]}),"\n"]})]})}function d(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},50065:function(e,n,s){s.d(n,{Z:function(){return l},a:function(){return t}});var i=s(67294);let a={},r=i.createContext(a);function t(e){let n=i.useContext(r);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:t(e.components),i.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/1c3beb9b.bdb11012.js b/pr-preview/pr-236/assets/js/1c3beb9b.bdb11012.js
deleted file mode 100644
index 6721ca865c..0000000000
--- a/pr-preview/pr-236/assets/js/1c3beb9b.bdb11012.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["9308"],{42959:function(e,n,t){t.r(n),t.d(n,{metadata:()=>a,contentTitle:()=>o,default:()=>h,assets:()=>c,toc:()=>u,frontMatter:()=>l});var a=JSON.parse('{"id":"exercises/abstract-and-final/abstract-and-final01","title":"AbstractAndFinal01","description":"","source":"@site/docs/exercises/abstract-and-final/abstract-and-final01.mdx","sourceDirName":"exercises/abstract-and-final","slug":"/exercises/abstract-and-final/abstract-and-final01","permalink":"/java-docs/pr-preview/pr-236/exercises/abstract-and-final/abstract-and-final01","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/abstract-and-final/abstract-and-final01.mdx","tags":[],"version":"current","frontMatter":{"title":"AbstractAndFinal01","description":""},"sidebar":"exercisesSidebar","previous":{"title":"Abstrakte und finale Klassen und Methoden","permalink":"/java-docs/pr-preview/pr-236/exercises/abstract-and-final/"},"next":{"title":"Schnittstellen (Interfaces)","permalink":"/java-docs/pr-preview/pr-236/exercises/interfaces/"}}'),r=t("85893"),i=t("50065"),s=t("39661");let l={title:"AbstractAndFinal01",description:""},o=void 0,c={},u=[{value:"Klassendiagramm",id:"klassendiagramm",level:2}];function d(e){let n={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.p,{children:["Passe die Klassen ",(0,r.jsx)(n.code,{children:"Vehicle"}),", ",(0,r.jsx)(n.code,{children:"Car"})," und ",(0,r.jsx)(n.code,{children:"Truck"})," aus \xdcbungsaufgabe\n",(0,r.jsx)(n.a,{href:"../polymorphy/polymorphy03",children:"Polymorphism03"})," anhand des abgebildeten\nKlassendiagramms an."]}),"\n",(0,r.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n Vehicle <|-- Car: extends\n Vehicle <|-- Truck: extends\n Engine --o Vehicle\n Rental o-- Vehicle\n\n class Vehicle {\n <>\n -make: String\n -model: String\n -engine: Engine\n #speedInKmh: double\n -numberOfVehicles: int$\n +Vehicle(make String, model String, engine Engine)\n +getMake() String\n +getModel() String\n +getEngine() Engine\n +getSpeedInKmh() double\n +accelerate(valueInKmh: int) void #123;final#125;\n +brake(valueInKmh: int) void #123;final#125;\n +toString() String #123;abstract#125;\n +getNumberOfVehicles()$ int\n }\n\n class Engine {\n <>\n DIESEL = Diesel\n PETROL = Benzin\n GAS = Gas\n ELECTRO = Elektro\n -description: String #123;final#125;\n Engine(description: String)\n +getDescription() String\n }\n\n class Car {\n <>\n -seats: int #123;final#125;\n +Car(make: String, model: String, engine: Engine, seats: int)\n +getSeats() int\n +doATurboBoost() void\n +toString() String\n }\n\n class Truck {\n <>\n -cargo: int #123;final#125;\n -isTransformed boolean\n +Truck(make: String, model: String, engine: Engine, cargo: int)\n +getCargo() int\n +isTransformed() boolean\n +transform() void\n +toString() String\n }\n\n class Rental {\n -name: String #123;final#125;\n -vehicles: ArrayList~Vehicle~ #123;final#125;\n +Rental(name: String)\n +getName() String\n +getVehicles() ArrayList~Vehicle~\n +addVehicle(vehicle: Vehicle) void\n +addAllVehicles(vehicles: Vehicle...) void\n +transformAllTrucks() void\n +toString() String\n }"}),"\n",(0,r.jsx)(s.Z,{pullRequest:"45",branchSuffix:"abstract-and-final/01"})]})}function h(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},5525:function(e,n,t){t.d(n,{Z:()=>s});var a=t("85893");t("67294");var r=t("67026");let i="tabItem_Ymn6";function s(e){let{children:n,hidden:t,className:s}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,r.Z)(i,s),hidden:t,children:n})}},47902:function(e,n,t){t.d(n,{Z:()=>j});var a=t("85893"),r=t("67294"),i=t("67026"),s=t("69599"),l=t("16550"),o=t("32000"),c=t("4520"),u=t("38341"),d=t("76009");function h(e){return r.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||r.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})?.filter(Boolean)??[]}function f(e){let{value:n,tabValues:t}=e;return t.some(e=>e.value===n)}var p=t("7227");let g="tabList__CuJ",m="tabItem_LNqP";function b(e){let{className:n,block:t,selectedValue:r,selectValue:l,tabValues:o}=e,c=[],{blockElementScrollPositionUntilNextRender:u}=(0,s.o5)(),d=e=>{let n=e.currentTarget,t=o[c.indexOf(n)].value;t!==r&&(u(n),l(t))},h=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let t=c.indexOf(e.currentTarget)+1;n=c[t]??c[0];break}case"ArrowLeft":{let t=c.indexOf(e.currentTarget)-1;n=c[t]??c[c.length-1]}}n?.focus()};return(0,a.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":t},n),children:o.map(e=>{let{value:n,label:t,attributes:s}=e;return(0,a.jsx)("li",{role:"tab",tabIndex:r===n?0:-1,"aria-selected":r===n,ref:e=>c.push(e),onKeyDown:h,onClick:d,...s,className:(0,i.Z)("tabs__item",m,s?.className,{"tabs__item--active":r===n}),children:t??n},n)})})}function v(e){let{lazy:n,children:t,selectedValue:s}=e,l=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){let e=l.find(e=>e.props.value===s);return e?(0,r.cloneElement)(e,{className:(0,i.Z)("margin-top--md",e.props.className)}):null}return(0,a.jsx)("div",{className:"margin-top--md",children:l.map((e,n)=>(0,r.cloneElement)(e,{key:n,hidden:e.props.value!==s}))})}function x(e){let n=function(e){let{defaultValue:n,queryString:t=!1,groupId:a}=e,i=function(e){let{values:n,children:t}=e;return(0,r.useMemo)(()=>{let e=n??h(t).map(e=>{let{props:{value:n,label:t,attributes:a,default:r}}=e;return{value:n,label:t,attributes:a,default:r}});return!function(e){let n=(0,u.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in . Every value needs to be unique.`)}(e),e},[n,t])}(e),[s,p]=(0,r.useState)(()=>(function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw Error("Docusaurus error: the component requires at least one children component");if(n){if(!f({value:n,tabValues:t}))throw Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let a=t.find(e=>e.default)??t[0];if(!a)throw Error("Unexpected error: 0 tabValues");return a.value})({defaultValue:n,tabValues:i})),[g,m]=function(e){let{queryString:n=!1,groupId:t}=e,a=(0,l.k6)(),i=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t}),s=(0,c._X)(i);return[s,(0,r.useCallback)(e=>{if(!i)return;let n=new URLSearchParams(a.location.search);n.set(i,e),a.replace({...a.location,search:n.toString()})},[i,a])]}({queryString:t,groupId:a}),[b,v]=function(e){var n;let{groupId:t}=e;let a=(n=t)?`docusaurus.tab.${n}`:null,[i,s]=(0,d.Nk)(a);return[i,(0,r.useCallback)(e=>{if(!!a)s.set(e)},[a,s])]}({groupId:a}),x=(()=>{let e=g??b;return f({value:e,tabValues:i})?e:null})();return(0,o.Z)(()=>{x&&p(x)},[x]),{selectedValue:s,selectValue:(0,r.useCallback)(e=>{if(!f({value:e,tabValues:i}))throw Error(`Can't select invalid tab value=${e}`);p(e),m(e),v(e)},[m,v,i]),tabValues:i}}(e);return(0,a.jsxs)("div",{className:(0,i.Z)("tabs-container",g),children:[(0,a.jsx)(b,{...n,...e}),(0,a.jsx)(v,{...n,...e})]})}function j(e){let n=(0,p.Z)();return(0,a.jsx)(x,{...e,children:h(e.children)},String(n))}},39661:function(e,n,t){t.d(n,{Z:function(){return o}});var a=t(85893);t(67294);var r=t(47902),i=t(5525),s=t(83012),l=t(45056);function o(e){let{pullRequest:n,branchSuffix:t}=e;return(0,a.jsxs)(r.Z,{children:[(0,a.jsxs)(i.Z,{value:"exercise",label:"Exercise",default:!0,children:[(0,a.jsx)(l.Z,{language:"console",children:`git switch exercises/${t}`}),(0,a.jsx)(s.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/exercises/${t}/Exercise.java`,children:(0,a.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,a.jsxs)(i.Z,{value:"solution",label:"Solution",children:[(0,a.jsx)(l.Z,{language:"console",children:`git switch solutions/${t}`}),(0,a.jsx)(s.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/solutions/${t}/Exercise.java`,children:(0,a.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,a.jsxs)(i.Z,{value:"pullrequest",label:"Pull Request",children:["Alle \xa0\xc4nderungen zwischen der Aufgabe und der L\xf6sung findest du im Pull Request"," ",(0,a.jsxs)(s.Z,{to:`https://github.com/jappuccini/java-exercises/pull/${n}/files?diff=split`,children:["PR#",n]})]})]})}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/1c7f3330.3eac0de6.js b/pr-preview/pr-236/assets/js/1c7f3330.3eac0de6.js
deleted file mode 100644
index bbdfdbf386..0000000000
--- a/pr-preview/pr-236/assets/js/1c7f3330.3eac0de6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["4526"],{1379:function(e,t,a){a.r(t),a.d(t,{metadata:()=>s,contentTitle:()=>d,default:()=>c,assets:()=>m,toc:()=>o,frontMatter:()=>r});var s=JSON.parse('{"id":"exam-exercises/exam-exercises-java1/activity-diagrams/insertion-sort","title":"Insertionsort","description":"","source":"@site/docs/exam-exercises/exam-exercises-java1/activity-diagrams/insertion-sort.md","sourceDirName":"exam-exercises/exam-exercises-java1/activity-diagrams","slug":"/exam-exercises/exam-exercises-java1/activity-diagrams/insertion-sort","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java1/activity-diagrams/insertion-sort","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java1/activity-diagrams/insertion-sort.md","tags":[{"inline":true,"label":"activity-diagrams","permalink":"/java-docs/pr-preview/pr-236/tags/activity-diagrams"}],"version":"current","frontMatter":{"title":"Insertionsort","description":"","tags":["activity-diagrams"]},"sidebar":"examExercisesSidebar","previous":{"title":"Rabattrechner","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java1/activity-diagrams/discount-calculator"},"next":{"title":"Selectionsort","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java1/activity-diagrams/selection-sort"}}'),i=a("85893"),n=a("50065");let r={title:"Insertionsort",description:"",tags:["activity-diagrams"]},d=void 0,m={},o=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Aktivit\xe4tsdiagramm zur Methode void main(args: String[])",id:"aktivit\xe4tsdiagramm-zur-methode-void-mainargs-string",level:2},{value:"Aktivit\xe4tsdiagramm zur Methode void sort()",id:"aktivit\xe4tsdiagramm-zur-methode-void-sort",level:2},{value:"Aktivit\xe4tsdiagramm zur Methode void print()",id:"aktivit\xe4tsdiagramm-zur-methode-void-print",level:2}];function l(e){let t={code:"code",em:"em",h2:"h2",mermaid:"mermaid",p:"p",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:["Erstelle die ausf\xfchrbare Klasse ",(0,i.jsx)(t.code,{children:"InsertionSort"})," anhand des abgebildeten\nKlassendiagramms sowie anhand der abgebildeten Aktivit\xe4tsdiagramme."]}),"\n",(0,i.jsx)(t.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,i.jsx)(t.mermaid,{value:"classDiagram\n class InsertionSort {\n -counter: int$\n -data: int[]$\n +main(args: String[]) void$\n -sort() void$\n -print() void$\n }"}),"\n",(0,i.jsxs)(t.h2,{id:"aktivit\xe4tsdiagramm-zur-methode-void-mainargs-string",children:["Aktivit\xe4tsdiagramm zur Methode ",(0,i.jsx)(t.em,{children:"void main(args: String[])"})]}),"\n",(0,i.jsx)(t.mermaid,{value:'stateDiagram-v2\n state "[Feld] mit 1.000 Zufallszahlen zwischen 1 und 100 f\xfcllen" as state1\n state "Ausf\xfchren: [Sortieren]" as state2\n\n state "Insertionsort" as main {\n [*] --\x3e state1\n state1 --\x3e state2\n state2 --\x3e [*]\n }'}),"\n",(0,i.jsxs)(t.h2,{id:"aktivit\xe4tsdiagramm-zur-methode-void-sort",children:["Aktivit\xe4tsdiagramm zur Methode ",(0,i.jsx)(t.em,{children:"void sort()"})]}),"\n",(0,i.jsx)(t.mermaid,{value:'stateDiagram-v2\n state "[Tempor\xe4re Variable] = 0" as state1\n state "[Z\xe4hlvariable A] = 1" as state2\n state "[Z\xe4hler] inkrementieren" as state3\n state "[Z\xe4hlvariable B] = [Z\xe4hlvariable A]" as state4\n state "[Tempor\xe4re Variable] = Element [Z\xe4hlvariable B] von [Feld]" as state5\n state "Element [Z\xe4hlvariable B] von [Feld] = [Tempor\xe4re Variable]" as state6\n state "Ausf\xfchren: [Feld ausgeben]" as state7\n state "[Z\xe4hlvariable A] inkrementieren" as state8\n state "Element [Z\xe4hlvariable B] von [Feld] = Element [Z\xe4hlvariable B - 1] von [Feld]" as state9\n state "[Z\xe4hlvariable B] dekrementieren" as state10\n\n state if1 <>\n state if2 <>\n\n state "Sortieren" as sort {\n [*] --\x3e state1\n state1 --\x3e state2\n state2 --\x3e if1\n if1 --\x3e state3: [Z\xe4hlvariable A] < [L\xe4nge des Feldes]\n if1 --\x3e [*]: sonst\n state3 --\x3e state4\n state4 --\x3e state5\n state5 --\x3e if2\n if2 --\x3e state6: sonst\n if2 --\x3e state9: [Z\xe4hlvariable B] > 0 und Element [Z\xe4hlvariable B - 1] von [Feld] > [Tempor\xe4re Variable]\n state6 --\x3e state7\n state7 --\x3e state8\n state8 --\x3e if1\n state9 --\x3e state10\n state10 --\x3e if2\n }'}),"\n",(0,i.jsxs)(t.h2,{id:"aktivit\xe4tsdiagramm-zur-methode-void-print",children:["Aktivit\xe4tsdiagramm zur Methode ",(0,i.jsx)(t.em,{children:"void print()"})]}),"\n",(0,i.jsx)(t.mermaid,{value:'stateDiagram-v2\n state "Ausgabe: Durchlauf [Z\xe4hler]" as state1\n state "[Z\xe4hlvariable] = 0" as state2\n state "Ausgabe: Element [Z\xe4hlvariable] von [Feld]" as state3\n state "[Z\xe4hlvariable] inkrementieren" as state4\n\n state if1 <>\n\n state "Feld ausgeben" as print {\n [*] --\x3e state1\n state1 --\x3e state2\n state2 --\x3e if1\n if1 --\x3e state3: [Z\xe4hlvariable] < [L\xe4nge des Feldes]\n if1 --\x3e [*]: sonst\n state3 --\x3e state4\n state4 --\x3e if1\n }'})]})}function c(e={}){let{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(l,{...e})}):l(e)}},50065:function(e,t,a){a.d(t,{Z:function(){return d},a:function(){return r}});var s=a(67294);let i={},n=s.createContext(i);function r(e){let t=s.useContext(n);return s.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function d(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),s.createElement(n.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/1c800214.99d9411d.js b/pr-preview/pr-236/assets/js/1c800214.99d9411d.js
deleted file mode 100644
index 245b9846f1..0000000000
--- a/pr-preview/pr-236/assets/js/1c800214.99d9411d.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["9986"],{68210:function(e,n,i){i.r(n),i.d(n,{metadata:()=>l,contentTitle:()=>t,default:()=>u,assets:()=>o,toc:()=>d,frontMatter:()=>a});var l=JSON.parse('{"id":"exercises/javafx/javafx02","title":"JavaFX02","description":"","source":"@site/docs/exercises/javafx/javafx02.md","sourceDirName":"exercises/javafx","slug":"/exercises/javafx/javafx02","permalink":"/java-docs/pr-preview/pr-236/exercises/javafx/javafx02","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/javafx/javafx02.md","tags":[],"version":"current","frontMatter":{"title":"JavaFX02","description":""},"sidebar":"exercisesSidebar","previous":{"title":"JavaFX01","permalink":"/java-docs/pr-preview/pr-236/exercises/javafx/javafx01"},"next":{"title":"JavaFX03","permalink":"/java-docs/pr-preview/pr-236/exercises/javafx/javafx03"}}'),s=i("85893"),r=i("50065");let a={title:"JavaFX02",description:""},t=void 0,o={},d=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Szenegraph",id:"szenegraph",level:2},{value:"Allgemeiner Hinweis",id:"allgemeiner-hinweis",level:2},{value:"Hinweise zur Klasse Dice",id:"hinweise-zur-klasse-dice",level:2},{value:"Hinweise zur Klasse Model",id:"hinweise-zur-klasse-model",level:2},{value:"Hinweise zur Klasse Controller",id:"hinweise-zur-klasse-controller",level:2}];function c(e){let n={code:"code",em:"em",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"Erstelle eine JavaFX-Anwendung zum W\xfcrfeln anhand des abgebildeten\nKlassendiagramms sowie des abgebildeten Szenegraphs."}),"\n",(0,s.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,s.jsx)(n.mermaid,{value:"classDiagram\n Initializable <|.. Controller : implements\n Controller o-- Model\n Model o-- Dice\n\n class Dice {\n -value: int\n -image: Image\n +Dice()\n +rollTheDice() void\n +getValue() int\n +getImage() Image\n }\n\n class Model {\n -instance: Model$\n -dice: Dice\n -Model()\n +getInstance() Model$\n +rollTheDice() void\n +getDiceValue() int\n +getDiceImage() Image\n }\n\n class Controller {\n -diceImageView: ImageView #123;FXML#125;\n -model: Model\n +initialize(location: URL, resources: ResourceBundle) void\n +rollTheDice(actionEvent: ActionEvent) void #123;FXML#125;\n }\n\n class Initializable {\n <>\n +initialize(location: URL, resources: ResourceBundle) void\n }"}),"\n",(0,s.jsx)(n.h2,{id:"szenegraph",children:"Szenegraph"}),"\n",(0,s.jsx)(n.mermaid,{value:"flowchart LR\n vbox[VBox\\nfx:controller=Pfad.Controller]\n imageview[ImageView\\nfx:id=diceImageView]\n button[Button\\ntext=W\xfcrfeln\\nonAction=#rollTheDice]\n\n vbox --\x3e imageview\n vbox --\x3e button"}),"\n",(0,s.jsx)(n.h2,{id:"allgemeiner-hinweis",children:"Allgemeiner Hinweis"}),"\n",(0,s.jsxs)(n.p,{children:["Der Konstruktor ",(0,s.jsx)(n.code,{children:"Image(url: String)"})," der Klasse ",(0,s.jsx)(n.code,{children:"Image"})," erm\xf6glicht das Erzeugen\neines Grafik-Objektes."]}),"\n",(0,s.jsxs)(n.h2,{id:"hinweise-zur-klasse-dice",children:["Hinweise zur Klasse ",(0,s.jsx)(n.em,{children:"Dice"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Der Konstruktor soll den W\xfcrfel werfen"}),"\n",(0,s.jsxs)(n.li,{children:["Die Methode ",(0,s.jsx)(n.code,{children:"void rollTheDice()"})," soll den W\xfcrfelwert auf einen zuf\xe4lligen Wert\nzwischen 1 und 6 setzen und dem W\xfcrfelbild eine entsprechende Grafik zuweisen"]}),"\n"]}),"\n",(0,s.jsxs)(n.h2,{id:"hinweise-zur-klasse-model",children:["Hinweise zur Klasse ",(0,s.jsx)(n.em,{children:"Model"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Der Konstruktor soll den W\xfcrfel initialisieren"}),"\n",(0,s.jsxs)(n.li,{children:["Die Methode ",(0,s.jsx)(n.code,{children:"void rollTheDice()"})," soll den W\xfcrfel werfen"]}),"\n"]}),"\n",(0,s.jsxs)(n.h2,{id:"hinweise-zur-klasse-controller",children:["Hinweise zur Klasse ",(0,s.jsx)(n.em,{children:"Controller"})]}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsxs)(n.li,{children:["Die Methode ",(0,s.jsx)(n.code,{children:"void initialize(location: URL, resources: ResourceBundle)"})," soll\ndas Model initialisieren, den W\xfcrfel werfen und dem W\xfcrfelbilderrahmen ein\nentsprechendes W\xfcrfelbild zuweisen"]}),"\n",(0,s.jsxs)(n.li,{children:["Die Methode ",(0,s.jsx)(n.code,{children:"void rollTheDice(actionEvent: ActionEvent)"})," soll den W\xfcrfel\nwerfen und dem W\xfcrfelbilderrahmen ein entsprechendes W\xfcrfelbild zuweisen"]}),"\n"]})]})}function u(e={}){let{wrapper:n}={...(0,r.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(c,{...e})}):c(e)}},50065:function(e,n,i){i.d(n,{Z:function(){return t},a:function(){return a}});var l=i(67294);let s={},r=l.createContext(s);function a(e){let n=l.useContext(r);return l.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function t(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:a(e.components),l.createElement(r.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/1d6d5ede.ffd1cbd0.js b/pr-preview/pr-236/assets/js/1d6d5ede.ffd1cbd0.js
deleted file mode 100644
index e4049d1a22..0000000000
--- a/pr-preview/pr-236/assets/js/1d6d5ede.ffd1cbd0.js
+++ /dev/null
@@ -1,4 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["567"],{6753:function(e,t,r){r.r(t),r.d(t,{metadata:()=>n,contentTitle:()=>c,default:()=>p,assets:()=>l,toc:()=>u,frontMatter:()=>i});var n=JSON.parse('{"id":"exercises/comparators/comparators","title":"Komparatoren","description":"","source":"@site/docs/exercises/comparators/comparators.mdx","sourceDirName":"exercises/comparators","slug":"/exercises/comparators/","permalink":"/java-docs/pr-preview/pr-236/exercises/comparators/","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/comparators/comparators.mdx","tags":[{"inline":true,"label":"comparators","permalink":"/java-docs/pr-preview/pr-236/tags/comparators"}],"version":"current","sidebarPosition":150,"frontMatter":{"title":"Komparatoren","description":"","sidebar_position":150,"tags":["comparators"]},"sidebar":"exercisesSidebar","previous":{"title":"Interfaces01","permalink":"/java-docs/pr-preview/pr-236/exercises/interfaces/interfaces01"},"next":{"title":"Comparators01","permalink":"/java-docs/pr-preview/pr-236/exercises/comparators/comparators01"}}'),a=r("85893"),s=r("50065"),o=r("94301");let i={title:"Komparatoren",description:"",sidebar_position:150,tags:["comparators"]},c=void 0,l={},u=[{value:"\xdcbungsaufgaben",id:"\xfcbungsaufgaben",level:2},{value:"\xdcbungsaufgaben von tutego.de",id:"\xfcbungsaufgaben-von-tutegode",level:2}];function d(e){let t={a:"a",h2:"h2",li:"li",ul:"ul",...(0,s.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.h2,{id:"\xfcbungsaufgaben",children:"\xdcbungsaufgaben"}),"\n","\n",(0,a.jsx)(o.Z,{}),"\n",(0,a.jsx)(t.h2,{id:"\xfcbungsaufgaben-von-tutegode",children:"\xdcbungsaufgaben von tutego.de"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:["\xdcbungsaufgabe\n",(0,a.jsx)(t.a,{href:"https://tutego.de/javabuch/aufgaben/interface_enum_sealed_classes_record.html#_verbrauch_von_elektroger%C3%A4ten_vergleichen",children:"I-8-1.1.1"})]}),"\n",(0,a.jsxs)(t.li,{children:["\xdcbungsaufgabe\n",(0,a.jsx)(t.a,{href:"https://tutego.de/javabuch/aufgaben/interface_enum_sealed_classes_record.html#_elektroger%C3%A4te_mit_dem_h%C3%B6chsten_verbrauch_finden",children:"I-8-1.1.2"})]}),"\n",(0,a.jsxs)(t.li,{children:["\xdcbungsaufgabe\n",(0,a.jsx)(t.a,{href:"https://tutego.de/javabuch/aufgaben/interface_enum_sealed_classes_record.html#_schnittstelle_comparator_zum_sortieren_einsetzen",children:"I-8-1.1.3"})]}),"\n"]})]})}function p(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},94301:function(e,t,r){r.d(t,{Z:()=>b});var n=r("85893");r("67294");var a=r("67026"),s=r("69369"),o=r("83012"),i=r("43115"),c=r("63150"),l=r("96025"),u=r("34403");let d={cardContainer:"cardContainer_fWXF",cardTitle:"cardTitle_rnsV",cardDescription:"cardDescription_PWke"};function p(e){let{href:t,children:r}=e;return(0,n.jsx)(o.Z,{href:t,className:(0,a.Z)("card padding--lg",d.cardContainer),children:r})}function m(e){let{href:t,icon:r,title:s,description:o}=e;return(0,n.jsxs)(p,{href:t,children:[(0,n.jsxs)(u.Z,{as:"h2",className:(0,a.Z)("text--truncate",d.cardTitle),title:s,children:[r," ",s]}),o&&(0,n.jsx)("p",{className:(0,a.Z)("text--truncate",d.cardDescription),title:o,children:o})]})}function f(e){let{item:t}=e,r=(0,s.LM)(t),a=function(){let{selectMessage:e}=(0,i.c)();return t=>e(t,(0,l.I)({message:"1 item|{count} items",id:"theme.docs.DocCard.categoryDescription.plurals",description:"The default description for a category card in the generated index about how many items this category includes"},{count:t}))}();return r?(0,n.jsx)(m,{href:r,icon:"\uD83D\uDDC3\uFE0F",title:t.label,description:t.description??a(t.items.length)}):null}function h(e){let{item:t}=e,r=(0,c.Z)(t.href)?"\uD83D\uDCC4\uFE0F":"\uD83D\uDD17",a=(0,s.xz)(t.docId??void 0);return(0,n.jsx)(m,{href:t.href,icon:r,title:t.label,description:t.description??a?.description})}function g(e){let{item:t}=e;switch(t.type){case"link":return(0,n.jsx)(h,{item:t});case"category":return(0,n.jsx)(f,{item:t});default:throw Error(`unknown item type ${JSON.stringify(t)}`)}}function x(e){let{className:t}=e,r=(0,s.jA)();return(0,n.jsx)(b,{items:r.items,className:t})}function b(e){let{items:t,className:r}=e;if(!t)return(0,n.jsx)(x,{...e});let o=(0,s.MN)(t);return(0,n.jsx)("section",{className:(0,a.Z)("row",r),children:o.map((e,t)=>(0,n.jsx)("article",{className:"col col--6 margin-bottom--lg",children:(0,n.jsx)(g,{item:e})},t))})}},43115:function(e,t,r){r.d(t,{c:function(){return c}});var n=r(67294),a=r(2933);let s=["zero","one","two","few","many","other"];function o(e){return s.filter(t=>e.includes(t))}let i={locale:"en",pluralForms:o(["one","other"]),select:e=>1===e?"one":"other"};function c(){let e=function(){let{i18n:{currentLocale:e}}=(0,a.Z)();return(0,n.useMemo)(()=>{try{return function(e){let t=new Intl.PluralRules(e);return{locale:e,pluralForms:o(t.resolvedOptions().pluralCategories),select:e=>t.select(e)}}(e)}catch(t){return console.error(`Failed to use Intl.PluralRules for locale "${e}".
-Docusaurus will fallback to the default (English) implementation.
-Error: ${t.message}
-`),i}},[e])}();return{selectMessage:(t,r)=>(function(e,t,r){let n=e.split("|");if(1===n.length)return n[0];n.length>r.pluralForms.length&&console.error(`For locale=${r.locale}, a maximum of ${r.pluralForms.length} plural forms are expected (${r.pluralForms.join(",")}), but the message contains ${n.length}: ${e}`);let a=r.select(t);return n[Math.min(r.pluralForms.indexOf(a),n.length-1)]})(r,t,e)}}},50065:function(e,t,r){r.d(t,{Z:function(){return i},a:function(){return o}});var n=r(67294);let a={},s=n.createContext(a);function o(e){let t=n.useContext(s);return n.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function i(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:o(e.components),n.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/1d87388b.e7097723.js b/pr-preview/pr-236/assets/js/1d87388b.e7097723.js
deleted file mode 100644
index baacc45aa7..0000000000
--- a/pr-preview/pr-236/assets/js/1d87388b.e7097723.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["9414"],{8629:function(e,n,t){t.r(n),t.d(n,{metadata:()=>i,contentTitle:()=>l,default:()=>u,assets:()=>o,toc:()=>d,frontMatter:()=>r});var i=JSON.parse('{"id":"documentation/activity-diagrams","title":"Aktivit\xe4tsdiagramme","description":"","source":"@site/docs/documentation/activity-diagrams.md","sourceDirName":"documentation","slug":"/documentation/activity-diagrams","permalink":"/java-docs/pr-preview/pr-236/documentation/activity-diagrams","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/documentation/activity-diagrams.md","tags":[{"inline":true,"label":"uml","permalink":"/java-docs/pr-preview/pr-236/tags/uml"},{"inline":true,"label":"activity-diagrams","permalink":"/java-docs/pr-preview/pr-236/tags/activity-diagrams"}],"version":"current","sidebarPosition":165,"frontMatter":{"title":"Aktivit\xe4tsdiagramme","description":"","sidebar_position":165,"tags":["uml","activity-diagrams"]},"sidebar":"documentationSidebar","previous":{"title":"Klassendiagramme","permalink":"/java-docs/pr-preview/pr-236/documentation/class-diagrams"},"next":{"title":"Vererbung","permalink":"/java-docs/pr-preview/pr-236/documentation/inheritance"}}'),a=t("85893"),s=t("50065");let r={title:"Aktivit\xe4tsdiagramme",description:"",sidebar_position:165,tags:["uml","activity-diagrams"]},l=void 0,o={},d=[];function c(e){let n={li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.p,{children:"Aktivit\xe4tsdiagramme sind ein Diagrammtyp der UML und geh\xf6ren dort zum Bereich\nder Verhaltensdiagramme. Der Fokus von Aktivit\xe4tsdiagrammen liegt auf\nimperativen Verarbeitungsaspekten. Eine Aktivit\xe4t stellt einen gerichteten\nGraphen dar, der \xfcber Knoten (Aktionen, Datenknoten und Kontrollknoten) und\nKanten (Kontrollfl\xfcsse und Datenfl\xfcsse) verf\xfcgt:"}),"\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Aktionen sind elementare Bausteine f\xfcr beliebiges, benutzerdefiniertes\nVerhalten"}),"\n",(0,a.jsxs)(n.li,{children:["Kontrollknoten steuern den Kontroll- und Datenfluss in einer Aktivit\xe4t:","\n",(0,a.jsxs)(n.ul,{children:["\n",(0,a.jsx)(n.li,{children:"Startknoten: legen den Beginn der Aktivit\xe4t fest"}),"\n",(0,a.jsx)(n.li,{children:"Endknoten: legen das Ende der Aktivit\xe4t fest"}),"\n",(0,a.jsx)(n.li,{children:"Ablaufendknoten: legen das Ende eines Ablaufes fest"}),"\n",(0,a.jsx)(n.li,{children:"Verzweigungsknoten: erm\xf6glichen die Verzweigung von Abl\xe4ufen"}),"\n",(0,a.jsx)(n.li,{children:"Zusammenf\xfchrungsknoten: erm\xf6glichen die Zusammenf\xfchrung von Abl\xe4ufen"}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(n.li,{children:"Datenknoten sind Hilfsknoten, die als ein- oder ausgehende Parameter einer\nAktion verwendet werden k\xf6nnen"}),"\n",(0,a.jsx)(n.li,{children:"Kontroll- und Datenfl\xfcsse legen Abl\xe4ufe zwischen Vorg\xe4nger- und\nNachfolger-Knoten fest"}),"\n"]}),"\n",(0,a.jsx)(n.mermaid,{value:'stateDiagram-v2\n state "Ausgabe: Zahl 1 eingeben" as state1\n state "Eingabe: [Zahl 1]" as state2\n state "Ausgabe: Zahl 2 eingeben" as state3\n state "Eingabe: [Zahl 2]" as state4\n state "R\xfcckgabe: [Zahl 1] / [Zahl 2]" as state5\n\n state if <>\n\n state "Division zweier Zahlen" as main {\n [*] --\x3e state1\n state1 --\x3e state2\n state2 --\x3e state3\n state3 --\x3e state4\n state4 --\x3e if\n if --\x3e state3: [Zahl 2] = 0\n if --\x3e state5: sonst\n state5 --\x3e [*]\n }'})]})}function u(e={}){let{wrapper:n}={...(0,s.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(c,{...e})}):c(e)}},50065:function(e,n,t){t.d(n,{Z:function(){return l},a:function(){return r}});var i=t(67294);let a={},s=i.createContext(a);function r(e){let n=i.useContext(s);return i.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:r(e.components),i.createElement(s.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/1dd85dc9.939668b6.js b/pr-preview/pr-236/assets/js/1dd85dc9.939668b6.js
deleted file mode 100644
index 21e6a02c6e..0000000000
--- a/pr-preview/pr-236/assets/js/1dd85dc9.939668b6.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["7081"],{96790:function(e,n,r){r.r(n),r.d(n,{metadata:()=>s,contentTitle:()=>o,default:()=>p,assets:()=>u,toc:()=>c,frontMatter:()=>i});var s=JSON.parse('{"id":"exercises/maps/maps01","title":"Maps01","description":"","source":"@site/docs/exercises/maps/maps01.mdx","sourceDirName":"exercises/maps","slug":"/exercises/maps/maps01","permalink":"/java-docs/pr-preview/pr-236/exercises/maps/maps01","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/maps/maps01.mdx","tags":[],"version":"current","frontMatter":{"title":"Maps01","description":""},"sidebar":"exercisesSidebar","previous":{"title":"Assoziativspeicher (Maps)","permalink":"/java-docs/pr-preview/pr-236/exercises/maps/"},"next":{"title":"Maps02","permalink":"/java-docs/pr-preview/pr-236/exercises/maps/maps02"}}'),t=r("85893"),a=r("50065"),l=r("39661");let i={title:"Maps01",description:""},o=void 0,u={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweise zur Klasse TelephoneBook",id:"hinweise-zur-klasse-telephonebook",level:2}];function d(e){let n={code:"code",em:"em",h2:"h2",li:"li",mermaid:"mermaid",ul:"ul",...(0,a.a)(),...e.components};return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Erstelle die Klassen ",(0,t.jsx)(n.code,{children:"Person"}),", ",(0,t.jsx)(n.code,{children:"TelephoneNumber"})," und ",(0,t.jsx)(n.code,{children:"TelephoneBook"})," anhand\ndes abgebildeten Klassendiagramms"]}),"\n",(0,t.jsx)(n.li,{children:"Erstelle eine ausf\xfchrbare Klasse, welche ein Telefonbuch mit mehreren\nEintr\xe4gen erzeugt und zu eingegebenen Namen die dazugeh\xf6rigen Telefonnummern\nauf der Konsole ausgibt"}),"\n"]}),"\n",(0,t.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,t.jsx)(n.mermaid,{value:"classDiagram\n TelephoneBook o-- Person\n TelephoneBook o-- TelephoneNumber\n\n class Person {\n <>\n name: String\n }\n\n class TelephoneNumber {\n <>\n value: String\n }\n\n class TelephoneBook {\n <>\n entries: Map~Person, TelephoneNumber~\n +addEntry(person: Person, telephoneNumber: TelephoneNumber) void\n +getTelephoneNumberByName(name: String) TelephoneNumber\n }"}),"\n",(0,t.jsxs)(n.h2,{id:"hinweise-zur-klasse-telephonebook",children:["Hinweise zur Klasse ",(0,t.jsx)(n.em,{children:"TelephoneBook"})]}),"\n",(0,t.jsxs)(n.ul,{children:["\n",(0,t.jsxs)(n.li,{children:["Die Methode ",(0,t.jsx)(n.code,{children:"void addEntry(person: Person, telephoneNumber: TelephoneNumber)"}),"\nsoll einen Eintrag im Telefonbuch anlegen"]}),"\n",(0,t.jsxs)(n.li,{children:["Die Methode ",(0,t.jsx)(n.code,{children:"TelephoneNumber getTelephoneNumberByName(name: String)"})," soll die\nTelefonnummer zum eingehenden Namen zur\xfcckgeben"]}),"\n"]}),"\n",(0,t.jsx)(l.Z,{pullRequest:"59",branchSuffix:"maps/01"})]})}function p(e={}){let{wrapper:n}={...(0,a.a)(),...e.components};return n?(0,t.jsx)(n,{...e,children:(0,t.jsx)(d,{...e})}):d(e)}},5525:function(e,n,r){r.d(n,{Z:()=>l});var s=r("85893");r("67294");var t=r("67026");let a="tabItem_Ymn6";function l(e){let{children:n,hidden:r,className:l}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,t.Z)(a,l),hidden:r,children:n})}},47902:function(e,n,r){r.d(n,{Z:()=>j});var s=r("85893"),t=r("67294"),a=r("67026"),l=r("69599"),i=r("16550"),o=r("32000"),u=r("4520"),c=r("38341"),d=r("76009");function p(e){return t.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||t.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})?.filter(Boolean)??[]}function h(e){let{value:n,tabValues:r}=e;return r.some(e=>e.value===n)}var m=r("7227");let f="tabList__CuJ",b="tabItem_LNqP";function v(e){let{className:n,block:r,selectedValue:t,selectValue:i,tabValues:o}=e,u=[],{blockElementScrollPositionUntilNextRender:c}=(0,l.o5)(),d=e=>{let n=e.currentTarget,r=o[u.indexOf(n)].value;r!==t&&(c(n),i(r))},p=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let r=u.indexOf(e.currentTarget)+1;n=u[r]??u[0];break}case"ArrowLeft":{let r=u.indexOf(e.currentTarget)-1;n=u[r]??u[u.length-1]}}n?.focus()};return(0,s.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":r},n),children:o.map(e=>{let{value:n,label:r,attributes:l}=e;return(0,s.jsx)("li",{role:"tab",tabIndex:t===n?0:-1,"aria-selected":t===n,ref:e=>u.push(e),onKeyDown:p,onClick:d,...l,className:(0,a.Z)("tabs__item",b,l?.className,{"tabs__item--active":t===n}),children:r??n},n)})})}function g(e){let{lazy:n,children:r,selectedValue:l}=e,i=(Array.isArray(r)?r:[r]).filter(Boolean);if(n){let e=i.find(e=>e.props.value===l);return e?(0,t.cloneElement)(e,{className:(0,a.Z)("margin-top--md",e.props.className)}):null}return(0,s.jsx)("div",{className:"margin-top--md",children:i.map((e,n)=>(0,t.cloneElement)(e,{key:n,hidden:e.props.value!==l}))})}function x(e){let n=function(e){let{defaultValue:n,queryString:r=!1,groupId:s}=e,a=function(e){let{values:n,children:r}=e;return(0,t.useMemo)(()=>{let e=n??p(r).map(e=>{let{props:{value:n,label:r,attributes:s,default:t}}=e;return{value:n,label:r,attributes:s,default:t}});return!function(e){let n=(0,c.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in . Every value needs to be unique.`)}(e),e},[n,r])}(e),[l,m]=(0,t.useState)(()=>(function(e){let{defaultValue:n,tabValues:r}=e;if(0===r.length)throw Error("Docusaurus error: the component requires at least one children component");if(n){if(!h({value:n,tabValues:r}))throw Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${r.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let s=r.find(e=>e.default)??r[0];if(!s)throw Error("Unexpected error: 0 tabValues");return s.value})({defaultValue:n,tabValues:a})),[f,b]=function(e){let{queryString:n=!1,groupId:r}=e,s=(0,i.k6)(),a=function(e){let{queryString:n=!1,groupId:r}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!r)throw Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return r??null}({queryString:n,groupId:r}),l=(0,u._X)(a);return[l,(0,t.useCallback)(e=>{if(!a)return;let n=new URLSearchParams(s.location.search);n.set(a,e),s.replace({...s.location,search:n.toString()})},[a,s])]}({queryString:r,groupId:s}),[v,g]=function(e){var n;let{groupId:r}=e;let s=(n=r)?`docusaurus.tab.${n}`:null,[a,l]=(0,d.Nk)(s);return[a,(0,t.useCallback)(e=>{if(!!s)l.set(e)},[s,l])]}({groupId:s}),x=(()=>{let e=f??v;return h({value:e,tabValues:a})?e:null})();return(0,o.Z)(()=>{x&&m(x)},[x]),{selectedValue:l,selectValue:(0,t.useCallback)(e=>{if(!h({value:e,tabValues:a}))throw Error(`Can't select invalid tab value=${e}`);m(e),b(e),g(e)},[b,g,a]),tabValues:a}}(e);return(0,s.jsxs)("div",{className:(0,a.Z)("tabs-container",f),children:[(0,s.jsx)(v,{...n,...e}),(0,s.jsx)(g,{...n,...e})]})}function j(e){let n=(0,m.Z)();return(0,s.jsx)(x,{...e,children:p(e.children)},String(n))}},39661:function(e,n,r){r.d(n,{Z:function(){return o}});var s=r(85893);r(67294);var t=r(47902),a=r(5525),l=r(83012),i=r(45056);function o(e){let{pullRequest:n,branchSuffix:r}=e;return(0,s.jsxs)(t.Z,{children:[(0,s.jsxs)(a.Z,{value:"exercise",label:"Exercise",default:!0,children:[(0,s.jsx)(i.Z,{language:"console",children:`git switch exercises/${r}`}),(0,s.jsx)(l.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/exercises/${r}/Exercise.java`,children:(0,s.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,s.jsxs)(a.Z,{value:"solution",label:"Solution",children:[(0,s.jsx)(i.Z,{language:"console",children:`git switch solutions/${r}`}),(0,s.jsx)(l.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/solutions/${r}/Exercise.java`,children:(0,s.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,s.jsxs)(a.Z,{value:"pullrequest",label:"Pull Request",children:["Alle \xa0\xc4nderungen zwischen der Aufgabe und der L\xf6sung findest du im Pull Request"," ",(0,s.jsxs)(l.Z,{to:`https://github.com/jappuccini/java-exercises/pull/${n}/files?diff=split`,children:["PR#",n]})]})]})}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/1e2dcb22.24b67ba8.js b/pr-preview/pr-236/assets/js/1e2dcb22.24b67ba8.js
deleted file mode 100644
index bef49ec6ed..0000000000
--- a/pr-preview/pr-236/assets/js/1e2dcb22.24b67ba8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["2546"],{64798:function(r,d,n){n.r(d),n.d(d,{metadata:()=>e,contentTitle:()=>h,default:()=>a,assets:()=>x,toc:()=>j,frontMatter:()=>c});var e=JSON.parse('{"id":"exercises/algorithms/algorithms02","title":"Algorithms02","description":"","source":"@site/docs/exercises/algorithms/algorithms02.mdx","sourceDirName":"exercises/algorithms","slug":"/exercises/algorithms/algorithms02","permalink":"/java-docs/pr-preview/pr-236/exercises/algorithms/algorithms02","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/algorithms/algorithms02.mdx","tags":[],"version":"current","frontMatter":{"title":"Algorithms02","description":""},"sidebar":"exercisesSidebar","previous":{"title":"Algorithms01","permalink":"/java-docs/pr-preview/pr-236/exercises/algorithms/algorithms01"},"next":{"title":"JavaFX","permalink":"/java-docs/pr-preview/pr-236/exercises/javafx/"}}'),s=n("85893"),t=n("50065"),l=n("47902"),i=n("5525");let c={title:"Algorithms02",description:""},h=void 0,x={},j=[];function o(r){let d={code:"code",em:"em",mermaid:"mermaid",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,t.a)(),...r.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)(d.p,{children:["Sortiere die Zahlenfolge ",(0,s.jsx)(d.code,{children:"46, 2, 46', 87, 13, 14, 62, 17, 80"})," unter Verwendung\ndes Bubblesort, des Insertionsort, des Selectionsort, des Quicksort, des\nMergesort und des Heapsorts."]}),"\n",(0,s.jsxs)(l.Z,{children:[(0,s.jsx)(i.Z,{value:"a",label:"-",default:!0}),(0,s.jsx)(i.Z,{value:"b",label:"Bubblesort",children:(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Index"}),(0,s.jsx)(d.th,{children:"0"}),(0,s.jsx)(d.th,{children:"1"}),(0,s.jsx)(d.th,{children:"2"}),(0,s.jsx)(d.th,{children:"3"}),(0,s.jsx)(d.th,{children:"4"}),(0,s.jsx)(d.th,{children:"5"}),(0,s.jsx)(d.th,{children:"6"}),(0,s.jsx)(d.th,{children:"7"}),(0,s.jsx)(d.th,{children:"8"}),(0,s.jsx)(d.th,{children:"9"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"0"}),(0,s.jsx)(d.td,{children:"46"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"1"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"46"}),(0,s.jsx)(d.td,{children:"46"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"3"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:"46"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"17"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"17"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"17"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"17"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"4"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"46"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"5"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"6"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"62"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"62"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"62"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"62"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"62"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"62"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"62"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"7"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"80"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"80"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"80"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"80"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"80"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"80"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"80"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"80"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"8"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})})]})]})]})}),(0,s.jsx)(i.Z,{value:"c",label:"Insertionsort",children:(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Index"}),(0,s.jsx)(d.th,{children:"0"}),(0,s.jsx)(d.th,{children:"1"}),(0,s.jsx)(d.th,{children:"2"}),(0,s.jsx)(d.th,{children:"3"}),(0,s.jsx)(d.th,{children:"4"}),(0,s.jsx)(d.th,{children:"5"}),(0,s.jsx)(d.th,{children:"6"}),(0,s.jsx)(d.th,{children:"7"}),(0,s.jsx)(d.th,{children:"8"}),(0,s.jsx)(d.th,{children:"9"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"0"}),(0,s.jsx)(d.td,{children:"46"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"1"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"3"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"17"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"17"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"4"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"5"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"62"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"6"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"62"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"62"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"7"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"80"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"8"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})})]})]})]})}),(0,s.jsx)(i.Z,{value:"d",label:"Selectionsort",children:(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Index"}),(0,s.jsx)(d.th,{children:"0"}),(0,s.jsx)(d.th,{children:"1"}),(0,s.jsx)(d.th,{children:"2"}),(0,s.jsx)(d.th,{children:"3"}),(0,s.jsx)(d.th,{children:"4"}),(0,s.jsx)(d.th,{children:"5"}),(0,s.jsx)(d.th,{children:"6"}),(0,s.jsx)(d.th,{children:"7"}),(0,s.jsx)(d.th,{children:"8"}),(0,s.jsx)(d.th,{children:"9"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"0"}),(0,s.jsx)(d.td,{children:"46"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"1"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"46"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:"46"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"3"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:"46"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"17"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"17"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"17"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"17"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"17"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"17"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"4"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:"46"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"5"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"6"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"62"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"62"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"62"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"7"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"80"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"80"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"8"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})})]})]})]})}),(0,s.jsxs)(i.Z,{value:"e",label:"Quicksort",children:[(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Index"}),(0,s.jsx)(d.th,{children:"0"}),(0,s.jsx)(d.th,{children:"1"}),(0,s.jsx)(d.th,{children:"2"}),(0,s.jsx)(d.th,{children:"3"}),(0,s.jsx)(d.th,{children:"4"}),(0,s.jsx)(d.th,{children:"5"}),(0,s.jsx)(d.th,{children:"6"}),(0,s.jsx)(d.th,{children:"7"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"0"}),(0,s.jsx)(d.td,{children:"46"}),(0,s.jsx)(d.td,{children:"[13]"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"2"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"1"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"13"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.em,{children:"46'"})}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"14"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"3"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.em,{children:"87"})}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:"[17]"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"17"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"17"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"17"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"4"}),(0,s.jsx)(d.td,{children:"[13]"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.em,{children:"46"})}),(0,s.jsx)(d.td,{children:"46"}),(0,s.jsx)(d.td,{children:"46"}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46'"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"5"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.em,{children:"14"})}),(0,s.jsx)(d.td,{children:"[14]"}),(0,s.jsx)(d.td,{children:"[46']"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.em,{children:"46"})}),(0,s.jsx)(d.td,{children:"46"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"46"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"6"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.em,{children:"62"})}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.em,{children:"62"})}),(0,s.jsx)(d.td,{children:"[62]"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"62"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"62"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"7"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.em,{children:"17"})}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.em,{children:"87"})}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.em,{children:"87"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"80"})})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"8"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.em,{children:"80"})}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.em,{children:"80"})}),(0,s.jsx)(d.td,{children:"80"}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.em,{children:"80"})}),(0,s.jsx)(d.td,{children:(0,s.jsx)(d.strong,{children:"87"})})]})]})]}),(0,s.jsxs)(d.table,{children:[(0,s.jsx)(d.thead,{children:(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.th,{children:"Durchlauf"}),(0,s.jsx)(d.th,{children:"l"}),(0,s.jsx)(d.th,{children:"r"}),(0,s.jsx)(d.th,{children:"m"}),(0,s.jsx)(d.th,{children:"d[m]"}),(0,s.jsx)(d.th,{children:"i"}),(0,s.jsx)(d.th,{children:"j"}),(0,s.jsx)(d.th,{children:"l-j"}),(0,s.jsx)(d.th,{children:"i-r"})]})}),(0,s.jsxs)(d.tbody,{children:[(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"1"}),(0,s.jsx)(d.td,{children:"0"}),(0,s.jsx)(d.td,{children:"8"}),(0,s.jsx)(d.td,{children:"4"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"1"}),(0,s.jsx)(d.td,{children:"0-1"}),(0,s.jsx)(d.td,{children:"2-8"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"0"}),(0,s.jsx)(d.td,{children:"1"}),(0,s.jsx)(d.td,{children:"0"}),(0,s.jsx)(d.td,{children:"13"}),(0,s.jsx)(d.td,{children:"1"}),(0,s.jsx)(d.td,{children:"0"}),(0,s.jsx)(d.td,{children:"0-0"}),(0,s.jsx)(d.td,{children:"1-1"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"3"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"8"}),(0,s.jsx)(d.td,{children:"5"}),(0,s.jsx)(d.td,{children:"14"}),(0,s.jsx)(d.td,{children:"3"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"2-2"}),(0,s.jsx)(d.td,{children:"3-8"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"4"}),(0,s.jsx)(d.td,{children:"3"}),(0,s.jsx)(d.td,{children:"8"}),(0,s.jsx)(d.td,{children:"5"}),(0,s.jsx)(d.td,{children:"46'"}),(0,s.jsx)(d.td,{children:"5"}),(0,s.jsx)(d.td,{children:"4"}),(0,s.jsx)(d.td,{children:"3-4"}),(0,s.jsx)(d.td,{children:"5-8"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"5"}),(0,s.jsx)(d.td,{children:"3"}),(0,s.jsx)(d.td,{children:"4"}),(0,s.jsx)(d.td,{children:"3"}),(0,s.jsx)(d.td,{children:"17"}),(0,s.jsx)(d.td,{children:"4"}),(0,s.jsx)(d.td,{children:"2"}),(0,s.jsx)(d.td,{children:"3-2"}),(0,s.jsx)(d.td,{children:"4-4"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"6"}),(0,s.jsx)(d.td,{children:"5"}),(0,s.jsx)(d.td,{children:"8"}),(0,s.jsx)(d.td,{children:"6"}),(0,s.jsx)(d.td,{children:"62"}),(0,s.jsx)(d.td,{children:"7"}),(0,s.jsx)(d.td,{children:"5"}),(0,s.jsx)(d.td,{children:"5-5"}),(0,s.jsx)(d.td,{children:"7-8"})]}),(0,s.jsxs)(d.tr,{children:[(0,s.jsx)(d.td,{children:"7"}),(0,s.jsx)(d.td,{children:"7"}),(0,s.jsx)(d.td,{children:"8"}),(0,s.jsx)(d.td,{children:"7"}),(0,s.jsx)(d.td,{children:"87"}),(0,s.jsx)(d.td,{children:"8"}),(0,s.jsx)(d.td,{children:"7"}),(0,s.jsx)(d.td,{children:"7-7"}),(0,s.jsx)(d.td,{children:"8-8"})]})]})]})]}),(0,s.jsx)(i.Z,{value:"f",label:"Mergesort",children:(0,s.jsx)(d.mermaid,{value:"flowchart\n split0 --\x3e split1\n split0 --\x3e split2\n split1 --\x3e split11\n split1 --\x3e split12\n split11 --\x3e split111\n split11 --\x3e split112\n split2 --\x3e split21\n split2 --\x3e split22\n\n split111 --\x3e merge1\n split112 --\x3e merge12\n merge1 --\x3e merge2\n merge12 --\x3e merge2\n merge2 --\x3e merge3\n split12 --\x3e merge0\n merge0 --\x3e merge3\n split21 --\x3e merge4\n split22 --\x3e merge5\n merge4 --\x3e merge6\n merge5 --\x3e merge6\n merge3 --\x3e merge7\n merge6 --\x3e merge7\n\n subgraph split\n split0(46, 2, 46', 87, 13, 14, 62, 17, 80)\n split1(46, 2, 46', 87, 13)\n split2(14, 62, 17, 80)\n split11(46, 2, 46')\n split111(46, 2)\n split112(46')\n split12(87, 13)\n split21(14, 62)\n split22(17, 80)\n end\n\n subgraph merge\n merge1(2, 46)\n merge12(46')\n merge2(2, 46, 46')\n merge0(13, 87)\n merge3(2, 13, 46, 46', 87)\n merge4(14, 62)\n merge5(17, 80)\n merge6(14, 17, 62, 80)\n merge7(2, 13, 14, 17, 46, 46', 62, 80, 87)\n end"})}),(0,s.jsxs)(i.Z,{value:"g",label:"Heapsort",children:[(0,s.jsx)(d.mermaid,{value:"flowchart TD\n 1(87)\n 2(80)\n 3(62)\n 4(46)\n 5(13)\n 6(14)\n 7(46')\n 8(17)\n 9(2)\n\n subgraph \"Build-Max-Heap\"\n array(2, 17, 46', 14, 13, 46, 62, 80, 87)\n 1 --\x3e 2\n 1 --\x3e 3\n 2 --\x3e 4\n 2 --\x3e 5\n 3 --\x3e 6\n 3 --\x3e 7\n 4 --\x3e 8\n 4 --\x3e 9\n end"}),(0,s.jsx)(d.mermaid,{value:"flowchart TD\n 1(80)\n 2(46)\n 3(62)\n 4(17)\n 5(13)\n 6(14)\n 7(46')\n 8(2)\n\n subgraph \"Heapify 1\"\n array(2, 46', 14, 13, 17, 62, 46, 80, 87)\n 1 --\x3e 2\n 1 --\x3e 3\n 2 --\x3e 4\n 2 --\x3e 5\n 3 --\x3e 6\n 3 --\x3e 7\n 4 --\x3e 8\n end"}),(0,s.jsx)(d.mermaid,{value:"flowchart TD\n 1(62)\n 2(46)\n 3(46')\n 4(17)\n 5(13)\n 6(14)\n 7(2)\n\n subgraph \"Heapify 2\"\n array(2, 14, 13, 17, 46', 46, 62, 80, 87)\n 1 --\x3e 2\n 1 --\x3e 3\n 2 --\x3e 4\n 2 --\x3e 5\n 3 --\x3e 6\n 3 --\x3e 7\n end"}),(0,s.jsx)(d.mermaid,{value:"flowchart TD\n 1(46)\n 2(17)\n 3(46')\n 4(2)\n 5(13)\n 6(14)\n\n subgraph \"Heapify 3\"\n array(14, 13, 2, 46', 17, 46, 62, 80, 87)\n 1 --\x3e 2\n 1 --\x3e 3\n 2 --\x3e 4\n 2 --\x3e 5\n 3 --\x3e 6\n end"}),(0,s.jsx)(d.mermaid,{value:"flowchart TD\n 1(46')\n 2(17)\n 3(14)\n 4(2)\n 5(13)\n\n subgraph \"Heapify 4\"\n array(13, 2, 14, 17, 46', 46, 62, 80, 87)\n 1 --\x3e 2\n 1 --\x3e 3\n 2 --\x3e 4\n 2 --\x3e 5\n end"}),(0,s.jsx)(d.mermaid,{value:'flowchart TD\n 1(17)\n 2(13)\n 3(14)\n 4(2)\n\n subgraph "Heapify 5"\n array(2, 14, 13, 17, 46\', 46, 62, 80, 87)\n 1 --\x3e 2\n 1 --\x3e 3\n 2 --\x3e 4\n end'}),(0,s.jsx)(d.mermaid,{value:'flowchart TD\n 1(14)\n 2(13)\n 3(2)\n\n subgraph "Heapify 6"\n array(2, 13, 14, 17, 46\', 46, 62, 80, 87)\n 1 --\x3e 2\n 1 --\x3e 3\n end'}),(0,s.jsx)(d.mermaid,{value:'flowchart TD\n 1(13)\n 2(2)\n\n subgraph "Heapify 7"\n array(2, 13, 14, 17, 46\', 46, 62, 80, 87)\n 1 --\x3e 2\n end'})]})]})]})}function a(r={}){let{wrapper:d}={...(0,t.a)(),...r.components};return d?(0,s.jsx)(d,{...r,children:(0,s.jsx)(o,{...r})}):o(r)}},5525:function(r,d,n){n.d(d,{Z:()=>l});var e=n("85893");n("67294");var s=n("67026");let t="tabItem_Ymn6";function l(r){let{children:d,hidden:n,className:l}=r;return(0,e.jsx)("div",{role:"tabpanel",className:(0,s.Z)(t,l),hidden:n,children:d})}},47902:function(r,d,n){n.d(d,{Z:()=>v});var e=n("85893"),s=n("67294"),t=n("67026"),l=n("69599"),i=n("16550"),c=n("32000"),h=n("4520"),x=n("38341"),j=n("76009");function o(r){return s.Children.toArray(r).filter(r=>"\n"!==r).map(r=>{if(!r||s.isValidElement(r)&&function(r){let{props:d}=r;return!!d&&"object"==typeof d&&"value"in d}(r))return r;throw Error(`Docusaurus error: Bad child <${"string"==typeof r.type?r.type:r.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})?.filter(Boolean)??[]}function a(r){let{value:d,tabValues:n}=r;return n.some(r=>r.value===d)}var g=n("7227");let u="tabList__CuJ",m="tabItem_LNqP";function p(r){let{className:d,block:n,selectedValue:s,selectValue:i,tabValues:c}=r,h=[],{blockElementScrollPositionUntilNextRender:x}=(0,l.o5)(),j=r=>{let d=r.currentTarget,n=c[h.indexOf(d)].value;n!==s&&(x(d),i(n))},o=r=>{let d=null;switch(r.key){case"Enter":j(r);break;case"ArrowRight":{let n=h.indexOf(r.currentTarget)+1;d=h[n]??h[0];break}case"ArrowLeft":{let n=h.indexOf(r.currentTarget)-1;d=h[n]??h[h.length-1]}}d?.focus()};return(0,e.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,t.Z)("tabs",{"tabs--block":n},d),children:c.map(r=>{let{value:d,label:n,attributes:l}=r;return(0,e.jsx)("li",{role:"tab",tabIndex:s===d?0:-1,"aria-selected":s===d,ref:r=>h.push(r),onKeyDown:o,onClick:j,...l,className:(0,t.Z)("tabs__item",m,l?.className,{"tabs__item--active":s===d}),children:n??d},d)})})}function f(r){let{lazy:d,children:n,selectedValue:l}=r,i=(Array.isArray(n)?n:[n]).filter(Boolean);if(d){let r=i.find(r=>r.props.value===l);return r?(0,s.cloneElement)(r,{className:(0,t.Z)("margin-top--md",r.props.className)}):null}return(0,e.jsx)("div",{className:"margin-top--md",children:i.map((r,d)=>(0,s.cloneElement)(r,{key:d,hidden:r.props.value!==l}))})}function b(r){let d=function(r){let{defaultValue:d,queryString:n=!1,groupId:e}=r,t=function(r){let{values:d,children:n}=r;return(0,s.useMemo)(()=>{let r=d??o(n).map(r=>{let{props:{value:d,label:n,attributes:e,default:s}}=r;return{value:d,label:n,attributes:e,default:s}});return!function(r){let d=(0,x.lx)(r,(r,d)=>r.value===d.value);if(d.length>0)throw Error(`Docusaurus error: Duplicate values "${d.map(r=>r.value).join(", ")}" found in . Every value needs to be unique.`)}(r),r},[d,n])}(r),[l,g]=(0,s.useState)(()=>(function(r){let{defaultValue:d,tabValues:n}=r;if(0===n.length)throw Error("Docusaurus error: the component requires at least one children component");if(d){if(!a({value:d,tabValues:n}))throw Error(`Docusaurus error: The has a defaultValue "${d}" but none of its children has the corresponding value. Available values are: ${n.map(r=>r.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return d}let e=n.find(r=>r.default)??n[0];if(!e)throw Error("Unexpected error: 0 tabValues");return e.value})({defaultValue:d,tabValues:t})),[u,m]=function(r){let{queryString:d=!1,groupId:n}=r,e=(0,i.k6)(),t=function(r){let{queryString:d=!1,groupId:n}=r;if("string"==typeof d)return d;if(!1===d)return null;if(!0===d&&!n)throw Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:d,groupId:n}),l=(0,h._X)(t);return[l,(0,s.useCallback)(r=>{if(!t)return;let d=new URLSearchParams(e.location.search);d.set(t,r),e.replace({...e.location,search:d.toString()})},[t,e])]}({queryString:n,groupId:e}),[p,f]=function(r){var d;let{groupId:n}=r;let e=(d=n)?`docusaurus.tab.${d}`:null,[t,l]=(0,j.Nk)(e);return[t,(0,s.useCallback)(r=>{if(!!e)l.set(r)},[e,l])]}({groupId:e}),b=(()=>{let r=u??p;return a({value:r,tabValues:t})?r:null})();return(0,c.Z)(()=>{b&&g(b)},[b]),{selectedValue:l,selectValue:(0,s.useCallback)(r=>{if(!a({value:r,tabValues:t}))throw Error(`Can't select invalid tab value=${r}`);g(r),m(r),f(r)},[m,f,t]),tabValues:t}}(r);return(0,e.jsxs)("div",{className:(0,t.Z)("tabs-container",u),children:[(0,e.jsx)(p,{...d,...r}),(0,e.jsx)(f,{...d,...r})]})}function v(r){let d=(0,g.Z)();return(0,e.jsx)(b,{...r,children:o(r.children)},String(d))}},50065:function(r,d,n){n.d(d,{Z:function(){return i},a:function(){return l}});var e=n(67294);let s={},t=e.createContext(s);function l(r){let d=e.useContext(t);return e.useMemo(function(){return"function"==typeof r?r(d):{...d,...r}},[d,r])}function i(r){let d;return d=r.disableParentContext?"function"==typeof r.components?r.components(s):r.components||s:l(r.components),e.createElement(t.Provider,{value:d},r.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/1f391b9e.19b77fa0.js b/pr-preview/pr-236/assets/js/1f391b9e.19b77fa0.js
deleted file mode 100644
index edca80bad1..0000000000
--- a/pr-preview/pr-236/assets/js/1f391b9e.19b77fa0.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["2493"],{8402:function(e,a,s){s.r(a),s.d(a,{default:()=>g});var l=s("85893");s("67294");var t=s("67026"),c=s("14713"),i=s("84681"),d=s("5836"),n=s("14722"),r=s("1397"),o=s("38813"),m=s("86594");let x="mdxPageWrapper_j9I6";function g(e){let{content:a}=e,{metadata:s,assets:g}=a,{title:j,editUrl:h,description:p,frontMatter:v,lastUpdatedBy:_,lastUpdatedAt:u}=s,{keywords:Z,wrapperClassName:k,hide_table_of_contents:f}=v,w=g.image??v.image,N=!!(h||u||_);return(0,l.jsx)(c.FG,{className:(0,t.Z)(k??i.k.wrapper.mdxPages,i.k.page.mdxPage),children:(0,l.jsxs)(d.Z,{children:[(0,l.jsx)(c.d,{title:j,description:p,keywords:Z,image:w}),(0,l.jsx)("main",{className:"container container--fluid margin-vert--lg",children:(0,l.jsxs)("div",{className:(0,t.Z)("row",x),children:[(0,l.jsxs)("div",{className:(0,t.Z)("col",!f&&"col--8"),children:[(0,l.jsx)(o.Z,{metadata:s}),(0,l.jsx)("article",{children:(0,l.jsx)(n.Z,{children:(0,l.jsx)(a,{})})}),N&&(0,l.jsx)(m.Z,{className:(0,t.Z)("margin-top--sm",i.k.pages.pageFooterEditMetaRow),editUrl:h,lastUpdatedAt:u,lastUpdatedBy:_})]}),!f&&a.toc.length>0&&(0,l.jsx)("div",{className:"col col--2",children:(0,l.jsx)(r.Z,{toc:a.toc,minHeadingLevel:v.toc_min_heading_level,maxHeadingLevel:v.toc_max_heading_level})})]})})]})})}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/200c1d34.adb060dd.js b/pr-preview/pr-236/assets/js/200c1d34.adb060dd.js
deleted file mode 100644
index 61a06e93d2..0000000000
--- a/pr-preview/pr-236/assets/js/200c1d34.adb060dd.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["9059"],{43388:function(e){e.exports=JSON.parse('{"tag":{"label":"generics","permalink":"/java-docs/pr-preview/pr-236/tags/generics","allTagsPath":"/java-docs/pr-preview/pr-236/tags","count":4,"items":[{"id":"exam-exercises/exam-exercises-java2/class-diagrams/shopping-portal","title":"Einkaufsportal","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/class-diagrams/shopping-portal"},{"id":"documentation/generics","title":"Generische Programmierung","description":"","permalink":"/java-docs/pr-preview/pr-236/documentation/generics"},{"id":"exercises/generics/generics","title":"Generische Programmierung","description":"","permalink":"/java-docs/pr-preview/pr-236/exercises/generics/"},{"id":"exam-exercises/exam-exercises-java2/class-diagrams/team","title":"Team","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/class-diagrams/team"}],"unlisted":false}}')}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/2025e24f.dfa2e0b1.js b/pr-preview/pr-236/assets/js/2025e24f.dfa2e0b1.js
deleted file mode 100644
index 7a4d5e71d2..0000000000
--- a/pr-preview/pr-236/assets/js/2025e24f.dfa2e0b1.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["8491"],{40421:function(e){e.exports=JSON.parse('{"tag":{"label":"interfaces","permalink":"/java-docs/pr-preview/pr-236/tags/interfaces","allTagsPath":"/java-docs/pr-preview/pr-236/tags","count":7,"items":[{"id":"exam-exercises/exam-exercises-java2/class-diagrams/shopping-portal","title":"Einkaufsportal","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/class-diagrams/shopping-portal"},{"id":"exam-exercises/exam-exercises-java2/class-diagrams/lego-brick","title":"Lego-Baustein","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/class-diagrams/lego-brick"},{"id":"documentation/interfaces","title":"Schnittstellen (Interfaces)","description":"","permalink":"/java-docs/pr-preview/pr-236/documentation/interfaces"},{"id":"exercises/interfaces/interfaces","title":"Schnittstellen (Interfaces)","description":"","permalink":"/java-docs/pr-preview/pr-236/exercises/interfaces/"},{"id":"exam-exercises/exam-exercises-java2/class-diagrams/corner-shop","title":"Tante-Emma-Laden","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/class-diagrams/corner-shop"},{"id":"exam-exercises/exam-exercises-java2/class-diagrams/team","title":"Team","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/class-diagrams/team"},{"id":"exam-exercises/exam-exercises-java2/class-diagrams/dictionary","title":"W\xf6rterbuch","description":"","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/class-diagrams/dictionary"}],"unlisted":false}}')}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/203119e9.8a78dbaa.js b/pr-preview/pr-236/assets/js/203119e9.8a78dbaa.js
deleted file mode 100644
index 1ce26d1af5..0000000000
--- a/pr-preview/pr-236/assets/js/203119e9.8a78dbaa.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["3503"],{95763:function(e,t,n){n.r(t),n.d(t,{metadata:()=>o,contentTitle:()=>l,default:()=>u,assets:()=>d,toc:()=>c,frontMatter:()=>r});var o=JSON.parse('{"id":"exercises/unit-tests/unit-tests04","title":"UnitTests04","description":"","source":"@site/docs/exercises/unit-tests/unit-tests04.md","sourceDirName":"exercises/unit-tests","slug":"/exercises/unit-tests/unit-tests04","permalink":"/java-docs/pr-preview/pr-236/exercises/unit-tests/unit-tests04","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/unit-tests/unit-tests04.md","tags":[],"version":"current","frontMatter":{"title":"UnitTests04","description":""},"sidebar":"exercisesSidebar","previous":{"title":"UnitTests03","permalink":"/java-docs/pr-preview/pr-236/exercises/unit-tests/unit-tests03"},"next":{"title":"Datenstr\xf6me (IO-Streams)","permalink":"/java-docs/pr-preview/pr-236/exercises/io-streams/"}}'),i=n("85893"),s=n("50065");let r={title:"UnitTests04",description:""},l=void 0,d={},c=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Hinweise zur Klasse BookCollectionTest",id:"hinweise-zur-klasse-bookcollectiontest",level:2},{value:"Hinweis",id:"hinweis",level:2}];function a(e){let t={a:"a",code:"code",em:"em",h2:"h2",li:"li",mermaid:"mermaid",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsxs)(t.p,{children:["Erstelle die JUnit5-Testklasse ",(0,i.jsx)(t.code,{children:"BookCollectionTest"})," anhand des abgebildeten\nKlassendiagramms."]}),"\n",(0,i.jsx)(t.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,i.jsx)(t.mermaid,{value:"classDiagram\n BookCollection o-- Author\n BookCollection o-- Book\n BookCollectionTest o-- BookCollection\n\n class Author {\n <>\n name: String\n }\n\n class Book {\n <>\n title: String\n }\n\n class BookCollection {\n <>\n collection: Map~Author‚ List~Book~~\n +addAuthor(author: Author) void\n +addBook(author: Author, book: Book) void\n +getMostDiligentAuthor() Optional~Author~\n +getBookByTitle(title: String) Optional~Book~\n }\n\n class BookCollectionTest {\n <>\n -bookCollection: BookCollection\n -stephenKing: Author\n -georgeRRMartin: Author\n -it: Book\n -aGameOfThrones: Book\n -aClashOfKings: Book\n +setUp void\n +testAddAuthor() void\n +testAddBook() void\n +testGetMostDiligentAuthor1() void\n +testGetMostDiligentAuthor2() void\n +testGetBookByTitle() void\n }"}),"\n",(0,i.jsxs)(t.h2,{id:"hinweise-zur-klasse-bookcollectiontest",children:["Hinweise zur Klasse ",(0,i.jsx)(t.em,{children:"BookCollectionTest"})]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["Die Lebenszyklus-Methode ",(0,i.jsx)(t.code,{children:"void setUp()"})," soll den Attributen der Testklasse\npassende Werte zuweisen"]}),"\n",(0,i.jsxs)(t.li,{children:["Die Testmethode ",(0,i.jsx)(t.code,{children:"void testAddAuthor()"})," soll pr\xfcfen, ob beim Ausf\xfchren der\nMethode ",(0,i.jsx)(t.code,{children:"void addAuthor(author: Author)"})," mit einem Autoren, der bereits in der\nB\xfcchersammlung vorhanden ist, die Ausnahme ",(0,i.jsx)(t.code,{children:"DuplicateKeyException"})," ausgel\xf6st\nwird"]}),"\n",(0,i.jsxs)(t.li,{children:["Die Testmethode ",(0,i.jsx)(t.code,{children:"void testAddBook()"})," soll pr\xfcfen, ob nach dem Ausf\xfchren der\nMethode ",(0,i.jsx)(t.code,{children:"void addBook(author: Author, book: Book)"})," der entsprechende Eintrag\naktualisiert wurde"]}),"\n",(0,i.jsxs)(t.li,{children:["Die Testmethode ",(0,i.jsx)(t.code,{children:"void testGetMostDiligentAuthor1()"})," soll pr\xfcfen, ob beim\nAusf\xfchren der Methode ",(0,i.jsx)(t.code,{children:"Optional getMostDiligentAuthor()"})," auf eine\nbef\xfcllte B\xfcchersammlung der Autor mit den meisten B\xfcchern in der\nB\xfcchersammlung als Optional zur\xfcckgegeben wird"]}),"\n",(0,i.jsxs)(t.li,{children:["Die Testmethode ",(0,i.jsx)(t.code,{children:"void testGetMostDiligentAuthor2()"})," soll pr\xfcfen, ob beim\nAusf\xfchren der Methode ",(0,i.jsx)(t.code,{children:"Optional getMostDiligentAuthor()"})," auf eine\nleere B\xfcchersammlung ein leeres Optional zur\xfcckgegeben wird"]}),"\n",(0,i.jsxs)(t.li,{children:["Die Testmethode ",(0,i.jsx)(t.code,{children:"void testGetBookByTitle()"})," soll pr\xfcfen, ob beim Ausf\xfchren der\nMethode ",(0,i.jsx)(t.code,{children:"Optional getBookByTitle(title: String)"})," mit einem Buchtitel zu\neinem vorhandenen Buch das entsprechende Buch als Optional zur\xfcckgegeben wird\nund ob beim Ausf\xfchren der Methode\n",(0,i.jsx)(t.code,{children:"Optional getBookByTitle(title: String)"})," mit einem Buchtitel zu einem\nnicht vorhandenen Buch ein leeres Optional zur\xfcckgegeben wird"]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"hinweis",children:"Hinweis"}),"\n",(0,i.jsxs)(t.p,{children:["Verweden die Klasse ",(0,i.jsx)(t.code,{children:"BookCollection"})," aus \xdcbungsaufgabe\n",(0,i.jsx)(t.a,{href:"../optionals/optionals01",children:"Optionals01"}),"."]})]})}function u(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(a,{...e})}):a(e)}},50065:function(e,t,n){n.d(t,{Z:function(){return l},a:function(){return r}});var o=n(67294);let i={},s=o.createContext(i);function r(e){let t=o.useContext(s);return o.useMemo(function(){return"function"==typeof e?e(t):{...t,...e}},[t,e])}function l(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(i):e.components||i:r(e.components),o.createElement(s.Provider,{value:t},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/2036.aa3a5d92.js b/pr-preview/pr-236/assets/js/2036.aa3a5d92.js
deleted file mode 100644
index 67a8adf033..0000000000
--- a/pr-preview/pr-236/assets/js/2036.aa3a5d92.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["2036"],{88091:function(t,i,e){e.d(i,{diagram:function(){return tt}});var s,n=e(92719),a=e(7690),h=e(94159),o=e(5995),r=e(27818),l=function(){var t=(0,o.eW)(function(t,i,e,s){for(e=e||{},s=t.length;s--;e[t[s]]=i);return e},"o"),i=[1,10,12,14,16,18,19,21,23],e=[2,6],s=[1,3],n=[1,5],a=[1,6],h=[1,7],r=[1,5,10,12,14,16,18,19,21,23,34,35,36],l=[1,25],c=[1,26],g=[1,28],u=[1,29],x=[1,30],d=[1,31],p=[1,32],f=[1,33],y=[1,34],m=[1,35],b=[1,36],A=[1,37],S=[1,43],C=[1,42],w=[1,47],k=[1,50],_=[1,10,12,14,16,18,19,21,23,34,35,36],T=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36],R=[1,10,12,14,16,18,19,21,23,24,26,27,28,34,35,36,41,42,43,44,45,46,47,48,49,50],W=[1,64],D={trace:(0,o.eW)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,eol:4,XYCHART:5,chartConfig:6,document:7,CHART_ORIENTATION:8,statement:9,title:10,text:11,X_AXIS:12,parseXAxis:13,Y_AXIS:14,parseYAxis:15,LINE:16,plotData:17,BAR:18,acc_title:19,acc_title_value:20,acc_descr:21,acc_descr_value:22,acc_descr_multiline_value:23,SQUARE_BRACES_START:24,commaSeparatedNumbers:25,SQUARE_BRACES_END:26,NUMBER_WITH_DECIMAL:27,COMMA:28,xAxisData:29,bandData:30,ARROW_DELIMITER:31,commaSeparatedTexts:32,yAxisData:33,NEWLINE:34,SEMI:35,EOF:36,alphaNum:37,STR:38,MD_STR:39,alphaNumToken:40,AMP:41,NUM:42,ALPHA:43,PLUS:44,EQUALS:45,MULT:46,DOT:47,BRKT:48,MINUS:49,UNDERSCORE:50,$accept:0,$end:1},terminals_:{2:"error",5:"XYCHART",8:"CHART_ORIENTATION",10:"title",12:"X_AXIS",14:"Y_AXIS",16:"LINE",18:"BAR",19:"acc_title",20:"acc_title_value",21:"acc_descr",22:"acc_descr_value",23:"acc_descr_multiline_value",24:"SQUARE_BRACES_START",26:"SQUARE_BRACES_END",27:"NUMBER_WITH_DECIMAL",28:"COMMA",31:"ARROW_DELIMITER",34:"NEWLINE",35:"SEMI",36:"EOF",38:"STR",39:"MD_STR",41:"AMP",42:"NUM",43:"ALPHA",44:"PLUS",45:"EQUALS",46:"MULT",47:"DOT",48:"BRKT",49:"MINUS",50:"UNDERSCORE"},productions_:[0,[3,2],[3,3],[3,2],[3,1],[6,1],[7,0],[7,2],[9,2],[9,2],[9,2],[9,2],[9,2],[9,3],[9,2],[9,3],[9,2],[9,2],[9,1],[17,3],[25,3],[25,1],[13,1],[13,2],[13,1],[29,1],[29,3],[30,3],[32,3],[32,1],[15,1],[15,2],[15,1],[33,3],[4,1],[4,1],[4,1],[11,1],[11,1],[11,1],[37,1],[37,2],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1],[40,1]],performAction:(0,o.eW)(function(t,i,e,s,n,a,h){var o=a.length-1;switch(n){case 5:s.setOrientation(a[o]);break;case 9:s.setDiagramTitle(a[o].text.trim());break;case 12:s.setLineData({text:"",type:"text"},a[o]);break;case 13:s.setLineData(a[o-1],a[o]);break;case 14:s.setBarData({text:"",type:"text"},a[o]);break;case 15:s.setBarData(a[o-1],a[o]);break;case 16:this.$=a[o].trim(),s.setAccTitle(this.$);break;case 17:case 18:this.$=a[o].trim(),s.setAccDescription(this.$);break;case 19:case 27:this.$=a[o-1];break;case 20:this.$=[Number(a[o-2]),...a[o]];break;case 21:this.$=[Number(a[o])];break;case 22:s.setXAxisTitle(a[o]);break;case 23:s.setXAxisTitle(a[o-1]);break;case 24:s.setXAxisTitle({type:"text",text:""});break;case 25:s.setXAxisBand(a[o]);break;case 26:s.setXAxisRangeData(Number(a[o-2]),Number(a[o]));break;case 28:this.$=[a[o-2],...a[o]];break;case 29:this.$=[a[o]];break;case 30:s.setYAxisTitle(a[o]);break;case 31:s.setYAxisTitle(a[o-1]);break;case 32:s.setYAxisTitle({type:"text",text:""});break;case 33:s.setYAxisRangeData(Number(a[o-2]),Number(a[o]));break;case 37:case 38:this.$={text:a[o],type:"text"};break;case 39:this.$={text:a[o],type:"markdown"};break;case 40:this.$=a[o];break;case 41:this.$=a[o-1]+""+a[o]}},"anonymous"),table:[t(i,e,{3:1,4:2,7:4,5:s,34:n,35:a,36:h}),{1:[3]},t(i,e,{4:2,7:4,3:8,5:s,34:n,35:a,36:h}),t(i,e,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:a,36:h}),{1:[2,4],9:12,10:[1,13],12:[1,14],14:[1,15],16:[1,16],18:[1,17],19:[1,18],21:[1,19],23:[1,20]},t(r,[2,34]),t(r,[2,35]),t(r,[2,36]),{1:[2,1]},t(i,e,{4:2,7:4,3:21,5:s,34:n,35:a,36:h}),{1:[2,3]},t(r,[2,5]),t(i,[2,7],{4:22,34:n,35:a,36:h}),{11:23,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},{11:39,13:38,24:S,27:C,29:40,30:41,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},{11:45,15:44,27:w,33:46,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},{11:49,17:48,24:k,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},{11:52,17:51,24:k,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},{20:[1,53]},{22:[1,54]},t(_,[2,18]),{1:[2,2]},t(_,[2,8]),t(_,[2,9]),t(T,[2,37],{40:55,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A}),t(T,[2,38]),t(T,[2,39]),t(R,[2,40]),t(R,[2,42]),t(R,[2,43]),t(R,[2,44]),t(R,[2,45]),t(R,[2,46]),t(R,[2,47]),t(R,[2,48]),t(R,[2,49]),t(R,[2,50]),t(R,[2,51]),t(_,[2,10]),t(_,[2,22],{30:41,29:56,24:S,27:C}),t(_,[2,24]),t(_,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},t(_,[2,11]),t(_,[2,30],{33:60,27:w}),t(_,[2,32]),{31:[1,61]},t(_,[2,12]),{17:62,24:k},{25:63,27:W},t(_,[2,14]),{17:65,24:k},t(_,[2,16]),t(_,[2,17]),t(R,[2,41]),t(_,[2,23]),{27:[1,66]},{26:[1,67]},{26:[2,29],28:[1,68]},t(_,[2,31]),{27:[1,69]},t(_,[2,13]),{26:[1,70]},{26:[2,21],28:[1,71]},t(_,[2,15]),t(_,[2,26]),t(_,[2,27]),{11:59,32:72,37:24,38:l,39:c,40:27,41:g,42:u,43:x,44:d,45:p,46:f,47:y,48:m,49:b,50:A},t(_,[2,33]),t(_,[2,19]),{25:73,27:W},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:(0,o.eW)(function(t,i){if(i.recoverable)this.trace(t);else{var e=Error(t);throw e.hash=i,e}},"parseError"),parse:(0,o.eW)(function(t){var i=this,e=[0],s=[],n=[null],a=[],h=this.table,r="",l=0,c=0,g=0,u=a.slice.call(arguments,1),x=Object.create(this.lexer),d={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(d.yy[p]=this.yy[p]);x.setInput(t,d.yy),d.yy.lexer=x,d.yy.parser=this,void 0===x.yylloc&&(x.yylloc={});var f=x.yylloc;a.push(f);var y=x.options&&x.options.ranges;"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function m(){var t;return"number"!=typeof(t=s.pop()||x.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=i.symbols_[t]||t),t}(0,o.eW)(function(t){e.length=e.length-2*t,n.length=n.length-t,a.length=a.length-t},"popStack"),(0,o.eW)(m,"lex");for(var b,A,S,C,w,k,_,T,R,W={};;){if(S=e[e.length-1],this.defaultActions[S]?C=this.defaultActions[S]:(null==b&&(b=m()),C=h[S]&&h[S][b]),void 0===C||!C.length||!C[0]){var D="";for(k in R=[],h[S])this.terminals_[k]&&k>2&&R.push("'"+this.terminals_[k]+"'");D=x.showPosition?"Parse error on line "+(l+1)+":\n"+x.showPosition()+"\nExpecting "+R.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(D,{text:x.match,token:this.terminals_[b]||b,line:x.yylineno,loc:f,expected:R})}if(C[0]instanceof Array&&C.length>1)throw Error("Parse Error: multiple actions possible at state: "+S+", token: "+b);switch(C[0]){case 1:e.push(b),n.push(x.yytext),a.push(x.yylloc),e.push(C[1]),b=null,A?(b=A,A=null):(c=x.yyleng,r=x.yytext,l=x.yylineno,f=x.yylloc,g>0&&g--);break;case 2:if(_=this.productions_[C[1]][1],W.$=n[n.length-_],W._$={first_line:a[a.length-(_||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(_||1)].first_column,last_column:a[a.length-1].last_column},y&&(W._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),void 0!==(w=this.performAction.apply(W,[r,c,l,d.yy,C[1],n,a].concat(u))))return w;_&&(e=e.slice(0,-1*_*2),n=n.slice(0,-1*_),a=a.slice(0,-1*_)),e.push(this.productions_[C[1]][0]),n.push(W.$),a.push(W._$),T=h[e[e.length-2]][e[e.length-1]],e.push(T);break;case 3:return!0}}return!0},"parse")},L={EOF:1,parseError:(0,o.eW)(function(t,i){if(this.yy.parser)this.yy.parser.parseError(t,i);else throw Error(t)},"parseError"),setInput:(0,o.eW)(function(t,i){return this.yy=i||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,o.eW)(function(){var t=this._input[0];return this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t,t.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:(0,o.eW)(function(t){var i=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-i),this.offset-=i;var s=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),e.length-1&&(this.yylineno-=e.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:e?(e.length===s.length?this.yylloc.first_column:0)+s[s.length-e.length].length-e[0].length:this.yylloc.first_column-i},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-i]),this.yyleng=this.yytext.length,this},"unput"),more:(0,o.eW)(function(){return this._more=!0,this},"more"),reject:(0,o.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,o.eW)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,o.eW)(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,o.eW)(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,o.eW)(function(){var t=this.pastInput(),i=Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+i+"^"},"showPosition"),test_match:(0,o.eW)(function(t,i){var e,s,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(s=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=s.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:s?s[s.length-1].length-s[s.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,i,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack)for(var a in n)this[a]=n[a];return!1},"test_match"),next:(0,o.eW)(function(){if(this.done)return this.EOF;!this._input&&(this.done=!0),!this._more&&(this.yytext="",this.match="");for(var t,i,e,s,n=this._currentRules(),a=0;ai[0].length)){if(i=e,s=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(e,n[a])))return t;if(!this._backtrack)return!1;else{i=!1;continue}}if(!this.options.flex)break}if(i)return!1!==(t=this.test_match(i,n[s]))&&t;return""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,o.eW)(function(){var t=this.next();return t?t:this.lex()},"lex"),begin:(0,o.eW)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,o.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,o.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,o.eW)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,o.eW)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,o.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,o.eW)(function(t,i,e,s){switch(e){case 0:case 1:case 5:case 43:break;case 2:case 3:return this.popState(),34;case 4:return 34;case 6:return 10;case 7:return this.pushState("acc_title"),19;case 8:return this.popState(),"acc_title_value";case 9:return this.pushState("acc_descr"),21;case 10:return this.popState(),"acc_descr_value";case 11:this.pushState("acc_descr_multiline");break;case 12:case 25:case 27:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 5;case 15:return 8;case 16:return this.pushState("axis_data"),"X_AXIS";case 17:return this.pushState("axis_data"),"Y_AXIS";case 18:return this.pushState("axis_band_data"),24;case 19:return 31;case 20:return this.pushState("data"),16;case 21:return this.pushState("data"),18;case 22:return this.pushState("data_inner"),24;case 23:return 27;case 24:return this.popState(),26;case 26:this.pushState("string");break;case 28:return"STR";case 29:return 24;case 30:return 26;case 31:return 43;case 32:return"COLON";case 33:return 44;case 34:return 28;case 35:return 45;case 36:return 46;case 37:return 48;case 38:return 50;case 39:return 47;case 40:return 41;case 41:return 49;case 42:return 42;case 44:return 35;case 45:return 36}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:(\r?\n))/i,/^(?:(\r?\n))/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:\{)/i,/^(?:[^\}]*)/i,/^(?:xychart-beta\b)/i,/^(?:(?:vertical|horizontal))/i,/^(?:x-axis\b)/i,/^(?:y-axis\b)/i,/^(?:\[)/i,/^(?:-->)/i,/^(?:line\b)/i,/^(?:bar\b)/i,/^(?:\[)/i,/^(?:[+-]?(?:\d+(?:\.\d+)?|\.\d+))/i,/^(?:\])/i,/^(?:(?:`\) \{ this\.pushState\(md_string\); \}\n\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n\(\?:`))/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:\[)/i,/^(?:\])/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s+)/i,/^(?:;)/i,/^(?:$)/i],conditions:{data_inner:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,23,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,20,21,22,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,24,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,23,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0},acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},title:{rules:[],inclusive:!1},md_string:{rules:[],inclusive:!1},string:{rules:[27,28],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,20,21,25,26,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45],inclusive:!0}}};function P(){this.yy={}}return D.lexer=L,(0,o.eW)(P,"Parser"),P.prototype=D,D.Parser=P,new P}();l.parser=l;function c(t){return"bar"===t.type}function g(t){return"band"===t.type}function u(t){return"linear"===t.type}(0,o.eW)(c,"isBarPlot"),(0,o.eW)(g,"isBandAxisData"),(0,o.eW)(u,"isLinearAxisData");var x=class{constructor(t){this.parentGroup=t}static{(0,o.eW)(this,"TextDimensionCalculatorWithFont")}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((t,i)=>Math.max(i.length,t),0)*i,height:i};let e={width:0,height:0},s=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(let a of t){let t=(0,n.QA)(s,1,a),h=t?t.width:a.length*i,o=t?t.height:i;e.width=Math.max(e.width,h),e.height=Math.max(e.height,o)}return s.remove(),e}},d=class{constructor(t,i,e,s){this.axisConfig=t,this.title=i,this.textDimensionCalculator=e,this.axisThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left",this.showTitle=!1,this.showLabel=!1,this.showTick=!1,this.showAxisLine=!1,this.outerPadding=0,this.titleTextHeight=0,this.labelTextHeight=0,this.range=[0,10],this.boundingRect={x:0,y:0,width:0,height:0},this.axisPosition="left"}static{(0,o.eW)(this,"BaseAxis")}setRange(t){this.range=t,"left"===this.axisPosition||"right"===this.axisPosition?this.boundingRect.height=t[1]-t[0]:this.boundingRect.width=t[1]-t[0],this.recalculateScale()}getRange(){return[this.range[0]+this.outerPadding,this.range[1]-this.outerPadding]}setAxisPosition(t){this.axisPosition=t,this.setRange(this.range)}getTickDistance(){let t=this.getRange();return Math.abs(t[0]-t[1])/this.getTickValues().length}getAxisOuterPadding(){return this.outerPadding}getLabelDimension(){return this.textDimensionCalculator.getMaxDimension(this.getTickValues().map(t=>t.toString()),this.axisConfig.labelFontSize)}recalculateOuterPaddingToDrawBar(){.7*this.getTickDistance()>2*this.outerPadding&&(this.outerPadding=Math.floor(.7*this.getTickDistance()/2)),this.recalculateScale()}calculateSpaceIfDrawnHorizontally(t){let i=t.height;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let e=this.getLabelDimension(),s=.2*t.width;this.outerPadding=Math.min(e.width/2,s);let n=e.height+2*this.axisConfig.labelPadding;this.labelTextHeight=e.height,n<=i&&(i-=n,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),e=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,e<=i&&(i-=e,this.showTitle=!0)}this.boundingRect.width=t.width,this.boundingRect.height=t.height-i}calculateSpaceIfDrawnVertical(t){let i=t.width;if(this.axisConfig.showAxisLine&&i>this.axisConfig.axisLineWidth&&(i-=this.axisConfig.axisLineWidth,this.showAxisLine=!0),this.axisConfig.showLabel){let e=this.getLabelDimension(),s=.2*t.height;this.outerPadding=Math.min(e.height/2,s);let n=e.width+2*this.axisConfig.labelPadding;n<=i&&(i-=n,this.showLabel=!0)}if(this.axisConfig.showTick&&i>=this.axisConfig.tickLength&&(this.showTick=!0,i-=this.axisConfig.tickLength),this.axisConfig.showTitle&&this.title){let t=this.textDimensionCalculator.getMaxDimension([this.title],this.axisConfig.titleFontSize),e=t.height+2*this.axisConfig.titlePadding;this.titleTextHeight=t.height,e<=i&&(i-=e,this.showTitle=!0)}this.boundingRect.width=t.width-i,this.boundingRect.height=t.height}calculateSpace(t){return"left"===this.axisPosition||"right"===this.axisPosition?this.calculateSpaceIfDrawnVertical(t):this.calculateSpaceIfDrawnHorizontally(t),this.recalculateScale(),{width:this.boundingRect.width,height:this.boundingRect.height}}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}getDrawableElementsForLeftAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:`M ${i},${this.boundingRect.y} L ${i},${this.boundingRect.y+this.boundingRect.height} `,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["left-axis","label"],data:this.getTickValues().map(t=>({text:t.toString(),x:this.boundingRect.x+this.boundingRect.width-(this.showLabel?this.axisConfig.labelPadding:0)-(this.showTick?this.axisConfig.tickLength:0)-(this.showAxisLine?this.axisConfig.axisLineWidth:0),y:this.getScaleValue(t),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"middle",horizontalPos:"right"}))}),this.showTick){let i=this.boundingRect.x+this.boundingRect.width-(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["left-axis","ticks"],data:this.getTickValues().map(t=>({path:`M ${i},${this.getScaleValue(t)} L ${i-this.axisConfig.tickLength},${this.getScaleValue(t)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["left-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.axisConfig.titlePadding,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:270,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForBottomAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["bottom-axis","label"],data:this.getTickValues().map(t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+this.axisConfig.labelPadding+(this.showTick?this.axisConfig.tickLength:0)+(this.showAxisLine?this.axisConfig.axisLineWidth:0),fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let i=this.boundingRect.y+(this.showAxisLine?this.axisConfig.axisLineWidth:0);t.push({type:"path",groupTexts:["bottom-axis","ticks"],data:this.getTickValues().map(t=>({path:`M ${this.getScaleValue(t)},${i} L ${this.getScaleValue(t)},${i+this.axisConfig.tickLength}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["bottom-axis","title"],data:[{text:this.title,x:this.range[0]+(this.range[1]-this.range[0])/2,y:this.boundingRect.y+this.boundingRect.height-this.axisConfig.titlePadding-this.titleTextHeight,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElementsForTopAxis(){let t=[];if(this.showAxisLine){let i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:`M ${this.boundingRect.x},${i} L ${this.boundingRect.x+this.boundingRect.width},${i}`,strokeFill:this.axisThemeConfig.axisLineColor,strokeWidth:this.axisConfig.axisLineWidth}]})}if(this.showLabel&&t.push({type:"text",groupTexts:["top-axis","label"],data:this.getTickValues().map(t=>({text:t.toString(),x:this.getScaleValue(t),y:this.boundingRect.y+(this.showTitle?this.titleTextHeight+2*this.axisConfig.titlePadding:0)+this.axisConfig.labelPadding,fill:this.axisThemeConfig.labelColor,fontSize:this.axisConfig.labelFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}))}),this.showTick){let i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(t=>({path:`M ${this.getScaleValue(t)},${i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)} L ${this.getScaleValue(t)},${i+this.boundingRect.height-this.axisConfig.tickLength-(this.showAxisLine?this.axisConfig.axisLineWidth:0)}`,strokeFill:this.axisThemeConfig.tickColor,strokeWidth:this.axisConfig.tickWidth}))})}return this.showTitle&&t.push({type:"text",groupTexts:["top-axis","title"],data:[{text:this.title,x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.axisConfig.titlePadding,fill:this.axisThemeConfig.titleColor,fontSize:this.axisConfig.titleFontSize,rotation:0,verticalPos:"top",horizontalPos:"center"}]}),t}getDrawableElements(){if("left"===this.axisPosition)return this.getDrawableElementsForLeftAxis();if("right"===this.axisPosition)throw Error("Drawing of right axis is not implemented");return"bottom"===this.axisPosition?this.getDrawableElementsForBottomAxis():"top"===this.axisPosition?this.getDrawableElementsForTopAxis():[]}},p=class extends d{static{(0,o.eW)(this,"BandAxis")}constructor(t,i,e,s,n){super(t,s,n,i),this.categories=e,this.scale=(0,r.tiA)().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=(0,r.tiA)().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),o.cM.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){return this.scale(t)??this.getRange()[0]}},f=class extends d{static{(0,o.eW)(this,"LinearAxis")}constructor(t,i,e,s,n){super(t,s,n,i),this.domain=e,this.scale=(0,r.BYU)().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){let t=[...this.domain];"left"===this.axisPosition&&t.reverse(),this.scale=(0,r.BYU)().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}};function y(t,i,e,s){let n=new x(s);return g(t)?new p(i,e,t.categories,t.title,n):new f(i,e,[t.min,t.max],t.title,n)}(0,o.eW)(y,"getAxis");var m=class{constructor(t,i,e,s){this.textDimensionCalculator=t,this.chartConfig=i,this.chartData=e,this.chartThemeConfig=s,this.boundingRect={x:0,y:0,width:0,height:0},this.showChartTitle=!1}static{(0,o.eW)(this,"ChartTitle")}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){let i=this.textDimensionCalculator.getMaxDimension([this.chartData.title],this.chartConfig.titleFontSize),e=Math.max(i.width,t.width),s=i.height+2*this.chartConfig.titlePadding;return i.width<=e&&i.height<=s&&this.chartConfig.showTitle&&this.chartData.title&&(this.boundingRect.width=e,this.boundingRect.height=s,this.showChartTitle=!0),{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){let t=[];return this.showChartTitle&&t.push({groupTexts:["chart-title"],type:"text",data:[{fontSize:this.chartConfig.titleFontSize,text:this.chartData.title,verticalPos:"middle",horizontalPos:"center",x:this.boundingRect.x+this.boundingRect.width/2,y:this.boundingRect.y+this.boundingRect.height/2,fill:this.chartThemeConfig.titleColor,rotation:0}]}),t}};function b(t,i,e,s){return new m(new x(s),t,i,e)}(0,o.eW)(b,"getChartTitleComponent");var A=class{constructor(t,i,e,s,n){this.plotData=t,this.xAxis=i,this.yAxis=e,this.orientation=s,this.plotIndex=n}static{(0,o.eW)(this,"LinePlot")}getDrawableElement(){let t;let i=this.plotData.data.map(t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])]);return(t="horizontal"===this.orientation?(0,r.jvg)().y(t=>t[0]).x(t=>t[1])(i):(0,r.jvg)().x(t=>t[0]).y(t=>t[1])(i))?[{groupTexts:["plot",`line-plot-${this.plotIndex}`],type:"path",data:[{path:t,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},S=class{constructor(t,i,e,s,n,a){this.barData=t,this.boundingRect=i,this.xAxis=e,this.yAxis=s,this.orientation=n,this.plotIndex=a}static{(0,o.eW)(this,"BarPlot")}getDrawableElement(){let t=this.barData.data.map(t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])]),i=.95*Math.min(2*this.xAxis.getAxisOuterPadding(),this.xAxis.getTickDistance()),e=i/2;return"horizontal"===this.orientation?[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(t=>({x:this.boundingRect.x,y:t[0]-e,height:i,width:t[1]-this.boundingRect.x,fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]:[{groupTexts:["plot",`bar-plot-${this.plotIndex}`],type:"rect",data:t.map(t=>({x:t[0]-e,y:t[1],width:i,height:this.boundingRect.y+this.boundingRect.height-t[1],fill:this.barData.fill,strokeWidth:0,strokeFill:this.barData.fill}))}]}},C=class{constructor(t,i,e){this.chartConfig=t,this.chartData=i,this.chartThemeConfig=e,this.boundingRect={x:0,y:0,width:0,height:0}}static{(0,o.eW)(this,"BasePlot")}setAxes(t,i){this.xAxis=t,this.yAxis=i}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){return this.boundingRect.width=t.width,this.boundingRect.height=t.height,{width:this.boundingRect.width,height:this.boundingRect.height}}getDrawableElements(){if(!(this.xAxis&&this.yAxis))throw Error("Axes must be passed to render Plots");let t=[];for(let[i,e]of this.chartData.plots.entries())switch(e.type){case"line":{let s=new A(e,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}break;case"bar":{let s=new S(e,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}}return t}};function w(t,i,e){return new C(t,i,e)}(0,o.eW)(w,"getPlotComponent");var k=class{constructor(t,i,e,s){this.chartConfig=t,this.chartData=i,this.componentStore={title:b(t,i,e,s),plot:w(t,i,e),xAxis:y(i.xAxis,t.xAxis,{titleColor:e.xAxisTitleColor,labelColor:e.xAxisLabelColor,tickColor:e.xAxisTickColor,axisLineColor:e.xAxisLineColor},s),yAxis:y(i.yAxis,t.yAxis,{titleColor:e.yAxisTitleColor,labelColor:e.yAxisLabelColor,tickColor:e.yAxisTickColor,axisLineColor:e.yAxisLineColor},s)}}static{(0,o.eW)(this,"Orchestrator")}calculateVerticalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,n=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),a=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),h=this.componentStore.plot.calculateSpace({width:n,height:a});t-=h.width,i-=h.height,s=(h=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i})).height,i-=h.height,this.componentStore.xAxis.setAxisPosition("bottom"),h=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=h.height,this.componentStore.yAxis.setAxisPosition("left"),e=(h=this.componentStore.yAxis.calculateSpace({width:t,height:i})).width,(t-=h.width)>0&&(n+=t,t=0),i>0&&(a+=i,i=0),this.componentStore.plot.calculateSpace({width:n,height:a}),this.componentStore.plot.setBoundingBoxXY({x:e,y:s}),this.componentStore.xAxis.setRange([e,e+n]),this.componentStore.xAxis.setBoundingBoxXY({x:e,y:s+a}),this.componentStore.yAxis.setRange([s,s+a]),this.componentStore.yAxis.setBoundingBoxXY({x:0,y:s}),this.chartData.plots.some(t=>c(t))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateHorizontalSpace(){let t=this.chartConfig.width,i=this.chartConfig.height,e=0,s=0,n=0,a=Math.floor(t*this.chartConfig.plotReservedSpacePercent/100),h=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),o=this.componentStore.plot.calculateSpace({width:a,height:h});t-=o.width,i-=o.height,e=(o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i})).height,i-=o.height,this.componentStore.xAxis.setAxisPosition("left"),o=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=o.width,s=o.width,this.componentStore.yAxis.setAxisPosition("top"),o=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=o.height,n=e+o.height,t>0&&(a+=t,t=0),i>0&&(h+=i,i=0),this.componentStore.plot.calculateSpace({width:a,height:h}),this.componentStore.plot.setBoundingBoxXY({x:s,y:n}),this.componentStore.yAxis.setRange([s,s+a]),this.componentStore.yAxis.setBoundingBoxXY({x:s,y:e}),this.componentStore.xAxis.setRange([n,n+h]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:n}),this.chartData.plots.some(t=>c(t))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){"horizontal"===this.chartConfig.chartOrientation?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();let t=[];for(let i of(this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis),Object.values(this.componentStore)))t.push(...i.getDrawableElements());return t}},_=class{static{(0,o.eW)(this,"XYChartBuilder")}static build(t,i,e,s){return new k(t,i,e,s).getDrawableElement()}},T=0,R=I(),W=v(),D=M(),L=W.plotColorPalette.split(",").map(t=>t.trim()),P=!1,E=!1;function v(){let t=(0,o.xN)(),i=(0,o.iE)();return(0,a.Rb)(t.xyChart,i.themeVariables.xyChart)}function I(){let t=(0,o.iE)();return(0,a.Rb)(o.vZ.xyChart,t.xyChart)}function M(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function $(t){let i=(0,o.iE)();return(0,o.oO)(t.trim(),i)}function B(t){s=t}function z(t){"horizontal"===t?R.chartOrientation="horizontal":R.chartOrientation="vertical"}function O(t){D.xAxis.title=$(t.text)}function F(t,i){D.xAxis={type:"linear",title:D.xAxis.title,min:t,max:i},P=!0}function N(t){D.xAxis={type:"band",title:D.xAxis.title,categories:t.map(t=>$(t.text))},P=!0}function V(t){D.yAxis.title=$(t.text)}function X(t,i){D.yAxis={type:"linear",title:D.yAxis.title,min:t,max:i},E=!0}function Y(t){let i=Math.min(...t),e=Math.max(...t),s=u(D.yAxis)?D.yAxis.min:1/0,n=u(D.yAxis)?D.yAxis.max:-1/0;D.yAxis={type:"linear",title:D.yAxis.title,min:Math.min(s,i),max:Math.max(n,e)}}function U(t){let i=[];if(0===t.length)return i;if(!P){let i=u(D.xAxis)?D.xAxis.min:1/0;F(Math.min(i,1),Math.max(u(D.xAxis)?D.xAxis.max:-1/0,t.length))}if(!E&&Y(t),g(D.xAxis)&&(i=D.xAxis.categories.map((i,e)=>[i,t[e]])),u(D.xAxis)){let e=D.xAxis.min,s=D.xAxis.max,n=(s-e)/(t.length-1),a=[];for(let t=e;t<=s;t+=n)a.push(`${t}`);i=a.map((i,e)=>[i,t[e]])}return i}function H(t){return L[0===t?0:t%L.length]}function j(t,i){let e=U(i);D.plots.push({type:"line",strokeFill:H(T),strokeWidth:2,data:e}),T++}function G(t,i){let e=U(i);D.plots.push({type:"bar",fill:H(T),data:e}),T++}function Q(){if(0===D.plots.length)throw Error("No Plot to render, please provide a plot with some data");return D.title=(0,o.Kr)(),_.build(R,D,W,s)}function K(){return W}function Z(){return R}(0,o.eW)(v,"getChartDefaultThemeConfig"),(0,o.eW)(I,"getChartDefaultConfig"),(0,o.eW)(M,"getChartDefaultData"),(0,o.eW)($,"textSanitizer"),(0,o.eW)(B,"setTmpSVGG"),(0,o.eW)(z,"setOrientation"),(0,o.eW)(O,"setXAxisTitle"),(0,o.eW)(F,"setXAxisRangeData"),(0,o.eW)(N,"setXAxisBand"),(0,o.eW)(V,"setYAxisTitle"),(0,o.eW)(X,"setYAxisRangeData"),(0,o.eW)(Y,"setYAxisRangeFromPlotData"),(0,o.eW)(U,"transformDataWithoutCategory"),(0,o.eW)(H,"getPlotColorFromPalette"),(0,o.eW)(j,"setLineData"),(0,o.eW)(G,"setBarData"),(0,o.eW)(Q,"getDrawableElem"),(0,o.eW)(K,"getChartThemeConfig"),(0,o.eW)(Z,"getChartConfig");var q={getDrawableElem:Q,clear:(0,o.eW)(function(){(0,o.ZH)(),T=0,R=I(),D=M(),L=(W=v()).plotColorPalette.split(",").map(t=>t.trim()),P=!1,E=!1},"clear"),setAccTitle:o.GN,getAccTitle:o.eu,setDiagramTitle:o.g2,getDiagramTitle:o.Kr,getAccDescription:o.Mx,setAccDescription:o.U$,setOrientation:z,setXAxisTitle:O,setXAxisRangeData:F,setXAxisBand:N,setYAxisTitle:V,setYAxisRangeData:X,setLineData:j,setBarData:G,setTmpSVGG:B,getChartThemeConfig:K,getChartConfig:Z},J=(0,o.eW)((t,i,e,s)=>{let n=s.db,a=n.getChartThemeConfig(),r=n.getChartConfig();function l(t){return"top"===t?"text-before-edge":"middle"}function c(t){return"left"===t?"start":"right"===t?"end":"middle"}function g(t){return`translate(${t.x}, ${t.y}) rotate(${t.rotation||0})`}(0,o.eW)(l,"getDominantBaseLine"),(0,o.eW)(c,"getTextAnchor"),(0,o.eW)(g,"getTextTransformation"),o.cM.debug("Rendering xychart chart\n"+t);let u=(0,h.P)(i),x=u.append("g").attr("class","main"),d=x.append("rect").attr("width",r.width).attr("height",r.height).attr("class","background");(0,o.v2)(u,r.height,r.width,!0),u.attr("viewBox",`0 0 ${r.width} ${r.height}`),d.attr("fill",a.backgroundColor),n.setTmpSVGG(u.append("g").attr("class","mermaid-tmp-group"));let p=n.getDrawableElem(),f={};function y(t){let i=x,e="";for(let[s]of t.entries()){let n=x;s>0&&f[e]&&(n=f[e]),e+=t[s],!(i=f[e])&&(i=f[e]=n.append("g").attr("class",t[s]))}return i}for(let t of((0,o.eW)(y,"getGroup"),p)){if(0===t.data.length)continue;let i=y(t.groupTexts);switch(t.type){case"rect":i.selectAll("rect").data(t.data).enter().append("rect").attr("x",t=>t.x).attr("y",t=>t.y).attr("width",t=>t.width).attr("height",t=>t.height).attr("fill",t=>t.fill).attr("stroke",t=>t.strokeFill).attr("stroke-width",t=>t.strokeWidth);break;case"text":i.selectAll("text").data(t.data).enter().append("text").attr("x",0).attr("y",0).attr("fill",t=>t.fill).attr("font-size",t=>t.fontSize).attr("dominant-baseline",t=>l(t.verticalPos)).attr("text-anchor",t=>c(t.horizontalPos)).attr("transform",t=>g(t)).text(t=>t.text);break;case"path":i.selectAll("path").data(t.data).enter().append("path").attr("d",t=>t.path).attr("fill",t=>t.fill?t.fill:"none").attr("stroke",t=>t.strokeFill).attr("stroke-width",t=>t.strokeWidth)}}},"draw"),tt={parser:l,db:q,renderer:{draw:J}}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/2094d486.7b15d307.js b/pr-preview/pr-236/assets/js/2094d486.7b15d307.js
deleted file mode 100644
index 73ac133a84..0000000000
--- a/pr-preview/pr-236/assets/js/2094d486.7b15d307.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["3633"],{98582:function(e,n,t){t.d(n,{Z:function(){return l}});var i=t(85893),r=t(67294);function l(e){let{children:n,initSlides:t,width:l=null,height:s=null}=e;return(0,r.useEffect)(()=>{t()}),(0,i.jsx)("div",{className:"reveal reveal-viewport",style:{width:l??"100vw",height:s??"100vh"},children:(0,i.jsx)("div",{className:"slides",children:n})})}},57270:function(e,n,t){t.d(n,{O:function(){return i}});let i=()=>{let e=t(42199),n=t(87251),i=t(60977),r=t(12489);new(t(29197))({plugins:[e,n,i,r]}).initialize({hash:!0})}},41271:function(e,n,t){t.r(n),t.d(n,{default:()=>x});var i,r,l=t("85893"),s=t("83012"),a=t("67294");function c(){return(c=Object.assign?Object.assign.bind():function(e){for(var n=1;n{let{title:n,titleId:t,...l}=e;return a.createElement("svg",c({xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",width:"28.101ex",height:"6.509ex","aria-labelledby":t,style:{verticalAlign:"-2.671ex",marginLeft:"-.089ex"},viewBox:"-38.5 -1652.5 12098.8 2802.6"},l),void 0===n?a.createElement("title",{id:t},"{\\displaystyle p:=l+{\\frac {w-A[l]}{A[r]-A[l]}}\\cdot (r-l)}"):n?a.createElement("title",{id:t},n):null,i||(i=a.createElement("defs",{"aria-hidden":"true"},a.createElement("path",{id:"a",strokeWidth:1,d:"M23 287q1 3 2 8t5 22 10 31 15 33 20 30 26 22 33 9q75 0 96-64l10 9q62 55 118 55 65 0 102-47t37-114q0-108-76-199T249-10q-22 0-39 6-11 5-23 15t-19 17l-7 8q-1-1-22-87t-21-87q0-6 8-7t37-3h25q6-7 6-9t-3-18q-3-12-6-15t-13-4h-11q-9 0-34 1t-62 1q-70 0-89-2h-8q-7 7-7 11 2 27 13 35h20q34 1 39 12 3 6 61 239t61 247q1 5 1 14 0 41-25 41-22 0-37-28t-23-61-12-36q-2-2-16-2H29q-6 6-6 9m155-185q22-76 74-76 30 0 58 23t46 58q18 34 36 108t19 110v6q0 74-61 74-11 0-22-3t-22-9-20-13-17-15-15-15-11-14-8-10l-3-4q0-1-3-14t-11-44-14-52q-26-106-26-110"}),a.createElement("path",{id:"b",strokeWidth:1,d:"M78 370q0 24 17 42t43 18q24 0 42-16t19-43q0-25-17-43t-43-18-43 17-18 43m0-310q0 24 17 42t43 18q24 0 42-16t19-43q0-25-17-43T139 0 96 17 78 60"}),a.createElement("path",{id:"c",strokeWidth:1,d:"M56 347q0 13 14 20h637q15-8 15-20 0-11-14-19l-318-1H72q-16 5-16 20m0-194q0 15 16 20h636q14-10 14-20 0-13-15-20H70q-14 7-14 20"}),a.createElement("path",{id:"d",strokeWidth:1,d:"M117 59q0-33 25-33 37 0 63 105 6 20 10 21 2 1 10 1h16q3 0 5-2t2-7q-1-6-3-16t-11-38-20-47-31-37-46-17q-36 0-67 22T38 85q0 12 1 17l65 258q63 255 63 263 0 3-1 5t-4 4-5 2-8 1-8 1-9 1-10 0h-13q-3 0-8 1t-6 3-1 6q0 2 2 14 5 19 11 21t72 6q15 1 34 2t30 3 11 1q12 0 12-8 0-11-73-300T118 83v-8q0-6-1-10z"}),a.createElement("path",{id:"e",strokeWidth:1,d:"M56 237v13l14 20h299v150l1 150q10 13 19 13 13 0 20-15V270h298q15-8 15-20t-15-20H409V-68q-8-14-18-14h-4q-12 0-18 14v298H70q-14 7-14 20Z"}),a.createElement("path",{id:"f",strokeWidth:1,d:"M580 385q0 21 19 39t42 19q18 0 33-18t16-57q0-29-19-115-15-56-27-92t-35-81-55-68-72-23q-44 0-78 16t-49 43q-1-1-3-4-41-55-100-55-26 0-50 6t-47 19-37 39-14 63q0 54 34 146t35 117v14q0 3-4 7t-11 4h-4q-23 0-42-19t-30-41-17-42-8-22-16-2H27q-6 6-6 9 0 6 8 28t23 51 44 52 65 23q43 0 66-25t23-58q0-18-33-108t-33-139q0-46 21-65t53-20q43 0 76 61l5 9v32q0 6 1 8t1 7 1 9 3 13 3 17 6 24 8 32 11 43q29 114 33 123 13 27 43 27 19 0 26-10t8-19q0-13-29-128t-32-132q-2-11-2-35v-7q0-15 3-29t19-29 45-16q71 0 113 122 9 23 20 65t12 60q0 33-13 52t-26 32-13 28"}),a.createElement("path",{id:"g",strokeWidth:1,d:"M84 237v13l14 20h581q15-8 15-20t-15-20H98q-14 7-14 20Z"}),a.createElement("path",{id:"h",strokeWidth:1,d:"M208 74q0-24 46-28 18 0 18-11 0-1-2-13-3-14-6-18t-13-4h-12q-10 0-34 1t-64 1Q70 2 50 0h-8q-7 7-7 11 2 27 13 35h14q70 3 102 50 6 6 181 305t178 303q7 12 24 12h25q6-9 6-10l28-323q28-323 30-326 5-11 65-11 25 0 25-10 0-2-3-14-3-15-5-18t-14-4h-14q-11 0-39 1t-73 1q-94 0-123-2h-12q-6 6-6 9t2 18q4 13 6 16l4 3h20q54 3 64 17l-12 150H283l-34-58q-41-69-41-81m308 186q0 11-12 156t-14 146l-27-43q-16-27-63-107l-90-152 103-1q103 0 103 1"}),a.createElement("path",{id:"i",strokeWidth:1,d:"M118-250V750h137v-40h-97v-920h97v-40z"}),a.createElement("path",{id:"j",strokeWidth:1,d:"M22 710v40h137V-250H22v40h97v920z"}),a.createElement("path",{id:"k",strokeWidth:1,d:"M21 287q1 3 2 8t5 22 10 31 15 33 20 30 26 22 33 9q29 0 51-12t31-22 11-20q2-6 3-6t8 7q48 52 111 52h3q48 0 72-41 8-19 8-37 0-30-13-48t-26-23-25-4q-20 0-32 11t-12 29q0 48 56 64-22 13-36 13-56 0-103-74-10-16-15-33t-34-133Q156 25 151 16q-13-27-43-27-13 0-21 6T76 7t-2 10q0 13 40 172t40 177q0 39-26 39-21 0-36-28t-24-61-11-36q-2-2-16-2H27q-6 6-6 9"}),a.createElement("path",{id:"l",strokeWidth:1,d:"M78 250q0 24 17 42t43 18q24 0 42-16t19-43q0-25-17-43t-43-18-43 17-18 43"}),a.createElement("path",{id:"m",strokeWidth:1,d:"M94 250q0 69 10 131t23 107 37 88 38 67 42 52 33 34 25 21h17q14 0 14-9 0-3-17-21t-41-53-49-86-42-138-17-193 17-192 41-139 49-86 42-53 17-21q0-9-15-9h-16l-28 24q-94 85-137 212T94 250"}),a.createElement("path",{id:"n",strokeWidth:1,d:"m60 749 4 1h22l28-24q94-85 137-212t43-264q0-68-10-131T261 12t-37-88-38-67-41-51-32-33-23-19l-4-4H63q-3 0-5 3t-3 9q1 1 11 13Q221-64 221 250T66 725q-10 12-11 13 0 8 5 11"}))),r||(r=a.createElement("g",{fill:"currentColor",stroke:"currentColor",strokeWidth:0,"aria-hidden":"true",transform:"scale(1 -1)"},a.createElement("use",{xlinkHref:"#a"}),a.createElement("g",{transform:"translate(781)"},a.createElement("use",{xlinkHref:"#b"}),a.createElement("use",{xlinkHref:"#c",x:278})),a.createElement("use",{xlinkHref:"#d",x:2116}),a.createElement("use",{xlinkHref:"#e",x:2636}),a.createElement("path",{stroke:"none",d:"M3757 220h4707v60H3757z"}),a.createElement("g",{transform:"translate(4338 770)"},a.createElement("use",{xlinkHref:"#f"}),a.createElement("use",{xlinkHref:"#g",x:938}),a.createElement("use",{xlinkHref:"#h",x:1939}),a.createElement("use",{xlinkHref:"#i",x:2689}),a.createElement("use",{xlinkHref:"#d",x:2968}),a.createElement("use",{xlinkHref:"#j",x:3266})),a.createElement("g",{transform:"translate(3817 -771)"},a.createElement("use",{xlinkHref:"#h"}),a.createElement("use",{xlinkHref:"#i",x:750}),a.createElement("use",{xlinkHref:"#k",x:1029}),a.createElement("use",{xlinkHref:"#j",x:1480}),a.createElement("use",{xlinkHref:"#g",x:1981}),a.createElement("use",{xlinkHref:"#h",x:2981}),a.createElement("use",{xlinkHref:"#i",x:3732}),a.createElement("use",{xlinkHref:"#d",x:4010}),a.createElement("use",{xlinkHref:"#j",x:4309})),a.createElement("use",{xlinkHref:"#l",x:8807}),a.createElement("use",{xlinkHref:"#m",x:9308}),a.createElement("use",{xlinkHref:"#k",x:9697}),a.createElement("use",{xlinkHref:"#g",x:10371}),a.createElement("use",{xlinkHref:"#d",x:11372}),a.createElement("use",{xlinkHref:"#n",x:11670}))))};var d=t("98582"),m=t("57270");function x(){return(0,l.jsxs)(d.Z,{initSlides:m.O,children:[(0,l.jsxs)("section",{children:[(0,l.jsx)("section",{children:(0,l.jsx)("h2",{children:"Suchalgorithmen"})}),(0,l.jsxs)("section",{children:[(0,l.jsx)("h2",{children:"Agenda"}),(0,l.jsxs)("ul",{children:[(0,l.jsx)("li",{className:"fragment",children:"Intro"}),(0,l.jsx)("li",{className:"fragment",children:"Lineare Suche"}),(0,l.jsx)("li",{className:"fragment",children:"Bin\xe4rsuche"}),(0,l.jsx)("li",{className:"fragment",children:"Interpolationssuche"}),(0,l.jsx)("li",{className:"fragment",children:"Two Chrystal Balls Problem"})]})]})]}),(0,l.jsxs)("section",{children:[(0,l.jsx)("section",{children:(0,l.jsx)("h2",{children:"Intro"})}),(0,l.jsxs)("section",{children:[(0,l.jsx)("h2",{children:"Was ist Suchen?"}),(0,l.jsx)("p",{className:"fragment",children:"Auffinden eines bestimmten Elements innerhalb einer Datensammlung"})]}),(0,l.jsxs)("section",{children:[(0,l.jsx)("h2",{children:"Begriffe"}),(0,l.jsxs)("ul",{children:[(0,l.jsx)("li",{tabIndex:0,"data-tooltip":"Element das innerhalbe einer Datensammlung gesucht wird, z.B. Wert, Eintrag etc.",children:"Zielelement"}),(0,l.jsx)("li",{tabIndex:0,"data-tooltip":"Datensammlung welche durchsucht wird.",children:"Suchraum"})]})]}),(0,l.jsxs)("section",{children:[(0,l.jsx)("h2",{children:"Anwendungen von Suchalgorithmen"}),(0,l.jsxs)("ul",{children:[(0,l.jsx)("li",{tabIndex:0,"data-tooltip":"Google, Bing, etc.",children:"Suchmaschinen"}),(0,l.jsx)("li",{tabIndex:0,"data-tooltip":"PostgreSQL, MongoDb, etc.",children:"Datenbanksysteme"}),(0,l.jsx)("li",{tabIndex:0,"data-tooltip":"Amazon, Zalando, etc.",children:"E-Commerce"}),(0,l.jsx)("li",{tabIndex:0,"data-tooltip":"Bild- und Spracherkennung",children:"Musteranalyse"})]})]})]}),(0,l.jsxs)("section",{children:[(0,l.jsx)("section",{children:(0,l.jsx)("h2",{children:"Lineare Suche"})}),(0,l.jsxs)("section",{children:[(0,l.jsx)("h2",{children:"Funktionsweise"}),(0,l.jsx)("p",{children:"Die lineare Suche beginnt an einem Ende des Suchraumes und durchl\xe4uft jedes Element, bis das Zielelement gefunden wird."})]}),(0,l.jsxs)("section",{children:[(0,l.jsx)("h2",{children:"Theoretisches Konzept"}),(0,l.jsxs)("ul",{children:[(0,l.jsx)("li",{className:"fragment",children:"Jedes Element kann mit dem Suchkriterium \xfcbereinstimmen und wird \xfcberpr\xfcft."}),(0,l.jsx)("li",{"data-tooltip":"oder das Element selbst \u2192 kommt drauf an",tabIndex:0,className:"fragment",children:"Wenn das Zielelement gefunden wurde, wird der Index des Zielelements zur\xfcckgegeben."}),(0,l.jsx)("li",{"data-tooltip":"oder null oder eine Exception \u2192 kommt drauf an",tabIndex:0,className:"fragment",children:"Wenn das Zielelement nicht gefunden wurde, wird -1 zur\xfcckgegeben."})]})]}),(0,l.jsx)("section",{children:(0,l.jsx)("h2",{children:(0,l.jsx)(s.Z,{to:"https://github.com/jappuccini/java-exercises/tree/demos/steffen/demo/java2/dsa/search/LinearSearch.java",children:"Demo - Linear Search"})})}),(0,l.jsxs)("section",{children:[(0,l.jsx)("h2",{children:"Performance"}),(0,l.jsxs)("ul",{children:[(0,l.jsx)("li",{className:"fragment",children:"Zeitkomplexit\xe4t: O(N)"}),(0,l.jsx)("li",{className:"fragment",children:"Speicherkomplexit\xe4t: O(1)"})]})]}),(0,l.jsxs)("section",{children:[(0,l.jsx)("h2",{children:"Zusammenfassung"}),(0,l.jsxs)("ul",{children:[(0,l.jsx)("li",{className:"fragment",children:"Kann unabh\xe4nging von Sortierung benutzt werden"}),(0,l.jsx)("li",{className:"fragment",children:"Kein weiterer Speicherbedarf"}),(0,l.jsx)("li",{className:"fragment",children:"Geeignet f\xfcr kleine Datenmengen"})]})]})]}),(0,l.jsxs)("section",{children:[(0,l.jsx)("section",{children:(0,l.jsx)("h2",{children:"Bin\xe4re Suche"})}),(0,l.jsxs)("section",{children:[(0,l.jsx)("h2",{children:"Funktionsweise"}),(0,l.jsx)("p",{className:"fragment",children:"Die bin\xe4re Suche setzt einen sortierten Suchraum voraus, was die Suche erheblich vereinfacht."}),(0,l.jsx)("p",{className:"fragment","data-tooltip":"Suchraum: { 1, 2, 3, 4, 5, 6 } Zielelement: 6, Element: 4",tabIndex:0,children:"Wird ein Element innerhalb des Suchraumes mit dem Zielelement verglichen, kann abgeleited werden, ob das Zielelement vor oder nach dem Element sein muss."})]}),(0,l.jsxs)("section",{children:[(0,l.jsx)("h2",{children:"Theoretisches Konzept"}),(0,l.jsxs)("ol",{children:[(0,l.jsx)("li",{className:"fragment",children:"Mitte des aktuellen Suchraumes finden"}),(0,l.jsx)("li",{className:"fragment",children:"Wenn Element in der Mitte dem Suchkriterium entspricht \u2192 index zur\xfcckgeben."}),(0,l.jsx)("li",{className:"fragment",children:"Wenn Element in der Mitte gr\xf6\xdfer als Suchkriterium \u2192 in erster H\xe4lfte weitersuchen"}),(0,l.jsx)("li",{className:"fragment",children:"Wenn Element in der Mitte kleiner als Suchkriterium \u2192 in zweiter H\xe4lfte weitersuchen"}),(0,l.jsxs)("li",{className:"fragment",children:["Wenn kein Element im Suchraum gefunden wurde \u2192 -1 zur\xfcckgeben"," "]})]})]}),(0,l.jsxs)("section",{children:[(0,l.jsx)("h2",{children:"Begriffe - Bin\xe4re Suche"}),(0,l.jsxs)("ul",{children:[(0,l.jsx)("li",{className:"fragment",children:"high = index oberes Ende des Suchraumes"}),(0,l.jsx)("li",{className:"fragment",children:"low = index unteres Ende des Suchraumes"}),(0,l.jsx)("li",{className:"fragment",children:"middle = index Mitte des Suchraumes"}),(0,l.jsx)("li",{tabIndex:0,className:"fragment","data-tooltip":"Suchraum: { 1, 2, 3, 4, 5} high: 4 low: 0 middle: 2",children:"Beispiel"})]})]}),(0,l.jsx)("section",{children:(0,l.jsx)("h2",{children:(0,l.jsx)(s.Z,{to:"https://github.com/jappuccini/java-exercises/tree/demos/steffen/demo/java2/dsa/search/BinarySearch.java",children:"Demo - Binary Search"})})})]}),(0,l.jsxs)("section",{children:[(0,l.jsx)("section",{children:(0,l.jsx)("h2",{children:"Interpolations Suche"})}),(0,l.jsxs)("section",{children:[(0,l.jsx)("h2",{children:"Funktionsweise"}),(0,l.jsx)("p",{className:"fragment",children:"Die Interpolationsuche setzt einen sortierten Suchraum voraus, was die Suche erheblich vereinfacht."}),(0,l.jsx)("p",{className:"fragment","data-tooltip":"Beispiel Telefonbuch",tabIndex:0,children:"Sind Daten nicht gleich verteilt, kann mit der linearen Interpolation der Suchraum besser eingeschr\xe4nkt werden."})]}),(0,l.jsxs)("section",{children:[(0,l.jsx)("h2",{children:"Theoretisches Konzept"}),(0,l.jsxs)("ol",{children:[(0,l.jsx)("li",{className:"fragment",children:"Bessere Mitte des Suchraumes finden (lineare interpolation)"}),(0,l.jsx)("li",{className:"fragment",children:"Rest wie Bin\xe4re Suche"})]})]}),(0,l.jsxs)("section",{children:[(0,l.jsx)("h2",{children:"Lineare Interpolation"}),(0,l.jsxs)("ul",{children:[(0,l.jsx)("li",{className:"fragment",children:"Beispiel Interpolation"}),(0,l.jsx)("li",{"data-tooltip":"w = target; A[l] = value at low index; A[r] = value at high index; r = high; l = low; A = searchRoom",tabIndex:0,className:"fragment",children:(0,l.jsx)(h,{})}),(0,l.jsx)("li",{className:"fragment",children:(0,l.jsx)(s.Z,{href:"https://www.youtube.com/watch?v=KYiIGZYrb9M&list=PLLTAHuUj-zHi-ozmbFAl461N1eOUyjrlS",children:"Herleitung (Video)"})})]})]}),(0,l.jsx)("section",{children:(0,l.jsx)("h2",{children:(0,l.jsx)(s.Z,{to:"https://github.com/jappuccini/java-exercises/tree/demos/steffen/demo/java2/dsa/search/BinarySearch.java",children:"Demo - Interpolation Search"})})})]}),(0,l.jsxs)("section",{children:[(0,l.jsx)("section",{children:(0,l.jsx)("h2",{children:"Vergleich Suchalgorithmen"})}),(0,l.jsxs)("section",{children:[(0,l.jsx)("h2",{children:"Lineare Suche vs Bin\xe4re Suche"}),(0,l.jsxs)("table",{children:[(0,l.jsx)("thead",{children:(0,l.jsxs)("tr",{children:[(0,l.jsx)("th",{children:"Linear"}),(0,l.jsx)("th",{children:"Binary"}),(0,l.jsx)("th",{children:"Interpolation"})]})}),(0,l.jsxs)("tbody",{children:[(0,l.jsxs)("tr",{className:"fragment",children:[(0,l.jsx)("td",{children:"Sortierung irrelevant"}),(0,l.jsx)("td",{children:"Sortierung notwendig"}),(0,l.jsx)("td",{children:"Sortierung notwendig"})]}),(0,l.jsxs)("tr",{className:"fragment",children:[(0,l.jsx)("td",{children:"Zeit: O(N)"}),(0,l.jsx)("td",{children:"Zeit: O(log N)"}),(0,l.jsx)("td",{children:"Zeit: O(N)"})]})]})]}),(0,l.jsx)("p",{className:"fragment foot-note",children:" abh\xe4ngig von Anwendungsfall"})]})]}),(0,l.jsxs)("section",{children:[(0,l.jsx)("h2",{children:"Rest of the day"}),(0,l.jsxs)("ul",{children:[(0,l.jsx)("li",{className:"fragment",children:"Problem und Datensatz"}),(0,l.jsx)("li",{className:"fragment",children:"Search mit eigenem Problem (Optional)"})]})]})]})}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/20f03341.c4a8a1b8.js b/pr-preview/pr-236/assets/js/20f03341.c4a8a1b8.js
deleted file mode 100644
index d46e686265..0000000000
--- a/pr-preview/pr-236/assets/js/20f03341.c4a8a1b8.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["6967"],{33993:function(e,n,a){a.r(n),a.d(n,{metadata:()=>s,contentTitle:()=>l,default:()=>m,assets:()=>c,toc:()=>o,frontMatter:()=>t});var s=JSON.parse('{"id":"exam-exercises/exam-exercises-java2/queries/planets","title":"Planeten","description":"","source":"@site/docs/exam-exercises/exam-exercises-java2/queries/planets.md","sourceDirName":"exam-exercises/exam-exercises-java2/queries","slug":"/exam-exercises/exam-exercises-java2/queries/planets","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/queries/planets","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java2/queries/planets.md","tags":[{"inline":true,"label":"records","permalink":"/java-docs/pr-preview/pr-236/tags/records"},{"inline":true,"label":"maps","permalink":"/java-docs/pr-preview/pr-236/tags/maps"},{"inline":true,"label":"optionals","permalink":"/java-docs/pr-preview/pr-236/tags/optionals"},{"inline":true,"label":"java-stream-api","permalink":"/java-docs/pr-preview/pr-236/tags/java-stream-api"}],"version":"current","frontMatter":{"title":"Planeten","description":"","tags":["records","maps","optionals","java-stream-api"]},"sidebar":"examExercisesSidebar","previous":{"title":"Smartphone-Shop","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/queries/phone-store"},"next":{"title":"Panzer","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java2/queries/tanks"}}'),r=a("85893"),i=a("50065");let t={title:"Planeten",description:"",tags:["records","maps","optionals","java-stream-api"]},l=void 0,c={},o=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Allgemeine Hinweise",id:"allgemeine-hinweise",level:2}];function d(e){let n={h2:"h2",li:"li",mermaid:"mermaid",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Setze das abgebildete Klassendiagramm vollst\xe4ndig um"}),"\n",(0,r.jsxs)(n.li,{children:["Erstelle eine ausf\xfchrbare Klasse, welche mit Hilfe der Java Stream API\nfolgende Informationen auf der Konsole ausgibt:","\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"alle Planeten mit mehr als 5 Monden"}),"\n",(0,r.jsx)(n.li,{children:"den durchschnittlichen Durchmesser aller Gasplaneten"}),"\n",(0,r.jsx)(n.li,{children:"alle Planeten absteigend sortiert nach der Masse"}),"\n",(0,r.jsx)(n.li,{children:"die Antwort auf die Frage, ob alle Planeten mindestens einen Mond besitzen"}),"\n",(0,r.jsx)(n.li,{children:"alle Planeten gruppiert nach ihrem Typ"}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(n.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,r.jsx)(n.mermaid,{value:"classDiagram\n Planet o-- Type\n\n class Planet {\n <>\n name: String\n diameterInKm: double\n massInE24Kg: double\n moons: int\n type: Type\n }\n\n class Type {\n <>\n GAS_PLANET\n TERRESTRIAL_PLANET\n DWARF_PLANET\n }"}),"\n",(0,r.jsx)(n.h2,{id:"allgemeine-hinweise",children:"Allgemeine Hinweise"}),"\n",(0,r.jsxs)(n.ul,{children:["\n",(0,r.jsx)(n.li,{children:"Aus Gr\xfcnden der \xdcbersicht werden im Klassendiagramm keine Getter und\nObject-Methoden dargestellt"}),"\n",(0,r.jsx)(n.li,{children:"So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die\nObject-Methoden wie gewohnt implementiert werden"}),"\n"]})]})}function m(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,r.jsx)(n,{...e,children:(0,r.jsx)(d,{...e})}):d(e)}},50065:function(e,n,a){a.d(n,{Z:function(){return l},a:function(){return t}});var s=a(67294);let r={},i=s.createContext(r);function t(e){let n=s.useContext(i);return s.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),s.createElement(i.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/21bd5631.cbbd5153.js b/pr-preview/pr-236/assets/js/21bd5631.cbbd5153.js
deleted file mode 100644
index dc72603f9c..0000000000
--- a/pr-preview/pr-236/assets/js/21bd5631.cbbd5153.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["5472"],{82763:function(e,i,n){n.r(i),n.d(i,{metadata:()=>s,contentTitle:()=>l,default:()=>u,assets:()=>d,toc:()=>o,frontMatter:()=>t});var s=JSON.parse('{"id":"exam-exercises/exam-exercises-java1/class-diagrams/cookie-jar","title":"Pl\xe4tzchendose","description":"","source":"@site/docs/exam-exercises/exam-exercises-java1/class-diagrams/cookie-jar.md","sourceDirName":"exam-exercises/exam-exercises-java1/class-diagrams","slug":"/exam-exercises/exam-exercises-java1/class-diagrams/cookie-jar","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java1/class-diagrams/cookie-jar","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exam-exercises/exam-exercises-java1/class-diagrams/cookie-jar.md","tags":[{"inline":true,"label":"oo","permalink":"/java-docs/pr-preview/pr-236/tags/oo"},{"inline":true,"label":"enumerations","permalink":"/java-docs/pr-preview/pr-236/tags/enumerations"},{"inline":true,"label":"inheritance","permalink":"/java-docs/pr-preview/pr-236/tags/inheritance"},{"inline":true,"label":"polymorphism","permalink":"/java-docs/pr-preview/pr-236/tags/polymorphism"},{"inline":true,"label":"io-streams","permalink":"/java-docs/pr-preview/pr-236/tags/io-streams"}],"version":"current","frontMatter":{"title":"Pl\xe4tzchendose","description":"","tags":["oo","enumerations","inheritance","polymorphism","io-streams"]},"sidebar":"examExercisesSidebar","previous":{"title":"Weihnachtsbaum","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java1/class-diagrams/christmas-tree"},"next":{"title":"Kreatur","permalink":"/java-docs/pr-preview/pr-236/exam-exercises/exam-exercises-java1/class-diagrams/creature"}}'),r=n("85893"),a=n("50065");let t={title:"Pl\xe4tzchendose",description:"",tags:["oo","enumerations","inheritance","polymorphism","io-streams"]},l=void 0,d={},o=[{value:"Klassendiagramm",id:"klassendiagramm",level:2},{value:"Allgemeine Hinweise",id:"allgemeine-hinweise",level:2},{value:"Hinweis zur Klasse Cookie",id:"hinweis-zur-klasse-cookie",level:2},{value:"Hinweis zur Klasse StuffedCookie",id:"hinweis-zur-klasse-stuffedcookie",level:2},{value:"Hinweis zur Klasse Recipe",id:"hinweis-zur-klasse-recipe",level:2},{value:"Hinweise zur Klasse CookieJar",id:"hinweise-zur-klasse-cookiejar",level:2},{value:"Hinweis zur Klasse IngredientsReader",id:"hinweis-zur-klasse-ingredientsreader",level:2},{value:"Beispielhafter Aufbau der Zutatendatei",id:"beispielhafter-aufbau-der-zutatendatei",level:2}];function c(e){let i={code:"code",em:"em",h2:"h2",li:"li",mermaid:"mermaid",p:"p",pre:"pre",ul:"ul",...(0,a.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.p,{children:"Setze das abgebildete Klassendiagramm vollst\xe4ndig um. Erstelle zum Testen eine\nausf\xfchrbare Klasse."}),"\n",(0,r.jsx)(i.h2,{id:"klassendiagramm",children:"Klassendiagramm"}),"\n",(0,r.jsx)(i.mermaid,{value:"classDiagram\n CookieJar o-- Cookie\n Cookie <|-- StuffedCookie : extends\n Cookie o-- Recipe\n StuffedCookie o-- Recipe\n Recipe o-- Ingredient\n\n class CookieJar {\n -cookies: List~Cookie~ #123;final#125;\n +CookieJar()\n +addCookie(cookie: Cookie) void\n +getStuffedCookie() StuffedCookie\n +getCookieByName(name: String) Cookie\n }\n\n class Cookie {\n -name: String #123;final#125;\n -dough: Recipe #123;final#125;\n +Cookie(name: String, dough: Recipe)\n +getIngredients() List~Ingredient~\n }\n\n class StuffedCookie {\n -jam: Recipe #123;final#125;\n +StuffedCookie(name: String, dough: Recipe, jam: Recipe)\n +getIngredients() List~Ingredient~\n }\n\n class Recipe {\n -name: String #123;final#125;\n -ingredients: List~Ingredient~ #123;final#125;\n +Recipe(name: String)\n +addIngredient(ingredient: Ingredient) void\n }\n\n class Ingredient {\n -name: String #123;final#125;\n +Ingredient(name: String)\n }\n\n class IngredientsReader {\n +readIngredients(file: File) List~Ingredient~\n }"}),"\n",(0,r.jsx)(i.h2,{id:"allgemeine-hinweise",children:"Allgemeine Hinweise"}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsx)(i.li,{children:"Aus Gr\xfcnden der \xdcbersicht werden im Klassendiagramm keine Getter und\nObject-Methoden dargestellt"}),"\n",(0,r.jsx)(i.li,{children:"So nicht anders angegeben, sollen Konstruktoren, Setter, Getter sowie die\nObject-Methoden wie gewohnt implementiert werden"}),"\n",(0,r.jsx)(i.li,{}),"\n"]}),"\n",(0,r.jsxs)(i.h2,{id:"hinweis-zur-klasse-cookie",children:["Hinweis zur Klasse ",(0,r.jsx)(i.em,{children:"Cookie"})]}),"\n",(0,r.jsxs)(i.p,{children:["Die Methode ",(0,r.jsx)(i.code,{children:"List getIngredients()"})," soll alle Zutaten des Teigs\nzur\xfcckgeben."]}),"\n",(0,r.jsxs)(i.h2,{id:"hinweis-zur-klasse-stuffedcookie",children:["Hinweis zur Klasse ",(0,r.jsx)(i.em,{children:"StuffedCookie"})]}),"\n",(0,r.jsxs)(i.p,{children:["Die Methode ",(0,r.jsx)(i.code,{children:"List getIngredients()"})," soll alle Zutaten des Teigs\nsowie der F\xfcllung zur\xfcckgeben."]}),"\n",(0,r.jsxs)(i.h2,{id:"hinweis-zur-klasse-recipe",children:["Hinweis zur Klasse ",(0,r.jsx)(i.em,{children:"Recipe"})]}),"\n",(0,r.jsxs)(i.p,{children:["Die Methode ",(0,r.jsx)(i.code,{children:"void addIngredient(ingredient: Ingredient)"})," soll dem Rezept die\neingehende Zutat hinzuf\xfcgen."]}),"\n",(0,r.jsxs)(i.h2,{id:"hinweise-zur-klasse-cookiejar",children:["Hinweise zur Klasse ",(0,r.jsx)(i.em,{children:"CookieJar"})]}),"\n",(0,r.jsxs)(i.ul,{children:["\n",(0,r.jsxs)(i.li,{children:["Die Methode ",(0,r.jsx)(i.code,{children:"void addCookie(cookie: Cookie)"})," soll der Pl\xe4tzchendose das\neingehende Pl\xe4tzchen hinzuf\xfcgen"]}),"\n",(0,r.jsxs)(i.li,{children:["Die Methode ",(0,r.jsx)(i.code,{children:"StuffedCookie getStuffedCookie()"})," soll ein beliebiges gef\xfclltes\nPl\xe4tzchen der Pl\xe4tzchendose zur\xfcckgeben"]}),"\n",(0,r.jsxs)(i.li,{children:["Die Methode ",(0,r.jsx)(i.code,{children:"Cookie getCookieByName(name: String)"})," soll ein Pl\xe4tzchen der\nPl\xe4tzchendose zum eingehenden Namen zur\xfcckgeben"]}),"\n"]}),"\n",(0,r.jsxs)(i.h2,{id:"hinweis-zur-klasse-ingredientsreader",children:["Hinweis zur Klasse ",(0,r.jsx)(i.em,{children:"IngredientsReader"})]}),"\n",(0,r.jsxs)(i.p,{children:["Die Methode ",(0,r.jsx)(i.code,{children:"List readIngredients()"})," soll alle Zutaten der\neingehenden Datei auslesen und zur\xfcckgeben."]}),"\n",(0,r.jsx)(i.h2,{id:"beispielhafter-aufbau-der-zutatendatei",children:"Beispielhafter Aufbau der Zutatendatei"}),"\n",(0,r.jsx)(i.pre,{children:(0,r.jsx)(i.code,{children:"200g Butter\n300g Mehl\n1 Prise Salz\n100g gemahlene Mandeln\n150g Zucker\n1 Pck. Vanillezucker\n2 Eier\n"})})]})}function u(e={}){let{wrapper:i}={...(0,a.a)(),...e.components};return i?(0,r.jsx)(i,{...e,children:(0,r.jsx)(c,{...e})}):c(e)}},50065:function(e,i,n){n.d(i,{Z:function(){return l},a:function(){return t}});var s=n(67294);let r={},a=s.createContext(r);function t(e){let i=s.useContext(a);return s.useMemo(function(){return"function"==typeof e?e(i):{...i,...e}},[i,e])}function l(e){let i;return i=e.disableParentContext?"function"==typeof e.components?e.components(r):e.components||r:t(e.components),s.createElement(a.Provider,{value:i},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/2260.34bc895d.js b/pr-preview/pr-236/assets/js/2260.34bc895d.js
deleted file mode 100644
index 20546e5ffb..0000000000
--- a/pr-preview/pr-236/assets/js/2260.34bc895d.js
+++ /dev/null
@@ -1,159 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["2260"],{91040:function(e,t,s){s.d(t,{Ee:function(){return er},P0:function(){return o},b0:function(){return el},pl:function(){return eu}});var i=s(10626),n=s(88984),u=s(7690),r=s(5995),a=s(27818),l=function(){var e=(0,r.eW)(function(e,t,s,i){for(s=s||{},i=e.length;i--;s[e[i]]=t);return s},"o"),t=[1,18],s=[1,19],i=[1,20],n=[1,41],u=[1,42],a=[1,26],l=[1,24],o=[1,25],c=[1,32],h=[1,33],p=[1,34],A=[1,45],d=[1,35],y=[1,36],g=[1,37],f=[1,38],E=[1,27],C=[1,28],m=[1,29],b=[1,30],k=[1,31],T=[1,44],F=[1,46],D=[1,43],B=[1,47],_=[1,9],S=[1,8,9],$=[1,58],N=[1,59],L=[1,60],x=[1,61],O=[1,62],I=[1,63],v=[1,64],W=[1,8,9,41],w=[1,76],R=[1,8,9,12,13,22,39,41,44,66,67,68,69,70,71,72,77,79],P=[1,8,9,12,13,17,20,22,39,41,44,48,58,66,67,68,69,70,71,72,77,79,84,99,101,102],M=[13,58,84,99,101,102],G=[13,58,71,72,84,99,101,102],U=[13,58,66,67,68,69,70,84,99,101,102],Y=[1,98],V=[1,115],z=[1,107],K=[1,113],j=[1,108],Q=[1,109],X=[1,110],q=[1,111],H=[1,112],J=[1,114],Z=[22,58,59,80,84,85,86,87,88,89],ee=[1,8,9,39,41,44],et=[1,8,9,22],es=[1,143],ei=[1,8,9,59],en=[1,8,9,22,58,59,80,84,85,86,87,88,89],eu={trace:(0,r.eW)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,statements:5,graphConfig:6,CLASS_DIAGRAM:7,NEWLINE:8,EOF:9,statement:10,classLabel:11,SQS:12,STR:13,SQE:14,namespaceName:15,alphaNumToken:16,DOT:17,className:18,classLiteralName:19,GENERICTYPE:20,relationStatement:21,LABEL:22,namespaceStatement:23,classStatement:24,memberStatement:25,annotationStatement:26,clickStatement:27,styleStatement:28,cssClassStatement:29,noteStatement:30,classDefStatement:31,direction:32,acc_title:33,acc_title_value:34,acc_descr:35,acc_descr_value:36,acc_descr_multiline_value:37,namespaceIdentifier:38,STRUCT_START:39,classStatements:40,STRUCT_STOP:41,NAMESPACE:42,classIdentifier:43,STYLE_SEPARATOR:44,members:45,CLASS:46,ANNOTATION_START:47,ANNOTATION_END:48,MEMBER:49,SEPARATOR:50,relation:51,NOTE_FOR:52,noteText:53,NOTE:54,CLASSDEF:55,classList:56,stylesOpt:57,ALPHA:58,COMMA:59,direction_tb:60,direction_bt:61,direction_rl:62,direction_lr:63,relationType:64,lineType:65,AGGREGATION:66,EXTENSION:67,COMPOSITION:68,DEPENDENCY:69,LOLLIPOP:70,LINE:71,DOTTED_LINE:72,CALLBACK:73,LINK:74,LINK_TARGET:75,CLICK:76,CALLBACK_NAME:77,CALLBACK_ARGS:78,HREF:79,STYLE:80,CSSCLASS:81,style:82,styleComponent:83,NUM:84,COLON:85,UNIT:86,SPACE:87,BRKT:88,PCT:89,commentToken:90,textToken:91,graphCodeTokens:92,textNoTagsToken:93,TAGSTART:94,TAGEND:95,"==":96,"--":97,DEFAULT:98,MINUS:99,keywords:100,UNICODE_TEXT:101,BQUOTE_STR:102,$accept:0,$end:1},terminals_:{2:"error",7:"CLASS_DIAGRAM",8:"NEWLINE",9:"EOF",12:"SQS",13:"STR",14:"SQE",17:"DOT",20:"GENERICTYPE",22:"LABEL",33:"acc_title",34:"acc_title_value",35:"acc_descr",36:"acc_descr_value",37:"acc_descr_multiline_value",39:"STRUCT_START",41:"STRUCT_STOP",42:"NAMESPACE",44:"STYLE_SEPARATOR",46:"CLASS",47:"ANNOTATION_START",48:"ANNOTATION_END",49:"MEMBER",50:"SEPARATOR",52:"NOTE_FOR",54:"NOTE",55:"CLASSDEF",58:"ALPHA",59:"COMMA",60:"direction_tb",61:"direction_bt",62:"direction_rl",63:"direction_lr",66:"AGGREGATION",67:"EXTENSION",68:"COMPOSITION",69:"DEPENDENCY",70:"LOLLIPOP",71:"LINE",72:"DOTTED_LINE",73:"CALLBACK",74:"LINK",75:"LINK_TARGET",76:"CLICK",77:"CALLBACK_NAME",78:"CALLBACK_ARGS",79:"HREF",80:"STYLE",81:"CSSCLASS",84:"NUM",85:"COLON",86:"UNIT",87:"SPACE",88:"BRKT",89:"PCT",92:"graphCodeTokens",94:"TAGSTART",95:"TAGEND",96:"==",97:"--",98:"DEFAULT",99:"MINUS",100:"keywords",101:"UNICODE_TEXT",102:"BQUOTE_STR"},productions_:[0,[3,1],[3,1],[4,1],[6,4],[5,1],[5,2],[5,3],[11,3],[15,1],[15,3],[15,2],[18,1],[18,3],[18,1],[18,2],[18,2],[18,2],[10,1],[10,2],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,1],[10,2],[10,2],[10,1],[23,4],[23,5],[38,2],[40,1],[40,2],[40,3],[24,1],[24,3],[24,4],[24,6],[43,2],[43,3],[26,4],[45,1],[45,2],[25,1],[25,2],[25,1],[25,1],[21,3],[21,4],[21,4],[21,5],[30,3],[30,2],[31,3],[56,1],[56,3],[32,1],[32,1],[32,1],[32,1],[51,3],[51,2],[51,2],[51,1],[64,1],[64,1],[64,1],[64,1],[64,1],[65,1],[65,1],[27,3],[27,4],[27,3],[27,4],[27,4],[27,5],[27,3],[27,4],[27,4],[27,5],[27,4],[27,5],[27,5],[27,6],[28,3],[29,3],[57,1],[57,3],[82,1],[82,2],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[83,1],[90,1],[90,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[91,1],[93,1],[93,1],[93,1],[93,1],[16,1],[16,1],[16,1],[16,1],[19,1],[53,1]],performAction:(0,r.eW)(function(e,t,s,i,n,u,r){var a=u.length-1;switch(n){case 8:this.$=u[a-1];break;case 9:case 12:case 14:this.$=u[a];break;case 10:case 13:this.$=u[a-2]+"."+u[a];break;case 11:case 15:this.$=u[a-1]+u[a];break;case 16:case 17:this.$=u[a-1]+"~"+u[a]+"~";break;case 18:i.addRelation(u[a]);break;case 19:u[a-1].title=i.cleanupLabel(u[a]),i.addRelation(u[a-1]);break;case 30:this.$=u[a].trim(),i.setAccTitle(this.$);break;case 31:case 32:this.$=u[a].trim(),i.setAccDescription(this.$);break;case 33:i.addClassesToNamespace(u[a-3],u[a-1]);break;case 34:i.addClassesToNamespace(u[a-4],u[a-1]);break;case 35:this.$=u[a],i.addNamespace(u[a]);break;case 36:case 46:case 59:case 92:this.$=[u[a]];break;case 37:this.$=[u[a-1]];break;case 38:u[a].unshift(u[a-2]),this.$=u[a];break;case 40:i.setCssClass(u[a-2],u[a]);break;case 41:i.addMembers(u[a-3],u[a-1]);break;case 42:i.setCssClass(u[a-5],u[a-3]),i.addMembers(u[a-5],u[a-1]);break;case 43:this.$=u[a],i.addClass(u[a]);break;case 44:this.$=u[a-1],i.addClass(u[a-1]),i.setClassLabel(u[a-1],u[a]);break;case 45:i.addAnnotation(u[a],u[a-2]);break;case 47:u[a].push(u[a-1]),this.$=u[a];break;case 48:case 50:case 51:break;case 49:i.addMember(u[a-1],i.cleanupLabel(u[a]));break;case 52:this.$={id1:u[a-2],id2:u[a],relation:u[a-1],relationTitle1:"none",relationTitle2:"none"};break;case 53:this.$={id1:u[a-3],id2:u[a],relation:u[a-1],relationTitle1:u[a-2],relationTitle2:"none"};break;case 54:this.$={id1:u[a-3],id2:u[a],relation:u[a-2],relationTitle1:"none",relationTitle2:u[a-1]};break;case 55:this.$={id1:u[a-4],id2:u[a],relation:u[a-2],relationTitle1:u[a-3],relationTitle2:u[a-1]};break;case 56:i.addNote(u[a],u[a-1]);break;case 57:i.addNote(u[a]);break;case 58:this.$=u[a-2],i.defineClass(u[a-1],u[a]);break;case 60:this.$=u[a-2].concat([u[a]]);break;case 61:i.setDirection("TB");break;case 62:i.setDirection("BT");break;case 63:i.setDirection("RL");break;case 64:i.setDirection("LR");break;case 65:this.$={type1:u[a-2],type2:u[a],lineType:u[a-1]};break;case 66:this.$={type1:"none",type2:u[a],lineType:u[a-1]};break;case 67:this.$={type1:u[a-1],type2:"none",lineType:u[a]};break;case 68:this.$={type1:"none",type2:"none",lineType:u[a]};break;case 69:this.$=i.relationType.AGGREGATION;break;case 70:this.$=i.relationType.EXTENSION;break;case 71:this.$=i.relationType.COMPOSITION;break;case 72:this.$=i.relationType.DEPENDENCY;break;case 73:this.$=i.relationType.LOLLIPOP;break;case 74:this.$=i.lineType.LINE;break;case 75:this.$=i.lineType.DOTTED_LINE;break;case 76:case 82:this.$=u[a-2],i.setClickEvent(u[a-1],u[a]);break;case 77:case 83:this.$=u[a-3],i.setClickEvent(u[a-2],u[a-1]),i.setTooltip(u[a-2],u[a]);break;case 78:this.$=u[a-2],i.setLink(u[a-1],u[a]);break;case 79:this.$=u[a-3],i.setLink(u[a-2],u[a-1],u[a]);break;case 80:this.$=u[a-3],i.setLink(u[a-2],u[a-1]),i.setTooltip(u[a-2],u[a]);break;case 81:this.$=u[a-4],i.setLink(u[a-3],u[a-2],u[a]),i.setTooltip(u[a-3],u[a-1]);break;case 84:this.$=u[a-3],i.setClickEvent(u[a-2],u[a-1],u[a]);break;case 85:this.$=u[a-4],i.setClickEvent(u[a-3],u[a-2],u[a-1]),i.setTooltip(u[a-3],u[a]);break;case 86:this.$=u[a-3],i.setLink(u[a-2],u[a]);break;case 87:this.$=u[a-4],i.setLink(u[a-3],u[a-1],u[a]);break;case 88:this.$=u[a-4],i.setLink(u[a-3],u[a-1]),i.setTooltip(u[a-3],u[a]);break;case 89:this.$=u[a-5],i.setLink(u[a-4],u[a-2],u[a]),i.setTooltip(u[a-4],u[a-1]);break;case 90:this.$=u[a-2],i.setCssStyle(u[a-1],u[a]);break;case 91:i.setCssClass(u[a-1],u[a]);break;case 93:u[a-2].push(u[a]),this.$=u[a-2];break;case 95:this.$=u[a-1]+u[a]}},"anonymous"),table:[{3:1,4:2,5:3,6:4,7:[1,6],10:5,16:39,18:21,19:40,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:t,35:s,37:i,38:22,42:n,43:23,46:u,47:a,49:l,50:o,52:c,54:h,55:p,58:A,60:d,61:y,62:g,63:f,73:E,74:C,76:m,80:b,81:k,84:T,99:F,101:D,102:B},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,3]},e(_,[2,5],{8:[1,48]}),{8:[1,49]},e(S,[2,18],{22:[1,50]}),e(S,[2,20]),e(S,[2,21]),e(S,[2,22]),e(S,[2,23]),e(S,[2,24]),e(S,[2,25]),e(S,[2,26]),e(S,[2,27]),e(S,[2,28]),e(S,[2,29]),{34:[1,51]},{36:[1,52]},e(S,[2,32]),e(S,[2,48],{51:53,64:56,65:57,13:[1,54],22:[1,55],66:$,67:N,68:L,69:x,70:O,71:I,72:v}),{39:[1,65]},e(W,[2,39],{39:[1,67],44:[1,66]}),e(S,[2,50]),e(S,[2,51]),{16:68,58:A,84:T,99:F,101:D},{16:39,18:69,19:40,58:A,84:T,99:F,101:D,102:B},{16:39,18:70,19:40,58:A,84:T,99:F,101:D,102:B},{16:39,18:71,19:40,58:A,84:T,99:F,101:D,102:B},{58:[1,72]},{13:[1,73]},{16:39,18:74,19:40,58:A,84:T,99:F,101:D,102:B},{13:w,53:75},{56:77,58:[1,78]},e(S,[2,61]),e(S,[2,62]),e(S,[2,63]),e(S,[2,64]),e(R,[2,12],{16:39,19:40,18:80,17:[1,79],20:[1,81],58:A,84:T,99:F,101:D,102:B}),e(R,[2,14],{20:[1,82]}),{15:83,16:84,58:A,84:T,99:F,101:D},{16:39,18:85,19:40,58:A,84:T,99:F,101:D,102:B},e(P,[2,118]),e(P,[2,119]),e(P,[2,120]),e(P,[2,121]),e([1,8,9,12,13,20,22,39,41,44,66,67,68,69,70,71,72,77,79],[2,122]),e(_,[2,6],{10:5,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,18:21,38:22,43:23,16:39,19:40,5:86,33:t,35:s,37:i,42:n,46:u,47:a,49:l,50:o,52:c,54:h,55:p,58:A,60:d,61:y,62:g,63:f,73:E,74:C,76:m,80:b,81:k,84:T,99:F,101:D,102:B}),{5:87,10:5,16:39,18:21,19:40,21:7,23:8,24:9,25:10,26:11,27:12,28:13,29:14,30:15,31:16,32:17,33:t,35:s,37:i,38:22,42:n,43:23,46:u,47:a,49:l,50:o,52:c,54:h,55:p,58:A,60:d,61:y,62:g,63:f,73:E,74:C,76:m,80:b,81:k,84:T,99:F,101:D,102:B},e(S,[2,19]),e(S,[2,30]),e(S,[2,31]),{13:[1,89],16:39,18:88,19:40,58:A,84:T,99:F,101:D,102:B},{51:90,64:56,65:57,66:$,67:N,68:L,69:x,70:O,71:I,72:v},e(S,[2,49]),{65:91,71:I,72:v},e(M,[2,68],{64:92,66:$,67:N,68:L,69:x,70:O}),e(G,[2,69]),e(G,[2,70]),e(G,[2,71]),e(G,[2,72]),e(G,[2,73]),e(U,[2,74]),e(U,[2,75]),{8:[1,94],24:95,40:93,43:23,46:u},{16:96,58:A,84:T,99:F,101:D},{45:97,49:Y},{48:[1,99]},{13:[1,100]},{13:[1,101]},{77:[1,102],79:[1,103]},{22:V,57:104,58:z,80:K,82:105,83:106,84:j,85:Q,86:X,87:q,88:H,89:J},{58:[1,116]},{13:w,53:117},e(S,[2,57]),e(S,[2,123]),{22:V,57:118,58:z,59:[1,119],80:K,82:105,83:106,84:j,85:Q,86:X,87:q,88:H,89:J},e(Z,[2,59]),{16:39,18:120,19:40,58:A,84:T,99:F,101:D,102:B},e(R,[2,15]),e(R,[2,16]),e(R,[2,17]),{39:[2,35]},{15:122,16:84,17:[1,121],39:[2,9],58:A,84:T,99:F,101:D},e(ee,[2,43],{11:123,12:[1,124]}),e(_,[2,7]),{9:[1,125]},e(et,[2,52]),{16:39,18:126,19:40,58:A,84:T,99:F,101:D,102:B},{13:[1,128],16:39,18:127,19:40,58:A,84:T,99:F,101:D,102:B},e(M,[2,67],{64:129,66:$,67:N,68:L,69:x,70:O}),e(M,[2,66]),{41:[1,130]},{24:95,40:131,43:23,46:u},{8:[1,132],41:[2,36]},e(W,[2,40],{39:[1,133]}),{41:[1,134]},{41:[2,46],45:135,49:Y},{16:39,18:136,19:40,58:A,84:T,99:F,101:D,102:B},e(S,[2,76],{13:[1,137]}),e(S,[2,78],{13:[1,139],75:[1,138]}),e(S,[2,82],{13:[1,140],78:[1,141]}),{13:[1,142]},e(S,[2,90],{59:es}),e(ei,[2,92],{83:144,22:V,58:z,80:K,84:j,85:Q,86:X,87:q,88:H,89:J}),e(en,[2,94]),e(en,[2,96]),e(en,[2,97]),e(en,[2,98]),e(en,[2,99]),e(en,[2,100]),e(en,[2,101]),e(en,[2,102]),e(en,[2,103]),e(en,[2,104]),e(S,[2,91]),e(S,[2,56]),e(S,[2,58],{59:es}),{58:[1,145]},e(R,[2,13]),{15:146,16:84,58:A,84:T,99:F,101:D},{39:[2,11]},e(ee,[2,44]),{13:[1,147]},{1:[2,4]},e(et,[2,54]),e(et,[2,53]),{16:39,18:148,19:40,58:A,84:T,99:F,101:D,102:B},e(M,[2,65]),e(S,[2,33]),{41:[1,149]},{24:95,40:150,41:[2,37],43:23,46:u},{45:151,49:Y},e(W,[2,41]),{41:[2,47]},e(S,[2,45]),e(S,[2,77]),e(S,[2,79]),e(S,[2,80],{75:[1,152]}),e(S,[2,83]),e(S,[2,84],{13:[1,153]}),e(S,[2,86],{13:[1,155],75:[1,154]}),{22:V,58:z,80:K,82:156,83:106,84:j,85:Q,86:X,87:q,88:H,89:J},e(en,[2,95]),e(Z,[2,60]),{39:[2,10]},{14:[1,157]},e(et,[2,55]),e(S,[2,34]),{41:[2,38]},{41:[1,158]},e(S,[2,81]),e(S,[2,85]),e(S,[2,87]),e(S,[2,88],{75:[1,159]}),e(ei,[2,93],{83:144,22:V,58:z,80:K,84:j,85:Q,86:X,87:q,88:H,89:J}),e(ee,[2,8]),e(W,[2,42]),e(S,[2,89])],defaultActions:{2:[2,1],3:[2,2],4:[2,3],83:[2,35],122:[2,11],125:[2,4],135:[2,47],146:[2,10],150:[2,38]},parseError:(0,r.eW)(function(e,t){if(t.recoverable)this.trace(e);else{var s=Error(e);throw s.hash=t,s}},"parseError"),parse:(0,r.eW)(function(e){var t=this,s=[0],i=[],n=[null],u=[],a=this.table,l="",o=0,c=0,h=0,p=u.slice.call(arguments,1),A=Object.create(this.lexer),d={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(d.yy[y]=this.yy[y]);A.setInput(e,d.yy),d.yy.lexer=A,d.yy.parser=this,void 0===A.yylloc&&(A.yylloc={});var g=A.yylloc;u.push(g);var f=A.options&&A.options.ranges;"function"==typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function E(){var e;return"number"!=typeof(e=i.pop()||A.lex()||1)&&(e instanceof Array&&(e=(i=e).pop()),e=t.symbols_[e]||e),e}(0,r.eW)(function(e){s.length=s.length-2*e,n.length=n.length-e,u.length=u.length-e},"popStack"),(0,r.eW)(E,"lex");for(var C,m,b,k,T,F,D,B,_,S={};;){if(b=s[s.length-1],this.defaultActions[b]?k=this.defaultActions[b]:(null==C&&(C=E()),k=a[b]&&a[b][C]),void 0===k||!k.length||!k[0]){var $="";for(F in _=[],a[b])this.terminals_[F]&&F>2&&_.push("'"+this.terminals_[F]+"'");$=A.showPosition?"Parse error on line "+(o+1)+":\n"+A.showPosition()+"\nExpecting "+_.join(", ")+", got '"+(this.terminals_[C]||C)+"'":"Parse error on line "+(o+1)+": Unexpected "+(1==C?"end of input":"'"+(this.terminals_[C]||C)+"'"),this.parseError($,{text:A.match,token:this.terminals_[C]||C,line:A.yylineno,loc:g,expected:_})}if(k[0]instanceof Array&&k.length>1)throw Error("Parse Error: multiple actions possible at state: "+b+", token: "+C);switch(k[0]){case 1:s.push(C),n.push(A.yytext),u.push(A.yylloc),s.push(k[1]),C=null,m?(C=m,m=null):(c=A.yyleng,l=A.yytext,o=A.yylineno,g=A.yylloc,h>0&&h--);break;case 2:if(D=this.productions_[k[1]][1],S.$=n[n.length-D],S._$={first_line:u[u.length-(D||1)].first_line,last_line:u[u.length-1].last_line,first_column:u[u.length-(D||1)].first_column,last_column:u[u.length-1].last_column},f&&(S._$.range=[u[u.length-(D||1)].range[0],u[u.length-1].range[1]]),void 0!==(T=this.performAction.apply(S,[l,c,o,d.yy,k[1],n,u].concat(p))))return T;D&&(s=s.slice(0,-1*D*2),n=n.slice(0,-1*D),u=u.slice(0,-1*D)),s.push(this.productions_[k[1]][0]),n.push(S.$),u.push(S._$),B=a[s[s.length-2]][s[s.length-1]],s.push(B);break;case 3:return!0}}return!0},"parse")},er={EOF:1,parseError:(0,r.eW)(function(e,t){if(this.yy.parser)this.yy.parser.parseError(e,t);else throw Error(e)},"parseError"),setInput:(0,r.eW)(function(e,t){return this.yy=t||this.yy||{},this._input=e,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:(0,r.eW)(function(){var e=this._input[0];return this.yytext+=e,this.yyleng++,this.offset++,this.match+=e,this.matched+=e,e.match(/(?:\r\n?|\n).*/g)?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),e},"input"),unput:(0,r.eW)(function(e){var t=e.length,s=e.split(/(?:\r\n?|\n)/g);this._input=e+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-t),this.offset-=t;var i=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),s.length-1&&(this.yylineno-=s.length-1);var n=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:s?(s.length===i.length?this.yylloc.first_column:0)+i[i.length-s.length].length-s[0].length:this.yylloc.first_column-t},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-t]),this.yyleng=this.yytext.length,this},"unput"),more:(0,r.eW)(function(){return this._more=!0,this},"more"),reject:(0,r.eW)(function(){return this.options.backtrack_lexer?(this._backtrack=!0,this):this.parseError("Lexical error on line "+(this.yylineno+1)+". You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"reject"),less:(0,r.eW)(function(e){this.unput(this.match.slice(e))},"less"),pastInput:(0,r.eW)(function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:(0,r.eW)(function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:(0,r.eW)(function(){var e=this.pastInput(),t=Array(e.length+1).join("-");return e+this.upcomingInput()+"\n"+t+"^"},"showPosition"),test_match:(0,r.eW)(function(e,t){var s,i,n;if(this.options.backtrack_lexer&&(n={yylineno:this.yylineno,yylloc:{first_line:this.yylloc.first_line,last_line:this.last_line,first_column:this.yylloc.first_column,last_column:this.yylloc.last_column},yytext:this.yytext,match:this.match,matches:this.matches,matched:this.matched,yyleng:this.yyleng,offset:this.offset,_more:this._more,_input:this._input,yy:this.yy,conditionStack:this.conditionStack.slice(0),done:this.done},this.options.ranges&&(n.yylloc.range=this.yylloc.range.slice(0))),(i=e[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=i.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:i?i[i.length-1].length-i[i.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+e[0].length},this.yytext+=e[0],this.match+=e[0],this.matches=e,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._backtrack=!1,this._input=this._input.slice(e[0].length),this.matched+=e[0],s=this.performAction.call(this,this.yy,this,t,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),s)return s;if(this._backtrack)for(var u in n)this[u]=n[u];return!1},"test_match"),next:(0,r.eW)(function(){if(this.done)return this.EOF;!this._input&&(this.done=!0),!this._more&&(this.yytext="",this.match="");for(var e,t,s,i,n=this._currentRules(),u=0;ut[0].length)){if(t=s,i=u,this.options.backtrack_lexer){if(!1!==(e=this.test_match(s,n[u])))return e;if(!this._backtrack)return!1;else{t=!1;continue}}if(!this.options.flex)break}if(t)return!1!==(e=this.test_match(t,n[i]))&&e;return""===this._input?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},"next"),lex:(0,r.eW)(function(){var e=this.next();return e?e:this.lex()},"lex"),begin:(0,r.eW)(function(e){this.conditionStack.push(e)},"begin"),popState:(0,r.eW)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,r.eW)(function(){return this.conditionStack.length&&this.conditionStack[this.conditionStack.length-1]?this.conditions[this.conditionStack[this.conditionStack.length-1]].rules:this.conditions.INITIAL.rules},"_currentRules"),topState:(0,r.eW)(function(e){return(e=this.conditionStack.length-1-Math.abs(e||0))>=0?this.conditionStack[e]:"INITIAL"},"topState"),pushState:(0,r.eW)(function(e){this.begin(e)},"pushState"),stateStackSize:(0,r.eW)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,r.eW)(function(e,t,s,i){switch(s){case 0:return 60;case 1:return 61;case 2:return 62;case 3:return 63;case 4:case 5:case 14:case 31:case 36:case 40:case 47:break;case 6:return this.begin("acc_title"),33;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),35;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 19:case 22:case 24:case 58:case 61:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 35:return 8;case 15:case 16:return 7;case 17:case 37:case 45:return"EDGE_STATE";case 18:this.begin("callback_name");break;case 20:this.popState(),this.begin("callback_args");break;case 21:return 77;case 23:return 78;case 25:return"STR";case 26:this.begin("string");break;case 27:return 80;case 28:return 55;case 29:return this.begin("namespace"),42;case 30:case 39:return this.popState(),8;case 32:return this.begin("namespace-body"),39;case 33:case 43:return this.popState(),41;case 34:case 44:return"EOF_IN_STRUCT";case 38:return this.begin("class"),46;case 41:return this.popState(),this.popState(),41;case 42:return this.begin("class-body"),39;case 46:return"OPEN_IN_STRUCT";case 48:return"MEMBER";case 49:return 81;case 50:return 73;case 51:return 74;case 52:return 76;case 53:return 52;case 54:return 54;case 55:return 47;case 56:return 48;case 57:return 79;case 59:return"GENERICTYPE";case 60:this.begin("generic");break;case 62:return"BQUOTE_STR";case 63:this.begin("bqstring");break;case 64:case 65:case 66:case 67:return 75;case 68:case 69:return 67;case 70:case 71:return 69;case 72:return 68;case 73:return 66;case 74:return 70;case 75:return 71;case 76:return 72;case 77:return 22;case 78:return 44;case 79:return 99;case 80:return 17;case 81:return"PLUS";case 82:return 85;case 83:return 59;case 84:case 85:return 88;case 86:return 89;case 87:case 88:return"EQUALS";case 89:return 58;case 90:return 12;case 91:return 14;case 92:return"PUNCTUATION";case 93:return 84;case 94:return 101;case 95:case 96:return 87;case 97:return 9}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:classDiagram-v2\b)/,/^(?:classDiagram\b)/,/^(?:\[\*\])/,/^(?:call[\s]+)/,/^(?:\([\s]*\))/,/^(?:\()/,/^(?:[^(]*)/,/^(?:\))/,/^(?:[^)]*)/,/^(?:["])/,/^(?:[^"]*)/,/^(?:["])/,/^(?:style\b)/,/^(?:classDef\b)/,/^(?:namespace\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:\[\*\])/,/^(?:class\b)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:[}])/,/^(?:[{])/,/^(?:[}])/,/^(?:$)/,/^(?:\[\*\])/,/^(?:[{])/,/^(?:[\n])/,/^(?:[^{}\n]*)/,/^(?:cssClass\b)/,/^(?:callback\b)/,/^(?:link\b)/,/^(?:click\b)/,/^(?:note for\b)/,/^(?:note\b)/,/^(?:<<)/,/^(?:>>)/,/^(?:href\b)/,/^(?:[~])/,/^(?:[^~]*)/,/^(?:~)/,/^(?:[`])/,/^(?:[^`]+)/,/^(?:[`])/,/^(?:_self\b)/,/^(?:_blank\b)/,/^(?:_parent\b)/,/^(?:_top\b)/,/^(?:\s*<\|)/,/^(?:\s*\|>)/,/^(?:\s*>)/,/^(?:\s*<)/,/^(?:\s*\*)/,/^(?:\s*o\b)/,/^(?:\s*\(\))/,/^(?:--)/,/^(?:\.\.)/,/^(?::{1}[^:\n;]+)/,/^(?::{3})/,/^(?:-)/,/^(?:\.)/,/^(?:\+)/,/^(?::)/,/^(?:,)/,/^(?:#)/,/^(?:#)/,/^(?:%)/,/^(?:=)/,/^(?:=)/,/^(?:\w+)/,/^(?:\[)/,/^(?:\])/,/^(?:[!"#$%&'*+,-.`?\\/])/,/^(?:[0-9]+)/,/^(?:[\u00AA\u00B5\u00BA\u00C0-\u00D6\u00D8-\u00F6]|[\u00F8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377]|[\u037A-\u037D\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5]|[\u03F7-\u0481\u048A-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05D0-\u05EA]|[\u05F0-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE]|[\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA]|[\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u08A0]|[\u08A2-\u08AC\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0977]|[\u0979-\u097F\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2]|[\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u0A05-\u0A0A]|[\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39]|[\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8]|[\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0B05-\u0B0C]|[\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C]|[\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99]|[\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0]|[\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C33\u0C35-\u0C39\u0C3D]|[\u0C58\u0C59\u0C60\u0C61\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3]|[\u0CB5-\u0CB9\u0CBD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D05-\u0D0C\u0D0E-\u0D10]|[\u0D12-\u0D3A\u0D3D\u0D4E\u0D60\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1]|[\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81]|[\u0E82\u0E84\u0E87\u0E88\u0E8A\u0E8D\u0E94-\u0E97\u0E99-\u0E9F\u0EA1-\u0EA3]|[\u0EA5\u0EA7\u0EAA\u0EAB\u0EAD-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6]|[\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A]|[\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081]|[\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D]|[\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0]|[\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310]|[\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F4\u1401-\u166C]|[\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u1700-\u170C\u170E-\u1711]|[\u1720-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7]|[\u17DC\u1820-\u1877\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191C]|[\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19C1-\u19C7\u1A00-\u1A16]|[\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4B\u1B83-\u1BA0\u1BAE\u1BAF]|[\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1CE9-\u1CEC]|[\u1CEE-\u1CF1\u1CF5\u1CF6\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D]|[\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D]|[\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3]|[\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F]|[\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2119-\u211D\u2124\u2126\u2128]|[\u212A-\u212D\u212F-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2183\u2184]|[\u2C00-\u2C2E\u2C30-\u2C5E\u2C60-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3]|[\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6]|[\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE]|[\u2DD0-\u2DD6\u2DD8-\u2DDE\u2E2F\u3005\u3006\u3031-\u3035\u303B\u303C]|[\u3041-\u3096\u309D-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312D]|[\u3131-\u318E\u31A0-\u31BA\u31F0-\u31FF\u3400-\u4DB5\u4E00-\u9FCC]|[\uA000-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B]|[\uA640-\uA66E\uA67F-\uA697\uA6A0-\uA6E5\uA717-\uA71F\uA722-\uA788]|[\uA78B-\uA78E\uA790-\uA793\uA7A0-\uA7AA\uA7F8-\uA801\uA803-\uA805]|[\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB]|[\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uAA00-\uAA28]|[\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA80-\uAAAF\uAAB1\uAAB5]|[\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4]|[\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E]|[\uABC0-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D]|[\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36]|[\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D]|[\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC]|[\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF]|[\uFFD2-\uFFD7\uFFDA-\uFFDC])/,/^(?:\s)/,/^(?:\s)/,/^(?:$)/],conditions:{"namespace-body":{rules:[26,33,34,35,36,37,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},namespace:{rules:[26,29,30,31,32,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},"class-body":{rules:[26,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},class:{rules:[26,39,40,41,42,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr_multiline:{rules:[11,12,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_descr:{rules:[9,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},acc_title:{rules:[7,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_args:{rules:[22,23,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},callback_name:{rules:[19,20,21,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},href:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},struct:{rules:[26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},generic:{rules:[26,49,50,51,52,53,54,55,56,57,58,59,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},bqstring:{rules:[26,49,50,51,52,53,54,55,56,57,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},string:{rules:[24,25,26,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,86,87,88,89,90,91,92,93,94,95,97],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,26,27,28,29,38,49,50,51,52,53,54,55,56,57,60,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97],inclusive:!0}}};function ea(){this.yy={}}return eu.lexer=er,(0,r.eW)(ea,"Parser"),ea.prototype=eu,eu.Parser=ea,new ea}();l.parser=l;var o=l,c=["#","+","~","-",""],h=class{static{(0,r.eW)(this,"ClassMember")}constructor(e,t){this.memberType=t,this.visibility="",this.classifier="",this.text="";let s=(0,r.oO)(e,(0,r.nV)());this.parseMember(s)}getDisplayDetails(){let e=this.visibility+(0,r.UO)(this.id);return"method"===this.memberType&&(e+=`(${(0,r.UO)(this.parameters.trim())})`,this.returnType&&(e+=" : "+(0,r.UO)(this.returnType))),e=e.trim(),{displayText:e,cssStyle:this.parseClassifier()}}parseMember(e){let t="";if("method"===this.memberType){let s=/([#+~-])?(.+)\((.*)\)([\s$*])?(.*)([$*])?/.exec(e);if(s){let e=s[1]?s[1].trim():"";if(c.includes(e)&&(this.visibility=e),this.id=s[2],this.parameters=s[3]?s[3].trim():"",t=s[4]?s[4].trim():"",this.returnType=s[5]?s[5].trim():"",""===t){let e=this.returnType.substring(this.returnType.length-1);/[$*]/.exec(e)&&(t=e,this.returnType=this.returnType.substring(0,this.returnType.length-1))}}}else{let s=e.length,i=e.substring(0,1),n=e.substring(s-1);c.includes(i)&&(this.visibility=i),/[$*]/.exec(n)&&(t=n),this.id=e.substring(""===this.visibility?0:1,""===t?s:s-1)}this.classifier=t,this.id=this.id.startsWith(" ")?" "+this.id.trim():this.id.trim();let s=`${this.visibility?"\\"+this.visibility:""}${(0,r.UO)(this.id)}${"method"===this.memberType?`(${(0,r.UO)(this.parameters)})${this.returnType?" : "+(0,r.UO)(this.returnType):""}`:""}`;this.text=s.replaceAll("<","<").replaceAll(">",">"),this.text.startsWith("\\<")&&(this.text=this.text.replace("\\<","~"))}parseClassifier(){switch(this.classifier){case"*":return"font-style:italic;";case"$":return"text-decoration:underline;";default:return""}}},p="classId-",A=[],d=new Map,y=new Map,g=[],f=[],E=0,C=new Map,m=0,b=[],k=(0,r.eW)(e=>r.SY.sanitizeText(e,(0,r.nV)()),"sanitizeText"),T=(0,r.eW)(function(e){let t=r.SY.sanitizeText(e,(0,r.nV)()),s="",i=t;if(t.indexOf("~")>0){let e=t.split("~");i=k(e[0]),s=k(e[1])}return{className:i,type:s}},"splitClassNameAndType"),F=(0,r.eW)(function(e,t){let s=r.SY.sanitizeText(e,(0,r.nV)());t&&(t=k(t));let{className:i}=T(s);d.get(i).label=t,d.get(i).text=`${t}${d.get(i).type?`<${d.get(i).type}>`:""}`},"setClassLabel"),D=(0,r.eW)(function(e){let{className:t,type:s}=T(r.SY.sanitizeText(e,(0,r.nV)()));if(d.has(t))return;let i=r.SY.sanitizeText(t,(0,r.nV)());d.set(i,{id:i,type:s,label:i,text:`${i}${s?`<${s}>`:""}`,shape:"classBox",cssClasses:"default",methods:[],members:[],annotations:[],styles:[],domId:p+i+"-"+E}),E++},"addClass"),B=(0,r.eW)(function(e,t){let s={id:`interface${f.length}`,label:e,classId:t};f.push(s)},"addInterface"),_=(0,r.eW)(function(e){let t=r.SY.sanitizeText(e,(0,r.nV)());if(d.has(t))return d.get(t).domId;throw Error("Class not found: "+t)},"lookUpDomId"),S=(0,r.eW)(function(){A=[],d=new Map,g=[],f=[],(b=[]).push(Q),C=new Map,m=0,X="TB",(0,r.ZH)()},"clear"),$=(0,r.eW)(function(e){return d.get(e)},"getClass"),N=(0,r.eW)(function(){return d},"getClasses"),L=(0,r.eW)(function(){return A},"getRelations"),x=(0,r.eW)(function(){return g},"getNotes"),O=(0,r.eW)(function(e){r.cM.debug("Adding relation: "+JSON.stringify(e));let t=[j.LOLLIPOP,j.AGGREGATION,j.COMPOSITION,j.DEPENDENCY,j.EXTENSION];e.relation.type1!==j.LOLLIPOP||t.includes(e.relation.type2)?e.relation.type2!==j.LOLLIPOP||t.includes(e.relation.type1)?(D(e.id1),D(e.id2)):(D(e.id1),B(e.id2,e.id1),e.id2=`interface${f.length-1}`):(D(e.id2),B(e.id1,e.id2),e.id1=`interface${f.length-1}`),e.id1=T(e.id1).className,e.id2=T(e.id2).className,e.relationTitle1=r.SY.sanitizeText(e.relationTitle1.trim(),(0,r.nV)()),e.relationTitle2=r.SY.sanitizeText(e.relationTitle2.trim(),(0,r.nV)()),A.push(e)},"addRelation"),I=(0,r.eW)(function(e,t){let s=T(e).className;d.get(s).annotations.push(t)},"addAnnotation"),v=(0,r.eW)(function(e,t){D(e);let s=T(e).className,i=d.get(s);if("string"==typeof t){let e=t.trim();e.startsWith("<<")&&e.endsWith(">>")?i.annotations.push(k(e.substring(2,e.length-2))):e.indexOf(")")>0?i.methods.push(new h(e,"method")):e&&i.members.push(new h(e,"attribute"))}},"addMember"),W=(0,r.eW)(function(e,t){Array.isArray(t)&&(t.reverse(),t.forEach(t=>v(e,t)))},"addMembers"),w=(0,r.eW)(function(e,t){let s={id:`note${g.length}`,class:t,text:e};g.push(s)},"addNote"),R=(0,r.eW)(function(e){return e.startsWith(":")&&(e=e.substring(1)),k(e.trim())},"cleanupLabel"),P=(0,r.eW)(function(e,t){e.split(",").forEach(function(e){let s=e;/\d/.exec(e[0])&&(s=p+s);let i=d.get(s);i&&(i.cssClasses+=" "+t)})},"setCssClass"),M=(0,r.eW)(function(e,t){for(let s of e){let e=y.get(s);void 0===e&&(e={id:s,styles:[],textStyles:[]},y.set(s,e)),t&&t.forEach(function(t){if(/color/.exec(t)){let s=t.replace("fill","bgFill");e.textStyles.push(s)}e.styles.push(t)}),d.forEach(e=>{e.cssClasses.includes(s)&&e.styles.push(...t.flatMap(e=>e.split(",")))})}},"defineClass"),G=(0,r.eW)(function(e,t){e.split(",").forEach(function(e){void 0!==t&&(d.get(e).tooltip=k(t))})},"setTooltip"),U=(0,r.eW)(function(e,t){return t&&C.has(t)?C.get(t).classes.get(e).tooltip:d.get(e).tooltip},"getTooltip"),Y=(0,r.eW)(function(e,t,s){let i=(0,r.nV)();e.split(",").forEach(function(e){let n=e;/\d/.exec(e[0])&&(n=p+n);let r=d.get(n);r&&(r.link=u.w8.formatUrl(t,i),"sandbox"===i.securityLevel?r.linkTarget="_top":"string"==typeof s?r.linkTarget=k(s):r.linkTarget="_blank")}),P(e,"clickable")},"setLink"),V=(0,r.eW)(function(e,t,s){e.split(",").forEach(function(e){z(e,t,s),d.get(e).haveCallback=!0}),P(e,"clickable")},"setClickEvent"),z=(0,r.eW)(function(e,t,s){let i=r.SY.sanitizeText(e,(0,r.nV)());if("loose"===(0,r.nV)().securityLevel&&void 0!==t){if(d.has(i)){let e=_(i),n=[];if("string"==typeof s){n=s.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let e=0;e")),e.classed("hover",!0)}).on("mouseout",function(){t.transition().duration(500).style("opacity",0),(0,a.Ys)(this).classed("hover",!1)})},"setupToolTips");b.push(Q);var X="TB",q=(0,r.eW)(()=>X,"getDirection"),H=(0,r.eW)(e=>{X=e},"setDirection"),J=(0,r.eW)(function(e){if(!C.has(e))C.set(e,{id:e,classes:new Map,children:{},domId:p+e+"-"+m}),m++},"addNamespace"),Z=(0,r.eW)(function(e){return C.get(e)},"getNamespace"),ee=(0,r.eW)(function(){return C},"getNamespaces"),et=(0,r.eW)(function(e,t){if(!!C.has(e))for(let s of t){let{className:t}=T(s);d.get(t).parent=e,C.get(e).classes.set(t,d.get(t))}},"addClassesToNamespace"),es=(0,r.eW)(function(e,t){let s=d.get(e);if(!!t&&!!s)for(let e of t)e.includes(",")?s.styles.push(...e.split(",")):s.styles.push(e)},"setCssStyle");function ei(e){let t;switch(e){case 0:t="aggregation";break;case 1:t="extension";break;case 2:t="composition";break;case 3:t="dependency";break;case 4:t="lollipop";break;default:t="none"}return t}(0,r.eW)(ei,"getArrowMarker");var en=(0,r.eW)(()=>{let e=[],t=[],s=(0,r.nV)();for(let t of C.keys()){let i=C.get(t);if(i){let t={id:i.id,label:i.id,isGroup:!0,padding:s.class.padding??16,shape:"rect",cssStyles:["fill: none","stroke: black"],look:s.look};e.push(t)}}for(let t of d.keys()){let i=d.get(t);i&&(i.parentId=i.parent,i.look=s.look,e.push(i))}let i=0;for(let n of g){i++;let u={id:n.id,label:n.text,isGroup:!1,shape:"note",padding:s.class.padding??6,cssStyles:["text-align: left","white-space: nowrap",`fill: ${s.themeVariables.noteBkgColor}`,`stroke: ${s.themeVariables.noteBorderColor}`],look:s.look};e.push(u);let r=d.get(n.class)?.id??"";if(r){let e={id:`edgeNote${i}`,start:n.id,end:r,type:"normal",thickness:"normal",classes:"relation",arrowTypeStart:"none",arrowTypeEnd:"none",arrowheadStyle:"",labelStyle:[""],style:["fill: none"],pattern:"dotted",look:s.look};t.push(e)}}for(let t of f){let i={id:t.id,label:t.label,isGroup:!1,shape:"rect",cssStyles:["opacity: 0;"],look:s.look};e.push(i)}for(let e of(i=0,A)){i++;let n={id:(0,u.Ln)(e.id1,e.id2,{prefix:"id",counter:i}),start:e.id1,end:e.id2,type:"normal",label:e.title,labelpos:"c",thickness:"normal",classes:"relation",arrowTypeStart:ei(e.relation.type1),arrowTypeEnd:ei(e.relation.type2),startLabelRight:"none"===e.relationTitle1?"":e.relationTitle1,endLabelLeft:"none"===e.relationTitle2?"":e.relationTitle2,arrowheadStyle:"",labelStyle:["display: inline-block"],style:e.style||"",pattern:1==e.relation.lineType?"dashed":"solid",look:s.look};t.push(n)}return{nodes:e,edges:t,other:{},config:s,direction:q()}},"getData"),eu={setAccTitle:r.GN,getAccTitle:r.eu,getAccDescription:r.Mx,setAccDescription:r.U$,getConfig:(0,r.eW)(()=>(0,r.nV)().class,"getConfig"),addClass:D,bindFunctions:K,clear:S,getClass:$,getClasses:N,getNotes:x,addAnnotation:I,addNote:w,getRelations:L,addRelation:O,getDirection:q,setDirection:H,addMember:v,addMembers:W,cleanupLabel:R,lineType:{LINE:0,DOTTED_LINE:1},relationType:j,setClickEvent:V,setCssClass:P,defineClass:M,setLink:Y,getTooltip:U,setTooltip:G,lookUpDomId:_,setDiagramTitle:r.g2,getDiagramTitle:r.Kr,setClassLabel:F,addNamespace:J,addClassesToNamespace:et,getNamespace:Z,getNamespaces:ee,setCssStyle:es,getData:en},er=(0,r.eW)(e=>`g.classGroup text {
- fill: ${e.nodeBorder||e.classText};
- stroke: none;
- font-family: ${e.fontFamily};
- font-size: 10px;
-
- .title {
- font-weight: bolder;
- }
-
-}
-
-.nodeLabel, .edgeLabel {
- color: ${e.classText};
-}
-.edgeLabel .label rect {
- fill: ${e.mainBkg};
-}
-.label text {
- fill: ${e.classText};
-}
-
-.labelBkg {
- background: ${e.mainBkg};
-}
-.edgeLabel .label span {
- background: ${e.mainBkg};
-}
-
-.classTitle {
- font-weight: bolder;
-}
-.node rect,
- .node circle,
- .node ellipse,
- .node polygon,
- .node path {
- fill: ${e.mainBkg};
- stroke: ${e.nodeBorder};
- stroke-width: 1px;
- }
-
-
-.divider {
- stroke: ${e.nodeBorder};
- stroke-width: 1;
-}
-
-g.clickable {
- cursor: pointer;
-}
-
-g.classGroup rect {
- fill: ${e.mainBkg};
- stroke: ${e.nodeBorder};
-}
-
-g.classGroup line {
- stroke: ${e.nodeBorder};
- stroke-width: 1;
-}
-
-.classLabel .box {
- stroke: none;
- stroke-width: 0;
- fill: ${e.mainBkg};
- opacity: 0.5;
-}
-
-.classLabel .label {
- fill: ${e.nodeBorder};
- font-size: 10px;
-}
-
-.relation {
- stroke: ${e.lineColor};
- stroke-width: 1;
- fill: none;
-}
-
-.dashed-line{
- stroke-dasharray: 3;
-}
-
-.dotted-line{
- stroke-dasharray: 1 2;
-}
-
-#compositionStart, .composition {
- fill: ${e.lineColor} !important;
- stroke: ${e.lineColor} !important;
- stroke-width: 1;
-}
-
-#compositionEnd, .composition {
- fill: ${e.lineColor} !important;
- stroke: ${e.lineColor} !important;
- stroke-width: 1;
-}
-
-#dependencyStart, .dependency {
- fill: ${e.lineColor} !important;
- stroke: ${e.lineColor} !important;
- stroke-width: 1;
-}
-
-#dependencyStart, .dependency {
- fill: ${e.lineColor} !important;
- stroke: ${e.lineColor} !important;
- stroke-width: 1;
-}
-
-#extensionStart, .extension {
- fill: transparent !important;
- stroke: ${e.lineColor} !important;
- stroke-width: 1;
-}
-
-#extensionEnd, .extension {
- fill: transparent !important;
- stroke: ${e.lineColor} !important;
- stroke-width: 1;
-}
-
-#aggregationStart, .aggregation {
- fill: transparent !important;
- stroke: ${e.lineColor} !important;
- stroke-width: 1;
-}
-
-#aggregationEnd, .aggregation {
- fill: transparent !important;
- stroke: ${e.lineColor} !important;
- stroke-width: 1;
-}
-
-#lollipopStart, .lollipop {
- fill: ${e.mainBkg} !important;
- stroke: ${e.lineColor} !important;
- stroke-width: 1;
-}
-
-#lollipopEnd, .lollipop {
- fill: ${e.mainBkg} !important;
- stroke: ${e.lineColor} !important;
- stroke-width: 1;
-}
-
-.edgeTerminals {
- font-size: 11px;
- line-height: initial;
-}
-
-.classTitleText {
- text-anchor: middle;
- font-size: 18px;
- fill: ${e.textColor};
-}
-`,"getStyles"),ea=(0,r.eW)((e,t="TB")=>{if(!e.doc)return t;let s=t;for(let t of e.doc)"dir"===t.stmt&&(s=t.value);return s},"getDir"),el={getClasses:(0,r.eW)(function(e,t){return t.db.getClasses()},"getClasses"),draw:(0,r.eW)(async function(e,t,s,a){r.cM.info("REF0:"),r.cM.info("Drawing class diagram (v3)",t);let{securityLevel:l,state:o,layout:c}=(0,r.nV)(),h=a.db.getData(),p=(0,i.q)(t,l);h.type=a.type,h.layoutAlgorithm=(0,n._b)(c),h.nodeSpacing=o?.nodeSpacing||50,h.rankSpacing=o?.rankSpacing||50,h.markers=["aggregation","extension","composition","dependency","lollipop"],h.diagramId=t,await (0,n.sY)(h,p);u.w8.insertTitle(p,"classDiagramTitleText",o?.titleTopMargin??25,a.db.getDiagramTitle()),(0,i.j)(p,8,"classDiagram",o?.useMaxWidth??!0)},"draw"),getDir:ea}},10626:function(e,t,s){s.d(t,{j:function(){return r},q:function(){return u}});var i=s(5995),n=s(27818),u=(0,i.eW)((e,t)=>{let s;return"sandbox"===t&&(s=(0,n.Ys)("#i"+e)),("sandbox"===t?(0,n.Ys)(s.nodes()[0].contentDocument.body):(0,n.Ys)("body")).select(`[id="${e}"]`)},"getDiagramElement"),r=(0,i.eW)((e,t,s,n)=>{e.attr("class",s);let{width:u,height:r,x:o,y:c}=a(e,t);(0,i.v2)(e,r,u,n);let h=l(o,c,u,r,t);e.attr("viewBox",h),i.cM.debug(`viewBox configured: ${h} with padding: ${t}`)},"setupViewPortForSVG"),a=(0,i.eW)((e,t)=>{let s=e.node()?.getBBox()||{width:0,height:0,x:0,y:0};return{width:s.width+2*t,height:s.height+2*t,x:s.x,y:s.y}},"calculateDimensionsWithPadding"),l=(0,i.eW)((e,t,s,i,n)=>`${e-n} ${t-n} ${s} ${i}`,"createViewBox")}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/227cf134.61b3d91b.js b/pr-preview/pr-236/assets/js/227cf134.61b3d91b.js
deleted file mode 100644
index 0041433534..0000000000
--- a/pr-preview/pr-236/assets/js/227cf134.61b3d91b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["3673"],{42900:function(e,t,r){r.r(t),r.d(t,{metadata:()=>s,contentTitle:()=>o,default:()=>p,assets:()=>u,toc:()=>c,frontMatter:()=>l});var s=JSON.parse('{"id":"exercises/cases/cases01","title":"Cases01","description":"","source":"@site/docs/exercises/cases/cases01.mdx","sourceDirName":"exercises/cases","slug":"/exercises/cases/cases01","permalink":"/java-docs/pr-preview/pr-236/exercises/cases/cases01","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/cases/cases01.mdx","tags":[],"version":"current","frontMatter":{"title":"Cases01","description":""},"sidebar":"exercisesSidebar","previous":{"title":"Verzweigungen","permalink":"/java-docs/pr-preview/pr-236/exercises/cases/"},"next":{"title":"Cases02","permalink":"/java-docs/pr-preview/pr-236/exercises/cases/cases02"}}'),a=r("85893"),n=r("50065"),i=r("39661");let l={title:"Cases01",description:""},o=void 0,u={},c=[{value:"Konsolenausgabe",id:"konsolenausgabe",level:2}];function d(e){let t={code:"code",h2:"h2",p:"p",pre:"pre",...(0,n.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(t.p,{children:"Erstelle eine ausf\xfchrbare Klasse, welche eine Ganzzahl von der Konsole einliest\nund auf der Konsole ausgibt, ob es sich um eine gerade oder ungerade Zahl\nhandelt."}),"\n",(0,a.jsx)(t.h2,{id:"konsolenausgabe",children:"Konsolenausgabe"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-console",children:"Gib bitte eine ganze Zahl ein: 5\nErgebnis: Die eingegebene Zahl ist ungerade\n"})}),"\n",(0,a.jsx)(i.Z,{pullRequest:"7",branchSuffix:"cases/01"})]})}function p(e={}){let{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},5525:function(e,t,r){r.d(t,{Z:()=>i});var s=r("85893");r("67294");var a=r("67026");let n="tabItem_Ymn6";function i(e){let{children:t,hidden:r,className:i}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,a.Z)(n,i),hidden:r,children:t})}},47902:function(e,t,r){r.d(t,{Z:()=>j});var s=r("85893"),a=r("67294"),n=r("67026"),i=r("69599"),l=r("16550"),o=r("32000"),u=r("4520"),c=r("38341"),d=r("76009");function p(e){return a.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||a.isValidElement(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})?.filter(Boolean)??[]}function h(e){let{value:t,tabValues:r}=e;return r.some(e=>e.value===t)}var f=r("7227");let b="tabList__CuJ",v="tabItem_LNqP";function m(e){let{className:t,block:r,selectedValue:a,selectValue:l,tabValues:o}=e,u=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.o5)(),d=e=>{let t=e.currentTarget,r=o[u.indexOf(t)].value;r!==a&&(c(t),l(r))},p=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let r=u.indexOf(e.currentTarget)+1;t=u[r]??u[0];break}case"ArrowLeft":{let r=u.indexOf(e.currentTarget)-1;t=u[r]??u[u.length-1]}}t?.focus()};return(0,s.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,n.Z)("tabs",{"tabs--block":r},t),children:o.map(e=>{let{value:t,label:r,attributes:i}=e;return(0,s.jsx)("li",{role:"tab",tabIndex:a===t?0:-1,"aria-selected":a===t,ref:e=>u.push(e),onKeyDown:p,onClick:d,...i,className:(0,n.Z)("tabs__item",v,i?.className,{"tabs__item--active":a===t}),children:r??t},t)})})}function g(e){let{lazy:t,children:r,selectedValue:i}=e,l=(Array.isArray(r)?r:[r]).filter(Boolean);if(t){let e=l.find(e=>e.props.value===i);return e?(0,a.cloneElement)(e,{className:(0,n.Z)("margin-top--md",e.props.className)}):null}return(0,s.jsx)("div",{className:"margin-top--md",children:l.map((e,t)=>(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==i}))})}function x(e){let t=function(e){let{defaultValue:t,queryString:r=!1,groupId:s}=e,n=function(e){let{values:t,children:r}=e;return(0,a.useMemo)(()=>{let e=t??p(r).map(e=>{let{props:{value:t,label:r,attributes:s,default:a}}=e;return{value:t,label:r,attributes:s,default:a}});return!function(e){let t=(0,c.lx)(e,(e,t)=>e.value===t.value);if(t.length>0)throw Error(`Docusaurus error: Duplicate values "${t.map(e=>e.value).join(", ")}" found in . Every value needs to be unique.`)}(e),e},[t,r])}(e),[i,f]=(0,a.useState)(()=>(function(e){let{defaultValue:t,tabValues:r}=e;if(0===r.length)throw Error("Docusaurus error: the component requires at least one children component");if(t){if(!h({value:t,tabValues:r}))throw Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${r.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}let s=r.find(e=>e.default)??r[0];if(!s)throw Error("Unexpected error: 0 tabValues");return s.value})({defaultValue:t,tabValues:n})),[b,v]=function(e){let{queryString:t=!1,groupId:r}=e,s=(0,l.k6)(),n=function(e){let{queryString:t=!1,groupId:r}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!r)throw Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return r??null}({queryString:t,groupId:r}),i=(0,u._X)(n);return[i,(0,a.useCallback)(e=>{if(!n)return;let t=new URLSearchParams(s.location.search);t.set(n,e),s.replace({...s.location,search:t.toString()})},[n,s])]}({queryString:r,groupId:s}),[m,g]=function(e){var t;let{groupId:r}=e;let s=(t=r)?`docusaurus.tab.${t}`:null,[n,i]=(0,d.Nk)(s);return[n,(0,a.useCallback)(e=>{if(!!s)i.set(e)},[s,i])]}({groupId:s}),x=(()=>{let e=b??m;return h({value:e,tabValues:n})?e:null})();return(0,o.Z)(()=>{x&&f(x)},[x]),{selectedValue:i,selectValue:(0,a.useCallback)(e=>{if(!h({value:e,tabValues:n}))throw Error(`Can't select invalid tab value=${e}`);f(e),v(e),g(e)},[v,g,n]),tabValues:n}}(e);return(0,s.jsxs)("div",{className:(0,n.Z)("tabs-container",b),children:[(0,s.jsx)(m,{...t,...e}),(0,s.jsx)(g,{...t,...e})]})}function j(e){let t=(0,f.Z)();return(0,s.jsx)(x,{...e,children:p(e.children)},String(t))}},39661:function(e,t,r){r.d(t,{Z:function(){return o}});var s=r(85893);r(67294);var a=r(47902),n=r(5525),i=r(83012),l=r(45056);function o(e){let{pullRequest:t,branchSuffix:r}=e;return(0,s.jsxs)(a.Z,{children:[(0,s.jsxs)(n.Z,{value:"exercise",label:"Exercise",default:!0,children:[(0,s.jsx)(l.Z,{language:"console",children:`git switch exercises/${r}`}),(0,s.jsx)(i.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/exercises/${r}/Exercise.java`,children:(0,s.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,s.jsxs)(n.Z,{value:"solution",label:"Solution",children:[(0,s.jsx)(l.Z,{language:"console",children:`git switch solutions/${r}`}),(0,s.jsx)(i.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/solutions/${r}/Exercise.java`,children:(0,s.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,s.jsxs)(n.Z,{value:"pullrequest",label:"Pull Request",children:["Alle \xa0\xc4nderungen zwischen der Aufgabe und der L\xf6sung findest du im Pull Request"," ",(0,s.jsxs)(i.Z,{to:`https://github.com/jappuccini/java-exercises/pull/${t}/files?diff=split`,children:["PR#",t]})]})]})}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/230eb522.f7ea8b38.js b/pr-preview/pr-236/assets/js/230eb522.f7ea8b38.js
deleted file mode 100644
index 4a7e195a74..0000000000
--- a/pr-preview/pr-236/assets/js/230eb522.f7ea8b38.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["9683"],{86605:function(e,r,a){a.r(r),a.d(r,{metadata:()=>t,contentTitle:()=>o,default:()=>p,assets:()=>u,toc:()=>c,frontMatter:()=>i});var t=JSON.parse('{"id":"exercises/arrays/arrays06","title":"Arrays06","description":"","source":"@site/docs/exercises/arrays/arrays06.mdx","sourceDirName":"exercises/arrays","slug":"/exercises/arrays/arrays06","permalink":"/java-docs/pr-preview/pr-236/exercises/arrays/arrays06","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/arrays/arrays06.mdx","tags":[],"version":"current","frontMatter":{"title":"Arrays06","description":""},"sidebar":"exercisesSidebar","previous":{"title":"Arrays05","permalink":"/java-docs/pr-preview/pr-236/exercises/arrays/arrays05"},"next":{"title":"Arrays07","permalink":"/java-docs/pr-preview/pr-236/exercises/arrays/arrays07"}}'),n=a("85893"),s=a("50065"),l=a("39661");let i={title:"Arrays06",description:""},o=void 0,u={},c=[{value:"Zahlenfeld",id:"zahlenfeld",level:2},{value:"Konsolenausgabe",id:"konsolenausgabe",level:2}];function d(e){let r={code:"code",h2:"h2",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.p,{children:"Erstelle eine ausf\xfchrbare Klasse, welche ein gegebenes mehrdimensionales\nZahlenfeld analysiert. Es soll jeweils der kleinste sowie der gr\xf6\xdfte Wert einer\nReihe auf der Konsole ausgegeben werden."}),"\n",(0,n.jsx)(r.h2,{id:"zahlenfeld",children:"Zahlenfeld"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-java",children:"int[][] array = {\n { 5, 8, 2, 7 },\n { 9, 6, 10, 8 },\n { 10, 2, 7, 5 },\n { 1, 9, 5, 4 }\n};\n"})}),"\n",(0,n.jsx)(r.h2,{id:"konsolenausgabe",children:"Konsolenausgabe"}),"\n",(0,n.jsx)(r.pre,{children:(0,n.jsx)(r.code,{className:"language-console",children:"MIN - MAX\n2 - 8\n6 - 10\n2 - 10\n1 - 9\n"})}),"\n",(0,n.jsx)(l.Z,{pullRequest:"75",branchSuffix:"arrays/06"})]})}function p(e={}){let{wrapper:r}={...(0,s.a)(),...e.components};return r?(0,n.jsx)(r,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},5525:function(e,r,a){a.d(r,{Z:()=>l});var t=a("85893");a("67294");var n=a("67026");let s="tabItem_Ymn6";function l(e){let{children:r,hidden:a,className:l}=e;return(0,t.jsx)("div",{role:"tabpanel",className:(0,n.Z)(s,l),hidden:a,children:r})}},47902:function(e,r,a){a.d(r,{Z:()=>j});var t=a("85893"),n=a("67294"),s=a("67026"),l=a("69599"),i=a("16550"),o=a("32000"),u=a("4520"),c=a("38341"),d=a("76009");function p(e){return n.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||n.isValidElement(e)&&function(e){let{props:r}=e;return!!r&&"object"==typeof r&&"value"in r}(e))return e;throw Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})?.filter(Boolean)??[]}function h(e){let{value:r,tabValues:a}=e;return a.some(e=>e.value===r)}var f=a("7227");let v="tabList__CuJ",b="tabItem_LNqP";function m(e){let{className:r,block:a,selectedValue:n,selectValue:i,tabValues:o}=e,u=[],{blockElementScrollPositionUntilNextRender:c}=(0,l.o5)(),d=e=>{let r=e.currentTarget,a=o[u.indexOf(r)].value;a!==n&&(c(r),i(a))},p=e=>{let r=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let a=u.indexOf(e.currentTarget)+1;r=u[a]??u[0];break}case"ArrowLeft":{let a=u.indexOf(e.currentTarget)-1;r=u[a]??u[u.length-1]}}r?.focus()};return(0,t.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":a},r),children:o.map(e=>{let{value:r,label:a,attributes:l}=e;return(0,t.jsx)("li",{role:"tab",tabIndex:n===r?0:-1,"aria-selected":n===r,ref:e=>u.push(e),onKeyDown:p,onClick:d,...l,className:(0,s.Z)("tabs__item",b,l?.className,{"tabs__item--active":n===r}),children:a??r},r)})})}function x(e){let{lazy:r,children:a,selectedValue:l}=e,i=(Array.isArray(a)?a:[a]).filter(Boolean);if(r){let e=i.find(e=>e.props.value===l);return e?(0,n.cloneElement)(e,{className:(0,s.Z)("margin-top--md",e.props.className)}):null}return(0,t.jsx)("div",{className:"margin-top--md",children:i.map((e,r)=>(0,n.cloneElement)(e,{key:r,hidden:e.props.value!==l}))})}function g(e){let r=function(e){let{defaultValue:r,queryString:a=!1,groupId:t}=e,s=function(e){let{values:r,children:a}=e;return(0,n.useMemo)(()=>{let e=r??p(a).map(e=>{let{props:{value:r,label:a,attributes:t,default:n}}=e;return{value:r,label:a,attributes:t,default:n}});return!function(e){let r=(0,c.lx)(e,(e,r)=>e.value===r.value);if(r.length>0)throw Error(`Docusaurus error: Duplicate values "${r.map(e=>e.value).join(", ")}" found in . Every value needs to be unique.`)}(e),e},[r,a])}(e),[l,f]=(0,n.useState)(()=>(function(e){let{defaultValue:r,tabValues:a}=e;if(0===a.length)throw Error("Docusaurus error: the component requires at least one children component");if(r){if(!h({value:r,tabValues:a}))throw Error(`Docusaurus error: The has a defaultValue "${r}" but none of its children has the corresponding value. Available values are: ${a.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return r}let t=a.find(e=>e.default)??a[0];if(!t)throw Error("Unexpected error: 0 tabValues");return t.value})({defaultValue:r,tabValues:s})),[v,b]=function(e){let{queryString:r=!1,groupId:a}=e,t=(0,i.k6)(),s=function(e){let{queryString:r=!1,groupId:a}=e;if("string"==typeof r)return r;if(!1===r)return null;if(!0===r&&!a)throw Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return a??null}({queryString:r,groupId:a}),l=(0,u._X)(s);return[l,(0,n.useCallback)(e=>{if(!s)return;let r=new URLSearchParams(t.location.search);r.set(s,e),t.replace({...t.location,search:r.toString()})},[s,t])]}({queryString:a,groupId:t}),[m,x]=function(e){var r;let{groupId:a}=e;let t=(r=a)?`docusaurus.tab.${r}`:null,[s,l]=(0,d.Nk)(t);return[s,(0,n.useCallback)(e=>{if(!!t)l.set(e)},[t,l])]}({groupId:t}),g=(()=>{let e=v??m;return h({value:e,tabValues:s})?e:null})();return(0,o.Z)(()=>{g&&f(g)},[g]),{selectedValue:l,selectValue:(0,n.useCallback)(e=>{if(!h({value:e,tabValues:s}))throw Error(`Can't select invalid tab value=${e}`);f(e),b(e),x(e)},[b,x,s]),tabValues:s}}(e);return(0,t.jsxs)("div",{className:(0,s.Z)("tabs-container",v),children:[(0,t.jsx)(m,{...r,...e}),(0,t.jsx)(x,{...r,...e})]})}function j(e){let r=(0,f.Z)();return(0,t.jsx)(g,{...e,children:p(e.children)},String(r))}},39661:function(e,r,a){a.d(r,{Z:function(){return o}});var t=a(85893);a(67294);var n=a(47902),s=a(5525),l=a(83012),i=a(45056);function o(e){let{pullRequest:r,branchSuffix:a}=e;return(0,t.jsxs)(n.Z,{children:[(0,t.jsxs)(s.Z,{value:"exercise",label:"Exercise",default:!0,children:[(0,t.jsx)(i.Z,{language:"console",children:`git switch exercises/${a}`}),(0,t.jsx)(l.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/exercises/${a}/Exercise.java`,children:(0,t.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,t.jsxs)(s.Z,{value:"solution",label:"Solution",children:[(0,t.jsx)(i.Z,{language:"console",children:`git switch solutions/${a}`}),(0,t.jsx)(l.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/solutions/${a}/Exercise.java`,children:(0,t.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,t.jsxs)(s.Z,{value:"pullrequest",label:"Pull Request",children:["Alle \xa0\xc4nderungen zwischen der Aufgabe und der L\xf6sung findest du im Pull Request"," ",(0,t.jsxs)(l.Z,{to:`https://github.com/jappuccini/java-exercises/pull/${r}/files?diff=split`,children:["PR#",r]})]})]})}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/233c2989.26d3cf2b.js b/pr-preview/pr-236/assets/js/233c2989.26d3cf2b.js
deleted file mode 100644
index 4b01468f38..0000000000
--- a/pr-preview/pr-236/assets/js/233c2989.26d3cf2b.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["510"],{98582:function(e,n,s){s.d(n,{Z:function(){return l}});var i=s(85893),r=s(67294);function l(e){let{children:n,initSlides:s,width:l=null,height:a=null}=e;return(0,r.useEffect)(()=>{s()}),(0,i.jsx)("div",{className:"reveal reveal-viewport",style:{width:l??"100vw",height:a??"100vh"},children:(0,i.jsx)("div",{className:"slides",children:n})})}},57270:function(e,n,s){s.d(n,{O:function(){return i}});let i=()=>{let e=s(42199),n=s(87251),i=s(60977),r=s(12489);new(s(29197))({plugins:[e,n,i,r]}).initialize({hash:!0})}},48985:function(e,n,s){s.r(n),s.d(n,{default:function(){return a}});var i=s(85893),r=s(98582),l=s(57270);function a(){return(0,i.jsxs)(r.Z,{initSlides:l.O,children:[(0,i.jsx)("section",{children:(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Agenda"}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{className:"fragment",children:"Wiederholung"}),(0,i.jsx)("li",{className:"fragment",children:"Klausurbesprechung"}),(0,i.jsx)("li",{className:"fragment",children:"Fortgeschrittene Programmierung"})]})]})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Wiederholung"})}),(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Datentypen"})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Primitive Datentypen"}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{className:"fragment",children:"boolean"}),(0,i.jsxs)("li",{className:"fragment",children:["byte, short, ",(0,i.jsx)("b",{children:"int"}),", long"]}),(0,i.jsxs)("li",{className:"fragment",children:["float, ",(0,i.jsx)("b",{children:"double"})]}),(0,i.jsx)("li",{className:"fragment",children:"char"})]})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Komplexe Datentypen"}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{className:"fragment",children:"String"}),(0,i.jsx)("li",{className:"fragment",children:"jede Klasse"})]}),(0,i.jsx)("p",{className:"fragment",children:"Tipp: Primitive Datentypen haben keine Methoden"})]}),(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Methoden"})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Calculator {\n\n public static int add(int x, int y) {\n return x + y;\n }\n\n}\n"}})}),(0,i.jsx)("span",{className:"fragment fade-in-then-out",children:"R\xfcckgabetyp"}),(0,i.jsx)("span",{className:"fragment fade-in-then-out",children:"Bezeichner"}),(0,i.jsx)("span",{className:"fragment fade-in-then-out",children:"Parameter"}),(0,i.jsx)("span",{className:"fragment fade-in-then-out",children:"Methodenrumpf"})]}),(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Operatoren"})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Arithmetische Operatoren"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"//...\n public static void main(String[] args) {\n int a = 3;\n int b = 2;\n int addition = a + b; // 5;\n int subtraktion = a - b; // 1;\n int multiplikation = a * b; // 6;\n int division = a / b; // 1, nicht 1.5! Warum?;\n int restwert = a % b; // 1;\n }\n//...\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Arithmetische Operatoren II"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"//...\n public static void main(String[] args) {\n int a = 3;\n System.out.println(a++); // Log: 3, Wert: 4\n System.out.println(++a); // Log: 5, Wert: 5\n System.out.println(--a); // Log: 4, Wert: 4\n System.out.println(a--); // Log: 4, Wert: 3\n }\n//...\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Vergleichsoperatoren"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"//...\n public static void main(String[] args) {\n boolean result;\n result = 3 == 2; // false \n result = 3 != 2; // true \n result = 3 > 2; // true \n result = 2 >= 2; // true \n result = 2 < 2; // false \n result = 2 <= 2; // true \n }\n//...\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Logische Operatoren I - AND"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"//...\n public static void main(String[] args) {\n boolean t = true;\n boolean f = false;\n boolean result;\n\n result = t && f; // false \n result = t && t; // true \n result = f && t; // false \n result = f && f; // false \n }\n//...\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Logische Operatoren II - OR"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"//...\n public static void main(String[] args) {\n boolean t = true;\n boolean f = false;\n boolean result;\n\n result = f || t; // true \n result = t || f; // true \n result = f || f; // false \n result = t || t; // true \n }\n//...\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Logische Operatoren III - NOT"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"//...\n public static void main(String[] args) {\n boolean t = true;\n boolean f = false;\n boolean result;\n\n result = !f; // true \n result = !t; // false \n }\n//...\n"}})})]}),(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Kontrollstrukturen"})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"if"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"//...\n public static void main(String[] args) {\n int age = 18;\n\n if(age >= 18) {\n // Ich krieg alles, was ich will\n } else if(age >= 16) {\n // Ich krieg Bier, Wein, Most <3 und Sekt \n } else {\n // Ich krieg Coca Zero\n } \n }\n//...\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"switch"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:" public static void greet(String gender) {\n switch(gender) {\n case 'm':\n case 'M':\n // falls man ein Mann ist\n break; \n case 'F':\n // falls man eine Frau ist\n break; \n default :\n // falls man divers ist\n break; \n }\n }\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"while-Schleife"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:" public static boolean exists(String brand) {\n String[] cars = { 'BMW', 'Audi', 'Benz' }; \n boolean found = false; \n int i = 0; \n while(!found && i < cars.length) {\n String car = cars[i];\n if(car.equals(brand)) {\n found = true;\n } else {\n i++;\n }\n }\n return found; \n }\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"do-while-Schleife"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:" public static boolean exists(String brand) {\n String[] cars = { 'BMW', 'Audi', 'Benz' }; \n boolean found = false; \n int i = 0; \n do {\n String car = cars[i];\n if(car.equals(brand)) {\n found = true;\n } else {\n i++;\n }\n }\n while(!found && i < cars.length)\n return found; \n }\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"for-Schleife"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:" public static boolean exists(String brand) {\n String[] cars = { 'BMW', 'Audi', 'Benz' } \n for (int i = 0; i < cars.length; i++) {\n String car = cars[i];\n if(car.equals(brand)) {\n return true;\n }\n }\n return false; \n }\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"for-each-Schleife"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:" public static boolean exists(String brand) {\n String[] cars = { 'BMW', 'Audi', 'Benz' } \n for (String car : cars) {\n if(car.equals(brand)) {\n return true;\n }\n }\n return false; \n }\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"break und continue"}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{className:"fragment",children:"break beendet die komplette Schleife"}),(0,i.jsx)("li",{className:"fragment",children:"continue \xfcberspringt den restlichen Code"})]})]}),(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Arrays"})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Array"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:" public static void example() {\n String[] cars = { 'BMW', 'Audi', 'Benz' };\n String car;\n car = cars[0]; // lesen aus dem Array\n cars[2] = 'Alfa'; // speichern in ein Array\n String[] twoCars = new String[2]; // Array ohne Inhalt\n int amountOfItems = twoCars.length;\n }\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"ArrayList"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:" public static void example() {\n ArrayList<String> cars = new ArrayList<>();\n cars.add('BMW');\n cars.add('Audi');\n cars.add('Benz');\n String car;\n car = cars.get(0); // lesen aus der Liste\n cars.set(2,'Alfa'); // speichern in der Liste\n int amountOfItems = cars.size();\n cars.remove(1); // l\xf6schen aus der Liste\n }\n"}})})]}),(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Klassen und Objekte"})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Klassen"}),(0,i.jsx)("span",{className:"fragment",children:"Eine Klasse beschreibt gleichartige Objekte durch"}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{className:"fragment",children:"Attribute"}),(0,i.jsx)("li",{className:"fragment",children:"Methoden"})]})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Beispiel Klasse"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Human {\n public String firstName;\n public String lastName;\n \n public String getFullName() {\n return firstName + lastName;\n }\n}"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Objekte"}),(0,i.jsx)("span",{className:"fragment",children:"Ein Objekt ist eine m\xf6gliche Auspr\xe4gung einer Klasse"}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{className:"fragment",children:"konkreter Wert f\xfcr ein Attribut"}),(0,i.jsx)("li",{className:"fragment",children:"konkretes Verhalten einer Methode"})]})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Beispiel Objekt"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:' Human steffen = new Human();\n steffen.firstName = "Steffen";\n steffen.lastName = "Merk";\n String fullName = steffen.getFullName();\n'}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Konstruktor"}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{className:"fragment",children:"beschreibt die Initialisierung eines Objektes"}),(0,i.jsx)("li",{className:"fragment",children:"Konstruktoren k\xf6nnen \xdcberladen werden"})]})]}),(0,i.jsx)("section",{children:(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Car {\n private String color;\n private char engineType;\n\n public Car(String color) {\n this.color = color;\n this.engineType = 'b';\n }\n\n public Car(String color, char engineType) {\n this.color = color;\n this.engineType = engineType;\n }\n}\n"}})})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Konstruktor II"}),(0,i.jsx)("ul",{children:(0,i.jsx)("li",{className:"fragment",children:"Konstruktoren k\xf6nnen andere Konstruktoren verwenden"})})]}),(0,i.jsx)("section",{children:(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java","data-line-numbers":"|5-7",dangerouslySetInnerHTML:{__html:"public class Car {\n private String color;\n private char engineType;\n\n public Car(String color) {\n this(color, 'b')\n }\n\n public Car(String color, char engineType) {\n this.color = color;\n this.engineType = engineType;\n }\n}\n"}})})}),(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Vererbung"})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Vererbung"}),(0,i.jsxs)("p",{children:["Durch ",(0,i.jsx)("b",{children:"Generalisierung"})," werden gemeinsame Attribute und Methoden von mehreren Klassen in eine weitere Klasse ausgelagert."]})]}),(0,i.jsx)("section",{children:(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Dog {\n public String name;\n public Dog(String name) {\n this.name = name;\n }\n // more Dog specific methods\n}\npublic class Cat {\n public String name;\n public Cat(String name) {\n this.name = name;\n }\n // more Cat specific methods\n}\n"}})})}),(0,i.jsx)("section",{children:(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Animal {\n public String name;\n public Animal(String name) {\n this.name = name;\n }\n}\n"}})})}),(0,i.jsx)("section",{children:(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Dog extends Animal {\n public Dog(String name) {\n super(name);\n }\n}\n\npublic class Cat extends Animal {\n public Cat(String name) {\n super(name);\n }\n}\n"}})})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Schl\xfcsselw\xf6rter zur Vererbung"}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{className:"fragment",children:"extends"}),(0,i.jsx)("li",{className:"fragment",children:"super"})]})]}),(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Polymorphie"})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Polymorphie"}),(0,i.jsx)("p",{className:"fragment",children:"Eine Referenzvariable, die vom Typ einer generalisierten Klasse ist, kann mehrere (poly) Formen annehmen (Unterklassen)."}),(0,i.jsx)("p",{className:"fragment",children:"Eine Referenzvariable vom Typ Animal kann eine Katze oder ein Hund sein."})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Upcast"}),(0,i.jsx)("p",{className:"fragment",children:"Der Referenzvariable einer Oberklasse wird eine Referenzvariable einer Unterklasse zugewiesen."}),(0,i.jsx)("pre",{className:"fragment",children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"Animal animal01 = new Cat();\nAnimal animal02 = new Dog();\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("p",{children:"Ist eine Referenzvariable vom Typ einer generalisierten Klasse, k\xf6nnen nur die Methoden der generalisierten Klasse verwendet werden."}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"Animal animal01 = new Dog();\nanimal01.name = 'Bello'; // funktioniert\nanimal01.bark(); // funktioniert nicht \n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Downcast"}),(0,i.jsx)("p",{className:"fragment",children:"Der Referenzvariable einer Oberklasse wird eine Referenzvariable einer Unterklasse zugewiesen."}),(0,i.jsx)("pre",{className:"fragment",children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"Animal animal01 = new Dog();\nDog dog01 = (Dog) animal01;\ndog01.bark(); // funktioniert\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"instanceof operator"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"Animal animal01 = new Dog();\nif (animal01 instanceof Dog) {\n // hundespezifischer Quellcode\n Dog bello = (Dog) animal01;\n bello.bark();\n}"}})})]}),(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Modifier"})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Public Modifier - Klasse"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Dog {\n //...\n}\n"}})}),(0,i.jsx)("p",{children:"Klasse kann \xfcberall im Projekt verwendet werden."})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Kein Modifier - Klasse"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"class Dog {\n //...\n}\n"}})}),(0,i.jsx)("p",{children:"Klasse kann nur im selben Paket verwendet werden."})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Abstract Modifier - Klasse"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public abstract class Dog {\n //...\n}\n"}})}),(0,i.jsx)("p",{children:"Ein Objekt dieser Klasse kann nicht instanziiert werden."})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Final Modifier - Klasse"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public final class Dog {\n //...\n}\n"}})}),(0,i.jsx)("p",{children:"Von dieser Klasse kann nicht geerbt werden."})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Public Modifier - Attribut"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Dog {\n public String name;\n //...\n}\n"}})}),(0,i.jsx)("p",{children:"Das Attribut kann immer ge\xe4ndert werden."})]}),(0,i.jsx)("section",{children:(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:'Dog bello = new Dog();\nbello.name = "Steffen"; // funktioniert\n\npublic class MonsterDog extends Dog {\n //...\n public void setName(String name) {\n this.name = name; // funktioniert\n }\n //...\n}\n'}})})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Private Modifier - Attribut"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Dog {\n private String name;\n //...\n public void setName(String name) {\n this.name = name; // funktioniert\n }\n}\n"}})}),(0,i.jsx)("p",{children:"Das Attribut kann innerhalb der Klasse ge\xe4ndert werden."})]}),(0,i.jsx)("section",{children:(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:'Dog bello = new Dog();\nbello.name = "Steffen"; // funktioniert nicht\n\npublic class MonsterDog extends Dog {\n //...\n public void setName(String name) {\n this.name = name; // funktioniert nicht\n }\n //...\n}\n'}})})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Protected Modifier - Attribut"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Dog {\n protected String name;\n //...\n public void setName(String name) {\n this.name = name; // funktioniert\n }\n}\n"}})}),(0,i.jsx)("p",{children:"Das Attribut kann innerhalb der Klasse und von allen erbenden Klassen ge\xe4ndert werden."})]}),(0,i.jsx)("section",{children:(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:'Dog bello = new Dog();\nbello.name = "Steffen"; // funktioniert nicht\n\npublic class MonsterDog extends Dog {\n //...\n public void setName(String name) {\n this.name = name; // funktioniert\n }\n //...\n}\n'}})})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Final Modifier - Attribut"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Dog {\n public final String name;\n //...\n public Dog(String name) {\n this.name = name; // funktioniert\n }\n\n public void setName(String name) {\n this.name = name; // funktioniert nicht\n }\n}\n"}})}),(0,i.jsx)("p",{children:"Das Attribut kann nur im Konstruktor ge\xe4ndert werden."})]}),(0,i.jsx)("section",{children:(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:'Dog bello = new Dog("Marianna");\nbello.name = "Steffen"; // funktioniert nicht\n\npublic class MonsterDog extends Dog {\n //...\n public void setName(String name) {\n this.name = name; // funktioniert nicht\n }\n //...\n}\n'}})})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Static Modifier - Attribut"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Dog {\n public static boolean hasHat = false;\n //...\n}\n"}})}),(0,i.jsx)("p",{children:"Das Attribut geh\xf6rt zu der Klasse und nicht zu einem Objekt."})]}),(0,i.jsx)("section",{children:(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"Dog bello = new Dog();\nbello.hasHat = true; // funktioniert nicht\nDog.hasHat = true; // funktioniert\n\npublic class MonsterDog extends Dog {\n //...\n public void setHat(boolean hasHat) {\n this.hasHat = hasHat; // funktioniert nicht\n Dog.hasHat = hasHat; // funktioniert\n }\n //...\n}\n"}})})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Public Modifier - Methode"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Dog {\n public void bark() {\n //...\n }\n //...\n}\n"}})}),(0,i.jsx)("p",{children:"Die Methode kann immer verwendet werden."})]}),(0,i.jsx)("section",{children:(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"Dog bello = new Dog();\nbello.bark(); // funktioniert\n\npublic class MonsterDog extends Dog {\n //...\n public void attack() {\n this.bark(); // funktioniert\n }\n //...\n}\n"}})})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Private Modifier - Methode"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Dog {\n private void bark() {\n //...\n }\n //...\n}\n"}})}),(0,i.jsx)("p",{children:"Die Methode kann innerhalb der Klasse verwendet werden."})]}),(0,i.jsx)("section",{children:(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"Dog bello = new Dog();\nbello.bark(); // funktioniert nicht\n\npublic class MonsterDog extends Dog {\n //...\n public void attack() {\n this.bark(); // funktioniert nicht\n }\n //...\n}\n"}})})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Protected Modifier - Methode"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Dog {\n protected void bark() {\n //...\n }\n //...\n}\n"}})}),(0,i.jsx)("p",{children:"Das Attribut kann innerhalb der Klasse und von allen erbenden Klassen verwendet werden."})]}),(0,i.jsx)("section",{children:(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"Dog bello = new Dog();\nbello.bark(); // funktioniert nicht\n\npublic class MonsterDog extends Dog {\n //...\n public void attack() {\n this.bark(); // funktioniert\n }\n //...\n}\n"}})})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Final Modifier - Methode"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Dog {\n public final void bark() {\n //...\n }\n //...\n}\n"}})}),(0,i.jsx)("p",{children:"Die Methode kann nicht \xfcberschrieben werden."})]}),(0,i.jsx)("section",{children:(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class MonsterDog extends Dog {\n //...\n public void bark() { // funktioniert nicht \n //...\n }\n //...\n}\n"}})})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Static Modifier - Methode"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Dog {\n public static hasHat = true;\n public static isCool = true;\n public static boolean isCoolAndHasHat() {\n return Dog.isCool && Dog.hasHat;\n }\n //...\n}\n"}})}),(0,i.jsx)("p",{children:"Die Methode geh\xf6rt zu der Klasse und nicht zu einem Objekt. Es kann nur auf statische Attribute zugegriffen werden."})]}),(0,i.jsx)("section",{children:(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"Dog bello = new Dog();\nbello.isCoolAndHasHat(); // funktioniert nicht\nDog.isCoolAndHasHat(); // funktioniert\n\npublic class MonsterDog extends Dog {\n //...\n public void attack() {\n this.isCoolAndHasHat(); // funktioniert nicht\n Dog.isCoolAndHasHat(); // funktioniert\n }\n //...\n}\n"}})})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Abstract Modifier - Methode"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public abstract class Animal {\n //...\n public abstract void makeSound();\n}\n"}})}),(0,i.jsx)("p",{children:"Die Methode muss von der erbenden Klasse implementiert werden. Abstrakte Methoden k\xf6nnen nur in abstrakten Klassen definiert werden."})]}),(0,i.jsx)("section",{children:(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class MonsterDog extends Dog {\n // funktioniert nicht, makeSound muss implementiert werden\n}\n"}})})}),(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Enumeration"})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Enumeration"}),(0,i.jsx)("p",{children:"Eine Enumeration ist eine Klasse mit Attributen und Methoden. Sie definiert zus\xe4tzlich alle m\xf6glichen Auspr\xe4gungen dieser Klasse."})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Enumeration implementieren"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:'public enum Gender {\n MALE("Mann"),\n FEMALE("Frau"),\n DIVERS("Divers");\n \n public final String text;\n \n Gender(String text) {\n this.text = text;\n }\n \n public boolean isBinary() {\n return this == Gender.MALE || this == Gender.FEMALE;\n }\n}\n'}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Enumeration als Typ verwenden"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class Human {\n public final Gender gender;\n \n public Human(Gender gender) {\n this.gender = gender;\n }\n public doSomethingBinaryRelated() {\n if(this.gender.isBinary())\n //...\n }\n}\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Enumeration als Wert setzen"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"Human steffen = new Human(Gender.MALE);\n"}})})]}),(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Interfaces"})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Interfaces"}),(0,i.jsx)("p",{children:"Definieren Methoden unabh\xe4ngig von der Vererbungshierarchie."}),(0,i.jsx)("p",{className:"fragment",children:"Dient als Schnittstelle zwischen Ersteller und Verwender einer Funktionalit\xe4t."})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Interface (Ersteller)"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{"data-line-numbers":"1-3|6|7,11",className:"java",dangerouslySetInnerHTML:{__html:"public interface Item {\n public String getName(); \n}\n\npublic class ShoppingList {\n ArrayList<Item> items = new ArrayList<>();\n public void add(Item item) {\n this.items.add(item);\n }\n public void print() {\n for(Item item : items) {\n System.out.println(item.getName();\n }\n }\n}\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Interface (Verwender) I"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{"data-line-numbers":"1|10-12",className:"java",dangerouslySetInnerHTML:{__html:'public class Human implements Item {\n public final String firstName;\n public final String lastName;\n \n public Human(String firstName, String lastName) {\n this.firstName = firstName;\n this.lastName = lastName;\n }\n \n public String getName() {\n return firstName + " " + lastName;\n }\n}\n'}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Interface (Verwender) II "}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:'ShoppingList shoppingList = new ShoppingList();\nHuman steffen = new Human("Steffen", "Merk");\nshoppingList.add(steffen);\nshoppingList.print(); // "Steffen Merk"\n'}})})]}),(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Comparator"})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Comparator"}),(0,i.jsx)("p",{className:"fragment",children:"Definiert wie eine Liste von Elementen sortiert wird."}),(0,i.jsx)("p",{className:"fragment",children:"Vergleicht immer zwei Elemente miteinander, bei dem angegeben wird, wo das erste Element im Vergleich zum zweiten Element positioniert wird (Zahlenstrahl)."})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Comparator implementieren"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"public class AgeAscComparator implements Comparator<Human> {\n \n public int compare(Human h1, Human h2) {\n if(h1.getAge() > h2.getAge()) {\n return 1;\n } else if (h1.getAge() < h2.getAge()) {\n return -1;\n } else {\n return 0;\n } \n }\n}\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Comparator verwenden"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{className:"java",dangerouslySetInnerHTML:{__html:"ArrayList<Human> developers = new ArrayList<>();\ndevelopers.add(new Human(28));\ndevelopers.add(new Human(24));\nCollections.sort(developers, new AgeAscComparator());\n"}})})]}),(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Exceptions"})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Exceptions"}),(0,i.jsx)("p",{className:"fragment",children:"Sind Fehler, die w\xe4hrend der Ausf\xfchrung des Programms auftreten k\xf6nnen und dienen zur Kommunikation."}),(0,i.jsx)("p",{className:"fragment",children:"Fehler k\xf6nnen mitgeteilt (throws) und verarbeitet werden (catch)."})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Exception implementieren"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{"data-line-numbers":"1-9|1|6",className:"java",dangerouslySetInnerHTML:{__html:"public class TooYoungException extends Exception {\n \n public final int yearsTillAllowed;\n \n public TooYoungException(int yearsTillAllowed) {\n super();\n this.yearsTillAllowed = yearsTillAllowed;\n }\n}\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Exception ausl\xf6sen"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{"data-line-numbers":"1-9|4|6",className:"java",dangerouslySetInnerHTML:{__html:"public class ShoppingList {\n Human buyer;\n //...\n public addItem(Item item) throws TooYoungException {\n if(item.isAlcohol() && this.buyer.getAge() < 21) {\n throw new TooYoungException(21 - buyer.getAge());\n }\n }\n}\n"}})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Exception behandeln"}),(0,i.jsx)("pre",{children:(0,i.jsx)("code",{"data-line-numbers":"1-13|5-7|7-9|9-11",className:"java",dangerouslySetInnerHTML:{__html:'public class Main {\n public static void main(String[] args) {\n ShoppingList sl = new ShoppingList();\n Beer corona = new Beer();\n try {\n sl.add(corona);\n } catch (TooYoungException e) {\n System.out.println("Du bist" + e.yearsTillAllowed + "zu jung");\n } finally {\n System.out.println("Einkauf beendet. (Immer)");\n }\n }\n}\n'}})})]}),(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Klassendiagramme (Doku)"})})]}),(0,i.jsx)("section",{children:(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Klausurbesprechung"})})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("section",{children:(0,i.jsx)("h2",{children:"Organisatorsiches"})}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Fortgeschrittene Programmierung"}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{className:"fragment",children:"Algorithmen und Datenstrukturen"}),(0,i.jsx)("li",{className:"fragment",children:"Generische Programmierung"}),(0,i.jsx)("li",{className:"fragment",children:"Funktionale Programmierung"})]})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Pr\xfcfungsleistungen"}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{className:"fragment",children:"Projektbericht (50 Punkte)"}),(0,i.jsx)("li",{className:"fragment",children:"Klausur am PC (50 Punkte)"})]})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Projektbericht - Termine"}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{className:"fragment",children:"30.04.2024 - Problem und Daten in Moodle"}),(0,i.jsx)("li",{className:"fragment",children:"30.05.2025 - Abgabe Projektbericht (Moodle/Papier)"})]})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Projektbericht - Problem"}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{className:"fragment",children:"findet ein Problem (im Unternehmen)"}),(0,i.jsx)("li",{className:"fragment",children:"(er)findet dazu Daten"}),(0,i.jsx)("li",{className:"fragment",children:"mindestens eine Verkn\xfcpfung"}),(0,i.jsx)("li",{className:"fragment",children:"keine doppelten Themen (Selbstorganisiert)"})]})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Projektbericht - Ergebnis am 30.04"}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{className:"fragment",children:"Problembeschreibung (Textdatei)"}),(0,i.jsx)("li",{className:"fragment",children:"Tabelle mit mindestens 20 Datens\xe4tzen (CSV-Datei)"}),(0,i.jsx)("li",{className:"fragment",children:"Hochladen in Moodle"})]})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Projektbericht - Ergebnis am 31.05"}),(0,i.jsx)("ul",{children:(0,i.jsx)("li",{className:"fragment",children:"Erkl\xe4rung am 30.04"})})]}),(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Klausur am PC"}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{className:"fragment",children:"Ablauf wie Test/Klausur"}),(0,i.jsx)("li",{className:"fragment",children:"VSCode anstatt Notepad++"}),(0,i.jsx)("li",{className:"fragment",children:"Keine Fragenbeschreibung in Moodle"})]})]})]}),(0,i.jsx)("section",{children:(0,i.jsxs)("section",{children:[(0,i.jsx)("h2",{children:"Rest of the day"}),(0,i.jsxs)("ul",{children:[(0,i.jsx)("li",{className:"fragment",children:"Wiederholung"}),(0,i.jsx)("li",{className:"fragment",children:"Entwicklungsumgebung einrichten"})]})]})})]})}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/238cd375.79292ff9.js b/pr-preview/pr-236/assets/js/238cd375.79292ff9.js
deleted file mode 100644
index 916654bc30..0000000000
--- a/pr-preview/pr-236/assets/js/238cd375.79292ff9.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["4764"],{66319:function(e,n,t){t.r(n),t.d(n,{metadata:()=>r,contentTitle:()=>c,default:()=>h,assets:()=>u,toc:()=>d,frontMatter:()=>o});var r=JSON.parse('{"id":"documentation/java-collections-framework","title":"Java Collections Framework","description":"","source":"@site/docs/documentation/java-collections-framework.mdx","sourceDirName":"documentation","slug":"/documentation/java-collections-framework","permalink":"/java-docs/pr-preview/pr-236/documentation/java-collections-framework","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/documentation/java-collections-framework.mdx","tags":[{"inline":true,"label":"collections","permalink":"/java-docs/pr-preview/pr-236/tags/collections"},{"inline":true,"label":"lists","permalink":"/java-docs/pr-preview/pr-236/tags/lists"},{"inline":true,"label":"sets","permalink":"/java-docs/pr-preview/pr-236/tags/sets"},{"inline":true,"label":"queues","permalink":"/java-docs/pr-preview/pr-236/tags/queues"}],"version":"current","sidebarPosition":224,"frontMatter":{"title":"Java Collections Framework","description":"","sidebar_position":224,"tags":["collections","lists","sets","queues"]},"sidebar":"documentationSidebar","previous":{"title":"Komparatoren","permalink":"/java-docs/pr-preview/pr-236/documentation/comparators"},"next":{"title":"Schl\xfcsseltransformationen (Hashing)","permalink":"/java-docs/pr-preview/pr-236/documentation/hashing"}}'),a=t("85893"),i=t("50065"),s=t("47902"),l=t("5525");let o={title:"Java Collections Framework",description:"",sidebar_position:224,tags:["collections","lists","sets","queues"]},c=void 0,u={},d=[{value:"Iteratoren",id:"iteratoren",level:2}];function m(e){let n={a:"a",code:"code",h2:"h2",mermaid:"mermaid",p:"p",pre:"pre",...(0,i.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(n.p,{children:["Collections sind Beh\xe4lter, die beliebig viele Objekte aufnehmen k\xf6nnen. Der\nBeh\xe4lter \xfcbernimmt dabei die Verantwortung f\xfcr die Elemente. Collections werden\nauch als (Daten-)Sammlungen bezeichnet. Alle Collections-Schnittstellen und\nKlassen befinden sich im Paket ",(0,a.jsx)(n.code,{children:"java.util"}),". Die Grundformen der Datensammlungen\nsind die Schnittstellen ",(0,a.jsx)(n.code,{children:"List"}),", ",(0,a.jsx)(n.code,{children:"Set"})," und ",(0,a.jsx)(n.code,{children:"Queue"}),". Zu allen\nSchnittstellen existieren konkrete Implementierungen sowie abstrakte Klassen,\ndie zum Erstellen eigener Collections-Klassen verwendet werden k\xf6nnen."]}),"\n",(0,a.jsxs)(s.Z,{children:[(0,a.jsxs)(l.Z,{value:"a",label:"Listen (Lists)",default:!0,children:[(0,a.jsx)(n.p,{children:"Unter einer Liste (List) versteht man eine geordnete Folge von Objekten. Listen\nk\xf6nnen doppelte Elemente enthalten. Der Zugriff auf die Elemente erfolgt \xfcber\nden Index oder sequentiell."}),(0,a.jsx)(n.mermaid,{value:"flowchart\n subgraph names\n name1(Lisa)\n name2(Peter)\n name3(Lisa)\n name4(Hans)\n end"}),(0,a.jsxs)(n.p,{children:["Konkrete Implementierungen der Schnittstelle ",(0,a.jsx)(n.code,{children:"List"})," stellen die Klassen\n",(0,a.jsx)(n.code,{children:"ArrayList"})," und ",(0,a.jsx)(n.code,{children:"LinkedList"})," (siehe auch\n",(0,a.jsx)(n.a,{href:"array-lists",children:"Feldbasierte Listen"})," und ",(0,a.jsx)(n.a,{href:"lists",children:"Listen"}),") dar."]})]}),(0,a.jsxs)(l.Z,{value:"b",label:"Mengen (Sets)",children:[(0,a.jsx)(n.p,{children:"Unter einer Menge (Set) versteht man eine Ansammlung von Elementen. Mengen\nk\xf6nnen keine doppelten Elemente beinhalten. Der Zugriff erfolgt \xfcber typische\nMengenoperationen."}),(0,a.jsx)(n.mermaid,{value:"flowchart LR\n subgraph names\n name1(Lisa)\n name2(Peter)\n name3(Hans)\n end"}),(0,a.jsxs)(n.p,{children:["Konkrete Implementierungen der Schnittstelle ",(0,a.jsx)(n.code,{children:"Set"})," stellen die Klassen\n",(0,a.jsx)(n.code,{children:"HashSet"})," und ",(0,a.jsx)(n.code,{children:"TreeSet"})," dar. Die Klasse ",(0,a.jsx)(n.code,{children:"HashSet"})," implementiert die\nMenge dabei in Form einer Hashtabelle, die Klasse ",(0,a.jsx)(n.code,{children:"TreeSet"})," in Form eines\nBin\xe4rbaumes."]})]}),(0,a.jsxs)(l.Z,{value:"c",label:"Warteschlangen (Queues)",children:[(0,a.jsx)(n.p,{children:"Unter einer Warteschlange (Queue) versteht man eine Folge von Objekten, bei der\ndas Anf\xfcgen und L\xf6schen von Objekten nach dem FIFO-Prinzip (First In First Out)\nfunktioniert. Bei einer Warteschlange kann ein neues Objekt immer nur am Ende\nangef\xfcgt werden und nur das Objekt, das am Anfang der Warteschlange steht,\ngel\xf6scht werden. Warteschlangen k\xf6nnen doppelte Elemente enthalten."}),(0,a.jsx)(n.mermaid,{value:"flowchart LR\n name1 --\x3e name2 --\x3e name3 --\x3e name4 --\x3e name5\n\n name1(Lisa)\n subgraph names\n direction LR\n name2(Peter)\n name3(Lisa)\n name4(Hans)\n end\n name5(Max)"}),(0,a.jsxs)(n.p,{children:["Konkrete Implementierungen der Schnittstelle ",(0,a.jsx)(n.code,{children:"Queue"})," stellen die Klassen\n",(0,a.jsx)(n.code,{children:"PriorityQueue"})," und ",(0,a.jsx)(n.code,{children:"LinkedList"})," dar. Die Klasse ",(0,a.jsx)(n.code,{children:"PriorityQueue"}),"\nimplementiert die Warteschlange als eine Vorrang-Warteschlange. Bei einer\nVorrang-Warteschlange werden die Elemente gem\xe4\xdf ihrer Wichtigkeit sortiert, das\nhei\xdft, sie funktioniert nicht nach dem FIFO-Prinzip."]})]})]}),"\n",(0,a.jsx)(n.h2,{id:"iteratoren",children:"Iteratoren"}),"\n",(0,a.jsxs)(n.p,{children:["Ein Iterator erlaubt den sequentiellen Zugriff auf die Elemente einer\nDatensammlung. Iteratoren werden durch die Schnittstelle ",(0,a.jsx)(n.code,{children:"Iterator"}),"\ndefiniert; diese bietet die Methoden ",(0,a.jsx)(n.code,{children:"boolean hasNext()"}),", ",(0,a.jsx)(n.code,{children:"E next()"})," und\n",(0,a.jsx)(n.code,{children:"void remove()"}),". Die von ",(0,a.jsx)(n.code,{children:"Iterator"})," abgeleitete Schnittstelle\n",(0,a.jsx)(n.code,{children:"ListIterator"})," bietet zus\xe4tzliche Methoden zum Ver\xe4ndern einer Liste."]}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-java",metastring:'title="MainClass.java" showLineNumbers',children:'public class MainClass {\n\n public static void main(String[] args) {\n\n List names = List.of("Hans", "Peter", "Lisa");\n\n Iterator iterator = names.iterator();\n while (iterator.hasNext()) {\n String name = iterator.next();\n System.out.println(name);\n }\n\n }\n\n}\n'})}),"\n",(0,a.jsx)(n.p,{children:"Auch die bereits bekannte for-each-Schleife basiert auf Iteratoren. Die\nausf\xfchrliche Schreibeweise mit Iteratoren wird auch als erweiterte for-Schleife\nbezeichnet. Beim Kompilieren werden for-each-Schleifen um Iteratoren erg\xe4nzt."}),"\n",(0,a.jsx)(n.pre,{children:(0,a.jsx)(n.code,{className:"language-java",metastring:'title="MainClass.java" showLineNumbers',children:'public class MainClass {\n\n public static void main(String[] args) {\n\n List names = List.of("Hans", "Peter", "Lisa");\n\n for (Iterator iterator = names.iterator(); iterator.hasNext();) {\n String name = iterator.next();\n System.out.println(name);\n }\n\n /* Kurzschreibweise */\n for (String name: names) {\n System.out.println(name);\n }\n\n }\n\n}\n'})})]})}function h(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,a.jsx)(n,{...e,children:(0,a.jsx)(m,{...e})}):m(e)}},5525:function(e,n,t){t.d(n,{Z:()=>s});var r=t("85893");t("67294");var a=t("67026");let i="tabItem_Ymn6";function s(e){let{children:n,hidden:t,className:s}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,a.Z)(i,s),hidden:t,children:n})}},47902:function(e,n,t){t.d(n,{Z:()=>x});var r=t("85893"),a=t("67294"),i=t("67026"),s=t("69599"),l=t("16550"),o=t("32000"),c=t("4520"),u=t("38341"),d=t("76009");function m(e){return a.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||a.isValidElement(e)&&function(e){let{props:n}=e;return!!n&&"object"==typeof n&&"value"in n}(e))return e;throw Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})?.filter(Boolean)??[]}function h(e){let{value:n,tabValues:t}=e;return t.some(e=>e.value===n)}var p=t("7227");let f="tabList__CuJ",b="tabItem_LNqP";function v(e){let{className:n,block:t,selectedValue:a,selectValue:l,tabValues:o}=e,c=[],{blockElementScrollPositionUntilNextRender:u}=(0,s.o5)(),d=e=>{let n=e.currentTarget,t=o[c.indexOf(n)].value;t!==a&&(u(n),l(t))},m=e=>{let n=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let t=c.indexOf(e.currentTarget)+1;n=c[t]??c[0];break}case"ArrowLeft":{let t=c.indexOf(e.currentTarget)-1;n=c[t]??c[c.length-1]}}n?.focus()};return(0,r.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":t},n),children:o.map(e=>{let{value:n,label:t,attributes:s}=e;return(0,r.jsx)("li",{role:"tab",tabIndex:a===n?0:-1,"aria-selected":a===n,ref:e=>c.push(e),onKeyDown:m,onClick:d,...s,className:(0,i.Z)("tabs__item",b,s?.className,{"tabs__item--active":a===n}),children:t??n},n)})})}function g(e){let{lazy:n,children:t,selectedValue:s}=e,l=(Array.isArray(t)?t:[t]).filter(Boolean);if(n){let e=l.find(e=>e.props.value===s);return e?(0,a.cloneElement)(e,{className:(0,i.Z)("margin-top--md",e.props.className)}):null}return(0,r.jsx)("div",{className:"margin-top--md",children:l.map((e,n)=>(0,a.cloneElement)(e,{key:n,hidden:e.props.value!==s}))})}function j(e){let n=function(e){let{defaultValue:n,queryString:t=!1,groupId:r}=e,i=function(e){let{values:n,children:t}=e;return(0,a.useMemo)(()=>{let e=n??m(t).map(e=>{let{props:{value:n,label:t,attributes:r,default:a}}=e;return{value:n,label:t,attributes:r,default:a}});return!function(e){let n=(0,u.lx)(e,(e,n)=>e.value===n.value);if(n.length>0)throw Error(`Docusaurus error: Duplicate values "${n.map(e=>e.value).join(", ")}" found in . Every value needs to be unique.`)}(e),e},[n,t])}(e),[s,p]=(0,a.useState)(()=>(function(e){let{defaultValue:n,tabValues:t}=e;if(0===t.length)throw Error("Docusaurus error: the component requires at least one children component");if(n){if(!h({value:n,tabValues:t}))throw Error(`Docusaurus error: The has a defaultValue "${n}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return n}let r=t.find(e=>e.default)??t[0];if(!r)throw Error("Unexpected error: 0 tabValues");return r.value})({defaultValue:n,tabValues:i})),[f,b]=function(e){let{queryString:n=!1,groupId:t}=e,r=(0,l.k6)(),i=function(e){let{queryString:n=!1,groupId:t}=e;if("string"==typeof n)return n;if(!1===n)return null;if(!0===n&&!t)throw Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:n,groupId:t}),s=(0,c._X)(i);return[s,(0,a.useCallback)(e=>{if(!i)return;let n=new URLSearchParams(r.location.search);n.set(i,e),r.replace({...r.location,search:n.toString()})},[i,r])]}({queryString:t,groupId:r}),[v,g]=function(e){var n;let{groupId:t}=e;let r=(n=t)?`docusaurus.tab.${n}`:null,[i,s]=(0,d.Nk)(r);return[i,(0,a.useCallback)(e=>{if(!!r)s.set(e)},[r,s])]}({groupId:r}),j=(()=>{let e=f??v;return h({value:e,tabValues:i})?e:null})();return(0,o.Z)(()=>{j&&p(j)},[j]),{selectedValue:s,selectValue:(0,a.useCallback)(e=>{if(!h({value:e,tabValues:i}))throw Error(`Can't select invalid tab value=${e}`);p(e),b(e),g(e)},[b,g,i]),tabValues:i}}(e);return(0,r.jsxs)("div",{className:(0,i.Z)("tabs-container",f),children:[(0,r.jsx)(v,{...n,...e}),(0,r.jsx)(g,{...n,...e})]})}function x(e){let n=(0,p.Z)();return(0,r.jsx)(j,{...e,children:m(e.children)},String(n))}},50065:function(e,n,t){t.d(n,{Z:function(){return l},a:function(){return s}});var r=t(67294);let a={},i=r.createContext(a);function s(e){let n=r.useContext(i);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function l(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/238ef506.0e618a90.js b/pr-preview/pr-236/assets/js/238ef506.0e618a90.js
deleted file mode 100644
index 366beef7c3..0000000000
--- a/pr-preview/pr-236/assets/js/238ef506.0e618a90.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["7501"],{90956:function(e,n,a){a.r(n),a.d(n,{metadata:()=>r,contentTitle:()=>d,default:()=>c,assets:()=>o,toc:()=>l,frontMatter:()=>t});var r=JSON.parse('{"id":"documentation/lambdas","title":"Lambda-Ausdr\xfccke (Lambdas)","description":"","source":"@site/docs/documentation/lambdas.md","sourceDirName":"documentation","slug":"/documentation/lambdas","permalink":"/java-docs/pr-preview/pr-236/documentation/lambdas","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/documentation/lambdas.md","tags":[{"inline":true,"label":"inner-classes","permalink":"/java-docs/pr-preview/pr-236/tags/inner-classes"},{"inline":true,"label":"lambdas","permalink":"/java-docs/pr-preview/pr-236/tags/lambdas"}],"version":"current","sidebarPosition":265,"frontMatter":{"title":"Lambda-Ausdr\xfccke (Lambdas)","description":"","sidebar_position":265,"tags":["inner-classes","lambdas"]},"sidebar":"documentationSidebar","previous":{"title":"Innere Klassen (Inner Classes)","permalink":"/java-docs/pr-preview/pr-236/documentation/inner-classes"},"next":{"title":"Generische Programmierung","permalink":"/java-docs/pr-preview/pr-236/documentation/generics"}}'),s=a("85893"),i=a("50065");let t={title:"Lambda-Ausdr\xfccke (Lambdas)",description:"",sidebar_position:265,tags:["inner-classes","lambdas"]},d=void 0,o={},l=[{value:"Implementierung von Lambda-Ausdr\xfccken",id:"implementierung-von-lambda-ausdr\xfccken",level:2},{value:"Syntaxvarianten",id:"syntaxvarianten",level:2},{value:"Methodenreferenzen",id:"methodenreferenzen",level:2}];function m(e){let n={admonition:"admonition",code:"code",h2:"h2",li:"li",p:"p",pre:"pre",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(n.p,{children:"Lambda-Ausdr\xfccke sind anonyme Funktionen, die nur \xfcber ihre Referenz\nangesprochen werden k\xf6nnen."}),"\n",(0,s.jsx)(n.h2,{id:"implementierung-von-lambda-ausdr\xfccken",children:"Implementierung von Lambda-Ausdr\xfccken"}),"\n",(0,s.jsxs)(n.p,{children:["Die Methodenparameter sowie der Methodenk\xf6rper werden bei einem Lambda-Ausdruck\ngetrennt vom Pfeiloperator ",(0,s.jsx)(n.code,{children:"->"})," notiert."]}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-java",metastring:'title="MainClass.java" showLineNumbers',children:'public class MainClass {\n\n public static void main(String[] args) {\n List names = new ArrayList<>();\n names.add("Hans");\n names.add("Peter");\n names.add("Lisa");\n\n Collections.sort(names, (n1, n2) -> n2.compareTo(n1));\n names.forEach(n -> System.out.println(n));\n }\n\n}\n'})}),"\n",(0,s.jsx)(n.admonition,{title:"Hinweis",type:"note",children:(0,s.jsx)(n.p,{children:"Voraussetzung f\xfcr den Einsatz eines Lambda-Ausdrucks ist eine funktionale\nSchnittstelle, also eine Schnittstelle, die \xfcber genau eine Methode verf\xfcgt."})}),"\n",(0,s.jsx)(n.h2,{id:"syntaxvarianten",children:"Syntaxvarianten"}),"\n",(0,s.jsxs)(n.ul,{children:["\n",(0,s.jsx)(n.li,{children:"Bei keinem oder mehreren Methodenparametern m\xfcssen diese in runden Klammern\nangegeben werden, bei genau einem Methodenparameter k\xf6nnen die runden Klammern\nweggelassen werden"}),"\n",(0,s.jsx)(n.li,{children:"Besteht der Methodenk\xf6rper aus mehreren Anweisungen, m\xfcssen diese in\ngeschweiften Klammern angegeben werden, bei genau einer Anweisung k\xf6nnen die\ngeschweiften Klammern weggelassen werden"}),"\n",(0,s.jsxs)(n.li,{children:["Besteht der Methodenk\xf6rper aus genau einer Anweisung, kann das Semikolon am\nAnweisungsende weggelassen werden, ist die Anweisung eine return-Anweisung,\nkann auch das ",(0,s.jsx)(n.code,{children:"return"})," weggelassen werden"]}),"\n"]}),"\n",(0,s.jsx)(n.h2,{id:"methodenreferenzen",children:"Methodenreferenzen"}),"\n",(0,s.jsx)(n.p,{children:"Lambda-Ausdr\xfccke, die nur aus dem Aufruf einer Methode bestehen, k\xf6nnen als\nMethodenreferenz dargestellt werden. Bei einer Methodenreferenz wird die Klasse\nbzw. die Referenz auf der linken Seite mit Hilfe zweier Doppelpunkte vom\nMethodennamen auf der recht Seite getrennt."}),"\n",(0,s.jsx)(n.pre,{children:(0,s.jsx)(n.code,{className:"language-java",metastring:'title="MainClass.java" showLineNumbers',children:"public class MainClass {\n\n public static void main(String[] args) {\n List numbers = new ArrayList<>();\n numbers.add(256);\n numbers.add(314);\n numbers.add(127);\n\n numbers.stream().map(n -> n.byteValue()).forEach(b -> System.out.println(b)); // Lambda-Ausdruck\n numbers.stream().map(Integer::byteValue).forEach(System.out::println); // Methodenreferenz\n }\n\n}\n"})})]})}function c(e={}){let{wrapper:n}={...(0,i.a)(),...e.components};return n?(0,s.jsx)(n,{...e,children:(0,s.jsx)(m,{...e})}):m(e)}},50065:function(e,n,a){a.d(n,{Z:function(){return d},a:function(){return t}});var r=a(67294);let s={},i=r.createContext(s);function t(e){let n=r.useContext(i);return r.useMemo(function(){return"function"==typeof e?e(n):{...n,...e}},[n,e])}function d(e){let n;return n=e.disableParentContext?"function"==typeof e.components?e.components(s):e.components||s:t(e.components),r.createElement(i.Provider,{value:n},e.children)}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/23a472b6.1934cf35.js b/pr-preview/pr-236/assets/js/23a472b6.1934cf35.js
deleted file mode 100644
index 6c0fdb9bb6..0000000000
--- a/pr-preview/pr-236/assets/js/23a472b6.1934cf35.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["3055"],{95017:function(e,r,t){t.r(r),t.d(r,{metadata:()=>n,contentTitle:()=>o,default:()=>p,assets:()=>u,toc:()=>c,frontMatter:()=>l});var n=JSON.parse('{"id":"exercises/arrays/arrays01","title":"Arrays01","description":"","source":"@site/docs/exercises/arrays/arrays01.mdx","sourceDirName":"exercises/arrays","slug":"/exercises/arrays/arrays01","permalink":"/java-docs/pr-preview/pr-236/exercises/arrays/arrays01","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/arrays/arrays01.mdx","tags":[],"version":"current","frontMatter":{"title":"Arrays01","description":""},"sidebar":"exercisesSidebar","previous":{"title":"Felder (Arrays)","permalink":"/java-docs/pr-preview/pr-236/exercises/arrays/"},"next":{"title":"Arrays02","permalink":"/java-docs/pr-preview/pr-236/exercises/arrays/arrays02"}}'),a=t("85893"),s=t("50065"),i=t("39661");let l={title:"Arrays01",description:""},o=void 0,u={},c=[{value:"Konsolenausgabe",id:"konsolenausgabe",level:2},{value:"Hinweis",id:"hinweis",level:2}];function d(e){let r={code:"code",h2:"h2",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.p,{children:"Erstelle eine ausf\xfchrbare Klasse, welche alle Zweierpotenzen von 0 bis 15\nberechnet, in einem Feld speichert und anschlie\xdfend auf dem Bildschirm ausgibt."}),"\n",(0,a.jsx)(r.h2,{id:"konsolenausgabe",children:"Konsolenausgabe"}),"\n",(0,a.jsx)(r.pre,{children:(0,a.jsx)(r.code,{className:"language-console",children:"Zweierpotenzen:\n1\n2\n4\n8\n16\n32\n64\n128\n...\n"})}),"\n",(0,a.jsx)(r.h2,{id:"hinweis",children:"Hinweis"}),"\n",(0,a.jsxs)(r.p,{children:["Die statische Methode ",(0,a.jsx)(r.code,{children:"double pow(a: double, b: double)"})," der Klasse ",(0,a.jsx)(r.code,{children:"Math"})," gibt\nden Potenzwert zur eingehenden Basis und dem eingehenden Exponenten zur\xfcck."]}),"\n",(0,a.jsx)(i.Z,{pullRequest:"18",branchSuffix:"arrays/01"})]})}function p(e={}){let{wrapper:r}={...(0,s.a)(),...e.components};return r?(0,a.jsx)(r,{...e,children:(0,a.jsx)(d,{...e})}):d(e)}},5525:function(e,r,t){t.d(r,{Z:()=>i});var n=t("85893");t("67294");var a=t("67026");let s="tabItem_Ymn6";function i(e){let{children:r,hidden:t,className:i}=e;return(0,n.jsx)("div",{role:"tabpanel",className:(0,a.Z)(s,i),hidden:t,children:r})}},47902:function(e,r,t){t.d(r,{Z:()=>j});var n=t("85893"),a=t("67294"),s=t("67026"),i=t("69599"),l=t("16550"),o=t("32000"),u=t("4520"),c=t("38341"),d=t("76009");function p(e){return a.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||a.isValidElement(e)&&function(e){let{props:r}=e;return!!r&&"object"==typeof r&&"value"in r}(e))return e;throw Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)})?.filter(Boolean)??[]}function h(e){let{value:r,tabValues:t}=e;return t.some(e=>e.value===r)}var f=t("7227");let b="tabList__CuJ",v="tabItem_LNqP";function m(e){let{className:r,block:t,selectedValue:a,selectValue:l,tabValues:o}=e,u=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.o5)(),d=e=>{let r=e.currentTarget,t=o[u.indexOf(r)].value;t!==a&&(c(r),l(t))},p=e=>{let r=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{let t=u.indexOf(e.currentTarget)+1;r=u[t]??u[0];break}case"ArrowLeft":{let t=u.indexOf(e.currentTarget)-1;r=u[t]??u[u.length-1]}}r?.focus()};return(0,n.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":t},r),children:o.map(e=>{let{value:r,label:t,attributes:i}=e;return(0,n.jsx)("li",{role:"tab",tabIndex:a===r?0:-1,"aria-selected":a===r,ref:e=>u.push(e),onKeyDown:p,onClick:d,...i,className:(0,s.Z)("tabs__item",v,i?.className,{"tabs__item--active":a===r}),children:t??r},r)})})}function x(e){let{lazy:r,children:t,selectedValue:i}=e,l=(Array.isArray(t)?t:[t]).filter(Boolean);if(r){let e=l.find(e=>e.props.value===i);return e?(0,a.cloneElement)(e,{className:(0,s.Z)("margin-top--md",e.props.className)}):null}return(0,n.jsx)("div",{className:"margin-top--md",children:l.map((e,r)=>(0,a.cloneElement)(e,{key:r,hidden:e.props.value!==i}))})}function g(e){let r=function(e){let{defaultValue:r,queryString:t=!1,groupId:n}=e,s=function(e){let{values:r,children:t}=e;return(0,a.useMemo)(()=>{let e=r??p(t).map(e=>{let{props:{value:r,label:t,attributes:n,default:a}}=e;return{value:r,label:t,attributes:n,default:a}});return!function(e){let r=(0,c.lx)(e,(e,r)=>e.value===r.value);if(r.length>0)throw Error(`Docusaurus error: Duplicate values "${r.map(e=>e.value).join(", ")}" found in . Every value needs to be unique.`)}(e),e},[r,t])}(e),[i,f]=(0,a.useState)(()=>(function(e){let{defaultValue:r,tabValues:t}=e;if(0===t.length)throw Error("Docusaurus error: the component requires at least one children component");if(r){if(!h({value:r,tabValues:t}))throw Error(`Docusaurus error: The has a defaultValue "${r}" but none of its children has the corresponding value. Available values are: ${t.map(e=>e.value).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return r}let n=t.find(e=>e.default)??t[0];if(!n)throw Error("Unexpected error: 0 tabValues");return n.value})({defaultValue:r,tabValues:s})),[b,v]=function(e){let{queryString:r=!1,groupId:t}=e,n=(0,l.k6)(),s=function(e){let{queryString:r=!1,groupId:t}=e;if("string"==typeof r)return r;if(!1===r)return null;if(!0===r&&!t)throw Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return t??null}({queryString:r,groupId:t}),i=(0,u._X)(s);return[i,(0,a.useCallback)(e=>{if(!s)return;let r=new URLSearchParams(n.location.search);r.set(s,e),n.replace({...n.location,search:r.toString()})},[s,n])]}({queryString:t,groupId:n}),[m,x]=function(e){var r;let{groupId:t}=e;let n=(r=t)?`docusaurus.tab.${r}`:null,[s,i]=(0,d.Nk)(n);return[s,(0,a.useCallback)(e=>{if(!!n)i.set(e)},[n,i])]}({groupId:n}),g=(()=>{let e=b??m;return h({value:e,tabValues:s})?e:null})();return(0,o.Z)(()=>{g&&f(g)},[g]),{selectedValue:i,selectValue:(0,a.useCallback)(e=>{if(!h({value:e,tabValues:s}))throw Error(`Can't select invalid tab value=${e}`);f(e),v(e),x(e)},[v,x,s]),tabValues:s}}(e);return(0,n.jsxs)("div",{className:(0,s.Z)("tabs-container",b),children:[(0,n.jsx)(m,{...r,...e}),(0,n.jsx)(x,{...r,...e})]})}function j(e){let r=(0,f.Z)();return(0,n.jsx)(g,{...e,children:p(e.children)},String(r))}},39661:function(e,r,t){t.d(r,{Z:function(){return o}});var n=t(85893);t(67294);var a=t(47902),s=t(5525),i=t(83012),l=t(45056);function o(e){let{pullRequest:r,branchSuffix:t}=e;return(0,n.jsxs)(a.Z,{children:[(0,n.jsxs)(s.Z,{value:"exercise",label:"Exercise",default:!0,children:[(0,n.jsx)(l.Z,{language:"console",children:`git switch exercises/${t}`}),(0,n.jsx)(i.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/exercises/${t}/Exercise.java`,children:(0,n.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,n.jsxs)(s.Z,{value:"solution",label:"Solution",children:[(0,n.jsx)(l.Z,{language:"console",children:`git switch solutions/${t}`}),(0,n.jsx)(i.Z,{to:`https://gitpod.io/#https://github.com/jappuccini/java-exercises/blob/solutions/${t}/Exercise.java`,children:(0,n.jsx)("img",{alt:"Open in Gitpod",src:"https://gitpod.io/button/open-in-gitpod.svg"})})]}),(0,n.jsxs)(s.Z,{value:"pullrequest",label:"Pull Request",children:["Alle \xa0\xc4nderungen zwischen der Aufgabe und der L\xf6sung findest du im Pull Request"," ",(0,n.jsxs)(i.Z,{to:`https://github.com/jappuccini/java-exercises/pull/${r}/files?diff=split`,children:["PR#",r]})]})]})}}}]);
\ No newline at end of file
diff --git a/pr-preview/pr-236/assets/js/248e9f76.b8990956.js b/pr-preview/pr-236/assets/js/248e9f76.b8990956.js
deleted file mode 100644
index f76cbd4467..0000000000
--- a/pr-preview/pr-236/assets/js/248e9f76.b8990956.js
+++ /dev/null
@@ -1 +0,0 @@
-"use strict";(self.webpackChunkjava_docs=self.webpackChunkjava_docs||[]).push([["724"],{88063:function(e,t,r){r.r(t),r.d(t,{metadata:()=>a,contentTitle:()=>u,default:()=>h,assets:()=>o,toc:()=>c,frontMatter:()=>l});var a=JSON.parse('{"id":"exercises/lambdas/lambdas03","title":"Lambdas03","description":"","source":"@site/docs/exercises/lambdas/lambdas03.mdx","sourceDirName":"exercises/lambdas","slug":"/exercises/lambdas/lambdas03","permalink":"/java-docs/pr-preview/pr-236/exercises/lambdas/lambdas03","draft":false,"unlisted":false,"editUrl":"https://github.com/jappuccini/java-docs/tree/main/docs/exercises/lambdas/lambdas03.mdx","tags":[],"version":"current","frontMatter":{"title":"Lambdas03","description":""},"sidebar":"exercisesSidebar","previous":{"title":"Lambdas02","permalink":"/java-docs/pr-preview/pr-236/exercises/lambdas/lambdas02"},"next":{"title":"Lambdas04","permalink":"/java-docs/pr-preview/pr-236/exercises/lambdas/lambdas04"}}'),n=r("85893"),s=r("50065"),i=r("39661");let l={title:"Lambdas03",description:""},u=void 0,o={},c=[];function d(e){let t={a:"a",code:"code",li:"li",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["Passe die Klasse ",(0,n.jsx)(t.code,{children:"FilteredStudents"})," so an, dass Verwender der Klasse selber\nentscheiden k\xf6nnen, wie die Studentenliste verarbeitet werden soll. Ersetze\nhierzu die Methode ",(0,n.jsx)(t.code,{children:"void printStudents()"})," durch die Methode\n",(0,n.jsx)(t.code,{children:"void forEach(consumer: Consumer)"}),". Implementiere in der Methode eine\nSchleife, in der f\xfcr jeden Studenten die Methode ",(0,n.jsx)(t.code,{children:"void accept(t: T)"})," des\neingehenden Verwenders aufgerufen wird"]}),"\n",(0,n.jsxs)(t.li,{children:["Passe die ausf\xfchrbare Klasse aus \xdcbungsaufgabe ",(0,n.jsx)(t.a,{href:"lambdas02",children:"Lambdas02"})," so an,\ndass vollj\xe4hrige Studenten in Gro\xdfbuchstaben und minderj\xe4hrige Studenten in\nKleinbuchstaben auf der Konsole ausgegeben werden"]}),"\n"]}),"\n",(0,n.jsx)(i.Z,{pullRequest:"69",branchSuffix:"lambdas/03"})]})}function h(e={}){let{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(d,{...e})}):d(e)}},5525:function(e,t,r){r.d(t,{Z:()=>i});var a=r("85893");r("67294");var n=r("67026");let s="tabItem_Ymn6";function i(e){let{children:t,hidden:r,className:i}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,n.Z)(s,i),hidden:r,children:t})}},47902:function(e,t,r){r.d(t,{Z:()=>g});var a=r("85893"),n=r("67294"),s=r("67026"),i=r("69599"),l=r("16550"),u=r("32000"),o=r("4520"),c=r("38341"),d=r("76009");function h(e){return n.Children.toArray(e).filter(e=>"\n"!==e).map(e=>{if(!e||n.isValidElement(e)&&function(e){let{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw Error(`Docusaurus error: Bad