diff --git a/.gitattributes b/.gitattributes index 5ff18dd79dc9f7cc1a0b718b13b022ca945ad074..453f56fa8afb93bb9446f910e3f72f57306b4f8f 100644 --- a/.gitattributes +++ b/.gitattributes @@ -34,3 +34,13 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text *.zst filter=lfs diff=lfs merge=lfs -text *tfevents* filter=lfs diff=lfs merge=lfs -text lecture-01/slides.pdf filter=lfs diff=lfs merge=lfs -text +lecture-01/assets/book-raschka-mNdDqW1A.jpeg filter=lfs diff=lfs merge=lfs -text +lecture-01/assets/dalle-brain-rocket-CNkl6z2t.jpeg filter=lfs diff=lfs merge=lfs -text +lecture-01/assets/dalle-dragonfruit-CGiA0H30.jpeg filter=lfs diff=lfs merge=lfs -text +lecture-01/assets/home-globe-Ca_kMWE9.jpeg filter=lfs diff=lfs merge=lfs -text +lecture-01/assets/home-train-DMUMiSnz.jpeg filter=lfs diff=lfs merge=lfs -text +lecture-01/assets/llm-evolutionary-tree-CduF83L_.jpeg filter=lfs diff=lfs merge=lfs -text +lecture-01/assets/research-ecg-ljyEVJf6.jpeg filter=lfs diff=lfs merge=lfs -text +lecture-01/assets/research-polyps-BnJ5zZJF.jpeg filter=lfs diff=lfs merge=lfs -text +lecture-01/assets/synthetic-ecg-BNIVEI6m.jpeg filter=lfs diff=lfs merge=lfs -text +lecture-01/assets/synthetic-polyp-CIkbWMkW.jpeg filter=lfs diff=lfs merge=lfs -text diff --git a/lecture-01/404.html b/lecture-01/404.html index 95c273e35e2b986c2dfeb550906cf7929bc5979e..5b4a847f121260d892ce76ee12c54bd477aa54a1 100644 --- a/lecture-01/404.html +++ b/lecture-01/404.html @@ -5,22 +5,41 @@
o&&(t=o),n c&&(i=c),a \` around edge labels.
+ *
+ * TODO: We should probably remove this in a future release.
+ */
+ p {
+ margin: 0;
+ padding: 0;
+ display: inline;
+ }
+ rect {
+ opacity: 0.5;
+ background-color: ${e.edgeLabelBackground};
+ fill: ${e.edgeLabelBackground};
+ }
+ text-align: center;
+ }
+
+ /* For html labels only */
+ .labelBkg {
+ background-color: ${e.edgeLabelBackground};
+ }
+
+ .node .cluster {
+ // fill: ${F(e.mainBkg,.5)};
+ fill: ${F(e.clusterBkg,.5)};
+ stroke: ${F(e.clusterBorder,.2)};
+ box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
+ stroke-width: 1px;
+ }
+
+ .cluster text {
+ fill: ${e.titleColor};
+ }
+
+ .cluster span,p {
+ color: ${e.titleColor};
+ }
+ /* .cluster div {
+ color: ${e.titleColor};
+ } */
+
+ div.mermaidTooltip {
+ position: absolute;
+ text-align: center;
+ max-width: 200px;
+ padding: 2px;
+ font-family: ${e.fontFamily};
+ font-size: 12px;
+ background: ${e.tertiaryColor};
+ border: 1px solid ${e.border2};
+ border-radius: 2px;
+ pointer-events: none;
+ z-index: 100;
+ }
+
+ .flowchartTitleText {
+ text-anchor: middle;
+ font-size: 18px;
+ fill: ${e.textColor};
+ }
+ ${T()}
+`,`getStyles`),ye=e((e,t,n,r)=>{t.forEach(t=>{be[t](e,n,r)})},`insertMarkers`),be={extension:e((e,t,r)=>{n.trace(`Making markers for `,r),e.append(`defs`).append(`marker`).attr(`id`,r+`_`+t+`-extensionStart`).attr(`class`,`marker extension `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,7 L18,13 V 1 Z`),e.append(`defs`).append(`marker`).attr(`id`,r+`_`+t+`-extensionEnd`).attr(`class`,`marker extension `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 V 13 L18,7 Z`)},`extension`),composition:e((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-compositionStart`).attr(`class`,`marker composition `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-compositionEnd`).attr(`class`,`marker composition `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`)},`composition`),aggregation:e((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-aggregationStart`).attr(`class`,`marker aggregation `+t).attr(`refX`,18).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-aggregationEnd`).attr(`class`,`marker aggregation `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L1,7 L9,1 Z`)},`aggregation`),dependency:e((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-dependencyStart`).attr(`class`,`marker dependency `+t).attr(`refX`,6).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 5,7 L9,13 L1,7 L9,1 Z`),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-dependencyEnd`).attr(`class`,`marker dependency `+t).attr(`refX`,13).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,28).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 18,7 L9,13 L14,7 L9,1 Z`)},`dependency`),lollipop:e((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-lollipopStart`).attr(`class`,`marker lollipop `+t).attr(`refX`,13).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`circle`).attr(`stroke`,`black`).attr(`fill`,`transparent`).attr(`cx`,7).attr(`cy`,7).attr(`r`,6),e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-lollipopEnd`).attr(`class`,`marker lollipop `+t).attr(`refX`,1).attr(`refY`,7).attr(`markerWidth`,190).attr(`markerHeight`,240).attr(`orient`,`auto`).append(`circle`).attr(`stroke`,`black`).attr(`fill`,`transparent`).attr(`cx`,7).attr(`cy`,7).attr(`r`,6)},`lollipop`),point:e((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-pointEnd`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,6).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,12).attr(`markerHeight`,12).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 0 L 10 5 L 0 10 z`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-pointStart`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,4.5).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,12).attr(`markerHeight`,12).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 0 5 L 10 10 L 10 0 z`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`)},`point`),circle:e((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-circleEnd`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,11).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`circle`).attr(`cx`,`5`).attr(`cy`,`5`).attr(`r`,`5`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-circleStart`).attr(`class`,`marker `+t).attr(`viewBox`,`0 0 10 10`).attr(`refX`,-1).attr(`refY`,5).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`circle`).attr(`cx`,`5`).attr(`cy`,`5`).attr(`r`,`5`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,1).style(`stroke-dasharray`,`1,0`)},`circle`),cross:e((e,t,n)=>{e.append(`marker`).attr(`id`,n+`_`+t+`-crossEnd`).attr(`class`,`marker cross `+t).attr(`viewBox`,`0 0 11 11`).attr(`refX`,12).attr(`refY`,5.2).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 l 9,9 M 10,1 l -9,9`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,2).style(`stroke-dasharray`,`1,0`),e.append(`marker`).attr(`id`,n+`_`+t+`-crossStart`).attr(`class`,`marker cross `+t).attr(`viewBox`,`0 0 11 11`).attr(`refX`,-1).attr(`refY`,5.2).attr(`markerUnits`,`userSpaceOnUse`).attr(`markerWidth`,11).attr(`markerHeight`,11).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 1,1 l 9,9 M 10,1 l -9,9`).attr(`class`,`arrowMarkerPath`).style(`stroke-width`,2).style(`stroke-dasharray`,`1,0`)},`cross`),barb:e((e,t,n)=>{e.append(`defs`).append(`marker`).attr(`id`,n+`_`+t+`-barbEnd`).attr(`refX`,19).attr(`refY`,7).attr(`markerWidth`,20).attr(`markerHeight`,14).attr(`markerUnits`,`strokeWidth`).attr(`orient`,`auto`).append(`path`).attr(`d`,`M 19,7 L9,13 L14,7 L9,1 Z`)},`barb`)},xe=ye;function I(e,t){if(e===0||!Number.isInteger(e))throw Error(`Columns must be an integer !== 0.`);if(t<0||!Number.isInteger(t))throw Error(`Position must be a non-negative integer.`+t);return e<0?{px:t,py:0}:e===1?{px:0,py:t}:{px:t%e,py:Math.floor(t/e)}}e(I,`calculateBlockPosition`);var Se=e(e=>{let t=0,r=0;for(let i of e.children){let{width:e,height:a,x:o,y:s}=i.size??{width:0,height:0,x:0,y:0};if(n.debug(`getMaxChildSize abc95 child:`,i.id,`width:`,e,`height:`,a,`x:`,o,`y:`,s,i.type),i.type===`space`)continue;let c=e/(i.widthInColumns??1);c>t&&(t=c),a>r&&(r=a)}return{width:t,height:r}},`getMaxChildSize`);function L(e,t,r=0,i=0,a=8){n.debug(`setBlockSizes abc95 (start)`,e.id,e?.size?.x,`block width =`,e?.size,`siblingWidth`,r),e?.size?.width||(e.size={width:r,height:i,x:0,y:0});let o=0,s=0;if(e.children?.length>0){for(let n of e.children)L(n,t,0,0,a);let c=Se(e);o=c.width,s=c.height,n.debug(`setBlockSizes abc95 maxWidth of`,e.id,`:s children is `,o,s);for(let t of e.children)t.size&&(n.debug(`abc95 Setting size of children of ${e.id} id=${t.id} ${o} ${s} ${JSON.stringify(t.size)}`),t.size.width=o*(t.widthInColumns??1)+a*((t.widthInColumns??1)-1),t.size.height=s,t.size.x=0,t.size.y=0,n.debug(`abc95 updating size of ${e.id} children child:${t.id} maxWidth:${o} maxHeight:${s}`));for(let n of e.children)L(n,t,o,s,a);let l=e.columns??-1,u=0;for(let t of e.children)u+=t.widthInColumns??1;let d=e.children.length;l>0&&l0?Math.min(e.children.length,l):e.children.length;if(t>0){let r=(p-t*a-a)/t;n.debug(`abc95 (growing to fit) width`,e.id,p,e.size?.width,r);for(let t of e.children)t.size&&(t.size.width=r)}}e.size={width:p,height:m,x:0,y:0}}n.debug(`setBlockSizes abc94 (done)`,e.id,e?.size?.x,e?.size?.width,e?.size?.y,e?.size?.height)}e(L,`setBlockSizes`);function R(e,t,r=8){n.debug(`abc85 layout blocks (=>layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`);let i=e.columns??-1;if(n.debug(`layoutBlocks columns abc95`,e.id,`=>`,i,e),e.children&&e.children.length>0){let a=e?.children[0]?.size?.width??0,o=e.children.length*a+(e.children.length-1)*r;n.debug(`widthOfChildren 88`,o,`posX`);let s=new Map;{let t=0;for(let n of e.children){if(!n.size)continue;let{py:e}=I(i,t),r=s.get(e)??0;n.size.height>r&&s.set(e,n.size.height);let a=n?.widthInColumns??1;i>0&&(a=Math.min(a,i-t%i)),t+=a}}let c=new Map;{let e=0,t=[...s.keys()].sort((e,t)=>e-t);for(let n of t)c.set(n,e),e+=(s.get(n)??0)+r}let l=0;n.debug(`abc91 block?.size?.x`,e.id,e?.size?.x);let u=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-r,d=0;for(let a of e.children){let o=e;if(!a.size)continue;let{width:f,height:p}=a.size,{px:m,py:h}=I(i,l);if(h!=d&&(d=h,u=e?.size?.x?e?.size?.x+(-e?.size?.width/2||0):-r,n.debug(`New row in layout for block`,e.id,` and child `,a.id,d)),n.debug(`abc89 layout blocks (child) id: ${a.id} Pos: ${l} (px, py) ${m},${h} (${o?.size?.x},${o?.size?.y}) parent: ${o.id} width: ${f}${r}`),o.size){let e=f/2;a.size.x=u+r+e,n.debug(`abc91 layout blocks (calc) px, pyid:${a.id} startingPos=X${u} new startingPosX${a.size.x} ${e} padding=${r} width=${f} halfWidth=${e} => x:${a.size.x} y:${a.size.y} ${a.widthInColumns} (width * (child?.w || 1)) / 2 ${f*(a?.widthInColumns??1)/2}`),u=a.size.x+e;let t=c.get(h)??0,i=s.get(h)??p;a.size.y=o.size.y-o.size.height/2+t+i/2+r,n.debug(`abc88 layout blocks (calc) px, pyid:${a.id}startingPosX${u}${r}${e}=>x:${a.size.x}y:${a.size.y}${a.widthInColumns}(width * (child?.w || 1)) / 2${f*(a?.widthInColumns??1)/2}`)}a.children&&R(a,t,r);let g=a?.widthInColumns??1;i>0&&(g=Math.min(g,i-l%i)),l+=g,n.debug(`abc88 columnsPos`,a,l)}}n.debug(`layout blocks (<==layoutBlocks) ${e.id} x: ${e?.size?.x} y: ${e?.size?.y} width: ${e?.size?.width}`)}e(R,`layoutBlocks`);function z(e,{minX:t,minY:n,maxX:r,maxY:i}={minX:0,minY:0,maxX:0,maxY:0}){if(e.size&&e.id!==`root`){let{x:a,y:o,width:s,height:c}=e.size;a-s/2 ${this.parser.parseInline(e)} An error occurred: ${e.replace(/\\n|\n/g,` ${e.tokens?.map(a).join(``)} =0;l--){var u=c[l],d=u[1],f=u[2];(t[d]===o&&t[f]===s||t[d]===s&&t[f]===o)&&c.splice(l,1)}for(var p=0;pc&&(r=c),ic&&(r=c),io)return n[0]=r,n[1]=c,n[2]=a,n[3]=y,!1;if(i
`):h,r.labelStyle,!0,!0);if(s(o())){let e=_.children[0],n=t(_);m=e.getBoundingClientRect(),n.attr(`width`,m.width),n.attr(`height`,m.height)}let v=r.padding/2;return t(_).attr(`transform`,`translate( `+(m.width>g.width?0:(g.width-m.width)/2)+`, `+(g.height+v+5)+`)`),t(p).attr(`transform`,`translate( `+(m.width
+`:``+(n?i:N(i,!0))+`
+`}blockquote({tokens:e}){return``+(n?i:N(i,!0))+`
+${this.parser.parse(e)}
+`}html({text:e}){return e}def(e){return``}heading({tokens:e,depth:t}){return`
+`}list(e){let t=e.ordered,n=e.start,r=``;for(let t=0;t
+
+`+t+`
+`+r+`
+`}tablerow({text:e}){return`
+${e}
+`}tablecell(e){let t=this.parser.parseInline(e.tokens),n=e.header?`th`:`td`;return(e.align?`<${n} align="${e.align}">`:`<${n}>`)+t+`${n}>
+`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${N(e,!0)}`}br(e){return`
`}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:n}){let r=this.parser.parseInline(n),i=P(e);if(i===null)return r;e=i;let a=``+r+``,a}image({href:e,title:t,text:n,tokens:r}){r&&(n=this.parser.parseInline(r,this.parser.textRenderer));let i=P(e);if(i===null)return N(n);e=i;let a=``,a}text(e){return`tokens`in e&&e.tokens?this.parser.parseInline(e.tokens):`escaped`in e&&e.escaped?e.text:N(e.text)}},V=class{static{e(this,`$`)}strong({text:e}){return e}em({text:e}){return e}codespan({text:e}){return e}del({text:e}){return e}html({text:e}){return e}text({text:e}){return e}link({text:e}){return``+e}image({text:e}){return``+e}br(){return``}},H=class t{static{e(this,`l`)}options;renderer;textRenderer;constructor(e){this.options=e||p,this.options.renderer=this.options.renderer||new B,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new V}static parse(e,n){return new t(n).parse(e)}static parseInline(e,n){return new t(n).parseInline(e)}parse(e,t=!0){let n=``;for(let r=0;r
`+N(n.message+``,!0)+`
`;return t?Promise.resolve(e):e}if(t)return Promise.reject(n);throw n}}};function G(e,t){return W.parse(e,t)}e(G,`d`),G.options=G.setOptions=function(e){return W.setOptions(e),G.defaults=W.defaults,m(G.defaults),G},G.getDefaults=f,G.defaults=p,G.use=function(...e){return W.use(...e),G.defaults=W.defaults,m(G.defaults),G},G.walkTokens=function(e,t){return W.walkTokens(e,t)},G.parseInline=W.parseInline,G.Parser=H,G.parser=H.parse,G.Renderer=B,G.TextRenderer=V,G.Lexer=z,G.lexer=z.lex,G.Tokenizer=R,G.Hooks=U,G.parse=G,G.options,G.setOptions,G.use,G.walkTokens,G.parseInline,H.parse,z.lex;function We(e,{markdownAutoWrap:t}){return d(e.replace(/
/g,`
+`).replace(/\n{2,}/g,`
+`))}e(We,`preprocessMarkdown`);function Ge(e){return e.split(/\\n|\n|
/gi).map(e=>e.trim().match(/<[^>]+>|[^\s<>]+/g)?.map(e=>({content:e,type:`normal`}))??[])}e(Ge,`nonMarkdownToLines`);function Ke(t,n={}){let r=We(t,n),i=G.lexer(r),a=[[]],o=0;function s(e,t=`normal`){e.type===`text`?e.text.split(`
+`).forEach((e,n)=>{n!==0&&(o++,a.push([])),e.split(` `).forEach(e=>{e=e.replace(/'/g,`'`),e&&a[o].push({content:e,type:t})})}):e.type===`strong`||e.type===`em`?e.tokens.forEach(t=>{s(t,e.type)}):e.type===`html`&&a[o].push({content:e.text,type:`normal`})}return e(s,`processNode`),i.forEach(e=>{e.type===`paragraph`?e.tokens?.forEach(e=>{s(e)}):e.type===`html`?a[o].push({content:e.text,type:`normal`}):a[o].push({content:e.raw,type:`normal`})}),a}e(Ke,`markdownToLines`);function qe(e){return e?`
`)}
`).replace(/ /g,` `):e.text.replace(/\n */g,`
`):e.type===`strong`?`${e.tokens?.map(a).join(``)}`:e.type===`em`?`${e.tokens?.map(a).join(``)}`:e.type===`paragraph`?`
/g,`
`)),a=tt(f,e,u?Ke(n.replace(`
`,`
`),m):Ge(n),r?p:!1,!d);if(d){/stroke:/.exec(i)&&(i=i.replace(`stroke:`,`lineColor:`));let e=i.replace(/stroke:[^;]+;?/g,``).replace(/stroke-width:[^;]+;?/g,``).replace(/fill:[^;]+;?/g,``).replace(/color:/g,`fill:`);t(a).attr(`style`,e)}else{let e=i.replace(/stroke:[^;]+;?/g,``).replace(/stroke-width:[^;]+;?/g,``).replace(/fill:[^;]+;?/g,``).replace(/background:/g,`fill:`);t(a).select(`rect`).attr(`style`,e.replace(/background:/g,`fill:`));let n=i.replace(/stroke:[^;]+;?/g,``).replace(/stroke-width:[^;]+;?/g,``).replace(/fill:[^;]+;?/g,``).replace(/color:/g,`fill:`);t(a).select(`text`).attr(`style`,n)}return o?t(a).selectAll(`tspan.text-outer-tspan`).classed(`title-row`,!0):t(a).selectAll(`tspan.text-outer-tspan`).classed(`row`,!0),a}},`createText`);export{nt as n,d as r,et as t};
\ No newline at end of file
diff --git a/lecture-01/assets/chunk-43ACQNTO-CVHKukau.js b/lecture-01/assets/chunk-43ACQNTO-CVHKukau.js
new file mode 100644
index 0000000000000000000000000000000000000000..273d40c3437491cabe2da376b19ef97429d74f7f
--- /dev/null
+++ b/lecture-01/assets/chunk-43ACQNTO-CVHKukau.js
@@ -0,0 +1,2 @@
+import{r as e}from"./chunk-PTVI3W5X-DVfdoxm6.js";import{C as t,S as n,g as r,n as i,o as a,t as o,u as s,w as c,x as l}from"./chunk-A7G5T7E5-C2HISlqa.js";var u=class extends o{static{e(this,`RailroadTokenBuilder`)}static{l(this,`RailroadTokenBuilder`)}constructor(){super([`railroad-beta`])}},d=l(e=>{let t=e.slice(1,-1),n=``;for(let e=0;e2?t[2]:void 0;for(i&&Wc(t[0],t[1],i)&&(r=1);++n-1?i[a?t[o]:o]:void 0}}e(zg,`createFind`),s(zg,`createFind`);var Bg=zg,Vg=Math.max;function Hg(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:hs(n);return i<0&&(i=Vg(r+i,0)),dc(e,Xh(t,3),i)}e(Hg,`findIndex`),s(Hg,`findIndex`);var Ug=Bg(Hg);function Wg(e){return e&&e.length?e[0]:void 0}e(Wg,`head`),s(Wg,`head`);var Gg=Wg;function Kg(e,t){var n=-1,r=Hc(e)?Array(e.length):[];return ig(e,function(e,i,a){r[++n]=t(e,i,a)}),r}e(Kg,`baseMap`),s(Kg,`baseMap`);var qg=Kg;function Jg(e,t){return(I(e)?Uo:qg)(e,Xh(t,3))}e(Jg,`map`),s(Jg,`map`);var B=Jg;function Yg(e,t){return Id(B(e,t),1)}e(Yg,`flatMap`),s(Yg,`flatMap`);var Xg=Yg,Zg=Object.prototype.hasOwnProperty,Qg=cg(function(e,t,n){Zg.call(e,n)?e[n].push(t):Tc(e,n,[t])}),$g=Object.prototype.hasOwnProperty;function e_(e,t){return e!=null&&$g.call(e,t)}e(e_,`baseHas`),s(e_,`baseHas`);var t_=e_;function n_(e,t){return e!=null&&Ih(e,t,t_)}e(n_,`has`),s(n_,`has`);var V=n_,r_=`[object String]`;function i_(e){return typeof e==`string`||!I(e)&&Ro(e)&&Io(e)==r_}e(i_,`isString`),s(i_,`isString`);var a_=i_;function o_(e,t){return Uo(t,function(t){return e[t]})}e(o_,`baseValues`),s(o_,`baseValues`);var s_=o_;function c_(e){return e==null?[]:s_(e,tu(e))}e(c_,`values`),s(c_,`values`);var H=c_,l_=Math.max;function u_(e,t,n,r){e=Hc(e)?e:H(e),n=n&&!r?hs(n):0;var i=e.length;return n<0&&(n=l_(i+n,0)),a_(e)?n<=i&&e.indexOf(t,n)>-1:!!i&&_c(e,t,n)>-1}e(u_,`includes`),s(u_,`includes`);var d_=u_,f_=Math.max;function p_(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var i=n==null?0:hs(n);return i<0&&(i=f_(r+i,0)),_c(e,t,i)}e(p_,`indexOf`),s(p_,`indexOf`);var m_=p_,h_=`[object Map]`,g_=`[object Set]`,__=Object.prototype.hasOwnProperty;function v_(e){if(e==null)return!0;if(Hc(e)&&(I(e)||typeof e==`string`||typeof e.splice==`function`||ul(e)||Wl(e)||il(e)))return!e.length;var t=qf(e);if(t==h_||t==g_)return!e.size;if(Yc(e))return!$l(e).length;for(var n in e)if(__.call(e,n))return!1;return!0}e(v_,`isEmpty`),s(v_,`isEmpty`);var U=v_,y_=`[object RegExp]`;function b_(e){return Ro(e)&&Io(e)==y_}e(b_,`baseIsRegExp`),s(b_,`baseIsRegExp`);var x_=b_,S_=Hl&&Hl.isRegExp,C_=S_?Rl(S_):x_;function w_(e){return e===void 0}e(w_,`isUndefined`),s(w_,`isUndefined`);var T_=w_,E_=`Expected a function`;function D_(e){if(typeof e!=`function`)throw TypeError(E_);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}e(D_,`negate`),s(D_,`negate`);var O_=D_;function k_(e,t,n,r){if(!ns(e))return e;t=Sd(t,e);for(var i=-1,a=t.length,o=a-1,s=e;s!=null&&++i=K_){var l=t?null:G_(e);if(l)return Wm(l);o=!1,i=Im,c=new Mm}else c=t?[]:s;outer:for(;++r{t.accept(e)})}},iv=class extends rv{static{e(this,`NonTerminal`)}static{s(this,`NonTerminal`)}constructor(e){super([]),this.idx=1,ru(this,P_(e,e=>e!==void 0))}set definition(e){}get definition(){return this.referencedRule===void 0?[]:this.referencedRule.definition}accept(e){e.visit(this)}},av=class extends rv{static{e(this,`Rule`)}static{s(this,`Rule`)}constructor(e){super(e.definition),this.orgText=``,ru(this,P_(e,e=>e!==void 0))}},ov=class extends rv{static{e(this,`Alternative`)}static{s(this,`Alternative`)}constructor(e){super(e.definition),this.ignoreAmbiguities=!1,ru(this,P_(e,e=>e!==void 0))}},sv=class extends rv{static{e(this,`Option`)}static{s(this,`Option`)}constructor(e){super(e.definition),this.idx=1,ru(this,P_(e,e=>e!==void 0))}},cv=class extends rv{static{e(this,`RepetitionMandatory`)}static{s(this,`RepetitionMandatory`)}constructor(e){super(e.definition),this.idx=1,ru(this,P_(e,e=>e!==void 0))}},lv=class extends rv{static{e(this,`RepetitionMandatoryWithSeparator`)}static{s(this,`RepetitionMandatoryWithSeparator`)}constructor(e){super(e.definition),this.idx=1,ru(this,P_(e,e=>e!==void 0))}},W=class extends rv{static{e(this,`Repetition`)}static{s(this,`Repetition`)}constructor(e){super(e.definition),this.idx=1,ru(this,P_(e,e=>e!==void 0))}},uv=class extends rv{static{e(this,`RepetitionWithSeparator`)}static{s(this,`RepetitionWithSeparator`)}constructor(e){super(e.definition),this.idx=1,ru(this,P_(e,e=>e!==void 0))}},dv=class extends rv{static{e(this,`Alternation`)}static{s(this,`Alternation`)}get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,ru(this,P_(e,e=>e!==void 0))}},G=class{static{e(this,`Terminal`)}static{s(this,`Terminal`)}constructor(e){this.idx=1,ru(this,P_(e,e=>e!==void 0))}accept(e){e.visit(this)}};function fv(e){return B(e,pv)}e(fv,`serializeGrammar`),s(fv,`serializeGrammar`);function pv(t){function n(e){return B(e,pv)}if(e(n,`convertDefinition`),s(n,`convertDefinition`),t instanceof iv){let e={type:`NonTerminal`,name:t.nonTerminalName,idx:t.idx};return a_(t.label)&&(e.label=t.label),e}if(t instanceof ov)return{type:`Alternative`,definition:n(t.definition)};if(t instanceof sv)return{type:`Option`,idx:t.idx,definition:n(t.definition)};if(t instanceof cv)return{type:`RepetitionMandatory`,idx:t.idx,definition:n(t.definition)};if(t instanceof lv)return{type:`RepetitionMandatoryWithSeparator`,idx:t.idx,separator:pv(new G({terminalType:t.separator})),definition:n(t.definition)};if(t instanceof uv)return{type:`RepetitionWithSeparator`,idx:t.idx,separator:pv(new G({terminalType:t.separator})),definition:n(t.definition)};if(t instanceof W)return{type:`Repetition`,idx:t.idx,definition:n(t.definition)};if(t instanceof dv)return{type:`Alternation`,idx:t.idx,definition:n(t.definition)};if(t instanceof G){let e={type:`Terminal`,name:t.terminalType.name,label:tv(t.terminalType),idx:t.idx};a_(t.label)&&(e.terminalLabel=t.label);let n=t.terminalType.PATTERN;return t.terminalType.PATTERN&&(e.pattern=C_(n)?n.source:n),e}if(t instanceof av)return{type:`Rule`,name:t.name,orgText:t.orgText,definition:n(t.definition)};throw Error(`non exhaustive match`)}e(pv,`serializeProduction`),s(pv,`serializeProduction`);var mv=class{static{e(this,`GAstVisitor`)}static{s(this,`GAstVisitor`)}visit(e){let t=e;switch(t.constructor){case iv:return this.visitNonTerminal(t);case ov:return this.visitAlternative(t);case sv:return this.visitOption(t);case cv:return this.visitRepetitionMandatory(t);case lv:return this.visitRepetitionMandatoryWithSeparator(t);case uv:return this.visitRepetitionWithSeparator(t);case W:return this.visitRepetition(t);case dv:return this.visitAlternation(t);case G:return this.visitTerminal(t);case av:return this.visitRule(t);default:throw Error(`non exhaustive match`)}}visitNonTerminal(e){}visitAlternative(e){}visitOption(e){}visitRepetition(e){}visitRepetitionMandatory(e){}visitRepetitionMandatoryWithSeparator(e){}visitRepetitionWithSeparator(e){}visitAlternation(e){}visitTerminal(e){}visitRule(e){}};function hv(e){return e instanceof ov||e instanceof sv||e instanceof W||e instanceof cv||e instanceof lv||e instanceof uv||e instanceof G||e instanceof av}e(hv,`isSequenceProd`),s(hv,`isSequenceProd`);function gv(e,t=[]){return e instanceof sv||e instanceof W||e instanceof uv?!0:e instanceof dv?W_(e.definition,e=>gv(e,t)):e instanceof iv&&d_(t,e)?!1:e instanceof rv&&(e instanceof iv&&t.push(e),Pg(e.definition,e=>gv(e,t)))}e(gv,`isOptionalProd`),s(gv,`isOptionalProd`);function _v(e){return e instanceof dv}e(_v,`isBranchingProd`),s(_v,`isBranchingProd`);function vv(e){if(e instanceof iv)return`SUBRULE`;if(e instanceof sv)return`OPTION`;if(e instanceof dv)return`OR`;if(e instanceof cv)return`AT_LEAST_ONE`;if(e instanceof lv)return`AT_LEAST_ONE_SEP`;if(e instanceof uv)return`MANY_SEP`;if(e instanceof W)return`MANY`;if(e instanceof G)return`CONSUME`;throw Error(`non exhaustive match`)}e(vv,`getProductionDslName`),s(vv,`getProductionDslName`);var yv=class{static{e(this,`RestWalker`)}static{s(this,`RestWalker`)}walk(e,t=[]){z(e.definition,(n,r)=>{let i=Cg(e.definition,r+1);if(n instanceof iv)this.walkProdRef(n,i,t);else if(n instanceof G)this.walkTerminal(n,i,t);else if(n instanceof ov)this.walkFlat(n,i,t);else if(n instanceof sv)this.walkOption(n,i,t);else if(n instanceof cv)this.walkAtLeastOne(n,i,t);else if(n instanceof lv)this.walkAtLeastOneSep(n,i,t);else if(n instanceof uv)this.walkManySep(n,i,t);else if(n instanceof W)this.walkMany(n,i,t);else if(n instanceof dv)this.walkOr(n,i,t);else throw Error(`non exhaustive match`)})}walkTerminal(e,t,n){}walkProdRef(e,t,n){}walkFlat(e,t,n){let r=t.concat(n);this.walk(e,r)}walkOption(e,t,n){let r=t.concat(n);this.walk(e,r)}walkAtLeastOne(e,t,n){let r=[new sv({definition:e.definition})].concat(t,n);this.walk(e,r)}walkAtLeastOneSep(e,t,n){let r=bv(e,t,n);this.walk(e,r)}walkMany(e,t,n){let r=[new sv({definition:e.definition})].concat(t,n);this.walk(e,r)}walkManySep(e,t,n){let r=bv(e,t,n);this.walk(e,r)}walkOr(e,t,n){let r=t.concat(n);z(e.definition,e=>{let t=new ov({definition:[e]});this.walk(t,r)})}};function bv(e,t,n){return[new sv({definition:[new G({terminalType:e.separator})].concat(e.definition)})].concat(t,n)}e(bv,`restForRepetitionWithSeparator`),s(bv,`restForRepetitionWithSeparator`);function xv(e){if(e instanceof iv)return xv(e.referencedRule);if(e instanceof G)return wv(e);if(hv(e))return Sv(e);if(_v(e))return Cv(e);throw Error(`non exhaustive match`)}e(xv,`first`),s(xv,`first`);function Sv(e){let t=[],n=e.definition,r=0,i=n.length>r,a,o=!0;for(;i&&o;)a=n[r],o=gv(a),t=t.concat(xv(a)),r+=1,i=n.length>r;return X_(t)}e(Sv,`firstForSequence`),s(Sv,`firstForSequence`);function Cv(e){return X_(Rd(B(e.definition,e=>xv(e))))}e(Cv,`firstForBranching`),s(Cv,`firstForBranching`);function wv(e){return[e.terminalType]}e(wv,`firstForTerminal`),s(wv,`firstForTerminal`);var Tv=`_~IN~_`,Ev=class extends yv{static{e(this,`ResyncFollowsWalker`)}static{s(this,`ResyncFollowsWalker`)}constructor(e){super(),this.topProd=e,this.follows={}}startWalking(){return this.walk(this.topProd),this.follows}walkTerminal(e,t,n){}walkProdRef(e,t,n){let r=Ov(e.referencedRule,e.idx)+this.topProd.name,i=xv(new ov({definition:t.concat(n)}));this.follows[r]=i}};function Dv(e){let t={};return z(e,e=>{let n=new Ev(e).startWalking();ru(t,n)}),t}e(Dv,`computeAllProdsFollows`),s(Dv,`computeAllProdsFollows`);function Ov(e,t){return e.name+t+Tv}e(Ov,`buildBetweenProdsFollowPrefix`),s(Ov,`buildBetweenProdsFollowPrefix`);var kv={},Av=new ba;function jv(e){let t=e.toString();if(kv.hasOwnProperty(t))return kv[t];{let e=Av.pattern(t);return kv[t]=e,e}}e(jv,`getRegExpAst`),s(jv,`getRegExpAst`);function Mv(){kv={}}e(Mv,`clearRegExpParserCache`),s(Mv,`clearRegExpParserCache`);var Nv=`Complement Sets are not supported for first char optimization`,Pv=`Unable to use "first char" lexer optimizations:
+`;function Fv(e,t=!1){try{let t=jv(e);return Iv(t.value,{},t.flags.ignoreCase)}catch(n){if(n.message===Nv)t&&Q_(`${Pv} Unable to optimize: < ${e.toString()} >
+ Complement Sets cannot be automatically optimized.
+ This will disable the lexer's first char optimizations.
+ See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#COMPLEMENT for details.`);else{let n=``;t&&(n=`
+ This will disable the lexer's first char optimizations.
+ See: https://chevrotain.io/docs/guide/resolving_lexer_errors.html#REGEXP_PARSING for details.`),Z_(`${Pv}
+ Failed parsing: < ${e.toString()} >
+ Using the @chevrotain/regexp-to-ast library
+ Please open an issue at: https://github.com/chevrotain/chevrotain/issues`+n)}}return[]}e(Fv,`getOptimizedStartCodesIndices`),s(Fv,`getOptimizedStartCodesIndices`);function Iv(e,t,n){switch(e.type){case`Disjunction`:for(let r=0;r-1&&e%1==0&&e
`):y,a.labelStyle,!0,!0),S=x.children[0],C=t(x);v=S.getBoundingClientRect(),C.attr(`width`,v.width),C.attr(`height`,v.height);let w=(a.padding||0)/2;t(x).attr(`transform`,`translate( `+(v.width>b.width?0:(b.width-v.width)/2)+`, `+(b.height+w+5)+`)`),t(_).attr(`transform`,`translate( `+(v.width
`).length,n.innerHTML.includes(``)&&(g+=n.innerHTML.split(`]*>/g,``).trim()===``;await Promise.all([...i].map(n=>new Promise(r=>{function i(){if(n.style.display=`flex`,n.style.flexDirection=`column`,t){let e=d.fontSize?.toString()??window.getComputedStyle(document.body).fontSize,t=parseInt(e,10)*5+`px`;n.style.minWidth=t,n.style.maxWidth=t}else n.style.width=`100%`;r(n)}e(i,`setupImage`),setTimeout(()=>{n.complete&&i()}),n.addEventListener(`error`,i),n.addEventListener(`load`,i)})))}h=n.getBoundingClientRect(),r.attr(`width`,h.width),r.attr(`height`,h.height)}else{a.includes(`font-weight: bolder`)&&t(m).selectAll(`tspan`).attr(`font-weight`,``),g=m.children.length;let e=m.children[0];(m.textContent===``||m.textContent.includes(`>`))&&(e.textContent=p[0]+p.substring(1).replaceAll(`>`,`>`).replaceAll(`<`,`<`).trim(),p[1]===` `&&(e.textContent=e.textContent[0]+` `+e.textContent.substring(1))),e.textContent===`undefined`&&(e.textContent=``),h=m.getBBox()}return o.attr(`transform`,`translate(0,`+(-h.height/(2*g)+i)+`)`),h.height}e(Vt,`addText`);async function Ht(e,n){let i=r(),{themeVariables:a}=i,{useGradient:o}=a,s=i.class.padding??12,c=s,l=n.useHtmlLabels??u(i.htmlLabels)??!0,m=n;m.annotations=m.annotations??[],m.members=m.members??[],m.methods=m.methods??[];let{shapeSvg:h,bbox:g}=await Bt(e,n,i,l,c),{labelStyles:_,nodeStyles:v}=p(n);n.labelStyle=_,n.cssStyles=m.styles||``;let y=m.styles?.join(`;`)||v||``;n.cssStyles||=y.replaceAll(`!important`,``).split(`;`);let b=m.members.length===0&&m.methods.length===0&&!i.class?.hideEmptyMembersBox,x=d.svg(h),S=f(n,{});n.look!==`handDrawn`&&(S.roughness=0,S.fillStyle=`solid`);let C=Math.max(n.width??0,g.width),w=Math.max(n.height??0,g.height),E=(n.height??0)>g.height;m.members.length===0&&m.methods.length===0?w+=c:m.members.length>0&&m.methods.length===0&&(w+=c*2);let D=-C/2,O=-w/2,k=b?s*2:m.members.length===0&&m.methods.length===0?-s:0;E&&(k=s*2);let A=x.rectangle(D-s,O-s-(b?s:m.members.length===0&&m.methods.length===0?-s/2:0),C+2*s,w+2*s+k,S),j=h.insert(()=>A,`:first-child`);j.attr(`class`,`basic label-container outer-path`);let M=j.node().getBBox(),N=h.select(`.annotation-group`).node().getBBox().height-(b?s/2:0)||0,P=h.select(`.label-group`).node().getBBox().height-(b?s/2:0)||0,F=h.select(`.members-group`).node().getBBox().height-(b?s/2:0)||0,I=(N+P+O+s-(O-s-(b?s:m.members.length===0&&m.methods.length===0?-s/2:0)))/2;if(h.selectAll(`.text`).each((e,n,r)=>{let a=t(r[n]),o=a.attr(`transform`),u=0;if(o){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(o);e&&(u=parseFloat(e[2]))}let d=u+O+s-(b?s:m.members.length===0&&m.methods.length===0?-s/2:0);if(a.attr(`class`).includes(`methods-group`)){let e=Math.max(F,c/2);d=E?Math.max(I,N+P+e+O+c*2+s)+c*2:N+P+e+O+c*4+s}m.members.length===0&&m.methods.length===0&&i.class?.hideEmptyMembersBox&&(d=m.annotations.length>0?u-c:u),l||(d-=4);let f=D;(a.attr(`class`).includes(`label-group`)||a.attr(`class`).includes(`annotation-group`))&&(f=-a.node()?.getBBox().width/2||0,h.selectAll(`text`).each(function(e,t,n){window.getComputedStyle(n[t]).textAnchor===`middle`&&(f=0)})),a.attr(`transform`,`translate(${f}, ${d})`)}),m.members.length>0||m.methods.length>0||b){let e=N+P+O+s,t=x.line(M.x,e,M.x+M.width,e+.001,S);h.insert(()=>t).attr(`class`,`divider${n.look===`neo`&&!o?` neo-line`:``}`).attr(`style`,y)}if(b||m.members.length>0||m.methods.length>0){let e=N+P+F+O+c*2+s,t=x.line(M.x,E?Math.max(I,e):e,M.x+M.width,(E?Math.max(I,e):e)+.001,S);h.insert(()=>t).attr(`class`,`divider${n.look===`neo`&&!o?` neo-line`:``}`).attr(`style`,y)}if(m.look!==`handDrawn`&&h.selectAll(`path`).attr(`style`,y),j.select(`:nth-child(2)`).attr(`style`,y),h.selectAll(`.divider`).select(`path`).attr(`style`,y),n.labelStyle?h.selectAll(`span`).attr(`style`,n.labelStyle):h.selectAll(`span`).attr(`style`,y),!l){let e=RegExp(/color\s*:\s*([^;]*)/),t=e.exec(y);if(t){let e=t[0].replace(`color`,`fill`);h.selectAll(`tspan`).attr(`style`,e)}else if(_){let t=e.exec(_);if(t){let e=t[0].replace(`color`,`fill`);h.selectAll(`tspan`).attr(`style`,e)}}}return T(n,j),n.intersect=function(e){return G.rect(n,e)},h}e(Ht,`classBox`);async function Ut(e,n){let{labelStyles:i,nodeStyles:a}=p(n);n.labelStyle=i;let o=n,s=n,c=`verifyMethod`in n,l=E(n),{themeVariables:u}=r(),{borderColorArray:m,requirementEdgeLabelBackground:h}=u,g=e.insert(`g`).attr(`class`,l).attr(`id`,n.domId??n.id),_;_=c?await $(g,`<<${o.type}>>`,0,n.labelStyle):await $(g,`<<Element>>`,0,n.labelStyle);let v=_,y=await $(g,o.name,v,n.labelStyle+`; font-weight: bold;`);if(v+=y+20,c){let e=await $(g,`${o.requirementId?`ID: ${o.requirementId}`:``}`,v,n.labelStyle);v+=e;let t=await $(g,`${o.text?`Text: ${o.text}`:``}`,v,n.labelStyle);v+=t;let r=await $(g,`${o.risk?`Risk: ${o.risk}`:``}`,v,n.labelStyle);v+=r,await $(g,`${o.verifyMethod?`Verification: ${o.verifyMethod}`:``}`,v,n.labelStyle)}else{let e=await $(g,`${s.type?`Type: ${s.type}`:``}`,v,n.labelStyle);v+=e,await $(g,`${s.docRef?`Doc Ref: ${s.docRef}`:``}`,v,n.labelStyle)}let b=(g.node()?.getBBox().width??200)+20,x=(g.node()?.getBBox().height??200)+20,S=-b/2,C=-x/2,w=d.svg(g),D=f(n,{});n.look!==`handDrawn`&&(D.roughness=0,D.fillStyle=`solid`);let O=w.rectangle(S,C,b,x,D),k=g.insert(()=>O,`:first-child`);if(k.attr(`class`,`basic label-container outer-path`).attr(`style`,a),m?.length){let e=n.colorIndex??0;g.attr(`data-color-id`,`color-${e%m.length}`)}if(g.selectAll(`.label`).each((e,n,r)=>{let i=t(r[n]),a=i.attr(`transform`),o=0,s=0;if(a){let e=RegExp(/translate\(([^,]+),([^)]+)\)/).exec(a);e&&(o=parseFloat(e[1]),s=parseFloat(e[2]))}let c=s-x/2,l=S+10;(n===0||n===1)&&(l=o),i.attr(`transform`,`translate(${l}, ${c+20})`)}),v>_+y+20){let e=C+_+y+20,t;if(n.look===`neo`){let n=.001,r=[[S,e],[S+b,e],[S+b,e+n],[S,e+n]];t=w.polygon(r,D)}else t=w.line(S,e,S+b,e,D);g.insert(()=>t).attr(`class`,`divider`)}return T(n,k),n.intersect=function(e){return G.rect(n,e)},a&&n.look!==`handDrawn`&&(h||m?.length)&&g.selectAll(`path`).attr(`style`,a),g}e(Ut,`requirementBox`);async function $(e,n,i,a=``){if(n===``)return 0;let o=e.insert(`g`).attr(`class`,`label`).attr(`style`,a),c=r(),l=c.htmlLabels??!0,u=await S(o,s(_(n)),{width:v(n,c)+50,classes:`markdown-node-label`,useHtmlLabels:l,style:a},c),d;if(l){let e=u.children[0],n=t(u);d=e.getBoundingClientRect(),n.attr(`width`,d.width),n.attr(`height`,d.height)}else{let e=u.children[0];for(let t of e.children)a&&t.setAttribute(`style`,a);d=u.getBBox(),d.height+=6}return o.attr(`transform`,`translate(${-d.width/2},${-d.height/2+i})`),d.height}e($,`addText`);var Wt=e(e=>{switch(e){case`Very High`:return`red`;case`High`:return`orange`;case`Medium`:return null;case`Low`:return`blue`;case`Very Low`:return`lightblue`}},`colorFromPriority`);async function Gt(e,t,{config:n}){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r||``;let a=t.width;t.width=(t.width??200)-10;let{shapeSvg:o,bbox:s,label:c}=await C(e,t,E(t)),l=t.padding||10,u=``,m;`ticket`in t&&t.ticket&&n?.kanban?.ticketBaseUrl&&(u=n?.kanban?.ticketBaseUrl.replace(`#TICKET#`,t.ticket),m=o.insert(`svg:a`,`:first-child`).attr(`class`,`kanban-ticket-link`).attr(`xlink:href`,u).attr(`target`,`_blank`));let h={useHtmlLabels:t.useHtmlLabels,labelStyle:t.labelStyle||``,width:t.width,img:t.img,padding:t.padding||8,centerLabel:!1},g,_;m?{label:g,bbox:_}=await w(m,`ticket`in t&&t.ticket||``,h):{label:g,bbox:_}=await w(o,`ticket`in t&&t.ticket||``,h);let{label:v,bbox:y}=await w(o,`assigned`in t&&t.assigned||``,h);t.width=a;let b=t?.width||0,x=Math.max(_.height,y.height)/2,S=Math.max(s.height+20,t?.height||0)+x,D=-b/2,O=-S/2;c.attr(`transform`,`translate(`+(l-b/2)+`, `+(-x-s.height/2)+`)`),g.attr(`transform`,`translate(`+(l-b/2)+`, `+(-x+s.height/2)+`)`),v.attr(`transform`,`translate(`+(l+b/2-y.width-20)+`, `+(-x+s.height/2)+`)`);let k,{rx:A,ry:j}=t,{cssStyles:M}=t;if(t.look===`handDrawn`){let e=d.svg(o),n=f(t,{}),r=A||j?e.path(N(D,O,b,S,A||0),n):e.rectangle(D,O,b,S,n);k=o.insert(()=>r,`:first-child`),k.attr(`class`,`basic label-container`).attr(`style`,M||null)}else{k=o.insert(`rect`,`:first-child`),k.attr(`class`,`basic label-container __APA__`).attr(`style`,i).attr(`rx`,A??5).attr(`ry`,j??5).attr(`x`,D).attr(`y`,O).attr(`width`,b).attr(`height`,S);let e=`priority`in t&&t.priority;if(e){let t=o.append(`line`),n=D+2,r=O+Math.floor((A??0)/2),i=O+S-Math.floor((A??0)/2);t.attr(`x1`,n).attr(`y1`,r).attr(`x2`,n).attr(`y2`,i).attr(`stroke-width`,`4`).attr(`stroke`,Wt(e))}}return T(t,k),t.height=S,t.intersect=function(e){return G.rect(t,e)},o}e(Gt,`kanbanItem`);async function Kt(e,t){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,halfPadding:s,label:c}=await C(e,t,E(t)),l=o.width+10*s,u=o.height+8*s,m=.15*l,{cssStyles:h}=t,_=o.width+20,v=o.height+20,y=Math.max(l,_),b=Math.max(u,v);c.attr(`transform`,`translate(${-o.width/2}, ${-o.height/2})`);let x,S=`M0 0
+ a${m},${m} 1 0,0 ${y*.25},${-1*b*.1}
+ a${m},${m} 1 0,0 ${y*.25},0
+ a${m},${m} 1 0,0 ${y*.25},0
+ a${m},${m} 1 0,0 ${y*.25},${b*.1}
+
+ a${m},${m} 1 0,0 ${y*.15},${b*.33}
+ a${m*.8},${m*.8} 1 0,0 0,${b*.34}
+ a${m},${m} 1 0,0 ${-1*y*.15},${b*.33}
+
+ a${m},${m} 1 0,0 ${-1*y*.25},${b*.15}
+ a${m},${m} 1 0,0 ${-1*y*.25},0
+ a${m},${m} 1 0,0 ${-1*y*.25},0
+ a${m},${m} 1 0,0 ${-1*y*.25},${-1*b*.15}
+
+ a${m},${m} 1 0,0 ${-1*y*.1},${-1*b*.33}
+ a${m*.8},${m*.8} 1 0,0 0,${-1*b*.34}
+ a${m},${m} 1 0,0 ${y*.1},${-1*b*.33}
+ H0 V0 Z`;if(t.look===`handDrawn`){let e=d.svg(a),n=f(t,{}),r=e.path(S,n);x=a.insert(()=>r,`:first-child`),x.attr(`class`,`basic label-container`).attr(`style`,g(h))}else x=a.insert(`path`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,i).attr(`d`,S);return x.attr(`transform`,`translate(${-y/2}, ${-b/2})`),T(t,x),t.calcIntersect=function(e,t){return G.rect(e,t)},t.intersect=function(e){return n.info(`Bang intersect`,t,e),G.rect(t,e)},a}e(Kt,`bang`);async function qt(e,t){let{labelStyles:r,nodeStyles:i}=p(t);t.labelStyle=r;let{shapeSvg:a,bbox:o,halfPadding:s,label:c}=await C(e,t,E(t)),l=o.width+2*s,u=o.height+2*s,m=.15*l,h=.25*l,_=.35*l,v=.2*l,{cssStyles:y}=t,b,x=`M0 0
+ a${m},${m} 0 0,1 ${l*.25},${-1*l*.1}
+ a${_},${_} 1 0,1 ${l*.4},${-1*l*.1}
+ a${h},${h} 1 0,1 ${l*.35},${l*.2}
+
+ a${m},${m} 1 0,1 ${l*.15},${u*.35}
+ a${v},${v} 1 0,1 ${-1*l*.15},${u*.65}
+
+ a${h},${m} 1 0,1 ${-1*l*.25},${l*.15}
+ a${_},${_} 1 0,1 ${-1*l*.5},0
+ a${m},${m} 1 0,1 ${-1*l*.25},${-1*l*.15}
+
+ a${m},${m} 1 0,1 ${-1*l*.1},${-1*u*.35}
+ a${v},${v} 1 0,1 ${l*.1},${-1*u*.65}
+ H0 V0 Z`;if(t.look===`handDrawn`){let e=d.svg(a),n=f(t,{}),r=e.path(x,n);b=a.insert(()=>r,`:first-child`),b.attr(`class`,`basic label-container`).attr(`style`,g(y))}else b=a.insert(`path`,`:first-child`).attr(`class`,`basic label-container`).attr(`style`,i).attr(`d`,x);return c.attr(`transform`,`translate(${-o.width/2}, ${-o.height/2})`),b.attr(`transform`,`translate(${-l/2}, ${-u/2})`),T(t,b),t.calcIntersect=function(e,t){return G.rect(e,t)},t.intersect=function(e){return n.info(`Cloud intersect`,t,e),G.rect(t,e)},a}e(qt,`cloud`);async function Jt(e,t){let{labelStyles:n,nodeStyles:r}=p(t);t.labelStyle=n;let{shapeSvg:i,bbox:a,halfPadding:o,label:s}=await C(e,t,E(t)),c=a.width+8*o,l=a.height+2*o,u=t.look===`neo`?`
+ M${-c/2} ${l/2-5}
+ v${-l+10}
+ q0,-5 5,-5
+ h${c-10}
+ q5,0 5,5
+ v${l-5}
+ H${-c/2}
+ Z
+ `:`
+ M${-c/2} ${l/2-5}
+ v${-l+10}
+ q0,-5 5,-5
+ h${c-10}
+ q5,0 5,5
+ v${l-10}
+ q0,5 -5,5
+ h${-(c-10)}
+ q-5,0 -5,-5
+ Z
+ `;if(!t.domId)throw Error(`defaultMindmapNode: node "${t.id}" is missing a domId \u2014 was render.ts domId prefixing skipped?`);let d=i.append(`path`).attr(`id`,t.domId).attr(`class`,`node-bkg node-`+t.type).attr(`style`,r).attr(`d`,u);return i.append(`line`).attr(`class`,`node-line-`).attr(`x1`,-c/2).attr(`y1`,l/2).attr(`x2`,c/2).attr(`y2`,l/2),s.attr(`transform`,`translate(${-a.width/2}, ${-a.height/2})`),i.append(()=>s.node()),T(t,d),t.calcIntersect=function(e,t){return G.rect(e,t)},t.intersect=function(e){return G.rect(t,e)},i}e(Jt,`defaultMindmapNode`);async function Yt(e,t){return de(e,t,{padding:t.padding??0})}e(Yt,`mindmapCircle`);var Xt=[{semanticName:`Process`,name:`Rectangle`,shortName:`rect`,description:`Standard process shape`,aliases:[`proc`,`process`,`rectangle`],internalAliases:[`squareRect`],handler:ut},{semanticName:`Event`,name:`Rounded Rectangle`,shortName:`rounded`,description:`Represents an event`,aliases:[`event`],internalAliases:[`roundedRect`],handler:st},{semanticName:`Terminal Point`,name:`Stadium`,shortName:`stadium`,description:`Terminal point`,aliases:[`terminal`,`pill`],handler:dt},{semanticName:`Subprocess`,name:`Framed Rectangle`,shortName:`fr-rect`,description:`Subprocess`,aliases:[`subprocess`,`subproc`,`framed-rectangle`,`subroutine`],handler:gt},{semanticName:`Database`,name:`Cylinder`,shortName:`cyl`,description:`Database storage`,aliases:[`db`,`database`,`cylinder`],handler:Ce},{semanticName:`Data Store`,name:`Data Store`,shortName:`datastore`,description:`Data flow diagram data store`,aliases:[`data-store`],handler:Te},{semanticName:`Start`,name:`Circle`,shortName:`circle`,description:`Starting point`,aliases:[`circ`],handler:de},{semanticName:`Bang`,name:`Bang`,shortName:`bang`,description:`Bang`,aliases:[`bang`],handler:Kt},{semanticName:`Cloud`,name:`Cloud`,shortName:`cloud`,description:`cloud`,aliases:[`cloud`],handler:qt},{semanticName:`Decision`,name:`Diamond`,shortName:`diam`,description:`Decision-making step`,aliases:[`decision`,`diamond`,`question`],handler:it},{semanticName:`Prepare Conditional`,name:`Hexagon`,shortName:`hex`,description:`Preparation or condition step`,aliases:[`hexagon`,`prepare`],handler:Fe},{semanticName:`Data Input/Output`,name:`Lean Right`,shortName:`lean-r`,description:`Represents input or output`,aliases:[`lean-right`,`in-out`],internalAliases:[`lean_right`],handler:Ge},{semanticName:`Data Input/Output`,name:`Lean Left`,shortName:`lean-l`,description:`Represents output or input`,aliases:[`lean-left`,`out-in`],internalAliases:[`lean_left`],handler:We},{semanticName:`Priority Action`,name:`Trapezoid Base Bottom`,shortName:`trap-b`,description:`Priority action`,aliases:[`priority`,`trapezoid-bottom`,`trapezoid`],handler:Dt},{semanticName:`Manual Operation`,name:`Trapezoid Base Top`,shortName:`trap-t`,description:`Represents a manual task`,aliases:[`manual`,`trapezoid-top`,`inv-trapezoid`],internalAliases:[`inv_trapezoid`],handler:He},{semanticName:`Stop`,name:`Double Circle`,shortName:`dbl-circ`,description:`Represents a stop point`,aliases:[`double-circle`],internalAliases:[`doublecircle`],handler:De},{semanticName:`Text Block`,name:`Text Block`,shortName:`text`,description:`Text block`,handler:bt},{semanticName:`Card`,name:`Notched Rectangle`,shortName:`notch-rect`,description:`Represents a card`,aliases:[`card`,`notched-rectangle`],handler:le},{semanticName:`Lined/Shaded Process`,name:`Lined Rectangle`,shortName:`lin-rect`,description:`Lined process shape`,aliases:[`lined-rectangle`,`lined-process`,`lin-proc`,`shaded-process`],handler:ct},{semanticName:`Start`,name:`Small Circle`,shortName:`sm-circ`,description:`Small starting point`,aliases:[`start`,`small-circle`],internalAliases:[`stateStart`],handler:mt},{semanticName:`Stop`,name:`Framed Circle`,shortName:`fr-circ`,description:`Stop point`,aliases:[`stop`,`framed-circle`],internalAliases:[`stateEnd`],handler:pt},{semanticName:`Fork/Join`,name:`Filled Rectangle`,shortName:`fork`,description:`Fork or join in process flow`,aliases:[`join`],internalAliases:[`forkJoin`],handler:Me},{semanticName:`Collate`,name:`Hourglass`,shortName:`hourglass`,description:`Represents a collate operation`,aliases:[`hourglass`,`collate`],handler:Ie},{semanticName:`Comment`,name:`Curly Brace`,shortName:`brace`,description:`Adds a comment`,aliases:[`comment`,`brace-l`],handler:me},{semanticName:`Comment Right`,name:`Curly Brace`,shortName:`brace-r`,description:`Adds a comment`,handler:he},{semanticName:`Comment with braces on both sides`,name:`Curly Braces`,shortName:`braces`,description:`Adds a comment`,handler:ge},{semanticName:`Com Link`,name:`Lightning Bolt`,shortName:`bolt`,description:`Communication link`,aliases:[`com-link`,`lightning-bolt`],handler:Ke},{semanticName:`Document`,name:`Document`,shortName:`doc`,description:`Represents a document`,aliases:[`doc`,`document`],handler:Mt},{semanticName:`Delay`,name:`Half-Rounded Rectangle`,shortName:`delay`,description:`Represents a delay`,aliases:[`half-rounded-rectangle`],handler:Ne},{semanticName:`Direct Access Storage`,name:`Horizontal Cylinder`,shortName:`h-cyl`,description:`Direct access storage`,aliases:[`das`,`horizontal-cylinder`],handler:Et},{semanticName:`Disk Storage`,name:`Lined Cylinder`,shortName:`lin-cyl`,description:`Disk storage`,aliases:[`disk`,`lined-cylinder`],handler:Qe},{semanticName:`Display`,name:`Curved Trapezoid`,shortName:`curv-trap`,description:`Represents a display`,aliases:[`curved-trapezoid`,`display`],handler:_e},{semanticName:`Divided Process`,name:`Divided Rectangle`,shortName:`div-rect`,description:`Divided process shape`,aliases:[`div-proc`,`divided-rectangle`,`divided-process`],handler:Ee},{semanticName:`Extract`,name:`Triangle`,shortName:`tri`,description:`Extraction process`,aliases:[`extract`,`triangle`],handler:jt},{semanticName:`Internal Storage`,name:`Window Pane`,shortName:`win-pane`,description:`Internal storage`,aliases:[`internal-storage`,`window-pane`],handler:Pt},{semanticName:`Junction`,name:`Filled Circle`,shortName:`f-circ`,description:`Junction point`,aliases:[`junction`,`filled-circle`],handler:Oe},{semanticName:`Loop Limit`,name:`Trapezoidal Pentagon`,shortName:`notch-pent`,description:`Loop limit step`,aliases:[`loop-limit`,`notched-pentagon`],handler:Ot},{semanticName:`Manual File`,name:`Flipped Triangle`,shortName:`flip-tri`,description:`Manual file operation`,aliases:[`manual-file`,`flipped-triangle`],handler:je},{semanticName:`Manual Input`,name:`Sloped Rectangle`,shortName:`sl-rect`,description:`Manual input step`,aliases:[`manual-input`,`sloped-rectangle`],handler:lt},{semanticName:`Multi-Document`,name:`Stacked Document`,shortName:`docs`,description:`Multiple documents`,aliases:[`documents`,`st-doc`,`stacked-document`],handler:tt},{semanticName:`Multi-Process`,name:`Stacked Rectangle`,shortName:`st-rect`,description:`Multiple processes`,aliases:[`procs`,`processes`,`stacked-rectangle`],handler:et},{semanticName:`Stored Data`,name:`Bow Tie Rectangle`,shortName:`bow-rect`,description:`Stored data`,aliases:[`stored-data`,`bow-tie-rectangle`],handler:se},{semanticName:`Summary`,name:`Crossed Circle`,shortName:`cross-circ`,description:`Summary`,aliases:[`summary`,`crossed-circle`],handler:pe},{semanticName:`Tagged Document`,name:`Tagged Document`,shortName:`tag-doc`,description:`Tagged document`,aliases:[`tag-doc`,`tagged-document`],handler:yt},{semanticName:`Tagged Process`,name:`Tagged Rectangle`,shortName:`tag-rect`,description:`Tagged process`,aliases:[`tagged-rectangle`,`tag-proc`,`tagged-process`],handler:vt},{semanticName:`Paper Tape`,name:`Flag`,shortName:`flag`,description:`Paper tape`,aliases:[`paper-tape`],handler:Nt},{semanticName:`Odd`,name:`Odd`,shortName:`odd`,description:`Odd shape`,internalAliases:[`rect_left_inv_arrow`],handler:at},{semanticName:`Lined Document`,name:`Lined Document`,shortName:`lin-doc`,description:`Lined document`,aliases:[`lined-document`],handler:$e}],Zt=e(()=>{let e=[...Object.entries({state:ft,choice:ue,note:nt,rectWithTitle:ot,labelRect:Ue,iconSquare:Be,iconCircle:Re,icon:Le,iconRounded:ze,imageSquare:Ve,anchor:K,kanbanItem:Gt,mindmapCircle:Yt,defaultMindmapNode:Jt,classBox:Ht,erBox:Lt,requirementBox:Ut}),...Xt.flatMap(e=>[e.shortName,...`aliases`in e?e.aliases:[],...`internalAliases`in e?e.internalAliases:[]].map(t=>[t,e.handler]))];return Object.fromEntries(e)},`generateShapeMap`)();function Qt(e){return e in Zt}e(Qt,`isValidShape`);var $t=new Map;async function en(e,t,n){let r,i;t.shape===`rect`&&(t.shape=t.rx&&t.ry?`roundedRect`:`squareRect`);let a=t.shape?Zt[t.shape]:void 0;if(!a)throw Error(`No such shape: ${t.shape}. Please check your syntax.`);if(t.link){let o;n.config.securityLevel===`sandbox`?o=`_top`:t.linkTarget&&(o=t.linkTarget||`_blank`),r=e.insert(`svg:a`).attr(`xlink:href`,t.link).attr(`target`,o??null),i=await a(r,t,n)}else i=await a(e,t,n),r=i;return r.attr(`data-look`,g(t.look)),t.tooltip&&i.attr(`title`,t.tooltip),$t.set(t.id,r),t.haveCallback&&r.attr(`class`,r.attr(`class`)+` clickable`),r}e(en,`insertNode`);var tn=e((e,t)=>{$t.set(t.id,e)},`setNodeElem`),nn=e(()=>{$t.clear()},`clear`),rn=e(e=>{let t=$t.get(e.id);n.trace(`Transforming node`,e.diff,e,`translate(`+(e.x-e.width/2-5)+`, `+e.width/2+`)`);let r=e.diff||0;return e.clusterNode?t.attr(`transform`,`translate(`+(e.x+r-e.width/2)+`, `+(e.y-e.height/2-8)+`)`):t.attr(`transform`,`translate(`+e.x+`, `+e.y+`)`),r},`positionNode`);export{en as a,rn as c,ee as i,tn as l,nn as n,Qt as o,M as r,C as s,R as t,T as u};
\ No newline at end of file
diff --git a/lecture-01/assets/chunk-EMKVYAI2-C4ZARs9V.js b/lecture-01/assets/chunk-EMKVYAI2-C4ZARs9V.js
new file mode 100644
index 0000000000000000000000000000000000000000..00308391392788d1424da97605b6fece5aec8464
--- /dev/null
+++ b/lecture-01/assets/chunk-EMKVYAI2-C4ZARs9V.js
@@ -0,0 +1,321 @@
+import{r as e}from"./chunk-PTVI3W5X-DVfdoxm6.js";function t(e,t){(t==null||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n