rasAli02 commited on
Commit
8fe24d7
·
1 Parent(s): b915cd3

Fix mongodb tls and include updated frontend build

Browse files
This view is limited to 50 files because it contains too many changes.   See raw diff
Files changed (50) hide show
  1. build/static/css/main.bcca7bc1.css +4 -0
  2. build/static/css/main.bcca7bc1.css.map +1 -0
  3. build/static/js/131.19451893.chunk.js +0 -0
  4. build/static/js/131.19451893.chunk.js.map +0 -0
  5. build/static/js/171.ca687254.chunk.js +2 -0
  6. build/static/js/171.ca687254.chunk.js.map +0 -0
  7. build/static/js/195.14e9ef37.chunk.js +2 -0
  8. build/static/js/195.14e9ef37.chunk.js.map +0 -0
  9. build/static/js/249.88b3b485.chunk.js +2 -0
  10. build/static/js/249.88b3b485.chunk.js.map +0 -0
  11. build/static/js/25.1c0704f3.chunk.js +1 -0
  12. build/static/js/267.1127f40e.chunk.js +2 -0
  13. build/static/js/267.1127f40e.chunk.js.map +1 -0
  14. build/static/js/276.34d1e461.chunk.js +1 -0
  15. build/static/js/3.9424784f.chunk.js +1 -0
  16. build/static/js/349.043baac7.chunk.js +0 -0
  17. build/static/js/349.043baac7.chunk.js.map +0 -0
  18. build/static/js/354.3bcfdeeb.chunk.js +2 -0
  19. build/static/js/354.3bcfdeeb.chunk.js.map +1 -0
  20. build/static/js/366.763c2fd7.chunk.js +2 -0
  21. build/static/js/366.763c2fd7.chunk.js.map +0 -0
  22. build/static/js/376.02aa5944.chunk.js +2 -0
  23. build/static/js/376.02aa5944.chunk.js.map +1 -0
  24. build/static/js/385.712a8ab0.chunk.js +2 -0
  25. build/static/js/385.712a8ab0.chunk.js.map +1 -0
  26. build/static/js/443.22ceec26.chunk.js +2 -0
  27. build/static/js/443.22ceec26.chunk.js.map +0 -0
  28. build/static/js/455.fe3cb828.chunk.js +0 -0
  29. build/static/js/455.fe3cb828.chunk.js.map +0 -0
  30. build/static/js/456.79490857.chunk.js +2 -0
  31. build/static/js/456.79490857.chunk.js.map +1 -0
  32. build/static/js/478.45e19921.chunk.js +2 -0
  33. build/static/js/478.45e19921.chunk.js.map +1 -0
  34. build/static/js/502.29e7eeb4.chunk.js +0 -0
  35. build/static/js/502.29e7eeb4.chunk.js.map +0 -0
  36. build/static/js/531.a9d78c09.chunk.js +2 -0
  37. build/static/js/531.a9d78c09.chunk.js.map +0 -0
  38. build/static/js/532.d762b1f6.chunk.js +2 -0
  39. build/static/js/532.d762b1f6.chunk.js.map +1 -0
  40. build/static/js/537.2e21b67e.chunk.js +1 -0
  41. build/static/js/555.f6b76e48.chunk.js +2 -0
  42. build/static/js/555.f6b76e48.chunk.js.map +1 -0
  43. build/static/js/566.2401f837.chunk.js +2 -0
  44. build/static/js/566.2401f837.chunk.js.map +0 -0
  45. build/static/js/571.5627ee3a.chunk.js +2 -0
  46. build/static/js/571.5627ee3a.chunk.js.map +1 -0
  47. build/static/js/578.4134fb5b.chunk.js +2 -0
  48. build/static/js/578.4134fb5b.chunk.js.map +1 -0
  49. build/static/js/585.bbe871d5.chunk.js +2 -0
  50. build/static/js/585.bbe871d5.chunk.js.map +0 -0
build/static/css/main.bcca7bc1.css ADDED
@@ -0,0 +1,4 @@
 
 
 
 
 
1
+ @import url(https://fonts.googleapis.com/css2?family=Chivo:wght@300;400;700;900&family=IBM+Plex+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500;700&display=swap);*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
2
+ ! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
3
+ */*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;letter-spacing:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}:root{--background:0 0% 4%;--foreground:0 0% 98%;--card:240 5% 8%;--card-foreground:0 0% 98%;--popover:240 5% 8%;--popover-foreground:0 0% 98%;--primary:358 85% 52%;--primary-foreground:0 0% 100%;--secondary:240 5% 12%;--secondary-foreground:0 0% 98%;--muted:240 5% 12%;--muted-foreground:240 5% 65%;--accent:240 5% 14%;--accent-foreground:0 0% 98%;--destructive:358 85% 52%;--destructive-foreground:0 0% 98%;--border:0 0% 15%;--input:0 0% 15%;--ring:358 85% 52%;--radius:0.125rem}*{border-color:#262626;border-color:hsl(var(--border))}body{background-color:#0a0a0a;background-color:hsl(var(--background));color:#fafafa;color:hsl(var(--foreground))}[data-debug-wrapper=true]{display:contents!important}[data-debug-wrapper=true]>*{border:inherit;column-gap:inherit;gap:inherit;margin:inherit;padding:inherit;row-gap:inherit}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.\!visible{visibility:visible!important}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:-webkit-sticky;position:sticky}.inset-0{inset:0}.inset-x-0{left:0;right:0}.inset-y-0{bottom:0;top:0}.-bottom-12{bottom:-3rem}.-left-12{left:-3rem}.-right-12{right:-3rem}.-top-12{top:-3rem}.bottom-0{bottom:0}.left-0{left:0}.left-1{left:.25rem}.left-1\/2{left:50%}.left-2{left:.5rem}.left-\[50\%\]{left:50%}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-4{right:1rem}.top-0{top:0}.top-1{top:.25rem}.top-1\/2{top:50%}.top-2{top:.5rem}.top-20{top:5rem}.top-4{top:1rem}.top-\[1px\]{top:1px}.top-\[50\%\]{top:50%}.top-\[60\%\]{top:60%}.top-full{top:100%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.z-\[100\]{z-index:100}.z-\[1\]{z-index:1}.-mx-1{margin-left:-.25rem;margin-right:-.25rem}.mx-auto{margin-left:auto;margin-right:auto}.my-1{margin-bottom:.25rem;margin-top:.25rem}.-mb-2{margin-bottom:-.5rem}.-ml-4{margin-left:-1rem}.-mt-2{margin-top:-.5rem}.-mt-4{margin-top:-1rem}.mb-0\.5{margin-bottom:.125rem}.mb-1{margin-bottom:.25rem}.mb-1\.5{margin-bottom:.375rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.mb-16{margin-bottom:4rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-1\.5{margin-top:.375rem}.mt-10{margin-top:2.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-auto{margin-top:auto}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-1{height:.25rem}.h-1\.5{height:.375rem}.h-10{height:2.5rem}.h-14{height:3.5rem}.h-2{height:.5rem}.h-2\.5{height:.625rem}.h-20{height:5rem}.h-3{height:.75rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-40{height:10rem}.h-5{height:1.25rem}.h-56{height:14rem}.h-6{height:1.5rem}.h-64{height:16rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[1px\]{height:1px}.h-\[var\(--radix-navigation-menu-viewport-height\)\]{height:var(--radix-navigation-menu-viewport-height)}.h-\[var\(--radix-select-trigger-height\)\]{height:var(--radix-select-trigger-height)}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.max-h-\[--radix-context-menu-content-available-height\]{max-height:var(--radix-context-menu-content-available-height)}.max-h-\[--radix-select-content-available-height\]{max-height:var(--radix-select-content-available-height)}.max-h-\[300px\]{max-height:300px}.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\]{max-height:var(--radix-dropdown-menu-content-available-height)}.max-h-screen{max-height:100vh}.min-h-\[300px\]{min-height:300px}.min-h-\[60px\]{min-height:60px}.min-h-screen{min-height:100vh}.w-1\.5{width:.375rem}.w-10{width:2.5rem}.w-2{width:.5rem}.w-2\.5{width:.625rem}.w-20{width:5rem}.w-3{width:.75rem}.w-3\.5{width:.875rem}.w-3\/4{width:75%}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-72{width:18rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-\[1px\]{width:1px}.w-full{width:100%}.w-max{width:-webkit-max-content;width:max-content}.w-px{width:1px}.min-w-0{min-width:0}.min-w-10{min-width:2.5rem}.min-w-8{min-width:2rem}.min-w-9{min-width:2.25rem}.min-w-\[12rem\]{min-width:12rem}.min-w-\[8rem\]{min-width:8rem}.min-w-\[var\(--radix-select-trigger-width\)\]{min-width:var(--radix-select-trigger-width)}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-\[1400px\]{max-width:1400px}.max-w-lg{max-width:32rem}.max-w-max{max-width:-webkit-max-content;max-width:max-content}.max-w-md{max-width:28rem}.flex-1{flex:1 1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.grow-0{flex-grow:0}.basis-full{flex-basis:100%}.caption-bottom{caption-side:bottom}.border-collapse{border-collapse:collapse}.origin-\[--radix-context-menu-content-transform-origin\]{transform-origin:var(--radix-context-menu-content-transform-origin)}.origin-\[--radix-dropdown-menu-content-transform-origin\]{transform-origin:var(--radix-dropdown-menu-content-transform-origin)}.origin-\[--radix-hover-card-content-transform-origin\]{transform-origin:var(--radix-hover-card-content-transform-origin)}.origin-\[--radix-menubar-content-transform-origin\]{transform-origin:var(--radix-menubar-content-transform-origin)}.origin-\[--radix-popover-content-transform-origin\]{transform-origin:var(--radix-popover-content-transform-origin)}.origin-\[--radix-select-content-transform-origin\]{transform-origin:var(--radix-select-content-transform-origin)}.origin-\[--radix-tooltip-content-transform-origin\]{transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\/2{--tw-translate-x:-50%}.-translate-x-1\/2,.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.translate-x-\[-50\%\]{--tw-translate-x:-50%}.translate-x-\[-50\%\],.translate-y-\[-50\%\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[-50\%\]{--tw-translate-y:-50%}.-rotate-90{--tw-rotate:-90deg}.-rotate-90,.rotate-45{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-45{--tw-rotate:45deg}.rotate-90{--tw-rotate:90deg}.rotate-90,.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes pulse{50%{opacity:.5}}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.select-none{-webkit-user-select:none;user-select:none}.list-none{list-style-type:none}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.flex-row{flex-direction:row}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.space-x-1>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.25rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.25rem*var(--tw-space-x-reverse))}.space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.25rem*var(--tw-space-y-reverse));margin-top:calc(.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-1\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.375rem*var(--tw-space-y-reverse));margin-top:calc(.375rem*(1 - var(--tw-space-y-reverse)))}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.5rem*var(--tw-space-y-reverse));margin-top:calc(.5rem*(1 - var(--tw-space-y-reverse)))}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.625rem*var(--tw-space-y-reverse));margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(.75rem*var(--tw-space-y-reverse));margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.25rem*var(--tw-space-y-reverse));margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1.5rem*var(--tw-space-y-reverse));margin-top:calc(1.5rem*(1 - var(--tw-space-y-reverse)))}.self-stretch{align-self:stretch}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{overflow-wrap:break-word}.rounded{border-radius:.25rem}.rounded-\[inherit\]{border-radius:inherit}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.125rem;border-radius:var(--radius)}.rounded-md{border-radius:calc(.125rem - 2px);border-radius:calc(var(--radius) - 2px)}.rounded-sm{border-radius:calc(.125rem - 4px);border-radius:calc(var(--radius) - 4px)}.rounded-xl{border-radius:.75rem}.rounded-t-\[10px\]{border-top-left-radius:10px;border-top-right-radius:10px}.rounded-tl-sm{border-top-left-radius:calc(.125rem - 4px);border-top-left-radius:calc(var(--radius) - 4px)}.border{border-width:1px}.border-2{border-width:2px}.border-y{border-top-width:1px}.border-b,.border-y{border-bottom-width:1px}.border-l{border-left-width:1px}.border-l-2{border-left-width:2px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-\[\#ED1C24\]{--tw-border-opacity:1;border-color:#ed1c24;border-color:rgb(237 28 36/var(--tw-border-opacity,1))}.border-\[\#ED1C24\]\/40{border-color:#ed1c2466}.border-destructive{border-color:#ed1d23;border-color:hsl(var(--destructive))}.border-destructive\/50{border-color:#ed1d2380;border-color:hsl(var(--destructive)/.5)}.border-input{border-color:#262626;border-color:hsl(var(--input))}.border-primary{border-color:#ed1d23;border-color:hsl(var(--primary))}.border-primary\/50{border-color:#ed1d2380;border-color:hsl(var(--primary)/.5)}.border-transparent{border-color:#0000}.border-white\/10{border-color:#ffffff1a}.border-white\/15{border-color:#ffffff26}.border-white\/20{border-color:#fff3}.border-white\/5{border-color:#ffffff0d}.border-yellow-500\/30{border-color:#eab3084d}.border-l-transparent{border-left-color:#0000}.border-t-transparent{border-top-color:#0000}.bg-\[\#0A0A0A\]{--tw-bg-opacity:1;background-color:#0a0a0a;background-color:rgb(10 10 10/var(--tw-bg-opacity,1))}.bg-\[\#0A0A0A\]\/90{background-color:#0a0a0ae6}.bg-\[\#0d0d10\]{--tw-bg-opacity:1;background-color:#0d0d10;background-color:rgb(13 13 16/var(--tw-bg-opacity,1))}.bg-\[\#141416\]{--tw-bg-opacity:1;background-color:#141416;background-color:rgb(20 20 22/var(--tw-bg-opacity,1))}.bg-\[\#ED1C24\]{--tw-bg-opacity:1;background-color:#ed1c24;background-color:rgb(237 28 36/var(--tw-bg-opacity,1))}.bg-\[\#ED1C24\]\/5{background-color:#ed1c240d}.bg-accent{background-color:#222225;background-color:hsl(var(--accent))}.bg-background{background-color:#0a0a0a;background-color:hsl(var(--background))}.bg-black\/70{background-color:#000000b3}.bg-black\/80{background-color:#000c}.bg-border{background-color:#262626;background-color:hsl(var(--border))}.bg-card{background-color:#131315;background-color:hsl(var(--card))}.bg-destructive{background-color:#ed1d23;background-color:hsl(var(--destructive))}.bg-foreground{background-color:#fafafa;background-color:hsl(var(--foreground))}.bg-muted{background-color:#1d1d20;background-color:hsl(var(--muted))}.bg-muted\/50{background-color:#1d1d2080;background-color:hsl(var(--muted)/.5)}.bg-popover{background-color:#131315;background-color:hsl(var(--popover))}.bg-primary{background-color:#ed1d23;background-color:hsl(var(--primary))}.bg-primary\/10{background-color:#ed1d231a;background-color:hsl(var(--primary)/.1)}.bg-primary\/20{background-color:#ed1d2333;background-color:hsl(var(--primary)/.2)}.bg-secondary{background-color:#1d1d20;background-color:hsl(var(--secondary))}.bg-transparent{background-color:initial}.bg-white\/5{background-color:#ffffff0d}.bg-white\/\[0\.02\]{background-color:#ffffff05}.bg-yellow-500\/10{background-color:#eab3081a}.bg-cover{background-size:cover}.bg-center{background-position:50%}.fill-current{fill:currentColor}.fill-primary{fill:#ed1d23;fill:hsl(var(--primary))}.object-cover{object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-10{padding:2.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.p-\[1px\]{padding:1px}.px-1\.5{padding-left:.375rem;padding-right:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-1\.5{padding-bottom:.375rem;padding-top:.375rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-20{padding-bottom:5rem;padding-top:5rem}.py-24{padding-bottom:6rem;padding-top:6rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pl-0{padding-left:0}.pl-2{padding-left:.5rem}.pl-2\.5{padding-left:.625rem}.pl-4{padding-left:1rem}.pl-8{padding-left:2rem}.pr-2{padding-right:.5rem}.pr-2\.5{padding-right:.625rem}.pr-6{padding-right:1.5rem}.pr-8{padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-4{padding-top:1rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-5xl{font-size:3rem;line-height:1}.text-\[0\.8rem\]{font-size:.8rem}.text-\[10px\]{font-size:10px}.text-\[12px\]{font-size:12px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-feature-settings:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction);font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[0\.88\]{line-height:.88}.leading-\[0\.95\]{line-height:.95}.leading-\[0\.9\]{line-height:.9}.leading-none{line-height:1}.leading-relaxed{line-height:1.625}.leading-tight{line-height:1.25}.tracking-\[0\.18em\]{letter-spacing:.18em}.tracking-tight{letter-spacing:-.025em}.tracking-tighter{letter-spacing:-.05em}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.text-\[\#10B981\]{--tw-text-opacity:1;color:#10b981;color:rgb(16 185 129/var(--tw-text-opacity,1))}.text-\[\#ED1C24\]{--tw-text-opacity:1;color:#ed1c24;color:rgb(237 28 36/var(--tw-text-opacity,1))}.text-\[\#F59E0B\]{--tw-text-opacity:1;color:#f59e0b;color:rgb(245 158 11/var(--tw-text-opacity,1))}.text-accent-foreground{color:#fafafa;color:hsl(var(--accent-foreground))}.text-card-foreground{color:#fafafa;color:hsl(var(--card-foreground))}.text-current{color:currentColor}.text-destructive{color:#ed1d23;color:hsl(var(--destructive))}.text-destructive-foreground{color:#fafafa;color:hsl(var(--destructive-foreground))}.text-foreground{color:#fafafa;color:hsl(var(--foreground))}.text-foreground\/50{color:#fafafa80;color:hsl(var(--foreground)/.5)}.text-muted-foreground{color:#a1a1aa;color:hsl(var(--muted-foreground))}.text-popover-foreground{color:#fafafa;color:hsl(var(--popover-foreground))}.text-primary{color:#ed1d23;color:hsl(var(--primary))}.text-primary-foreground{color:#fff;color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:#fafafa;color:hsl(var(--secondary-foreground))}.text-white{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-yellow-400{--tw-text-opacity:1;color:#facc15;color:rgb(250 204 21/var(--tw-text-opacity,1))}.text-zinc-200{--tw-text-opacity:1;color:#e4e4e7;color:rgb(228 228 231/var(--tw-text-opacity,1))}.text-zinc-300{--tw-text-opacity:1;color:#d4d4d8;color:rgb(212 212 216/var(--tw-text-opacity,1))}.text-zinc-400{--tw-text-opacity:1;color:#a1a1aa;color:rgb(161 161 170/var(--tw-text-opacity,1))}.text-zinc-500{--tw-text-opacity:1;color:#71717a;color:rgb(113 113 122/var(--tw-text-opacity,1))}.text-zinc-600{--tw-text-opacity:1;color:#52525b;color:rgb(82 82 91/var(--tw-text-opacity,1))}.underline-offset-4{text-underline-offset:4px}.placeholder-zinc-600::placeholder{--tw-placeholder-opacity:1;color:#52525b;color:rgb(82 82 91/var(--tw-placeholder-opacity,1))}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-40{opacity:.4}.opacity-50{opacity:.5}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.ring-0{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-0,.ring-1{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.ring-ring{--tw-ring-color:hsl(var(--ring))}.ring-offset-background{--tw-ring-offset-color:hsl(var(--background))}.drop-shadow{--tw-drop-shadow:drop-shadow(0 1px 2px #0000001a) drop-shadow(0 1px 1px #0000000f)}.drop-shadow,.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur-md{--tw-backdrop-blur:blur(12px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-text-decoration-color,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,fill,stroke,-webkit-text-decoration-color;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,-webkit-text-decoration-color;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-1000{transition-duration:1s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.duration-700{transition-duration:.7s}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}@keyframes enter{0%{opacity:1;opacity:var(--tw-enter-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0) scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1)) rotate(var(--tw-enter-rotate,0))}}@keyframes exit{to{opacity:1;opacity:var(--tw-exit-opacity,1);transform:translateZ(0) scaleX(1) rotate(0);transform:translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0) scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1)) rotate(var(--tw-exit-rotate,0))}}.animate-in{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.fade-in-0{--tw-enter-opacity:0}.zoom-in-95{--tw-enter-scale:.95}.duration-1000{animation-duration:1s}.duration-200{animation-duration:.2s}.duration-300{animation-duration:.3s}.duration-500{animation-duration:.5s}.duration-700{animation-duration:.7s}.ease-in-out{animation-timing-function:cubic-bezier(.4,0,.2,1)}.ease-out{animation-timing-function:cubic-bezier(0,0,.2,1)}.running{animation-play-state:running}body,html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#0a0a0a;color:#fff;font-family:IBM Plex Sans,-apple-system,BlinkMacSystemFont,sans-serif;margin:0}code{font-family:JetBrains Mono,ui-monospace,monospace}.file\:border-0::-webkit-file-upload-button{border-width:0}.file\:border-0::file-selector-button{border-width:0}.file\:bg-transparent::-webkit-file-upload-button{background-color:initial}.file\:bg-transparent::file-selector-button{background-color:initial}.file\:text-sm::-webkit-file-upload-button{font-size:.875rem;line-height:1.25rem}.file\:text-sm::file-selector-button{font-size:.875rem;line-height:1.25rem}.file\:font-medium::-webkit-file-upload-button{font-weight:500}.file\:font-medium::file-selector-button{font-weight:500}.file\:text-foreground::-webkit-file-upload-button{color:#fafafa;color:hsl(var(--foreground))}.file\:text-foreground::file-selector-button{color:#fafafa;color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:#a1a1aa;color:hsl(var(--muted-foreground))}.after\:absolute:after{content:var(--tw-content);position:absolute}.after\:inset-y-0:after{bottom:0;content:var(--tw-content);top:0}.after\:left-1\/2:after{content:var(--tw-content);left:50%}.after\:w-1:after{content:var(--tw-content);width:.25rem}.after\:-translate-x-1\/2:after{--tw-translate-x:-50%;content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.first\:rounded-l-md:first-child{border-bottom-left-radius:calc(.125rem - 2px);border-bottom-left-radius:calc(var(--radius) - 2px);border-top-left-radius:calc(.125rem - 2px);border-top-left-radius:calc(var(--radius) - 2px)}.first\:border-l:first-child{border-left-width:1px}.last\:rounded-r-md:last-child{border-bottom-right-radius:calc(.125rem - 2px);border-bottom-right-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(.125rem - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.last\:border-b-0:last-child{border-bottom-width:0}.last\:border-r-0:last-child{border-right-width:0}.focus-within\:relative:focus-within{position:relative}.focus-within\:z-20:focus-within{z-index:20}.hover\:border-white\/40:hover{border-color:#fff6}.hover\:bg-\[\#141416\]:hover{--tw-bg-opacity:1;background-color:#141416;background-color:rgb(20 20 22/var(--tw-bg-opacity,1))}.hover\:bg-accent:hover{background-color:#222225;background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:#ed1d23cc;background-color:hsl(var(--destructive)/.8)}.hover\:bg-destructive\/90:hover{background-color:#ed1d23e6;background-color:hsl(var(--destructive)/.9)}.hover\:bg-muted:hover{background-color:#1d1d20;background-color:hsl(var(--muted))}.hover\:bg-muted\/50:hover{background-color:#1d1d2080;background-color:hsl(var(--muted)/.5)}.hover\:bg-primary:hover{background-color:#ed1d23;background-color:hsl(var(--primary))}.hover\:bg-primary\/80:hover{background-color:#ed1d23cc;background-color:hsl(var(--primary)/.8)}.hover\:bg-primary\/90:hover{background-color:#ed1d23e6;background-color:hsl(var(--primary)/.9)}.hover\:bg-secondary:hover{background-color:#1d1d20;background-color:hsl(var(--secondary))}.hover\:bg-secondary\/80:hover{background-color:#1d1d20cc;background-color:hsl(var(--secondary)/.8)}.hover\:bg-white\/5:hover{background-color:#ffffff0d}.hover\:bg-white\/\[0\.04\]:hover{background-color:#ffffff0a}.hover\:text-accent-foreground:hover{color:#fafafa;color:hsl(var(--accent-foreground))}.hover\:text-foreground:hover{color:#fafafa;color:hsl(var(--foreground))}.hover\:text-muted-foreground:hover{color:#a1a1aa;color:hsl(var(--muted-foreground))}.hover\:text-primary-foreground:hover{color:#fff;color:hsl(var(--primary-foreground))}.hover\:text-white:hover{--tw-text-opacity:1;color:#fff;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{-webkit-text-decoration-line:underline;text-decoration-line:underline}.hover\:opacity-100:hover{opacity:1}.focus\:border-\[\#ED1C24\]:focus{--tw-border-opacity:1;border-color:#ed1c24;border-color:rgb(237 28 36/var(--tw-border-opacity,1))}.focus\:bg-accent:focus{background-color:#222225;background-color:hsl(var(--accent))}.focus\:bg-primary:focus{background-color:#ed1d23;background-color:hsl(var(--primary))}.focus\:text-accent-foreground:focus{color:#fafafa;color:hsl(var(--accent-foreground))}.focus\:text-primary-foreground:focus{color:#fff;color:hsl(var(--primary-foreground))}.focus\:opacity-100:focus{opacity:1}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-1:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-1:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px}.focus-visible\:outline-none:focus-visible{outline:2px solid #0000;outline-offset:2px}.focus-visible\:ring-1:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-1:focus-visible{--tw-ring-offset-width:1px}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.focus-visible\:ring-offset-background:focus-visible{--tw-ring-offset-color:hsl(var(--background))}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-40:disabled{opacity:.4}.disabled\:opacity-50:disabled{opacity:.5}.group:hover .group-hover\:text-\[\#ED1C24\]{--tw-text-opacity:1;color:#ed1c24;color:rgb(237 28 36/var(--tw-text-opacity,1))}.group:hover .group-hover\:opacity-100{opacity:1}.group.destructive .group-\[\.destructive\]\:border-muted\/40{border-color:#1d1d2066;border-color:hsl(var(--muted)/.4)}.group.toaster .group-\[\.toaster\]\:border-border{border-color:#262626;border-color:hsl(var(--border))}.group.toast .group-\[\.toast\]\:bg-muted{background-color:#1d1d20;background-color:hsl(var(--muted))}.group.toast .group-\[\.toast\]\:bg-primary{background-color:#ed1d23;background-color:hsl(var(--primary))}.group.toaster .group-\[\.toaster\]\:bg-background{background-color:#0a0a0a;background-color:hsl(var(--background))}.group.destructive .group-\[\.destructive\]\:text-red-300{--tw-text-opacity:1;color:#fca5a5;color:rgb(252 165 165/var(--tw-text-opacity,1))}.group.toast .group-\[\.toast\]\:text-muted-foreground{color:#a1a1aa;color:hsl(var(--muted-foreground))}.group.toast .group-\[\.toast\]\:text-primary-foreground{color:#fff;color:hsl(var(--primary-foreground))}.group.toaster .group-\[\.toaster\]\:text-foreground{color:#fafafa;color:hsl(var(--foreground))}.group.toaster .group-\[\.toaster\]\:shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.group.destructive .group-\[\.destructive\]\:hover\:border-destructive\/30:hover{border-color:#ed1d234d;border-color:hsl(var(--destructive)/.3)}.group.destructive .group-\[\.destructive\]\:hover\:bg-destructive:hover{background-color:#ed1d23;background-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:hover\:text-destructive-foreground:hover{color:#fafafa;color:hsl(var(--destructive-foreground))}.group.destructive .group-\[\.destructive\]\:hover\:text-red-50:hover{--tw-text-opacity:1;color:#fef2f2;color:rgb(254 242 242/var(--tw-text-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-destructive:focus{--tw-ring-color:hsl(var(--destructive))}.group.destructive .group-\[\.destructive\]\:focus\:ring-red-400:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(248 113 113/var(--tw-ring-opacity,1))}.group.destructive .group-\[\.destructive\]\:focus\:ring-offset-red-600:focus{--tw-ring-offset-color:#dc2626}.peer:disabled~.peer-disabled\:cursor-not-allowed{cursor:not-allowed}.peer:disabled~.peer-disabled\:opacity-70{opacity:.7}.has-\[\:disabled\]\:opacity-50:has(:disabled){opacity:.5}.aria-selected\:bg-accent[aria-selected=true]{background-color:#222225;background-color:hsl(var(--accent))}.aria-selected\:bg-accent\/50[aria-selected=true]{background-color:#22222580;background-color:hsl(var(--accent)/.5)}.aria-selected\:text-accent-foreground[aria-selected=true]{color:#fafafa;color:hsl(var(--accent-foreground))}.aria-selected\:text-muted-foreground[aria-selected=true]{color:#a1a1aa;color:hsl(var(--muted-foreground))}.aria-selected\:opacity-100[aria-selected=true]{opacity:1}.data-\[disabled\=true\]\:pointer-events-none[data-disabled=true],.data-\[disabled\]\:pointer-events-none[data-disabled]{pointer-events:none}.data-\[panel-group-direction\=vertical\]\:h-px[data-panel-group-direction=vertical]{height:1px}.data-\[panel-group-direction\=vertical\]\:w-full[data-panel-group-direction=vertical]{width:100%}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom]{--tw-translate-y:0.25rem}.data-\[side\=bottom\]\:translate-y-1[data-side=bottom],.data-\[side\=left\]\:-translate-x-1[data-side=left]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=left\]\:-translate-x-1[data-side=left]{--tw-translate-x:-0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right]{--tw-translate-x:0.25rem}.data-\[side\=right\]\:translate-x-1[data-side=right],.data-\[side\=top\]\:-translate-y-1[data-side=top]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[side\=top\]\:-translate-y-1[data-side=top]{--tw-translate-y:-0.25rem}.data-\[state\=checked\]\:translate-x-4[data-state=checked]{--tw-translate-x:1rem;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=unchecked\]\:translate-x-0[data-state=unchecked],.data-\[swipe\=cancel\]\:translate-x-0[data-swipe=cancel]{--tw-translate-x:0px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end]{--tw-translate-x:var(--radix-toast-swipe-end-x)}.data-\[swipe\=end\]\:translate-x-\[var\(--radix-toast-swipe-end-x\)\][data-swipe=end],.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[swipe\=move\]\:translate-x-\[var\(--radix-toast-swipe-move-x\)\][data-swipe=move]{--tw-translate-x:var(--radix-toast-swipe-move-x)}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}.data-\[state\=closed\]\:animate-accordion-up[data-state=closed]{animation:accordion-up .2s ease-out}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}.data-\[state\=open\]\:animate-accordion-down[data-state=open]{animation:accordion-down .2s ease-out}.data-\[panel-group-direction\=vertical\]\:flex-col[data-panel-group-direction=vertical]{flex-direction:column}.data-\[selected\=true\]\:bg-accent[data-selected=true]{background-color:#222225;background-color:hsl(var(--accent))}.data-\[state\=active\]\:bg-background[data-state=active]{background-color:#0a0a0a;background-color:hsl(var(--background))}.data-\[state\=checked\]\:bg-primary[data-state=checked]{background-color:#ed1d23;background-color:hsl(var(--primary))}.data-\[state\=on\]\:bg-accent[data-state=on],.data-\[state\=open\]\:bg-accent[data-state=open]{background-color:#222225;background-color:hsl(var(--accent))}.data-\[state\=open\]\:bg-accent\/50[data-state=open]{background-color:#22222580;background-color:hsl(var(--accent)/.5)}.data-\[state\=open\]\:bg-secondary[data-state=open]{background-color:#1d1d20;background-color:hsl(var(--secondary))}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:#1d1d20;background-color:hsl(var(--muted))}.data-\[state\=unchecked\]\:bg-input[data-state=unchecked]{background-color:#262626;background-color:hsl(var(--input))}.data-\[placeholder\]\:text-muted-foreground[data-placeholder]{color:#a1a1aa;color:hsl(var(--muted-foreground))}.data-\[selected\=true\]\:text-accent-foreground[data-selected=true]{color:#fafafa;color:hsl(var(--accent-foreground))}.data-\[state\=active\]\:text-foreground[data-state=active]{color:#fafafa;color:hsl(var(--foreground))}.data-\[state\=checked\]\:text-primary-foreground[data-state=checked]{color:#fff;color:hsl(var(--primary-foreground))}.data-\[state\=on\]\:text-accent-foreground[data-state=on],.data-\[state\=open\]\:text-accent-foreground[data-state=open]{color:#fafafa;color:hsl(var(--accent-foreground))}.data-\[state\=open\]\:text-muted-foreground[data-state=open]{color:#a1a1aa;color:hsl(var(--muted-foreground))}.data-\[disabled\=true\]\:opacity-50[data-disabled=true],.data-\[disabled\]\:opacity-50[data-disabled]{opacity:.5}.data-\[state\=active\]\:shadow[data-state=active]{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color);box-shadow:0 0 #0000,0 0 #0000,var(--tw-shadow);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.data-\[swipe\=move\]\:transition-none[data-swipe=move]{transition-property:none}.data-\[state\=closed\]\:duration-300[data-state=closed]{transition-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{transition-duration:.5s}.data-\[motion\^\=from-\]\:animate-in[data-motion^=from-],.data-\[state\=open\]\:animate-in[data-state=open],.data-\[state\=visible\]\:animate-in[data-state=visible]{--tw-enter-opacity:initial;--tw-enter-scale:initial;--tw-enter-rotate:initial;--tw-enter-translate-x:initial;--tw-enter-translate-y:initial;animation-duration:.15s;animation-name:enter}.data-\[motion\^\=to-\]\:animate-out[data-motion^=to-],.data-\[state\=closed\]\:animate-out[data-state=closed],.data-\[state\=hidden\]\:animate-out[data-state=hidden],.data-\[swipe\=end\]\:animate-out[data-swipe=end]{--tw-exit-opacity:initial;--tw-exit-scale:initial;--tw-exit-rotate:initial;--tw-exit-translate-x:initial;--tw-exit-translate-y:initial;animation-duration:.15s;animation-name:exit}.data-\[motion\^\=from-\]\:fade-in[data-motion^=from-]{--tw-enter-opacity:0}.data-\[motion\^\=to-\]\:fade-out[data-motion^=to-],.data-\[state\=closed\]\:fade-out-0[data-state=closed]{--tw-exit-opacity:0}.data-\[state\=closed\]\:fade-out-80[data-state=closed]{--tw-exit-opacity:0.8}.data-\[state\=hidden\]\:fade-out[data-state=hidden]{--tw-exit-opacity:0}.data-\[state\=open\]\:fade-in-0[data-state=open],.data-\[state\=visible\]\:fade-in[data-state=visible]{--tw-enter-opacity:0}.data-\[state\=closed\]\:zoom-out-95[data-state=closed]{--tw-exit-scale:.95}.data-\[state\=open\]\:zoom-in-90[data-state=open]{--tw-enter-scale:.9}.data-\[state\=open\]\:zoom-in-95[data-state=open]{--tw-enter-scale:.95}.data-\[motion\=from-end\]\:slide-in-from-right-52[data-motion=from-end]{--tw-enter-translate-x:13rem}.data-\[motion\=from-start\]\:slide-in-from-left-52[data-motion=from-start]{--tw-enter-translate-x:-13rem}.data-\[motion\=to-end\]\:slide-out-to-right-52[data-motion=to-end]{--tw-exit-translate-x:13rem}.data-\[motion\=to-start\]\:slide-out-to-left-52[data-motion=to-start]{--tw-exit-translate-x:-13rem}.data-\[side\=bottom\]\:slide-in-from-top-2[data-side=bottom]{--tw-enter-translate-y:-0.5rem}.data-\[side\=left\]\:slide-in-from-right-2[data-side=left]{--tw-enter-translate-x:0.5rem}.data-\[side\=right\]\:slide-in-from-left-2[data-side=right]{--tw-enter-translate-x:-0.5rem}.data-\[side\=top\]\:slide-in-from-bottom-2[data-side=top]{--tw-enter-translate-y:0.5rem}.data-\[state\=closed\]\:slide-out-to-bottom[data-state=closed]{--tw-exit-translate-y:100%}.data-\[state\=closed\]\:slide-out-to-left[data-state=closed]{--tw-exit-translate-x:-100%}.data-\[state\=closed\]\:slide-out-to-left-1\/2[data-state=closed]{--tw-exit-translate-x:-50%}.data-\[state\=closed\]\:slide-out-to-right-full[data-state=closed],.data-\[state\=closed\]\:slide-out-to-right[data-state=closed]{--tw-exit-translate-x:100%}.data-\[state\=closed\]\:slide-out-to-top[data-state=closed]{--tw-exit-translate-y:-100%}.data-\[state\=closed\]\:slide-out-to-top-\[48\%\][data-state=closed]{--tw-exit-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-bottom[data-state=open]{--tw-enter-translate-y:100%}.data-\[state\=open\]\:slide-in-from-left[data-state=open]{--tw-enter-translate-x:-100%}.data-\[state\=open\]\:slide-in-from-left-1\/2[data-state=open]{--tw-enter-translate-x:-50%}.data-\[state\=open\]\:slide-in-from-right[data-state=open]{--tw-enter-translate-x:100%}.data-\[state\=open\]\:slide-in-from-top[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=open\]\:slide-in-from-top-\[48\%\][data-state=open]{--tw-enter-translate-y:-48%}.data-\[state\=open\]\:slide-in-from-top-full[data-state=open]{--tw-enter-translate-y:-100%}.data-\[state\=closed\]\:duration-300[data-state=closed]{animation-duration:.3s}.data-\[state\=open\]\:duration-500[data-state=open]{animation-duration:.5s}.data-\[panel-group-direction\=vertical\]\:after\:left-0[data-panel-group-direction=vertical]:after{content:var(--tw-content);left:0}.data-\[panel-group-direction\=vertical\]\:after\:h-1[data-panel-group-direction=vertical]:after{content:var(--tw-content);height:.25rem}.data-\[panel-group-direction\=vertical\]\:after\:w-full[data-panel-group-direction=vertical]:after{content:var(--tw-content);width:100%}.data-\[panel-group-direction\=vertical\]\:after\:-translate-y-1\/2[data-panel-group-direction=vertical]:after{--tw-translate-y:-50%;content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[panel-group-direction\=vertical\]\:after\:translate-x-0[data-panel-group-direction=vertical]:after{--tw-translate-x:0px;content:var(--tw-content);transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.data-\[state\=open\]\:focus\:bg-accent:focus[data-state=open],.data-\[state\=open\]\:hover\:bg-accent:hover[data-state=open]{background-color:#222225;background-color:hsl(var(--accent))}.group[data-state=open] .group-data-\[state\=open\]\:rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.dark\:border-destructive:is(.dark *){border-color:#ed1d23;border-color:hsl(var(--destructive))}@media (min-width:640px){.sm\:bottom-0{bottom:0}.sm\:right-0{right:0}.sm\:top-auto{top:auto}.sm\:mt-0{margin-top:0}.sm\:inline{display:inline}.sm\:max-w-sm{max-width:24rem}.sm\:flex-row{flex-direction:row}.sm\:flex-col{flex-direction:column}.sm\:justify-end{justify-content:flex-end}.sm\:gap-2\.5{gap:.625rem}.sm\:space-x-2>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(.5rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(.5rem*var(--tw-space-x-reverse))}.sm\:space-x-4>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-left:calc(1rem*(1 - var(--tw-space-x-reverse)));margin-right:calc(1rem*var(--tw-space-x-reverse))}.sm\:space-y-0>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(0px*var(--tw-space-y-reverse));margin-top:calc(0px*(1 - var(--tw-space-y-reverse)))}.sm\:rounded-lg{border-radius:.125rem;border-radius:var(--radius)}.sm\:text-left{text-align:left}.data-\[state\=open\]\:sm\:slide-in-from-bottom-full[data-state=open]{--tw-enter-translate-y:100%}}@media (min-width:768px){.md\:absolute{position:absolute}.md\:col-span-2{grid-column:span 2/span 2}.md\:col-span-4{grid-column:span 4/span 4}.md\:col-span-6{grid-column:span 6/span 6}.md\:col-span-8{grid-column:span 8/span 8}.md\:inline{display:inline}.md\:flex{display:flex}.md\:inline-flex{display:inline-flex}.md\:w-\[var\(--radix-navigation-menu-viewport-width\)\]{width:var(--radix-navigation-menu-viewport-width)}.md\:w-auto{width:auto}.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:py-32{padding-bottom:8rem;padding-top:8rem}.md\:text-3xl{font-size:1.875rem;line-height:2.25rem}.md\:text-4xl{font-size:2.25rem;line-height:2.5rem}.md\:text-5xl{font-size:3rem;line-height:1}.md\:text-6xl{font-size:3.75rem;line-height:1}.md\:text-7xl{font-size:4.5rem;line-height:1}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}.md\:text-sm{font-size:.875rem;line-height:1.25rem}}@media (min-width:1024px){.lg\:col-span-10{grid-column:span 10/span 10}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:col-start-2{grid-column-start:2}.lg\:flex{display:flex}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:py-40{padding-bottom:10rem;padding-top:10rem}.lg\:text-8xl{font-size:6rem;line-height:1}}.\[\&\+div\]\:text-xs+div{font-size:.75rem;line-height:1rem}.\[\&\:has\(\>\.day-range-end\)\]\:rounded-r-md:has(>.day-range-end){border-bottom-right-radius:calc(.125rem - 2px);border-bottom-right-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(.125rem - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\>\.day-range-start\)\]\:rounded-l-md:has(>.day-range-start){border-bottom-left-radius:calc(.125rem - 2px);border-bottom-left-radius:calc(var(--radius) - 2px);border-top-left-radius:calc(.125rem - 2px);border-top-left-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:rounded-md:has([aria-selected]){border-radius:calc(.125rem - 2px);border-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\)\]\:bg-accent:has([aria-selected]){background-color:#222225;background-color:hsl(var(--accent))}.first\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-l-md:has([aria-selected]):first-child{border-bottom-left-radius:calc(.125rem - 2px);border-bottom-left-radius:calc(var(--radius) - 2px);border-top-left-radius:calc(.125rem - 2px);border-top-left-radius:calc(var(--radius) - 2px)}.last\:\[\&\:has\(\[aria-selected\]\)\]\:rounded-r-md:has([aria-selected]):last-child{border-bottom-right-radius:calc(.125rem - 2px);border-bottom-right-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(.125rem - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[aria-selected\]\.day-outside\)\]\:bg-accent\/50:has([aria-selected].day-outside){background-color:#22222580;background-color:hsl(var(--accent)/.5)}.\[\&\:has\(\[aria-selected\]\.day-range-end\)\]\:rounded-r-md:has([aria-selected].day-range-end){border-bottom-right-radius:calc(.125rem - 2px);border-bottom-right-radius:calc(var(--radius) - 2px);border-top-right-radius:calc(.125rem - 2px);border-top-right-radius:calc(var(--radius) - 2px)}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>\[role\=checkbox\]\]\:translate-y-\[2px\]>[role=checkbox]{--tw-translate-y:2px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>span\]\:line-clamp-1>span{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.\[\&\>svg\+div\]\:translate-y-\[-3px\]>svg+div{--tw-translate-y:-3px;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\>svg\]\:absolute>svg{position:absolute}.\[\&\>svg\]\:left-4>svg{left:1rem}.\[\&\>svg\]\:top-4>svg{top:1rem}.\[\&\>svg\]\:size-4>svg{height:1rem;width:1rem}.\[\&\>svg\]\:h-3\.5>svg{height:.875rem}.\[\&\>svg\]\:w-3\.5>svg{width:.875rem}.\[\&\>svg\]\:shrink-0>svg{flex-shrink:0}.\[\&\>svg\]\:text-destructive>svg{color:#ed1d23;color:hsl(var(--destructive))}.\[\&\>svg\]\:text-foreground>svg{color:#fafafa;color:hsl(var(--foreground))}.\[\&\>svg\~\*\]\:pl-7>svg~*{padding-left:1.75rem}.\[\&\>tr\]\:last\:border-b-0:last-child>tr{border-bottom-width:0}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div{--tw-rotate:90deg}.\[\&\[data-panel-group-direction\=vertical\]\>div\]\:rotate-90[data-panel-group-direction=vertical]>div,.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.\[\&\[data-state\=open\]\>svg\]\:rotate-180[data-state=open]>svg{--tw-rotate:180deg}.\[\&_\[cmdk-group-heading\]\]\:px-2 [cmdk-group-heading]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-group-heading\]\]\:py-1\.5 [cmdk-group-heading]{padding-bottom:.375rem;padding-top:.375rem}.\[\&_\[cmdk-group-heading\]\]\:text-xs [cmdk-group-heading]{font-size:.75rem;line-height:1rem}.\[\&_\[cmdk-group-heading\]\]\:font-medium [cmdk-group-heading]{font-weight:500}.\[\&_\[cmdk-group-heading\]\]\:text-muted-foreground [cmdk-group-heading]{color:#a1a1aa;color:hsl(var(--muted-foreground))}.\[\&_\[cmdk-group\]\:not\(\[hidden\]\)_\~\[cmdk-group\]\]\:pt-0 [cmdk-group]:not([hidden])~[cmdk-group]{padding-top:0}.\[\&_\[cmdk-group\]\]\:px-2 [cmdk-group]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:h-5 [cmdk-input-wrapper] svg{height:1.25rem}.\[\&_\[cmdk-input-wrapper\]_svg\]\:w-5 [cmdk-input-wrapper] svg{width:1.25rem}.\[\&_\[cmdk-input\]\]\:h-12 [cmdk-input]{height:3rem}.\[\&_\[cmdk-item\]\]\:px-2 [cmdk-item]{padding-left:.5rem;padding-right:.5rem}.\[\&_\[cmdk-item\]\]\:py-3 [cmdk-item]{padding-bottom:.75rem;padding-top:.75rem}.\[\&_\[cmdk-item\]_svg\]\:h-5 [cmdk-item] svg{height:1.25rem}.\[\&_\[cmdk-item\]_svg\]\:w-5 [cmdk-item] svg{width:1.25rem}.\[\&_p\]\:leading-relaxed p{line-height:1.625}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{height:1rem;width:1rem}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-width:0}.\[\&_tr\]\:border-b tr{border-bottom-width:1px}:root{--fs-bg:#0a0a0a;--fs-surface:#141416;--fs-surface-2:#1a1a1d;--fs-border:#ffffff1a;--fs-border-strong:#fff3;--fs-red:#ed1c24;--fs-red-hot:#ff3b30;--fs-amber:#f59e0b;--fs-green:#10b981;--fs-text:#fff;--fs-text-mute:#a1a1aa;--fs-text-dim:#71717a}.App{background:#0a0a0a;background:var(--fs-bg);color:#fff;color:var(--fs-text);font-family:IBM Plex Sans,system-ui,sans-serif;letter-spacing:.005em}.font-display{font-family:Chivo,sans-serif}.font-mono{font-family:JetBrains Mono,ui-monospace,monospace}::selection{background:#ed1c24;background:var(--fs-red);color:#fff}::-webkit-scrollbar{height:10px;width:10px}::-webkit-scrollbar-track{background:#0a0a0a}::-webkit-scrollbar-thumb{background:#2a2a2d;border:2px solid #0a0a0a}::-webkit-scrollbar-thumb:hover{background:#ed1c24;background:var(--fs-red)}.fs-scanlines{background-image:repeating-linear-gradient(180deg,#0000 0,#0000 2px,hsla(0,0%,100%,.015) 0,hsla(0,0%,100%,.015) 3px)}.fs-grid-dots{background-image:radial-gradient(#ffffff0f 1px,#0000 0);background-size:24px 24px}.fs-corners{position:relative}.fs-corners:after,.fs-corners:before{border-color:#ed1c24;border-color:var(--fs-red);border-style:solid;border-width:0;content:"";height:10px;position:absolute;width:10px}.fs-corners:before{border-left-width:1px;border-top-width:1px;left:-1px;top:-1px}.fs-corners:after{border-bottom-width:1px;border-right-width:1px;bottom:-1px;right:-1px}.fs-cursor:after{animation:fs-blink 1s steps(2) infinite;color:#ed1c24;color:var(--fs-red);content:"▊";display:inline-block;margin-left:2px}@keyframes fs-blink{0%,50%{opacity:1}51%,to{opacity:0}}.fs-rise{animation:fs-rise .5s cubic-bezier(.16,1,.3,1) both}@keyframes fs-rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.fs-btn{background:#0000;border:1px solid #fff3;border:1px solid var(--fs-border-strong);color:#fff;cursor:pointer;font-family:JetBrains Mono,monospace;font-size:.75rem;letter-spacing:.14em;padding:.65rem 1.1rem;text-transform:uppercase;transition:background-color .18s ease,border-color .18s ease,color .18s ease,transform .18s ease}.fs-btn:hover{color:#ed1c24;color:var(--fs-red)}.fs-btn-primary,.fs-btn:hover{border-color:#ed1c24;border-color:var(--fs-red)}.fs-btn-primary{background:#ed1c24;background:var(--fs-red);color:#fff}.fs-btn-primary:hover{background:#ff3b30;background:var(--fs-red-hot);border-color:#ff3b30;border-color:var(--fs-red-hot);color:#fff}.fs-chip{border:1px solid #fff3;border:1px solid var(--fs-border-strong);color:#a1a1aa;color:var(--fs-text-mute);font-family:JetBrains Mono,monospace;font-size:.65rem;letter-spacing:.2em;padding:.2rem .55rem;text-transform:uppercase}.fs-chip-pass{border-color:#10b98166;color:#10b981;color:var(--fs-green)}.fs-chip-warn{border-color:#f59e0b66;color:#f59e0b;color:var(--fs-amber)}.fs-chip-fail{border-color:#ed1c2480;color:#ed1c24;color:var(--fs-red)}.fs-label{color:#71717a;color:var(--fs-text-dim);font-family:JetBrains Mono,monospace;font-size:.7rem;letter-spacing:.22em;text-transform:uppercase}.fs-hr{border:none;border-top:1px dashed #ffffff1a;border-top:1px dashed var(--fs-border);margin:0}.fs-stroke{-webkit-text-stroke:1px #ffffff40;color:#0000}.fs-drop{border:1px dashed #fff3;border:1px dashed var(--fs-border-strong);transition:border-color .18s ease,background-color .18s ease}.fs-drop.fs-drop-active{background-color:#ed1c240d;border-color:#ed1c24;border-color:var(--fs-red)}.fs-mono-small{font-family:JetBrains Mono,monospace;font-size:.72rem;letter-spacing:.1em}.fs-bar{background:#ffffff1a;background:var(--fs-border);height:4px;overflow:hidden}.fs-bar>div{background:#ed1c24;background:var(--fs-red);height:100%;transition:width .4s cubic-bezier(.16,1,.3,1)}kbd{background:#18181b;border:1px solid #fff3;border:1px solid var(--fs-border-strong);color:#a1a1aa;color:var(--fs-text-mute);font-family:JetBrains Mono,monospace;font-size:.65rem;padding:2px 6px}
4
+ /*# sourceMappingURL=main.bcca7bc1.css.map*/
build/static/css/main.bcca7bc1.css.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"static/css/main.bcca7bc1.css","mappings":"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","sources":["index.css","App.css"],"sourcesContent":["@tailwind base;\r\n@tailwind components;\r\n@tailwind utilities;\r\n\r\nhtml, body {\r\n margin: 0;\r\n background: #0A0A0A;\r\n color: #fff;\r\n font-family: 'IBM Plex Sans', -apple-system, BlinkMacSystemFont, sans-serif;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n}\r\n\r\ncode {\r\n font-family: 'JetBrains Mono', ui-monospace, monospace;\r\n}\r\n\r\n@layer base {\r\n :root {\r\n --background: 0 0% 4%;\r\n --foreground: 0 0% 98%;\r\n --card: 240 5% 8%;\r\n --card-foreground: 0 0% 98%;\r\n --popover: 240 5% 8%;\r\n --popover-foreground: 0 0% 98%;\r\n --primary: 358 85% 52%;\r\n --primary-foreground: 0 0% 100%;\r\n --secondary: 240 5% 12%;\r\n --secondary-foreground: 0 0% 98%;\r\n --muted: 240 5% 12%;\r\n --muted-foreground: 240 5% 65%;\r\n --accent: 240 5% 14%;\r\n --accent-foreground: 0 0% 98%;\r\n --destructive: 358 85% 52%;\r\n --destructive-foreground: 0 0% 98%;\r\n --border: 0 0% 15%;\r\n --input: 0 0% 15%;\r\n --ring: 358 85% 52%;\r\n --radius: 0.125rem;\r\n }\r\n}\r\n\r\n@layer base {\r\n * {\r\n @apply border-border;\r\n }\r\n body {\r\n @apply bg-background text-foreground;\r\n }\r\n}\r\n\r\n@layer base {\r\n [data-debug-wrapper=\"true\"] {\r\n display: contents !important;\r\n }\r\n [data-debug-wrapper=\"true\"] > * {\r\n margin-left: inherit; margin-right: inherit; margin-top: inherit; margin-bottom: inherit;\r\n padding-left: inherit; padding-right: inherit; padding-top: inherit; padding-bottom: inherit;\r\n column-gap: inherit; row-gap: inherit; gap: inherit;\r\n border-left-width: inherit; border-right-width: inherit; border-top-width: inherit; border-bottom-width: inherit;\r\n border-left-style: inherit; border-right-style: inherit; border-top-style: inherit; border-bottom-style: inherit;\r\n border-left-color: inherit; border-right-color: inherit; border-top-color: inherit; border-bottom-color: inherit;\r\n }\r\n}\r\n","/* ForgeSight — industrial brutalist theme */\r\n\r\n@import url('https://fonts.googleapis.com/css2?family=Chivo:wght@300;400;700;900&family=IBM+Plex+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500;700&display=swap');\r\n\r\n:root {\r\n --fs-bg: #0A0A0A;\r\n --fs-surface: #141416;\r\n --fs-surface-2: #1a1a1d;\r\n --fs-border: rgba(255, 255, 255, 0.1);\r\n --fs-border-strong: rgba(255, 255, 255, 0.2);\r\n --fs-red: #ED1C24;\r\n --fs-red-hot: #FF3B30;\r\n --fs-amber: #F59E0B;\r\n --fs-green: #10B981;\r\n --fs-text: #FFFFFF;\r\n --fs-text-mute: #A1A1AA;\r\n --fs-text-dim: #71717A;\r\n}\r\n\r\n.App {\r\n font-family: 'IBM Plex Sans', system-ui, sans-serif;\r\n background: var(--fs-bg);\r\n color: var(--fs-text);\r\n letter-spacing: 0.005em;\r\n}\r\n\r\n.font-display { font-family: 'Chivo', sans-serif; }\r\n.font-mono { font-family: 'JetBrains Mono', ui-monospace, monospace; }\r\n\r\n/* Selection */\r\n::selection {\r\n background: var(--fs-red);\r\n color: #fff;\r\n}\r\n\r\n/* Scrollbar */\r\n::-webkit-scrollbar { width: 10px; height: 10px; }\r\n::-webkit-scrollbar-track { background: #0A0A0A; }\r\n::-webkit-scrollbar-thumb { background: #2a2a2d; border: 2px solid #0A0A0A; }\r\n::-webkit-scrollbar-thumb:hover { background: var(--fs-red); }\r\n\r\n/* Industrial scanline overlay for agent console */\r\n.fs-scanlines {\r\n background-image: repeating-linear-gradient(\r\n to bottom,\r\n transparent 0px,\r\n transparent 2px,\r\n rgba(255, 255, 255, 0.015) 2px,\r\n rgba(255, 255, 255, 0.015) 3px\r\n );\r\n}\r\n\r\n/* Grid dots texture */\r\n.fs-grid-dots {\r\n background-image: radial-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px);\r\n background-size: 24px 24px;\r\n}\r\n\r\n/* Technical corner tick marks */\r\n.fs-corners {\r\n position: relative;\r\n}\r\n.fs-corners::before,\r\n.fs-corners::after {\r\n content: '';\r\n position: absolute;\r\n width: 10px;\r\n height: 10px;\r\n border-color: var(--fs-red);\r\n border-style: solid;\r\n border-width: 0;\r\n}\r\n.fs-corners::before {\r\n top: -1px; left: -1px;\r\n border-top-width: 1px; border-left-width: 1px;\r\n}\r\n.fs-corners::after {\r\n bottom: -1px; right: -1px;\r\n border-bottom-width: 1px; border-right-width: 1px;\r\n}\r\n\r\n/* Blinking terminal cursor */\r\n.fs-cursor::after {\r\n content: '▊';\r\n display: inline-block;\r\n margin-left: 2px;\r\n color: var(--fs-red);\r\n animation: fs-blink 1s steps(2) infinite;\r\n}\r\n@keyframes fs-blink {\r\n 0%, 50% { opacity: 1; }\r\n 51%, 100% { opacity: 0; }\r\n}\r\n\r\n/* Boot / entrance fade + slide */\r\n.fs-rise {\r\n animation: fs-rise 0.5s cubic-bezier(0.16, 1, 0.3, 1) both;\r\n}\r\n@keyframes fs-rise {\r\n from { opacity: 0; transform: translateY(8px); }\r\n to { opacity: 1; transform: translateY(0); }\r\n}\r\n\r\n/* Pill button */\r\n.fs-btn {\r\n font-family: 'JetBrains Mono', monospace;\r\n font-size: 0.75rem;\r\n letter-spacing: 0.14em;\r\n text-transform: uppercase;\r\n padding: 0.65rem 1.1rem;\r\n border: 1px solid var(--fs-border-strong);\r\n background: transparent;\r\n color: #fff;\r\n transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;\r\n cursor: pointer;\r\n}\r\n.fs-btn:hover { border-color: var(--fs-red); color: var(--fs-red); }\r\n.fs-btn-primary {\r\n background: var(--fs-red);\r\n border-color: var(--fs-red);\r\n color: #fff;\r\n}\r\n.fs-btn-primary:hover { background: var(--fs-red-hot); border-color: var(--fs-red-hot); color: #fff; }\r\n\r\n/* Tag chip */\r\n.fs-chip {\r\n font-family: 'JetBrains Mono', monospace;\r\n font-size: 0.65rem;\r\n letter-spacing: 0.2em;\r\n text-transform: uppercase;\r\n padding: 0.2rem 0.55rem;\r\n border: 1px solid var(--fs-border-strong);\r\n color: var(--fs-text-mute);\r\n}\r\n.fs-chip-pass { color: var(--fs-green); border-color: rgba(16, 185, 129, 0.4); }\r\n.fs-chip-warn { color: var(--fs-amber); border-color: rgba(245, 158, 11, 0.4); }\r\n.fs-chip-fail { color: var(--fs-red); border-color: rgba(237, 28, 36, 0.5); }\r\n\r\n/* Label */\r\n.fs-label {\r\n font-family: 'JetBrains Mono', monospace;\r\n font-size: 0.7rem;\r\n letter-spacing: 0.22em;\r\n text-transform: uppercase;\r\n color: var(--fs-text-dim);\r\n}\r\n\r\n/* Dashed divider */\r\n.fs-hr {\r\n border: none;\r\n border-top: 1px dashed var(--fs-border);\r\n margin: 0;\r\n}\r\n\r\n/* Hero headline stroke effect */\r\n.fs-stroke {\r\n -webkit-text-stroke: 1px rgba(255, 255, 255, 0.25);\r\n color: transparent;\r\n}\r\n\r\n/* Drop zone */\r\n.fs-drop {\r\n border: 1px dashed var(--fs-border-strong);\r\n transition: border-color 180ms ease, background-color 180ms ease;\r\n}\r\n.fs-drop.fs-drop-active {\r\n border-color: var(--fs-red);\r\n background-color: rgba(237, 28, 36, 0.05);\r\n}\r\n\r\n/* Minor utility */\r\n.fs-mono-small { font-family: 'JetBrains Mono', monospace; font-size: 0.72rem; letter-spacing: 0.1em; }\r\n\r\n/* Telemetry bar */\r\n.fs-bar {\r\n height: 4px;\r\n background: var(--fs-border);\r\n overflow: hidden;\r\n}\r\n.fs-bar > div {\r\n height: 100%;\r\n background: var(--fs-red);\r\n transition: width 400ms cubic-bezier(0.16, 1, 0.3, 1);\r\n}\r\n\r\n/* Keyboard style */\r\nkbd {\r\n font-family: 'JetBrains Mono', monospace;\r\n font-size: 0.65rem;\r\n padding: 2px 6px;\r\n border: 1px solid var(--fs-border-strong);\r\n background: #18181b;\r\n color: var(--fs-text-mute);\r\n}\r\n"],"names":[],"ignoreList":[],"sourceRoot":""}
build/static/js/131.19451893.chunk.js ADDED
The diff for this file is too large to render. See raw diff
 
build/static/js/131.19451893.chunk.js.map ADDED
The diff for this file is too large to render. See raw diff
 
build/static/js/171.ca687254.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[171],{65171(t,e,n){n.d(e,{diagram:()=>lt});var i=n(57903),a=n(84571),r=n(45420),o=n(32748),s=n(68973),c=n(28194),l=n(86362),d=n(85554),h=function(){var t=(0,o.K2)(function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},"o"),e=[6,11,13,14,15,17,19,20,23,24],n=[1,12],i=[1,13],a=[1,14],r=[1,15],s=[1,16],c=[1,19],l=[1,20],d={trace:(0,o.K2)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,timeline_header:4,document:5,EOF:6,timeline:7,timeline_lr:8,timeline_td:9,line:10,SPACE:11,statement:12,NEWLINE:13,title:14,acc_title:15,acc_title_value:16,acc_descr:17,acc_descr_value:18,acc_descr_multiline_value:19,section:20,period_statement:21,event_statement:22,period:23,event:24,$accept:0,$end:1},terminals_:{2:"error",6:"EOF",7:"timeline",8:"timeline_lr",9:"timeline_td",11:"SPACE",13:"NEWLINE",14:"title",15:"acc_title",16:"acc_title_value",17:"acc_descr",18:"acc_descr_value",19:"acc_descr_multiline_value",20:"section",23:"period",24:"event"},productions_:[0,[3,3],[4,1],[4,1],[4,1],[5,0],[5,2],[10,2],[10,1],[10,1],[10,1],[12,1],[12,2],[12,2],[12,1],[12,1],[12,1],[12,1],[21,1],[22,1]],performAction:(0,o.K2)(function(t,e,n,i,a,r,o){var s=r.length-1;switch(a){case 1:return r[s-1];case 3:i.setDirection("LR");break;case 4:i.setDirection("TD");break;case 5:case 9:case 10:this.$=[];break;case 6:r[s-1].push(r[s]),this.$=r[s-1];break;case 7:case 8:this.$=r[s];break;case 11:i.getCommonDb().setDiagramTitle(r[s].substr(6)),this.$=r[s].substr(6);break;case 12:this.$=r[s].trim(),i.getCommonDb().setAccTitle(this.$);break;case 13:case 14:this.$=r[s].trim(),i.getCommonDb().setAccDescription(this.$);break;case 15:i.addSection(r[s].substr(8)),this.$=r[s].substr(8);break;case 18:i.addTask(r[s],0,""),this.$=r[s];break;case 19:i.addEvent(r[s].substr(2)),this.$=r[s]}},"anonymous"),table:[{3:1,4:2,7:[1,3],8:[1,4],9:[1,5]},{1:[3]},t(e,[2,5],{5:6}),t(e,[2,2]),t(e,[2,3]),t(e,[2,4]),{6:[1,7],10:8,11:[1,9],12:10,13:[1,11],14:n,15:i,17:a,19:r,20:s,21:17,22:18,23:c,24:l},t(e,[2,10],{1:[2,1]}),t(e,[2,6]),{12:21,14:n,15:i,17:a,19:r,20:s,21:17,22:18,23:c,24:l},t(e,[2,8]),t(e,[2,9]),t(e,[2,11]),{16:[1,22]},{18:[1,23]},t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,7]),t(e,[2,12]),t(e,[2,13])],defaultActions:{},parseError:(0,o.K2)(function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},"parseError"),parse:(0,o.K2)(function(t){var e=this,n=[0],i=[],a=[null],r=[],s=this.table,c="",l=0,d=0,h=0,u=r.slice.call(arguments,1),p=Object.create(this.lexer),g={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(g.yy[y]=this.yy[y]);p.setInput(t,g.yy),g.yy.lexer=p,g.yy.parser=this,"undefined"==typeof p.yylloc&&(p.yylloc={});var f=p.yylloc;r.push(f);var m=p.options&&p.options.ranges;function x(){var t;return"number"!==typeof(t=i.pop()||p.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"===typeof g.yy.parseError?this.parseError=g.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,o.K2)(function(t){n.length=n.length-2*t,a.length=a.length-t,r.length=r.length-t},"popStack"),(0,o.K2)(x,"lex");for(var b,k,v,w,_,K,S,E,R,T={};;){if(v=n[n.length-1],this.defaultActions[v]?w=this.defaultActions[v]:(null!==b&&"undefined"!=typeof b||(b=x()),w=s[v]&&s[v][b]),"undefined"===typeof w||!w.length||!w[0]){var I="";for(K in R=[],s[v])this.terminals_[K]&&K>2&&R.push("'"+this.terminals_[K]+"'");I=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.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(I,{text:p.match,token:this.terminals_[b]||b,line:p.yylineno,loc:f,expected:R})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+b);switch(w[0]){case 1:n.push(b),a.push(p.yytext),r.push(p.yylloc),n.push(w[1]),b=null,k?(b=k,k=null):(d=p.yyleng,c=p.yytext,l=p.yylineno,f=p.yylloc,h>0&&h--);break;case 2:if(S=this.productions_[w[1]][1],T.$=a[a.length-S],T._$={first_line:r[r.length-(S||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(S||1)].first_column,last_column:r[r.length-1].last_column},m&&(T._$.range=[r[r.length-(S||1)].range[0],r[r.length-1].range[1]]),"undefined"!==typeof(_=this.performAction.apply(T,[c,d,l,g.yy,w[1],a,r].concat(u))))return _;S&&(n=n.slice(0,-1*S*2),a=a.slice(0,-1*S),r=r.slice(0,-1*S)),n.push(this.productions_[w[1]][0]),a.push(T.$),r.push(T._$),E=s[n[n.length-2]][n[n.length-1]],n.push(E);break;case 3:return!0}}return!0},"parse")},h=function(){return{EOF:1,parseError:(0,o.K2)(function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},"parseError"),setInput:(0,o.K2)(function(t,e){return this.yy=e||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.K2)(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.K2)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;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),n.length-1&&(this.yylineno-=n.length-1);var a=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:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,o.K2)(function(){return this._more=!0,this},"more"),reject:(0,o.K2)(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.K2)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,o.K2)(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.K2)(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.K2)(function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,o.K2)(function(t,e){var n,i,a;if(this.options.backtrack_lexer&&(a={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&&(a.yylloc.range=this.yylloc.range.slice(0))),(i=t[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+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],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var r in a)this[r]=a[r];return!1}return!1},"test_match"),next:(0,o.K2)(function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var a=this._currentRules(),r=0;r<a.length;r++)if((n=this._input.match(this.rules[a[r]]))&&(!e||n[0].length>e[0].length)){if(e=n,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,a[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[i]))&&t:""===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.K2)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,o.K2)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,o.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,o.K2)(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.K2)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,o.K2)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,o.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,o.K2)(function(t,e,n,i){switch(n){case 0:case 1:case 3:case 4:break;case 2:return 13;case 5:return 8;case 6:return 9;case 7:return 7;case 8:return 14;case 9:return this.begin("acc_title"),15;case 10:return this.popState(),"acc_title_value";case 11:return this.begin("acc_descr"),17;case 12:return this.popState(),"acc_descr_value";case 13:this.begin("acc_descr_multiline");break;case 14:this.popState();break;case 15:return"acc_descr_multiline_value";case 16:return 20;case 17:return 24;case 18:return 23;case 19:return 6;case 20:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:timeline[ \t]+LR\b)/i,/^(?:timeline[ \t]+TD\b)/i,/^(?:timeline\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^:\n]+)/i,/^(?::\s(?:[^:\n]|:(?!\s))+)/i,/^(?:[^#:\n]+)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[14,15],inclusive:!1},acc_descr:{rules:[12],inclusive:!1},acc_title:{rules:[10],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,9,11,13,16,17,18,19,20],inclusive:!0}}}}();function u(){this.yy={}}return d.lexer=h,(0,o.K2)(u,"Parser"),u.prototype=d,d.Parser=u,new u}();h.parser=h;var u=h,p={};(0,o.VA)(p,{addEvent:()=>T,addSection:()=>K,addTask:()=>R,addTaskOrg:()=>I,clear:()=>v,default:()=>L,getCommonDb:()=>k,getDirection:()=>_,getSections:()=>S,getTasks:()=>E,setDirection:()=>w});var g="",y=0,f="LR",m=[],x=[],b=[],k=(0,o.K2)(()=>r.Wt,"getCommonDb"),v=(0,o.K2)(function(){m.length=0,x.length=0,g="",b.length=0,f="LR",(0,r.IU)()},"clear"),w=(0,o.K2)(function(t){f=t},"setDirection"),_=(0,o.K2)(function(){return f},"getDirection"),K=(0,o.K2)(function(t){g=t,m.push(t)},"addSection"),S=(0,o.K2)(function(){return m},"getSections"),E=(0,o.K2)(function(){let t=M();let e=0;for(;!t&&e<100;)t=M(),e++;return x.push(...b),x},"getTasks"),R=(0,o.K2)(function(t,e,n){const i={id:y++,section:g,type:g,task:t,score:e||0,events:n?[n]:[]};b.push(i)},"addTask"),T=(0,o.K2)(function(t){b.find(t=>t.id===y-1).events.push(t)},"addEvent"),I=(0,o.K2)(function(t){const e={section:g,type:g,description:t,task:t,classes:[]};x.push(e)},"addTaskOrg"),M=(0,o.K2)(function(){const t=(0,o.K2)(function(t){return b[t].processed},"compileTask");let e=!0;for(const[n,i]of b.entries())t(n),e=e&&i.processed;return e},"compileTasks"),L={clear:v,getCommonDb:k,getDirection:_,setDirection:w,addSection:K,getSections:S,getTasks:E,addTask:R,addTaskOrg:I,addEvent:T},H=0,C=(0,o.K2)(function(t,e){const n=t.append("rect");return n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),n.attr("rx",e.rx),n.attr("ry",e.ry),void 0!==e.class&&n.attr("class",e.class),n},"drawRect"),N=(0,o.K2)(function(t,e){const n=15,i=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",n).attr("stroke-width",2).attr("overflow","visible"),a=t.append("g");function r(t){const i=(0,s.JLW)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(n/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function c(t){const i=(0,s.JLW)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(n/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function l(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),a.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),(0,o.K2)(r,"smile"),(0,o.K2)(c,"sad"),(0,o.K2)(l,"ambivalent"),e.score>3?r(a):e.score<3?c(a):l(a),i},"drawFace"),D=(0,o.K2)(function(t,e){const n=t.append("circle");return n.attr("cx",e.cx),n.attr("cy",e.cy),n.attr("class","actor-"+e.pos),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("r",e.r),void 0!==n.class&&n.attr("class",n.class),void 0!==e.title&&n.append("title").text(e.title),n},"drawCircle"),A=(0,o.K2)(function(t,e){const n=e.text.replace(/<br\s*\/?>/gi," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),void 0!==e.class&&i.attr("class",e.class);const a=i.append("tspan");return a.attr("x",e.x+2*e.textMargin),a.text(n),i},"drawText"),O=(0,o.K2)(function(t,e){function n(t,e,n,i,a){return t+","+e+" "+(t+n)+","+e+" "+(t+n)+","+(e+i-a)+" "+(t+n-1.2*a)+","+(e+i)+" "+t+","+(e+i)}(0,o.K2)(n,"genPoints");const i=t.append("polygon");i.attr("points",n(e.x,e.y,50,20,7)),i.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,A(t,e)},"drawLabel"),B=(0,o.K2)(function(t,e,n){const i=t.append("g"),a=z();a.x=e.x,a.y=e.y,a.fill=e.fill,a.width=n.width,a.height=n.height,a.class="journey-section section-type-"+e.num,a.rx=3,a.ry=3,C(i,a),F(n)(e.text,i,a.x,a.y,a.width,a.height,{class:"journey-section section-type-"+e.num},n,e.colour)},"drawSection"),P=-1,W=(0,o.K2)(function(t,e,n,i){const a=e.x+n.width/2,r=t.append("g");P++;r.append("line").attr("id",i+"-task"+P).attr("x1",a).attr("y1",e.y).attr("x2",a).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),N(r,{cx:a,cy:300+30*(5-e.score),score:e.score});const o=z();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=n.width,o.height=n.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,C(r,o),F(n)(e.task,r,o.x,o.y,o.width,o.height,{class:"task"},n,e.colour)},"drawTask"),j=(0,o.K2)(function(t,e){C(t,{x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,class:"rect"}).lower()},"drawBackgroundRect"),$=(0,o.K2)(function(){return{x:0,y:0,fill:void 0,"text-anchor":"start",width:100,height:100,textMargin:0,rx:0,ry:0}},"getTextObj"),z=(0,o.K2)(function(){return{x:0,y:0,width:100,anchor:"start",height:100,rx:0,ry:0}},"getNoteRect"),F=function(){function t(t,e,n,a,r,o,s,c){i(e.append("text").attr("x",n+r/2).attr("y",a+o/2+5).style("font-color",c).style("text-anchor","middle").text(t),s)}function e(t,e,n,a,r,o,s,c,l){const{taskFontSize:d,taskFontFamily:h}=c,u=t.split(/<br\s*\/?>/gi);for(let p=0;p<u.length;p++){const t=p*d-d*(u.length-1)/2,c=e.append("text").attr("x",n+r/2).attr("y",a).attr("fill",l).style("text-anchor","middle").style("font-size",d).style("font-family",h);c.append("tspan").attr("x",n+r/2).attr("dy",t).text(u[p]),c.attr("y",a+o/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(c,s)}}function n(t,n,a,r,o,s,c,l){const d=n.append("switch"),h=d.append("foreignObject").attr("x",a).attr("y",r).attr("width",o).attr("height",s).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");h.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,d,a,r,o,s,c,l),i(h,c)}function i(t,e){for(const n in e)n in e&&t.attr(n,e[n])}return(0,o.K2)(t,"byText"),(0,o.K2)(e,"byTspan"),(0,o.K2)(n,"byFo"),(0,o.K2)(i,"_setTextAttrs"),function(i){return"fo"===i.textPlacement?n:"old"===i.textPlacement?t:e}}(),V=(0,o.K2)(function(t,e){H=0,P=-1,t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics");function G(t,e){t.each(function(){var t,n=(0,s.Ltv)(this),i=n.text().split(/(\s+|<br>)/).reverse(),a=[],r=n.attr("y"),o=parseFloat(n.attr("dy")),c=n.text(null).append("tspan").attr("x",0).attr("y",r).attr("dy",o+"em");for(let s=0;s<i.length;s++)t=i[i.length-1-s],a.push(t),c.text(a.join(" ").trim()),(c.node().getComputedTextLength()>e||"<br>"===t)&&(a.pop(),c.text(a.join(" ").trim()),a="<br>"===t?[""]:[t],c=n.append("tspan").attr("x",0).attr("y",r).attr("dy","1.1em").text(t))})}(0,o.K2)(G,"wrap");var U=(0,o.K2)(function(t,e,n,i,a){var r,o,c;let l=arguments.length>5&&void 0!==arguments[5]&&arguments[5];const{theme:d,look:h}=i,u=null===d||void 0===d?void 0:d.includes("redux"),p=n%(null!==(r=null===i||void 0===i||null===(o=i.themeVariables)||void 0===o?void 0:o.THEME_COLOR_LIMIT)&&void 0!==r?r:12)-1,g=t.append("g");e.section=p,g.attr("class",(e.class?e.class+" ":"")+"timeline-node section-"+p);const y=g.append("g"),f=g.append("g"),m=f.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(G,e.width).node().getBBox(),x=null!==(c=i.fontSize)&&void 0!==c&&c.replace?i.fontSize.replace("px",""):i.fontSize;if(e.height=m.height+1.1*x*.5+e.padding,e.height=Math.max(e.height,e.maxHeight),e.width=e.width+2*e.padding,f.attr("transform","translate("+e.width/2+", "+e.padding/2+")"),u&&f.attr("transform","translate(".concat(e.width/2,", ").concat(l?e.padding/2+3:e.padding,")")),q(y,e,p,a,i),"neo"===h&&(g.attr("data-look","neo"),u)){var b,k,v;const e=d.includes("dark"),n=null!==(b=null===(k=t.node())||void 0===k?void 0:k.ownerSVGElement)&&void 0!==b?b:t.node(),i=(0,s.Ltv)(n),a=null!==(v=i.attr("id"))&&void 0!==v?v:"",r=a?"".concat(a,"-drop-shadow"):"drop-shadow";if(i.select("#".concat(r)).empty()){const t=i.select("defs");(t.empty()?i.append("defs"):t).append("filter").attr("id",r).attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity",e?"0.2":"0.06").attr("flood-color",e?"#FFFFFF":"#000000")}}return e},"drawNode"),Z=(0,o.K2)(function(t,e,n){var i;const a=t.append("g"),r=a.append("text").text(e.descr).attr("dy","1em").attr("alignment-baseline","middle").attr("dominant-baseline","middle").attr("text-anchor","middle").call(G,e.width).node().getBBox(),o=null!==(i=n.fontSize)&&void 0!==i&&i.replace?n.fontSize.replace("px",""):n.fontSize;return a.remove(),r.height+1.1*o*.5+e.padding},"getVirtualNodeHeight"),q=(0,o.K2)(function(t,e,n,i,a){const{theme:r}=a,o=null!==r&&void 0!==r&&r.includes("redux")?0:5,s=o>0?"M0 ".concat(e.height-5," v").concat(10-e.height," q0,-").concat(o,",").concat(o,",-").concat(o," h").concat(e.width-10," q").concat(o,",0,").concat(o,",").concat(o," v").concat(e.height-5," H0 Z"):"M0 ".concat(e.height-5," v").concat(-(e.height-5)," h").concat(e.width," v").concat(e.height," H0 Z");t.append("path").attr("id",i+"-node-"+H++).attr("class","node-bkg node-"+e.type).attr("d",s),null!==r&&void 0!==r&&r.includes("redux")||t.append("line").attr("class","node-line-"+n).attr("x1",0).attr("y1",e.height).attr("x2",e.width).attr("y2",e.height)},"defaultBkg"),J={drawRect:C,drawCircle:D,drawSection:B,drawText:A,drawLabel:O,drawTask:W,drawBackgroundRect:j,getTextObj:$,getNoteRect:z,initGraphics:V,drawNode:U,getVirtualNodeHeight:Z},Y=(0,o.K2)(function(t,e,n,i){var a,c,l,d,h,u;const p=(0,r.D7)(),{look:g,theme:y,themeVariables:f}=p,{useGradient:m,gradientStart:x,gradientStop:b}=f,k=null!==(a=null===(c=p.timeline)||void 0===c?void 0:c.leftMargin)&&void 0!==a?a:50;o.Rm.debug("timeline",i.db);const v=p.securityLevel;let w;"sandbox"===v&&(w=(0,s.Ltv)("#i"+e));const _=("sandbox"===v?(0,s.Ltv)(w.nodes()[0].contentDocument.body):(0,s.Ltv)("body")).select("#"+e);_.append("g");const K=i.db.getTasks(),S=i.db.getCommonDb().getDiagramTitle();o.Rm.debug("task",K),J.initGraphics(_,e);const E=i.db.getSections();o.Rm.debug("sections",E);let R=0,T=0,I=0,M=0,L=50+k,H=50;M=50;let C=0,N=!0;E.forEach(function(t){const e={number:C,descr:t,section:C,width:150,padding:20,maxHeight:R},n=J.getVirtualNodeHeight(_,e,p);o.Rm.debug("sectionHeight before draw",n),R=Math.max(R,n+20)});let D=0,A=0;o.Rm.debug("tasks.length",K.length);for(const[r,s]of K.entries()){const t={number:r,descr:s,section:s.section,width:150,padding:20,maxHeight:T},e=J.getVirtualNodeHeight(_,t,p);o.Rm.debug("taskHeight before draw",e),T=Math.max(T,e+20),D=Math.max(D,s.events.length);let n=0;for(const i of s.events){const t={descr:i,section:s.section,number:s.section,width:150,padding:20,maxHeight:50};n+=J.getVirtualNodeHeight(_,t,p)}s.events.length>0&&(n+=10*(s.events.length-1)),A=Math.max(A,n)}o.Rm.debug("maxSectionHeight before draw",R),o.Rm.debug("maxTaskHeight before draw",T),E&&E.length>0?E.forEach(t=>{const n=K.filter(e=>e.section===t),i={number:C,descr:t,section:C,width:200*Math.max(n.length,1)-50,padding:20,maxHeight:R};o.Rm.debug("sectionNode",i);const a=_.append("g"),r=J.drawNode(a,i,C,p,e);o.Rm.debug("sectionNode output",r),a.attr("transform","translate(".concat(L,", ").concat(50,")")),H+=R+50,n.length>0&&X(_,n,C,L,H,T,p,D,A,R,!1,e),L+=200*Math.max(n.length,1),H=50,C++}):(N=!1,X(_,K,C,L,H,T,p,D,A,R,!0,e));const O=_.node().getBBox();o.Rm.debug("bounds",O),S&&_.append("text").text(S).attr("x","neo"===g?2*O.x+k:O.width/2-k).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),I=N?R+T+150:T+100;if(_.append("g").attr("class","lineWrapper").append("line").attr("x1",k).attr("y1",I).attr("x2",O.width+3*k).attr("y2",I).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#".concat(e,"-arrowhead)")),"neo"===g&&m&&"neutral"!==y){const t=_.select("defs"),e=(t.empty()?_.append("defs"):t).append("linearGradient").attr("id",_.attr("id")+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");e.append("stop").attr("offset","0%").attr("stop-color",x).attr("stop-opacity",1),e.append("stop").attr("offset","100%").attr("stop-color",b).attr("stop-opacity",1)}(0,r.ot)(void 0,_,null!==(l=null===(d=p.timeline)||void 0===d?void 0:d.padding)&&void 0!==l?l:50,null!==(h=null===(u=p.timeline)||void 0===u?void 0:u.useMaxWidth)&&void 0!==h&&h)},"draw"),X=(0,o.K2)(function(t,e,n,i,a,r,s,c,l,d,h,u){for(const g of e){var p;const e={descr:g.task,section:n,number:n,width:150,padding:20,maxHeight:r};o.Rm.debug("taskNode",e);const c=t.append("g").attr("class","taskWrapper"),d=J.drawNode(c,e,n,s,u).height;if(o.Rm.debug("taskHeight after draw",d),c.attr("transform","translate(".concat(i,", ").concat(a,")")),r=Math.max(r,d),g.events){const e=t.append("g").attr("class","lineWrapper");let o=r;a+=100,o+=Q(t,g.events,n,i,a,s,u),a-=100,e.append("line").attr("x1",i+95).attr("y1",a+r).attr("x2",i+95).attr("y2",a+r+100+l+100).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#".concat(u,"-arrowhead)")).attr("stroke-dasharray","5,5")}i+=200,!h||null!==(p=s.timeline)&&void 0!==p&&p.disableMulticolor||n++}a-=10},"drawTasks"),Q=(0,o.K2)(function(t,e,n,i,a,r,s){let c=0;const l=a;a+=100;for(const d of e){const e={descr:d,section:n,number:n,width:150,padding:20,maxHeight:50};o.Rm.debug("eventNode",e);const l=t.append("g").attr("class","eventWrapper"),h=J.drawNode(l,e,n,r,s,!0).height;c+=h,l.attr("transform","translate(".concat(i,", ").concat(a,")")),a=a+10+h}return a=l,c},"drawEvents"),tt={setConf:(0,o.K2)(()=>{},"setConf"),draw:Y},et=200,nt=(0,o.K2)(function(t,e,n,s){var c,l,d,h,u,p,g;const y=(0,r.D7)(),f=null!==(c=null===(l=y.timeline)||void 0===l?void 0:l.leftMargin)&&void 0!==c?c:50;o.Rm.debug("timeline",s.db);const m=(0,i.D)(e);m.append("g");const x=s.db.getTasks(),b=s.db.getCommonDb().getDiagramTitle();o.Rm.debug("task",x),J.initGraphics(m);const k=s.db.getSections();o.Rm.debug("sections",k);let v=0,w=0;const _=50+f;let K=50;const S=K,E=230,R=_+E;let T=0;const I=k&&k.length>0,M=I?R:_+E,L=Math.max(50,580);k.forEach(function(t){const e={number:T,descr:t,section:T,width:L,padding:5,maxHeight:v},n=J.getVirtualNodeHeight(m,e,y);o.Rm.debug("sectionHeight before draw",n),v=Math.max(v,n)});let H=0;o.Rm.debug("tasks.length",x.length);for(const[i,a]of x.entries()){const t={number:i,descr:a,section:a.section,width:et,padding:5,maxHeight:w},e=J.getVirtualNodeHeight(m,t,y);o.Rm.debug("taskHeight before draw",e),w=Math.max(w,e);let n=0;for(const i of a.events){const t={descr:i,section:a.section,number:a.section,width:300,padding:5,maxHeight:50};n+=J.getVirtualNodeHeight(m,t,y)}a.events.length>0&&(n+=10*(a.events.length-1)),H=Math.max(H,n)+0}o.Rm.debug("maxSectionHeight before draw",v),o.Rm.debug("maxTaskHeight before draw",w);const C=Math.max(w,H)+30;I?k.forEach(t=>{const e=x.filter(e=>e.section===t),n={number:T,descr:t,section:T,width:L,padding:5,maxHeight:v};o.Rm.debug("sectionNode",n);const i=m.append("g"),a=J.drawNode(i,n,T,y);o.Rm.debug("sectionNode output",a);const r=M-E;i.attr("transform","translate(".concat(r,", ").concat(K,")"));const s=K+a.height+20;e.length>0&&it(m,e,T,M,s,w,y,C,!1);const c=e.length,l=a.height+20+C*Math.max(c,1)-(c>0?60:0);K+=l,T++}):it(m,x,T,M,K,w,y,C,!0);let N=null===(d=m.node())||void 0===d?void 0:d.getBBox();if(!N)throw new Error("bbox not found");if(o.Rm.debug("bounds",N),b){var D;if(m.append("text").text(b).attr("x",N.width/2-f).attr("font-size","4ex").attr("font-weight","bold").attr("y",20),N=null===(D=m.node())||void 0===D?void 0:D.getBBox(),!N)throw new Error("bbox not found");o.Rm.debug("bounds after title",N)}const[A]=(0,a.I5)(y.fontSize),O=2*(null!==A&&void 0!==A?A:16),B=.5*(null!==A&&void 0!==A?A:16)+20,P=m.append("g").attr("class","lineWrapper");P.append("line").attr("x1",M).attr("y1",S-O).attr("x2",M).attr("y2",N.y+N.height+B).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#arrowhead)"),P.lower(),(0,r.ot)(void 0,m,null!==(h=null===(u=y.timeline)||void 0===u?void 0:u.padding)&&void 0!==h?h:50,null!==(p=null===(g=y.timeline)||void 0===g?void 0:g.useMaxWidth)&&void 0!==p&&p)},"draw"),it=(0,o.K2)(function(t,e,n,i,a,r,s,c,l){for(const h of e){var d;const e={descr:h.task,section:n,number:n,width:et,padding:5,maxHeight:r};o.Rm.debug("taskNode",e);const u=t.append("g").attr("class","taskWrapper"),p=J.drawNode(u,e,n,s),g=p.height;o.Rm.debug("taskHeight after draw",g);const y=i-20-p.width;if(u.attr("transform","translate(".concat(y,", ").concat(a,")")),r=Math.max(r,g),h.events&&h.events.length>0){const e=a,r=i+50;at(t,h.events,n,i,r,e,s)}a+=c,!l||null!==(d=s.timeline)&&void 0!==d&&d.disableMulticolor||n++}},"drawTasks"),at=(0,o.K2)(function(t,e,n,i,a,r,s){let c=r;for(const l of e){const e={descr:l,section:n,number:n,width:300,padding:5,maxHeight:0};o.Rm.debug("eventNode",e);const r=t.append("g").attr("class","eventWrapper"),d=J.drawNode(r,e,n,s).height;r.attr("transform","translate(".concat(a,", ").concat(c,")"));const h=c+d/2;t.append("g").attr("class","lineWrapper").append("line").attr("x1",i).attr("y1",h).attr("x2",a).attr("y2",h).attr("stroke-width",2).attr("stroke","black").attr("marker-end","url(#arrowhead)").attr("stroke-dasharray","5,5"),c=c+d+10}return c-r},"drawEvents"),rt={setConf:(0,o.K2)(()=>{},"setConf"),draw:nt},ot=(0,o.K2)(t=>{var e,n,i;const{theme:a}=(0,r.zj)(),o=null===a||void 0===a?void 0:a.includes("dark"),s=null===a||void 0===a?void 0:a.includes("color"),c=null!==(e=null===(n=t.svgId)||void 0===n?void 0:n.replace(/^#/,""))&&void 0!==e?e:"",l=c?"url(#".concat(c,"-drop-shadow)"):null!==(i=t.dropShadow)&&void 0!==i?i:"none";let d="";for(let r=0;r<t.THEME_COLOR_LIMIT;r++){var h,u;const e="".concat(17-3*r),n=s?t.borderColorArray[r]:t.mainBkg,i=s?t.borderColorArray[r]:t.nodeBorder;d+="\n .section-".concat(r-1," rect,\n .section-").concat(r-1," path,\n .section-").concat(r-1," circle {\n fill: ").concat(o&&s?t.mainBkg:n,";\n stroke: ").concat(i,";\n stroke-width: ").concat(t.strokeWidth,";\n filter: ").concat(l,";\n }\n\n .section-").concat(r-1," text {\n fill: ").concat(t.nodeBorder,";\n font-weight: ").concat(t.fontWeight,"\n }\n\n .node-icon-").concat(r-1," {\n font-size: 40px;\n color: ").concat(t["cScaleLabel"+r],";\n }\n\n .section-edge-").concat(r-1," {\n stroke: ").concat(t["cScale"+r],";\n }\n\n .edge-depth-").concat(r-1," {\n stroke-width: ").concat(e,";\n }\n\n .section-").concat(r-1," line {\n stroke: ").concat(t["cScaleInv"+r],";\n stroke-width: 3;\n }\n\n .lineWrapper line {\n stroke: ").concat(t.nodeBorder,";\n stroke-width:").concat(t.strokeWidth,"\n }\n\n .disabled,\n .disabled circle,\n .disabled text {\n fill: ").concat(null!==(h=t.tertiaryColor)&&void 0!==h?h:"lightgray",";\n }\n\n .disabled text {\n fill: ").concat(null!==(u=t.clusterBorder)&&void 0!==u?u:"#efefef",";\n }\n ")}return d},"genReduxSections"),st=(0,o.K2)(t=>{let e="";for(let a=0;a<t.THEME_COLOR_LIMIT;a++)t["lineColor"+a]=t["lineColor"+a]||t["cScaleInv"+a],(0,c.A)(t["lineColor"+a])?t["lineColor"+a]=(0,l.A)(t["lineColor"+a],20):t["lineColor"+a]=(0,d.A)(t["lineColor"+a],20);for(let a=0;a<t.THEME_COLOR_LIMIT;a++){var n,i;const r=""+(17-3*a);e+="\n .section-".concat(a-1," rect, .section-").concat(a-1," path, .section-").concat(a-1," circle, .section-").concat(a-1," path {\n fill: ").concat(t["cScale"+a],";\n }\n .section-").concat(a-1," text {\n fill: ").concat(t["cScaleLabel"+a],";\n }\n .node-icon-").concat(a-1," {\n font-size: 40px;\n color: ").concat(t["cScaleLabel"+a],";\n }\n .section-edge-").concat(a-1,"{\n stroke: ").concat(t["cScale"+a],";\n }\n .edge-depth-").concat(a-1,"{\n stroke-width: ").concat(r,";\n }\n .section-").concat(a-1," line {\n stroke: ").concat(t["cScaleInv"+a]," ;\n stroke-width: 3;\n }\n\n .lineWrapper line{\n stroke: ").concat(t["cScaleLabel"+a]," ;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: ").concat(null!==(n=t.tertiaryColor)&&void 0!==n?n:"lightgray",";\n }\n .disabled text {\n fill: ").concat(null!==(i=t.clusterBorder)&&void 0!==i?i:"#efefef",";\n }\n ")}return e},"genSections"),ct=(0,o.K2)(t=>{var e,n;const{theme:i}=(0,r.zj)(),a=null===i||void 0===i?void 0:i.includes("redux"),o="neutral"===i,s=null!==(e=null===(n=t.svgId)||void 0===n?void 0:n.replace(/^#/,""))&&void 0!==e?e:"";let c="";if(t.useGradient&&s&&t.THEME_COLOR_LIMIT&&!o)for(let r=0;r<t.THEME_COLOR_LIMIT;r++)c+="\n .section-".concat(r-1,'[data-look="neo"] rect,\n .section-').concat(r-1,'[data-look="neo"] path,\n .section-').concat(r-1,'[data-look="neo"] circle {\n fill: ').concat(t.mainBkg,";\n stroke: url(#").concat(s,"-gradient);\n stroke-width: 2;\n }\n .section-").concat(r-1,'[data-look="neo"] line {\n stroke: url(#').concat(s,"-gradient);\n stroke-width: 2;\n }");return"\n .edge {\n stroke-width: 3;\n }\n ".concat(a?ot(t):st(t),"\n ").concat(c,"\n .section-root rect, .section-root path, .section-root circle {\n fill: ").concat(t.git0,";\n }\n .section-root text {\n fill: ").concat(t.gitBranchLabel0,";\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .eventWrapper {\n filter: brightness(120%);\n }\n")},"getStyles"),lt={db:p,renderer:{setConf:(0,o.K2)(()=>{},"setConf"),draw:(0,o.K2)((t,e,n,i)=>{var a,r,o;return"TD"===(null!==(a=null===i||void 0===i||null===(r=i.db)||void 0===r||null===(o=r.getDirection)||void 0===o?void 0:o.call(r))&&void 0!==a?a:"LR")?rt.draw(t,e,n,i):tt.draw(t,e,n,i)},"draw")},parser:u,styles:ct}}}]);
2
+ //# sourceMappingURL=171.ca687254.chunk.js.map
build/static/js/171.ca687254.chunk.js.map ADDED
The diff for this file is too large to render. See raw diff
 
build/static/js/195.14e9ef37.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ (self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[195],{25262(t,e,i){var r;r=function(t){return function(t){var e={};function i(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=1)}([function(e,i){e.exports=t},function(t,e,i){"use strict";var r=i(0).layoutBase.LayoutConstants,n=i(0).layoutBase.FDLayoutConstants,o=i(0).CoSEConstants,s=i(0).CoSELayout,a=i(0).CoSENode,h=i(0).layoutBase.PointD,l=i(0).layoutBase.DimensionD,g={ready:function(){},stop:function(){},quality:"default",nodeDimensionsIncludeLabels:!1,refresh:30,fit:!0,padding:10,randomize:!0,nodeRepulsion:4500,idealEdgeLength:50,edgeElasticity:.45,nestingFactor:.1,gravity:.25,numIter:2500,tile:!0,animate:"end",animationDuration:500,tilingPaddingVertical:10,tilingPaddingHorizontal:10,gravityRangeCompound:1.5,gravityCompound:1,gravityRange:3.8,initialEnergyOnIncremental:.5};function u(t){this.options=function(t,e){var i={};for(var r in t)i[r]=t[r];for(var r in e)i[r]=e[r];return i}(g,t),c(this.options)}var c=function(t){null!=t.nodeRepulsion&&(o.DEFAULT_REPULSION_STRENGTH=n.DEFAULT_REPULSION_STRENGTH=t.nodeRepulsion),null!=t.idealEdgeLength&&(o.DEFAULT_EDGE_LENGTH=n.DEFAULT_EDGE_LENGTH=t.idealEdgeLength),null!=t.edgeElasticity&&(o.DEFAULT_SPRING_STRENGTH=n.DEFAULT_SPRING_STRENGTH=t.edgeElasticity),null!=t.nestingFactor&&(o.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=t.nestingFactor),null!=t.gravity&&(o.DEFAULT_GRAVITY_STRENGTH=n.DEFAULT_GRAVITY_STRENGTH=t.gravity),null!=t.numIter&&(o.MAX_ITERATIONS=n.MAX_ITERATIONS=t.numIter),null!=t.gravityRange&&(o.DEFAULT_GRAVITY_RANGE_FACTOR=n.DEFAULT_GRAVITY_RANGE_FACTOR=t.gravityRange),null!=t.gravityCompound&&(o.DEFAULT_COMPOUND_GRAVITY_STRENGTH=n.DEFAULT_COMPOUND_GRAVITY_STRENGTH=t.gravityCompound),null!=t.gravityRangeCompound&&(o.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=t.gravityRangeCompound),null!=t.initialEnergyOnIncremental&&(o.DEFAULT_COOLING_FACTOR_INCREMENTAL=n.DEFAULT_COOLING_FACTOR_INCREMENTAL=t.initialEnergyOnIncremental),"draft"==t.quality?r.QUALITY=0:"proof"==t.quality?r.QUALITY=2:r.QUALITY=1,o.NODE_DIMENSIONS_INCLUDE_LABELS=n.NODE_DIMENSIONS_INCLUDE_LABELS=r.NODE_DIMENSIONS_INCLUDE_LABELS=t.nodeDimensionsIncludeLabels,o.DEFAULT_INCREMENTAL=n.DEFAULT_INCREMENTAL=r.DEFAULT_INCREMENTAL=!t.randomize,o.ANIMATE=n.ANIMATE=r.ANIMATE=t.animate,o.TILE=t.tile,o.TILING_PADDING_VERTICAL="function"===typeof t.tilingPaddingVertical?t.tilingPaddingVertical.call():t.tilingPaddingVertical,o.TILING_PADDING_HORIZONTAL="function"===typeof t.tilingPaddingHorizontal?t.tilingPaddingHorizontal.call():t.tilingPaddingHorizontal};u.prototype.run=function(){var t,e,i=this.options,r=(this.idToLNode={},this.layout=new s),n=this;n.stopped=!1,this.cy=this.options.cy,this.cy.trigger({type:"layoutstart",layout:this});var o=r.newGraphManager();this.gm=o;var a=this.options.eles.nodes(),h=this.options.eles.edges();this.root=o.addRoot(),this.processChildrenList(this.root,this.getTopMostNodes(a),r);for(var l=0;l<h.length;l++){var g=h[l],u=this.idToLNode[g.data("source")],c=this.idToLNode[g.data("target")];u!==c&&0==u.getEdgesBetween(c).length&&(o.add(r.newEdge(),u,c).id=g.id())}var d=function(t,e){"number"===typeof t&&(t=e);var i=t.data("id"),r=n.idToLNode[i];return{x:r.getRect().getCenterX(),y:r.getRect().getCenterY()}},p=function o(){for(var s,a=function(){i.fit&&i.cy.fit(i.eles,i.padding),t||(t=!0,n.cy.one("layoutready",i.ready),n.cy.trigger({type:"layoutready",layout:n}))},h=n.options.refresh,l=0;l<h&&!s;l++)s=n.stopped||n.layout.tick();if(s)return r.checkLayoutSuccess()&&!r.isSubLayout&&r.doPostLayout(),r.tilingPostLayout&&r.tilingPostLayout(),r.isLayoutFinished=!0,n.options.eles.nodes().positions(d),a(),n.cy.one("layoutstop",n.options.stop),n.cy.trigger({type:"layoutstop",layout:n}),e&&cancelAnimationFrame(e),void(t=!1);var g=n.layout.getPositionsData();i.eles.nodes().positions(function(t,e){if("number"===typeof t&&(t=e),!t.isParent()){for(var i=t.id(),r=g[i],n=t;null==r&&(r=g[n.data("parent")]||g["DummyCompound_"+n.data("parent")],g[i]=r,void 0!=(n=n.parent()[0])););return null!=r?{x:r.x,y:r.y}:{x:t.position("x"),y:t.position("y")}}}),a(),e=requestAnimationFrame(o)};return r.addListener("layoutstarted",function(){"during"===n.options.animate&&(e=requestAnimationFrame(p))}),r.runLayout(),"during"!==this.options.animate&&(n.options.eles.nodes().not(":parent").layoutPositions(n,n.options,d),t=!1),this},u.prototype.getTopMostNodes=function(t){for(var e={},i=0;i<t.length;i++)e[t[i].id()]=!0;var r=t.filter(function(t,i){"number"===typeof t&&(t=i);for(var r=t.parent()[0];null!=r;){if(e[r.id()])return!1;r=r.parent()[0]}return!0});return r},u.prototype.processChildrenList=function(t,e,i){for(var r=e.length,n=0;n<r;n++){var o,s,g=e[n],u=g.children(),c=g.layoutDimensions({nodeDimensionsIncludeLabels:this.options.nodeDimensionsIncludeLabels});if((o=null!=g.outerWidth()&&null!=g.outerHeight()?t.add(new a(i.graphManager,new h(g.position("x")-c.w/2,g.position("y")-c.h/2),new l(parseFloat(c.w),parseFloat(c.h)))):t.add(new a(this.graphManager))).id=g.data("id"),o.paddingLeft=parseInt(g.css("padding")),o.paddingTop=parseInt(g.css("padding")),o.paddingRight=parseInt(g.css("padding")),o.paddingBottom=parseInt(g.css("padding")),this.options.nodeDimensionsIncludeLabels&&g.isParent()){var d=g.boundingBox({includeLabels:!0,includeNodes:!1}).w,p=g.boundingBox({includeLabels:!0,includeNodes:!1}).h,f=g.css("text-halign");o.labelWidth=d,o.labelHeight=p,o.labelPos=f}this.idToLNode[g.data("id")]=o,isNaN(o.rect.x)&&(o.rect.x=0),isNaN(o.rect.y)&&(o.rect.y=0),null!=u&&u.length>0&&(s=i.getGraphManager().add(i.newGraph(),o),this.processChildrenList(s,u,i))}},u.prototype.stop=function(){return this.stopped=!0,this};var d=function(t){t("layout","cose-bilkent",u)};"undefined"!==typeof cytoscape&&d(cytoscape),t.exports=d}])},t.exports=r(i(60620))},58195(t,e,i){"use strict";i.r(e),i.d(e,{render:()=>f});var r=i(89379),n=i(32748),o=i(60646),s=i(25262),a=i(68973);function h(t,e){t.forEach(t=>{var i,r,n;const o={id:t.id,labelText:t.label,height:t.height,width:t.width,padding:null!==(i=t.padding)&&void 0!==i?i:0};Object.keys(t).forEach(e=>{["id","label","height","width","padding","x","y"].includes(e)||(o[e]=t[e])}),e.add({group:"nodes",data:o,position:{x:null!==(r=t.x)&&void 0!==r?r:0,y:null!==(n=t.y)&&void 0!==n?n:0}})})}function l(t,e){t.forEach(t=>{const i={id:t.id,source:t.start,target:t.end};Object.keys(t).forEach(e=>{["id","start","end"].includes(e)||(i[e]=t[e])}),e.add({group:"edges",data:i})})}function g(t){return new Promise(e=>{const i=(0,a.Ltv)("body").append("div").attr("id","cy").attr("style","display:none"),r=(0,o.A)({container:document.getElementById("cy"),style:[{selector:"edge",style:{"curve-style":"bezier"}}]});i.remove(),h(t.nodes,r),l(t.edges,r),r.nodes().forEach(function(t){t.layoutDimensions=()=>{const e=t.data();return{w:e.width,h:e.height}}});r.layout({name:"cose-bilkent",quality:"proof",styleEnabled:!1,animate:!1}).run(),r.ready(t=>{n.Rm.info("Cytoscape ready",t),e(r)})})}function u(t){return t.nodes().map(t=>{const e=t.data(),i=t.position(),r={id:e.id,x:i.x,y:i.y};return Object.keys(e).forEach(t=>{"id"!==t&&(r[t]=e[t])}),r})}function c(t){return t.edges().map(t=>{const e=t.data(),i=t._private.rscratch,r={id:e.id,source:e.source,target:e.target,startX:i.startX,startY:i.startY,midX:i.midX,midY:i.midY,endX:i.endX,endY:i.endY};return Object.keys(e).forEach(t=>{["id","source","target"].includes(t)||(r[t]=e[t])}),r})}async function d(t,e){n.Rm.debug("Starting cose-bilkent layout algorithm");try{p(t);const e=await g(t),i=u(e),r=c(e);return n.Rm.debug("Layout completed: ".concat(i.length," nodes, ").concat(r.length," edges")),{nodes:i,edges:r}}catch(i){throw n.Rm.error("Error in cose-bilkent layout algorithm:",i),i}}function p(t){if(!t)throw new Error("Layout data is required");if(!t.config)throw new Error("Configuration is required in layout data");if(!t.rootNode)throw new Error("Root node is required");if(!t.nodes||!Array.isArray(t.nodes))throw new Error("No nodes found in layout data");if(!Array.isArray(t.edges))throw new Error("Edges array is required in layout data");return!0}o.A.use(s),(0,n.K2)(h,"addNodes"),(0,n.K2)(l,"addEdges"),(0,n.K2)(g,"createCytoscapeInstance"),(0,n.K2)(u,"extractPositionedNodes"),(0,n.K2)(c,"extractPositionedEdges"),(0,n.K2)(d,"executeCoseBilkentLayout"),(0,n.K2)(p,"validateLayoutData");var f=(0,n.K2)(async(t,e,i,n)=>{let{insertCluster:o,insertEdge:s,insertEdgeLabel:a,insertMarkers:h,insertNode:l,log:g,positionEdgeLabel:u}=i,{algorithm:c}=n;const p={},f={},y=e.select("g");h(y,t.markers,t.type,t.diagramId);const E=y.insert("g").attr("class","subgraphs"),v=y.insert("g").attr("class","edgePaths"),A=y.insert("g").attr("class","edgeLabels"),N=y.insert("g").attr("class","nodes");g.debug("Inserting nodes into DOM for dimension calculation"),await Promise.all(t.nodes.map(async e=>{if(e.isGroup){const t=(0,r.A)({},e);f[e.id]=t,p[e.id]=t,await o(E,e)}else{const i=(0,r.A)({},e);p[e.id]=i;const n=await l(N,e,{config:t.config,dir:t.direction||"TB"}),o=n.node().getBBox();i.width=o.width,i.height=o.height,i.domId=n,g.debug("Node ".concat(e.id," dimensions: ").concat(o.width,"x").concat(o.height))}})),g.debug("Running cose-bilkent layout algorithm");const T=(0,r.A)((0,r.A)({},t),{},{nodes:t.nodes.map(t=>{const e=p[t.id];return(0,r.A)((0,r.A)({},t),{},{width:e.width,height:e.height})})}),L=await d(T,t.config);g.debug("Positioning nodes based on layout results"),L.nodes.forEach(t=>{const e=p[t.id];null!==e&&void 0!==e&&e.domId&&(e.domId.attr("transform","translate(".concat(t.x,", ").concat(t.y,")")),e.x=t.x,e.y=t.y,g.debug("Positioned node ".concat(e.id," at center (").concat(t.x,", ").concat(t.y,")")))}),L.edges.forEach(e=>{const i=t.edges.find(t=>t.id===e.id);i&&(i.points=[{x:e.startX,y:e.startY},{x:e.midX,y:e.midY},{x:e.endX,y:e.endY}])}),g.debug("Inserting and positioning edges"),await Promise.all(t.edges.map(async e=>{var i,n;await a(A,e);const o=p[null!==(i=e.start)&&void 0!==i?i:""],h=p[null!==(n=e.end)&&void 0!==n?n:""];if(o&&h){const i=L.edges.find(t=>t.id===e.id);if(i){g.debug("APA01 positionedEdge",i);const n=(0,r.A)({},e),a=s(v,n,f,t.type,o,h,t.diagramId);u(n,a)}else{const i=(0,r.A)((0,r.A)({},e),{},{points:[{x:o.x||0,y:o.y||0},{x:h.x||0,y:h.y||0}]}),n=s(v,i,f,t.type,o,h,t.diagramId);u(i,n)}}})),g.debug("Cose-bilkent rendering completed")},"render")},60620(t,e,i){var r;r=function(t){return function(t){var e={};function i(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=7)}([function(e,i){e.exports=t},function(t,e,i){"use strict";var r=i(0).FDLayoutConstants;function n(){}for(var o in r)n[o]=r[o];n.DEFAULT_USE_MULTI_LEVEL_SCALING=!1,n.DEFAULT_RADIAL_SEPARATION=r.DEFAULT_EDGE_LENGTH,n.DEFAULT_COMPONENT_SEPERATION=60,n.TILE=!0,n.TILING_PADDING_VERTICAL=10,n.TILING_PADDING_HORIZONTAL=10,n.TREE_REDUCTION_ON_INCREMENTAL=!1,t.exports=n},function(t,e,i){"use strict";var r=i(0).FDLayoutEdge;function n(t,e,i){r.call(this,t,e,i)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},function(t,e,i){"use strict";var r=i(0).LGraph;function n(t,e,i){r.call(this,t,e,i)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},function(t,e,i){"use strict";var r=i(0).LGraphManager;function n(t){r.call(this,t)}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];t.exports=n},function(t,e,i){"use strict";var r=i(0).FDLayoutNode,n=i(0).IMath;function o(t,e,i,n){r.call(this,t,e,i,n)}for(var s in o.prototype=Object.create(r.prototype),r)o[s]=r[s];o.prototype.move=function(){var t=this.graphManager.getLayout();this.displacementX=t.coolingFactor*(this.springForceX+this.repulsionForceX+this.gravitationForceX)/this.noOfChildren,this.displacementY=t.coolingFactor*(this.springForceY+this.repulsionForceY+this.gravitationForceY)/this.noOfChildren,Math.abs(this.displacementX)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementX=t.coolingFactor*t.maxNodeDisplacement*n.sign(this.displacementX)),Math.abs(this.displacementY)>t.coolingFactor*t.maxNodeDisplacement&&(this.displacementY=t.coolingFactor*t.maxNodeDisplacement*n.sign(this.displacementY)),null==this.child||0==this.child.getNodes().length?this.moveBy(this.displacementX,this.displacementY):this.propogateDisplacementToChildren(this.displacementX,this.displacementY),t.totalDisplacement+=Math.abs(this.displacementX)+Math.abs(this.displacementY),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0},o.prototype.propogateDisplacementToChildren=function(t,e){for(var i,r=this.getChild().getNodes(),n=0;n<r.length;n++)null==(i=r[n]).getChild()?(i.moveBy(t,e),i.displacementX+=t,i.displacementY+=e):i.propogateDisplacementToChildren(t,e)},o.prototype.setPred1=function(t){this.pred1=t},o.prototype.getPred1=function(){return pred1},o.prototype.getPred2=function(){return pred2},o.prototype.setNext=function(t){this.next=t},o.prototype.getNext=function(){return next},o.prototype.setProcessed=function(t){this.processed=t},o.prototype.isProcessed=function(){return processed},t.exports=o},function(t,e,i){"use strict";var r=i(0).FDLayout,n=i(4),o=i(3),s=i(5),a=i(2),h=i(1),l=i(0).FDLayoutConstants,g=i(0).LayoutConstants,u=i(0).Point,c=i(0).PointD,d=i(0).Layout,p=i(0).Integer,f=i(0).IGeometry,y=i(0).LGraph,E=i(0).Transform;function v(){r.call(this),this.toBeTiled={}}for(var A in v.prototype=Object.create(r.prototype),r)v[A]=r[A];v.prototype.newGraphManager=function(){var t=new n(this);return this.graphManager=t,t},v.prototype.newGraph=function(t){return new o(null,this.graphManager,t)},v.prototype.newNode=function(t){return new s(this.graphManager,t)},v.prototype.newEdge=function(t){return new a(null,null,t)},v.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.isSubLayout||(h.DEFAULT_EDGE_LENGTH<10?this.idealEdgeLength=10:this.idealEdgeLength=h.DEFAULT_EDGE_LENGTH,this.useSmartIdealEdgeLengthCalculation=h.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.springConstant=l.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=l.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=l.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=l.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=l.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=l.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.prunedNodesAll=[],this.growTreeIterations=0,this.afterGrowthIterations=0,this.isTreeGrowing=!1,this.isGrowthFinished=!1,this.coolingCycle=0,this.maxCoolingCycle=this.maxIterations/l.CONVERGENCE_CHECK_PERIOD,this.finalTemperature=l.CONVERGENCE_CHECK_PERIOD/this.maxIterations,this.coolingAdjuster=1)},v.prototype.layout=function(){return g.DEFAULT_CREATE_BENDS_AS_NEEDED&&(this.createBendpoints(),this.graphManager.resetAllEdges()),this.level=0,this.classicLayout()},v.prototype.classicLayout=function(){if(this.nodesWithGravity=this.calculateNodesToApplyGravitationTo(),this.graphManager.setAllNodesToApplyGravitation(this.nodesWithGravity),this.calcNoOfChildrenForAllNodes(),this.graphManager.calcLowestCommonAncestors(),this.graphManager.calcInclusionTreeDepths(),this.graphManager.getRoot().calcEstimatedSize(),this.calcIdealEdgeLengths(),this.incremental)h.TREE_REDUCTION_ON_INCREMENTAL&&(this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation(),e=new Set(this.getAllNodes()),i=this.nodesWithGravity.filter(function(t){return e.has(t)}),this.graphManager.setAllNodesToApplyGravitation(i));else{var t=this.getFlatForest();if(t.length>0)this.positionNodesRadially(t);else{this.reduceTrees(),this.graphManager.resetAllNodesToApplyGravitation();var e=new Set(this.getAllNodes()),i=this.nodesWithGravity.filter(function(t){return e.has(t)});this.graphManager.setAllNodesToApplyGravitation(i),this.positionNodesRandomly()}}return this.initSpringEmbedder(),this.runSpringEmbedder(),!0},v.prototype.tick=function(){if(this.totalIterations++,this.totalIterations===this.maxIterations&&!this.isTreeGrowing&&!this.isGrowthFinished){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}if(this.totalIterations%l.CONVERGENCE_CHECK_PERIOD==0&&!this.isTreeGrowing&&!this.isGrowthFinished){if(this.isConverged()){if(!(this.prunedNodesAll.length>0))return!0;this.isTreeGrowing=!0}this.coolingCycle++,0==this.layoutQuality?this.coolingAdjuster=this.coolingCycle:1==this.layoutQuality&&(this.coolingAdjuster=this.coolingCycle/3),this.coolingFactor=Math.max(this.initialCoolingFactor-Math.pow(this.coolingCycle,Math.log(100*(this.initialCoolingFactor-this.finalTemperature))/Math.log(this.maxCoolingCycle))/100*this.coolingAdjuster,this.finalTemperature),this.animationPeriod=Math.ceil(this.initialAnimationPeriod*Math.sqrt(this.coolingFactor))}if(this.isTreeGrowing){if(this.growTreeIterations%10==0)if(this.prunedNodesAll.length>0){this.graphManager.updateBounds(),this.updateGrid(),this.growTree(this.prunedNodesAll),this.graphManager.resetAllNodesToApplyGravitation();var t=new Set(this.getAllNodes()),e=this.nodesWithGravity.filter(function(e){return t.has(e)});this.graphManager.setAllNodesToApplyGravitation(e),this.graphManager.updateBounds(),this.updateGrid(),this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL}else this.isTreeGrowing=!1,this.isGrowthFinished=!0;this.growTreeIterations++}if(this.isGrowthFinished){if(this.isConverged())return!0;this.afterGrowthIterations%10==0&&(this.graphManager.updateBounds(),this.updateGrid()),this.coolingFactor=l.DEFAULT_COOLING_FACTOR_INCREMENTAL*((100-this.afterGrowthIterations)/100),this.afterGrowthIterations++}var i=!this.isTreeGrowing&&!this.isGrowthFinished,r=this.growTreeIterations%10==1&&this.isTreeGrowing||this.afterGrowthIterations%10==1&&this.isGrowthFinished;return this.totalDisplacement=0,this.graphManager.updateBounds(),this.calcSpringForces(),this.calcRepulsionForces(i,r),this.calcGravitationalForces(),this.moveNodes(),this.animate(),!1},v.prototype.getPositionsData=function(){for(var t=this.graphManager.getAllNodes(),e={},i=0;i<t.length;i++){var r=t[i].rect,n=t[i].id;e[n]={id:n,x:r.getCenterX(),y:r.getCenterY(),w:r.width,h:r.height}}return e},v.prototype.runSpringEmbedder=function(){this.initialAnimationPeriod=25,this.animationPeriod=this.initialAnimationPeriod;var t=!1;if("during"===l.ANIMATE)this.emit("layoutstarted");else{for(;!t;)t=this.tick();this.graphManager.updateBounds()}},v.prototype.calculateNodesToApplyGravitationTo=function(){var t,e,i=[],r=this.graphManager.getGraphs(),n=r.length;for(e=0;e<n;e++)(t=r[e]).updateConnected(),t.isConnected||(i=i.concat(t.getNodes()));return i},v.prototype.createBendpoints=function(){var t=[];t=t.concat(this.graphManager.getAllEdges());var e,i=new Set;for(e=0;e<t.length;e++){var r=t[e];if(!i.has(r)){var n=r.getSource(),o=r.getTarget();if(n==o)r.getBendpoints().push(new c),r.getBendpoints().push(new c),this.createDummyNodesForBendpoints(r),i.add(r);else{var s=[];if(s=(s=s.concat(n.getEdgeListToNode(o))).concat(o.getEdgeListToNode(n)),!i.has(s[0])){var a;if(s.length>1)for(a=0;a<s.length;a++){var h=s[a];h.getBendpoints().push(new c),this.createDummyNodesForBendpoints(h)}s.forEach(function(t){i.add(t)})}}}if(i.size==t.length)break}},v.prototype.positionNodesRadially=function(t){for(var e=new u(0,0),i=Math.ceil(Math.sqrt(t.length)),r=0,n=0,o=0,s=new c(0,0),a=0;a<t.length;a++){a%i==0&&(o=0,n=r,0!=a&&(n+=h.DEFAULT_COMPONENT_SEPERATION),r=0);var l=t[a],p=d.findCenterOfTree(l);e.x=o,e.y=n,(s=v.radialLayout(l,p,e)).y>r&&(r=Math.floor(s.y)),o=Math.floor(s.x+h.DEFAULT_COMPONENT_SEPERATION)}this.transform(new c(g.WORLD_CENTER_X-s.x/2,g.WORLD_CENTER_Y-s.y/2))},v.radialLayout=function(t,e,i){var r=Math.max(this.maxDiagonalInTree(t),h.DEFAULT_RADIAL_SEPARATION);v.branchRadialLayout(e,null,0,359,0,r);var n=y.calculateBounds(t),o=new E;o.setDeviceOrgX(n.getMinX()),o.setDeviceOrgY(n.getMinY()),o.setWorldOrgX(i.x),o.setWorldOrgY(i.y);for(var s=0;s<t.length;s++)t[s].transform(o);var a=new c(n.getMaxX(),n.getMaxY());return o.inverseTransformPoint(a)},v.branchRadialLayout=function(t,e,i,r,n,o){var s=(r-i+1)/2;s<0&&(s+=180);var a=(s+i)%360*f.TWO_PI/360,h=(Math.cos(a),n*Math.cos(a)),l=n*Math.sin(a);t.setCenter(h,l);var g=[],u=(g=g.concat(t.getEdges())).length;null!=e&&u--;for(var c,d=0,p=g.length,y=t.getEdgesBetween(e);y.length>1;){var E=y[0];y.splice(0,1);var A=g.indexOf(E);A>=0&&g.splice(A,1),p--,u--}c=null!=e?(g.indexOf(y[0])+1)%p:0;for(var N=Math.abs(r-i)/u,T=c;d!=u;T=++T%p){var L=g[T].getOtherEnd(t);if(L!=e){var _=(i+d*N)%360,m=(_+N)%360;v.branchRadialLayout(L,t,_,m,n+o,o),d++}}},v.maxDiagonalInTree=function(t){for(var e=p.MIN_VALUE,i=0;i<t.length;i++){var r=t[i].getDiagonal();r>e&&(e=r)}return e},v.prototype.calcRepulsionRange=function(){return 2*(this.level+1)*this.idealEdgeLength},v.prototype.groupZeroDegreeMembers=function(){var t=this,e={};this.memberGroups={},this.idToDummyNode={};for(var i=[],r=this.graphManager.getAllNodes(),n=0;n<r.length;n++){var o=(a=r[n]).getParent();0!==this.getNodeDegreeWithChildren(a)||void 0!=o.id&&this.getToBeTiled(o)||i.push(a)}for(n=0;n<i.length;n++){var a,h=(a=i[n]).getParent().id;"undefined"===typeof e[h]&&(e[h]=[]),e[h]=e[h].concat(a)}Object.keys(e).forEach(function(i){if(e[i].length>1){var r="DummyCompound_"+i;t.memberGroups[r]=e[i];var n=e[i][0].getParent(),o=new s(t.graphManager);o.id=r,o.paddingLeft=n.paddingLeft||0,o.paddingRight=n.paddingRight||0,o.paddingBottom=n.paddingBottom||0,o.paddingTop=n.paddingTop||0,t.idToDummyNode[r]=o;var a=t.getGraphManager().add(t.newGraph(),o),h=n.getChild();h.add(o);for(var l=0;l<e[i].length;l++){var g=e[i][l];h.remove(g),a.add(g)}}})},v.prototype.clearCompounds=function(){var t={},e={};this.performDFSOnCompounds();for(var i=0;i<this.compoundOrder.length;i++)e[this.compoundOrder[i].id]=this.compoundOrder[i],t[this.compoundOrder[i].id]=[].concat(this.compoundOrder[i].getChild().getNodes()),this.graphManager.remove(this.compoundOrder[i].getChild()),this.compoundOrder[i].child=null;this.graphManager.resetAllNodes(),this.tileCompoundMembers(t,e)},v.prototype.clearZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack=[];Object.keys(this.memberGroups).forEach(function(i){var r=t.idToDummyNode[i];e[i]=t.tileNodes(t.memberGroups[i],r.paddingLeft+r.paddingRight),r.rect.width=e[i].width,r.rect.height=e[i].height})},v.prototype.repopulateCompounds=function(){for(var t=this.compoundOrder.length-1;t>=0;t--){var e=this.compoundOrder[t],i=e.id,r=e.paddingLeft,n=e.paddingTop;this.adjustLocations(this.tiledMemberPack[i],e.rect.x,e.rect.y,r,n)}},v.prototype.repopulateZeroDegreeMembers=function(){var t=this,e=this.tiledZeroDegreePack;Object.keys(e).forEach(function(i){var r=t.idToDummyNode[i],n=r.paddingLeft,o=r.paddingTop;t.adjustLocations(e[i],r.rect.x,r.rect.y,n,o)})},v.prototype.getToBeTiled=function(t){var e=t.id;if(null!=this.toBeTiled[e])return this.toBeTiled[e];var i=t.getChild();if(null==i)return this.toBeTiled[e]=!1,!1;for(var r=i.getNodes(),n=0;n<r.length;n++){var o=r[n];if(this.getNodeDegree(o)>0)return this.toBeTiled[e]=!1,!1;if(null!=o.getChild()){if(!this.getToBeTiled(o))return this.toBeTiled[e]=!1,!1}else this.toBeTiled[o.id]=!1}return this.toBeTiled[e]=!0,!0},v.prototype.getNodeDegree=function(t){t.id;for(var e=t.getEdges(),i=0,r=0;r<e.length;r++){var n=e[r];n.getSource().id!==n.getTarget().id&&(i+=1)}return i},v.prototype.getNodeDegreeWithChildren=function(t){var e=this.getNodeDegree(t);if(null==t.getChild())return e;for(var i=t.getChild().getNodes(),r=0;r<i.length;r++){var n=i[r];e+=this.getNodeDegreeWithChildren(n)}return e},v.prototype.performDFSOnCompounds=function(){this.compoundOrder=[],this.fillCompexOrderByDFS(this.graphManager.getRoot().getNodes())},v.prototype.fillCompexOrderByDFS=function(t){for(var e=0;e<t.length;e++){var i=t[e];null!=i.getChild()&&this.fillCompexOrderByDFS(i.getChild().getNodes()),this.getToBeTiled(i)&&this.compoundOrder.push(i)}},v.prototype.adjustLocations=function(t,e,i,r,n){i+=n;for(var o=e+=r,s=0;s<t.rows.length;s++){var a=t.rows[s];e=o;for(var h=0,l=0;l<a.length;l++){var g=a[l];g.rect.x=e,g.rect.y=i,e+=g.rect.width+t.horizontalPadding,g.rect.height>h&&(h=g.rect.height)}i+=h+t.verticalPadding}},v.prototype.tileCompoundMembers=function(t,e){var i=this;this.tiledMemberPack=[],Object.keys(t).forEach(function(r){var n=e[r];i.tiledMemberPack[r]=i.tileNodes(t[r],n.paddingLeft+n.paddingRight),n.rect.width=i.tiledMemberPack[r].width,n.rect.height=i.tiledMemberPack[r].height})},v.prototype.tileNodes=function(t,e){var i={rows:[],rowWidth:[],rowHeight:[],width:0,height:e,verticalPadding:h.TILING_PADDING_VERTICAL,horizontalPadding:h.TILING_PADDING_HORIZONTAL};t.sort(function(t,e){return t.rect.width*t.rect.height>e.rect.width*e.rect.height?-1:t.rect.width*t.rect.height<e.rect.width*e.rect.height?1:0});for(var r=0;r<t.length;r++){var n=t[r];0==i.rows.length?this.insertNodeToRow(i,n,0,e):this.canAddHorizontal(i,n.rect.width,n.rect.height)?this.insertNodeToRow(i,n,this.getShortestRowIndex(i),e):this.insertNodeToRow(i,n,i.rows.length,e),this.shiftToLastRow(i)}return i},v.prototype.insertNodeToRow=function(t,e,i,r){var n=r;i==t.rows.length&&(t.rows.push([]),t.rowWidth.push(n),t.rowHeight.push(0));var o=t.rowWidth[i]+e.rect.width;t.rows[i].length>0&&(o+=t.horizontalPadding),t.rowWidth[i]=o,t.width<o&&(t.width=o);var s=e.rect.height;i>0&&(s+=t.verticalPadding);var a=0;s>t.rowHeight[i]&&(a=t.rowHeight[i],t.rowHeight[i]=s,a=t.rowHeight[i]-a),t.height+=a,t.rows[i].push(e)},v.prototype.getShortestRowIndex=function(t){for(var e=-1,i=Number.MAX_VALUE,r=0;r<t.rows.length;r++)t.rowWidth[r]<i&&(e=r,i=t.rowWidth[r]);return e},v.prototype.getLongestRowIndex=function(t){for(var e=-1,i=Number.MIN_VALUE,r=0;r<t.rows.length;r++)t.rowWidth[r]>i&&(e=r,i=t.rowWidth[r]);return e},v.prototype.canAddHorizontal=function(t,e,i){var r=this.getShortestRowIndex(t);if(r<0)return!0;var n=t.rowWidth[r];if(n+t.horizontalPadding+e<=t.width)return!0;var o,s,a=0;return t.rowHeight[r]<i&&r>0&&(a=i+t.verticalPadding-t.rowHeight[r]),o=t.width-n>=e+t.horizontalPadding?(t.height+a)/(n+e+t.horizontalPadding):(t.height+a)/t.width,a=i+t.verticalPadding,(s=t.width<e?(t.height+a)/e:(t.height+a)/t.width)<1&&(s=1/s),o<1&&(o=1/o),o<s},v.prototype.shiftToLastRow=function(t){var e=this.getLongestRowIndex(t),i=t.rowWidth.length-1,r=t.rows[e],n=r[r.length-1],o=n.width+t.horizontalPadding;if(t.width-t.rowWidth[i]>o&&e!=i){r.splice(-1,1),t.rows[i].push(n),t.rowWidth[e]=t.rowWidth[e]-o,t.rowWidth[i]=t.rowWidth[i]+o,t.width=t.rowWidth[instance.getLongestRowIndex(t)];for(var s=Number.MIN_VALUE,a=0;a<r.length;a++)r[a].height>s&&(s=r[a].height);e>0&&(s+=t.verticalPadding);var h=t.rowHeight[e]+t.rowHeight[i];t.rowHeight[e]=s,t.rowHeight[i]<n.height+t.verticalPadding&&(t.rowHeight[i]=n.height+t.verticalPadding);var l=t.rowHeight[e]+t.rowHeight[i];t.height+=l-h,this.shiftToLastRow(t)}},v.prototype.tilingPreLayout=function(){h.TILE&&(this.groupZeroDegreeMembers(),this.clearCompounds(),this.clearZeroDegreeMembers())},v.prototype.tilingPostLayout=function(){h.TILE&&(this.repopulateZeroDegreeMembers(),this.repopulateCompounds())},v.prototype.reduceTrees=function(){for(var t,e=[],i=!0;i;){var r=this.graphManager.getAllNodes(),n=[];i=!1;for(var o=0;o<r.length;o++)1!=(t=r[o]).getEdges().length||t.getEdges()[0].isInterGraph||null!=t.getChild()||(n.push([t,t.getEdges()[0],t.getOwner()]),i=!0);if(1==i){for(var s=[],a=0;a<n.length;a++)1==n[a][0].getEdges().length&&(s.push(n[a]),n[a][0].getOwner().remove(n[a][0]));e.push(s),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()}}this.prunedNodesAll=e},v.prototype.growTree=function(t){for(var e,i=t[t.length-1],r=0;r<i.length;r++)e=i[r],this.findPlaceforPrunedNode(e),e[2].add(e[0]),e[2].add(e[1],e[1].source,e[1].target);t.splice(t.length-1,1),this.graphManager.resetAllNodes(),this.graphManager.resetAllEdges()},v.prototype.findPlaceforPrunedNode=function(t){var e,i,r=t[0],n=(i=r==t[1].source?t[1].target:t[1].source).startX,o=i.finishX,s=i.startY,a=i.finishY,h=[0,0,0,0];if(s>0)for(var g=n;g<=o;g++)h[0]+=this.grid[g][s-1].length+this.grid[g][s].length-1;if(o<this.grid.length-1)for(g=s;g<=a;g++)h[1]+=this.grid[o+1][g].length+this.grid[o][g].length-1;if(a<this.grid[0].length-1)for(g=n;g<=o;g++)h[2]+=this.grid[g][a+1].length+this.grid[g][a].length-1;if(n>0)for(g=s;g<=a;g++)h[3]+=this.grid[n-1][g].length+this.grid[n][g].length-1;for(var u,c,d=p.MAX_VALUE,f=0;f<h.length;f++)h[f]<d?(d=h[f],u=1,c=f):h[f]==d&&u++;if(3==u&&0==d)0==h[0]&&0==h[1]&&0==h[2]?e=1:0==h[0]&&0==h[1]&&0==h[3]?e=0:0==h[0]&&0==h[2]&&0==h[3]?e=3:0==h[1]&&0==h[2]&&0==h[3]&&(e=2);else if(2==u&&0==d){var y=Math.floor(2*Math.random());e=0==h[0]&&0==h[1]?0==y?0:1:0==h[0]&&0==h[2]?0==y?0:2:0==h[0]&&0==h[3]?0==y?0:3:0==h[1]&&0==h[2]?0==y?1:2:0==h[1]&&0==h[3]?0==y?1:3:0==y?2:3}else e=4==u&&0==d?y=Math.floor(4*Math.random()):c;0==e?r.setCenter(i.getCenterX(),i.getCenterY()-i.getHeight()/2-l.DEFAULT_EDGE_LENGTH-r.getHeight()/2):1==e?r.setCenter(i.getCenterX()+i.getWidth()/2+l.DEFAULT_EDGE_LENGTH+r.getWidth()/2,i.getCenterY()):2==e?r.setCenter(i.getCenterX(),i.getCenterY()+i.getHeight()/2+l.DEFAULT_EDGE_LENGTH+r.getHeight()/2):r.setCenter(i.getCenterX()-i.getWidth()/2-l.DEFAULT_EDGE_LENGTH-r.getWidth()/2,i.getCenterY())},t.exports=v},function(t,e,i){"use strict";var r={};r.layoutBase=i(0),r.CoSEConstants=i(1),r.CoSEEdge=i(2),r.CoSEGraph=i(3),r.CoSEGraphManager=i(4),r.CoSELayout=i(6),r.CoSENode=i(5),t.exports=r}])},t.exports=r(i(79612))},79612(t){var e;e=function(){return function(t){var e={};function i(r){if(e[r])return e[r].exports;var n=e[r]={i:r,l:!1,exports:{}};return t[r].call(n.exports,n,n.exports,i),n.l=!0,n.exports}return i.m=t,i.c=e,i.i=function(t){return t},i.d=function(t,e,r){i.o(t,e)||Object.defineProperty(t,e,{configurable:!1,enumerable:!0,get:r})},i.n=function(t){var e=t&&t.__esModule?function(){return t.default}:function(){return t};return i.d(e,"a",e),e},i.o=function(t,e){return Object.prototype.hasOwnProperty.call(t,e)},i.p="",i(i.s=26)}([function(t,e,i){"use strict";function r(){}r.QUALITY=1,r.DEFAULT_CREATE_BENDS_AS_NEEDED=!1,r.DEFAULT_INCREMENTAL=!1,r.DEFAULT_ANIMATION_ON_LAYOUT=!0,r.DEFAULT_ANIMATION_DURING_LAYOUT=!1,r.DEFAULT_ANIMATION_PERIOD=50,r.DEFAULT_UNIFORM_LEAF_NODE_SIZES=!1,r.DEFAULT_GRAPH_MARGIN=15,r.NODE_DIMENSIONS_INCLUDE_LABELS=!1,r.SIMPLE_NODE_SIZE=40,r.SIMPLE_NODE_HALF_SIZE=r.SIMPLE_NODE_SIZE/2,r.EMPTY_COMPOUND_NODE_SIZE=40,r.MIN_EDGE_LENGTH=1,r.WORLD_BOUNDARY=1e6,r.INITIAL_WORLD_BOUNDARY=r.WORLD_BOUNDARY/1e3,r.WORLD_CENTER_X=1200,r.WORLD_CENTER_Y=900,t.exports=r},function(t,e,i){"use strict";var r=i(2),n=i(8),o=i(9);function s(t,e,i){r.call(this,i),this.isOverlapingSourceAndTarget=!1,this.vGraphObject=i,this.bendpoints=[],this.source=t,this.target=e}for(var a in s.prototype=Object.create(r.prototype),r)s[a]=r[a];s.prototype.getSource=function(){return this.source},s.prototype.getTarget=function(){return this.target},s.prototype.isInterGraph=function(){return this.isInterGraph},s.prototype.getLength=function(){return this.length},s.prototype.isOverlapingSourceAndTarget=function(){return this.isOverlapingSourceAndTarget},s.prototype.getBendpoints=function(){return this.bendpoints},s.prototype.getLca=function(){return this.lca},s.prototype.getSourceInLca=function(){return this.sourceInLca},s.prototype.getTargetInLca=function(){return this.targetInLca},s.prototype.getOtherEnd=function(t){if(this.source===t)return this.target;if(this.target===t)return this.source;throw"Node is not incident with this edge"},s.prototype.getOtherEndInGraph=function(t,e){for(var i=this.getOtherEnd(t),r=e.getGraphManager().getRoot();;){if(i.getOwner()==e)return i;if(i.getOwner()==r)break;i=i.getOwner().getParent()}return null},s.prototype.updateLength=function(){var t=new Array(4);this.isOverlapingSourceAndTarget=n.getIntersection(this.target.getRect(),this.source.getRect(),t),this.isOverlapingSourceAndTarget||(this.lengthX=t[0]-t[2],this.lengthY=t[1]-t[3],Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY))},s.prototype.updateLengthSimple=function(){this.lengthX=this.target.getCenterX()-this.source.getCenterX(),this.lengthY=this.target.getCenterY()-this.source.getCenterY(),Math.abs(this.lengthX)<1&&(this.lengthX=o.sign(this.lengthX)),Math.abs(this.lengthY)<1&&(this.lengthY=o.sign(this.lengthY)),this.length=Math.sqrt(this.lengthX*this.lengthX+this.lengthY*this.lengthY)},t.exports=s},function(t,e,i){"use strict";t.exports=function(t){this.vGraphObject=t}},function(t,e,i){"use strict";var r=i(2),n=i(10),o=i(13),s=i(0),a=i(16),h=i(4);function l(t,e,i,s){null==i&&null==s&&(s=e),r.call(this,s),null!=t.graphManager&&(t=t.graphManager),this.estimatedSize=n.MIN_VALUE,this.inclusionTreeDepth=n.MAX_VALUE,this.vGraphObject=s,this.edges=[],this.graphManager=t,this.rect=null!=i&&null!=e?new o(e.x,e.y,i.width,i.height):new o}for(var g in l.prototype=Object.create(r.prototype),r)l[g]=r[g];l.prototype.getEdges=function(){return this.edges},l.prototype.getChild=function(){return this.child},l.prototype.getOwner=function(){return this.owner},l.prototype.getWidth=function(){return this.rect.width},l.prototype.setWidth=function(t){this.rect.width=t},l.prototype.getHeight=function(){return this.rect.height},l.prototype.setHeight=function(t){this.rect.height=t},l.prototype.getCenterX=function(){return this.rect.x+this.rect.width/2},l.prototype.getCenterY=function(){return this.rect.y+this.rect.height/2},l.prototype.getCenter=function(){return new h(this.rect.x+this.rect.width/2,this.rect.y+this.rect.height/2)},l.prototype.getLocation=function(){return new h(this.rect.x,this.rect.y)},l.prototype.getRect=function(){return this.rect},l.prototype.getDiagonal=function(){return Math.sqrt(this.rect.width*this.rect.width+this.rect.height*this.rect.height)},l.prototype.getHalfTheDiagonal=function(){return Math.sqrt(this.rect.height*this.rect.height+this.rect.width*this.rect.width)/2},l.prototype.setRect=function(t,e){this.rect.x=t.x,this.rect.y=t.y,this.rect.width=e.width,this.rect.height=e.height},l.prototype.setCenter=function(t,e){this.rect.x=t-this.rect.width/2,this.rect.y=e-this.rect.height/2},l.prototype.setLocation=function(t,e){this.rect.x=t,this.rect.y=e},l.prototype.moveBy=function(t,e){this.rect.x+=t,this.rect.y+=e},l.prototype.getEdgeListToNode=function(t){var e=[],i=this;return i.edges.forEach(function(r){if(r.target==t){if(r.source!=i)throw"Incorrect edge source!";e.push(r)}}),e},l.prototype.getEdgesBetween=function(t){var e=[],i=this;return i.edges.forEach(function(r){if(r.source!=i&&r.target!=i)throw"Incorrect edge source and/or target";r.target!=t&&r.source!=t||e.push(r)}),e},l.prototype.getNeighborsList=function(){var t=new Set,e=this;return e.edges.forEach(function(i){if(i.source==e)t.add(i.target);else{if(i.target!=e)throw"Incorrect incidency!";t.add(i.source)}}),t},l.prototype.withChildren=function(){var t=new Set;if(t.add(this),null!=this.child)for(var e=this.child.getNodes(),i=0;i<e.length;i++)e[i].withChildren().forEach(function(e){t.add(e)});return t},l.prototype.getNoOfChildren=function(){var t=0;if(null==this.child)t=1;else for(var e=this.child.getNodes(),i=0;i<e.length;i++)t+=e[i].getNoOfChildren();return 0==t&&(t=1),t},l.prototype.getEstimatedSize=function(){if(this.estimatedSize==n.MIN_VALUE)throw"assert failed";return this.estimatedSize},l.prototype.calcEstimatedSize=function(){return null==this.child?this.estimatedSize=(this.rect.width+this.rect.height)/2:(this.estimatedSize=this.child.calcEstimatedSize(),this.rect.width=this.estimatedSize,this.rect.height=this.estimatedSize,this.estimatedSize)},l.prototype.scatter=function(){var t,e,i=-s.INITIAL_WORLD_BOUNDARY,r=s.INITIAL_WORLD_BOUNDARY;t=s.WORLD_CENTER_X+a.nextDouble()*(r-i)+i;var n=-s.INITIAL_WORLD_BOUNDARY,o=s.INITIAL_WORLD_BOUNDARY;e=s.WORLD_CENTER_Y+a.nextDouble()*(o-n)+n,this.rect.x=t,this.rect.y=e},l.prototype.updateBounds=function(){if(null==this.getChild())throw"assert failed";if(0!=this.getChild().getNodes().length){var t=this.getChild();if(t.updateBounds(!0),this.rect.x=t.getLeft(),this.rect.y=t.getTop(),this.setWidth(t.getRight()-t.getLeft()),this.setHeight(t.getBottom()-t.getTop()),s.NODE_DIMENSIONS_INCLUDE_LABELS){var e=t.getRight()-t.getLeft(),i=t.getBottom()-t.getTop();this.labelWidth>e&&(this.rect.x-=(this.labelWidth-e)/2,this.setWidth(this.labelWidth)),this.labelHeight>i&&("center"==this.labelPos?this.rect.y-=(this.labelHeight-i)/2:"top"==this.labelPos&&(this.rect.y-=this.labelHeight-i),this.setHeight(this.labelHeight))}}},l.prototype.getInclusionTreeDepth=function(){if(this.inclusionTreeDepth==n.MAX_VALUE)throw"assert failed";return this.inclusionTreeDepth},l.prototype.transform=function(t){var e=this.rect.x;e>s.WORLD_BOUNDARY?e=s.WORLD_BOUNDARY:e<-s.WORLD_BOUNDARY&&(e=-s.WORLD_BOUNDARY);var i=this.rect.y;i>s.WORLD_BOUNDARY?i=s.WORLD_BOUNDARY:i<-s.WORLD_BOUNDARY&&(i=-s.WORLD_BOUNDARY);var r=new h(e,i),n=t.inverseTransformPoint(r);this.setLocation(n.x,n.y)},l.prototype.getLeft=function(){return this.rect.x},l.prototype.getRight=function(){return this.rect.x+this.rect.width},l.prototype.getTop=function(){return this.rect.y},l.prototype.getBottom=function(){return this.rect.y+this.rect.height},l.prototype.getParent=function(){return null==this.owner?null:this.owner.getParent()},t.exports=l},function(t,e,i){"use strict";function r(t,e){null==t&&null==e?(this.x=0,this.y=0):(this.x=t,this.y=e)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.setX=function(t){this.x=t},r.prototype.setY=function(t){this.y=t},r.prototype.getDifference=function(t){return new DimensionD(this.x-t.x,this.y-t.y)},r.prototype.getCopy=function(){return new r(this.x,this.y)},r.prototype.translate=function(t){return this.x+=t.width,this.y+=t.height,this},t.exports=r},function(t,e,i){"use strict";var r=i(2),n=i(10),o=i(0),s=i(6),a=i(3),h=i(1),l=i(13),g=i(12),u=i(11);function c(t,e,i){r.call(this,i),this.estimatedSize=n.MIN_VALUE,this.margin=o.DEFAULT_GRAPH_MARGIN,this.edges=[],this.nodes=[],this.isConnected=!1,this.parent=t,null!=e&&e instanceof s?this.graphManager=e:null!=e&&e instanceof Layout&&(this.graphManager=e.graphManager)}for(var d in c.prototype=Object.create(r.prototype),r)c[d]=r[d];c.prototype.getNodes=function(){return this.nodes},c.prototype.getEdges=function(){return this.edges},c.prototype.getGraphManager=function(){return this.graphManager},c.prototype.getParent=function(){return this.parent},c.prototype.getLeft=function(){return this.left},c.prototype.getRight=function(){return this.right},c.prototype.getTop=function(){return this.top},c.prototype.getBottom=function(){return this.bottom},c.prototype.isConnected=function(){return this.isConnected},c.prototype.add=function(t,e,i){if(null==e&&null==i){var r=t;if(null==this.graphManager)throw"Graph has no graph mgr!";if(this.getNodes().indexOf(r)>-1)throw"Node already in graph!";return r.owner=this,this.getNodes().push(r),r}var n=t;if(!(this.getNodes().indexOf(e)>-1&&this.getNodes().indexOf(i)>-1))throw"Source or target not in graph!";if(e.owner!=i.owner||e.owner!=this)throw"Both owners must be this graph!";return e.owner!=i.owner?null:(n.source=e,n.target=i,n.isInterGraph=!1,this.getEdges().push(n),e.edges.push(n),i!=e&&i.edges.push(n),n)},c.prototype.remove=function(t){var e=t;if(t instanceof a){if(null==e)throw"Node is null!";if(null==e.owner||e.owner!=this)throw"Owner graph is invalid!";if(null==this.graphManager)throw"Owner graph manager is invalid!";for(var i=e.edges.slice(),r=i.length,n=0;n<r;n++)(o=i[n]).isInterGraph?this.graphManager.remove(o):o.source.owner.remove(o);if(-1==(s=this.nodes.indexOf(e)))throw"Node not in owner node list!";this.nodes.splice(s,1)}else if(t instanceof h){var o;if(null==(o=t))throw"Edge is null!";if(null==o.source||null==o.target)throw"Source and/or target is null!";if(null==o.source.owner||null==o.target.owner||o.source.owner!=this||o.target.owner!=this)throw"Source and/or target owner is invalid!";var s,l=o.source.edges.indexOf(o),g=o.target.edges.indexOf(o);if(!(l>-1&&g>-1))throw"Source and/or target doesn't know this edge!";if(o.source.edges.splice(l,1),o.target!=o.source&&o.target.edges.splice(g,1),-1==(s=o.source.owner.getEdges().indexOf(o)))throw"Not in owner's edge list!";o.source.owner.getEdges().splice(s,1)}},c.prototype.updateLeftTop=function(){for(var t,e,i,r=n.MAX_VALUE,o=n.MAX_VALUE,s=this.getNodes(),a=s.length,h=0;h<a;h++){var l=s[h];r>(t=l.getTop())&&(r=t),o>(e=l.getLeft())&&(o=e)}return r==n.MAX_VALUE?null:(i=void 0!=s[0].getParent().paddingLeft?s[0].getParent().paddingLeft:this.margin,this.left=o-i,this.top=r-i,new g(this.left,this.top))},c.prototype.updateBounds=function(t){for(var e,i,r,o,s,a=n.MAX_VALUE,h=-n.MAX_VALUE,g=n.MAX_VALUE,u=-n.MAX_VALUE,c=this.nodes,d=c.length,p=0;p<d;p++){var f=c[p];t&&null!=f.child&&f.updateBounds(),a>(e=f.getLeft())&&(a=e),h<(i=f.getRight())&&(h=i),g>(r=f.getTop())&&(g=r),u<(o=f.getBottom())&&(u=o)}var y=new l(a,g,h-a,u-g);a==n.MAX_VALUE&&(this.left=this.parent.getLeft(),this.right=this.parent.getRight(),this.top=this.parent.getTop(),this.bottom=this.parent.getBottom()),s=void 0!=c[0].getParent().paddingLeft?c[0].getParent().paddingLeft:this.margin,this.left=y.x-s,this.right=y.x+y.width+s,this.top=y.y-s,this.bottom=y.y+y.height+s},c.calculateBounds=function(t){for(var e,i,r,o,s=n.MAX_VALUE,a=-n.MAX_VALUE,h=n.MAX_VALUE,g=-n.MAX_VALUE,u=t.length,c=0;c<u;c++){var d=t[c];s>(e=d.getLeft())&&(s=e),a<(i=d.getRight())&&(a=i),h>(r=d.getTop())&&(h=r),g<(o=d.getBottom())&&(g=o)}return new l(s,h,a-s,g-h)},c.prototype.getInclusionTreeDepth=function(){return this==this.graphManager.getRoot()?1:this.parent.getInclusionTreeDepth()},c.prototype.getEstimatedSize=function(){if(this.estimatedSize==n.MIN_VALUE)throw"assert failed";return this.estimatedSize},c.prototype.calcEstimatedSize=function(){for(var t=0,e=this.nodes,i=e.length,r=0;r<i;r++)t+=e[r].calcEstimatedSize();return this.estimatedSize=0==t?o.EMPTY_COMPOUND_NODE_SIZE:t/Math.sqrt(this.nodes.length),this.estimatedSize},c.prototype.updateConnected=function(){var t=this;if(0!=this.nodes.length){var e,i,r=new u,n=new Set,o=this.nodes[0];for(o.withChildren().forEach(function(t){r.push(t),n.add(t)});0!==r.length;)for(var s=(e=(o=r.shift()).getEdges()).length,a=0;a<s;a++)null==(i=e[a].getOtherEndInGraph(o,this))||n.has(i)||i.withChildren().forEach(function(t){r.push(t),n.add(t)});if(this.isConnected=!1,n.size>=this.nodes.length){var h=0;n.forEach(function(e){e.owner==t&&h++}),h==this.nodes.length&&(this.isConnected=!0)}}else this.isConnected=!0},t.exports=c},function(t,e,i){"use strict";var r,n=i(1);function o(t){r=i(5),this.layout=t,this.graphs=[],this.edges=[]}o.prototype.addRoot=function(){var t=this.layout.newGraph(),e=this.layout.newNode(null),i=this.add(t,e);return this.setRootGraph(i),this.rootGraph},o.prototype.add=function(t,e,i,r,n){if(null==i&&null==r&&null==n){if(null==t)throw"Graph is null!";if(null==e)throw"Parent node is null!";if(this.graphs.indexOf(t)>-1)throw"Graph already in this graph mgr!";if(this.graphs.push(t),null!=t.parent)throw"Already has a parent!";if(null!=e.child)throw"Already has a child!";return t.parent=e,e.child=t,t}n=i,i=t;var o=(r=e).getOwner(),s=n.getOwner();if(null==o||o.getGraphManager()!=this)throw"Source not in this graph mgr!";if(null==s||s.getGraphManager()!=this)throw"Target not in this graph mgr!";if(o==s)return i.isInterGraph=!1,o.add(i,r,n);if(i.isInterGraph=!0,i.source=r,i.target=n,this.edges.indexOf(i)>-1)throw"Edge already in inter-graph edge list!";if(this.edges.push(i),null==i.source||null==i.target)throw"Edge source and/or target is null!";if(-1!=i.source.edges.indexOf(i)||-1!=i.target.edges.indexOf(i))throw"Edge already in source and/or target incidency list!";return i.source.edges.push(i),i.target.edges.push(i),i},o.prototype.remove=function(t){if(t instanceof r){var e=t;if(e.getGraphManager()!=this)throw"Graph not in this graph mgr";if(e!=this.rootGraph&&(null==e.parent||e.parent.graphManager!=this))throw"Invalid parent node!";for(var i,o=[],s=(o=o.concat(e.getEdges())).length,a=0;a<s;a++)i=o[a],e.remove(i);var h,l=[];for(s=(l=l.concat(e.getNodes())).length,a=0;a<s;a++)h=l[a],e.remove(h);e==this.rootGraph&&this.setRootGraph(null);var g=this.graphs.indexOf(e);this.graphs.splice(g,1),e.parent=null}else if(t instanceof n){if(null==(i=t))throw"Edge is null!";if(!i.isInterGraph)throw"Not an inter-graph edge!";if(null==i.source||null==i.target)throw"Source and/or target is null!";if(-1==i.source.edges.indexOf(i)||-1==i.target.edges.indexOf(i))throw"Source and/or target doesn't know this edge!";if(g=i.source.edges.indexOf(i),i.source.edges.splice(g,1),g=i.target.edges.indexOf(i),i.target.edges.splice(g,1),null==i.source.owner||null==i.source.owner.getGraphManager())throw"Edge owner graph or owner graph manager is null!";if(-1==i.source.owner.getGraphManager().edges.indexOf(i))throw"Not in owner graph manager's edge list!";g=i.source.owner.getGraphManager().edges.indexOf(i),i.source.owner.getGraphManager().edges.splice(g,1)}},o.prototype.updateBounds=function(){this.rootGraph.updateBounds(!0)},o.prototype.getGraphs=function(){return this.graphs},o.prototype.getAllNodes=function(){if(null==this.allNodes){for(var t=[],e=this.getGraphs(),i=e.length,r=0;r<i;r++)t=t.concat(e[r].getNodes());this.allNodes=t}return this.allNodes},o.prototype.resetAllNodes=function(){this.allNodes=null},o.prototype.resetAllEdges=function(){this.allEdges=null},o.prototype.resetAllNodesToApplyGravitation=function(){this.allNodesToApplyGravitation=null},o.prototype.getAllEdges=function(){if(null==this.allEdges){for(var t=[],e=this.getGraphs(),i=(e.length,0);i<e.length;i++)t=t.concat(e[i].getEdges());t=t.concat(this.edges),this.allEdges=t}return this.allEdges},o.prototype.getAllNodesToApplyGravitation=function(){return this.allNodesToApplyGravitation},o.prototype.setAllNodesToApplyGravitation=function(t){if(null!=this.allNodesToApplyGravitation)throw"assert failed";this.allNodesToApplyGravitation=t},o.prototype.getRoot=function(){return this.rootGraph},o.prototype.setRootGraph=function(t){if(t.getGraphManager()!=this)throw"Root not in this graph mgr!";this.rootGraph=t,null==t.parent&&(t.parent=this.layout.newNode("Root node"))},o.prototype.getLayout=function(){return this.layout},o.prototype.isOneAncestorOfOther=function(t,e){if(null==t||null==e)throw"assert failed";if(t==e)return!0;for(var i,r=t.getOwner();null!=(i=r.getParent());){if(i==e)return!0;if(null==(r=i.getOwner()))break}for(r=e.getOwner();null!=(i=r.getParent());){if(i==t)return!0;if(null==(r=i.getOwner()))break}return!1},o.prototype.calcLowestCommonAncestors=function(){for(var t,e,i,r,n,o=this.getAllEdges(),s=o.length,a=0;a<s;a++)if(e=(t=o[a]).source,i=t.target,t.lca=null,t.sourceInLca=e,t.targetInLca=i,e!=i){for(r=e.getOwner();null==t.lca;){for(t.targetInLca=i,n=i.getOwner();null==t.lca;){if(n==r){t.lca=n;break}if(n==this.rootGraph)break;if(null!=t.lca)throw"assert failed";t.targetInLca=n.getParent(),n=t.targetInLca.getOwner()}if(r==this.rootGraph)break;null==t.lca&&(t.sourceInLca=r.getParent(),r=t.sourceInLca.getOwner())}if(null==t.lca)throw"assert failed"}else t.lca=e.getOwner()},o.prototype.calcLowestCommonAncestor=function(t,e){if(t==e)return t.getOwner();for(var i=t.getOwner();null!=i;){for(var r=e.getOwner();null!=r;){if(r==i)return r;r=r.getParent().getOwner()}i=i.getParent().getOwner()}return i},o.prototype.calcInclusionTreeDepths=function(t,e){var i;null==t&&null==e&&(t=this.rootGraph,e=1);for(var r=t.getNodes(),n=r.length,o=0;o<n;o++)(i=r[o]).inclusionTreeDepth=e,null!=i.child&&this.calcInclusionTreeDepths(i.child,e+1)},o.prototype.includesInvalidEdge=function(){for(var t,e=this.edges.length,i=0;i<e;i++)if(t=this.edges[i],this.isOneAncestorOfOther(t.source,t.target))return!0;return!1},t.exports=o},function(t,e,i){"use strict";var r=i(0);function n(){}for(var o in r)n[o]=r[o];n.MAX_ITERATIONS=2500,n.DEFAULT_EDGE_LENGTH=50,n.DEFAULT_SPRING_STRENGTH=.45,n.DEFAULT_REPULSION_STRENGTH=4500,n.DEFAULT_GRAVITY_STRENGTH=.4,n.DEFAULT_COMPOUND_GRAVITY_STRENGTH=1,n.DEFAULT_GRAVITY_RANGE_FACTOR=3.8,n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR=1.5,n.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION=!0,n.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION=!0,n.DEFAULT_COOLING_FACTOR_INCREMENTAL=.3,n.COOLING_ADAPTATION_FACTOR=.33,n.ADAPTATION_LOWER_NODE_LIMIT=1e3,n.ADAPTATION_UPPER_NODE_LIMIT=5e3,n.MAX_NODE_DISPLACEMENT_INCREMENTAL=100,n.MAX_NODE_DISPLACEMENT=3*n.MAX_NODE_DISPLACEMENT_INCREMENTAL,n.MIN_REPULSION_DIST=n.DEFAULT_EDGE_LENGTH/10,n.CONVERGENCE_CHECK_PERIOD=100,n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR=.1,n.MIN_EDGE_LENGTH=1,n.GRID_CALCULATION_CHECK_PERIOD=10,t.exports=n},function(t,e,i){"use strict";var r=i(12);function n(){}n.calcSeparationAmount=function(t,e,i,r){if(!t.intersects(e))throw"assert failed";var n=new Array(2);this.decideDirectionsForOverlappingNodes(t,e,n),i[0]=Math.min(t.getRight(),e.getRight())-Math.max(t.x,e.x),i[1]=Math.min(t.getBottom(),e.getBottom())-Math.max(t.y,e.y),t.getX()<=e.getX()&&t.getRight()>=e.getRight()?i[0]+=Math.min(e.getX()-t.getX(),t.getRight()-e.getRight()):e.getX()<=t.getX()&&e.getRight()>=t.getRight()&&(i[0]+=Math.min(t.getX()-e.getX(),e.getRight()-t.getRight())),t.getY()<=e.getY()&&t.getBottom()>=e.getBottom()?i[1]+=Math.min(e.getY()-t.getY(),t.getBottom()-e.getBottom()):e.getY()<=t.getY()&&e.getBottom()>=t.getBottom()&&(i[1]+=Math.min(t.getY()-e.getY(),e.getBottom()-t.getBottom()));var o=Math.abs((e.getCenterY()-t.getCenterY())/(e.getCenterX()-t.getCenterX()));e.getCenterY()===t.getCenterY()&&e.getCenterX()===t.getCenterX()&&(o=1);var s=o*i[0],a=i[1]/o;i[0]<a?a=i[0]:s=i[1],i[0]=-1*n[0]*(a/2+r),i[1]=-1*n[1]*(s/2+r)},n.decideDirectionsForOverlappingNodes=function(t,e,i){t.getCenterX()<e.getCenterX()?i[0]=-1:i[0]=1,t.getCenterY()<e.getCenterY()?i[1]=-1:i[1]=1},n.getIntersection2=function(t,e,i){var r=t.getCenterX(),n=t.getCenterY(),o=e.getCenterX(),s=e.getCenterY();if(t.intersects(e))return i[0]=r,i[1]=n,i[2]=o,i[3]=s,!0;var a=t.getX(),h=t.getY(),l=t.getRight(),g=t.getX(),u=t.getBottom(),c=t.getRight(),d=t.getWidthHalf(),p=t.getHeightHalf(),f=e.getX(),y=e.getY(),E=e.getRight(),v=e.getX(),A=e.getBottom(),N=e.getRight(),T=e.getWidthHalf(),L=e.getHeightHalf(),_=!1,m=!1;if(r===o){if(n>s)return i[0]=r,i[1]=h,i[2]=o,i[3]=A,!1;if(n<s)return i[0]=r,i[1]=u,i[2]=o,i[3]=y,!1}else if(n===s){if(r>o)return i[0]=a,i[1]=n,i[2]=E,i[3]=s,!1;if(r<o)return i[0]=l,i[1]=n,i[2]=f,i[3]=s,!1}else{var O=t.height/t.width,I=e.height/e.width,D=(s-n)/(o-r),w=void 0,R=void 0,C=void 0,M=void 0,G=void 0,x=void 0;if(-O===D?r>o?(i[0]=g,i[1]=u,_=!0):(i[0]=l,i[1]=h,_=!0):O===D&&(r>o?(i[0]=a,i[1]=h,_=!0):(i[0]=c,i[1]=u,_=!0)),-I===D?o>r?(i[2]=v,i[3]=A,m=!0):(i[2]=E,i[3]=y,m=!0):I===D&&(o>r?(i[2]=f,i[3]=y,m=!0):(i[2]=N,i[3]=A,m=!0)),_&&m)return!1;if(r>o?n>s?(w=this.getCardinalDirection(O,D,4),R=this.getCardinalDirection(I,D,2)):(w=this.getCardinalDirection(-O,D,3),R=this.getCardinalDirection(-I,D,1)):n>s?(w=this.getCardinalDirection(-O,D,1),R=this.getCardinalDirection(-I,D,3)):(w=this.getCardinalDirection(O,D,2),R=this.getCardinalDirection(I,D,4)),!_)switch(w){case 1:M=h,C=r+-p/D,i[0]=C,i[1]=M;break;case 2:C=c,M=n+d*D,i[0]=C,i[1]=M;break;case 3:M=u,C=r+p/D,i[0]=C,i[1]=M;break;case 4:C=g,M=n+-d*D,i[0]=C,i[1]=M}if(!m)switch(R){case 1:x=y,G=o+-L/D,i[2]=G,i[3]=x;break;case 2:G=N,x=s+T*D,i[2]=G,i[3]=x;break;case 3:x=A,G=o+L/D,i[2]=G,i[3]=x;break;case 4:G=v,x=s+-T*D,i[2]=G,i[3]=x}}return!1},n.getCardinalDirection=function(t,e,i){return t>e?i:1+i%4},n.getIntersection=function(t,e,i,n){if(null==n)return this.getIntersection2(t,e,i);var o,s,a,h,l,g,u,c=t.x,d=t.y,p=e.x,f=e.y,y=i.x,E=i.y,v=n.x,A=n.y;return 0===(u=(o=f-d)*(h=y-v)-(s=A-E)*(a=c-p))?null:new r((a*(g=v*E-y*A)-h*(l=p*d-c*f))/u,(s*l-o*g)/u)},n.angleOfVector=function(t,e,i,r){var n=void 0;return t!==i?(n=Math.atan((r-e)/(i-t)),i<t?n+=Math.PI:r<e&&(n+=this.TWO_PI)):n=r<e?this.ONE_AND_HALF_PI:this.HALF_PI,n},n.doIntersect=function(t,e,i,r){var n=t.x,o=t.y,s=e.x,a=e.y,h=i.x,l=i.y,g=r.x,u=r.y,c=(s-n)*(u-l)-(g-h)*(a-o);if(0===c)return!1;var d=((u-l)*(g-n)+(h-g)*(u-o))/c,p=((o-a)*(g-n)+(s-n)*(u-o))/c;return 0<d&&d<1&&0<p&&p<1},n.HALF_PI=.5*Math.PI,n.ONE_AND_HALF_PI=1.5*Math.PI,n.TWO_PI=2*Math.PI,n.THREE_PI=3*Math.PI,t.exports=n},function(t,e,i){"use strict";function r(){}r.sign=function(t){return t>0?1:t<0?-1:0},r.floor=function(t){return t<0?Math.ceil(t):Math.floor(t)},r.ceil=function(t){return t<0?Math.floor(t):Math.ceil(t)},t.exports=r},function(t,e,i){"use strict";function r(){}r.MAX_VALUE=2147483647,r.MIN_VALUE=-2147483648,t.exports=r},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=function(t){return{value:t,next:null,prev:null}},o=function(t,e,i,r){return null!==t?t.next=e:r.head=e,null!==i?i.prev=e:r.tail=e,e.prev=t,e.next=i,r.length++,e},s=function(t,e){var i=t.prev,r=t.next;return null!==i?i.next=r:e.head=r,null!==r?r.prev=i:e.tail=i,t.prev=t.next=null,e.length--,t},a=function(){function t(e){var i=this;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.length=0,this.head=null,this.tail=null,null!=e&&e.forEach(function(t){return i.push(t)})}return r(t,[{key:"size",value:function(){return this.length}},{key:"insertBefore",value:function(t,e){return o(e.prev,n(t),e,this)}},{key:"insertAfter",value:function(t,e){return o(e,n(t),e.next,this)}},{key:"insertNodeBefore",value:function(t,e){return o(e.prev,t,e,this)}},{key:"insertNodeAfter",value:function(t,e){return o(e,t,e.next,this)}},{key:"push",value:function(t){return o(this.tail,n(t),null,this)}},{key:"unshift",value:function(t){return o(null,n(t),this.head,this)}},{key:"remove",value:function(t){return s(t,this)}},{key:"pop",value:function(){return s(this.tail,this).value}},{key:"popNode",value:function(){return s(this.tail,this)}},{key:"shift",value:function(){return s(this.head,this).value}},{key:"shiftNode",value:function(){return s(this.head,this)}},{key:"get_object_at",value:function(t){if(t<=this.length()){for(var e=1,i=this.head;e<t;)i=i.next,e++;return i.value}}},{key:"set_object_at",value:function(t,e){if(t<=this.length()){for(var i=1,r=this.head;i<t;)r=r.next,i++;r.value=e}}}]),t}();t.exports=a},function(t,e,i){"use strict";function r(t,e,i){this.x=null,this.y=null,null==t&&null==e&&null==i?(this.x=0,this.y=0):"number"==typeof t&&"number"==typeof e&&null==i?(this.x=t,this.y=e):"Point"==t.constructor.name&&null==e&&null==i&&(i=t,this.x=i.x,this.y=i.y)}r.prototype.getX=function(){return this.x},r.prototype.getY=function(){return this.y},r.prototype.getLocation=function(){return new r(this.x,this.y)},r.prototype.setLocation=function(t,e,i){"Point"==t.constructor.name&&null==e&&null==i?(i=t,this.setLocation(i.x,i.y)):"number"==typeof t&&"number"==typeof e&&null==i&&(parseInt(t)==t&&parseInt(e)==e?this.move(t,e):(this.x=Math.floor(t+.5),this.y=Math.floor(e+.5)))},r.prototype.move=function(t,e){this.x=t,this.y=e},r.prototype.translate=function(t,e){this.x+=t,this.y+=e},r.prototype.equals=function(t){if("Point"==t.constructor.name){var e=t;return this.x==e.x&&this.y==e.y}return this==t},r.prototype.toString=function(){return(new r).constructor.name+"[x="+this.x+",y="+this.y+"]"},t.exports=r},function(t,e,i){"use strict";function r(t,e,i,r){this.x=0,this.y=0,this.width=0,this.height=0,null!=t&&null!=e&&null!=i&&null!=r&&(this.x=t,this.y=e,this.width=i,this.height=r)}r.prototype.getX=function(){return this.x},r.prototype.setX=function(t){this.x=t},r.prototype.getY=function(){return this.y},r.prototype.setY=function(t){this.y=t},r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},r.prototype.getRight=function(){return this.x+this.width},r.prototype.getBottom=function(){return this.y+this.height},r.prototype.intersects=function(t){return!(this.getRight()<t.x)&&!(this.getBottom()<t.y)&&!(t.getRight()<this.x)&&!(t.getBottom()<this.y)},r.prototype.getCenterX=function(){return this.x+this.width/2},r.prototype.getMinX=function(){return this.getX()},r.prototype.getMaxX=function(){return this.getX()+this.width},r.prototype.getCenterY=function(){return this.y+this.height/2},r.prototype.getMinY=function(){return this.getY()},r.prototype.getMaxY=function(){return this.getY()+this.height},r.prototype.getWidthHalf=function(){return this.width/2},r.prototype.getHeightHalf=function(){return this.height/2},t.exports=r},function(t,e,i){"use strict";var r="function"===typeof Symbol&&"symbol"===typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"===typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t};function n(){}n.lastID=0,n.createID=function(t){return n.isPrimitive(t)?t:(null!=t.uniqueID||(t.uniqueID=n.getString(),n.lastID++),t.uniqueID)},n.getString=function(t){return null==t&&(t=n.lastID),"Object#"+t},n.isPrimitive=function(t){var e="undefined"===typeof t?"undefined":r(t);return null==t||"object"!=e&&"function"!=e},t.exports=n},function(t,e,i){"use strict";function r(t){if(Array.isArray(t)){for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}return Array.from(t)}var n=i(0),o=i(6),s=i(3),a=i(1),h=i(5),l=i(4),g=i(17),u=i(27);function c(t){u.call(this),this.layoutQuality=n.QUALITY,this.createBendsAsNeeded=n.DEFAULT_CREATE_BENDS_AS_NEEDED,this.incremental=n.DEFAULT_INCREMENTAL,this.animationOnLayout=n.DEFAULT_ANIMATION_ON_LAYOUT,this.animationDuringLayout=n.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=n.DEFAULT_ANIMATION_PERIOD,this.uniformLeafNodeSizes=n.DEFAULT_UNIFORM_LEAF_NODE_SIZES,this.edgeToDummyNodes=new Map,this.graphManager=new o(this),this.isLayoutFinished=!1,this.isSubLayout=!1,this.isRemoteUse=!1,null!=t&&(this.isRemoteUse=t)}c.RANDOM_SEED=1,c.prototype=Object.create(u.prototype),c.prototype.getGraphManager=function(){return this.graphManager},c.prototype.getAllNodes=function(){return this.graphManager.getAllNodes()},c.prototype.getAllEdges=function(){return this.graphManager.getAllEdges()},c.prototype.getAllNodesToApplyGravitation=function(){return this.graphManager.getAllNodesToApplyGravitation()},c.prototype.newGraphManager=function(){var t=new o(this);return this.graphManager=t,t},c.prototype.newGraph=function(t){return new h(null,this.graphManager,t)},c.prototype.newNode=function(t){return new s(this.graphManager,t)},c.prototype.newEdge=function(t){return new a(null,null,t)},c.prototype.checkLayoutSuccess=function(){return null==this.graphManager.getRoot()||0==this.graphManager.getRoot().getNodes().length||this.graphManager.includesInvalidEdge()},c.prototype.runLayout=function(){var t;return this.isLayoutFinished=!1,this.tilingPreLayout&&this.tilingPreLayout(),this.initParameters(),t=!this.checkLayoutSuccess()&&this.layout(),"during"!==n.ANIMATE&&(t&&(this.isSubLayout||this.doPostLayout()),this.tilingPostLayout&&this.tilingPostLayout(),this.isLayoutFinished=!0,t)},c.prototype.doPostLayout=function(){this.incremental||this.transform(),this.update()},c.prototype.update2=function(){if(this.createBendsAsNeeded&&(this.createBendpointsFromDummyNodes(),this.graphManager.resetAllEdges()),!this.isRemoteUse){for(var t=this.graphManager.getAllEdges(),e=0;e<t.length;e++)t[e];var i=this.graphManager.getRoot().getNodes();for(e=0;e<i.length;e++)i[e];this.update(this.graphManager.getRoot())}},c.prototype.update=function(t){if(null==t)this.update2();else if(t instanceof s){var e=t;if(null!=e.getChild())for(var i=e.getChild().getNodes(),r=0;r<i.length;r++)update(i[r]);null!=e.vGraphObject&&e.vGraphObject.update(e)}else if(t instanceof a){var n=t;null!=n.vGraphObject&&n.vGraphObject.update(n)}else if(t instanceof h){var o=t;null!=o.vGraphObject&&o.vGraphObject.update(o)}},c.prototype.initParameters=function(){this.isSubLayout||(this.layoutQuality=n.QUALITY,this.animationDuringLayout=n.DEFAULT_ANIMATION_DURING_LAYOUT,this.animationPeriod=n.DEFAULT_ANIMATION_PERIOD,this.animationOnLayout=n.DEFAULT_ANIMATION_ON_LAYOUT,this.incremental=n.DEFAULT_INCREMENTAL,this.createBendsAsNeeded=n.DEFAULT_CREATE_BENDS_AS_NEEDED,this.uniformLeafNodeSizes=n.DEFAULT_UNIFORM_LEAF_NODE_SIZES),this.animationDuringLayout&&(this.animationOnLayout=!1)},c.prototype.transform=function(t){if(void 0==t)this.transform(new l(0,0));else{var e=new g,i=this.graphManager.getRoot().updateLeftTop();if(null!=i){e.setWorldOrgX(t.x),e.setWorldOrgY(t.y),e.setDeviceOrgX(i.x),e.setDeviceOrgY(i.y);for(var r=this.getAllNodes(),n=0;n<r.length;n++)r[n].transform(e)}}},c.prototype.positionNodesRandomly=function(t){if(void 0==t)this.positionNodesRandomly(this.getGraphManager().getRoot()),this.getGraphManager().getRoot().updateBounds(!0);else for(var e,i,r=t.getNodes(),n=0;n<r.length;n++)null==(i=(e=r[n]).getChild())||0==i.getNodes().length?e.scatter():(this.positionNodesRandomly(i),e.updateBounds())},c.prototype.getFlatForest=function(){for(var t=[],e=!0,i=this.graphManager.getRoot().getNodes(),n=!0,o=0;o<i.length;o++)null!=i[o].getChild()&&(n=!1);if(!n)return t;var s=new Set,a=[],h=new Map,l=[];for(l=l.concat(i);l.length>0&&e;){for(a.push(l[0]);a.length>0&&e;){var g=a[0];a.splice(0,1),s.add(g);var u=g.getEdges();for(o=0;o<u.length;o++){var c=u[o].getOtherEnd(g);if(h.get(g)!=c){if(s.has(c)){e=!1;break}a.push(c),h.set(c,g)}}}if(e){var d=[].concat(r(s));for(t.push(d),o=0;o<d.length;o++){var p=d[o],f=l.indexOf(p);f>-1&&l.splice(f,1)}s=new Set,h=new Map}else t=[]}return t},c.prototype.createDummyNodesForBendpoints=function(t){for(var e=[],i=t.source,r=this.graphManager.calcLowestCommonAncestor(t.source,t.target),n=0;n<t.bendpoints.length;n++){var o=this.newNode(null);o.setRect(new Point(0,0),new Dimension(1,1)),r.add(o);var s=this.newEdge(null);this.graphManager.add(s,i,o),e.add(o),i=o}return s=this.newEdge(null),this.graphManager.add(s,i,t.target),this.edgeToDummyNodes.set(t,e),t.isInterGraph()?this.graphManager.remove(t):r.remove(t),e},c.prototype.createBendpointsFromDummyNodes=function(){var t=[];t=t.concat(this.graphManager.getAllEdges()),t=[].concat(r(this.edgeToDummyNodes.keys())).concat(t);for(var e=0;e<t.length;e++){var i=t[e];if(i.bendpoints.length>0){for(var n=this.edgeToDummyNodes.get(i),o=0;o<n.length;o++){var s=n[o],a=new l(s.getCenterX(),s.getCenterY()),h=i.bendpoints.get(o);h.x=a.x,h.y=a.y,s.getOwner().remove(s)}this.graphManager.add(i,i.source,i.target)}}},c.transform=function(t,e,i,r){if(void 0!=i&&void 0!=r){var n=e;return t<=50?n-=(e-e/i)/50*(50-t):n+=(e*r-e)/50*(t-50),n}var o,s;return t<=50?(o=9*e/500,s=e/10):(o=9*e/50,s=-8*e),o*t+s},c.findCenterOfTree=function(t){var e=[];e=e.concat(t);var i=[],r=new Map,n=!1,o=null;1!=e.length&&2!=e.length||(n=!0,o=e[0]);for(var s=0;s<e.length;s++){var a=(g=e[s]).getNeighborsList().size;r.set(g,g.getNeighborsList().size),1==a&&i.push(g)}var h=[];for(h=h.concat(i);!n;){var l=[];for(l=l.concat(h),h=[],s=0;s<e.length;s++){var g=e[s],u=e.indexOf(g);u>=0&&e.splice(u,1),g.getNeighborsList().forEach(function(t){if(i.indexOf(t)<0){var e=r.get(t)-1;1==e&&h.push(t),r.set(t,e)}})}i=i.concat(h),1!=e.length&&2!=e.length||(n=!0,o=e[0])}return o},c.prototype.setGraphManager=function(t){this.graphManager=t},t.exports=c},function(t,e,i){"use strict";function r(){}r.seed=1,r.x=0,r.nextDouble=function(){return r.x=1e4*Math.sin(r.seed++),r.x-Math.floor(r.x)},t.exports=r},function(t,e,i){"use strict";var r=i(4);function n(t,e){this.lworldOrgX=0,this.lworldOrgY=0,this.ldeviceOrgX=0,this.ldeviceOrgY=0,this.lworldExtX=1,this.lworldExtY=1,this.ldeviceExtX=1,this.ldeviceExtY=1}n.prototype.getWorldOrgX=function(){return this.lworldOrgX},n.prototype.setWorldOrgX=function(t){this.lworldOrgX=t},n.prototype.getWorldOrgY=function(){return this.lworldOrgY},n.prototype.setWorldOrgY=function(t){this.lworldOrgY=t},n.prototype.getWorldExtX=function(){return this.lworldExtX},n.prototype.setWorldExtX=function(t){this.lworldExtX=t},n.prototype.getWorldExtY=function(){return this.lworldExtY},n.prototype.setWorldExtY=function(t){this.lworldExtY=t},n.prototype.getDeviceOrgX=function(){return this.ldeviceOrgX},n.prototype.setDeviceOrgX=function(t){this.ldeviceOrgX=t},n.prototype.getDeviceOrgY=function(){return this.ldeviceOrgY},n.prototype.setDeviceOrgY=function(t){this.ldeviceOrgY=t},n.prototype.getDeviceExtX=function(){return this.ldeviceExtX},n.prototype.setDeviceExtX=function(t){this.ldeviceExtX=t},n.prototype.getDeviceExtY=function(){return this.ldeviceExtY},n.prototype.setDeviceExtY=function(t){this.ldeviceExtY=t},n.prototype.transformX=function(t){var e=0,i=this.lworldExtX;return 0!=i&&(e=this.ldeviceOrgX+(t-this.lworldOrgX)*this.ldeviceExtX/i),e},n.prototype.transformY=function(t){var e=0,i=this.lworldExtY;return 0!=i&&(e=this.ldeviceOrgY+(t-this.lworldOrgY)*this.ldeviceExtY/i),e},n.prototype.inverseTransformX=function(t){var e=0,i=this.ldeviceExtX;return 0!=i&&(e=this.lworldOrgX+(t-this.ldeviceOrgX)*this.lworldExtX/i),e},n.prototype.inverseTransformY=function(t){var e=0,i=this.ldeviceExtY;return 0!=i&&(e=this.lworldOrgY+(t-this.ldeviceOrgY)*this.lworldExtY/i),e},n.prototype.inverseTransformPoint=function(t){return new r(this.inverseTransformX(t.x),this.inverseTransformY(t.y))},t.exports=n},function(t,e,i){"use strict";var r=i(15),n=i(7),o=i(0),s=i(8),a=i(9);function h(){r.call(this),this.useSmartIdealEdgeLengthCalculation=n.DEFAULT_USE_SMART_IDEAL_EDGE_LENGTH_CALCULATION,this.idealEdgeLength=n.DEFAULT_EDGE_LENGTH,this.springConstant=n.DEFAULT_SPRING_STRENGTH,this.repulsionConstant=n.DEFAULT_REPULSION_STRENGTH,this.gravityConstant=n.DEFAULT_GRAVITY_STRENGTH,this.compoundGravityConstant=n.DEFAULT_COMPOUND_GRAVITY_STRENGTH,this.gravityRangeFactor=n.DEFAULT_GRAVITY_RANGE_FACTOR,this.compoundGravityRangeFactor=n.DEFAULT_COMPOUND_GRAVITY_RANGE_FACTOR,this.displacementThresholdPerNode=3*n.DEFAULT_EDGE_LENGTH/100,this.coolingFactor=n.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.initialCoolingFactor=n.DEFAULT_COOLING_FACTOR_INCREMENTAL,this.totalDisplacement=0,this.oldTotalDisplacement=0,this.maxIterations=n.MAX_ITERATIONS}for(var l in h.prototype=Object.create(r.prototype),r)h[l]=r[l];h.prototype.initParameters=function(){r.prototype.initParameters.call(this,arguments),this.totalIterations=0,this.notAnimatedIterations=0,this.useFRGridVariant=n.DEFAULT_USE_SMART_REPULSION_RANGE_CALCULATION,this.grid=[]},h.prototype.calcIdealEdgeLengths=function(){for(var t,e,i,r,s,a,h=this.getGraphManager().getAllEdges(),l=0;l<h.length;l++)(t=h[l]).idealLength=this.idealEdgeLength,t.isInterGraph&&(i=t.getSource(),r=t.getTarget(),s=t.getSourceInLca().getEstimatedSize(),a=t.getTargetInLca().getEstimatedSize(),this.useSmartIdealEdgeLengthCalculation&&(t.idealLength+=s+a-2*o.SIMPLE_NODE_SIZE),e=t.getLca().getInclusionTreeDepth(),t.idealLength+=n.DEFAULT_EDGE_LENGTH*n.PER_LEVEL_IDEAL_EDGE_LENGTH_FACTOR*(i.getInclusionTreeDepth()+r.getInclusionTreeDepth()-2*e))},h.prototype.initSpringEmbedder=function(){var t=this.getAllNodes().length;this.incremental?(t>n.ADAPTATION_LOWER_NODE_LIMIT&&(this.coolingFactor=Math.max(this.coolingFactor*n.COOLING_ADAPTATION_FACTOR,this.coolingFactor-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*this.coolingFactor*(1-n.COOLING_ADAPTATION_FACTOR))),this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT_INCREMENTAL):(t>n.ADAPTATION_LOWER_NODE_LIMIT?this.coolingFactor=Math.max(n.COOLING_ADAPTATION_FACTOR,1-(t-n.ADAPTATION_LOWER_NODE_LIMIT)/(n.ADAPTATION_UPPER_NODE_LIMIT-n.ADAPTATION_LOWER_NODE_LIMIT)*(1-n.COOLING_ADAPTATION_FACTOR)):this.coolingFactor=1,this.initialCoolingFactor=this.coolingFactor,this.maxNodeDisplacement=n.MAX_NODE_DISPLACEMENT),this.maxIterations=Math.max(5*this.getAllNodes().length,this.maxIterations),this.totalDisplacementThreshold=this.displacementThresholdPerNode*this.getAllNodes().length,this.repulsionRange=this.calcRepulsionRange()},h.prototype.calcSpringForces=function(){for(var t,e=this.getAllEdges(),i=0;i<e.length;i++)t=e[i],this.calcSpringForce(t,t.idealLength)},h.prototype.calcRepulsionForces=function(){var t,e,i,r,o,s=!(arguments.length>0&&void 0!==arguments[0])||arguments[0],a=arguments.length>1&&void 0!==arguments[1]&&arguments[1],h=this.getAllNodes();if(this.useFRGridVariant)for(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&s&&this.updateGrid(),o=new Set,t=0;t<h.length;t++)i=h[t],this.calculateRepulsionForceOfANode(i,o,s,a),o.add(i);else for(t=0;t<h.length;t++)for(i=h[t],e=t+1;e<h.length;e++)r=h[e],i.getOwner()==r.getOwner()&&this.calcRepulsionForce(i,r)},h.prototype.calcGravitationalForces=function(){for(var t,e=this.getAllNodesToApplyGravitation(),i=0;i<e.length;i++)t=e[i],this.calcGravitationalForce(t)},h.prototype.moveNodes=function(){for(var t=this.getAllNodes(),e=0;e<t.length;e++)t[e].move()},h.prototype.calcSpringForce=function(t,e){var i,r,n,o,s=t.getSource(),a=t.getTarget();if(this.uniformLeafNodeSizes&&null==s.getChild()&&null==a.getChild())t.updateLengthSimple();else if(t.updateLength(),t.isOverlapingSourceAndTarget)return;0!=(i=t.getLength())&&(n=(r=this.springConstant*(i-e))*(t.lengthX/i),o=r*(t.lengthY/i),s.springForceX+=n,s.springForceY+=o,a.springForceX-=n,a.springForceY-=o)},h.prototype.calcRepulsionForce=function(t,e){var i,r,o,h,l,g,u,c=t.getRect(),d=e.getRect(),p=new Array(2),f=new Array(4);if(c.intersects(d)){s.calcSeparationAmount(c,d,p,n.DEFAULT_EDGE_LENGTH/2),g=2*p[0],u=2*p[1];var y=t.noOfChildren*e.noOfChildren/(t.noOfChildren+e.noOfChildren);t.repulsionForceX-=y*g,t.repulsionForceY-=y*u,e.repulsionForceX+=y*g,e.repulsionForceY+=y*u}else this.uniformLeafNodeSizes&&null==t.getChild()&&null==e.getChild()?(i=d.getCenterX()-c.getCenterX(),r=d.getCenterY()-c.getCenterY()):(s.getIntersection(c,d,f),i=f[2]-f[0],r=f[3]-f[1]),Math.abs(i)<n.MIN_REPULSION_DIST&&(i=a.sign(i)*n.MIN_REPULSION_DIST),Math.abs(r)<n.MIN_REPULSION_DIST&&(r=a.sign(r)*n.MIN_REPULSION_DIST),o=i*i+r*r,h=Math.sqrt(o),g=(l=this.repulsionConstant*t.noOfChildren*e.noOfChildren/o)*i/h,u=l*r/h,t.repulsionForceX-=g,t.repulsionForceY-=u,e.repulsionForceX+=g,e.repulsionForceY+=u},h.prototype.calcGravitationalForce=function(t){var e,i,r,n,o,s,a,h;i=((e=t.getOwner()).getRight()+e.getLeft())/2,r=(e.getTop()+e.getBottom())/2,n=t.getCenterX()-i,o=t.getCenterY()-r,s=Math.abs(n)+t.getWidth()/2,a=Math.abs(o)+t.getHeight()/2,t.getOwner()==this.graphManager.getRoot()?(s>(h=e.getEstimatedSize()*this.gravityRangeFactor)||a>h)&&(t.gravitationForceX=-this.gravityConstant*n,t.gravitationForceY=-this.gravityConstant*o):(s>(h=e.getEstimatedSize()*this.compoundGravityRangeFactor)||a>h)&&(t.gravitationForceX=-this.gravityConstant*n*this.compoundGravityConstant,t.gravitationForceY=-this.gravityConstant*o*this.compoundGravityConstant)},h.prototype.isConverged=function(){var t,e=!1;return this.totalIterations>this.maxIterations/3&&(e=Math.abs(this.totalDisplacement-this.oldTotalDisplacement)<2),t=this.totalDisplacement<this.totalDisplacementThreshold,this.oldTotalDisplacement=this.totalDisplacement,t||e},h.prototype.animate=function(){this.animationDuringLayout&&!this.isSubLayout&&(this.notAnimatedIterations==this.animationPeriod?(this.update(),this.notAnimatedIterations=0):this.notAnimatedIterations++)},h.prototype.calcNoOfChildrenForAllNodes=function(){for(var t,e=this.graphManager.getAllNodes(),i=0;i<e.length;i++)(t=e[i]).noOfChildren=t.getNoOfChildren()},h.prototype.calcGrid=function(t){var e,i;e=parseInt(Math.ceil((t.getRight()-t.getLeft())/this.repulsionRange)),i=parseInt(Math.ceil((t.getBottom()-t.getTop())/this.repulsionRange));for(var r=new Array(e),n=0;n<e;n++)r[n]=new Array(i);for(n=0;n<e;n++)for(var o=0;o<i;o++)r[n][o]=new Array;return r},h.prototype.addNodeToGrid=function(t,e,i){var r,n,o,s;r=parseInt(Math.floor((t.getRect().x-e)/this.repulsionRange)),n=parseInt(Math.floor((t.getRect().width+t.getRect().x-e)/this.repulsionRange)),o=parseInt(Math.floor((t.getRect().y-i)/this.repulsionRange)),s=parseInt(Math.floor((t.getRect().height+t.getRect().y-i)/this.repulsionRange));for(var a=r;a<=n;a++)for(var h=o;h<=s;h++)this.grid[a][h].push(t),t.setGridCoordinates(r,n,o,s)},h.prototype.updateGrid=function(){var t,e,i=this.getAllNodes();for(this.grid=this.calcGrid(this.graphManager.getRoot()),t=0;t<i.length;t++)e=i[t],this.addNodeToGrid(e,this.graphManager.getRoot().getLeft(),this.graphManager.getRoot().getTop())},h.prototype.calculateRepulsionForceOfANode=function(t,e,i,r){if(this.totalIterations%n.GRID_CALCULATION_CHECK_PERIOD==1&&i||r){var o,s=new Set;t.surrounding=new Array;for(var a=this.grid,h=t.startX-1;h<t.finishX+2;h++)for(var l=t.startY-1;l<t.finishY+2;l++)if(!(h<0||l<0||h>=a.length||l>=a[0].length))for(var g=0;g<a[h][l].length;g++)if(o=a[h][l][g],t.getOwner()==o.getOwner()&&t!=o&&!e.has(o)&&!s.has(o)){var u=Math.abs(t.getCenterX()-o.getCenterX())-(t.getWidth()/2+o.getWidth()/2),c=Math.abs(t.getCenterY()-o.getCenterY())-(t.getHeight()/2+o.getHeight()/2);u<=this.repulsionRange&&c<=this.repulsionRange&&s.add(o)}t.surrounding=[].concat(function(t){if(Array.isArray(t)){for(var e=0,i=Array(t.length);e<t.length;e++)i[e]=t[e];return i}return Array.from(t)}(s))}for(h=0;h<t.surrounding.length;h++)this.calcRepulsionForce(t,t.surrounding[h])},h.prototype.calcRepulsionRange=function(){return 0},t.exports=h},function(t,e,i){"use strict";var r=i(1),n=i(7);function o(t,e,i){r.call(this,t,e,i),this.idealLength=n.DEFAULT_EDGE_LENGTH}for(var s in o.prototype=Object.create(r.prototype),r)o[s]=r[s];t.exports=o},function(t,e,i){"use strict";var r=i(3);function n(t,e,i,n){r.call(this,t,e,i,n),this.springForceX=0,this.springForceY=0,this.repulsionForceX=0,this.repulsionForceY=0,this.gravitationForceX=0,this.gravitationForceY=0,this.displacementX=0,this.displacementY=0,this.startX=0,this.finishX=0,this.startY=0,this.finishY=0,this.surrounding=[]}for(var o in n.prototype=Object.create(r.prototype),r)n[o]=r[o];n.prototype.setGridCoordinates=function(t,e,i,r){this.startX=t,this.finishX=e,this.startY=i,this.finishY=r},t.exports=n},function(t,e,i){"use strict";function r(t,e){this.width=0,this.height=0,null!==t&&null!==e&&(this.height=e,this.width=t)}r.prototype.getWidth=function(){return this.width},r.prototype.setWidth=function(t){this.width=t},r.prototype.getHeight=function(){return this.height},r.prototype.setHeight=function(t){this.height=t},t.exports=r},function(t,e,i){"use strict";var r=i(14);function n(){this.map={},this.keys=[]}n.prototype.put=function(t,e){var i=r.createID(t);this.contains(i)||(this.map[i]=e,this.keys.push(t))},n.prototype.contains=function(t){return r.createID(t),null!=this.map[t]},n.prototype.get=function(t){var e=r.createID(t);return this.map[e]},n.prototype.keySet=function(){return this.keys},t.exports=n},function(t,e,i){"use strict";var r=i(14);function n(){this.set={}}n.prototype.add=function(t){var e=r.createID(t);this.contains(e)||(this.set[e]=t)},n.prototype.remove=function(t){delete this.set[r.createID(t)]},n.prototype.clear=function(){this.set={}},n.prototype.contains=function(t){return this.set[r.createID(t)]==t},n.prototype.isEmpty=function(){return 0===this.size()},n.prototype.size=function(){return Object.keys(this.set).length},n.prototype.addAllTo=function(t){for(var e=Object.keys(this.set),i=e.length,r=0;r<i;r++)t.push(this.set[e[r]])},n.prototype.size=function(){return Object.keys(this.set).length},n.prototype.addAll=function(t){for(var e=t.length,i=0;i<e;i++){var r=t[i];this.add(r)}},t.exports=n},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=i(11),o=function(){function t(e,i){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),null===i&&void 0===i||(this.compareFunction=this._defaultCompareFunction);var r=void 0;r=e instanceof n?e.size():e.length,this._quicksort(e,0,r-1)}return r(t,[{key:"_quicksort",value:function(t,e,i){if(e<i){var r=this._partition(t,e,i);this._quicksort(t,e,r),this._quicksort(t,r+1,i)}}},{key:"_partition",value:function(t,e,i){for(var r=this._get(t,e),n=e,o=i;;){for(;this.compareFunction(r,this._get(t,o));)o--;for(;this.compareFunction(this._get(t,n),r);)n++;if(!(n<o))return o;this._swap(t,n,o),n++,o--}}},{key:"_get",value:function(t,e){return t instanceof n?t.get_object_at(e):t[e]}},{key:"_set",value:function(t,e,i){t instanceof n?t.set_object_at(e,i):t[e]=i}},{key:"_swap",value:function(t,e,i){var r=this._get(t,e);this._set(t,e,this._get(t,i)),this._set(t,i,r)}},{key:"_defaultCompareFunction",value:function(t,e){return e>t}}]),t}();t.exports=o},function(t,e,i){"use strict";var r=function(){function t(t,e){for(var i=0;i<e.length;i++){var r=e[i];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(t,r.key,r)}}return function(e,i,r){return i&&t(e.prototype,i),r&&t(e,r),e}}(),n=function(){function t(e,i){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:1,n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1,o=arguments.length>4&&void 0!==arguments[4]?arguments[4]:-1;!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.sequence1=e,this.sequence2=i,this.match_score=r,this.mismatch_penalty=n,this.gap_penalty=o,this.iMax=e.length+1,this.jMax=i.length+1,this.grid=new Array(this.iMax);for(var s=0;s<this.iMax;s++){this.grid[s]=new Array(this.jMax);for(var a=0;a<this.jMax;a++)this.grid[s][a]=0}this.tracebackGrid=new Array(this.iMax);for(var h=0;h<this.iMax;h++){this.tracebackGrid[h]=new Array(this.jMax);for(var l=0;l<this.jMax;l++)this.tracebackGrid[h][l]=[null,null,null]}this.alignments=[],this.score=-1,this.computeGrids()}return r(t,[{key:"getScore",value:function(){return this.score}},{key:"getAlignments",value:function(){return this.alignments}},{key:"computeGrids",value:function(){for(var t=1;t<this.jMax;t++)this.grid[0][t]=this.grid[0][t-1]+this.gap_penalty,this.tracebackGrid[0][t]=[!1,!1,!0];for(var e=1;e<this.iMax;e++)this.grid[e][0]=this.grid[e-1][0]+this.gap_penalty,this.tracebackGrid[e][0]=[!1,!0,!1];for(var i=1;i<this.iMax;i++)for(var r=1;r<this.jMax;r++){var n=[this.sequence1[i-1]===this.sequence2[r-1]?this.grid[i-1][r-1]+this.match_score:this.grid[i-1][r-1]+this.mismatch_penalty,this.grid[i-1][r]+this.gap_penalty,this.grid[i][r-1]+this.gap_penalty],o=this.arrayAllMaxIndexes(n);this.grid[i][r]=n[o[0]],this.tracebackGrid[i][r]=[o.includes(0),o.includes(1),o.includes(2)]}this.score=this.grid[this.iMax-1][this.jMax-1]}},{key:"alignmentTraceback",value:function(){var t=[];for(t.push({pos:[this.sequence1.length,this.sequence2.length],seq1:"",seq2:""});t[0];){var e=t[0],i=this.tracebackGrid[e.pos[0]][e.pos[1]];i[0]&&t.push({pos:[e.pos[0]-1,e.pos[1]-1],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),i[1]&&t.push({pos:[e.pos[0]-1,e.pos[1]],seq1:this.sequence1[e.pos[0]-1]+e.seq1,seq2:"-"+e.seq2}),i[2]&&t.push({pos:[e.pos[0],e.pos[1]-1],seq1:"-"+e.seq1,seq2:this.sequence2[e.pos[1]-1]+e.seq2}),0===e.pos[0]&&0===e.pos[1]&&this.alignments.push({sequence1:e.seq1,sequence2:e.seq2}),t.shift()}return this.alignments}},{key:"getAllIndexes",value:function(t,e){for(var i=[],r=-1;-1!==(r=t.indexOf(e,r+1));)i.push(r);return i}},{key:"arrayAllMaxIndexes",value:function(t){return this.getAllIndexes(t,Math.max.apply(null,t))}}]),t}();t.exports=n},function(t,e,i){"use strict";var r=function(){};r.FDLayout=i(18),r.FDLayoutConstants=i(7),r.FDLayoutEdge=i(19),r.FDLayoutNode=i(20),r.DimensionD=i(21),r.HashMap=i(22),r.HashSet=i(23),r.IGeometry=i(8),r.IMath=i(9),r.Integer=i(10),r.Point=i(12),r.PointD=i(4),r.RandomSeed=i(16),r.RectangleD=i(13),r.Transform=i(17),r.UniqueIDGeneretor=i(14),r.Quicksort=i(24),r.LinkedList=i(11),r.LGraphObject=i(2),r.LGraph=i(5),r.LEdge=i(1),r.LGraphManager=i(6),r.LNode=i(3),r.Layout=i(15),r.LayoutConstants=i(0),r.NeedlemanWunsch=i(25),t.exports=r},function(t,e,i){"use strict";function r(){this.listeners=[]}var n=r.prototype;n.addListener=function(t,e){this.listeners.push({event:t,callback:e})},n.removeListener=function(t,e){for(var i=this.listeners.length;i>=0;i--){var r=this.listeners[i];r.event===t&&r.callback===e&&this.listeners.splice(i,1)}},n.emit=function(t,e){for(var i=0;i<this.listeners.length;i++){var r=this.listeners[i];t===r.event&&r.callback(e)}},t.exports=r}])},t.exports=e()}}]);
2
+ //# sourceMappingURL=195.14e9ef37.chunk.js.map
build/static/js/195.14e9ef37.chunk.js.map ADDED
The diff for this file is too large to render. See raw diff
 
build/static/js/249.88b3b485.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[249],{88630(t,i,e){e.d(i,{diagram:()=>gt});var s,n,a,o,h,r,l,c,g,u,x=e(57903),d=e(63614),p=e(84571),f=e(45420),y=e(32748),m=e(68973),b=function(){var t=(0,y.K2)(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],o=[1,7],h=[1,5,10,12,14,16,18,19,21,23,34,35,36],r=[1,25],l=[1,26],c=[1,28],g=[1,29],u=[1,30],x=[1,31],d=[1,32],p=[1,33],f=[1,34],m=[1,35],b=[1,36],A=[1,37],w=[1,43],C=[1,42],S=[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],D=[1,64],L={trace:(0,y.K2)(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,y.K2)(function(t,i,e,s,n,a,o){var h=a.length-1;switch(n){case 5:s.setOrientation(a[h]);break;case 9:s.setDiagramTitle(a[h].text.trim());break;case 12:s.setLineData({text:"",type:"text"},a[h]);break;case 13:s.setLineData(a[h-1],a[h]);break;case 14:s.setBarData({text:"",type:"text"},a[h]);break;case 15:s.setBarData(a[h-1],a[h]);break;case 16:this.$=a[h].trim(),s.setAccTitle(this.$);break;case 17:case 18:this.$=a[h].trim(),s.setAccDescription(this.$);break;case 19:case 27:this.$=a[h-1];break;case 20:this.$=[Number(a[h-2]),...a[h]];break;case 21:this.$=[Number(a[h])];break;case 22:s.setXAxisTitle(a[h]);break;case 23:s.setXAxisTitle(a[h-1]);break;case 24:s.setXAxisTitle({type:"text",text:""});break;case 25:s.setXAxisBand(a[h]);break;case 26:s.setXAxisRangeData(Number(a[h-2]),Number(a[h]));break;case 28:this.$=[a[h-2],...a[h]];break;case 29:this.$=[a[h]];break;case 30:s.setYAxisTitle(a[h]);break;case 31:s.setYAxisTitle(a[h-1]);break;case 32:s.setYAxisTitle({type:"text",text:""});break;case 33:s.setYAxisRangeData(Number(a[h-2]),Number(a[h]));break;case 37:case 38:this.$={text:a[h],type:"text"};break;case 39:this.$={text:a[h],type:"markdown"};break;case 40:this.$=a[h];break;case 41:this.$=a[h-1]+""+a[h]}},"anonymous"),table:[t(i,e,{3:1,4:2,7:4,5:s,34:n,35:a,36:o}),{1:[3]},t(i,e,{4:2,7:4,3:8,5:s,34:n,35:a,36:o}),t(i,e,{4:2,7:4,6:9,3:10,5:s,8:[1,11],34:n,35:a,36:o}),{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(h,[2,34]),t(h,[2,35]),t(h,[2,36]),{1:[2,1]},t(i,e,{4:2,7:4,3:21,5:s,34:n,35:a,36:o}),{1:[2,3]},t(h,[2,5]),t(i,[2,7],{4:22,34:n,35:a,36:o}),{11:23,37:24,38:r,39:l,40:27,41:c,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:b,50:A},{11:39,13:38,24:w,27:C,29:40,30:41,37:24,38:r,39:l,40:27,41:c,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:b,50:A},{11:45,15:44,27:S,33:46,37:24,38:r,39:l,40:27,41:c,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:b,50:A},{11:49,17:48,24:k,37:24,38:r,39:l,40:27,41:c,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:b,50:A},{11:52,17:51,24:k,37:24,38:r,39:l,40:27,41:c,42:g,43:u,44:x,45:d,46:p,47:f,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:c,42:g,43:u,44:x,45:d,46:p,47:f,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:w,27:C}),t(_,[2,24]),t(_,[2,25]),{31:[1,57]},{11:59,32:58,37:24,38:r,39:l,40:27,41:c,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:b,50:A},t(_,[2,11]),t(_,[2,30],{33:60,27:S}),t(_,[2,32]),{31:[1,61]},t(_,[2,12]),{17:62,24:k},{25:63,27:D},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:r,39:l,40:27,41:c,42:g,43:u,44:x,45:d,46:p,47:f,48:m,49:b,50:A},t(_,[2,33]),t(_,[2,19]),{25:73,27:D},{26:[2,28]},{26:[2,20]}],defaultActions:{8:[2,1],10:[2,3],21:[2,2],72:[2,28],73:[2,20]},parseError:(0,y.K2)(function(t,i){if(!i.recoverable){var e=new Error(t);throw e.hash=i,e}this.trace(t)},"parseError"),parse:(0,y.K2)(function(t){var i=this,e=[0],s=[],n=[null],a=[],o=this.table,h="",r=0,l=0,c=0,g=a.slice.call(arguments,1),u=Object.create(this.lexer),x={yy:{}};for(var d in this.yy)Object.prototype.hasOwnProperty.call(this.yy,d)&&(x.yy[d]=this.yy[d]);u.setInput(t,x.yy),x.yy.lexer=u,x.yy.parser=this,"undefined"==typeof u.yylloc&&(u.yylloc={});var p=u.yylloc;a.push(p);var f=u.options&&u.options.ranges;function m(){var t;return"number"!==typeof(t=s.pop()||u.lex()||1)&&(t instanceof Array&&(t=(s=t).pop()),t=i.symbols_[t]||t),t}"function"===typeof x.yy.parseError?this.parseError=x.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,y.K2)(function(t){e.length=e.length-2*t,n.length=n.length-t,a.length=a.length-t},"popStack"),(0,y.K2)(m,"lex");for(var b,A,w,C,S,k,_,T,R,D={};;){if(w=e[e.length-1],this.defaultActions[w]?C=this.defaultActions[w]:(null!==b&&"undefined"!=typeof b||(b=m()),C=o[w]&&o[w][b]),"undefined"===typeof C||!C.length||!C[0]){var L="";for(k in R=[],o[w])this.terminals_[k]&&k>2&&R.push("'"+this.terminals_[k]+"'");L=u.showPosition?"Parse error on line "+(r+1)+":\n"+u.showPosition()+"\nExpecting "+R.join(", ")+", got '"+(this.terminals_[b]||b)+"'":"Parse error on line "+(r+1)+": Unexpected "+(1==b?"end of input":"'"+(this.terminals_[b]||b)+"'"),this.parseError(L,{text:u.match,token:this.terminals_[b]||b,line:u.yylineno,loc:p,expected:R})}if(C[0]instanceof Array&&C.length>1)throw new Error("Parse Error: multiple actions possible at state: "+w+", token: "+b);switch(C[0]){case 1:e.push(b),n.push(u.yytext),a.push(u.yylloc),e.push(C[1]),b=null,A?(b=A,A=null):(l=u.yyleng,h=u.yytext,r=u.yylineno,p=u.yylloc,c>0&&c--);break;case 2:if(_=this.productions_[C[1]][1],D.$=n[n.length-_],D._$={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},f&&(D._$.range=[a[a.length-(_||1)].range[0],a[a.length-1].range[1]]),"undefined"!==typeof(S=this.performAction.apply(D,[h,l,r,x.yy,C[1],n,a].concat(g))))return S;_&&(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(D.$),a.push(D._$),T=o[e[e.length-2]][e[e.length-1]],e.push(T);break;case 3:return!0}}return!0},"parse")},P=function(){return{EOF:1,parseError:(0,y.K2)(function(t,i){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,i)},"parseError"),setInput:(0,y.K2)(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,y.K2)(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,y.K2)(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,y.K2)(function(){return this._more=!0,this},"more"),reject:(0,y.K2)(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,y.K2)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,y.K2)(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,y.K2)(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,y.K2)(function(){var t=this.pastInput(),i=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+i+"^"},"showPosition"),test_match:(0,y.K2)(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}return!1},"test_match"),next:(0,y.K2)(function(){if(this.done)return this.EOF;var t,i,e,s;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),a=0;a<n.length;a++)if((e=this._input.match(this.rules[n[a]]))&&(!i||e[0].length>i[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){i=!1;continue}return!1}if(!this.options.flex)break}return i?!1!==(t=this.test_match(i,n[s]))&&t:""===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,y.K2)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,y.K2)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,y.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,y.K2)(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,y.K2)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,y.K2)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,y.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,y.K2)(function(t,i,e,s){switch(e){case 0:case 1:case 5:case 44: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 26:case 28:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:case 15:return 5;case 16:return 8;case 17:return this.pushState("axis_data"),"X_AXIS";case 18:return this.pushState("axis_data"),"Y_AXIS";case 19:return this.pushState("axis_band_data"),24;case 20:return 31;case 21:return this.pushState("data"),16;case 22:return this.pushState("data"),18;case 23:return this.pushState("data_inner"),24;case 24:return 27;case 25:return this.popState(),26;case 27:this.pushState("string");break;case 29:return"STR";case 30:return 24;case 31:return 26;case 32:return 43;case 33:return"COLON";case 34:return 44;case 35:return 28;case 36:return 45;case 37:return 46;case 38:return 48;case 39:return 50;case 40:return 47;case 41:return 41;case 42:return 49;case 43:return 42;case 45:return 35;case 46: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,/^(?:xychart\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<md_string>\(\?:\(\?!`"\)\.\)\+ \{ return MD_STR; \}\n<md_string>\(\?:`))/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,18,21,22,24,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},data:{rules:[0,1,3,4,5,6,7,9,11,14,15,16,17,18,21,22,23,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_band_data:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,25,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0},axis_data:{rules:[0,1,2,4,5,6,7,9,11,14,15,16,17,18,19,20,21,22,24,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],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:[28,29],inclusive:!1},INITIAL:{rules:[0,1,4,5,6,7,9,11,14,15,16,17,18,21,22,26,27,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46],inclusive:!0}}}}();function E(){this.yy={}}return L.lexer=P,(0,y.K2)(E,"Parser"),E.prototype=L,L.Parser=E,new E}();b.parser=b;var A=b;function w(t){return"bar"===t.type}function C(t){return"band"===t.type}function S(t){return"linear"===t.type}(0,y.K2)(w,"isBarPlot"),(0,y.K2)(C,"isBandAxisData"),(0,y.K2)(S,"isLinearAxisData");var k=(s=class{constructor(t){this.parentGroup=t}getMaxDimension(t,i){if(!this.parentGroup)return{width:t.reduce((t,i)=>Math.max(i.length,t),0)*i,height:i};const e={width:0,height:0},s=this.parentGroup.append("g").attr("visibility","hidden").attr("font-size",i);for(const n of t){const t=(0,d.W6)(s,1,n),a=t?t.width:n.length*i,o=t?t.height:i;e.width=Math.max(e.width,a),e.height=Math.max(e.height,o)}return s.remove(),e}},(0,y.K2)(s,"TextDimensionCalculatorWithFont"),s),_=(n=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"}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(){const 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){const e=this.getLabelDimension(),s=.2*t.width;this.outerPadding=Math.min(e.width/2,s);const 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){const 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){const e=this.getLabelDimension(),s=.2*t.height;this.outerPadding=Math.min(e.height/2,s);const 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){const 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(){const t=[];if(this.showAxisLine){const i=this.boundingRect.x+this.boundingRect.width-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["left-axis","axisl-line"],data:[{path:"M ".concat(i,",").concat(this.boundingRect.y," L ").concat(i,",").concat(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){const 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 ".concat(i,",").concat(this.getScaleValue(t)," L ").concat(i-this.axisConfig.tickLength,",").concat(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(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["bottom-axis","axis-line"],data:[{path:"M ".concat(this.boundingRect.x,",").concat(i," L ").concat(this.boundingRect.x+this.boundingRect.width,",").concat(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){const 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 ".concat(this.getScaleValue(t),",").concat(i," L ").concat(this.getScaleValue(t),",").concat(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(){const t=[];if(this.showAxisLine){const i=this.boundingRect.y+this.boundingRect.height-this.axisConfig.axisLineWidth/2;t.push({type:"path",groupTexts:["top-axis","axis-line"],data:[{path:"M ".concat(this.boundingRect.x,",").concat(i," L ").concat(this.boundingRect.x+this.boundingRect.width,",").concat(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){const i=this.boundingRect.y;t.push({type:"path",groupTexts:["top-axis","ticks"],data:this.getTickValues().map(t=>({path:"M ".concat(this.getScaleValue(t),",").concat(i+this.boundingRect.height-(this.showAxisLine?this.axisConfig.axisLineWidth:0)," L ").concat(this.getScaleValue(t),",").concat(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():[]}},(0,y.K2)(n,"BaseAxis"),n),T=(a=class extends _{constructor(t,i,e,s,n){super(t,s,n,i),this.categories=e,this.scale=(0,m.WH)().domain(this.categories).range(this.getRange())}setRange(t){super.setRange(t)}recalculateScale(){this.scale=(0,m.WH)().domain(this.categories).range(this.getRange()).paddingInner(1).paddingOuter(0).align(.5),y.Rm.trace("BandAxis axis final categories, range: ",this.categories,this.getRange())}getTickValues(){return this.categories}getScaleValue(t){var i;return null!==(i=this.scale(t))&&void 0!==i?i:this.getRange()[0]}},(0,y.K2)(a,"BandAxis"),a),R=(o=class extends _{constructor(t,i,e,s,n){super(t,s,n,i),this.domain=e,this.scale=(0,m.m4Y)().domain(this.domain).range(this.getRange())}getTickValues(){return this.scale.ticks()}recalculateScale(){const t=[...this.domain];"left"===this.axisPosition&&t.reverse(),this.scale=(0,m.m4Y)().domain(t).range(this.getRange())}getScaleValue(t){return this.scale(t)}},(0,y.K2)(o,"LinearAxis"),o);function D(t,i,e,s){const n=new k(s);return C(t)?new T(i,e,t.categories,t.title,n):new R(i,e,[t.min,t.max],t.title,n)}(0,y.K2)(D,"getAxis");var L=(h=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}setBoundingBoxXY(t){this.boundingRect.x=t.x,this.boundingRect.y=t.y}calculateSpace(t){const 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(){const 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}},(0,y.K2)(h,"ChartTitle"),h);function P(t,i,e,s){const n=new k(s);return new L(n,t,i,e)}(0,y.K2)(P,"getChartTitleComponent");var E=(r=class{constructor(t,i,e,s,n){this.plotData=t,this.xAxis=i,this.yAxis=e,this.orientation=s,this.plotIndex=n}getDrawableElement(){const t=this.plotData.data.map(t=>[this.xAxis.getScaleValue(t[0]),this.yAxis.getScaleValue(t[1])]);let i;return i="horizontal"===this.orientation?(0,m.n8j)().y(t=>t[0]).x(t=>t[1])(t):(0,m.n8j)().x(t=>t[0]).y(t=>t[1])(t),i?[{groupTexts:["plot","line-plot-".concat(this.plotIndex)],type:"path",data:[{path:i,strokeFill:this.plotData.strokeFill,strokeWidth:this.plotData.strokeWidth}]}]:[]}},(0,y.K2)(r,"LinePlot"),r),K=(l=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}getDrawableElement(){const 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-".concat(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-".concat(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}))}]}},(0,y.K2)(l,"BarPlot"),l),v=(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}}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");const t=[];for(const[i,e]of this.chartData.plots.entries())switch(e.type){case"line":{const s=new E(e,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}break;case"bar":{const s=new K(e,this.boundingRect,this.xAxis,this.yAxis,this.chartConfig.chartOrientation,i);t.push(...s.getDrawableElement())}}return t}},(0,y.K2)(c,"BasePlot"),c);function I(t,i,e){return new v(t,i,e)}(0,y.K2)(I,"getPlotComponent");var M,B=(g=class{constructor(t,i,e,s){this.chartConfig=t,this.chartData=i,this.componentStore={title:P(t,i,e,s),plot:I(t,i,e),xAxis:D(i.xAxis,t.xAxis,{titleColor:e.xAxisTitleColor,labelColor:e.xAxisLabelColor,tickColor:e.xAxisTickColor,axisLineColor:e.xAxisLineColor},s),yAxis:D(i.yAxis,t.yAxis,{titleColor:e.yAxisTitleColor,labelColor:e.yAxisLabelColor,tickColor:e.yAxisTickColor,axisLineColor:e.yAxisLineColor},s)}}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),o=this.componentStore.plot.calculateSpace({width:n,height:a});t-=o.width,i-=o.height,o=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),s=o.height,i-=o.height,this.componentStore.xAxis.setAxisPosition("bottom"),o=this.componentStore.xAxis.calculateSpace({width:t,height:i}),i-=o.height,this.componentStore.yAxis.setAxisPosition("left"),o=this.componentStore.yAxis.calculateSpace({width:t,height:i}),e=o.width,t-=o.width,t>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=>w(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),o=Math.floor(i*this.chartConfig.plotReservedSpacePercent/100),h=this.componentStore.plot.calculateSpace({width:a,height:o});t-=h.width,i-=h.height,h=this.componentStore.title.calculateSpace({width:this.chartConfig.width,height:i}),e=h.height,i-=h.height,this.componentStore.xAxis.setAxisPosition("left"),h=this.componentStore.xAxis.calculateSpace({width:t,height:i}),t-=h.width,s=h.width,this.componentStore.yAxis.setAxisPosition("top"),h=this.componentStore.yAxis.calculateSpace({width:t,height:i}),i-=h.height,n=e+h.height,t>0&&(a+=t,t=0),i>0&&(o+=i,i=0),this.componentStore.plot.calculateSpace({width:a,height:o}),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+o]),this.componentStore.xAxis.setBoundingBoxXY({x:0,y:n}),this.chartData.plots.some(t=>w(t))&&this.componentStore.xAxis.recalculateOuterPaddingToDrawBar()}calculateSpace(){"horizontal"===this.chartConfig.chartOrientation?this.calculateHorizontalSpace():this.calculateVerticalSpace()}getDrawableElement(){this.calculateSpace();const t=[];this.componentStore.plot.setAxes(this.componentStore.xAxis,this.componentStore.yAxis);for(const i of Object.values(this.componentStore))t.push(...i.getDrawableElements());return t}},(0,y.K2)(g,"Orchestrator"),g),z=(u=class{static build(t,i,e,s){return new B(t,i,e,s).getDrawableElement()}},(0,y.K2)(u,"XYChartBuilder"),u),W=0,O=H(),F=$(),X=U(),N=F.plotColorPalette.split(",").map(t=>t.trim()),V=!1,Y=!1;function $(){const t=(0,f.P$)(),i=(0,f.zj)();return(0,p.$t)(t.xyChart,i.themeVariables.xyChart)}function H(){const t=(0,f.zj)();return(0,p.$t)(f.UI.xyChart,t.xyChart)}function U(){return{yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]}}function j(t){const i=(0,f.zj)();return(0,f.jZ)(t.trim(),i)}function G(t){M=t}function Q(t){O.chartOrientation="horizontal"===t?"horizontal":"vertical"}function Z(t){X.xAxis.title=j(t.text)}function q(t,i){X.xAxis={type:"linear",title:X.xAxis.title,min:t,max:i},V=!0}function J(t){X.xAxis={type:"band",title:X.xAxis.title,categories:t.map(t=>j(t.text))},V=!0}function tt(t){X.yAxis.title=j(t.text)}function it(t,i){X.yAxis={type:"linear",title:X.yAxis.title,min:t,max:i},Y=!0}function et(t){const i=Math.min(...t),e=Math.max(...t),s=S(X.yAxis)?X.yAxis.min:1/0,n=S(X.yAxis)?X.yAxis.max:-1/0;X.yAxis={type:"linear",title:X.yAxis.title,min:Math.min(s,i),max:Math.max(n,e)}}function st(t){let i=[];if(0===t.length)return i;if(!V){const i=S(X.xAxis)?X.xAxis.min:1/0,e=S(X.xAxis)?X.xAxis.max:-1/0;q(Math.min(i,1),Math.max(e,t.length))}if(Y||et(t),C(X.xAxis)&&(i=X.xAxis.categories.map((i,e)=>[i,t[e]])),S(X.xAxis)){const e=X.xAxis.min,s=X.xAxis.max,n=(s-e)/(t.length-1),a=[];for(let t=e;t<=s;t+=n)a.push("".concat(t));i=a.map((i,e)=>[i,t[e]])}return i}function nt(t){return N[0===t?0:t%N.length]}function at(t,i){const e=st(i);X.plots.push({type:"line",strokeFill:nt(W),strokeWidth:2,data:e}),W++}function ot(t,i){const e=st(i);X.plots.push({type:"bar",fill:nt(W),data:e}),W++}function ht(){if(0===X.plots.length)throw Error("No Plot to render, please provide a plot with some data");return X.title=(0,f.ab)(),z.build(O,X,F,M)}function rt(){return F}function lt(){return O}function ct(){return X}(0,y.K2)($,"getChartDefaultThemeConfig"),(0,y.K2)(H,"getChartDefaultConfig"),(0,y.K2)(U,"getChartDefaultData"),(0,y.K2)(j,"textSanitizer"),(0,y.K2)(G,"setTmpSVGG"),(0,y.K2)(Q,"setOrientation"),(0,y.K2)(Z,"setXAxisTitle"),(0,y.K2)(q,"setXAxisRangeData"),(0,y.K2)(J,"setXAxisBand"),(0,y.K2)(tt,"setYAxisTitle"),(0,y.K2)(it,"setYAxisRangeData"),(0,y.K2)(et,"setYAxisRangeFromPlotData"),(0,y.K2)(st,"transformDataWithoutCategory"),(0,y.K2)(nt,"getPlotColorFromPalette"),(0,y.K2)(at,"setLineData"),(0,y.K2)(ot,"setBarData"),(0,y.K2)(ht,"getDrawableElem"),(0,y.K2)(rt,"getChartThemeConfig"),(0,y.K2)(lt,"getChartConfig"),(0,y.K2)(ct,"getXYChartData");var gt={parser:A,db:{getDrawableElem:ht,clear:(0,y.K2)(function(){(0,f.IU)(),W=0,O=H(),X={yAxis:{type:"linear",title:"",min:1/0,max:-1/0},xAxis:{type:"band",title:"",categories:[]},title:"",plots:[]},F=$(),N=F.plotColorPalette.split(",").map(t=>t.trim()),V=!1,Y=!1},"clear"),setAccTitle:f.SV,getAccTitle:f.iN,setDiagramTitle:f.ke,getDiagramTitle:f.ab,getAccDescription:f.m7,setAccDescription:f.EI,setOrientation:Q,setXAxisTitle:Z,setXAxisRangeData:q,setXAxisBand:J,setYAxisTitle:tt,setYAxisRangeData:it,setLineData:at,setBarData:ot,setTmpSVGG:G,getChartThemeConfig:rt,getChartConfig:lt,getXYChartData:ct},renderer:{draw:(0,y.K2)((t,i,e,s)=>{const n=s.db,a=n.getChartThemeConfig(),o=n.getChartConfig(),h=n.getXYChartData().plots[0].data.map(t=>t[1]);function r(t){return"top"===t?"text-before-edge":"middle"}function l(t){return"left"===t?"start":"right"===t?"end":"middle"}function c(t){return"translate(".concat(t.x,", ").concat(t.y,") rotate(").concat(t.rotation||0,")")}(0,y.K2)(r,"getDominantBaseLine"),(0,y.K2)(l,"getTextAnchor"),(0,y.K2)(c,"getTextTransformation"),y.Rm.debug("Rendering xychart chart\n"+t);const g=(0,x.D)(i),u=g.append("g").attr("class","main"),d=u.append("rect").attr("width",o.width).attr("height",o.height).attr("class","background");(0,f.a$)(g,o.height,o.width,!0),g.attr("viewBox","0 0 ".concat(o.width," ").concat(o.height)),d.attr("fill",a.backgroundColor),n.setTmpSVGG(g.append("g").attr("class","mermaid-tmp-group"));const p=n.getDrawableElem(),m={};function b(t){let i=u,e="";for(const[s]of t.entries()){let n=u;s>0&&m[e]&&(n=m[e]),e+=t[s],i=m[e],i||(i=m[e]=n.append("g").attr("class",t[s]))}return i}(0,y.K2)(b,"getGroup");for(const x of p){if(0===x.data.length)continue;const t=b(x.groupTexts);switch(x.type){case"rect":if(t.selectAll("rect").data(x.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),o.showDataLabel){const i=o.showDataLabelOutsideBar;if("horizontal"===o.chartOrientation){let e=function(t,i){const{data:e,label:a}=t;return i*a.length*s<=e.width-n};(0,y.K2)(e,"fitsHorizontally");const s=.7,n=10,o=x.data.map((t,i)=>({data:t,label:h[i].toString()})).filter(t=>t.data.width>0&&t.data.height>0),r=o.map(t=>{const{data:i}=t;let s=.7*i.height;for(;!e(t,s)&&s>0;)s-=1;return s}),l=Math.floor(Math.min(...r)),c=(0,y.K2)(t=>i?t.data.x+t.data.width+n:t.data.x+t.data.width-n,"determineLabelXPosition");t.selectAll("text").data(o).enter().append("text").attr("x",c).attr("y",t=>t.data.y+t.data.height/2).attr("text-anchor",i?"start":"end").attr("dominant-baseline","middle").attr("fill",a.dataLabelColor).attr("font-size","".concat(l,"px")).text(t=>t.label)}else{let e=function(t,i,e){const{data:s,label:n}=t,a=i*n.length*.7,o=s.x+s.width/2,h=o+a/2,r=o-a/2>=s.x&&h<=s.x+s.width,l=s.y+e+i<=s.y+s.height;return r&&l};(0,y.K2)(e,"fitsInBar");const s=10,n=x.data.map((t,i)=>({data:t,label:h[i].toString()})).filter(t=>t.data.width>0&&t.data.height>0),o=n.map(t=>{const{data:i,label:n}=t;let a=i.width/(.7*n.length);for(;!e(t,a,s)&&a>0;)a-=1;return a}),r=Math.floor(Math.min(...o)),l=(0,y.K2)(t=>i?t.data.y-s:t.data.y+s,"determineLabelYPosition");t.selectAll("text").data(n).enter().append("text").attr("x",t=>t.data.x+t.data.width/2).attr("y",l).attr("text-anchor","middle").attr("dominant-baseline",i?"auto":"hanging").attr("fill",a.dataLabelColor).attr("font-size","".concat(r,"px")).text(t=>t.label)}}break;case"text":t.selectAll("text").data(x.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=>r(t.verticalPos)).attr("text-anchor",t=>l(t.horizontalPos)).attr("transform",t=>c(t)).text(t=>t.text);break;case"path":t.selectAll("path").data(x.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")}}}}]);
2
+ //# sourceMappingURL=249.88b3b485.chunk.js.map
build/static/js/249.88b3b485.chunk.js.map ADDED
The diff for this file is too large to render. See raw diff
 
build/static/js/25.1c0704f3.chunk.js ADDED
@@ -0,0 +1 @@
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[25],{72025(e,n,r){r.d(n,{createInfoServices:()=>s.v});var s=r(10215);r(67391)}}]);
build/static/js/267.1127f40e.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[267],{7274(t,e,a){function r(t,e){var a,r,o;t.accDescr&&(null===(a=e.setAccDescription)||void 0===a||a.call(e,t.accDescr));t.accTitle&&(null===(r=e.setAccTitle)||void 0===r||r.call(e,t.accTitle));t.title&&(null===(o=e.setDiagramTitle)||void 0===o||o.call(e,t.title))}a.d(e,{S:()=>r}),(0,a(32748).K2)(r,"populateCommonDb")},54267(t,e,a){a.d(e,{diagram:()=>X});var r,o=a(89379),n=a(57903),i=a(7274),l=a(45420),d=a(32748),s=a(55502),c=(0,d.K2)((t,e)=>{const a=t<=1?100*t:t;if(a<0||a>100)throw new Error("".concat(e," must be between 0-1 (decimal) or 0-100 (percentage). Received: ").concat(t));return a},"toPercent"),p=(0,d.K2)((t,e,a)=>({x:c(e,"".concat(a," evolution")),y:c(t,"".concat(a," visibility"))}),"toCoordinates"),h=(0,d.K2)(t=>{if(t)return"+<>"===t?"bidirectional":"+<"===t?"backward":"+>"===t?"forward":void 0},"getFlowFromPort"),x=(0,d.K2)(t=>{if(null===t||void 0===t||!t.startsWith("+"))return{};const e=/^\+'([^']*)'/.exec(t),a=null===e||void 0===e?void 0:e[1];return t.includes("<>")?{flow:"bidirectional",label:a}:t.includes("<")?{flow:"backward",label:a}:t.includes(">")?{flow:"forward",label:a}:{label:a}},"extractFlowFromArrow"),u=(0,d.K2)((t,e)=>{if((0,i.S)(t,e),t.size&&e.setSize(t.size.width,t.size.height),t.evolution){const a=t.evolution.stages.map(t=>t.secondName?"".concat(t.name.trim()," / ").concat(t.secondName.trim()):t.name.trim()),r=t.evolution.stages.filter(t=>void 0!==t.boundary).map(t=>t.boundary);e.updateAxes({stages:a,stageBoundaries:r})}if(t.anchors.forEach(t=>{const a=p(t.visibility,t.evolution,'Anchor "'.concat(t.name,'"'));e.addNode(t.name,t.name,a.x,a.y,"anchor")}),t.components.forEach(t=>{var a;const r=p(t.visibility,t.evolution,'Component "'.concat(t.name,'"')),o=t.label?(t.label.negX?-1:1)*t.label.offsetX:void 0,n=t.label?(t.label.negY?-1:1)*t.label.offsetY:void 0,i=null===(a=t.decorator)||void 0===a?void 0:a.strategy;e.addNode(t.name,t.name,r.x,r.y,"component",o,n,t.inertia,i)}),t.notes.forEach(t=>{const a=p(t.visibility,t.evolution,'Note "'.concat(t.text,'"'));e.addNote(t.text,a.x,a.y)}),t.pipelines.forEach(t=>{const a=e.getNode(t.parent);if(!a||"number"!==typeof a.y)throw new Error('Pipeline "'.concat(t.parent,'" must reference an existing component with coordinates.'));const r=a.y;e.startPipeline(t.parent),t.components.forEach(a=>{const o="".concat(t.parent,"_").concat(a.name),n=a.label?(a.label.negX?-1:1)*a.label.offsetX:void 0,i=a.label?(a.label.negY?-1:1)*a.label.offsetY:void 0,l=c(a.evolution,'Pipeline component "'.concat(a.name,'" evolution'));e.addNode(o,a.name,l,r,"pipeline-component",n,i),e.addPipelineComponent(t.parent,o)})}),t.links.forEach(t=>{var a;const r=!!t.arrow&&(t.arrow.includes("-.->")||t.arrow.includes(".-."));let o=null!==(a=h(t.fromPort))&&void 0!==a?a:h(t.toPort);const{flow:n,label:i}=x(t.arrow);!o&&n&&(o=n);const l=t.linkLabel,d=null!==i&&void 0!==i?i:l;e.addLink(t.from,t.to,r,d,o)}),t.evolves.forEach(t=>{const a=e.getNode(t.component);if(void 0!==(null===a||void 0===a?void 0:a.y)){const r=c(t.target,'Evolve target for "'.concat(t.component,'"'));e.addTrend(t.component,r,a.y)}}),t.annotations.length>0){const a=t.annotations[0],r=p(a.x,a.y,"Annotations box");e.setAnnotationsBox(r.x,r.y)}t.annotation.forEach(t=>{const a=p(t.x,t.y,"Annotation ".concat(t.number));e.addAnnotation(t.number,[{x:a.x,y:a.y}],t.text)}),t.accelerators.forEach(t=>{const a=p(t.x,t.y,'Accelerator "'.concat(t.name,'"'));e.addAccelerator(t.name,a.x,a.y)}),t.deaccelerators.forEach(t=>{const a=p(t.x,t.y,'Deaccelerator "'.concat(t.name,'"'));e.addDeaccelerator(t.name,a.x,a.y)})},"populateDb"),g={parser:{yy:void 0},parse:(0,d.K2)(async t=>{var e;const a=await(0,s.qg)("wardley",t);d.Rm.debug(a);const r=null===(e=g.parser)||void 0===e?void 0:e.yy;if(!r||"function"!==typeof r.addNode)throw new Error("parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");u(a,r)},"parse")},y=new(r=class{constructor(){this.nodes=new Map,this.links=[],this.trends=new Map,this.pipelines=new Map,this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.axes={}}addNode(t){var e,a,r,n;const i=null!==(e=this.nodes.get(t.id))&&void 0!==e?e:{id:t.id,label:t.label},l=(0,o.A)((0,o.A)((0,o.A)({},i),t),{},{className:null!==(a=t.className)&&void 0!==a?a:i.className,labelOffsetX:null!==(r=t.labelOffsetX)&&void 0!==r?r:i.labelOffsetX,labelOffsetY:null!==(n=t.labelOffsetY)&&void 0!==n?n:i.labelOffsetY});this.nodes.set(t.id,l)}addLink(t){this.links.push(t)}addTrend(t){this.trends.set(t.nodeId,t)}startPipeline(t){this.pipelines.set(t,{nodeId:t,componentIds:[]});const e=this.nodes.get(t);e&&(e.isPipelineParent=!0)}addPipelineComponent(t,e){const a=this.pipelines.get(t);a&&a.componentIds.push(e);const r=this.nodes.get(e);r&&(r.inPipeline=!0)}addAnnotation(t){this.annotations.push(t)}addNote(t){this.notes.push(t)}addAccelerator(t){this.accelerators.push(t)}addDeaccelerator(t){this.deaccelerators.push(t)}setAnnotationsBox(t,e){this.annotationsBox={x:t,y:e}}setAxes(t){this.axes=(0,o.A)((0,o.A)({},this.axes),t)}setSize(t,e){this.size={width:t,height:e}}getNode(t){return this.nodes.get(t)}build(){const t=[];for(const e of this.nodes.values()){if("number"!==typeof e.x||"number"!==typeof e.y)throw new Error('Node "'.concat(e.label,'" is missing coordinates'));t.push(e)}return{nodes:t,links:[...this.links],trends:[...this.trends.values()],pipelines:[...this.pipelines.values()],annotations:[...this.annotations],notes:[...this.notes],accelerators:[...this.accelerators],deaccelerators:[...this.deaccelerators],annotationsBox:this.annotationsBox,axes:(0,o.A)({},this.axes),size:this.size}}clear(){this.nodes.clear(),this.links=[],this.trends.clear(),this.pipelines.clear(),this.annotations=[],this.notes=[],this.accelerators=[],this.deaccelerators=[],this.annotationsBox=void 0,this.axes={},this.size=void 0}},(0,d.K2)(r,"WardleyBuilder"),r);function f(t){const e=(0,l.D7)();return(0,l.jZ)(t.trim(),e)}function m(){return(0,l.D7)()["wardley-beta"]}function w(t,e,a,r,o,n,i,l,d){y.addNode({id:t,label:f(e),x:a,y:r,className:o,labelOffsetX:n,labelOffsetY:i,inertia:l,sourceStrategy:d})}function v(t,e){let a=arguments.length>2&&void 0!==arguments[2]&&arguments[2],r=arguments.length>3?arguments[3]:void 0,o=arguments.length>4?arguments[4]:void 0;y.addLink({source:t,target:e,dashed:a,label:r,flow:o})}function k(t,e,a){y.addTrend({nodeId:t,targetX:e,targetY:a})}function b(t,e,a){y.addAnnotation({number:t,coordinates:e,text:a?f(a):void 0})}function M(t,e,a){y.addNote({text:f(t),x:e,y:a})}function S(t,e,a){y.addAccelerator({name:f(t),x:e,y:a})}function P(t,e,a){y.addDeaccelerator({name:f(t),x:e,y:a})}function C(t,e){y.setAnnotationsBox(t,e)}function A(t,e){y.setSize(t,e)}function L(t){y.startPipeline(t)}function z(t,e){y.addPipelineComponent(t,e)}function N(t){const e={};t.xLabel&&(e.xLabel=f(t.xLabel)),t.yLabel&&(e.yLabel=f(t.yLabel)),t.stages&&(e.stages=t.stages.map(t=>f(t))),t.stageBoundaries&&(e.stageBoundaries=t.stageBoundaries),y.setAxes(e)}function T(t){return y.getNode(t)}function E(){return y.build()}function K(){y.clear(),(0,l.IU)()}(0,d.K2)(f,"textSanitizer"),(0,d.K2)(m,"getConfig"),(0,d.K2)(w,"addNode"),(0,d.K2)(v,"addLink"),(0,d.K2)(k,"addTrend"),(0,d.K2)(b,"addAnnotation"),(0,d.K2)(M,"addNote"),(0,d.K2)(S,"addAccelerator"),(0,d.K2)(P,"addDeaccelerator"),(0,d.K2)(C,"setAnnotationsBox"),(0,d.K2)(A,"setSize"),(0,d.K2)(L,"startPipeline"),(0,d.K2)(z,"addPipelineComponent"),(0,d.K2)(N,"updateAxes"),(0,d.K2)(T,"getNode"),(0,d.K2)(E,"getWardleyData"),(0,d.K2)(K,"clear");var B={getConfig:m,addNode:w,addLink:v,addTrend:k,addAnnotation:b,addNote:M,addAccelerator:S,addDeaccelerator:P,setAnnotationsBox:C,setSize:A,startPipeline:L,addPipelineComponent:z,updateAxes:N,getNode:T,getWardleyData:E,clear:K,setAccTitle:l.SV,getAccTitle:l.iN,setDiagramTitle:l.ke,getDiagramTitle:l.ab,getAccDescription:l.m7,setAccDescription:l.EI},I=["Genesis","Custom Built","Product","Commodity"],D=(0,d.K2)(()=>{var t,e,a,r,o,n,i,d,s,c,p,h,x,u,g,y,f,m,w,v,k,b,M,S,P,C,A,L,z;const{themeVariables:N}=(0,l.D7)();return{backgroundColor:null!==(t=null!==(e=null===(a=N.wardley)||void 0===a?void 0:a.backgroundColor)&&void 0!==e?e:N.background)&&void 0!==t?t:"#fff",axisColor:null!==(r=null===(o=N.wardley)||void 0===o?void 0:o.axisColor)&&void 0!==r?r:"#000",axisTextColor:null!==(n=null!==(i=null===(d=N.wardley)||void 0===d?void 0:d.axisTextColor)&&void 0!==i?i:N.primaryTextColor)&&void 0!==n?n:"#222",gridColor:null!==(s=null===(c=N.wardley)||void 0===c?void 0:c.gridColor)&&void 0!==s?s:"rgba(100, 100, 100, 0.2)",componentFill:null!==(p=null===(h=N.wardley)||void 0===h?void 0:h.componentFill)&&void 0!==p?p:"#fff",componentStroke:null!==(x=null===(u=N.wardley)||void 0===u?void 0:u.componentStroke)&&void 0!==x?x:"#000",componentLabelColor:null!==(g=null!==(y=null===(f=N.wardley)||void 0===f?void 0:f.componentLabelColor)&&void 0!==y?y:N.primaryTextColor)&&void 0!==g?g:"#222",linkStroke:null!==(m=null===(w=N.wardley)||void 0===w?void 0:w.linkStroke)&&void 0!==m?m:"#000",evolutionStroke:null!==(v=null===(k=N.wardley)||void 0===k?void 0:k.evolutionStroke)&&void 0!==v?v:"#dc3545",annotationStroke:null!==(b=null===(M=N.wardley)||void 0===M?void 0:M.annotationStroke)&&void 0!==b?b:"#000",annotationTextColor:null!==(S=null!==(P=null===(C=N.wardley)||void 0===C?void 0:C.annotationTextColor)&&void 0!==P?P:N.primaryTextColor)&&void 0!==S?S:"#222",annotationFill:null!==(A=null!==(L=null===(z=N.wardley)||void 0===z?void 0:z.annotationFill)&&void 0!==L?L:N.background)&&void 0!==A?A:"#fff"}},"getTheme"),R=(0,d.K2)(()=>{var t,e,a,r,o,n,i,d,s;const c=(0,l.D7)()["wardley-beta"];return{width:null!==(t=null===c||void 0===c?void 0:c.width)&&void 0!==t?t:900,height:null!==(e=null===c||void 0===c?void 0:c.height)&&void 0!==e?e:600,padding:null!==(a=null===c||void 0===c?void 0:c.padding)&&void 0!==a?a:48,nodeRadius:null!==(r=null===c||void 0===c?void 0:c.nodeRadius)&&void 0!==r?r:6,nodeLabelOffset:null!==(o=null===c||void 0===c?void 0:c.nodeLabelOffset)&&void 0!==o?o:8,axisFontSize:null!==(n=null===c||void 0===c?void 0:c.axisFontSize)&&void 0!==n?n:12,labelFontSize:null!==(i=null===c||void 0===c?void 0:c.labelFontSize)&&void 0!==i?i:10,showGrid:null!==(d=null===c||void 0===c?void 0:c.showGrid)&&void 0!==d&&d,useMaxWidth:null===(s=null===c||void 0===c?void 0:c.useMaxWidth)||void 0===s||s}},"getConfigValues"),X={parser:g,db:B,renderer:{draw:(0,d.K2)((t,e,a,r)=>{var o,i,s,c,p,h;d.Rm.debug("Rendering Wardley map\n"+t);const x=R(),u=D(),g=1.6*x.nodeRadius,y=r.db,f=y.getWardleyData(),m=y.getDiagramTitle(),w=null!==(o=null===(i=f.size)||void 0===i?void 0:i.width)&&void 0!==o?o:x.width,v=null!==(s=null===(c=f.size)||void 0===c?void 0:c.height)&&void 0!==s?s:x.height,k=(0,n.D)(e);k.selectAll("*").remove(),(0,l.a$)(k,v,w,x.useMaxWidth),k.attr("viewBox","0 0 ".concat(w," ").concat(v));const b=k.append("g").attr("class","wardley-map"),M=k.append("defs");M.append("marker").attr("id","arrow-".concat(e)).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto-start-reverse").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",u.evolutionStroke).attr("stroke","none"),M.append("marker").attr("id","link-arrow-end-".concat(e)).attr("viewBox","0 0 10 10").attr("refX",9).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 0 0 L 10 5 L 0 10 z").attr("fill",u.linkStroke).attr("stroke","none"),M.append("marker").attr("id","link-arrow-start-".concat(e)).attr("viewBox","0 0 10 10").attr("refX",1).attr("refY",5).attr("markerWidth",5).attr("markerHeight",5).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z").attr("fill",u.linkStroke).attr("stroke","none"),b.append("rect").attr("class","wardley-background").attr("width",w).attr("height",v).attr("fill",u.backgroundColor);const S=w-2*x.padding,P=v-2*x.padding;m&&b.append("text").attr("class","wardley-title").attr("x",w/2).attr("y",x.padding/2).attr("fill",u.axisTextColor).attr("font-size",1.05*x.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("dominant-baseline","middle").text(m);const C=(0,d.K2)(t=>x.padding+t/100*S,"projectX"),A=(0,d.K2)(t=>v-x.padding-t/100*P,"projectY"),L=b.append("g").attr("class","wardley-axes");L.append("line").attr("x1",x.padding).attr("x2",w-x.padding).attr("y1",v-x.padding).attr("y2",v-x.padding).attr("stroke",u.axisColor).attr("stroke-width",1),L.append("line").attr("x1",x.padding).attr("x2",x.padding).attr("y1",x.padding).attr("y2",v-x.padding).attr("stroke",u.axisColor).attr("stroke-width",1);const z=null!==(p=f.axes.xLabel)&&void 0!==p?p:"Evolution",N=null!==(h=f.axes.yLabel)&&void 0!==h?h:"Visibility";L.append("text").attr("class","wardley-axis-label wardley-axis-label-x").attr("x",x.padding+S/2).attr("y",v-x.padding/4).attr("fill",u.axisTextColor).attr("font-size",x.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").text(z),L.append("text").attr("class","wardley-axis-label wardley-axis-label-y").attr("x",x.padding/3).attr("y",x.padding+P/2).attr("fill",u.axisTextColor).attr("font-size",x.axisFontSize).attr("font-weight","bold").attr("text-anchor","middle").attr("transform","rotate(-90 ".concat(x.padding/3," ").concat(x.padding+P/2,")")).text(N);const T=f.axes.stages&&f.axes.stages.length>0?f.axes.stages:I;if(T.length>0){const t=b.append("g").attr("class","wardley-stages"),e=f.axes.stageBoundaries,a=[];if(e&&e.length===T.length){let t=0;e.forEach(e=>{a.push({start:t,end:e}),t=e})}else{const t=1/T.length;T.forEach((e,r)=>{a.push({start:r*t,end:(r+1)*t})})}T.forEach((e,r)=>{const o=a[r],n=x.padding+o.start*S,i=(n+(x.padding+o.end*S))/2;r>0&&t.append("line").attr("x1",n).attr("x2",n).attr("y1",x.padding).attr("y2",v-x.padding).attr("stroke","#000").attr("stroke-width",1).attr("stroke-dasharray","5 5").attr("opacity",.8),t.append("text").attr("class","wardley-stage-label").attr("x",i).attr("y",v-x.padding/1.5).attr("fill",u.axisTextColor).attr("font-size",x.axisFontSize-2).attr("text-anchor","middle").text(e)})}if(x.showGrid){const t=b.append("g").attr("class","wardley-grid");for(let e=1;e<4;e++){const a=e/4,r=x.padding+S*a;t.append("line").attr("x1",r).attr("x2",r).attr("y1",x.padding).attr("y2",v-x.padding).attr("stroke",u.gridColor).attr("stroke-dasharray","2 6"),t.append("line").attr("x1",x.padding).attr("x2",w-x.padding).attr("y1",v-x.padding-P*a).attr("y2",v-x.padding-P*a).attr("stroke",u.gridColor).attr("stroke-dasharray","2 6")}}const E=new Map;if(f.nodes.forEach(t=>{E.set(t.id,{x:C(t.x),y:A(t.y),node:t})}),f.pipelines.length>0){const t=b.append("g").attr("class","wardley-pipelines"),e=b.append("g").attr("class","wardley-pipeline-links");f.pipelines.forEach(a=>{if(0===a.componentIds.length)return;const r=a.componentIds.map(t=>({id:t,pos:E.get(t),node:f.nodes.find(e=>e.id===t)})).filter(t=>t.pos&&t.node).sort((t,e)=>t.node.x-e.node.x);for(let t=0;t<r.length-1;t++){const a=r[t],o=r[t+1];e.append("line").attr("class","wardley-pipeline-evolution-link").attr("x1",a.pos.x).attr("y1",a.pos.y).attr("x2",o.pos.x).attr("y2",o.pos.y).attr("stroke",u.linkStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4")}let o=1/0,n=-1/0,i=0;if(a.componentIds.forEach(t=>{const e=E.get(t);e&&(o=Math.min(o,e.x),n=Math.max(n,e.x),i=e.y)}),o!==1/0&&n!==-1/0){const e=15,r=4*x.nodeRadius,l=i-r/2,d=E.get(a.nodeId);if(d){const t=(o+n)/2;d.x=t,d.y=l-g/6}t.append("rect").attr("class","wardley-pipeline-box").attr("x",o-e).attr("y",l).attr("width",n-o+2*e).attr("height",r).attr("fill","none").attr("stroke",u.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}})}const K=b.append("g").attr("class","wardley-links"),B=new Map;f.pipelines.forEach(t=>{B.set(t.nodeId,new Set(t.componentIds))});const X=f.links.filter(t=>{if(!E.has(t.source)||!E.has(t.target))return!1;const e=B.get(t.target);return null===e||void 0===e||!e.has(t.source)});K.selectAll("line").data(X).enter().append("line").attr("class",t=>"wardley-link".concat(t.dashed?" wardley-link--dashed":"")).attr("x1",t=>{const e=E.get(t.source),a=E.get(t.target),r=f.nodes.find(e=>e.id===t.source).isPipelineParent?g/Math.sqrt(2):x.nodeRadius,o=a.x-e.x,n=a.y-e.y,i=Math.sqrt(o*o+n*n);return e.x+o/i*r}).attr("y1",t=>{const e=E.get(t.source),a=E.get(t.target),r=f.nodes.find(e=>e.id===t.source).isPipelineParent?g/Math.sqrt(2):x.nodeRadius,o=a.x-e.x,n=a.y-e.y,i=Math.sqrt(o*o+n*n);return e.y+n/i*r}).attr("x2",t=>{const e=E.get(t.source),a=E.get(t.target),r=f.nodes.find(e=>e.id===t.target).isPipelineParent?g/Math.sqrt(2):x.nodeRadius,o=e.x-a.x,n=e.y-a.y,i=Math.sqrt(o*o+n*n);return a.x+o/i*r}).attr("y2",t=>{const e=E.get(t.source),a=E.get(t.target),r=f.nodes.find(e=>e.id===t.target).isPipelineParent?g/Math.sqrt(2):x.nodeRadius,o=e.x-a.x,n=e.y-a.y,i=Math.sqrt(o*o+n*n);return a.y+n/i*r}).attr("stroke",u.linkStroke).attr("stroke-width",1).attr("stroke-dasharray",t=>t.dashed?"6 6":null).attr("marker-end",t=>"forward"===t.flow||"bidirectional"===t.flow?"url(#link-arrow-end-".concat(e,")"):null).attr("marker-start",t=>"backward"===t.flow||"bidirectional"===t.flow?"url(#link-arrow-start-".concat(e,")"):null),K.selectAll("text").data(X.filter(t=>t.label)).enter().append("text").attr("class","wardley-link-label").attr("x",t=>{const e=E.get(t.source),a=E.get(t.target),r=(e.x+a.x)/2,o=a.y-e.y,n=a.x-e.x;return r+8*(o/Math.sqrt(n*n+o*o))}).attr("y",t=>{const e=E.get(t.source),a=E.get(t.target),r=(e.y+a.y)/2,o=a.x-e.x,n=a.y-e.y;return r+8*(-o/Math.sqrt(o*o+n*n))}).attr("fill",u.axisTextColor).attr("font-size",x.labelFontSize).attr("text-anchor","middle").attr("dominant-baseline","middle").attr("transform",t=>{const e=E.get(t.source),a=E.get(t.target),r=(e.x+a.x)/2,o=(e.y+a.y)/2,n=a.x-e.x,i=a.y-e.y,l=Math.sqrt(n*n+i*i),d=r+8*(i/l),s=o+8*(-n/l);let c=180*Math.atan2(i,n)/Math.PI;return(c>90||c<-90)&&(c+=180),"rotate(".concat(c," ").concat(d," ").concat(s,")")}).text(t=>t.label);const Y=b.append("g").attr("class","wardley-trends"),F=f.trends.map(t=>{const e=E.get(t.nodeId);if(!e)return null;const a=C(t.targetX),r=A(t.targetY),o=a-e.x,n=r-e.y,i=Math.sqrt(o*o+n*n),l=x.nodeRadius+2;return{origin:e,targetX:a,targetY:r,adjustedX2:i>l?a-o/i*l:a,adjustedY2:i>l?r-n/i*l:r}}).filter(t=>null!==t);Y.selectAll("line").data(F).enter().append("line").attr("class","wardley-trend").attr("x1",t=>t.origin.x).attr("y1",t=>t.origin.y).attr("x2",t=>t.adjustedX2).attr("y2",t=>t.adjustedY2).attr("stroke",u.evolutionStroke).attr("stroke-width",1).attr("stroke-dasharray","4 4").attr("marker-end","url(#arrow-".concat(e,")"));const O=b.append("g").attr("class","wardley-nodes").selectAll("g").data(f.nodes).enter().append("g").attr("class",t=>["wardley-node",t.className?"wardley-node--".concat(t.className):""].filter(Boolean).join(" "));O.filter(t=>"outsource"===t.sourceStrategy).append("circle").attr("class","wardley-outsource-overlay").attr("cx",t=>E.get(t.id).x).attr("cy",t=>E.get(t.id).y).attr("r",2*x.nodeRadius).attr("fill","#666").attr("stroke",u.componentStroke).attr("stroke-width",1),O.filter(t=>"buy"===t.sourceStrategy).append("circle").attr("class","wardley-buy-overlay").attr("cx",t=>E.get(t.id).x).attr("cy",t=>E.get(t.id).y).attr("r",2*x.nodeRadius).attr("fill","#ccc").attr("stroke",u.componentStroke).attr("stroke-width",1),O.filter(t=>"build"===t.sourceStrategy).append("circle").attr("class","wardley-build-overlay").attr("cx",t=>E.get(t.id).x).attr("cy",t=>E.get(t.id).y).attr("r",2*x.nodeRadius).attr("fill","#eee").attr("stroke","#000").attr("stroke-width",1);const q=O.filter(t=>"market"===t.sourceStrategy);q.append("circle").attr("class","wardley-market-overlay").attr("cx",t=>E.get(t.id).x).attr("cy",t=>E.get(t.id).y).attr("r",2*x.nodeRadius).attr("fill","white").attr("stroke",u.componentStroke).attr("stroke-width",1),O.filter(t=>!t.isPipelineParent&&"market"!==t.sourceStrategy&&"anchor"!==t.className).append("circle").attr("cx",t=>E.get(t.id).x).attr("cy",t=>E.get(t.id).y).attr("r",x.nodeRadius).attr("fill",u.componentFill).attr("stroke",u.componentStroke).attr("stroke-width",1);const W=.7*x.nodeRadius,j=1.2*x.nodeRadius;if(q.append("line").attr("class","wardley-market-line").attr("x1",t=>E.get(t.id).x).attr("y1",t=>E.get(t.id).y-j).attr("x2",t=>E.get(t.id).x-j*Math.cos(Math.PI/6)).attr("y2",t=>E.get(t.id).y+j*Math.sin(Math.PI/6)).attr("stroke",u.componentStroke).attr("stroke-width",1),q.append("line").attr("class","wardley-market-line").attr("x1",t=>E.get(t.id).x-j*Math.cos(Math.PI/6)).attr("y1",t=>E.get(t.id).y+j*Math.sin(Math.PI/6)).attr("x2",t=>E.get(t.id).x+j*Math.cos(Math.PI/6)).attr("y2",t=>E.get(t.id).y+j*Math.sin(Math.PI/6)).attr("stroke",u.componentStroke).attr("stroke-width",1),q.append("line").attr("class","wardley-market-line").attr("x1",t=>E.get(t.id).x+j*Math.cos(Math.PI/6)).attr("y1",t=>E.get(t.id).y+j*Math.sin(Math.PI/6)).attr("x2",t=>E.get(t.id).x).attr("y2",t=>E.get(t.id).y-j).attr("stroke",u.componentStroke).attr("stroke-width",1),q.append("circle").attr("class","wardley-market-dot").attr("cx",t=>E.get(t.id).x).attr("cy",t=>E.get(t.id).y-j).attr("r",W).attr("fill","white").attr("stroke",u.componentStroke).attr("stroke-width",2),q.append("circle").attr("class","wardley-market-dot").attr("cx",t=>E.get(t.id).x-j*Math.cos(Math.PI/6)).attr("cy",t=>E.get(t.id).y+j*Math.sin(Math.PI/6)).attr("r",W).attr("fill","white").attr("stroke",u.componentStroke).attr("stroke-width",2),q.append("circle").attr("class","wardley-market-dot").attr("cx",t=>E.get(t.id).x+j*Math.cos(Math.PI/6)).attr("cy",t=>E.get(t.id).y+j*Math.sin(Math.PI/6)).attr("r",W).attr("fill","white").attr("stroke",u.componentStroke).attr("stroke-width",2),O.filter(t=>!0===t.isPipelineParent).append("rect").attr("x",t=>E.get(t.id).x-g/2).attr("y",t=>E.get(t.id).y-g/2).attr("width",g).attr("height",g).attr("fill",u.componentFill).attr("stroke",u.componentStroke).attr("stroke-width",1),O.filter(t=>!0===t.inertia).append("line").attr("class","wardley-inertia").attr("x1",t=>{const e=E.get(t.id);let a=t.isPipelineParent?g/2+15:x.nodeRadius+15;return t.sourceStrategy&&(a+=x.nodeRadius+10),e.x+a}).attr("y1",t=>{const e=E.get(t.id),a=t.isPipelineParent?g:2*x.nodeRadius;return e.y-a/2}).attr("x2",t=>{const e=E.get(t.id);let a=t.isPipelineParent?g/2+15:x.nodeRadius+15;return t.sourceStrategy&&(a+=x.nodeRadius+10),e.x+a}).attr("y2",t=>{const e=E.get(t.id),a=t.isPipelineParent?g:2*x.nodeRadius;return e.y+a/2}).attr("stroke",u.componentStroke).attr("stroke-width",6),O.append("text").attr("x",t=>{var e;const a=E.get(t.id);if("anchor"===t.className)return void 0!==t.labelOffsetX?a.x+t.labelOffsetX:a.x;let r=x.nodeLabelOffset;t.sourceStrategy&&void 0===t.labelOffsetX&&(r+=10);const o=null!==(e=t.labelOffsetX)&&void 0!==e?e:r;return a.x+o}).attr("y",t=>{var e;const a=E.get(t.id);if("anchor"===t.className)return void 0!==t.labelOffsetY?a.y+t.labelOffsetY:a.y-3;let r=-x.nodeLabelOffset;t.sourceStrategy&&void 0===t.labelOffsetY&&(r-=10);const o=null!==(e=t.labelOffsetY)&&void 0!==e?e:r;return a.y+o}).attr("class","wardley-node-label").attr("fill",t=>"evolved"===t.className?u.evolutionStroke:"anchor"===t.className?"#000":u.componentLabelColor).attr("font-size",x.labelFontSize).attr("font-weight",t=>"anchor"===t.className?"bold":"normal").attr("text-anchor",t=>"anchor"===t.className?"middle":"start").attr("dominant-baseline",t=>"anchor"===t.className?"middle":"auto").text(t=>t.label),f.annotations.length>0){const t=b.append("g").attr("class","wardley-annotations");if(f.annotations.forEach(e=>{const a=e.coordinates.map(t=>({x:C(t.x),y:A(t.y)}));if(a.length>1)for(let r=0;r<a.length-1;r++)t.append("line").attr("class","wardley-annotation-line").attr("x1",a[r].x).attr("y1",a[r].y).attr("x2",a[r+1].x).attr("y2",a[r+1].y).attr("stroke",u.axisColor).attr("stroke-width",1.5).attr("stroke-dasharray","4 4");a.forEach(a=>{const r=t.append("g").attr("class","wardley-annotation");r.append("circle").attr("cx",a.x).attr("cy",a.y).attr("r",10).attr("fill","white").attr("stroke",u.axisColor).attr("stroke-width",1.5),r.append("text").attr("x",a.x).attr("y",a.y).attr("text-anchor","middle").attr("dominant-baseline","central").attr("font-size",10).attr("fill",u.axisTextColor).attr("font-weight","bold").text(e.number)})}),f.annotationsBox){let e=C(f.annotationsBox.x),a=A(f.annotationsBox.y);const r=10,o=16,n=11,i=t.append("g").attr("class","wardley-annotations-box"),l=[...f.annotations].filter(t=>t.text).sort((t,e)=>t.number-e.number),d=[];if(l.forEach((t,l)=>{const s=i.append("text").attr("x",e+r).attr("y",a+r+(l+1)*o).attr("font-size",n).attr("fill",u.axisTextColor).attr("text-anchor","start").attr("dominant-baseline","middle").text("".concat(t.number,". ").concat(t.text));d.push(s)}),d.length>0){let t=0,n=0;d.forEach(e=>{const a=e.node(),r=a.getComputedTextLength();t=Math.max(t,r);const o=a.getBBox();n=Math.max(n,o.height)});const s=t+2*r+105,c=l.length*o+2*r+n/2,p=x.padding,h=w-x.padding-s,g=x.padding,y=v-x.padding-c;e=Math.max(p,Math.min(e,h)),a=Math.max(g,Math.min(a,y)),d.forEach((t,n)=>{t.attr("x",e+r).attr("y",a+r+(n+1)*o)}),i.insert("rect","text").attr("x",e).attr("y",a).attr("width",s).attr("height",c).attr("fill","white").attr("stroke",u.axisColor).attr("stroke-width",1.5).attr("rx",4).attr("ry",4)}}}if(f.notes.length>0){const t=b.append("g").attr("class","wardley-notes");f.notes.forEach(e=>{const a=C(e.x),r=A(e.y);t.append("text").attr("x",a).attr("y",r).attr("text-anchor","start").attr("font-size",11).attr("fill",u.axisTextColor).attr("font-weight","bold").text(e.text)})}if(f.accelerators.length>0){const t=b.append("g").attr("class","wardley-accelerators");f.accelerators.forEach(e=>{const a=C(e.x),r=A(e.y),o=60,n="\n M ".concat(a," ").concat(r-15,"\n L ").concat(a+o-20," ").concat(r-15,"\n L ").concat(a+o-20," ").concat(r-15-8,"\n L ").concat(a+o," ").concat(r,"\n L ").concat(a+o-20," ").concat(r+15+8,"\n L ").concat(a+o-20," ").concat(r+15,"\n L ").concat(a," ").concat(r+15,"\n Z\n ");t.append("path").attr("d",n).attr("fill","white").attr("stroke",u.componentStroke).attr("stroke-width",1),t.append("text").attr("x",a+30).attr("y",r+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",u.axisTextColor).attr("font-weight","bold").text(e.name)})}if(f.deaccelerators.length>0){const t=b.append("g").attr("class","wardley-deaccelerators");f.deaccelerators.forEach(e=>{const a=C(e.x),r=A(e.y),o="\n M ".concat(a+60," ").concat(r-15,"\n L ").concat(a+20," ").concat(r-15,"\n L ").concat(a+20," ").concat(r-15-8,"\n L ").concat(a," ").concat(r,"\n L ").concat(a+20," ").concat(r+15+8,"\n L ").concat(a+20," ").concat(r+15,"\n L ").concat(a+60," ").concat(r+15,"\n Z\n ");t.append("path").attr("d",o).attr("fill","white").attr("stroke",u.componentStroke).attr("stroke-width",1),t.append("text").attr("x",a+30).attr("y",r+15+15).attr("text-anchor","middle").attr("font-size",10).attr("fill",u.axisTextColor).attr("font-weight","bold").text(e.name)})}},"draw")},styles:(0,d.K2)(()=>"","styles")}}}]);
2
+ //# sourceMappingURL=267.1127f40e.chunk.js.map
build/static/js/267.1127f40e.chunk.js.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"static/js/267.1127f40e.chunk.js","mappings":"gGAKA,SAASA,EAAiBC,EAAKC,GACX,IAAAC,EAGAC,EAGHC,EANXJ,EAAIK,WACc,QAApBH,EAAAD,EAAGK,yBAAiB,IAAAJ,GAApBA,EAAAK,KAAAN,EAAuBD,EAAIK,WAEzBL,EAAIQ,WACQ,QAAdL,EAAAF,EAAGQ,mBAAW,IAAAN,GAAdA,EAAAI,KAAAN,EAAiBD,EAAIQ,WAEnBR,EAAIU,QACY,QAAlBN,EAAAH,EAAGU,uBAAe,IAAAP,GAAlBA,EAAAG,KAAAN,EAAqBD,EAAIU,OAE7B,C,kBACAE,E,SAAAA,IAAOb,EAAkB,mB,6GCSrBc,GAA4BD,EAAAA,EAAAA,IAAO,CAACE,EAAOC,KAC7C,MAAMC,EAAaF,GAAS,EAAY,IAARA,EAAcA,EAC9C,GAAIE,EAAa,GAAKA,EAAa,IACjC,MAAM,IAAIC,MAAM,GAADC,OACVH,EAAO,oEAAAG,OAAmEJ,IAGjF,OAAOE,GACN,aACCG,GAAgCP,EAAAA,EAAAA,IAAO,CAACQ,EAAYC,EAAWN,KAC1D,CACLO,EAAGT,EAAUQ,EAAW,GAAFH,OAAKH,EAAO,eAClCQ,EAAGV,EAAUO,EAAY,GAAFF,OAAKH,EAAO,kBAEpC,iBACCS,GAAkCZ,EAAAA,EAAAA,IAAQa,IAC5C,GAAKA,EAGL,MAAa,QAATA,EACK,gBAEI,OAATA,EACK,WAEI,OAATA,EACK,eADT,GAIC,mBACCC,GAAuCd,EAAAA,EAAAA,IAAQe,IACjD,GAAU,OAALA,QAAK,IAALA,IAAAA,EAAOC,WAAW,KACrB,MAAO,CAAC,EAEV,MAAMC,EAAa,eAAeC,KAAKH,GACjCI,EAAsB,OAAVF,QAAU,IAAVA,OAAU,EAAVA,EAAa,GAC/B,OAAIF,EAAMK,SAAS,MACV,CAAEC,KAAM,gBAAiBC,MAAOH,GAErCJ,EAAMK,SAAS,KACV,CAAEC,KAAM,WAAYC,MAAOH,GAEhCJ,EAAMK,SAAS,KACV,CAAEC,KAAM,UAAWC,MAAOH,GAE5B,CAAEG,MAAOH,IACf,wBACCI,GAA6BvB,EAAAA,EAAAA,IAAO,CAACZ,EAAKC,KAK5C,IAJAF,EAAAA,EAAAA,GAAiBC,EAAKC,GAClBD,EAAIoC,MACNnC,EAAGoC,QAAQrC,EAAIoC,KAAKE,MAAOtC,EAAIoC,KAAKG,QAElCvC,EAAIqB,UAAW,CACjB,MAAMmB,EAASxC,EAAIqB,UAAUmB,OAAOC,IAAKC,GACnCA,EAAMC,WACD,GAAPzB,OAAUwB,EAAME,KAAKC,OAAM,OAAA3B,OAAMwB,EAAMC,WAAWE,QAE7CH,EAAME,KAAKC,QAEdC,EAAkB9C,EAAIqB,UAAUmB,OAAOO,OAAQL,QAA6B,IAAnBA,EAAMM,UAAqBP,IAAKC,GAAUA,EAAMM,UAC/G/C,EAAGgD,WAAW,CAAET,SAAQM,mBAC1B,CA0EA,GAzEA9C,EAAIkD,QAAQC,QAASC,IACnB,MAAMC,EAASlC,EAAciC,EAAOhC,WAAYgC,EAAO/B,UAAW,WAAFH,OAAakC,EAAOR,KAAI,MACxF3C,EAAGqD,QAAQF,EAAOR,KAAMQ,EAAOR,KAAMS,EAAO/B,EAAG+B,EAAO9B,EAAG,YAE3DvB,EAAIuD,WAAWJ,QAASK,IAAc,IAAAC,EACpC,MAAMJ,EAASlC,EACbqC,EAAUpC,WACVoC,EAAUnC,UAAS,cAAAH,OACLsC,EAAUZ,KAAI,MAExBc,EAAeF,EAAUtB,OAASsB,EAAUtB,MAAMyB,MAAQ,EAAI,GAAKH,EAAUtB,MAAM0B,aAAU,EAC7FC,EAAeL,EAAUtB,OAASsB,EAAUtB,MAAM4B,MAAQ,EAAI,GAAKN,EAAUtB,MAAM6B,aAAU,EAC7FC,EAAoC,QAAtBP,EAAGD,EAAUS,iBAAS,IAAAR,OAAA,EAAnBA,EAAqBS,SAC5CjE,EAAGqD,QACDE,EAAUZ,KACVY,EAAUZ,KACVS,EAAO/B,EACP+B,EAAO9B,EACP,YACAmC,EACAG,EACAL,EAAUW,QACVH,KAGJhE,EAAIoE,MAAMjB,QAASkB,IACjB,MAAMhB,EAASlC,EAAckD,EAAKjD,WAAYiD,EAAKhD,UAAW,SAAFH,OAAWmD,EAAKC,KAAI,MAChFrE,EAAGsE,QAAQF,EAAKC,KAAMjB,EAAO/B,EAAG+B,EAAO9B,KAEzCvB,EAAIwE,UAAUrB,QAASsB,IACrB,MAAMC,EAAazE,EAAG0E,QAAQF,EAASG,QACvC,IAAKF,GAAsC,kBAAjBA,EAAWnD,EACnC,MAAM,IAAIN,MAAM,aAADC,OACAuD,EAASG,OAAM,6DAGhC,MAAMC,EAAUH,EAAWnD,EAC3BtB,EAAG6E,cAAcL,EAASG,QAC1BH,EAASlB,WAAWJ,QAASK,IAC3B,MAAMuB,EAAc,GAAH7D,OAAMuD,EAASG,OAAM,KAAA1D,OAAIsC,EAAUZ,MAC9Cc,EAAeF,EAAUtB,OAASsB,EAAUtB,MAAMyB,MAAQ,EAAI,GAAKH,EAAUtB,MAAM0B,aAAU,EAC7FC,EAAeL,EAAUtB,OAASsB,EAAUtB,MAAM4B,MAAQ,EAAI,GAAKN,EAAUtB,MAAM6B,aAAU,EAC7FzC,EAAIT,EAAU2C,EAAUnC,UAAW,uBAAFH,OAAyBsC,EAAUZ,KAAI,gBAC9E3C,EAAGqD,QACDyB,EACAvB,EAAUZ,KACVtB,EACAuD,EACA,qBACAnB,EACAG,GAEF5D,EAAG+E,qBAAqBP,EAASG,OAAQG,OAG7C/E,EAAIiF,MAAM9B,QAAS+B,IAAS,IAAAC,EAC1B,MAAMC,IAAaF,EAAKvD,QAAUuD,EAAKvD,MAAMK,SAAS,SAAWkD,EAAKvD,MAAMK,SAAS,QACrF,IAAIC,EAAqC,QAAjCkD,EAAG3D,EAAgB0D,EAAKG,iBAAS,IAAAF,EAAAA,EAAI3D,EAAgB0D,EAAKI,QAClE,MAAQrD,KAAMsD,EAAWrD,MAAOH,GAAcL,EAAqBwD,EAAKvD,QACnEM,GAAQsD,IACXtD,EAAOsD,GAET,MAAMC,EAAaN,EAAKO,UAClBvD,EAAiB,OAATH,QAAS,IAATA,EAAAA,EAAayD,EAC3BvF,EAAGyF,QAAQR,EAAKS,KAAMT,EAAKU,GAAIR,EAAUlD,EAAOD,KAElDjC,EAAI6F,QAAQ1C,QAAS2C,IACnB,MAAMC,EAAO9F,EAAG0E,QAAQmB,EAAOtC,WAC/B,QAAgB,KAAR,OAAJuC,QAAI,IAAJA,OAAI,EAAJA,EAAMxE,GAAc,CACtB,MAAMyE,EAASnF,EAAUiF,EAAOE,OAAQ,sBAAF9E,OAAwB4E,EAAOtC,UAAS,MAC9EvD,EAAGgG,SAASH,EAAOtC,UAAWwC,EAAQD,EAAKxE,EAC7C,IAEEvB,EAAIkG,YAAYC,OAAS,EAAG,CAC9B,MAAMC,EAAiBpG,EAAIkG,YAAY,GACjC7C,EAASlC,EAAciF,EAAe9E,EAAG8E,EAAe7E,EAAG,mBACjEtB,EAAGoG,kBAAkBhD,EAAO/B,EAAG+B,EAAO9B,EACxC,CACAvB,EAAIwF,WAAWrC,QAASqC,IACtB,MAAMnC,EAASlC,EAAcqE,EAAWlE,EAAGkE,EAAWjE,EAAG,cAAFL,OAAgBsE,EAAWc,SAClFrG,EAAGsG,cAAcf,EAAWc,OAAQ,CAAC,CAAEhF,EAAG+B,EAAO/B,EAAGC,EAAG8B,EAAO9B,IAAMiE,EAAWlB,QAEjFtE,EAAIwG,aAAarD,QAASsD,IACxB,MAAMpD,EAASlC,EAAcsF,EAAYnF,EAAGmF,EAAYlF,EAAG,gBAAFL,OAAkBuF,EAAY7D,KAAI,MAC3F3C,EAAGyG,eAAeD,EAAY7D,KAAMS,EAAO/B,EAAG+B,EAAO9B,KAEvDvB,EAAI2G,eAAexD,QAASyD,IAC1B,MAAMvD,EAASlC,EACbyF,EAActF,EACdsF,EAAcrF,EAAC,kBAAAL,OACG0F,EAAchE,KAAI,MAEtC3C,EAAG4G,iBAAiBD,EAAchE,KAAMS,EAAO/B,EAAG+B,EAAO9B,MAE1D,cACCuF,EAAS,CACXA,OAAQ,CAENC,QAAI,GAENC,OAAuBpG,EAAAA,EAAAA,IAAOqG,UAAiB,IAAAC,EAC7C,MAAMlH,QAAYgH,EAAAA,EAAAA,IAAM,UAAWG,GACnCC,EAAAA,GAAIC,MAAMrH,GACV,MAAMC,EAAkB,QAAhBiH,EAAGJ,EAAOA,cAAM,IAAAI,OAAA,EAAbA,EAAeH,GAC1B,IAAK9G,GAA4B,oBAAfA,EAAGqD,QACnB,MAAM,IAAIrC,MACR,yJAGJkB,EAAWnC,EAAKC,IACf,UAsHDqH,EAAU,IAlHIC,EAAG,MACnBC,WAAAA,GACEC,KAAKC,MAAwB,IAAIC,IACjCF,KAAKxC,MAAQ,GACbwC,KAAKG,OAAyB,IAAID,IAClCF,KAAKjD,UAA4B,IAAImD,IACrCF,KAAKvB,YAAc,GACnBuB,KAAKrD,MAAQ,GACbqD,KAAKjB,aAAe,GACpBiB,KAAKd,eAAiB,GACtBc,KAAKI,KAAO,CAAC,CACf,CAIAvE,OAAAA,CAAQyC,GAAM,IAAA+B,EAAAC,EAAAC,EAAAC,EACZ,MAAMC,EAAkC,QAA1BJ,EAAGL,KAAKC,MAAMS,IAAIpC,EAAKqC,WAAG,IAAAN,EAAAA,EAAI,CAAEM,GAAIrC,EAAKqC,GAAIlG,MAAO6D,EAAK7D,OACjEmG,GAAMC,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACPJ,GACAnC,GAAI,IACPwC,UAAyB,QAAhBR,EAAEhC,EAAKwC,iBAAS,IAAAR,EAAAA,EAAIG,EAASK,UACtC7E,aAA+B,QAAnBsE,EAAEjC,EAAKrC,oBAAY,IAAAsE,EAAAA,EAAIE,EAASxE,aAC5CG,aAA+B,QAAnBoE,EAAElC,EAAKlC,oBAAY,IAAAoE,EAAAA,EAAIC,EAASrE,eAE9C4D,KAAKC,MAAMc,IAAIzC,EAAKqC,GAAIC,EAC1B,CACA3C,OAAAA,CAAQR,GACNuC,KAAKxC,MAAMwD,KAAKvD,EAClB,CACAe,QAAAA,CAASyC,GACPjB,KAAKG,OAAOY,IAAIE,EAAMC,OAAQD,EAChC,CACA5D,aAAAA,CAAc6D,GACZlB,KAAKjD,UAAUgE,IAAIG,EAAQ,CAAEA,SAAQC,aAAc,KACnD,MAAM7C,EAAO0B,KAAKC,MAAMS,IAAIQ,GACxB5C,IACFA,EAAK8C,kBAAmB,EAE5B,CACA7D,oBAAAA,CAAqB8D,EAAgB/D,GACnC,MAAMN,EAAWgD,KAAKjD,UAAU2D,IAAIW,GAChCrE,GACFA,EAASmE,aAAaH,KAAK1D,GAE7B,MAAMgB,EAAO0B,KAAKC,MAAMS,IAAIpD,GACxBgB,IACFA,EAAKgD,YAAa,EAEtB,CACAxC,aAAAA,CAAcf,GACZiC,KAAKvB,YAAYuC,KAAKjD,EACxB,CACAjB,OAAAA,CAAQF,GACNoD,KAAKrD,MAAMqE,KAAKpE,EAClB,CACAqC,cAAAA,CAAeD,GACbgB,KAAKjB,aAAaiC,KAAKhC,EACzB,CACAI,gBAAAA,CAAiBD,GACfa,KAAKd,eAAe8B,KAAK7B,EAC3B,CACAP,iBAAAA,CAAkB/E,EAAGC,GACnBkG,KAAKrB,eAAiB,CAAE9E,IAAGC,IAC7B,CACAyH,OAAAA,CAAQC,GACNxB,KAAKI,MAAIS,EAAAA,EAAAA,IAAAA,EAAAA,EAAAA,GAAA,GACJb,KAAKI,MACLoB,EAEP,CACA5G,OAAAA,CAAQC,EAAOC,GACbkF,KAAKrF,KAAO,CAAEE,QAAOC,SACvB,CACAoC,OAAAA,CAAQyD,GACN,OAAOX,KAAKC,MAAMS,IAAIC,EACxB,CACAc,KAAAA,GACE,MAAMxB,EAAQ,GACd,IAAK,MAAM3B,KAAQ0B,KAAKC,MAAMyB,SAAU,CACtC,GAAsB,kBAAXpD,EAAKzE,GAAoC,kBAAXyE,EAAKxE,EAC5C,MAAM,IAAIN,MAAM,SAADC,OAAU6E,EAAK7D,MAAK,6BAErCwF,EAAMe,KAAK1C,EACb,CACA,MAAO,CACL2B,QACAzC,MAAO,IAAIwC,KAAKxC,OAChB2C,OAAQ,IAAIH,KAAKG,OAAOuB,UACxB3E,UAAW,IAAIiD,KAAKjD,UAAU2E,UAC9BjD,YAAa,IAAIuB,KAAKvB,aACtB9B,MAAO,IAAIqD,KAAKrD,OAChBoC,aAAc,IAAIiB,KAAKjB,cACvBG,eAAgB,IAAIc,KAAKd,gBACzBP,eAAgBqB,KAAKrB,eACrByB,MAAIS,EAAAA,EAAAA,GAAA,GAAOb,KAAKI,MAChBzF,KAAMqF,KAAKrF,KAEf,CACAgH,KAAAA,GACE3B,KAAKC,MAAM0B,QACX3B,KAAKxC,MAAQ,GACbwC,KAAKG,OAAOwB,QACZ3B,KAAKjD,UAAU4E,QACf3B,KAAKvB,YAAc,GACnBuB,KAAKrD,MAAQ,GACbqD,KAAKjB,aAAe,GACpBiB,KAAKd,eAAiB,GACtBc,KAAKrB,oBAAiB,EACtBqB,KAAKI,KAAO,CAAC,EACbJ,KAAKrF,UAAO,CACd,IAjGExB,EAAAA,EAAAA,IAAM2G,EAAO,kBAAiBA,GAsGlC,SAAS8B,EAAc/E,GACrB,MAAMgF,GAASC,EAAAA,EAAAA,MACf,OAAOC,EAAAA,EAAAA,IAAalF,EAAKzB,OAAQyG,EACnC,CAEA,SAASG,IACP,OAAOF,EAAAA,EAAAA,MAAY,eACrB,CAEA,SAASjG,EAAQ8E,EAAIlG,EAAOZ,EAAGC,EAAGgH,EAAW7E,EAAcG,EAAcM,EAASH,GAChFsD,EAAQhE,QAAQ,CACd8E,KACAlG,MAAOmH,EAAcnH,GACrBZ,IACAC,IACAgH,YACA7E,eACAG,eACAM,UACAH,kBAEJ,CAEA,SAAS0B,EAAQgE,EAAUC,GAAuC,IAA7BC,EAAMC,UAAA1D,OAAA,QAAA2D,IAAAD,UAAA,IAAAA,UAAA,GAAU3H,EAAK2H,UAAA1D,OAAA,EAAA0D,UAAA,QAAAC,EAAE7H,EAAI4H,UAAA1D,OAAA,EAAA0D,UAAA,QAAAC,EAC9DxC,EAAQ5B,QAAQ,CAAEqE,OAAQL,EAAU1D,OAAQ2D,EAAUC,SAAQ1H,QAAOD,QACvE,CAEA,SAASgE,EAAS0C,EAAQqB,EAASC,GACjC3C,EAAQrB,SAAS,CAAE0C,SAAQqB,UAASC,WACtC,CAEA,SAAS1D,EAAcD,EAAQ4D,EAAa5F,GAC1CgD,EAAQf,cAAc,CACpBD,SACA4D,cACA5F,KAAMA,EAAO+E,EAAc/E,QAAQ,GAEvC,CAEA,SAASC,EAAQD,EAAMhD,EAAGC,GACxB+F,EAAQ/C,QAAQ,CACdD,KAAM+E,EAAc/E,GACpBhD,IACAC,KAEJ,CAEA,SAASmF,EAAe9D,EAAMtB,EAAGC,GAC/B+F,EAAQZ,eAAe,CACrB9D,KAAMyG,EAAczG,GACpBtB,IACAC,KAEJ,CAEA,SAASsF,EAAiBjE,EAAMtB,EAAGC,GACjC+F,EAAQT,iBAAiB,CACvBjE,KAAMyG,EAAczG,GACpBtB,IACAC,KAEJ,CAEA,SAAS8E,EAAkB/E,EAAGC,GAC5B+F,EAAQjB,kBAAkB/E,EAAGC,EAC/B,CAEA,SAASc,EAAQC,EAAOC,GACtB+E,EAAQjF,QAAQC,EAAOC,EACzB,CAEA,SAASuC,EAAc6D,GACrBrB,EAAQxC,cAAc6D,EACxB,CAEA,SAAS3D,EAAqB8D,EAAgB/D,GAC5CuC,EAAQtC,qBAAqB8D,EAAgB/D,EAC/C,CAEA,SAAS9B,EAAWgG,GAClB,MAAMkB,EAAY,CAAC,EACflB,EAAQmB,SACVD,EAAUC,OAASf,EAAcJ,EAAQmB,SAEvCnB,EAAQoB,SACVF,EAAUE,OAAShB,EAAcJ,EAAQoB,SAEvCpB,EAAQzG,SACV2H,EAAU3H,OAASyG,EAAQzG,OAAOC,IAAKC,GAAU2G,EAAc3G,KAE7DuG,EAAQnG,kBACVqH,EAAUrH,gBAAkBmG,EAAQnG,iBAEtCwE,EAAQ0B,QAAQmB,EAClB,CAEA,SAASxF,EAAQyD,GACf,OAAOd,EAAQ3C,QAAQyD,EACzB,CAEA,SAASkC,IACP,OAAOhD,EAAQ4B,OACjB,CAEA,SAASqB,IACPjD,EAAQ8B,SACRA,EAAAA,EAAAA,KACF,EAvGAxI,EAAAA,EAAAA,IAAOyI,EAAe,kBAItBzI,EAAAA,EAAAA,IAAO6I,EAAY,cAcnB7I,EAAAA,EAAAA,IAAO0C,EAAS,YAIhB1C,EAAAA,EAAAA,IAAO8E,EAAS,YAIhB9E,EAAAA,EAAAA,IAAOqF,EAAU,aAQjBrF,EAAAA,EAAAA,IAAO2F,EAAe,kBAQtB3F,EAAAA,EAAAA,IAAO2D,EAAS,YAQhB3D,EAAAA,EAAAA,IAAO8F,EAAgB,mBAQvB9F,EAAAA,EAAAA,IAAOiG,EAAkB,qBAIzBjG,EAAAA,EAAAA,IAAOyF,EAAmB,sBAI1BzF,EAAAA,EAAAA,IAAOyB,EAAS,YAIhBzB,EAAAA,EAAAA,IAAOkE,EAAe,kBAItBlE,EAAAA,EAAAA,IAAOoE,EAAsB,yBAiB7BpE,EAAAA,EAAAA,IAAOqC,EAAY,eAInBrC,EAAAA,EAAAA,IAAO+D,EAAS,YAIhB/D,EAAAA,EAAAA,IAAO0J,EAAgB,mBAKvB1J,EAAAA,EAAAA,IAAO2J,EAAQ,SACf,IAAIC,EAAoB,CACtBjB,UAAWE,EACXnG,UACAoC,UACAO,WACAM,gBACAhC,UACAmC,iBACAG,mBACAR,oBACAhE,UACAyC,gBACAE,uBACA/B,aACA0B,UACA2F,iBACAlB,MAAOmB,EACP9J,YAAW,KACXgK,YAAW,KACX9J,gBAAe,KACf+J,gBAAe,KACfC,kBAAiB,KACjBrK,kBAAiBA,EAAAA,IAIfsK,EAAiB,CAAC,UAAW,eAAgB,UAAW,aACxDC,GAA2BjK,EAAAA,EAAAA,IAAO,KAAM,IAAAkK,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC1C,MAAM,eAAEC,IAAmBpD,EAAAA,EAAAA,MAC3B,MAAO,CACLqD,gBAAqF,QAAtE9B,EAAyC,QAAzCC,EAAwB,QAAxBC,EAAE2B,EAAeE,eAAO,IAAA7B,OAAA,EAAtBA,EAAwB4B,uBAAe,IAAA7B,EAAAA,EAAI4B,EAAeG,kBAAU,IAAAhC,EAAAA,EAAI,OACzFiC,UAA4C,QAAnC9B,EAAwB,QAAxBC,EAAEyB,EAAeE,eAAO,IAAA3B,OAAA,EAAtBA,EAAwB6B,iBAAS,IAAA9B,EAAAA,EAAI,OAChD+B,cAAuF,QAA1E7B,EAAuC,QAAvCC,EAAwB,QAAxBC,EAAEsB,EAAeE,eAAO,IAAAxB,OAAA,EAAtBA,EAAwB2B,qBAAa,IAAA5B,EAAAA,EAAIuB,EAAeM,wBAAgB,IAAA9B,EAAAA,EAAI,OAC3F+B,UAA4C,QAAnC5B,EAAwB,QAAxBC,EAAEoB,EAAeE,eAAO,IAAAtB,OAAA,EAAtBA,EAAwB2B,iBAAS,IAAA5B,EAAAA,EAAI,2BAChD6B,cAAoD,QAAvC3B,EAAwB,QAAxBC,EAAEkB,EAAeE,eAAO,IAAApB,OAAA,EAAtBA,EAAwB0B,qBAAa,IAAA3B,EAAAA,EAAI,OACxD4B,gBAAwD,QAAzC1B,EAAwB,QAAxBC,EAAEgB,EAAeE,eAAO,IAAAlB,OAAA,EAAtBA,EAAwByB,uBAAe,IAAA1B,EAAAA,EAAI,OAC5D2B,oBAAmG,QAAhFzB,EAA6C,QAA7CC,EAAwB,QAAxBC,EAAEa,EAAeE,eAAO,IAAAf,OAAA,EAAtBA,EAAwBuB,2BAAmB,IAAAxB,EAAAA,EAAIc,EAAeM,wBAAgB,IAAArB,EAAAA,EAAI,OACvG0B,WAA8C,QAApCvB,EAAwB,QAAxBC,EAAEW,EAAeE,eAAO,IAAAb,OAAA,EAAtBA,EAAwBsB,kBAAU,IAAAvB,EAAAA,EAAI,OAClDwB,gBAAwD,QAAzCtB,EAAwB,QAAxBC,EAAES,EAAeE,eAAO,IAAAX,OAAA,EAAtBA,EAAwBqB,uBAAe,IAAAtB,EAAAA,EAAI,UAC5DuB,iBAA0D,QAA1CrB,EAAwB,QAAxBC,EAAEO,EAAeE,eAAO,IAAAT,OAAA,EAAtBA,EAAwBoB,wBAAgB,IAAArB,EAAAA,EAAI,OAC9DsB,oBAAmG,QAAhFpB,EAA6C,QAA7CC,EAAwB,QAAxBC,EAAEI,EAAeE,eAAO,IAAAN,OAAA,EAAtBA,EAAwBkB,2BAAmB,IAAAnB,EAAAA,EAAIK,EAAeM,wBAAgB,IAAAZ,EAAAA,EAAI,OACvGqB,eAAmF,QAArElB,EAAwC,QAAxCC,EAAwB,QAAxBC,EAAEC,EAAeE,eAAO,IAAAH,OAAA,EAAtBA,EAAwBgB,sBAAc,IAAAjB,EAAAA,EAAIE,EAAeG,kBAAU,IAAAN,EAAAA,EAAI,SAExF,YACCmB,GAAkC/M,EAAAA,EAAAA,IAAO,KAAM,IAAAgN,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACjD,MAAMC,GAAgB9E,EAAAA,EAAAA,MAAY,gBAClC,MAAO,CACLjH,MAA2B,QAAtBsL,EAAe,OAAbS,QAAa,IAAbA,OAAa,EAAbA,EAAe/L,aAAK,IAAAsL,EAAAA,EAAI,IAC/BrL,OAA6B,QAAvBsL,EAAe,OAAbQ,QAAa,IAAbA,OAAa,EAAbA,EAAe9L,cAAM,IAAAsL,EAAAA,EAAI,IACjCS,QAA+B,QAAxBR,EAAe,OAAbO,QAAa,IAAbA,OAAa,EAAbA,EAAeC,eAAO,IAAAR,EAAAA,EAAI,GACnCS,WAAqC,QAA3BR,EAAe,OAAbM,QAAa,IAAbA,OAAa,EAAbA,EAAeE,kBAAU,IAAAR,EAAAA,EAAI,EACzCS,gBAA+C,QAAhCR,EAAe,OAAbK,QAAa,IAAbA,OAAa,EAAbA,EAAeG,uBAAe,IAAAR,EAAAA,EAAI,EACnDS,aAAyC,QAA7BR,EAAe,OAAbI,QAAa,IAAbA,OAAa,EAAbA,EAAeI,oBAAY,IAAAR,EAAAA,EAAI,GAC7CS,cAA2C,QAA9BR,EAAe,OAAbG,QAAa,IAAbA,OAAa,EAAbA,EAAeK,qBAAa,IAAAR,EAAAA,EAAI,GAC/CS,SAAiC,QAAzBR,EAAe,OAAbE,QAAa,IAAbA,OAAa,EAAbA,EAAeM,gBAAQ,IAAAR,GAAAA,EACjCS,YAAuC,QAA5BR,EAAe,OAAbC,QAAa,IAAbA,OAAa,EAAbA,EAAeO,mBAAW,IAAAR,GAAAA,IAExC,mBAsbCS,EAAU,CACZ/H,SACA7G,GAAIuK,EACJsE,SAR4B,CAC5BC,MAjbyBnO,EAAAA,EAAAA,IAAO,CAAC0D,EAAM8D,EAAI4G,EAAUC,KAAY,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACjEnI,EAAAA,GAAIC,MAAM,0BAA4B/C,GACtC,MAAMkL,EAAe7B,IACf8B,EAAQ5E,IACR6E,EAAuC,IAA1BF,EAAajB,WAC1BtO,EAAKgP,EAAQhP,GACb0P,EAAO1P,EAAGqK,iBACV5J,EAAQT,EAAGyK,kBACXpI,EAAwB,QAAnB4M,EAAY,QAAZC,EAAGQ,EAAKvN,YAAI,IAAA+M,OAAA,EAATA,EAAW7M,aAAK,IAAA4M,EAAAA,EAAIM,EAAalN,MACzCC,EAA0B,QAApB6M,EAAY,QAAZC,EAAGM,EAAKvN,YAAI,IAAAiN,OAAA,EAATA,EAAW9M,cAAM,IAAA6M,EAAAA,EAAII,EAAajN,OAC3CqN,GAAMC,EAAAA,EAAAA,GAAiBzH,GAC7BwH,EAAIE,UAAU,KAAKC,UACnBC,EAAAA,EAAAA,IAAiBJ,EAAKrN,EAAQD,EAAOkN,EAAaZ,aAClDgB,EAAIK,KAAK,UAAW,OAAF/O,OAASoB,EAAK,KAAApB,OAAIqB,IACpC,MAAM2N,EAAON,EAAIO,OAAO,KAAKF,KAAK,QAAS,eACrCG,EAAOR,EAAIO,OAAO,QACxBC,EAAKD,OAAO,UAAUF,KAAK,KAAM,SAAF/O,OAAWkH,IAAM6H,KAAK,UAAW,aAAaA,KAAK,OAAQ,GAAGA,KAAK,OAAQ,GAAGA,KAAK,cAAe,GAAGA,KAAK,eAAgB,GAAGA,KAAK,SAAU,sBAAsBE,OAAO,QAAQF,KAAK,IAAK,yBAAyBA,KAAK,OAAQR,EAAMlC,iBAAiB0C,KAAK,SAAU,QACtSG,EAAKD,OAAO,UAAUF,KAAK,KAAM,kBAAF/O,OAAoBkH,IAAM6H,KAAK,UAAW,aAAaA,KAAK,OAAQ,GAAGA,KAAK,OAAQ,GAAGA,KAAK,cAAe,GAAGA,KAAK,eAAgB,GAAGA,KAAK,SAAU,QAAQE,OAAO,QAAQF,KAAK,IAAK,yBAAyBA,KAAK,OAAQR,EAAMnC,YAAY2C,KAAK,SAAU,QAC5RG,EAAKD,OAAO,UAAUF,KAAK,KAAM,oBAAF/O,OAAsBkH,IAAM6H,KAAK,UAAW,aAAaA,KAAK,OAAQ,GAAGA,KAAK,OAAQ,GAAGA,KAAK,cAAe,GAAGA,KAAK,eAAgB,GAAGA,KAAK,SAAU,QAAQE,OAAO,QAAQF,KAAK,IAAK,0BAA0BA,KAAK,OAAQR,EAAMnC,YAAY2C,KAAK,SAAU,QAC/RC,EAAKC,OAAO,QAAQF,KAAK,QAAS,sBAAsBA,KAAK,QAAS3N,GAAO2N,KAAK,SAAU1N,GAAQ0N,KAAK,OAAQR,EAAM7C,iBACvH,MAAMyD,EAAa/N,EAA+B,EAAvBkN,EAAalB,QAClCgC,EAAc/N,EAAgC,EAAvBiN,EAAalB,QACtC5N,GACFwP,EAAKC,OAAO,QAAQF,KAAK,QAAS,iBAAiBA,KAAK,IAAK3N,EAAQ,GAAG2N,KAAK,IAAKT,EAAalB,QAAU,GAAG2B,KAAK,OAAQR,EAAMzC,eAAeiD,KAAK,YAAyC,KAA5BT,EAAaf,cAAqBwB,KAAK,cAAe,QAAQA,KAAK,cAAe,UAAUA,KAAK,oBAAqB,UAAU3L,KAAK5D,GAEvS,MAAM6P,GAA2B3P,EAAAA,EAAAA,IAAQE,GAAU0O,EAAalB,QAAUxN,EAAQ,IAAMuP,EAAY,YAC9FG,GAA2B5P,EAAAA,EAAAA,IAAQE,GAAUyB,EAASiN,EAAalB,QAAUxN,EAAQ,IAAMwP,EAAa,YACxGG,EAAYP,EAAKC,OAAO,KAAKF,KAAK,QAAS,gBACjDQ,EAAUN,OAAO,QAAQF,KAAK,KAAMT,EAAalB,SAAS2B,KAAK,KAAM3N,EAAQkN,EAAalB,SAAS2B,KAAK,KAAM1N,EAASiN,EAAalB,SAAS2B,KAAK,KAAM1N,EAASiN,EAAalB,SAAS2B,KAAK,SAAUR,EAAM1C,WAAWkD,KAAK,eAAgB,GAC5OQ,EAAUN,OAAO,QAAQF,KAAK,KAAMT,EAAalB,SAAS2B,KAAK,KAAMT,EAAalB,SAAS2B,KAAK,KAAMT,EAAalB,SAAS2B,KAAK,KAAM1N,EAASiN,EAAalB,SAAS2B,KAAK,SAAUR,EAAM1C,WAAWkD,KAAK,eAAgB,GAC3N,MAAM7F,EAAyB,QAAnBkF,EAAGK,EAAK9H,KAAKuC,cAAM,IAAAkF,EAAAA,EAAI,YAC7BjF,EAAyB,QAAnBkF,EAAGI,EAAK9H,KAAKwC,cAAM,IAAAkF,EAAAA,EAAI,aACnCkB,EAAUN,OAAO,QAAQF,KAAK,QAAS,2CAA2CA,KAAK,IAAKT,EAAalB,QAAU+B,EAAa,GAAGJ,KAAK,IAAK1N,EAASiN,EAAalB,QAAU,GAAG2B,KAAK,OAAQR,EAAMzC,eAAeiD,KAAK,YAAaT,EAAaf,cAAcwB,KAAK,cAAe,QAAQA,KAAK,cAAe,UAAU3L,KAAK8F,GAC9TqG,EAAUN,OAAO,QAAQF,KAAK,QAAS,2CAA2CA,KAAK,IAAKT,EAAalB,QAAU,GAAG2B,KAAK,IAAKT,EAAalB,QAAUgC,EAAc,GAAGL,KAAK,OAAQR,EAAMzC,eAAeiD,KAAK,YAAaT,EAAaf,cAAcwB,KAAK,cAAe,QAAQA,KAAK,cAAe,UAAUA,KAC/S,YAAW,cAAA/O,OACGsO,EAAalB,QAAU,EAAC,KAAApN,OAAIsO,EAAalB,QAAUgC,EAAc,EAAC,MAChFhM,KAAK+F,GACP,MAAM7H,EAASmN,EAAK9H,KAAKrF,QAAUmN,EAAK9H,KAAKrF,OAAO2D,OAAS,EAAIwJ,EAAK9H,KAAKrF,OAASoI,EACpF,GAAIpI,EAAO2D,OAAS,EAAG,CACrB,MAAMuK,EAAaR,EAAKC,OAAO,KAAKF,KAAK,QAAS,kBAC5CU,EAAahB,EAAK9H,KAAK/E,gBACvB8N,EAAiB,GACvB,GAAID,GAAcA,EAAWxK,SAAW3D,EAAO2D,OAAQ,CACrD,IAAI0K,EAAe,EACnBF,EAAWxN,QAASH,IAClB4N,EAAenI,KAAK,CAAEqI,MAAOD,EAAcE,IAAK/N,IAChD6N,EAAe7N,GAEnB,KAAO,CACL,MAAMgO,EAAa,EAAIxO,EAAO2D,OAC9B3D,EAAOW,QAAQ,CAAC8N,EAAGC,KACjBN,EAAenI,KAAK,CAClBqI,MAAOI,EAAQF,EACfD,KAAMG,EAAQ,GAAKF,KAGzB,CACAxO,EAAOW,QAAQ,CAACT,EAAOwO,KACrB,MAAMC,EAAMP,EAAeM,GACrBE,EAAS5B,EAAalB,QAAU6C,EAAIL,MAAQT,EAE5CgB,GAAWD,GADJ5B,EAAalB,QAAU6C,EAAIJ,IAAMV,IACZ,EAC9Ba,EAAQ,GACVR,EAAWP,OAAO,QAAQF,KAAK,KAAMmB,GAAQnB,KAAK,KAAMmB,GAAQnB,KAAK,KAAMT,EAAalB,SAAS2B,KAAK,KAAM1N,EAASiN,EAAalB,SAAS2B,KAAK,SAAU,QAAQA,KAAK,eAAgB,GAAGA,KAAK,mBAAoB,OAAOA,KAAK,UAAW,IAE5OS,EAAWP,OAAO,QAAQF,KAAK,QAAS,uBAAuBA,KAAK,IAAKoB,GAASpB,KAAK,IAAK1N,EAASiN,EAAalB,QAAU,KAAK2B,KAAK,OAAQR,EAAMzC,eAAeiD,KAAK,YAAaT,EAAaf,aAAe,GAAGwB,KAAK,cAAe,UAAU3L,KAAK5B,IAE3P,CACA,GAAI8M,EAAab,SAAU,CACzB,MAAM2C,EAAYpB,EAAKC,OAAO,KAAKF,KAAK,QAAS,gBACjD,IAAK,IAAIsB,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1B,MAAMC,EAAQD,EAAI,EACZjQ,EAAIkO,EAAalB,QAAU+B,EAAamB,EAC9CF,EAAUnB,OAAO,QAAQF,KAAK,KAAM3O,GAAG2O,KAAK,KAAM3O,GAAG2O,KAAK,KAAMT,EAAalB,SAAS2B,KAAK,KAAM1N,EAASiN,EAAalB,SAAS2B,KAAK,SAAUR,EAAMvC,WAAW+C,KAAK,mBAAoB,OACzLqB,EAAUnB,OAAO,QAAQF,KAAK,KAAMT,EAAalB,SAAS2B,KAAK,KAAM3N,EAAQkN,EAAalB,SAAS2B,KAAK,KAAM1N,EAASiN,EAAalB,QAAUgC,EAAckB,GAAOvB,KAAK,KAAM1N,EAASiN,EAAalB,QAAUgC,EAAckB,GAAOvB,KAAK,SAAUR,EAAMvC,WAAW+C,KAAK,mBAAoB,MAC9R,CACF,CACA,MAAMwB,EAA4B,IAAI9J,IAQtC,GAPAgI,EAAKjI,MAAMvE,QAAS4C,IAClB0L,EAAUjJ,IAAIzC,EAAKqC,GAAI,CACrB9G,EAAGiP,EAASxK,EAAKzE,GACjBC,EAAGiP,EAASzK,EAAKxE,GACjBwE,WAGA4J,EAAKnL,UAAU2B,OAAS,EAAG,CAC7B,MAAMuL,EAAgBxB,EAAKC,OAAO,KAAKF,KAAK,QAAS,qBAC/C0B,EAAqBzB,EAAKC,OAAO,KAAKF,KAAK,QAAS,0BAC1DN,EAAKnL,UAAUrB,QAASsB,IACtB,GAAqC,IAAjCA,EAASmE,aAAazC,OACxB,OAEF,MAAMyL,EAAmBnN,EAASmE,aAAanG,IAAKoP,IAAG,CAAQzJ,GAAIyJ,EAAKV,IAAKM,EAAUtJ,IAAI0J,GAAM9L,KAAM4J,EAAKjI,MAAMoK,KAAMC,GAAMA,EAAE3J,KAAOyJ,MAAS9O,OAAQiP,GAAMA,EAAEb,KAAOa,EAAEjM,MAAMkM,KAAK,CAACC,EAAGC,IAAMD,EAAEnM,KAAKzE,EAAI6Q,EAAEpM,KAAKzE,GAChN,IAAK,IAAIiQ,EAAI,EAAGA,EAAIK,EAAiBzL,OAAS,EAAGoL,IAAK,CACpD,MAAMa,EAAUR,EAAiBL,GAC3Bc,EAAOT,EAAiBL,EAAI,GAClCI,EAAmBxB,OAAO,QAAQF,KAAK,QAAS,mCAAmCA,KAAK,KAAMmC,EAAQjB,IAAI7P,GAAG2O,KAAK,KAAMmC,EAAQjB,IAAI5P,GAAG0O,KAAK,KAAMoC,EAAKlB,IAAI7P,GAAG2O,KAAK,KAAMoC,EAAKlB,IAAI5P,GAAG0O,KAAK,SAAUR,EAAMnC,YAAY2C,KAAK,eAAgB,GAAGA,KAAK,mBAAoB,MACzQ,CACA,IAAIqC,EAAOC,IACPC,GAAQD,IACRhR,EAAI,EASR,GARAkD,EAASmE,aAAazF,QAAS4B,IAC7B,MAAMoM,EAAMM,EAAUtJ,IAAIpD,GACtBoM,IACFmB,EAAOG,KAAKC,IAAIJ,EAAMnB,EAAI7P,GAC1BkR,EAAOC,KAAKE,IAAIH,EAAMrB,EAAI7P,GAC1BC,EAAI4P,EAAI5P,KAGR+Q,IAASC,KAAYC,KAAUD,IAAU,CAC3C,MAAMjE,EAAU,GACVsE,EAAoC,EAA1BpD,EAAajB,WACvBsE,EAAStR,EAAIqR,EAAU,EACvBE,EAAYrB,EAAUtJ,IAAI1D,EAASkE,QACzC,GAAImK,EAAW,CACb,MAAMzB,GAAWiB,EAAOE,GAAQ,EAChCM,EAAUxR,EAAI+P,EACdyB,EAAUvR,EAAIsR,EAASnD,EAAa,CACtC,CACAgC,EAAcvB,OAAO,QAAQF,KAAK,QAAS,wBAAwBA,KAAK,IAAKqC,EAAOhE,GAAS2B,KAAK,IAAK4C,GAAQ5C,KAAK,QAASuC,EAAOF,EAAiB,EAAVhE,GAAa2B,KAAK,SAAU2C,GAAS3C,KAAK,OAAQ,QAAQA,KAAK,SAAUR,EAAM1C,WAAWkD,KAAK,eAAgB,KAAKA,KAAK,KAAM,GAAGA,KAAK,KAAM,EAC1R,GAEJ,CACA,MAAM8C,EAAa7C,EAAKC,OAAO,KAAKF,KAAK,QAAS,iBAC5C+C,EAA8B,IAAIrL,IACxCgI,EAAKnL,UAAUrB,QAASsB,IACtBuO,EAAYxK,IAAI/D,EAASkE,OAAQ,IAAIsK,IAAIxO,EAASmE,iBAEpD,MAAMsK,EAAavD,EAAK1K,MAAMlC,OAAQmC,IACpC,IAAKuM,EAAU0B,IAAIjO,EAAK6E,UAAY0H,EAAU0B,IAAIjO,EAAKc,QACrD,OAAO,EAET,MAAMoN,EAAqBJ,EAAY7K,IAAIjD,EAAKc,QAChD,OAAsB,OAAlBoN,QAAkB,IAAlBA,IAAAA,EAAoBD,IAAIjO,EAAK6E,UAKnCgJ,EAAWjD,UAAU,QAAQH,KAAKuD,GAAYG,QAAQlD,OAAO,QAAQF,KAAK,QAAU/K,GAAI,eAAAhE,OAAoBgE,EAAK0E,OAAS,wBAA0B,KAAMqG,KAAK,KAAO/K,IACpK,MAAMoO,EAAY7B,EAAUtJ,IAAIjD,EAAK6E,QAC/BwJ,EAAY9B,EAAUtJ,IAAIjD,EAAKc,QAE/BwN,EADa7D,EAAKjI,MAAMoK,KAAMC,GAAMA,EAAE3J,KAAOlD,EAAK6E,QAC9BlB,iBAAmB6G,EAAa+C,KAAKgB,KAAK,GAAKjE,EAAajB,WAChFmF,EAAKH,EAAUjS,EAAIgS,EAAUhS,EAC7BqS,EAAKJ,EAAUhS,EAAI+R,EAAU/R,EAC7BqS,EAAWnB,KAAKgB,KAAKC,EAAKA,EAAKC,EAAKA,GAC1C,OAAOL,EAAUhS,EAAIoS,EAAKE,EAAWJ,IACpCvD,KAAK,KAAO/K,IACb,MAAMoO,EAAY7B,EAAUtJ,IAAIjD,EAAK6E,QAC/BwJ,EAAY9B,EAAUtJ,IAAIjD,EAAKc,QAE/BwN,EADa7D,EAAKjI,MAAMoK,KAAMC,GAAMA,EAAE3J,KAAOlD,EAAK6E,QAC9BlB,iBAAmB6G,EAAa+C,KAAKgB,KAAK,GAAKjE,EAAajB,WAChFmF,EAAKH,EAAUjS,EAAIgS,EAAUhS,EAC7BqS,EAAKJ,EAAUhS,EAAI+R,EAAU/R,EAC7BqS,EAAWnB,KAAKgB,KAAKC,EAAKA,EAAKC,EAAKA,GAC1C,OAAOL,EAAU/R,EAAIoS,EAAKC,EAAWJ,IACpCvD,KAAK,KAAO/K,IACb,MAAMoO,EAAY7B,EAAUtJ,IAAIjD,EAAK6E,QAC/BwJ,EAAY9B,EAAUtJ,IAAIjD,EAAKc,QAE/BwN,EADa7D,EAAKjI,MAAMoK,KAAMC,GAAMA,EAAE3J,KAAOlD,EAAKc,QAC9B6C,iBAAmB6G,EAAa+C,KAAKgB,KAAK,GAAKjE,EAAajB,WAChFmF,EAAKJ,EAAUhS,EAAIiS,EAAUjS,EAC7BqS,EAAKL,EAAU/R,EAAIgS,EAAUhS,EAC7BqS,EAAWnB,KAAKgB,KAAKC,EAAKA,EAAKC,EAAKA,GAC1C,OAAOJ,EAAUjS,EAAIoS,EAAKE,EAAWJ,IACpCvD,KAAK,KAAO/K,IACb,MAAMoO,EAAY7B,EAAUtJ,IAAIjD,EAAK6E,QAC/BwJ,EAAY9B,EAAUtJ,IAAIjD,EAAKc,QAE/BwN,EADa7D,EAAKjI,MAAMoK,KAAMC,GAAMA,EAAE3J,KAAOlD,EAAKc,QAC9B6C,iBAAmB6G,EAAa+C,KAAKgB,KAAK,GAAKjE,EAAajB,WAChFmF,EAAKJ,EAAUhS,EAAIiS,EAAUjS,EAC7BqS,EAAKL,EAAU/R,EAAIgS,EAAUhS,EAC7BqS,EAAWnB,KAAKgB,KAAKC,EAAKA,EAAKC,EAAKA,GAC1C,OAAOJ,EAAUhS,EAAIoS,EAAKC,EAAWJ,IACpCvD,KAAK,SAAUR,EAAMnC,YAAY2C,KAAK,eAAgB,GAAGA,KAAK,mBAAqB/K,GAASA,EAAK0E,OAAS,MAAQ,MAAMqG,KAAK,aAAe/K,GAC3H,YAAdA,EAAKjD,MAAoC,kBAAdiD,EAAKjD,KAC3B,uBAAPf,OAA8BkH,EAAE,KAE3B,MACN6H,KAAK,eAAiB/K,GACL,aAAdA,EAAKjD,MAAqC,kBAAdiD,EAAKjD,KAC5B,yBAAPf,OAAgCkH,EAAE,KAE7B,MAET2K,EAAWjD,UAAU,QAAQH,KAAKuD,EAAWnQ,OAAQmC,GAASA,EAAKhD,QAAQmR,QAAQlD,OAAO,QAAQF,KAAK,QAAS,sBAAsBA,KAAK,IAAM/K,IAC/I,MAAMoO,EAAY7B,EAAUtJ,IAAIjD,EAAK6E,QAC/BwJ,EAAY9B,EAAUtJ,IAAIjD,EAAKc,QAC/B6N,GAAQP,EAAUhS,EAAIiS,EAAUjS,GAAK,EACrCqS,EAAKJ,EAAUhS,EAAI+R,EAAU/R,EAC7BmS,EAAKH,EAAUjS,EAAIgS,EAAUhS,EAInC,OAAOuS,EAFQ,GACDF,EAFGlB,KAAKgB,KAAKC,EAAKA,EAAKC,EAAKA,MAIzC1D,KAAK,IAAM/K,IACZ,MAAMoO,EAAY7B,EAAUtJ,IAAIjD,EAAK6E,QAC/BwJ,EAAY9B,EAAUtJ,IAAIjD,EAAKc,QAC/B8N,GAAQR,EAAU/R,EAAIgS,EAAUhS,GAAK,EACrCmS,EAAKH,EAAUjS,EAAIgS,EAAUhS,EAC7BqS,EAAKJ,EAAUhS,EAAI+R,EAAU/R,EAInC,OAAOuS,EAFQ,IACAJ,EAFEjB,KAAKgB,KAAKC,EAAKA,EAAKC,EAAKA,MAIzC1D,KAAK,OAAQR,EAAMzC,eAAeiD,KAAK,YAAaT,EAAad,eAAeuB,KAAK,cAAe,UAAUA,KAAK,oBAAqB,UAAUA,KAAK,YAAc/K,IACtK,MAAMoO,EAAY7B,EAAUtJ,IAAIjD,EAAK6E,QAC/BwJ,EAAY9B,EAAUtJ,IAAIjD,EAAKc,QAC/B6N,GAAQP,EAAUhS,EAAIiS,EAAUjS,GAAK,EACrCwS,GAAQR,EAAU/R,EAAIgS,EAAUhS,GAAK,EACrCmS,EAAKH,EAAUjS,EAAIgS,EAAUhS,EAC7BqS,EAAKJ,EAAUhS,EAAI+R,EAAU/R,EAC7BqS,EAAWnB,KAAKgB,KAAKC,EAAKA,EAAKC,EAAKA,GAIpCI,EAASF,EAHA,GACDF,EAAKC,GAGbI,EAASF,EAJA,IAEAJ,EAAKE,GAGpB,IAAIK,EAA6B,IAArBxB,KAAKyB,MAAMP,EAAID,GAAYjB,KAAK0B,GAI5C,OAHIF,EAAQ,IAAMA,GAAS,MACzBA,GAAS,KAEJ,UAAP/S,OAAiB+S,EAAK,KAAA/S,OAAI6S,EAAM,KAAA7S,OAAI8S,EAAM,OACzC1P,KAAMY,GAASA,EAAKhD,OACvB,MAAMkS,EAAalE,EAAKC,OAAO,KAAKF,KAAK,QAAS,kBAC5CoE,EAAsB1E,EAAK/H,OAAOnF,IAAKiG,IAC3C,MAAM4L,EAAS7C,EAAUtJ,IAAIO,EAAMC,QACnC,IAAK2L,EACH,OAAO,KAET,MAAMtK,EAAUuG,EAAS7H,EAAMsB,SACzBC,EAAUuG,EAAS9H,EAAMuB,SACzByJ,EAAK1J,EAAUsK,EAAOhT,EACtBqS,EAAK1J,EAAUqK,EAAO/S,EACtBqS,EAAWnB,KAAKgB,KAAKC,EAAKA,EAAKC,EAAKA,GACpCY,EAAY/E,EAAajB,WAAa,EAG5C,MAAO,CACL+F,SACAtK,UACAC,UACAuK,WANiBZ,EAAWW,EAAYvK,EAAU0J,EAAKE,EAAWW,EAAYvK,EAO9EyK,WANiBb,EAAWW,EAAYtK,EAAU0J,EAAKC,EAAWW,EAAYtK,KAQ/ElH,OAAQ2F,GAAoB,OAAVA,GACrB0L,EAAWtE,UAAU,QAAQH,KAAK0E,GAAqBhB,QAAQlD,OAAO,QAAQF,KAAK,QAAS,iBAAiBA,KAAK,KAAOvH,GAAUA,EAAM4L,OAAOhT,GAAG2O,KAAK,KAAOvH,GAAUA,EAAM4L,OAAO/S,GAAG0O,KAAK,KAAOvH,GAAUA,EAAM8L,YAAYvE,KAAK,KAAOvH,GAAUA,EAAM+L,YAAYxE,KAAK,SAAUR,EAAMlC,iBAAiB0C,KAAK,eAAgB,GAAGA,KAAK,mBAAoB,OAAOA,KAAK,aAAc,cAAF/O,OAAgBkH,EAAE,MAC1Y,MACMsM,EADaxE,EAAKC,OAAO,KAAKF,KAAK,QAAS,iBACrBH,UAAU,KAAKH,KAAKA,EAAKjI,OAAO2L,QAAQlD,OAAO,KAAKF,KAC/E,QACClK,GAAS,CAAC,eAAgBA,EAAKwC,UAAY,iBAAHrH,OAAoB6E,EAAKwC,WAAc,IAAIxF,OAAO4R,SAASC,KAAK,MAE3GF,EAAU3R,OAAQgD,GAAiC,cAAxBA,EAAK/B,gBAAgCmM,OAAO,UAAUF,KAAK,QAAS,6BAA6BA,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI9G,GAAG2O,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI7G,GAAG0O,KAAK,IAA+B,EAA1BT,EAAajB,YAAgB0B,KAAK,OAAQ,QAAQA,KAAK,SAAUR,EAAMrC,iBAAiB6C,KAAK,eAAgB,GACjVyE,EAAU3R,OAAQgD,GAAiC,QAAxBA,EAAK/B,gBAA0BmM,OAAO,UAAUF,KAAK,QAAS,uBAAuBA,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI9G,GAAG2O,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI7G,GAAG0O,KAAK,IAA+B,EAA1BT,EAAajB,YAAgB0B,KAAK,OAAQ,QAAQA,KAAK,SAAUR,EAAMrC,iBAAiB6C,KAAK,eAAgB,GACrUyE,EAAU3R,OAAQgD,GAAiC,UAAxBA,EAAK/B,gBAA4BmM,OAAO,UAAUF,KAAK,QAAS,yBAAyBA,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI9G,GAAG2O,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI7G,GAAG0O,KAAK,IAA+B,EAA1BT,EAAajB,YAAgB0B,KAAK,OAAQ,QAAQA,KAAK,SAAU,QAAQA,KAAK,eAAgB,GAC1T,MAAM4E,EAAcH,EAAU3R,OAAQgD,GAAiC,WAAxBA,EAAK/B,gBACpD6Q,EAAY1E,OAAO,UAAUF,KAAK,QAAS,0BAA0BA,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI9G,GAAG2O,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI7G,GAAG0O,KAAK,IAA+B,EAA1BT,EAAajB,YAAgB0B,KAAK,OAAQ,SAASA,KAAK,SAAUR,EAAMrC,iBAAiB6C,KAAK,eAAgB,GAC3RyE,EAAU3R,OACPgD,IAAUA,EAAK8C,kBAA4C,WAAxB9C,EAAK/B,gBAAkD,WAAnB+B,EAAKwC,WAC7E4H,OAAO,UAAUF,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI9G,GAAG2O,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI7G,GAAG0O,KAAK,IAAKT,EAAajB,YAAY0B,KAAK,OAAQR,EAAMtC,eAAe8C,KAAK,SAAUR,EAAMrC,iBAAiB6C,KAAK,eAAgB,GACjP,MAAM6E,EAA8C,GAA1BtF,EAAajB,WACjCwG,EAA2C,IAA1BvF,EAAajB,WA8DpC,GA7DAsG,EAAY1E,OAAO,QAAQF,KAAK,QAAS,uBAAuBA,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI9G,GAAG2O,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI7G,EAAIwT,GAAgB9E,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI9G,EAAIyT,EAAiBtC,KAAKuC,IAAIvC,KAAK0B,GAAK,IAAIlE,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI7G,EAAIwT,EAAiBtC,KAAKwC,IAAIxC,KAAK0B,GAAK,IAAIlE,KAAK,SAAUR,EAAMrC,iBAAiB6C,KAAK,eAAgB,GAC1Z4E,EAAY1E,OAAO,QAAQF,KAAK,QAAS,uBAAuBA,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI9G,EAAIyT,EAAiBtC,KAAKuC,IAAIvC,KAAK0B,GAAK,IAAIlE,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI7G,EAAIwT,EAAiBtC,KAAKwC,IAAIxC,KAAK0B,GAAK,IAAIlE,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI9G,EAAIyT,EAAiBtC,KAAKuC,IAAIvC,KAAK0B,GAAK,IAAIlE,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI7G,EAAIwT,EAAiBtC,KAAKwC,IAAIxC,KAAK0B,GAAK,IAAIlE,KAAK,SAAUR,EAAMrC,iBAAiB6C,KAAK,eAAgB,GAC3d4E,EAAY1E,OAAO,QAAQF,KAAK,QAAS,uBAAuBA,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI9G,EAAIyT,EAAiBtC,KAAKuC,IAAIvC,KAAK0B,GAAK,IAAIlE,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI7G,EAAIwT,EAAiBtC,KAAKwC,IAAIxC,KAAK0B,GAAK,IAAIlE,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI9G,GAAG2O,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI7G,EAAIwT,GAAgB9E,KAAK,SAAUR,EAAMrC,iBAAiB6C,KAAK,eAAgB,GAC1Z4E,EAAY1E,OAAO,UAAUF,KAAK,QAAS,sBAAsBA,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI9G,GAAG2O,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI7G,EAAIwT,GAAgB9E,KAAK,IAAK6E,GAAmB7E,KAAK,OAAQ,SAASA,KAAK,SAAUR,EAAMrC,iBAAiB6C,KAAK,eAAgB,GAC9R4E,EAAY1E,OAAO,UAAUF,KAAK,QAAS,sBAAsBA,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI9G,EAAIyT,EAAiBtC,KAAKuC,IAAIvC,KAAK0B,GAAK,IAAIlE,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI7G,EAAIwT,EAAiBtC,KAAKwC,IAAIxC,KAAK0B,GAAK,IAAIlE,KAAK,IAAK6E,GAAmB7E,KAAK,OAAQ,SAASA,KAAK,SAAUR,EAAMrC,iBAAiB6C,KAAK,eAAgB,GAC/V4E,EAAY1E,OAAO,UAAUF,KAAK,QAAS,sBAAsBA,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI9G,EAAIyT,EAAiBtC,KAAKuC,IAAIvC,KAAK0B,GAAK,IAAIlE,KAAK,KAAOlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI7G,EAAIwT,EAAiBtC,KAAKwC,IAAIxC,KAAK0B,GAAK,IAAIlE,KAAK,IAAK6E,GAAmB7E,KAAK,OAAQ,SAASA,KAAK,SAAUR,EAAMrC,iBAAiB6C,KAAK,eAAgB,GAC/VyE,EAAU3R,OAAQgD,IAAmC,IAA1BA,EAAK8C,kBAA2BsH,OAAO,QAAQF,KAAK,IAAMlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI9G,EAAIoO,EAAa,GAAGO,KAAK,IAAMlK,GAAS0L,EAAUtJ,IAAIpC,EAAKqC,IAAI7G,EAAImO,EAAa,GAAGO,KAAK,QAASP,GAAYO,KAAK,SAAUP,GAAYO,KAAK,OAAQR,EAAMtC,eAAe8C,KAAK,SAAUR,EAAMrC,iBAAiB6C,KAAK,eAAgB,GAC1VyE,EAAU3R,OAAQgD,IAA0B,IAAjBA,EAAK5B,SAAkBgM,OAAO,QAAQF,KAAK,QAAS,mBAAmBA,KAAK,KAAOlK,IAC5G,MAAMoL,EAAMM,EAAUtJ,IAAIpC,EAAKqC,IAC/B,IAAI8M,EAASnP,EAAK8C,iBAAmB6G,EAAa,EAAI,GAAKF,EAAajB,WAAa,GAIrF,OAHIxI,EAAK/B,iBACPkR,GAAU1F,EAAajB,WAAa,IAE/B4C,EAAI7P,EAAI4T,IACdjF,KAAK,KAAOlK,IACb,MAAMoL,EAAMM,EAAUtJ,IAAIpC,EAAKqC,IACzB+M,EAAapP,EAAK8C,iBAAmB6G,EAAuC,EAA1BF,EAAajB,WACrE,OAAO4C,EAAI5P,EAAI4T,EAAa,IAC3BlF,KAAK,KAAOlK,IACb,MAAMoL,EAAMM,EAAUtJ,IAAIpC,EAAKqC,IAC/B,IAAI8M,EAASnP,EAAK8C,iBAAmB6G,EAAa,EAAI,GAAKF,EAAajB,WAAa,GAIrF,OAHIxI,EAAK/B,iBACPkR,GAAU1F,EAAajB,WAAa,IAE/B4C,EAAI7P,EAAI4T,IACdjF,KAAK,KAAOlK,IACb,MAAMoL,EAAMM,EAAUtJ,IAAIpC,EAAKqC,IACzB+M,EAAapP,EAAK8C,iBAAmB6G,EAAuC,EAA1BF,EAAajB,WACrE,OAAO4C,EAAI5P,EAAI4T,EAAa,IAC3BlF,KAAK,SAAUR,EAAMrC,iBAAiB6C,KAAK,eAAgB,GAC9DyE,EAAUvE,OAAO,QAAQF,KAAK,IAAMlK,IAAS,IAAAqP,EAC3C,MAAMjE,EAAMM,EAAUtJ,IAAIpC,EAAKqC,IAC/B,GAAuB,WAAnBrC,EAAKwC,UACP,YAA6B,IAAtBxC,EAAKrC,aAA0ByN,EAAI7P,EAAIyE,EAAKrC,aAAeyN,EAAI7P,EAExE,IAAI+T,EAAgB7F,EAAahB,gBAC7BzI,EAAK/B,qBAAwC,IAAtB+B,EAAKrC,eAC9B2R,GAAiB,IAEnB,MAAMC,EAAgC,QAApBF,EAAGrP,EAAKrC,oBAAY,IAAA0R,EAAAA,EAAIC,EAC1C,OAAOlE,EAAI7P,EAAIgU,IACdrF,KAAK,IAAMlK,IAAS,IAAAwP,EACrB,MAAMpE,EAAMM,EAAUtJ,IAAIpC,EAAKqC,IAC/B,GAAuB,WAAnBrC,EAAKwC,UACP,YAA6B,IAAtBxC,EAAKlC,aAA0BsN,EAAI5P,EAAIwE,EAAKlC,aAAesN,EAAI5P,EAAI,EAE5E,IAAI8T,GAAiB7F,EAAahB,gBAC9BzI,EAAK/B,qBAAwC,IAAtB+B,EAAKlC,eAC9BwR,GAAiB,IAEnB,MAAMC,EAAgC,QAApBC,EAAGxP,EAAKlC,oBAAY,IAAA0R,EAAAA,EAAIF,EAC1C,OAAOlE,EAAI5P,EAAI+T,IACdrF,KAAK,QAAS,sBAAsBA,KAAK,OAASlK,GAC5B,YAAnBA,EAAKwC,UACAkH,EAAMlC,gBAEQ,WAAnBxH,EAAKwC,UACA,OAEFkH,EAAMpC,qBACZ4C,KAAK,YAAaT,EAAad,eAAeuB,KAAK,cAAgBlK,GAA4B,WAAnBA,EAAKwC,UAAyB,OAAS,UAAU0H,KAAK,cAAgBlK,GAA4B,WAAnBA,EAAKwC,UAAyB,SAAW,SAAS0H,KAAK,oBAAsBlK,GAA4B,WAAnBA,EAAKwC,UAAyB,SAAW,QAAQjE,KAAMyB,GAASA,EAAK7D,OACrTyN,EAAKzJ,YAAYC,OAAS,EAAG,CAC/B,MAAMqP,EAAmBtF,EAAKC,OAAO,KAAKF,KAAK,QAAS,uBAiBxD,GAhBAN,EAAKzJ,YAAY/C,QAASqC,IACxB,MAAMiQ,EAAkBjQ,EAAW0E,YAAYzH,IAAKiT,IAAK,CACvDpU,EAAGiP,EAASmF,EAAMpU,GAClBC,EAAGiP,EAASkF,EAAMnU,MAEpB,GAAIkU,EAAgBtP,OAAS,EAC3B,IAAK,IAAIoL,EAAI,EAAGA,EAAIkE,EAAgBtP,OAAS,EAAGoL,IAC9CiE,EAAiBrF,OAAO,QAAQF,KAAK,QAAS,2BAA2BA,KAAK,KAAMwF,EAAgBlE,GAAGjQ,GAAG2O,KAAK,KAAMwF,EAAgBlE,GAAGhQ,GAAG0O,KAAK,KAAMwF,EAAgBlE,EAAI,GAAGjQ,GAAG2O,KAAK,KAAMwF,EAAgBlE,EAAI,GAAGhQ,GAAG0O,KAAK,SAAUR,EAAM1C,WAAWkD,KAAK,eAAgB,KAAKA,KAAK,mBAAoB,OAG5SwF,EAAgBtS,QAASuS,IACvB,MAAMC,EAAiBH,EAAiBrF,OAAO,KAAKF,KAAK,QAAS,sBAClE0F,EAAexF,OAAO,UAAUF,KAAK,KAAMyF,EAAMpU,GAAG2O,KAAK,KAAMyF,EAAMnU,GAAG0O,KAAK,IAAK,IAAIA,KAAK,OAAQ,SAASA,KAAK,SAAUR,EAAM1C,WAAWkD,KAAK,eAAgB,KACjK0F,EAAexF,OAAO,QAAQF,KAAK,IAAKyF,EAAMpU,GAAG2O,KAAK,IAAKyF,EAAMnU,GAAG0O,KAAK,cAAe,UAAUA,KAAK,oBAAqB,WAAWA,KAAK,YAAa,IAAIA,KAAK,OAAQR,EAAMzC,eAAeiD,KAAK,cAAe,QAAQ3L,KAAKkB,EAAWc,YAG3OqJ,EAAKvJ,eAAgB,CACvB,IAAIwP,EAAOrF,EAASZ,EAAKvJ,eAAe9E,GACpCuU,EAAOrF,EAASb,EAAKvJ,eAAe7E,GACxC,MAAM+M,EAAU,GACV6G,EAAa,GACbW,EAAW,GACXC,EAAeP,EAAiBrF,OAAO,KAAKF,KAAK,QAAS,2BAC1D+F,EAAoB,IAAIrG,EAAKzJ,aAAanD,OAAQmP,GAAMA,EAAE5N,MAAM2N,KAAK,CAACC,EAAGC,IAAMD,EAAE5L,OAAS6L,EAAE7L,QAC5F2P,EAAe,GAKrB,GAJAD,EAAkB7S,QAAQ,CAACqC,EAAY0Q,KACrC,MAAMC,EAAQJ,EAAa5F,OAAO,QAAQF,KAAK,IAAK2F,EAAOtH,GAAS2B,KAAK,IAAK4F,EAAOvH,GAAW4H,EAAM,GAAKf,GAAYlF,KAAK,YAAa6F,GAAU7F,KAAK,OAAQR,EAAMzC,eAAeiD,KAAK,cAAe,SAASA,KAAK,oBAAqB,UAAU3L,KAAK,GAADpD,OAAIsE,EAAWc,OAAM,MAAApF,OAAKsE,EAAWlB,OAC/R2R,EAAaxN,KAAK0N,KAEhBF,EAAa9P,OAAS,EAAG,CAC3B,IAAIiQ,EAAW,EACXC,EAAY,EAChBJ,EAAa9S,QAASgT,IACpB,MAAMG,EAAWH,EAAMpQ,OACjBwQ,EAAYD,EAASE,wBAC3BJ,EAAW3D,KAAKE,IAAIyD,EAAUG,GAC9B,MAAME,EAAOH,EAASI,UACtBL,EAAY5D,KAAKE,IAAI0D,EAAWI,EAAKlU,UAEvC,MAAMoU,EAAWP,EAAqB,EAAV9H,EAAc,IACpCsI,EAAYZ,EAAkB7P,OAASgP,EAAuB,EAAV7G,EAAc+H,EAAY,EAC9E/D,EAAO9C,EAAalB,QACpBkE,EAAOlQ,EAAQkN,EAAalB,QAAUqI,EACtCE,EAAOrH,EAAalB,QACpBwI,EAAOvU,EAASiN,EAAalB,QAAUsI,EAC7ChB,EAAOnD,KAAKE,IAAIL,EAAMG,KAAKC,IAAIkD,EAAMpD,IACrCqD,EAAOpD,KAAKE,IAAIkE,EAAMpE,KAAKC,IAAImD,EAAMiB,IACrCb,EAAa9S,QAAQ,CAACgT,EAAOD,KAC3BC,EAAMlG,KAAK,IAAK2F,EAAOtH,GAAS2B,KAAK,IAAK4F,EAAOvH,GAAW4H,EAAM,GAAKf,KAEzEY,EAAagB,OAAO,OAAQ,QAAQ9G,KAAK,IAAK2F,GAAM3F,KAAK,IAAK4F,GAAM5F,KAAK,QAAS0G,GAAU1G,KAAK,SAAU2G,GAAW3G,KAAK,OAAQ,SAASA,KAAK,SAAUR,EAAM1C,WAAWkD,KAAK,eAAgB,KAAKA,KAAK,KAAM,GAAGA,KAAK,KAAM,EACjO,CACF,CACF,CACA,GAAIN,EAAKvL,MAAM+B,OAAS,EAAG,CACzB,MAAM6Q,EAAa9G,EAAKC,OAAO,KAAKF,KAAK,QAAS,iBAClDN,EAAKvL,MAAMjB,QAASkB,IAClB,MAAM4S,EAAQ1G,EAASlM,EAAK/C,GACtB4V,EAAQ1G,EAASnM,EAAK9C,GAC5ByV,EAAW7G,OAAO,QAAQF,KAAK,IAAKgH,GAAOhH,KAAK,IAAKiH,GAAOjH,KAAK,cAAe,SAASA,KAAK,YAAa,IAAIA,KAAK,OAAQR,EAAMzC,eAAeiD,KAAK,cAAe,QAAQ3L,KAAKD,EAAKC,OAE3L,CACA,GAAIqL,EAAKnJ,aAAaL,OAAS,EAAG,CAChC,MAAMgR,EAAoBjH,EAAKC,OAAO,KAAKF,KAAK,QAAS,wBACzDN,EAAKnJ,aAAarD,QAASsD,IACzB,MAAM2Q,EAAO7G,EAAS9J,EAAYnF,GAC5B+V,EAAO7G,EAAS/J,EAAYlF,GAC5B+V,EAAa,GAGbC,EAAY,eAAHrW,OACTkW,EAAI,KAAAlW,OAAImW,EAAOG,GAAe,gBAAAtW,OAC9BkW,EAAOE,EAHU,GAGiB,KAAApW,OAAImW,EAAOG,GAAe,gBAAAtW,OAC5DkW,EAAOE,EAJU,GAIiB,KAAApW,OAAImW,EAAOG,GAAkB,EAAC,gBAAAtW,OAChEkW,EAAOE,EAAU,KAAApW,OAAImW,EAAI,gBAAAnW,OACzBkW,EAAOE,EANU,GAMiB,KAAApW,OAAImW,EAAOG,GAAkB,EAAC,gBAAAtW,OAChEkW,EAAOE,EAPU,GAOiB,KAAApW,OAAImW,EAAOG,GAAe,gBAAAtW,OAC5DkW,EAAI,KAAAlW,OAAImW,EAAOG,GAAe,uBAGpCL,EAAkBhH,OAAO,QAAQF,KAAK,IAAKsH,GAAWtH,KAAK,OAAQ,SAASA,KAAK,SAAUR,EAAMrC,iBAAiB6C,KAAK,eAAgB,GACvIkH,EAAkBhH,OAAO,QAAQF,KAAK,IAAKmH,EAAOE,IAAgBrH,KAAK,IAAKoH,EAAOG,GAAkB,IAAIvH,KAAK,cAAe,UAAUA,KAAK,YAAa,IAAIA,KAAK,OAAQR,EAAMzC,eAAeiD,KAAK,cAAe,QAAQ3L,KAAKmC,EAAY7D,OAEhP,CACA,GAAI+M,EAAKhJ,eAAeR,OAAS,EAAG,CAClC,MAAMsR,EAAsBvH,EAAKC,OAAO,KAAKF,KAAK,QAAS,0BAC3DN,EAAKhJ,eAAexD,QAASyD,IAC3B,MAAM8Q,EAAOnH,EAAS3J,EAActF,GAC9BqW,EAAOnH,EAAS5J,EAAcrF,GAI9BgW,EAAY,eAAHrW,OACTwW,EAJa,GAII,KAAAxW,OAAIyW,EAAOH,GAAe,gBAAAtW,OAC3CwW,EAHiB,GAGI,KAAAxW,OAAIyW,EAAOH,GAAe,gBAAAtW,OAC/CwW,EAJiB,GAII,KAAAxW,OAAIyW,EAAOH,GAAkB,EAAC,gBAAAtW,OACnDwW,EAAI,KAAAxW,OAAIyW,EAAI,gBAAAzW,OACZwW,EANiB,GAMI,KAAAxW,OAAIyW,EAAOH,GAAkB,EAAC,gBAAAtW,OACnDwW,EAPiB,GAOI,KAAAxW,OAAIyW,EAAOH,GAAe,gBAAAtW,OAC/CwW,EAVa,GAUI,KAAAxW,OAAIyW,EAAOH,GAAe,uBAGjDC,EAAoBtH,OAAO,QAAQF,KAAK,IAAKsH,GAAWtH,KAAK,OAAQ,SAASA,KAAK,SAAUR,EAAMrC,iBAAiB6C,KAAK,eAAgB,GACzIwH,EAAoBtH,OAAO,QAAQF,KAAK,IAAKyH,EAAOJ,IAAgBrH,KAAK,IAAK0H,EAAOH,GAAkB,IAAIvH,KAAK,cAAe,UAAUA,KAAK,YAAa,IAAIA,KAAK,OAAQR,EAAMzC,eAAeiD,KAAK,cAAe,QAAQ3L,KAAKsC,EAAchE,OAEpP,GACC,SAUDgV,QAAwBhX,EAAAA,EAAAA,IAAO,IAAM,GAAI,U","sources":["../node_modules/mermaid/dist/chunks/mermaid.core/chunk-4BX2VUAB.mjs","../node_modules/mermaid/dist/chunks/mermaid.core/wardleyDiagram-NUSXRM2D.mjs"],"sourcesContent":["import {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/common/populateCommonDb.ts\nfunction populateCommonDb(ast, db) {\n if (ast.accDescr) {\n db.setAccDescription?.(ast.accDescr);\n }\n if (ast.accTitle) {\n db.setAccTitle?.(ast.accTitle);\n }\n if (ast.title) {\n db.setDiagramTitle?.(ast.title);\n }\n}\n__name(populateCommonDb, \"populateCommonDb\");\n\nexport {\n populateCommonDb\n};\n","import {\n selectSvgElement\n} from \"./chunk-426QAEUC.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n clear,\n configureSvgSize,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n sanitizeText,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-ICPOFSXX.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/wardley/wardleyParser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar toPercent = /* @__PURE__ */ __name((value, context) => {\n const normalized = value <= 1 ? value * 100 : value;\n if (normalized < 0 || normalized > 100) {\n throw new Error(\n `${context} must be between 0-1 (decimal) or 0-100 (percentage). Received: ${value}`\n );\n }\n return normalized;\n}, \"toPercent\");\nvar toCoordinates = /* @__PURE__ */ __name((visibility, evolution, context) => {\n return {\n x: toPercent(evolution, `${context} evolution`),\n y: toPercent(visibility, `${context} visibility`)\n };\n}, \"toCoordinates\");\nvar getFlowFromPort = /* @__PURE__ */ __name((port) => {\n if (!port) {\n return void 0;\n }\n if (port === \"+<>\") {\n return \"bidirectional\";\n }\n if (port === \"+<\") {\n return \"backward\";\n }\n if (port === \"+>\") {\n return \"forward\";\n }\n return void 0;\n}, \"getFlowFromPort\");\nvar extractFlowFromArrow = /* @__PURE__ */ __name((arrow) => {\n if (!arrow?.startsWith(\"+\")) {\n return {};\n }\n const labelMatch = /^\\+'([^']*)'/.exec(arrow);\n const flowLabel = labelMatch?.[1];\n if (arrow.includes(\"<>\")) {\n return { flow: \"bidirectional\", label: flowLabel };\n }\n if (arrow.includes(\"<\")) {\n return { flow: \"backward\", label: flowLabel };\n }\n if (arrow.includes(\">\")) {\n return { flow: \"forward\", label: flowLabel };\n }\n return { label: flowLabel };\n}, \"extractFlowFromArrow\");\nvar populateDb = /* @__PURE__ */ __name((ast, db) => {\n populateCommonDb(ast, db);\n if (ast.size) {\n db.setSize(ast.size.width, ast.size.height);\n }\n if (ast.evolution) {\n const stages = ast.evolution.stages.map((stage) => {\n if (stage.secondName) {\n return `${stage.name.trim()} / ${stage.secondName.trim()}`;\n }\n return stage.name.trim();\n });\n const stageBoundaries = ast.evolution.stages.filter((stage) => stage.boundary !== void 0).map((stage) => stage.boundary);\n db.updateAxes({ stages, stageBoundaries });\n }\n ast.anchors.forEach((anchor) => {\n const coords = toCoordinates(anchor.visibility, anchor.evolution, `Anchor \"${anchor.name}\"`);\n db.addNode(anchor.name, anchor.name, coords.x, coords.y, \"anchor\");\n });\n ast.components.forEach((component) => {\n const coords = toCoordinates(\n component.visibility,\n component.evolution,\n `Component \"${component.name}\"`\n );\n const labelOffsetX = component.label ? (component.label.negX ? -1 : 1) * component.label.offsetX : void 0;\n const labelOffsetY = component.label ? (component.label.negY ? -1 : 1) * component.label.offsetY : void 0;\n const sourceStrategy = component.decorator?.strategy;\n db.addNode(\n component.name,\n component.name,\n coords.x,\n coords.y,\n \"component\",\n labelOffsetX,\n labelOffsetY,\n component.inertia,\n sourceStrategy\n );\n });\n ast.notes.forEach((note) => {\n const coords = toCoordinates(note.visibility, note.evolution, `Note \"${note.text}\"`);\n db.addNote(note.text, coords.x, coords.y);\n });\n ast.pipelines.forEach((pipeline) => {\n const parentNode = db.getNode(pipeline.parent);\n if (!parentNode || typeof parentNode.y !== \"number\") {\n throw new Error(\n `Pipeline \"${pipeline.parent}\" must reference an existing component with coordinates.`\n );\n }\n const parentY = parentNode.y;\n db.startPipeline(pipeline.parent);\n pipeline.components.forEach((component) => {\n const componentId = `${pipeline.parent}_${component.name}`;\n const labelOffsetX = component.label ? (component.label.negX ? -1 : 1) * component.label.offsetX : void 0;\n const labelOffsetY = component.label ? (component.label.negY ? -1 : 1) * component.label.offsetY : void 0;\n const x = toPercent(component.evolution, `Pipeline component \"${component.name}\" evolution`);\n db.addNode(\n componentId,\n component.name,\n x,\n parentY,\n \"pipeline-component\",\n labelOffsetX,\n labelOffsetY\n );\n db.addPipelineComponent(pipeline.parent, componentId);\n });\n });\n ast.links.forEach((link) => {\n const isDashed = !!link.arrow && (link.arrow.includes(\"-.->\") || link.arrow.includes(\".-.\"));\n let flow = getFlowFromPort(link.fromPort) ?? getFlowFromPort(link.toPort);\n const { flow: arrowFlow, label: flowLabel } = extractFlowFromArrow(link.arrow);\n if (!flow && arrowFlow) {\n flow = arrowFlow;\n }\n const annotation = link.linkLabel;\n const label = flowLabel ?? annotation;\n db.addLink(link.from, link.to, isDashed, label, flow);\n });\n ast.evolves.forEach((evolve) => {\n const node = db.getNode(evolve.component);\n if (node?.y !== void 0) {\n const target = toPercent(evolve.target, `Evolve target for \"${evolve.component}\"`);\n db.addTrend(evolve.component, target, node.y);\n }\n });\n if (ast.annotations.length > 0) {\n const annotationsBox = ast.annotations[0];\n const coords = toCoordinates(annotationsBox.x, annotationsBox.y, \"Annotations box\");\n db.setAnnotationsBox(coords.x, coords.y);\n }\n ast.annotation.forEach((annotation) => {\n const coords = toCoordinates(annotation.x, annotation.y, `Annotation ${annotation.number}`);\n db.addAnnotation(annotation.number, [{ x: coords.x, y: coords.y }], annotation.text);\n });\n ast.accelerators.forEach((accelerator) => {\n const coords = toCoordinates(accelerator.x, accelerator.y, `Accelerator \"${accelerator.name}\"`);\n db.addAccelerator(accelerator.name, coords.x, coords.y);\n });\n ast.deaccelerators.forEach((deaccelerator) => {\n const coords = toCoordinates(\n deaccelerator.x,\n deaccelerator.y,\n `Deaccelerator \"${deaccelerator.name}\"`\n );\n db.addDeaccelerator(deaccelerator.name, coords.x, coords.y);\n });\n}, \"populateDb\");\nvar parser = {\n parser: {\n // @ts-expect-error - WardleyDB is not assignable to DiagramDB\n yy: void 0\n },\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"wardley\", input);\n log.debug(ast);\n const db = parser.parser?.yy;\n if (!db || typeof db.addNode !== \"function\") {\n throw new Error(\n \"parser.parser?.yy was not a WardleyDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.\"\n );\n }\n populateDb(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/wardley/wardleyBuilder.ts\nvar WardleyBuilder = class {\n constructor() {\n this.nodes = /* @__PURE__ */ new Map();\n this.links = [];\n this.trends = /* @__PURE__ */ new Map();\n this.pipelines = /* @__PURE__ */ new Map();\n this.annotations = [];\n this.notes = [];\n this.accelerators = [];\n this.deaccelerators = [];\n this.axes = {};\n }\n static {\n __name(this, \"WardleyBuilder\");\n }\n addNode(node) {\n const existing = this.nodes.get(node.id) ?? { id: node.id, label: node.label };\n const merged = {\n ...existing,\n ...node,\n className: node.className ?? existing.className,\n labelOffsetX: node.labelOffsetX ?? existing.labelOffsetX,\n labelOffsetY: node.labelOffsetY ?? existing.labelOffsetY\n };\n this.nodes.set(node.id, merged);\n }\n addLink(link) {\n this.links.push(link);\n }\n addTrend(trend) {\n this.trends.set(trend.nodeId, trend);\n }\n startPipeline(nodeId) {\n this.pipelines.set(nodeId, { nodeId, componentIds: [] });\n const node = this.nodes.get(nodeId);\n if (node) {\n node.isPipelineParent = true;\n }\n }\n addPipelineComponent(pipelineNodeId, componentId) {\n const pipeline = this.pipelines.get(pipelineNodeId);\n if (pipeline) {\n pipeline.componentIds.push(componentId);\n }\n const node = this.nodes.get(componentId);\n if (node) {\n node.inPipeline = true;\n }\n }\n addAnnotation(annotation) {\n this.annotations.push(annotation);\n }\n addNote(note) {\n this.notes.push(note);\n }\n addAccelerator(accelerator) {\n this.accelerators.push(accelerator);\n }\n addDeaccelerator(deaccelerator) {\n this.deaccelerators.push(deaccelerator);\n }\n setAnnotationsBox(x, y) {\n this.annotationsBox = { x, y };\n }\n setAxes(partial) {\n this.axes = {\n ...this.axes,\n ...partial\n };\n }\n setSize(width, height) {\n this.size = { width, height };\n }\n getNode(id) {\n return this.nodes.get(id);\n }\n build() {\n const nodes = [];\n for (const node of this.nodes.values()) {\n if (typeof node.x !== \"number\" || typeof node.y !== \"number\") {\n throw new Error(`Node \"${node.label}\" is missing coordinates`);\n }\n nodes.push(node);\n }\n return {\n nodes,\n links: [...this.links],\n trends: [...this.trends.values()],\n pipelines: [...this.pipelines.values()],\n annotations: [...this.annotations],\n notes: [...this.notes],\n accelerators: [...this.accelerators],\n deaccelerators: [...this.deaccelerators],\n annotationsBox: this.annotationsBox,\n axes: { ...this.axes },\n size: this.size\n };\n }\n clear() {\n this.nodes.clear();\n this.links = [];\n this.trends.clear();\n this.pipelines.clear();\n this.annotations = [];\n this.notes = [];\n this.accelerators = [];\n this.deaccelerators = [];\n this.annotationsBox = void 0;\n this.axes = {};\n this.size = void 0;\n }\n};\n\n// src/diagrams/wardley/wardleyDb.ts\nvar builder = new WardleyBuilder();\nfunction textSanitizer(text) {\n const config = getConfig();\n return sanitizeText(text.trim(), config);\n}\n__name(textSanitizer, \"textSanitizer\");\nfunction getConfig2() {\n return getConfig()[\"wardley-beta\"];\n}\n__name(getConfig2, \"getConfig\");\nfunction addNode(id, label, x, y, className, labelOffsetX, labelOffsetY, inertia, sourceStrategy) {\n builder.addNode({\n id,\n label: textSanitizer(label),\n x,\n y,\n className,\n labelOffsetX,\n labelOffsetY,\n inertia,\n sourceStrategy\n });\n}\n__name(addNode, \"addNode\");\nfunction addLink(sourceId, targetId, dashed = false, label, flow) {\n builder.addLink({ source: sourceId, target: targetId, dashed, label, flow });\n}\n__name(addLink, \"addLink\");\nfunction addTrend(nodeId, targetX, targetY) {\n builder.addTrend({ nodeId, targetX, targetY });\n}\n__name(addTrend, \"addTrend\");\nfunction addAnnotation(number, coordinates, text) {\n builder.addAnnotation({\n number,\n coordinates,\n text: text ? textSanitizer(text) : void 0\n });\n}\n__name(addAnnotation, \"addAnnotation\");\nfunction addNote(text, x, y) {\n builder.addNote({\n text: textSanitizer(text),\n x,\n y\n });\n}\n__name(addNote, \"addNote\");\nfunction addAccelerator(name, x, y) {\n builder.addAccelerator({\n name: textSanitizer(name),\n x,\n y\n });\n}\n__name(addAccelerator, \"addAccelerator\");\nfunction addDeaccelerator(name, x, y) {\n builder.addDeaccelerator({\n name: textSanitizer(name),\n x,\n y\n });\n}\n__name(addDeaccelerator, \"addDeaccelerator\");\nfunction setAnnotationsBox(x, y) {\n builder.setAnnotationsBox(x, y);\n}\n__name(setAnnotationsBox, \"setAnnotationsBox\");\nfunction setSize(width, height) {\n builder.setSize(width, height);\n}\n__name(setSize, \"setSize\");\nfunction startPipeline(nodeId) {\n builder.startPipeline(nodeId);\n}\n__name(startPipeline, \"startPipeline\");\nfunction addPipelineComponent(pipelineNodeId, componentId) {\n builder.addPipelineComponent(pipelineNodeId, componentId);\n}\n__name(addPipelineComponent, \"addPipelineComponent\");\nfunction updateAxes(partial) {\n const sanitized = {};\n if (partial.xLabel) {\n sanitized.xLabel = textSanitizer(partial.xLabel);\n }\n if (partial.yLabel) {\n sanitized.yLabel = textSanitizer(partial.yLabel);\n }\n if (partial.stages) {\n sanitized.stages = partial.stages.map((stage) => textSanitizer(stage));\n }\n if (partial.stageBoundaries) {\n sanitized.stageBoundaries = partial.stageBoundaries;\n }\n builder.setAxes(sanitized);\n}\n__name(updateAxes, \"updateAxes\");\nfunction getNode(id) {\n return builder.getNode(id);\n}\n__name(getNode, \"getNode\");\nfunction getWardleyData() {\n return builder.build();\n}\n__name(getWardleyData, \"getWardleyData\");\nfunction clear2() {\n builder.clear();\n clear();\n}\n__name(clear2, \"clear\");\nvar wardleyDb_default = {\n getConfig: getConfig2,\n addNode,\n addLink,\n addTrend,\n addAnnotation,\n addNote,\n addAccelerator,\n addDeaccelerator,\n setAnnotationsBox,\n setSize,\n startPipeline,\n addPipelineComponent,\n updateAxes,\n getNode,\n getWardleyData,\n clear: clear2,\n setAccTitle,\n getAccTitle,\n setDiagramTitle,\n getDiagramTitle,\n getAccDescription,\n setAccDescription\n};\n\n// src/diagrams/wardley/wardleyRenderer.ts\nvar DEFAULT_STAGES = [\"Genesis\", \"Custom Built\", \"Product\", \"Commodity\"];\nvar getTheme = /* @__PURE__ */ __name(() => {\n const { themeVariables } = getConfig();\n return {\n backgroundColor: themeVariables.wardley?.backgroundColor ?? themeVariables.background ?? \"#fff\",\n axisColor: themeVariables.wardley?.axisColor ?? \"#000\",\n axisTextColor: themeVariables.wardley?.axisTextColor ?? themeVariables.primaryTextColor ?? \"#222\",\n gridColor: themeVariables.wardley?.gridColor ?? \"rgba(100, 100, 100, 0.2)\",\n componentFill: themeVariables.wardley?.componentFill ?? \"#fff\",\n componentStroke: themeVariables.wardley?.componentStroke ?? \"#000\",\n componentLabelColor: themeVariables.wardley?.componentLabelColor ?? themeVariables.primaryTextColor ?? \"#222\",\n linkStroke: themeVariables.wardley?.linkStroke ?? \"#000\",\n evolutionStroke: themeVariables.wardley?.evolutionStroke ?? \"#dc3545\",\n annotationStroke: themeVariables.wardley?.annotationStroke ?? \"#000\",\n annotationTextColor: themeVariables.wardley?.annotationTextColor ?? themeVariables.primaryTextColor ?? \"#222\",\n annotationFill: themeVariables.wardley?.annotationFill ?? themeVariables.background ?? \"#fff\"\n };\n}, \"getTheme\");\nvar getConfigValues = /* @__PURE__ */ __name(() => {\n const wardleyConfig = getConfig()[\"wardley-beta\"];\n return {\n width: wardleyConfig?.width ?? 900,\n height: wardleyConfig?.height ?? 600,\n padding: wardleyConfig?.padding ?? 48,\n nodeRadius: wardleyConfig?.nodeRadius ?? 6,\n nodeLabelOffset: wardleyConfig?.nodeLabelOffset ?? 8,\n axisFontSize: wardleyConfig?.axisFontSize ?? 12,\n labelFontSize: wardleyConfig?.labelFontSize ?? 10,\n showGrid: wardleyConfig?.showGrid ?? false,\n useMaxWidth: wardleyConfig?.useMaxWidth ?? true\n };\n}, \"getConfigValues\");\nvar draw = /* @__PURE__ */ __name((text, id, _version, diagObj) => {\n log.debug(\"Rendering Wardley map\\n\" + text);\n const configValues = getConfigValues();\n const theme = getTheme();\n const squareSize = configValues.nodeRadius * 1.6;\n const db = diagObj.db;\n const data = db.getWardleyData();\n const title = db.getDiagramTitle();\n const width = data.size?.width ?? configValues.width;\n const height = data.size?.height ?? configValues.height;\n const svg = selectSvgElement(id);\n svg.selectAll(\"*\").remove();\n configureSvgSize(svg, height, width, configValues.useMaxWidth);\n svg.attr(\"viewBox\", `0 0 ${width} ${height}`);\n const root = svg.append(\"g\").attr(\"class\", \"wardley-map\");\n const defs = svg.append(\"defs\");\n defs.append(\"marker\").attr(\"id\", `arrow-${id}`).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", 9).attr(\"refY\", 5).attr(\"markerWidth\", 6).attr(\"markerHeight\", 6).attr(\"orient\", \"auto-start-reverse\").append(\"path\").attr(\"d\", \"M 0 0 L 10 5 L 0 10 z\").attr(\"fill\", theme.evolutionStroke).attr(\"stroke\", \"none\");\n defs.append(\"marker\").attr(\"id\", `link-arrow-end-${id}`).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", 9).attr(\"refY\", 5).attr(\"markerWidth\", 5).attr(\"markerHeight\", 5).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 0 0 L 10 5 L 0 10 z\").attr(\"fill\", theme.linkStroke).attr(\"stroke\", \"none\");\n defs.append(\"marker\").attr(\"id\", `link-arrow-start-${id}`).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", 1).attr(\"refY\", 5).attr(\"markerWidth\", 5).attr(\"markerHeight\", 5).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 10 0 L 0 5 L 10 10 z\").attr(\"fill\", theme.linkStroke).attr(\"stroke\", \"none\");\n root.append(\"rect\").attr(\"class\", \"wardley-background\").attr(\"width\", width).attr(\"height\", height).attr(\"fill\", theme.backgroundColor);\n const chartWidth = width - configValues.padding * 2;\n const chartHeight = height - configValues.padding * 2;\n if (title) {\n root.append(\"text\").attr(\"class\", \"wardley-title\").attr(\"x\", width / 2).attr(\"y\", configValues.padding / 2).attr(\"fill\", theme.axisTextColor).attr(\"font-size\", configValues.axisFontSize * 1.05).attr(\"font-weight\", \"bold\").attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(title);\n }\n const projectX = /* @__PURE__ */ __name((value) => configValues.padding + value / 100 * chartWidth, \"projectX\");\n const projectY = /* @__PURE__ */ __name((value) => height - configValues.padding - value / 100 * chartHeight, \"projectY\");\n const axisGroup = root.append(\"g\").attr(\"class\", \"wardley-axes\");\n axisGroup.append(\"line\").attr(\"x1\", configValues.padding).attr(\"x2\", width - configValues.padding).attr(\"y1\", height - configValues.padding).attr(\"y2\", height - configValues.padding).attr(\"stroke\", theme.axisColor).attr(\"stroke-width\", 1);\n axisGroup.append(\"line\").attr(\"x1\", configValues.padding).attr(\"x2\", configValues.padding).attr(\"y1\", configValues.padding).attr(\"y2\", height - configValues.padding).attr(\"stroke\", theme.axisColor).attr(\"stroke-width\", 1);\n const xLabel = data.axes.xLabel ?? \"Evolution\";\n const yLabel = data.axes.yLabel ?? \"Visibility\";\n axisGroup.append(\"text\").attr(\"class\", \"wardley-axis-label wardley-axis-label-x\").attr(\"x\", configValues.padding + chartWidth / 2).attr(\"y\", height - configValues.padding / 4).attr(\"fill\", theme.axisTextColor).attr(\"font-size\", configValues.axisFontSize).attr(\"font-weight\", \"bold\").attr(\"text-anchor\", \"middle\").text(xLabel);\n axisGroup.append(\"text\").attr(\"class\", \"wardley-axis-label wardley-axis-label-y\").attr(\"x\", configValues.padding / 3).attr(\"y\", configValues.padding + chartHeight / 2).attr(\"fill\", theme.axisTextColor).attr(\"font-size\", configValues.axisFontSize).attr(\"font-weight\", \"bold\").attr(\"text-anchor\", \"middle\").attr(\n \"transform\",\n `rotate(-90 ${configValues.padding / 3} ${configValues.padding + chartHeight / 2})`\n ).text(yLabel);\n const stages = data.axes.stages && data.axes.stages.length > 0 ? data.axes.stages : DEFAULT_STAGES;\n if (stages.length > 0) {\n const stageGroup = root.append(\"g\").attr(\"class\", \"wardley-stages\");\n const boundaries = data.axes.stageBoundaries;\n const stagePositions = [];\n if (boundaries && boundaries.length === stages.length) {\n let prevBoundary = 0;\n boundaries.forEach((boundary) => {\n stagePositions.push({ start: prevBoundary, end: boundary });\n prevBoundary = boundary;\n });\n } else {\n const stageWidth = 1 / stages.length;\n stages.forEach((_, index) => {\n stagePositions.push({\n start: index * stageWidth,\n end: (index + 1) * stageWidth\n });\n });\n }\n stages.forEach((stage, index) => {\n const pos = stagePositions[index];\n const startX = configValues.padding + pos.start * chartWidth;\n const endX = configValues.padding + pos.end * chartWidth;\n const centerX = (startX + endX) / 2;\n if (index > 0) {\n stageGroup.append(\"line\").attr(\"x1\", startX).attr(\"x2\", startX).attr(\"y1\", configValues.padding).attr(\"y2\", height - configValues.padding).attr(\"stroke\", \"#000\").attr(\"stroke-width\", 1).attr(\"stroke-dasharray\", \"5 5\").attr(\"opacity\", 0.8);\n }\n stageGroup.append(\"text\").attr(\"class\", \"wardley-stage-label\").attr(\"x\", centerX).attr(\"y\", height - configValues.padding / 1.5).attr(\"fill\", theme.axisTextColor).attr(\"font-size\", configValues.axisFontSize - 2).attr(\"text-anchor\", \"middle\").text(stage);\n });\n }\n if (configValues.showGrid) {\n const gridGroup = root.append(\"g\").attr(\"class\", \"wardley-grid\");\n for (let i = 1; i < 4; i++) {\n const ratio = i / 4;\n const x = configValues.padding + chartWidth * ratio;\n gridGroup.append(\"line\").attr(\"x1\", x).attr(\"x2\", x).attr(\"y1\", configValues.padding).attr(\"y2\", height - configValues.padding).attr(\"stroke\", theme.gridColor).attr(\"stroke-dasharray\", \"2 6\");\n gridGroup.append(\"line\").attr(\"x1\", configValues.padding).attr(\"x2\", width - configValues.padding).attr(\"y1\", height - configValues.padding - chartHeight * ratio).attr(\"y2\", height - configValues.padding - chartHeight * ratio).attr(\"stroke\", theme.gridColor).attr(\"stroke-dasharray\", \"2 6\");\n }\n }\n const positions = /* @__PURE__ */ new Map();\n data.nodes.forEach((node) => {\n positions.set(node.id, {\n x: projectX(node.x),\n y: projectY(node.y),\n node\n });\n });\n if (data.pipelines.length > 0) {\n const pipelineGroup = root.append(\"g\").attr(\"class\", \"wardley-pipelines\");\n const pipelineLinksGroup = root.append(\"g\").attr(\"class\", \"wardley-pipeline-links\");\n data.pipelines.forEach((pipeline) => {\n if (pipeline.componentIds.length === 0) {\n return;\n }\n const sortedComponents = pipeline.componentIds.map((id2) => ({ id: id2, pos: positions.get(id2), node: data.nodes.find((n) => n.id === id2) })).filter((c) => c.pos && c.node).sort((a, b) => a.node.x - b.node.x);\n for (let i = 0; i < sortedComponents.length - 1; i++) {\n const current = sortedComponents[i];\n const next = sortedComponents[i + 1];\n pipelineLinksGroup.append(\"line\").attr(\"class\", \"wardley-pipeline-evolution-link\").attr(\"x1\", current.pos.x).attr(\"y1\", current.pos.y).attr(\"x2\", next.pos.x).attr(\"y2\", next.pos.y).attr(\"stroke\", theme.linkStroke).attr(\"stroke-width\", 1).attr(\"stroke-dasharray\", \"4 4\");\n }\n let minX = Infinity;\n let maxX = -Infinity;\n let y = 0;\n pipeline.componentIds.forEach((componentId) => {\n const pos = positions.get(componentId);\n if (pos) {\n minX = Math.min(minX, pos.x);\n maxX = Math.max(maxX, pos.x);\n y = pos.y;\n }\n });\n if (minX !== Infinity && maxX !== -Infinity) {\n const padding = 15;\n const height2 = configValues.nodeRadius * 4;\n const boxTop = y - height2 / 2;\n const parentPos = positions.get(pipeline.nodeId);\n if (parentPos) {\n const centerX = (minX + maxX) / 2;\n parentPos.x = centerX;\n parentPos.y = boxTop - squareSize / 6;\n }\n pipelineGroup.append(\"rect\").attr(\"class\", \"wardley-pipeline-box\").attr(\"x\", minX - padding).attr(\"y\", boxTop).attr(\"width\", maxX - minX + padding * 2).attr(\"height\", height2).attr(\"fill\", \"none\").attr(\"stroke\", theme.axisColor).attr(\"stroke-width\", 1.5).attr(\"rx\", 4).attr(\"ry\", 4);\n }\n });\n }\n const linksGroup = root.append(\"g\").attr(\"class\", \"wardley-links\");\n const pipelineMap = /* @__PURE__ */ new Map();\n data.pipelines.forEach((pipeline) => {\n pipelineMap.set(pipeline.nodeId, new Set(pipeline.componentIds));\n });\n const validLinks = data.links.filter((link) => {\n if (!positions.has(link.source) || !positions.has(link.target)) {\n return false;\n }\n const pipelineComponents = pipelineMap.get(link.target);\n if (pipelineComponents?.has(link.source)) {\n return false;\n }\n return true;\n });\n linksGroup.selectAll(\"line\").data(validLinks).enter().append(\"line\").attr(\"class\", (link) => `wardley-link${link.dashed ? \" wardley-link--dashed\" : \"\"}`).attr(\"x1\", (link) => {\n const sourcePos = positions.get(link.source);\n const targetPos = positions.get(link.target);\n const sourceNode = data.nodes.find((n) => n.id === link.source);\n const radius = sourceNode.isPipelineParent ? squareSize / Math.sqrt(2) : configValues.nodeRadius;\n const dx = targetPos.x - sourcePos.x;\n const dy = targetPos.y - sourcePos.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n return sourcePos.x + dx / distance * radius;\n }).attr(\"y1\", (link) => {\n const sourcePos = positions.get(link.source);\n const targetPos = positions.get(link.target);\n const sourceNode = data.nodes.find((n) => n.id === link.source);\n const radius = sourceNode.isPipelineParent ? squareSize / Math.sqrt(2) : configValues.nodeRadius;\n const dx = targetPos.x - sourcePos.x;\n const dy = targetPos.y - sourcePos.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n return sourcePos.y + dy / distance * radius;\n }).attr(\"x2\", (link) => {\n const sourcePos = positions.get(link.source);\n const targetPos = positions.get(link.target);\n const targetNode = data.nodes.find((n) => n.id === link.target);\n const radius = targetNode.isPipelineParent ? squareSize / Math.sqrt(2) : configValues.nodeRadius;\n const dx = sourcePos.x - targetPos.x;\n const dy = sourcePos.y - targetPos.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n return targetPos.x + dx / distance * radius;\n }).attr(\"y2\", (link) => {\n const sourcePos = positions.get(link.source);\n const targetPos = positions.get(link.target);\n const targetNode = data.nodes.find((n) => n.id === link.target);\n const radius = targetNode.isPipelineParent ? squareSize / Math.sqrt(2) : configValues.nodeRadius;\n const dx = sourcePos.x - targetPos.x;\n const dy = sourcePos.y - targetPos.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n return targetPos.y + dy / distance * radius;\n }).attr(\"stroke\", theme.linkStroke).attr(\"stroke-width\", 1).attr(\"stroke-dasharray\", (link) => link.dashed ? \"6 6\" : null).attr(\"marker-end\", (link) => {\n if (link.flow === \"forward\" || link.flow === \"bidirectional\") {\n return `url(#link-arrow-end-${id})`;\n }\n return null;\n }).attr(\"marker-start\", (link) => {\n if (link.flow === \"backward\" || link.flow === \"bidirectional\") {\n return `url(#link-arrow-start-${id})`;\n }\n return null;\n });\n linksGroup.selectAll(\"text\").data(validLinks.filter((link) => link.label)).enter().append(\"text\").attr(\"class\", \"wardley-link-label\").attr(\"x\", (link) => {\n const sourcePos = positions.get(link.source);\n const targetPos = positions.get(link.target);\n const midX = (sourcePos.x + targetPos.x) / 2;\n const dy = targetPos.y - sourcePos.y;\n const dx = targetPos.x - sourcePos.x;\n const distance = Math.sqrt(dx * dx + dy * dy);\n const offset = 8;\n const perpX = dy / distance;\n return midX + perpX * offset;\n }).attr(\"y\", (link) => {\n const sourcePos = positions.get(link.source);\n const targetPos = positions.get(link.target);\n const midY = (sourcePos.y + targetPos.y) / 2;\n const dx = targetPos.x - sourcePos.x;\n const dy = targetPos.y - sourcePos.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n const offset = 8;\n const perpY = -dx / distance;\n return midY + perpY * offset;\n }).attr(\"fill\", theme.axisTextColor).attr(\"font-size\", configValues.labelFontSize).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").attr(\"transform\", (link) => {\n const sourcePos = positions.get(link.source);\n const targetPos = positions.get(link.target);\n const midX = (sourcePos.x + targetPos.x) / 2;\n const midY = (sourcePos.y + targetPos.y) / 2;\n const dx = targetPos.x - sourcePos.x;\n const dy = targetPos.y - sourcePos.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n const offset = 8;\n const perpX = dy / distance;\n const perpY = -dx / distance;\n const labelX = midX + perpX * offset;\n const labelY = midY + perpY * offset;\n let angle = Math.atan2(dy, dx) * 180 / Math.PI;\n if (angle > 90 || angle < -90) {\n angle += 180;\n }\n return `rotate(${angle} ${labelX} ${labelY})`;\n }).text((link) => link.label);\n const trendGroup = root.append(\"g\").attr(\"class\", \"wardley-trends\");\n const trendsWithPositions = data.trends.map((trend) => {\n const origin = positions.get(trend.nodeId);\n if (!origin) {\n return null;\n }\n const targetX = projectX(trend.targetX);\n const targetY = projectY(trend.targetY);\n const dx = targetX - origin.x;\n const dy = targetY - origin.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n const shortenBy = configValues.nodeRadius + 2;\n const adjustedX2 = distance > shortenBy ? targetX - dx / distance * shortenBy : targetX;\n const adjustedY2 = distance > shortenBy ? targetY - dy / distance * shortenBy : targetY;\n return {\n origin,\n targetX,\n targetY,\n adjustedX2,\n adjustedY2\n };\n }).filter((trend) => trend !== null);\n trendGroup.selectAll(\"line\").data(trendsWithPositions).enter().append(\"line\").attr(\"class\", \"wardley-trend\").attr(\"x1\", (trend) => trend.origin.x).attr(\"y1\", (trend) => trend.origin.y).attr(\"x2\", (trend) => trend.adjustedX2).attr(\"y2\", (trend) => trend.adjustedY2).attr(\"stroke\", theme.evolutionStroke).attr(\"stroke-width\", 1).attr(\"stroke-dasharray\", \"4 4\").attr(\"marker-end\", `url(#arrow-${id})`);\n const nodesGroup = root.append(\"g\").attr(\"class\", \"wardley-nodes\");\n const nodeEnter = nodesGroup.selectAll(\"g\").data(data.nodes).enter().append(\"g\").attr(\n \"class\",\n (node) => [\"wardley-node\", node.className ? `wardley-node--${node.className}` : \"\"].filter(Boolean).join(\" \")\n );\n nodeEnter.filter((node) => node.sourceStrategy === \"outsource\").append(\"circle\").attr(\"class\", \"wardley-outsource-overlay\").attr(\"cx\", (node) => positions.get(node.id).x).attr(\"cy\", (node) => positions.get(node.id).y).attr(\"r\", configValues.nodeRadius * 2).attr(\"fill\", \"#666\").attr(\"stroke\", theme.componentStroke).attr(\"stroke-width\", 1);\n nodeEnter.filter((node) => node.sourceStrategy === \"buy\").append(\"circle\").attr(\"class\", \"wardley-buy-overlay\").attr(\"cx\", (node) => positions.get(node.id).x).attr(\"cy\", (node) => positions.get(node.id).y).attr(\"r\", configValues.nodeRadius * 2).attr(\"fill\", \"#ccc\").attr(\"stroke\", theme.componentStroke).attr(\"stroke-width\", 1);\n nodeEnter.filter((node) => node.sourceStrategy === \"build\").append(\"circle\").attr(\"class\", \"wardley-build-overlay\").attr(\"cx\", (node) => positions.get(node.id).x).attr(\"cy\", (node) => positions.get(node.id).y).attr(\"r\", configValues.nodeRadius * 2).attr(\"fill\", \"#eee\").attr(\"stroke\", \"#000\").attr(\"stroke-width\", 1);\n const marketNodes = nodeEnter.filter((node) => node.sourceStrategy === \"market\");\n marketNodes.append(\"circle\").attr(\"class\", \"wardley-market-overlay\").attr(\"cx\", (node) => positions.get(node.id).x).attr(\"cy\", (node) => positions.get(node.id).y).attr(\"r\", configValues.nodeRadius * 2).attr(\"fill\", \"white\").attr(\"stroke\", theme.componentStroke).attr(\"stroke-width\", 1);\n nodeEnter.filter(\n (node) => !node.isPipelineParent && node.sourceStrategy !== \"market\" && node.className !== \"anchor\"\n ).append(\"circle\").attr(\"cx\", (node) => positions.get(node.id).x).attr(\"cy\", (node) => positions.get(node.id).y).attr(\"r\", configValues.nodeRadius).attr(\"fill\", theme.componentFill).attr(\"stroke\", theme.componentStroke).attr(\"stroke-width\", 1);\n const smallCircleRadius = configValues.nodeRadius * 0.7;\n const triangleRadius = configValues.nodeRadius * 1.2;\n marketNodes.append(\"line\").attr(\"class\", \"wardley-market-line\").attr(\"x1\", (node) => positions.get(node.id).x).attr(\"y1\", (node) => positions.get(node.id).y - triangleRadius).attr(\"x2\", (node) => positions.get(node.id).x - triangleRadius * Math.cos(Math.PI / 6)).attr(\"y2\", (node) => positions.get(node.id).y + triangleRadius * Math.sin(Math.PI / 6)).attr(\"stroke\", theme.componentStroke).attr(\"stroke-width\", 1);\n marketNodes.append(\"line\").attr(\"class\", \"wardley-market-line\").attr(\"x1\", (node) => positions.get(node.id).x - triangleRadius * Math.cos(Math.PI / 6)).attr(\"y1\", (node) => positions.get(node.id).y + triangleRadius * Math.sin(Math.PI / 6)).attr(\"x2\", (node) => positions.get(node.id).x + triangleRadius * Math.cos(Math.PI / 6)).attr(\"y2\", (node) => positions.get(node.id).y + triangleRadius * Math.sin(Math.PI / 6)).attr(\"stroke\", theme.componentStroke).attr(\"stroke-width\", 1);\n marketNodes.append(\"line\").attr(\"class\", \"wardley-market-line\").attr(\"x1\", (node) => positions.get(node.id).x + triangleRadius * Math.cos(Math.PI / 6)).attr(\"y1\", (node) => positions.get(node.id).y + triangleRadius * Math.sin(Math.PI / 6)).attr(\"x2\", (node) => positions.get(node.id).x).attr(\"y2\", (node) => positions.get(node.id).y - triangleRadius).attr(\"stroke\", theme.componentStroke).attr(\"stroke-width\", 1);\n marketNodes.append(\"circle\").attr(\"class\", \"wardley-market-dot\").attr(\"cx\", (node) => positions.get(node.id).x).attr(\"cy\", (node) => positions.get(node.id).y - triangleRadius).attr(\"r\", smallCircleRadius).attr(\"fill\", \"white\").attr(\"stroke\", theme.componentStroke).attr(\"stroke-width\", 2);\n marketNodes.append(\"circle\").attr(\"class\", \"wardley-market-dot\").attr(\"cx\", (node) => positions.get(node.id).x - triangleRadius * Math.cos(Math.PI / 6)).attr(\"cy\", (node) => positions.get(node.id).y + triangleRadius * Math.sin(Math.PI / 6)).attr(\"r\", smallCircleRadius).attr(\"fill\", \"white\").attr(\"stroke\", theme.componentStroke).attr(\"stroke-width\", 2);\n marketNodes.append(\"circle\").attr(\"class\", \"wardley-market-dot\").attr(\"cx\", (node) => positions.get(node.id).x + triangleRadius * Math.cos(Math.PI / 6)).attr(\"cy\", (node) => positions.get(node.id).y + triangleRadius * Math.sin(Math.PI / 6)).attr(\"r\", smallCircleRadius).attr(\"fill\", \"white\").attr(\"stroke\", theme.componentStroke).attr(\"stroke-width\", 2);\n nodeEnter.filter((node) => node.isPipelineParent === true).append(\"rect\").attr(\"x\", (node) => positions.get(node.id).x - squareSize / 2).attr(\"y\", (node) => positions.get(node.id).y - squareSize / 2).attr(\"width\", squareSize).attr(\"height\", squareSize).attr(\"fill\", theme.componentFill).attr(\"stroke\", theme.componentStroke).attr(\"stroke-width\", 1);\n nodeEnter.filter((node) => node.inertia === true).append(\"line\").attr(\"class\", \"wardley-inertia\").attr(\"x1\", (node) => {\n const pos = positions.get(node.id);\n let offset = node.isPipelineParent ? squareSize / 2 + 15 : configValues.nodeRadius + 15;\n if (node.sourceStrategy) {\n offset += configValues.nodeRadius + 10;\n }\n return pos.x + offset;\n }).attr(\"y1\", (node) => {\n const pos = positions.get(node.id);\n const lineHeight = node.isPipelineParent ? squareSize : configValues.nodeRadius * 2;\n return pos.y - lineHeight / 2;\n }).attr(\"x2\", (node) => {\n const pos = positions.get(node.id);\n let offset = node.isPipelineParent ? squareSize / 2 + 15 : configValues.nodeRadius + 15;\n if (node.sourceStrategy) {\n offset += configValues.nodeRadius + 10;\n }\n return pos.x + offset;\n }).attr(\"y2\", (node) => {\n const pos = positions.get(node.id);\n const lineHeight = node.isPipelineParent ? squareSize : configValues.nodeRadius * 2;\n return pos.y + lineHeight / 2;\n }).attr(\"stroke\", theme.componentStroke).attr(\"stroke-width\", 6);\n nodeEnter.append(\"text\").attr(\"x\", (node) => {\n const pos = positions.get(node.id);\n if (node.className === \"anchor\") {\n return node.labelOffsetX !== void 0 ? pos.x + node.labelOffsetX : pos.x;\n }\n let defaultOffset = configValues.nodeLabelOffset;\n if (node.sourceStrategy && node.labelOffsetX === void 0) {\n defaultOffset += 10;\n }\n const customOffset = node.labelOffsetX ?? defaultOffset;\n return pos.x + customOffset;\n }).attr(\"y\", (node) => {\n const pos = positions.get(node.id);\n if (node.className === \"anchor\") {\n return node.labelOffsetY !== void 0 ? pos.y + node.labelOffsetY : pos.y - 3;\n }\n let defaultOffset = -configValues.nodeLabelOffset;\n if (node.sourceStrategy && node.labelOffsetY === void 0) {\n defaultOffset -= 10;\n }\n const customOffset = node.labelOffsetY ?? defaultOffset;\n return pos.y + customOffset;\n }).attr(\"class\", \"wardley-node-label\").attr(\"fill\", (node) => {\n if (node.className === \"evolved\") {\n return theme.evolutionStroke;\n }\n if (node.className === \"anchor\") {\n return \"#000\";\n }\n return theme.componentLabelColor;\n }).attr(\"font-size\", configValues.labelFontSize).attr(\"font-weight\", (node) => node.className === \"anchor\" ? \"bold\" : \"normal\").attr(\"text-anchor\", (node) => node.className === \"anchor\" ? \"middle\" : \"start\").attr(\"dominant-baseline\", (node) => node.className === \"anchor\" ? \"middle\" : \"auto\").text((node) => node.label);\n if (data.annotations.length > 0) {\n const annotationsGroup = root.append(\"g\").attr(\"class\", \"wardley-annotations\");\n data.annotations.forEach((annotation) => {\n const projectedCoords = annotation.coordinates.map((coord) => ({\n x: projectX(coord.x),\n y: projectY(coord.y)\n }));\n if (projectedCoords.length > 1) {\n for (let i = 0; i < projectedCoords.length - 1; i++) {\n annotationsGroup.append(\"line\").attr(\"class\", \"wardley-annotation-line\").attr(\"x1\", projectedCoords[i].x).attr(\"y1\", projectedCoords[i].y).attr(\"x2\", projectedCoords[i + 1].x).attr(\"y2\", projectedCoords[i + 1].y).attr(\"stroke\", theme.axisColor).attr(\"stroke-width\", 1.5).attr(\"stroke-dasharray\", \"4 4\");\n }\n }\n projectedCoords.forEach((coord) => {\n const annotationNode = annotationsGroup.append(\"g\").attr(\"class\", \"wardley-annotation\");\n annotationNode.append(\"circle\").attr(\"cx\", coord.x).attr(\"cy\", coord.y).attr(\"r\", 10).attr(\"fill\", \"white\").attr(\"stroke\", theme.axisColor).attr(\"stroke-width\", 1.5);\n annotationNode.append(\"text\").attr(\"x\", coord.x).attr(\"y\", coord.y).attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"central\").attr(\"font-size\", 10).attr(\"fill\", theme.axisTextColor).attr(\"font-weight\", \"bold\").text(annotation.number);\n });\n });\n if (data.annotationsBox) {\n let boxX = projectX(data.annotationsBox.x);\n let boxY = projectY(data.annotationsBox.y);\n const padding = 10;\n const lineHeight = 16;\n const fontSize = 11;\n const textBoxGroup = annotationsGroup.append(\"g\").attr(\"class\", \"wardley-annotations-box\");\n const sortedAnnotations = [...data.annotations].filter((a) => a.text).sort((a, b) => a.number - b.number);\n const textElements = [];\n sortedAnnotations.forEach((annotation, idx) => {\n const text2 = textBoxGroup.append(\"text\").attr(\"x\", boxX + padding).attr(\"y\", boxY + padding + (idx + 1) * lineHeight).attr(\"font-size\", fontSize).attr(\"fill\", theme.axisTextColor).attr(\"text-anchor\", \"start\").attr(\"dominant-baseline\", \"middle\").text(`${annotation.number}. ${annotation.text}`);\n textElements.push(text2);\n });\n if (textElements.length > 0) {\n let maxWidth = 0;\n let maxHeight = 0;\n textElements.forEach((text2) => {\n const textNode = text2.node();\n const textWidth = textNode.getComputedTextLength();\n maxWidth = Math.max(maxWidth, textWidth);\n const bbox = textNode.getBBox();\n maxHeight = Math.max(maxHeight, bbox.height);\n });\n const boxWidth = maxWidth + padding * 2 + 105;\n const boxHeight = sortedAnnotations.length * lineHeight + padding * 2 + maxHeight / 2;\n const minX = configValues.padding;\n const maxX = width - configValues.padding - boxWidth;\n const minY = configValues.padding;\n const maxY = height - configValues.padding - boxHeight;\n boxX = Math.max(minX, Math.min(boxX, maxX));\n boxY = Math.max(minY, Math.min(boxY, maxY));\n textElements.forEach((text2, idx) => {\n text2.attr(\"x\", boxX + padding).attr(\"y\", boxY + padding + (idx + 1) * lineHeight);\n });\n textBoxGroup.insert(\"rect\", \"text\").attr(\"x\", boxX).attr(\"y\", boxY).attr(\"width\", boxWidth).attr(\"height\", boxHeight).attr(\"fill\", \"white\").attr(\"stroke\", theme.axisColor).attr(\"stroke-width\", 1.5).attr(\"rx\", 4).attr(\"ry\", 4);\n }\n }\n }\n if (data.notes.length > 0) {\n const notesGroup = root.append(\"g\").attr(\"class\", \"wardley-notes\");\n data.notes.forEach((note) => {\n const noteX = projectX(note.x);\n const noteY = projectY(note.y);\n notesGroup.append(\"text\").attr(\"x\", noteX).attr(\"y\", noteY).attr(\"text-anchor\", \"start\").attr(\"font-size\", 11).attr(\"fill\", theme.axisTextColor).attr(\"font-weight\", \"bold\").text(note.text);\n });\n }\n if (data.accelerators.length > 0) {\n const acceleratorsGroup = root.append(\"g\").attr(\"class\", \"wardley-accelerators\");\n data.accelerators.forEach((accelerator) => {\n const accX = projectX(accelerator.x);\n const accY = projectY(accelerator.y);\n const arrowWidth = 60;\n const arrowHeight = 30;\n const arrowHeadWidth = 20;\n const arrowPath = `\n M ${accX} ${accY - arrowHeight / 2}\n L ${accX + arrowWidth - arrowHeadWidth} ${accY - arrowHeight / 2}\n L ${accX + arrowWidth - arrowHeadWidth} ${accY - arrowHeight / 2 - 8}\n L ${accX + arrowWidth} ${accY}\n L ${accX + arrowWidth - arrowHeadWidth} ${accY + arrowHeight / 2 + 8}\n L ${accX + arrowWidth - arrowHeadWidth} ${accY + arrowHeight / 2}\n L ${accX} ${accY + arrowHeight / 2}\n Z\n `;\n acceleratorsGroup.append(\"path\").attr(\"d\", arrowPath).attr(\"fill\", \"white\").attr(\"stroke\", theme.componentStroke).attr(\"stroke-width\", 1);\n acceleratorsGroup.append(\"text\").attr(\"x\", accX + arrowWidth / 2).attr(\"y\", accY + arrowHeight / 2 + 15).attr(\"text-anchor\", \"middle\").attr(\"font-size\", 10).attr(\"fill\", theme.axisTextColor).attr(\"font-weight\", \"bold\").text(accelerator.name);\n });\n }\n if (data.deaccelerators.length > 0) {\n const deacceleratorsGroup = root.append(\"g\").attr(\"class\", \"wardley-deaccelerators\");\n data.deaccelerators.forEach((deaccelerator) => {\n const decX = projectX(deaccelerator.x);\n const decY = projectY(deaccelerator.y);\n const arrowWidth = 60;\n const arrowHeight = 30;\n const arrowHeadWidth = 20;\n const arrowPath = `\n M ${decX + arrowWidth} ${decY - arrowHeight / 2}\n L ${decX + arrowHeadWidth} ${decY - arrowHeight / 2}\n L ${decX + arrowHeadWidth} ${decY - arrowHeight / 2 - 8}\n L ${decX} ${decY}\n L ${decX + arrowHeadWidth} ${decY + arrowHeight / 2 + 8}\n L ${decX + arrowHeadWidth} ${decY + arrowHeight / 2}\n L ${decX + arrowWidth} ${decY + arrowHeight / 2}\n Z\n `;\n deacceleratorsGroup.append(\"path\").attr(\"d\", arrowPath).attr(\"fill\", \"white\").attr(\"stroke\", theme.componentStroke).attr(\"stroke-width\", 1);\n deacceleratorsGroup.append(\"text\").attr(\"x\", decX + arrowWidth / 2).attr(\"y\", decY + arrowHeight / 2 + 15).attr(\"text-anchor\", \"middle\").attr(\"font-size\", 10).attr(\"fill\", theme.axisTextColor).attr(\"font-weight\", \"bold\").text(deaccelerator.name);\n });\n }\n}, \"draw\");\nvar wardleyRenderer_default = {\n draw\n};\n\n// src/diagrams/wardley/wardleyDiagram.ts\nvar diagram = {\n parser,\n db: wardleyDb_default,\n renderer: wardleyRenderer_default,\n styles: /* @__PURE__ */ __name(() => \"\", \"styles\")\n};\nexport {\n diagram\n};\n"],"names":["populateCommonDb","ast","db","_db$setAccDescription","_db$setAccTitle","_db$setDiagramTitle","accDescr","setAccDescription","call","accTitle","setAccTitle","title","setDiagramTitle","__name","toPercent","value","context","normalized","Error","concat","toCoordinates","visibility","evolution","x","y","getFlowFromPort","port","extractFlowFromArrow","arrow","startsWith","labelMatch","exec","flowLabel","includes","flow","label","populateDb","size","setSize","width","height","stages","map","stage","secondName","name","trim","stageBoundaries","filter","boundary","updateAxes","anchors","forEach","anchor","coords","addNode","components","component","_component$decorator","labelOffsetX","negX","offsetX","labelOffsetY","negY","offsetY","sourceStrategy","decorator","strategy","inertia","notes","note","text","addNote","pipelines","pipeline","parentNode","getNode","parent","parentY","startPipeline","componentId","addPipelineComponent","links","link","_getFlowFromPort","isDashed","fromPort","toPort","arrowFlow","annotation","linkLabel","addLink","from","to","evolves","evolve","node","target","addTrend","annotations","length","annotationsBox","setAnnotationsBox","number","addAnnotation","accelerators","accelerator","addAccelerator","deaccelerators","deaccelerator","addDeaccelerator","parser","yy","parse","async","_parser$parser","input","log","debug","builder","_Class","constructor","this","nodes","Map","trends","axes","_this$nodes$get","_node$className","_node$labelOffsetX","_node$labelOffsetY","existing","get","id","merged","_objectSpread","className","set","push","trend","nodeId","componentIds","isPipelineParent","pipelineNodeId","inPipeline","setAxes","partial","build","values","clear","textSanitizer","config","getConfig","sanitizeText","getConfig2","sourceId","targetId","dashed","arguments","undefined","source","targetX","targetY","coordinates","sanitized","xLabel","yLabel","getWardleyData","clear2","wardleyDb_default","getAccTitle","getDiagramTitle","getAccDescription","DEFAULT_STAGES","getTheme","_ref","_themeVariables$wardl","_themeVariables$wardl2","_themeVariables$wardl3","_themeVariables$wardl4","_ref2","_themeVariables$wardl5","_themeVariables$wardl6","_themeVariables$wardl7","_themeVariables$wardl8","_themeVariables$wardl9","_themeVariables$wardl0","_themeVariables$wardl1","_themeVariables$wardl10","_ref3","_themeVariables$wardl11","_themeVariables$wardl12","_themeVariables$wardl13","_themeVariables$wardl14","_themeVariables$wardl15","_themeVariables$wardl16","_themeVariables$wardl17","_themeVariables$wardl18","_ref4","_themeVariables$wardl19","_themeVariables$wardl20","_ref5","_themeVariables$wardl21","_themeVariables$wardl22","themeVariables","backgroundColor","wardley","background","axisColor","axisTextColor","primaryTextColor","gridColor","componentFill","componentStroke","componentLabelColor","linkStroke","evolutionStroke","annotationStroke","annotationTextColor","annotationFill","getConfigValues","_wardleyConfig$width","_wardleyConfig$height","_wardleyConfig$paddin","_wardleyConfig$nodeRa","_wardleyConfig$nodeLa","_wardleyConfig$axisFo","_wardleyConfig$labelF","_wardleyConfig$showGr","_wardleyConfig$useMax","wardleyConfig","padding","nodeRadius","nodeLabelOffset","axisFontSize","labelFontSize","showGrid","useMaxWidth","diagram","renderer","draw","_version","diagObj","_data$size$width","_data$size","_data$size$height","_data$size2","_data$axes$xLabel","_data$axes$yLabel","configValues","theme","squareSize","data","svg","selectSvgElement","selectAll","remove","configureSvgSize","attr","root","append","defs","chartWidth","chartHeight","projectX","projectY","axisGroup","stageGroup","boundaries","stagePositions","prevBoundary","start","end","stageWidth","_","index","pos","startX","centerX","gridGroup","i","ratio","positions","pipelineGroup","pipelineLinksGroup","sortedComponents","id2","find","n","c","sort","a","b","current","next","minX","Infinity","maxX","Math","min","max","height2","boxTop","parentPos","linksGroup","pipelineMap","Set","validLinks","has","pipelineComponents","enter","sourcePos","targetPos","radius","sqrt","dx","dy","distance","midX","midY","labelX","labelY","angle","atan2","PI","trendGroup","trendsWithPositions","origin","shortenBy","adjustedX2","adjustedY2","nodeEnter","Boolean","join","marketNodes","smallCircleRadius","triangleRadius","cos","sin","offset","lineHeight","_node$labelOffsetX2","defaultOffset","customOffset","_node$labelOffsetY2","annotationsGroup","projectedCoords","coord","annotationNode","boxX","boxY","fontSize","textBoxGroup","sortedAnnotations","textElements","idx","text2","maxWidth","maxHeight","textNode","textWidth","getComputedTextLength","bbox","getBBox","boxWidth","boxHeight","minY","maxY","insert","notesGroup","noteX","noteY","acceleratorsGroup","accX","accY","arrowWidth","arrowPath","arrowHeight","deacceleratorsGroup","decX","decY","styles"],"ignoreList":[],"sourceRoot":""}
build/static/js/276.34d1e461.chunk.js ADDED
@@ -0,0 +1 @@
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[276],{33276(e,n,r){r.d(n,{createPieServices:()=>s.f});var s=r(80850);r(67391)}}]);
build/static/js/3.9424784f.chunk.js ADDED
@@ -0,0 +1 @@
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[3],{36003(e,r,n){n.d(r,{createTreeViewServices:()=>s.I});var s=n(47987);n(67391)}}]);
build/static/js/349.043baac7.chunk.js ADDED
The diff for this file is too large to render. See raw diff
 
build/static/js/349.043baac7.chunk.js.map ADDED
The diff for this file is too large to render. See raw diff
 
build/static/js/354.3bcfdeeb.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[354],{29354(t,n,e){e.d(n,{diagram:()=>M});var i,s=e(57903),a=e(84571),r=e(45420),o=e(32748),h=e(18205),l=function(){var t=(0,o.K2)(function(t,n,e,i){for(e=e||{},i=t.length;i--;e[t[i]]=n);return e},"o"),n=[1,4],e=[1,14],i=[1,12],s=[1,13],a=[6,7,8],r=[1,20],h=[1,18],l=[1,19],c=[6,7,11],u=[1,6,13,14],d=[1,23],y=[1,24],p=[1,6,7,11,13,14],g={trace:(0,o.K2)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:(0,o.K2)(function(t,n,e,i,s,a,r){var o=a.length-1;switch(s){case 6:case 7:return i;case 15:i.addNode(a[o-1].length,a[o].trim());break;case 16:i.addNode(0,a[o].trim())}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:n},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:n},{6:e,7:[1,10],9:9,12:11,13:i,14:s},t(a,[2,3]),{1:[2,2]},t(a,[2,4]),t(a,[2,5]),{1:[2,6],6:e,12:15,13:i,14:s},{6:e,9:16,12:11,13:i,14:s},{6:r,7:h,10:17,11:l},t(c,[2,18],{14:[1,21]}),t(c,[2,16]),t(c,[2,17]),{6:r,7:h,10:22,11:l},{1:[2,7],6:e,12:15,13:i,14:s},t(u,[2,14],{7:d,11:y}),t(p,[2,8]),t(p,[2,9]),t(p,[2,10]),t(c,[2,15]),t(u,[2,13],{7:d,11:y}),t(p,[2,11]),t(p,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,o.K2)(function(t,n){if(!n.recoverable){var e=new Error(t);throw e.hash=n,e}this.trace(t)},"parseError"),parse:(0,o.K2)(function(t){var n=this,e=[0],i=[],s=[null],a=[],r=this.table,h="",l=0,c=0,u=0,d=a.slice.call(arguments,1),y=Object.create(this.lexer),p={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(p.yy[g]=this.yy[g]);y.setInput(t,p.yy),p.yy.lexer=y,p.yy.parser=this,"undefined"==typeof y.yylloc&&(y.yylloc={});var f=y.yylloc;a.push(f);var k=y.options&&y.options.ranges;function m(){var t;return"number"!==typeof(t=i.pop()||y.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=n.symbols_[t]||t),t}"function"===typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,o.K2)(function(t){e.length=e.length-2*t,s.length=s.length-t,a.length=a.length-t},"popStack"),(0,o.K2)(m,"lex");for(var w,x,b,_,v,S,K,I,E,A={};;){if(b=e[e.length-1],this.defaultActions[b]?_=this.defaultActions[b]:(null!==w&&"undefined"!=typeof w||(w=m()),_=r[b]&&r[b][w]),"undefined"===typeof _||!_.length||!_[0]){var C="";for(S in E=[],r[b])this.terminals_[S]&&S>2&&E.push("'"+this.terminals_[S]+"'");C=y.showPosition?"Parse error on line "+(l+1)+":\n"+y.showPosition()+"\nExpecting "+E.join(", ")+", got '"+(this.terminals_[w]||w)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==w?"end of input":"'"+(this.terminals_[w]||w)+"'"),this.parseError(C,{text:y.match,token:this.terminals_[w]||w,line:y.yylineno,loc:f,expected:E})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+b+", token: "+w);switch(_[0]){case 1:e.push(w),s.push(y.yytext),a.push(y.yylloc),e.push(_[1]),w=null,x?(w=x,x=null):(c=y.yyleng,h=y.yytext,l=y.yylineno,f=y.yylloc,u>0&&u--);break;case 2:if(K=this.productions_[_[1]][1],A.$=s[s.length-K],A._$={first_line:a[a.length-(K||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(K||1)].first_column,last_column:a[a.length-1].last_column},k&&(A._$.range=[a[a.length-(K||1)].range[0],a[a.length-1].range[1]]),"undefined"!==typeof(v=this.performAction.apply(A,[h,c,l,p.yy,_[1],s,a].concat(d))))return v;K&&(e=e.slice(0,-1*K*2),s=s.slice(0,-1*K),a=a.slice(0,-1*K)),e.push(this.productions_[_[1]][0]),s.push(A.$),a.push(A._$),I=r[e[e.length-2]][e[e.length-1]],e.push(I);break;case 3:return!0}}return!0},"parse")},f=function(){return{EOF:1,parseError:(0,o.K2)(function(t,n){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,n)},"parseError"),setInput:(0,o.K2)(function(t,n){return this.yy=n||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.K2)(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.K2)(function(t){var n=t.length,e=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-n),this.offset-=n;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),e.length-1&&(this.yylineno-=e.length-1);var s=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===i.length?this.yylloc.first_column:0)+i[i.length-e.length].length-e[0].length:this.yylloc.first_column-n},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-n]),this.yyleng=this.yytext.length,this},"unput"),more:(0,o.K2)(function(){return this._more=!0,this},"more"),reject:(0,o.K2)(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.K2)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,o.K2)(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.K2)(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.K2)(function(){var t=this.pastInput(),n=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+n+"^"},"showPosition"),test_match:(0,o.K2)(function(t,n){var e,i,s;if(this.options.backtrack_lexer&&(s={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&&(s.yylloc.range=this.yylloc.range.slice(0))),(i=t[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+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,n,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),e)return e;if(this._backtrack){for(var a in s)this[a]=s[a];return!1}return!1},"test_match"),next:(0,o.K2)(function(){if(this.done)return this.EOF;var t,n,e,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),a=0;a<s.length;a++)if((e=this._input.match(this.rules[s[a]]))&&(!n||e[0].length>n[0].length)){if(n=e,i=a,this.options.backtrack_lexer){if(!1!==(t=this.test_match(e,s[a])))return t;if(this._backtrack){n=!1;continue}return!1}if(!this.options.flex)break}return n?!1!==(t=this.test_match(n,s[i]))&&t:""===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.K2)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,o.K2)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,o.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,o.K2)(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.K2)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,o.K2)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,o.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,o.K2)(function(t,n,e,i){switch(e){case 0:case 3:return 6;case 1:case 2:return 8;case 4:return 7;case 5:return 13;case 6:return 14;case 7:return 11}},"anonymous"),rules:[/^(?:\s*%%.*)/i,/^(?:ishikawa-beta\b)/i,/^(?:ishikawa\b)/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[\s]+)/i,/^(?:[^\n]+)/i,/^(?:$)/i],conditions:{INITIAL:{rules:[0,1,2,3,4,5,6,7],inclusive:!0}}}}();function k(){this.yy={}}return g.lexer=f,(0,o.K2)(k,"Parser"),k.prototype=g,g.Parser=k,new k}();l.parser=l;var c=l,u=(i=class{constructor(){this.stack=[],this.clear=this.clear.bind(this),this.addNode=this.addNode.bind(this),this.getRoot=this.getRoot.bind(this)}clear(){this.root=void 0,this.stack=[],this.baseLevel=void 0,(0,r.IU)()}getRoot(){return this.root}addNode(t,n){var e;const i=r.Y2.sanitizeText(n,(0,r.D7)());if(!this.root)return this.root={text:i,children:[]},this.stack=[{level:0,node:this.root}],void(0,r.ke)(i);null!==(e=this.baseLevel)&&void 0!==e||(this.baseLevel=t);let s=t-this.baseLevel+1;for(s<=0&&(s=1);this.stack.length>1&&this.stack[this.stack.length-1].level>=s;)this.stack.pop();const a={text:i,children:[]};this.stack[this.stack.length-1].node.children.push(a),this.stack.push({level:s,node:a})}getAccTitle(){return(0,r.iN)()}setAccTitle(t){(0,r.SV)(t)}getAccDescription(){return(0,r.m7)()}setAccDescription(t){(0,r.EI)(t)}getDiagramTitle(){return(0,r.ab)()}setDiagramTitle(t){(0,r.ke)(t)}},(0,o.K2)(i,"IshikawaDB"),i),d=250,y=82*Math.PI/180,p=Math.cos(y),g=Math.sin(y),f=(0,o.K2)((t,n,e)=>{const i=t.node().getBBox(),s=i.width+2*n,a=i.height+2*n;(0,r.a$)(t,a,s,e),t.attr("viewBox","".concat(i.x-n," ").concat(i.y-n," ").concat(s," ").concat(a))},"applyPaddedViewBox"),k=(0,o.K2)((t,n,e,i)=>{var o,l,c,u,y,p,g,k;const x=i.db.getRoot();if(!x)return;const b=(0,r.D7)(),{look:_,handDrawnSeed:S,themeVariables:K}=b,I=null!==(o=(0,a.I5)(b.fontSize)[0])&&void 0!==o?o:14,E="handDrawn"===_,C=null!==(l=x.children)&&void 0!==l?l:[],L=null!==(c=null===(u=b.ishikawa)||void 0===u?void 0:u.diagramPadding)&&void 0!==c?c:20,M=null!==(y=null===(p=b.ishikawa)||void 0===p?void 0:p.useMaxWidth)&&void 0!==y&&y,P=(0,s.D)(n),T=P.append("g").attr("class","ishikawa"),B=E?h.A.svg(P.node()):void 0,D=B?{roughSvg:B,seed:null!==S&&void 0!==S?S:0,lineColor:null!==(g=null===K||void 0===K?void 0:K.lineColor)&&void 0!==g?g:"#333",fillColor:null!==(k=null===K||void 0===K?void 0:K.mainBkg)&&void 0!==k?k:"#fff"}:void 0,N="ishikawa-arrow-".concat(n);E||T.append("defs").append("marker").attr("id",N).attr("viewBox","0 0 10 10").attr("refX",0).attr("refY",5).attr("markerWidth",6).attr("markerHeight",6).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 Z").attr("class","ishikawa-arrow");let O=0,W=d;const j=E?void 0:A(T,O,W,O,W,"ishikawa-spine");if(w(T,O,W,x.text,I,D),!C.length)return E&&A(T,O,W,O,W,"ishikawa-spine",D),void f(P,L,M);O-=20;const $=C.filter((t,n)=>n%2===0),z=C.filter((t,n)=>n%2===1),R=m($),F=m(z),H=R.total+F.total;let U=d,V=d;if(H>0){const t=500,n=75;U=Math.max(n,t*(R.total/H)),V=Math.max(n,t*(F.total/H))}const X=2*I;U=Math.max(U,R.max*X),V=Math.max(V,F.max*X),W=Math.max(U,d),j&&j.attr("y1",W).attr("y2",W),T.select(".ishikawa-head-group").attr("transform","translate(0,".concat(W,")"));const Y=Math.ceil(C.length/2);for(let s=0;s<Y;s++){const t=T.append("g").attr("class","ishikawa-pair");for(const[n,e,i]of[[C[2*s],-1,U],[C[2*s+1],1,V]])n&&v(t,n,O,W,e,i,I,D);O=t.selectAll("text").nodes().reduce((t,n)=>Math.min(t,n.getBBox().x),1/0)}if(E)A(T,O,W,0,W,"ishikawa-spine",D);else{j.attr("x1",O);const t="url(#".concat(N,")");T.selectAll("line.ishikawa-branch, line.ishikawa-sub-branch").attr("marker-start",t)}f(P,L,M)},"draw"),m=(0,o.K2)(t=>{const n=(0,o.K2)(t=>t.children.reduce((t,e)=>t+1+n(e),0),"countDescendants");return t.reduce((t,e)=>{const i=n(e);return t.total+=i,t.max=Math.max(t.max,i),t},{total:0,max:0})},"sideStats"),w=(0,o.K2)((t,n,e,i,s,a)=>{const r=Math.max(6,Math.floor(110/(.6*s))),o=t.append("g").attr("class","ishikawa-head-group").attr("transform","translate(".concat(n,",").concat(e,")")),h=I(o,K(i,r),0,0,"ishikawa-head-label","start",s),l=h.node().getBBox(),c=Math.max(60,l.width+6),u=Math.max(40,2*l.height+40),d="M 0 ".concat(-u/2," L 0 ").concat(u/2," Q ").concat(2.4*c," 0 0 ").concat(-u/2," Z");if(a){const t=a.roughSvg.path(d,{roughness:1.5,seed:a.seed,fill:a.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:a.lineColor,strokeWidth:2});o.insert(()=>t,":first-child").attr("class","ishikawa-head")}else o.insert("path",":first-child").attr("class","ishikawa-head").attr("d",d);h.attr("transform","translate(".concat((c-l.width)/2-l.x+3,",").concat(-l.y-l.height/2,")"))},"drawHead"),x=(0,o.K2)((t,n)=>{const e=[],i=[],s=(0,o.K2)((t,a,r)=>{const o=-1===n?[...t].reverse():t;for(const n of o){var h;const t=e.length,o=null!==(h=n.children)&&void 0!==h?h:[];e.push({depth:r,text:K(n.text,15),parentIndex:a,childCount:o.length}),r%2===0?(i.push(t),o.length&&s(o,t,r+1)):(o.length&&s(o,t,r+1),i.push(t))}},"walk");return s(t,-1,2),{entries:e,yOrder:i}},"flattenTree"),b=(0,o.K2)((t,n,e,i,s,a,r)=>{const o=t.append("g").attr("class","ishikawa-label-group"),h=I(o,n,e,i+11*s,"ishikawa-label cause","middle",a).node().getBBox();if(r){const t=r.roughSvg.rectangle(h.x-20,h.y-2,h.width+40,h.height+4,{roughness:1.5,seed:r.seed,fill:r.fillColor,fillStyle:"hachure",fillWeight:2.5,hachureGap:5,stroke:r.lineColor,strokeWidth:2});o.insert(()=>t,":first-child").attr("class","ishikawa-label-box")}else o.insert("rect",":first-child").attr("class","ishikawa-label-box").attr("x",h.x-20).attr("y",h.y-2).attr("width",h.width+40).attr("height",h.height+4)},"drawCauseLabel"),_=(0,o.K2)((t,n,e,i,s,a)=>{const r=Math.sqrt(i*i+s*s);if(0===r)return;const o=i/r,h=s/r,l=6*-h,c=6*o,u=n,d=e,y="M ".concat(u," ").concat(d," L ").concat(u-6*o*2+l," ").concat(d-6*h*2+c," L ").concat(u-6*o*2-l," ").concat(d-6*h*2-c," Z"),p=a.roughSvg.path(y,{roughness:1,seed:a.seed,fill:a.lineColor,fillStyle:"solid",stroke:a.lineColor,strokeWidth:1});t.append(()=>p)},"drawArrowMarker"),v=(0,o.K2)((t,n,e,i,s,a,r,o)=>{var h;const l=null!==(h=n.children)&&void 0!==h?h:[],c=a*(l.length?1:.2),u=g*c*s,d=e+-p*c,y=i+u;if(A(t,e,i,d,y,"ishikawa-branch",o),o&&_(t,e,i,e-d,i-y,o),b(t,n.text,d,y,s,r,o),!l.length)return;const{entries:f,yOrder:k}=x(l,s),m=f.length,w=new Array(m);for(const[p,g]of k.entries())w[g]=i+u*((p+1)/(m+1));const v=new Map;v.set(-1,{x0:e,y0:i,x1:d,y1:y,childCount:l.length,childrenDrawn:0});const S=-p,K=g*s,C=s<0?"ishikawa-label up":"ishikawa-label down";for(const[p,g]of f.entries()){const n=w[p],e=v.get(g.parentIndex),i=t.append("g").attr("class","ishikawa-sub-group");let s=0,a=0,h=0;if(g.depth%2===0){const t=e.y1-e.y0;s=E(e.x0,e.x1,t?(n-e.y0)/t:.5),a=n,h=s-(g.childCount>0?60+5*g.childCount:30),A(i,s,n,h,n,"ishikawa-sub-branch",o),o&&_(i,s,n,1,0,o),I(i,g.text,h,n,"ishikawa-label align","end",r)}else{const t=e.childrenDrawn++;s=E(e.x0,e.x1,(e.childCount-t)/(e.childCount+1)),a=e.y0,h=s+S*((n-a)/K),A(i,s,a,h,n,"ishikawa-sub-branch",o),o&&_(i,s,a,s-h,a-n,o),I(i,g.text,h,n,C,"end",r)}g.childCount>0&&v.set(p,{x0:s,y0:a,x1:h,y1:n,childCount:g.childCount,childrenDrawn:0})}},"drawBranch"),S=(0,o.K2)(t=>t.split(/<br\s*\/?>|\n/),"splitLines"),K=(0,o.K2)((t,n)=>{if(t.length<=n)return t;const e=[];for(const i of t.split(/\s+/)){const t=e.length-1;t>=0&&e[t].length+1+i.length<=n?e[t]+=" "+i:e.push(i)}return e.join("\n")},"wrapText"),I=(0,o.K2)((t,n,e,i,s,a,r)=>{const o=S(n),h=1.05*r,l=t.append("text").attr("class",s).attr("text-anchor",a).attr("x",e).attr("y",i-(o.length-1)*h/2);for(const[c,u]of o.entries())l.append("tspan").attr("x",e).attr("dy",0===c?0:h).text(u);return l},"drawMultilineText"),E=(0,o.K2)((t,n,e)=>t+(n-t)*e,"lerp"),A=(0,o.K2)((t,n,e,i,s,a,r)=>{if(r){const o=r.roughSvg.line(n,e,i,s,{roughness:1.5,seed:r.seed,stroke:r.lineColor,strokeWidth:2});return void t.append(()=>o).attr("class",a)}return t.append("line").attr("class",a).attr("x1",n).attr("y1",e).attr("x2",i).attr("y2",s)},"drawLine"),C={draw:k},L=(0,o.K2)(t=>"\n.ishikawa .ishikawa-spine,\n.ishikawa .ishikawa-branch,\n.ishikawa .ishikawa-sub-branch {\n stroke: ".concat(t.lineColor,";\n stroke-width: 2;\n fill: none;\n}\n\n.ishikawa .ishikawa-sub-branch {\n stroke-width: 1;\n}\n\n.ishikawa .ishikawa-arrow {\n fill: ").concat(t.lineColor,";\n}\n\n.ishikawa .ishikawa-head {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.lineColor,";\n stroke-width: 2;\n}\n\n.ishikawa .ishikawa-label-box {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.lineColor,";\n stroke-width: 2;\n}\n\n.ishikawa text {\n font-family: ").concat(t.fontFamily,";\n font-size: ").concat(t.fontSize,";\n fill: ").concat(t.textColor,";\n}\n\n.ishikawa .ishikawa-head-label {\n font-weight: 600;\n text-anchor: middle;\n dominant-baseline: middle;\n font-size: 14px;\n}\n\n.ishikawa .ishikawa-label {\n text-anchor: end;\n}\n\n.ishikawa .ishikawa-label.cause {\n text-anchor: middle;\n dominant-baseline: middle;\n}\n\n.ishikawa .ishikawa-label.align {\n text-anchor: end;\n dominant-baseline: middle;\n}\n\n.ishikawa .ishikawa-label.up {\n dominant-baseline: baseline;\n}\n\n.ishikawa .ishikawa-label.down {\n dominant-baseline: hanging;\n}\n"),"getStyles"),M={parser:c,get db(){return new u},renderer:C,styles:L}}}]);
2
+ //# sourceMappingURL=354.3bcfdeeb.chunk.js.map
build/static/js/354.3bcfdeeb.chunk.js.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"static/js/354.3bcfdeeb.chunk.js","mappings":"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","sources":["../node_modules/mermaid/dist/chunks/mermaid.core/ishikawaDiagram-UXIWVN3A.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-426QAEUC.mjs\";\nimport {\n parseFontSize\n} from \"./chunk-5PVQY5BW.mjs\";\nimport {\n clear,\n common_default,\n configureSvgSize,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-ICPOFSXX.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/ishikawa/parser/ishikawa.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 4], $V1 = [1, 14], $V2 = [1, 12], $V3 = [1, 13], $V4 = [6, 7, 8], $V5 = [1, 20], $V6 = [1, 18], $V7 = [1, 19], $V8 = [6, 7, 11], $V9 = [1, 6, 13, 14], $Va = [1, 23], $Vb = [1, 24], $Vc = [1, 6, 7, 11, 13, 14];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"ishikawa\": 4, \"spaceLines\": 5, \"SPACELINE\": 6, \"NL\": 7, \"ISHIKAWA\": 8, \"document\": 9, \"stop\": 10, \"EOF\": 11, \"statement\": 12, \"SPACELIST\": 13, \"TEXT\": 14, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 6: \"SPACELINE\", 7: \"NL\", 8: \"ISHIKAWA\", 11: \"EOF\", 13: \"SPACELIST\", 14: \"TEXT\" },\n productions_: [0, [3, 1], [3, 2], [5, 1], [5, 2], [5, 2], [4, 2], [4, 3], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [9, 3], [9, 2], [12, 2], [12, 1], [12, 1], [12, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 6:\n case 7:\n return yy;\n break;\n case 15:\n yy.addNode($$[$0 - 1].length, $$[$0].trim());\n break;\n case 16:\n yy.addNode(0, $$[$0].trim());\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: 2, 5: 3, 6: [1, 5], 8: $V0 }, { 1: [3] }, { 1: [2, 1] }, { 4: 6, 6: [1, 7], 7: [1, 8], 8: $V0 }, { 6: $V1, 7: [1, 10], 9: 9, 12: 11, 13: $V2, 14: $V3 }, o($V4, [2, 3]), { 1: [2, 2] }, o($V4, [2, 4]), o($V4, [2, 5]), { 1: [2, 6], 6: $V1, 12: 15, 13: $V2, 14: $V3 }, { 6: $V1, 9: 16, 12: 11, 13: $V2, 14: $V3 }, { 6: $V5, 7: $V6, 10: 17, 11: $V7 }, o($V8, [2, 18], { 14: [1, 21] }), o($V8, [2, 16]), o($V8, [2, 17]), { 6: $V5, 7: $V6, 10: 22, 11: $V7 }, { 1: [2, 7], 6: $V1, 12: 15, 13: $V2, 14: $V3 }, o($V9, [2, 14], { 7: $Va, 11: $Vb }), o($Vc, [2, 8]), o($Vc, [2, 9]), o($Vc, [2, 10]), o($V8, [2, 15]), o($V9, [2, 13], { 7: $Va, 11: $Vb }), o($Vc, [2, 11]), o($Vc, [2, 12])],\n defaultActions: { 2: [2, 1], 6: [2, 2] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ (function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return 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(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n return 6;\n break;\n case 1:\n return 8;\n break;\n case 2:\n return 8;\n break;\n case 3:\n return 6;\n break;\n case 4:\n return 7;\n break;\n case 5:\n return 13;\n break;\n case 6:\n return 14;\n break;\n case 7:\n return 11;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:\\s*%%.*)/i, /^(?:ishikawa-beta\\b)/i, /^(?:ishikawa\\b)/i, /^(?:[\\s]+[\\n])/i, /^(?:[\\n]+)/i, /^(?:[\\s]+)/i, /^(?:[^\\n]+)/i, /^(?:$)/i],\n conditions: { \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7], \"inclusive\": true } }\n };\n return lexer2;\n })();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n})();\nparser.parser = parser;\nvar ishikawa_default = parser;\n\n// src/diagrams/ishikawa/ishikawaDb.ts\nvar IshikawaDB = class {\n constructor() {\n this.stack = [];\n this.clear = this.clear.bind(this);\n this.addNode = this.addNode.bind(this);\n this.getRoot = this.getRoot.bind(this);\n }\n static {\n __name(this, \"IshikawaDB\");\n }\n clear() {\n this.root = void 0;\n this.stack = [];\n this.baseLevel = void 0;\n clear();\n }\n getRoot() {\n return this.root;\n }\n addNode(rawLevel, text) {\n const label = common_default.sanitizeText(text, getConfig());\n if (!this.root) {\n this.root = { text: label, children: [] };\n this.stack = [{ level: 0, node: this.root }];\n setDiagramTitle(label);\n return;\n }\n this.baseLevel ??= rawLevel;\n let level = rawLevel - this.baseLevel + 1;\n if (level <= 0) {\n level = 1;\n }\n while (this.stack.length > 1 && this.stack[this.stack.length - 1].level >= level) {\n this.stack.pop();\n }\n const parent = this.stack[this.stack.length - 1].node;\n const node = { text: label, children: [] };\n parent.children.push(node);\n this.stack.push({ level, node });\n }\n getAccTitle() {\n return getAccTitle();\n }\n setAccTitle(title) {\n setAccTitle(title);\n }\n getAccDescription() {\n return getAccDescription();\n }\n setAccDescription(description) {\n setAccDescription(description);\n }\n getDiagramTitle() {\n return getDiagramTitle();\n }\n setDiagramTitle(title) {\n setDiagramTitle(title);\n }\n};\n\n// src/diagrams/ishikawa/ishikawaRenderer.ts\nimport rough from \"roughjs\";\nvar FONT_SIZE_DEFAULT = 14;\nvar SPINE_BASE_LENGTH = 250;\nvar BONE_STUB = 30;\nvar BONE_BASE = 60;\nvar BONE_PER_CHILD = 5;\nvar ANGLE = 82 * Math.PI / 180;\nvar COS_A = Math.cos(ANGLE);\nvar SIN_A = Math.sin(ANGLE);\nvar applyPaddedViewBox = /* @__PURE__ */ __name((svgEl, pad, maxW) => {\n const bbox = svgEl.node().getBBox();\n const w = bbox.width + pad * 2;\n const h = bbox.height + pad * 2;\n configureSvgSize(svgEl, h, w, maxW);\n svgEl.attr(\"viewBox\", `${bbox.x - pad} ${bbox.y - pad} ${w} ${h}`);\n}, \"applyPaddedViewBox\");\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const db = diagram2.db;\n const root = db.getRoot();\n if (!root) {\n return;\n }\n const drawConfig = getConfig();\n const { look, handDrawnSeed, themeVariables } = drawConfig;\n const fontSize = parseFontSize(drawConfig.fontSize)[0] ?? FONT_SIZE_DEFAULT;\n const isHandDrawn = look === \"handDrawn\";\n const causes = root.children ?? [];\n const padding = drawConfig.ishikawa?.diagramPadding ?? 20;\n const useMaxWidth = drawConfig.ishikawa?.useMaxWidth ?? false;\n const svg = selectSvgElement(id);\n const g = svg.append(\"g\").attr(\"class\", \"ishikawa\");\n const roughSvg = isHandDrawn ? rough.svg(svg.node()) : void 0;\n const roughContext = roughSvg ? {\n roughSvg,\n seed: handDrawnSeed ?? 0,\n lineColor: themeVariables?.lineColor ?? \"#333\",\n fillColor: themeVariables?.mainBkg ?? \"#fff\"\n } : void 0;\n const markerId = `ishikawa-arrow-${id}`;\n if (!isHandDrawn) {\n g.append(\"defs\").append(\"marker\").attr(\"id\", markerId).attr(\"viewBox\", \"0 0 10 10\").attr(\"refX\", 0).attr(\"refY\", 5).attr(\"markerWidth\", 6).attr(\"markerHeight\", 6).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 10 0 L 0 5 L 10 10 Z\").attr(\"class\", \"ishikawa-arrow\");\n }\n let spineX = 0;\n let spineY = SPINE_BASE_LENGTH;\n const spineLine = isHandDrawn ? void 0 : drawLine(g, spineX, spineY, spineX, spineY, \"ishikawa-spine\");\n drawHead(g, spineX, spineY, root.text, fontSize, roughContext);\n if (!causes.length) {\n if (isHandDrawn) {\n drawLine(g, spineX, spineY, spineX, spineY, \"ishikawa-spine\", roughContext);\n }\n applyPaddedViewBox(svg, padding, useMaxWidth);\n return;\n }\n spineX -= 20;\n const upperCauses = causes.filter((_, i) => i % 2 === 0);\n const lowerCauses = causes.filter((_, i) => i % 2 === 1);\n const upperStats = sideStats(upperCauses);\n const lowerStats = sideStats(lowerCauses);\n const descendantTotal = upperStats.total + lowerStats.total;\n let upperLen = SPINE_BASE_LENGTH;\n let lowerLen = SPINE_BASE_LENGTH;\n if (descendantTotal > 0) {\n const pool = SPINE_BASE_LENGTH * 2;\n const minLen = SPINE_BASE_LENGTH * 0.3;\n upperLen = Math.max(minLen, pool * (upperStats.total / descendantTotal));\n lowerLen = Math.max(minLen, pool * (lowerStats.total / descendantTotal));\n }\n const minSpacing = fontSize * 2;\n upperLen = Math.max(upperLen, upperStats.max * minSpacing);\n lowerLen = Math.max(lowerLen, lowerStats.max * minSpacing);\n spineY = Math.max(upperLen, SPINE_BASE_LENGTH);\n if (spineLine) {\n spineLine.attr(\"y1\", spineY).attr(\"y2\", spineY);\n }\n g.select(\".ishikawa-head-group\").attr(\"transform\", `translate(0,${spineY})`);\n const pairCount = Math.ceil(causes.length / 2);\n for (let p = 0; p < pairCount; p++) {\n const pg = g.append(\"g\").attr(\"class\", \"ishikawa-pair\");\n for (const [cause, dir, len] of [\n [causes[p * 2], -1, upperLen],\n [causes[p * 2 + 1], 1, lowerLen]\n ]) {\n if (cause) {\n drawBranch(pg, cause, spineX, spineY, dir, len, fontSize, roughContext);\n }\n }\n spineX = pg.selectAll(\"text\").nodes().reduce((left, n) => Math.min(left, n.getBBox().x), Infinity);\n }\n if (isHandDrawn) {\n drawLine(g, spineX, spineY, 0, spineY, \"ishikawa-spine\", roughContext);\n } else {\n spineLine.attr(\"x1\", spineX);\n const markerUrl = `url(#${markerId})`;\n g.selectAll(\"line.ishikawa-branch, line.ishikawa-sub-branch\").attr(\"marker-start\", markerUrl);\n }\n applyPaddedViewBox(svg, padding, useMaxWidth);\n}, \"draw\");\nvar sideStats = /* @__PURE__ */ __name((nodes) => {\n const countDescendants = /* @__PURE__ */ __name((node) => node.children.reduce((sum, child) => sum + 1 + countDescendants(child), 0), \"countDescendants\");\n return nodes.reduce(\n (stats, node) => {\n const descendants = countDescendants(node);\n stats.total += descendants;\n stats.max = Math.max(stats.max, descendants);\n return stats;\n },\n { total: 0, max: 0 }\n );\n}, \"sideStats\");\nvar drawHead = /* @__PURE__ */ __name((svg, x, y, label, fontSize, roughContext) => {\n const maxChars = Math.max(6, Math.floor(110 / (fontSize * 0.6)));\n const headGroup = svg.append(\"g\").attr(\"class\", \"ishikawa-head-group\").attr(\"transform\", `translate(${x},${y})`);\n const textEl = drawMultilineText(\n headGroup,\n wrapText(label, maxChars),\n 0,\n 0,\n \"ishikawa-head-label\",\n \"start\",\n fontSize\n );\n const tb = textEl.node().getBBox();\n const w = Math.max(60, tb.width + 6);\n const h = Math.max(40, tb.height * 2 + 40);\n const headPath = `M 0 ${-h / 2} L 0 ${h / 2} Q ${w * 2.4} 0 0 ${-h / 2} Z`;\n if (roughContext) {\n const roughNode = roughContext.roughSvg.path(headPath, {\n roughness: 1.5,\n seed: roughContext.seed,\n fill: roughContext.fillColor,\n fillStyle: \"hachure\",\n fillWeight: 2.5,\n hachureGap: 5,\n stroke: roughContext.lineColor,\n strokeWidth: 2\n });\n headGroup.insert(() => roughNode, \":first-child\").attr(\"class\", \"ishikawa-head\");\n } else {\n headGroup.insert(\"path\", \":first-child\").attr(\"class\", \"ishikawa-head\").attr(\"d\", headPath);\n }\n textEl.attr(\"transform\", `translate(${(w - tb.width) / 2 - tb.x + 3},${-tb.y - tb.height / 2})`);\n}, \"drawHead\");\nvar flattenTree = /* @__PURE__ */ __name((children, direction) => {\n const entries = [];\n const yOrder = [];\n const walk = /* @__PURE__ */ __name((nodes, pid, depth) => {\n const ordered = direction === -1 ? [...nodes].reverse() : nodes;\n for (const child of ordered) {\n const idx = entries.length;\n const gc = child.children ?? [];\n entries.push({\n depth,\n text: wrapText(child.text, 15),\n parentIndex: pid,\n childCount: gc.length\n });\n if (depth % 2 === 0) {\n yOrder.push(idx);\n if (gc.length) {\n walk(gc, idx, depth + 1);\n }\n } else {\n if (gc.length) {\n walk(gc, idx, depth + 1);\n }\n yOrder.push(idx);\n }\n }\n }, \"walk\");\n walk(children, -1, 2);\n return { entries, yOrder };\n}, \"flattenTree\");\nvar drawCauseLabel = /* @__PURE__ */ __name((svg, text, x, y, direction, fontSize, roughContext) => {\n const lg = svg.append(\"g\").attr(\"class\", \"ishikawa-label-group\");\n const lt = drawMultilineText(\n lg,\n text,\n x,\n y + 11 * direction,\n \"ishikawa-label cause\",\n \"middle\",\n fontSize\n );\n const tb = lt.node().getBBox();\n if (roughContext) {\n const roughNode = roughContext.roughSvg.rectangle(\n tb.x - 20,\n tb.y - 2,\n tb.width + 40,\n tb.height + 4,\n {\n roughness: 1.5,\n seed: roughContext.seed,\n fill: roughContext.fillColor,\n fillStyle: \"hachure\",\n fillWeight: 2.5,\n hachureGap: 5,\n stroke: roughContext.lineColor,\n strokeWidth: 2\n }\n );\n lg.insert(() => roughNode, \":first-child\").attr(\"class\", \"ishikawa-label-box\");\n } else {\n lg.insert(\"rect\", \":first-child\").attr(\"class\", \"ishikawa-label-box\").attr(\"x\", tb.x - 20).attr(\"y\", tb.y - 2).attr(\"width\", tb.width + 40).attr(\"height\", tb.height + 4);\n }\n}, \"drawCauseLabel\");\nvar drawArrowMarker = /* @__PURE__ */ __name((g, x, y, dx, dy, roughContext) => {\n const len = Math.sqrt(dx * dx + dy * dy);\n if (len === 0) {\n return;\n }\n const ux = dx / len;\n const uy = dy / len;\n const s = 6;\n const px = -uy * s;\n const py = ux * s;\n const tipX = x;\n const tipY = y;\n const d = `M ${tipX} ${tipY} L ${tipX - ux * s * 2 + px} ${tipY - uy * s * 2 + py} L ${tipX - ux * s * 2 - px} ${tipY - uy * s * 2 - py} Z`;\n const roughNode = roughContext.roughSvg.path(d, {\n roughness: 1,\n seed: roughContext.seed,\n fill: roughContext.lineColor,\n fillStyle: \"solid\",\n stroke: roughContext.lineColor,\n strokeWidth: 1\n });\n g.append(() => roughNode);\n}, \"drawArrowMarker\");\nvar drawBranch = /* @__PURE__ */ __name((svg, node, startX, startY, direction, length, fontSize, roughContext) => {\n const children = node.children ?? [];\n const lineLen = length * (children.length ? 1 : 0.2);\n const dx = -COS_A * lineLen;\n const dy = SIN_A * lineLen * direction;\n const endX = startX + dx;\n const endY = startY + dy;\n drawLine(svg, startX, startY, endX, endY, \"ishikawa-branch\", roughContext);\n if (roughContext) {\n drawArrowMarker(svg, startX, startY, startX - endX, startY - endY, roughContext);\n }\n drawCauseLabel(svg, node.text, endX, endY, direction, fontSize, roughContext);\n if (!children.length) {\n return;\n }\n const { entries, yOrder } = flattenTree(children, direction);\n const entryCount = entries.length;\n const ys = new Array(entryCount);\n for (const [slot, entryIdx] of yOrder.entries()) {\n ys[entryIdx] = startY + dy * ((slot + 1) / (entryCount + 1));\n }\n const bones = /* @__PURE__ */ new Map();\n bones.set(-1, {\n x0: startX,\n y0: startY,\n x1: endX,\n y1: endY,\n childCount: children.length,\n childrenDrawn: 0\n });\n const diagonalX = -COS_A;\n const diagonalY = SIN_A * direction;\n const oddLabel = direction < 0 ? \"ishikawa-label up\" : \"ishikawa-label down\";\n for (const [i, e] of entries.entries()) {\n const y = ys[i];\n const par = bones.get(e.parentIndex);\n const grp = svg.append(\"g\").attr(\"class\", \"ishikawa-sub-group\");\n let bx0 = 0;\n let by0 = 0;\n let bx1 = 0;\n if (e.depth % 2 === 0) {\n const dyP = par.y1 - par.y0;\n bx0 = lerp(par.x0, par.x1, dyP ? (y - par.y0) / dyP : 0.5);\n by0 = y;\n bx1 = bx0 - (e.childCount > 0 ? BONE_BASE + e.childCount * BONE_PER_CHILD : BONE_STUB);\n drawLine(grp, bx0, y, bx1, y, \"ishikawa-sub-branch\", roughContext);\n if (roughContext) {\n drawArrowMarker(grp, bx0, y, 1, 0, roughContext);\n }\n drawMultilineText(grp, e.text, bx1, y, \"ishikawa-label align\", \"end\", fontSize);\n } else {\n const k = par.childrenDrawn++;\n bx0 = lerp(par.x0, par.x1, (par.childCount - k) / (par.childCount + 1));\n by0 = par.y0;\n bx1 = bx0 + diagonalX * ((y - by0) / diagonalY);\n drawLine(grp, bx0, by0, bx1, y, \"ishikawa-sub-branch\", roughContext);\n if (roughContext) {\n drawArrowMarker(grp, bx0, by0, bx0 - bx1, by0 - y, roughContext);\n }\n drawMultilineText(grp, e.text, bx1, y, oddLabel, \"end\", fontSize);\n }\n if (e.childCount > 0) {\n bones.set(i, {\n x0: bx0,\n y0: by0,\n x1: bx1,\n y1: y,\n childCount: e.childCount,\n childrenDrawn: 0\n });\n }\n }\n}, \"drawBranch\");\nvar splitLines = /* @__PURE__ */ __name((text) => text.split(/<br\\s*\\/?>|\\n/), \"splitLines\");\nvar wrapText = /* @__PURE__ */ __name((text, maxChars) => {\n if (text.length <= maxChars) {\n return text;\n }\n const lines = [];\n for (const word of text.split(/\\s+/)) {\n const last = lines.length - 1;\n if (last >= 0 && lines[last].length + 1 + word.length <= maxChars) {\n lines[last] += \" \" + word;\n } else {\n lines.push(word);\n }\n }\n return lines.join(\"\\n\");\n}, \"wrapText\");\nvar drawMultilineText = /* @__PURE__ */ __name((g, text, x, y, cls, anchor, fontSize) => {\n const lines = splitLines(text);\n const lh = fontSize * 1.05;\n const el = g.append(\"text\").attr(\"class\", cls).attr(\"text-anchor\", anchor).attr(\"x\", x).attr(\"y\", y - (lines.length - 1) * lh / 2);\n for (const [i, line] of lines.entries()) {\n el.append(\"tspan\").attr(\"x\", x).attr(\"dy\", i === 0 ? 0 : lh).text(line);\n }\n return el;\n}, \"drawMultilineText\");\nvar lerp = /* @__PURE__ */ __name((a, b, t) => a + (b - a) * t, \"lerp\");\nvar drawLine = /* @__PURE__ */ __name((g, x1, y1, x2, y2, cls, roughContext) => {\n if (roughContext) {\n const roughNode = roughContext.roughSvg.line(x1, y1, x2, y2, {\n roughness: 1.5,\n seed: roughContext.seed,\n stroke: roughContext.lineColor,\n strokeWidth: 2\n });\n g.append(() => roughNode).attr(\"class\", cls);\n return void 0;\n }\n return g.append(\"line\").attr(\"class\", cls).attr(\"x1\", x1).attr(\"y1\", y1).attr(\"x2\", x2).attr(\"y2\", y2);\n}, \"drawLine\");\nvar renderer = { draw };\n\n// src/diagrams/ishikawa/ishikawaStyles.ts\nvar getStyles = /* @__PURE__ */ __name((options) => `\n.ishikawa .ishikawa-spine,\n.ishikawa .ishikawa-branch,\n.ishikawa .ishikawa-sub-branch {\n stroke: ${options.lineColor};\n stroke-width: 2;\n fill: none;\n}\n\n.ishikawa .ishikawa-sub-branch {\n stroke-width: 1;\n}\n\n.ishikawa .ishikawa-arrow {\n fill: ${options.lineColor};\n}\n\n.ishikawa .ishikawa-head {\n fill: ${options.mainBkg};\n stroke: ${options.lineColor};\n stroke-width: 2;\n}\n\n.ishikawa .ishikawa-label-box {\n fill: ${options.mainBkg};\n stroke: ${options.lineColor};\n stroke-width: 2;\n}\n\n.ishikawa text {\n font-family: ${options.fontFamily};\n font-size: ${options.fontSize};\n fill: ${options.textColor};\n}\n\n.ishikawa .ishikawa-head-label {\n font-weight: 600;\n text-anchor: middle;\n dominant-baseline: middle;\n font-size: 14px;\n}\n\n.ishikawa .ishikawa-label {\n text-anchor: end;\n}\n\n.ishikawa .ishikawa-label.cause {\n text-anchor: middle;\n dominant-baseline: middle;\n}\n\n.ishikawa .ishikawa-label.align {\n text-anchor: end;\n dominant-baseline: middle;\n}\n\n.ishikawa .ishikawa-label.up {\n dominant-baseline: baseline;\n}\n\n.ishikawa .ishikawa-label.down {\n dominant-baseline: hanging;\n}\n`, \"getStyles\");\nvar ishikawaStyles_default = getStyles;\n\n// src/diagrams/ishikawa/ishikawaDiagram.ts\nvar diagram = {\n parser: ishikawa_default,\n get db() {\n return new IshikawaDB();\n },\n renderer,\n styles: ishikawaStyles_default\n};\nexport {\n diagram\n};\n"],"names":["parser","o","__name","k","v","o2","l","length","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","$V8","$V9","$Va","$Vb","$Vc","parser2","trace","yy","symbols_","terminals_","productions_","performAction","yytext","yyleng","yylineno","yystate","$$","_$","$0","addNode","trim","table","defaultActions","parseError","str","hash","recoverable","error","Error","this","parse","input","self","stack","tstack","vstack","lstack","recovering","args","slice","call","arguments","lexer2","Object","create","lexer","sharedState","prototype","hasOwnProperty","setInput","yylloc","yyloc","push","ranges","options","lex","token","pop","Array","getPrototypeOf","n","symbol","preErrorSymbol","state","action","r","p","len","newState","expected","yyval","errStr","showPosition","join","text","match","line","loc","$","first_line","last_line","first_column","last_column","range","apply","concat","EOF","_input","_more","_backtrack","done","matched","conditionStack","offset","ch","unput","lines","split","substr","oldLines","more","reject","backtrack_lexer","less","pastInput","past","replace","upcomingInput","next","pre","c","test_match","indexed_rule","backup","matches","tempMatch","index","rules","_currentRules","i","flex","begin","condition","popState","conditions","topState","Math","abs","pushState","stateStackSize","yy_","$avoiding_name_collisions","YY_START","Parser","ishikawa_default","IshikawaDB","_Class","constructor","clear","bind","getRoot","root","baseLevel","rawLevel","_this$baseLevel","label","common_default","sanitizeText","getConfig","children","level","node","setDiagramTitle","getAccTitle","setAccTitle","title","getAccDescription","setAccDescription","description","getDiagramTitle","SPINE_BASE_LENGTH","ANGLE","PI","COS_A","cos","SIN_A","sin","applyPaddedViewBox","svgEl","pad","maxW","bbox","getBBox","w","width","h","height","configureSvgSize","attr","x","y","draw","_text","id","_version","diagram2","_parseFontSize$","_root$children","_drawConfig$ishikawa$","_drawConfig$ishikawa","_drawConfig$ishikawa$2","_drawConfig$ishikawa2","_themeVariables$lineC","_themeVariables$mainB","db","drawConfig","look","handDrawnSeed","themeVariables","fontSize","parseFontSize","isHandDrawn","causes","padding","ishikawa","diagramPadding","useMaxWidth","svg","selectSvgElement","g","append","roughSvg","rough","roughContext","seed","lineColor","fillColor","mainBkg","markerId","spineX","spineY","spineLine","drawLine","drawHead","upperCauses","filter","_","lowerCauses","upperStats","sideStats","lowerStats","descendantTotal","total","upperLen","lowerLen","pool","minLen","max","minSpacing","select","pairCount","ceil","pg","cause","dir","drawBranch","selectAll","nodes","reduce","left","min","Infinity","markerUrl","countDescendants","sum","child","stats","descendants","maxChars","floor","headGroup","textEl","drawMultilineText","wrapText","tb","headPath","roughNode","path","roughness","fill","fillStyle","fillWeight","hachureGap","stroke","strokeWidth","insert","flattenTree","direction","entries","yOrder","walk","pid","depth","ordered","reverse","_child$children","idx","gc","parentIndex","childCount","drawCauseLabel","lg","rectangle","drawArrowMarker","dx","dy","sqrt","ux","uy","px","py","tipX","tipY","d","startX","startY","_node$children","lineLen","endX","endY","entryCount","ys","slot","entryIdx","bones","Map","set","x0","y0","x1","y1","childrenDrawn","diagonalX","diagonalY","oddLabel","e","par","get","grp","bx0","by0","bx1","dyP","lerp","splitLines","word","last","cls","anchor","lh","el","a","b","t","x2","y2","renderer","ishikawaStyles_default","fontFamily","textColor","diagram","styles"],"ignoreList":[],"sourceRoot":""}
build/static/js/366.763c2fd7.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[366],{34366(t,e,r){r.d(e,{diagram:()=>_e});var a,n,i=r(89379),s=r(44344),o=r(13719),l=r(91674),c=r(63614),d=r(84571),h=r(45420),g=r(32748),u=r(83314),y=r(56471),p=r(49322),x=r(68973),b=r(30772),f=function(){var t=(0,g.K2)(function(t,e,r,a){for(r=r||{},a=t.length;a--;r[t[a]]=e);return r},"o"),e=[1,15],r=[1,7],a=[1,13],n=[1,14],s=[1,19],o=[1,16],l=[1,17],c=[1,18],d=[8,30],h=[8,10,21,28,29,30,31,39,43,46],u=[1,23],y=[1,24],p=[8,10,15,16,21,28,29,30,31,39,43,46],x=[8,10,15,16,21,27,28,29,30,31,39,43,46],b=[1,49],f={trace:(0,g.K2)(function(){},"trace"),yy:{},symbols_:{error:2,spaceLines:3,SPACELINE:4,NL:5,separator:6,SPACE:7,EOF:8,start:9,BLOCK_DIAGRAM_KEY:10,document:11,stop:12,statement:13,link:14,LINK:15,START_LINK:16,LINK_LABEL:17,STR:18,nodeStatement:19,columnsStatement:20,SPACE_BLOCK:21,blockStatement:22,classDefStatement:23,cssClassStatement:24,styleStatement:25,node:26,SIZE:27,COLUMNS:28,"id-block":29,end:30,NODE_ID:31,nodeShapeNLabel:32,dirList:33,DIR:34,NODE_DSTART:35,NODE_DEND:36,BLOCK_ARROW_START:37,BLOCK_ARROW_END:38,classDef:39,CLASSDEF_ID:40,CLASSDEF_STYLEOPTS:41,DEFAULT:42,class:43,CLASSENTITY_IDS:44,STYLECLASS:45,style:46,STYLE_ENTITY_IDS:47,STYLE_DEFINITION_DATA:48,$accept:0,$end:1},terminals_:{2:"error",4:"SPACELINE",5:"NL",7:"SPACE",8:"EOF",10:"BLOCK_DIAGRAM_KEY",15:"LINK",16:"START_LINK",17:"LINK_LABEL",18:"STR",21:"SPACE_BLOCK",27:"SIZE",28:"COLUMNS",29:"id-block",30:"end",31:"NODE_ID",34:"DIR",35:"NODE_DSTART",36:"NODE_DEND",37:"BLOCK_ARROW_START",38:"BLOCK_ARROW_END",39:"classDef",40:"CLASSDEF_ID",41:"CLASSDEF_STYLEOPTS",42:"DEFAULT",43:"class",44:"CLASSENTITY_IDS",45:"STYLECLASS",46:"style",47:"STYLE_ENTITY_IDS",48:"STYLE_DEFINITION_DATA"},productions_:[0,[3,1],[3,2],[3,2],[6,1],[6,1],[6,1],[9,3],[12,1],[12,1],[12,2],[12,2],[11,1],[11,2],[14,1],[14,4],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[13,1],[19,3],[19,2],[19,1],[20,1],[22,4],[22,3],[26,1],[26,2],[33,1],[33,2],[32,3],[32,4],[23,3],[23,3],[24,3],[25,3]],performAction:(0,g.K2)(function(t,e,r,a,n,s,o){var l=s.length-1;switch(n){case 4:a.getLogger().debug("Rule: separator (NL) ");break;case 5:a.getLogger().debug("Rule: separator (Space) ");break;case 6:a.getLogger().debug("Rule: separator (EOF) ");break;case 7:a.getLogger().debug("Rule: hierarchy: ",s[l-1]),a.setHierarchy(s[l-1]);break;case 8:a.getLogger().debug("Stop NL ");break;case 9:a.getLogger().debug("Stop EOF ");break;case 10:a.getLogger().debug("Stop NL2 ");break;case 11:a.getLogger().debug("Stop EOF2 ");break;case 12:a.getLogger().debug("Rule: statement: ",s[l]),"number"===typeof s[l].length?this.$=s[l]:this.$=[s[l]];break;case 13:a.getLogger().debug("Rule: statement #2: ",s[l-1]),this.$=[s[l-1]].concat(s[l]);break;case 14:a.getLogger().debug("Rule: link: ",s[l],t),this.$={edgeTypeStr:s[l],label:""};break;case 15:a.getLogger().debug("Rule: LABEL link: ",s[l-3],s[l-1],s[l]),this.$={edgeTypeStr:s[l],label:s[l-1]};break;case 18:const e=parseInt(s[l]),r=a.generateId();this.$={id:r,type:"space",label:"",width:e,children:[]};break;case 23:a.getLogger().debug("Rule: (nodeStatement link node) ",s[l-2],s[l-1],s[l]," typestr: ",s[l-1].edgeTypeStr);const n=a.edgeStrToEdgeData(s[l-1].edgeTypeStr);this.$=[{id:s[l-2].id,label:s[l-2].label,type:s[l-2].type,directions:s[l-2].directions},{id:s[l-2].id+"-"+s[l].id,start:s[l-2].id,end:s[l].id,label:s[l-1].label,type:"edge",directions:s[l].directions,arrowTypeEnd:n,arrowTypeStart:"arrow_open"},{id:s[l].id,label:s[l].label,type:a.typeStr2Type(s[l].typeStr),directions:s[l].directions}];break;case 24:a.getLogger().debug("Rule: nodeStatement (abc88 node size) ",s[l-1],s[l]),this.$={id:s[l-1].id,label:s[l-1].label,type:a.typeStr2Type(s[l-1].typeStr),directions:s[l-1].directions,widthInColumns:parseInt(s[l],10)};break;case 25:a.getLogger().debug("Rule: nodeStatement (node) ",s[l]),this.$={id:s[l].id,label:s[l].label,type:a.typeStr2Type(s[l].typeStr),directions:s[l].directions,widthInColumns:1};break;case 26:a.getLogger().debug("APA123",this?this:"na"),a.getLogger().debug("COLUMNS: ",s[l]),this.$={type:"column-setting",columns:"auto"===s[l]?-1:parseInt(s[l])};break;case 27:a.getLogger().debug("Rule: id-block statement : ",s[l-2],s[l-1]);a.generateId();this.$=(0,i.A)((0,i.A)({},s[l-2]),{},{type:"composite",children:s[l-1]});break;case 28:a.getLogger().debug("Rule: blockStatement : ",s[l-2],s[l-1],s[l]);const o=a.generateId();this.$={id:o,type:"composite",label:"",children:s[l-1]};break;case 29:a.getLogger().debug("Rule: node (NODE_ID separator): ",s[l]),this.$={id:s[l]};break;case 30:a.getLogger().debug("Rule: node (NODE_ID nodeShapeNLabel separator): ",s[l-1],s[l]),this.$={id:s[l-1],label:s[l].label,typeStr:s[l].typeStr,directions:s[l].directions};break;case 31:a.getLogger().debug("Rule: dirList: ",s[l]),this.$=[s[l]];break;case 32:a.getLogger().debug("Rule: dirList: ",s[l-1],s[l]),this.$=[s[l-1]].concat(s[l]);break;case 33:a.getLogger().debug("Rule: nodeShapeNLabel: ",s[l-2],s[l-1],s[l]),this.$={typeStr:s[l-2]+s[l],label:s[l-1]};break;case 34:a.getLogger().debug("Rule: BLOCK_ARROW nodeShapeNLabel: ",s[l-3],s[l-2]," #3:",s[l-1],s[l]),this.$={typeStr:s[l-3]+s[l],label:s[l-2],directions:s[l-1]};break;case 35:case 36:this.$={type:"classDef",id:s[l-1].trim(),css:s[l].trim()};break;case 37:this.$={type:"applyClass",id:s[l-1].trim(),styleClass:s[l].trim()};break;case 38:this.$={type:"applyStyles",id:s[l-1].trim(),stylesStr:s[l].trim()}}},"anonymous"),table:[{9:1,10:[1,2]},{1:[3]},{10:e,11:3,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:a,29:n,31:s,39:o,43:l,46:c},{8:[1,20]},t(d,[2,12],{13:4,19:5,20:6,22:8,23:9,24:10,25:11,26:12,11:21,10:e,21:r,28:a,29:n,31:s,39:o,43:l,46:c}),t(h,[2,16],{14:22,15:u,16:y}),t(h,[2,17]),t(h,[2,18]),t(h,[2,19]),t(h,[2,20]),t(h,[2,21]),t(h,[2,22]),t(p,[2,25],{27:[1,25]}),t(h,[2,26]),{19:26,26:12,31:s},{10:e,11:27,13:4,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:a,29:n,31:s,39:o,43:l,46:c},{40:[1,28],42:[1,29]},{44:[1,30]},{47:[1,31]},t(x,[2,29],{32:32,35:[1,33],37:[1,34]}),{1:[2,7]},t(d,[2,13]),{26:35,31:s},{31:[2,14]},{17:[1,36]},t(p,[2,24]),{10:e,11:37,13:4,14:22,15:u,16:y,19:5,20:6,21:r,22:8,23:9,24:10,25:11,26:12,28:a,29:n,31:s,39:o,43:l,46:c},{30:[1,38]},{41:[1,39]},{41:[1,40]},{45:[1,41]},{48:[1,42]},t(x,[2,30]),{18:[1,43]},{18:[1,44]},t(p,[2,23]),{18:[1,45]},{30:[1,46]},t(h,[2,28]),t(h,[2,35]),t(h,[2,36]),t(h,[2,37]),t(h,[2,38]),{36:[1,47]},{33:48,34:b},{15:[1,50]},t(h,[2,27]),t(x,[2,33]),{38:[1,51]},{33:52,34:b,38:[2,31]},{31:[2,15]},t(x,[2,34]),{38:[2,32]}],defaultActions:{20:[2,7],23:[2,14],50:[2,15],52:[2,32]},parseError:(0,g.K2)(function(t,e){if(!e.recoverable){var r=new Error(t);throw r.hash=e,r}this.trace(t)},"parseError"),parse:(0,g.K2)(function(t){var e=this,r=[0],a=[],n=[null],i=[],s=this.table,o="",l=0,c=0,d=0,h=i.slice.call(arguments,1),u=Object.create(this.lexer),y={yy:{}};for(var p in this.yy)Object.prototype.hasOwnProperty.call(this.yy,p)&&(y.yy[p]=this.yy[p]);u.setInput(t,y.yy),y.yy.lexer=u,y.yy.parser=this,"undefined"==typeof u.yylloc&&(u.yylloc={});var x=u.yylloc;i.push(x);var b=u.options&&u.options.ranges;function f(){var t;return"number"!==typeof(t=a.pop()||u.lex()||1)&&(t instanceof Array&&(t=(a=t).pop()),t=e.symbols_[t]||t),t}"function"===typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,g.K2)(function(t){r.length=r.length-2*t,n.length=n.length-t,i.length=i.length-t},"popStack"),(0,g.K2)(f,"lex");for(var m,w,v,k,L,S,_,E,D,R={};;){if(v=r[r.length-1],this.defaultActions[v]?k=this.defaultActions[v]:(null!==m&&"undefined"!=typeof m||(m=f()),k=s[v]&&s[v][m]),"undefined"===typeof k||!k.length||!k[0]){var K="";for(S in D=[],s[v])this.terminals_[S]&&S>2&&D.push("'"+this.terminals_[S]+"'");K=u.showPosition?"Parse error on line "+(l+1)+":\n"+u.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(K,{text:u.match,token:this.terminals_[m]||m,line:u.yylineno,loc:x,expected:D})}if(k[0]instanceof Array&&k.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+m);switch(k[0]){case 1:r.push(m),n.push(u.yytext),i.push(u.yylloc),r.push(k[1]),m=null,w?(m=w,w=null):(c=u.yyleng,o=u.yytext,l=u.yylineno,x=u.yylloc,d>0&&d--);break;case 2:if(_=this.productions_[k[1]][1],R.$=n[n.length-_],R._$={first_line:i[i.length-(_||1)].first_line,last_line:i[i.length-1].last_line,first_column:i[i.length-(_||1)].first_column,last_column:i[i.length-1].last_column},b&&(R._$.range=[i[i.length-(_||1)].range[0],i[i.length-1].range[1]]),"undefined"!==typeof(L=this.performAction.apply(R,[o,c,l,y.yy,k[1],n,i].concat(h))))return L;_&&(r=r.slice(0,-1*_*2),n=n.slice(0,-1*_),i=i.slice(0,-1*_)),r.push(this.productions_[k[1]][0]),n.push(R.$),i.push(R._$),E=s[r[r.length-2]][r[r.length-1]],r.push(E);break;case 3:return!0}}return!0},"parse")},m=function(){return{EOF:1,parseError:(0,g.K2)(function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},"parseError"),setInput:(0,g.K2)(function(t,e){return this.yy=e||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,g.K2)(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,g.K2)(function(t){var e=t.length,r=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var a=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),r.length-1&&(this.yylineno-=r.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:r?(r.length===a.length?this.yylloc.first_column:0)+a[a.length-r.length].length-r[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,g.K2)(function(){return this._more=!0,this},"more"),reject:(0,g.K2)(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,g.K2)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,g.K2)(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,g.K2)(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,g.K2)(function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,g.K2)(function(t,e){var r,a,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))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.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],r=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),r)return r;if(this._backtrack){for(var i in n)this[i]=n[i];return!1}return!1},"test_match"),next:(0,g.K2)(function(){if(this.done)return this.EOF;var t,e,r,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),i=0;i<n.length;i++)if((r=this._input.match(this.rules[n[i]]))&&(!e||r[0].length>e[0].length)){if(e=r,a=i,this.options.backtrack_lexer){if(!1!==(t=this.test_match(r,n[i])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[a]))&&t:""===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,g.K2)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,g.K2)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,g.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,g.K2)(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,g.K2)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,g.K2)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,g.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,g.K2)(function(t,e,r,a){switch(r){case 0:return t.getLogger().debug("Found block-beta"),10;case 1:return t.getLogger().debug("Found id-block"),29;case 2:return t.getLogger().debug("Found block"),10;case 3:t.getLogger().debug(".",e.yytext);break;case 4:t.getLogger().debug("_",e.yytext);break;case 5:return 5;case 6:return e.yytext=-1,28;case 7:return e.yytext=e.yytext.replace(/columns\s+/,""),t.getLogger().debug("COLUMNS (LEX)",e.yytext),28;case 8:case 76:case 77:case 99:this.pushState("md_string");break;case 9:return"MD_STR";case 10:case 34:case 79:this.popState();break;case 11:this.pushState("string");break;case 12:t.getLogger().debug("LEX: POPPING STR:",e.yytext),this.popState();break;case 13:return t.getLogger().debug("LEX: STR end:",e.yytext),"STR";case 14:return e.yytext=e.yytext.replace(/space\:/,""),t.getLogger().debug("SPACE NUM (LEX)",e.yytext),21;case 15:return e.yytext="1",t.getLogger().debug("COLUMNS (LEX)",e.yytext),21;case 16:return 42;case 17:return"LINKSTYLE";case 18:return"INTERPOLATE";case 19:return this.pushState("CLASSDEF"),39;case 20:return this.popState(),this.pushState("CLASSDEFID"),"DEFAULT_CLASSDEF_ID";case 21:return this.popState(),this.pushState("CLASSDEFID"),40;case 22:return this.popState(),41;case 23:return this.pushState("CLASS"),43;case 24:return this.popState(),this.pushState("CLASS_STYLE"),44;case 25:return this.popState(),45;case 26:return this.pushState("STYLE_STMNT"),46;case 27:return this.popState(),this.pushState("STYLE_DEFINITION"),47;case 28:return this.popState(),48;case 29:return this.pushState("acc_title"),"acc_title";case 30:return this.popState(),"acc_title_value";case 31:return this.pushState("acc_descr"),"acc_descr";case 32:return this.popState(),"acc_descr_value";case 33:this.pushState("acc_descr_multiline");break;case 35:return"acc_descr_multiline_value";case 36:return 30;case 37:case 38:case 40:case 41:case 44:return this.popState(),t.getLogger().debug("Lex: (("),"NODE_DEND";case 39:return this.popState(),t.getLogger().debug("Lex: ))"),"NODE_DEND";case 42:return this.popState(),t.getLogger().debug("Lex: (-"),"NODE_DEND";case 43:return this.popState(),t.getLogger().debug("Lex: -)"),"NODE_DEND";case 45:return this.popState(),t.getLogger().debug("Lex: ]]"),"NODE_DEND";case 46:return this.popState(),t.getLogger().debug("Lex: ("),"NODE_DEND";case 47:return this.popState(),t.getLogger().debug("Lex: ])"),"NODE_DEND";case 48:case 49:return this.popState(),t.getLogger().debug("Lex: /]"),"NODE_DEND";case 50:return this.popState(),t.getLogger().debug("Lex: )]"),"NODE_DEND";case 51:return this.popState(),t.getLogger().debug("Lex: )"),"NODE_DEND";case 52:return this.popState(),t.getLogger().debug("Lex: ]>"),"NODE_DEND";case 53:return this.popState(),t.getLogger().debug("Lex: ]"),"NODE_DEND";case 54:return t.getLogger().debug("Lexa: -)"),this.pushState("NODE"),35;case 55:return t.getLogger().debug("Lexa: (-"),this.pushState("NODE"),35;case 56:return t.getLogger().debug("Lexa: ))"),this.pushState("NODE"),35;case 57:case 59:case 60:case 61:case 64:return t.getLogger().debug("Lexa: )"),this.pushState("NODE"),35;case 58:return t.getLogger().debug("Lex: ((("),this.pushState("NODE"),35;case 62:return t.getLogger().debug("Lexc: >"),this.pushState("NODE"),35;case 63:return t.getLogger().debug("Lexa: (["),this.pushState("NODE"),35;case 65:case 66:case 67:case 68:case 69:case 70:case 71:return this.pushState("NODE"),35;case 72:return t.getLogger().debug("Lexa: ["),this.pushState("NODE"),35;case 73:return this.pushState("BLOCK_ARROW"),t.getLogger().debug("LEX ARR START"),37;case 74:return t.getLogger().debug("Lex: NODE_ID",e.yytext),31;case 75:return t.getLogger().debug("Lex: EOF",e.yytext),8;case 78:return"NODE_DESCR";case 80:t.getLogger().debug("Lex: Starting string"),this.pushState("string");break;case 81:t.getLogger().debug("LEX ARR: Starting string"),this.pushState("string");break;case 82:return t.getLogger().debug("LEX: NODE_DESCR:",e.yytext),"NODE_DESCR";case 83:t.getLogger().debug("LEX POPPING"),this.popState();break;case 84:t.getLogger().debug("Lex: =>BAE"),this.pushState("ARROW_DIR");break;case 85:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (right): dir:",e.yytext),"DIR";case 86:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (left):",e.yytext),"DIR";case 87:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (x):",e.yytext),"DIR";case 88:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (y):",e.yytext),"DIR";case 89:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (up):",e.yytext),"DIR";case 90:return e.yytext=e.yytext.replace(/^,\s*/,""),t.getLogger().debug("Lex (down):",e.yytext),"DIR";case 91:return e.yytext="]>",t.getLogger().debug("Lex (ARROW_DIR end):",e.yytext),this.popState(),this.popState(),"BLOCK_ARROW_END";case 92:return t.getLogger().debug("Lex: LINK","#"+e.yytext+"#"),15;case 93:case 94:case 95:return t.getLogger().debug("Lex: LINK",e.yytext),15;case 96:case 97:case 98:return t.getLogger().debug("Lex: START_LINK",e.yytext),this.pushState("LLABEL"),16;case 100:return t.getLogger().debug("Lex: Starting string"),this.pushState("string"),"LINK_LABEL";case 101:return this.popState(),t.getLogger().debug("Lex: LINK","#"+e.yytext+"#"),15;case 102:case 103:return this.popState(),t.getLogger().debug("Lex: LINK",e.yytext),15;case 104:return t.getLogger().debug("Lex: COLON",e.yytext),e.yytext=e.yytext.slice(1),27}},"anonymous"),rules:[/^(?:block-beta\b)/,/^(?:block:)/,/^(?:block\b)/,/^(?:[\s]+)/,/^(?:[\n]+)/,/^(?:((\u000D\u000A)|(\u000A)))/,/^(?:columns\s+auto\b)/,/^(?:columns\s+[\d]+)/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:space[:]\d+)/,/^(?:space\b)/,/^(?:default\b)/,/^(?:linkStyle\b)/,/^(?:interpolate\b)/,/^(?:classDef\s+)/,/^(?:DEFAULT\s+)/,/^(?:\w+\s+)/,/^(?:[^\n]*)/,/^(?:class\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:style\s+)/,/^(?:(\w+)+((,\s*\w+)*))/,/^(?:[^\n]*)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:end\b\s*)/,/^(?:\(\(\()/,/^(?:\)\)\))/,/^(?:[\)]\))/,/^(?:\}\})/,/^(?:\})/,/^(?:\(-)/,/^(?:-\))/,/^(?:\(\()/,/^(?:\]\])/,/^(?:\()/,/^(?:\]\))/,/^(?:\\\])/,/^(?:\/\])/,/^(?:\)\])/,/^(?:[\)])/,/^(?:\]>)/,/^(?:[\]])/,/^(?:-\))/,/^(?:\(-)/,/^(?:\)\))/,/^(?:\))/,/^(?:\(\(\()/,/^(?:\(\()/,/^(?:\{\{)/,/^(?:\{)/,/^(?:>)/,/^(?:\(\[)/,/^(?:\()/,/^(?:\[\[)/,/^(?:\[\|)/,/^(?:\[\()/,/^(?:\)\)\))/,/^(?:\[\\)/,/^(?:\[\/)/,/^(?:\[\\)/,/^(?:\[)/,/^(?:<\[)/,/^(?:[^\(\[\n\-\)\{\}\s\<\>:]+)/,/^(?:$)/,/^(?:["][`])/,/^(?:["][`])/,/^(?:[^`"]+)/,/^(?:[`]["])/,/^(?:["])/,/^(?:["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:\]>\s*\()/,/^(?:,?\s*right\s*)/,/^(?:,?\s*left\s*)/,/^(?:,?\s*x\s*)/,/^(?:,?\s*y\s*)/,/^(?:,?\s*up\s*)/,/^(?:,?\s*down\s*)/,/^(?:\)\s*)/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?:\s*~~[\~]+\s*)/,/^(?:\s*[xo<]?--\s*)/,/^(?:\s*[xo<]?==\s*)/,/^(?:\s*[xo<]?-\.\s*)/,/^(?:["][`])/,/^(?:["])/,/^(?:\s*[xo<]?--+[-xo>]\s*)/,/^(?:\s*[xo<]?==+[=xo>]\s*)/,/^(?:\s*[xo<]?-?\.+-[xo>]?\s*)/,/^(?::\d+)/],conditions:{STYLE_DEFINITION:{rules:[28],inclusive:!1},STYLE_STMNT:{rules:[27],inclusive:!1},CLASSDEFID:{rules:[22],inclusive:!1},CLASSDEF:{rules:[20,21],inclusive:!1},CLASS_STYLE:{rules:[25],inclusive:!1},CLASS:{rules:[24],inclusive:!1},LLABEL:{rules:[99,100,101,102,103],inclusive:!1},ARROW_DIR:{rules:[85,86,87,88,89,90,91],inclusive:!1},BLOCK_ARROW:{rules:[76,81,84],inclusive:!1},NODE:{rules:[37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,77,80],inclusive:!1},md_string:{rules:[9,10,78,79],inclusive:!1},space:{rules:[],inclusive:!1},string:{rules:[12,13,82,83],inclusive:!1},acc_descr_multiline:{rules:[34,35],inclusive:!1},acc_descr:{rules:[32],inclusive:!1},acc_title:{rules:[30],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,8,11,14,15,16,17,18,19,23,26,29,31,33,36,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,92,93,94,95,96,97,98,104],inclusive:!0}}}}();function w(){this.yy={}}return f.lexer=m,(0,g.K2)(w,"Parser"),w.prototype=f,f.Parser=w,new w}();f.parser=f;var m=f,w=new Map,v=[],k=new Map,L="color",S="fill",_=(0,h.D7)(),E=new Map,D="",R=(0,g.K2)(t=>h.Y2.sanitizeText(t,_),"sanitizeText"),K=(0,g.K2)(function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",r=E.get(t);r||(r={id:t,styles:[],textStyles:[]},E.set(t,r)),void 0!==e&&null!==e&&e.split(",").forEach(t=>{const e=t.replace(/([^;]*);/,"$1").trim();if(RegExp(L).exec(t)){const t=e.replace(S,"bgFill").replace(L,S);r.textStyles.push(t)}r.styles.push(e)})},"addStyleClass"),T=(0,g.K2)(function(t){let e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";const r=w.get(t);void 0!==e&&null!==e&&(r.styles=e.split(","))},"addStyle2Node"),I=(0,g.K2)(function(t,e){t.split(",").forEach(function(t){let r=w.get(t);if(void 0===r){const e=t.trim();r={id:e,type:"na",children:[]},w.set(e,r)}r.classes||(r.classes=[]),r.classes.push(e)})},"setCssClass"),N=(0,g.K2)((t,e)=>{var r;const a=t.flat(),n=[],i=a.find(t=>"column-setting"===(null===t||void 0===t?void 0:t.type)),s=null!==(r=null===i||void 0===i?void 0:i.columns)&&void 0!==r?r:-1;for(const h of a){var o,l;if("number"===typeof s&&s>0&&"column-setting"!==h.type&&"number"===typeof h.widthInColumns&&h.widthInColumns>s&&g.Rm.warn("Block ".concat(h.id," width ").concat(h.widthInColumns," exceeds configured column width ").concat(s)),h.label&&(h.label=R(h.label)),"classDef"!==h.type)if("applyClass"!==h.type)if("applyStyles"!==h.type)if("column-setting"===h.type)e.columns=null!==(o=h.columns)&&void 0!==o?o:-1;else if("edge"===h.type){var c;const t=(null!==(c=k.get(h.id))&&void 0!==c?c:0)+1;k.set(h.id,t),h.id=t+"-"+h.id,v.push(h)}else{h.label||("composite"===h.type?h.label="":h.label=h.id);const t=w.get(h.id);if(void 0===t?w.set(h.id,h):("na"!==h.type&&(t.type=h.type),h.label!==h.id&&(t.label=h.label)),h.children&&N(h.children,h),"space"===h.type){var d;const t=null!==(d=h.width)&&void 0!==d?d:1;for(let e=0;e<t;e++){const t=(0,u.A)(h);t.id=t.id+"-"+e,w.set(t.id,t),n.push(t)}}else void 0===t&&n.push(h)}else null!==h&&void 0!==h&&h.stylesStr&&T(h.id,null===h||void 0===h?void 0:h.stylesStr);else I(h.id,null!==(l=null===h||void 0===h?void 0:h.styleClass)&&void 0!==l?l:"");else K(h.id,h.css)}e.children=n},"populateBlockDatabase"),C=[],B={id:"root",type:"composite",children:[],columns:-1},z=(0,g.K2)(()=>{g.Rm.debug("Clear called"),(0,h.IU)(),B={id:"root",type:"composite",children:[],columns:-1},w=new Map([["root",B]]),C=[],E=new Map,v=[],k=new Map,D=""},"clear");function O(t){switch(g.Rm.debug("typeStr2Type",t),t){case"[]":return"square";case"()":return g.Rm.debug("we have a round"),"round";case"(())":return"circle";case">]":return"rect_left_inv_arrow";case"{}":return"diamond";case"{{}}":return"hexagon";case"([])":return"stadium";case"[[]]":return"subroutine";case"[()]":return"cylinder";case"((()))":return"doublecircle";case"[//]":return"lean_right";case"[\\\\]":return"lean_left";case"[/\\]":return"trapezoid";case"[\\/]":return"inv_trapezoid";case"<[]>":return"block_arrow";default:return"na"}}function A(t){return g.Rm.debug("typeStr2Type",t),"=="===t?"thick":"normal"}function M(t){switch(t.replace(/^[\s-]+|[\s-]+$/g,"")){case"x":return"arrow_cross";case"o":return"arrow_circle";case">":return"arrow_point";default:return""}}(0,g.K2)(O,"typeStr2Type"),(0,g.K2)(A,"edgeTypeStr2Type"),(0,g.K2)(M,"edgeStrToEdgeData");var P=0,Y=(0,g.K2)(()=>(P++,"id-"+Math.random().toString(36).substr(2,12)+"-"+P),"generateId"),W=(0,g.K2)(t=>{B.children=t,N(t,B),C=B.children},"setHierarchy"),F=(0,g.K2)(t=>{const e=w.get(t);return e?e.columns?e.columns:e.children?e.children.length:-1:-1},"getColumns"),X=(0,g.K2)(()=>[...w.values()],"getBlocksFlat"),$=(0,g.K2)(()=>C||[],"getBlocks"),H=(0,g.K2)(()=>v,"getEdges"),j=(0,g.K2)(t=>w.get(t),"getBlock"),U=(0,g.K2)(t=>{w.set(t.id,t)},"setBlock"),Z=(0,g.K2)(t=>{D=t},"setDiagramId"),q=(0,g.K2)(()=>D,"getDiagramId"),G=(0,g.K2)(()=>g.Rm,"getLogger"),V=(0,g.K2)(function(){return E},"getClasses"),J={getConfig:(0,g.K2)(()=>(0,h.zj)().block,"getConfig"),typeStr2Type:O,edgeTypeStr2Type:A,edgeStrToEdgeData:M,getLogger:G,getBlocksFlat:X,getBlocks:$,getEdges:H,setHierarchy:W,getBlock:j,setBlock:U,getColumns:F,getClasses:V,clear:z,generateId:Y,setDiagramId:Z,getDiagramId:q},Q=(0,g.K2)((t,e)=>{const r=p.A,a=r(t,"r"),n=r(t,"g"),i=r(t,"b");return y.A(a,n,i,e)},"fade"),tt=(0,g.K2)(t=>".label {\n font-family: ".concat(t.fontFamily,";\n color: ").concat(t.nodeTextColor||t.textColor,";\n }\n .cluster-label text {\n fill: ").concat(t.titleColor,";\n }\n .cluster-label span,p {\n color: ").concat(t.titleColor,";\n }\n\n\n\n .label text,span,p {\n fill: ").concat(t.nodeTextColor||t.textColor,";\n color: ").concat(t.nodeTextColor||t.textColor,";\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n stroke-width: 1px;\n }\n .flowchart-label text {\n text-anchor: middle;\n }\n // .flowchart-label .text-outer-tspan {\n // text-anchor: middle;\n // }\n // .flowchart-label .text-inner-tspan {\n // text-anchor: start;\n // }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ").concat(t.arrowheadColor,";\n }\n\n .edgePath .path {\n stroke: ").concat(t.lineColor,";\n stroke-width: 2.0px;\n }\n\n .flowchart-link {\n stroke: ").concat(t.lineColor,";\n fill: none;\n }\n\n .edgeLabel {\n background-color: ").concat(t.edgeLabelBackground,";\n /*\n * This is for backward compatibility with existing code that didn't\n * add a `<p>` around edge labels.\n *\n * TODO: We should probably remove this in a future release.\n */\n p {\n margin: 0;\n padding: 0;\n display: inline;\n }\n rect {\n opacity: 0.5;\n background-color: ").concat(t.edgeLabelBackground,";\n fill: ").concat(t.edgeLabelBackground,";\n }\n text-align: center;\n }\n\n /* For html labels only */\n .labelBkg {\n background-color: ").concat(t.edgeLabelBackground,";\n }\n\n .node .cluster {\n // fill: ").concat(Q(t.mainBkg,.5),";\n fill: ").concat(Q(t.clusterBkg,.5),";\n stroke: ").concat(Q(t.clusterBorder,.2),";\n box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;\n stroke-width: 1px;\n }\n\n .cluster text {\n fill: ").concat(t.titleColor,";\n }\n\n .cluster span,p {\n color: ").concat(t.titleColor,";\n }\n /* .cluster div {\n color: ").concat(t.titleColor,";\n } */\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ").concat(t.fontFamily,";\n font-size: 12px;\n background: ").concat(t.tertiaryColor,";\n border: 1px solid ").concat(t.border2,";\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .flowchartTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ").concat(t.textColor,";\n }\n ").concat((0,s.o)(),"\n"),"getStyles"),et=(0,g.K2)((t,e,r,a)=>{e.forEach(e=>{rt[e](t,r,a)})},"insertMarkers"),rt={extension:(0,g.K2)((t,e,r)=>{g.Rm.trace("Making markers for ",r),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionStart").attr("class","marker extension "+e).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"),t.append("defs").append("marker").attr("id",r+"_"+e+"-extensionEnd").attr("class","marker extension "+e).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:(0,g.K2)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionStart").attr("class","marker composition "+e).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"),t.append("defs").append("marker").attr("id",r+"_"+e+"-compositionEnd").attr("class","marker composition "+e).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:(0,g.K2)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationStart").attr("class","marker aggregation "+e).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"),t.append("defs").append("marker").attr("id",r+"_"+e+"-aggregationEnd").attr("class","marker aggregation "+e).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:(0,g.K2)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyStart").attr("class","marker dependency "+e).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"),t.append("defs").append("marker").attr("id",r+"_"+e+"-dependencyEnd").attr("class","marker dependency "+e).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:(0,g.K2)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopStart").attr("class","marker lollipop "+e).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),t.append("defs").append("marker").attr("id",r+"_"+e+"-lollipopEnd").attr("class","marker lollipop "+e).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:(0,g.K2)((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-pointEnd").attr("class","marker "+e).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"),t.append("marker").attr("id",r+"_"+e+"-pointStart").attr("class","marker "+e).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:(0,g.K2)((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-circleEnd").attr("class","marker "+e).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"),t.append("marker").attr("id",r+"_"+e+"-circleStart").attr("class","marker "+e).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:(0,g.K2)((t,e,r)=>{t.append("marker").attr("id",r+"_"+e+"-crossEnd").attr("class","marker cross "+e).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"),t.append("marker").attr("id",r+"_"+e+"-crossStart").attr("class","marker cross "+e).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:(0,g.K2)((t,e,r)=>{t.append("defs").append("marker").attr("id",r+"_"+e+"-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")},at=et,nt=null!==(a=null===(n=(0,h.D7)())||void 0===n||null===(n=n.block)||void 0===n?void 0:n.padding)&&void 0!==a?a:8;function it(t,e){if(0===t||!Number.isInteger(t))throw new Error("Columns must be an integer !== 0.");if(e<0||!Number.isInteger(e))throw new Error("Position must be a non-negative integer."+e);if(t<0)return{px:e,py:0};if(1===t)return{px:0,py:e};return{px:e%t,py:Math.floor(e/t)}}(0,g.K2)(it,"calculateBlockPosition");var st=(0,g.K2)(t=>{let e=0,r=0;for(const i of t.children){var a;const{width:t,height:s,x:o,y:l}=null!==(a=i.size)&&void 0!==a?a:{width:0,height:0,x:0,y:0};if(g.Rm.debug("getMaxChildSize abc95 child:",i.id,"width:",t,"height:",s,"x:",o,"y:",l,i.type),"space"!==i.type){var n;if(t>e)e=t/(null!==(n=i.widthInColumns)&&void 0!==n?n:1);s>r&&(r=s)}}return{width:e,height:r}},"getMaxChildSize");function ot(t,e){var r,a,n,i,s,o,l;let c=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0,d=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;g.Rm.debug("setBlockSizes abc95 (start)",t.id,null===t||void 0===t||null===(r=t.size)||void 0===r?void 0:r.x,"block width =",null===t||void 0===t?void 0:t.size,"siblingWidth",c),null!==t&&void 0!==t&&null!==(a=t.size)&&void 0!==a&&a.width||(t.size={width:c,height:d,x:0,y:0});let h=0,u=0;if((null===(n=t.children)||void 0===n?void 0:n.length)>0){var y,p,x;for(const c of t.children)ot(c,e);const r=st(t);h=r.width,u=r.height,g.Rm.debug("setBlockSizes abc95 maxWidth of",t.id,":s children is ",h,u);for(const e of t.children){var b,f;if(e.size)g.Rm.debug("abc95 Setting size of children of ".concat(t.id," id=").concat(e.id," ").concat(h," ").concat(u," ").concat(JSON.stringify(e.size))),e.size.width=h*(null!==(b=e.widthInColumns)&&void 0!==b?b:1)+nt*((null!==(f=e.widthInColumns)&&void 0!==f?f:1)-1),e.size.height=u,e.size.x=0,e.size.y=0,g.Rm.debug("abc95 updating size of ".concat(t.id," children child:").concat(e.id," maxWidth:").concat(h," maxHeight:").concat(u))}for(const c of t.children)ot(c,e,h,u);const a=null!==(y=t.columns)&&void 0!==y?y:-1;let n=0;for(const e of t.children){var m;n+=null!==(m=e.widthInColumns)&&void 0!==m?m:1}let i=t.children.length;a>0&&a<n&&(i=a);const s=Math.ceil(n/i);let o=i*(h+nt)+nt,l=s*(u+nt)+nt;if(o<c){g.Rm.debug("Detected to small sibling: abc95 ".concat(t.id," siblingWidth ").concat(c," siblingHeight ").concat(d," width ").concat(o)),o=c,l=d;const e=(c-i*nt-nt)/i,r=(d-s*nt-nt)/s;g.Rm.debug("Size indata abc88",t.id,"childWidth",e,"maxWidth",h),g.Rm.debug("Size indata abc88",t.id,"childHeight",r,"maxHeight",u),g.Rm.debug("Size indata abc88 xSize",i,"padding",nt);for(const a of t.children)a.size&&(a.size.width=e,a.size.height=r,a.size.x=0,a.size.y=0)}if(g.Rm.debug("abc95 (finale calc) ".concat(t.id," xSize ").concat(i," ySize ").concat(s," columns ").concat(a).concat(t.children.length," width=").concat(Math.max(o,(null===(p=t.size)||void 0===p?void 0:p.width)||0))),o<((null===t||void 0===t||null===(x=t.size)||void 0===x?void 0:x.width)||0)){var w;o=(null===t||void 0===t||null===(w=t.size)||void 0===w?void 0:w.width)||0;const e=a>0?Math.min(t.children.length,a):t.children.length;if(e>0){var v;const r=(o-e*nt-nt)/e;g.Rm.debug("abc95 (growing to fit) width",t.id,o,null===(v=t.size)||void 0===v?void 0:v.width,r);for(const e of t.children)e.size&&(e.size.width=r)}}t.size={width:o,height:l,x:0,y:0}}g.Rm.debug("setBlockSizes abc94 (done)",t.id,null===t||void 0===t||null===(i=t.size)||void 0===i?void 0:i.x,null===t||void 0===t||null===(s=t.size)||void 0===s?void 0:s.width,null===t||void 0===t||null===(o=t.size)||void 0===o?void 0:o.y,null===t||void 0===t||null===(l=t.size)||void 0===l?void 0:l.height)}function lt(t,e){var r,a,n,i,s,o,l;g.Rm.debug("abc85 layout blocks (=>layoutBlocks) ".concat(t.id," x: ").concat(null===t||void 0===t||null===(r=t.size)||void 0===r?void 0:r.x," y: ").concat(null===t||void 0===t||null===(a=t.size)||void 0===a?void 0:a.y," width: ").concat(null===t||void 0===t||null===(n=t.size)||void 0===n?void 0:n.width));const c=null!==(i=t.columns)&&void 0!==i?i:-1;if(g.Rm.debug("layoutBlocks columns abc95",t.id,"=>",c,t),t.children&&t.children.length>0){var d,h,u,y,p,x;const r=null!==(d=null===t||void 0===t||null===(h=t.children[0])||void 0===h||null===(h=h.size)||void 0===h?void 0:h.width)&&void 0!==d?d:0,a=t.children.length*r+(t.children.length-1)*nt;g.Rm.debug("widthOfChildren 88",a,"posX");const n=new Map;{let e=0;for(const r of t.children){var b,f;if(!r.size)continue;const{py:t}=it(c,e),a=null!==(b=n.get(t))&&void 0!==b?b:0;r.size.height>a&&n.set(t,r.size.height);let i=null!==(f=null===r||void 0===r?void 0:r.widthInColumns)&&void 0!==f?f:1;c>0&&(i=Math.min(i,c-e%c)),e+=i}}const i=new Map;{let t=0;const e=[...n.keys()].sort((t,e)=>t-e);for(const r of e){var m;i.set(r,t),t+=(null!==(m=n.get(r))&&void 0!==m?m:0)+nt}}let s=0;g.Rm.debug("abc91 block?.size?.x",t.id,null===t||void 0===t||null===(u=t.size)||void 0===u?void 0:u.x);let o=null!==t&&void 0!==t&&null!==(y=t.size)&&void 0!==y&&y.x?(null===t||void 0===t||null===(p=t.size)||void 0===p?void 0:p.x)+(-(null===t||void 0===t||null===(x=t.size)||void 0===x?void 0:x.width)/2||0):-nt,l=0;for(const d of t.children){var w,v,k;const r=t;if(!d.size)continue;const{width:a,height:h}=d.size,{px:u,py:y}=it(c,s);var L,S,_;if(y!=l)l=y,o=null!==t&&void 0!==t&&null!==(L=t.size)&&void 0!==L&&L.x?(null===t||void 0===t||null===(S=t.size)||void 0===S?void 0:S.x)+(-(null===t||void 0===t||null===(_=t.size)||void 0===_?void 0:_.width)/2||0):-nt,g.Rm.debug("New row in layout for block",t.id," and child ",d.id,l);if(g.Rm.debug("abc89 layout blocks (child) id: ".concat(d.id," Pos: ").concat(s," (px, py) ").concat(u,",").concat(y," (").concat(null===r||void 0===r||null===(w=r.size)||void 0===w?void 0:w.x,",").concat(null===r||void 0===r||null===(v=r.size)||void 0===v?void 0:v.y,") parent: ").concat(r.id," width: ").concat(a).concat(nt)),r.size){var E,D,R,K;const t=a/2;d.size.x=o+nt+t,g.Rm.debug("abc91 layout blocks (calc) px, pyid:".concat(d.id," startingPos=X").concat(o," new startingPosX").concat(d.size.x," ").concat(t," padding=").concat(nt," width=").concat(a," halfWidth=").concat(t," => x:").concat(d.size.x," y:").concat(d.size.y," ").concat(d.widthInColumns," (width * (child?.w || 1)) / 2 ").concat(a*(null!==(E=null===d||void 0===d?void 0:d.widthInColumns)&&void 0!==E?E:1)/2)),o=d.size.x+t;const e=null!==(D=i.get(y))&&void 0!==D?D:0,s=null!==(R=n.get(y))&&void 0!==R?R:h;d.size.y=r.size.y-r.size.height/2+e+s/2+nt,g.Rm.debug("abc88 layout blocks (calc) px, pyid:".concat(d.id,"startingPosX").concat(o).concat(nt).concat(t,"=>x:").concat(d.size.x,"y:").concat(d.size.y).concat(d.widthInColumns,"(width * (child?.w || 1)) / 2").concat(a*(null!==(K=null===d||void 0===d?void 0:d.widthInColumns)&&void 0!==K?K:1)/2))}d.children&&lt(d,e);let p=null!==(k=null===d||void 0===d?void 0:d.widthInColumns)&&void 0!==k?k:1;c>0&&(p=Math.min(p,c-s%c)),s+=p,g.Rm.debug("abc88 columnsPos",d,s)}}g.Rm.debug("layout blocks (<==layoutBlocks) ".concat(t.id," x: ").concat(null===t||void 0===t||null===(s=t.size)||void 0===s?void 0:s.x," y: ").concat(null===t||void 0===t||null===(o=t.size)||void 0===o?void 0:o.y," width: ").concat(null===t||void 0===t||null===(l=t.size)||void 0===l?void 0:l.width))}function ct(t){let{minX:e,minY:r,maxX:a,maxY:n}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{minX:0,minY:0,maxX:0,maxY:0};if(t.size&&"root"!==t.id){const{x:i,y:s,width:o,height:l}=t.size;i-o/2<e&&(e=i-o/2),s-l/2<r&&(r=s-l/2),i+o/2>a&&(a=i+o/2),s+l/2>n&&(n=s+l/2)}if(t.children)for(const i of t.children)({minX:e,minY:r,maxX:a,maxY:n}=ct(i,{minX:e,minY:r,maxX:a,maxY:n}));return{minX:e,minY:r,maxX:a,maxY:n}}function dt(t){const e=t.getBlock("root");if(!e)return;ot(e,t,0,0),lt(e,t),g.Rm.debug("getBlocks",JSON.stringify(e,null,2));const{minX:r,minY:a,maxX:n,maxY:i}=ct(e);return{x:r,y:a,width:n-r,height:i-a}}(0,g.K2)(ot,"setBlockSizes"),(0,g.K2)(lt,"layoutBlocks"),(0,g.K2)(ct,"findBounds"),(0,g.K2)(dt,"layout");var ht=(0,g.K2)(async function(t,e,r){let a=arguments.length>3&&void 0!==arguments[3]&&arguments[3],n=arguments.length>4&&void 0!==arguments[4]&&arguments[4],i=e||"";"object"===typeof i&&(i=i[0]);const s=(0,h.D7)(),o=(0,h.E)(s);return await(0,c.GZ)(t,i,{style:r,isTitle:a,useHtmlLabels:o,markdown:!1,isNode:n,width:Number.POSITIVE_INFINITY},s)},"createLabel"),gt=ht,ut=(0,g.K2)((t,e,r,a,n)=>{e.arrowTypeStart&&pt(t,"start",e.arrowTypeStart,r,a,n),e.arrowTypeEnd&&pt(t,"end",e.arrowTypeEnd,r,a,n)},"addEdgeMarkers"),yt={arrow_cross:"cross",arrow_point:"point",arrow_barb:"barb",arrow_circle:"circle",aggregation:"aggregation",extension:"extension",composition:"composition",dependency:"dependency",lollipop:"lollipop"},pt=(0,g.K2)((t,e,r,a,n,i)=>{const s=yt[r];if(!s)return void g.Rm.warn("Unknown arrow type: ".concat(r));const o="start"===e?"Start":"End";t.attr("marker-".concat(e),"url(".concat(a,"#").concat(n,"_").concat(i,"-").concat(s).concat(o,")"))},"addEdgeMarker"),xt={},bt={},ft=(0,g.K2)(async(t,e)=>{const r=(0,h.D7)(),a=(0,h.E)(r),n=t.insert("g").attr("class","edgeLabel"),i=n.insert("g").attr("class","label"),s="markdown"===e.labelType,l=await(0,c.GZ)(t,e.label,{style:e.labelStyle,useHtmlLabels:a,addSvgBackground:s,isNode:!1,markdown:s,width:s?void 0:Number.POSITIVE_INFINITY},r);i.node().appendChild(l);let d,g=l.getBBox(),u=g;if(a){const t=l.children[0],e=(0,x.Ltv)(l);g=t.getBoundingClientRect(),u=g,e.attr("width",g.width),e.attr("height",g.height)}else{const t=(0,x.Ltv)(l).select("text").node();t&&"function"===typeof t.getBBox&&(u=t.getBBox())}if(i.attr("transform",(0,o.Wg)(u,a)),xt[e.id]=n,e.width=g.width,e.height=g.height,e.startLabelLeft){const r=t.insert("g").attr("class","edgeTerminals"),n=r.insert("g").attr("class","inner"),i=await gt(n,e.startLabelLeft,e.labelStyle);d=i;let s=i.getBBox();if(a){const t=i.children[0],e=(0,x.Ltv)(i);s=t.getBoundingClientRect(),e.attr("width",s.width),e.attr("height",s.height)}n.attr("transform",(0,o.Wg)(s,a)),bt[e.id]||(bt[e.id]={}),bt[e.id].startLeft=r,mt(d,e.startLabelLeft)}if(e.startLabelRight){const r=t.insert("g").attr("class","edgeTerminals"),n=r.insert("g").attr("class","inner"),i=await gt(r,e.startLabelRight,e.labelStyle);d=i,n.node().appendChild(i);let s=i.getBBox();if(a){const t=i.children[0],e=(0,x.Ltv)(i);s=t.getBoundingClientRect(),e.attr("width",s.width),e.attr("height",s.height)}n.attr("transform",(0,o.Wg)(s,a)),bt[e.id]||(bt[e.id]={}),bt[e.id].startRight=r,mt(d,e.startLabelRight)}if(e.endLabelLeft){const r=t.insert("g").attr("class","edgeTerminals"),n=r.insert("g").attr("class","inner"),i=await gt(n,e.endLabelLeft,e.labelStyle);d=i;let s=i.getBBox();if(a){const t=i.children[0],e=(0,x.Ltv)(i);s=t.getBoundingClientRect(),e.attr("width",s.width),e.attr("height",s.height)}n.attr("transform",(0,o.Wg)(s,a)),r.node().appendChild(i),bt[e.id]||(bt[e.id]={}),bt[e.id].endLeft=r,mt(d,e.endLabelLeft)}if(e.endLabelRight){const r=t.insert("g").attr("class","edgeTerminals"),n=r.insert("g").attr("class","inner"),i=await gt(n,e.endLabelRight,e.labelStyle);d=i;let s=i.getBBox();if(a){const t=i.children[0],e=(0,x.Ltv)(i);s=t.getBoundingClientRect(),e.attr("width",s.width),e.attr("height",s.height)}n.attr("transform",(0,o.Wg)(s,a)),r.node().appendChild(i),bt[e.id]||(bt[e.id]={}),bt[e.id].endRight=r,mt(d,e.endLabelRight)}return l},"insertEdgeLabel");function mt(t,e){(0,h.E)((0,h.D7)())&&t&&(t.style.width=9*e.length+"px",t.style.height="12px")}(0,g.K2)(mt,"setTerminalWidth");var wt=(0,g.K2)((t,e)=>{g.Rm.debug("Moving label abc88 ",t.id,t.label,xt[t.id],e);let r=e.updatedPath?e.updatedPath:e.originalPath;const a=(0,h.D7)(),{subGraphTitleTotalMargin:n}=(0,l.O)(a);if(t.label){const a=xt[t.id];let i=t.x,s=t.y;if(r){const a=d._K.calcLabelPosition(r);g.Rm.debug("Moving label "+t.label+" from (",i,",",s,") to (",a.x,",",a.y,") abc88"),e.updatedPath&&(i=a.x,s=a.y)}a.attr("transform","translate(".concat(i,", ").concat(s+n/2,")"))}if(t.startLabelLeft){const e=bt[t.id].startLeft;let a=t.x,n=t.y;if(r){const e=d._K.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_left",r);a=e.x,n=e.y}e.attr("transform","translate(".concat(a,", ").concat(n,")"))}if(t.startLabelRight){const e=bt[t.id].startRight;let a=t.x,n=t.y;if(r){const e=d._K.calcTerminalLabelPosition(t.arrowTypeStart?10:0,"start_right",r);a=e.x,n=e.y}e.attr("transform","translate(".concat(a,", ").concat(n,")"))}if(t.endLabelLeft){const e=bt[t.id].endLeft;let a=t.x,n=t.y;if(r){const e=d._K.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_left",r);a=e.x,n=e.y}e.attr("transform","translate(".concat(a,", ").concat(n,")"))}if(t.endLabelRight){const e=bt[t.id].endRight;let a=t.x,n=t.y;if(r){const e=d._K.calcTerminalLabelPosition(t.arrowTypeEnd?10:0,"end_right",r);a=e.x,n=e.y}e.attr("transform","translate(".concat(a,", ").concat(n,")"))}},"positionEdgeLabel"),vt=(0,g.K2)((t,e)=>{const r=t.x,a=t.y,n=Math.abs(e.x-r),i=Math.abs(e.y-a),s=t.width/2,o=t.height/2;return n>=s||i>=o},"outsideNode"),kt=(0,g.K2)((t,e,r)=>{g.Rm.debug("intersection calc abc89:\n outsidePoint: ".concat(JSON.stringify(e),"\n insidePoint : ").concat(JSON.stringify(r),"\n node : x:").concat(t.x," y:").concat(t.y," w:").concat(t.width," h:").concat(t.height));const a=t.x,n=t.y,i=Math.abs(a-r.x),s=t.width/2;let o=r.x<e.x?s-i:s+i;const l=t.height/2,c=Math.abs(e.y-r.y),d=Math.abs(e.x-r.x);if(Math.abs(n-e.y)*s>Math.abs(a-e.x)*l){let t=r.y<e.y?e.y-l-n:n-l-e.y;o=d*t/c;const a={x:r.x<e.x?r.x+o:r.x-d+o,y:r.y<e.y?r.y+c-t:r.y-c+t};return 0===o&&(a.x=e.x,a.y=e.y),0===d&&(a.x=e.x),0===c&&(a.y=e.y),g.Rm.debug("abc89 topp/bott calc, Q ".concat(c,", q ").concat(t,", R ").concat(d,", r ").concat(o),a),a}{o=r.x<e.x?e.x-s-a:a-s-e.x;let t=c*o/d,n=r.x<e.x?r.x+d-o:r.x-d+o,i=r.y<e.y?r.y+t:r.y-t;return g.Rm.debug("sides calc abc89, Q ".concat(c,", q ").concat(t,", R ").concat(d,", r ").concat(o),{_x:n,_y:i}),0===o&&(n=e.x,i=e.y),0===d&&(n=e.x),0===c&&(i=e.y),{x:n,y:i}}},"intersection"),Lt=(0,g.K2)((t,e)=>{g.Rm.debug("abc88 cutPathAtIntersect",t,e);let r=[],a=t[0],n=!1;return t.forEach(t=>{if(vt(e,t)||n)a=t,n||r.push(t);else{const i=kt(e,a,t);let s=!1;r.forEach(t=>{s=s||t.x===i.x&&t.y===i.y}),r.some(t=>t.x===i.x&&t.y===i.y)||r.push(i),n=!0}}),r},"cutPathAtIntersect"),St=(0,g.K2)(function(t,e,r,a,n,i,s){let l=r.points;g.Rm.debug("abc88 InsertEdge: edge=",r,"e=",e);let c=!1;const d=i.node(e.v);var u=i.node(e.w);null!==u&&void 0!==u&&u.intersect&&null!==d&&void 0!==d&&d.intersect&&(l=l.slice(1,r.points.length-1),l.unshift(d.intersect(l[0])),l.push(u.intersect(l[l.length-1]))),r.toCluster&&(g.Rm.debug("to cluster abc88",a[r.toCluster]),l=Lt(r.points,a[r.toCluster].node),c=!0),r.fromCluster&&(g.Rm.debug("from cluster abc88",a[r.fromCluster]),l=Lt(l.reverse(),a[r.fromCluster].node).reverse(),c=!0);const y=l.filter(t=>!Number.isNaN(t.y));let p=x.qrM;!r.curve||"graph"!==n&&"flowchart"!==n||(p=r.curve);const{x:b,y:f}=(0,o.RI)(r),m=(0,x.n8j)().x(b).y(f).curve(p);let w;switch(r.thickness){case"normal":w="edge-thickness-normal";break;case"thick":case"invisible":w="edge-thickness-thick";break;default:w=""}switch(r.pattern){case"solid":w+=" edge-pattern-solid";break;case"dotted":w+=" edge-pattern-dotted";break;case"dashed":w+=" edge-pattern-dashed"}const v=t.append("path").attr("d",m(y)).attr("id",r.id).attr("class"," "+w+(r.classes?" "+r.classes:"")).attr("style",r.style);let k="";((0,h.D7)().flowchart.arrowMarkerAbsolute||(0,h.D7)().state.arrowMarkerAbsolute)&&(k=(0,h.ID)(!0)),ut(v,r,k,s,n);let L={};return c&&(L.updatedPath=l),L.originalPath=r.points,L},"insertEdge"),_t=(0,g.K2)(t=>{const e=new Set;for(const r of t)switch(r){case"x":e.add("right"),e.add("left");break;case"y":e.add("up"),e.add("down");break;default:e.add(r)}return e},"expandAndDeduplicateDirections"),Et=(0,g.K2)((t,e,r)=>{const a=_t(t),n=e.height+2*r.padding,i=n/2,s=e.width+2*i+r.padding,o=r.padding/2;return a.has("right")&&a.has("left")&&a.has("up")&&a.has("down")?[{x:0,y:0},{x:i,y:0},{x:s/2,y:2*o},{x:s-i,y:0},{x:s,y:0},{x:s,y:-n/3},{x:s+2*o,y:-n/2},{x:s,y:-2*n/3},{x:s,y:-n},{x:s-i,y:-n},{x:s/2,y:-n-2*o},{x:i,y:-n},{x:0,y:-n},{x:0,y:-2*n/3},{x:-2*o,y:-n/2},{x:0,y:-n/3}]:a.has("right")&&a.has("left")&&a.has("up")?[{x:i,y:0},{x:s-i,y:0},{x:s,y:-n/2},{x:s-i,y:-n},{x:i,y:-n},{x:0,y:-n/2}]:a.has("right")&&a.has("left")&&a.has("down")?[{x:0,y:0},{x:i,y:-n},{x:s-i,y:-n},{x:s,y:0}]:a.has("right")&&a.has("up")&&a.has("down")?[{x:0,y:0},{x:s,y:-i},{x:s,y:-n+i},{x:0,y:-n}]:a.has("left")&&a.has("up")&&a.has("down")?[{x:s,y:0},{x:0,y:-i},{x:0,y:-n+i},{x:s,y:-n}]:a.has("right")&&a.has("left")?[{x:i,y:0},{x:i,y:-o},{x:s-i,y:-o},{x:s-i,y:0},{x:s,y:-n/2},{x:s-i,y:-n},{x:s-i,y:-n+o},{x:i,y:-n+o},{x:i,y:-n},{x:0,y:-n/2}]:a.has("up")&&a.has("down")?[{x:s/2,y:0},{x:0,y:-o},{x:i,y:-o},{x:i,y:-n+o},{x:0,y:-n+o},{x:s/2,y:-n},{x:s,y:-n+o},{x:s-i,y:-n+o},{x:s-i,y:-o},{x:s,y:-o}]:a.has("right")&&a.has("up")?[{x:0,y:0},{x:s,y:-i},{x:0,y:-n}]:a.has("right")&&a.has("down")?[{x:0,y:0},{x:s,y:0},{x:0,y:-n}]:a.has("left")&&a.has("up")?[{x:s,y:0},{x:0,y:-i},{x:s,y:-n}]:a.has("left")&&a.has("down")?[{x:s,y:0},{x:0,y:0},{x:s,y:-n}]:a.has("right")?[{x:i,y:-o},{x:i,y:-o},{x:s-i,y:-o},{x:s-i,y:0},{x:s,y:-n/2},{x:s-i,y:-n},{x:s-i,y:-n+o},{x:i,y:-n+o},{x:i,y:-n+o}]:a.has("left")?[{x:i,y:0},{x:i,y:-o},{x:s-i,y:-o},{x:s-i,y:-n+o},{x:i,y:-n+o},{x:i,y:-n},{x:0,y:-n/2}]:a.has("up")?[{x:i,y:-o},{x:i,y:-n+o},{x:0,y:-n+o},{x:s/2,y:-n},{x:s,y:-n+o},{x:s-i,y:-n+o},{x:s-i,y:-o}]:a.has("down")?[{x:s/2,y:0},{x:0,y:-o},{x:i,y:-o},{x:i,y:-n+o},{x:s-i,y:-n+o},{x:s-i,y:-o},{x:s,y:-o}]:[{x:0,y:0}]},"getArrowPoints");function Dt(t,e){return t.intersect(e)}(0,g.K2)(Dt,"intersectNode");var Rt=Dt;function Kt(t,e,r,a){var n=t.x,i=t.y,s=n-a.x,o=i-a.y,l=Math.sqrt(e*e*o*o+r*r*s*s),c=Math.abs(e*r*s/l);a.x<n&&(c=-c);var d=Math.abs(e*r*o/l);return a.y<i&&(d=-d),{x:n+c,y:i+d}}(0,g.K2)(Kt,"intersectEllipse");var Tt=Kt;function It(t,e,r){return Tt(t,e,e,r)}(0,g.K2)(It,"intersectCircle");var Nt=It;function Ct(t,e,r,a){var n,i,s,o,l,c,d,h,g,u,y,p,x;if(n=e.y-t.y,s=t.x-e.x,l=e.x*t.y-t.x*e.y,g=n*r.x+s*r.y+l,u=n*a.x+s*a.y+l,(0===g||0===u||!Bt(g,u))&&(i=a.y-r.y,o=r.x-a.x,c=a.x*r.y-r.x*a.y,d=i*t.x+o*t.y+c,h=i*e.x+o*e.y+c,(0===d||0===h||!Bt(d,h))&&0!==(y=n*o-i*s)))return p=Math.abs(y/2),{x:(x=s*c-o*l)<0?(x-p)/y:(x+p)/y,y:(x=i*l-n*c)<0?(x-p)/y:(x+p)/y}}function Bt(t,e){return t*e>0}(0,g.K2)(Ct,"intersectLine"),(0,g.K2)(Bt,"sameSign");var zt=Ct,Ot=At;function At(t,e,r){var a=t.x,n=t.y,i=[],s=Number.POSITIVE_INFINITY,o=Number.POSITIVE_INFINITY;"function"===typeof e.forEach?e.forEach(function(t){s=Math.min(s,t.x),o=Math.min(o,t.y)}):(s=Math.min(s,e.x),o=Math.min(o,e.y));for(var l=a-t.width/2-s,c=n-t.height/2-o,d=0;d<e.length;d++){var h=e[d],g=e[d<e.length-1?d+1:0],u=zt(t,r,{x:l+h.x,y:c+h.y},{x:l+g.x,y:c+g.y});u&&i.push(u)}return i.length?(i.length>1&&i.sort(function(t,e){var a=t.x-r.x,n=t.y-r.y,i=Math.sqrt(a*a+n*n),s=e.x-r.x,o=e.y-r.y,l=Math.sqrt(s*s+o*o);return i<l?-1:i===l?0:1}),i[0]):t}(0,g.K2)(At,"intersectPolygon");var Mt={node:Rt,circle:Nt,ellipse:Tt,polygon:Ot,rect:(0,g.K2)((t,e)=>{var r,a,n=t.x,i=t.y,s=e.x-n,o=e.y-i,l=t.width/2,c=t.height/2;return Math.abs(o)*l>Math.abs(s)*c?(o<0&&(c=-c),r=0===o?0:c*s/o,a=c):(s<0&&(l=-l),r=l,a=0===s?0:l*o/s),{x:n+r,y:i+a}},"intersectRect")},Pt=(0,g.K2)(async(t,e,r,a)=>{const n=(0,h.D7)();let i;const s=e.useHtmlLabels||(0,h.E)(n);i=r||"node default";const o=t.insert("g").attr("class",i).attr("id",e.domId||e.id),g=o.insert("g").attr("class","label").attr("style",e.labelStyle);let u,y;u=void 0===e.labelText?"":"string"===typeof e.labelText?e.labelText:e.labelText[0],y="markdown"===e.labelType?(0,c.GZ)(g,(0,h.jZ)((0,d.Sm)(u),n),{useHtmlLabels:s,width:e.width||n.flowchart.wrappingWidth,classes:"markdown-node-label"},n):await gt(g,(0,h.jZ)((0,d.Sm)(u),n),e.labelStyle,!1,a);let p=y.getBBox();const b=e.padding/2;if((0,h.E)(n)){const t=y.children[0],e=(0,x.Ltv)(y);await(0,l.X)(t,u),p=t.getBoundingClientRect(),e.attr("width",p.width),e.attr("height",p.height)}return s?g.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"):g.attr("transform","translate(0, "+-p.height/2+")"),e.centerLabel&&g.attr("transform","translate("+-p.width/2+", "+-p.height/2+")"),g.insert("rect",":first-child"),{shapeSvg:o,bbox:p,halfPadding:b,label:g}},"labelHelper"),Yt=(0,g.K2)((t,e)=>{const r=e.node().getBBox();t.width=r.width,t.height=r.height},"updateNodeBounds");function Wt(t,e,r,a){return t.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("class","label-container").attr("transform","translate("+-e/2+","+r/2+")")}(0,g.K2)(Wt,"insertPolygonShape");var Ft=(0,g.K2)(async(t,e)=>{e.useHtmlLabels||(0,h.E)((0,h.D7)())||(e.centerLabel=!0);const{shapeSvg:r,bbox:a,halfPadding:n}=await Pt(t,e,"node "+e.classes,!0);g.Rm.info("Classes = ",e.classes);const i=r.insert("rect",":first-child");return i.attr("rx",e.rx).attr("ry",e.ry).attr("x",-a.width/2-n).attr("y",-a.height/2-n).attr("width",a.width+e.padding).attr("height",a.height+e.padding),Yt(e,i),e.intersect=function(t){return Mt.rect(e,t)},r},"note"),Xt=(0,g.K2)(t=>t?" "+t:"","formatClass"),$t=(0,g.K2)((t,e)=>"".concat(e||"node default").concat(Xt(t.classes)," ").concat(Xt(t.class)),"getClassesFromNode"),Ht=(0,g.K2)(async(t,e)=>{const{shapeSvg:r,bbox:a}=await Pt(t,e,$t(e,void 0),!0),n=a.width+e.padding+(a.height+e.padding),i=[{x:n/2,y:0},{x:n,y:-n/2},{x:n/2,y:-n},{x:0,y:-n/2}];g.Rm.info("Question main (Circle)");const s=Wt(r,n,n,i);return s.attr("style",e.style),Yt(e,s),e.intersect=function(t){return g.Rm.warn("Intersect called"),Mt.polygon(e,i,t)},r},"question"),jt=(0,g.K2)((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a=[{x:0,y:14},{x:14,y:0},{x:0,y:-14},{x:-14,y:0}];return r.insert("polygon",":first-child").attr("points",a.map(function(t){return t.x+","+t.y}).join(" ")).attr("class","state-start").attr("r",7).attr("width",28).attr("height",28),e.width=28,e.height=28,e.intersect=function(t){return Mt.circle(e,14,t)},r},"choice"),Ut=(0,g.K2)(async(t,e)=>{const{shapeSvg:r,bbox:a}=await Pt(t,e,$t(e,void 0),!0),n=a.height+e.padding,i=n/4,s=a.width+2*i+e.padding,o=[{x:i,y:0},{x:s-i,y:0},{x:s,y:-n/2},{x:s-i,y:-n},{x:i,y:-n},{x:0,y:-n/2}],l=Wt(r,s,n,o);return l.attr("style",e.style),Yt(e,l),e.intersect=function(t){return Mt.polygon(e,o,t)},r},"hexagon"),Zt=(0,g.K2)(async(t,e)=>{const{shapeSvg:r,bbox:a}=await Pt(t,e,void 0,!0),n=a.height+2*e.padding,i=n/2,s=a.width+2*i+e.padding,o=Et(e.directions,a,e),l=Wt(r,s,n,o);return l.attr("style",e.style),Yt(e,l),e.intersect=function(t){return Mt.polygon(e,o,t)},r},"block_arrow"),qt=(0,g.K2)(async(t,e)=>{const{shapeSvg:r,bbox:a}=await Pt(t,e,$t(e,void 0),!0),n=a.width+e.padding,i=a.height+e.padding,s=[{x:-i/2,y:0},{x:n,y:0},{x:n,y:-i},{x:-i/2,y:-i},{x:0,y:-i/2}];return Wt(r,n,i,s).attr("style",e.style),e.width=n+i,e.height=i,e.intersect=function(t){return Mt.polygon(e,s,t)},r},"rect_left_inv_arrow"),Gt=(0,g.K2)(async(t,e)=>{const{shapeSvg:r,bbox:a}=await Pt(t,e,$t(e),!0),n=a.width+e.padding,i=a.height+e.padding,s=[{x:-2*i/6,y:0},{x:n-i/6,y:0},{x:n+2*i/6,y:-i},{x:i/6,y:-i}],o=Wt(r,n,i,s);return o.attr("style",e.style),Yt(e,o),e.intersect=function(t){return Mt.polygon(e,s,t)},r},"lean_right"),Vt=(0,g.K2)(async(t,e)=>{const{shapeSvg:r,bbox:a}=await Pt(t,e,$t(e,void 0),!0),n=a.width+e.padding,i=a.height+e.padding,s=[{x:2*i/6,y:0},{x:n+i/6,y:0},{x:n-2*i/6,y:-i},{x:-i/6,y:-i}],o=Wt(r,n,i,s);return o.attr("style",e.style),Yt(e,o),e.intersect=function(t){return Mt.polygon(e,s,t)},r},"lean_left"),Jt=(0,g.K2)(async(t,e)=>{const{shapeSvg:r,bbox:a}=await Pt(t,e,$t(e,void 0),!0),n=a.width+e.padding,i=a.height+e.padding,s=[{x:-2*i/6,y:0},{x:n+2*i/6,y:0},{x:n-i/6,y:-i},{x:i/6,y:-i}],o=Wt(r,n,i,s);return o.attr("style",e.style),Yt(e,o),e.intersect=function(t){return Mt.polygon(e,s,t)},r},"trapezoid"),Qt=(0,g.K2)(async(t,e)=>{const{shapeSvg:r,bbox:a}=await Pt(t,e,$t(e,void 0),!0),n=a.width+e.padding,i=a.height+e.padding,s=[{x:i/6,y:0},{x:n-i/6,y:0},{x:n+2*i/6,y:-i},{x:-2*i/6,y:-i}],o=Wt(r,n,i,s);return o.attr("style",e.style),Yt(e,o),e.intersect=function(t){return Mt.polygon(e,s,t)},r},"inv_trapezoid"),te=(0,g.K2)(async(t,e)=>{const{shapeSvg:r,bbox:a}=await Pt(t,e,$t(e,void 0),!0),n=a.width+e.padding,i=a.height+e.padding,s=[{x:0,y:0},{x:n+i/2,y:0},{x:n,y:-i/2},{x:n+i/2,y:-i},{x:0,y:-i}],o=Wt(r,n,i,s);return o.attr("style",e.style),Yt(e,o),e.intersect=function(t){return Mt.polygon(e,s,t)},r},"rect_right_inv_arrow"),ee=(0,g.K2)(async(t,e)=>{const{shapeSvg:r,bbox:a}=await Pt(t,e,$t(e,void 0),!0),n=a.width+e.padding,i=n/2,s=i/(2.5+n/50),o=a.height+s+e.padding,l="M 0,"+s+" a "+i+","+s+" 0,0,0 "+n+" 0 a "+i+","+s+" 0,0,0 "+-n+" 0 l 0,"+o+" a "+i+","+s+" 0,0,0 "+n+" 0 l 0,"+-o,c=r.attr("label-offset-y",s).insert("path",":first-child").attr("style",e.style).attr("d",l).attr("transform","translate("+-n/2+","+-(o/2+s)+")");return Yt(e,c),e.intersect=function(t){const r=Mt.rect(e,t),a=r.x-e.x;if(0!=i&&(Math.abs(a)<e.width/2||Math.abs(a)==e.width/2&&Math.abs(r.y-e.y)>e.height/2-s)){let n=s*s*(1-a*a/(i*i));0!=n&&(n=Math.sqrt(n)),n=s-n,t.y-e.y>0&&(n=-n),r.y+=n}return r},r},"cylinder"),re=(0,g.K2)(async(t,e)=>{const{shapeSvg:r,bbox:a,halfPadding:n}=await Pt(t,e,"node "+e.classes+" "+e.class,!0),i=r.insert("rect",":first-child"),s=e.positioned?e.width:a.width+e.padding,o=e.positioned?e.height:a.height+e.padding,l=e.positioned?-s/2:-a.width/2-n,c=e.positioned?-o/2:-a.height/2-n;if(i.attr("class","basic label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",c).attr("width",s).attr("height",o),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(ie(i,e.props.borders,s,o),t.delete("borders")),t.forEach(t=>{g.Rm.warn("Unknown node property ".concat(t))})}return Yt(e,i),e.intersect=function(t){return Mt.rect(e,t)},r},"rect"),ae=(0,g.K2)(async(t,e)=>{const{shapeSvg:r,bbox:a,halfPadding:n}=await Pt(t,e,"node "+e.classes,!0),i=r.insert("rect",":first-child"),s=e.positioned?e.width:a.width+e.padding,o=e.positioned?e.height:a.height+e.padding,l=e.positioned?-s/2:-a.width/2-n,c=e.positioned?-o/2:-a.height/2-n;if(i.attr("class","basic cluster composite label-container").attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("x",l).attr("y",c).attr("width",s).attr("height",o),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(ie(i,e.props.borders,s,o),t.delete("borders")),t.forEach(t=>{g.Rm.warn("Unknown node property ".concat(t))})}return Yt(e,i),e.intersect=function(t){return Mt.rect(e,t)},r},"composite"),ne=(0,g.K2)(async(t,e)=>{const{shapeSvg:r}=await Pt(t,e,"label",!0);g.Rm.trace("Classes = ",e.class);const a=r.insert("rect",":first-child");if(a.attr("width",0).attr("height",0),r.attr("class","label edgeLabel"),e.props){const t=new Set(Object.keys(e.props));e.props.borders&&(ie(a,e.props.borders,0,0),t.delete("borders")),t.forEach(t=>{g.Rm.warn("Unknown node property ".concat(t))})}return Yt(e,a),e.intersect=function(t){return Mt.rect(e,t)},r},"labelRect");function ie(t,e,r,a){const n=[],i=(0,g.K2)(t=>{n.push(t,0)},"addBorder"),s=(0,g.K2)(t=>{n.push(0,t)},"skipBorder");e.includes("t")?(g.Rm.debug("add top border"),i(r)):s(r),e.includes("r")?(g.Rm.debug("add right border"),i(a)):s(a),e.includes("b")?(g.Rm.debug("add bottom border"),i(r)):s(r),e.includes("l")?(g.Rm.debug("add left border"),i(a)):s(a),t.attr("stroke-dasharray",n.join(" "))}(0,g.K2)(ie,"applyNodePropertyBorders");var se=(0,g.K2)(async(t,e)=>{let r;r=e.classes?"node "+e.classes:"node default";const a=t.insert("g").attr("class",r).attr("id",e.domId||e.id),n=a.insert("rect",":first-child"),i=a.insert("line"),s=a.insert("g").attr("class","label"),o=e.labelText.flat?e.labelText.flat():e.labelText;let l="";l="object"===typeof o?o[0]:o,g.Rm.info("Label text abc79",l,o,"object"===typeof o);const c=await gt(s,l,e.labelStyle,!0,!0);let d={width:0,height:0};if((0,h.E)((0,h.D7)())){const t=c.children[0],e=(0,x.Ltv)(c);d=t.getBoundingClientRect(),e.attr("width",d.width),e.attr("height",d.height)}g.Rm.info("Text 2",o);const u=o.slice(1,o.length);let y=c.getBBox();const p=await gt(s,u.join?u.join("<br/>"):u,e.labelStyle,!0,!0);if((0,h.E)((0,h.D7)())){const t=p.children[0],e=(0,x.Ltv)(p);d=t.getBoundingClientRect(),e.attr("width",d.width),e.attr("height",d.height)}const b=e.padding/2;return(0,x.Ltv)(p).attr("transform","translate( "+(d.width>y.width?0:(y.width-d.width)/2)+", "+(y.height+b+5)+")"),(0,x.Ltv)(c).attr("transform","translate( "+(d.width<y.width?0:-(y.width-d.width)/2)+", 0)"),d=s.node().getBBox(),s.attr("transform","translate("+-d.width/2+", "+(-d.height/2-b+3)+")"),n.attr("class","outer title-state").attr("x",-d.width/2-b).attr("y",-d.height/2-b).attr("width",d.width+e.padding).attr("height",d.height+e.padding),i.attr("class","divider").attr("x1",-d.width/2-b).attr("x2",d.width/2+b).attr("y1",-d.height/2-b+y.height+b).attr("y2",-d.height/2-b+y.height+b),Yt(e,n),e.intersect=function(t){return Mt.rect(e,t)},a},"rectWithTitle"),oe=(0,g.K2)(async(t,e)=>{const{shapeSvg:r,bbox:a}=await Pt(t,e,$t(e,void 0),!0),n=a.height+e.padding,i=a.width+n/4+e.padding,s=r.insert("rect",":first-child").attr("style",e.style).attr("rx",n/2).attr("ry",n/2).attr("x",-i/2).attr("y",-n/2).attr("width",i).attr("height",n);return Yt(e,s),e.intersect=function(t){return Mt.rect(e,t)},r},"stadium"),le=(0,g.K2)(async(t,e)=>{const{shapeSvg:r,bbox:a,halfPadding:n}=await Pt(t,e,$t(e,void 0),!0),i=r.insert("circle",":first-child");return i.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",a.width/2+n).attr("width",a.width+e.padding).attr("height",a.height+e.padding),g.Rm.info("Circle main"),Yt(e,i),e.intersect=function(t){return g.Rm.info("Circle intersect",e,a.width/2+n,t),Mt.circle(e,a.width/2+n,t)},r},"circle"),ce=(0,g.K2)(async(t,e)=>{const{shapeSvg:r,bbox:a,halfPadding:n}=await Pt(t,e,$t(e,void 0),!0),i=r.insert("g",":first-child"),s=i.insert("circle"),o=i.insert("circle");return i.attr("class",e.class),s.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",a.width/2+n+5).attr("width",a.width+e.padding+10).attr("height",a.height+e.padding+10),o.attr("style",e.style).attr("rx",e.rx).attr("ry",e.ry).attr("r",a.width/2+n).attr("width",a.width+e.padding).attr("height",a.height+e.padding),g.Rm.info("DoubleCircle main"),Yt(e,s),e.intersect=function(t){return g.Rm.info("DoubleCircle intersect",e,a.width/2+n+5,t),Mt.circle(e,a.width/2+n+5,t)},r},"doublecircle"),de=(0,g.K2)(async(t,e)=>{const{shapeSvg:r,bbox:a}=await Pt(t,e,$t(e,void 0),!0),n=a.width+e.padding,i=a.height+e.padding,s=[{x:0,y:0},{x:n,y:0},{x:n,y:-i},{x:0,y:-i},{x:0,y:0},{x:-8,y:0},{x:n+8,y:0},{x:n+8,y:-i},{x:-8,y:-i},{x:-8,y:0}],o=Wt(r,n,i,s);return o.attr("style",e.style),Yt(e,o),e.intersect=function(t){return Mt.polygon(e,s,t)},r},"subroutine"),he=(0,g.K2)((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a=r.insert("circle",":first-child");return a.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),Yt(e,a),e.intersect=function(t){return Mt.circle(e,7,t)},r},"start"),ge=(0,g.K2)((t,e,r)=>{const a=t.insert("g").attr("class","node default").attr("id",e.domId||e.id);let n=70,i=10;"LR"===r&&(n=10,i=70);const s=a.append("rect").attr("x",-1*n/2).attr("y",-1*i/2).attr("width",n).attr("height",i).attr("class","fork-join");return Yt(e,s),e.height=e.height+e.padding/2,e.width=e.width+e.padding/2,e.intersect=function(t){return Mt.rect(e,t)},a},"forkJoin"),ue={rhombus:Ht,composite:ae,question:Ht,rect:re,labelRect:ne,rectWithTitle:se,choice:jt,circle:le,doublecircle:ce,stadium:oe,hexagon:Ut,block_arrow:Zt,rect_left_inv_arrow:qt,lean_right:Gt,lean_left:Vt,trapezoid:Jt,inv_trapezoid:Qt,rect_right_inv_arrow:te,cylinder:ee,start:he,end:(0,g.K2)((t,e)=>{const r=t.insert("g").attr("class","node default").attr("id",e.domId||e.id),a=r.insert("circle",":first-child"),n=r.insert("circle",":first-child");return n.attr("class","state-start").attr("r",7).attr("width",14).attr("height",14),a.attr("class","state-end").attr("r",5).attr("width",10).attr("height",10),Yt(e,n),e.intersect=function(t){return Mt.circle(e,7,t)},r},"end"),note:Ft,subroutine:de,fork:ge,join:ge,class_box:(0,g.K2)(async(t,e)=>{var r;const a=e.padding/2;let n;n=e.classes?"node "+e.classes:"node default";const i=t.insert("g").attr("class",n).attr("id",e.domId||e.id),s=i.insert("rect",":first-child"),o=i.insert("line"),l=i.insert("line");let c=0,d=4;const g=i.insert("g").attr("class","label");let u=0;const y=null===(r=e.classData.annotations)||void 0===r?void 0:r[0],p=e.classData.annotations[0]?"\xab"+e.classData.annotations[0]+"\xbb":"",b=await gt(g,p,e.labelStyle,!0,!0);let f=b.getBBox();if((0,h.E)((0,h.D7)())){const t=b.children[0],e=(0,x.Ltv)(b);f=t.getBoundingClientRect(),e.attr("width",f.width),e.attr("height",f.height)}e.classData.annotations[0]&&(d+=f.height+4,c+=f.width);let m=e.classData.label;void 0!==e.classData.type&&""!==e.classData.type&&((0,h.E)((0,h.D7)())?m+="&lt;"+e.classData.type+"&gt;":m+="<"+e.classData.type+">");const w=await gt(g,m,e.labelStyle,!0,!0);(0,x.Ltv)(w).attr("class","classTitle");let v=w.getBBox();if((0,h.E)((0,h.D7)())){const t=w.children[0],e=(0,x.Ltv)(w);v=t.getBoundingClientRect(),e.attr("width",v.width),e.attr("height",v.height)}d+=v.height+4,v.width>c&&(c=v.width);const k=[];e.classData.members.forEach(async t=>{const r=t.getDisplayDetails();let a=r.displayText;(0,h.E)((0,h.D7)())&&(a=a.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const n=await gt(g,a,r.cssStyle?r.cssStyle:e.labelStyle,!0,!0);let i=n.getBBox();if((0,h.E)((0,h.D7)())){const t=n.children[0],e=(0,x.Ltv)(n);i=t.getBoundingClientRect(),e.attr("width",i.width),e.attr("height",i.height)}i.width>c&&(c=i.width),d+=i.height+4,k.push(n)}),d+=8;const L=[];if(e.classData.methods.forEach(async t=>{const r=t.getDisplayDetails();let a=r.displayText;(0,h.E)((0,h.D7)())&&(a=a.replace(/</g,"&lt;").replace(/>/g,"&gt;"));const n=await gt(g,a,r.cssStyle?r.cssStyle:e.labelStyle,!0,!0);let i=n.getBBox();if((0,h.E)((0,h.D7)())){const t=n.children[0],e=(0,x.Ltv)(n);i=t.getBoundingClientRect(),e.attr("width",i.width),e.attr("height",i.height)}i.width>c&&(c=i.width),d+=i.height+4,L.push(n)}),d+=8,y){let t=(c-f.width)/2;(0,x.Ltv)(b).attr("transform","translate( "+(-1*c/2+t)+", "+-1*d/2+")"),u=f.height+4}let S=(c-v.width)/2;return(0,x.Ltv)(w).attr("transform","translate( "+(-1*c/2+S)+", "+(-1*d/2+u)+")"),u+=v.height+4,o.attr("class","divider").attr("x1",-c/2-a).attr("x2",c/2+a).attr("y1",-d/2-a+8+u).attr("y2",-d/2-a+8+u),u+=8,k.forEach(t=>{var e;(0,x.Ltv)(t).attr("transform","translate( "+-c/2+", "+(-1*d/2+u+4)+")");const r=null===t||void 0===t?void 0:t.getBBox();u+=(null!==(e=null===r||void 0===r?void 0:r.height)&&void 0!==e?e:0)+4}),u+=8,l.attr("class","divider").attr("x1",-c/2-a).attr("x2",c/2+a).attr("y1",-d/2-a+8+u).attr("y2",-d/2-a+8+u),u+=8,L.forEach(t=>{var e;(0,x.Ltv)(t).attr("transform","translate( "+-c/2+", "+(-1*d/2+u)+")");const r=null===t||void 0===t?void 0:t.getBBox();u+=(null!==(e=null===r||void 0===r?void 0:r.height)&&void 0!==e?e:0)+4}),s.attr("style",e.style).attr("class","outer title-state").attr("x",-c/2-a).attr("y",-d/2-a).attr("width",c+e.padding).attr("height",d+e.padding),Yt(e,s),e.intersect=function(t){return Mt.rect(e,t)},i},"class_box")},ye={},pe=(0,g.K2)(async(t,e,r)=>{let a,n;if(e.link){let i;"sandbox"===(0,h.D7)().securityLevel?i="_top":e.linkTarget&&(i=e.linkTarget||"_blank"),a=t.insert("svg:a").attr("xlink:href",e.link).attr("target",i),n=await ue[e.shape](a,e,r)}else n=await ue[e.shape](t,e,r),a=n;return e.tooltip&&n.attr("title",e.tooltip),e.class&&n.attr("class","node default "+e.class),ye[e.id]=a,e.haveCallback&&ye[e.id].attr("class",ye[e.id].attr("class")+" clickable"),a},"insertNode"),xe=(0,g.K2)(t=>{const e=ye[t.id];g.Rm.trace("Transforming node",t.diff,t,"translate("+(t.x-t.width/2-5)+", "+t.width/2+")");const r=t.diff||0;return t.clusterNode?e.attr("transform","translate("+(t.x+r-t.width/2)+", "+(t.y-t.height/2-8)+")"):e.attr("transform","translate("+t.x+", "+t.y+")"),r},"positionNode");function be(t,e){var r,a,n,i,s;let o=arguments.length>2&&void 0!==arguments[2]&&arguments[2];const l=t;let c="default";var g;((null===l||void 0===l||null===(r=l.classes)||void 0===r?void 0:r.length)||0)>0&&(c=(null!==(g=null===l||void 0===l?void 0:l.classes)&&void 0!==g?g:[]).join(" "));c+=" flowchart-label";let u,y=0,p="";switch(l.type){case"round":y=5,p="rect";break;case"composite":y=0,p="composite",u=0;break;case"square":case"group":default:p="rect";break;case"diamond":p="question";break;case"hexagon":p="hexagon";break;case"block_arrow":p="block_arrow";break;case"odd":case"rect_left_inv_arrow":p="rect_left_inv_arrow";break;case"lean_right":p="lean_right";break;case"lean_left":p="lean_left";break;case"trapezoid":p="trapezoid";break;case"inv_trapezoid":p="inv_trapezoid";break;case"circle":p="circle";break;case"ellipse":p="ellipse";break;case"stadium":p="stadium";break;case"subroutine":p="subroutine";break;case"cylinder":p="cylinder";break;case"doublecircle":p="doublecircle"}const x=(0,d.sM)(null!==(a=null===l||void 0===l?void 0:l.styles)&&void 0!==a?a:[]),b=l.label,f=null!==(n=l.size)&&void 0!==n?n:{width:0,height:0,x:0,y:0},m=e.getDiagramId();return{labelStyle:x.labelStyle,shape:p,labelText:b,rx:y,ry:y,class:c,style:x.style,id:l.id,domId:m?"".concat(m,"-").concat(l.id):l.id,directions:l.directions,width:f.width,height:f.height,x:f.x,y:f.y,positioned:o,intersect:void 0,type:l.type,padding:null!==(i=null!==u&&void 0!==u?u:null===(s=(0,h.zj)())||void 0===s||null===(s=s.block)||void 0===s?void 0:s.padding)&&void 0!==i?i:0}}async function fe(t,e,r){const a=be(e,r,!1);if("group"===a.type)return;const n=(0,h.zj)(),i=await pe(t,a,{config:n}),s=i.node().getBBox(),o=r.getBlock(a.id);o.size={width:s.width,height:s.height,x:0,y:0,node:i},r.setBlock(o),i.remove()}async function me(t,e,r){const a=be(e,r,!0);if("space"!==r.getBlock(a.id).type){const r=(0,h.zj)();await pe(t,a,{config:r}),e.intersect=null===a||void 0===a?void 0:a.intersect,xe(a)}}async function we(t,e,r,a){for(const n of e)await a(t,n,r),n.children&&await we(t,n.children,r,a)}async function ve(t,e,r){await we(t,e,r,fe)}async function ke(t,e,r){await we(t,e,r,me)}async function Le(t,e,r,a,n){const s=new b.T({multigraph:!0,compound:!0});s.setGraph({rankdir:"TB",nodesep:10,ranksep:10,marginx:8,marginy:8});for(const i of r)i.size&&s.setNode(i.id,{width:i.size.width,height:i.size.height,intersect:i.intersect});for(const o of e)if(o.start&&o.end){const e=a.getBlock(o.start),r=a.getBlock(o.end);if(null!==e&&void 0!==e&&e.size&&null!==r&&void 0!==r&&r.size){const a=e.size,l=r.size,c=[{x:a.x,y:a.y},{x:a.x+(l.x-a.x)/2,y:a.y+(l.y-a.y)/2},{x:l.x,y:l.y}],d=n?"".concat(n,"-").concat(o.id):o.id;St(t,{v:o.start,w:o.end,name:d},(0,i.A)((0,i.A)({},o),{},{id:d,arrowTypeEnd:o.arrowTypeEnd,arrowTypeStart:o.arrowTypeStart,points:c,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"}),void 0,"block",s,n),o.label&&(await ft(t,(0,i.A)((0,i.A)({},o),{},{label:o.label,labelStyle:"stroke: #333; stroke-width: 1.5px;fill:none;",arrowTypeEnd:o.arrowTypeEnd,arrowTypeStart:o.arrowTypeStart,points:c,classes:"edge-thickness-normal edge-pattern-solid flowchart-link LS-a1 LE-b1"})),wt((0,i.A)((0,i.A)({},o),{},{x:c[1].x,y:c[1].y}),{originalPath:c}))}}}(0,g.K2)(be,"getNodeFromBlock"),(0,g.K2)(fe,"calculateBlockSize"),(0,g.K2)(me,"insertBlockPositioned"),(0,g.K2)(we,"performOperations"),(0,g.K2)(ve,"calculateBlockSizes"),(0,g.K2)(ke,"insertBlocks"),(0,g.K2)(Le,"insertEdges");var Se=(0,g.K2)(function(t,e){return e.db.getClasses()},"getClasses"),_e={parser:m,db:J,renderer:{draw:(0,g.K2)(async function(t,e,r,a){const{securityLevel:n,block:i}=(0,h.zj)(),s=a.db;let o;s.setDiagramId(e),"sandbox"===n&&(o=(0,x.Ltv)("#i"+e));const l="sandbox"===n?(0,x.Ltv)(o.nodes()[0].contentDocument.body):(0,x.Ltv)("body"),c="sandbox"===n?l.select('[id="'.concat(e,'"]')):(0,x.Ltv)('[id="'.concat(e,'"]'));at(c,["point","circle","cross"],a.type,e);const d=s.getBlocks(),u=s.getBlocksFlat(),y=s.getEdges(),p=c.insert("g").attr("class","block");await ve(p,d,s);const b=dt(s);if(await ke(p,d,s),await Le(p,y,u,s,e),b){const t=b,e=Math.max(1,Math.round(t.width/t.height*.125)),r=t.height+e+10,a=t.width+10,{useMaxWidth:n}=i;(0,h.a$)(c,r,a,!!n),g.Rm.debug("Here Bounds",b,t),c.attr("viewBox","".concat(t.x-5," ").concat(t.y-5," ").concat(t.width+10," ").concat(t.height+10))}},"draw"),getClasses:Se},styles:tt}},44344(t,e,r){r.d(e,{o:()=>a});var a=(0,r(32748).K2)(()=>"\n /* Font Awesome icon styling - consolidated */\n .label-icon {\n display: inline-block;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n }\n \n .node .label-icon path {\n fill: currentColor;\n stroke: revert;\n stroke-width: revert;\n }\n","getIconStyles")},49322(t,e,r){r.d(e,{A:()=>i});var a=r(17170),n=r(21458);const i=(t,e)=>a.A.lang.round(n.A.parse(t)[e])},83314(t,e,r){r.d(e,{A:()=>n});var a=r(40943);const n=function(t){return(0,a.A)(t,4)}}}]);
2
+ //# sourceMappingURL=366.763c2fd7.chunk.js.map
build/static/js/366.763c2fd7.chunk.js.map ADDED
The diff for this file is too large to render. See raw diff
 
build/static/js/376.02aa5944.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[376],{7274(e,t,a){function n(e,t){var a,n,i;e.accDescr&&(null===(a=t.setAccDescription)||void 0===a||a.call(t,e.accDescr));e.accTitle&&(null===(n=t.setAccTitle)||void 0===n||n.call(t,e.accTitle));e.title&&(null===(i=t.setDiagramTitle)||void 0===i||i.call(t,e.title))}a.d(t,{S:()=>n}),(0,a(32748).K2)(n,"populateCommonDb")},70376(e,t,a){a.d(t,{diagram:()=>k});var n=a(57903),i=a(7274),l=a(84571),c=a(45420),o=a(32748),r=a(55502),s=a(68973),d=c.UI.pie,p={sections:new Map,showData:!1,config:d},u=p.sections,g=p.showData,h=structuredClone(d),f=(0,o.K2)(()=>structuredClone(h),"getConfig"),m=(0,o.K2)(()=>{u=new Map,g=p.showData,(0,c.IU)()},"clear"),v=(0,o.K2)(e=>{let{label:t,value:a}=e;if(a<0)throw new Error('"'.concat(t,'" has invalid value: ').concat(a,". Negative values are not allowed in pie charts. All slice values must be >= 0."));u.has(t)||(u.set(t,a),o.Rm.debug("added new section: ".concat(t,", with value: ").concat(a)))},"addSection"),w=(0,o.K2)(()=>u,"getSections"),x=(0,o.K2)(e=>{g=e},"setShowData"),S=(0,o.K2)(()=>g,"getShowData"),D={getConfig:f,clear:m,setDiagramTitle:c.ke,getDiagramTitle:c.ab,setAccTitle:c.SV,getAccTitle:c.iN,setAccDescription:c.EI,getAccDescription:c.m7,addSection:v,getSections:w,setShowData:x,getShowData:S},T=(0,o.K2)((e,t)=>{(0,i.S)(e,t),t.setShowData(e.showData),e.sections.map(t.addSection)},"populateDb"),b={parse:(0,o.K2)(async e=>{const t=await(0,r.qg)("pie",e);o.Rm.debug(t),T(t,D)},"parse")},y=(0,o.K2)(e=>"\n .pieCircle{\n stroke: ".concat(e.pieStrokeColor,";\n stroke-width : ").concat(e.pieStrokeWidth,";\n opacity : ").concat(e.pieOpacity,";\n }\n .pieOuterCircle{\n stroke: ").concat(e.pieOuterStrokeColor,";\n stroke-width: ").concat(e.pieOuterStrokeWidth,";\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ").concat(e.pieTitleTextSize,";\n fill: ").concat(e.pieTitleTextColor,";\n font-family: ").concat(e.fontFamily,";\n }\n .slice {\n font-family: ").concat(e.fontFamily,";\n fill: ").concat(e.pieSectionTextColor,";\n font-size:").concat(e.pieSectionTextSize,";\n // fill: white;\n }\n .legend text {\n fill: ").concat(e.pieLegendTextColor,";\n font-family: ").concat(e.fontFamily,";\n font-size: ").concat(e.pieLegendTextSize,";\n }\n"),"getStyles"),C=(0,o.K2)(e=>{const t=[...e.values()].reduce((e,t)=>e+t,0),a=[...e.entries()].map(e=>{let[t,a]=e;return{label:t,value:a}}).filter(e=>e.value/t*100>=1);return(0,s.rLf)().value(e=>e.value).sort(null)(a)},"createPieArcs"),k={parser:b,db:D,renderer:{draw:(0,o.K2)((e,t,a,i)=>{var r,d;o.Rm.debug("rendering pie chart\n"+e);const p=i.db,u=(0,c.D7)(),g=(0,l.$t)(p.getConfig(),u.pie),h=18,f=450,m=f,v=(0,n.D)(t),w=v.append("g");w.attr("transform","translate(225,225)");const{themeVariables:x}=u;let[S]=(0,l.I5)(x.pieOuterStrokeWidth);null!==S&&void 0!==S||(S=2);const D=g.textPosition,T=Math.min(m,f)/2-40,b=(0,s.JLW)().innerRadius(0).outerRadius(T),y=(0,s.JLW)().innerRadius(T*D).outerRadius(T*D);w.append("circle").attr("cx",0).attr("cy",0).attr("r",T+S/2).attr("class","pieOuterCircle");const k=p.getSections(),A=C(k),K=[x.pie1,x.pie2,x.pie3,x.pie4,x.pie5,x.pie6,x.pie7,x.pie8,x.pie9,x.pie10,x.pie11,x.pie12];let R=0;k.forEach(e=>{R+=e});const M=A.filter(e=>"0"!==(e.data.value/R*100).toFixed(0)),z=(0,s.UMr)(K).domain([...k.keys()]);w.selectAll("mySlices").data(M).enter().append("path").attr("d",b).attr("fill",e=>z(e.data.label)).attr("class","pieCircle"),w.selectAll("mySlices").data(M).enter().append("text").text(e=>(e.data.value/R*100).toFixed(0)+"%").attr("transform",e=>"translate("+y.centroid(e)+")").style("text-anchor","middle").attr("class","slice");const O=w.append("text").text(p.getDiagramTitle()).attr("x",0).attr("y",-200).attr("class","pieTitleText"),W=[...k.entries()].map(e=>{let[t,a]=e;return{label:t,value:a}}),F=w.selectAll(".legend").data(W).enter().append("g").attr("class","legend").attr("transform",(e,t)=>"translate(216,"+(22*t-22*W.length/2)+")");F.append("rect").attr("width",h).attr("height",h).style("fill",e=>z(e.label)).style("stroke",e=>z(e.label)),F.append("text").attr("x",22).attr("y",14).text(e=>p.getShowData()?"".concat(e.label," [").concat(e.value,"]"):e.label);const L=512+Math.max(...F.selectAll("text").nodes().map(e=>{var t;return null!==(t=null===e||void 0===e?void 0:e.getBoundingClientRect().width)&&void 0!==t?t:0})),I=null!==(r=null===(d=O.node())||void 0===d?void 0:d.getBoundingClientRect().width)&&void 0!==r?r:0,B=225-I/2,E=225+I/2,U=Math.min(0,B),J=Math.max(L,E)-U;v.attr("viewBox","".concat(U," 0 ").concat(J," ").concat(f)),(0,c.a$)(v,f,J,g.useMaxWidth)},"draw")},styles:y}}}]);
2
+ //# sourceMappingURL=376.02aa5944.chunk.js.map
build/static/js/376.02aa5944.chunk.js.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"static/js/376.02aa5944.chunk.js","mappings":"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","sources":["../node_modules/mermaid/dist/chunks/mermaid.core/chunk-4BX2VUAB.mjs","../node_modules/mermaid/dist/chunks/mermaid.core/pieDiagram-DEJITSTG.mjs"],"sourcesContent":["import {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/common/populateCommonDb.ts\nfunction populateCommonDb(ast, db) {\n if (ast.accDescr) {\n db.setAccDescription?.(ast.accDescr);\n }\n if (ast.accTitle) {\n db.setAccTitle?.(ast.accTitle);\n }\n if (ast.title) {\n db.setDiagramTitle?.(ast.title);\n }\n}\n__name(populateCommonDb, \"populateCommonDb\");\n\nexport {\n populateCommonDb\n};\n","import {\n selectSvgElement\n} from \"./chunk-426QAEUC.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n cleanAndMerge,\n parseFontSize\n} from \"./chunk-5PVQY5BW.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-ICPOFSXX.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/pie/pieParser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/pie/pieDb.ts\nvar DEFAULT_PIE_CONFIG = defaultConfig_default.pie;\nvar DEFAULT_PIE_DB = {\n sections: /* @__PURE__ */ new Map(),\n showData: false,\n config: DEFAULT_PIE_CONFIG\n};\nvar sections = DEFAULT_PIE_DB.sections;\nvar showData = DEFAULT_PIE_DB.showData;\nvar config = structuredClone(DEFAULT_PIE_CONFIG);\nvar getConfig2 = /* @__PURE__ */ __name(() => structuredClone(config), \"getConfig\");\nvar clear2 = /* @__PURE__ */ __name(() => {\n sections = /* @__PURE__ */ new Map();\n showData = DEFAULT_PIE_DB.showData;\n clear();\n}, \"clear\");\nvar addSection = /* @__PURE__ */ __name(({ label, value }) => {\n if (value < 0) {\n throw new Error(\n `\"${label}\" has invalid value: ${value}. Negative values are not allowed in pie charts. All slice values must be >= 0.`\n );\n }\n if (!sections.has(label)) {\n sections.set(label, value);\n log.debug(`added new section: ${label}, with value: ${value}`);\n }\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(() => sections, \"getSections\");\nvar setShowData = /* @__PURE__ */ __name((toggle) => {\n showData = toggle;\n}, \"setShowData\");\nvar getShowData = /* @__PURE__ */ __name(() => showData, \"getShowData\");\nvar db = {\n getConfig: getConfig2,\n clear: clear2,\n setDiagramTitle,\n getDiagramTitle,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n setShowData,\n getShowData\n};\n\n// src/diagrams/pie/pieParser.ts\nvar populateDb = /* @__PURE__ */ __name((ast, db2) => {\n populateCommonDb(ast, db2);\n db2.setShowData(ast.showData);\n ast.sections.map(db2.addSection);\n}, \"populateDb\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"pie\", input);\n log.debug(ast);\n populateDb(ast, db);\n }, \"parse\")\n};\n\n// src/diagrams/pie/pieStyles.ts\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .pieCircle{\n stroke: ${options.pieStrokeColor};\n stroke-width : ${options.pieStrokeWidth};\n opacity : ${options.pieOpacity};\n }\n .pieOuterCircle{\n stroke: ${options.pieOuterStrokeColor};\n stroke-width: ${options.pieOuterStrokeWidth};\n fill: none;\n }\n .pieTitleText {\n text-anchor: middle;\n font-size: ${options.pieTitleTextSize};\n fill: ${options.pieTitleTextColor};\n font-family: ${options.fontFamily};\n }\n .slice {\n font-family: ${options.fontFamily};\n fill: ${options.pieSectionTextColor};\n font-size:${options.pieSectionTextSize};\n // fill: white;\n }\n .legend text {\n fill: ${options.pieLegendTextColor};\n font-family: ${options.fontFamily};\n font-size: ${options.pieLegendTextSize};\n }\n`, \"getStyles\");\nvar pieStyles_default = getStyles;\n\n// src/diagrams/pie/pieRenderer.ts\nimport { arc, pie as d3pie, scaleOrdinal } from \"d3\";\nvar createPieArcs = /* @__PURE__ */ __name((sections2) => {\n const sum = [...sections2.values()].reduce((acc, val) => acc + val, 0);\n const pieData = [...sections2.entries()].map(([label, value]) => ({ label, value })).filter((d) => d.value / sum * 100 >= 1);\n const pie = d3pie().value((d) => d.value).sort(null);\n return pie(pieData);\n}, \"createPieArcs\");\nvar draw = /* @__PURE__ */ __name((text, id, _version, diagObj) => {\n log.debug(\"rendering pie chart\\n\" + text);\n const db2 = diagObj.db;\n const globalConfig = getConfig();\n const pieConfig = cleanAndMerge(db2.getConfig(), globalConfig.pie);\n const MARGIN = 40;\n const LEGEND_RECT_SIZE = 18;\n const LEGEND_SPACING = 4;\n const height = 450;\n const pieWidth = height;\n const svg = selectSvgElement(id);\n const group = svg.append(\"g\");\n group.attr(\"transform\", \"translate(\" + pieWidth / 2 + \",\" + height / 2 + \")\");\n const { themeVariables } = globalConfig;\n let [outerStrokeWidth] = parseFontSize(themeVariables.pieOuterStrokeWidth);\n outerStrokeWidth ??= 2;\n const textPosition = pieConfig.textPosition;\n const radius = Math.min(pieWidth, height) / 2 - MARGIN;\n const arcGenerator = arc().innerRadius(0).outerRadius(radius);\n const labelArcGenerator = arc().innerRadius(radius * textPosition).outerRadius(radius * textPosition);\n group.append(\"circle\").attr(\"cx\", 0).attr(\"cy\", 0).attr(\"r\", radius + outerStrokeWidth / 2).attr(\"class\", \"pieOuterCircle\");\n const sections2 = db2.getSections();\n const arcs = createPieArcs(sections2);\n const myGeneratedColors = [\n themeVariables.pie1,\n themeVariables.pie2,\n themeVariables.pie3,\n themeVariables.pie4,\n themeVariables.pie5,\n themeVariables.pie6,\n themeVariables.pie7,\n themeVariables.pie8,\n themeVariables.pie9,\n themeVariables.pie10,\n themeVariables.pie11,\n themeVariables.pie12\n ];\n let sum = 0;\n sections2.forEach((section) => {\n sum += section;\n });\n const filteredArcs = arcs.filter((datum) => (datum.data.value / sum * 100).toFixed(0) !== \"0\");\n const color = scaleOrdinal(myGeneratedColors).domain([\n ...sections2.keys()\n ]);\n group.selectAll(\"mySlices\").data(filteredArcs).enter().append(\"path\").attr(\"d\", arcGenerator).attr(\"fill\", (datum) => {\n return color(datum.data.label);\n }).attr(\"class\", \"pieCircle\");\n group.selectAll(\"mySlices\").data(filteredArcs).enter().append(\"text\").text((datum) => {\n return (datum.data.value / sum * 100).toFixed(0) + \"%\";\n }).attr(\"transform\", (datum) => {\n return \"translate(\" + labelArcGenerator.centroid(datum) + \")\";\n }).style(\"text-anchor\", \"middle\").attr(\"class\", \"slice\");\n const titleText = group.append(\"text\").text(db2.getDiagramTitle()).attr(\"x\", 0).attr(\"y\", -(height - 50) / 2).attr(\"class\", \"pieTitleText\");\n const allSectionData = [...sections2.entries()].map(([label, value]) => ({\n label,\n value\n }));\n const legend = group.selectAll(\".legend\").data(allSectionData).enter().append(\"g\").attr(\"class\", \"legend\").attr(\"transform\", (_datum, index) => {\n const height2 = LEGEND_RECT_SIZE + LEGEND_SPACING;\n const offset = height2 * allSectionData.length / 2;\n const horizontal = 12 * LEGEND_RECT_SIZE;\n const vertical = index * height2 - offset;\n return \"translate(\" + horizontal + \",\" + vertical + \")\";\n });\n legend.append(\"rect\").attr(\"width\", LEGEND_RECT_SIZE).attr(\"height\", LEGEND_RECT_SIZE).style(\"fill\", (d) => color(d.label)).style(\"stroke\", (d) => color(d.label));\n legend.append(\"text\").attr(\"x\", LEGEND_RECT_SIZE + LEGEND_SPACING).attr(\"y\", LEGEND_RECT_SIZE - LEGEND_SPACING).text((d) => {\n if (db2.getShowData()) {\n return `${d.label} [${d.value}]`;\n }\n return d.label;\n });\n const longestTextWidth = Math.max(\n ...legend.selectAll(\"text\").nodes().map((node) => node?.getBoundingClientRect().width ?? 0)\n );\n const chartAndLegendWidth = pieWidth + MARGIN + LEGEND_RECT_SIZE + LEGEND_SPACING + longestTextWidth;\n const titleWidth = titleText.node()?.getBoundingClientRect().width ?? 0;\n const titleLeft = pieWidth / 2 - titleWidth / 2;\n const titleRight = pieWidth / 2 + titleWidth / 2;\n const viewBoxX = Math.min(0, titleLeft);\n const viewBoxRight = Math.max(chartAndLegendWidth, titleRight);\n const totalWidth = viewBoxRight - viewBoxX;\n svg.attr(\"viewBox\", `${viewBoxX} 0 ${totalWidth} ${height}`);\n configureSvgSize(svg, height, totalWidth, pieConfig.useMaxWidth);\n}, \"draw\");\nvar renderer = { draw };\n\n// src/diagrams/pie/pieDiagram.ts\nvar diagram = {\n parser,\n db,\n renderer,\n styles: pieStyles_default\n};\nexport {\n diagram\n};\n"],"names":["populateCommonDb","ast","db","_db$setAccDescription","_db$setAccTitle","_db$setDiagramTitle","accDescr","setAccDescription","call","accTitle","setAccTitle","title","setDiagramTitle","__name","DEFAULT_PIE_CONFIG","defaultConfig_default","pie","DEFAULT_PIE_DB","sections","Map","showData","config","structuredClone","getConfig2","clear2","clear","addSection","_ref","label","value","Error","concat","has","set","log","debug","getSections","setShowData","toggle","getShowData","getConfig","getDiagramTitle","getAccTitle","getAccDescription","populateDb","db2","map","parser","parse","async","input","pieStyles_default","options","pieStrokeColor","pieStrokeWidth","pieOpacity","pieOuterStrokeColor","pieOuterStrokeWidth","pieTitleTextSize","pieTitleTextColor","fontFamily","pieSectionTextColor","pieSectionTextSize","pieLegendTextColor","pieLegendTextSize","createPieArcs","sections2","sum","values","reduce","acc","val","pieData","entries","_ref2","filter","d","d3pie","sort","diagram","renderer","draw","text","id","_version","diagObj","_titleText$node$getBo","_titleText$node","globalConfig","pieConfig","cleanAndMerge","LEGEND_RECT_SIZE","height","pieWidth","svg","selectSvgElement","group","append","attr","themeVariables","outerStrokeWidth","parseFontSize","textPosition","radius","Math","min","arcGenerator","arc","innerRadius","outerRadius","labelArcGenerator","arcs","myGeneratedColors","pie1","pie2","pie3","pie4","pie5","pie6","pie7","pie8","pie9","pie10","pie11","pie12","forEach","section","filteredArcs","datum","data","toFixed","color","scaleOrdinal","domain","keys","selectAll","enter","centroid","style","titleText","allSectionData","_ref3","legend","_datum","index","length","chartAndLegendWidth","max","nodes","node","_node$getBoundingClie","getBoundingClientRect","width","titleWidth","titleLeft","titleRight","viewBoxX","totalWidth","configureSvgSize","useMaxWidth","styles"],"ignoreList":[],"sourceRoot":""}
build/static/js/385.712a8ab0.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[385],{26385(t,e,n){n.d(e,{diagram:()=>L});var i=n(57903),s=n(44344),o=n(41710),r=n(56565),a=(n(91674),n(24203),n(63614),n(84571),n(45420)),c=n(32748),l=n(28194),h=n(86362),d=n(85554),u=function(){var t=(0,c.K2)(function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},"o"),e=[1,4],n=[1,13],i=[1,12],s=[1,15],o=[1,16],r=[1,20],a=[1,19],l=[6,7,8],h=[1,26],d=[1,24],u=[1,25],g=[6,7,11],p=[1,31],y=[6,7,11,24],f=[1,6,13,16,17,20,23],m=[1,35],b=[1,36],k=[1,6,7,11,13,16,17,20,23],_=[1,38],v={trace:(0,c.K2)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mindMap:4,spaceLines:5,SPACELINE:6,NL:7,KANBAN:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,node:14,shapeData:15,ICON:16,CLASS:17,nodeWithId:18,nodeWithoutId:19,NODE_DSTART:20,NODE_DESCR:21,NODE_DEND:22,NODE_ID:23,SHAPE_DATA:24,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"KANBAN",11:"EOF",13:"SPACELIST",16:"ICON",17:"CLASS",20:"NODE_DSTART",21:"NODE_DESCR",22:"NODE_DEND",23:"NODE_ID",24:"SHAPE_DATA"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,3],[12,2],[12,2],[12,2],[12,1],[12,2],[12,1],[12,1],[12,1],[12,1],[14,1],[14,1],[19,3],[18,1],[18,4],[15,2],[15,1]],performAction:(0,c.K2)(function(t,e,n,i,s,o,r){var a=o.length-1;switch(s){case 6:case 7:return i;case 8:i.getLogger().trace("Stop NL ");break;case 9:i.getLogger().trace("Stop EOF ");break;case 11:i.getLogger().trace("Stop NL2 ");break;case 12:i.getLogger().trace("Stop EOF2 ");break;case 15:i.getLogger().info("Node: ",o[a-1].id),i.addNode(o[a-2].length,o[a-1].id,o[a-1].descr,o[a-1].type,o[a]);break;case 16:i.getLogger().info("Node: ",o[a].id),i.addNode(o[a-1].length,o[a].id,o[a].descr,o[a].type);break;case 17:i.getLogger().trace("Icon: ",o[a]),i.decorateNode({icon:o[a]});break;case 18:case 23:i.decorateNode({class:o[a]});break;case 19:i.getLogger().trace("SPACELIST");break;case 20:i.getLogger().trace("Node: ",o[a-1].id),i.addNode(0,o[a-1].id,o[a-1].descr,o[a-1].type,o[a]);break;case 21:i.getLogger().trace("Node: ",o[a].id),i.addNode(0,o[a].id,o[a].descr,o[a].type);break;case 22:i.decorateNode({icon:o[a]});break;case 27:i.getLogger().trace("node found ..",o[a-2]),this.$={id:o[a-1],descr:o[a-1],type:i.getType(o[a-2],o[a])};break;case 28:this.$={id:o[a],descr:o[a],type:0};break;case 29:i.getLogger().trace("node found ..",o[a-3]),this.$={id:o[a-3],descr:o[a-1],type:i.getType(o[a-2],o[a])};break;case 30:this.$=o[a-1]+o[a];break;case 31:this.$=o[a]}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:e},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:e},{6:n,7:[1,10],9:9,12:11,13:i,14:14,16:s,17:o,18:17,19:18,20:r,23:a},t(l,[2,3]),{1:[2,2]},t(l,[2,4]),t(l,[2,5]),{1:[2,6],6:n,12:21,13:i,14:14,16:s,17:o,18:17,19:18,20:r,23:a},{6:n,9:22,12:11,13:i,14:14,16:s,17:o,18:17,19:18,20:r,23:a},{6:h,7:d,10:23,11:u},t(g,[2,24],{18:17,19:18,14:27,16:[1,28],17:[1,29],20:r,23:a}),t(g,[2,19]),t(g,[2,21],{15:30,24:p}),t(g,[2,22]),t(g,[2,23]),t(y,[2,25]),t(y,[2,26]),t(y,[2,28],{20:[1,32]}),{21:[1,33]},{6:h,7:d,10:34,11:u},{1:[2,7],6:n,12:21,13:i,14:14,16:s,17:o,18:17,19:18,20:r,23:a},t(f,[2,14],{7:m,11:b}),t(k,[2,8]),t(k,[2,9]),t(k,[2,10]),t(g,[2,16],{15:37,24:p}),t(g,[2,17]),t(g,[2,18]),t(g,[2,20],{24:_}),t(y,[2,31]),{21:[1,39]},{22:[1,40]},t(f,[2,13],{7:m,11:b}),t(k,[2,11]),t(k,[2,12]),t(g,[2,15],{24:_}),t(y,[2,30]),{22:[1,41]},t(y,[2,27]),t(y,[2,29])],defaultActions:{2:[2,1],6:[2,2]},parseError:(0,c.K2)(function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},"parseError"),parse:(0,c.K2)(function(t){var e=this,n=[0],i=[],s=[null],o=[],r=this.table,a="",l=0,h=0,d=0,u=o.slice.call(arguments,1),g=Object.create(this.lexer),p={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(p.yy[y]=this.yy[y]);g.setInput(t,p.yy),p.yy.lexer=g,p.yy.parser=this,"undefined"==typeof g.yylloc&&(g.yylloc={});var f=g.yylloc;o.push(f);var m=g.options&&g.options.ranges;function b(){var t;return"number"!==typeof(t=i.pop()||g.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"===typeof p.yy.parseError?this.parseError=p.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,c.K2)(function(t){n.length=n.length-2*t,s.length=s.length-t,o.length=o.length-t},"popStack"),(0,c.K2)(b,"lex");for(var k,_,v,E,S,N,x,D,L,I={};;){if(v=n[n.length-1],this.defaultActions[v]?E=this.defaultActions[v]:(null!==k&&"undefined"!=typeof k||(k=b()),E=r[v]&&r[v][k]),"undefined"===typeof E||!E.length||!E[0]){var C="";for(N in L=[],r[v])this.terminals_[N]&&N>2&&L.push("'"+this.terminals_[N]+"'");C=g.showPosition?"Parse error on line "+(l+1)+":\n"+g.showPosition()+"\nExpecting "+L.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(C,{text:g.match,token:this.terminals_[k]||k,line:g.yylineno,loc:f,expected:L})}if(E[0]instanceof Array&&E.length>1)throw new Error("Parse Error: multiple actions possible at state: "+v+", token: "+k);switch(E[0]){case 1:n.push(k),s.push(g.yytext),o.push(g.yylloc),n.push(E[1]),k=null,_?(k=_,_=null):(h=g.yyleng,a=g.yytext,l=g.yylineno,f=g.yylloc,d>0&&d--);break;case 2:if(x=this.productions_[E[1]][1],I.$=s[s.length-x],I._$={first_line:o[o.length-(x||1)].first_line,last_line:o[o.length-1].last_line,first_column:o[o.length-(x||1)].first_column,last_column:o[o.length-1].last_column},m&&(I._$.range=[o[o.length-(x||1)].range[0],o[o.length-1].range[1]]),"undefined"!==typeof(S=this.performAction.apply(I,[a,h,l,p.yy,E[1],s,o].concat(u))))return S;x&&(n=n.slice(0,-1*x*2),s=s.slice(0,-1*x),o=o.slice(0,-1*x)),n.push(this.productions_[E[1]][0]),s.push(I.$),o.push(I._$),D=r[n[n.length-2]][n[n.length-1]],n.push(D);break;case 3:return!0}}return!0},"parse")},E=function(){return{EOF:1,parseError:(0,c.K2)(function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},"parseError"),setInput:(0,c.K2)(function(t,e){return this.yy=e||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,c.K2)(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,c.K2)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;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),n.length-1&&(this.yylineno-=n.length-1);var s=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:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,c.K2)(function(){return this._more=!0,this},"more"),reject:(0,c.K2)(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,c.K2)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,c.K2)(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,c.K2)(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,c.K2)(function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,c.K2)(function(t,e){var n,i,s;if(this.options.backtrack_lexer&&(s={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&&(s.yylloc.range=this.yylloc.range.slice(0))),(i=t[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+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],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var o in s)this[o]=s[o];return!1}return!1},"test_match"),next:(0,c.K2)(function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),o=0;o<s.length;o++)if((n=this._input.match(this.rules[s[o]]))&&(!e||n[0].length>e[0].length)){if(e=n,i=o,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,s[o])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[i]))&&t:""===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,c.K2)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,c.K2)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,c.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,c.K2)(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,c.K2)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,c.K2)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,c.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,c.K2)(function(t,e,n,i){switch(n){case 0:return this.pushState("shapeData"),e.yytext="",24;case 1:return this.pushState("shapeDataStr"),24;case 2:return this.popState(),24;case 3:const n=/\n\s*/g;return e.yytext=e.yytext.replace(n,"<br/>"),24;case 4:return 24;case 5:case 10:case 29:case 32:this.popState();break;case 6:return t.getLogger().trace("Found comment",e.yytext),6;case 7:return 8;case 8:this.begin("CLASS");break;case 9:return this.popState(),17;case 11:t.getLogger().trace("Begin icon"),this.begin("ICON");break;case 12:return t.getLogger().trace("SPACELINE"),6;case 13:return 7;case 14:return 16;case 15:t.getLogger().trace("end icon"),this.popState();break;case 16:return t.getLogger().trace("Exploding node"),this.begin("NODE"),20;case 17:return t.getLogger().trace("Cloud"),this.begin("NODE"),20;case 18:return t.getLogger().trace("Explosion Bang"),this.begin("NODE"),20;case 19:return t.getLogger().trace("Cloud Bang"),this.begin("NODE"),20;case 20:case 21:case 22:case 23:return this.begin("NODE"),20;case 24:return 13;case 25:return 23;case 26:return 11;case 27:this.begin("NSTR2");break;case 28:return"NODE_DESCR";case 30:t.getLogger().trace("Starting NSTR"),this.begin("NSTR");break;case 31:return t.getLogger().trace("description:",e.yytext),"NODE_DESCR";case 33:return this.popState(),t.getLogger().trace("node end ))"),"NODE_DEND";case 34:return this.popState(),t.getLogger().trace("node end )"),"NODE_DEND";case 35:return this.popState(),t.getLogger().trace("node end ...",e.yytext),"NODE_DEND";case 36:case 39:case 40:return this.popState(),t.getLogger().trace("node end (("),"NODE_DEND";case 37:case 38:return this.popState(),t.getLogger().trace("node end (-"),"NODE_DEND";case 41:case 42:return t.getLogger().trace("Long description:",e.yytext),21}},"anonymous"),rules:[/^(?:@\{)/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^\"]+)/i,/^(?:[^}^"]+)/i,/^(?:\})/i,/^(?:\s*%%.*)/i,/^(?:kanban\b)/i,/^(?::::)/i,/^(?:.+)/i,/^(?:\n)/i,/^(?:::icon\()/i,/^(?:[\s]+[\n])/i,/^(?:[\n]+)/i,/^(?:[^\)]+)/i,/^(?:\))/i,/^(?:-\))/i,/^(?:\(-)/i,/^(?:\)\))/i,/^(?:\))/i,/^(?:\(\()/i,/^(?:\{\{)/i,/^(?:\()/i,/^(?:\[)/i,/^(?:[\s]+)/i,/^(?:[^\(\[\n\)\{\}@]+)/i,/^(?:$)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:[^"]+)/i,/^(?:["])/i,/^(?:[\)]\))/i,/^(?:[\)])/i,/^(?:[\]])/i,/^(?:\}\})/i,/^(?:\(-)/i,/^(?:-\))/i,/^(?:\(\()/i,/^(?:\()/i,/^(?:[^\)\]\(\}]+)/i,/^(?:.+(?!\(\())/i],conditions:{shapeDataEndBracket:{rules:[],inclusive:!1},shapeDataStr:{rules:[2,3],inclusive:!1},shapeData:{rules:[1,4,5],inclusive:!1},CLASS:{rules:[9,10],inclusive:!1},ICON:{rules:[14,15],inclusive:!1},NSTR2:{rules:[28,29],inclusive:!1},NSTR:{rules:[31,32],inclusive:!1},NODE:{rules:[27,30,33,34,35,36,37,38,39,40,41,42],inclusive:!1},INITIAL:{rules:[0,6,7,8,11,12,13,16,17,18,19,20,21,22,23,24,25,26],inclusive:!0}}}}();function S(){this.yy={}}return v.lexer=E,(0,c.K2)(S,"Parser"),S.prototype=v,v.Parser=S,new S}();u.parser=u;var g=u,p=[],y=[],f=0,m={},b=(0,c.K2)(()=>{p=[],y=[],f=0,m={}},"clear"),k=(0,c.K2)(t=>{var e;if(0===p.length)return null;const n=p[0].level;let i=null;for(let s=p.length-1;s>=0;s--)if(p[s].level!==n||i||(i=p[s]),p[s].level<n)throw new Error('Items without section detected, found section ("'+p[s].label+'")');return t===(null===(e=i)||void 0===e?void 0:e.level)?null:i},"getSection"),_=(0,c.K2)(function(){return y},"getSections"),v=(0,c.K2)(function(){const t=[],e=_(),n=(0,a.D7)();for(const o of e){var i;const e={id:o.id,label:(0,a.jZ)(null!==(i=o.label)&&void 0!==i?i:"",n),labelType:"markdown",isGroup:!0,ticket:o.ticket,shape:"kanbanSection",level:o.level,look:n.look};t.push(e);const r=p.filter(t=>t.parentId===o.id);for(const i of r){var s;const e={id:i.id,parentId:o.id,label:(0,a.jZ)(null!==(s=i.label)&&void 0!==s?s:"",n),labelType:"markdown",isGroup:!1,ticket:null===i||void 0===i?void 0:i.ticket,priority:null===i||void 0===i?void 0:i.priority,assigned:null===i||void 0===i?void 0:i.assigned,icon:null===i||void 0===i?void 0:i.icon,shape:"kanbanItem",level:i.level,rx:5,ry:5,cssStyles:["text-align: left"]};t.push(e)}}return{nodes:t,edges:[],other:{},config:(0,a.D7)()}},"getData"),E=(0,c.K2)((t,e,n,i,s)=>{var r,c,l,h;const d=(0,a.D7)();let u=null!==(r=null===(c=d.mindmap)||void 0===c?void 0:c.padding)&&void 0!==r?r:a.UI.mindmap.padding;switch(i){case S.ROUNDED_RECT:case S.RECT:case S.HEXAGON:u*=2}const g={id:(0,a.jZ)(e,d)||"kbn"+f++,level:t,label:(0,a.jZ)(n,d),width:null!==(l=null===(h=d.mindmap)||void 0===h?void 0:h.maxNodeWidth)&&void 0!==l?l:a.UI.mindmap.maxNodeWidth,padding:u,isGroup:!1};if(void 0!==s){let t;t=s.includes("\n")?s+"\n":"{\n"+s+"\n}";const e=(0,o.H)(t,{schema:o.r});if(e.shape&&(e.shape!==e.shape.toLowerCase()||e.shape.includes("_")))throw new Error("No such shape: ".concat(e.shape,". Shape names should be lowercase."));null!==e&&void 0!==e&&e.shape&&"kanbanItem"===e.shape&&(g.shape=null===e||void 0===e?void 0:e.shape),null!==e&&void 0!==e&&e.label&&(g.label=null===e||void 0===e?void 0:e.label),null!==e&&void 0!==e&&e.icon&&(g.icon=null===e||void 0===e?void 0:e.icon.toString()),null!==e&&void 0!==e&&e.assigned&&(g.assigned=null===e||void 0===e?void 0:e.assigned.toString()),null!==e&&void 0!==e&&e.ticket&&(g.ticket=null===e||void 0===e?void 0:e.ticket.toString()),null!==e&&void 0!==e&&e.priority&&(g.priority=null===e||void 0===e?void 0:e.priority)}const m=k(t);m?g.parentId=m.id||"kbn"+f++:y.push(g),p.push(g)},"addNode"),S={DEFAULT:0,NO_BORDER:0,ROUNDED_RECT:1,RECT:2,CIRCLE:3,CLOUD:4,BANG:5,HEXAGON:6},N={clear:b,addNode:E,getSections:_,getData:v,nodeType:S,getType:(0,c.K2)((t,e)=>{switch(c.Rm.debug("In get type",t,e),t){case"[":return S.RECT;case"(":return")"===e?S.ROUNDED_RECT:S.CLOUD;case"((":return S.CIRCLE;case")":return S.CLOUD;case"))":return S.BANG;case"{{":return S.HEXAGON;default:return S.DEFAULT}},"getType"),setElementForId:(0,c.K2)((t,e)=>{m[t]=e},"setElementForId"),decorateNode:(0,c.K2)(t=>{if(!t)return;const e=(0,a.D7)(),n=p[p.length-1];t.icon&&(n.icon=(0,a.jZ)(t.icon,e)),t.class&&(n.cssClasses=(0,a.jZ)(t.class,e))},"decorateNode"),type2Str:(0,c.K2)(t=>{switch(t){case S.DEFAULT:return"no-border";case S.RECT:return"rect";case S.ROUNDED_RECT:return"rounded-rect";case S.CIRCLE:return"circle";case S.CLOUD:return"cloud";case S.BANG:return"bang";case S.HEXAGON:return"hexgon";default:return"no-border"}},"type2Str"),getLogger:(0,c.K2)(()=>c.Rm,"getLogger"),getElementById:(0,c.K2)(t=>m[t],"getElementById")},x={draw:(0,c.K2)(async(t,e,n,s)=>{var o,l,h,d;c.Rm.debug("Rendering kanban diagram\n"+t);const u=s.db.getData(),g=(0,a.D7)();g.htmlLabels=!1;const p=(0,i.D)(e);for(const i of u.nodes)i.domId="".concat(e,"-").concat(i.id);const y=p.append("g");y.attr("class","sections");const f=p.append("g");f.attr("class","items");const m=u.nodes.filter(t=>t.isGroup);let b=0;const k=[];let _=25;for(const i of m){var v,E;const t=(null===g||void 0===g||null===(v=g.kanban)||void 0===v?void 0:v.sectionWidth)||200;b+=1,i.x=t*b+10*(b-1)/2,i.width=t,i.y=0,i.height=3*t,i.rx=5,i.ry=5,i.cssClasses=i.cssClasses+" section-"+b;const e=await(0,r.U)(y,i);_=Math.max(_,null===e||void 0===e||null===(E=e.labelBBox)||void 0===E?void 0:E.height),k.push(e)}let S=0;for(const i of m){var N;const t=k[S];S+=1;const e=(null===g||void 0===g||null===(N=g.kanban)||void 0===N?void 0:N.sectionWidth)||200,n=3*-e/2+_;let s=n;const o=u.nodes.filter(t=>t.parentId===i.id);for(const l of o){if(l.isGroup)throw new Error("Groups within groups are not allowed in Kanban diagrams");l.x=i.x,l.width=e-15;const t=(await(0,r.on)(f,l,{config:g})).node().getBBox();l.y=s+t.height/2,await(0,r.U_)(l),s=l.y+t.height/2+5}const a=t.cluster.select("rect"),c=Math.max(s-n+30,50)+(_-25);a.attr("height",c)}(0,a.ot)(void 0,p,null!==(o=null===(l=g.mindmap)||void 0===l?void 0:l.padding)&&void 0!==o?o:a.UI.kanban.padding,null!==(h=null===(d=g.mindmap)||void 0===d?void 0:d.useMaxWidth)&&void 0!==h?h:a.UI.kanban.useMaxWidth)},"draw")},D=(0,c.K2)(t=>{let e="";for(let i=0;i<t.THEME_COLOR_LIMIT;i++)t["lineColor"+i]=t["lineColor"+i]||t["cScaleInv"+i],(0,l.A)(t["lineColor"+i])?t["lineColor"+i]=(0,h.A)(t["lineColor"+i],20):t["lineColor"+i]=(0,d.A)(t["lineColor"+i],20);const n=(0,c.K2)((e,n)=>t.darkMode?(0,d.A)(e,n):(0,h.A)(e,n),"adjuster");for(let i=0;i<t.THEME_COLOR_LIMIT;i++){const s=""+(17-3*i);e+="\n .section-".concat(i-1," rect, .section-").concat(i-1," path, .section-").concat(i-1," circle, .section-").concat(i-1," polygon, .section-").concat(i-1," path {\n fill: ").concat(n(t["cScale"+i],10),";\n stroke: ").concat(n(t["cScale"+i],10),";\n\n }\n .section-").concat(i-1," text {\n fill: ").concat(t["cScaleLabel"+i],";\n }\n .node-icon-").concat(i-1," {\n font-size: 40px;\n color: ").concat(t["cScaleLabel"+i],";\n }\n .section-edge-").concat(i-1,"{\n stroke: ").concat(t["cScale"+i],";\n }\n .edge-depth-").concat(i-1,"{\n stroke-width: ").concat(s,";\n }\n .section-").concat(i-1," line {\n stroke: ").concat(t["cScaleInv"+i]," ;\n stroke-width: 3;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ").concat(t.background,";\n stroke: ").concat(t.nodeBorder,";\n stroke-width: 1px;\n }\n\n .kanban-ticket-link {\n fill: ").concat(t.background,";\n stroke: ").concat(t.nodeBorder,";\n text-decoration: underline;\n }\n ")}return e},"genSections"),L={db:N,renderer:x,parser:g,styles:(0,c.K2)(t=>"\n .edge {\n stroke-width: 3;\n }\n ".concat(D(t),"\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ").concat(t.git0,";\n }\n .section-root text {\n fill: ").concat(t.gitBranchLabel0,";\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .cluster-label, .label {\n color: ").concat(t.textColor,";\n fill: ").concat(t.textColor,";\n }\n .kanban-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n ").concat((0,s.o)(),"\n"),"getStyles")}},44344(t,e,n){n.d(e,{o:()=>i});var i=(0,n(32748).K2)(()=>"\n /* Font Awesome icon styling - consolidated */\n .label-icon {\n display: inline-block;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n }\n \n .node .label-icon path {\n fill: currentColor;\n stroke: revert;\n stroke-width: revert;\n }\n","getIconStyles")}}]);
2
+ //# sourceMappingURL=385.712a8ab0.chunk.js.map
build/static/js/385.712a8ab0.chunk.js.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"static/js/385.712a8ab0.chunk.js","mappings":"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","sources":["../node_modules/mermaid/dist/chunks/mermaid.core/kanban-definition-6JOO6SKY.mjs","../node_modules/mermaid/dist/chunks/mermaid.core/chunk-FMBD7UC4.mjs"],"sourcesContent":["import {\n selectSvgElement\n} from \"./chunk-426QAEUC.mjs\";\nimport {\n getIconStyles\n} from \"./chunk-FMBD7UC4.mjs\";\nimport {\n JSON_SCHEMA,\n load\n} from \"./chunk-XPW4576I.mjs\";\nimport {\n insertCluster,\n insertNode,\n positionNode\n} from \"./chunk-5FUZZQ4R.mjs\";\nimport \"./chunk-ZZ45TVLE.mjs\";\nimport \"./chunk-X2U36JSP.mjs\";\nimport \"./chunk-U2HBQHQK.mjs\";\nimport \"./chunk-5PVQY5BW.mjs\";\nimport {\n defaultConfig_default,\n getConfig2 as getConfig,\n sanitizeText,\n setupGraphViewbox\n} from \"./chunk-ICPOFSXX.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/kanban/parser/kanban.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [1, 4], $V1 = [1, 13], $V2 = [1, 12], $V3 = [1, 15], $V4 = [1, 16], $V5 = [1, 20], $V6 = [1, 19], $V7 = [6, 7, 8], $V8 = [1, 26], $V9 = [1, 24], $Va = [1, 25], $Vb = [6, 7, 11], $Vc = [1, 31], $Vd = [6, 7, 11, 24], $Ve = [1, 6, 13, 16, 17, 20, 23], $Vf = [1, 35], $Vg = [1, 36], $Vh = [1, 6, 7, 11, 13, 16, 17, 20, 23], $Vi = [1, 38];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"mindMap\": 4, \"spaceLines\": 5, \"SPACELINE\": 6, \"NL\": 7, \"KANBAN\": 8, \"document\": 9, \"stop\": 10, \"EOF\": 11, \"statement\": 12, \"SPACELIST\": 13, \"node\": 14, \"shapeData\": 15, \"ICON\": 16, \"CLASS\": 17, \"nodeWithId\": 18, \"nodeWithoutId\": 19, \"NODE_DSTART\": 20, \"NODE_DESCR\": 21, \"NODE_DEND\": 22, \"NODE_ID\": 23, \"SHAPE_DATA\": 24, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 6: \"SPACELINE\", 7: \"NL\", 8: \"KANBAN\", 11: \"EOF\", 13: \"SPACELIST\", 16: \"ICON\", 17: \"CLASS\", 20: \"NODE_DSTART\", 21: \"NODE_DESCR\", 22: \"NODE_DEND\", 23: \"NODE_ID\", 24: \"SHAPE_DATA\" },\n productions_: [0, [3, 1], [3, 2], [5, 1], [5, 2], [5, 2], [4, 2], [4, 3], [10, 1], [10, 1], [10, 1], [10, 2], [10, 2], [9, 3], [9, 2], [12, 3], [12, 2], [12, 2], [12, 2], [12, 1], [12, 2], [12, 1], [12, 1], [12, 1], [12, 1], [14, 1], [14, 1], [19, 3], [18, 1], [18, 4], [15, 2], [15, 1]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 6:\n case 7:\n return yy;\n break;\n case 8:\n yy.getLogger().trace(\"Stop NL \");\n break;\n case 9:\n yy.getLogger().trace(\"Stop EOF \");\n break;\n case 11:\n yy.getLogger().trace(\"Stop NL2 \");\n break;\n case 12:\n yy.getLogger().trace(\"Stop EOF2 \");\n break;\n case 15:\n yy.getLogger().info(\"Node: \", $$[$0 - 1].id);\n yy.addNode($$[$0 - 2].length, $$[$0 - 1].id, $$[$0 - 1].descr, $$[$0 - 1].type, $$[$0]);\n break;\n case 16:\n yy.getLogger().info(\"Node: \", $$[$0].id);\n yy.addNode($$[$0 - 1].length, $$[$0].id, $$[$0].descr, $$[$0].type);\n break;\n case 17:\n yy.getLogger().trace(\"Icon: \", $$[$0]);\n yy.decorateNode({ icon: $$[$0] });\n break;\n case 18:\n case 23:\n yy.decorateNode({ class: $$[$0] });\n break;\n case 19:\n yy.getLogger().trace(\"SPACELIST\");\n break;\n case 20:\n yy.getLogger().trace(\"Node: \", $$[$0 - 1].id);\n yy.addNode(0, $$[$0 - 1].id, $$[$0 - 1].descr, $$[$0 - 1].type, $$[$0]);\n break;\n case 21:\n yy.getLogger().trace(\"Node: \", $$[$0].id);\n yy.addNode(0, $$[$0].id, $$[$0].descr, $$[$0].type);\n break;\n case 22:\n yy.decorateNode({ icon: $$[$0] });\n break;\n case 27:\n yy.getLogger().trace(\"node found ..\", $$[$0 - 2]);\n this.$ = { id: $$[$0 - 1], descr: $$[$0 - 1], type: yy.getType($$[$0 - 2], $$[$0]) };\n break;\n case 28:\n this.$ = { id: $$[$0], descr: $$[$0], type: 0 };\n break;\n case 29:\n yy.getLogger().trace(\"node found ..\", $$[$0 - 3]);\n this.$ = { id: $$[$0 - 3], descr: $$[$0 - 1], type: yy.getType($$[$0 - 2], $$[$0]) };\n break;\n case 30:\n this.$ = $$[$0 - 1] + $$[$0];\n break;\n case 31:\n this.$ = $$[$0];\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: 2, 5: 3, 6: [1, 5], 8: $V0 }, { 1: [3] }, { 1: [2, 1] }, { 4: 6, 6: [1, 7], 7: [1, 8], 8: $V0 }, { 6: $V1, 7: [1, 10], 9: 9, 12: 11, 13: $V2, 14: 14, 16: $V3, 17: $V4, 18: 17, 19: 18, 20: $V5, 23: $V6 }, o($V7, [2, 3]), { 1: [2, 2] }, o($V7, [2, 4]), o($V7, [2, 5]), { 1: [2, 6], 6: $V1, 12: 21, 13: $V2, 14: 14, 16: $V3, 17: $V4, 18: 17, 19: 18, 20: $V5, 23: $V6 }, { 6: $V1, 9: 22, 12: 11, 13: $V2, 14: 14, 16: $V3, 17: $V4, 18: 17, 19: 18, 20: $V5, 23: $V6 }, { 6: $V8, 7: $V9, 10: 23, 11: $Va }, o($Vb, [2, 24], { 18: 17, 19: 18, 14: 27, 16: [1, 28], 17: [1, 29], 20: $V5, 23: $V6 }), o($Vb, [2, 19]), o($Vb, [2, 21], { 15: 30, 24: $Vc }), o($Vb, [2, 22]), o($Vb, [2, 23]), o($Vd, [2, 25]), o($Vd, [2, 26]), o($Vd, [2, 28], { 20: [1, 32] }), { 21: [1, 33] }, { 6: $V8, 7: $V9, 10: 34, 11: $Va }, { 1: [2, 7], 6: $V1, 12: 21, 13: $V2, 14: 14, 16: $V3, 17: $V4, 18: 17, 19: 18, 20: $V5, 23: $V6 }, o($Ve, [2, 14], { 7: $Vf, 11: $Vg }), o($Vh, [2, 8]), o($Vh, [2, 9]), o($Vh, [2, 10]), o($Vb, [2, 16], { 15: 37, 24: $Vc }), o($Vb, [2, 17]), o($Vb, [2, 18]), o($Vb, [2, 20], { 24: $Vi }), o($Vd, [2, 31]), { 21: [1, 39] }, { 22: [1, 40] }, o($Ve, [2, 13], { 7: $Vf, 11: $Vg }), o($Vh, [2, 11]), o($Vh, [2, 12]), o($Vb, [2, 15], { 24: $Vi }), o($Vd, [2, 30]), { 22: [1, 41] }, o($Vd, [2, 27]), o($Vd, [2, 29])],\n defaultActions: { 2: [2, 1], 6: [2, 2] },\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ (function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return 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(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n this.pushState(\"shapeData\");\n yy_.yytext = \"\";\n return 24;\n break;\n case 1:\n this.pushState(\"shapeDataStr\");\n return 24;\n break;\n case 2:\n this.popState();\n return 24;\n break;\n case 3:\n const re = /\\n\\s*/g;\n yy_.yytext = yy_.yytext.replace(re, \"<br/>\");\n return 24;\n break;\n case 4:\n return 24;\n break;\n case 5:\n this.popState();\n break;\n case 6:\n yy.getLogger().trace(\"Found comment\", yy_.yytext);\n return 6;\n break;\n case 7:\n return 8;\n break;\n case 8:\n this.begin(\"CLASS\");\n break;\n case 9:\n this.popState();\n return 17;\n break;\n case 10:\n this.popState();\n break;\n case 11:\n yy.getLogger().trace(\"Begin icon\");\n this.begin(\"ICON\");\n break;\n case 12:\n yy.getLogger().trace(\"SPACELINE\");\n return 6;\n break;\n case 13:\n return 7;\n break;\n case 14:\n return 16;\n break;\n case 15:\n yy.getLogger().trace(\"end icon\");\n this.popState();\n break;\n case 16:\n yy.getLogger().trace(\"Exploding node\");\n this.begin(\"NODE\");\n return 20;\n break;\n case 17:\n yy.getLogger().trace(\"Cloud\");\n this.begin(\"NODE\");\n return 20;\n break;\n case 18:\n yy.getLogger().trace(\"Explosion Bang\");\n this.begin(\"NODE\");\n return 20;\n break;\n case 19:\n yy.getLogger().trace(\"Cloud Bang\");\n this.begin(\"NODE\");\n return 20;\n break;\n case 20:\n this.begin(\"NODE\");\n return 20;\n break;\n case 21:\n this.begin(\"NODE\");\n return 20;\n break;\n case 22:\n this.begin(\"NODE\");\n return 20;\n break;\n case 23:\n this.begin(\"NODE\");\n return 20;\n break;\n case 24:\n return 13;\n break;\n case 25:\n return 23;\n break;\n case 26:\n return 11;\n break;\n case 27:\n this.begin(\"NSTR2\");\n break;\n case 28:\n return \"NODE_DESCR\";\n break;\n case 29:\n this.popState();\n break;\n case 30:\n yy.getLogger().trace(\"Starting NSTR\");\n this.begin(\"NSTR\");\n break;\n case 31:\n yy.getLogger().trace(\"description:\", yy_.yytext);\n return \"NODE_DESCR\";\n break;\n case 32:\n this.popState();\n break;\n case 33:\n this.popState();\n yy.getLogger().trace(\"node end ))\");\n return \"NODE_DEND\";\n break;\n case 34:\n this.popState();\n yy.getLogger().trace(\"node end )\");\n return \"NODE_DEND\";\n break;\n case 35:\n this.popState();\n yy.getLogger().trace(\"node end ...\", yy_.yytext);\n return \"NODE_DEND\";\n break;\n case 36:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n break;\n case 37:\n this.popState();\n yy.getLogger().trace(\"node end (-\");\n return \"NODE_DEND\";\n break;\n case 38:\n this.popState();\n yy.getLogger().trace(\"node end (-\");\n return \"NODE_DEND\";\n break;\n case 39:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n break;\n case 40:\n this.popState();\n yy.getLogger().trace(\"node end ((\");\n return \"NODE_DEND\";\n break;\n case 41:\n yy.getLogger().trace(\"Long description:\", yy_.yytext);\n return 21;\n break;\n case 42:\n yy.getLogger().trace(\"Long description:\", yy_.yytext);\n return 21;\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:@\\{)/i, /^(?:[\"])/i, /^(?:[\"])/i, /^(?:[^\\\"]+)/i, /^(?:[^}^\"]+)/i, /^(?:\\})/i, /^(?:\\s*%%.*)/i, /^(?:kanban\\b)/i, /^(?::::)/i, /^(?:.+)/i, /^(?:\\n)/i, /^(?:::icon\\()/i, /^(?:[\\s]+[\\n])/i, /^(?:[\\n]+)/i, /^(?:[^\\)]+)/i, /^(?:\\))/i, /^(?:-\\))/i, /^(?:\\(-)/i, /^(?:\\)\\))/i, /^(?:\\))/i, /^(?:\\(\\()/i, /^(?:\\{\\{)/i, /^(?:\\()/i, /^(?:\\[)/i, /^(?:[\\s]+)/i, /^(?:[^\\(\\[\\n\\)\\{\\}@]+)/i, /^(?:$)/i, /^(?:[\"][`])/i, /^(?:[^`\"]+)/i, /^(?:[`][\"])/i, /^(?:[\"])/i, /^(?:[^\"]+)/i, /^(?:[\"])/i, /^(?:[\\)]\\))/i, /^(?:[\\)])/i, /^(?:[\\]])/i, /^(?:\\}\\})/i, /^(?:\\(-)/i, /^(?:-\\))/i, /^(?:\\(\\()/i, /^(?:\\()/i, /^(?:[^\\)\\]\\(\\}]+)/i, /^(?:.+(?!\\(\\())/i],\n conditions: { \"shapeDataEndBracket\": { \"rules\": [], \"inclusive\": false }, \"shapeDataStr\": { \"rules\": [2, 3], \"inclusive\": false }, \"shapeData\": { \"rules\": [1, 4, 5], \"inclusive\": false }, \"CLASS\": { \"rules\": [9, 10], \"inclusive\": false }, \"ICON\": { \"rules\": [14, 15], \"inclusive\": false }, \"NSTR2\": { \"rules\": [28, 29], \"inclusive\": false }, \"NSTR\": { \"rules\": [31, 32], \"inclusive\": false }, \"NODE\": { \"rules\": [27, 30, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 6, 7, 8, 11, 12, 13, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26], \"inclusive\": true } }\n };\n return lexer2;\n })();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n})();\nparser.parser = parser;\nvar kanban_default = parser;\n\n// src/diagrams/kanban/kanbanDb.ts\nvar nodes = [];\nvar sections = [];\nvar cnt = 0;\nvar elements = {};\nvar clear = /* @__PURE__ */ __name(() => {\n nodes = [];\n sections = [];\n cnt = 0;\n elements = {};\n}, \"clear\");\nvar getSection = /* @__PURE__ */ __name((level) => {\n if (nodes.length === 0) {\n return null;\n }\n const sectionLevel = nodes[0].level;\n let lastSection = null;\n for (let i = nodes.length - 1; i >= 0; i--) {\n if (nodes[i].level === sectionLevel && !lastSection) {\n lastSection = nodes[i];\n }\n if (nodes[i].level < sectionLevel) {\n throw new Error('Items without section detected, found section (\"' + nodes[i].label + '\")');\n }\n }\n if (level === lastSection?.level) {\n return null;\n }\n return lastSection;\n}, \"getSection\");\nvar getSections = /* @__PURE__ */ __name(function() {\n return sections;\n}, \"getSections\");\nvar getData = /* @__PURE__ */ __name(function() {\n const edges = [];\n const _nodes = [];\n const sections2 = getSections();\n const conf = getConfig();\n for (const section of sections2) {\n const node = {\n id: section.id,\n label: sanitizeText(section.label ?? \"\", conf),\n labelType: \"markdown\",\n isGroup: true,\n ticket: section.ticket,\n shape: \"kanbanSection\",\n level: section.level,\n look: conf.look\n };\n _nodes.push(node);\n const children = nodes.filter((n) => n.parentId === section.id);\n for (const item of children) {\n const childNode = {\n id: item.id,\n parentId: section.id,\n label: sanitizeText(item.label ?? \"\", conf),\n labelType: \"markdown\",\n isGroup: false,\n ticket: item?.ticket,\n priority: item?.priority,\n assigned: item?.assigned,\n icon: item?.icon,\n shape: \"kanbanItem\",\n level: item.level,\n rx: 5,\n ry: 5,\n cssStyles: [\"text-align: left\"]\n };\n _nodes.push(childNode);\n }\n }\n return { nodes: _nodes, edges, other: {}, config: getConfig() };\n}, \"getData\");\nvar addNode = /* @__PURE__ */ __name((level, id, descr, type, shapeData) => {\n const conf = getConfig();\n let padding = conf.mindmap?.padding ?? defaultConfig_default.mindmap.padding;\n switch (type) {\n case nodeType.ROUNDED_RECT:\n case nodeType.RECT:\n case nodeType.HEXAGON:\n padding *= 2;\n }\n const node = {\n id: sanitizeText(id, conf) || \"kbn\" + cnt++,\n level,\n label: sanitizeText(descr, conf),\n width: conf.mindmap?.maxNodeWidth ?? defaultConfig_default.mindmap.maxNodeWidth,\n padding,\n isGroup: false\n };\n if (shapeData !== void 0) {\n let yamlData;\n if (!shapeData.includes(\"\\n\")) {\n yamlData = \"{\\n\" + shapeData + \"\\n}\";\n } else {\n yamlData = shapeData + \"\\n\";\n }\n const doc = load(yamlData, { schema: JSON_SCHEMA });\n if (doc.shape && (doc.shape !== doc.shape.toLowerCase() || doc.shape.includes(\"_\"))) {\n throw new Error(`No such shape: ${doc.shape}. Shape names should be lowercase.`);\n }\n if (doc?.shape && doc.shape === \"kanbanItem\") {\n node.shape = doc?.shape;\n }\n if (doc?.label) {\n node.label = doc?.label;\n }\n if (doc?.icon) {\n node.icon = doc?.icon.toString();\n }\n if (doc?.assigned) {\n node.assigned = doc?.assigned.toString();\n }\n if (doc?.ticket) {\n node.ticket = doc?.ticket.toString();\n }\n if (doc?.priority) {\n node.priority = doc?.priority;\n }\n }\n const section = getSection(level);\n if (section) {\n node.parentId = section.id || \"kbn\" + cnt++;\n } else {\n sections.push(node);\n }\n nodes.push(node);\n}, \"addNode\");\nvar nodeType = {\n DEFAULT: 0,\n NO_BORDER: 0,\n ROUNDED_RECT: 1,\n RECT: 2,\n CIRCLE: 3,\n CLOUD: 4,\n BANG: 5,\n HEXAGON: 6\n};\nvar getType = /* @__PURE__ */ __name((startStr, endStr) => {\n log.debug(\"In get type\", startStr, endStr);\n switch (startStr) {\n case \"[\":\n return nodeType.RECT;\n case \"(\":\n return endStr === \")\" ? nodeType.ROUNDED_RECT : nodeType.CLOUD;\n case \"((\":\n return nodeType.CIRCLE;\n case \")\":\n return nodeType.CLOUD;\n case \"))\":\n return nodeType.BANG;\n case \"{{\":\n return nodeType.HEXAGON;\n default:\n return nodeType.DEFAULT;\n }\n}, \"getType\");\nvar setElementForId = /* @__PURE__ */ __name((id, element) => {\n elements[id] = element;\n}, \"setElementForId\");\nvar decorateNode = /* @__PURE__ */ __name((decoration) => {\n if (!decoration) {\n return;\n }\n const config = getConfig();\n const node = nodes[nodes.length - 1];\n if (decoration.icon) {\n node.icon = sanitizeText(decoration.icon, config);\n }\n if (decoration.class) {\n node.cssClasses = sanitizeText(decoration.class, config);\n }\n}, \"decorateNode\");\nvar type2Str = /* @__PURE__ */ __name((type) => {\n switch (type) {\n case nodeType.DEFAULT:\n return \"no-border\";\n case nodeType.RECT:\n return \"rect\";\n case nodeType.ROUNDED_RECT:\n return \"rounded-rect\";\n case nodeType.CIRCLE:\n return \"circle\";\n case nodeType.CLOUD:\n return \"cloud\";\n case nodeType.BANG:\n return \"bang\";\n case nodeType.HEXAGON:\n return \"hexgon\";\n // cspell: disable-line\n default:\n return \"no-border\";\n }\n}, \"type2Str\");\nvar getLogger = /* @__PURE__ */ __name(() => log, \"getLogger\");\nvar getElementById = /* @__PURE__ */ __name((id) => elements[id], \"getElementById\");\nvar db = {\n clear,\n addNode,\n getSections,\n getData,\n nodeType,\n getType,\n setElementForId,\n decorateNode,\n type2Str,\n getLogger,\n getElementById\n};\nvar kanbanDb_default = db;\n\n// src/diagrams/kanban/kanbanRenderer.ts\nvar draw = /* @__PURE__ */ __name(async (text, id, _version, diagObj) => {\n log.debug(\"Rendering kanban diagram\\n\" + text);\n const db2 = diagObj.db;\n const data4Layout = db2.getData();\n const conf = getConfig();\n conf.htmlLabels = false;\n const svg = selectSvgElement(id);\n for (const node of data4Layout.nodes) {\n node.domId = `${id}-${node.id}`;\n }\n const sectionsElem = svg.append(\"g\");\n sectionsElem.attr(\"class\", \"sections\");\n const nodesElem = svg.append(\"g\");\n nodesElem.attr(\"class\", \"items\");\n const sections2 = data4Layout.nodes.filter(\n // TODO: TypeScript 5.5 will infer this predicate automatically\n (node) => node.isGroup\n );\n let cnt2 = 0;\n const padding = 10;\n const sectionObjects = [];\n let maxLabelHeight = 25;\n for (const section of sections2) {\n const WIDTH = conf?.kanban?.sectionWidth || 200;\n cnt2 = cnt2 + 1;\n section.x = WIDTH * cnt2 + (cnt2 - 1) * padding / 2;\n section.width = WIDTH;\n section.y = 0;\n section.height = WIDTH * 3;\n section.rx = 5;\n section.ry = 5;\n section.cssClasses = section.cssClasses + \" section-\" + cnt2;\n const sectionObj = await insertCluster(sectionsElem, section);\n maxLabelHeight = Math.max(maxLabelHeight, sectionObj?.labelBBox?.height);\n sectionObjects.push(sectionObj);\n }\n let i = 0;\n for (const section of sections2) {\n const sectionObj = sectionObjects[i];\n i = i + 1;\n const WIDTH = conf?.kanban?.sectionWidth || 200;\n const top = -WIDTH * 3 / 2 + maxLabelHeight;\n let y = top;\n const sectionItems = data4Layout.nodes.filter((node) => node.parentId === section.id);\n for (const item of sectionItems) {\n if (item.isGroup) {\n throw new Error(\"Groups within groups are not allowed in Kanban diagrams\");\n }\n item.x = section.x;\n item.width = WIDTH - 1.5 * padding;\n const nodeEl = await insertNode(nodesElem, item, { config: conf });\n const bbox = nodeEl.node().getBBox();\n item.y = y + bbox.height / 2;\n await positionNode(item);\n y = item.y + bbox.height / 2 + padding / 2;\n }\n const rect = sectionObj.cluster.select(\"rect\");\n const height = Math.max(y - top + 3 * padding, 50) + (maxLabelHeight - 25);\n rect.attr(\"height\", height);\n }\n setupGraphViewbox(\n void 0,\n svg,\n conf.mindmap?.padding ?? defaultConfig_default.kanban.padding,\n conf.mindmap?.useMaxWidth ?? defaultConfig_default.kanban.useMaxWidth\n );\n}, \"draw\");\nvar kanbanRenderer_default = {\n draw\n};\n\n// src/diagrams/kanban/styles.ts\nimport { darken, lighten, isDark } from \"khroma\";\nvar genSections = /* @__PURE__ */ __name((options) => {\n let sections2 = \"\";\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n options[\"lineColor\" + i] = options[\"lineColor\" + i] || options[\"cScaleInv\" + i];\n if (isDark(options[\"lineColor\" + i])) {\n options[\"lineColor\" + i] = lighten(options[\"lineColor\" + i], 20);\n } else {\n options[\"lineColor\" + i] = darken(options[\"lineColor\" + i], 20);\n }\n }\n const adjuster = /* @__PURE__ */ __name((color, level) => options.darkMode ? darken(color, level) : lighten(color, level), \"adjuster\");\n for (let i = 0; i < options.THEME_COLOR_LIMIT; i++) {\n const sw = \"\" + (17 - 3 * i);\n sections2 += `\n .section-${i - 1} rect, .section-${i - 1} path, .section-${i - 1} circle, .section-${i - 1} polygon, .section-${i - 1} path {\n fill: ${adjuster(options[\"cScale\" + i], 10)};\n stroke: ${adjuster(options[\"cScale\" + i], 10)};\n\n }\n .section-${i - 1} text {\n fill: ${options[\"cScaleLabel\" + i]};\n }\n .node-icon-${i - 1} {\n font-size: 40px;\n color: ${options[\"cScaleLabel\" + i]};\n }\n .section-edge-${i - 1}{\n stroke: ${options[\"cScale\" + i]};\n }\n .edge-depth-${i - 1}{\n stroke-width: ${sw};\n }\n .section-${i - 1} line {\n stroke: ${options[\"cScaleInv\" + i]} ;\n stroke-width: 3;\n }\n\n .disabled, .disabled circle, .disabled text {\n fill: lightgray;\n }\n .disabled text {\n fill: #efefef;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.background};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n\n .kanban-ticket-link {\n fill: ${options.background};\n stroke: ${options.nodeBorder};\n text-decoration: underline;\n }\n `;\n }\n return sections2;\n}, \"genSections\");\nvar getStyles = /* @__PURE__ */ __name((options) => `\n .edge {\n stroke-width: 3;\n }\n ${genSections(options)}\n .section-root rect, .section-root path, .section-root circle, .section-root polygon {\n fill: ${options.git0};\n }\n .section-root text {\n fill: ${options.gitBranchLabel0};\n }\n .icon-container {\n height:100%;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n .edge {\n fill: none;\n }\n .cluster-label, .label {\n color: ${options.textColor};\n fill: ${options.textColor};\n }\n .kanban-label {\n dy: 1em;\n alignment-baseline: middle;\n text-anchor: middle;\n dominant-baseline: middle;\n text-align: center;\n }\n ${getIconStyles()}\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/kanban/kanban-definition.ts\nvar diagram = {\n db: kanbanDb_default,\n renderer: kanbanRenderer_default,\n parser: kanban_default,\n styles: styles_default\n};\nexport {\n diagram\n};\n","import {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/globalStyles.ts\nvar getIconStyles = /* @__PURE__ */ __name(() => `\n /* Font Awesome icon styling - consolidated */\n .label-icon {\n display: inline-block;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n }\n \n .node .label-icon path {\n fill: currentColor;\n stroke: revert;\n stroke-width: revert;\n }\n`, \"getIconStyles\");\n\nexport {\n getIconStyles\n};\n"],"names":["parser","o","__name","k","v","o2","l","length","$V0","$V1","$V2","$V3","$V4","$V5","$V6","$V7","$V8","$V9","$Va","$Vb","$Vc","$Vd","$Ve","$Vf","$Vg","$Vh","$Vi","parser2","trace","yy","symbols_","terminals_","productions_","performAction","yytext","yyleng","yylineno","yystate","$$","_$","$0","getLogger","info","id","addNode","descr","type","decorateNode","icon","class","this","$","getType","table","defaultActions","parseError","str","hash","recoverable","error","Error","parse","input","self","stack","tstack","vstack","lstack","recovering","args","slice","call","arguments","lexer2","Object","create","lexer","sharedState","prototype","hasOwnProperty","setInput","yylloc","yyloc","push","ranges","options","lex","token","pop","Array","getPrototypeOf","n","symbol","preErrorSymbol","state","action","r","p","len","newState","expected","yyval","errStr","showPosition","join","text","match","line","loc","first_line","last_line","first_column","last_column","range","apply","concat","EOF","_input","_more","_backtrack","done","matched","conditionStack","offset","ch","unput","lines","split","substr","oldLines","more","reject","backtrack_lexer","less","pastInput","past","replace","upcomingInput","next","pre","c","test_match","indexed_rule","backup","matches","tempMatch","index","rules","_currentRules","i","flex","begin","condition","popState","conditions","topState","Math","abs","pushState","stateStackSize","yy_","$avoiding_name_collisions","YY_START","re","Parser","kanban_default","nodes","sections","cnt","elements","clear","getSection","level","_lastSection","sectionLevel","lastSection","label","getSections","getData","_nodes","sections2","conf","getConfig","section","_section$label","node","sanitizeText","labelType","isGroup","ticket","shape","look","children","filter","parentId","item","_item$label","childNode","priority","assigned","rx","ry","cssStyles","edges","other","config","shapeData","_conf$mindmap$padding","_conf$mindmap","_conf$mindmap$maxNode","_conf$mindmap2","padding","mindmap","defaultConfig_default","nodeType","ROUNDED_RECT","RECT","HEXAGON","width","maxNodeWidth","yamlData","includes","doc","load","schema","JSON_SCHEMA","toLowerCase","toString","DEFAULT","NO_BORDER","CIRCLE","CLOUD","BANG","kanbanDb_default","startStr","endStr","log","debug","setElementForId","element","decoration","cssClasses","type2Str","getElementById","kanbanRenderer_default","draw","async","_version","diagObj","_conf$mindmap$padding2","_conf$mindmap3","_conf$mindmap$useMaxW","_conf$mindmap4","data4Layout","db","htmlLabels","svg","selectSvgElement","domId","sectionsElem","append","attr","nodesElem","cnt2","sectionObjects","maxLabelHeight","_conf$kanban","_sectionObj$labelBBox","WIDTH","kanban","sectionWidth","x","y","height","sectionObj","insertCluster","max","labelBBox","_conf$kanban2","top","sectionItems","bbox","insertNode","getBBox","positionNode","rect","cluster","select","setupGraphViewbox","useMaxWidth","genSections","THEME_COLOR_LIMIT","isDark","lighten","darken","adjuster","color","darkMode","sw","background","nodeBorder","diagram","renderer","styles","git0","gitBranchLabel0","textColor","getIconStyles"],"ignoreList":[],"sourceRoot":""}
build/static/js/443.22ceec26.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[443],{82443(t,e,i){i.d(e,{diagram:()=>z});var a,n,s=i(89379),r=i(45420),o=i(32748),l=i(68973),h=function(){var t=(0,o.K2)(function(t,e,i,a){for(i=i||{},a=t.length;a--;i[t[a]]=e);return i},"o"),e=[1,3],i=[1,4],a=[1,5],n=[1,6],s=[1,7],r=[1,4,5,10,12,13,14,18,25,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],l=[1,4,5,10,12,13,14,18,25,28,35,37,39,41,42,48,50,51,52,53,54,55,56,57,60,61,63,64,65,66,67],h=[55,56,57],c=[2,36],d=[1,37],u=[1,36],x=[1,38],f=[1,35],g=[1,43],p=[1,41],y=[1,14],T=[1,23],m=[1,18],q=[1,19],A=[1,20],_=[1,21],b=[1,22],S=[1,24],k=[1,25],v=[1,26],F=[1,27],P=[1,28],C=[1,29],L=[1,32],I=[1,33],E=[1,34],D=[1,39],z=[1,40],w=[1,42],K=[1,44],U=[1,62],N=[1,61],R=[4,5,8,10,12,13,14,18,44,47,49,55,56,57,63,64,65,66,67],B=[1,65],W=[1,66],Q=[1,67],$=[1,68],O=[1,69],X=[1,70],H=[1,71],M=[1,72],Y=[1,73],j=[1,74],G=[1,75],V=[1,76],Z=[4,5,6,7,8,9,10,11,12,13,14,15,18],J=[1,90],tt=[1,91],et=[1,92],it=[1,99],at=[1,93],nt=[1,96],st=[1,94],rt=[1,95],ot=[1,97],lt=[1,98],ht=[1,102],ct=[10,55,56,57],dt=[4,5,6,8,10,11,13,17,18,19,20,55,56,57],ut={trace:(0,o.K2)(function(){},"trace"),yy:{},symbols_:{error:2,idStringToken:3,ALPHA:4,NUM:5,NODE_STRING:6,DOWN:7,MINUS:8,DEFAULT:9,COMMA:10,COLON:11,AMP:12,BRKT:13,MULT:14,UNICODE_TEXT:15,styleComponent:16,UNIT:17,SPACE:18,STYLE:19,PCT:20,idString:21,style:22,stylesOpt:23,classDefStatement:24,CLASSDEF:25,start:26,eol:27,QUADRANT:28,document:29,line:30,statement:31,axisDetails:32,quadrantDetails:33,points:34,title:35,title_value:36,acc_title:37,acc_title_value:38,acc_descr:39,acc_descr_value:40,acc_descr_multiline_value:41,section:42,text:43,point_start:44,point_x:45,point_y:46,class_name:47,"X-AXIS":48,"AXIS-TEXT-DELIMITER":49,"Y-AXIS":50,QUADRANT_1:51,QUADRANT_2:52,QUADRANT_3:53,QUADRANT_4:54,NEWLINE:55,SEMI:56,EOF:57,alphaNumToken:58,textNoTagsToken:59,STR:60,MD_STR:61,alphaNum:62,PUNCTUATION:63,PLUS:64,EQUALS:65,DOT:66,UNDERSCORE:67,$accept:0,$end:1},terminals_:{2:"error",4:"ALPHA",5:"NUM",6:"NODE_STRING",7:"DOWN",8:"MINUS",9:"DEFAULT",10:"COMMA",11:"COLON",12:"AMP",13:"BRKT",14:"MULT",15:"UNICODE_TEXT",17:"UNIT",18:"SPACE",19:"STYLE",20:"PCT",25:"CLASSDEF",28:"QUADRANT",35:"title",36:"title_value",37:"acc_title",38:"acc_title_value",39:"acc_descr",40:"acc_descr_value",41:"acc_descr_multiline_value",42:"section",44:"point_start",45:"point_x",46:"point_y",47:"class_name",48:"X-AXIS",49:"AXIS-TEXT-DELIMITER",50:"Y-AXIS",51:"QUADRANT_1",52:"QUADRANT_2",53:"QUADRANT_3",54:"QUADRANT_4",55:"NEWLINE",56:"SEMI",57:"EOF",60:"STR",61:"MD_STR",63:"PUNCTUATION",64:"PLUS",65:"EQUALS",66:"DOT",67:"UNDERSCORE"},productions_:[0,[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[3,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[16,1],[21,1],[21,2],[22,1],[22,2],[23,1],[23,3],[24,5],[26,2],[26,2],[26,2],[29,0],[29,2],[30,2],[31,0],[31,1],[31,2],[31,1],[31,1],[31,1],[31,2],[31,2],[31,2],[31,1],[31,1],[34,4],[34,5],[34,5],[34,6],[32,4],[32,3],[32,2],[32,4],[32,3],[32,2],[33,2],[33,2],[33,2],[33,2],[27,1],[27,1],[27,1],[43,1],[43,2],[43,1],[43,1],[62,1],[62,2],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[58,1],[59,1],[59,1],[59,1]],performAction:(0,o.K2)(function(t,e,i,a,n,s,r){var o=s.length-1;switch(n){case 23:case 68:this.$=s[o];break;case 24:case 69:this.$=s[o-1]+""+s[o];break;case 26:this.$=s[o-1]+s[o];break;case 27:this.$=[s[o].trim()];break;case 28:s[o-2].push(s[o].trim()),this.$=s[o-2];break;case 29:this.$=s[o-4],a.addClass(s[o-2],s[o]);break;case 37:this.$=[];break;case 42:this.$=s[o].trim(),a.setDiagramTitle(this.$);break;case 43:this.$=s[o].trim(),a.setAccTitle(this.$);break;case 44:case 45:this.$=s[o].trim(),a.setAccDescription(this.$);break;case 46:a.addSection(s[o].substr(8)),this.$=s[o].substr(8);break;case 47:a.addPoint(s[o-3],"",s[o-1],s[o],[]);break;case 48:a.addPoint(s[o-4],s[o-3],s[o-1],s[o],[]);break;case 49:a.addPoint(s[o-4],"",s[o-2],s[o-1],s[o]);break;case 50:a.addPoint(s[o-5],s[o-4],s[o-2],s[o-1],s[o]);break;case 51:a.setXAxisLeftText(s[o-2]),a.setXAxisRightText(s[o]);break;case 52:s[o-1].text+=" \u27f6 ",a.setXAxisLeftText(s[o-1]);break;case 53:a.setXAxisLeftText(s[o]);break;case 54:a.setYAxisBottomText(s[o-2]),a.setYAxisTopText(s[o]);break;case 55:s[o-1].text+=" \u27f6 ",a.setYAxisBottomText(s[o-1]);break;case 56:a.setYAxisBottomText(s[o]);break;case 57:a.setQuadrant1Text(s[o]);break;case 58:a.setQuadrant2Text(s[o]);break;case 59:a.setQuadrant3Text(s[o]);break;case 60:a.setQuadrant4Text(s[o]);break;case 64:case 66:this.$={text:s[o],type:"text"};break;case 65:this.$={text:s[o-1].text+""+s[o],type:s[o-1].type};break;case 67:this.$={text:s[o],type:"markdown"}}},"anonymous"),table:[{18:e,26:1,27:2,28:i,55:a,56:n,57:s},{1:[3]},{18:e,26:8,27:2,28:i,55:a,56:n,57:s},{18:e,26:9,27:2,28:i,55:a,56:n,57:s},t(r,[2,33],{29:10}),t(l,[2,61]),t(l,[2,62]),t(l,[2,63]),{1:[2,30]},{1:[2,31]},t(h,c,{30:11,31:12,24:13,32:15,33:16,34:17,43:30,58:31,1:[2,32],4:d,5:u,10:x,12:f,13:g,14:p,18:y,25:T,35:m,37:q,39:A,41:_,42:b,48:S,50:k,51:v,52:F,53:P,54:C,60:L,61:I,63:E,64:D,65:z,66:w,67:K}),t(r,[2,34]),{27:45,55:a,56:n,57:s},t(h,[2,37]),t(h,c,{24:13,32:15,33:16,34:17,43:30,58:31,31:46,4:d,5:u,10:x,12:f,13:g,14:p,18:y,25:T,35:m,37:q,39:A,41:_,42:b,48:S,50:k,51:v,52:F,53:P,54:C,60:L,61:I,63:E,64:D,65:z,66:w,67:K}),t(h,[2,39]),t(h,[2,40]),t(h,[2,41]),{36:[1,47]},{38:[1,48]},{40:[1,49]},t(h,[2,45]),t(h,[2,46]),{18:[1,50]},{4:d,5:u,10:x,12:f,13:g,14:p,43:51,58:31,60:L,61:I,63:E,64:D,65:z,66:w,67:K},{4:d,5:u,10:x,12:f,13:g,14:p,43:52,58:31,60:L,61:I,63:E,64:D,65:z,66:w,67:K},{4:d,5:u,10:x,12:f,13:g,14:p,43:53,58:31,60:L,61:I,63:E,64:D,65:z,66:w,67:K},{4:d,5:u,10:x,12:f,13:g,14:p,43:54,58:31,60:L,61:I,63:E,64:D,65:z,66:w,67:K},{4:d,5:u,10:x,12:f,13:g,14:p,43:55,58:31,60:L,61:I,63:E,64:D,65:z,66:w,67:K},{4:d,5:u,10:x,12:f,13:g,14:p,43:56,58:31,60:L,61:I,63:E,64:D,65:z,66:w,67:K},{4:d,5:u,8:U,10:x,12:f,13:g,14:p,18:N,44:[1,57],47:[1,58],58:60,59:59,63:E,64:D,65:z,66:w,67:K},t(R,[2,64]),t(R,[2,66]),t(R,[2,67]),t(R,[2,70]),t(R,[2,71]),t(R,[2,72]),t(R,[2,73]),t(R,[2,74]),t(R,[2,75]),t(R,[2,76]),t(R,[2,77]),t(R,[2,78]),t(R,[2,79]),t(R,[2,80]),t(r,[2,35]),t(h,[2,38]),t(h,[2,42]),t(h,[2,43]),t(h,[2,44]),{3:64,4:B,5:W,6:Q,7:$,8:O,9:X,10:H,11:M,12:Y,13:j,14:G,15:V,21:63},t(h,[2,53],{59:59,58:60,4:d,5:u,8:U,10:x,12:f,13:g,14:p,18:N,49:[1,77],63:E,64:D,65:z,66:w,67:K}),t(h,[2,56],{59:59,58:60,4:d,5:u,8:U,10:x,12:f,13:g,14:p,18:N,49:[1,78],63:E,64:D,65:z,66:w,67:K}),t(h,[2,57],{59:59,58:60,4:d,5:u,8:U,10:x,12:f,13:g,14:p,18:N,63:E,64:D,65:z,66:w,67:K}),t(h,[2,58],{59:59,58:60,4:d,5:u,8:U,10:x,12:f,13:g,14:p,18:N,63:E,64:D,65:z,66:w,67:K}),t(h,[2,59],{59:59,58:60,4:d,5:u,8:U,10:x,12:f,13:g,14:p,18:N,63:E,64:D,65:z,66:w,67:K}),t(h,[2,60],{59:59,58:60,4:d,5:u,8:U,10:x,12:f,13:g,14:p,18:N,63:E,64:D,65:z,66:w,67:K}),{45:[1,79]},{44:[1,80]},t(R,[2,65]),t(R,[2,81]),t(R,[2,82]),t(R,[2,83]),{3:82,4:B,5:W,6:Q,7:$,8:O,9:X,10:H,11:M,12:Y,13:j,14:G,15:V,18:[1,81]},t(Z,[2,23]),t(Z,[2,1]),t(Z,[2,2]),t(Z,[2,3]),t(Z,[2,4]),t(Z,[2,5]),t(Z,[2,6]),t(Z,[2,7]),t(Z,[2,8]),t(Z,[2,9]),t(Z,[2,10]),t(Z,[2,11]),t(Z,[2,12]),t(h,[2,52],{58:31,43:83,4:d,5:u,10:x,12:f,13:g,14:p,60:L,61:I,63:E,64:D,65:z,66:w,67:K}),t(h,[2,55],{58:31,43:84,4:d,5:u,10:x,12:f,13:g,14:p,60:L,61:I,63:E,64:D,65:z,66:w,67:K}),{46:[1,85]},{45:[1,86]},{4:J,5:tt,6:et,8:it,11:at,13:nt,16:89,17:st,18:rt,19:ot,20:lt,22:88,23:87},t(Z,[2,24]),t(h,[2,51],{59:59,58:60,4:d,5:u,8:U,10:x,12:f,13:g,14:p,18:N,63:E,64:D,65:z,66:w,67:K}),t(h,[2,54],{59:59,58:60,4:d,5:u,8:U,10:x,12:f,13:g,14:p,18:N,63:E,64:D,65:z,66:w,67:K}),t(h,[2,47],{22:88,16:89,23:100,4:J,5:tt,6:et,8:it,11:at,13:nt,17:st,18:rt,19:ot,20:lt}),{46:[1,101]},t(h,[2,29],{10:ht}),t(ct,[2,27],{16:103,4:J,5:tt,6:et,8:it,11:at,13:nt,17:st,18:rt,19:ot,20:lt}),t(dt,[2,25]),t(dt,[2,13]),t(dt,[2,14]),t(dt,[2,15]),t(dt,[2,16]),t(dt,[2,17]),t(dt,[2,18]),t(dt,[2,19]),t(dt,[2,20]),t(dt,[2,21]),t(dt,[2,22]),t(h,[2,49],{10:ht}),t(h,[2,48],{22:88,16:89,23:104,4:J,5:tt,6:et,8:it,11:at,13:nt,17:st,18:rt,19:ot,20:lt}),{4:J,5:tt,6:et,8:it,11:at,13:nt,16:89,17:st,18:rt,19:ot,20:lt,22:105},t(dt,[2,26]),t(h,[2,50],{10:ht}),t(ct,[2,28],{16:103,4:J,5:tt,6:et,8:it,11:at,13:nt,17:st,18:rt,19:ot,20:lt})],defaultActions:{8:[2,30],9:[2,31]},parseError:(0,o.K2)(function(t,e){if(!e.recoverable){var i=new Error(t);throw i.hash=e,i}this.trace(t)},"parseError"),parse:(0,o.K2)(function(t){var e=this,i=[0],a=[],n=[null],s=[],r=this.table,l="",h=0,c=0,d=0,u=s.slice.call(arguments,1),x=Object.create(this.lexer),f={yy:{}};for(var g in this.yy)Object.prototype.hasOwnProperty.call(this.yy,g)&&(f.yy[g]=this.yy[g]);x.setInput(t,f.yy),f.yy.lexer=x,f.yy.parser=this,"undefined"==typeof x.yylloc&&(x.yylloc={});var p=x.yylloc;s.push(p);var y=x.options&&x.options.ranges;function T(){var t;return"number"!==typeof(t=a.pop()||x.lex()||1)&&(t instanceof Array&&(t=(a=t).pop()),t=e.symbols_[t]||t),t}"function"===typeof f.yy.parseError?this.parseError=f.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,o.K2)(function(t){i.length=i.length-2*t,n.length=n.length-t,s.length=s.length-t},"popStack"),(0,o.K2)(T,"lex");for(var m,q,A,_,b,S,k,v,F,P={};;){if(A=i[i.length-1],this.defaultActions[A]?_=this.defaultActions[A]:(null!==m&&"undefined"!=typeof m||(m=T()),_=r[A]&&r[A][m]),"undefined"===typeof _||!_.length||!_[0]){var C="";for(S in F=[],r[A])this.terminals_[S]&&S>2&&F.push("'"+this.terminals_[S]+"'");C=x.showPosition?"Parse error on line "+(h+1)+":\n"+x.showPosition()+"\nExpecting "+F.join(", ")+", got '"+(this.terminals_[m]||m)+"'":"Parse error on line "+(h+1)+": Unexpected "+(1==m?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(C,{text:x.match,token:this.terminals_[m]||m,line:x.yylineno,loc:p,expected:F})}if(_[0]instanceof Array&&_.length>1)throw new Error("Parse Error: multiple actions possible at state: "+A+", token: "+m);switch(_[0]){case 1:i.push(m),n.push(x.yytext),s.push(x.yylloc),i.push(_[1]),m=null,q?(m=q,q=null):(c=x.yyleng,l=x.yytext,h=x.yylineno,p=x.yylloc,d>0&&d--);break;case 2:if(k=this.productions_[_[1]][1],P.$=n[n.length-k],P._$={first_line:s[s.length-(k||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(k||1)].first_column,last_column:s[s.length-1].last_column},y&&(P._$.range=[s[s.length-(k||1)].range[0],s[s.length-1].range[1]]),"undefined"!==typeof(b=this.performAction.apply(P,[l,c,h,f.yy,_[1],n,s].concat(u))))return b;k&&(i=i.slice(0,-1*k*2),n=n.slice(0,-1*k),s=s.slice(0,-1*k)),i.push(this.productions_[_[1]][0]),n.push(P.$),s.push(P._$),v=r[i[i.length-2]][i[i.length-1]],i.push(v);break;case 3:return!0}}return!0},"parse")},xt=function(){return{EOF:1,parseError:(0,o.K2)(function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},"parseError"),setInput:(0,o.K2)(function(t,e){return this.yy=e||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.K2)(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.K2)(function(t){var e=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var a=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),i.length-1&&(this.yylineno-=i.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:i?(i.length===a.length?this.yylloc.first_column:0)+a[a.length-i.length].length-i[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[n[0],n[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,o.K2)(function(){return this._more=!0,this},"more"),reject:(0,o.K2)(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.K2)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,o.K2)(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.K2)(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.K2)(function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,o.K2)(function(t,e){var i,a,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))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.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],i=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),i)return i;if(this._backtrack){for(var s in n)this[s]=n[s];return!1}return!1},"test_match"),next:(0,o.K2)(function(){if(this.done)return this.EOF;var t,e,i,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var n=this._currentRules(),s=0;s<n.length;s++)if((i=this._input.match(this.rules[n[s]]))&&(!e||i[0].length>e[0].length)){if(e=i,a=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(i,n[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,n[a]))&&t:""===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.K2)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,o.K2)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,o.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,o.K2)(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.K2)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,o.K2)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,o.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,o.K2)(function(t,e,i,a){switch(i){case 0:case 1:case 3:break;case 2:return 55;case 4:return this.begin("title"),35;case 5:return this.popState(),"title_value";case 6:return this.begin("acc_title"),37;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),39;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 23:case 25:case 31:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:return 48;case 14:return 50;case 15:return 49;case 16:return 51;case 17:return 52;case 18:return 53;case 19:return 54;case 20:return 25;case 21:this.begin("md_string");break;case 22:return"MD_STR";case 24:this.begin("string");break;case 26:return"STR";case 27:this.begin("class_name");break;case 28:return this.popState(),47;case 29:return this.begin("point_start"),44;case 30:return this.begin("point_x"),45;case 32:this.popState(),this.begin("point_y");break;case 33:return this.popState(),46;case 34:return 28;case 35:return 4;case 36:return 11;case 37:return 64;case 38:return 10;case 39:case 40:return 65;case 41:return 14;case 42:return 13;case 43:return 67;case 44:return 66;case 45:return 12;case 46:return 8;case 47:return 5;case 48:return 18;case 49:return 56;case 50:return 63;case 51:return 57}},"anonymous"),rules:[/^(?:%%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n\r]+)/i,/^(?:%%[^\n]*)/i,/^(?:title\b)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?: *x-axis *)/i,/^(?: *y-axis *)/i,/^(?: *--+> *)/i,/^(?: *quadrant-1 *)/i,/^(?: *quadrant-2 *)/i,/^(?: *quadrant-3 *)/i,/^(?: *quadrant-4 *)/i,/^(?:classDef\b)/i,/^(?:["][`])/i,/^(?:[^`"]+)/i,/^(?:[`]["])/i,/^(?:["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?::::)/i,/^(?:^\w+)/i,/^(?:\s*:\s*\[\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?:\s*\] *)/i,/^(?:\s*,\s*)/i,/^(?:(1)|(0(.\d+)?))/i,/^(?: *quadrantChart *)/i,/^(?:[A-Za-z]+)/i,/^(?::)/i,/^(?:\+)/i,/^(?:,)/i,/^(?:=)/i,/^(?:=)/i,/^(?:\*)/i,/^(?:#)/i,/^(?:[\_])/i,/^(?:\.)/i,/^(?:&)/i,/^(?:-)/i,/^(?:[0-9]+)/i,/^(?:\s)/i,/^(?:;)/i,/^(?:[!"#$%&'*+,-.`?\\_/])/i,/^(?:$)/i],conditions:{class_name:{rules:[28],inclusive:!1},point_y:{rules:[33],inclusive:!1},point_x:{rules:[32],inclusive:!1},point_start:{rules:[30,31],inclusive:!1},acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},title:{rules:[5],inclusive:!1},md_string:{rules:[22,23],inclusive:!1},string:{rules:[25,26],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,6,8,10,13,14,15,16,17,18,19,20,21,24,27,29,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],inclusive:!0}}}}();function ft(){this.yy={}}return ut.lexer=xt,(0,o.K2)(ft,"Parser"),ft.prototype=ut,ut.Parser=ft,new ft}();h.parser=h;var c=h,d=(0,r.P$)(),u=(a=class{constructor(){this.classes=new Map,this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData()}getDefaultData(){return{titleText:"",quadrant1Text:"",quadrant2Text:"",quadrant3Text:"",quadrant4Text:"",xAxisLeftText:"",xAxisRightText:"",yAxisBottomText:"",yAxisTopText:"",points:[]}}getDefaultConfig(){var t,e,i,a,n,s,o,l,h,c,d,u,x,f,g,p,y,T;return{showXAxis:!0,showYAxis:!0,showTitle:!0,chartHeight:(null===(t=r.UI.quadrantChart)||void 0===t?void 0:t.chartWidth)||500,chartWidth:(null===(e=r.UI.quadrantChart)||void 0===e?void 0:e.chartHeight)||500,titlePadding:(null===(i=r.UI.quadrantChart)||void 0===i?void 0:i.titlePadding)||10,titleFontSize:(null===(a=r.UI.quadrantChart)||void 0===a?void 0:a.titleFontSize)||20,quadrantPadding:(null===(n=r.UI.quadrantChart)||void 0===n?void 0:n.quadrantPadding)||5,xAxisLabelPadding:(null===(s=r.UI.quadrantChart)||void 0===s?void 0:s.xAxisLabelPadding)||5,yAxisLabelPadding:(null===(o=r.UI.quadrantChart)||void 0===o?void 0:o.yAxisLabelPadding)||5,xAxisLabelFontSize:(null===(l=r.UI.quadrantChart)||void 0===l?void 0:l.xAxisLabelFontSize)||16,yAxisLabelFontSize:(null===(h=r.UI.quadrantChart)||void 0===h?void 0:h.yAxisLabelFontSize)||16,quadrantLabelFontSize:(null===(c=r.UI.quadrantChart)||void 0===c?void 0:c.quadrantLabelFontSize)||16,quadrantTextTopPadding:(null===(d=r.UI.quadrantChart)||void 0===d?void 0:d.quadrantTextTopPadding)||5,pointTextPadding:(null===(u=r.UI.quadrantChart)||void 0===u?void 0:u.pointTextPadding)||5,pointLabelFontSize:(null===(x=r.UI.quadrantChart)||void 0===x?void 0:x.pointLabelFontSize)||12,pointRadius:(null===(f=r.UI.quadrantChart)||void 0===f?void 0:f.pointRadius)||5,xAxisPosition:(null===(g=r.UI.quadrantChart)||void 0===g?void 0:g.xAxisPosition)||"top",yAxisPosition:(null===(p=r.UI.quadrantChart)||void 0===p?void 0:p.yAxisPosition)||"left",quadrantInternalBorderStrokeWidth:(null===(y=r.UI.quadrantChart)||void 0===y?void 0:y.quadrantInternalBorderStrokeWidth)||1,quadrantExternalBorderStrokeWidth:(null===(T=r.UI.quadrantChart)||void 0===T?void 0:T.quadrantExternalBorderStrokeWidth)||2}}getDefaultThemeConfig(){return{quadrant1Fill:d.quadrant1Fill,quadrant2Fill:d.quadrant2Fill,quadrant3Fill:d.quadrant3Fill,quadrant4Fill:d.quadrant4Fill,quadrant1TextFill:d.quadrant1TextFill,quadrant2TextFill:d.quadrant2TextFill,quadrant3TextFill:d.quadrant3TextFill,quadrant4TextFill:d.quadrant4TextFill,quadrantPointFill:d.quadrantPointFill,quadrantPointTextFill:d.quadrantPointTextFill,quadrantXAxisTextFill:d.quadrantXAxisTextFill,quadrantYAxisTextFill:d.quadrantYAxisTextFill,quadrantTitleFill:d.quadrantTitleFill,quadrantInternalBorderStrokeFill:d.quadrantInternalBorderStrokeFill,quadrantExternalBorderStrokeFill:d.quadrantExternalBorderStrokeFill}}clear(){this.config=this.getDefaultConfig(),this.themeConfig=this.getDefaultThemeConfig(),this.data=this.getDefaultData(),this.classes=new Map,o.Rm.info("clear called")}setData(t){this.data=(0,s.A)((0,s.A)({},this.data),t)}addPoints(t){this.data.points=[...t,...this.data.points]}addClass(t,e){this.classes.set(t,e)}setConfig(t){o.Rm.trace("setConfig called with: ",t),this.config=(0,s.A)((0,s.A)({},this.config),t)}setThemeConfig(t){o.Rm.trace("setThemeConfig called with: ",t),this.themeConfig=(0,s.A)((0,s.A)({},this.themeConfig),t)}calculateSpace(t,e,i,a){const n=2*this.config.xAxisLabelPadding+this.config.xAxisLabelFontSize,s={top:"top"===t&&e?n:0,bottom:"bottom"===t&&e?n:0},r=2*this.config.yAxisLabelPadding+this.config.yAxisLabelFontSize,o={left:"left"===this.config.yAxisPosition&&i?r:0,right:"right"===this.config.yAxisPosition&&i?r:0},l=this.config.titleFontSize+2*this.config.titlePadding,h={top:a?l:0},c=this.config.quadrantPadding+o.left,d=this.config.quadrantPadding+s.top+h.top,u=this.config.chartWidth-2*this.config.quadrantPadding-o.left-o.right,x=this.config.chartHeight-2*this.config.quadrantPadding-s.top-s.bottom-h.top;return{xAxisSpace:s,yAxisSpace:o,titleSpace:h,quadrantSpace:{quadrantLeft:c,quadrantTop:d,quadrantWidth:u,quadrantHalfWidth:u/2,quadrantHeight:x,quadrantHalfHeight:x/2}}}getAxisLabels(t,e,i,a){const{quadrantSpace:n,titleSpace:s}=a,{quadrantHalfHeight:r,quadrantHeight:o,quadrantLeft:l,quadrantHalfWidth:h,quadrantTop:c,quadrantWidth:d}=n,u=Boolean(this.data.xAxisRightText),x=Boolean(this.data.yAxisTopText),f=[];return this.data.xAxisLeftText&&e&&f.push({text:this.data.xAxisLeftText,fill:this.themeConfig.quadrantXAxisTextFill,x:l+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+c+o+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.xAxisRightText&&e&&f.push({text:this.data.xAxisRightText,fill:this.themeConfig.quadrantXAxisTextFill,x:l+h+(u?h/2:0),y:"top"===t?this.config.xAxisLabelPadding+s.top:this.config.xAxisLabelPadding+c+o+this.config.quadrantPadding,fontSize:this.config.xAxisLabelFontSize,verticalPos:u?"center":"left",horizontalPos:"top",rotation:0}),this.data.yAxisBottomText&&i&&f.push({text:this.data.yAxisBottomText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+l+d+this.config.quadrantPadding,y:c+o-(x?r/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:x?"center":"left",horizontalPos:"top",rotation:-90}),this.data.yAxisTopText&&i&&f.push({text:this.data.yAxisTopText,fill:this.themeConfig.quadrantYAxisTextFill,x:"left"===this.config.yAxisPosition?this.config.yAxisLabelPadding:this.config.yAxisLabelPadding+l+d+this.config.quadrantPadding,y:c+r-(x?r/2:0),fontSize:this.config.yAxisLabelFontSize,verticalPos:x?"center":"left",horizontalPos:"top",rotation:-90}),f}getQuadrants(t){const{quadrantSpace:e}=t,{quadrantHalfHeight:i,quadrantLeft:a,quadrantHalfWidth:n,quadrantTop:s}=e,r=[{text:{text:this.data.quadrant1Text,fill:this.themeConfig.quadrant1TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a+n,y:s,width:n,height:i,fill:this.themeConfig.quadrant1Fill},{text:{text:this.data.quadrant2Text,fill:this.themeConfig.quadrant2TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a,y:s,width:n,height:i,fill:this.themeConfig.quadrant2Fill},{text:{text:this.data.quadrant3Text,fill:this.themeConfig.quadrant3TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a,y:s+i,width:n,height:i,fill:this.themeConfig.quadrant3Fill},{text:{text:this.data.quadrant4Text,fill:this.themeConfig.quadrant4TextFill,x:0,y:0,fontSize:this.config.quadrantLabelFontSize,verticalPos:"center",horizontalPos:"middle",rotation:0},x:a+n,y:s+i,width:n,height:i,fill:this.themeConfig.quadrant4Fill}];for(const o of r)o.text.x=o.x+o.width/2,0===this.data.points.length?(o.text.y=o.y+o.height/2,o.text.horizontalPos="middle"):(o.text.y=o.y+this.config.quadrantTextTopPadding,o.text.horizontalPos="top");return r}getQuadrantPoints(t){const{quadrantSpace:e}=t,{quadrantHeight:i,quadrantLeft:a,quadrantTop:n,quadrantWidth:r}=e,o=(0,l.m4Y)().domain([0,1]).range([a,r+a]),h=(0,l.m4Y)().domain([0,1]).range([i+n,n]);return this.data.points.map(t=>{var e,i,a,n;const r=this.classes.get(t.className);r&&(t=(0,s.A)((0,s.A)({},r),t));return{x:o(t.x),y:h(t.y),fill:null!==(e=t.color)&&void 0!==e?e:this.themeConfig.quadrantPointFill,radius:null!==(i=t.radius)&&void 0!==i?i:this.config.pointRadius,text:{text:t.text,fill:this.themeConfig.quadrantPointTextFill,x:o(t.x),y:h(t.y)+this.config.pointTextPadding,verticalPos:"center",horizontalPos:"top",fontSize:this.config.pointLabelFontSize,rotation:0},strokeColor:null!==(a=t.strokeColor)&&void 0!==a?a:this.themeConfig.quadrantPointFill,strokeWidth:null!==(n=t.strokeWidth)&&void 0!==n?n:"0px"}})}getBorders(t){const e=this.config.quadrantExternalBorderStrokeWidth/2,{quadrantSpace:i}=t,{quadrantHalfHeight:a,quadrantHeight:n,quadrantLeft:s,quadrantHalfWidth:r,quadrantTop:o,quadrantWidth:l}=i;return[{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-e,y1:o,x2:s+l+e,y2:o},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s+l,y1:o+e,x2:s+l,y2:o+n-e},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s-e,y1:o+n,x2:s+l+e,y2:o+n},{strokeFill:this.themeConfig.quadrantExternalBorderStrokeFill,strokeWidth:this.config.quadrantExternalBorderStrokeWidth,x1:s,y1:o+e,x2:s,y2:o+n-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+r,y1:o+e,x2:s+r,y2:o+n-e},{strokeFill:this.themeConfig.quadrantInternalBorderStrokeFill,strokeWidth:this.config.quadrantInternalBorderStrokeWidth,x1:s+e,y1:o+a,x2:s+l-e,y2:o+a}]}getTitle(t){if(t)return{text:this.data.titleText,fill:this.themeConfig.quadrantTitleFill,fontSize:this.config.titleFontSize,horizontalPos:"top",verticalPos:"center",rotation:0,y:this.config.titlePadding,x:this.config.chartWidth/2}}build(){const t=this.config.showXAxis&&!(!this.data.xAxisLeftText&&!this.data.xAxisRightText),e=this.config.showYAxis&&!(!this.data.yAxisTopText&&!this.data.yAxisBottomText),i=this.config.showTitle&&!!this.data.titleText,a=this.data.points.length>0?"bottom":this.config.xAxisPosition,n=this.calculateSpace(a,t,e,i);return{points:this.getQuadrantPoints(n),quadrants:this.getQuadrants(n),axisLabels:this.getAxisLabels(a,t,e,n),borderLines:this.getBorders(n),title:this.getTitle(i)}}},(0,o.K2)(a,"QuadrantBuilder"),a),x=(n=class extends Error{constructor(t,e,i){super("value for ".concat(t," ").concat(e," is invalid, please use a valid ").concat(i)),this.name="InvalidStyleError"}},(0,o.K2)(n,"InvalidStyleError"),n);function f(t){return!/^#?([\dA-Fa-f]{6}|[\dA-Fa-f]{3})$/.test(t)}function g(t){return!/^\d+$/.test(t)}function p(t){return!/^\d+px$/.test(t)}(0,o.K2)(f,"validateHexCode"),(0,o.K2)(g,"validateNumber"),(0,o.K2)(p,"validateSizeInPixels");var y=(0,r.D7)();function T(t){return(0,r.jZ)(t.trim(),y)}(0,o.K2)(T,"textSanitizer");var m=new u;function q(t){m.setData({quadrant1Text:T(t.text)})}function A(t){m.setData({quadrant2Text:T(t.text)})}function _(t){m.setData({quadrant3Text:T(t.text)})}function b(t){m.setData({quadrant4Text:T(t.text)})}function S(t){m.setData({xAxisLeftText:T(t.text)})}function k(t){m.setData({xAxisRightText:T(t.text)})}function v(t){m.setData({yAxisTopText:T(t.text)})}function F(t){m.setData({yAxisBottomText:T(t.text)})}function P(t){const e={};for(const i of t){const[t,a]=i.trim().split(/\s*:\s*/);if("radius"===t){if(g(a))throw new x(t,a,"number");e.radius=parseInt(a)}else if("color"===t){if(f(a))throw new x(t,a,"hex code");e.color=a}else if("stroke-color"===t){if(f(a))throw new x(t,a,"hex code");e.strokeColor=a}else{if("stroke-width"!==t)throw new Error("style named ".concat(t," is not supported."));if(p(a))throw new x(t,a,"number of pixels (eg. 10px)");e.strokeWidth=a}}return e}function C(t,e,i,a,n){const r=P(n);m.addPoints([(0,s.A)({x:i,y:a,text:T(t.text),className:e},r)])}function L(t,e){m.addClass(t,P(e))}function I(t){m.setConfig({chartWidth:t})}function E(t){m.setConfig({chartHeight:t})}function D(){const t=(0,r.D7)(),{themeVariables:e,quadrantChart:i}=t;return i&&m.setConfig(i),m.setThemeConfig({quadrant1Fill:e.quadrant1Fill,quadrant2Fill:e.quadrant2Fill,quadrant3Fill:e.quadrant3Fill,quadrant4Fill:e.quadrant4Fill,quadrant1TextFill:e.quadrant1TextFill,quadrant2TextFill:e.quadrant2TextFill,quadrant3TextFill:e.quadrant3TextFill,quadrant4TextFill:e.quadrant4TextFill,quadrantPointFill:e.quadrantPointFill,quadrantPointTextFill:e.quadrantPointTextFill,quadrantXAxisTextFill:e.quadrantXAxisTextFill,quadrantYAxisTextFill:e.quadrantYAxisTextFill,quadrantExternalBorderStrokeFill:e.quadrantExternalBorderStrokeFill,quadrantInternalBorderStrokeFill:e.quadrantInternalBorderStrokeFill,quadrantTitleFill:e.quadrantTitleFill}),m.setData({titleText:(0,r.ab)()}),m.build()}(0,o.K2)(q,"setQuadrant1Text"),(0,o.K2)(A,"setQuadrant2Text"),(0,o.K2)(_,"setQuadrant3Text"),(0,o.K2)(b,"setQuadrant4Text"),(0,o.K2)(S,"setXAxisLeftText"),(0,o.K2)(k,"setXAxisRightText"),(0,o.K2)(v,"setYAxisTopText"),(0,o.K2)(F,"setYAxisBottomText"),(0,o.K2)(P,"parseStyles"),(0,o.K2)(C,"addPoint"),(0,o.K2)(L,"addClass"),(0,o.K2)(I,"setWidth"),(0,o.K2)(E,"setHeight"),(0,o.K2)(D,"getQuadrantData");var z={parser:c,db:{setWidth:I,setHeight:E,setQuadrant1Text:q,setQuadrant2Text:A,setQuadrant3Text:_,setQuadrant4Text:b,setXAxisLeftText:S,setXAxisRightText:k,setYAxisTopText:v,setYAxisBottomText:F,parseStyles:P,addPoint:C,addClass:L,getQuadrantData:D,clear:(0,o.K2)(function(){m.clear(),(0,r.IU)()},"clear"),setAccTitle:r.SV,getAccTitle:r.iN,setDiagramTitle:r.ke,getDiagramTitle:r.ab,getAccDescription:r.m7,setAccDescription:r.EI},renderer:{draw:(0,o.K2)((t,e,i,a)=>{var n,s,h,c,d,u;function x(t){return"top"===t?"hanging":"middle"}function f(t){return"left"===t?"start":"middle"}function g(t){return"translate(".concat(t.x,", ").concat(t.y,") rotate(").concat(t.rotation||0,")")}(0,o.K2)(x,"getDominantBaseLine"),(0,o.K2)(f,"getTextAnchor"),(0,o.K2)(g,"getTransformation");const p=(0,r.D7)();o.Rm.debug("Rendering quadrant chart\n"+t);const y=p.securityLevel;let T;"sandbox"===y&&(T=(0,l.Ltv)("#i"+e));const m=("sandbox"===y?(0,l.Ltv)(T.nodes()[0].contentDocument.body):(0,l.Ltv)("body")).select('[id="'.concat(e,'"]')),q=m.append("g").attr("class","main"),A=null!==(n=null===(s=p.quadrantChart)||void 0===s?void 0:s.chartWidth)&&void 0!==n?n:500,_=null!==(h=null===(c=p.quadrantChart)||void 0===c?void 0:c.chartHeight)&&void 0!==h?h:500;(0,r.a$)(m,_,A,null===(d=null===(u=p.quadrantChart)||void 0===u?void 0:u.useMaxWidth)||void 0===d||d),m.attr("viewBox","0 0 "+A+" "+_),a.db.setHeight(_),a.db.setWidth(A);const b=a.db.getQuadrantData(),S=q.append("g").attr("class","quadrants"),k=q.append("g").attr("class","border"),v=q.append("g").attr("class","data-points"),F=q.append("g").attr("class","labels"),P=q.append("g").attr("class","title");b.title&&P.append("text").attr("x",0).attr("y",0).attr("fill",b.title.fill).attr("font-size",b.title.fontSize).attr("dominant-baseline",x(b.title.horizontalPos)).attr("text-anchor",f(b.title.verticalPos)).attr("transform",g(b.title)).text(b.title.text),b.borderLines&&k.selectAll("line").data(b.borderLines).enter().append("line").attr("x1",t=>t.x1).attr("y1",t=>t.y1).attr("x2",t=>t.x2).attr("y2",t=>t.y2).style("stroke",t=>t.strokeFill).style("stroke-width",t=>t.strokeWidth);const C=S.selectAll("g.quadrant").data(b.quadrants).enter().append("g").attr("class","quadrant");C.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),C.append("text").attr("x",0).attr("y",0).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>x(t.text.horizontalPos)).attr("text-anchor",t=>f(t.text.verticalPos)).attr("transform",t=>g(t.text)).text(t=>t.text.text);F.selectAll("g.label").data(b.axisLabels).enter().append("g").attr("class","label").append("text").attr("x",0).attr("y",0).text(t=>t.text).attr("fill",t=>t.fill).attr("font-size",t=>t.fontSize).attr("dominant-baseline",t=>x(t.horizontalPos)).attr("text-anchor",t=>f(t.verticalPos)).attr("transform",t=>g(t));const L=v.selectAll("g.data-point").data(b.points).enter().append("g").attr("class","data-point");L.append("circle").attr("cx",t=>t.x).attr("cy",t=>t.y).attr("r",t=>t.radius).attr("fill",t=>t.fill).attr("stroke",t=>t.strokeColor).attr("stroke-width",t=>t.strokeWidth),L.append("text").attr("x",0).attr("y",0).text(t=>t.text.text).attr("fill",t=>t.text.fill).attr("font-size",t=>t.text.fontSize).attr("dominant-baseline",t=>x(t.text.horizontalPos)).attr("text-anchor",t=>f(t.text.verticalPos)).attr("transform",t=>g(t.text))},"draw")},styles:(0,o.K2)(()=>"","styles")}}}]);
2
+ //# sourceMappingURL=443.22ceec26.chunk.js.map
build/static/js/443.22ceec26.chunk.js.map ADDED
The diff for this file is too large to render. See raw diff
 
build/static/js/455.fe3cb828.chunk.js ADDED
The diff for this file is too large to render. See raw diff
 
build/static/js/455.fe3cb828.chunk.js.map ADDED
The diff for this file is too large to render. See raw diff
 
build/static/js/456.79490857.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[456],{41075(t,e,n){n.d(e,{diagram:()=>X});var i=n(44344),a=n(53272),s=n(45420),r=n(32748),o=n(68973),c=function(){var t=(0,r.K2)(function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},"o"),e=[6,8,10,11,12,14,16,17,18],n=[1,9],i=[1,10],a=[1,11],s=[1,12],o=[1,13],c=[1,14],l={trace:(0,r.K2)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,journey:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NEWLINE:10,title:11,acc_title:12,acc_title_value:13,acc_descr:14,acc_descr_value:15,acc_descr_multiline_value:16,section:17,taskName:18,taskData:19,$accept:0,$end:1},terminals_:{2:"error",4:"journey",6:"EOF",8:"SPACE",10:"NEWLINE",11:"title",12:"acc_title",13:"acc_title_value",14:"acc_descr",15:"acc_descr_value",16:"acc_descr_multiline_value",17:"section",18:"taskName",19:"taskData"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,2]],performAction:(0,r.K2)(function(t,e,n,i,a,s,r){var o=s.length-1;switch(a){case 1:return s[o-1];case 2:case 6:case 7:this.$=[];break;case 3:s[o-1].push(s[o]),this.$=s[o-1];break;case 4:case 5:this.$=s[o];break;case 8:i.setDiagramTitle(s[o].substr(6)),this.$=s[o].substr(6);break;case 9:this.$=s[o].trim(),i.setAccTitle(this.$);break;case 10:case 11:this.$=s[o].trim(),i.setAccDescription(this.$);break;case 12:i.addSection(s[o].substr(8)),this.$=s[o].substr(8);break;case 13:i.addTask(s[o-1],s[o]),this.$="task"}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:n,12:i,14:a,16:s,17:o,18:c},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:15,11:n,12:i,14:a,16:s,17:o,18:c},t(e,[2,5]),t(e,[2,6]),t(e,[2,8]),{13:[1,16]},{15:[1,17]},t(e,[2,11]),t(e,[2,12]),{19:[1,18]},t(e,[2,4]),t(e,[2,9]),t(e,[2,10]),t(e,[2,13])],defaultActions:{},parseError:(0,r.K2)(function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},"parseError"),parse:(0,r.K2)(function(t){var e=this,n=[0],i=[],a=[null],s=[],o=this.table,c="",l=0,h=0,u=0,y=s.slice.call(arguments,1),p=Object.create(this.lexer),d={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(d.yy[f]=this.yy[f]);p.setInput(t,d.yy),d.yy.lexer=p,d.yy.parser=this,"undefined"==typeof p.yylloc&&(p.yylloc={});var g=p.yylloc;s.push(g);var x=p.options&&p.options.ranges;function m(){var t;return"number"!==typeof(t=i.pop()||p.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"===typeof d.yy.parseError?this.parseError=d.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,r.K2)(function(t){n.length=n.length-2*t,a.length=a.length-t,s.length=s.length-t},"popStack"),(0,r.K2)(m,"lex");for(var k,b,_,w,v,K,T,M,S,C={};;){if(_=n[n.length-1],this.defaultActions[_]?w=this.defaultActions[_]:(null!==k&&"undefined"!=typeof k||(k=m()),w=o[_]&&o[_][k]),"undefined"===typeof w||!w.length||!w[0]){var E="";for(K in S=[],o[_])this.terminals_[K]&&K>2&&S.push("'"+this.terminals_[K]+"'");E=p.showPosition?"Parse error on line "+(l+1)+":\n"+p.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[k]||k)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==k?"end of input":"'"+(this.terminals_[k]||k)+"'"),this.parseError(E,{text:p.match,token:this.terminals_[k]||k,line:p.yylineno,loc:g,expected:S})}if(w[0]instanceof Array&&w.length>1)throw new Error("Parse Error: multiple actions possible at state: "+_+", token: "+k);switch(w[0]){case 1:n.push(k),a.push(p.yytext),s.push(p.yylloc),n.push(w[1]),k=null,b?(k=b,b=null):(h=p.yyleng,c=p.yytext,l=p.yylineno,g=p.yylloc,u>0&&u--);break;case 2:if(T=this.productions_[w[1]][1],C.$=a[a.length-T],C._$={first_line:s[s.length-(T||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(T||1)].first_column,last_column:s[s.length-1].last_column},x&&(C._$.range=[s[s.length-(T||1)].range[0],s[s.length-1].range[1]]),"undefined"!==typeof(v=this.performAction.apply(C,[c,h,l,d.yy,w[1],a,s].concat(y))))return v;T&&(n=n.slice(0,-1*T*2),a=a.slice(0,-1*T),s=s.slice(0,-1*T)),n.push(this.productions_[w[1]][0]),a.push(C.$),s.push(C._$),M=o[n[n.length-2]][n[n.length-1]],n.push(M);break;case 3:return!0}}return!0},"parse")},h=function(){return{EOF:1,parseError:(0,r.K2)(function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},"parseError"),setInput:(0,r.K2)(function(t,e){return this.yy=e||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,r.K2)(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,r.K2)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;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),n.length-1&&(this.yylineno-=n.length-1);var a=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:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,r.K2)(function(){return this._more=!0,this},"more"),reject:(0,r.K2)(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.K2)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,r.K2)(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,r.K2)(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,r.K2)(function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,r.K2)(function(t,e){var n,i,a;if(this.options.backtrack_lexer&&(a={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&&(a.yylloc.range=this.yylloc.range.slice(0))),(i=t[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+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],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var s in a)this[s]=a[s];return!1}return!1},"test_match"),next:(0,r.K2)(function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var a=this._currentRules(),s=0;s<a.length;s++)if((n=this._input.match(this.rules[a[s]]))&&(!e||n[0].length>e[0].length)){if(e=n,i=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,a[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,a[i]))&&t:""===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.K2)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,r.K2)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,r.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,r.K2)(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.K2)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,r.K2)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,r.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,r.K2)(function(t,e,n,i){switch(n){case 0:case 1:case 3:case 4:break;case 2:return 10;case 5:return 4;case 6:return 11;case 7:return this.begin("acc_title"),12;case 8:return this.popState(),"acc_title_value";case 9:return this.begin("acc_descr"),14;case 10:return this.popState(),"acc_descr_value";case 11:this.begin("acc_descr_multiline");break;case 12:this.popState();break;case 13:return"acc_descr_multiline_value";case 14:return 17;case 15:return 18;case 16:return 19;case 17:return":";case 18:return 6;case 19:return"INVALID"}},"anonymous"),rules:[/^(?:%(?!\{)[^\n]*)/i,/^(?:[^\}]%%[^\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:#[^\n]*)/i,/^(?:journey\b)/i,/^(?:title\s[^#\n;]+)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:section\s[^#:\n;]+)/i,/^(?:[^#:\n;]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[12,13],inclusive:!1},acc_descr:{rules:[10],inclusive:!1},acc_title:{rules:[8],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,7,9,11,14,15,16,17,18,19],inclusive:!0}}}}();function u(){this.yy={}}return l.lexer=h,(0,r.K2)(u,"Parser"),u.prototype=l,l.Parser=u,new u}();c.parser=c;var l=c,h="",u=[],y=[],p=[],d=(0,r.K2)(function(){u.length=0,y.length=0,h="",p.length=0,(0,s.IU)()},"clear"),f=(0,r.K2)(function(t){h=t,u.push(t)},"addSection"),g=(0,r.K2)(function(){return u},"getSections"),x=(0,r.K2)(function(){let t=_();let e=0;for(;!t&&e<100;)t=_(),e++;return y.push(...p),y},"getTasks"),m=(0,r.K2)(function(){const t=[];y.forEach(e=>{e.people&&t.push(...e.people)});return[...new Set(t)].sort()},"updateActors"),k=(0,r.K2)(function(t,e){const n=e.substr(1).split(":");let i=0,a=[];1===n.length?(i=Number(n[0]),a=[]):(i=Number(n[0]),a=n[1].split(","));const s=a.map(t=>t.trim()),r={section:h,type:h,people:s,task:t,score:i};p.push(r)},"addTask"),b=(0,r.K2)(function(t){const e={section:h,type:h,description:t,task:t,classes:[]};y.push(e)},"addTaskOrg"),_=(0,r.K2)(function(){const t=(0,r.K2)(function(t){return p[t].processed},"compileTask");let e=!0;for(const[n,i]of p.entries())t(n),e=e&&i.processed;return e},"compileTasks"),w=(0,r.K2)(function(){return m()},"getActors"),v={getConfig:(0,r.K2)(()=>(0,s.D7)().journey,"getConfig"),clear:d,setDiagramTitle:s.ke,getDiagramTitle:s.ab,setAccTitle:s.SV,getAccTitle:s.iN,setAccDescription:s.EI,getAccDescription:s.m7,addSection:f,getSections:g,getTasks:x,addTask:k,addTaskOrg:b,getActors:w},K=(0,r.K2)(t=>".label {\n font-family: ".concat(t.fontFamily,";\n color: ").concat(t.textColor,";\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ").concat(t.textColor,"\n }\n\n .legend {\n fill: ").concat(t.textColor,";\n font-family: ").concat(t.fontFamily,";\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ").concat(t.textColor,"\n }\n\n .face {\n ").concat(t.faceColor?"fill: ".concat(t.faceColor):"fill: #FFF8DC",";\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ").concat(t.mainBkg,";\n stroke: ").concat(t.nodeBorder,";\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ").concat(t.arrowheadColor,";\n }\n\n .edgePath .path {\n stroke: ").concat(t.lineColor,";\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ").concat(t.lineColor,";\n fill: none;\n }\n\n .edgeLabel {\n background-color: ").concat(t.edgeLabelBackground,";\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ").concat(t.titleColor,";\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ").concat(t.fontFamily,";\n font-size: 12px;\n background: ").concat(t.tertiaryColor,";\n border: 1px solid ").concat(t.border2,";\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType0):"",";\n }\n .task-type-1, .section-type-1 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType1):"",";\n }\n .task-type-2, .section-type-2 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType2):"",";\n }\n .task-type-3, .section-type-3 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType3):"",";\n }\n .task-type-4, .section-type-4 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType4):"",";\n }\n .task-type-5, .section-type-5 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType5):"",";\n }\n .task-type-6, .section-type-6 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType6):"",";\n }\n .task-type-7, .section-type-7 {\n ").concat(t.fillType0?"fill: ".concat(t.fillType7):"",";\n }\n\n .actor-0 {\n ").concat(t.actor0?"fill: ".concat(t.actor0):"",";\n }\n .actor-1 {\n ").concat(t.actor1?"fill: ".concat(t.actor1):"",";\n }\n .actor-2 {\n ").concat(t.actor2?"fill: ".concat(t.actor2):"",";\n }\n .actor-3 {\n ").concat(t.actor3?"fill: ".concat(t.actor3):"",";\n }\n .actor-4 {\n ").concat(t.actor4?"fill: ".concat(t.actor4):"",";\n }\n .actor-5 {\n ").concat(t.actor5?"fill: ".concat(t.actor5):"",";\n }\n ").concat((0,i.o)(),"\n"),"getStyles"),T=(0,r.K2)(function(t,e){return(0,a.tk)(t,e)},"drawRect"),M=(0,r.K2)(function(t,e){const n=15,i=t.append("circle").attr("cx",e.cx).attr("cy",e.cy).attr("class","face").attr("r",n).attr("stroke-width",2).attr("overflow","visible"),a=t.append("g");function s(t){const i=(0,o.JLW)().startAngle(Math.PI/2).endAngle(Math.PI/2*3).innerRadius(7.5).outerRadius(n/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+2)+")")}function c(t){const i=(0,o.JLW)().startAngle(3*Math.PI/2).endAngle(Math.PI/2*5).innerRadius(7.5).outerRadius(n/2.2);t.append("path").attr("class","mouth").attr("d",i).attr("transform","translate("+e.cx+","+(e.cy+7)+")")}function l(t){t.append("line").attr("class","mouth").attr("stroke",2).attr("x1",e.cx-5).attr("y1",e.cy+7).attr("x2",e.cx+5).attr("y2",e.cy+7).attr("class","mouth").attr("stroke-width","1px").attr("stroke","#666")}return a.append("circle").attr("cx",e.cx-5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),a.append("circle").attr("cx",e.cx+5).attr("cy",e.cy-5).attr("r",1.5).attr("stroke-width",2).attr("fill","#666").attr("stroke","#666"),(0,r.K2)(s,"smile"),(0,r.K2)(c,"sad"),(0,r.K2)(l,"ambivalent"),e.score>3?s(a):e.score<3?c(a):l(a),i},"drawFace"),S=(0,r.K2)(function(t,e){const n=t.append("circle");return n.attr("cx",e.cx),n.attr("cy",e.cy),n.attr("class","actor-"+e.pos),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("r",e.r),void 0!==n.class&&n.attr("class",n.class),void 0!==e.title&&n.append("title").text(e.title),n},"drawCircle"),C=(0,r.K2)(function(t,e){return(0,a.m)(t,e)},"drawText"),E=(0,r.K2)(function(t,e){function n(t,e,n,i,a){return t+","+e+" "+(t+n)+","+e+" "+(t+n)+","+(e+i-a)+" "+(t+n-1.2*a)+","+(e+i)+" "+t+","+(e+i)}(0,r.K2)(n,"genPoints");const i=t.append("polygon");i.attr("points",n(e.x,e.y,50,20,7)),i.attr("class","labelBox"),e.y=e.y+e.labelMargin,e.x=e.x+.5*e.labelMargin,C(t,e)},"drawLabel"),I=(0,r.K2)(function(t,e,n){const i=t.append("g"),s=(0,a.PB)();s.x=e.x,s.y=e.y,s.fill=e.fill,s.width=n.width*e.taskCount+n.diagramMarginX*(e.taskCount-1),s.height=n.height,s.class="journey-section section-type-"+e.num,s.rx=3,s.ry=3,T(i,s),L(n)(e.text,i,s.x,s.y,s.width,s.height,{class:"journey-section section-type-"+e.num},n,e.colour)},"drawSection"),P=-1,A=(0,r.K2)(function(t,e,n,i){const s=e.x+n.width/2,r=t.append("g");P++;r.append("line").attr("id",i+"-task"+P).attr("x1",s).attr("y1",e.y).attr("x2",s).attr("y2",450).attr("class","task-line").attr("stroke-width","1px").attr("stroke-dasharray","4 2").attr("stroke","#666"),M(r,{cx:s,cy:300+30*(5-e.score),score:e.score});const o=(0,a.PB)();o.x=e.x,o.y=e.y,o.fill=e.fill,o.width=n.width,o.height=n.height,o.class="task task-type-"+e.num,o.rx=3,o.ry=3,T(r,o);let c=e.x+14;e.people.forEach(t=>{const n=e.actors[t].color,i={cx:c,cy:e.y,r:7,fill:n,stroke:"#000",title:t,pos:e.actors[t].position};S(r,i),c+=10}),L(n)(e.task,r,o.x,o.y,o.width,o.height,{class:"task"},n,e.colour)},"drawTask"),j=(0,r.K2)(function(t,e){(0,a.lC)(t,e)},"drawBackgroundRect"),L=function(){function t(t,e,n,a,s,r,o,c){i(e.append("text").attr("x",n+s/2).attr("y",a+r/2+5).style("font-color",c).style("text-anchor","middle").text(t),o)}function e(t,e,n,a,s,r,o,c,l){const{taskFontSize:h,taskFontFamily:u}=c,y=t.split(/<br\s*\/?>/gi);for(let p=0;p<y.length;p++){const t=p*h-h*(y.length-1)/2,c=e.append("text").attr("x",n+s/2).attr("y",a).attr("fill",l).style("text-anchor","middle").style("font-size",h).style("font-family",u);c.append("tspan").attr("x",n+s/2).attr("dy",t).text(y[p]),c.attr("y",a+r/2).attr("dominant-baseline","central").attr("alignment-baseline","central"),i(c,o)}}function n(t,n,a,s,r,o,c,l){const h=n.append("switch"),u=h.append("foreignObject").attr("x",a).attr("y",s).attr("width",r).attr("height",o).attr("position","fixed").append("xhtml:div").style("display","table").style("height","100%").style("width","100%");u.append("div").attr("class","label").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,a,s,r,o,c,l),i(u,c)}function i(t,e){for(const n in e)n in e&&t.attr(n,e[n])}return(0,r.K2)(t,"byText"),(0,r.K2)(e,"byTspan"),(0,r.K2)(n,"byFo"),(0,r.K2)(i,"_setTextAttrs"),function(i){return"fo"===i.textPlacement?n:"old"===i.textPlacement?t:e}}(),B={drawRect:T,drawCircle:S,drawSection:I,drawText:C,drawLabel:E,drawTask:A,drawBackgroundRect:j,initGraphics:(0,r.K2)(function(t,e){P=-1,t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",5).attr("refY",2).attr("markerWidth",6).attr("markerHeight",4).attr("orient","auto").append("path").attr("d","M 0,0 V 4 L6,2 Z")},"initGraphics")},F=(0,r.K2)(function(t){Object.keys(t).forEach(function(e){$[e]=t[e]})},"setConf"),D={},V=0;function R(t){const e=(0,s.D7)().journey,n=e.maxLabelWidth;V=0;let i=60;Object.keys(D).forEach(a=>{const s=D[a].color,r={cx:20,cy:i,r:7,fill:s,stroke:"#000",pos:D[a].position};B.drawCircle(t,r);let o=t.append("text").attr("visibility","hidden").text(a);const c=o.node().getBoundingClientRect().width;o.remove();let l=[];if(c<=n)l=[a];else{const e=a.split(" ");let i="";o=t.append("text").attr("visibility","hidden"),e.forEach(t=>{const e=i?"".concat(i," ").concat(t):t;o.text(e);if(o.node().getBoundingClientRect().width>n){if(i&&l.push(i),i=t,o.text(t),o.node().getBoundingClientRect().width>n){let e="";for(const i of t)e+=i,o.text(e+"-"),o.node().getBoundingClientRect().width>n&&(l.push(e.slice(0,-1)+"-"),e=i);i=e}}else i=e}),i&&l.push(i),o.remove()}l.forEach((n,a)=>{var s;const r={x:40,y:i+7+20*a,fill:"#666",text:n,textMargin:null!==(s=e.boxTextMargin)&&void 0!==s?s:5},o=B.drawText(t,r).node().getBoundingClientRect().width;o>V&&o>e.leftMargin-o&&(V=o)}),i+=Math.max(20,20*l.length)})}(0,r.K2)(R,"drawActorLegend");var $=(0,s.D7)().journey,O=0,N=(0,r.K2)(function(t,e,n,i){const a=(0,s.D7)(),r=a.journey.titleColor,c=a.journey.titleFontSize,l=a.journey.titleFontFamily,h=a.securityLevel;let u;"sandbox"===h&&(u=(0,o.Ltv)("#i"+e));const y="sandbox"===h?(0,o.Ltv)(u.nodes()[0].contentDocument.body):(0,o.Ltv)("body");z.init();const p=y.select("#"+e);B.initGraphics(p,e);const d=i.db.getTasks(),f=i.db.getDiagramTitle(),g=i.db.getActors();for(const s in D)delete D[s];let x=0;g.forEach(t=>{D[t]={color:$.actorColours[x%$.actorColours.length],position:x},x++}),R(p),O=$.leftMargin+V,z.insert(0,0,O,50*Object.keys(D).length),q(p,d,0,e);const m=z.getBounds();f&&p.append("text").text(f).attr("x",O).attr("font-size",c).attr("font-weight","bold").attr("y",25).attr("fill",r).attr("font-family",l);const k=m.stopy-m.starty+2*$.diagramMarginY,b=O+m.stopx+2*$.diagramMarginX;(0,s.a$)(p,k,b,$.useMaxWidth),p.append("line").attr("x1",O).attr("y1",4*$.height).attr("x2",b-O-4).attr("y2",4*$.height).attr("stroke-width",4).attr("stroke","black").attr("marker-end","url(#"+e+"-arrowhead)");const _=f?70:0;p.attr("viewBox","".concat(m.startx," -25 ").concat(b," ").concat(k+_)),p.attr("preserveAspectRatio","xMinYMin meet"),p.attr("height",k+_+25)},"draw"),z={data:{startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},verticalPos:0,sequenceItems:[],init:(0,r.K2)(function(){this.sequenceItems=[],this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0},this.verticalPos=0},"init"),updateVal:(0,r.K2)(function(t,e,n,i){void 0===t[e]?t[e]=n:t[e]=i(n,t[e])},"updateVal"),updateBounds:(0,r.K2)(function(t,e,n,i){const a=(0,s.D7)().journey,o=this;let c=0;function l(s){return(0,r.K2)(function(r){c++;const l=o.sequenceItems.length-c+1;o.updateVal(r,"starty",e-l*a.boxMargin,Math.min),o.updateVal(r,"stopy",i+l*a.boxMargin,Math.max),o.updateVal(z.data,"startx",t-l*a.boxMargin,Math.min),o.updateVal(z.data,"stopx",n+l*a.boxMargin,Math.max),"activation"!==s&&(o.updateVal(r,"startx",t-l*a.boxMargin,Math.min),o.updateVal(r,"stopx",n+l*a.boxMargin,Math.max),o.updateVal(z.data,"starty",e-l*a.boxMargin,Math.min),o.updateVal(z.data,"stopy",i+l*a.boxMargin,Math.max))},"updateItemBounds")}(0,r.K2)(l,"updateFn"),this.sequenceItems.forEach(l())},"updateBounds"),insert:(0,r.K2)(function(t,e,n,i){const a=Math.min(t,n),s=Math.max(t,n),r=Math.min(e,i),o=Math.max(e,i);this.updateVal(z.data,"startx",a,Math.min),this.updateVal(z.data,"starty",r,Math.min),this.updateVal(z.data,"stopx",s,Math.max),this.updateVal(z.data,"stopy",o,Math.max),this.updateBounds(a,r,s,o)},"insert"),bumpVerticalPos:(0,r.K2)(function(t){this.verticalPos=this.verticalPos+t,this.data.stopy=this.verticalPos},"bumpVerticalPos"),getVerticalPos:(0,r.K2)(function(){return this.verticalPos},"getVerticalPos"),getBounds:(0,r.K2)(function(){return this.data},"getBounds")},W=$.sectionFills,Y=$.sectionColours,q=(0,r.K2)(function(t,e,n,i){const a=(0,s.D7)().journey;let r="";const o=n+(2*a.height+a.diagramMarginY);let c=0,l="#CCC",h="black",u=0;for(const[s,y]of e.entries()){if(r!==y.section){l=W[c%W.length],u=c%W.length,h=Y[c%Y.length];let n=0;const i=y.section;for(let t=s;t<e.length&&e[t].section==i;t++)n+=1;const o={x:s*a.taskMargin+s*a.width+O,y:50,text:y.section,fill:l,num:u,colour:h,taskCount:n};B.drawSection(t,o,a),r=y.section,c++}const n=y.people.reduce((t,e)=>(D[e]&&(t[e]=D[e]),t),{});y.x=s*a.taskMargin+s*a.width+O,y.y=o,y.width=a.diagramMarginX,y.height=a.diagramMarginY,y.colour=h,y.fill=l,y.num=u,y.actors=n,B.drawTask(t,y,a,i),z.insert(y.x,y.y,y.x+y.width+a.taskMargin,450)}},"drawTasks"),J={setConf:F,draw:N},X={parser:l,db:v,renderer:J,styles:K,init:(0,r.K2)(t=>{J.setConf(t.journey),v.clear()},"init")}},44344(t,e,n){n.d(e,{o:()=>i});var i=(0,n(32748).K2)(()=>"\n /* Font Awesome icon styling - consolidated */\n .label-icon {\n display: inline-block;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n }\n \n .node .label-icon path {\n fill: currentColor;\n stroke: revert;\n stroke-width: revert;\n }\n","getIconStyles")},53272(t,e,n){n.d(e,{CP:()=>u,Ck:()=>d,HT:()=>p,PB:()=>y,aC:()=>h,lC:()=>c,m:()=>l,tk:()=>o});var i=n(45420),a=n(32748),s=n(73755),r=n(68973),o=(0,a.K2)((t,e)=>{const n=t.append("rect");if(n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),e.name&&n.attr("name",e.name),e.rx&&n.attr("rx",e.rx),e.ry&&n.attr("ry",e.ry),void 0!==e.attrs)for(const i in e.attrs)n.attr(i,e.attrs[i]);return e.class&&n.attr("class",e.class),n},"drawRect"),c=(0,a.K2)((t,e)=>{const n={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};o(t,n).lower()},"drawBackgroundRect"),l=(0,a.K2)((t,e)=>{const n=e.text.replace(i.H1," "),a=t.append("text");a.attr("x",e.x),a.attr("y",e.y),a.attr("class","legend"),a.style("text-anchor",e.anchor),e.class&&a.attr("class",e.class);const s=a.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.text(n),a},"drawText"),h=(0,a.K2)((t,e,n,i)=>{const a=t.append("image");a.attr("x",e),a.attr("y",n);const r=(0,s.J)(i);a.attr("xlink:href",r)},"drawImage"),u=(0,a.K2)((t,e,n,i)=>{const a=t.append("use");a.attr("x",e),a.attr("y",n);const r=(0,s.J)(i);a.attr("xlink:href","#".concat(r))},"drawEmbeddedImage"),y=(0,a.K2)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),p=(0,a.K2)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),d=(0,a.K2)(()=>{let t=(0,r.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,r.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")}}]);
2
+ //# sourceMappingURL=456.79490857.chunk.js.map
build/static/js/456.79490857.chunk.js.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"static/js/456.79490857.chunk.js","mappings":"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","sources":["../node_modules/mermaid/dist/chunks/mermaid.core/journeyDiagram-VCZTEJTY.mjs","../node_modules/mermaid/dist/chunks/mermaid.core/chunk-FMBD7UC4.mjs","../node_modules/mermaid/dist/chunks/mermaid.core/chunk-YZCP3GAM.mjs"],"sourcesContent":["import {\n getIconStyles\n} from \"./chunk-FMBD7UC4.mjs\";\nimport {\n drawBackgroundRect,\n drawRect,\n drawText,\n getNoteRect\n} from \"./chunk-YZCP3GAM.mjs\";\nimport {\n clear,\n configureSvgSize,\n getAccDescription,\n getAccTitle,\n getConfig2 as getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-ICPOFSXX.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/user-journey/parser/journey.jison\nvar parser = (function() {\n var o = /* @__PURE__ */ __name(function(k, v, o2, l) {\n for (o2 = o2 || {}, l = k.length; l--; o2[k[l]] = v) ;\n return o2;\n }, \"o\"), $V0 = [6, 8, 10, 11, 12, 14, 16, 17, 18], $V1 = [1, 9], $V2 = [1, 10], $V3 = [1, 11], $V4 = [1, 12], $V5 = [1, 13], $V6 = [1, 14];\n var parser2 = {\n trace: /* @__PURE__ */ __name(function trace() {\n }, \"trace\"),\n yy: {},\n symbols_: { \"error\": 2, \"start\": 3, \"journey\": 4, \"document\": 5, \"EOF\": 6, \"line\": 7, \"SPACE\": 8, \"statement\": 9, \"NEWLINE\": 10, \"title\": 11, \"acc_title\": 12, \"acc_title_value\": 13, \"acc_descr\": 14, \"acc_descr_value\": 15, \"acc_descr_multiline_value\": 16, \"section\": 17, \"taskName\": 18, \"taskData\": 19, \"$accept\": 0, \"$end\": 1 },\n terminals_: { 2: \"error\", 4: \"journey\", 6: \"EOF\", 8: \"SPACE\", 10: \"NEWLINE\", 11: \"title\", 12: \"acc_title\", 13: \"acc_title_value\", 14: \"acc_descr\", 15: \"acc_descr_value\", 16: \"acc_descr_multiline_value\", 17: \"section\", 18: \"taskName\", 19: \"taskData\" },\n productions_: [0, [3, 3], [5, 0], [5, 2], [7, 2], [7, 1], [7, 1], [7, 1], [9, 1], [9, 2], [9, 2], [9, 1], [9, 1], [9, 2]],\n performAction: /* @__PURE__ */ __name(function anonymous(yytext, yyleng, yylineno, yy, yystate, $$, _$) {\n var $0 = $$.length - 1;\n switch (yystate) {\n case 1:\n return $$[$0 - 1];\n break;\n case 2:\n this.$ = [];\n break;\n case 3:\n $$[$0 - 1].push($$[$0]);\n this.$ = $$[$0 - 1];\n break;\n case 4:\n case 5:\n this.$ = $$[$0];\n break;\n case 6:\n case 7:\n this.$ = [];\n break;\n case 8:\n yy.setDiagramTitle($$[$0].substr(6));\n this.$ = $$[$0].substr(6);\n break;\n case 9:\n this.$ = $$[$0].trim();\n yy.setAccTitle(this.$);\n break;\n case 10:\n case 11:\n this.$ = $$[$0].trim();\n yy.setAccDescription(this.$);\n break;\n case 12:\n yy.addSection($$[$0].substr(8));\n this.$ = $$[$0].substr(8);\n break;\n case 13:\n yy.addTask($$[$0 - 1], $$[$0]);\n this.$ = \"task\";\n break;\n }\n }, \"anonymous\"),\n table: [{ 3: 1, 4: [1, 2] }, { 1: [3] }, o($V0, [2, 2], { 5: 3 }), { 6: [1, 4], 7: 5, 8: [1, 6], 9: 7, 10: [1, 8], 11: $V1, 12: $V2, 14: $V3, 16: $V4, 17: $V5, 18: $V6 }, o($V0, [2, 7], { 1: [2, 1] }), o($V0, [2, 3]), { 9: 15, 11: $V1, 12: $V2, 14: $V3, 16: $V4, 17: $V5, 18: $V6 }, o($V0, [2, 5]), o($V0, [2, 6]), o($V0, [2, 8]), { 13: [1, 16] }, { 15: [1, 17] }, o($V0, [2, 11]), o($V0, [2, 12]), { 19: [1, 18] }, o($V0, [2, 4]), o($V0, [2, 9]), o($V0, [2, 10]), o($V0, [2, 13])],\n defaultActions: {},\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (hash.recoverable) {\n this.trace(str);\n } else {\n var error = new Error(str);\n error.hash = hash;\n throw error;\n }\n }, \"parseError\"),\n parse: /* @__PURE__ */ __name(function parse(input) {\n var self = this, stack = [0], tstack = [], vstack = [null], lstack = [], table = this.table, yytext = \"\", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;\n var args = lstack.slice.call(arguments, 1);\n var lexer2 = Object.create(this.lexer);\n var sharedState = { yy: {} };\n for (var k in this.yy) {\n if (Object.prototype.hasOwnProperty.call(this.yy, k)) {\n sharedState.yy[k] = this.yy[k];\n }\n }\n lexer2.setInput(input, sharedState.yy);\n sharedState.yy.lexer = lexer2;\n sharedState.yy.parser = this;\n if (typeof lexer2.yylloc == \"undefined\") {\n lexer2.yylloc = {};\n }\n var yyloc = lexer2.yylloc;\n lstack.push(yyloc);\n var ranges = lexer2.options && lexer2.options.ranges;\n if (typeof sharedState.yy.parseError === \"function\") {\n this.parseError = sharedState.yy.parseError;\n } else {\n this.parseError = Object.getPrototypeOf(this).parseError;\n }\n function popStack(n) {\n stack.length = stack.length - 2 * n;\n vstack.length = vstack.length - n;\n lstack.length = lstack.length - n;\n }\n __name(popStack, \"popStack\");\n function lex() {\n var token;\n token = tstack.pop() || lexer2.lex() || EOF;\n if (typeof token !== \"number\") {\n if (token instanceof Array) {\n tstack = token;\n token = tstack.pop();\n }\n token = self.symbols_[token] || token;\n }\n return token;\n }\n __name(lex, \"lex\");\n var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;\n while (true) {\n state = stack[stack.length - 1];\n if (this.defaultActions[state]) {\n action = this.defaultActions[state];\n } else {\n if (symbol === null || typeof symbol == \"undefined\") {\n symbol = lex();\n }\n action = table[state] && table[state][symbol];\n }\n if (typeof action === \"undefined\" || !action.length || !action[0]) {\n var errStr = \"\";\n expected = [];\n for (p in table[state]) {\n if (this.terminals_[p] && p > TERROR) {\n expected.push(\"'\" + this.terminals_[p] + \"'\");\n }\n }\n if (lexer2.showPosition) {\n errStr = \"Parse error on line \" + (yylineno + 1) + \":\\n\" + lexer2.showPosition() + \"\\nExpecting \" + expected.join(\", \") + \", got '\" + (this.terminals_[symbol] || symbol) + \"'\";\n } else {\n errStr = \"Parse error on line \" + (yylineno + 1) + \": Unexpected \" + (symbol == EOF ? \"end of input\" : \"'\" + (this.terminals_[symbol] || symbol) + \"'\");\n }\n this.parseError(errStr, {\n text: lexer2.match,\n token: this.terminals_[symbol] || symbol,\n line: lexer2.yylineno,\n loc: yyloc,\n expected\n });\n }\n if (action[0] instanceof Array && action.length > 1) {\n throw new Error(\"Parse Error: multiple actions possible at state: \" + state + \", token: \" + symbol);\n }\n switch (action[0]) {\n case 1:\n stack.push(symbol);\n vstack.push(lexer2.yytext);\n lstack.push(lexer2.yylloc);\n stack.push(action[1]);\n symbol = null;\n if (!preErrorSymbol) {\n yyleng = lexer2.yyleng;\n yytext = lexer2.yytext;\n yylineno = lexer2.yylineno;\n yyloc = lexer2.yylloc;\n if (recovering > 0) {\n recovering--;\n }\n } else {\n symbol = preErrorSymbol;\n preErrorSymbol = null;\n }\n break;\n case 2:\n len = this.productions_[action[1]][1];\n yyval.$ = vstack[vstack.length - len];\n yyval._$ = {\n first_line: lstack[lstack.length - (len || 1)].first_line,\n last_line: lstack[lstack.length - 1].last_line,\n first_column: lstack[lstack.length - (len || 1)].first_column,\n last_column: lstack[lstack.length - 1].last_column\n };\n if (ranges) {\n yyval._$.range = [\n lstack[lstack.length - (len || 1)].range[0],\n lstack[lstack.length - 1].range[1]\n ];\n }\n r = this.performAction.apply(yyval, [\n yytext,\n yyleng,\n yylineno,\n sharedState.yy,\n action[1],\n vstack,\n lstack\n ].concat(args));\n if (typeof r !== \"undefined\") {\n return r;\n }\n if (len) {\n stack = stack.slice(0, -1 * len * 2);\n vstack = vstack.slice(0, -1 * len);\n lstack = lstack.slice(0, -1 * len);\n }\n stack.push(this.productions_[action[1]][0]);\n vstack.push(yyval.$);\n lstack.push(yyval._$);\n newState = table[stack[stack.length - 2]][stack[stack.length - 1]];\n stack.push(newState);\n break;\n case 3:\n return true;\n }\n }\n return true;\n }, \"parse\")\n };\n var lexer = /* @__PURE__ */ (function() {\n var lexer2 = {\n EOF: 1,\n parseError: /* @__PURE__ */ __name(function parseError(str, hash) {\n if (this.yy.parser) {\n this.yy.parser.parseError(str, hash);\n } else {\n throw new Error(str);\n }\n }, \"parseError\"),\n // resets the lexer, sets new input\n setInput: /* @__PURE__ */ __name(function(input, yy) {\n this.yy = yy || this.yy || {};\n this._input = input;\n this._more = this._backtrack = this.done = false;\n this.yylineno = this.yyleng = 0;\n this.yytext = this.matched = this.match = \"\";\n this.conditionStack = [\"INITIAL\"];\n this.yylloc = {\n first_line: 1,\n first_column: 0,\n last_line: 1,\n last_column: 0\n };\n if (this.options.ranges) {\n this.yylloc.range = [0, 0];\n }\n this.offset = 0;\n return this;\n }, \"setInput\"),\n // consumes and returns one char from the input\n input: /* @__PURE__ */ __name(function() {\n var ch = this._input[0];\n this.yytext += ch;\n this.yyleng++;\n this.offset++;\n this.match += ch;\n this.matched += ch;\n var lines = ch.match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno++;\n this.yylloc.last_line++;\n } else {\n this.yylloc.last_column++;\n }\n if (this.options.ranges) {\n this.yylloc.range[1]++;\n }\n this._input = this._input.slice(1);\n return ch;\n }, \"input\"),\n // unshifts one char (or a string) into the input\n unput: /* @__PURE__ */ __name(function(ch) {\n var len = ch.length;\n var lines = ch.split(/(?:\\r\\n?|\\n)/g);\n this._input = ch + this._input;\n this.yytext = this.yytext.substr(0, this.yytext.length - len);\n this.offset -= len;\n var oldLines = this.match.split(/(?:\\r\\n?|\\n)/g);\n this.match = this.match.substr(0, this.match.length - 1);\n this.matched = this.matched.substr(0, this.matched.length - 1);\n if (lines.length - 1) {\n this.yylineno -= lines.length - 1;\n }\n var r = this.yylloc.range;\n this.yylloc = {\n first_line: this.yylloc.first_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.first_column,\n last_column: lines ? (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length : this.yylloc.first_column - len\n };\n if (this.options.ranges) {\n this.yylloc.range = [r[0], r[0] + this.yyleng - len];\n }\n this.yyleng = this.yytext.length;\n return this;\n }, \"unput\"),\n // When called from action, caches matched text and appends it on next action\n more: /* @__PURE__ */ __name(function() {\n this._more = true;\n return this;\n }, \"more\"),\n // When called from action, signals the lexer that this rule fails to match the input, so the next matching rule (regex) should be tested instead.\n reject: /* @__PURE__ */ __name(function() {\n if (this.options.backtrack_lexer) {\n this._backtrack = true;\n } else {\n return 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(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n return this;\n }, \"reject\"),\n // retain first n characters of the match\n less: /* @__PURE__ */ __name(function(n) {\n this.unput(this.match.slice(n));\n }, \"less\"),\n // displays already matched input, i.e. for error messages\n pastInput: /* @__PURE__ */ __name(function() {\n var past = this.matched.substr(0, this.matched.length - this.match.length);\n return (past.length > 20 ? \"...\" : \"\") + past.substr(-20).replace(/\\n/g, \"\");\n }, \"pastInput\"),\n // displays upcoming input, i.e. for error messages\n upcomingInput: /* @__PURE__ */ __name(function() {\n var next = this.match;\n if (next.length < 20) {\n next += this._input.substr(0, 20 - next.length);\n }\n return (next.substr(0, 20) + (next.length > 20 ? \"...\" : \"\")).replace(/\\n/g, \"\");\n }, \"upcomingInput\"),\n // displays the character position where the lexing error occurred, i.e. for error messages\n showPosition: /* @__PURE__ */ __name(function() {\n var pre = this.pastInput();\n var c = new Array(pre.length + 1).join(\"-\");\n return pre + this.upcomingInput() + \"\\n\" + c + \"^\";\n }, \"showPosition\"),\n // test the lexed token: return FALSE when not a match, otherwise return token\n test_match: /* @__PURE__ */ __name(function(match, indexed_rule) {\n var token, lines, backup;\n if (this.options.backtrack_lexer) {\n backup = {\n yylineno: this.yylineno,\n yylloc: {\n first_line: this.yylloc.first_line,\n last_line: this.last_line,\n first_column: this.yylloc.first_column,\n last_column: this.yylloc.last_column\n },\n yytext: this.yytext,\n match: this.match,\n matches: this.matches,\n matched: this.matched,\n yyleng: this.yyleng,\n offset: this.offset,\n _more: this._more,\n _input: this._input,\n yy: this.yy,\n conditionStack: this.conditionStack.slice(0),\n done: this.done\n };\n if (this.options.ranges) {\n backup.yylloc.range = this.yylloc.range.slice(0);\n }\n }\n lines = match[0].match(/(?:\\r\\n?|\\n).*/g);\n if (lines) {\n this.yylineno += lines.length;\n }\n this.yylloc = {\n first_line: this.yylloc.last_line,\n last_line: this.yylineno + 1,\n first_column: this.yylloc.last_column,\n last_column: lines ? lines[lines.length - 1].length - lines[lines.length - 1].match(/\\r?\\n?/)[0].length : this.yylloc.last_column + match[0].length\n };\n this.yytext += match[0];\n this.match += match[0];\n this.matches = match;\n this.yyleng = this.yytext.length;\n if (this.options.ranges) {\n this.yylloc.range = [this.offset, this.offset += this.yyleng];\n }\n this._more = false;\n this._backtrack = false;\n this._input = this._input.slice(match[0].length);\n this.matched += match[0];\n token = this.performAction.call(this, this.yy, this, indexed_rule, this.conditionStack[this.conditionStack.length - 1]);\n if (this.done && this._input) {\n this.done = false;\n }\n if (token) {\n return token;\n } else if (this._backtrack) {\n for (var k in backup) {\n this[k] = backup[k];\n }\n return false;\n }\n return false;\n }, \"test_match\"),\n // return next match in input\n next: /* @__PURE__ */ __name(function() {\n if (this.done) {\n return this.EOF;\n }\n if (!this._input) {\n this.done = true;\n }\n var token, match, tempMatch, index;\n if (!this._more) {\n this.yytext = \"\";\n this.match = \"\";\n }\n var rules = this._currentRules();\n for (var i = 0; i < rules.length; i++) {\n tempMatch = this._input.match(this.rules[rules[i]]);\n if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {\n match = tempMatch;\n index = i;\n if (this.options.backtrack_lexer) {\n token = this.test_match(tempMatch, rules[i]);\n if (token !== false) {\n return token;\n } else if (this._backtrack) {\n match = false;\n continue;\n } else {\n return false;\n }\n } else if (!this.options.flex) {\n break;\n }\n }\n }\n if (match) {\n token = this.test_match(match, rules[index]);\n if (token !== false) {\n return token;\n }\n return false;\n }\n if (this._input === \"\") {\n return this.EOF;\n } else {\n return this.parseError(\"Lexical error on line \" + (this.yylineno + 1) + \". Unrecognized text.\\n\" + this.showPosition(), {\n text: \"\",\n token: null,\n line: this.yylineno\n });\n }\n }, \"next\"),\n // return next match that has a token\n lex: /* @__PURE__ */ __name(function lex() {\n var r = this.next();\n if (r) {\n return r;\n } else {\n return this.lex();\n }\n }, \"lex\"),\n // activates a new lexer condition state (pushes the new lexer condition state onto the condition stack)\n begin: /* @__PURE__ */ __name(function begin(condition) {\n this.conditionStack.push(condition);\n }, \"begin\"),\n // pop the previously active lexer condition state off the condition stack\n popState: /* @__PURE__ */ __name(function popState() {\n var n = this.conditionStack.length - 1;\n if (n > 0) {\n return this.conditionStack.pop();\n } else {\n return this.conditionStack[0];\n }\n }, \"popState\"),\n // produce the lexer rule set which is active for the currently active lexer condition state\n _currentRules: /* @__PURE__ */ __name(function _currentRules() {\n if (this.conditionStack.length && this.conditionStack[this.conditionStack.length - 1]) {\n return this.conditions[this.conditionStack[this.conditionStack.length - 1]].rules;\n } else {\n return this.conditions[\"INITIAL\"].rules;\n }\n }, \"_currentRules\"),\n // return the currently active lexer condition state; when an index argument is provided it produces the N-th previous condition state, if available\n topState: /* @__PURE__ */ __name(function topState(n) {\n n = this.conditionStack.length - 1 - Math.abs(n || 0);\n if (n >= 0) {\n return this.conditionStack[n];\n } else {\n return \"INITIAL\";\n }\n }, \"topState\"),\n // alias for begin(condition)\n pushState: /* @__PURE__ */ __name(function pushState(condition) {\n this.begin(condition);\n }, \"pushState\"),\n // return the number of states currently on the stack\n stateStackSize: /* @__PURE__ */ __name(function stateStackSize() {\n return this.conditionStack.length;\n }, \"stateStackSize\"),\n options: { \"case-insensitive\": true },\n performAction: /* @__PURE__ */ __name(function anonymous(yy, yy_, $avoiding_name_collisions, YY_START) {\n var YYSTATE = YY_START;\n switch ($avoiding_name_collisions) {\n case 0:\n break;\n case 1:\n break;\n case 2:\n return 10;\n break;\n case 3:\n break;\n case 4:\n break;\n case 5:\n return 4;\n break;\n case 6:\n return 11;\n break;\n case 7:\n this.begin(\"acc_title\");\n return 12;\n break;\n case 8:\n this.popState();\n return \"acc_title_value\";\n break;\n case 9:\n this.begin(\"acc_descr\");\n return 14;\n break;\n case 10:\n this.popState();\n return \"acc_descr_value\";\n break;\n case 11:\n this.begin(\"acc_descr_multiline\");\n break;\n case 12:\n this.popState();\n break;\n case 13:\n return \"acc_descr_multiline_value\";\n break;\n case 14:\n return 17;\n break;\n case 15:\n return 18;\n break;\n case 16:\n return 19;\n break;\n case 17:\n return \":\";\n break;\n case 18:\n return 6;\n break;\n case 19:\n return \"INVALID\";\n break;\n }\n }, \"anonymous\"),\n rules: [/^(?:%(?!\\{)[^\\n]*)/i, /^(?:[^\\}]%%[^\\n]*)/i, /^(?:[\\n]+)/i, /^(?:\\s+)/i, /^(?:#[^\\n]*)/i, /^(?:journey\\b)/i, /^(?:title\\s[^#\\n;]+)/i, /^(?:accTitle\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*:\\s*)/i, /^(?:(?!\\n||)*[^\\n]*)/i, /^(?:accDescr\\s*\\{\\s*)/i, /^(?:[\\}])/i, /^(?:[^\\}]*)/i, /^(?:section\\s[^#:\\n;]+)/i, /^(?:[^#:\\n;]+)/i, /^(?::[^#\\n;]+)/i, /^(?::)/i, /^(?:$)/i, /^(?:.)/i],\n conditions: { \"acc_descr_multiline\": { \"rules\": [12, 13], \"inclusive\": false }, \"acc_descr\": { \"rules\": [10], \"inclusive\": false }, \"acc_title\": { \"rules\": [8], \"inclusive\": false }, \"INITIAL\": { \"rules\": [0, 1, 2, 3, 4, 5, 6, 7, 9, 11, 14, 15, 16, 17, 18, 19], \"inclusive\": true } }\n };\n return lexer2;\n })();\n parser2.lexer = lexer;\n function Parser() {\n this.yy = {};\n }\n __name(Parser, \"Parser\");\n Parser.prototype = parser2;\n parser2.Parser = Parser;\n return new Parser();\n})();\nparser.parser = parser;\nvar journey_default = parser;\n\n// src/diagrams/user-journey/journeyDb.js\nvar currentSection = \"\";\nvar sections = [];\nvar tasks = [];\nvar rawTasks = [];\nvar clear2 = /* @__PURE__ */ __name(function() {\n sections.length = 0;\n tasks.length = 0;\n currentSection = \"\";\n rawTasks.length = 0;\n clear();\n}, \"clear\");\nvar addSection = /* @__PURE__ */ __name(function(txt) {\n currentSection = txt;\n sections.push(txt);\n}, \"addSection\");\nvar getSections = /* @__PURE__ */ __name(function() {\n return sections;\n}, \"getSections\");\nvar getTasks = /* @__PURE__ */ __name(function() {\n let allItemsProcessed = compileTasks();\n const maxDepth = 100;\n let iterationCount = 0;\n while (!allItemsProcessed && iterationCount < maxDepth) {\n allItemsProcessed = compileTasks();\n iterationCount++;\n }\n tasks.push(...rawTasks);\n return tasks;\n}, \"getTasks\");\nvar updateActors = /* @__PURE__ */ __name(function() {\n const tempActors = [];\n tasks.forEach((task) => {\n if (task.people) {\n tempActors.push(...task.people);\n }\n });\n const unique = new Set(tempActors);\n return [...unique].sort();\n}, \"updateActors\");\nvar addTask = /* @__PURE__ */ __name(function(descr, taskData) {\n const pieces = taskData.substr(1).split(\":\");\n let score = 0;\n let peeps = [];\n if (pieces.length === 1) {\n score = Number(pieces[0]);\n peeps = [];\n } else {\n score = Number(pieces[0]);\n peeps = pieces[1].split(\",\");\n }\n const peopleList = peeps.map((s) => s.trim());\n const rawTask = {\n section: currentSection,\n type: currentSection,\n people: peopleList,\n task: descr,\n score\n };\n rawTasks.push(rawTask);\n}, \"addTask\");\nvar addTaskOrg = /* @__PURE__ */ __name(function(descr) {\n const newTask = {\n section: currentSection,\n type: currentSection,\n description: descr,\n task: descr,\n classes: []\n };\n tasks.push(newTask);\n}, \"addTaskOrg\");\nvar compileTasks = /* @__PURE__ */ __name(function() {\n const compileTask = /* @__PURE__ */ __name(function(pos) {\n return rawTasks[pos].processed;\n }, \"compileTask\");\n let allProcessed = true;\n for (const [i, rawTask] of rawTasks.entries()) {\n compileTask(i);\n allProcessed = allProcessed && rawTask.processed;\n }\n return allProcessed;\n}, \"compileTasks\");\nvar getActors = /* @__PURE__ */ __name(function() {\n return updateActors();\n}, \"getActors\");\nvar journeyDb_default = {\n getConfig: /* @__PURE__ */ __name(() => getConfig().journey, \"getConfig\"),\n clear: clear2,\n setDiagramTitle,\n getDiagramTitle,\n setAccTitle,\n getAccTitle,\n setAccDescription,\n getAccDescription,\n addSection,\n getSections,\n getTasks,\n addTask,\n addTaskOrg,\n getActors\n};\n\n// src/diagrams/user-journey/styles.js\nvar getStyles = /* @__PURE__ */ __name((options) => `.label {\n font-family: ${options.fontFamily};\n color: ${options.textColor};\n }\n .mouth {\n stroke: #666;\n }\n\n line {\n stroke: ${options.textColor}\n }\n\n .legend {\n fill: ${options.textColor};\n font-family: ${options.fontFamily};\n }\n\n .label text {\n fill: #333;\n }\n .label {\n color: ${options.textColor}\n }\n\n .face {\n ${options.faceColor ? `fill: ${options.faceColor}` : \"fill: #FFF8DC\"};\n stroke: #999;\n }\n\n .node rect,\n .node circle,\n .node ellipse,\n .node polygon,\n .node path {\n fill: ${options.mainBkg};\n stroke: ${options.nodeBorder};\n stroke-width: 1px;\n }\n\n .node .label {\n text-align: center;\n }\n .node.clickable {\n cursor: pointer;\n }\n\n .arrowheadPath {\n fill: ${options.arrowheadColor};\n }\n\n .edgePath .path {\n stroke: ${options.lineColor};\n stroke-width: 1.5px;\n }\n\n .flowchart-link {\n stroke: ${options.lineColor};\n fill: none;\n }\n\n .edgeLabel {\n background-color: ${options.edgeLabelBackground};\n rect {\n opacity: 0.5;\n }\n text-align: center;\n }\n\n .cluster rect {\n }\n\n .cluster text {\n fill: ${options.titleColor};\n }\n\n div.mermaidTooltip {\n position: absolute;\n text-align: center;\n max-width: 200px;\n padding: 2px;\n font-family: ${options.fontFamily};\n font-size: 12px;\n background: ${options.tertiaryColor};\n border: 1px solid ${options.border2};\n border-radius: 2px;\n pointer-events: none;\n z-index: 100;\n }\n\n .task-type-0, .section-type-0 {\n ${options.fillType0 ? `fill: ${options.fillType0}` : \"\"};\n }\n .task-type-1, .section-type-1 {\n ${options.fillType0 ? `fill: ${options.fillType1}` : \"\"};\n }\n .task-type-2, .section-type-2 {\n ${options.fillType0 ? `fill: ${options.fillType2}` : \"\"};\n }\n .task-type-3, .section-type-3 {\n ${options.fillType0 ? `fill: ${options.fillType3}` : \"\"};\n }\n .task-type-4, .section-type-4 {\n ${options.fillType0 ? `fill: ${options.fillType4}` : \"\"};\n }\n .task-type-5, .section-type-5 {\n ${options.fillType0 ? `fill: ${options.fillType5}` : \"\"};\n }\n .task-type-6, .section-type-6 {\n ${options.fillType0 ? `fill: ${options.fillType6}` : \"\"};\n }\n .task-type-7, .section-type-7 {\n ${options.fillType0 ? `fill: ${options.fillType7}` : \"\"};\n }\n\n .actor-0 {\n ${options.actor0 ? `fill: ${options.actor0}` : \"\"};\n }\n .actor-1 {\n ${options.actor1 ? `fill: ${options.actor1}` : \"\"};\n }\n .actor-2 {\n ${options.actor2 ? `fill: ${options.actor2}` : \"\"};\n }\n .actor-3 {\n ${options.actor3 ? `fill: ${options.actor3}` : \"\"};\n }\n .actor-4 {\n ${options.actor4 ? `fill: ${options.actor4}` : \"\"};\n }\n .actor-5 {\n ${options.actor5 ? `fill: ${options.actor5}` : \"\"};\n }\n ${getIconStyles()}\n`, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/user-journey/journeyRenderer.ts\nimport { select } from \"d3\";\n\n// src/diagrams/user-journey/svgDraw.js\nimport { arc as d3arc } from \"d3\";\nvar drawRect2 = /* @__PURE__ */ __name(function(elem, rectData) {\n return drawRect(elem, rectData);\n}, \"drawRect\");\nvar drawFace = /* @__PURE__ */ __name(function(element, faceData) {\n const radius = 15;\n const circleElement = element.append(\"circle\").attr(\"cx\", faceData.cx).attr(\"cy\", faceData.cy).attr(\"class\", \"face\").attr(\"r\", radius).attr(\"stroke-width\", 2).attr(\"overflow\", \"visible\");\n const face = element.append(\"g\");\n face.append(\"circle\").attr(\"cx\", faceData.cx - radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n face.append(\"circle\").attr(\"cx\", faceData.cx + radius / 3).attr(\"cy\", faceData.cy - radius / 3).attr(\"r\", 1.5).attr(\"stroke-width\", 2).attr(\"fill\", \"#666\").attr(\"stroke\", \"#666\");\n function smile(face2) {\n const arc = d3arc().startAngle(Math.PI / 2).endAngle(3 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 2) + \")\");\n }\n __name(smile, \"smile\");\n function sad(face2) {\n const arc = d3arc().startAngle(3 * Math.PI / 2).endAngle(5 * (Math.PI / 2)).innerRadius(radius / 2).outerRadius(radius / 2.2);\n face2.append(\"path\").attr(\"class\", \"mouth\").attr(\"d\", arc).attr(\"transform\", \"translate(\" + faceData.cx + \",\" + (faceData.cy + 7) + \")\");\n }\n __name(sad, \"sad\");\n function ambivalent(face2) {\n face2.append(\"line\").attr(\"class\", \"mouth\").attr(\"stroke\", 2).attr(\"x1\", faceData.cx - 5).attr(\"y1\", faceData.cy + 7).attr(\"x2\", faceData.cx + 5).attr(\"y2\", faceData.cy + 7).attr(\"class\", \"mouth\").attr(\"stroke-width\", \"1px\").attr(\"stroke\", \"#666\");\n }\n __name(ambivalent, \"ambivalent\");\n if (faceData.score > 3) {\n smile(face);\n } else if (faceData.score < 3) {\n sad(face);\n } else {\n ambivalent(face);\n }\n return circleElement;\n}, \"drawFace\");\nvar drawCircle = /* @__PURE__ */ __name(function(element, circleData) {\n const circleElement = element.append(\"circle\");\n circleElement.attr(\"cx\", circleData.cx);\n circleElement.attr(\"cy\", circleData.cy);\n circleElement.attr(\"class\", \"actor-\" + circleData.pos);\n circleElement.attr(\"fill\", circleData.fill);\n circleElement.attr(\"stroke\", circleData.stroke);\n circleElement.attr(\"r\", circleData.r);\n if (circleElement.class !== void 0) {\n circleElement.attr(\"class\", circleElement.class);\n }\n if (circleData.title !== void 0) {\n circleElement.append(\"title\").text(circleData.title);\n }\n return circleElement;\n}, \"drawCircle\");\nvar drawText2 = /* @__PURE__ */ __name(function(elem, textData) {\n return drawText(elem, textData);\n}, \"drawText\");\nvar drawLabel = /* @__PURE__ */ __name(function(elem, txtObject) {\n function genPoints(x, y, width, height, cut) {\n return x + \",\" + y + \" \" + (x + width) + \",\" + y + \" \" + (x + width) + \",\" + (y + height - cut) + \" \" + (x + width - cut * 1.2) + \",\" + (y + height) + \" \" + x + \",\" + (y + height);\n }\n __name(genPoints, \"genPoints\");\n const polygon = elem.append(\"polygon\");\n polygon.attr(\"points\", genPoints(txtObject.x, txtObject.y, 50, 20, 7));\n polygon.attr(\"class\", \"labelBox\");\n txtObject.y = txtObject.y + txtObject.labelMargin;\n txtObject.x = txtObject.x + 0.5 * txtObject.labelMargin;\n drawText2(elem, txtObject);\n}, \"drawLabel\");\nvar drawSection = /* @__PURE__ */ __name(function(elem, section, conf2) {\n const g = elem.append(\"g\");\n const rect = getNoteRect();\n rect.x = section.x;\n rect.y = section.y;\n rect.fill = section.fill;\n rect.width = conf2.width * section.taskCount + // width of the tasks\n conf2.diagramMarginX * (section.taskCount - 1);\n rect.height = conf2.height;\n rect.class = \"journey-section section-type-\" + section.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect2(g, rect);\n _drawTextCandidateFunc(conf2)(\n section.text,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"journey-section section-type-\" + section.num },\n conf2,\n section.colour\n );\n}, \"drawSection\");\nvar taskCount = -1;\nvar drawTask = /* @__PURE__ */ __name(function(elem, task, conf2, diagramId) {\n const center = task.x + conf2.width / 2;\n const g = elem.append(\"g\");\n taskCount++;\n const maxHeight = 300 + 5 * 30;\n g.append(\"line\").attr(\"id\", diagramId + \"-task\" + taskCount).attr(\"x1\", center).attr(\"y1\", task.y).attr(\"x2\", center).attr(\"y2\", maxHeight).attr(\"class\", \"task-line\").attr(\"stroke-width\", \"1px\").attr(\"stroke-dasharray\", \"4 2\").attr(\"stroke\", \"#666\");\n drawFace(g, {\n cx: center,\n cy: 300 + (5 - task.score) * 30,\n score: task.score\n });\n const rect = getNoteRect();\n rect.x = task.x;\n rect.y = task.y;\n rect.fill = task.fill;\n rect.width = conf2.width;\n rect.height = conf2.height;\n rect.class = \"task task-type-\" + task.num;\n rect.rx = 3;\n rect.ry = 3;\n drawRect2(g, rect);\n let xPos = task.x + 14;\n task.people.forEach((person) => {\n const colour = task.actors[person].color;\n const circle = {\n cx: xPos,\n cy: task.y,\n r: 7,\n fill: colour,\n stroke: \"#000\",\n title: person,\n pos: task.actors[person].position\n };\n drawCircle(g, circle);\n xPos += 10;\n });\n _drawTextCandidateFunc(conf2)(\n task.task,\n g,\n rect.x,\n rect.y,\n rect.width,\n rect.height,\n { class: \"task\" },\n conf2,\n task.colour\n );\n}, \"drawTask\");\nvar drawBackgroundRect2 = /* @__PURE__ */ __name(function(elem, bounds2) {\n drawBackgroundRect(elem, bounds2);\n}, \"drawBackgroundRect\");\nvar _drawTextCandidateFunc = /* @__PURE__ */ (function() {\n function byText(content, g, x, y, width, height, textAttrs, colour) {\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y + height / 2 + 5).style(\"font-color\", colour).style(\"text-anchor\", \"middle\").text(content);\n _setTextAttrs(text, textAttrs);\n }\n __name(byText, \"byText\");\n function byTspan(content, g, x, y, width, height, textAttrs, conf2, colour) {\n const { taskFontSize, taskFontFamily } = conf2;\n const lines = content.split(/<br\\s*\\/?>/gi);\n for (let i = 0; i < lines.length; i++) {\n const dy = i * taskFontSize - taskFontSize * (lines.length - 1) / 2;\n const text = g.append(\"text\").attr(\"x\", x + width / 2).attr(\"y\", y).attr(\"fill\", colour).style(\"text-anchor\", \"middle\").style(\"font-size\", taskFontSize).style(\"font-family\", taskFontFamily);\n text.append(\"tspan\").attr(\"x\", x + width / 2).attr(\"dy\", dy).text(lines[i]);\n text.attr(\"y\", y + height / 2).attr(\"dominant-baseline\", \"central\").attr(\"alignment-baseline\", \"central\");\n _setTextAttrs(text, textAttrs);\n }\n }\n __name(byTspan, \"byTspan\");\n function byFo(content, g, x, y, width, height, textAttrs, conf2) {\n const body = g.append(\"switch\");\n const f = body.append(\"foreignObject\").attr(\"x\", x).attr(\"y\", y).attr(\"width\", width).attr(\"height\", height).attr(\"position\", \"fixed\");\n const text = f.append(\"xhtml:div\").style(\"display\", \"table\").style(\"height\", \"100%\").style(\"width\", \"100%\");\n text.append(\"div\").attr(\"class\", \"label\").style(\"display\", \"table-cell\").style(\"text-align\", \"center\").style(\"vertical-align\", \"middle\").text(content);\n byTspan(content, body, x, y, width, height, textAttrs, conf2);\n _setTextAttrs(text, textAttrs);\n }\n __name(byFo, \"byFo\");\n function _setTextAttrs(toText, fromTextAttrsDict) {\n for (const key in fromTextAttrsDict) {\n if (key in fromTextAttrsDict) {\n toText.attr(key, fromTextAttrsDict[key]);\n }\n }\n }\n __name(_setTextAttrs, \"_setTextAttrs\");\n return function(conf2) {\n return conf2.textPlacement === \"fo\" ? byFo : conf2.textPlacement === \"old\" ? byText : byTspan;\n };\n})();\nvar initGraphics = /* @__PURE__ */ __name(function(graphics, id) {\n taskCount = -1;\n graphics.append(\"defs\").append(\"marker\").attr(\"id\", id + \"-arrowhead\").attr(\"refX\", 5).attr(\"refY\", 2).attr(\"markerWidth\", 6).attr(\"markerHeight\", 4).attr(\"orient\", \"auto\").append(\"path\").attr(\"d\", \"M 0,0 V 4 L6,2 Z\");\n}, \"initGraphics\");\nvar svgDraw_default = {\n drawRect: drawRect2,\n drawCircle,\n drawSection,\n drawText: drawText2,\n drawLabel,\n drawTask,\n drawBackgroundRect: drawBackgroundRect2,\n initGraphics\n};\n\n// src/diagrams/user-journey/journeyRenderer.ts\nvar setConf = /* @__PURE__ */ __name(function(cnf) {\n const keys = Object.keys(cnf);\n keys.forEach(function(key) {\n conf[key] = cnf[key];\n });\n}, \"setConf\");\nvar actors = {};\nvar maxWidth = 0;\nfunction drawActorLegend(diagram2) {\n const conf2 = getConfig().journey;\n const maxLabelWidth = conf2.maxLabelWidth;\n maxWidth = 0;\n let yPos = 60;\n Object.keys(actors).forEach((person) => {\n const colour = actors[person].color;\n const circleData = {\n cx: 20,\n cy: yPos,\n r: 7,\n fill: colour,\n stroke: \"#000\",\n pos: actors[person].position\n };\n svgDraw_default.drawCircle(diagram2, circleData);\n let measureText = diagram2.append(\"text\").attr(\"visibility\", \"hidden\").text(person);\n const fullTextWidth = measureText.node().getBoundingClientRect().width;\n measureText.remove();\n let lines = [];\n if (fullTextWidth <= maxLabelWidth) {\n lines = [person];\n } else {\n const words = person.split(\" \");\n let currentLine = \"\";\n measureText = diagram2.append(\"text\").attr(\"visibility\", \"hidden\");\n words.forEach((word) => {\n const testLine = currentLine ? `${currentLine} ${word}` : word;\n measureText.text(testLine);\n const textWidth = measureText.node().getBoundingClientRect().width;\n if (textWidth > maxLabelWidth) {\n if (currentLine) {\n lines.push(currentLine);\n }\n currentLine = word;\n measureText.text(word);\n if (measureText.node().getBoundingClientRect().width > maxLabelWidth) {\n let brokenWord = \"\";\n for (const char of word) {\n brokenWord += char;\n measureText.text(brokenWord + \"-\");\n if (measureText.node().getBoundingClientRect().width > maxLabelWidth) {\n lines.push(brokenWord.slice(0, -1) + \"-\");\n brokenWord = char;\n }\n }\n currentLine = brokenWord;\n }\n } else {\n currentLine = testLine;\n }\n });\n if (currentLine) {\n lines.push(currentLine);\n }\n measureText.remove();\n }\n lines.forEach((line, index) => {\n const labelData = {\n x: 40,\n y: yPos + 7 + index * 20,\n fill: \"#666\",\n text: line,\n textMargin: conf2.boxTextMargin ?? 5\n };\n const textElement = svgDraw_default.drawText(diagram2, labelData);\n const lineWidth = textElement.node().getBoundingClientRect().width;\n if (lineWidth > maxWidth && lineWidth > conf2.leftMargin - lineWidth) {\n maxWidth = lineWidth;\n }\n });\n yPos += Math.max(20, lines.length * 20);\n });\n}\n__name(drawActorLegend, \"drawActorLegend\");\nvar conf = getConfig().journey;\nvar leftMargin = 0;\nvar draw = /* @__PURE__ */ __name(function(text, id, version, diagObj) {\n const configObject = getConfig();\n const titleColor = configObject.journey.titleColor;\n const titleFontSize = configObject.journey.titleFontSize;\n const titleFontFamily = configObject.journey.titleFontFamily;\n const securityLevel = configObject.securityLevel;\n let sandboxElement;\n if (securityLevel === \"sandbox\") {\n sandboxElement = select(\"#i\" + id);\n }\n const root = securityLevel === \"sandbox\" ? select(sandboxElement.nodes()[0].contentDocument.body) : select(\"body\");\n bounds.init();\n const diagram2 = root.select(\"#\" + id);\n svgDraw_default.initGraphics(diagram2, id);\n const tasks2 = diagObj.db.getTasks();\n const title = diagObj.db.getDiagramTitle();\n const actorNames = diagObj.db.getActors();\n for (const member in actors) {\n delete actors[member];\n }\n let actorPos = 0;\n actorNames.forEach((actorName) => {\n actors[actorName] = {\n color: conf.actorColours[actorPos % conf.actorColours.length],\n position: actorPos\n };\n actorPos++;\n });\n drawActorLegend(diagram2);\n leftMargin = conf.leftMargin + maxWidth;\n bounds.insert(0, 0, leftMargin, Object.keys(actors).length * 50);\n drawTasks(diagram2, tasks2, 0, id);\n const box = bounds.getBounds();\n if (title) {\n diagram2.append(\"text\").text(title).attr(\"x\", leftMargin).attr(\"font-size\", titleFontSize).attr(\"font-weight\", \"bold\").attr(\"y\", 25).attr(\"fill\", titleColor).attr(\"font-family\", titleFontFamily);\n }\n const height = box.stopy - box.starty + 2 * conf.diagramMarginY;\n const width = leftMargin + box.stopx + 2 * conf.diagramMarginX;\n configureSvgSize(diagram2, height, width, conf.useMaxWidth);\n diagram2.append(\"line\").attr(\"x1\", leftMargin).attr(\"y1\", conf.height * 4).attr(\"x2\", width - leftMargin - 4).attr(\"y2\", conf.height * 4).attr(\"stroke-width\", 4).attr(\"stroke\", \"black\").attr(\"marker-end\", \"url(#\" + id + \"-arrowhead)\");\n const extraVertForTitle = title ? 70 : 0;\n diagram2.attr(\"viewBox\", `${box.startx} -25 ${width} ${height + extraVertForTitle}`);\n diagram2.attr(\"preserveAspectRatio\", \"xMinYMin meet\");\n diagram2.attr(\"height\", height + extraVertForTitle + 25);\n}, \"draw\");\nvar bounds = {\n data: {\n startx: void 0,\n stopx: void 0,\n starty: void 0,\n stopy: void 0\n },\n verticalPos: 0,\n sequenceItems: [],\n init: /* @__PURE__ */ __name(function() {\n this.sequenceItems = [];\n this.data = {\n startx: void 0,\n stopx: void 0,\n starty: void 0,\n stopy: void 0\n };\n this.verticalPos = 0;\n }, \"init\"),\n updateVal: /* @__PURE__ */ __name(function(obj, key, val, fun) {\n if (obj[key] === void 0) {\n obj[key] = val;\n } else {\n obj[key] = fun(val, obj[key]);\n }\n }, \"updateVal\"),\n updateBounds: /* @__PURE__ */ __name(function(startx, starty, stopx, stopy) {\n const conf2 = getConfig().journey;\n const _self = this;\n let cnt = 0;\n function updateFn(type) {\n return /* @__PURE__ */ __name(function updateItemBounds(item) {\n cnt++;\n const n = _self.sequenceItems.length - cnt + 1;\n _self.updateVal(item, \"starty\", starty - n * conf2.boxMargin, Math.min);\n _self.updateVal(item, \"stopy\", stopy + n * conf2.boxMargin, Math.max);\n _self.updateVal(bounds.data, \"startx\", startx - n * conf2.boxMargin, Math.min);\n _self.updateVal(bounds.data, \"stopx\", stopx + n * conf2.boxMargin, Math.max);\n if (!(type === \"activation\")) {\n _self.updateVal(item, \"startx\", startx - n * conf2.boxMargin, Math.min);\n _self.updateVal(item, \"stopx\", stopx + n * conf2.boxMargin, Math.max);\n _self.updateVal(bounds.data, \"starty\", starty - n * conf2.boxMargin, Math.min);\n _self.updateVal(bounds.data, \"stopy\", stopy + n * conf2.boxMargin, Math.max);\n }\n }, \"updateItemBounds\");\n }\n __name(updateFn, \"updateFn\");\n this.sequenceItems.forEach(updateFn());\n }, \"updateBounds\"),\n insert: /* @__PURE__ */ __name(function(startx, starty, stopx, stopy) {\n const _startx = Math.min(startx, stopx);\n const _stopx = Math.max(startx, stopx);\n const _starty = Math.min(starty, stopy);\n const _stopy = Math.max(starty, stopy);\n this.updateVal(bounds.data, \"startx\", _startx, Math.min);\n this.updateVal(bounds.data, \"starty\", _starty, Math.min);\n this.updateVal(bounds.data, \"stopx\", _stopx, Math.max);\n this.updateVal(bounds.data, \"stopy\", _stopy, Math.max);\n this.updateBounds(_startx, _starty, _stopx, _stopy);\n }, \"insert\"),\n bumpVerticalPos: /* @__PURE__ */ __name(function(bump) {\n this.verticalPos = this.verticalPos + bump;\n this.data.stopy = this.verticalPos;\n }, \"bumpVerticalPos\"),\n getVerticalPos: /* @__PURE__ */ __name(function() {\n return this.verticalPos;\n }, \"getVerticalPos\"),\n getBounds: /* @__PURE__ */ __name(function() {\n return this.data;\n }, \"getBounds\")\n};\nvar fills = conf.sectionFills;\nvar textColours = conf.sectionColours;\nvar drawTasks = /* @__PURE__ */ __name(function(diagram2, tasks2, verticalPos, diagramId) {\n const conf2 = getConfig().journey;\n let lastSection = \"\";\n const sectionVHeight = conf2.height * 2 + conf2.diagramMarginY;\n const taskPos = verticalPos + sectionVHeight;\n let sectionNumber = 0;\n let fill = \"#CCC\";\n let colour = \"black\";\n let num = 0;\n for (const [i, task] of tasks2.entries()) {\n if (lastSection !== task.section) {\n fill = fills[sectionNumber % fills.length];\n num = sectionNumber % fills.length;\n colour = textColours[sectionNumber % textColours.length];\n let taskInSectionCount = 0;\n const currentSection2 = task.section;\n for (let taskIndex = i; taskIndex < tasks2.length; taskIndex++) {\n if (tasks2[taskIndex].section == currentSection2) {\n taskInSectionCount = taskInSectionCount + 1;\n } else {\n break;\n }\n }\n const section = {\n x: i * conf2.taskMargin + i * conf2.width + leftMargin,\n y: 50,\n text: task.section,\n fill,\n num,\n colour,\n taskCount: taskInSectionCount\n };\n svgDraw_default.drawSection(diagram2, section, conf2);\n lastSection = task.section;\n sectionNumber++;\n }\n const taskActors = task.people.reduce((acc, actorName) => {\n if (actors[actorName]) {\n acc[actorName] = actors[actorName];\n }\n return acc;\n }, {});\n task.x = i * conf2.taskMargin + i * conf2.width + leftMargin;\n task.y = taskPos;\n task.width = conf2.diagramMarginX;\n task.height = conf2.diagramMarginY;\n task.colour = colour;\n task.fill = fill;\n task.num = num;\n task.actors = taskActors;\n svgDraw_default.drawTask(diagram2, task, conf2, diagramId);\n bounds.insert(task.x, task.y, task.x + task.width + conf2.taskMargin, 300 + 5 * 30);\n }\n}, \"drawTasks\");\nvar journeyRenderer_default = {\n setConf,\n draw\n};\n\n// src/diagrams/user-journey/journeyDiagram.ts\nvar diagram = {\n parser: journey_default,\n db: journeyDb_default,\n renderer: journeyRenderer_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n journeyRenderer_default.setConf(cnf.journey);\n journeyDb_default.clear();\n }, \"init\")\n};\nexport {\n diagram\n};\n","import {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/globalStyles.ts\nvar getIconStyles = /* @__PURE__ */ __name(() => `\n /* Font Awesome icon styling - consolidated */\n .label-icon {\n display: inline-block;\n height: 1em;\n overflow: visible;\n vertical-align: -0.125em;\n }\n \n .node .label-icon path {\n fill: currentColor;\n stroke: revert;\n stroke-width: revert;\n }\n`, \"getIconStyles\");\n\nexport {\n getIconStyles\n};\n","import {\n lineBreakRegex\n} from \"./chunk-ICPOFSXX.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/common/svgDrawCommon.ts\nimport { sanitizeUrl } from \"@braintree/sanitize-url\";\nimport { select } from \"d3\";\nvar drawRect = /* @__PURE__ */ __name((element, rectData) => {\n const rectElement = element.append(\"rect\");\n rectElement.attr(\"x\", rectData.x);\n rectElement.attr(\"y\", rectData.y);\n rectElement.attr(\"fill\", rectData.fill);\n rectElement.attr(\"stroke\", rectData.stroke);\n rectElement.attr(\"width\", rectData.width);\n rectElement.attr(\"height\", rectData.height);\n if (rectData.name) {\n rectElement.attr(\"name\", rectData.name);\n }\n if (rectData.rx) {\n rectElement.attr(\"rx\", rectData.rx);\n }\n if (rectData.ry) {\n rectElement.attr(\"ry\", rectData.ry);\n }\n if (rectData.attrs !== void 0) {\n for (const attrKey in rectData.attrs) {\n rectElement.attr(attrKey, rectData.attrs[attrKey]);\n }\n }\n if (rectData.class) {\n rectElement.attr(\"class\", rectData.class);\n }\n return rectElement;\n}, \"drawRect\");\nvar drawBackgroundRect = /* @__PURE__ */ __name((element, bounds) => {\n const rectData = {\n x: bounds.startx,\n y: bounds.starty,\n width: bounds.stopx - bounds.startx,\n height: bounds.stopy - bounds.starty,\n fill: bounds.fill,\n stroke: bounds.stroke,\n class: \"rect\"\n };\n const rectElement = drawRect(element, rectData);\n rectElement.lower();\n}, \"drawBackgroundRect\");\nvar drawText = /* @__PURE__ */ __name((element, textData) => {\n const nText = textData.text.replace(lineBreakRegex, \" \");\n const textElem = element.append(\"text\");\n textElem.attr(\"x\", textData.x);\n textElem.attr(\"y\", textData.y);\n textElem.attr(\"class\", \"legend\");\n textElem.style(\"text-anchor\", textData.anchor);\n if (textData.class) {\n textElem.attr(\"class\", textData.class);\n }\n const tspan = textElem.append(\"tspan\");\n tspan.attr(\"x\", textData.x + textData.textMargin * 2);\n tspan.text(nText);\n return textElem;\n}, \"drawText\");\nvar drawImage = /* @__PURE__ */ __name((elem, x, y, link) => {\n const imageElement = elem.append(\"image\");\n imageElement.attr(\"x\", x);\n imageElement.attr(\"y\", y);\n const sanitizedLink = sanitizeUrl(link);\n imageElement.attr(\"xlink:href\", sanitizedLink);\n}, \"drawImage\");\nvar drawEmbeddedImage = /* @__PURE__ */ __name((element, x, y, link) => {\n const imageElement = element.append(\"use\");\n imageElement.attr(\"x\", x);\n imageElement.attr(\"y\", y);\n const sanitizedLink = sanitizeUrl(link);\n imageElement.attr(\"xlink:href\", `#${sanitizedLink}`);\n}, \"drawEmbeddedImage\");\nvar getNoteRect = /* @__PURE__ */ __name(() => {\n const noteRectData = {\n x: 0,\n y: 0,\n width: 100,\n height: 100,\n fill: \"#EDF2AE\",\n stroke: \"#666\",\n anchor: \"start\",\n rx: 0,\n ry: 0\n };\n return noteRectData;\n}, \"getNoteRect\");\nvar getTextObj = /* @__PURE__ */ __name(() => {\n const testObject = {\n x: 0,\n y: 0,\n width: 100,\n height: 100,\n \"text-anchor\": \"start\",\n style: \"#666\",\n textMargin: 0,\n rx: 0,\n ry: 0,\n tspan: true\n };\n return testObject;\n}, \"getTextObj\");\nvar createTooltip = /* @__PURE__ */ __name(() => {\n let tooltipElem = select(\".mermaidTooltip\");\n if (tooltipElem.empty()) {\n tooltipElem = select(\"body\").append(\"div\").attr(\"class\", \"mermaidTooltip\").style(\"opacity\", 0).style(\"position\", \"absolute\").style(\"text-align\", \"center\").style(\"max-width\", \"200px\").style(\"padding\", \"2px\").style(\"font-size\", \"12px\").style(\"background\", \"#ffffde\").style(\"border\", \"1px solid #333\").style(\"border-radius\", \"2px\").style(\"pointer-events\", \"none\").style(\"z-index\", \"100\");\n }\n return tooltipElem;\n}, \"createTooltip\");\n\nexport {\n drawRect,\n drawBackgroundRect,\n drawText,\n drawImage,\n drawEmbeddedImage,\n getNoteRect,\n getTextObj,\n createTooltip\n};\n"],"names":["parser","o","__name","k","v","o2","l","length","$V0","$V1","$V2","$V3","$V4","$V5","$V6","parser2","trace","yy","symbols_","terminals_","productions_","performAction","yytext","yyleng","yylineno","yystate","$$","_$","$0","this","$","push","setDiagramTitle","substr","trim","setAccTitle","setAccDescription","addSection","addTask","table","defaultActions","parseError","str","hash","recoverable","error","Error","parse","input","self","stack","tstack","vstack","lstack","recovering","args","slice","call","arguments","lexer2","Object","create","lexer","sharedState","prototype","hasOwnProperty","setInput","yylloc","yyloc","ranges","options","lex","token","pop","Array","getPrototypeOf","n","symbol","preErrorSymbol","state","action","r","p","len","newState","expected","yyval","errStr","showPosition","join","text","match","line","loc","first_line","last_line","first_column","last_column","range","apply","concat","EOF","_input","_more","_backtrack","done","matched","conditionStack","offset","ch","unput","lines","split","oldLines","more","reject","backtrack_lexer","less","pastInput","past","replace","upcomingInput","next","pre","c","test_match","indexed_rule","backup","matches","tempMatch","index","rules","_currentRules","i","flex","begin","condition","popState","conditions","topState","Math","abs","pushState","stateStackSize","yy_","$avoiding_name_collisions","YY_START","Parser","journey_default","currentSection","sections","tasks","rawTasks","clear2","clear","txt","getSections","getTasks","allItemsProcessed","compileTasks","iterationCount","updateActors","tempActors","forEach","task","people","Set","sort","descr","taskData","pieces","score","peeps","Number","peopleList","map","s","rawTask","section","type","addTaskOrg","newTask","description","classes","compileTask","pos","processed","allProcessed","entries","getActors","journeyDb_default","getConfig","journey","getDiagramTitle","getAccTitle","getAccDescription","styles_default","fontFamily","textColor","faceColor","mainBkg","nodeBorder","arrowheadColor","lineColor","edgeLabelBackground","titleColor","tertiaryColor","border2","fillType0","fillType1","fillType2","fillType3","fillType4","fillType5","fillType6","fillType7","actor0","actor1","actor2","actor3","actor4","actor5","getIconStyles","drawRect2","elem","rectData","drawRect","drawFace","element","faceData","radius","circleElement","append","attr","cx","cy","face","smile","face2","arc","d3arc","startAngle","PI","endAngle","innerRadius","outerRadius","sad","ambivalent","drawCircle","circleData","fill","stroke","class","title","drawText2","textData","drawText","drawLabel","txtObject","genPoints","x","y","width","height","cut","polygon","labelMargin","drawSection","conf2","g","rect","getNoteRect","taskCount","diagramMarginX","num","rx","ry","_drawTextCandidateFunc","colour","drawTask","diagramId","center","xPos","person","actors","color","circle","position","drawBackgroundRect2","bounds2","drawBackgroundRect","byText","content","textAttrs","_setTextAttrs","style","byTspan","taskFontSize","taskFontFamily","dy","byFo","body","toText","fromTextAttrsDict","key","textPlacement","svgDraw_default","initGraphics","graphics","id","setConf","cnf","keys","conf","maxWidth","drawActorLegend","diagram2","maxLabelWidth","yPos","measureText","fullTextWidth","node","getBoundingClientRect","remove","words","currentLine","word","testLine","brokenWord","char","_conf2$boxTextMargin","labelData","textMargin","boxTextMargin","lineWidth","leftMargin","max","draw","version","diagObj","configObject","titleFontSize","titleFontFamily","securityLevel","sandboxElement","select","root","nodes","contentDocument","bounds","init","tasks2","db","actorNames","member","actorPos","actorName","actorColours","insert","drawTasks","box","getBounds","stopy","starty","diagramMarginY","stopx","configureSvgSize","useMaxWidth","extraVertForTitle","startx","data","verticalPos","sequenceItems","updateVal","obj","val","fun","updateBounds","_self","cnt","updateFn","item","boxMargin","min","_startx","_stopx","_starty","_stopy","bumpVerticalPos","bump","getVerticalPos","fills","sectionFills","textColours","sectionColours","lastSection","taskPos","sectionNumber","taskInSectionCount","currentSection2","taskIndex","taskMargin","taskActors","reduce","acc","journeyRenderer_default","diagram","renderer","styles","rectElement","name","attrs","attrKey","lower","nText","lineBreakRegex","textElem","anchor","tspan","drawImage","link","imageElement","sanitizedLink","sanitizeUrl","drawEmbeddedImage","getTextObj","createTooltip","tooltipElem","empty"],"ignoreList":[],"sourceRoot":""}
build/static/js/478.45e19921.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[478],{7274(e,t,a){function l(e,t){var a,l,n;e.accDescr&&(null===(a=t.setAccDescription)||void 0===a||a.call(t,e.accDescr));e.accTitle&&(null===(l=t.setAccTitle)||void 0===l||l.call(t,e.accTitle));e.title&&(null===(n=t.setDiagramTitle)||void 0===n||n.call(t,e.title))}a.d(t,{S:()=>l}),(0,a(32748).K2)(l,"populateCommonDb")},80478(e,t,a){a.d(t,{diagram:()=>L});var l,n=a(89379),s=a(57903),o=a(82460),r=a(24203),c=a(7274),i=a(84571),d=a(45420),p=a(32748),h=a(55502),u=a(68973),m=(l=class{constructor(){this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.setAccTitle=d.SV,this.getAccTitle=d.iN,this.setDiagramTitle=d.ke,this.getDiagramTitle=d.ab,this.getAccDescription=d.m7,this.setAccDescription=d.EI}getNodes(){return this.nodes}getConfig(){var e;const t=d.UI,a=(0,d.zj)();return(0,i.$t)((0,n.A)((0,n.A)({},t.treemap),null!==(e=a.treemap)&&void 0!==e?e:{}))}addNode(e,t){var a;(this.nodes.push(e),this.levels.set(e,t),0===t)&&(this.outerNodes.push(e),null!==(a=this.root)&&void 0!==a||(this.root=e))}getRoot(){return{name:"",children:this.outerNodes}}addClass(e,t){var a;const l=null!==(a=this.classes.get(e))&&void 0!==a?a:{id:e,styles:[],textStyles:[]},n=t.replace(/\\,/g,"\xa7\xa7\xa7").replace(/,/g,";").replace(/\xa7\xa7\xa7/g,",").split(";");n&&n.forEach(e=>{(0,r.KX)(e)&&(null!==l&&void 0!==l&&l.textStyles?l.textStyles.push(e):l.textStyles=[e]),null!==l&&void 0!==l&&l.styles?l.styles.push(e):l.styles=[e]}),this.classes.set(e,l)}getClasses(){return this.classes}getStylesForClass(e){var t,a;return null!==(t=null===(a=this.classes.get(e))||void 0===a?void 0:a.styles)&&void 0!==t?t:[]}clear(){(0,d.IU)(),this.nodes=[],this.levels=new Map,this.outerNodes=[],this.classes=new Map,this.root=void 0}},(0,p.K2)(l,"TreeMapDB"),l);function y(e){if(!e.length)return[];const t=[],a=[];return e.forEach(e=>{const l={name:e.name,children:"Leaf"===e.type?void 0:[]};for(l.classSelector=null===e||void 0===e?void 0:e.classSelector,null!==e&&void 0!==e&&e.cssCompiledStyles&&(l.cssCompiledStyles=e.cssCompiledStyles),"Leaf"===e.type&&void 0!==e.value&&(l.value=e.value);a.length>0&&a[a.length-1].level>=e.level;)a.pop();if(0===a.length)t.push(l);else{const e=a[a.length-1].node;e.children?e.children.push(l):e.children=[l]}"Leaf"!==e.type&&a.push({node:l,level:e.level})}),t}(0,p.K2)(y,"buildHierarchy");var f=(0,p.K2)((e,t)=>{(0,c.S)(e,t);const a=[];for(const c of null!==(l=e.TreemapRows)&&void 0!==l?l:[]){var l,n,s;if("ClassDefStatement"===c.$type)t.addClass(null!==(n=c.className)&&void 0!==n?n:"",null!==(s=c.styleText)&&void 0!==s?s:"")}for(const c of null!==(o=e.TreemapRows)&&void 0!==o?o:[]){var o;const e=c.item;if(!e)continue;const l=c.indent?parseInt(c.indent):0,n=S(e),s=e.classSelector?t.getStylesForClass(e.classSelector):[],r=s.length>0?s:void 0,i={level:l,name:n,type:e.$type,value:e.value,classSelector:e.classSelector,cssCompiledStyles:r};a.push(i)}const r=y(a),i=(0,p.K2)((e,a)=>{for(const l of e)t.addNode(l,a),l.children&&l.children.length>0&&i(l.children,a+1)},"addNodesRecursively");i(r,0)},"populate"),S=(0,p.K2)(e=>e.name?String(e.name):"","getItemName"),g={parser:{yy:void 0},parse:(0,p.K2)(async e=>{try{var t;const a=h.qg,l=await a("treemap",e);p.Rm.debug("Treemap AST:",l);const n=null===(t=g.parser)||void 0===t?void 0:t.yy;if(!(n instanceof m))throw new Error("parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.");f(l,n)}catch(a){throw p.Rm.error("Error parsing treemap:",a),a}},"parse")},v=10,x={draw:(0,p.K2)((e,t,a,l)=>{var n,c;const i=l.db,h=i.getConfig(),m=null!==(n=h.padding)&&void 0!==n?n:10,y=i.getDiagramTitle(),f=i.getRoot(),{themeVariables:S}=(0,d.zj)();if(!f)return;const g=y?30:0,x=(0,s.D)(t),b=h.nodeWidth?h.nodeWidth*v:960,C=h.nodeHeight?h.nodeHeight*v:500,w=b,L=C+g;let k;x.attr("viewBox","0 0 ".concat(w," ").concat(L)),(0,d.a$)(x,L,w,h.useMaxWidth);try{const e=h.valueFormat||",";if("$0,0"===e)k=(0,p.K2)(e=>"$"+(0,u.GPZ)(",")(e),"valueFormat");else if(e.startsWith("$")&&e.includes(",")){const t=/\.\d+/.exec(e),a=t?t[0]:"";k=(0,p.K2)(e=>"$"+(0,u.GPZ)(","+a)(e),"valueFormat")}else if(e.startsWith("$")){const t=e.substring(1);k=(0,p.K2)(e=>"$"+(0,u.GPZ)(t||"")(e),"valueFormat")}else k=(0,u.GPZ)(e)}catch(A){p.Rm.error("Error creating format function:",A),k=(0,u.GPZ)(",")}const T=(0,u.UMr)().range(["transparent",S.cScale0,S.cScale1,S.cScale2,S.cScale3,S.cScale4,S.cScale5,S.cScale6,S.cScale7,S.cScale8,S.cScale9,S.cScale10,S.cScale11]),P=(0,u.UMr)().range(["transparent",S.cScalePeer0,S.cScalePeer1,S.cScalePeer2,S.cScalePeer3,S.cScalePeer4,S.cScalePeer5,S.cScalePeer6,S.cScalePeer7,S.cScalePeer8,S.cScalePeer9,S.cScalePeer10,S.cScalePeer11]),M=(0,u.UMr)().range([S.cScaleLabel0,S.cScaleLabel1,S.cScaleLabel2,S.cScaleLabel3,S.cScaleLabel4,S.cScaleLabel5,S.cScaleLabel6,S.cScaleLabel7,S.cScaleLabel8,S.cScaleLabel9,S.cScaleLabel10,S.cScaleLabel11]);y&&x.append("text").attr("x",w/2).attr("y",g/2).attr("class","treemapTitle").attr("text-anchor","middle").attr("dominant-baseline","middle").text(y);const z=x.append("g").attr("transform","translate(0, ".concat(g,")")).attr("class","treemapContainer"),F=(0,u.Sk5)(f).sum(e=>{var t;return null!==(t=e.value)&&void 0!==t?t:0}).sort((e,t)=>{var a,l;return(null!==(a=t.value)&&void 0!==a?a:0)-(null!==(l=e.value)&&void 0!==l?l:0)}),K=(0,u.hkb)().size([b,C]).paddingTop(e=>e.children&&e.children.length>0?35:0).paddingInner(m).paddingLeft(e=>e.children&&e.children.length>0?v:0).paddingRight(e=>e.children&&e.children.length>0?v:0).paddingBottom(e=>e.children&&e.children.length>0?v:0).round(!0)(F),D=K.descendants().filter(e=>e.children&&e.children.length>0),N=z.selectAll(".treemapSection").data(D).enter().append("g").attr("class","treemapSection").attr("transform",e=>"translate(".concat(e.x0,",").concat(e.y0,")"));N.append("rect").attr("width",e=>e.x1-e.x0).attr("height",25).attr("class","treemapSectionHeader").attr("fill","none").attr("fill-opacity",.6).attr("stroke-width",.6).attr("style",e=>0===e.depth?"display: none;":""),N.append("clipPath").attr("id",(e,a)=>"clip-section-".concat(t,"-").concat(a)).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-12)).attr("height",25),N.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class",(e,t)=>"treemapSection section".concat(t)).attr("fill",e=>T(e.data.name)).attr("fill-opacity",.6).attr("stroke",e=>P(e.data.name)).attr("stroke-width",2).attr("stroke-opacity",.4).attr("style",e=>{if(0===e.depth)return"display: none;";const t=(0,r.GX)({cssCompiledStyles:e.data.cssCompiledStyles});return t.nodeStyles+";"+t.borderStyles.join(";")}),N.append("text").attr("class","treemapSectionLabel").attr("x",6).attr("y",12.5).attr("dominant-baseline","middle").text(e=>0===e.depth?"":e.data.name).attr("font-weight","bold").attr("style",e=>{if(0===e.depth)return"display: none;";return"dominant-baseline: middle; font-size: 12px; fill:"+M(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+(0,r.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")}).each(function(e){if(0===e.depth)return;const t=(0,u.Ltv)(this),a=e.data.name;t.text(a);const l=e.x1-e.x0;let n;if(!1!==h.showValues&&e.value){n=l-10-30-10-6}else{n=l-6-6}const s=Math.max(15,n),o=t.node();if(o.getComputedTextLength()>s){const e="...";let l=a;for(;l.length>0;){if(l=a.substring(0,l.length-1),0===l.length){t.text(e),o.getComputedTextLength()>s&&t.text("");break}if(t.text(l+e),o.getComputedTextLength()<=s)break}}}),!1!==h.showValues&&N.append("text").attr("class","treemapSectionValue").attr("x",e=>e.x1-e.x0-10).attr("y",12.5).attr("text-anchor","end").attr("dominant-baseline","middle").text(e=>e.value?k(e.value):"").attr("font-style","italic").attr("style",e=>{if(0===e.depth)return"display: none;";return"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:"+M(e.data.name)+"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;"+(0,r.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")});const G=K.leaves(),$=z.selectAll(".treemapLeafGroup").data(G).enter().append("g").attr("class",(e,t)=>"treemapNode treemapLeafGroup leaf".concat(t).concat(e.data.classSelector?" ".concat(e.data.classSelector):"","x")).attr("transform",e=>"translate(".concat(e.x0,",").concat(e.y0,")"));$.append("rect").attr("width",e=>e.x1-e.x0).attr("height",e=>e.y1-e.y0).attr("class","treemapLeaf").attr("fill",e=>e.parent?T(e.parent.data.name):T(e.data.name)).attr("style",e=>(0,r.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).nodeStyles).attr("fill-opacity",.3).attr("stroke",e=>e.parent?T(e.parent.data.name):T(e.data.name)).attr("stroke-width",3),$.append("clipPath").attr("id",(e,a)=>"clip-".concat(t,"-").concat(a)).append("rect").attr("width",e=>Math.max(0,e.x1-e.x0-4)).attr("height",e=>Math.max(0,e.y1-e.y0-4));if($.append("text").attr("class","treemapLabel").attr("x",e=>(e.x1-e.x0)/2).attr("y",e=>(e.y1-e.y0)/2).attr("style",e=>"text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:"+M(e.data.name)+";"+(0,r.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>"url(#clip-".concat(t,"-").concat(a,")")).text(e=>e.data.name).each(function(e){const t=(0,u.Ltv)(this),a=e.x1-e.x0,l=e.y1-e.y0,n=t.node(),s=a-8,o=l-8;if(s<10||o<10)return void t.style("display","none");let r=parseInt(t.style("font-size"),10);for(;n.getComputedTextLength()>s&&r>8;)r--,t.style("font-size","".concat(r,"px"));let c=Math.max(6,Math.min(28,Math.round(.6*r))),i=r+2+c;for(;i>o&&r>8&&(r--,c=Math.max(6,Math.min(28,Math.round(.6*r))),!(c<6&&8===r));)t.style("font-size","".concat(r,"px")),i=r+2+c;t.style("font-size","".concat(r,"px")),(n.getComputedTextLength()>s||r<8||o<r)&&t.style("display","none")}),!1!==h.showValues){$.append("text").attr("class","treemapValue").attr("x",e=>(e.x1-e.x0)/2).attr("y",function(e){return(e.y1-e.y0)/2}).attr("style",e=>"text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:"+M(e.data.name)+";"+(0,r.GX)({cssCompiledStyles:e.data.cssCompiledStyles}).labelStyles.replace("color:","fill:")).attr("clip-path",(e,a)=>"url(#clip-".concat(t,"-").concat(a,")")).text(e=>e.value?k(e.value):"").each(function(e){const t=(0,u.Ltv)(this),a=this.parentNode;if(!a)return void t.style("display","none");const l=(0,u.Ltv)(a).select(".treemapLabel");if(l.empty()||"none"===l.style("display"))return void t.style("display","none");const n=parseFloat(l.style("font-size")),s=Math.max(6,Math.min(28,Math.round(.6*n)));t.style("font-size","".concat(s,"px"));const o=(e.y1-e.y0)/2+n/2+2;t.attr("y",o);const r=e.x1-e.x0,c=e.y1-e.y0-4,i=r-8;t.node().getComputedTextLength()>i||o+s>c||s<6?t.style("display","none"):t.style("display",null)})}const V=null!==(c=h.diagramPadding)&&void 0!==c?c:8;(0,o.P)(x,V,"flowchart",(null===h||void 0===h?void 0:h.useMaxWidth)||!1)},"draw"),getClasses:(0,p.K2)(function(e,t){return t.db.getClasses()},"getClasses")},b={sectionStrokeColor:"black",sectionStrokeWidth:"1",sectionFillColor:"#efefef",leafStrokeColor:"black",leafStrokeWidth:"1",leafFillColor:"#efefef",labelFontSize:"12px",valueFontSize:"10px",titleFontSize:"14px"},C=(0,p.K2)(function(){var e,t,a;let{treemap:l}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};const n=(0,d.P$)(),s=(0,d.zj)(),o=(0,i.$t)(n,s.themeVariables),r=(0,i.$t)(b,l),c=null!==(e=r.titleColor)&&void 0!==e?e:o.titleColor,p=null!==(t=r.labelColor)&&void 0!==t?t:o.textColor,h=null!==(a=r.valueColor)&&void 0!==a?a:o.textColor;return"\n .treemapNode.section {\n stroke: ".concat(r.sectionStrokeColor,";\n stroke-width: ").concat(r.sectionStrokeWidth,";\n fill: ").concat(r.sectionFillColor,";\n }\n .treemapNode.leaf {\n stroke: ").concat(r.leafStrokeColor,";\n stroke-width: ").concat(r.leafStrokeWidth,";\n fill: ").concat(r.leafFillColor,";\n }\n .treemapLabel {\n fill: ").concat(p,";\n font-size: ").concat(r.labelFontSize,";\n }\n .treemapValue {\n fill: ").concat(h,";\n font-size: ").concat(r.valueFontSize,";\n }\n .treemapTitle {\n fill: ").concat(c,";\n font-size: ").concat(r.titleFontSize,";\n }\n ")},"getStyles"),w=C,L={parser:g,get db(){return new m},renderer:x,styles:w}},82460(e,t,a){a.d(t,{P:()=>s});var l=a(45420),n=a(32748),s=(0,n.K2)((e,t,a,s)=>{e.attr("class",a);const{width:c,height:i,x:d,y:p}=o(e,t);(0,l.a$)(e,i,c,s);const h=r(d,p,c,i,t);e.attr("viewBox",h),n.Rm.debug("viewBox configured: ".concat(h," with padding: ").concat(t))},"setupViewPortForSVG"),o=(0,n.K2)((e,t)=>{var a;const l=(null===(a=e.node())||void 0===a?void 0:a.getBBox())||{width:0,height:0,x:0,y:0};return{width:l.width+2*t,height:l.height+2*t,x:l.x,y:l.y}},"calculateDimensionsWithPadding"),r=(0,n.K2)((e,t,a,l,n)=>"".concat(e-n," ").concat(t-n," ").concat(a," ").concat(l),"createViewBox")}}]);
2
+ //# sourceMappingURL=478.45e19921.chunk.js.map
build/static/js/478.45e19921.chunk.js.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"static/js/478.45e19921.chunk.js","mappings":"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","sources":["../node_modules/mermaid/dist/chunks/mermaid.core/chunk-4BX2VUAB.mjs","../node_modules/mermaid/dist/chunks/mermaid.core/diagram-G4DWMVQ6.mjs","../node_modules/mermaid/dist/chunks/mermaid.core/chunk-EDXVE4YY.mjs"],"sourcesContent":["import {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/common/populateCommonDb.ts\nfunction populateCommonDb(ast, db) {\n if (ast.accDescr) {\n db.setAccDescription?.(ast.accDescr);\n }\n if (ast.accTitle) {\n db.setAccTitle?.(ast.accTitle);\n }\n if (ast.title) {\n db.setDiagramTitle?.(ast.title);\n }\n}\n__name(populateCommonDb, \"populateCommonDb\");\n\nexport {\n populateCommonDb\n};\n","import {\n selectSvgElement\n} from \"./chunk-426QAEUC.mjs\";\nimport {\n setupViewPortForSVG\n} from \"./chunk-EDXVE4YY.mjs\";\nimport {\n isLabelStyle,\n styles2String\n} from \"./chunk-X2U36JSP.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-5PVQY5BW.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n getThemeVariables,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-ICPOFSXX.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/treemap/db.ts\nvar TreeMapDB = class {\n constructor() {\n this.nodes = [];\n this.levels = /* @__PURE__ */ new Map();\n this.outerNodes = [];\n this.classes = /* @__PURE__ */ new Map();\n this.setAccTitle = setAccTitle;\n this.getAccTitle = getAccTitle;\n this.setDiagramTitle = setDiagramTitle;\n this.getDiagramTitle = getDiagramTitle;\n this.getAccDescription = getAccDescription;\n this.setAccDescription = setAccDescription;\n }\n static {\n __name(this, \"TreeMapDB\");\n }\n getNodes() {\n return this.nodes;\n }\n getConfig() {\n const defaultConfig = defaultConfig_default;\n const userConfig = getConfig();\n return cleanAndMerge({\n ...defaultConfig.treemap,\n ...userConfig.treemap ?? {}\n });\n }\n addNode(node, level) {\n this.nodes.push(node);\n this.levels.set(node, level);\n if (level === 0) {\n this.outerNodes.push(node);\n this.root ??= node;\n }\n }\n getRoot() {\n return { name: \"\", children: this.outerNodes };\n }\n addClass(id, _style) {\n const styleClass = this.classes.get(id) ?? { id, styles: [], textStyles: [] };\n const styles = _style.replace(/\\\\,/g, \"\\xA7\\xA7\\xA7\").replace(/,/g, \";\").replace(/§§§/g, \",\").split(\";\");\n if (styles) {\n styles.forEach((s) => {\n if (isLabelStyle(s)) {\n if (styleClass?.textStyles) {\n styleClass.textStyles.push(s);\n } else {\n styleClass.textStyles = [s];\n }\n }\n if (styleClass?.styles) {\n styleClass.styles.push(s);\n } else {\n styleClass.styles = [s];\n }\n });\n }\n this.classes.set(id, styleClass);\n }\n getClasses() {\n return this.classes;\n }\n getStylesForClass(classSelector) {\n return this.classes.get(classSelector)?.styles ?? [];\n }\n clear() {\n clear();\n this.nodes = [];\n this.levels = /* @__PURE__ */ new Map();\n this.outerNodes = [];\n this.classes = /* @__PURE__ */ new Map();\n this.root = void 0;\n }\n};\n\n// src/diagrams/treemap/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\n\n// src/diagrams/treemap/utils.ts\nfunction buildHierarchy(items) {\n if (!items.length) {\n return [];\n }\n const root = [];\n const stack = [];\n items.forEach((item) => {\n const node = {\n name: item.name,\n children: item.type === \"Leaf\" ? void 0 : []\n };\n node.classSelector = item?.classSelector;\n if (item?.cssCompiledStyles) {\n node.cssCompiledStyles = item.cssCompiledStyles;\n }\n if (item.type === \"Leaf\" && item.value !== void 0) {\n node.value = item.value;\n }\n while (stack.length > 0 && stack[stack.length - 1].level >= item.level) {\n stack.pop();\n }\n if (stack.length === 0) {\n root.push(node);\n } else {\n const parent = stack[stack.length - 1].node;\n if (parent.children) {\n parent.children.push(node);\n } else {\n parent.children = [node];\n }\n }\n if (item.type !== \"Leaf\") {\n stack.push({ node, level: item.level });\n }\n });\n return root;\n}\n__name(buildHierarchy, \"buildHierarchy\");\n\n// src/diagrams/treemap/parser.ts\nvar populate = /* @__PURE__ */ __name((ast, db) => {\n populateCommonDb(ast, db);\n const items = [];\n for (const row of ast.TreemapRows ?? []) {\n if (row.$type === \"ClassDefStatement\") {\n db.addClass(row.className ?? \"\", row.styleText ?? \"\");\n }\n }\n for (const row of ast.TreemapRows ?? []) {\n const item = row.item;\n if (!item) {\n continue;\n }\n const level = row.indent ? parseInt(row.indent) : 0;\n const name = getItemName(item);\n const styles = item.classSelector ? db.getStylesForClass(item.classSelector) : [];\n const cssCompiledStyles = styles.length > 0 ? styles : void 0;\n const itemData = {\n level,\n name,\n type: item.$type,\n value: item.value,\n classSelector: item.classSelector,\n cssCompiledStyles\n };\n items.push(itemData);\n }\n const hierarchyNodes = buildHierarchy(items);\n const addNodesRecursively = /* @__PURE__ */ __name((nodes, level) => {\n for (const node of nodes) {\n db.addNode(node, level);\n if (node.children && node.children.length > 0) {\n addNodesRecursively(node.children, level + 1);\n }\n }\n }, \"addNodesRecursively\");\n addNodesRecursively(hierarchyNodes, 0);\n}, \"populate\");\nvar getItemName = /* @__PURE__ */ __name((item) => {\n return item.name ? String(item.name) : \"\";\n}, \"getItemName\");\nvar parser = {\n // @ts-expect-error - TreeMapDB is not assignable to DiagramDB\n parser: { yy: void 0 },\n parse: /* @__PURE__ */ __name(async (text) => {\n try {\n const parseFunc = parse;\n const ast = await parseFunc(\"treemap\", text);\n log.debug(\"Treemap AST:\", ast);\n const db = parser.parser?.yy;\n if (!(db instanceof TreeMapDB)) {\n throw new Error(\n \"parser.parser?.yy was not a TreemapDB. This is due to a bug within Mermaid, please report this issue at https://github.com/mermaid-js/mermaid/issues.\"\n );\n }\n populate(ast, db);\n } catch (error) {\n log.error(\"Error parsing treemap:\", error);\n throw error;\n }\n }, \"parse\")\n};\n\n// src/diagrams/treemap/renderer.ts\nimport { scaleOrdinal, treemap, hierarchy, format, select } from \"d3\";\nvar DEFAULT_INNER_PADDING = 10;\nvar SECTION_INNER_PADDING = 10;\nvar SECTION_HEADER_HEIGHT = 25;\nvar draw = /* @__PURE__ */ __name((_text, id, _version, diagram2) => {\n const treemapDb = diagram2.db;\n const config = treemapDb.getConfig();\n const treemapInnerPadding = config.padding ?? DEFAULT_INNER_PADDING;\n const title = treemapDb.getDiagramTitle();\n const root = treemapDb.getRoot();\n const { themeVariables } = getConfig();\n if (!root) {\n return;\n }\n const titleHeight = title ? 30 : 0;\n const svg = selectSvgElement(id);\n const width = config.nodeWidth ? config.nodeWidth * SECTION_INNER_PADDING : 960;\n const height = config.nodeHeight ? config.nodeHeight * SECTION_INNER_PADDING : 500;\n const svgWidth = width;\n const svgHeight = height + titleHeight;\n svg.attr(\"viewBox\", `0 0 ${svgWidth} ${svgHeight}`);\n configureSvgSize(svg, svgHeight, svgWidth, config.useMaxWidth);\n let valueFormat;\n try {\n const formatStr = config.valueFormat || \",\";\n if (formatStr === \"$0,0\") {\n valueFormat = /* @__PURE__ */ __name((value) => \"$\" + format(\",\")(value), \"valueFormat\");\n } else if (formatStr.startsWith(\"$\") && formatStr.includes(\",\")) {\n const precision = /\\.\\d+/.exec(formatStr);\n const precisionStr = precision ? precision[0] : \"\";\n valueFormat = /* @__PURE__ */ __name((value) => \"$\" + format(\",\" + precisionStr)(value), \"valueFormat\");\n } else if (formatStr.startsWith(\"$\")) {\n const restOfFormat = formatStr.substring(1);\n valueFormat = /* @__PURE__ */ __name((value) => \"$\" + format(restOfFormat || \"\")(value), \"valueFormat\");\n } else {\n valueFormat = format(formatStr);\n }\n } catch (error) {\n log.error(\"Error creating format function:\", error);\n valueFormat = format(\",\");\n }\n const colorScale = scaleOrdinal().range([\n \"transparent\",\n themeVariables.cScale0,\n themeVariables.cScale1,\n themeVariables.cScale2,\n themeVariables.cScale3,\n themeVariables.cScale4,\n themeVariables.cScale5,\n themeVariables.cScale6,\n themeVariables.cScale7,\n themeVariables.cScale8,\n themeVariables.cScale9,\n themeVariables.cScale10,\n themeVariables.cScale11\n ]);\n const colorScalePeer = scaleOrdinal().range([\n \"transparent\",\n themeVariables.cScalePeer0,\n themeVariables.cScalePeer1,\n themeVariables.cScalePeer2,\n themeVariables.cScalePeer3,\n themeVariables.cScalePeer4,\n themeVariables.cScalePeer5,\n themeVariables.cScalePeer6,\n themeVariables.cScalePeer7,\n themeVariables.cScalePeer8,\n themeVariables.cScalePeer9,\n themeVariables.cScalePeer10,\n themeVariables.cScalePeer11\n ]);\n const colorScaleLabel = scaleOrdinal().range([\n themeVariables.cScaleLabel0,\n themeVariables.cScaleLabel1,\n themeVariables.cScaleLabel2,\n themeVariables.cScaleLabel3,\n themeVariables.cScaleLabel4,\n themeVariables.cScaleLabel5,\n themeVariables.cScaleLabel6,\n themeVariables.cScaleLabel7,\n themeVariables.cScaleLabel8,\n themeVariables.cScaleLabel9,\n themeVariables.cScaleLabel10,\n themeVariables.cScaleLabel11\n ]);\n if (title) {\n svg.append(\"text\").attr(\"x\", svgWidth / 2).attr(\"y\", titleHeight / 2).attr(\"class\", \"treemapTitle\").attr(\"text-anchor\", \"middle\").attr(\"dominant-baseline\", \"middle\").text(title);\n }\n const g = svg.append(\"g\").attr(\"transform\", `translate(0, ${titleHeight})`).attr(\"class\", \"treemapContainer\");\n const hierarchyRoot = hierarchy(root).sum((d) => d.value ?? 0).sort((a, b) => (b.value ?? 0) - (a.value ?? 0));\n const treemapLayout = treemap().size([width, height]).paddingTop(\n (d) => d.children && d.children.length > 0 ? SECTION_HEADER_HEIGHT + SECTION_INNER_PADDING : 0\n ).paddingInner(treemapInnerPadding).paddingLeft((d) => d.children && d.children.length > 0 ? SECTION_INNER_PADDING : 0).paddingRight((d) => d.children && d.children.length > 0 ? SECTION_INNER_PADDING : 0).paddingBottom((d) => d.children && d.children.length > 0 ? SECTION_INNER_PADDING : 0).round(true);\n const treemapData = treemapLayout(hierarchyRoot);\n const branchNodes = treemapData.descendants().filter((d) => d.children && d.children.length > 0);\n const sections = g.selectAll(\".treemapSection\").data(branchNodes).enter().append(\"g\").attr(\"class\", \"treemapSection\").attr(\"transform\", (d) => `translate(${d.x0},${d.y0})`);\n sections.append(\"rect\").attr(\"width\", (d) => d.x1 - d.x0).attr(\"height\", SECTION_HEADER_HEIGHT).attr(\"class\", \"treemapSectionHeader\").attr(\"fill\", \"none\").attr(\"fill-opacity\", 0.6).attr(\"stroke-width\", 0.6).attr(\"style\", (d) => {\n if (d.depth === 0) {\n return \"display: none;\";\n }\n return \"\";\n });\n sections.append(\"clipPath\").attr(\"id\", (_d, i) => `clip-section-${id}-${i}`).append(\"rect\").attr(\"width\", (d) => Math.max(0, d.x1 - d.x0 - 12)).attr(\"height\", SECTION_HEADER_HEIGHT);\n sections.append(\"rect\").attr(\"width\", (d) => d.x1 - d.x0).attr(\"height\", (d) => d.y1 - d.y0).attr(\"class\", (_d, i) => {\n return `treemapSection section${i}`;\n }).attr(\"fill\", (d) => colorScale(d.data.name)).attr(\"fill-opacity\", 0.6).attr(\"stroke\", (d) => colorScalePeer(d.data.name)).attr(\"stroke-width\", 2).attr(\"stroke-opacity\", 0.4).attr(\"style\", (d) => {\n if (d.depth === 0) {\n return \"display: none;\";\n }\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return styles.nodeStyles + \";\" + styles.borderStyles.join(\";\");\n });\n sections.append(\"text\").attr(\"class\", \"treemapSectionLabel\").attr(\"x\", 6).attr(\"y\", SECTION_HEADER_HEIGHT / 2).attr(\"dominant-baseline\", \"middle\").text((d) => d.depth === 0 ? \"\" : d.data.name).attr(\"font-weight\", \"bold\").attr(\"style\", (d) => {\n if (d.depth === 0) {\n return \"display: none;\";\n }\n const labelStyles = \"dominant-baseline: middle; font-size: 12px; fill:\" + colorScaleLabel(d.data.name) + \"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\";\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return labelStyles + styles.labelStyles.replace(\"color:\", \"fill:\");\n }).each(function(d) {\n if (d.depth === 0) {\n return;\n }\n const self = select(this);\n const originalText = d.data.name;\n self.text(originalText);\n const totalHeaderWidth = d.x1 - d.x0;\n const labelXPosition = 6;\n let spaceForTextContent;\n if (config.showValues !== false && d.value) {\n const valueEndsAtXRelative = totalHeaderWidth - 10;\n const estimatedValueTextActualWidth = 30;\n const gapBetweenLabelAndValue = 10;\n const labelMustEndBeforeX = valueEndsAtXRelative - estimatedValueTextActualWidth - gapBetweenLabelAndValue;\n spaceForTextContent = labelMustEndBeforeX - labelXPosition;\n } else {\n const labelOwnRightPadding = 6;\n spaceForTextContent = totalHeaderWidth - labelXPosition - labelOwnRightPadding;\n }\n const minimumWidthToDisplay = 15;\n const actualAvailableWidth = Math.max(minimumWidthToDisplay, spaceForTextContent);\n const textNode = self.node();\n const currentTextContentLength = textNode.getComputedTextLength();\n if (currentTextContentLength > actualAvailableWidth) {\n const ellipsis = \"...\";\n let currentTruncatedText = originalText;\n while (currentTruncatedText.length > 0) {\n currentTruncatedText = originalText.substring(0, currentTruncatedText.length - 1);\n if (currentTruncatedText.length === 0) {\n self.text(ellipsis);\n if (textNode.getComputedTextLength() > actualAvailableWidth) {\n self.text(\"\");\n }\n break;\n }\n self.text(currentTruncatedText + ellipsis);\n if (textNode.getComputedTextLength() <= actualAvailableWidth) {\n break;\n }\n }\n }\n });\n if (config.showValues !== false) {\n sections.append(\"text\").attr(\"class\", \"treemapSectionValue\").attr(\"x\", (d) => d.x1 - d.x0 - 10).attr(\"y\", SECTION_HEADER_HEIGHT / 2).attr(\"text-anchor\", \"end\").attr(\"dominant-baseline\", \"middle\").text((d) => d.value ? valueFormat(d.value) : \"\").attr(\"font-style\", \"italic\").attr(\"style\", (d) => {\n if (d.depth === 0) {\n return \"display: none;\";\n }\n const labelStyles = \"text-anchor: end; dominant-baseline: middle; font-size: 10px; fill:\" + colorScaleLabel(d.data.name) + \"; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;\";\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return labelStyles + styles.labelStyles.replace(\"color:\", \"fill:\");\n });\n }\n const leafNodes = treemapData.leaves();\n const cell = g.selectAll(\".treemapLeafGroup\").data(leafNodes).enter().append(\"g\").attr(\"class\", (d, i) => {\n return `treemapNode treemapLeafGroup leaf${i}${d.data.classSelector ? ` ${d.data.classSelector}` : \"\"}x`;\n }).attr(\"transform\", (d) => `translate(${d.x0},${d.y0})`);\n cell.append(\"rect\").attr(\"width\", (d) => d.x1 - d.x0).attr(\"height\", (d) => d.y1 - d.y0).attr(\"class\", \"treemapLeaf\").attr(\"fill\", (d) => {\n return d.parent ? colorScale(d.parent.data.name) : colorScale(d.data.name);\n }).attr(\"style\", (d) => {\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return styles.nodeStyles;\n }).attr(\"fill-opacity\", 0.3).attr(\"stroke\", (d) => {\n return d.parent ? colorScale(d.parent.data.name) : colorScale(d.data.name);\n }).attr(\"stroke-width\", 3);\n cell.append(\"clipPath\").attr(\"id\", (_d, i) => `clip-${id}-${i}`).append(\"rect\").attr(\"width\", (d) => Math.max(0, d.x1 - d.x0 - 4)).attr(\"height\", (d) => Math.max(0, d.y1 - d.y0 - 4));\n const leafLabels = cell.append(\"text\").attr(\"class\", \"treemapLabel\").attr(\"x\", (d) => (d.x1 - d.x0) / 2).attr(\"y\", (d) => (d.y1 - d.y0) / 2).attr(\"style\", (d) => {\n const labelStyles = \"text-anchor: middle; dominant-baseline: middle; font-size: 38px;fill:\" + colorScaleLabel(d.data.name) + \";\";\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return labelStyles + styles.labelStyles.replace(\"color:\", \"fill:\");\n }).attr(\"clip-path\", (_d, i) => `url(#clip-${id}-${i})`).text((d) => d.data.name);\n leafLabels.each(function(d) {\n const self = select(this);\n const nodeWidth = d.x1 - d.x0;\n const nodeHeight = d.y1 - d.y0;\n const textNode = self.node();\n const padding = 4;\n const availableWidth = nodeWidth - 2 * padding;\n const availableHeight = nodeHeight - 2 * padding;\n if (availableWidth < 10 || availableHeight < 10) {\n self.style(\"display\", \"none\");\n return;\n }\n let currentLabelFontSize = parseInt(self.style(\"font-size\"), 10);\n const minLabelFontSize = 8;\n const originalValueRelFontSize = 28;\n const valueScaleFactor = 0.6;\n const minValueFontSize = 6;\n const spacingBetweenLabelAndValue = 2;\n while (textNode.getComputedTextLength() > availableWidth && currentLabelFontSize > minLabelFontSize) {\n currentLabelFontSize--;\n self.style(\"font-size\", `${currentLabelFontSize}px`);\n }\n let prospectiveValueFontSize = Math.max(\n minValueFontSize,\n Math.min(originalValueRelFontSize, Math.round(currentLabelFontSize * valueScaleFactor))\n );\n let combinedHeight = currentLabelFontSize + spacingBetweenLabelAndValue + prospectiveValueFontSize;\n while (combinedHeight > availableHeight && currentLabelFontSize > minLabelFontSize) {\n currentLabelFontSize--;\n prospectiveValueFontSize = Math.max(\n minValueFontSize,\n Math.min(originalValueRelFontSize, Math.round(currentLabelFontSize * valueScaleFactor))\n );\n if (prospectiveValueFontSize < minValueFontSize && currentLabelFontSize === minLabelFontSize) {\n break;\n }\n self.style(\"font-size\", `${currentLabelFontSize}px`);\n combinedHeight = currentLabelFontSize + spacingBetweenLabelAndValue + prospectiveValueFontSize;\n if (prospectiveValueFontSize <= minValueFontSize && combinedHeight > availableHeight) {\n }\n }\n self.style(\"font-size\", `${currentLabelFontSize}px`);\n if (textNode.getComputedTextLength() > availableWidth || currentLabelFontSize < minLabelFontSize || availableHeight < currentLabelFontSize) {\n self.style(\"display\", \"none\");\n }\n });\n if (config.showValues !== false) {\n const leafValues = cell.append(\"text\").attr(\"class\", \"treemapValue\").attr(\"x\", (d) => (d.x1 - d.x0) / 2).attr(\"y\", function(d) {\n return (d.y1 - d.y0) / 2;\n }).attr(\"style\", (d) => {\n const labelStyles = \"text-anchor: middle; dominant-baseline: hanging; font-size: 28px;fill:\" + colorScaleLabel(d.data.name) + \";\";\n const styles = styles2String({ cssCompiledStyles: d.data.cssCompiledStyles });\n return labelStyles + styles.labelStyles.replace(\"color:\", \"fill:\");\n }).attr(\"clip-path\", (_d, i) => `url(#clip-${id}-${i})`).text((d) => d.value ? valueFormat(d.value) : \"\");\n leafValues.each(function(d) {\n const valueTextElement = select(this);\n const parentCellNode = this.parentNode;\n if (!parentCellNode) {\n valueTextElement.style(\"display\", \"none\");\n return;\n }\n const labelElement = select(parentCellNode).select(\".treemapLabel\");\n if (labelElement.empty() || labelElement.style(\"display\") === \"none\") {\n valueTextElement.style(\"display\", \"none\");\n return;\n }\n const finalLabelFontSize = parseFloat(labelElement.style(\"font-size\"));\n const originalValueFontSize = 28;\n const valueScaleFactor = 0.6;\n const minValueFontSize = 6;\n const spacingBetweenLabelAndValue = 2;\n const actualValueFontSize = Math.max(\n minValueFontSize,\n Math.min(originalValueFontSize, Math.round(finalLabelFontSize * valueScaleFactor))\n );\n valueTextElement.style(\"font-size\", `${actualValueFontSize}px`);\n const labelCenterY = (d.y1 - d.y0) / 2;\n const valueTopActualY = labelCenterY + finalLabelFontSize / 2 + spacingBetweenLabelAndValue;\n valueTextElement.attr(\"y\", valueTopActualY);\n const nodeWidth = d.x1 - d.x0;\n const nodeTotalHeight = d.y1 - d.y0;\n const cellBottomPadding = 4;\n const maxValueBottomY = nodeTotalHeight - cellBottomPadding;\n const availableWidthForValue = nodeWidth - 2 * 4;\n if (valueTextElement.node().getComputedTextLength() > availableWidthForValue || valueTopActualY + actualValueFontSize > maxValueBottomY || actualValueFontSize < minValueFontSize) {\n valueTextElement.style(\"display\", \"none\");\n } else {\n valueTextElement.style(\"display\", null);\n }\n });\n }\n const diagramPadding = config.diagramPadding ?? 8;\n setupViewPortForSVG(svg, diagramPadding, \"flowchart\", config?.useMaxWidth || false);\n}, \"draw\");\nvar getClasses = /* @__PURE__ */ __name(function(_text, diagramObj) {\n return diagramObj.db.getClasses();\n}, \"getClasses\");\nvar renderer = { draw, getClasses };\n\n// src/diagrams/treemap/styles.ts\nvar defaultTreemapStyleOptions = {\n sectionStrokeColor: \"black\",\n sectionStrokeWidth: \"1\",\n sectionFillColor: \"#efefef\",\n leafStrokeColor: \"black\",\n leafStrokeWidth: \"1\",\n leafFillColor: \"#efefef\",\n labelFontSize: \"12px\",\n valueFontSize: \"10px\",\n titleFontSize: \"14px\"\n};\nvar getStyles = /* @__PURE__ */ __name(({\n treemap: treemap2\n} = {}) => {\n const defaultThemeVariables = getThemeVariables();\n const currentConfig = getConfig();\n const themeVariables = cleanAndMerge(defaultThemeVariables, currentConfig.themeVariables);\n const options = cleanAndMerge(defaultTreemapStyleOptions, treemap2);\n const titleColor = options.titleColor ?? themeVariables.titleColor;\n const labelColor = options.labelColor ?? themeVariables.textColor;\n const valueColor = options.valueColor ?? themeVariables.textColor;\n return `\n .treemapNode.section {\n stroke: ${options.sectionStrokeColor};\n stroke-width: ${options.sectionStrokeWidth};\n fill: ${options.sectionFillColor};\n }\n .treemapNode.leaf {\n stroke: ${options.leafStrokeColor};\n stroke-width: ${options.leafStrokeWidth};\n fill: ${options.leafFillColor};\n }\n .treemapLabel {\n fill: ${labelColor};\n font-size: ${options.labelFontSize};\n }\n .treemapValue {\n fill: ${valueColor};\n font-size: ${options.valueFontSize};\n }\n .treemapTitle {\n fill: ${titleColor};\n font-size: ${options.titleFontSize};\n }\n `;\n}, \"getStyles\");\nvar styles_default = getStyles;\n\n// src/diagrams/treemap/diagram.ts\nvar diagram = {\n parser,\n get db() {\n return new TreeMapDB();\n },\n renderer,\n styles: styles_default\n};\nexport {\n diagram\n};\n","import {\n configureSvgSize\n} from \"./chunk-ICPOFSXX.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/rendering-util/setupViewPortForSVG.ts\nvar setupViewPortForSVG = /* @__PURE__ */ __name((svg, padding, cssDiagram, useMaxWidth) => {\n svg.attr(\"class\", cssDiagram);\n const { width, height, x, y } = calculateDimensionsWithPadding(svg, padding);\n configureSvgSize(svg, height, width, useMaxWidth);\n const viewBox = createViewBox(x, y, width, height, padding);\n svg.attr(\"viewBox\", viewBox);\n log.debug(`viewBox configured: ${viewBox} with padding: ${padding}`);\n}, \"setupViewPortForSVG\");\nvar calculateDimensionsWithPadding = /* @__PURE__ */ __name((svg, padding) => {\n const bounds = svg.node()?.getBBox() || { width: 0, height: 0, x: 0, y: 0 };\n return {\n width: bounds.width + padding * 2,\n height: bounds.height + padding * 2,\n x: bounds.x,\n y: bounds.y\n };\n}, \"calculateDimensionsWithPadding\");\nvar createViewBox = /* @__PURE__ */ __name((x, y, width, height, padding) => {\n return `${x - padding} ${y - padding} ${width} ${height}`;\n}, \"createViewBox\");\n\nexport {\n setupViewPortForSVG\n};\n"],"names":["populateCommonDb","ast","db","_db$setAccDescription","_db$setAccTitle","_db$setDiagramTitle","accDescr","setAccDescription","call","accTitle","setAccTitle","title","setDiagramTitle","__name","TreeMapDB","_Class","constructor","this","nodes","levels","Map","outerNodes","classes","getAccTitle","getDiagramTitle","getAccDescription","getNodes","getConfig","_userConfig$treemap","defaultConfig","defaultConfig_default","userConfig","cleanAndMerge","_objectSpread","treemap","addNode","node","level","_this$root","push","set","root","getRoot","name","children","addClass","id","_style","_this$classes$get","styleClass","get","styles","textStyles","replace","split","forEach","s","isLabelStyle","getClasses","getStylesForClass","classSelector","_this$classes$get$sty","_this$classes$get2","clear","buildHierarchy","items","length","stack","item","type","cssCompiledStyles","value","pop","parent","populate","row","_ast$TreemapRows","TreemapRows","_row$className","_row$styleText","$type","className","styleText","_ast$TreemapRows2","indent","parseInt","getItemName","itemData","hierarchyNodes","addNodesRecursively","String","parser","yy","parse","async","_parser$parser","parseFunc","text","log","debug","Error","error","SECTION_INNER_PADDING","renderer","draw","_text","_version","diagram2","_config$padding","_config$diagramPaddin","treemapDb","config","treemapInnerPadding","padding","themeVariables","titleHeight","svg","selectSvgElement","width","nodeWidth","height","nodeHeight","svgWidth","svgHeight","valueFormat","attr","concat","configureSvgSize","useMaxWidth","formatStr","format","startsWith","includes","precision","exec","precisionStr","restOfFormat","substring","colorScale","scaleOrdinal","range","cScale0","cScale1","cScale2","cScale3","cScale4","cScale5","cScale6","cScale7","cScale8","cScale9","cScale10","cScale11","colorScalePeer","cScalePeer0","cScalePeer1","cScalePeer2","cScalePeer3","cScalePeer4","cScalePeer5","cScalePeer6","cScalePeer7","cScalePeer8","cScalePeer9","cScalePeer10","cScalePeer11","colorScaleLabel","cScaleLabel0","cScaleLabel1","cScaleLabel2","cScaleLabel3","cScaleLabel4","cScaleLabel5","cScaleLabel6","cScaleLabel7","cScaleLabel8","cScaleLabel9","cScaleLabel10","cScaleLabel11","append","g","hierarchyRoot","hierarchy","sum","d","_d$value","sort","a","b","_b$value","_a$value","treemapData","size","paddingTop","SECTION_HEADER_HEIGHT","paddingInner","paddingLeft","paddingRight","paddingBottom","round","treemapLayout","branchNodes","descendants","filter","sections","selectAll","data","enter","x0","y0","x1","depth","_d","i","Math","max","y1","styles2String","nodeStyles","borderStyles","join","labelStyles","each","self","select","originalText","totalHeaderWidth","spaceForTextContent","showValues","actualAvailableWidth","textNode","getComputedTextLength","ellipsis","currentTruncatedText","leafNodes","leaves","cell","availableWidth","availableHeight","style","currentLabelFontSize","prospectiveValueFontSize","min","combinedHeight","valueTextElement","parentCellNode","parentNode","labelElement","empty","finalLabelFontSize","parseFloat","actualValueFontSize","valueTopActualY","maxValueBottomY","availableWidthForValue","diagramPadding","setupViewPortForSVG","diagramObj","defaultTreemapStyleOptions","sectionStrokeColor","sectionStrokeWidth","sectionFillColor","leafStrokeColor","leafStrokeWidth","leafFillColor","labelFontSize","valueFontSize","titleFontSize","getStyles","_options$titleColor","_options$labelColor","_options$valueColor","treemap2","arguments","undefined","defaultThemeVariables","getThemeVariables","currentConfig","options","titleColor","labelColor","textColor","valueColor","styles_default","diagram","cssDiagram","x","y","calculateDimensionsWithPadding","viewBox","createViewBox","_svg$node","bounds","getBBox"],"ignoreList":[],"sourceRoot":""}
build/static/js/502.29e7eeb4.chunk.js ADDED
The diff for this file is too large to render. See raw diff
 
build/static/js/502.29e7eeb4.chunk.js.map ADDED
The diff for this file is too large to render. See raw diff
 
build/static/js/531.a9d78c09.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ (self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[531],{109(t){t.exports=function(){"use strict";var t,e,n=1e3,i=6e4,s=36e5,r=864e5,a=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,o=31536e6,c=2628e6,l=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/,d={years:o,months:c,days:r,hours:s,minutes:i,seconds:n,milliseconds:1,weeks:6048e5},u=function(t){return t instanceof p},h=function(t,e,n){return new p(t,n,e.$l)},f=function(t){return e.p(t)+"s"},m=function(t){return t<0},y=function(t){return m(t)?Math.ceil(t):Math.floor(t)},k=function(t){return Math.abs(t)},g=function(t,e){return t?m(t)?{negative:!0,format:""+k(t)+e}:{negative:!1,format:""+t+e}:{negative:!1,format:""}},p=function(){function m(t,e,n){var i=this;if(this.$d={},this.$l=n,void 0===t&&(this.$ms=0,this.parseFromMilliseconds()),e)return h(t*d[f(e)],this);if("number"==typeof t)return this.$ms=t,this.parseFromMilliseconds(),this;if("object"==typeof t)return Object.keys(t).forEach(function(e){i.$d[f(e)]=t[e]}),this.calMilliseconds(),this;if("string"==typeof t){var s=t.match(l);if(s){var r=s.slice(2).map(function(t){return null!=t?Number(t):0});return this.$d.years=r[0],this.$d.months=r[1],this.$d.weeks=r[2],this.$d.days=r[3],this.$d.hours=r[4],this.$d.minutes=r[5],this.$d.seconds=r[6],this.calMilliseconds(),this}}return this}var k=m.prototype;return k.calMilliseconds=function(){var t=this;this.$ms=Object.keys(this.$d).reduce(function(e,n){return e+(t.$d[n]||0)*d[n]},0)},k.parseFromMilliseconds=function(){var t=this.$ms;this.$d.years=y(t/o),t%=o,this.$d.months=y(t/c),t%=c,this.$d.days=y(t/r),t%=r,this.$d.hours=y(t/s),t%=s,this.$d.minutes=y(t/i),t%=i,this.$d.seconds=y(t/n),t%=n,this.$d.milliseconds=t},k.toISOString=function(){var t=g(this.$d.years,"Y"),e=g(this.$d.months,"M"),n=+this.$d.days||0;this.$d.weeks&&(n+=7*this.$d.weeks);var i=g(n,"D"),s=g(this.$d.hours,"H"),r=g(this.$d.minutes,"M"),a=this.$d.seconds||0;this.$d.milliseconds&&(a+=this.$d.milliseconds/1e3,a=Math.round(1e3*a)/1e3);var o=g(a,"S"),c=t.negative||e.negative||i.negative||s.negative||r.negative||o.negative,l=s.format||r.format||o.format?"T":"",d=(c?"-":"")+"P"+t.format+e.format+i.format+l+s.format+r.format+o.format;return"P"===d||"-P"===d?"P0D":d},k.toJSON=function(){return this.toISOString()},k.format=function(t){var n=t||"YYYY-MM-DDTHH:mm:ss",i={Y:this.$d.years,YY:e.s(this.$d.years,2,"0"),YYYY:e.s(this.$d.years,4,"0"),M:this.$d.months,MM:e.s(this.$d.months,2,"0"),D:this.$d.days,DD:e.s(this.$d.days,2,"0"),H:this.$d.hours,HH:e.s(this.$d.hours,2,"0"),m:this.$d.minutes,mm:e.s(this.$d.minutes,2,"0"),s:this.$d.seconds,ss:e.s(this.$d.seconds,2,"0"),SSS:e.s(this.$d.milliseconds,3,"0")};return n.replace(a,function(t,e){return e||String(i[t])})},k.as=function(t){return this.$ms/d[f(t)]},k.get=function(t){var e=this.$ms,n=f(t);return"milliseconds"===n?e%=1e3:e="weeks"===n?y(e/d[n]):this.$d[n],e||0},k.add=function(t,e,n){var i;return i=e?t*d[f(e)]:u(t)?t.$ms:h(t,this).$ms,h(this.$ms+i*(n?-1:1),this)},k.subtract=function(t,e){return this.add(t,e,!0)},k.locale=function(t){var e=this.clone();return e.$l=t,e},k.clone=function(){return h(this.$ms,this)},k.humanize=function(e){return t().add(this.$ms,"ms").locale(this.$l).fromNow(!e)},k.valueOf=function(){return this.asMilliseconds()},k.milliseconds=function(){return this.get("milliseconds")},k.asMilliseconds=function(){return this.as("milliseconds")},k.seconds=function(){return this.get("seconds")},k.asSeconds=function(){return this.as("seconds")},k.minutes=function(){return this.get("minutes")},k.asMinutes=function(){return this.as("minutes")},k.hours=function(){return this.get("hours")},k.asHours=function(){return this.as("hours")},k.days=function(){return this.get("days")},k.asDays=function(){return this.as("days")},k.weeks=function(){return this.get("weeks")},k.asWeeks=function(){return this.as("weeks")},k.months=function(){return this.get("months")},k.asMonths=function(){return this.as("months")},k.years=function(){return this.get("years")},k.asYears=function(){return this.as("years")},m}(),v=function(t,e,n){return t.add(e.years()*n,"y").add(e.months()*n,"M").add(e.days()*n,"d").add(e.hours()*n,"h").add(e.minutes()*n,"m").add(e.seconds()*n,"s").add(e.milliseconds()*n,"ms")};return function(n,i,s){t=s,e=s().$utils(),s.duration=function(t,e){var n=s.locale();return h(t,{$l:n},e)},s.isDuration=u;var r=i.prototype.add,a=i.prototype.subtract;i.prototype.add=function(t,e){return u(t)?v(this,t,1):r.bind(this)(t,e)},i.prototype.subtract=function(t,e){return u(t)?v(this,t,-1):a.bind(this)(t,e)}}}()},42531(t,e,n){"use strict";n.d(e,{diagram:()=>Ht});var i=n(33635),s=n(84571),r=n(45420),a=n(32748),o=n(73755),c=n(60446),l=n(87140),d=n(68988),u=n(97076),h=n(109),f=n(68973),m=function(){var t=(0,a.K2)(function(t,e,n,i){for(n=n||{},i=t.length;i--;n[t[i]]=e);return n},"o"),e=[6,8,10,12,13,14,15,16,17,18,20,21,22,23,24,25,26,27,28,29,30,31,33,35,36,38,40],n=[1,26],i=[1,27],s=[1,28],r=[1,29],o=[1,30],c=[1,31],l=[1,32],d=[1,33],u=[1,34],h=[1,9],f=[1,10],m=[1,11],y=[1,12],k=[1,13],g=[1,14],p=[1,15],v=[1,16],T=[1,19],x=[1,20],b=[1,21],w=[1,22],_=[1,23],D=[1,25],$=[1,35],S={trace:(0,a.K2)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,gantt:4,document:5,EOF:6,line:7,SPACE:8,statement:9,NL:10,weekday:11,weekday_monday:12,weekday_tuesday:13,weekday_wednesday:14,weekday_thursday:15,weekday_friday:16,weekday_saturday:17,weekday_sunday:18,weekend:19,weekend_friday:20,weekend_saturday:21,dateFormat:22,inclusiveEndDates:23,topAxis:24,axisFormat:25,tickInterval:26,excludes:27,includes:28,todayMarker:29,title:30,acc_title:31,acc_title_value:32,acc_descr:33,acc_descr_value:34,acc_descr_multiline_value:35,section:36,clickStatement:37,taskTxt:38,taskData:39,click:40,callbackname:41,callbackargs:42,href:43,clickStatementDebug:44,$accept:0,$end:1},terminals_:{2:"error",4:"gantt",6:"EOF",8:"SPACE",10:"NL",12:"weekday_monday",13:"weekday_tuesday",14:"weekday_wednesday",15:"weekday_thursday",16:"weekday_friday",17:"weekday_saturday",18:"weekday_sunday",20:"weekend_friday",21:"weekend_saturday",22:"dateFormat",23:"inclusiveEndDates",24:"topAxis",25:"axisFormat",26:"tickInterval",27:"excludes",28:"includes",29:"todayMarker",30:"title",31:"acc_title",32:"acc_title_value",33:"acc_descr",34:"acc_descr_value",35:"acc_descr_multiline_value",36:"section",38:"taskTxt",39:"taskData",40:"click",41:"callbackname",42:"callbackargs",43:"href"},productions_:[0,[3,3],[5,0],[5,2],[7,2],[7,1],[7,1],[7,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[11,1],[19,1],[19,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,1],[9,2],[9,2],[9,1],[9,1],[9,1],[9,2],[37,2],[37,3],[37,3],[37,4],[37,3],[37,4],[37,2],[44,2],[44,3],[44,3],[44,4],[44,3],[44,4],[44,2]],performAction:(0,a.K2)(function(t,e,n,i,s,r,a){var o=r.length-1;switch(s){case 1:return r[o-1];case 2:case 6:case 7:this.$=[];break;case 3:r[o-1].push(r[o]),this.$=r[o-1];break;case 4:case 5:this.$=r[o];break;case 8:i.setWeekday("monday");break;case 9:i.setWeekday("tuesday");break;case 10:i.setWeekday("wednesday");break;case 11:i.setWeekday("thursday");break;case 12:i.setWeekday("friday");break;case 13:i.setWeekday("saturday");break;case 14:i.setWeekday("sunday");break;case 15:i.setWeekend("friday");break;case 16:i.setWeekend("saturday");break;case 17:i.setDateFormat(r[o].substr(11)),this.$=r[o].substr(11);break;case 18:i.enableInclusiveEndDates(),this.$=r[o].substr(18);break;case 19:i.TopAxis(),this.$=r[o].substr(8);break;case 20:i.setAxisFormat(r[o].substr(11)),this.$=r[o].substr(11);break;case 21:i.setTickInterval(r[o].substr(13)),this.$=r[o].substr(13);break;case 22:i.setExcludes(r[o].substr(9)),this.$=r[o].substr(9);break;case 23:i.setIncludes(r[o].substr(9)),this.$=r[o].substr(9);break;case 24:i.setTodayMarker(r[o].substr(12)),this.$=r[o].substr(12);break;case 27:i.setDiagramTitle(r[o].substr(6)),this.$=r[o].substr(6);break;case 28:this.$=r[o].trim(),i.setAccTitle(this.$);break;case 29:case 30:this.$=r[o].trim(),i.setAccDescription(this.$);break;case 31:i.addSection(r[o].substr(8)),this.$=r[o].substr(8);break;case 33:i.addTask(r[o-1],r[o]),this.$="task";break;case 34:this.$=r[o-1],i.setClickEvent(r[o-1],r[o],null);break;case 35:this.$=r[o-2],i.setClickEvent(r[o-2],r[o-1],r[o]);break;case 36:this.$=r[o-2],i.setClickEvent(r[o-2],r[o-1],null),i.setLink(r[o-2],r[o]);break;case 37:this.$=r[o-3],i.setClickEvent(r[o-3],r[o-2],r[o-1]),i.setLink(r[o-3],r[o]);break;case 38:this.$=r[o-2],i.setClickEvent(r[o-2],r[o],null),i.setLink(r[o-2],r[o-1]);break;case 39:this.$=r[o-3],i.setClickEvent(r[o-3],r[o-1],r[o]),i.setLink(r[o-3],r[o-2]);break;case 40:this.$=r[o-1],i.setLink(r[o-1],r[o]);break;case 41:case 47:this.$=r[o-1]+" "+r[o];break;case 42:case 43:case 45:this.$=r[o-2]+" "+r[o-1]+" "+r[o];break;case 44:case 46:this.$=r[o-3]+" "+r[o-2]+" "+r[o-1]+" "+r[o]}},"anonymous"),table:[{3:1,4:[1,2]},{1:[3]},t(e,[2,2],{5:3}),{6:[1,4],7:5,8:[1,6],9:7,10:[1,8],11:17,12:n,13:i,14:s,15:r,16:o,17:c,18:l,19:18,20:d,21:u,22:h,23:f,24:m,25:y,26:k,27:g,28:p,29:v,30:T,31:x,33:b,35:w,36:_,37:24,38:D,40:$},t(e,[2,7],{1:[2,1]}),t(e,[2,3]),{9:36,11:17,12:n,13:i,14:s,15:r,16:o,17:c,18:l,19:18,20:d,21:u,22:h,23:f,24:m,25:y,26:k,27:g,28:p,29:v,30:T,31:x,33:b,35:w,36:_,37:24,38:D,40:$},t(e,[2,5]),t(e,[2,6]),t(e,[2,17]),t(e,[2,18]),t(e,[2,19]),t(e,[2,20]),t(e,[2,21]),t(e,[2,22]),t(e,[2,23]),t(e,[2,24]),t(e,[2,25]),t(e,[2,26]),t(e,[2,27]),{32:[1,37]},{34:[1,38]},t(e,[2,30]),t(e,[2,31]),t(e,[2,32]),{39:[1,39]},t(e,[2,8]),t(e,[2,9]),t(e,[2,10]),t(e,[2,11]),t(e,[2,12]),t(e,[2,13]),t(e,[2,14]),t(e,[2,15]),t(e,[2,16]),{41:[1,40],43:[1,41]},t(e,[2,4]),t(e,[2,28]),t(e,[2,29]),t(e,[2,33]),t(e,[2,34],{42:[1,42],43:[1,43]}),t(e,[2,40],{41:[1,44]}),t(e,[2,35],{43:[1,45]}),t(e,[2,36]),t(e,[2,38],{42:[1,46]}),t(e,[2,37]),t(e,[2,39])],defaultActions:{},parseError:(0,a.K2)(function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},"parseError"),parse:(0,a.K2)(function(t){var e=this,n=[0],i=[],s=[null],r=[],o=this.table,c="",l=0,d=0,u=0,h=r.slice.call(arguments,1),f=Object.create(this.lexer),m={yy:{}};for(var y in this.yy)Object.prototype.hasOwnProperty.call(this.yy,y)&&(m.yy[y]=this.yy[y]);f.setInput(t,m.yy),m.yy.lexer=f,m.yy.parser=this,"undefined"==typeof f.yylloc&&(f.yylloc={});var k=f.yylloc;r.push(k);var g=f.options&&f.options.ranges;function p(){var t;return"number"!==typeof(t=i.pop()||f.lex()||1)&&(t instanceof Array&&(t=(i=t).pop()),t=e.symbols_[t]||t),t}"function"===typeof m.yy.parseError?this.parseError=m.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,a.K2)(function(t){n.length=n.length-2*t,s.length=s.length-t,r.length=r.length-t},"popStack"),(0,a.K2)(p,"lex");for(var v,T,x,b,w,_,D,$,S,C={};;){if(x=n[n.length-1],this.defaultActions[x]?b=this.defaultActions[x]:(null!==v&&"undefined"!=typeof v||(v=p()),b=o[x]&&o[x][v]),"undefined"===typeof b||!b.length||!b[0]){var M="";for(_ in S=[],o[x])this.terminals_[_]&&_>2&&S.push("'"+this.terminals_[_]+"'");M=f.showPosition?"Parse error on line "+(l+1)+":\n"+f.showPosition()+"\nExpecting "+S.join(", ")+", got '"+(this.terminals_[v]||v)+"'":"Parse error on line "+(l+1)+": Unexpected "+(1==v?"end of input":"'"+(this.terminals_[v]||v)+"'"),this.parseError(M,{text:f.match,token:this.terminals_[v]||v,line:f.yylineno,loc:k,expected:S})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+x+", token: "+v);switch(b[0]){case 1:n.push(v),s.push(f.yytext),r.push(f.yylloc),n.push(b[1]),v=null,T?(v=T,T=null):(d=f.yyleng,c=f.yytext,l=f.yylineno,k=f.yylloc,u>0&&u--);break;case 2:if(D=this.productions_[b[1]][1],C.$=s[s.length-D],C._$={first_line:r[r.length-(D||1)].first_line,last_line:r[r.length-1].last_line,first_column:r[r.length-(D||1)].first_column,last_column:r[r.length-1].last_column},g&&(C._$.range=[r[r.length-(D||1)].range[0],r[r.length-1].range[1]]),"undefined"!==typeof(w=this.performAction.apply(C,[c,d,l,m.yy,b[1],s,r].concat(h))))return w;D&&(n=n.slice(0,-1*D*2),s=s.slice(0,-1*D),r=r.slice(0,-1*D)),n.push(this.productions_[b[1]][0]),s.push(C.$),r.push(C._$),$=o[n[n.length-2]][n[n.length-1]],n.push($);break;case 3:return!0}}return!0},"parse")},C=function(){return{EOF:1,parseError:(0,a.K2)(function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},"parseError"),setInput:(0,a.K2)(function(t,e){return this.yy=e||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,a.K2)(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,a.K2)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;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),n.length-1&&(this.yylineno-=n.length-1);var s=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:n?(n.length===i.length?this.yylloc.first_column:0)+i[i.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[s[0],s[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,a.K2)(function(){return this._more=!0,this},"more"),reject:(0,a.K2)(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,a.K2)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,a.K2)(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,a.K2)(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,a.K2)(function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,a.K2)(function(t,e){var n,i,s;if(this.options.backtrack_lexer&&(s={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&&(s.yylloc.range=this.yylloc.range.slice(0))),(i=t[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+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],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var r in s)this[r]=s[r];return!1}return!1},"test_match"),next:(0,a.K2)(function(){if(this.done)return this.EOF;var t,e,n,i;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var s=this._currentRules(),r=0;r<s.length;r++)if((n=this._input.match(this.rules[s[r]]))&&(!e||n[0].length>e[0].length)){if(e=n,i=r,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,s[r])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,s[i]))&&t:""===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,a.K2)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,a.K2)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,a.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,a.K2)(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,a.K2)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,a.K2)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,a.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{"case-insensitive":!0},performAction:(0,a.K2)(function(t,e,n,i){switch(n){case 0:return this.begin("open_directive"),"open_directive";case 1:return this.begin("acc_title"),31;case 2:return this.popState(),"acc_title_value";case 3:return this.begin("acc_descr"),33;case 4:return this.popState(),"acc_descr_value";case 5:this.begin("acc_descr_multiline");break;case 6:case 15:case 18:case 21:case 24:this.popState();break;case 7:return"acc_descr_multiline_value";case 8:case 9:case 10:case 12:case 13:break;case 11:return 10;case 14:this.begin("href");break;case 16:return 43;case 17:this.begin("callbackname");break;case 19:this.popState(),this.begin("callbackargs");break;case 20:return 41;case 22:return 42;case 23:this.begin("click");break;case 25:return 40;case 26:return 4;case 27:return 22;case 28:return 23;case 29:return 24;case 30:return 25;case 31:return 26;case 32:return 28;case 33:return 27;case 34:return 29;case 35:return 12;case 36:return 13;case 37:return 14;case 38:return 15;case 39:return 16;case 40:return 17;case 41:return 18;case 42:return 20;case 43:return 21;case 44:return"date";case 45:return 30;case 46:return"accDescription";case 47:return 36;case 48:return 38;case 49:return 39;case 50:return":";case 51:return 6;case 52:return"INVALID"}},"anonymous"),rules:[/^(?:%%\{)/i,/^(?:accTitle\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*:\s*)/i,/^(?:(?!\n||)*[^\n]*)/i,/^(?:accDescr\s*\{\s*)/i,/^(?:[\}])/i,/^(?:[^\}]*)/i,/^(?:%%(?!\{)*[^\n]*)/i,/^(?:[^\}]%%*[^\n]*)/i,/^(?:%%*[^\n]*[\n]*)/i,/^(?:[\n]+)/i,/^(?:\s+)/i,/^(?:%[^\n]*)/i,/^(?:href[\s]+["])/i,/^(?:["])/i,/^(?:[^"]*)/i,/^(?:call[\s]+)/i,/^(?:\([\s]*\))/i,/^(?:\()/i,/^(?:[^(]*)/i,/^(?:\))/i,/^(?:[^)]*)/i,/^(?:click[\s]+)/i,/^(?:[\s\n])/i,/^(?:[^\s\n]*)/i,/^(?:gantt\b)/i,/^(?:dateFormat\s[^#\n;]+)/i,/^(?:inclusiveEndDates\b)/i,/^(?:topAxis\b)/i,/^(?:axisFormat\s[^#\n;]+)/i,/^(?:tickInterval\s[^#\n;]+)/i,/^(?:includes\s[^#\n;]+)/i,/^(?:excludes\s[^#\n;]+)/i,/^(?:todayMarker\s[^\n;]+)/i,/^(?:weekday\s+monday\b)/i,/^(?:weekday\s+tuesday\b)/i,/^(?:weekday\s+wednesday\b)/i,/^(?:weekday\s+thursday\b)/i,/^(?:weekday\s+friday\b)/i,/^(?:weekday\s+saturday\b)/i,/^(?:weekday\s+sunday\b)/i,/^(?:weekend\s+friday\b)/i,/^(?:weekend\s+saturday\b)/i,/^(?:\d\d\d\d-\d\d-\d\d\b)/i,/^(?:title\s[^\n]+)/i,/^(?:accDescription\s[^#\n;]+)/i,/^(?:section\s[^\n]+)/i,/^(?:[^:\n]+)/i,/^(?::[^#\n;]+)/i,/^(?::)/i,/^(?:$)/i,/^(?:.)/i],conditions:{acc_descr_multiline:{rules:[6,7],inclusive:!1},acc_descr:{rules:[4],inclusive:!1},acc_title:{rules:[2],inclusive:!1},callbackargs:{rules:[21,22],inclusive:!1},callbackname:{rules:[18,19,20],inclusive:!1},href:{rules:[15,16],inclusive:!1},click:{rules:[24,25],inclusive:!1},INITIAL:{rules:[0,1,3,5,8,9,10,11,12,13,14,17,23,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52],inclusive:!0}}}}();function M(){this.yy={}}return S.lexer=C,(0,a.K2)(M,"Parser"),M.prototype=S,S.Parser=M,new M}();m.parser=m;var y=m;c.extend(l),c.extend(d),c.extend(u);var k,g,p={friday:5,saturday:6},v="",T="",x=void 0,b="",w=[],_=[],D=new Map,$=[],S=[],C="",M="",K=["active","done","crit","milestone","vert"],E=[],Y="",A=!1,L=!1,O="sunday",I="saturday",F=0,W=(0,a.K2)(function(){$=[],S=[],C="",E=[],gt=0,k=void 0,g=void 0,xt=[],v="",T="",M="",x=void 0,b="",w=[],_=[],A=!1,L=!1,F=0,D=new Map,Y="",(0,r.IU)(),O="sunday",I="saturday"},"clear"),P=(0,a.K2)(function(t){Y=t},"setDiagramId"),H=(0,a.K2)(function(t){T=t},"setAxisFormat"),N=(0,a.K2)(function(){return T},"getAxisFormat"),B=(0,a.K2)(function(t){x=t},"setTickInterval"),z=(0,a.K2)(function(){return x},"getTickInterval"),R=(0,a.K2)(function(t){b=t},"setTodayMarker"),G=(0,a.K2)(function(){return b},"getTodayMarker"),j=(0,a.K2)(function(t){v=t},"setDateFormat"),U=(0,a.K2)(function(){A=!0},"enableInclusiveEndDates"),V=(0,a.K2)(function(){return A},"endDatesAreInclusive"),Z=(0,a.K2)(function(){L=!0},"enableTopAxis"),X=(0,a.K2)(function(){return L},"topAxisEnabled"),q=(0,a.K2)(function(t){M=t},"setDisplayMode"),Q=(0,a.K2)(function(){return M},"getDisplayMode"),J=(0,a.K2)(function(){return v},"getDateFormat"),tt=(0,a.K2)(function(t){w=t.toLowerCase().split(/[\s,]+/)},"setIncludes"),et=(0,a.K2)(function(){return w},"getIncludes"),nt=(0,a.K2)(function(t){_=t.toLowerCase().split(/[\s,]+/)},"setExcludes"),it=(0,a.K2)(function(){return _},"getExcludes"),st=(0,a.K2)(function(){return D},"getLinks"),rt=(0,a.K2)(function(t){C=t,$.push(t)},"addSection"),at=(0,a.K2)(function(){return $},"getSections"),ot=(0,a.K2)(function(){let t=$t();let e=0;for(;!t&&e<10;)t=$t(),e++;return S=xt},"getTasks"),ct=(0,a.K2)(function(t,e,n,i){const s=t.format(e.trim()),r=t.format("YYYY-MM-DD");return!i.includes(s)&&!i.includes(r)&&(!(!n.includes("weekends")||t.isoWeekday()!==p[I]&&t.isoWeekday()!==p[I]+1)||(!!n.includes(t.format("dddd").toLowerCase())||(n.includes(s)||n.includes(r))))},"isInvalidDate"),lt=(0,a.K2)(function(t){O=t},"setWeekday"),dt=(0,a.K2)(function(){return O},"getWeekday"),ut=(0,a.K2)(function(t){I=t},"setWeekend"),ht=(0,a.K2)(function(t,e,n,i){if(!n.length||t.manualEndTime)return;let s,r;s=t.startTime instanceof Date?c(t.startTime):c(t.startTime,e,!0),s=s.add(1,"d"),r=t.endTime instanceof Date?c(t.endTime):c(t.endTime,e,!0);const[a,o]=ft(s,r,e,n,i);t.endTime=a.toDate(),t.renderEndTime=o},"checkTaskDates"),ft=(0,a.K2)(function(t,e,n,i,s){let r=!1,a=null;for(;t<=e;)r||(a=e.toDate()),r=ct(t,n,i,s),r&&(e=e.add(1,"d")),t=t.add(1,"d");return[e,a]},"fixTaskDates"),mt=(0,a.K2)(function(t,e,n){n=n.trim();if((0,a.K2)(t=>{const e=t.trim();return"x"===e||"X"===e},"isTimestampFormat")(e)&&/^\d+$/.test(n))return new Date(Number(n));const s=(0,i.A)(/^after\s+([\d\w- ]+)/,{ids:1}).exec(n);if(null!==s){let t=null;for(const n of s.groups.ids.split(" ")){let e=_t(n);void 0!==e&&(!t||e.endTime>t.endTime)&&(t=e)}if(t)return t.endTime;const e=new Date;return e.setHours(0,0,0,0),e}let r=c(n,e.trim(),!0);if(r.isValid())return r.toDate();{a.Rm.debug("Invalid date:"+n),a.Rm.debug("With date format:"+e.trim());const t=new Date(n);if(void 0===t||isNaN(t.getTime())||t.getFullYear()<-1e4||t.getFullYear()>1e4)throw new Error("Invalid date:"+n);return t}},"getStartDate"),yt=(0,a.K2)(function(t){const e=/^(\d+(?:\.\d+)?)([Mdhmswy]|ms)$/.exec(t.trim());return null!==e?[Number.parseFloat(e[1]),e[2]]:[NaN,"ms"]},"parseDuration"),kt=(0,a.K2)(function(t,e,n){let s=arguments.length>3&&void 0!==arguments[3]&&arguments[3];n=n.trim();const r=(0,i.A)(/^until\s+([\d\w- ]+)/,{ids:1}).exec(n);if(null!==r){let t=null;for(const n of r.groups.ids.split(" ")){let e=_t(n);void 0!==e&&(!t||e.startTime<t.startTime)&&(t=e)}if(t)return t.startTime;const e=new Date;return e.setHours(0,0,0,0),e}let a=c(n,e.trim(),!0);if(a.isValid())return s&&(a=a.add(1,"d")),a.toDate();let o=c(t);const[l,d]=yt(n);if(!Number.isNaN(l)){const t=o.add(l,d);t.isValid()&&(o=t)}return o.toDate()},"getEndDate"),gt=0,pt=(0,a.K2)(function(t){return void 0===t?"task"+(gt+=1):t},"parseId"),vt=(0,a.K2)(function(t,e){let n;n=":"===e.substr(0,1)?e.substr(1,e.length):e;const i=n.split(","),s={};Lt(i,s,K);for(let a=0;a<i.length;a++)i[a]=i[a].trim();let r="";switch(i.length){case 1:s.id=pt(),s.startTime=t.endTime,r=i[0];break;case 2:s.id=pt(),s.startTime=mt(void 0,v,i[0]),r=i[1];break;case 3:s.id=pt(i[0]),s.startTime=mt(void 0,v,i[1]),r=i[2]}return r&&(s.endTime=kt(s.startTime,v,r,A),s.manualEndTime=c(r,"YYYY-MM-DD",!0).isValid(),ht(s,v,_,w)),s},"compileData"),Tt=(0,a.K2)(function(t,e){let n;n=":"===e.substr(0,1)?e.substr(1,e.length):e;const i=n.split(","),s={};Lt(i,s,K);for(let r=0;r<i.length;r++)i[r]=i[r].trim();switch(i.length){case 1:s.id=pt(),s.startTime={type:"prevTaskEnd",id:t},s.endTime={data:i[0]};break;case 2:s.id=pt(),s.startTime={type:"getStartDate",startData:i[0]},s.endTime={data:i[1]};break;case 3:s.id=pt(i[0]),s.startTime={type:"getStartDate",startData:i[1]},s.endTime={data:i[2]}}return s},"parseData"),xt=[],bt={},wt=(0,a.K2)(function(t,e){const n={section:C,type:C,processed:!1,manualEndTime:!1,renderEndTime:null,raw:{data:e},task:t,classes:[]},i=Tt(g,e);n.raw.startTime=i.startTime,n.raw.endTime=i.endTime,n.id=i.id,n.prevTaskId=g,n.active=i.active,n.done=i.done,n.crit=i.crit,n.milestone=i.milestone,n.vert=i.vert,n.order=F,F++;const s=xt.push(n);g=n.id,bt[n.id]=s-1},"addTask"),_t=(0,a.K2)(function(t){const e=bt[t];return xt[e]},"findTaskById"),Dt=(0,a.K2)(function(t,e){const n={section:C,type:C,description:t,task:t,classes:[]},i=vt(k,e);n.startTime=i.startTime,n.endTime=i.endTime,n.id=i.id,n.active=i.active,n.done=i.done,n.crit=i.crit,n.milestone=i.milestone,n.vert=i.vert,k=n,S.push(n)},"addTaskOrg"),$t=(0,a.K2)(function(){const t=(0,a.K2)(function(t){const e=xt[t];let n="";switch(xt[t].raw.startTime.type){case"prevTaskEnd":{const t=_t(e.prevTaskId);e.startTime=t.endTime;break}case"getStartDate":n=mt(void 0,v,xt[t].raw.startTime.startData),n&&(xt[t].startTime=n)}return xt[t].startTime&&(xt[t].endTime=kt(xt[t].startTime,v,xt[t].raw.endTime.data,A),xt[t].endTime&&(xt[t].processed=!0,xt[t].manualEndTime=c(xt[t].raw.endTime.data,"YYYY-MM-DD",!0).isValid(),ht(xt[t],v,_,w))),xt[t].processed},"compileTask");let e=!0;for(const[n,i]of xt.entries())t(n),e=e&&i.processed;return e},"compileTasks"),St=(0,a.K2)(function(t,e){let n=e;"loose"!==(0,r.D7)().securityLevel&&(n=(0,o.J)(e)),t.split(",").forEach(function(t){void 0!==_t(t)&&(Kt(t,()=>{window.open(n,"_self")}),D.set(t,n))}),Ct(t,"clickable")},"setLink"),Ct=(0,a.K2)(function(t,e){t.split(",").forEach(function(t){let n=_t(t);void 0!==n&&n.classes.push(e)})},"setClass"),Mt=(0,a.K2)(function(t,e,n){if("loose"!==(0,r.D7)().securityLevel)return;if(void 0===e)return;let i=[];if("string"===typeof n){i=n.split(/,(?=(?:(?:[^"]*"){2})*[^"]*$)/);for(let t=0;t<i.length;t++){let e=i[t].trim();e.startsWith('"')&&e.endsWith('"')&&(e=e.substr(1,e.length-2)),i[t]=e}}0===i.length&&i.push(t),void 0!==_t(t)&&Kt(t,()=>{s._K.runFunc(e,...i)})},"setClickFun"),Kt=(0,a.K2)(function(t,e){E.push(function(){const n=Y?"".concat(Y,"-").concat(t):t,i=document.querySelector('[id="'.concat(n,'"]'));null!==i&&i.addEventListener("click",function(){e()})},function(){const n=Y?"".concat(Y,"-").concat(t):t,i=document.querySelector('[id="'.concat(n,'-text"]'));null!==i&&i.addEventListener("click",function(){e()})})},"pushFun"),Et=(0,a.K2)(function(t,e,n){t.split(",").forEach(function(t){Mt(t,e,n)}),Ct(t,"clickable")},"setClickEvent"),Yt=(0,a.K2)(function(t){E.forEach(function(e){e(t)})},"bindFunctions"),At={getConfig:(0,a.K2)(()=>(0,r.D7)().gantt,"getConfig"),clear:W,setDateFormat:j,getDateFormat:J,enableInclusiveEndDates:U,endDatesAreInclusive:V,enableTopAxis:Z,topAxisEnabled:X,setAxisFormat:H,getAxisFormat:N,setTickInterval:B,getTickInterval:z,setTodayMarker:R,getTodayMarker:G,setAccTitle:r.SV,getAccTitle:r.iN,setDiagramTitle:r.ke,getDiagramTitle:r.ab,setDiagramId:P,setDisplayMode:q,getDisplayMode:Q,setAccDescription:r.EI,getAccDescription:r.m7,addSection:rt,getSections:at,getTasks:ot,addTask:wt,findTaskById:_t,addTaskOrg:Dt,setIncludes:tt,getIncludes:et,setExcludes:nt,getExcludes:it,setClickEvent:Et,setLink:St,getLinks:st,bindFunctions:Yt,parseDuration:yt,isInvalidDate:ct,setWeekday:lt,getWeekday:dt,setWeekend:ut};function Lt(t,e,n){let i=!0;for(;i;)i=!1,n.forEach(function(n){const s=new RegExp("^\\s*"+n+"\\s*$");t[0].match(s)&&(e[n]=!0,t.shift(1),i=!0)})}(0,a.K2)(Lt,"getTaskTags"),c.extend(h);var Ot,It=(0,a.K2)(function(){a.Rm.debug("Something is calling, setConf, remove the call")},"setConf"),Ft={monday:f.ABi,tuesday:f.PGu,wednesday:f.GuW,thursday:f.Mol,friday:f.TUC,saturday:f.rGn,sunday:f.YPH},Wt=(0,a.K2)((t,e)=>{let n=[...t].map(()=>-1/0),i=[...t].sort((t,e)=>t.startTime-e.startTime||t.order-e.order),s=0;for(const r of i)for(let t=0;t<n.length;t++)if(r.startTime>=n[t]){n[t]=r.endTime,r.order=t+e,t>s&&(s=t);break}return s},"getMaxIntersections"),Pt=1e4,Ht={parser:y,db:At,renderer:{setConf:It,draw:(0,a.K2)(function(t,e,n,i){const s=(0,r.D7)().gantt;i.db.setDiagramId(e);const o=(0,r.D7)().securityLevel;let l;"sandbox"===o&&(l=(0,f.Ltv)("#i"+e));const d="sandbox"===o?(0,f.Ltv)(l.nodes()[0].contentDocument.body):(0,f.Ltv)("body"),u="sandbox"===o?l.nodes()[0].contentDocument:document,h=u.getElementById(e);void 0===(Ot=h.parentElement.offsetWidth)&&(Ot=1200),void 0!==s.useWidth&&(Ot=s.useWidth);const m=i.db.getTasks();let y=[];for(const r of m)y.push(r.type);y=C(y);const k={};let g=2*s.topPadding;if("compact"===i.db.getDisplayMode()||"compact"===s.displayMode){const t={};for(const n of m)void 0===t[n.section]?t[n.section]=[n]:t[n.section].push(n);let e=0;for(const n of Object.keys(t)){const i=Wt(t[n],e)+1;e+=i,g+=i*(s.barHeight+s.barGap),k[n]=i}}else{g+=m.length*(s.barHeight+s.barGap);for(const t of y)k[t]=m.filter(e=>e.type===t).length}h.setAttribute("viewBox","0 0 "+Ot+" "+g);const p=d.select('[id="'.concat(e,'"]')),v=(0,f.w7C)().domain([(0,f.jkA)(m,function(t){return t.startTime}),(0,f.T9B)(m,function(t){return t.endTime})]).rangeRound([0,Ot-s.leftPadding-s.rightPadding]);function T(t,e){const n=t.startTime,i=e.startTime;let s=0;return n>i?s=1:n<i&&(s=-1),s}function x(t,e,n){const r=s.barHeight,a=r+s.barGap,o=s.topPadding,c=s.leftPadding,l=(0,f.m4Y)().domain([0,y.length]).range(["#00B9FA","#F95002"]).interpolate(f.bEH);w(a,o,c,e,n,t,i.db.getExcludes(),i.db.getIncludes()),D(c,o,e,n),b(t,a,o,c,r,l,e),$(a,o),S(c,o,e,n)}function b(t,n,a,o,c,l,d){t.sort((t,e)=>t.vert===e.vert?0:t.vert?1:-1);const u=[...new Set(t.map(t=>t.order))].map(e=>t.find(t=>t.order===e));p.append("g").selectAll("rect").data(u).enter().append("rect").attr("x",0).attr("y",function(t,e){return t.order*n+a-2}).attr("width",function(){return d-s.rightPadding/2}).attr("height",n).attr("class",function(t){for(const[e,n]of y.entries())if(t.type===n)return"section section"+e%s.numberSectionStyles;return"section section0"}).enter();const h=p.append("g").selectAll("rect").data(t).enter(),k=i.db.getLinks();h.append("rect").attr("id",function(t){return e+"-"+t.id}).attr("rx",3).attr("ry",3).attr("x",function(t){return t.milestone?v(t.startTime)+o+.5*(v(t.endTime)-v(t.startTime))-.5*c:v(t.startTime)+o}).attr("y",function(t,e){return e=t.order,t.vert?s.gridLineStartPadding:e*n+a}).attr("width",function(t){return t.milestone?c:t.vert?.08*c:v(t.renderEndTime||t.endTime)-v(t.startTime)}).attr("height",function(t){return t.vert?m.length*(s.barHeight+s.barGap)+2*s.barHeight:c}).attr("transform-origin",function(t,e){return e=t.order,(v(t.startTime)+o+.5*(v(t.endTime)-v(t.startTime))).toString()+"px "+(e*n+a+.5*c).toString()+"px"}).attr("class",function(t){let e="";t.classes.length>0&&(e=t.classes.join(" "));let n=0;for(const[r,a]of y.entries())t.type===a&&(n=r%s.numberSectionStyles);let i="";return t.active?t.crit?i+=" activeCrit":i=" active":t.done?i=t.crit?" doneCrit":" done":t.crit&&(i+=" crit"),0===i.length&&(i=" task"),t.milestone&&(i=" milestone "+i),t.vert&&(i=" vert "+i),i+=n,i+=" "+e,"task"+i}),h.append("text").attr("id",function(t){return e+"-"+t.id+"-text"}).text(function(t){return t.task}).attr("font-size",s.fontSize).attr("x",function(t){let e=v(t.startTime),n=v(t.renderEndTime||t.endTime);if(t.milestone&&(e+=.5*(v(t.endTime)-v(t.startTime))-.5*c,n=e+c),t.vert)return v(t.startTime)+o;const i=this.getBBox().width;return i>n-e?n+i+1.5*s.leftPadding>d?e+o-5:n+o+5:(n-e)/2+e+o}).attr("y",function(t,e){return t.vert?s.gridLineStartPadding+m.length*(s.barHeight+s.barGap)+60:t.order*n+s.barHeight/2+(s.fontSize/2-2)+a}).attr("text-height",c).attr("class",function(t){const e=v(t.startTime);let n=v(t.endTime);t.milestone&&(n=e+c);const i=this.getBBox().width;let r="";t.classes.length>0&&(r=t.classes.join(" "));let a=0;for(const[c,l]of y.entries())t.type===l&&(a=c%s.numberSectionStyles);let o="";return t.active&&(o=t.crit?"activeCritText"+a:"activeText"+a),t.done?o=t.crit?o+" doneCritText"+a:o+" doneText"+a:t.crit&&(o=o+" critText"+a),t.milestone&&(o+=" milestoneText"),t.vert&&(o+=" vertText"),i>n-e?n+i+1.5*s.leftPadding>d?r+" taskTextOutsideLeft taskTextOutside"+a+" "+o:r+" taskTextOutsideRight taskTextOutside"+a+" "+o+" width-"+i:r+" taskText taskText"+a+" "+o+" width-"+i});if("sandbox"===(0,r.D7)().securityLevel){let t;t=(0,f.Ltv)("#i"+e);const n=t.nodes()[0].contentDocument;h.filter(function(t){return k.has(t.id)}).each(function(t){var i=n.querySelector("#"+CSS.escape(e+"-"+t.id)),s=n.querySelector("#"+CSS.escape(e+"-"+t.id+"-text"));const r=i.parentNode;var a=n.createElement("a");a.setAttribute("xlink:href",k.get(t.id)),a.setAttribute("target","_top"),r.appendChild(a),a.appendChild(i),a.appendChild(s)})}}function w(t,n,r,o,l,d,u,h){if(0===u.length&&0===h.length)return;let f,m;for(const{startTime:e,endTime:i}of d)(void 0===f||e<f)&&(f=e),(void 0===m||i>m)&&(m=i);if(!f||!m)return;if(c(m).diff(c(f),"year")>5)return void a.Rm.warn("The difference between the min and max time is more than 5 years. This will cause performance issues. Skipping drawing exclude days.");const y=i.db.getDateFormat(),k=[];let g=null,T=c(f);for(;T.valueOf()<=m;)i.db.isInvalidDate(T,y,u,h)?g?g.end=T:g={start:T,end:T}:g&&(k.push(g),g=null),T=T.add(1,"d");p.append("g").selectAll("rect").data(k).enter().append("rect").attr("id",t=>e+"-exclude-"+t.start.format("YYYY-MM-DD")).attr("x",t=>v(t.start.startOf("day"))+r).attr("y",s.gridLineStartPadding).attr("width",t=>v(t.end.endOf("day"))-v(t.start.startOf("day"))).attr("height",l-n-s.gridLineStartPadding).attr("transform-origin",function(e,n){return(v(e.start)+r+.5*(v(e.end)-v(e.start))).toString()+"px "+(n*t+.5*l).toString()+"px"}).attr("class","exclude-range")}function _(t,e,n,i){if(n<=0||t>e)return 1/0;const s=e-t,r=c.duration({[null!==i&&void 0!==i?i:"day"]:n}).asMilliseconds();return r<=0?1/0:Math.ceil(s/r)}function D(t,e,n,r){const o=i.db.getDateFormat(),c=i.db.getAxisFormat();let l;if(c)l=c;else if("D"===o)l="%d";else{var d;l=null!==(d=s.axisFormat)&&void 0!==d?d:"%Y-%m-%d"}let u=(0,f.l78)(v).tickSize(-r+e+s.gridLineStartPadding).tickFormat((0,f.DCK)(l));const h=/^([1-9]\d*)(millisecond|second|minute|hour|day|week|month)$/.exec(i.db.getTickInterval()||s.tickInterval);if(null!==h){const t=parseInt(h[1],10);if(isNaN(t)||t<=0)a.Rm.warn('Invalid tick interval value: "'.concat(h[1],'". Skipping custom tick interval.'));else{const e=h[2],n=i.db.getWeekday()||s.weekday,r=v.domain(),o=_(r[0],r[1],t,e);if(o>Pt)a.Rm.warn('The tick interval "'.concat(t).concat(e,'" would generate ').concat(o," ticks, which exceeds the maximum allowed (").concat(Pt,"). This may indicate an invalid date or time range. Skipping custom tick interval."));else switch(e){case"millisecond":u.ticks(f.t6C.every(t));break;case"second":u.ticks(f.ucG.every(t));break;case"minute":u.ticks(f.wXd.every(t));break;case"hour":u.ticks(f.Agd.every(t));break;case"day":u.ticks(f.UAC.every(t));break;case"week":u.ticks(Ft[n].every(t));break;case"month":u.ticks(f.Ui6.every(t))}}}if(p.append("g").attr("class","grid").attr("transform","translate("+t+", "+(r-50)+")").call(u).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10).attr("dy","1em"),i.db.topAxisEnabled()||s.topAxis){let n=(0,f.tlR)(v).tickSize(-r+e+s.gridLineStartPadding).tickFormat((0,f.DCK)(l));if(null!==h){const t=parseInt(h[1],10);if(isNaN(t)||t<=0)a.Rm.warn('Invalid tick interval value: "'.concat(h[1],'". Skipping custom tick interval.'));else{const e=h[2],r=i.db.getWeekday()||s.weekday,a=v.domain();if(_(a[0],a[1],t,e)<=Pt)switch(e){case"millisecond":n.ticks(f.t6C.every(t));break;case"second":n.ticks(f.ucG.every(t));break;case"minute":n.ticks(f.wXd.every(t));break;case"hour":n.ticks(f.Agd.every(t));break;case"day":n.ticks(f.UAC.every(t));break;case"week":n.ticks(Ft[r].every(t));break;case"month":n.ticks(f.Ui6.every(t))}}}p.append("g").attr("class","grid").attr("transform","translate("+t+", "+e+")").call(n).selectAll("text").style("text-anchor","middle").attr("fill","#000").attr("stroke","none").attr("font-size",10)}}function $(t,e){let n=0;const i=Object.keys(k).map(t=>[t,k[t]]);p.append("g").selectAll("text").data(i).enter().append(function(t){const e=t[0].split(r.Y2.lineBreakRegex),n=-(e.length-1)/2,i=u.createElementNS("http://www.w3.org/2000/svg","text");i.setAttribute("dy",n+"em");for(const[s,r]of e.entries()){const t=u.createElementNS("http://www.w3.org/2000/svg","tspan");t.setAttribute("alignment-baseline","central"),t.setAttribute("x","10"),s>0&&t.setAttribute("dy","1em"),t.textContent=r,i.appendChild(t)}return i}).attr("x",10).attr("y",function(s,r){if(!(r>0))return s[1]*t/2+e;for(let a=0;a<r;a++)return n+=i[r-1][1],s[1]*t/2+n*t+e}).attr("font-size",s.sectionFontSize).attr("class",function(t){for(const[e,n]of y.entries())if(t[0]===n)return"sectionTitle sectionTitle"+e%s.numberSectionStyles;return"sectionTitle"})}function S(t,e,n,r){const a=i.db.getTodayMarker();if("off"===a)return;const o=p.append("g").attr("class","today"),c=new Date,l=o.append("line");l.attr("x1",v(c)+t).attr("x2",v(c)+t).attr("y1",s.titleTopMargin).attr("y2",r-s.titleTopMargin).attr("class","today"),""!==a&&l.attr("style",a.replace(/,/g,";"))}function C(t){const e={},n=[];for(let i=0,s=t.length;i<s;++i)Object.prototype.hasOwnProperty.call(e,t[i])||(e[t[i]]=!0,n.push(t[i]));return n}(0,a.K2)(T,"taskCompare"),m.sort(T),x(m,Ot,g),(0,r.a$)(p,g,Ot,s.useMaxWidth),p.append("text").text(i.db.getDiagramTitle()).attr("x",Ot/2).attr("y",s.titleTopMargin).attr("class","titleText"),(0,a.K2)(x,"makeGantt"),(0,a.K2)(b,"drawRects"),(0,a.K2)(w,"drawExcludeDays"),(0,a.K2)(_,"getEstimatedTickCount"),(0,a.K2)(D,"makeGrid"),(0,a.K2)($,"vertLabels"),(0,a.K2)(S,"drawToday"),(0,a.K2)(C,"checkUnique")},"draw")},styles:(0,a.K2)(t=>"\n .mermaid-main-font {\n font-family: ".concat(t.fontFamily,";\n }\n\n .exclude-range {\n fill: ").concat(t.excludeBkgColor,";\n }\n\n .section {\n stroke: none;\n opacity: 0.2;\n }\n\n .section0 {\n fill: ").concat(t.sectionBkgColor,";\n }\n\n .section2 {\n fill: ").concat(t.sectionBkgColor2,";\n }\n\n .section1,\n .section3 {\n fill: ").concat(t.altSectionBkgColor,";\n opacity: 0.2;\n }\n\n .sectionTitle0 {\n fill: ").concat(t.titleColor,";\n }\n\n .sectionTitle1 {\n fill: ").concat(t.titleColor,";\n }\n\n .sectionTitle2 {\n fill: ").concat(t.titleColor,";\n }\n\n .sectionTitle3 {\n fill: ").concat(t.titleColor,";\n }\n\n .sectionTitle {\n text-anchor: start;\n font-family: ").concat(t.fontFamily,";\n }\n\n\n /* Grid and axis */\n\n .grid .tick {\n stroke: ").concat(t.gridColor,";\n opacity: 0.8;\n shape-rendering: crispEdges;\n }\n\n .grid .tick text {\n font-family: ").concat(t.fontFamily,";\n fill: ").concat(t.textColor,";\n }\n\n .grid path {\n stroke-width: 0;\n }\n\n\n /* Today line */\n\n .today {\n fill: none;\n stroke: ").concat(t.todayLineColor,";\n stroke-width: 2px;\n }\n\n\n /* Task styling */\n\n /* Default task */\n\n .task {\n stroke-width: 2;\n }\n\n .taskText {\n text-anchor: middle;\n font-family: ").concat(t.fontFamily,";\n }\n\n .taskTextOutsideRight {\n fill: ").concat(t.taskTextDarkColor,";\n text-anchor: start;\n font-family: ").concat(t.fontFamily,";\n }\n\n .taskTextOutsideLeft {\n fill: ").concat(t.taskTextDarkColor,";\n text-anchor: end;\n }\n\n\n /* Special case clickable */\n\n .task.clickable {\n cursor: pointer;\n }\n\n .taskText.clickable {\n cursor: pointer;\n fill: ").concat(t.taskTextClickableColor," !important;\n font-weight: bold;\n }\n\n .taskTextOutsideLeft.clickable {\n cursor: pointer;\n fill: ").concat(t.taskTextClickableColor," !important;\n font-weight: bold;\n }\n\n .taskTextOutsideRight.clickable {\n cursor: pointer;\n fill: ").concat(t.taskTextClickableColor," !important;\n font-weight: bold;\n }\n\n\n /* Specific task settings for the sections*/\n\n .taskText0,\n .taskText1,\n .taskText2,\n .taskText3 {\n fill: ").concat(t.taskTextColor,";\n }\n\n .task0,\n .task1,\n .task2,\n .task3 {\n fill: ").concat(t.taskBkgColor,";\n stroke: ").concat(t.taskBorderColor,";\n }\n\n .taskTextOutside0,\n .taskTextOutside2\n {\n fill: ").concat(t.taskTextOutsideColor,";\n }\n\n .taskTextOutside1,\n .taskTextOutside3 {\n fill: ").concat(t.taskTextOutsideColor,";\n }\n\n\n /* Active task */\n\n .active0,\n .active1,\n .active2,\n .active3 {\n fill: ").concat(t.activeTaskBkgColor,";\n stroke: ").concat(t.activeTaskBorderColor,";\n }\n\n .activeText0,\n .activeText1,\n .activeText2,\n .activeText3 {\n fill: ").concat(t.taskTextDarkColor," !important;\n }\n\n\n /* Completed task */\n\n .done0,\n .done1,\n .done2,\n .done3 {\n stroke: ").concat(t.doneTaskBorderColor,";\n fill: ").concat(t.doneTaskBkgColor,";\n stroke-width: 2;\n }\n\n .doneText0,\n .doneText1,\n .doneText2,\n .doneText3 {\n fill: ").concat(t.taskTextDarkColor," !important;\n }\n\n /* Done task text displayed outside the bar sits against the diagram background,\n not against the done-task bar, so it must use the outside/contrast color. */\n .doneText0.taskTextOutsideLeft,\n .doneText0.taskTextOutsideRight,\n .doneText1.taskTextOutsideLeft,\n .doneText1.taskTextOutsideRight,\n .doneText2.taskTextOutsideLeft,\n .doneText2.taskTextOutsideRight,\n .doneText3.taskTextOutsideLeft,\n .doneText3.taskTextOutsideRight {\n fill: ").concat(t.taskTextOutsideColor," !important;\n }\n\n\n /* Tasks on the critical line */\n\n .crit0,\n .crit1,\n .crit2,\n .crit3 {\n stroke: ").concat(t.critBorderColor,";\n fill: ").concat(t.critBkgColor,";\n stroke-width: 2;\n }\n\n .activeCrit0,\n .activeCrit1,\n .activeCrit2,\n .activeCrit3 {\n stroke: ").concat(t.critBorderColor,";\n fill: ").concat(t.activeTaskBkgColor,";\n stroke-width: 2;\n }\n\n .doneCrit0,\n .doneCrit1,\n .doneCrit2,\n .doneCrit3 {\n stroke: ").concat(t.critBorderColor,";\n fill: ").concat(t.doneTaskBkgColor,";\n stroke-width: 2;\n cursor: pointer;\n shape-rendering: crispEdges;\n }\n\n .milestone {\n transform: rotate(45deg) scale(0.8,0.8);\n }\n\n .milestoneText {\n font-style: italic;\n }\n .doneCritText0,\n .doneCritText1,\n .doneCritText2,\n .doneCritText3 {\n fill: ").concat(t.taskTextDarkColor," !important;\n }\n\n /* Done-crit task text outside the bar \u2014 same reasoning as doneText above. */\n .doneCritText0.taskTextOutsideLeft,\n .doneCritText0.taskTextOutsideRight,\n .doneCritText1.taskTextOutsideLeft,\n .doneCritText1.taskTextOutsideRight,\n .doneCritText2.taskTextOutsideLeft,\n .doneCritText2.taskTextOutsideRight,\n .doneCritText3.taskTextOutsideLeft,\n .doneCritText3.taskTextOutsideRight {\n fill: ").concat(t.taskTextOutsideColor," !important;\n }\n\n .vert {\n stroke: ").concat(t.vertLineColor,";\n }\n\n .vertText {\n font-size: 15px;\n text-anchor: middle;\n fill: ").concat(t.vertLineColor," !important;\n }\n\n .activeCritText0,\n .activeCritText1,\n .activeCritText2,\n .activeCritText3 {\n fill: ").concat(t.taskTextDarkColor," !important;\n }\n\n .titleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ").concat(t.titleColor||t.textColor,";\n font-family: ").concat(t.fontFamily,";\n }\n"),"getStyles")}},68988(t){t.exports=function(){"use strict";var t={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"},e=/(\[[^[]*\])|([-_:/.,()\s]+)|(A|a|Q|YYYY|YY?|ww?|MM?M?M?|Do|DD?|hh?|HH?|mm?|ss?|S{1,3}|z|ZZ?)/g,n=/\d/,i=/\d\d/,s=/\d\d?/,r=/\d*[^-_:/,()\s\d]+/,a={},o=function(t){return(t=+t)+(t>68?1900:2e3)},c=function(t){return function(e){this[t]=+e}},l=[/[+-]\d\d:?(\d\d)?|Z/,function(t){(this.zone||(this.zone={})).offset=function(t){if(!t)return 0;if("Z"===t)return 0;var e=t.match(/([+-]|\d\d)/g),n=60*e[1]+(+e[2]||0);return 0===n?0:"+"===e[0]?-n:n}(t)}],d=function(t){var e=a[t];return e&&(e.indexOf?e:e.s.concat(e.f))},u=function(t,e){var n,i=a.meridiem;if(i){for(var s=1;s<=24;s+=1)if(t.indexOf(i(s,0,e))>-1){n=s>12;break}}else n=t===(e?"pm":"PM");return n},h={A:[r,function(t){this.afternoon=u(t,!1)}],a:[r,function(t){this.afternoon=u(t,!0)}],Q:[n,function(t){this.month=3*(t-1)+1}],S:[n,function(t){this.milliseconds=100*+t}],SS:[i,function(t){this.milliseconds=10*+t}],SSS:[/\d{3}/,function(t){this.milliseconds=+t}],s:[s,c("seconds")],ss:[s,c("seconds")],m:[s,c("minutes")],mm:[s,c("minutes")],H:[s,c("hours")],h:[s,c("hours")],HH:[s,c("hours")],hh:[s,c("hours")],D:[s,c("day")],DD:[i,c("day")],Do:[r,function(t){var e=a.ordinal,n=t.match(/\d+/);if(this.day=n[0],e)for(var i=1;i<=31;i+=1)e(i).replace(/\[|\]/g,"")===t&&(this.day=i)}],w:[s,c("week")],ww:[i,c("week")],M:[s,c("month")],MM:[i,c("month")],MMM:[r,function(t){var e=d("months"),n=(d("monthsShort")||e.map(function(t){return t.slice(0,3)})).indexOf(t)+1;if(n<1)throw new Error;this.month=n%12||n}],MMMM:[r,function(t){var e=d("months").indexOf(t)+1;if(e<1)throw new Error;this.month=e%12||e}],Y:[/[+-]?\d+/,c("year")],YY:[i,function(t){this.year=o(t)}],YYYY:[/\d{4}/,c("year")],Z:l,ZZ:l};function f(n){var i,s;i=n,s=a&&a.formats;for(var r=(n=i.replace(/(\[[^\]]+])|(LTS?|l{1,4}|L{1,4})/g,function(e,n,i){var r=i&&i.toUpperCase();return n||s[i]||t[i]||s[r].replace(/(\[[^\]]+])|(MMMM|MM|DD|dddd)/g,function(t,e,n){return e||n.slice(1)})})).match(e),o=r.length,c=0;c<o;c+=1){var l=r[c],d=h[l],u=d&&d[0],f=d&&d[1];r[c]=f?{regex:u,parser:f}:l.replace(/^\[|\]$/g,"")}return function(t){for(var e={},n=0,i=0;n<o;n+=1){var s=r[n];if("string"==typeof s)i+=s.length;else{var a=s.regex,c=s.parser,l=t.slice(i),d=a.exec(l)[0];c.call(e,d),t=t.replace(d,"")}}return function(t){var e=t.afternoon;if(void 0!==e){var n=t.hours;e?n<12&&(t.hours+=12):12===n&&(t.hours=0),delete t.afternoon}}(e),e}}return function(t,e,n){n.p.customParseFormat=!0,t&&t.parseTwoDigitYear&&(o=t.parseTwoDigitYear);var i=e.prototype,s=i.parse;i.parse=function(t){var e=t.date,i=t.utc,r=t.args;this.$u=i;var o=r[1];if("string"==typeof o){var c=!0===r[2],l=!0===r[3],d=c||l,u=r[2];l&&(u=r[2]),a=this.$locale(),!c&&u&&(a=n.Ls[u]),this.$d=function(t,e,n,i){try{if(["x","X"].indexOf(e)>-1)return new Date(("X"===e?1e3:1)*t);var s=f(e)(t),r=s.year,a=s.month,o=s.day,c=s.hours,l=s.minutes,d=s.seconds,u=s.milliseconds,h=s.zone,m=s.week,y=new Date,k=o||(r||a?1:y.getDate()),g=r||y.getFullYear(),p=0;r&&!a||(p=a>0?a-1:y.getMonth());var v,T=c||0,x=l||0,b=d||0,w=u||0;return h?new Date(Date.UTC(g,p,k,T,x,b,w+60*h.offset*1e3)):n?new Date(Date.UTC(g,p,k,T,x,b,w)):(v=new Date(g,p,k,T,x,b,w),m&&(v=i(v).week(m).toDate()),v)}catch(t){return new Date("")}}(e,o,i,n),this.init(),u&&!0!==u&&(this.$L=this.locale(u).$L),d&&e!=this.format(o)&&(this.$d=new Date("")),a={}}else if(o instanceof Array)for(var h=o.length,m=1;m<=h;m+=1){r[1]=o[m-1];var y=n.apply(this,r);if(y.isValid()){this.$d=y.$d,this.$L=y.$L,this.init();break}m===h&&(this.$d=new Date(""))}else s.call(this,t)}}}()},87140(t){t.exports=function(){"use strict";var t="day";return function(e,n,i){var s=function(e){return e.add(4-e.isoWeekday(),t)},r=n.prototype;r.isoWeekYear=function(){return s(this).year()},r.isoWeek=function(e){if(!this.$utils().u(e))return this.add(7*(e-this.isoWeek()),t);var n,r,a,o=s(this),c=(n=this.isoWeekYear(),a=4-(r=(this.$u?i.utc:i)().year(n).startOf("year")).isoWeekday(),r.isoWeekday()>4&&(a+=7),r.add(a,t));return o.diff(c,"week")+1},r.isoWeekday=function(t){return this.$utils().u(t)?this.day()||7:this.day(this.day()%7?t:t-7)};var a=r.startOf;r.startOf=function(t,e){var n=this.$utils(),i=!!n.u(e)||e;return"isoweek"===n.p(t)?i?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):a.bind(this)(t,e)}}}()},97076(t){t.exports=function(){"use strict";return function(t,e){var n=e.prototype,i=n.format;n.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return i.bind(this)(t);var s=this.$utils(),r=(t||"YYYY-MM-DDTHH:mm:ssZ").replace(/\[([^\]]+)]|Q|wo|ww|w|WW|W|zzz|z|gggg|GGGG|Do|X|x|k{1,2}|S/g,function(t){switch(t){case"Q":return Math.ceil((e.$M+1)/3);case"Do":return n.ordinal(e.$D);case"gggg":return e.weekYear();case"GGGG":return e.isoWeekYear();case"wo":return n.ordinal(e.week(),"W");case"w":case"ww":return s.s(e.week(),"w"===t?1:2,"0");case"W":case"WW":return s.s(e.isoWeek(),"W"===t?1:2,"0");case"k":case"kk":return s.s(String(0===e.$H?24:e.$H),"k"===t?1:2,"0");case"X":return Math.floor(e.$d.getTime()/1e3);case"x":return e.$d.getTime();case"z":return"["+e.offsetName()+"]";case"zzz":return"["+e.offsetName("long")+"]";default:return t}});return i.bind(this)(r)}}}()}}]);
2
+ //# sourceMappingURL=531.a9d78c09.chunk.js.map
build/static/js/531.a9d78c09.chunk.js.map ADDED
The diff for this file is too large to render. See raw diff
 
build/static/js/532.d762b1f6.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[532],{1432(t,e,r){r.d(e,{A:()=>o});var s=r(80779);const n=function(t,e){return(0,s.A)(e,function(e){return t[e]})};var i=r(54175);const o=function(t){return null==t?[]:n(t,(0,i.A)(t))}},6772(t,e,r){r.d(e,{A:()=>s});const s=function(t){return void 0===t}},30772(t,e,r){r.d(e,{T:()=>s.T});var s=r(99330)},40943(t,e,r){r.d(e,{A:()=>Z});var s=r(25140),n=r(24076),i=r(1954),o=r(20004),a=r(54175);const c=function(t,e){return t&&(0,o.A)(e,(0,a.A)(e),t)};var h=r(79778);const u=function(t,e){return t&&(0,o.A)(e,(0,h.A)(e),t)};var d=r(64943),l=r(94766),_=r(96439);const A=function(t,e){return(0,o.A)(t,(0,_.A)(t),e)};var f=r(97269),b=r(93084),p=r(49406);const v=Object.getOwnPropertySymbols?function(t){for(var e=[];t;)(0,f.A)(e,(0,_.A)(t)),t=(0,b.A)(t);return e}:p.A;const g=function(t,e){return(0,o.A)(t,v(t),e)};var j=r(59429),y=r(66472);const m=function(t){return(0,y.A)(t,h.A,v)};var w=r(37280),O=Object.prototype.hasOwnProperty;const C=function(t){var e=t.length,r=new t.constructor(e);return e&&"string"==typeof t[0]&&O.call(t,"index")&&(r.index=t.index,r.input=t.input),r};var E=r(47790);const N=function(t,e){var r=e?(0,E.A)(t.buffer):t.buffer;return new t.constructor(r,t.byteOffset,t.byteLength)};var L=/\w*$/;const D=function(t){var e=new t.constructor(t.source,L.exec(t));return e.lastIndex=t.lastIndex,e};var P=r(75622),F=P.A?P.A.prototype:void 0,M=F?F.valueOf:void 0;const S=function(t){return M?Object(M.call(t)):{}};var x=r(13460);const I=function(t,e,r){var s=t.constructor;switch(e){case"[object ArrayBuffer]":return(0,E.A)(t);case"[object Boolean]":case"[object Date]":return new s(+t);case"[object DataView]":return N(t,r);case"[object Float32Array]":case"[object Float64Array]":case"[object Int8Array]":case"[object Int16Array]":case"[object Int32Array]":case"[object Uint8Array]":case"[object Uint8ClampedArray]":case"[object Uint16Array]":case"[object Uint32Array]":return(0,x.A)(t,r);case"[object Map]":case"[object Set]":return new s;case"[object Number]":case"[object String]":return new s(t);case"[object RegExp]":return D(t);case"[object Symbol]":return S(t)}};var U=r(77112),k=r(45386),B=r(81375),G=r(53239);const T=function(t){return(0,G.A)(t)&&"[object Map]"==(0,w.A)(t)};var R=r(17328),V=r(46662),z=V.A&&V.A.isMap;const W=z?(0,R.A)(z):T;var $=r(37664);const q=function(t){return(0,G.A)(t)&&"[object Set]"==(0,w.A)(t)};var H=V.A&&V.A.isSet;const J=H?(0,R.A)(H):q;var K="[object Arguments]",Q="[object Function]",X="[object Object]",Y={};Y[K]=Y["[object Array]"]=Y["[object ArrayBuffer]"]=Y["[object DataView]"]=Y["[object Boolean]"]=Y["[object Date]"]=Y["[object Float32Array]"]=Y["[object Float64Array]"]=Y["[object Int8Array]"]=Y["[object Int16Array]"]=Y["[object Int32Array]"]=Y["[object Map]"]=Y["[object Number]"]=Y[X]=Y["[object RegExp]"]=Y["[object Set]"]=Y["[object String]"]=Y["[object Symbol]"]=Y["[object Uint8Array]"]=Y["[object Uint8ClampedArray]"]=Y["[object Uint16Array]"]=Y["[object Uint32Array]"]=!0,Y["[object Error]"]=Y[Q]=Y["[object WeakMap]"]=!1;const Z=function t(e,r,o,_,f,b){var p,v=1&r,y=2&r,O=4&r;if(o&&(p=f?o(e,_,f,b):o(e)),void 0!==p)return p;if(!(0,$.A)(e))return e;var E=(0,k.A)(e);if(E){if(p=C(e),!v)return(0,l.A)(e,p)}else{var N=(0,w.A)(e),L=N==Q||"[object GeneratorFunction]"==N;if((0,B.A)(e))return(0,d.A)(e,v);if(N==X||N==K||L&&!f){if(p=y||L?{}:(0,U.A)(e),!v)return y?g(e,u(p,e)):A(e,c(p,e))}else{if(!Y[N])return f?e:{};p=I(e,N,v)}}b||(b=new s.A);var D=b.get(e);if(D)return D;b.set(e,p),J(e)?e.forEach(function(s){p.add(t(s,r,o,s,e,b))}):W(e)&&e.forEach(function(s,n){p.set(n,t(s,r,o,n,e,b))});var P=O?y?m:j.A:y?h.A:a.A,F=E?void 0:P(e);return(0,n.A)(F||e,function(s,n){F&&(s=e[n=s]),(0,i.A)(p,n,t(s,r,o,n,e,b))}),p}},99330(t,e,r){r.d(e,{T:()=>v});var s=r(14431),n=r(64067),i=r(54175),o=r(15844),a=r(17590),c=r(81109),h=r(6772),u=r(37545),d=r(61869),l=r(37034),_=r(44586);const A=(0,d.A)(function(t){return(0,l.A)((0,u.A)(t,1,_.A,!0))});var f=r(1432),b=r(23175),p="\0";class v{constructor(){let t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};this._isDirected=!Object.prototype.hasOwnProperty.call(t,"directed")||t.directed,this._isMultigraph=!!Object.prototype.hasOwnProperty.call(t,"multigraph")&&t.multigraph,this._isCompound=!!Object.prototype.hasOwnProperty.call(t,"compound")&&t.compound,this._label=void 0,this._defaultNodeLabelFn=s.A(void 0),this._defaultEdgeLabelFn=s.A(void 0),this._nodes={},this._isCompound&&(this._parent={},this._children={},this._children[p]={}),this._in={},this._preds={},this._out={},this._sucs={},this._edgeObjs={},this._edgeLabels={}}isDirected(){return this._isDirected}isMultigraph(){return this._isMultigraph}isCompound(){return this._isCompound}setGraph(t){return this._label=t,this}graph(){return this._label}setDefaultNodeLabel(t){return n.A(t)||(t=s.A(t)),this._defaultNodeLabelFn=t,this}nodeCount(){return this._nodeCount}nodes(){return i.A(this._nodes)}sources(){var t=this;return o.A(this.nodes(),function(e){return a.A(t._in[e])})}sinks(){var t=this;return o.A(this.nodes(),function(e){return a.A(t._out[e])})}setNodes(t,e){var r=arguments,s=this;return c.A(t,function(t){r.length>1?s.setNode(t,e):s.setNode(t)}),this}setNode(t,e){return Object.prototype.hasOwnProperty.call(this._nodes,t)?(arguments.length>1&&(this._nodes[t]=e),this):(this._nodes[t]=arguments.length>1?e:this._defaultNodeLabelFn(t),this._isCompound&&(this._parent[t]=p,this._children[t]={},this._children[p][t]=!0),this._in[t]={},this._preds[t]={},this._out[t]={},this._sucs[t]={},++this._nodeCount,this)}node(t){return this._nodes[t]}hasNode(t){return Object.prototype.hasOwnProperty.call(this._nodes,t)}removeNode(t){if(Object.prototype.hasOwnProperty.call(this._nodes,t)){var e=t=>this.removeEdge(this._edgeObjs[t]);delete this._nodes[t],this._isCompound&&(this._removeFromParentsChildList(t),delete this._parent[t],c.A(this.children(t),t=>{this.setParent(t)}),delete this._children[t]),c.A(i.A(this._in[t]),e),delete this._in[t],delete this._preds[t],c.A(i.A(this._out[t]),e),delete this._out[t],delete this._sucs[t],--this._nodeCount}return this}setParent(t,e){if(!this._isCompound)throw new Error("Cannot set parent in a non-compound graph");if(h.A(e))e=p;else{for(var r=e+="";!h.A(r);r=this.parent(r))if(r===t)throw new Error("Setting "+e+" as parent of "+t+" would create a cycle");this.setNode(e)}return this.setNode(t),this._removeFromParentsChildList(t),this._parent[t]=e,this._children[e][t]=!0,this}_removeFromParentsChildList(t){delete this._children[this._parent[t]][t]}parent(t){if(this._isCompound){var e=this._parent[t];if(e!==p)return e}}children(t){if(h.A(t)&&(t=p),this._isCompound){var e=this._children[t];if(e)return i.A(e)}else{if(t===p)return this.nodes();if(this.hasNode(t))return[]}}predecessors(t){var e=this._preds[t];if(e)return i.A(e)}successors(t){var e=this._sucs[t];if(e)return i.A(e)}neighbors(t){var e=this.predecessors(t);if(e)return A(e,this.successors(t))}isLeaf(t){return 0===(this.isDirected()?this.successors(t):this.neighbors(t)).length}filterNodes(t){var e=new this.constructor({directed:this._isDirected,multigraph:this._isMultigraph,compound:this._isCompound});e.setGraph(this.graph());var r=this;c.A(this._nodes,function(r,s){t(s)&&e.setNode(s,r)}),c.A(this._edgeObjs,function(t){e.hasNode(t.v)&&e.hasNode(t.w)&&e.setEdge(t,r.edge(t))});var s={};function n(t){var i=r.parent(t);return void 0===i||e.hasNode(i)?(s[t]=i,i):i in s?s[i]:n(i)}return this._isCompound&&c.A(e.nodes(),function(t){e.setParent(t,n(t))}),e}setDefaultEdgeLabel(t){return n.A(t)||(t=s.A(t)),this._defaultEdgeLabelFn=t,this}edgeCount(){return this._edgeCount}edges(){return f.A(this._edgeObjs)}setPath(t,e){var r=this,s=arguments;return b.A(t,function(t,n){return s.length>1?r.setEdge(t,n,e):r.setEdge(t,n),n}),this}setEdge(){var t,e,r,s,n=!1,i=arguments[0];"object"===typeof i&&null!==i&&"v"in i?(t=i.v,e=i.w,r=i.name,2===arguments.length&&(s=arguments[1],n=!0)):(t=i,e=arguments[1],r=arguments[3],arguments.length>2&&(s=arguments[2],n=!0)),t=""+t,e=""+e,h.A(r)||(r=""+r);var o=y(this._isDirected,t,e,r);if(Object.prototype.hasOwnProperty.call(this._edgeLabels,o))return n&&(this._edgeLabels[o]=s),this;if(!h.A(r)&&!this._isMultigraph)throw new Error("Cannot set a named edge when isMultigraph = false");this.setNode(t),this.setNode(e),this._edgeLabels[o]=n?s:this._defaultEdgeLabelFn(t,e,r);var a=function(t,e,r,s){var n=""+e,i=""+r;if(!t&&n>i){var o=n;n=i,i=o}var a={v:n,w:i};s&&(a.name=s);return a}(this._isDirected,t,e,r);return t=a.v,e=a.w,Object.freeze(a),this._edgeObjs[o]=a,g(this._preds[e],t),g(this._sucs[t],e),this._in[e][o]=a,this._out[t][o]=a,this._edgeCount++,this}edge(t,e,r){var s=1===arguments.length?m(this._isDirected,arguments[0]):y(this._isDirected,t,e,r);return this._edgeLabels[s]}hasEdge(t,e,r){var s=1===arguments.length?m(this._isDirected,arguments[0]):y(this._isDirected,t,e,r);return Object.prototype.hasOwnProperty.call(this._edgeLabels,s)}removeEdge(t,e,r){var s=1===arguments.length?m(this._isDirected,arguments[0]):y(this._isDirected,t,e,r),n=this._edgeObjs[s];return n&&(t=n.v,e=n.w,delete this._edgeLabels[s],delete this._edgeObjs[s],j(this._preds[e],t),j(this._sucs[t],e),delete this._in[e][s],delete this._out[t][s],this._edgeCount--),this}inEdges(t,e){var r=this._in[t];if(r){var s=f.A(r);return e?o.A(s,function(t){return t.v===e}):s}}outEdges(t,e){var r=this._out[t];if(r){var s=f.A(r);return e?o.A(s,function(t){return t.w===e}):s}}nodeEdges(t,e){var r=this.inEdges(t,e);if(r)return r.concat(this.outEdges(t,e))}}function g(t,e){t[e]?t[e]++:t[e]=1}function j(t,e){--t[e]||delete t[e]}function y(t,e,r,s){var n=""+e,i=""+r;if(!t&&n>i){var o=n;n=i,i=o}return n+"\x01"+i+"\x01"+(h.A(s)?"\0":s)}function m(t,e){return y(t,e.v,e.w,e.name)}v.prototype._nodeCount=0,v.prototype._edgeCount=0}}]);
2
+ //# sourceMappingURL=532.d762b1f6.chunk.js.map
build/static/js/532.d762b1f6.chunk.js.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"static/js/532.d762b1f6.chunk.js","mappings":"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","sources":["../node_modules/lodash-es/_baseValues.js","../node_modules/lodash-es/values.js","../node_modules/lodash-es/isUndefined.js","../node_modules/lodash-es/_baseAssign.js","../node_modules/lodash-es/_baseAssignIn.js","../node_modules/lodash-es/_copySymbols.js","../node_modules/lodash-es/_getSymbolsIn.js","../node_modules/lodash-es/_copySymbolsIn.js","../node_modules/lodash-es/_getAllKeysIn.js","../node_modules/lodash-es/_initCloneArray.js","../node_modules/lodash-es/_cloneDataView.js","../node_modules/lodash-es/_cloneRegExp.js","../node_modules/lodash-es/_cloneSymbol.js","../node_modules/lodash-es/_initCloneByTag.js","../node_modules/lodash-es/_baseIsMap.js","../node_modules/lodash-es/isMap.js","../node_modules/lodash-es/_baseIsSet.js","../node_modules/lodash-es/isSet.js","../node_modules/lodash-es/_baseClone.js","../node_modules/lodash-es/union.js","../node_modules/dagre-d3-es/src/graphlib/graph.js"],"sourcesContent":["import arrayMap from './_arrayMap.js';\n\n/**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\nfunction baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n}\n\nexport default baseValues;\n","import baseValues from './_baseValues.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\nfunction values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n}\n\nexport default values;\n","/**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\nfunction isUndefined(value) {\n return value === undefined;\n}\n\nexport default isUndefined;\n","import copyObject from './_copyObject.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n}\n\nexport default baseAssign;\n","import copyObject from './_copyObject.js';\nimport keysIn from './keysIn.js';\n\n/**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\nfunction baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n}\n\nexport default baseAssignIn;\n","import copyObject from './_copyObject.js';\nimport getSymbols from './_getSymbols.js';\n\n/**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n}\n\nexport default copySymbols;\n","import arrayPush from './_arrayPush.js';\nimport getPrototype from './_getPrototype.js';\nimport getSymbols from './_getSymbols.js';\nimport stubArray from './stubArray.js';\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n};\n\nexport default getSymbolsIn;\n","import copyObject from './_copyObject.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\n\n/**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\nfunction copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n}\n\nexport default copySymbolsIn;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbolsIn from './_getSymbolsIn.js';\nimport keysIn from './keysIn.js';\n\n/**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n}\n\nexport default getAllKeysIn;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\nfunction initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n}\n\nexport default initCloneArray;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\n\n/**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\nfunction cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n}\n\nexport default cloneDataView;\n","/** Used to match `RegExp` flags from their coerced string values. */\nvar reFlags = /\\w*$/;\n\n/**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\nfunction cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n}\n\nexport default cloneRegExp;\n","import Symbol from './_Symbol.js';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\nfunction cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n}\n\nexport default cloneSymbol;\n","import cloneArrayBuffer from './_cloneArrayBuffer.js';\nimport cloneDataView from './_cloneDataView.js';\nimport cloneRegExp from './_cloneRegExp.js';\nimport cloneSymbol from './_cloneSymbol.js';\nimport cloneTypedArray from './_cloneTypedArray.js';\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\nfunction initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n}\n\nexport default initCloneByTag;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]';\n\n/**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\nfunction baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n}\n\nexport default baseIsMap;\n","import baseIsMap from './_baseIsMap.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsMap = nodeUtil && nodeUtil.isMap;\n\n/**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\nvar isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\nexport default isMap;\n","import getTag from './_getTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar setTag = '[object Set]';\n\n/**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\nfunction baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n}\n\nexport default baseIsSet;\n","import baseIsSet from './_baseIsSet.js';\nimport baseUnary from './_baseUnary.js';\nimport nodeUtil from './_nodeUtil.js';\n\n/* Node.js helper references. */\nvar nodeIsSet = nodeUtil && nodeUtil.isSet;\n\n/**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\nvar isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\nexport default isSet;\n","import Stack from './_Stack.js';\nimport arrayEach from './_arrayEach.js';\nimport assignValue from './_assignValue.js';\nimport baseAssign from './_baseAssign.js';\nimport baseAssignIn from './_baseAssignIn.js';\nimport cloneBuffer from './_cloneBuffer.js';\nimport copyArray from './_copyArray.js';\nimport copySymbols from './_copySymbols.js';\nimport copySymbolsIn from './_copySymbolsIn.js';\nimport getAllKeys from './_getAllKeys.js';\nimport getAllKeysIn from './_getAllKeysIn.js';\nimport getTag from './_getTag.js';\nimport initCloneArray from './_initCloneArray.js';\nimport initCloneByTag from './_initCloneByTag.js';\nimport initCloneObject from './_initCloneObject.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isMap from './isMap.js';\nimport isObject from './isObject.js';\nimport isSet from './isSet.js';\nimport keys from './keys.js';\nimport keysIn from './keysIn.js';\n\n/** Used to compose bitmasks for cloning. */\nvar CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values supported by `_.clone`. */\nvar cloneableTags = {};\ncloneableTags[argsTag] = cloneableTags[arrayTag] =\ncloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\ncloneableTags[boolTag] = cloneableTags[dateTag] =\ncloneableTags[float32Tag] = cloneableTags[float64Tag] =\ncloneableTags[int8Tag] = cloneableTags[int16Tag] =\ncloneableTags[int32Tag] = cloneableTags[mapTag] =\ncloneableTags[numberTag] = cloneableTags[objectTag] =\ncloneableTags[regexpTag] = cloneableTags[setTag] =\ncloneableTags[stringTag] = cloneableTags[symbolTag] =\ncloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\ncloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\ncloneableTags[errorTag] = cloneableTags[funcTag] =\ncloneableTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\nfunction baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n}\n\nexport default baseClone;\n","import baseFlatten from './_baseFlatten.js';\nimport baseRest from './_baseRest.js';\nimport baseUniq from './_baseUniq.js';\nimport isArrayLikeObject from './isArrayLikeObject.js';\n\n/**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\nvar union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n});\n\nexport default union;\n","import * as _ from 'lodash-es';\n\nvar DEFAULT_EDGE_NAME = '\\x00';\nvar GRAPH_NODE = '\\x00';\nvar EDGE_KEY_DELIM = '\\x01';\n\n/**\n * @typedef {string} NodeID ID of a node.\n */\n\n/**\n * @typedef {`${string}${typeof EDGE_KEY_DELIM}${string}${typeof EDGE_KEY_DELIM}${string}`} EdgeID ID of an edge.\n * @internal - All public APIs use {@link EdgeObj} instead to refer to edges.\n */\n\n/**\n * @typedef {object} EdgeObj\n * @property {NodeID} v the id of the source or tail node of an edge\n * @property {NodeID} w the id of the target or head node of an edge\n * @property {string | number} [name] Name of the edge. Needed to uniquely identify\n * multiple edges between the same pair of nodes in a multigraph.\n */\n\n/**\n * @template {unknown} T\n * @typedef {T[] | Record<any, T>} Collection\n * Lodash object that can be iterated over with `_.each`.\n *\n * Beware, objects with `.length` are treated as arrays, see\n * https://lodash.com/docs/4.17.15#forEach\n */\n\n// Implementation notes:\n//\n// * Node id query functions should return string ids for the nodes\n// * Edge id query functions should return an \"edgeObj\", edge object, that is\n// composed of enough information to uniquely identify an edge: {v, w, name}.\n// * Internally we use an \"edgeId\", a stringified form of the edgeObj, to\n// reference edges. This is because we need a performant way to look these\n// edges up and, object properties, which have string keys, are the closest\n// we're going to get to a performant hashtable in JavaScript.\n\n// Implementation notes:\n//\n// * Node id query functions should return string ids for the nodes\n// * Edge id query functions should return an \"edgeObj\", edge object, that is\n// composed of enough information to uniquely identify an edge: {v, w, name}.\n// * Internally we use an \"edgeId\", a stringified form of the edgeObj, to\n// reference edges. This is because we need a performant way to look these\n// edges up and, object properties, which have string keys, are the closest\n// we're going to get to a performant hashtable in JavaScript.\n\n/**\n * @typedef {object} GraphOptions\n * @property {boolean | undefined} [directed] - set to `true` to get a\n * directed graph and `false` to get an undirected graph.\n * An undirected graph does not treat the order of nodes in an edge as\n * significant.\n * In other words, `g.edge(\"a\", \"b\") === g.edge(\"b\", \"a\")` for\n * an undirected graph.\n * Default: `true`\n * @property {boolean | undefined} [multigraph] - set to `true` to allow a\n * graph to have multiple edges between the same pair of nodes.\n * Default: `false`.\n * @property {boolean | undefined} [compound] - set to `true` to allow a\n * graph to have compound nodes - nodes which can be the parent of other\n * nodes.\n * Default: `false`.\n */\n\n/**\n * Graphlib has a single graph type: {@link Graph}. To create a new instance:\n *\n * ```js\n * var g = new Graph();\n * ```\n *\n * By default this will create a directed graph that does not allow multi-edges\n * or compound nodes.\n * The following options can be used when constructing a new graph:\n *\n * * {@link GraphOptions#directed}: set to `true` to get a directed graph and `false` to get an\n * undirected graph.\n * An undirected graph does not treat the order of nodes in an edge as\n * significant. In other words,\n * `g.edge(\"a\", \"b\") === g.edge(\"b\", \"a\")` for an undirected graph.\n * Default: `true`.\n * * {@link GraphOptions#multigraph}: set to `true` to allow a graph to have multiple edges\n * between the same pair of nodes. Default: `false`.\n * * {@link GraphOptions#compound}: set to `true` to allow a graph to have compound nodes -\n * nodes which can be the parent of other nodes. Default: `false`.\n *\n * To set the options, pass in an options object to the `Graph` constructor.\n * For example, to create a directed compound multigraph:\n *\n * ```js\n * var g = new Graph({ directed: true, compound: true, multigraph: true });\n * ```\n *\n * ### Node and Edge Representation\n *\n * In graphlib, a node is represented by a user-supplied String id.\n * All node related functions use this String id as a way to uniquely identify\n * the node. Here is an example of interacting with nodes:\n *\n * ```js\n * var g = new Graph();\n * g.setNode(\"my-id\", \"my-label\");\n * g.node(\"my-id\"); // returns \"my-label\"\n * ```\n *\n * Edges in graphlib are identified by the nodes they connect. For example:\n *\n * ```js\n * var g = new Graph();\n * g.setEdge(\"source\", \"target\", \"my-label\");\n * g.edge(\"source\", \"target\"); // returns \"my-label\"\n * ```\n *\n * However, we need a way to uniquely identify an edge in a single object for\n * various edge queries (e.g. {@link Graph#outEdges}).\n * We use {@link EdgeObj}s for this purpose.\n * They consist of the following properties:\n *\n * * {@link EdgeObj#v}: the id of the source or tail node of an edge\n * * {@link EdgeObj#w}: the id of the target or head node of an edge\n * * {@link EdgeObj#name} (optional): the name that uniquely identifies a multiedge.\n *\n * Any edge function that takes an edge id will also work with an {@link EdgeObj}. For example:\n *\n * ```js\n * var g = new Graph();\n * g.setEdge(\"source\", \"target\", \"my-label\");\n * g.edge({ v: \"source\", w: \"target\" }); // returns \"my-label\"\n * ```\n *\n * ### Multigraphs\n *\n * A [multigraph](https://en.wikipedia.org/wiki/Multigraph) is a graph that can\n * have more than one edge between the same pair of nodes.\n * By default graphlib graphs are not multigraphs, but a multigraph can be\n * constructed by setting the {@link GraphOptions#multigraph} property to true:\n *\n * ```js\n * var g = new Graph({ multigraph: true });\n * ```\n *\n * With multiple edges between two nodes we need some way to uniquely identify\n * each edge. We call this the {@link EdgeObj#name} property.\n * Here's an example of creating a couple of edges between the same nodes:\n *\n * ```js\n * var g = new Graph({ multigraph: true });\n * g.setEdge(\"a\", \"b\", \"edge1-label\", \"edge1\");\n * g.setEdge(\"a\", \"b\", \"edge2-label\", \"edge2\");\n * g.edge(\"a\", \"b\", \"edge1\"); // returns \"edge1-label\"\n * g.edge(\"a\", \"b\", \"edge2\"); // returns \"edge2-label\"\n * g.edges(); // returns [{ v: \"a\", w: \"b\", name: \"edge1\" },\n * // { v: \"a\", w: \"b\", name: \"edge2\" }]\n * ```\n *\n * A multigraph still allows an edge with no name to be created:\n *\n * ```js\n * var g = new Graph({ multigraph: true });\n * g.setEdge(\"a\", \"b\", \"my-label\");\n * g.edge({ v: \"a\", w: \"b\" }); // returns \"my-label\"\n * ```\n *\n * ### Compound Graphs\n *\n * A compound graph is one where a node can be the parent of other nodes.\n * The child nodes form a \"subgraph\".\n * Here's an example of constructing and interacting with a compound graph:\n *\n * ```js\n * var g = new Graph({ compound: true });\n * g.setParent(\"a\", \"parent\");\n * g.setParent(\"b\", \"parent\");\n * g.parent(\"a\"); // returns \"parent\"\n * g.parent(\"b\"); // returns \"parent\"\n * g.parent(\"parent\"); // returns undefined\n * ```\n *\n * ### Default Labels\n *\n * When a node or edge is created without a label, a default label can be assigned.\n * See {@link setDefaultNodeLabel} and {@link setDefaultEdgeLabel}.\n *\n * @template [GraphLabel=any] - Label of the graph.\n * @template [NodeLabel=any] - Label of a node.\n * Even though this is a \"label\", this could be any type that the user requires\n * (and may need to be an object for some layout/ranking algorithms in dagre).\n * @template [EdgeLabel=any] - Label of an edge.\n * Even though this is a \"label\", this could be any type that the user requires,\n * (and may need to be a object for ranking in dagre).\n */\nexport class Graph {\n /**\n * @param {GraphOptions} [opts] - Graph options.\n */\n constructor(opts = {}) {\n /**\n * @type {boolean}\n * @private\n */\n this._isDirected = Object.prototype.hasOwnProperty.call(opts, 'directed')\n ? opts.directed\n : true;\n /**\n * @type {boolean}\n * @private\n */\n this._isMultigraph = Object.prototype.hasOwnProperty.call(opts, 'multigraph')\n ? opts.multigraph\n : false;\n /**\n * @type {boolean}\n * @private\n */\n this._isCompound = Object.prototype.hasOwnProperty.call(opts, 'compound')\n ? opts.compound\n : false;\n\n /**\n * @type {GraphLabel | undefined}\n * Label for the graph itself\n */\n this._label = undefined;\n\n /**\n * Default label to be set when creating a new node.\n *\n * @private\n * @type {(v: NodeID | number) => NodeLabel}\n */\n this._defaultNodeLabelFn = _.constant(undefined);\n\n /**\n * Default label to be set when creating a new edge\n *\n * @private\n * @type {(v: NodeID, w: NodeID, name: string | undefined) => EdgeLabel}\n */\n this._defaultEdgeLabelFn = _.constant(undefined);\n\n /**\n * @type {Record<NodeID, NodeLabel>}\n * @private\n *\n * v -> label\n */\n this._nodes = {};\n\n if (this._isCompound) {\n /**\n * @type {Record<NodeID, NodeID>}\n * @private\n * v -> parent\n */\n this._parent = {};\n\n /**\n * @type {Record<NodeID, Record<NodeID, true>>}\n * @private\n * v -> children\n */\n this._children = {};\n this._children[GRAPH_NODE] = {};\n }\n\n /**\n * @type {Record<NodeID, Record<EdgeID, EdgeObj>>}\n * @private\n * v -> edgeObj\n */\n this._in = {};\n\n /**\n * @type {Record<NodeID, Record<NodeID, number>>}\n * @private\n * u -> v -> Number\n */\n this._preds = {};\n\n /**\n * @type {Record<NodeID, Record<EdgeID, EdgeObj>>}\n * @private\n * v -> edgeObj\n */\n this._out = {};\n\n /**\n * @type {Record<NodeID, Record<NodeID, number>>}\n * @private\n * v -> w -> Number\n */\n this._sucs = {};\n\n /**\n * @type {Record<EdgeID, EdgeObj>}\n * @private\n * e -> edgeObj\n */\n this._edgeObjs = {};\n\n /**\n * @type {Record<EdgeID, EdgeLabel>}\n * @private\n * e -> label\n */\n this._edgeLabels = {};\n }\n\n /* === Graph functions ========= */\n\n /**\n *\n * @returns {boolean} `true` if the graph is [directed](https://en.wikipedia.org/wiki/Directed_graph).\n * A directed graph treats the order of nodes in an edge as significant whereas an\n * [undirected](https://en.wikipedia.org/wiki/Graph_(mathematics)#Undirected_graph)\n * graph does not.\n * This example demonstrates the difference:\n *\n * @example\n *\n * ```js\n * var directed = new Graph({ directed: true });\n * directed.setEdge(\"a\", \"b\", \"my-label\");\n * directed.edge(\"a\", \"b\"); // returns \"my-label\"\n * directed.edge(\"b\", \"a\"); // returns undefined\n *\n * var undirected = new Graph({ directed: false });\n * undirected.setEdge(\"a\", \"b\", \"my-label\");\n * undirected.edge(\"a\", \"b\"); // returns \"my-label\"\n * undirected.edge(\"b\", \"a\"); // returns \"my-label\"\n * ```\n */\n isDirected() {\n return this._isDirected;\n }\n /**\n * @returns {boolean} `true` if the graph is a multigraph.\n */\n isMultigraph() {\n return this._isMultigraph;\n }\n /**\n * @returns {boolean} `true` if the graph is compound.\n */\n isCompound() {\n return this._isCompound;\n }\n\n /**\n * Sets the label for the graph to `label`.\n *\n * @param {GraphLabel} label - Label for the graph.\n * @returns {this}\n */\n setGraph(label) {\n this._label = label;\n return this;\n }\n\n /**\n * @returns {GraphLabel | undefined} the currently assigned label for the graph.\n * If no label has been assigned, returns `undefined`.\n *\n * @example\n *\n * ```js\n * var g = new Graph();\n * g.graph(); // returns undefined\n * g.setGraph(\"graph-label\");\n * g.graph(); // returns \"graph-label\"\n * ```\n */\n graph() {\n return this._label;\n }\n /* === Node functions ========== */\n\n /**\n * Sets a new default value that is assigned to nodes that are created without\n * a label.\n *\n * @param {typeof this._defaultNodeLabelFn | NodeLabel} newDefault - If a function,\n * it is called with the id of the node being created.\n * Otherwise, it is assigned as the label directly.\n * @returns {this}\n */\n setDefaultNodeLabel(newDefault) {\n if (!_.isFunction(newDefault)) {\n newDefault = _.constant(newDefault);\n }\n this._defaultNodeLabelFn = newDefault;\n return this;\n }\n\n /**\n * @returns {number} the number of nodes in the graph.\n */\n nodeCount() {\n return this._nodeCount;\n }\n\n /**\n * @returns {NodeID[]} the ids of the nodes in the graph.\n *\n * @remarks\n * Use {@link node()} to get the label for each node.\n * Takes `O(|V|)` time.\n */\n nodes() {\n return _.keys(this._nodes);\n }\n /**\n * @returns {NodeID[]} those nodes in the graph that have no in-edges.\n * @remarks Takes `O(|V|)` time.\n */\n sources() {\n var self = this;\n return _.filter(this.nodes(), function (v) {\n return _.isEmpty(self._in[v]);\n });\n }\n /**\n * @returns {NodeID[]} those nodes in the graph that have no out-edges.\n * @remarks Takes `O(|V|)` time.\n */\n sinks() {\n var self = this;\n return _.filter(this.nodes(), function (v) {\n return _.isEmpty(self._out[v]);\n });\n }\n\n /**\n * Invokes setNode method for each node in `vs` list.\n *\n * @param {Collection<NodeID | number>} vs - List of node IDs to create/set.\n * @param {NodeLabel} [value] - If set, update all nodes with this value.\n * @returns {this}\n * @remarks Complexity: O(|names|).\n */\n setNodes(vs, value) {\n var args = arguments;\n var self = this;\n _.each(vs, function (v) {\n if (args.length > 1) {\n self.setNode(v, value);\n } else {\n self.setNode(v);\n }\n });\n return this;\n }\n\n /**\n * Creates or updates the value for the node `v` in the graph.\n *\n * @param {NodeID | number} v - ID of the node to create/set.\n * @param {NodeLabel} [value] - If supplied, it is set as the value for the node.\n * If not supplied and the node was created by this call then\n * {@link setDefaultNodeLabel} will be used to set the node's value.\n * @returns {this} the graph, allowing this to be chained with other functions.\n * @remarks Takes `O(1)` time.\n */\n setNode(v, value) {\n if (Object.prototype.hasOwnProperty.call(this._nodes, v)) {\n if (arguments.length > 1) {\n this._nodes[v] = value;\n }\n return this;\n }\n\n this._nodes[v] = arguments.length > 1 ? value : this._defaultNodeLabelFn(v);\n if (this._isCompound) {\n this._parent[v] = GRAPH_NODE;\n this._children[v] = {};\n this._children[GRAPH_NODE][v] = true;\n }\n this._in[v] = {};\n this._preds[v] = {};\n this._out[v] = {};\n this._sucs[v] = {};\n ++this._nodeCount;\n return this;\n }\n\n /**\n * Gets the label of node with specified name.\n *\n * @param {NodeID | number} v - Node ID.\n * @returns {NodeLabel | undefined} the label assigned to the node with the id `v`\n * if it is in the graph.\n * Otherwise returns `undefined`.\n * @remarks Takes `O(1)` time.\n */\n node(v) {\n return this._nodes[v];\n }\n\n /**\n * Detects whether graph has a node with specified name or not.\n *\n * @param {NodeID | number} v - Node ID.\n * @returns {boolean} Returns `true` the graph has a node with the id.\n * @remarks Takes `O(1)` time.\n */\n hasNode(v) {\n return Object.prototype.hasOwnProperty.call(this._nodes, v);\n }\n\n /**\n * Remove the node with the id `v` in the graph or do nothing if the node is\n * not in the graph.\n *\n * If the node was removed this function also removes any incident edges.\n *\n * @param {NodeID | number} v - Node ID to remove.\n * @returns {this} the graph, allowing this to be chained with other functions.\n * @remarks Takes `O(|E|)` time.\n */\n removeNode(v) {\n if (Object.prototype.hasOwnProperty.call(this._nodes, v)) {\n var removeEdge = (e) => this.removeEdge(this._edgeObjs[e]);\n delete this._nodes[v];\n if (this._isCompound) {\n this._removeFromParentsChildList(v);\n delete this._parent[v];\n _.each(this.children(v), (child) => {\n this.setParent(child);\n });\n delete this._children[v];\n }\n _.each(_.keys(this._in[v]), removeEdge);\n delete this._in[v];\n delete this._preds[v];\n _.each(_.keys(this._out[v]), removeEdge);\n delete this._out[v];\n delete this._sucs[v];\n --this._nodeCount;\n }\n return this;\n }\n\n /**\n * Sets the parent for `v` to `parent` if it is defined or removes the parent\n * for `v` if `parent` is undefined.\n *\n * @param {NodeID | number} v - Node ID to set the parent for.\n * @param {NodeID | number} [parent] - Parent node ID. If not defined, removes the parent.\n * @returns {this} the graph, allowing this to be chained with other functions.\n * @throws if the graph is not compound.\n * @throws if setting the parent would create a cycle.\n * @remarks Takes `O(1)` time.\n */\n setParent(v, parent) {\n if (!this._isCompound) {\n throw new Error('Cannot set parent in a non-compound graph');\n }\n\n if (_.isUndefined(parent)) {\n parent = GRAPH_NODE;\n } else {\n // Coerce parent to string\n parent += '';\n for (var ancestor = parent; !_.isUndefined(ancestor); ancestor = this.parent(ancestor)) {\n if (ancestor === v) {\n throw new Error('Setting ' + parent + ' as parent of ' + v + ' would create a cycle');\n }\n }\n\n this.setNode(parent);\n }\n\n this.setNode(v);\n this._removeFromParentsChildList(v);\n // @ts-expect-error -- We coerced parent to a string above\n this._parent[v] = parent;\n this._children[parent][v] = true;\n return this;\n }\n\n /**\n * @private\n * @param {NodeID | number} v - Node ID.\n */\n _removeFromParentsChildList(v) {\n delete this._children[this._parent[v]][v];\n }\n\n /**\n * Get parent node for node `v`.\n *\n * @param {NodeID | number} v - Node ID.\n * @returns {NodeID | undefined} the node that is a parent of node `v`\n * or `undefined` if node `v` does not have a parent or is not a member of\n * the graph.\n * Always returns `undefined` for graphs that are not compound.\n * @remarks Takes `O(1)` time.\n */\n parent(v) {\n if (this._isCompound) {\n var parent = this._parent[v];\n if (parent !== GRAPH_NODE) {\n return parent;\n }\n }\n }\n\n /**\n * Gets list of direct children of node v.\n *\n * @param {NodeID | number} [v] - Node ID. If not specified, gets nodes\n * with no parent (top-level nodes).\n * @returns {NodeID[] | undefined} all nodes that are children of node `v` or\n * `undefined` if node `v` is not in the graph.\n * Always returns `[]` for graphs that are not compound.\n * @remarks Takes `O(|V|)` time.\n */\n children(v) {\n if (_.isUndefined(v)) {\n v = GRAPH_NODE;\n }\n\n if (this._isCompound) {\n var children = this._children[v];\n if (children) {\n return _.keys(children);\n }\n } else if (v === GRAPH_NODE) {\n return this.nodes();\n } else if (this.hasNode(v)) {\n return [];\n }\n }\n\n /**\n * @param {NodeID | number} v - Node ID.\n * @returns {NodeID[] | undefined} all nodes that are predecessors of the\n * specified node or `undefined` if node `v` is not in the graph.\n * @remarks\n * Behavior is undefined for undirected graphs - use {@link neighbors} instead.\n * Takes `O(|V|)` time.\n */\n predecessors(v) {\n var predsV = this._preds[v];\n if (predsV) {\n return _.keys(predsV);\n }\n }\n\n /**\n * @param {NodeID | number} v - Node ID.\n * @returns {NodeID[] | undefined} all nodes that are successors of the\n * specified node or `undefined` if node `v` is not in the graph.\n * @remarks\n * Behavior is undefined for undirected graphs - use {@link neighbors} instead.\n * Takes `O(|V|)` time.\n */\n successors(v) {\n var sucsV = this._sucs[v];\n if (sucsV) {\n return _.keys(sucsV);\n }\n }\n\n /**\n * @param {NodeID | number} v - Node ID.\n * @returns {NodeID[] | undefined} all nodes that are predecessors or\n * successors of the specified node\n * or `undefined` if node `v` is not in the graph.\n * @remarks Takes `O(|V|)` time.\n */\n neighbors(v) {\n var preds = this.predecessors(v);\n if (preds) {\n return _.union(preds, this.successors(v));\n }\n }\n\n /**\n * @param {NodeID | number} v - Node ID.\n * @returns {boolean} True if the node is a leaf (has no successors), false otherwise.\n */\n isLeaf(v) {\n var neighbors;\n if (this.isDirected()) {\n neighbors = this.successors(v);\n } else {\n neighbors = this.neighbors(v);\n }\n return neighbors.length === 0;\n }\n\n /**\n * Creates new graph with nodes filtered via `filter`.\n * Edges incident to rejected node\n * are also removed.\n * \n * In case of compound graph, if parent is rejected by `filter`,\n * than all its children are rejected too.\n\n * @param {(v: NodeID) => boolean} filter - Function that returns `true` for nodes to keep.\n * @returns {Graph<GraphLabel, NodeLabel, EdgeLabel>} A new graph containing only the nodes for which `filter` returns `true`.\n * @remarks Average-case complexity: O(|E|+|V|).\n */\n filterNodes(filter) {\n /**\n * @type {Graph<GraphLabel, NodeLabel, EdgeLabel>}\n */\n // @ts-expect-error\n var copy = new this.constructor({\n directed: this._isDirected,\n multigraph: this._isMultigraph,\n compound: this._isCompound,\n });\n\n copy.setGraph(this.graph());\n\n var self = this;\n _.each(this._nodes, function (value, v) {\n if (filter(v)) {\n copy.setNode(v, value);\n }\n });\n\n _.each(this._edgeObjs, function (e) {\n if (copy.hasNode(e.v) && copy.hasNode(e.w)) {\n copy.setEdge(e, self.edge(e));\n }\n });\n\n var parents = {};\n function findParent(v) {\n var parent = self.parent(v);\n if (parent === undefined || copy.hasNode(parent)) {\n parents[v] = parent;\n return parent;\n } else if (parent in parents) {\n return parents[parent];\n } else {\n return findParent(parent);\n }\n }\n\n if (this._isCompound) {\n _.each(copy.nodes(), function (v) {\n copy.setParent(v, findParent(v));\n });\n }\n\n return copy;\n }\n\n /* === Edge functions ========== */\n\n /**\n * Sets a new default value that is assigned to edges that are created without\n * a label.\n *\n * @param {typeof this._defaultEdgeLabelFn | EdgeLabel} newDefault - If a function,\n * it is called with the parameters `(v, w, name)`.\n * Otherwise, it is assigned as the label directly.\n * @returns {this}\n */\n setDefaultEdgeLabel(newDefault) {\n if (!_.isFunction(newDefault)) {\n newDefault = _.constant(newDefault);\n }\n this._defaultEdgeLabelFn = newDefault;\n return this;\n }\n\n /**\n * @returns {number} the number of edges in the graph.\n * @remarks Complexity: O(1).\n */\n edgeCount() {\n return this._edgeCount;\n }\n\n /**\n * Gets edges of the graph.\n *\n * @returns {EdgeObj[]} the {@link EdgeObj} for each edge in the graph.\n *\n * @remarks\n * In case of compound graph subgraphs are not considered.\n * Use {@link edge()} to get the label for each edge.\n * Takes `O(|E|)` time.\n */\n edges() {\n return _.values(this._edgeObjs);\n }\n\n /**\n * Establish an edges path over the nodes in nodes list.\n *\n * If some edge is already exists, it will update its label, otherwise it will\n * create an edge between pair of nodes with label provided or default label\n * if no label provided.\n *\n * @param {Collection<NodeID>} vs - List of node IDs to create edges between.\n * @param {EdgeLabel} [value] - If set, update all edges with this value.\n * @returns {this}\n * @remarks Complexity: O(|nodes|).\n */\n setPath(vs, value) {\n var self = this;\n var args = arguments;\n _.reduce(vs, function (v, w) {\n if (args.length > 1) {\n self.setEdge(v, w, value);\n } else {\n self.setEdge(v, w);\n }\n return w;\n });\n return this;\n }\n\n /**\n * Creates or updates the label for the edge (`v`, `w`) with the optionally\n * supplied `name`.\n *\n * @overload\n * @param {EdgeObj} arg0 - Edge object.\n * @param {EdgeLabel} [value] - If supplied, it is set as the label for the edge.\n * If not supplied and the edge was created by this call then\n * {@link setDefaultEdgeLabel} will be used to assign the edge's label.\n * @returns {this} the graph, allowing this to be chained with other functions.\n * @remarks Takes `O(1)` time.\n */\n /**\n * Creates or updates the label for the edge (`v`, `w`) with the optionally\n * supplied `name`.\n *\n * @overload\n * @param {NodeID | number} v - Source node ID. Number values will be coerced to strings.\n * @param {NodeID | number} w - Target node ID. Number values will be coerced to strings.\n * @param {EdgeLabel} [value] - If supplied, it is set as the label for the edge.\n * If not supplied and the edge was created by this call then\n * {@link setDefaultEdgeLabel} will be used to assign the edge's label.\n * @param {string | number} [name] - Edge name. Only useful with multigraphs.\n * @returns {this} the graph, allowing this to be chained with other functions.\n * @remarks Takes `O(1)` time.\n */\n setEdge() {\n var v, w, name, value;\n var valueSpecified = false;\n var arg0 = arguments[0];\n\n if (typeof arg0 === 'object' && arg0 !== null && 'v' in arg0) {\n v = arg0.v;\n w = arg0.w;\n name = arg0.name;\n if (arguments.length === 2) {\n value = arguments[1];\n valueSpecified = true;\n }\n } else {\n v = arg0;\n w = arguments[1];\n name = arguments[3];\n if (arguments.length > 2) {\n value = arguments[2];\n valueSpecified = true;\n }\n }\n\n v = '' + v;\n w = '' + w;\n if (!_.isUndefined(name)) {\n name = '' + name;\n }\n\n var e = edgeArgsToId(this._isDirected, v, w, name);\n if (Object.prototype.hasOwnProperty.call(this._edgeLabels, e)) {\n if (valueSpecified) {\n this._edgeLabels[e] = value;\n }\n return this;\n }\n\n if (!_.isUndefined(name) && !this._isMultigraph) {\n throw new Error('Cannot set a named edge when isMultigraph = false');\n }\n\n // It didn't exist, so we need to create it.\n // First ensure the nodes exist.\n this.setNode(v);\n this.setNode(w);\n\n this._edgeLabels[e] = valueSpecified ? value : this._defaultEdgeLabelFn(v, w, name);\n\n var edgeObj = edgeArgsToObj(this._isDirected, v, w, name);\n // Ensure we add undirected edges in a consistent way.\n v = edgeObj.v;\n w = edgeObj.w;\n\n Object.freeze(edgeObj);\n this._edgeObjs[e] = edgeObj;\n incrementOrInitEntry(this._preds[w], v);\n incrementOrInitEntry(this._sucs[v], w);\n this._in[w][e] = edgeObj;\n this._out[v][e] = edgeObj;\n this._edgeCount++;\n return this;\n }\n\n /**\n * Gets the label for the specified edge.\n *\n * @overload\n * @param {EdgeObj} v - Edge object.\n * @returns {EdgeLabel | undefined} the label for the edge (`v`, `w`) if the\n * graph has an edge between `v` and `w` with the optional `name`.\n * Returned `undefined` if there is no such edge in the graph.\n * @remarks\n * `v` and `w` can be interchanged for undirected graphs.\n * Takes `O(1)` time.\n */\n /**\n * Gets the label for the specified edge.\n *\n * @overload\n * @param {NodeID | number} v - Source node ID.\n * @param {NodeID | number} w - Target node ID.\n * @param {string | number} [name] - Edge name. Only useful with multigraphs.\n * @returns {EdgeLabel | undefined} the label for the edge (`v`, `w`) if the\n * graph has an edge between `v` and `w` with the optional `name`.\n * Returned `undefined` if there is no such edge in the graph.\n * @remarks\n * `v` and `w` can be interchanged for undirected graphs.\n * Takes `O(1)` time.\n */\n edge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n return this._edgeLabels[e];\n }\n\n /**\n * Detects whether the graph contains specified edge or not.\n *\n * @overload\n * @param {EdgeObj} v - Edge object.\n * @returns {boolean} `true` if the graph has an edge between `v` and `w`\n * with the optional `name`.\n * @remarks\n * `v` and `w` can be interchanged for undirected graphs.\n * No subgraphs are considered.\n * Takes `O(1)` time.\n */\n /**\n * Detects whether the graph contains specified edge or not.\n *\n * @overload\n * @param {NodeID | number} v - Source node ID.\n * @param {NodeID | number} w - Target node ID.\n * @param {string | number} [name] - Edge name. Only useful with multigraphs.\n * @returns {boolean} `true` if the graph has an edge between `v` and `w`\n * with the optional `name`.\n * @remarks\n * `v` and `w` can be interchanged for undirected graphs.\n * No subgraphs are considered.\n * Takes `O(1)` time.\n */\n hasEdge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n return Object.prototype.hasOwnProperty.call(this._edgeLabels, e);\n }\n\n /**\n * Removes the edge (`v`, `w`) if the graph has an edge between `v` and `w`\n * with the optional `name`. If not this function does nothing.\n *\n * @overload\n * @param {EdgeObj} v - Edge object.\n * @returns {this}\n * @remarks\n * `v` and `w` can be interchanged for undirected graphs.\n * No subgraphs are considered.\n * Takes `O(1)` time.\n */\n /**\n * Removes the edge (`v`, `w`) if the graph has an edge between `v` and `w`\n * with the optional `name`. If not this function does nothing.\n *\n * @overload\n * @param {NodeID | number} v - Source node ID.\n * @param {NodeID | number} w - Target node ID.\n * @param {string | number} [name] - Edge name. Only useful with multigraphs.\n * @returns {this}\n * @remarks\n * `v` and `w` can be interchanged for undirected graphs.\n * Takes `O(1)` time.\n */\n removeEdge(v, w, name) {\n var e =\n arguments.length === 1\n ? edgeObjToId(this._isDirected, arguments[0])\n : edgeArgsToId(this._isDirected, v, w, name);\n var edge = this._edgeObjs[e];\n if (edge) {\n v = edge.v;\n w = edge.w;\n delete this._edgeLabels[e];\n delete this._edgeObjs[e];\n decrementOrRemoveEntry(this._preds[w], v);\n decrementOrRemoveEntry(this._sucs[v], w);\n delete this._in[w][e];\n delete this._out[v][e];\n this._edgeCount--;\n }\n return this;\n }\n\n /**\n * @param {NodeID | number} v - Target node ID.\n * @param {NodeID | number} [u] - Optionally filters edges down to just those\n * coming from node `u`.\n * @returns {EdgeObj[] | undefined} all edges that point to the node `v`.\n * Returns `undefined` if node `v` is not in the graph.\n * @remarks\n * Behavior is undefined for undirected graphs - use {@link nodeEdges} instead.\n * Takes `O(|E|)` time.\n */\n inEdges(v, u) {\n var inV = this._in[v];\n if (inV) {\n var edges = _.values(inV);\n if (!u) {\n return edges;\n }\n return _.filter(edges, function (edge) {\n return edge.v === u;\n });\n }\n }\n\n /**\n * @param {NodeID | number} v - Target node ID.\n * @param {NodeID | number} [w] - Optionally filters edges down to just those\n * that point to `w`.\n * @returns {EdgeObj[] | undefined} all edges that point to the node `v`.\n * Returns `undefined` if node `v` is not in the graph.\n * @remarks\n * Behavior is undefined for undirected graphs - use {@link nodeEdges} instead.\n * Takes `O(|E|)` time.\n */\n outEdges(v, w) {\n var outV = this._out[v];\n if (outV) {\n var edges = _.values(outV);\n if (!w) {\n return edges;\n }\n return _.filter(edges, function (edge) {\n return edge.w === w;\n });\n }\n }\n\n /**\n * @param {NodeID | number} v - Target Node ID.\n * @param {NodeID | number} [w] - If set, filters those edges down to just\n * those between nodes `v` and `w` regardless of direction\n * @returns {EdgeObj[] | undefined} all edges to or from node `v` regardless\n * of direction. Returns `undefined` if node `v` is not in the graph.\n * @remarks Takes `O(|E|)` time.\n */\n nodeEdges(v, w) {\n var inEdges = this.inEdges(v, w);\n if (inEdges) {\n return inEdges.concat(this.outEdges(v, w));\n }\n }\n}\n\n/* Number of nodes in the graph. Should only be changed by the implementation. */\nGraph.prototype._nodeCount = 0;\n\n/* Number of edges in the graph. Should only be changed by the implementation. */\nGraph.prototype._edgeCount = 0;\n\n/**\n * @param {Record<NodeID, number>} map - Object mapping node IDs to counts.\n * @param {NodeID | number} k - Node ID.\n */\nfunction incrementOrInitEntry(map, k) {\n if (map[k]) {\n map[k]++;\n } else {\n map[k] = 1;\n }\n}\n\n/**\n * @param {Record<NodeID, number>} map - Object mapping node IDs to counts.\n * @param {NodeID | number} k - Node ID.\n */\nfunction decrementOrRemoveEntry(map, k) {\n if (!--map[k]) {\n delete map[k];\n }\n}\n\n/**\n * @param {boolean} isDirected - If `false`, sorts v and w to ensure a consistent ID.\n * @param {EdgeObj['v'] | number} v_ - Source node ID.\n * @param {EdgeObj['w'] | number} w_ - Target node ID.\n * @param {EdgeObj['name']} [name] - Edge name (for multiple edges between the same nodes).\n * @returns {EdgeID} Unique ID for the edge.\n */\nfunction edgeArgsToId(isDirected, v_, w_, name) {\n var v = '' + v_;\n var w = '' + w_;\n if (!isDirected && v > w) {\n var tmp = v;\n v = w;\n w = tmp;\n }\n return v + EDGE_KEY_DELIM + w + EDGE_KEY_DELIM + (_.isUndefined(name) ? DEFAULT_EDGE_NAME : name);\n}\n\n/**\n * @param {boolean} isDirected - If `false`, sorts v and w to ensure a consistent ID.\n * @param {EdgeObj['v'] | number} v_ - Source node ID.\n * @param {EdgeObj['w'] | number} w_ - Target node ID.\n * @param {EdgeObj['name']} [name] - Edge name (for multiple edges between the same nodes).\n * @returns {EdgeObj}\n */\nfunction edgeArgsToObj(isDirected, v_, w_, name) {\n var v = '' + v_;\n var w = '' + w_;\n if (!isDirected && v > w) {\n var tmp = v;\n v = w;\n w = tmp;\n }\n var edgeObj = { v: v, w: w };\n if (name) {\n edgeObj.name = name;\n }\n return edgeObj;\n}\n\n/**\n * @param {boolean} isDirected - If `false`, sorts v and w to ensure a consistent ID.\n * @param {EdgeObj} edgeObj - Edge object.\n * @returns {EdgeID} Unique ID for the edge.\n */\nfunction edgeObjToId(isDirected, edgeObj) {\n return edgeArgsToId(isDirected, edgeObj.v, edgeObj.w, edgeObj.name);\n}\n"],"names":["object","props","arrayMap","key","baseValues","keys","value","undefined","source","copyObject","keysIn","getSymbols","Object","getOwnPropertySymbols","result","arrayPush","getPrototype","stubArray","getSymbolsIn","baseGetAllKeys","hasOwnProperty","prototype","array","length","constructor","call","index","input","dataView","isDeep","buffer","cloneArrayBuffer","byteOffset","byteLength","reFlags","regexp","exec","lastIndex","symbolProto","Symbol","symbolValueOf","valueOf","symbol","tag","Ctor","cloneDataView","cloneTypedArray","cloneRegExp","cloneSymbol","isObjectLike","getTag","nodeIsMap","nodeUtil","isMap","baseUnary","baseIsMap","nodeIsSet","isSet","baseIsSet","argsTag","funcTag","objectTag","cloneableTags","baseClone","bitmask","customizer","stack","isFlat","isFull","isObject","isArr","isArray","initCloneArray","copyArray","isFunc","isBuffer","cloneBuffer","initCloneObject","copySymbolsIn","baseAssignIn","copySymbols","baseAssign","initCloneByTag","Stack","stacked","get","set","forEach","subValue","add","keysFunc","getAllKeysIn","getAllKeys","arrayEach","assignValue","baseRest","arrays","baseUniq","baseFlatten","isArrayLikeObject","GRAPH_NODE","Graph","opts","arguments","this","_isDirected","directed","_isMultigraph","multigraph","_isCompound","compound","_label","_defaultNodeLabelFn","_","_defaultEdgeLabelFn","_nodes","_parent","_children","_in","_preds","_out","_sucs","_edgeObjs","_edgeLabels","isDirected","isMultigraph","isCompound","setGraph","label","graph","setDefaultNodeLabel","newDefault","nodeCount","_nodeCount","nodes","sources","self","v","sinks","setNodes","vs","args","setNode","node","hasNode","removeNode","removeEdge","e","_removeFromParentsChildList","children","child","setParent","parent","Error","ancestor","predecessors","predsV","successors","sucsV","neighbors","preds","isLeaf","filterNodes","filter","copy","w","setEdge","edge","parents","findParent","setDefaultEdgeLabel","edgeCount","_edgeCount","edges","setPath","name","valueSpecified","arg0","edgeArgsToId","edgeObj","v_","w_","tmp","edgeArgsToObj","freeze","incrementOrInitEntry","edgeObjToId","hasEdge","decrementOrRemoveEntry","inEdges","u","inV","outEdges","outV","nodeEdges","concat","map","k"],"ignoreList":[],"sourceRoot":""}
build/static/js/537.2e21b67e.chunk.js ADDED
@@ -0,0 +1 @@
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[537],{28537(e,c,n){n.d(c,{createPacketServices:()=>r.$});var r=n(75564);n(67391)}}]);
build/static/js/555.f6b76e48.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[555],{5555(r,e,s){s.d(e,{diagram:()=>n});var a=s(11876),t=(s(44344),s(53272),s(96728),s(82460),s(96421),s(23096),s(13719),s(56565),s(91674),s(24203),s(63614),s(84571),s(45420),s(32748)),n={parser:a._$,get db(){return new a.NM},renderer:a.Lh,styles:a.tM,init:(0,t.K2)(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")}}}]);
2
+ //# sourceMappingURL=555.f6b76e48.chunk.js.map
build/static/js/555.f6b76e48.chunk.js.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"static/js/555.f6b76e48.chunk.js","mappings":"wQAwBIA,EAAU,CACZC,OAAQC,EAAAA,GACR,MAAIC,GACF,OAAO,IAAIC,EAAAA,EACb,EACAC,SAAUC,EAAAA,GACVC,OAAQC,EAAAA,GACRC,MAAsBC,EAAAA,EAAAA,IAAQC,IACvBA,EAAIC,QACPD,EAAIC,MAAQ,CAAC,GAEfD,EAAIC,MAAMC,oBAAsBF,EAAIE,qBACnC,Q","sources":["../node_modules/mermaid/dist/chunks/mermaid.core/classDiagram-6PBFFD2Q.mjs"],"sourcesContent":["import {\n ClassDB,\n classDiagram_default,\n classRenderer_v3_unified_default,\n styles_default\n} from \"./chunk-4TB4RGXK.mjs\";\nimport \"./chunk-FMBD7UC4.mjs\";\nimport \"./chunk-YZCP3GAM.mjs\";\nimport \"./chunk-55IACEB6.mjs\";\nimport \"./chunk-EDXVE4YY.mjs\";\nimport \"./chunk-336JU56O.mjs\";\nimport \"./chunk-ENJZ2VHE.mjs\";\nimport \"./chunk-BSJP7CBP.mjs\";\nimport \"./chunk-5FUZZQ4R.mjs\";\nimport \"./chunk-ZZ45TVLE.mjs\";\nimport \"./chunk-X2U36JSP.mjs\";\nimport \"./chunk-U2HBQHQK.mjs\";\nimport \"./chunk-5PVQY5BW.mjs\";\nimport \"./chunk-ICPOFSXX.mjs\";\nimport {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/class/classDiagram.ts\nvar diagram = {\n parser: classDiagram_default,\n get db() {\n return new ClassDB();\n },\n renderer: classRenderer_v3_unified_default,\n styles: styles_default,\n init: /* @__PURE__ */ __name((cnf) => {\n if (!cnf.class) {\n cnf.class = {};\n }\n cnf.class.arrowMarkerAbsolute = cnf.arrowMarkerAbsolute;\n }, \"init\")\n};\nexport {\n diagram\n};\n"],"names":["diagram","parser","classDiagram_default","db","ClassDB","renderer","classRenderer_v3_unified_default","styles","styles_default","init","__name","cnf","class","arrowMarkerAbsolute"],"ignoreList":[],"sourceRoot":""}
build/static/js/566.2401f837.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[566],{7274(t,c,o){function n(t,c){var o,n,r;t.accDescr&&(null===(o=c.setAccDescription)||void 0===o||o.call(c,t.accDescr));t.accTitle&&(null===(n=c.setAccTitle)||void 0===n||n.call(c,t.accTitle));t.title&&(null===(r=c.setDiagramTitle)||void 0===r||r.call(c,t.title))}o.d(c,{S:()=>n}),(0,o(32748).K2)(n,"populateCommonDb")},77566(t,c,o){o.d(c,{diagram:()=>It});var n=o(89379),r=o(7274),e=o(94787),a=o(84571),i=o(45420),s=o(32748),d=o(55502),l=o(68973),h={NORMAL:0,REVERSE:1,HIGHLIGHT:2,MERGE:3,CHERRY_PICK:4},m=i.UI.gitGraph,g=(0,s.K2)(()=>(0,a.$t)((0,n.A)((0,n.A)({},m),(0,i.zj)().gitGraph)),"getConfig"),u=new e.m(()=>{const t=g(),c=t.mainBranchName,o=t.mainBranchOrder;return{mainBranchName:c,commits:new Map,head:null,branchConfig:new Map([[c,{name:c,order:o}]]),branches:new Map([[c,null]]),currBranch:c,direction:"LR",seq:0,options:{}}});function f(){return(0,a.yT)({length:7})}function p(t,c){const o=Object.create(null);return t.reduce((t,n)=>{const r=c(n);return o[r]||(o[r]=!0,t.push(n)),t},[])}(0,s.K2)(f,"getID"),(0,s.K2)(p,"uniqBy");var y=(0,s.K2)(function(t){u.records.direction=t},"setDirection"),x=(0,s.K2)(function(t){var c;s.Rm.debug("options str",t),t=(t=null===(c=t)||void 0===c?void 0:c.trim())||"{}";try{u.records.options=JSON.parse(t)}catch(o){s.Rm.error("error while parsing gitGraph options",o.message)}},"setOptions"),b=(0,s.K2)(function(){return u.records.options},"getOptions"),v=(0,s.K2)(function(t){var c;let o=t.msg,n=t.id;const r=t.type;let e=t.tags;s.Rm.info("commit",o,n,r,e),s.Rm.debug("Entering commit:",o,n,r,e);const a=g();n=i.Y2.sanitizeText(n,a),o=i.Y2.sanitizeText(o,a),e=null===(c=e)||void 0===c?void 0:c.map(t=>i.Y2.sanitizeText(t,a));const d={id:n||u.records.seq+"-"+f(),message:o,seq:u.records.seq++,type:null!==r&&void 0!==r?r:h.NORMAL,tags:null!==e&&void 0!==e?e:[],parents:null==u.records.head?[]:[u.records.head.id],branch:u.records.currBranch};u.records.head=d,s.Rm.info("main branch",a.mainBranchName),u.records.commits.has(d.id)&&s.Rm.warn("Commit ID ".concat(d.id," already exists")),u.records.commits.set(d.id,d),u.records.branches.set(u.records.currBranch,d.id),s.Rm.debug("in pushCommit "+d.id)},"commit"),w=(0,s.K2)(function(t){let c=t.name;const o=t.order;if(c=i.Y2.sanitizeText(c,g()),u.records.branches.has(c))throw new Error('Trying to create an existing branch. (Help: Either use a new name if you want create a new branch or try using "checkout '.concat(c,'")'));u.records.branches.set(c,null!=u.records.head?u.records.head.id:null),u.records.branchConfig.set(c,{name:c,order:o}),E(c),s.Rm.debug("in createBranch")},"branch"),k=(0,s.K2)(t=>{let c=t.branch,o=t.id;const n=t.type,r=t.tags,e=g();c=i.Y2.sanitizeText(c,e),o&&(o=i.Y2.sanitizeText(o,e));const a=u.records.branches.get(u.records.currBranch),d=u.records.branches.get(c),l=a?u.records.commits.get(a):void 0,m=d?u.records.commits.get(d):void 0;if(l&&m&&l.branch===c)throw new Error("Cannot merge branch '".concat(c,"' into itself."));if(u.records.currBranch===c){const t=new Error('Incorrect usage of "merge". Cannot merge a branch to itself');throw t.hash={text:"merge ".concat(c),token:"merge ".concat(c),expected:["branch abc"]},t}if(void 0===l||!l){const t=new Error('Incorrect usage of "merge". Current branch ('.concat(u.records.currBranch,")has no commits"));throw t.hash={text:"merge ".concat(c),token:"merge ".concat(c),expected:["commit"]},t}if(!u.records.branches.has(c)){const t=new Error('Incorrect usage of "merge". Branch to be merged ('+c+") does not exist");throw t.hash={text:"merge ".concat(c),token:"merge ".concat(c),expected:["branch ".concat(c)]},t}if(void 0===m||!m){const t=new Error('Incorrect usage of "merge". Branch to be merged ('+c+") has no commits");throw t.hash={text:"merge ".concat(c),token:"merge ".concat(c),expected:['"commit"']},t}if(l===m){const t=new Error('Incorrect usage of "merge". Both branches have same head');throw t.hash={text:"merge ".concat(c),token:"merge ".concat(c),expected:["branch abc"]},t}if(o&&u.records.commits.has(o)){const t=new Error('Incorrect usage of "merge". Commit with id:'+o+" already exists, use different custom id");throw t.hash={text:"merge ".concat(c," ").concat(o," ").concat(n," ").concat(null===r||void 0===r?void 0:r.join(" ")),token:"merge ".concat(c," ").concat(o," ").concat(n," ").concat(null===r||void 0===r?void 0:r.join(" ")),expected:["merge ".concat(c," ").concat(o,"_UNIQUE ").concat(n," ").concat(null===r||void 0===r?void 0:r.join(" "))]},t}const p=d||"",y={id:o||"".concat(u.records.seq,"-").concat(f()),message:"merged branch ".concat(c," into ").concat(u.records.currBranch),seq:u.records.seq++,parents:null==u.records.head?[]:[u.records.head.id,p],branch:u.records.currBranch,type:h.MERGE,customType:n,customId:!!o,tags:null!==r&&void 0!==r?r:[]};u.records.head=y,u.records.commits.set(y.id,y),u.records.branches.set(u.records.currBranch,y.id),s.Rm.debug(u.records.branches),s.Rm.debug("in mergeBranch")},"merge"),B=(0,s.K2)(function(t){var c;let o=t.id,n=t.targetId,r=t.tags,e=t.parent;s.Rm.debug("Entering cherryPick:",o,n,r);const a=g();if(o=i.Y2.sanitizeText(o,a),n=i.Y2.sanitizeText(n,a),r=null===(c=r)||void 0===c?void 0:c.map(t=>i.Y2.sanitizeText(t,a)),e=i.Y2.sanitizeText(e,a),!o||!u.records.commits.has(o)){const t=new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');throw t.hash={text:"cherryPick ".concat(o," ").concat(n),token:"cherryPick ".concat(o," ").concat(n),expected:["cherry-pick abc"]},t}const d=u.records.commits.get(o);if(void 0===d||!d)throw new Error('Incorrect usage of "cherryPick". Source commit id should exist and provided');if(e&&(!Array.isArray(d.parents)||!d.parents.includes(e))){throw new Error("Invalid operation: The specified parent commit is not an immediate parent of the cherry-picked commit.")}const l=d.branch;if(d.type===h.MERGE&&!e){throw new Error("Incorrect usage of cherry-pick: If the source commit is a merge commit, an immediate parent commit must be specified.")}if(!n||!u.records.commits.has(n)){if(l===u.records.currBranch){const t=new Error('Incorrect usage of "cherryPick". Source commit is already on current branch');throw t.hash={text:"cherryPick ".concat(o," ").concat(n),token:"cherryPick ".concat(o," ").concat(n),expected:["cherry-pick abc"]},t}const t=u.records.branches.get(u.records.currBranch);if(void 0===t||!t){const t=new Error('Incorrect usage of "cherry-pick". Current branch ('.concat(u.records.currBranch,")has no commits"));throw t.hash={text:"cherryPick ".concat(o," ").concat(n),token:"cherryPick ".concat(o," ").concat(n),expected:["cherry-pick abc"]},t}const c=u.records.commits.get(t);if(void 0===c||!c){const t=new Error('Incorrect usage of "cherry-pick". Current branch ('.concat(u.records.currBranch,")has no commits"));throw t.hash={text:"cherryPick ".concat(o," ").concat(n),token:"cherryPick ".concat(o," ").concat(n),expected:["cherry-pick abc"]},t}const a={id:u.records.seq+"-"+f(),message:"cherry-picked ".concat(null===d||void 0===d?void 0:d.message," into ").concat(u.records.currBranch),seq:u.records.seq++,parents:null==u.records.head?[]:[u.records.head.id,d.id],branch:u.records.currBranch,type:h.CHERRY_PICK,tags:r?r.filter(Boolean):["cherry-pick:".concat(d.id).concat(d.type===h.MERGE?"|parent:".concat(e):"")]};u.records.head=a,u.records.commits.set(a.id,a),u.records.branches.set(u.records.currBranch,a.id),s.Rm.debug(u.records.branches),s.Rm.debug("in cherryPick")}},"cherryPick"),E=(0,s.K2)(function(t){if(t=i.Y2.sanitizeText(t,g()),!u.records.branches.has(t)){const c=new Error('Trying to checkout branch which is not yet created. (Help try using "branch '.concat(t,'")'));throw c.hash={text:"checkout ".concat(t),token:"checkout ".concat(t),expected:["branch ".concat(t)]},c}{u.records.currBranch=t;const o=u.records.branches.get(u.records.currBranch);var c;if(void 0!==o&&o)u.records.head=null!==(c=u.records.commits.get(o))&&void 0!==c?c:null;else u.records.head=null}},"checkout");function C(t,c,o){const n=t.indexOf(c);-1===n?t.push(o):t.splice(n,1,o)}function T(t){const c=t.reduce((t,c)=>t.seq>c.seq?t:c,t[0]);let o="";t.forEach(function(t){o+=t===c?"\t*":"\t|"});const n=[o,c.id,c.seq];for(const r in u.records.branches)u.records.branches.get(r)===c.id&&n.push(r);if(s.Rm.debug(n.join(" ")),c.parents&&2==c.parents.length&&c.parents[0]&&c.parents[1]){const o=u.records.commits.get(c.parents[0]);C(t,c,o),c.parents[1]&&t.push(u.records.commits.get(c.parents[1]))}else{if(0==c.parents.length)return;if(c.parents[0]){const o=u.records.commits.get(c.parents[0]);C(t,c,o)}}T(t=p(t,t=>t.id))}(0,s.K2)(C,"upsert"),(0,s.K2)(T,"prettyPrintCommitHistory");var L=(0,s.K2)(function(){s.Rm.debug(u.records.commits);T([P()[0]])},"prettyPrint"),K=(0,s.K2)(function(){u.reset(),(0,i.IU)()},"clear"),M=(0,s.K2)(function(){return[...u.records.branchConfig.values()].map((t,c)=>null!==t.order&&void 0!==t.order?t:(0,n.A)((0,n.A)({},t),{},{order:parseFloat("0.".concat(c))})).sort((t,c)=>{var o,n;return(null!==(o=t.order)&&void 0!==o?o:0)-(null!==(n=c.order)&&void 0!==n?n:0)}).map(t=>{let{name:c}=t;return{name:c}})},"getBranchesAsObjArray"),R=(0,s.K2)(function(){return u.records.branches},"getBranches"),I=(0,s.K2)(function(){return u.records.commits},"getCommits"),P=(0,s.K2)(function(){const t=[...u.records.commits.values()];return t.forEach(function(t){s.Rm.debug(t.id)}),t.sort((t,c)=>t.seq-c.seq),t},"getCommitsArray"),A={commitType:h,getConfig:g,setDirection:y,setOptions:x,getOptions:b,commit:v,branch:w,merge:k,cherryPick:B,checkout:E,prettyPrint:L,clear:K,getBranchesAsObjArray:M,getBranches:R,getCommits:I,getCommitsArray:P,getCurrentBranch:(0,s.K2)(function(){return u.records.currBranch},"getCurrentBranch"),getDirection:(0,s.K2)(function(){return u.records.direction},"getDirection"),getHead:(0,s.K2)(function(){return u.records.head},"getHead"),setAccTitle:i.SV,getAccTitle:i.iN,getAccDescription:i.m7,setAccDescription:i.EI,setDiagramTitle:i.ke,getDiagramTitle:i.ab},O=(0,s.K2)((t,c)=>{(0,r.S)(t,c),t.dir&&c.setDirection(t.dir);for(const o of t.statements)G(o,c)},"populate"),G=(0,s.K2)((t,c)=>{const o={Commit:(0,s.K2)(t=>c.commit(S(t)),"Commit"),Branch:(0,s.K2)(t=>c.branch(D(t)),"Branch"),Merge:(0,s.K2)(t=>c.merge(H(t)),"Merge"),Checkout:(0,s.K2)(t=>c.checkout(W(t)),"Checkout"),CherryPicking:(0,s.K2)(t=>c.cherryPick(q(t)),"CherryPicking")}[t.$type];o?o(t):s.Rm.error("Unknown statement type: ".concat(t.$type))},"parseStatement"),S=(0,s.K2)(t=>{var c,o;return{id:t.id,msg:null!==(c=t.message)&&void 0!==c?c:"",type:void 0!==t.type?h[t.type]:h.NORMAL,tags:null!==(o=t.tags)&&void 0!==o?o:void 0}},"parseCommit"),D=(0,s.K2)(t=>{var c;return{name:t.name,order:null!==(c=t.order)&&void 0!==c?c:0}},"parseBranch"),H=(0,s.K2)(t=>{var c,o;return{branch:t.branch,id:null!==(c=t.id)&&void 0!==c?c:"",type:void 0!==t.type?h[t.type]:void 0,tags:null!==(o=t.tags)&&void 0!==o?o:void 0}},"parseMerge"),W=(0,s.K2)(t=>t.branch,"parseCheckout"),q=(0,s.K2)(t=>{var c;return{id:t.id,targetId:"",tags:0===(null===(c=t.tags)||void 0===c?void 0:c.length)?void 0:t.tags,parent:t.parent}},"parseCherryPicking"),z={parse:(0,s.K2)(async t=>{const c=await(0,d.qg)("gitGraph",t);s.Rm.debug(c),O(c,A)},"parse")};var _=10,Y=40,j=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),N=new Set(["redux-color","redux-dark-color"]),F=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),V=(0,s.K2)(function(t,c){return arguments.length>2&&void 0!==arguments[2]&&arguments[2]&&t>0?(t-1)%(c-1)+1:t%c},"calcColorIndex"),U=new Map,$=new Map,J=new Map,Q=[],X=0,Z="LR",tt=(0,s.K2)(()=>{U.clear(),$.clear(),J.clear(),X=0,Q=[],Z="LR"},"clear"),ct=(0,s.K2)(t=>{const c=document.createElementNS("http://www.w3.org/2000/svg","text");return("string"===typeof t?t.split(/\\n|\n|<br\s*\/?>/gi):t).forEach(t=>{const o=document.createElementNS("http://www.w3.org/2000/svg","tspan");o.setAttributeNS("http://www.w3.org/XML/1998/namespace","xml:space","preserve"),o.setAttribute("dy","1em"),o.setAttribute("x","0"),o.setAttribute("class","row"),o.textContent=t.trim(),c.appendChild(o)}),c},"drawText"),ot=(0,s.K2)(t=>{let c,o,n;return"BT"===Z?(o=(0,s.K2)((t,c)=>t<=c,"comparisonFunc"),n=1/0):(o=(0,s.K2)((t,c)=>t>=c,"comparisonFunc"),n=0),t.forEach(t=>{var r,e;const a="TB"===Z||"BT"==Z?null===(r=$.get(t))||void 0===r?void 0:r.y:null===(e=$.get(t))||void 0===e?void 0:e.x;void 0!==a&&o(a,n)&&(c=t,n=a)}),c},"findClosestParent"),nt=(0,s.K2)(t=>{let c="",o=1/0;return t.forEach(t=>{const n=$.get(t).y;n<=o&&(c=t,o=n)}),c||void 0},"findClosestParentBT"),rt=(0,s.K2)((t,c,o)=>{let n=o,r=o;const e=[];t.forEach(t=>{const o=c.get(t);if(!o)throw new Error("Commit not found for key ".concat(t));o.parents.length?(n=at(o),r=Math.max(n,r)):e.push(o),it(o,n)}),n=r,e.forEach(t=>{st(t,n,o)}),t.forEach(t=>{const o=c.get(t);if(null!==o&&void 0!==o&&o.parents.length){const t=nt(o.parents);n=$.get(t).y-Y,n<=r&&(r=n);const c=U.get(o.branch).pos,e=n-_;$.set(o.id,{x:c,y:e})}})},"setParallelBTPos"),et=(0,s.K2)(t=>{var c;const o=ot(t.parents.filter(t=>null!==t));if(!o)throw new Error("Closest parent not found for commit ".concat(t.id));const n=null===(c=$.get(o))||void 0===c?void 0:c.y;if(void 0===n)throw new Error("Closest parent position not found for commit ".concat(t.id));return n},"findClosestParentPos"),at=(0,s.K2)(t=>et(t)+Y,"calculateCommitPosition"),it=(0,s.K2)((t,c)=>{const o=U.get(t.branch);if(!o)throw new Error("Branch not found for commit ".concat(t.id));const n=o.pos,r=c+_;return $.set(t.id,{x:n,y:r}),{x:n,y:r}},"setCommitPosition"),st=(0,s.K2)((t,c,o)=>{const n=U.get(t.branch);if(!n)throw new Error("Branch not found for commit ".concat(t.id));const r=c+o,e=n.pos;$.set(t.id,{x:e,y:r})},"setRootPosition"),dt=(0,s.K2)((t,c,o,n,r,e)=>{const{theme:a}=(0,i.D7)(),s=j.has(null!==a&&void 0!==a?a:""),d=N.has(null!==a&&void 0!==a?a:""),l=F.has(null!==a&&void 0!==a?a:"");if(e===h.HIGHLIGHT)t.append("rect").attr("x",o.x-10+(s?3:0)).attr("y",o.y-10+(s?3:0)).attr("width",s?14:20).attr("height",s?14:20).attr("class","commit ".concat(c.id," commit-highlight").concat(V(r,8,d)," ").concat(n,"-outer")),t.append("rect").attr("x",o.x-6+(s?2:0)).attr("y",o.y-6+(s?2:0)).attr("width",s?8:12).attr("height",s?8:12).attr("class","commit ".concat(c.id," commit").concat(V(r,8,d)," ").concat(n,"-inner"));else if(e===h.CHERRY_PICK)t.append("circle").attr("cx",o.x).attr("cy",o.y).attr("r",s?7:10).attr("class","commit ".concat(c.id," ").concat(n)),t.append("circle").attr("cx",o.x-3).attr("cy",o.y+2).attr("r",s?2.5:2.75).attr("fill",l?"#000000":"#fff").attr("class","commit ".concat(c.id," ").concat(n)),t.append("circle").attr("cx",o.x+3).attr("cy",o.y+2).attr("r",s?2.5:2.75).attr("fill",l?"#000000":"#fff").attr("class","commit ".concat(c.id," ").concat(n)),t.append("line").attr("x1",o.x+3).attr("y1",o.y+1).attr("x2",o.x).attr("y2",o.y-5).attr("stroke",l?"#000000":"#fff").attr("class","commit ".concat(c.id," ").concat(n)),t.append("line").attr("x1",o.x-3).attr("y1",o.y+1).attr("x2",o.x).attr("y2",o.y-5).attr("stroke",l?"#000000":"#fff").attr("class","commit ".concat(c.id," ").concat(n));else{const a=t.append("circle");if(a.attr("cx",o.x),a.attr("cy",o.y),a.attr("r",s?7:10),a.attr("class","commit ".concat(c.id," commit").concat(V(r,8,d))),e===h.MERGE){const e=t.append("circle");e.attr("cx",o.x),e.attr("cy",o.y),e.attr("r",s?5:6),e.attr("class","commit ".concat(n," ").concat(c.id," commit").concat(V(r,8,d)))}if(e===h.REVERSE){const e=s?4:5;t.append("path").attr("d","M ".concat(o.x-e,",").concat(o.y-e,"L").concat(o.x+e,",").concat(o.y+e,"M").concat(o.x-e,",").concat(o.y+e,"L").concat(o.x+e,",").concat(o.y-e)).attr("class","commit ".concat(n," ").concat(c.id," commit").concat(V(r,8,d)))}}},"drawCommitBullet"),lt=(0,s.K2)((t,c,o,n,r)=>{if(c.type!==h.CHERRY_PICK&&(c.customId&&c.type===h.MERGE||c.type!==h.MERGE)&&r.showCommitLabel){var e;const a=t.append("g"),i=a.insert("rect").attr("class","commit-label-bkg"),s=a.append("text").attr("x",n).attr("y",o.y+25).attr("class","commit-label").text(c.id),d=null===(e=s.node())||void 0===e?void 0:e.getBBox();if(d&&(i.attr("x",o.posWithOffset-d.width/2-2).attr("y",o.y+13.5).attr("width",d.width+4).attr("height",d.height+4),"TB"===Z||"BT"===Z?(i.attr("x",o.x-(d.width+16+5)).attr("y",o.y-12),s.attr("x",o.x-(d.width+16)).attr("y",o.y+d.height-12)):s.attr("x",o.posWithOffset-d.width/2),r.rotateCommitLabel))if("TB"===Z||"BT"===Z)s.attr("transform","rotate(-45, "+o.x+", "+o.y+")"),i.attr("transform","rotate(-45, "+o.x+", "+o.y+")");else{const t=-7.5-(d.width+10)/25*9.5,c=10+d.width/25*8.5;a.attr("transform","translate("+t+", "+c+") rotate(-45, "+n+", "+o.y+")")}}},"drawCommitLabel"),ht=(0,s.K2)((t,c,o,n)=>{if(c.tags.length>0){let e=0,a=0,i=0;const s=[];for(const n of c.tags.reverse()){var r;const c=t.insert("polygon"),d=t.append("circle"),l=t.append("text").attr("y",o.y-16-e).attr("class","tag-label").text(n),h=null===(r=l.node())||void 0===r?void 0:r.getBBox();if(!h)throw new Error("Tag bbox not found");a=Math.max(a,h.width),i=Math.max(i,h.height),l.attr("x",o.posWithOffset-h.width/2),s.push({tag:l,hole:d,rect:c,yOffset:e}),e+=20}for(const{tag:t,hole:c,rect:r,yOffset:d}of s){const e=i/2,s=o.y-19.2-d;if(r.attr("class","tag-label-bkg").attr("points","\n ".concat(n-a/2-2,",").concat(s+2," \n ").concat(n-a/2-2,",").concat(s-2,"\n ").concat(o.posWithOffset-a/2-4,",").concat(s-e-2,"\n ").concat(o.posWithOffset+a/2+4,",").concat(s-e-2,"\n ").concat(o.posWithOffset+a/2+4,",").concat(s+e+2,"\n ").concat(o.posWithOffset-a/2-4,",").concat(s+e+2)),c.attr("cy",s).attr("cx",n-a/2+2).attr("r",1.5).attr("class","tag-hole"),"TB"===Z||"BT"===Z){const i=n+d;r.attr("class","tag-label-bkg").attr("points","\n ".concat(o.x,",").concat(i+2,"\n ").concat(o.x,",").concat(i-2,"\n ").concat(o.x+_,",").concat(i-e-2,"\n ").concat(o.x+_+a+4,",").concat(i-e-2,"\n ").concat(o.x+_+a+4,",").concat(i+e+2,"\n ").concat(o.x+_,",").concat(i+e+2)).attr("transform","translate(12,12) rotate(45, "+o.x+","+n+")"),c.attr("cx",o.x+2).attr("cy",i).attr("transform","translate(12,12) rotate(45, "+o.x+","+n+")"),t.attr("x",o.x+5).attr("y",i+3).attr("transform","translate(14,14) rotate(45, "+o.x+","+n+")")}}}},"drawCommitTags"),mt=(0,s.K2)(t=>{var c;switch(null!==(c=t.customType)&&void 0!==c?c:t.type){case h.NORMAL:return"commit-normal";case h.REVERSE:return"commit-reverse";case h.HIGHLIGHT:return"commit-highlight";case h.MERGE:return"commit-merge";case h.CHERRY_PICK:return"commit-cherry-pick";default:return"commit-normal"}},"getCommitClassType"),gt=(0,s.K2)((t,c,o,n)=>{const r={x:0,y:0};if(!(t.parents.length>0)){if("TB"===c)return 30;if("BT"===c){var e;return(null!==(e=n.get(t.id))&&void 0!==e?e:r).y-Y}return 0}{const o=ot(t.parents);if(o){var a;const e=null!==(a=n.get(o))&&void 0!==a?a:r;if("TB"===c)return e.y+Y;if("BT"===c){var i;return(null!==(i=n.get(t.id))&&void 0!==i?i:r).y-Y}return e.x+Y}}return 0},"calculatePosition"),ut=(0,s.K2)((t,c,o)=>{var n,r,e;const a="BT"===Z&&o?c:c+_,s=null===(n=U.get(t.branch))||void 0===n?void 0:n.pos,d="TB"===Z||"BT"===Z?null===(r=U.get(t.branch))||void 0===r?void 0:r.pos:a;if(void 0===d||void 0===s)throw new Error("Position were undefined for commit ".concat(t.id));const l=j.has(null!==(e=(0,i.D7)().theme)&&void 0!==e?e:"");return{x:d,y:"TB"===Z||"BT"===Z?a:s+(l?7:-2),posWithOffset:a}},"getCommitPosition"),ft=(0,s.K2)((t,c,o,n)=>{var r;const e=t.append("g").attr("class","commit-bullets"),a=t.append("g").attr("class","commit-labels");let i="TB"===Z||"BT"===Z?30:0;const d=[...c.keys()],l=null!==(r=n.parallelCommits)&&void 0!==r&&r,h=(0,s.K2)((t,o)=>{var n,r;const e=null===(n=c.get(t))||void 0===n?void 0:n.seq,a=null===(r=c.get(o))||void 0===r?void 0:r.seq;return void 0!==e&&void 0!==a?e-a:0},"sortKeys");let m=d.sort(h);"BT"===Z&&(l&&rt(m,c,i),m=m.reverse()),m.forEach(t=>{const r=c.get(t);if(!r)throw new Error("Commit not found for key ".concat(t));l&&(i=gt(r,Z,i,$));const s=ut(r,i,l);if(o){var d,h,m;const t=mt(r),c=null!==(d=r.customType)&&void 0!==d?d:r.type,o=null!==(h=null===(m=U.get(r.branch))||void 0===m?void 0:m.index)&&void 0!==h?h:0;dt(e,r,s,t,o,c),lt(a,r,s,i,n),ht(a,r,s,i)}"TB"===Z||"BT"===Z?$.set(r.id,{x:s.x,y:s.posWithOffset}):$.set(r.id,{x:s.posWithOffset,y:s.y}),i="BT"===Z&&l?i+Y:i+Y+_,i>X&&(X=i)})},"drawCommits"),pt=(0,s.K2)((t,c,o,n,r)=>{const e=("TB"===Z||"BT"===Z?o.x<n.x:o.y<n.y)?c.branch:t.branch,a=(0,s.K2)(t=>t.branch===e,"isOnBranchToGetCurve"),i=(0,s.K2)(o=>o.seq>t.seq&&o.seq<c.seq,"isBetweenCommits");return[...r.values()].some(t=>i(t)&&a(t))},"shouldRerouteArrow"),yt=(0,s.K2)(function(t,c){let o=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;const n=t+Math.abs(t-c)/2;if(o>5)return n;if(Q.every(t=>Math.abs(t-n)>=10))return Q.push(n),n;const r=Math.abs(t-c);return yt(t,c-r/5,o+1)},"findLane"),xt=(0,s.K2)((t,c,o,n)=>{var r;const{theme:e}=(0,i.D7)(),a=N.has(null!==e&&void 0!==e?e:""),s=$.get(c.id),d=$.get(o.id);if(void 0===s||void 0===d)throw new Error("Commit positions not found for commits ".concat(c.id," and ").concat(o.id));const l=pt(c,o,s,d,n);let m="",g="",u=0,f=0,p=null===(r=U.get(o.branch))||void 0===r?void 0:r.index;var y;o.type===h.MERGE&&c.id!==o.parents[0]&&(p=null===(y=U.get(c.branch))||void 0===y?void 0:y.index);let x;if(l){m="A 10 10, 0, 0, 0,",g="A 10 10, 0, 0, 1,",u=10,f=10;const t=s.y<d.y?yt(s.y,d.y):yt(d.y,s.y),o=s.x<d.x?yt(s.x,d.x):yt(d.x,s.x);var b;if("TB"===Z)if(s.x<d.x)x="M ".concat(s.x," ").concat(s.y," L ").concat(o-u," ").concat(s.y," ").concat(g," ").concat(o," ").concat(s.y+f," L ").concat(o," ").concat(d.y-u," ").concat(m," ").concat(o+f," ").concat(d.y," L ").concat(d.x," ").concat(d.y);else p=null===(b=U.get(c.branch))||void 0===b?void 0:b.index,x="M ".concat(s.x," ").concat(s.y," L ").concat(o+u," ").concat(s.y," ").concat(m," ").concat(o," ").concat(s.y+f," L ").concat(o," ").concat(d.y-u," ").concat(g," ").concat(o-f," ").concat(d.y," L ").concat(d.x," ").concat(d.y);else if("BT"===Z){var v;if(s.x<d.x)x="M ".concat(s.x," ").concat(s.y," L ").concat(o-u," ").concat(s.y," ").concat(m," ").concat(o," ").concat(s.y-f," L ").concat(o," ").concat(d.y+u," ").concat(g," ").concat(o+f," ").concat(d.y," L ").concat(d.x," ").concat(d.y);else p=null===(v=U.get(c.branch))||void 0===v?void 0:v.index,x="M ".concat(s.x," ").concat(s.y," L ").concat(o+u," ").concat(s.y," ").concat(g," ").concat(o," ").concat(s.y-f," L ").concat(o," ").concat(d.y+u," ").concat(m," ").concat(o-f," ").concat(d.y," L ").concat(d.x," ").concat(d.y)}else{var w;if(s.y<d.y)x="M ".concat(s.x," ").concat(s.y," L ").concat(s.x," ").concat(t-u," ").concat(m," ").concat(s.x+f," ").concat(t," L ").concat(d.x-u," ").concat(t," ").concat(g," ").concat(d.x," ").concat(t+f," L ").concat(d.x," ").concat(d.y);else p=null===(w=U.get(c.branch))||void 0===w?void 0:w.index,x="M ".concat(s.x," ").concat(s.y," L ").concat(s.x," ").concat(t+u," ").concat(g," ").concat(s.x+f," ").concat(t," L ").concat(d.x-u," ").concat(t," ").concat(m," ").concat(d.x," ").concat(t-f," L ").concat(d.x," ").concat(d.y)}}else m="A 20 20, 0, 0, 0,",g="A 20 20, 0, 0, 1,",u=20,f=20,"TB"===Z?(s.x<d.x&&(x=o.type===h.MERGE&&c.id!==o.parents[0]?"M ".concat(s.x," ").concat(s.y," L ").concat(s.x," ").concat(d.y-u," ").concat(m," ").concat(s.x+f," ").concat(d.y," L ").concat(d.x," ").concat(d.y):"M ".concat(s.x," ").concat(s.y," L ").concat(d.x-u," ").concat(s.y," ").concat(g," ").concat(d.x," ").concat(s.y+f," L ").concat(d.x," ").concat(d.y)),s.x>d.x&&(m="A 20 20, 0, 0, 0,",g="A 20 20, 0, 0, 1,",u=20,f=20,x=o.type===h.MERGE&&c.id!==o.parents[0]?"M ".concat(s.x," ").concat(s.y," L ").concat(s.x," ").concat(d.y-u," ").concat(g," ").concat(s.x-f," ").concat(d.y," L ").concat(d.x," ").concat(d.y):"M ".concat(s.x," ").concat(s.y," L ").concat(d.x+u," ").concat(s.y," ").concat(m," ").concat(d.x," ").concat(s.y+f," L ").concat(d.x," ").concat(d.y)),s.x===d.x&&(x="M ".concat(s.x," ").concat(s.y," L ").concat(d.x," ").concat(d.y))):"BT"===Z?(s.x<d.x&&(x=o.type===h.MERGE&&c.id!==o.parents[0]?"M ".concat(s.x," ").concat(s.y," L ").concat(s.x," ").concat(d.y+u," ").concat(g," ").concat(s.x+f," ").concat(d.y," L ").concat(d.x," ").concat(d.y):"M ".concat(s.x," ").concat(s.y," L ").concat(d.x-u," ").concat(s.y," ").concat(m," ").concat(d.x," ").concat(s.y-f," L ").concat(d.x," ").concat(d.y)),s.x>d.x&&(m="A 20 20, 0, 0, 0,",g="A 20 20, 0, 0, 1,",u=20,f=20,x=o.type===h.MERGE&&c.id!==o.parents[0]?"M ".concat(s.x," ").concat(s.y," L ").concat(s.x," ").concat(d.y+u," ").concat(m," ").concat(s.x-f," ").concat(d.y," L ").concat(d.x," ").concat(d.y):"M ".concat(s.x," ").concat(s.y," L ").concat(d.x+u," ").concat(s.y," ").concat(g," ").concat(d.x," ").concat(s.y-f," L ").concat(d.x," ").concat(d.y)),s.x===d.x&&(x="M ".concat(s.x," ").concat(s.y," L ").concat(d.x," ").concat(d.y))):(s.y<d.y&&(x=o.type===h.MERGE&&c.id!==o.parents[0]?"M ".concat(s.x," ").concat(s.y," L ").concat(d.x-u," ").concat(s.y," ").concat(g," ").concat(d.x," ").concat(s.y+f," L ").concat(d.x," ").concat(d.y):"M ".concat(s.x," ").concat(s.y," L ").concat(s.x," ").concat(d.y-u," ").concat(m," ").concat(s.x+f," ").concat(d.y," L ").concat(d.x," ").concat(d.y)),s.y>d.y&&(x=o.type===h.MERGE&&c.id!==o.parents[0]?"M ".concat(s.x," ").concat(s.y," L ").concat(d.x-u," ").concat(s.y," ").concat(m," ").concat(d.x," ").concat(s.y-f," L ").concat(d.x," ").concat(d.y):"M ".concat(s.x," ").concat(s.y," L ").concat(s.x," ").concat(d.y+u," ").concat(g," ").concat(s.x+f," ").concat(d.y," L ").concat(d.x," ").concat(d.y)),s.y===d.y&&(x="M ".concat(s.x," ").concat(s.y," L ").concat(d.x," ").concat(d.y)));if(void 0===x)throw new Error("Line definition not found");t.append("path").attr("d",x).attr("class","arrow arrow"+V(p,8,a))},"drawArrow"),bt=(0,s.K2)((t,c)=>{const o=t.append("g").attr("class","commit-arrows");[...c.keys()].forEach(t=>{const n=c.get(t);n.parents&&n.parents.length>0&&n.parents.forEach(t=>{xt(o,c.get(t),n,c)})})},"drawArrows"),vt=(0,s.K2)((t,c,o,n)=>{const{look:r,theme:e,themeVariables:a}=(0,i.D7)(),{dropShadow:s,THEME_COLOR_LIMIT:d}=a,l=j.has(null!==e&&void 0!==e?e:""),h=N.has(null!==e&&void 0!==e?e:""),m=t.append("g");c.forEach((t,c)=>{var e;const a=V(c,l?d:8,h),i=null===(e=U.get(t.name))||void 0===e?void 0:e.pos;if(void 0===i)throw new Error("Position not found for branch ".concat(t.name));const g="TB"===Z||"BT"===Z?i:l?i+6+1:i-2,u=m.append("line");u.attr("x1",0),u.attr("y1",g),u.attr("x2",X),u.attr("y2",g),u.attr("class","branch branch"+a),"TB"===Z?(u.attr("y1",30),u.attr("x1",i),u.attr("y2",X),u.attr("x2",i)):"BT"===Z&&(u.attr("y1",X),u.attr("x1",i),u.attr("y2",30),u.attr("x2",i)),Q.push(g);const f=t.name,p=ct(f),y=m.insert("rect"),x=m.insert("g").attr("class","branchLabel").insert("g").attr("class","label branch-label"+a);x.node().appendChild(p);const b=p.getBBox(),v=l?0:4,w=l?16:0,k=l?12:0;"neo"===r&&y.attr("data-look","neo"),y.attr("class","branchLabelBkg label"+a).attr("style","neo"===r?"filter:".concat(l?"url(#".concat(n,"-drop-shadow)"):s):"").attr("rx",v).attr("ry",v).attr("x",-b.width-4-(!0===o.rotateCommitLabel?30:0)).attr("y",-b.height/2+10).attr("width",b.width+18+w).attr("height",b.height+4+k),x.attr("transform","translate("+(-b.width-14-(!0===o.rotateCommitLabel?30:0)+w/2)+", "+(g-b.height/2-2)+")"),"TB"===Z?(y.attr("x",i-b.width/2-10).attr("y",0),x.attr("transform","translate("+(i-b.width/2-5)+", 0)"),l&&(y.attr("transform","translate(".concat(-w/2-3,", ").concat(-k-10,")")),x.attr("transform","translate("+(i-b.width/2-5)+", "+(2*-k+7)+")"))):"BT"===Z?(y.attr("x",i-b.width/2-10).attr("y",X),x.attr("transform","translate("+(i-b.width/2-5)+", "+X+")"),l&&(y.attr("transform","translate(".concat(-w/2-3,", ").concat(k+10,")")),x.attr("transform","translate("+(i-b.width/2-5)+", "+(X+2*k+4)+")"))):y.attr("transform","translate(-19, "+(g-12-k/2)+")")})},"drawBranches"),wt=(0,s.K2)(function(t,c,o,n,r){return U.set(t,{pos:c,index:o}),c+=50+(r?40:0)+("TB"===Z||"BT"===Z?n.width/2:0)},"setBranchPosition"),kt={draw:(0,s.K2)(function(t,c,o,n){var r,e;tt(),s.Rm.debug("in gitgraph renderer",t+"\n","id:",c,o);const d=n.db;if(!d.getConfig)return void s.Rm.error("getConfig method is not available on db");const h=d.getConfig(),m=null!==(r=h.rotateCommitLabel)&&void 0!==r&&r;J=d.getCommits();const g=d.getBranchesAsObjArray();Z=d.getDirection();const u=(0,l.Ltv)('[id="'.concat(c,'"]')),{look:f,theme:p,themeVariables:y}=(0,i.D7)(),{useGradient:x,gradientStart:b,gradientStop:v,filterColor:w}=y;if(x){const t=u.append("defs").append("linearGradient").attr("id",c+"-gradient").attr("gradientUnits","objectBoundingBox").attr("x1","0%").attr("y1","0%").attr("x2","100%").attr("y2","0%");t.append("stop").attr("offset","0%").attr("stop-color",b).attr("stop-opacity",1),t.append("stop").attr("offset","100%").attr("stop-color",v).attr("stop-opacity",1)}"neo"===f&&j.has(null!==p&&void 0!==p?p:"")&&u.append("defs").append("filter").attr("id",c+"-drop-shadow").attr("height","130%").attr("width","130%").append("feDropShadow").attr("dx","4").attr("dy","4").attr("stdDeviation",0).attr("flood-opacity","0.06").attr("flood-color",w);let k=0;g.forEach((t,c)=>{var o;const n=ct(t.name),r=u.append("g"),e=r.insert("g").attr("class","branchLabel"),a=e.insert("g").attr("class","label branch-label");null===(o=a.node())||void 0===o||o.appendChild(n);const i=n.getBBox();k=wt(t.name,k,c,i,m),a.remove(),e.remove(),r.remove()}),ft(u,J,!1,h),h.showBranches&&vt(u,g,h,c),bt(u,J),ft(u,J,!0,h),a._K.insertTitle(u,"gitTitleText",null!==(e=h.titleTopMargin)&&void 0!==e?e:0,d.getDiagramTitle()),(0,i.mj)(void 0,u,h.diagramPadding,h.useMaxWidth)},"draw")};var Bt=new Set(["redux","redux-dark","redux-color","redux-dark-color"]),Et=new Set(["redux-color","redux-dark-color"]),Ct=new Set(["neo","neo-dark"]),Tt=new Set(["dark","redux-dark","redux-dark-color","neo-dark"]),Lt=new Set(["redux","redux-dark","redux-color","redux-dark-color","neo","neo-dark"]),Kt=(0,s.K2)(t=>{const{svgId:c}=t;let o="";if(t.useGradient&&c)for(let n=0;n<t.THEME_COLOR_LIMIT;n++)o+="\n .label".concat(n," { fill: ").concat(t.mainBkg,"; stroke: url(").concat(c,"-gradient); stroke-width: ").concat(t.strokeWidth,";}\n ");return o},"genGitGraphGradient"),Mt=(0,s.K2)(t=>{const c=(0,i.zj)(),{theme:o,themeVariables:n}=c,{borderColorArray:r}=n,e=Bt.has(o);if(Ct.has(o)){let c="";for(let o=0;o<t.THEME_COLOR_LIMIT;o++)if(0===o)c+="\n .branch-label".concat(o," { fill: ").concat(t.nodeBorder,";}\n .commit").concat(o," { stroke: ").concat(t.nodeBorder,"; }\n .commit-highlight").concat(o," { stroke: ").concat(t.nodeBorder,"; fill: ").concat(t.nodeBorder,"; }\n .arrow").concat(o," { stroke: ").concat(t.nodeBorder,"; }\n .commit-bullets { fill: ").concat(t.nodeBorder,"; }\n .commit-cherry-pick").concat(o," { stroke: ").concat(t.nodeBorder,"; }\n ").concat(Kt(t));else{const n=o%8;c+="\n .branch-label".concat(o," { fill: ").concat(t["gitBranchLabel"+n],"; }\n .commit").concat(o," { stroke: ").concat(t["git"+n],"; fill: ").concat(t["git"+n],"; }\n .commit-highlight").concat(o," { stroke: ").concat(t["gitInv"+n],"; fill: ").concat(t["gitInv"+n],"; }\n .arrow").concat(o," { stroke: ").concat(t["git"+n],"; }\n ")}return c}if(Et.has(o)){let c="";for(let n=0;n<t.THEME_COLOR_LIMIT;n++)if(0===n)c+="\n .branch-label".concat(n," { fill: ").concat(t.nodeBorder,"; ").concat(e?"font-weight:".concat(t.noteFontWeight):""," }\n .commit").concat(n," { stroke: ").concat(t.nodeBorder,"; }\n .commit-highlight").concat(n," { stroke: ").concat(t.nodeBorder,"; fill: ").concat(t.mainBkg,"; }\n .label").concat(n," { fill: ").concat(t.mainBkg,"; stroke: ").concat(t.nodeBorder,"; stroke-width: ").concat(t.strokeWidth,"; ").concat(e?"font-weight:".concat(t.noteFontWeight):""," }\n .arrow").concat(n," { stroke: ").concat(t.nodeBorder,"; }\n .commit-bullets { fill: ").concat(t.nodeBorder,"; }\n ");else{const a=n%r.length;c+="\n .branch-label".concat(n," { fill: ").concat(t.nodeBorder,"; ").concat(e?"font-weight:".concat(t.noteFontWeight):""," }\n .commit").concat(n," { stroke: ").concat(r[a],"; fill: ").concat(r[a],"; }\n .commit-highlight").concat(n," { stroke: ").concat(r[a],"; fill: ").concat(r[a],"; }\n .label").concat(n," { fill: ").concat(Tt.has(o)?t.mainBkg:r[a],"; stroke: ").concat(r[a],"; stroke-width: ").concat(t.strokeWidth,"; }\n .arrow").concat(n," { stroke: ").concat(r[a],"; }\n ")}return c}{let c="";for(let o=0;o<t.THEME_COLOR_LIMIT;o++)c+="\n .branch-label".concat(o," { fill: ").concat(t.nodeBorder,"; ").concat(e?"font-weight:".concat(t.noteFontWeight):""," }\n .commit").concat(o," { stroke: ").concat(t.nodeBorder,"; }\n .commit-highlight").concat(o," { stroke: ").concat(t.nodeBorder,"; fill: ").concat(t.nodeBorder,"; }\n .label").concat(o," { fill: ").concat(t.mainBkg,"; stroke: ").concat(t.nodeBorder,"; stroke-width: ").concat(t.strokeWidth,"; ").concat(e?"font-weight:".concat(t.noteFontWeight):"","}\n .arrow").concat(o," { stroke: ").concat(t.nodeBorder,"; }\n .commit-bullets { fill: ").concat(t.nodeBorder,"; }\n .commit-cherry-pick").concat(o," { stroke: ").concat(t.nodeBorder,"; }\n ");return c}},"genColor"),Rt=(0,s.K2)(t=>"".concat(Array.from({length:t.THEME_COLOR_LIMIT},(t,c)=>c).map(c=>{const o=c%8;return"\n .branch-label".concat(c," { fill: ").concat(t["gitBranchLabel"+o],"; }\n .commit").concat(c," { stroke: ").concat(t["git"+o],"; fill: ").concat(t["git"+o],"; }\n .commit-highlight").concat(c," { stroke: ").concat(t["gitInv"+o],"; fill: ").concat(t["gitInv"+o],"; }\n .label").concat(c," { fill: ").concat(t["git"+o],"; }\n .arrow").concat(c," { stroke: ").concat(t["git"+o],"; }\n ")}).join("\n")),"normalTheme"),It={parser:z,db:A,renderer:kt,styles:(0,s.K2)(t=>{var c;const o=(0,i.zj)(),{theme:n}=o,r=Lt.has(n);return"\n .commit-id,\n .commit-msg,\n .branch-label {\n fill: lightgrey;\n color: lightgrey;\n font-family: 'trebuchet ms', verdana, arial, sans-serif;\n font-family: var(--mermaid-font-family);\n }\n \n ".concat(r?Mt(t):Rt(t),"\n\n .branch {\n stroke-width: ").concat(t.strokeWidth,";\n stroke: ").concat(null!==(c=t.commitLineColor)&&void 0!==c?c:t.lineColor,";\n stroke-dasharray: ").concat(r?"4 2":"2",";\n }\n .commit-label { font-size: ").concat(t.commitLabelFontSize,"; fill: ").concat(r?t.nodeBorder:t.commitLabelColor,"; ").concat(r?"font-weight:".concat(t.noteFontWeight,";"):"","}\n .commit-label-bkg { font-size: ").concat(t.commitLabelFontSize,"; fill: ").concat(r?"transparent":t.commitLabelBackground,"; opacity: ").concat(r?"":.5,"; }\n .tag-label { font-size: ").concat(t.tagLabelFontSize,"; fill: ").concat(t.tagLabelColor,";}\n .tag-label-bkg { fill: ").concat(r?t.mainBkg:t.tagLabelBackground,"; stroke: ").concat(r?t.nodeBorder:t.tagLabelBorder,"; ").concat(r?"filter:".concat(t.dropShadow):""," }\n .tag-hole { fill: ").concat(t.textColor,"; }\n\n .commit-merge {\n stroke: ").concat(r?t.mainBkg:t.primaryColor,";\n fill: ").concat(r?t.mainBkg:t.primaryColor,";\n }\n .commit-reverse {\n stroke: ").concat(r?t.mainBkg:t.primaryColor,";\n fill: ").concat(r?t.mainBkg:t.primaryColor,";\n stroke-width: ").concat(r?t.strokeWidth:3,";\n }\n .commit-highlight-outer {\n }\n .commit-highlight-inner {\n stroke: ").concat(r?t.mainBkg:t.primaryColor,";\n fill: ").concat(r?t.mainBkg:t.primaryColor,";\n }\n\n .arrow {\n /* Intentional: neo themes keep the bold 8px arrow (like classic themes); only redux-geometry themes use the thinner options.strokeWidth. */\n stroke-width: ").concat(Bt.has(n)?t.strokeWidth:8,";\n stroke-linecap: round;\n fill: none\n }\n .gitTitleText {\n text-anchor: middle;\n font-size: 18px;\n fill: ").concat(t.textColor,";\n }\n")},"getStyles")}},94787(t,c,o){o.d(c,{m:()=>e});var n,r=o(32748),e=(n=class{constructor(t){this.init=t,this.records=this.init()}reset(){this.records=this.init()}},(0,r.K2)(n,"ImperativeState"),n)}}]);
2
+ //# sourceMappingURL=566.2401f837.chunk.js.map
build/static/js/566.2401f837.chunk.js.map ADDED
The diff for this file is too large to render. See raw diff
 
build/static/js/571.5627ee3a.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[571],{5347(n,t,r){r.d(t,{A:()=>f});var e=r(7840);const o=function(n){return this.__data__.set(n,"__lodash_hash_undefined__"),this};const u=function(n){return this.__data__.has(n)};function c(n){var t=-1,r=null==n?0:n.length;for(this.__data__=new e.A;++t<r;)this.add(n[t])}c.prototype.add=c.prototype.push=o,c.prototype.has=u;const f=c},15844(n,t,r){r.d(t,{A:()=>i});var e=r(58923),o=r(72578);const u=function(n,t){var r=[];return(0,o.A)(n,function(n,e,o){t(n,e,o)&&r.push(n)}),r};var c=r(57660),f=r(45386);const i=function(n,t){return((0,f.A)(n)?e.A:u)(n,(0,c.A)(t,3))}},23175(n,t,r){r.d(t,{A:()=>i});const e=function(n,t,r,e){var o=-1,u=null==n?0:n.length;for(e&&u&&(r=n[++o]);++o<u;)r=t(r,n[o],o,n);return r};var o=r(72578),u=r(57660);const c=function(n,t,r,e,o){return o(n,function(n,o,u){r=e?(e=!1,n):t(r,n,o,u)}),r};var f=r(45386);const i=function(n,t,r){var i=(0,f.A)(n)?e:c,a=arguments.length<3;return i(n,(0,u.A)(t,4),r,a,o.A)}},24076(n,t,r){r.d(t,{A:()=>e});const e=function(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&!1!==t(n[r],r,n););return n}},26548(n,t,r){r.d(t,{A:()=>o});var e=r(42791);const o=function(n){if("string"==typeof n||(0,e.A)(n))return n;var t=n+"";return"0"==t&&1/n==-1/0?"-0":t}},27696(n,t,r){r.d(t,{A:()=>e});const e=function(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=n}),r}},36990(n,t,r){r.d(t,{A:()=>u});var e=r(88093),o=r(54175);const u=function(n,t){return n&&(0,e.A)(n,t,o.A)}},37034(n,t,r){r.d(t,{A:()=>h});var e=r(5347),o=r(82782);const u=function(n){return n!==n};const c=function(n,t,r){for(var e=r-1,o=n.length;++e<o;)if(n[e]===t)return e;return-1};const f=function(n,t,r){return t===t?c(n,t,r):(0,o.A)(n,u,r)};const i=function(n,t){return!!(null==n?0:n.length)&&f(n,t,0)>-1};const a=function(n,t,r){for(var e=-1,o=null==n?0:n.length;++e<o;)if(r(t,n[e]))return!0;return!1};var s=r(88948),A=r(45172);const l=function(){};var v=r(27696);const d=A.A&&1/(0,v.A)(new A.A([,-0]))[1]==1/0?function(n){return new A.A(n)}:l;const h=function(n,t,r){var o=-1,u=i,c=n.length,f=!0,A=[],l=A;if(r)f=!1,u=a;else if(c>=200){var h=t?null:d(n);if(h)return(0,v.A)(h);f=!1,u=s.A,l=new e.A}else l=t?[]:A;n:for(;++o<c;){var b=n[o],p=t?t(b):b;if(b=r||0!==b?b:0,f&&p===p){for(var g=l.length;g--;)if(l[g]===p)continue n;t&&l.push(p),A.push(b)}else u(l,p,r)||(l!==A&&l.push(p),A.push(b))}return A}},37545(n,t,r){r.d(t,{A:()=>a});var e=r(97269),o=r(75622),u=r(9500),c=r(45386),f=o.A?o.A.isConcatSpreadable:void 0;const i=function(n){return(0,c.A)(n)||(0,u.A)(n)||!!(f&&n&&n[f])};const a=function n(t,r,o,u,c){var f=-1,a=t.length;for(o||(o=i),c||(c=[]);++f<a;){var s=t[f];r>0&&o(s)?r>1?n(s,r-1,o,u,c):(0,e.A)(c,s):u||(c[c.length]=s)}return c}},42791(n,t,r){r.d(t,{A:()=>u});var e=r(14802),o=r(53239);const u=function(n){return"symbol"==typeof n||(0,o.A)(n)&&"[object Symbol]"==(0,e.A)(n)}},49345(n,t,r){r.d(t,{A:()=>o});var e=r(42041);const o=function(n){return"function"==typeof n?n:e.A}},49406(n,t,r){r.d(t,{A:()=>e});const e=function(){return[]}},50225(n,t,r){r.d(t,{A:()=>s});var e=r(45386),o=r(60191),u=r(82863);var c=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,f=/\\(\\)?/g;const i=function(n){var t=(0,u.A)(n,function(n){return 500===r.size&&r.clear(),n}),r=t.cache;return t}(function(n){var t=[];return 46===n.charCodeAt(0)&&t.push(""),n.replace(c,function(n,r,e,o){t.push(e?o.replace(f,"$1"):r||n)}),t});var a=r(93434);const s=function(n,t){return(0,e.A)(n)?n:(0,o.A)(n,t)?[n]:i((0,a.A)(n))}},52263(n,t,r){r.d(t,{A:()=>a});var e=r(50225),o=r(9500),u=r(45386),c=r(75884),f=r(33903),i=r(26548);const a=function(n,t,r){for(var a=-1,s=(t=(0,e.A)(t,n)).length,A=!1;++a<s;){var l=(0,i.A)(t[a]);if(!(A=null!=n&&r(n,l)))break;n=n[l]}return A||++a!=s?A:!!(s=null==n?0:n.length)&&(0,f.A)(s)&&(0,c.A)(l,s)&&((0,u.A)(n)||(0,o.A)(n))}},53718(n,t,r){r.d(t,{A:()=>e});const e=function(n){return function(t){return null==t?void 0:t[n]}}},54175(n,t,r){r.d(t,{A:()=>c});var e=r(45869),o=r(17235),u=r(33493);const c=function(n){return(0,u.A)(n)?(0,e.A)(n):(0,o.A)(n)}},57660(n,t,r){r.d(t,{A:()=>Q});var e=r(25140),o=r(5347);const u=function(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return!0;return!1};var c=r(88948);const f=function(n,t,r,e,f,i){var a=1&r,s=n.length,A=t.length;if(s!=A&&!(a&&A>s))return!1;var l=i.get(n),v=i.get(t);if(l&&v)return l==t&&v==n;var d=-1,h=!0,b=2&r?new o.A:void 0;for(i.set(n,t),i.set(t,n);++d<s;){var p=n[d],g=t[d];if(e)var y=a?e(g,p,d,t,n,i):e(p,g,d,n,t,i);if(void 0!==y){if(y)continue;h=!1;break}if(b){if(!u(t,function(n,t){if(!(0,c.A)(b,t)&&(p===n||f(p,n,r,e,i)))return b.push(t)})){h=!1;break}}else if(p!==g&&!f(p,g,r,e,i)){h=!1;break}}return i.delete(n),i.delete(t),h};var i=r(75622),a=r(21499),s=r(55009);const A=function(n){var t=-1,r=Array(n.size);return n.forEach(function(n,e){r[++t]=[e,n]}),r};var l=r(27696),v=i.A?i.A.prototype:void 0,d=v?v.valueOf:void 0;const h=function(n,t,r,e,o,u,c){switch(r){case"[object DataView]":if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;n=n.buffer,t=t.buffer;case"[object ArrayBuffer]":return!(n.byteLength!=t.byteLength||!u(new a.A(n),new a.A(t)));case"[object Boolean]":case"[object Date]":case"[object Number]":return(0,s.A)(+n,+t);case"[object Error]":return n.name==t.name&&n.message==t.message;case"[object RegExp]":case"[object String]":return n==t+"";case"[object Map]":var i=A;case"[object Set]":var v=1&e;if(i||(i=l.A),n.size!=t.size&&!v)return!1;var h=c.get(n);if(h)return h==t;e|=2,c.set(n,t);var b=f(i(n),i(t),e,o,u,c);return c.delete(n),b;case"[object Symbol]":if(d)return d.call(n)==d.call(t)}return!1};var b=r(59429),p=Object.prototype.hasOwnProperty;const g=function(n,t,r,e,o,u){var c=1&r,f=(0,b.A)(n),i=f.length;if(i!=(0,b.A)(t).length&&!c)return!1;for(var a=i;a--;){var s=f[a];if(!(c?s in t:p.call(t,s)))return!1}var A=u.get(n),l=u.get(t);if(A&&l)return A==t&&l==n;var v=!0;u.set(n,t),u.set(t,n);for(var d=c;++a<i;){var h=n[s=f[a]],g=t[s];if(e)var y=c?e(g,h,s,t,n,u):e(h,g,s,n,t,u);if(!(void 0===y?h===g||o(h,g,r,e,u):y)){v=!1;break}d||(d="constructor"==s)}if(v&&!d){var j=n.constructor,_=t.constructor;j==_||!("constructor"in n)||!("constructor"in t)||"function"==typeof j&&j instanceof j&&"function"==typeof _&&_ instanceof _||(v=!1)}return u.delete(n),u.delete(t),v};var y=r(37280),j=r(45386),_=r(81375),w=r(14910),O="[object Arguments]",m="[object Array]",k="[object Object]",S=Object.prototype.hasOwnProperty;const z=function(n,t,r,o,u,c){var i=(0,j.A)(n),a=(0,j.A)(t),s=i?m:(0,y.A)(n),A=a?m:(0,y.A)(t),l=(s=s==O?k:s)==k,v=(A=A==O?k:A)==k,d=s==A;if(d&&(0,_.A)(n)){if(!(0,_.A)(t))return!1;i=!0,l=!1}if(d&&!l)return c||(c=new e.A),i||(0,w.A)(n)?f(n,t,r,o,u,c):h(n,t,s,r,o,u,c);if(!(1&r)){var b=l&&S.call(n,"__wrapped__"),p=v&&S.call(t,"__wrapped__");if(b||p){var z=b?n.value():n,E=p?t.value():t;return c||(c=new e.A),u(z,E,r,o,c)}}return!!d&&(c||(c=new e.A),g(n,t,r,o,u,c))};var E=r(53239);const C=function n(t,r,e,o,u){return t===r||(null==t||null==r||!(0,E.A)(t)&&!(0,E.A)(r)?t!==t&&r!==r:z(t,r,e,o,n,u))};const L=function(n,t,r,o){var u=r.length,c=u,f=!o;if(null==n)return!c;for(n=Object(n);u--;){var i=r[u];if(f&&i[2]?i[1]!==n[i[0]]:!(i[0]in n))return!1}for(;++u<c;){var a=(i=r[u])[0],s=n[a],A=i[1];if(f&&i[2]){if(void 0===s&&!(a in n))return!1}else{var l=new e.A;if(o)var v=o(s,A,a,n,t,l);if(!(void 0===v?C(A,s,3,o,l):v))return!1}}return!0};var P=r(37664);const $=function(n){return n===n&&!(0,P.A)(n)};var B=r(54175);const D=function(n){for(var t=(0,B.A)(n),r=t.length;r--;){var e=t[r],o=n[e];t[r]=[e,o,$(o)]}return t};const x=function(n,t){return function(r){return null!=r&&(r[n]===t&&(void 0!==t||n in Object(r)))}};const I=function(n){var t=D(n);return 1==t.length&&t[0][2]?x(t[0][0],t[0][1]):function(r){return r===n||L(r,n,t)}};var M=r(63367);const N=function(n,t,r){var e=null==n?void 0:(0,M.A)(n,t);return void 0===e?r:e};var R=r(89689),V=r(60191),q=r(26548);const F=function(n,t){return(0,V.A)(n)&&$(t)?x((0,q.A)(n),t):function(r){var e=N(r,n);return void 0===e&&e===t?(0,R.A)(r,n):C(t,e,3)}};var G=r(42041),H=r(53718);const J=function(n){return function(t){return(0,M.A)(t,n)}};const K=function(n){return(0,V.A)(n)?(0,H.A)((0,q.A)(n)):J(n)};const Q=function(n){return"function"==typeof n?n:null==n?G.A:"object"==typeof n?(0,j.A)(n)?F(n[0],n[1]):I(n):K(n)}},58923(n,t,r){r.d(t,{A:()=>e});const e=function(n,t){for(var r=-1,e=null==n?0:n.length,o=0,u=[];++r<e;){var c=n[r];t(c,r,n)&&(u[o++]=c)}return u}},59429(n,t,r){r.d(t,{A:()=>c});var e=r(66472),o=r(96439),u=r(54175);const c=function(n){return(0,e.A)(n,u.A,o.A)}},60191(n,t,r){r.d(t,{A:()=>f});var e=r(45386),o=r(42791),u=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,c=/^\w*$/;const f=function(n,t){if((0,e.A)(n))return!1;var r=typeof n;return!("number"!=r&&"symbol"!=r&&"boolean"!=r&&null!=n&&!(0,o.A)(n))||(c.test(n)||!u.test(n)||null!=t&&n in Object(t))}},63367(n,t,r){r.d(t,{A:()=>u});var e=r(50225),o=r(26548);const u=function(n,t){for(var r=0,u=(t=(0,e.A)(t,n)).length;null!=n&&r<u;)n=n[(0,o.A)(t[r++])];return r&&r==u?n:void 0}},66472(n,t,r){r.d(t,{A:()=>u});var e=r(97269),o=r(45386);const u=function(n,t,r){var u=t(n);return(0,o.A)(n)?u:(0,e.A)(u,r(n))}},72578(n,t,r){r.d(t,{A:()=>u});var e=r(36990),o=r(33493);const u=function(n,t){return function(r,e){if(null==r)return r;if(!(0,o.A)(r))return n(r,e);for(var u=r.length,c=t?u:-1,f=Object(r);(t?c--:++c<u)&&!1!==e(f[c],c,f););return r}}(e.A)},80779(n,t,r){r.d(t,{A:()=>e});const e=function(n,t){for(var r=-1,e=null==n?0:n.length,o=Array(e);++r<e;)o[r]=t(n[r],r,n);return o}},81109(n,t,r){r.d(t,{A:()=>f});var e=r(24076),o=r(72578),u=r(49345),c=r(45386);const f=function(n,t){return((0,c.A)(n)?e.A:o.A)(n,(0,u.A)(t))}},82782(n,t,r){r.d(t,{A:()=>e});const e=function(n,t,r,e){for(var o=n.length,u=r+(e?1:-1);e?u--:++u<o;)if(t(n[u],u,n))return u;return-1}},88948(n,t,r){r.d(t,{A:()=>e});const e=function(n,t){return n.has(t)}},89689(n,t,r){r.d(t,{A:()=>u});const e=function(n,t){return null!=n&&t in Object(n)};var o=r(52263);const u=function(n,t){return null!=n&&(0,o.A)(n,t,e)}},93434(n,t,r){r.d(t,{A:()=>s});var e=r(75622),o=r(80779),u=r(45386),c=r(42791),f=e.A?e.A.prototype:void 0,i=f?f.toString:void 0;const a=function n(t){if("string"==typeof t)return t;if((0,u.A)(t))return(0,o.A)(t,n)+"";if((0,c.A)(t))return i?i.call(t):"";var r=t+"";return"0"==r&&1/t==-1/0?"-0":r};const s=function(n){return null==n?"":a(n)}},96439(n,t,r){r.d(t,{A:()=>f});var e=r(58923),o=r(49406),u=Object.prototype.propertyIsEnumerable,c=Object.getOwnPropertySymbols;const f=c?function(n){return null==n?[]:(n=Object(n),(0,e.A)(c(n),function(t){return u.call(n,t)}))}:o.A},97269(n,t,r){r.d(t,{A:()=>e});const e=function(n,t){for(var r=-1,e=t.length,o=n.length;++r<e;)n[o+r]=t[r];return n}}}]);
2
+ //# sourceMappingURL=571.5627ee3a.chunk.js.map
build/static/js/571.5627ee3a.chunk.js.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"static/js/571.5627ee3a.chunk.js","mappings":"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","sources":["../node_modules/lodash-es/_setCacheAdd.js","../node_modules/lodash-es/_setCacheHas.js","../node_modules/lodash-es/_SetCache.js","../node_modules/lodash-es/_baseFilter.js","../node_modules/lodash-es/filter.js","../node_modules/lodash-es/_arrayReduce.js","../node_modules/lodash-es/_baseReduce.js","../node_modules/lodash-es/reduce.js","../node_modules/lodash-es/_arrayEach.js","../node_modules/lodash-es/_toKey.js","../node_modules/lodash-es/_setToArray.js","../node_modules/lodash-es/_baseForOwn.js","../node_modules/lodash-es/_baseIsNaN.js","../node_modules/lodash-es/_strictIndexOf.js","../node_modules/lodash-es/_baseIndexOf.js","../node_modules/lodash-es/_arrayIncludes.js","../node_modules/lodash-es/_arrayIncludesWith.js","../node_modules/lodash-es/noop.js","../node_modules/lodash-es/_createSet.js","../node_modules/lodash-es/_baseUniq.js","../node_modules/lodash-es/_isFlattenable.js","../node_modules/lodash-es/_baseFlatten.js","../node_modules/lodash-es/isSymbol.js","../node_modules/lodash-es/_castFunction.js","../node_modules/lodash-es/stubArray.js","../node_modules/lodash-es/_stringToPath.js","../node_modules/lodash-es/_memoizeCapped.js","../node_modules/lodash-es/_castPath.js","../node_modules/lodash-es/_hasPath.js","../node_modules/lodash-es/_baseProperty.js","../node_modules/lodash-es/keys.js","../node_modules/lodash-es/_arraySome.js","../node_modules/lodash-es/_equalArrays.js","../node_modules/lodash-es/_mapToArray.js","../node_modules/lodash-es/_equalByTag.js","../node_modules/lodash-es/_equalObjects.js","../node_modules/lodash-es/_baseIsEqualDeep.js","../node_modules/lodash-es/_baseIsEqual.js","../node_modules/lodash-es/_baseIsMatch.js","../node_modules/lodash-es/_isStrictComparable.js","../node_modules/lodash-es/_getMatchData.js","../node_modules/lodash-es/_matchesStrictComparable.js","../node_modules/lodash-es/_baseMatches.js","../node_modules/lodash-es/get.js","../node_modules/lodash-es/_baseMatchesProperty.js","../node_modules/lodash-es/_basePropertyDeep.js","../node_modules/lodash-es/property.js","../node_modules/lodash-es/_baseIteratee.js","../node_modules/lodash-es/_arrayFilter.js","../node_modules/lodash-es/_getAllKeys.js","../node_modules/lodash-es/_isKey.js","../node_modules/lodash-es/_baseGet.js","../node_modules/lodash-es/_baseGetAllKeys.js","../node_modules/lodash-es/_baseEach.js","../node_modules/lodash-es/_createBaseEach.js","../node_modules/lodash-es/_arrayMap.js","../node_modules/lodash-es/forEach.js","../node_modules/lodash-es/_baseFindIndex.js","../node_modules/lodash-es/_cacheHas.js","../node_modules/lodash-es/_baseHasIn.js","../node_modules/lodash-es/hasIn.js","../node_modules/lodash-es/_baseToString.js","../node_modules/lodash-es/toString.js","../node_modules/lodash-es/_getSymbols.js","../node_modules/lodash-es/_arrayPush.js"],"sourcesContent":["/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nexport default setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nexport default setCacheHas;\n","import MapCache from './_MapCache.js';\nimport setCacheAdd from './_setCacheAdd.js';\nimport setCacheHas from './_setCacheHas.js';\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nexport default SetCache;\n","import baseEach from './_baseEach.js';\n\n/**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n}\n\nexport default baseFilter;\n","import arrayFilter from './_arrayFilter.js';\nimport baseFilter from './_baseFilter.js';\nimport baseIteratee from './_baseIteratee.js';\nimport isArray from './isArray.js';\n\n/**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\nfunction filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, baseIteratee(predicate, 3));\n}\n\nexport default filter;\n","/**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\nfunction arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n}\n\nexport default arrayReduce;\n","/**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\nfunction baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n}\n\nexport default baseReduce;\n","import arrayReduce from './_arrayReduce.js';\nimport baseEach from './_baseEach.js';\nimport baseIteratee from './_baseIteratee.js';\nimport baseReduce from './_baseReduce.js';\nimport isArray from './isArray.js';\n\n/**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\nfunction reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, baseIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n}\n\nexport default reduce;\n","/**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\nfunction arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n}\n\nexport default arrayEach;\n","import isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default toKey;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nexport default setToArray;\n","import baseFor from './_baseFor.js';\nimport keys from './keys.js';\n\n/**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\nfunction baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n}\n\nexport default baseForOwn;\n","/**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\nfunction baseIsNaN(value) {\n return value !== value;\n}\n\nexport default baseIsNaN;\n","/**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n}\n\nexport default strictIndexOf;\n","import baseFindIndex from './_baseFindIndex.js';\nimport baseIsNaN from './_baseIsNaN.js';\nimport strictIndexOf from './_strictIndexOf.js';\n\n/**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n}\n\nexport default baseIndexOf;\n","import baseIndexOf from './_baseIndexOf.js';\n\n/**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n}\n\nexport default arrayIncludes;\n","/**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\nfunction arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n}\n\nexport default arrayIncludesWith;\n","/**\n * This method returns `undefined`.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Util\n * @example\n *\n * _.times(2, _.noop);\n * // => [undefined, undefined]\n */\nfunction noop() {\n // No operation performed.\n}\n\nexport default noop;\n","import Set from './_Set.js';\nimport noop from './noop.js';\nimport setToArray from './_setToArray.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\nvar createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n};\n\nexport default createSet;\n","import SetCache from './_SetCache.js';\nimport arrayIncludes from './_arrayIncludes.js';\nimport arrayIncludesWith from './_arrayIncludesWith.js';\nimport cacheHas from './_cacheHas.js';\nimport createSet from './_createSet.js';\nimport setToArray from './_setToArray.js';\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\nfunction baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n}\n\nexport default baseUniq;\n","import Symbol from './_Symbol.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\n\n/** Built-in value references. */\nvar spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\nexport default isFlattenable;\n","import arrayPush from './_arrayPush.js';\nimport isFlattenable from './_isFlattenable.js';\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\nexport default baseFlatten;\n","import baseGetTag from './_baseGetTag.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n}\n\nexport default isSymbol;\n","import identity from './identity.js';\n\n/**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\nfunction castFunction(value) {\n return typeof value == 'function' ? value : identity;\n}\n\nexport default castFunction;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nexport default stubArray;\n","import memoizeCapped from './_memoizeCapped.js';\n\n/** Used to match property names within property paths. */\nvar rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n/** Used to match backslashes in property paths. */\nvar reEscapeChar = /\\\\(\\\\)?/g;\n\n/**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\nvar stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n});\n\nexport default stringToPath;\n","import memoize from './memoize.js';\n\n/** Used as the maximum memoize cache size. */\nvar MAX_MEMOIZE_SIZE = 500;\n\n/**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\nfunction memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n}\n\nexport default memoizeCapped;\n","import isArray from './isArray.js';\nimport isKey from './_isKey.js';\nimport stringToPath from './_stringToPath.js';\nimport toString from './toString.js';\n\n/**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\nfunction castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n}\n\nexport default castPath;\n","import castPath from './_castPath.js';\nimport isArguments from './isArguments.js';\nimport isArray from './isArray.js';\nimport isIndex from './_isIndex.js';\nimport isLength from './isLength.js';\nimport toKey from './_toKey.js';\n\n/**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\nfunction hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n}\n\nexport default hasPath;\n","/**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n}\n\nexport default baseProperty;\n","import arrayLikeKeys from './_arrayLikeKeys.js';\nimport baseKeys from './_baseKeys.js';\nimport isArrayLike from './isArrayLike.js';\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nexport default keys;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nexport default arraySome;\n","import SetCache from './_SetCache.js';\nimport arraySome from './_arraySome.js';\nimport cacheHas from './_cacheHas.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nexport default equalArrays;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nexport default mapToArray;\n","import Symbol from './_Symbol.js';\nimport Uint8Array from './_Uint8Array.js';\nimport eq from './eq.js';\nimport equalArrays from './_equalArrays.js';\nimport mapToArray from './_mapToArray.js';\nimport setToArray from './_setToArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nexport default equalByTag;\n","import getAllKeys from './_getAllKeys.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nexport default equalObjects;\n","import Stack from './_Stack.js';\nimport equalArrays from './_equalArrays.js';\nimport equalByTag from './_equalByTag.js';\nimport equalObjects from './_equalObjects.js';\nimport getTag from './_getTag.js';\nimport isArray from './isArray.js';\nimport isBuffer from './isBuffer.js';\nimport isTypedArray from './isTypedArray.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nexport default baseIsEqualDeep;\n","import baseIsEqualDeep from './_baseIsEqualDeep.js';\nimport isObjectLike from './isObjectLike.js';\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nexport default baseIsEqual;\n","import Stack from './_Stack.js';\nimport baseIsEqual from './_baseIsEqual.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\nfunction baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n}\n\nexport default baseIsMatch;\n","import isObject from './isObject.js';\n\n/**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\nfunction isStrictComparable(value) {\n return value === value && !isObject(value);\n}\n\nexport default isStrictComparable;\n","import isStrictComparable from './_isStrictComparable.js';\nimport keys from './keys.js';\n\n/**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\nfunction getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n}\n\nexport default getMatchData;\n","/**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n}\n\nexport default matchesStrictComparable;\n","import baseIsMatch from './_baseIsMatch.js';\nimport getMatchData from './_getMatchData.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\n\n/**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n}\n\nexport default baseMatches;\n","import baseGet from './_baseGet.js';\n\n/**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\nfunction get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n}\n\nexport default get;\n","import baseIsEqual from './_baseIsEqual.js';\nimport get from './get.js';\nimport hasIn from './hasIn.js';\nimport isKey from './_isKey.js';\nimport isStrictComparable from './_isStrictComparable.js';\nimport matchesStrictComparable from './_matchesStrictComparable.js';\nimport toKey from './_toKey.js';\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\nfunction baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n}\n\nexport default baseMatchesProperty;\n","import baseGet from './_baseGet.js';\n\n/**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\nfunction basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n}\n\nexport default basePropertyDeep;\n","import baseProperty from './_baseProperty.js';\nimport basePropertyDeep from './_basePropertyDeep.js';\nimport isKey from './_isKey.js';\nimport toKey from './_toKey.js';\n\n/**\n * Creates a function that returns the value at `path` of a given object.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Util\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n * @example\n *\n * var objects = [\n * { 'a': { 'b': 2 } },\n * { 'a': { 'b': 1 } }\n * ];\n *\n * _.map(objects, _.property('a.b'));\n * // => [2, 1]\n *\n * _.map(_.sortBy(objects, _.property(['a', 'b'])), 'a.b');\n * // => [1, 2]\n */\nfunction property(path) {\n return isKey(path) ? baseProperty(toKey(path)) : basePropertyDeep(path);\n}\n\nexport default property;\n","import baseMatches from './_baseMatches.js';\nimport baseMatchesProperty from './_baseMatchesProperty.js';\nimport identity from './identity.js';\nimport isArray from './isArray.js';\nimport property from './property.js';\n\n/**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\nfunction baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n}\n\nexport default baseIteratee;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nexport default arrayFilter;\n","import baseGetAllKeys from './_baseGetAllKeys.js';\nimport getSymbols from './_getSymbols.js';\nimport keys from './keys.js';\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nexport default getAllKeys;\n","import isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used to match property names within property paths. */\nvar reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/;\n\n/**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\nfunction isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n}\n\nexport default isKey;\n","import castPath from './_castPath.js';\nimport toKey from './_toKey.js';\n\n/**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\nfunction baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n}\n\nexport default baseGet;\n","import arrayPush from './_arrayPush.js';\nimport isArray from './isArray.js';\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nexport default baseGetAllKeys;\n","import baseForOwn from './_baseForOwn.js';\nimport createBaseEach from './_createBaseEach.js';\n\n/**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\nvar baseEach = createBaseEach(baseForOwn);\n\nexport default baseEach;\n","import isArrayLike from './isArrayLike.js';\n\n/**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\nfunction createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n}\n\nexport default createBaseEach;\n","/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\nexport default arrayMap;\n","import arrayEach from './_arrayEach.js';\nimport baseEach from './_baseEach.js';\nimport castFunction from './_castFunction.js';\nimport isArray from './isArray.js';\n\n/**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\nfunction forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, castFunction(iteratee));\n}\n\nexport default forEach;\n","/**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n}\n\nexport default baseFindIndex;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nexport default cacheHas;\n","/**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\nfunction baseHasIn(object, key) {\n return object != null && key in Object(object);\n}\n\nexport default baseHasIn;\n","import baseHasIn from './_baseHasIn.js';\nimport hasPath from './_hasPath.js';\n\n/**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\nfunction hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n}\n\nexport default hasIn;\n","import Symbol from './_Symbol.js';\nimport arrayMap from './_arrayMap.js';\nimport isArray from './isArray.js';\nimport isSymbol from './isSymbol.js';\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0;\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n/**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\nexport default baseToString;\n","import baseToString from './_baseToString.js';\n\n/**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\nfunction toString(value) {\n return value == null ? '' : baseToString(value);\n}\n\nexport default toString;\n","import arrayFilter from './_arrayFilter.js';\nimport stubArray from './stubArray.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nexport default getSymbols;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nexport default arrayPush;\n"],"names":["value","this","__data__","set","has","SetCache","values","index","length","MapCache","add","prototype","push","setCacheAdd","setCacheHas","collection","predicate","result","baseEach","isArray","arrayFilter","baseFilter","baseIteratee","array","iteratee","accumulator","initAccum","eachFunc","func","arrayReduce","baseReduce","arguments","isSymbol","Array","size","forEach","object","baseFor","keys","fromIndex","strictIndexOf","baseFindIndex","baseIsNaN","baseIndexOf","comparator","Set","setToArray","noop","includes","arrayIncludes","isCommon","seen","arrayIncludesWith","createSet","cacheHas","outer","computed","seenIndex","spreadableSymbol","Symbol","isConcatSpreadable","undefined","isArguments","baseFlatten","depth","isStrict","isFlattenable","arrayPush","isObjectLike","baseGetTag","identity","rePropName","reEscapeChar","memoize","key","cache","clear","memoizeCapped","string","charCodeAt","replace","match","number","quote","subString","isKey","stringToPath","toString","path","hasFunc","castPath","toKey","isLength","isIndex","isArrayLike","arrayLikeKeys","baseKeys","other","bitmask","customizer","equalFunc","stack","isPartial","arrLength","othLength","arrStacked","get","othStacked","arrValue","othValue","compared","arraySome","othIndex","map","symbolProto","symbolValueOf","valueOf","tag","byteLength","byteOffset","buffer","Uint8Array","eq","name","message","convert","mapToArray","stacked","equalArrays","call","hasOwnProperty","Object","objProps","getAllKeys","objLength","objStacked","skipCtor","objValue","objCtor","constructor","othCtor","argsTag","arrayTag","objectTag","objIsArr","othIsArr","objTag","getTag","othTag","objIsObj","othIsObj","isSameTag","isBuffer","Stack","isTypedArray","equalByTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","equalObjects","baseIsEqual","baseIsEqualDeep","source","matchData","noCustomizer","data","srcValue","COMPARE_PARTIAL_FLAG","isObject","isStrictComparable","getMatchData","matchesStrictComparable","baseIsMatch","defaultValue","baseGet","hasIn","baseProperty","basePropertyDeep","baseMatchesProperty","baseMatches","property","resIndex","baseGetAllKeys","getSymbols","reIsDeepProp","reIsPlainProp","type","test","keysFunc","symbolsFunc","fromRight","iterable","createBaseEach","baseForOwn","arrayEach","castFunction","hasPath","baseHasIn","symbolToString","baseToString","arrayMap","propertyIsEnumerable","nativeGetSymbols","getOwnPropertySymbols","symbol","stubArray","offset"],"ignoreList":[],"sourceRoot":""}
build/static/js/578.4134fb5b.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[578],{7274(e,t,n){function i(e,t){var n,i,a;e.accDescr&&(null===(n=t.setAccDescription)||void 0===n||n.call(t,e.accDescr));e.accTitle&&(null===(i=t.setAccTitle)||void 0===i||i.call(t,e.accTitle));e.title&&(null===(a=t.setDiagramTitle)||void 0===a||a.call(t,e.title))}n.d(t,{S:()=>i}),(0,n(32748).K2)(i,"populateCommonDb")},28578(e,t,n){n.d(t,{diagram:()=>T});var i=n(57903),a=n(7274),r=n(94787),c=n(84571),o=n(45420),l=n(32748),s=n(55502),d=new r.m(()=>({cnt:1,stack:[{id:0,level:-1,name:"/",children:[]}]})),h=(0,l.K2)(()=>{d.reset(),(0,o.IU)()},"clear"),g=(0,l.K2)(()=>d.records.stack[0],"getRoot"),p=(0,l.K2)(()=>d.records.cnt,"getCount"),w=o.UI.treeView,k=(0,l.K2)(()=>(0,c.$t)(w,(0,o.zj)().treeView),"getConfig"),m={clear:h,addNode:(0,l.K2)((e,t)=>{for(;e<=d.records.stack[d.records.stack.length-1].level;)d.records.stack.pop();const n={id:d.records.cnt++,level:e,name:t,children:[]};d.records.stack[d.records.stack.length-1].children.push(n),d.records.stack.push(n)},"addNode"),getRoot:g,getCount:p,getConfig:k,getAccTitle:o.iN,getAccDescription:o.m7,getDiagramTitle:o.ab,setAccDescription:o.EI,setAccTitle:o.SV,setDiagramTitle:o.ke},u=(0,l.K2)(e=>{(0,a.S)(e,m),e.nodes.map(e=>m.addNode(e.indent?parseInt(e.indent):0,e.name))},"populate"),b={parse:(0,l.K2)(async e=>{const t=await(0,s.qg)("treeView",e);l.Rm.debug(t),u(t)},"parse")},x=(0,l.K2)((e,t,n,i,a)=>{const r=i.append("text").text(n.name).attr("dominant-baseline","middle").attr("class","treeView-node-label"),{height:c,width:o}=r.node().getBBox(),l=c+2*a.paddingY,s=o+2*a.paddingX;r.attr("x",e+a.paddingX),r.attr("y",t+l/2),n.BBox={x:e,y:t,width:s,height:l}},"positionLabel"),K=(0,l.K2)((e,t,n,i,a,r)=>e.append("line").attr("x1",t).attr("y1",n).attr("x2",i).attr("y2",a).attr("stroke-width",r).attr("class","treeView-node-line"),"positionLine"),f=(0,l.K2)((e,t,n)=>{let i=0,a=0;const r=(0,l.K2)((e,t,n,r)=>{const c=r*(n.rowIndent+n.paddingX);x(c,i,t,e,n);const{height:o,width:l}=t.BBox;K(e,c-n.rowIndent,i+o/2,c,i+o/2,n.lineThickness),a=Math.max(a,c+l),i+=o},"drawNode"),c=(0,l.K2)(function(t){let i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:0;r(e,t,n,i),t.children.forEach(e=>{c(e,i+1)});const{x:a,y:o,height:l}=t.BBox;if(t.children.length){const{y:i,height:r}=t.children[t.children.length-1].BBox;K(e,a+n.paddingX,o+l,a+n.paddingX,i+r/2+n.lineThickness/2,n.lineThickness)}},"processNode");return c(t),{totalHeight:i,totalWidth:a}},"drawTree"),v={labelFontSize:"16px",labelColor:"black",lineColor:"black"},T={db:m,renderer:{draw:(0,l.K2)((e,t,n,a)=>{l.Rm.debug("Rendering treeView diagram\n"+e);const r=a.db,c=r.getRoot(),s=r.getConfig(),d=(0,i.D)(t),h=d.append("g");h.attr("class","tree-view");const{totalHeight:g,totalWidth:p}=f(h,c,s);d.attr("viewBox","-".concat(s.lineThickness/2," 0 ").concat(p," ").concat(g)),(0,o.a$)(d,g,p,s.useMaxWidth)},"draw")},parser:b,styles:(0,l.K2)(e=>{let{treeView:t}=e;const{labelFontSize:n,labelColor:i,lineColor:a}=(0,c.$t)(v,t);return"\n .treeView-node-label {\n font-size: ".concat(n,";\n fill: ").concat(i,";\n }\n .treeView-node-line {\n stroke: ").concat(a,";\n }\n ")},"styles")}},94787(e,t,n){n.d(t,{m:()=>r});var i,a=n(32748),r=(i=class{constructor(e){this.init=e,this.records=this.init()}reset(){this.records=this.init()}},(0,a.K2)(i,"ImperativeState"),i)}}]);
2
+ //# sourceMappingURL=578.4134fb5b.chunk.js.map
build/static/js/578.4134fb5b.chunk.js.map ADDED
@@ -0,0 +1 @@
 
 
1
+ {"version":3,"file":"static/js/578.4134fb5b.chunk.js","mappings":"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","sources":["../node_modules/mermaid/dist/chunks/mermaid.core/chunk-4BX2VUAB.mjs","../node_modules/mermaid/dist/chunks/mermaid.core/diagram-5BDNPKRD.mjs","../node_modules/mermaid/dist/chunks/mermaid.core/chunk-QZHKN3VN.mjs"],"sourcesContent":["import {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/common/populateCommonDb.ts\nfunction populateCommonDb(ast, db) {\n if (ast.accDescr) {\n db.setAccDescription?.(ast.accDescr);\n }\n if (ast.accTitle) {\n db.setAccTitle?.(ast.accTitle);\n }\n if (ast.title) {\n db.setDiagramTitle?.(ast.title);\n }\n}\n__name(populateCommonDb, \"populateCommonDb\");\n\nexport {\n populateCommonDb\n};\n","import {\n selectSvgElement\n} from \"./chunk-426QAEUC.mjs\";\nimport {\n populateCommonDb\n} from \"./chunk-4BX2VUAB.mjs\";\nimport {\n ImperativeState\n} from \"./chunk-QZHKN3VN.mjs\";\nimport {\n cleanAndMerge\n} from \"./chunk-5PVQY5BW.mjs\";\nimport {\n clear,\n configureSvgSize,\n defaultConfig_default,\n getAccDescription,\n getAccTitle,\n getConfig,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n} from \"./chunk-ICPOFSXX.mjs\";\nimport {\n __name,\n log\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/diagrams/treeView/db.ts\nvar state = new ImperativeState(() => ({\n cnt: 1,\n stack: [\n {\n id: 0,\n level: -1,\n name: \"/\",\n children: []\n }\n ]\n}));\nvar clear2 = /* @__PURE__ */ __name(() => {\n state.reset();\n clear();\n}, \"clear\");\nvar getRoot = /* @__PURE__ */ __name(() => {\n return state.records.stack[0];\n}, \"getRoot\");\nvar getCount = /* @__PURE__ */ __name(() => state.records.cnt, \"getCount\");\nvar defaultConfig = defaultConfig_default.treeView;\nvar getConfig2 = /* @__PURE__ */ __name(() => {\n return cleanAndMerge(defaultConfig, getConfig().treeView);\n}, \"getConfig\");\nvar addNode = /* @__PURE__ */ __name((level, name) => {\n while (level <= state.records.stack[state.records.stack.length - 1].level) {\n state.records.stack.pop();\n }\n const node = {\n id: state.records.cnt++,\n level,\n name,\n children: []\n };\n state.records.stack[state.records.stack.length - 1].children.push(node);\n state.records.stack.push(node);\n}, \"addNode\");\nvar db = {\n clear: clear2,\n addNode,\n getRoot,\n getCount,\n getConfig: getConfig2,\n getAccTitle,\n getAccDescription,\n getDiagramTitle,\n setAccDescription,\n setAccTitle,\n setDiagramTitle\n};\nvar db_default = db;\n\n// src/diagrams/treeView/parser.ts\nimport { parse } from \"@mermaid-js/parser\";\nvar populate = /* @__PURE__ */ __name((ast) => {\n populateCommonDb(ast, db_default);\n ast.nodes.map((node) => db_default.addNode(node.indent ? parseInt(node.indent) : 0, node.name));\n}, \"populate\");\nvar parser = {\n parse: /* @__PURE__ */ __name(async (input) => {\n const ast = await parse(\"treeView\", input);\n log.debug(ast);\n populate(ast);\n }, \"parse\")\n};\n\n// src/diagrams/treeView/renderer.ts\nvar positionLabel = /* @__PURE__ */ __name((x, y, node, domElem, config) => {\n const label = domElem.append(\"text\").text(node.name).attr(\"dominant-baseline\", \"middle\").attr(\"class\", \"treeView-node-label\");\n const { height: labelHeight, width: labelWidth } = label.node().getBBox();\n const height = labelHeight + config.paddingY * 2;\n const width = labelWidth + config.paddingX * 2;\n label.attr(\"x\", x + config.paddingX);\n label.attr(\"y\", y + height / 2);\n node.BBox = {\n x,\n y,\n width,\n height\n };\n}, \"positionLabel\");\nvar positionLine = /* @__PURE__ */ __name((domElem, x1, y1, x2, y2, lineThickness) => {\n return domElem.append(\"line\").attr(\"x1\", x1).attr(\"y1\", y1).attr(\"x2\", x2).attr(\"y2\", y2).attr(\"stroke-width\", lineThickness).attr(\"class\", \"treeView-node-line\");\n}, \"positionLine\");\nvar drawTree = /* @__PURE__ */ __name((elem, root, config) => {\n let totalHeight = 0;\n let totalWidth = 0;\n const drawNode = /* @__PURE__ */ __name((elem2, node, config2, depth) => {\n const indent = depth * (config2.rowIndent + config2.paddingX);\n positionLabel(indent, totalHeight, node, elem2, config2);\n const { height, width } = node.BBox;\n positionLine(\n elem2,\n indent - config2.rowIndent,\n totalHeight + height / 2,\n indent,\n totalHeight + height / 2,\n config2.lineThickness\n );\n totalWidth = Math.max(totalWidth, indent + width);\n totalHeight += height;\n }, \"drawNode\");\n const processNode = /* @__PURE__ */ __name((node, depth = 0) => {\n drawNode(elem, node, config, depth);\n node.children.forEach((child) => {\n processNode(child, depth + 1);\n });\n const { x, y, height } = node.BBox;\n if (node.children.length) {\n const { y: endY, height: endHeight } = node.children[node.children.length - 1].BBox;\n positionLine(\n elem,\n x + config.paddingX,\n y + height,\n x + config.paddingX,\n endY + endHeight / 2 + config.lineThickness / 2,\n config.lineThickness\n );\n }\n }, \"processNode\");\n processNode(root);\n return { totalHeight, totalWidth };\n}, \"drawTree\");\nvar draw = /* @__PURE__ */ __name((text, id, _ver, diagObj) => {\n log.debug(\"Rendering treeView diagram\\n\" + text);\n const db2 = diagObj.db;\n const root = db2.getRoot();\n const config = db2.getConfig();\n const svg = selectSvgElement(id);\n const treeElem = svg.append(\"g\");\n treeElem.attr(\"class\", \"tree-view\");\n const { totalHeight, totalWidth } = drawTree(treeElem, root, config);\n svg.attr(\"viewBox\", `-${config.lineThickness / 2} 0 ${totalWidth} ${totalHeight}`);\n configureSvgSize(svg, totalHeight, totalWidth, config.useMaxWidth);\n}, \"draw\");\nvar renderer = {\n draw\n};\nvar renderer_default = renderer;\n\n// src/diagrams/treeView/styles.ts\nvar defaultTreeViewDiagramStyles = {\n labelFontSize: \"16px\",\n labelColor: \"black\",\n lineColor: \"black\"\n};\nvar styles = /* @__PURE__ */ __name(({\n treeView\n}) => {\n const { labelFontSize, labelColor, lineColor } = cleanAndMerge(\n defaultTreeViewDiagramStyles,\n treeView\n );\n return `\n .treeView-node-label {\n font-size: ${labelFontSize};\n fill: ${labelColor};\n }\n .treeView-node-line {\n stroke: ${lineColor};\n }\n `;\n}, \"styles\");\nvar styles_default = styles;\n\n// src/diagrams/treeView/diagram.ts\nvar diagram = {\n db: db_default,\n renderer: renderer_default,\n parser,\n styles: styles_default\n};\nexport {\n diagram\n};\n","import {\n __name\n} from \"./chunk-AGHRB4JF.mjs\";\n\n// src/utils/imperativeState.ts\nvar ImperativeState = class {\n /**\n * @param init - Function that creates the default state.\n */\n constructor(init) {\n this.init = init;\n this.records = this.init();\n }\n static {\n __name(this, \"ImperativeState\");\n }\n reset() {\n this.records = this.init();\n }\n};\n\nexport {\n ImperativeState\n};\n"],"names":["populateCommonDb","ast","db","_db$setAccDescription","_db$setAccTitle","_db$setDiagramTitle","accDescr","setAccDescription","call","accTitle","setAccTitle","title","setDiagramTitle","__name","state","ImperativeState","cnt","stack","id","level","name","children","clear2","reset","clear","getRoot","records","getCount","defaultConfig","defaultConfig_default","treeView","getConfig2","cleanAndMerge","getConfig","db_default","addNode","length","pop","node","push","getAccTitle","getAccDescription","getDiagramTitle","populate","nodes","map","indent","parseInt","parser","parse","async","input","log","debug","positionLabel","x","y","domElem","config","label","append","text","attr","height","labelHeight","width","labelWidth","getBBox","paddingY","paddingX","BBox","positionLine","x1","y1","x2","y2","lineThickness","drawTree","elem","root","totalHeight","totalWidth","drawNode","elem2","config2","depth","rowIndent","Math","max","processNode","arguments","undefined","forEach","child","endY","endHeight","defaultTreeViewDiagramStyles","labelFontSize","labelColor","lineColor","diagram","renderer","draw","_ver","diagObj","db2","svg","selectSvgElement","treeElem","concat","configureSvgSize","useMaxWidth","styles","_ref","_Class","constructor","init","this"],"ignoreList":[],"sourceRoot":""}
build/static/js/585.bbe871d5.chunk.js ADDED
@@ -0,0 +1,2 @@
 
 
 
1
+ "use strict";(self.webpackChunkfrontend=self.webpackChunkfrontend||[]).push([[585],{51585(t,e,n){n.d(e,{diagram:()=>Bt});var a,i,s=n(53272),r=n(84571),o=n(45420),l=n(32748),h=n(68973),d=n(73755),p=function(){var t=(0,l.K2)(function(t,e,n,a){for(n=n||{},a=t.length;a--;n[t[a]]=e);return n},"o"),e=[1,24],n=[1,25],a=[1,26],i=[1,27],s=[1,28],r=[1,63],o=[1,64],h=[1,65],d=[1,66],p=[1,67],u=[1,68],y=[1,69],f=[1,29],g=[1,30],b=[1,31],x=[1,32],_=[1,33],m=[1,34],E=[1,35],S=[1,36],A=[1,37],C=[1,38],v=[1,39],w=[1,40],k=[1,41],O=[1,42],T=[1,43],R=[1,44],D=[1,45],N=[1,46],P=[1,47],B=[1,48],I=[1,50],M=[1,51],j=[1,52],K=[1,53],L=[1,54],Y=[1,55],U=[1,56],F=[1,57],X=[1,58],z=[1,59],W=[1,60],Q=[14,42],$=[14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],H=[12,14,34,36,37,38,39,40,41,42,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],V=[1,82],q=[1,83],G=[1,84],J=[1,85],Z=[12,14,42],tt=[12,14,33,42],et=[12,14,33,42,76,77,79,80],nt=[12,33],at=[34,36,37,38,39,40,41,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74],it={trace:(0,l.K2)(function(){},"trace"),yy:{},symbols_:{error:2,start:3,mermaidDoc:4,direction:5,direction_tb:6,direction_bt:7,direction_rl:8,direction_lr:9,graphConfig:10,C4_CONTEXT:11,NEWLINE:12,statements:13,EOF:14,C4_CONTAINER:15,C4_COMPONENT:16,C4_DYNAMIC:17,C4_DEPLOYMENT:18,otherStatements:19,diagramStatements:20,otherStatement:21,title:22,accDescription:23,acc_title:24,acc_title_value:25,acc_descr:26,acc_descr_value:27,acc_descr_multiline_value:28,boundaryStatement:29,boundaryStartStatement:30,boundaryStopStatement:31,boundaryStart:32,LBRACE:33,ENTERPRISE_BOUNDARY:34,attributes:35,SYSTEM_BOUNDARY:36,BOUNDARY:37,CONTAINER_BOUNDARY:38,NODE:39,NODE_L:40,NODE_R:41,RBRACE:42,diagramStatement:43,PERSON:44,PERSON_EXT:45,SYSTEM:46,SYSTEM_DB:47,SYSTEM_QUEUE:48,SYSTEM_EXT:49,SYSTEM_EXT_DB:50,SYSTEM_EXT_QUEUE:51,CONTAINER:52,CONTAINER_DB:53,CONTAINER_QUEUE:54,CONTAINER_EXT:55,CONTAINER_EXT_DB:56,CONTAINER_EXT_QUEUE:57,COMPONENT:58,COMPONENT_DB:59,COMPONENT_QUEUE:60,COMPONENT_EXT:61,COMPONENT_EXT_DB:62,COMPONENT_EXT_QUEUE:63,REL:64,BIREL:65,REL_U:66,REL_D:67,REL_L:68,REL_R:69,REL_B:70,REL_INDEX:71,UPDATE_EL_STYLE:72,UPDATE_REL_STYLE:73,UPDATE_LAYOUT_CONFIG:74,attribute:75,STR:76,STR_KEY:77,STR_VALUE:78,ATTRIBUTE:79,ATTRIBUTE_EMPTY:80,$accept:0,$end:1},terminals_:{2:"error",6:"direction_tb",7:"direction_bt",8:"direction_rl",9:"direction_lr",11:"C4_CONTEXT",12:"NEWLINE",14:"EOF",15:"C4_CONTAINER",16:"C4_COMPONENT",17:"C4_DYNAMIC",18:"C4_DEPLOYMENT",22:"title",23:"accDescription",24:"acc_title",25:"acc_title_value",26:"acc_descr",27:"acc_descr_value",28:"acc_descr_multiline_value",33:"LBRACE",34:"ENTERPRISE_BOUNDARY",36:"SYSTEM_BOUNDARY",37:"BOUNDARY",38:"CONTAINER_BOUNDARY",39:"NODE",40:"NODE_L",41:"NODE_R",42:"RBRACE",44:"PERSON",45:"PERSON_EXT",46:"SYSTEM",47:"SYSTEM_DB",48:"SYSTEM_QUEUE",49:"SYSTEM_EXT",50:"SYSTEM_EXT_DB",51:"SYSTEM_EXT_QUEUE",52:"CONTAINER",53:"CONTAINER_DB",54:"CONTAINER_QUEUE",55:"CONTAINER_EXT",56:"CONTAINER_EXT_DB",57:"CONTAINER_EXT_QUEUE",58:"COMPONENT",59:"COMPONENT_DB",60:"COMPONENT_QUEUE",61:"COMPONENT_EXT",62:"COMPONENT_EXT_DB",63:"COMPONENT_EXT_QUEUE",64:"REL",65:"BIREL",66:"REL_U",67:"REL_D",68:"REL_L",69:"REL_R",70:"REL_B",71:"REL_INDEX",72:"UPDATE_EL_STYLE",73:"UPDATE_REL_STYLE",74:"UPDATE_LAYOUT_CONFIG",76:"STR",77:"STR_KEY",78:"STR_VALUE",79:"ATTRIBUTE",80:"ATTRIBUTE_EMPTY"},productions_:[0,[3,1],[3,1],[5,1],[5,1],[5,1],[5,1],[4,1],[10,4],[10,4],[10,4],[10,4],[10,4],[13,1],[13,1],[13,2],[19,1],[19,2],[19,3],[21,1],[21,1],[21,2],[21,2],[21,1],[29,3],[30,3],[30,3],[30,4],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[32,2],[31,1],[20,1],[20,2],[20,3],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,1],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[43,2],[35,1],[35,2],[75,1],[75,2],[75,1],[75,1]],performAction:(0,l.K2)(function(t,e,n,a,i,s,r){var o=s.length-1;switch(i){case 3:a.setDirection("TB");break;case 4:a.setDirection("BT");break;case 5:a.setDirection("RL");break;case 6:a.setDirection("LR");break;case 8:case 9:case 10:case 11:case 12:a.setC4Type(s[o-3]);break;case 19:a.setTitle(s[o].substring(6)),this.$=s[o].substring(6);break;case 20:a.setAccDescription(s[o].substring(15)),this.$=s[o].substring(15);break;case 21:this.$=s[o].trim(),a.setTitle(this.$);break;case 22:case 23:this.$=s[o].trim(),a.setAccDescription(this.$);break;case 28:s[o].splice(2,0,"ENTERPRISE"),a.addPersonOrSystemBoundary(...s[o]),this.$=s[o];break;case 29:s[o].splice(2,0,"SYSTEM"),a.addPersonOrSystemBoundary(...s[o]),this.$=s[o];break;case 30:a.addPersonOrSystemBoundary(...s[o]),this.$=s[o];break;case 31:s[o].splice(2,0,"CONTAINER"),a.addContainerBoundary(...s[o]),this.$=s[o];break;case 32:a.addDeploymentNode("node",...s[o]),this.$=s[o];break;case 33:a.addDeploymentNode("nodeL",...s[o]),this.$=s[o];break;case 34:a.addDeploymentNode("nodeR",...s[o]),this.$=s[o];break;case 35:a.popBoundaryParseStack();break;case 39:a.addPersonOrSystem("person",...s[o]),this.$=s[o];break;case 40:a.addPersonOrSystem("external_person",...s[o]),this.$=s[o];break;case 41:a.addPersonOrSystem("system",...s[o]),this.$=s[o];break;case 42:a.addPersonOrSystem("system_db",...s[o]),this.$=s[o];break;case 43:a.addPersonOrSystem("system_queue",...s[o]),this.$=s[o];break;case 44:a.addPersonOrSystem("external_system",...s[o]),this.$=s[o];break;case 45:a.addPersonOrSystem("external_system_db",...s[o]),this.$=s[o];break;case 46:a.addPersonOrSystem("external_system_queue",...s[o]),this.$=s[o];break;case 47:a.addContainer("container",...s[o]),this.$=s[o];break;case 48:a.addContainer("container_db",...s[o]),this.$=s[o];break;case 49:a.addContainer("container_queue",...s[o]),this.$=s[o];break;case 50:a.addContainer("external_container",...s[o]),this.$=s[o];break;case 51:a.addContainer("external_container_db",...s[o]),this.$=s[o];break;case 52:a.addContainer("external_container_queue",...s[o]),this.$=s[o];break;case 53:a.addComponent("component",...s[o]),this.$=s[o];break;case 54:a.addComponent("component_db",...s[o]),this.$=s[o];break;case 55:a.addComponent("component_queue",...s[o]),this.$=s[o];break;case 56:a.addComponent("external_component",...s[o]),this.$=s[o];break;case 57:a.addComponent("external_component_db",...s[o]),this.$=s[o];break;case 58:a.addComponent("external_component_queue",...s[o]),this.$=s[o];break;case 60:a.addRel("rel",...s[o]),this.$=s[o];break;case 61:a.addRel("birel",...s[o]),this.$=s[o];break;case 62:a.addRel("rel_u",...s[o]),this.$=s[o];break;case 63:a.addRel("rel_d",...s[o]),this.$=s[o];break;case 64:a.addRel("rel_l",...s[o]),this.$=s[o];break;case 65:a.addRel("rel_r",...s[o]),this.$=s[o];break;case 66:a.addRel("rel_b",...s[o]),this.$=s[o];break;case 67:s[o].splice(0,1),a.addRel("rel",...s[o]),this.$=s[o];break;case 68:a.updateElStyle("update_el_style",...s[o]),this.$=s[o];break;case 69:a.updateRelStyle("update_rel_style",...s[o]),this.$=s[o];break;case 70:a.updateLayoutConfig("update_layout_config",...s[o]),this.$=s[o];break;case 71:this.$=[s[o]];break;case 72:s[o].unshift(s[o-1]),this.$=s[o];break;case 73:case 75:this.$=s[o].trim();break;case 74:let t={};t[s[o-1].trim()]=s[o].trim(),this.$=t;break;case 76:this.$=""}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],7:[1,6],8:[1,7],9:[1,8],10:4,11:[1,9],15:[1,10],16:[1,11],17:[1,12],18:[1,13]},{1:[3]},{1:[2,1]},{1:[2,2]},{1:[2,7]},{1:[2,3]},{1:[2,4]},{1:[2,5]},{1:[2,6]},{12:[1,14]},{12:[1,15]},{12:[1,16]},{12:[1,17]},{12:[1,18]},{13:19,19:20,20:21,21:22,22:e,23:n,24:a,26:i,28:s,29:49,30:61,32:62,34:r,36:o,37:h,38:d,39:p,40:u,41:y,43:23,44:f,45:g,46:b,47:x,48:_,49:m,50:E,51:S,52:A,53:C,54:v,55:w,56:k,57:O,58:T,59:R,60:D,61:N,62:P,63:B,64:I,65:M,66:j,67:K,68:L,69:Y,70:U,71:F,72:X,73:z,74:W},{13:70,19:20,20:21,21:22,22:e,23:n,24:a,26:i,28:s,29:49,30:61,32:62,34:r,36:o,37:h,38:d,39:p,40:u,41:y,43:23,44:f,45:g,46:b,47:x,48:_,49:m,50:E,51:S,52:A,53:C,54:v,55:w,56:k,57:O,58:T,59:R,60:D,61:N,62:P,63:B,64:I,65:M,66:j,67:K,68:L,69:Y,70:U,71:F,72:X,73:z,74:W},{13:71,19:20,20:21,21:22,22:e,23:n,24:a,26:i,28:s,29:49,30:61,32:62,34:r,36:o,37:h,38:d,39:p,40:u,41:y,43:23,44:f,45:g,46:b,47:x,48:_,49:m,50:E,51:S,52:A,53:C,54:v,55:w,56:k,57:O,58:T,59:R,60:D,61:N,62:P,63:B,64:I,65:M,66:j,67:K,68:L,69:Y,70:U,71:F,72:X,73:z,74:W},{13:72,19:20,20:21,21:22,22:e,23:n,24:a,26:i,28:s,29:49,30:61,32:62,34:r,36:o,37:h,38:d,39:p,40:u,41:y,43:23,44:f,45:g,46:b,47:x,48:_,49:m,50:E,51:S,52:A,53:C,54:v,55:w,56:k,57:O,58:T,59:R,60:D,61:N,62:P,63:B,64:I,65:M,66:j,67:K,68:L,69:Y,70:U,71:F,72:X,73:z,74:W},{13:73,19:20,20:21,21:22,22:e,23:n,24:a,26:i,28:s,29:49,30:61,32:62,34:r,36:o,37:h,38:d,39:p,40:u,41:y,43:23,44:f,45:g,46:b,47:x,48:_,49:m,50:E,51:S,52:A,53:C,54:v,55:w,56:k,57:O,58:T,59:R,60:D,61:N,62:P,63:B,64:I,65:M,66:j,67:K,68:L,69:Y,70:U,71:F,72:X,73:z,74:W},{14:[1,74]},t(Q,[2,13],{43:23,29:49,30:61,32:62,20:75,34:r,36:o,37:h,38:d,39:p,40:u,41:y,44:f,45:g,46:b,47:x,48:_,49:m,50:E,51:S,52:A,53:C,54:v,55:w,56:k,57:O,58:T,59:R,60:D,61:N,62:P,63:B,64:I,65:M,66:j,67:K,68:L,69:Y,70:U,71:F,72:X,73:z,74:W}),t(Q,[2,14]),t($,[2,16],{12:[1,76]}),t(Q,[2,36],{12:[1,77]}),t(H,[2,19]),t(H,[2,20]),{25:[1,78]},{27:[1,79]},t(H,[2,23]),{35:80,75:81,76:V,77:q,79:G,80:J},{35:86,75:81,76:V,77:q,79:G,80:J},{35:87,75:81,76:V,77:q,79:G,80:J},{35:88,75:81,76:V,77:q,79:G,80:J},{35:89,75:81,76:V,77:q,79:G,80:J},{35:90,75:81,76:V,77:q,79:G,80:J},{35:91,75:81,76:V,77:q,79:G,80:J},{35:92,75:81,76:V,77:q,79:G,80:J},{35:93,75:81,76:V,77:q,79:G,80:J},{35:94,75:81,76:V,77:q,79:G,80:J},{35:95,75:81,76:V,77:q,79:G,80:J},{35:96,75:81,76:V,77:q,79:G,80:J},{35:97,75:81,76:V,77:q,79:G,80:J},{35:98,75:81,76:V,77:q,79:G,80:J},{35:99,75:81,76:V,77:q,79:G,80:J},{35:100,75:81,76:V,77:q,79:G,80:J},{35:101,75:81,76:V,77:q,79:G,80:J},{35:102,75:81,76:V,77:q,79:G,80:J},{35:103,75:81,76:V,77:q,79:G,80:J},{35:104,75:81,76:V,77:q,79:G,80:J},t(Z,[2,59]),{35:105,75:81,76:V,77:q,79:G,80:J},{35:106,75:81,76:V,77:q,79:G,80:J},{35:107,75:81,76:V,77:q,79:G,80:J},{35:108,75:81,76:V,77:q,79:G,80:J},{35:109,75:81,76:V,77:q,79:G,80:J},{35:110,75:81,76:V,77:q,79:G,80:J},{35:111,75:81,76:V,77:q,79:G,80:J},{35:112,75:81,76:V,77:q,79:G,80:J},{35:113,75:81,76:V,77:q,79:G,80:J},{35:114,75:81,76:V,77:q,79:G,80:J},{35:115,75:81,76:V,77:q,79:G,80:J},{20:116,29:49,30:61,32:62,34:r,36:o,37:h,38:d,39:p,40:u,41:y,43:23,44:f,45:g,46:b,47:x,48:_,49:m,50:E,51:S,52:A,53:C,54:v,55:w,56:k,57:O,58:T,59:R,60:D,61:N,62:P,63:B,64:I,65:M,66:j,67:K,68:L,69:Y,70:U,71:F,72:X,73:z,74:W},{12:[1,118],33:[1,117]},{35:119,75:81,76:V,77:q,79:G,80:J},{35:120,75:81,76:V,77:q,79:G,80:J},{35:121,75:81,76:V,77:q,79:G,80:J},{35:122,75:81,76:V,77:q,79:G,80:J},{35:123,75:81,76:V,77:q,79:G,80:J},{35:124,75:81,76:V,77:q,79:G,80:J},{35:125,75:81,76:V,77:q,79:G,80:J},{14:[1,126]},{14:[1,127]},{14:[1,128]},{14:[1,129]},{1:[2,8]},t(Q,[2,15]),t($,[2,17],{21:22,19:130,22:e,23:n,24:a,26:i,28:s}),t(Q,[2,37],{19:20,20:21,21:22,43:23,29:49,30:61,32:62,13:131,22:e,23:n,24:a,26:i,28:s,34:r,36:o,37:h,38:d,39:p,40:u,41:y,44:f,45:g,46:b,47:x,48:_,49:m,50:E,51:S,52:A,53:C,54:v,55:w,56:k,57:O,58:T,59:R,60:D,61:N,62:P,63:B,64:I,65:M,66:j,67:K,68:L,69:Y,70:U,71:F,72:X,73:z,74:W}),t(H,[2,21]),t(H,[2,22]),t(Z,[2,39]),t(tt,[2,71],{75:81,35:132,76:V,77:q,79:G,80:J}),t(et,[2,73]),{78:[1,133]},t(et,[2,75]),t(et,[2,76]),t(Z,[2,40]),t(Z,[2,41]),t(Z,[2,42]),t(Z,[2,43]),t(Z,[2,44]),t(Z,[2,45]),t(Z,[2,46]),t(Z,[2,47]),t(Z,[2,48]),t(Z,[2,49]),t(Z,[2,50]),t(Z,[2,51]),t(Z,[2,52]),t(Z,[2,53]),t(Z,[2,54]),t(Z,[2,55]),t(Z,[2,56]),t(Z,[2,57]),t(Z,[2,58]),t(Z,[2,60]),t(Z,[2,61]),t(Z,[2,62]),t(Z,[2,63]),t(Z,[2,64]),t(Z,[2,65]),t(Z,[2,66]),t(Z,[2,67]),t(Z,[2,68]),t(Z,[2,69]),t(Z,[2,70]),{31:134,42:[1,135]},{12:[1,136]},{33:[1,137]},t(nt,[2,28]),t(nt,[2,29]),t(nt,[2,30]),t(nt,[2,31]),t(nt,[2,32]),t(nt,[2,33]),t(nt,[2,34]),{1:[2,9]},{1:[2,10]},{1:[2,11]},{1:[2,12]},t($,[2,18]),t(Q,[2,38]),t(tt,[2,72]),t(et,[2,74]),t(Z,[2,24]),t(Z,[2,35]),t(at,[2,25]),t(at,[2,26],{12:[1,138]}),t(at,[2,27])],defaultActions:{2:[2,1],3:[2,2],4:[2,7],5:[2,3],6:[2,4],7:[2,5],8:[2,6],74:[2,8],126:[2,9],127:[2,10],128:[2,11],129:[2,12]},parseError:(0,l.K2)(function(t,e){if(!e.recoverable){var n=new Error(t);throw n.hash=e,n}this.trace(t)},"parseError"),parse:(0,l.K2)(function(t){var e=this,n=[0],a=[],i=[null],s=[],r=this.table,o="",c=0,h=0,d=0,p=s.slice.call(arguments,1),u=Object.create(this.lexer),y={yy:{}};for(var f in this.yy)Object.prototype.hasOwnProperty.call(this.yy,f)&&(y.yy[f]=this.yy[f]);u.setInput(t,y.yy),y.yy.lexer=u,y.yy.parser=this,"undefined"==typeof u.yylloc&&(u.yylloc={});var g=u.yylloc;s.push(g);var b=u.options&&u.options.ranges;function x(){var t;return"number"!==typeof(t=a.pop()||u.lex()||1)&&(t instanceof Array&&(t=(a=t).pop()),t=e.symbols_[t]||t),t}"function"===typeof y.yy.parseError?this.parseError=y.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError,(0,l.K2)(function(t){n.length=n.length-2*t,i.length=i.length-t,s.length=s.length-t},"popStack"),(0,l.K2)(x,"lex");for(var _,m,E,S,A,C,v,w,k,O={};;){if(E=n[n.length-1],this.defaultActions[E]?S=this.defaultActions[E]:(null!==_&&"undefined"!=typeof _||(_=x()),S=r[E]&&r[E][_]),"undefined"===typeof S||!S.length||!S[0]){var T="";for(C in k=[],r[E])this.terminals_[C]&&C>2&&k.push("'"+this.terminals_[C]+"'");T=u.showPosition?"Parse error on line "+(c+1)+":\n"+u.showPosition()+"\nExpecting "+k.join(", ")+", got '"+(this.terminals_[_]||_)+"'":"Parse error on line "+(c+1)+": Unexpected "+(1==_?"end of input":"'"+(this.terminals_[_]||_)+"'"),this.parseError(T,{text:u.match,token:this.terminals_[_]||_,line:u.yylineno,loc:g,expected:k})}if(S[0]instanceof Array&&S.length>1)throw new Error("Parse Error: multiple actions possible at state: "+E+", token: "+_);switch(S[0]){case 1:n.push(_),i.push(u.yytext),s.push(u.yylloc),n.push(S[1]),_=null,m?(_=m,m=null):(h=u.yyleng,o=u.yytext,c=u.yylineno,g=u.yylloc,d>0&&d--);break;case 2:if(v=this.productions_[S[1]][1],O.$=i[i.length-v],O._$={first_line:s[s.length-(v||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(v||1)].first_column,last_column:s[s.length-1].last_column},b&&(O._$.range=[s[s.length-(v||1)].range[0],s[s.length-1].range[1]]),"undefined"!==typeof(A=this.performAction.apply(O,[o,h,c,y.yy,S[1],i,s].concat(p))))return A;v&&(n=n.slice(0,-1*v*2),i=i.slice(0,-1*v),s=s.slice(0,-1*v)),n.push(this.productions_[S[1]][0]),i.push(O.$),s.push(O._$),w=r[n[n.length-2]][n[n.length-1]],n.push(w);break;case 3:return!0}}return!0},"parse")},st=function(){return{EOF:1,parseError:(0,l.K2)(function(t,e){if(!this.yy.parser)throw new Error(t);this.yy.parser.parseError(t,e)},"parseError"),setInput:(0,l.K2)(function(t,e){return this.yy=e||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,l.K2)(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,l.K2)(function(t){var e=t.length,n=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-e),this.offset-=e;var a=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),n.length-1&&(this.yylineno-=n.length-1);var i=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:n?(n.length===a.length?this.yylloc.first_column:0)+a[a.length-n.length].length-n[0].length:this.yylloc.first_column-e},this.options.ranges&&(this.yylloc.range=[i[0],i[0]+this.yyleng-e]),this.yyleng=this.yytext.length,this},"unput"),more:(0,l.K2)(function(){return this._more=!0,this},"more"),reject:(0,l.K2)(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,l.K2)(function(t){this.unput(this.match.slice(t))},"less"),pastInput:(0,l.K2)(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,l.K2)(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,l.K2)(function(){var t=this.pastInput(),e=new Array(t.length+1).join("-");return t+this.upcomingInput()+"\n"+e+"^"},"showPosition"),test_match:(0,l.K2)(function(t,e){var n,a,i;if(this.options.backtrack_lexer&&(i={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&&(i.yylloc.range=this.yylloc.range.slice(0))),(a=t[0].match(/(?:\r\n?|\n).*/g))&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.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],n=this.performAction.call(this,this.yy,this,e,this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n)return n;if(this._backtrack){for(var s in i)this[s]=i[s];return!1}return!1},"test_match"),next:(0,l.K2)(function(){if(this.done)return this.EOF;var t,e,n,a;this._input||(this.done=!0),this._more||(this.yytext="",this.match="");for(var i=this._currentRules(),s=0;s<i.length;s++)if((n=this._input.match(this.rules[i[s]]))&&(!e||n[0].length>e[0].length)){if(e=n,a=s,this.options.backtrack_lexer){if(!1!==(t=this.test_match(n,i[s])))return t;if(this._backtrack){e=!1;continue}return!1}if(!this.options.flex)break}return e?!1!==(t=this.test_match(e,i[a]))&&t:""===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,l.K2)(function(){var t=this.next();return t||this.lex()},"lex"),begin:(0,l.K2)(function(t){this.conditionStack.push(t)},"begin"),popState:(0,l.K2)(function(){return this.conditionStack.length-1>0?this.conditionStack.pop():this.conditionStack[0]},"popState"),_currentRules:(0,l.K2)(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,l.K2)(function(t){return(t=this.conditionStack.length-1-Math.abs(t||0))>=0?this.conditionStack[t]:"INITIAL"},"topState"),pushState:(0,l.K2)(function(t){this.begin(t)},"pushState"),stateStackSize:(0,l.K2)(function(){return this.conditionStack.length},"stateStackSize"),options:{},performAction:(0,l.K2)(function(t,e,n,a){switch(n){case 0:return 6;case 1:return 7;case 2:return 8;case 3:return 9;case 4:return 22;case 5:return 23;case 6:return this.begin("acc_title"),24;case 7:return this.popState(),"acc_title_value";case 8:return this.begin("acc_descr"),26;case 9:return this.popState(),"acc_descr_value";case 10:this.begin("acc_descr_multiline");break;case 11:case 73:this.popState();break;case 12:return"acc_descr_multiline_value";case 13:case 16:case 70:break;case 14:c;break;case 15:return 12;case 17:return 11;case 18:return 15;case 19:return 16;case 20:return 17;case 21:return 18;case 22:return this.begin("person_ext"),45;case 23:return this.begin("person"),44;case 24:return this.begin("system_ext_queue"),51;case 25:return this.begin("system_ext_db"),50;case 26:return this.begin("system_ext"),49;case 27:return this.begin("system_queue"),48;case 28:return this.begin("system_db"),47;case 29:return this.begin("system"),46;case 30:return this.begin("boundary"),37;case 31:return this.begin("enterprise_boundary"),34;case 32:return this.begin("system_boundary"),36;case 33:return this.begin("container_ext_queue"),57;case 34:return this.begin("container_ext_db"),56;case 35:return this.begin("container_ext"),55;case 36:return this.begin("container_queue"),54;case 37:return this.begin("container_db"),53;case 38:return this.begin("container"),52;case 39:return this.begin("container_boundary"),38;case 40:return this.begin("component_ext_queue"),63;case 41:return this.begin("component_ext_db"),62;case 42:return this.begin("component_ext"),61;case 43:return this.begin("component_queue"),60;case 44:return this.begin("component_db"),59;case 45:return this.begin("component"),58;case 46:case 47:return this.begin("node"),39;case 48:return this.begin("node_l"),40;case 49:return this.begin("node_r"),41;case 50:return this.begin("rel"),64;case 51:return this.begin("birel"),65;case 52:case 53:return this.begin("rel_u"),66;case 54:case 55:return this.begin("rel_d"),67;case 56:case 57:return this.begin("rel_l"),68;case 58:case 59:return this.begin("rel_r"),69;case 60:return this.begin("rel_b"),70;case 61:return this.begin("rel_index"),71;case 62:return this.begin("update_el_style"),72;case 63:return this.begin("update_rel_style"),73;case 64:return this.begin("update_layout_config"),74;case 65:return"EOF_IN_STRUCT";case 66:return this.begin("attribute"),"ATTRIBUTE_EMPTY";case 67:this.begin("attribute");break;case 68:case 79:this.popState(),this.popState();break;case 69:case 71:return 80;case 72:this.begin("string");break;case 74:case 80:return"STR";case 75:this.begin("string_kv");break;case 76:return this.begin("string_kv_key"),"STR_KEY";case 77:this.popState(),this.begin("string_kv_value");break;case 78:return"STR_VALUE";case 81:return"LBRACE";case 82:return"RBRACE";case 83:return"SPACE";case 84:return"EOL";case 85:return 14}},"anonymous"),rules:[/^(?:.*direction\s+TB[^\n]*)/,/^(?:.*direction\s+BT[^\n]*)/,/^(?:.*direction\s+RL[^\n]*)/,/^(?:.*direction\s+LR[^\n]*)/,/^(?:title\s[^#\n;]+)/,/^(?:accDescription\s[^#\n;]+)/,/^(?:accTitle\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*:\s*)/,/^(?:(?!\n||)*[^\n]*)/,/^(?:accDescr\s*\{\s*)/,/^(?:[\}])/,/^(?:[^\}]*)/,/^(?:%%(?!\{)*[^\n]*(\r?\n?)+)/,/^(?:%%[^\n]*(\r?\n)*)/,/^(?:\s*(\r?\n)+)/,/^(?:\s+)/,/^(?:C4Context\b)/,/^(?:C4Container\b)/,/^(?:C4Component\b)/,/^(?:C4Dynamic\b)/,/^(?:C4Deployment\b)/,/^(?:Person_Ext\b)/,/^(?:Person\b)/,/^(?:SystemQueue_Ext\b)/,/^(?:SystemDb_Ext\b)/,/^(?:System_Ext\b)/,/^(?:SystemQueue\b)/,/^(?:SystemDb\b)/,/^(?:System\b)/,/^(?:Boundary\b)/,/^(?:Enterprise_Boundary\b)/,/^(?:System_Boundary\b)/,/^(?:ContainerQueue_Ext\b)/,/^(?:ContainerDb_Ext\b)/,/^(?:Container_Ext\b)/,/^(?:ContainerQueue\b)/,/^(?:ContainerDb\b)/,/^(?:Container\b)/,/^(?:Container_Boundary\b)/,/^(?:ComponentQueue_Ext\b)/,/^(?:ComponentDb_Ext\b)/,/^(?:Component_Ext\b)/,/^(?:ComponentQueue\b)/,/^(?:ComponentDb\b)/,/^(?:Component\b)/,/^(?:Deployment_Node\b)/,/^(?:Node\b)/,/^(?:Node_L\b)/,/^(?:Node_R\b)/,/^(?:Rel\b)/,/^(?:BiRel\b)/,/^(?:Rel_Up\b)/,/^(?:Rel_U\b)/,/^(?:Rel_Down\b)/,/^(?:Rel_D\b)/,/^(?:Rel_Left\b)/,/^(?:Rel_L\b)/,/^(?:Rel_Right\b)/,/^(?:Rel_R\b)/,/^(?:Rel_Back\b)/,/^(?:RelIndex\b)/,/^(?:UpdateElementStyle\b)/,/^(?:UpdateRelStyle\b)/,/^(?:UpdateLayoutConfig\b)/,/^(?:$)/,/^(?:[(][ ]*[,])/,/^(?:[(])/,/^(?:[)])/,/^(?:,,)/,/^(?:,)/,/^(?:[ ]*["]["])/,/^(?:[ ]*["])/,/^(?:["])/,/^(?:[^"]*)/,/^(?:[ ]*[\$])/,/^(?:[^=]*)/,/^(?:[=][ ]*["])/,/^(?:[^"]+)/,/^(?:["])/,/^(?:[^,]+)/,/^(?:\{)/,/^(?:\})/,/^(?:[\s]+)/,/^(?:[\n\r]+)/,/^(?:$)/],conditions:{acc_descr_multiline:{rules:[11,12],inclusive:!1},acc_descr:{rules:[9],inclusive:!1},acc_title:{rules:[7],inclusive:!1},string_kv_value:{rules:[78,79],inclusive:!1},string_kv_key:{rules:[77],inclusive:!1},string_kv:{rules:[76],inclusive:!1},string:{rules:[73,74],inclusive:!1},attribute:{rules:[68,69,70,71,72,75,80],inclusive:!1},update_layout_config:{rules:[65,66,67,68],inclusive:!1},update_rel_style:{rules:[65,66,67,68],inclusive:!1},update_el_style:{rules:[65,66,67,68],inclusive:!1},rel_b:{rules:[65,66,67,68],inclusive:!1},rel_r:{rules:[65,66,67,68],inclusive:!1},rel_l:{rules:[65,66,67,68],inclusive:!1},rel_d:{rules:[65,66,67,68],inclusive:!1},rel_u:{rules:[65,66,67,68],inclusive:!1},rel_bi:{rules:[],inclusive:!1},rel:{rules:[65,66,67,68],inclusive:!1},node_r:{rules:[65,66,67,68],inclusive:!1},node_l:{rules:[65,66,67,68],inclusive:!1},node:{rules:[65,66,67,68],inclusive:!1},index:{rules:[],inclusive:!1},rel_index:{rules:[65,66,67,68],inclusive:!1},component_ext_queue:{rules:[65,66,67,68],inclusive:!1},component_ext_db:{rules:[65,66,67,68],inclusive:!1},component_ext:{rules:[65,66,67,68],inclusive:!1},component_queue:{rules:[65,66,67,68],inclusive:!1},component_db:{rules:[65,66,67,68],inclusive:!1},component:{rules:[65,66,67,68],inclusive:!1},container_boundary:{rules:[65,66,67,68],inclusive:!1},container_ext_queue:{rules:[65,66,67,68],inclusive:!1},container_ext_db:{rules:[65,66,67,68],inclusive:!1},container_ext:{rules:[65,66,67,68],inclusive:!1},container_queue:{rules:[65,66,67,68],inclusive:!1},container_db:{rules:[65,66,67,68],inclusive:!1},container:{rules:[65,66,67,68],inclusive:!1},birel:{rules:[65,66,67,68],inclusive:!1},system_boundary:{rules:[65,66,67,68],inclusive:!1},enterprise_boundary:{rules:[65,66,67,68],inclusive:!1},boundary:{rules:[65,66,67,68],inclusive:!1},system_ext_queue:{rules:[65,66,67,68],inclusive:!1},system_ext_db:{rules:[65,66,67,68],inclusive:!1},system_ext:{rules:[65,66,67,68],inclusive:!1},system_queue:{rules:[65,66,67,68],inclusive:!1},system_db:{rules:[65,66,67,68],inclusive:!1},system:{rules:[65,66,67,68],inclusive:!1},person_ext:{rules:[65,66,67,68],inclusive:!1},person:{rules:[65,66,67,68],inclusive:!1},INITIAL:{rules:[0,1,2,3,4,5,6,8,10,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,81,82,83,84,85],inclusive:!0}}}}();function rt(){this.yy={}}return it.lexer=st,(0,l.K2)(rt,"Parser"),rt.prototype=it,it.Parser=rt,new rt}();p.parser=p;var u,y=p,f=[],g=[""],b="global",x="",_=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],m=[],E="",S=!1,A=4,C=2,v=(0,l.K2)(function(){return u},"getC4Type"),w=(0,l.K2)(function(t){let e=(0,o.jZ)(t,(0,o.D7)());u=e},"setC4Type"),k=(0,l.K2)(function(t,e,n,a,i,s,r,o,l){if(void 0===t||null===t||void 0===e||null===e||void 0===n||null===n||void 0===a||null===a)return;let c={};const h=m.find(t=>t.from===e&&t.to===n);if(h?c=h:m.push(c),c.type=t,c.from=e,c.to=n,c.label={text:a},void 0===i||null===i)c.techn={text:""};else if("object"===typeof i){let[t,e]=Object.entries(i)[0];c[t]={text:e}}else c.techn={text:i};if(void 0===s||null===s)c.descr={text:""};else if("object"===typeof s){let[t,e]=Object.entries(s)[0];c[t]={text:e}}else c.descr={text:s};if("object"===typeof r){let[t,e]=Object.entries(r)[0];c[t]=e}else c.sprite=r;if("object"===typeof o){let[t,e]=Object.entries(o)[0];c[t]=e}else c.tags=o;if("object"===typeof l){let[t,e]=Object.entries(l)[0];c[t]=e}else c.link=l;c.wrap=q()},"addRel"),O=(0,l.K2)(function(t,e,n,a,i,s,r){if(null===e||null===n)return;let o={};const l=f.find(t=>t.alias===e);if(l&&e===l.alias?o=l:(o.alias=e,f.push(o)),o.label=void 0===n||null===n?{text:""}:{text:n},void 0===a||null===a)o.descr={text:""};else if("object"===typeof a){let[t,e]=Object.entries(a)[0];o[t]={text:e}}else o.descr={text:a};if("object"===typeof i){let[t,e]=Object.entries(i)[0];o[t]=e}else o.sprite=i;if("object"===typeof s){let[t,e]=Object.entries(s)[0];o[t]=e}else o.tags=s;if("object"===typeof r){let[t,e]=Object.entries(r)[0];o[t]=e}else o.link=r;o.typeC4Shape={text:t},o.parentBoundary=b,o.wrap=q()},"addPersonOrSystem"),T=(0,l.K2)(function(t,e,n,a,i,s,r,o){if(null===e||null===n)return;let l={};const c=f.find(t=>t.alias===e);if(c&&e===c.alias?l=c:(l.alias=e,f.push(l)),l.label=void 0===n||null===n?{text:""}:{text:n},void 0===a||null===a)l.techn={text:""};else if("object"===typeof a){let[t,e]=Object.entries(a)[0];l[t]={text:e}}else l.techn={text:a};if(void 0===i||null===i)l.descr={text:""};else if("object"===typeof i){let[t,e]=Object.entries(i)[0];l[t]={text:e}}else l.descr={text:i};if("object"===typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.sprite=s;if("object"===typeof r){let[t,e]=Object.entries(r)[0];l[t]=e}else l.tags=r;if("object"===typeof o){let[t,e]=Object.entries(o)[0];l[t]=e}else l.link=o;l.wrap=q(),l.typeC4Shape={text:t},l.parentBoundary=b},"addContainer"),R=(0,l.K2)(function(t,e,n,a,i,s,r,o){if(null===e||null===n)return;let l={};const c=f.find(t=>t.alias===e);if(c&&e===c.alias?l=c:(l.alias=e,f.push(l)),l.label=void 0===n||null===n?{text:""}:{text:n},void 0===a||null===a)l.techn={text:""};else if("object"===typeof a){let[t,e]=Object.entries(a)[0];l[t]={text:e}}else l.techn={text:a};if(void 0===i||null===i)l.descr={text:""};else if("object"===typeof i){let[t,e]=Object.entries(i)[0];l[t]={text:e}}else l.descr={text:i};if("object"===typeof s){let[t,e]=Object.entries(s)[0];l[t]=e}else l.sprite=s;if("object"===typeof r){let[t,e]=Object.entries(r)[0];l[t]=e}else l.tags=r;if("object"===typeof o){let[t,e]=Object.entries(o)[0];l[t]=e}else l.link=o;l.wrap=q(),l.typeC4Shape={text:t},l.parentBoundary=b},"addComponent"),D=(0,l.K2)(function(t,e,n,a,i){if(null===t||null===e)return;let s={};const r=_.find(e=>e.alias===t);if(r&&t===r.alias?s=r:(s.alias=t,_.push(s)),s.label=void 0===e||null===e?{text:""}:{text:e},void 0===n||null===n)s.type={text:"system"};else if("object"===typeof n){let[t,e]=Object.entries(n)[0];s[t]={text:e}}else s.type={text:n};if("object"===typeof a){let[t,e]=Object.entries(a)[0];s[t]=e}else s.tags=a;if("object"===typeof i){let[t,e]=Object.entries(i)[0];s[t]=e}else s.link=i;s.parentBoundary=b,s.wrap=q(),x=b,b=t,g.push(x)},"addPersonOrSystemBoundary"),N=(0,l.K2)(function(t,e,n,a,i){if(null===t||null===e)return;let s={};const r=_.find(e=>e.alias===t);if(r&&t===r.alias?s=r:(s.alias=t,_.push(s)),s.label=void 0===e||null===e?{text:""}:{text:e},void 0===n||null===n)s.type={text:"container"};else if("object"===typeof n){let[t,e]=Object.entries(n)[0];s[t]={text:e}}else s.type={text:n};if("object"===typeof a){let[t,e]=Object.entries(a)[0];s[t]=e}else s.tags=a;if("object"===typeof i){let[t,e]=Object.entries(i)[0];s[t]=e}else s.link=i;s.parentBoundary=b,s.wrap=q(),x=b,b=t,g.push(x)},"addContainerBoundary"),P=(0,l.K2)(function(t,e,n,a,i,s,r,o){if(null===e||null===n)return;let l={};const c=_.find(t=>t.alias===e);if(c&&e===c.alias?l=c:(l.alias=e,_.push(l)),l.label=void 0===n||null===n?{text:""}:{text:n},void 0===a||null===a)l.type={text:"node"};else if("object"===typeof a){let[t,e]=Object.entries(a)[0];l[t]={text:e}}else l.type={text:a};if(void 0===i||null===i)l.descr={text:""};else if("object"===typeof i){let[t,e]=Object.entries(i)[0];l[t]={text:e}}else l.descr={text:i};if("object"===typeof r){let[t,e]=Object.entries(r)[0];l[t]=e}else l.tags=r;if("object"===typeof o){let[t,e]=Object.entries(o)[0];l[t]=e}else l.link=o;l.nodeType=t,l.parentBoundary=b,l.wrap=q(),x=b,b=e,g.push(x)},"addDeploymentNode"),B=(0,l.K2)(function(){b=x,g.pop(),x=g.pop(),g.push(x)},"popBoundaryParseStack"),I=(0,l.K2)(function(t,e,n,a,i,s,r,o,l,c,h){let d=f.find(t=>t.alias===e);if(void 0!==d||(d=_.find(t=>t.alias===e),void 0!==d)){if(void 0!==n&&null!==n)if("object"===typeof n){let[t,e]=Object.entries(n)[0];d[t]=e}else d.bgColor=n;if(void 0!==a&&null!==a)if("object"===typeof a){let[t,e]=Object.entries(a)[0];d[t]=e}else d.fontColor=a;if(void 0!==i&&null!==i)if("object"===typeof i){let[t,e]=Object.entries(i)[0];d[t]=e}else d.borderColor=i;if(void 0!==s&&null!==s)if("object"===typeof s){let[t,e]=Object.entries(s)[0];d[t]=e}else d.shadowing=s;if(void 0!==r&&null!==r)if("object"===typeof r){let[t,e]=Object.entries(r)[0];d[t]=e}else d.shape=r;if(void 0!==o&&null!==o)if("object"===typeof o){let[t,e]=Object.entries(o)[0];d[t]=e}else d.sprite=o;if(void 0!==l&&null!==l)if("object"===typeof l){let[t,e]=Object.entries(l)[0];d[t]=e}else d.techn=l;if(void 0!==c&&null!==c)if("object"===typeof c){let[t,e]=Object.entries(c)[0];d[t]=e}else d.legendText=c;if(void 0!==h&&null!==h)if("object"===typeof h){let[t,e]=Object.entries(h)[0];d[t]=e}else d.legendSprite=h}},"updateElStyle"),M=(0,l.K2)(function(t,e,n,a,i,s,r){const o=m.find(t=>t.from===e&&t.to===n);if(void 0!==o){if(void 0!==a&&null!==a)if("object"===typeof a){let[t,e]=Object.entries(a)[0];o[t]=e}else o.textColor=a;if(void 0!==i&&null!==i)if("object"===typeof i){let[t,e]=Object.entries(i)[0];o[t]=e}else o.lineColor=i;if(void 0!==s&&null!==s)if("object"===typeof s){let[t,e]=Object.entries(s)[0];o[t]=parseInt(e)}else o.offsetX=parseInt(s);if(void 0!==r&&null!==r)if("object"===typeof r){let[t,e]=Object.entries(r)[0];o[t]=parseInt(e)}else o.offsetY=parseInt(r)}},"updateRelStyle"),j=(0,l.K2)(function(t,e,n){let a=A,i=C;if("object"===typeof e){const t=Object.values(e)[0];a=parseInt(t)}else a=parseInt(e);if("object"===typeof n){const t=Object.values(n)[0];i=parseInt(t)}else i=parseInt(n);a>=1&&(A=a),i>=1&&(C=i)},"updateLayoutConfig"),K=(0,l.K2)(function(){return A},"getC4ShapeInRow"),L=(0,l.K2)(function(){return C},"getC4BoundaryInRow"),Y=(0,l.K2)(function(){return b},"getCurrentBoundaryParse"),U=(0,l.K2)(function(){return x},"getParentBoundaryParse"),F=(0,l.K2)(function(t){return void 0===t||null===t?f:f.filter(e=>e.parentBoundary===t)},"getC4ShapeArray"),X=(0,l.K2)(function(t){return f.find(e=>e.alias===t)},"getC4Shape"),z=(0,l.K2)(function(t){return Object.keys(F(t))},"getC4ShapeKeys"),W=(0,l.K2)(function(t){return void 0===t||null===t?_:_.filter(e=>e.parentBoundary===t)},"getBoundaries"),Q=W,$=(0,l.K2)(function(){return m},"getRels"),H=(0,l.K2)(function(){return E},"getTitle"),V=(0,l.K2)(function(t){S=t},"setWrap"),q=(0,l.K2)(function(){return S},"autoWrap"),G=(0,l.K2)(function(){f=[],_=[{alias:"global",label:{text:"global"},type:{text:"global"},tags:null,link:null,parentBoundary:""}],x="",b="global",g=[""],m=[],g=[""],E="",S=!1,A=4,C=2},"clear"),J=(0,l.K2)(function(t){let e=(0,o.jZ)(t,(0,o.D7)());E=e},"setTitle"),Z={addPersonOrSystem:O,addPersonOrSystemBoundary:D,addContainer:T,addContainerBoundary:N,addComponent:R,addDeploymentNode:P,popBoundaryParseStack:B,addRel:k,updateElStyle:I,updateRelStyle:M,updateLayoutConfig:j,autoWrap:q,setWrap:V,getC4ShapeArray:F,getC4Shape:X,getC4ShapeKeys:z,getBoundaries:W,getBoundarys:Q,getCurrentBoundaryParse:Y,getParentBoundaryParse:U,getRels:$,getTitle:H,getC4Type:v,getC4ShapeInRow:K,getC4BoundaryInRow:L,setAccTitle:o.SV,getAccTitle:o.iN,getAccDescription:o.m7,setAccDescription:o.EI,getConfig:(0,l.K2)(()=>(0,o.D7)().c4,"getConfig"),clear:G,LINETYPE:{SOLID:0,DOTTED:1,NOTE:2,SOLID_CROSS:3,DOTTED_CROSS:4,SOLID_OPEN:5,DOTTED_OPEN:6,LOOP_START:10,LOOP_END:11,ALT_START:12,ALT_ELSE:13,ALT_END:14,OPT_START:15,OPT_END:16,ACTIVE_START:17,ACTIVE_END:18,PAR_START:19,PAR_AND:20,PAR_END:21,RECT_START:22,RECT_END:23,SOLID_POINT:24,DOTTED_POINT:25},ARROWTYPE:{FILLED:0,OPEN:1},PLACEMENT:{LEFTOF:0,RIGHTOF:1,OVER:2},setTitle:J,setC4Type:w},tt=(0,l.K2)(function(t,e){return(0,s.tk)(t,e)},"drawRect"),et=(0,l.K2)(function(t,e,n,a,i,s){const r=t.append("image");r.attr("width",e),r.attr("height",n),r.attr("x",a),r.attr("y",i);let o=s.startsWith("data:image/png;base64")?s:(0,d.J)(s);r.attr("xlink:href",o)},"drawImage"),nt=(0,l.K2)((t,e,n,a)=>{const i=t.append("g");let s=0;for(let r of e){let t=r.textColor?r.textColor:"#444444",e=r.lineColor?r.lineColor:"#444444",o=r.offsetX?parseInt(r.offsetX):0,l=r.offsetY?parseInt(r.offsetY):0,c="";if(0===s){let t=i.append("line");t.attr("x1",r.startPoint.x),t.attr("y1",r.startPoint.y),t.attr("x2",r.endPoint.x),t.attr("y2",r.endPoint.y),t.attr("stroke-width","1"),t.attr("stroke",e),t.style("fill","none"),"rel_b"!==r.type&&t.attr("marker-end","url("+c+"#"+a+"-arrowhead)"),"birel"!==r.type&&"rel_b"!==r.type||t.attr("marker-start","url("+c+"#"+a+"-arrowend)"),s=-1}else{let t=i.append("path");t.attr("fill","none").attr("stroke-width","1").attr("stroke",e).attr("d","Mstartx,starty Qcontrolx,controly stopx,stopy ".replaceAll("startx",r.startPoint.x).replaceAll("starty",r.startPoint.y).replaceAll("controlx",r.startPoint.x+(r.endPoint.x-r.startPoint.x)/2-(r.endPoint.x-r.startPoint.x)/4).replaceAll("controly",r.startPoint.y+(r.endPoint.y-r.startPoint.y)/2).replaceAll("stopx",r.endPoint.x).replaceAll("stopy",r.endPoint.y)),"rel_b"!==r.type&&t.attr("marker-end","url("+c+"#"+a+"-arrowhead)"),"birel"!==r.type&&"rel_b"!==r.type||t.attr("marker-start","url("+c+"#"+a+"-arrowend)")}let h=n.messageFont();ut(n)(r.label.text,i,Math.min(r.startPoint.x,r.endPoint.x)+Math.abs(r.endPoint.x-r.startPoint.x)/2+o,Math.min(r.startPoint.y,r.endPoint.y)+Math.abs(r.endPoint.y-r.startPoint.y)/2+l,r.label.width,r.label.height,{fill:t},h),r.techn&&""!==r.techn.text&&(h=n.messageFont(),ut(n)("["+r.techn.text+"]",i,Math.min(r.startPoint.x,r.endPoint.x)+Math.abs(r.endPoint.x-r.startPoint.x)/2+o,Math.min(r.startPoint.y,r.endPoint.y)+Math.abs(r.endPoint.y-r.startPoint.y)/2+n.messageFontSize+5+l,Math.max(r.label.width,r.techn.width),r.techn.height,{fill:t,"font-style":"italic"},h))}},"drawRels"),at=(0,l.K2)(function(t,e,n){const a=t.append("g");let i=e.bgColor?e.bgColor:"none",s=e.borderColor?e.borderColor:"#444444",r=e.fontColor?e.fontColor:"black",o={"stroke-width":1,"stroke-dasharray":"7.0,7.0"};e.nodeType&&(o={"stroke-width":1});let l={x:e.x,y:e.y,fill:i,stroke:s,width:e.width,height:e.height,rx:2.5,ry:2.5,attrs:o};tt(a,l);let c=n.boundaryFont();c.fontWeight="bold",c.fontSize=c.fontSize+2,c.fontColor=r,ut(n)(e.label.text,a,e.x,e.y+e.label.Y,e.width,e.height,{fill:"#444444"},c),e.type&&""!==e.type.text&&(c=n.boundaryFont(),c.fontColor=r,ut(n)(e.type.text,a,e.x,e.y+e.type.Y,e.width,e.height,{fill:"#444444"},c)),e.descr&&""!==e.descr.text&&(c=n.boundaryFont(),c.fontSize=c.fontSize-2,c.fontColor=r,ut(n)(e.descr.text,a,e.x,e.y+e.descr.Y,e.width,e.height,{fill:"#444444"},c))},"drawBoundary"),it=(0,l.K2)(function(t,e,n){var a;let i=e.bgColor?e.bgColor:n[e.typeC4Shape.text+"_bg_color"],r=e.borderColor?e.borderColor:n[e.typeC4Shape.text+"_border_color"],o=e.fontColor?e.fontColor:"#FFFFFF",l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";switch(e.typeC4Shape.text){case"person":l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAACD0lEQVR4Xu2YoU4EMRCGT+4j8Ai8AhaH4QHgAUjQuFMECUgMIUgwJAgMhgQsAYUiJCiQIBBY+EITsjfTdme6V24v4c8vyGbb+ZjOtN0bNcvjQXmkH83WvYBWto6PLm6v7p7uH1/w2fXD+PBycX1Pv2l3IdDm/vn7x+dXQiAubRzoURa7gRZWd0iGRIiJbOnhnfYBQZNJjNbuyY2eJG8fkDE3bbG4ep6MHUAsgYxmE3nVs6VsBWJSGccsOlFPmLIViMzLOB7pCVO2AtHJMohH7Fh6zqitQK7m0rJvAVYgGcEpe//PLdDz65sM4pF9N7ICcXDKIB5Nv6j7tD0NoSdM2QrU9Gg0ewE1LqBhHR3BBdvj2vapnidjHxD/q6vd7Pvhr31AwcY8eXMTXAKECZZJFXuEq27aLgQK5uLMohCenGGuGewOxSjBvYBqeG6B+Nqiblggdjnc+ZXDy+FNFpFzw76O3UBAROuXh6FoiAcf5g9eTvUgzy0nWg6I8cXHRUpg5bOVBCo+KDpFajOf23GgPme7RSQ+lacIENUgJ6gg1k6HjgOlqnLqip4tEuhv0hNEMXUD0clyXE3p6pZA0S2nnvTlXwLJEZWlb7cTQH1+USgTN4VhAenm/wea1OCAOmqo6fE1WCb9WSKBah+rbUWPWAmE2Rvk0ApiB45eOyNAzU8xcTvj8KvkKEoOaIYeHNA3ZuygAvFMUO0AAAAASUVORK5CYII=";break;case"external_person":l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAIAAADYYG7QAAAB6ElEQVR4Xu2YLY+EMBCG9+dWr0aj0Wg0Go1Go0+j8Xdv2uTCvv1gpt0ebHKPuhDaeW4605Z9mJvx4AdXUyTUdd08z+u6flmWZRnHsWkafk9DptAwDPu+f0eAYtu2PEaGWuj5fCIZrBAC2eLBAnRCsEkkxmeaJp7iDJ2QMDdHsLg8SxKFEJaAo8lAXnmuOFIhTMpxxKATebo4UiFknuNo4OniSIXQyRxEA3YsnjGCVEjVXD7yLUAqxBGUyPv/Y4W2beMgGuS7kVQIBycH0fD+oi5pezQETxdHKmQKGk1eQEYldK+jw5GxPfZ9z7Mk0Qnhf1W1m3w//EUn5BDmSZsbR44QQLBEqrBHqOrmSKaQAxdnLArCrxZcM7A7ZKs4ioRq8LFC+NpC3WCBJsvpVw5edm9iEXFuyNfxXAgSwfrFQ1c0iNda8AdejvUgnktOtJQQxmcfFzGglc5WVCj7oDgFqU18boeFSs52CUh8LE8BIVQDT1ABrB0HtgSEYlX5doJnCwv9TXocKCaKbnwhdDKPq4lf3SwU3HLq4V/+WYhHVMa/3b4IlfyikAduCkcBc7mQ3/z/Qq/cTuikhkzB12Ae/mcJC9U+Vo8Ej1gWAtgbeGgFsAMHr50BIWOLCbezvhpBFUdY6EJuJ/QDW0XoMX60zZ0AAAAASUVORK5CYII="}const c=t.append("g");c.attr("class","person-man");const h=(0,s.PB)();switch(e.typeC4Shape.text){case"person":case"external_person":case"system":case"external_system":case"container":case"external_container":case"component":case"external_component":h.x=e.x,h.y=e.y,h.fill=i,h.width=e.width,h.height=e.height,h.stroke=r,h.rx=2.5,h.ry=2.5,h.attrs={"stroke-width":.5},tt(c,h);break;case"system_db":case"external_system_db":case"container_db":case"external_container_db":case"component_db":case"external_component_db":c.append("path").attr("fill",i).attr("stroke-width","0.5").attr("stroke",r).attr("d","Mstartx,startyc0,-10 half,-10 half,-10c0,0 half,0 half,10l0,heightc0,10 -half,10 -half,10c0,0 -half,0 -half,-10l0,-height".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2).replaceAll("height",e.height)),c.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",r).attr("d","Mstartx,startyc0,10 half,10 half,10c0,0 half,0 half,-10".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("half",e.width/2));break;case"system_queue":case"external_system_queue":case"container_queue":case"external_container_queue":case"component_queue":case"external_component_queue":c.append("path").attr("fill",i).attr("stroke-width","0.5").attr("stroke",r).attr("d","Mstartx,startylwidth,0c5,0 5,half 5,halfc0,0 0,half -5,halfl-width,0c-5,0 -5,-half -5,-halfc0,0 0,-half 5,-half".replaceAll("startx",e.x).replaceAll("starty",e.y).replaceAll("width",e.width).replaceAll("half",e.height/2)),c.append("path").attr("fill","none").attr("stroke-width","0.5").attr("stroke",r).attr("d","Mstartx,startyc-5,0 -5,half -5,halfc0,half 5,half 5,half".replaceAll("startx",e.x+e.width).replaceAll("starty",e.y).replaceAll("half",e.height/2))}let d=pt(n,e.typeC4Shape.text);switch(c.append("text").attr("fill",o).attr("font-family",d.fontFamily).attr("font-size",d.fontSize-2).attr("font-style","italic").attr("lengthAdjust","spacing").attr("textLength",e.typeC4Shape.width).attr("x",e.x+e.width/2-e.typeC4Shape.width/2).attr("y",e.y+e.typeC4Shape.Y).text("<<"+e.typeC4Shape.text+">>"),e.typeC4Shape.text){case"person":case"external_person":et(c,48,48,e.x+e.width/2-24,e.y+e.image.Y,l)}let p=n[e.typeC4Shape.text+"Font"]();return p.fontWeight="bold",p.fontSize=p.fontSize+2,p.fontColor=o,ut(n)(e.label.text,c,e.x,e.y+e.label.Y,e.width,e.height,{fill:o},p),p=n[e.typeC4Shape.text+"Font"](),p.fontColor=o,e.techn&&""!==(null===(a=e.techn)||void 0===a?void 0:a.text)?ut(n)(e.techn.text,c,e.x,e.y+e.techn.Y,e.width,e.height,{fill:o,"font-style":"italic"},p):e.type&&""!==e.type.text&&ut(n)(e.type.text,c,e.x,e.y+e.type.Y,e.width,e.height,{fill:o,"font-style":"italic"},p),e.descr&&""!==e.descr.text&&(p=n.personFont(),p.fontColor=o,ut(n)(e.descr.text,c,e.x,e.y+e.descr.Y,e.width,e.height,{fill:o},p)),e.height},"drawC4Shape"),st=(0,l.K2)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-database").attr("fill-rule","evenodd").attr("clip-rule","evenodd").append("path").attr("transform","scale(.5)").attr("d","M12.258.001l.256.004.255.005.253.008.251.01.249.012.247.015.246.016.242.019.241.02.239.023.236.024.233.027.231.028.229.031.225.032.223.034.22.036.217.038.214.04.211.041.208.043.205.045.201.046.198.048.194.05.191.051.187.053.183.054.18.056.175.057.172.059.168.06.163.061.16.063.155.064.15.066.074.033.073.033.071.034.07.034.069.035.068.035.067.035.066.035.064.036.064.036.062.036.06.036.06.037.058.037.058.037.055.038.055.038.053.038.052.038.051.039.05.039.048.039.047.039.045.04.044.04.043.04.041.04.04.041.039.041.037.041.036.041.034.041.033.042.032.042.03.042.029.042.027.042.026.043.024.043.023.043.021.043.02.043.018.044.017.043.015.044.013.044.012.044.011.045.009.044.007.045.006.045.004.045.002.045.001.045v17l-.001.045-.002.045-.004.045-.006.045-.007.045-.009.044-.011.045-.012.044-.013.044-.015.044-.017.043-.018.044-.02.043-.021.043-.023.043-.024.043-.026.043-.027.042-.029.042-.03.042-.032.042-.033.042-.034.041-.036.041-.037.041-.039.041-.04.041-.041.04-.043.04-.044.04-.045.04-.047.039-.048.039-.05.039-.051.039-.052.038-.053.038-.055.038-.055.038-.058.037-.058.037-.06.037-.06.036-.062.036-.064.036-.064.036-.066.035-.067.035-.068.035-.069.035-.07.034-.071.034-.073.033-.074.033-.15.066-.155.064-.16.063-.163.061-.168.06-.172.059-.175.057-.18.056-.183.054-.187.053-.191.051-.194.05-.198.048-.201.046-.205.045-.208.043-.211.041-.214.04-.217.038-.22.036-.223.034-.225.032-.229.031-.231.028-.233.027-.236.024-.239.023-.241.02-.242.019-.246.016-.247.015-.249.012-.251.01-.253.008-.255.005-.256.004-.258.001-.258-.001-.256-.004-.255-.005-.253-.008-.251-.01-.249-.012-.247-.015-.245-.016-.243-.019-.241-.02-.238-.023-.236-.024-.234-.027-.231-.028-.228-.031-.226-.032-.223-.034-.22-.036-.217-.038-.214-.04-.211-.041-.208-.043-.204-.045-.201-.046-.198-.048-.195-.05-.19-.051-.187-.053-.184-.054-.179-.056-.176-.057-.172-.059-.167-.06-.164-.061-.159-.063-.155-.064-.151-.066-.074-.033-.072-.033-.072-.034-.07-.034-.069-.035-.068-.035-.067-.035-.066-.035-.064-.036-.063-.036-.062-.036-.061-.036-.06-.037-.058-.037-.057-.037-.056-.038-.055-.038-.053-.038-.052-.038-.051-.039-.049-.039-.049-.039-.046-.039-.046-.04-.044-.04-.043-.04-.041-.04-.04-.041-.039-.041-.037-.041-.036-.041-.034-.041-.033-.042-.032-.042-.03-.042-.029-.042-.027-.042-.026-.043-.024-.043-.023-.043-.021-.043-.02-.043-.018-.044-.017-.043-.015-.044-.013-.044-.012-.044-.011-.045-.009-.044-.007-.045-.006-.045-.004-.045-.002-.045-.001-.045v-17l.001-.045.002-.045.004-.045.006-.045.007-.045.009-.044.011-.045.012-.044.013-.044.015-.044.017-.043.018-.044.02-.043.021-.043.023-.043.024-.043.026-.043.027-.042.029-.042.03-.042.032-.042.033-.042.034-.041.036-.041.037-.041.039-.041.04-.041.041-.04.043-.04.044-.04.046-.04.046-.039.049-.039.049-.039.051-.039.052-.038.053-.038.055-.038.056-.038.057-.037.058-.037.06-.037.061-.036.062-.036.063-.036.064-.036.066-.035.067-.035.068-.035.069-.035.07-.034.072-.034.072-.033.074-.033.151-.066.155-.064.159-.063.164-.061.167-.06.172-.059.176-.057.179-.056.184-.054.187-.053.19-.051.195-.05.198-.048.201-.046.204-.045.208-.043.211-.041.214-.04.217-.038.22-.036.223-.034.226-.032.228-.031.231-.028.234-.027.236-.024.238-.023.241-.02.243-.019.245-.016.247-.015.249-.012.251-.01.253-.008.255-.005.256-.004.258-.001.258.001zm-9.258 20.499v.01l.001.021.003.021.004.022.005.021.006.022.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.023.018.024.019.024.021.024.022.025.023.024.024.025.052.049.056.05.061.051.066.051.07.051.075.051.079.052.084.052.088.052.092.052.097.052.102.051.105.052.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.048.144.049.147.047.152.047.155.047.16.045.163.045.167.043.171.043.176.041.178.041.183.039.187.039.19.037.194.035.197.035.202.033.204.031.209.03.212.029.216.027.219.025.222.024.226.021.23.02.233.018.236.016.24.015.243.012.246.01.249.008.253.005.256.004.259.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.021.224-.024.22-.026.216-.027.212-.028.21-.031.205-.031.202-.034.198-.034.194-.036.191-.037.187-.039.183-.04.179-.04.175-.042.172-.043.168-.044.163-.045.16-.046.155-.046.152-.047.148-.048.143-.049.139-.049.136-.05.131-.05.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.053.083-.051.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.05.023-.024.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.023.01-.022.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.127l-.077.055-.08.053-.083.054-.085.053-.087.052-.09.052-.093.051-.095.05-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.045-.118.044-.12.043-.122.042-.124.042-.126.041-.128.04-.13.04-.132.038-.134.038-.135.037-.138.037-.139.035-.142.035-.143.034-.144.033-.147.032-.148.031-.15.03-.151.03-.153.029-.154.027-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.01-.179.008-.179.008-.181.006-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.006-.179-.008-.179-.008-.178-.01-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.027-.153-.029-.151-.03-.15-.03-.148-.031-.146-.032-.145-.033-.143-.034-.141-.035-.14-.035-.137-.037-.136-.037-.134-.038-.132-.038-.13-.04-.128-.04-.126-.041-.124-.042-.122-.042-.12-.044-.117-.043-.116-.045-.113-.045-.112-.046-.109-.047-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.05-.093-.052-.09-.051-.087-.052-.085-.053-.083-.054-.08-.054-.077-.054v4.127zm0-5.654v.011l.001.021.003.021.004.021.005.022.006.022.007.022.009.022.01.022.011.023.012.023.013.023.015.024.016.023.017.024.018.024.019.024.021.024.022.024.023.025.024.024.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.052.11.051.114.051.119.052.123.05.127.051.131.05.135.049.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.044.171.042.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.022.23.02.233.018.236.016.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.012.241-.015.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.048.139-.05.136-.049.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.051.051-.049.023-.025.023-.024.021-.025.02-.024.019-.024.018-.024.017-.024.015-.023.014-.023.013-.024.012-.022.01-.023.01-.023.008-.022.006-.022.006-.022.004-.021.004-.022.001-.021.001-.021v-4.139l-.077.054-.08.054-.083.054-.085.052-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.049-.105.048-.106.047-.109.047-.111.046-.114.045-.115.044-.118.044-.12.044-.122.042-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.035-.143.033-.144.033-.147.033-.148.031-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.025-.161.024-.162.023-.163.022-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.011-.178.009-.179.009-.179.007-.181.007-.182.005-.182.004-.184.003-.184.002h-.37l-.184-.002-.184-.003-.182-.004-.182-.005-.181-.007-.179-.007-.179-.009-.178-.009-.176-.011-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.022-.162-.023-.161-.024-.159-.025-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.031-.146-.033-.145-.033-.143-.033-.141-.035-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.04-.126-.041-.124-.042-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.047-.105-.048-.102-.049-.1-.049-.097-.05-.095-.051-.093-.051-.09-.051-.087-.053-.085-.052-.083-.054-.08-.054-.077-.054v4.139zm0-5.666v.011l.001.02.003.022.004.021.005.022.006.021.007.022.009.023.01.022.011.023.012.023.013.023.015.023.016.024.017.024.018.023.019.024.021.025.022.024.023.024.024.025.052.05.056.05.061.05.066.051.07.051.075.052.079.051.084.052.088.052.092.052.097.052.102.052.105.051.11.052.114.051.119.051.123.051.127.05.131.05.135.05.139.049.144.048.147.048.152.047.155.046.16.045.163.045.167.043.171.043.176.042.178.04.183.04.187.038.19.037.194.036.197.034.202.033.204.032.209.03.212.028.216.027.219.025.222.024.226.021.23.02.233.018.236.017.24.014.243.012.246.01.249.008.253.006.256.003.259.001.26-.001.257-.003.254-.006.25-.008.247-.01.244-.013.241-.014.237-.016.233-.018.231-.02.226-.022.224-.024.22-.025.216-.027.212-.029.21-.03.205-.032.202-.033.198-.035.194-.036.191-.037.187-.039.183-.039.179-.041.175-.042.172-.043.168-.044.163-.045.16-.045.155-.047.152-.047.148-.048.143-.049.139-.049.136-.049.131-.051.126-.05.123-.051.118-.052.114-.051.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.052.07-.051.065-.051.06-.051.056-.05.051-.049.023-.025.023-.025.021-.024.02-.024.019-.024.018-.024.017-.024.015-.023.014-.024.013-.023.012-.023.01-.022.01-.023.008-.022.006-.022.006-.022.004-.022.004-.021.001-.021.001-.021v-4.153l-.077.054-.08.054-.083.053-.085.053-.087.053-.09.051-.093.051-.095.051-.097.05-.1.049-.102.048-.105.048-.106.048-.109.046-.111.046-.114.046-.115.044-.118.044-.12.043-.122.043-.124.042-.126.041-.128.04-.13.039-.132.039-.134.038-.135.037-.138.036-.139.036-.142.034-.143.034-.144.033-.147.032-.148.032-.15.03-.151.03-.153.028-.154.028-.156.027-.158.026-.159.024-.161.024-.162.023-.163.023-.165.021-.166.02-.167.019-.169.018-.169.017-.171.016-.173.015-.173.014-.175.013-.175.012-.177.01-.178.01-.179.009-.179.007-.181.006-.182.006-.182.004-.184.003-.184.001-.185.001-.185-.001-.184-.001-.184-.003-.182-.004-.182-.006-.181-.006-.179-.007-.179-.009-.178-.01-.176-.01-.176-.012-.175-.013-.173-.014-.172-.015-.171-.016-.17-.017-.169-.018-.167-.019-.166-.02-.165-.021-.163-.023-.162-.023-.161-.024-.159-.024-.157-.026-.156-.027-.155-.028-.153-.028-.151-.03-.15-.03-.148-.032-.146-.032-.145-.033-.143-.034-.141-.034-.14-.036-.137-.036-.136-.037-.134-.038-.132-.039-.13-.039-.128-.041-.126-.041-.124-.041-.122-.043-.12-.043-.117-.044-.116-.044-.113-.046-.112-.046-.109-.046-.106-.048-.105-.048-.102-.048-.1-.05-.097-.049-.095-.051-.093-.051-.09-.052-.087-.052-.085-.053-.083-.053-.08-.054-.077-.054v4.153zm8.74-8.179l-.257.004-.254.005-.25.008-.247.011-.244.012-.241.014-.237.016-.233.018-.231.021-.226.022-.224.023-.22.026-.216.027-.212.028-.21.031-.205.032-.202.033-.198.034-.194.036-.191.038-.187.038-.183.04-.179.041-.175.042-.172.043-.168.043-.163.045-.16.046-.155.046-.152.048-.148.048-.143.048-.139.049-.136.05-.131.05-.126.051-.123.051-.118.051-.114.052-.11.052-.106.052-.101.052-.096.052-.092.052-.088.052-.083.052-.079.052-.074.051-.07.052-.065.051-.06.05-.056.05-.051.05-.023.025-.023.024-.021.024-.02.025-.019.024-.018.024-.017.023-.015.024-.014.023-.013.023-.012.023-.01.023-.01.022-.008.022-.006.023-.006.021-.004.022-.004.021-.001.021-.001.021.001.021.001.021.004.021.004.022.006.021.006.023.008.022.01.022.01.023.012.023.013.023.014.023.015.024.017.023.018.024.019.024.02.025.021.024.023.024.023.025.051.05.056.05.06.05.065.051.07.052.074.051.079.052.083.052.088.052.092.052.096.052.101.052.106.052.11.052.114.052.118.051.123.051.126.051.131.05.136.05.139.049.143.048.148.048.152.048.155.046.16.046.163.045.168.043.172.043.175.042.179.041.183.04.187.038.191.038.194.036.198.034.202.033.205.032.21.031.212.028.216.027.22.026.224.023.226.022.231.021.233.018.237.016.241.014.244.012.247.011.25.008.254.005.257.004.26.001.26-.001.257-.004.254-.005.25-.008.247-.011.244-.012.241-.014.237-.016.233-.018.231-.021.226-.022.224-.023.22-.026.216-.027.212-.028.21-.031.205-.032.202-.033.198-.034.194-.036.191-.038.187-.038.183-.04.179-.041.175-.042.172-.043.168-.043.163-.045.16-.046.155-.046.152-.048.148-.048.143-.048.139-.049.136-.05.131-.05.126-.051.123-.051.118-.051.114-.052.11-.052.106-.052.101-.052.096-.052.092-.052.088-.052.083-.052.079-.052.074-.051.07-.052.065-.051.06-.05.056-.05.051-.05.023-.025.023-.024.021-.024.02-.025.019-.024.018-.024.017-.023.015-.024.014-.023.013-.023.012-.023.01-.023.01-.022.008-.022.006-.023.006-.021.004-.022.004-.021.001-.021.001-.021-.001-.021-.001-.021-.004-.021-.004-.022-.006-.021-.006-.023-.008-.022-.01-.022-.01-.023-.012-.023-.013-.023-.014-.023-.015-.024-.017-.023-.018-.024-.019-.024-.02-.025-.021-.024-.023-.024-.023-.025-.051-.05-.056-.05-.06-.05-.065-.051-.07-.052-.074-.051-.079-.052-.083-.052-.088-.052-.092-.052-.096-.052-.101-.052-.106-.052-.11-.052-.114-.052-.118-.051-.123-.051-.126-.051-.131-.05-.136-.05-.139-.049-.143-.048-.148-.048-.152-.048-.155-.046-.16-.046-.163-.045-.168-.043-.172-.043-.175-.042-.179-.041-.183-.04-.187-.038-.191-.038-.194-.036-.198-.034-.202-.033-.205-.032-.21-.031-.212-.028-.216-.027-.22-.026-.224-.023-.226-.022-.231-.021-.233-.018-.237-.016-.241-.014-.244-.012-.247-.011-.25-.008-.254-.005-.257-.004-.26-.001-.26.001z")},"insertDatabaseIcon"),rt=(0,l.K2)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-computer").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M2 2v13h20v-13h-20zm18 11h-16v-9h16v9zm-10.228 6l.466-1h3.524l.467 1h-4.457zm14.228 3h-24l2-6h2.104l-1.33 4h18.45l-1.297-4h2.073l2 6zm-5-10h-14v-7h14v7z")},"insertComputerIcon"),ot=(0,l.K2)(function(t,e){t.append("defs").append("symbol").attr("id",e+"-clock").attr("width","24").attr("height","24").append("path").attr("transform","scale(.5)").attr("d","M12 2c5.514 0 10 4.486 10 10s-4.486 10-10 10-10-4.486-10-10 4.486-10 10-10zm0-2c-6.627 0-12 5.373-12 12s5.373 12 12 12 12-5.373 12-12-5.373-12-12-12zm5.848 12.459c.202.038.202.333.001.372-1.907.361-6.045 1.111-6.547 1.111-.719 0-1.301-.582-1.301-1.301 0-.512.77-5.447 1.125-7.445.034-.192.312-.181.343.014l.985 6.238 5.394 1.011z")},"insertClockIcon"),lt=(0,l.K2)(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowhead").attr("refX",9).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")},"insertArrowHead"),ct=(0,l.K2)(function(t,e){t.append("defs").append("marker").attr("id",e+"-arrowend").attr("refX",1).attr("refY",5).attr("markerUnits","userSpaceOnUse").attr("markerWidth",12).attr("markerHeight",12).attr("orient","auto").append("path").attr("d","M 10 0 L 0 5 L 10 10 z")},"insertArrowEnd"),ht=(0,l.K2)(function(t,e){t.append("defs").append("marker").attr("id",e+"-filled-head").attr("refX",18).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")},"insertArrowFilledHead"),dt=(0,l.K2)(function(t,e){const n=t.append("defs").append("marker").attr("id",e+"-crosshead").attr("markerWidth",15).attr("markerHeight",8).attr("orient","auto").attr("refX",16).attr("refY",4);n.append("path").attr("fill","black").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 9,2 V 6 L16,4 Z"),n.append("path").attr("fill","none").attr("stroke","#000000").style("stroke-dasharray","0, 0").attr("stroke-width","1px").attr("d","M 0,1 L 6,7 M 6,1 L 0,7")},"insertArrowCrossHead"),pt=(0,l.K2)((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"getC4ShapeFont"),ut=function(){function t(t,e,n,i,s,r,o){a(e.append("text").attr("x",n+s/2).attr("y",i+r/2+5).style("text-anchor","middle").text(t),o)}function e(t,e,n,i,s,r,l,c){const{fontSize:h,fontFamily:d,fontWeight:p}=c,u=t.split(o.Y2.lineBreakRegex);for(let o=0;o<u.length;o++){const t=o*h-h*(u.length-1)/2,r=e.append("text").attr("x",n+s/2).attr("y",i).style("text-anchor","middle").attr("dominant-baseline","middle").style("font-size",h).style("font-weight",p).style("font-family",d);r.append("tspan").attr("dy",t).text(u[o]).attr("alignment-baseline","mathematical"),a(r,l)}}function n(t,n,i,s,r,o,l,c){const h=n.append("switch"),d=h.append("foreignObject").attr("x",i).attr("y",s).attr("width",r).attr("height",o).append("xhtml:div").style("display","table").style("height","100%").style("width","100%");d.append("div").style("display","table-cell").style("text-align","center").style("vertical-align","middle").text(t),e(t,h,i,s,r,0,l,c),a(d,l)}function a(t,e){for(const n in e)e.hasOwnProperty(n)&&t.attr(n,e[n])}return(0,l.K2)(t,"byText"),(0,l.K2)(e,"byTspan"),(0,l.K2)(n,"byFo"),(0,l.K2)(a,"_setTextAttrs"),function(a){return"fo"===a.textPlacement?n:"old"===a.textPlacement?t:e}}(),yt={drawRect:tt,drawBoundary:at,drawC4Shape:it,drawRels:nt,drawImage:et,insertArrowHead:lt,insertArrowEnd:ct,insertArrowFilledHead:ht,insertArrowCrossHead:dt,insertDatabaseIcon:st,insertComputerIcon:rt,insertClockIcon:ot},ft=0,gt=0,bt=4,xt=2;p.yy=Z;var _t={},mt=(a=class{constructor(t){this.name="",this.data={},this.data.startx=void 0,this.data.stopx=void 0,this.data.starty=void 0,this.data.stopy=void 0,this.data.widthLimit=void 0,this.nextData={},this.nextData.startx=void 0,this.nextData.stopx=void 0,this.nextData.starty=void 0,this.nextData.stopy=void 0,this.nextData.cnt=0,Et(t.db.getConfig())}setData(t,e,n,a){this.nextData.startx=this.data.startx=t,this.nextData.stopx=this.data.stopx=e,this.nextData.starty=this.data.starty=n,this.nextData.stopy=this.data.stopy=a}updateVal(t,e,n,a){void 0===t[e]?t[e]=n:t[e]=a(n,t[e])}insert(t){this.nextData.cnt=this.nextData.cnt+1;let e=this.nextData.startx===this.nextData.stopx?this.nextData.stopx+t.margin:this.nextData.stopx+2*t.margin,n=e+t.width,a=this.nextData.starty+2*t.margin,i=a+t.height;(e>=this.data.widthLimit||n>=this.data.widthLimit||this.nextData.cnt>bt)&&(e=this.nextData.startx+t.margin+_t.nextLinePaddingX,a=this.nextData.stopy+2*t.margin,this.nextData.stopx=n=e+t.width,this.nextData.starty=this.nextData.stopy,this.nextData.stopy=i=a+t.height,this.nextData.cnt=1),t.x=e,t.y=a,this.updateVal(this.data,"startx",e,Math.min),this.updateVal(this.data,"starty",a,Math.min),this.updateVal(this.data,"stopx",n,Math.max),this.updateVal(this.data,"stopy",i,Math.max),this.updateVal(this.nextData,"startx",e,Math.min),this.updateVal(this.nextData,"starty",a,Math.min),this.updateVal(this.nextData,"stopx",n,Math.max),this.updateVal(this.nextData,"stopy",i,Math.max)}init(t){this.name="",this.data={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,widthLimit:void 0},this.nextData={startx:void 0,stopx:void 0,starty:void 0,stopy:void 0,cnt:0},Et(t.db.getConfig())}bumpLastMargin(t){this.data.stopx+=t,this.data.stopy+=t}},(0,l.K2)(a,"Bounds"),a),Et=(0,l.K2)(function(t){(0,o.hH)(_t,t),t.fontFamily&&(_t.personFontFamily=_t.systemFontFamily=_t.messageFontFamily=t.fontFamily),t.fontSize&&(_t.personFontSize=_t.systemFontSize=_t.messageFontSize=t.fontSize),t.fontWeight&&(_t.personFontWeight=_t.systemFontWeight=_t.messageFontWeight=t.fontWeight)},"setConf"),St=(0,l.K2)((t,e)=>({fontFamily:t[e+"FontFamily"],fontSize:t[e+"FontSize"],fontWeight:t[e+"FontWeight"]}),"c4ShapeFont"),At=(0,l.K2)(t=>({fontFamily:t.boundaryFontFamily,fontSize:t.boundaryFontSize,fontWeight:t.boundaryFontWeight}),"boundaryFont"),Ct=(0,l.K2)(t=>({fontFamily:t.messageFontFamily,fontSize:t.messageFontSize,fontWeight:t.messageFontWeight}),"messageFont");function vt(t,e,n,a,i){if(!e[t].width)if(n)e[t].text=(0,r.bH)(e[t].text,i,a),e[t].textLines=e[t].text.split(o.Y2.lineBreakRegex).length,e[t].width=i,e[t].height=(0,r.ru)(e[t].text,a);else{let n=e[t].text.split(o.Y2.lineBreakRegex);e[t].textLines=n.length;let i=0;e[t].height=0,e[t].width=0;for(const s of n)e[t].width=Math.max((0,r.Un)(s,a),e[t].width),i=(0,r.ru)(s,a),e[t].height=e[t].height+i}}(0,l.K2)(vt,"calcC4ShapeTextWH");var wt=(0,l.K2)(function(t,e,n){e.x=n.data.startx,e.y=n.data.starty,e.width=n.data.stopx-n.data.startx,e.height=n.data.stopy-n.data.starty,e.label.y=_t.c4ShapeMargin-35;let a=e.wrap&&_t.wrap,i=At(_t);i.fontSize=i.fontSize+2,i.fontWeight="bold",vt("label",e,a,i,(0,r.Un)(e.label.text,i)),yt.drawBoundary(t,e,_t)},"drawBoundary"),kt=(0,l.K2)(function(t,e,n,a){let i=0;for(const s of a){i=0;const a=n[s];let o=St(_t,a.typeC4Shape.text);switch(o.fontSize=o.fontSize-2,a.typeC4Shape.width=(0,r.Un)("\xab"+a.typeC4Shape.text+"\xbb",o),a.typeC4Shape.height=o.fontSize+2,a.typeC4Shape.Y=_t.c4ShapePadding,i=a.typeC4Shape.Y+a.typeC4Shape.height-4,a.image={width:0,height:0,Y:0},a.typeC4Shape.text){case"person":case"external_person":a.image.width=48,a.image.height=48,a.image.Y=i,i=a.image.Y+a.image.height}a.sprite&&(a.image.width=48,a.image.height=48,a.image.Y=i,i=a.image.Y+a.image.height);let l=a.wrap&&_t.wrap,c=_t.width-2*_t.c4ShapePadding,h=St(_t,a.typeC4Shape.text);if(h.fontSize=h.fontSize+2,h.fontWeight="bold",vt("label",a,l,h,c),a.label.Y=i+8,i=a.label.Y+a.label.height,a.type&&""!==a.type.text){a.type.text="["+a.type.text+"]",vt("type",a,l,St(_t,a.typeC4Shape.text),c),a.type.Y=i+5,i=a.type.Y+a.type.height}else if(a.techn&&""!==a.techn.text){a.techn.text="["+a.techn.text+"]",vt("techn",a,l,St(_t,a.techn.text),c),a.techn.Y=i+5,i=a.techn.Y+a.techn.height}let d=i,p=a.label.width;if(a.descr&&""!==a.descr.text){vt("descr",a,l,St(_t,a.typeC4Shape.text),c),a.descr.Y=i+20,i=a.descr.Y+a.descr.height,p=Math.max(a.label.width,a.descr.width),d=i-5*a.descr.textLines}p+=_t.c4ShapePadding,a.width=Math.max(a.width||_t.width,p,_t.width),a.height=Math.max(a.height||_t.height,d,_t.height),a.margin=a.margin||_t.c4ShapeMargin,t.insert(a),yt.drawC4Shape(e,a,_t)}t.bumpLastMargin(_t.c4ShapeMargin)},"drawC4ShapeArray"),Ot=(i=class{constructor(t,e){this.x=t,this.y=e}},(0,l.K2)(i,"Point"),i),Tt=(0,l.K2)(function(t,e){let n=t.x,a=t.y,i=e.x,s=e.y,r=n+t.width/2,o=a+t.height/2,l=Math.abs(n-i),c=Math.abs(a-s),h=c/l,d=t.height/t.width,p=null;return a==s&&n<i?p=new Ot(n+t.width,o):a==s&&n>i?p=new Ot(n,o):n==i&&a<s?p=new Ot(r,a+t.height):n==i&&a>s&&(p=new Ot(r,a)),n>i&&a<s?p=d>=h?new Ot(n,o+h*t.width/2):new Ot(r-l/c*t.height/2,a+t.height):n<i&&a<s?p=d>=h?new Ot(n+t.width,o+h*t.width/2):new Ot(r+l/c*t.height/2,a+t.height):n<i&&a>s?p=d>=h?new Ot(n+t.width,o-h*t.width/2):new Ot(r+t.height/2*l/c,a):n>i&&a>s&&(p=d>=h?new Ot(n,o-t.width/2*h):new Ot(r-t.height/2*l/c,a)),p},"getIntersectPoint"),Rt=(0,l.K2)(function(t,e){let n={x:0,y:0};n.x=e.x+e.width/2,n.y=e.y+e.height/2;let a=Tt(t,n);return n.x=t.x+t.width/2,n.y=t.y+t.height/2,{startPoint:a,endPoint:Tt(e,n)}},"getIntersectPoints"),Dt=(0,l.K2)(function(t,e,n,a,i){let s=0;for(let o of e){s+=1;let t=o.wrap&&_t.wrap,e=Ct(_t);"C4Dynamic"===a.db.getC4Type()&&(o.label.text=s+": "+o.label.text);let i=(0,r.Un)(o.label.text,e);vt("label",o,t,e,i),o.techn&&""!==o.techn.text&&(i=(0,r.Un)(o.techn.text,e),vt("techn",o,t,e,i)),o.descr&&""!==o.descr.text&&(i=(0,r.Un)(o.descr.text,e),vt("descr",o,t,e,i));let l=n(o.from),c=n(o.to),h=Rt(l,c);o.startPoint=h.startPoint,o.endPoint=h.endPoint}yt.drawRels(t,e,_t,i)},"drawRels");function Nt(t,e,n,a,i){let s=new mt(i);s.data.widthLimit=n.data.widthLimit/Math.min(xt,a.length);for(let[r,o]of a.entries()){let a=0;o.image={width:0,height:0,Y:0},o.sprite&&(o.image.width=48,o.image.height=48,o.image.Y=a,a=o.image.Y+o.image.height);let l=o.wrap&&_t.wrap,c=At(_t);if(c.fontSize=c.fontSize+2,c.fontWeight="bold",vt("label",o,l,c,s.data.widthLimit),o.label.Y=a+8,a=o.label.Y+o.label.height,o.type&&""!==o.type.text){o.type.text="["+o.type.text+"]",vt("type",o,l,At(_t),s.data.widthLimit),o.type.Y=a+5,a=o.type.Y+o.type.height}if(o.descr&&""!==o.descr.text){let t=At(_t);t.fontSize=t.fontSize-2,vt("descr",o,l,t,s.data.widthLimit),o.descr.Y=a+20,a=o.descr.Y+o.descr.height}if(0==r||r%xt===0){let t=n.data.startx+_t.diagramMarginX,e=n.data.stopy+_t.diagramMarginY+a;s.setData(t,t,e,e)}else{let t=s.data.stopx!==s.data.startx?s.data.stopx+_t.diagramMarginX:s.data.startx,e=s.data.starty;s.setData(t,t,e,e)}s.name=o.alias;let h=i.db.getC4ShapeArray(o.alias),d=i.db.getC4ShapeKeys(o.alias);d.length>0&&kt(s,t,h,d),e=o.alias;let p=i.db.getBoundaries(e);p.length>0&&Nt(t,e,s,p,i),"global"!==o.alias&&wt(t,o,s),n.data.stopy=Math.max(s.data.stopy+_t.c4ShapeMargin,n.data.stopy),n.data.stopx=Math.max(s.data.stopx+_t.c4ShapeMargin,n.data.stopx),ft=Math.max(ft,n.data.stopx),gt=Math.max(gt,n.data.stopy)}}(0,l.K2)(Nt,"drawInsideBoundary");var Pt={drawPersonOrSystemArray:kt,drawBoundary:wt,setConf:Et,draw:(0,l.K2)(function(t,e,n,a){_t=(0,o.D7)().c4;const i=(0,o.D7)().securityLevel;let s;"sandbox"===i&&(s=(0,h.Ltv)("#i"+e));const r="sandbox"===i?(0,h.Ltv)(s.nodes()[0].contentDocument.body):(0,h.Ltv)("body");let c=a.db;a.db.setWrap(_t.wrap),bt=c.getC4ShapeInRow(),xt=c.getC4BoundaryInRow(),l.Rm.debug("C:".concat(JSON.stringify(_t,null,2)));const d="sandbox"===i?r.select('[id="'.concat(e,'"]')):(0,h.Ltv)('[id="'.concat(e,'"]'));yt.insertComputerIcon(d,e),yt.insertDatabaseIcon(d,e),yt.insertClockIcon(d,e);let p=new mt(a);p.setData(_t.diagramMarginX,_t.diagramMarginX,_t.diagramMarginY,_t.diagramMarginY),p.data.widthLimit=screen.availWidth,ft=_t.diagramMarginX,gt=_t.diagramMarginY;const u=a.db.getTitle();Nt(d,"",p,a.db.getBoundaries(""),a),yt.insertArrowHead(d,e),yt.insertArrowEnd(d,e),yt.insertArrowCrossHead(d,e),yt.insertArrowFilledHead(d,e),Dt(d,a.db.getRels(),a.db.getC4Shape,a,e),p.data.stopx=ft,p.data.stopy=gt;const y=p.data;let f=y.stopy-y.starty+2*_t.diagramMarginY;const g=y.stopx-y.startx+2*_t.diagramMarginX;u&&d.append("text").text(u).attr("x",(y.stopx-y.startx)/2-4*_t.diagramMarginX).attr("y",y.starty+_t.diagramMarginY),(0,o.a$)(d,f,g,_t.useMaxWidth);const b=u?60:0;d.attr("viewBox",y.startx-_t.diagramMarginX+" -"+(_t.diagramMarginY+b)+" "+g+" "+(f+b)),l.Rm.debug("models:",y)},"draw")},Bt={parser:y,db:Z,renderer:Pt,styles:(0,l.K2)(t=>".person {\n stroke: ".concat(t.personBorder,";\n fill: ").concat(t.personBkg,";\n }\n"),"getStyles"),init:(0,l.K2)(t=>{let{c4:e,wrap:n}=t;Pt.setConf(e),Z.setWrap(n)},"init")}},53272(t,e,n){n.d(e,{CP:()=>d,Ck:()=>y,HT:()=>u,PB:()=>p,aC:()=>h,lC:()=>l,m:()=>c,tk:()=>o});var a=n(45420),i=n(32748),s=n(73755),r=n(68973),o=(0,i.K2)((t,e)=>{const n=t.append("rect");if(n.attr("x",e.x),n.attr("y",e.y),n.attr("fill",e.fill),n.attr("stroke",e.stroke),n.attr("width",e.width),n.attr("height",e.height),e.name&&n.attr("name",e.name),e.rx&&n.attr("rx",e.rx),e.ry&&n.attr("ry",e.ry),void 0!==e.attrs)for(const a in e.attrs)n.attr(a,e.attrs[a]);return e.class&&n.attr("class",e.class),n},"drawRect"),l=(0,i.K2)((t,e)=>{const n={x:e.startx,y:e.starty,width:e.stopx-e.startx,height:e.stopy-e.starty,fill:e.fill,stroke:e.stroke,class:"rect"};o(t,n).lower()},"drawBackgroundRect"),c=(0,i.K2)((t,e)=>{const n=e.text.replace(a.H1," "),i=t.append("text");i.attr("x",e.x),i.attr("y",e.y),i.attr("class","legend"),i.style("text-anchor",e.anchor),e.class&&i.attr("class",e.class);const s=i.append("tspan");return s.attr("x",e.x+2*e.textMargin),s.text(n),i},"drawText"),h=(0,i.K2)((t,e,n,a)=>{const i=t.append("image");i.attr("x",e),i.attr("y",n);const r=(0,s.J)(a);i.attr("xlink:href",r)},"drawImage"),d=(0,i.K2)((t,e,n,a)=>{const i=t.append("use");i.attr("x",e),i.attr("y",n);const r=(0,s.J)(a);i.attr("xlink:href","#".concat(r))},"drawEmbeddedImage"),p=(0,i.K2)(()=>({x:0,y:0,width:100,height:100,fill:"#EDF2AE",stroke:"#666",anchor:"start",rx:0,ry:0}),"getNoteRect"),u=(0,i.K2)(()=>({x:0,y:0,width:100,height:100,"text-anchor":"start",style:"#666",textMargin:0,rx:0,ry:0,tspan:!0}),"getTextObj"),y=(0,i.K2)(()=>{let t=(0,r.Ltv)(".mermaidTooltip");return t.empty()&&(t=(0,r.Ltv)("body").append("div").attr("class","mermaidTooltip").style("opacity",0).style("position","absolute").style("text-align","center").style("max-width","200px").style("padding","2px").style("font-size","12px").style("background","#ffffde").style("border","1px solid #333").style("border-radius","2px").style("pointer-events","none").style("z-index","100")),t},"createTooltip")}}]);
2
+ //# sourceMappingURL=585.bbe871d5.chunk.js.map
build/static/js/585.bbe871d5.chunk.js.map ADDED
The diff for this file is too large to render. See raw diff